Software Development - Concepts Flashcards
What are the main stages when coming up with a computer based solution to a problem?
Analysis, Design, Programming/Testing, Implementation, Evaluation.
Define the Analysis stage:
Analysis involves establishing the requirements of the system that solves the problem.
What requirements are evaluated as part of the Analysis stage? Give an example of each one.
The Data - Origin, uses, characteristics.
Procedures - what is done, where how and how errors/exceptions are handled.
Future - Development plans and expected growth rates.
Problems - Issues with any existing system.
Define the Design stage:
Concerns designing the Solution.
What are the most common Design aspects? Provide an explanation of each one.
- Processing,
- Data Structures (How data is held and where eg database or file),
- Output (Context, Format, Medium (on screen etc)),
- Input (Input methods, Volume),
- UI (Menus, Screens),
- Security
- Hardware (Selection of appropriate configuration).
What is processing (in regards to design)?
It is processing algorithms for the solution in a modular structure with clear documentation.
What is security (in regards to design)?
How data is kept safe from accidental corruption or intentional ‘hacking’.
What does the programming stage involve?
Breaking the problem down into modules, then further down until each module performs a single, well defined task.
Define the Testing stage:
It involves the discovery and correction of all errors.
What is produced by the designer during the testing stage and what does it do?
A test plan is drawn up. It ensures all parts of the system are properly tested.
What are the main testing stages?
Black Box Testing,
White Box Testing,
Alpha Testing,
Beta Testing.
What does Black Box testing involve?
It involves looking at the program specification and creating input/output data to test all of the program I/O functions.
It is carried out independently of the program code.
What does White Box testing involve?
Involves testing code logic by looking at its structure as opposed to function.
Tests are devised to identify and test each logical program path at least once.
What is a weakness of White Box testing?
It doesn’t test non existent functions.
Who is Alpha Testing conducted by?
Conducted by the developers in-house testing team