1.2.3 - Software Development Flashcards
What are 4 steps that are used when developing software?
1) Feasibility study
2) Requirements specification
3) Testing
4) Documentation
What is the purpose of the feasibility study?
Purpose is to carry out initial enquiries to see if there are any reasons why the new system may not be acceptable
before starting to produce it and determine whether the problem can be solved.
Without it, time and money may be spent on a project that is likely to fail. The plan may be revised if the study highlights problems.
What parameters do analysts consider in the feasibility study?
Technical feasibility – Is there hardware/software available to implement the solution?
Economic feasibility/cost benefit analysis – Is the proposed solution possible to run economically?
Social feasibility – Is the effect on the humans involved too extreme to be socially acceptable/environmentally
sound?
Effect on company’s practices and workforce – Is there enough operational skill in the workforce to be capable of
running the new system?
What is the expected effect on the customer? - If customer not impressed then there may not be a point.
Legal/ethical feasibility – Can the proposed system solve the problem within the law?
Time available – Is the time scale acceptable for the proposed system to be possible?
What is the purpose of the requirements specification?
The specification document is developed between the client and software developers that creates an understanding of the problem and presents solutions.
What requirements must be considered in the requirements specification?
-Input requirements
- Output requirements
- Processing requirements
- Clients agreement to requirements
- Hardware requirements
- Software requirements
What are the 4 types of testing?
Black box testing
White box texting
Alpha testing
Beta testing
What is black box testing?
Test different possible suitable predefined sets of inputs to see if they produce the expected output according to the design without considering how the program works, so you need to test all possible types of situations without understanding or looking at the code.
What is white box testing?
Understands the complete structure and logic of the program. It uses the source code to test the actual steps of the algorithms to make sure all parts work as intended so you need to check every possible condition statement and path through the algorithm with dry runs and trace tables.
What is alpha testing?
Alpha testing is done by the programmers, developers and employees within the software company playing the
role of the user during development to find bugs in the program. May use emulators rather than actual hardware or software.
What is beta testing?
Uses the beta version which is the pre-released test version of the program.
It is nearly complete and already tested by the programmers involved in the production.
The program is given to a group of third party users to use as intended and test under normal operating conditions.
The aim is to report any errors or bugs in the program which the programmer overlooked such as functions which do not work and incompatibility issues with other software or hardware.
They may also report on desirable improvements.
What are two types of documentation produced alongside a programme?
User documentation
Technical documentation
What is a user documentation?
gives instructions to ensure software users can successfully use the system to produce the desired results.
It may contain information such as:
1) descriptions of required I/O procedures, sample outputs from given inputs
2) using processing tools
3) instructions to operate the system
4) backing up and archiving procedures,
5) file searching and maintenance
6) simple maintenance procedures (how to replace external storage device)
7) error messages and their meaning
8) troubleshooting
What is a technical documentation?
explains how the system works. This is useful for a technician who may need to maintain and further develop or alter the system in the future. It may contain information such as:
- DFDs (data flow diagram) showing the flow of data through the system
- System flow charts showing how parts of the system interrelate
- Flowcharts showing the operations involved in the algorithm
- ERDs (Entity relationship diagrams) showing how data tables relate to each other.
What are 5 programming methodologies?
Waterfall
Agile
Spiral
Extreme
Rapid Application-Development
What are the 5 stages in the waterfall lifecycle model?
Analysis
Design
Implementation
Evaluation
Maintenance