Software Eng Flashcards
What 3 things are required in a linked list?
- Index to identify the node
- The data item within the node
- A pointer to the next node’s index.
Explain the differences between an array and a linked list.
Doesn’t need to be predefined before using it
Uses nodes, not elements.
Doesn’t require all nodes to be in the same format.
Describe an array and how you would reference data in an array.
- Collection of items
- All items (elements) are of the same data type
- Normally, references first element by [0], not [1].
- Can have multiple dimensions eg:Swimming[0,0], Scores[1,2]
Explain the purpose of a rouge value.
A value outside of the range of suitable values, which is used to indicate to the program that it has reached then end.
Describe a record.
A record is a data structure that contains a number of variables that hold related data.
It does not require all variables (fields) to be the same data type.
What does TELOS stand for?
Technical - Do we have enough hardware or knowledge?
Economical - Can the client afford it? Can we afford to build it (extra staff, servers etc.)
Legal - Does it abide by Law in all places it would be used? Data Protection Act ect.
Operational - Does the solution fit into the client’s business & workflow?
Schedule - Can it be built before a deadline?
What is a type of Feasibility Study?
TELOS
What are the 9 stages of the Systems Lifecycle?
1 - Feasibility Study
2 - Analysis
3 - Design
4 - Technical Solution (building the system)
5 - Testing
6 - User Manual
7 - Conversion
8 - Maintenance
9 - Appraisal (final sign-off, payment)
What is a case tool? Who would use case tools?
Computer Aided Software Engineering is the use of computer-assisted tools to organise and manage the development of software projects.
They allow Analysts, Designers, Programmers, Testers and Project Managers to share a common view of how the project is progressing at each development stage.
List 8 features of CASE tool.
1 . Design and Testing assistance.
- Produces a data dictionary.
- Produce graphics / diagrams (e.g. charts of statistics)
- May include a code generation program.
- May include a repository of reusable code.
- Project Management Tools
- Version Control
- Report Generation
List 5 features of a debugger.
- Allows a program trace function (step though the program line by line.
- Allows you to watch variables, showing their values at each program line.
- Allows breakpoints to pause the program at certain points.
- Helps find logical errors and errors produced at runtime.
- Provides a store dump facility (a copy of the data in current memory, useful for programmers).
Describe some benefits / drawbacks of a fully automated software (train crossing system).
Adv - Saves cost once installed - no need for level crossing staff
- Not subject to potentially fatal human error
Disav - May not detect unlikely situation (car on track)
- Could fail with potentially catastrophic results (even in high quality system).
List some reasons why software might be labeled highly specialised.
Safety critical - human life is at risk if the software fails (has to fail safe if malfunctions).
Likely to be highly complex software & hardware, most likely multiple inputs that must be read in real time (e.g. flight sensors on a plane for autopilot).
Describe how a design validation may be carried out
Check actual design vs the user specifications / requirements / safety critical aspects.
Check that method to be used is the most suitable technique.
Confirm that the HCI is appropriate for the system in question.
NOT: cost related
Explain an advantage & an issue of standardising computer languages
Adv - A program written in one environment computer is likely to run on a different computer/environment.
- Programmers familiar with the language on one computer/environment is able to adapt to working on a different computer/environment.
Issue. - Different manufacturers/developers approach problems differently, so may not be keen to share developments with others for commercial reasons.