Section 3 - Software Development Flashcards
(61 cards)
What is analysis?
Before a problem an be solved, it must be defined. The requirements of the system that solves the problem must be established.
In the case of a data processing system, or for example the construction of a website, what would it cover?
1) The data - its origin, uses, volumes and characteristics
2) The procedures - what is done, where, when and how, and how errors and exceptions are handled.
3) The future - development plans and expected growth rates
4) Problems with any existing system
What does a system designer need to consider?
- Processing
- Data Structures
- Output
- Input
- User Interface
- Security
- Hardware
Explain processing (Design)
The algorithms and appropriate modular structure for the solution, specifying modules with clear documented interfaces
Explain Data structures (Design)
How data will be held and how it will be accessed - for example in a dynamic data structure such as a queue or tree, or in a file or database
Explain Output (Design)
Content, format, sequence, frequency, medium (e.g. screen or hard copy) etc
Explain Input (Design)
Volume, Frequency, Documents used, input methods
Explain User interface (Design)
Screens and dialogues, menus, special-purpose requirements
Explain Security (Design)
How the data is to be kept secure from accidental corruption or deliberate
Explain Hardware (Design)
Selection of an appropriate configuration
What are the different testing strategies?
- Black Box Testing
- White Box Testing
- Alpha Testing
- Beta Testing
What type of testing is Black Box Testing?
Functional Testing
What type of testing is White Box Testing?
Structural Testing
What is Black Box Testing?
Carried out independently of the code used in the program. It involves looking at the program specification and creating a set of test data that covers all the inputs and outputs and program functions.
What is White Box Testing?
Testing is dependent on the code logic, and derives from the program structure rather than its function. The program code is studied and tests are devised which test each possible path at least once.
What is the weakness of white box testing?
Will not detect missing functions - you cannot test what isn’t there.
What is Alpha Testing?
Is carried out by the software developer’s in-house testing team. It is essential because it often reveals both errors and omissions in the system requirements defition.
What is Beta Testing
Involves giving the package to a number of potential users who agree to use the system and report any problems to the developers.
What is implementation?
Coding and testing will be carried out, errors traced and corrected. When all is thought to be satisfactory the software will be installed on the user’s system and more testing will be done. At this stage new weaknesses and omissions are almost bound to surface and more work will be carried out.
What should a solution be evaluated on?
Its effectiveness, usability and maintainability.
What does a post-implementation review focus on?
- A comparison of the system’s actual performance with the anticipated performance objectives.
- An assessment of each aspect of the system against preset criteria.
- Errors which were made during system development
- Unexpected benefits and problems.
What is the waterfall lifecycle model?
Each step is completed on at a time from beginning to end. Each step has specific outputs that lead into the next step. It is possible to return to a previous stage if necessary but the model shows that the developers then have to work back down though the following stages.
What are the steps in the waterfall model?
1) Analysis
2) Design
3) Implementation
4) Evaluation
5) Maintenance
What is the spiral model?
Uses analysis, design, implementation and evaluation in a loop to create multiple prototypes of the software. Each prototype improving.