Topics from the Cambridge IGCSE (9-1) Computer Science 0984 syllabus.
7 ALGORITHM DESIGN AND PROBLEM SOLVING
7.1 Understand the program development life cycle, limited to: analysis, design, coding and testing.
The Software Development Lifecycle is a model that shows the stages of developing a new software product, the above example shows 5 stages. Whilst many models will show various stages of the Software Development Lifecycle, this syllabus focuses on four stages: Analysis: abstraction, decomposition of the problem, identification of the problem and requirements Design: decomposition, structure diagrams, flowcharts, pseudocode Coding: writing program code and iterative testing Testing: testing program code with the use of test data
THE ANALYSIS STAGE Software is normally built to create a better or new way of doing things, creating a solution to a problem. This stage looks the problem and requirements for the solution and how they are tackled by a process of abstraction and decomposition.
Abstraction is the process of filtering out the necessary details and ignoring or hiding details that do not matter. Decomposition is the process of breaking up a problem down into small manageable chunks.
This crucial stage looks at what the current system is and does and what the requirements of the new system or change in the current system are. There is a lot of research that needs to be done to ensure the planned new system will integrate with current systems, will fit the purpose it is designed for and that it will meet the needs of the users. During the analysis stage the developer will meet with the client to discuss the software requirements, data and an analysis of what is required will be taken from a range of methods such as:
Interviews with management: The developer will meet with management to discuss software requirements. Interviews with end-users: The developer will meet with end-users to discuss problems with the current system and new system requirements. Observations with users: The developer will observe the users of the current system to get a better idea of what it does, how they use it and what the problems are. One problem with direct observation is the Hawthorne Effect. Observations of current system: The developer will have they will look at the current system to look at current hardware and capabilities which will help decisions of any new hardware requirements. Questionnaires: The developer can send out questionnaire to find out more about the current system and the requirements for the new system. Documentation: The development will look at the documentation for the current system to see what it has and what the specifications are. this helps avoid any incompatibility issues between the current system and the new system.
Through conducting this research, the developer can identify problems of the old systems and the requirements of the new system.