Computing exam Flashcards
5 stages to a system block diagram
Inputs ->Condition ->Do something (usually ‘program’) ->Scale ->Output
Draw a system block diagram for an air conditioner
Check drawing
Steps to a functional requirement spec
IO List
Pseudocode
Flow control diagram
Algorithms (calculations)
Headers in a test plan
All inputs/ unit
All outputs/unit
OK Y/N
Test Notes
Sign/Date
In exam, may only have to fill out first two columns but still create the rest of the table and headers
4 factors that need to be accounted for in the input output section of a test plan
Need to test all possible inputs (a few)
Ensure the outputs match those expected
Test for data which could break the code (1/0=??)
Deliberately break the code and check fail safes
Headers in an IO list
Type(Input/Output)
Name
Unit
Range
Flow Control Diagram
Symbol for Terminators (Start/Stop)
Oblong
Flow Control Diagram
Symbol for processes (can be I/O or just generic processes)
Rectangle
Flow Control Diagram
Symbol for decisions
Diamond
Yes arrow goes down, No arrow goes right
Data flow diagram
What do circles represent
Circles are data transformations (functions/convert)
Pseudocode
What is a minimum cost solution?
Manageable sub units
Each unit can be solved independently
Each unit is easy to debug
Each unit can be modified
Pseudocode
6 steps to efficiency/generating good code
Sensible variable names
Use comments to document your code, use a header to explain the code as well
Using indents on linked commands (loops, decision statements)
Minimal instructions, use as gew operations as possible
Use functions for repeating code
Use loops instead of repeating lines
Generational languages
What are first generation languages?
Include example
Low-level languages that are machine language. Example - machine code.
Generational languages
What are second generation languages?
Include example
Low level assembly languages. They are sometimes used in kernels and hardware drives,
but more commonly used for video editing and video games. Assembly language is example.
Generational languages
What are third generation languages?
Include example
High level languages such as C, C++, JavaScript, Matlab and Haskell
Generational languages
What are fourth generation languages?
Include example
Languages that consist of statetements similar to statements in a human language. Fourth
generation languages are commonly used in database programming and script examples include
Perl, SQL and Python.
Generational languages
What are fifth generation languages?
Include example
Languages that contain a visual tools to help develop a program. Examples are Prolog and Mercury.
Factor of assembly language
Machine/hardware dependent
What is a PLC?
A programmable logic controller is a specific piece of hardware that is optimised only to work on logic systems
What is a ALU?
Arithmetic Logic Unit, a co-processor that is optimised to carry out arithmetic and logic operations
What is a FPGA?
Field programmable gate array - simulate the build of logic gates
What is Qubit?
Quantum Computer
What is labview?
Higher level language, needs ALU/FPCP
Where will you need an ALU?
A higher level language like labview
What is prolog?
Used for neural networks, it will adapt it’s own code
Generational languages
What are sixth generation languages?
Include example
Used for neural networks, it will adapt it’s own code. Example - prolog
What is an ANN?
Artificial Neural Network
What is an imperative language?
Include an example
Tell it exactly what to do in a specific sequence. It is procedural.
Example - Matlab
What is a declarative language?
Include an example
Describe the operations that we need but do not specify the order we need to do it in. The order is specified by a different program. Example - Haskell
Difference in focus between imperative and declarative
Imperative - Performs calculations to achieve a goal
Declarative - Requires what is needed for transformations
Difference in execution between imperative and declarative
Imperative - Important to follow a set sequence
Declarative - Sequence order is not part of the code
Difference in control between imperative and declarative
Imperative - Loops, conditions, fuction calls
Declarative - Functions calls, including recursion
Difference in data between imperative and declarative
Imperative - structured and defined
Declarative - non-committed structures
4 stages of pre-release/functional testing?
Unit testing
Integration testing
System testing
Acceptance testing
What is unit testing?
Include example
White box testing - Focus on each component, execute specific test to identify logical and data errors, limitations, safe
responses. Example - filters on a mobile phone rejects all frequencies above 4kilahertz on a voice call
What is integration testing?
Include example
Black box testing - Putting multiple units together as a package, uses black box testing to find errors in inter-relations, and package construction. Example - I wanted two variables and you have only sent me one, therefor code breaks. Also, scaling problems (wanted int from 0-100, been sent int from 100-200)
What is system testing?
Include example
A complete system, evaluated against the FRS, requires little knowledge of the workings of the software. Example - Going back to the FRS, we asked for A, you have given me A, therefore passed the test
What is acceptance testing?
Include example
“Testing to verify it meets the customers specific requirements. Example - Take the system out to the client’s site
and test the system on the clients computers”
4 stages of maintenance (post-deployment)
Test case
Regression testing
Security testing
Deployment testing
What is a test case?
Include example
A test case (typical operation data) is presented and unit testing is checked. Example - Written the software
and tested it in the company’s offices and signed it off
What is regression testing?
Include example
Modifications requiring a new version to be issued will ensure changes in one unit are fully tested
against other units which are integrated to this unit. Example - Put the code in to the existing software and check it is backwards compatible with every piece of code that may interface with it.
What is security testing?
Include example
Ensure integrity and confidentiality (e.g. customer data or intellectual property). Example - Make sure you
haven’t opened a back door where someone can hack the system.”
What is deployment testing?
Include example
Testing in a simulation of the physical assets or operational environment in which it is due to perform. Example -
Going to the clients site, install the new patch, make sure it works and get it signed off.
Differences between interpreter and complier
Include examples of each
Interpreter -
Translates one statement at a time.
Slower to execute
No intermediate object code is needed
Examples - Matlab, JavaScript, python and ruby
Compiler -
Converts the whole programme and creates an executable file
Long time to compile, faster to run. Compliers are quicker.
Object code often needs linking and memory allocation
Examples - Haskell, C, C++, Java
Draw the project life cycle/software design cycle
answer
Explain the requirements stage of the project life cycle/software design cycle
Client asks for a piece of software
Explain the design stage of the project life cycle/software design cycle
Design the program, could be FCD, Pseudocode, DFD…. All comes from the FRS and the IO list inside the FRS
Explain the implementation stage of the project life cycle/software design cycle
Team of software engineers implement the design in code
Explain the verification stage of the project life cycle/software design cycle
Software testing: Unit testing, system testing, integration testing and acceptance testing
Explain the deployment stage of the project life cycle/software design cycle
Software is deployed on site, client gets to run program on their own hardware in a live situation and it is signed off
Explain the maintenance stage of the project life cycle/software design cycle
Go back intermittently, updates, changes in hardware, changes in software ect..
6 stages of project life cycle/software design cycle
Requirements
Design
Implementation
Verification
Deployment
Maintenance
Factors of a predictive model (explanation, advantage, disadvantage)
Include examples
When you know what you’re doing
Ad: Stable, minimal costs, detailed design, fix bugs early, better documented, easy to maintain
Dis: Inflexible, released at the end, large up front costs
Examples -
Nuclear power plant
Automative factory
Flight controller
Helicopter simulator
Factors of an iterative model (explanation, advantage, disadvantage)
Include examples
You’re designing it as you build it
Ad: Allows fuzzy requirements, incremental design, can add new features as we go, released by parts, lower up front cost, can include prototypes/proof of concept stages
Dis: Long term strategy, consideration of cost & risk is essential
Examples -
Operating systems
Large database and management systems
A virtual learning platform
Draw the waterfall model
answer
Factors of waterfall model, 4 advantages, 4 disadvantages
Always draw it
Used for predictive systems
Doesn’t loop, information flows from one step to the next.
Requirements written will never be changed
Used for big, expensive projects that each stage will never be adapted
Advantages (4):
Uses clear structure
Determines the end goal early
Transfers information well (little confusion)
Extermely stable due to previous points
Disadvantages (4):
There is no feedback as each stage is never repeated, therefore end-user is not prioritised
Very inflexible
Delays testing until after completion
Large up front costs
Draw the v model
answer
V-Model, 4 advantages, 4 disadvantages
Always draw it
Advantages(4)
Testing happens well before coding/implementation, this saves lots of time.
Bugs/issues are found at an early stage
Avoids downward flow of defects
Works well for small projects where the requirements are easily understood
Disadvantages(4)
Inflexible as feedback is only contract-to-contract
Software is developed during implementation phase, so no early prototypes are produced
If any changes happen midway, test document sand requirements have to be updated
Not suitable when requirements are subject to change
Draw the spiral model
answer
Spiral model, 4 advantages, 4 disadvantages
always draw it
Iterative
Advantages: improved requirements, common vision with customer, better final design
Software is produced early on
Good for large and high risk projects, where businesses may be unstable
Customer satisfaction is high as there is a commin vision with customer
Strong approval and documentation control
Disadvantages:
Not suitable for small projects as it is expensive
Very dependent on good risk analysis, requires specific expertise
End of project is not known as it can go on indefinently
Time management is difficult as number of phases is unknown
Explain the quadrants of a spiral model
Quadrant 1 - Design stage, determine objectives, alternatives and constraints.
Quadrant 2 - Risk analysis and prototype build, first stage of implementation
Quadrant 3 - Send beta releases into the field, receive feedback from the market. Fix problems and produce a result
Quadrant 4 - Plan the next iteration
What is the fidelity for predictive models
Provides all features well tested and gives full fidelity
What is the fidelity for iterative models
Provides all features where each iteration provides higher and higher fidelity until full fidelity is reacher