Higher Computing The Software Development Process The software
















- Slides: 16
Higher Computing The Software Development Process
The software development process ¢ 1. 2. 3. 4. 5. 6. 7. The SDP has seven stages Analysis Design Implementation Testing Documentation Evaluation Maintenance
Analysis ¢ ¢ ¢ Analysis is the understanding of the problem The conversion of a problem outline into a precise software specification The specification has to include l l l Inputs Processes Outputs
Design ¢ Design involves the planning of a solution to the problem using a recognised design methodology ¢ Top down design Structured diagrams l pseudocode l
Implementation ¢ Implementation is changing the program design into instructions that the computer can understand ¢ It is during the implementation process that internal documentation is added to the program
Testing ¢ Testing is to ensure that a piece of software performs correctly, that it meets the software specification ¢ A test plan should be produced so that the testing is systematic and comprehensive
Documentation ¢ All stages of the SDP need documentation ¢ The documentation of a program includes a user guide and a technical guide
Evaluation ¢ Evaluation involves reviewing the solution against suitable criteria l l l l Robustness Reliability Portability Efficiency Maintainability Readability Fitness for purpose User interface
Maintenance Program maintenance involves changing a program, often long after it was first written ¢ There are three types of maintenance ¢ Corrective l Adaptive l Perfective l ¢ Good design methodology and documentation will be a big asset
Iteration The software development process is iterative ¢ Iteration is the process of revisiting a stage in the software development process to modify it in the light of experience gained at a later stage, for example, after testing or evaluation ¢
Personnel Client ¢ Systems Analyst ¢ Project Manager ¢ Programmer ¢ Independent Test Group ¢
The Client The client commissions the software ¢ The client will describe the requirements to the systems analyst ¢
Systems Analyst The system analyst communicates with the client at a non-technical level eliciting their needs ¢ The SA must also communicate the client’s need as a technical specification to the software development team ¢
Project Manager Leads the software development team ¢ Responsible for budgets, resources and scheduling ¢ Monitors progress, insures deadlines are met ¢ Liaises with the client/systems analyst ¢
Programmer ¢ Responsible for coding, testing, implementation and maintenance of the software
Independent Test Group Outsiders whose task is to find errors ¢ Programmers should not be the only testers of software as they are biased, and testing may be incomplete ¢ ITGs test parts of the software as it is developed (modular) as well as the finished product ¢