Professional Documents
Culture Documents
The systems development life cycle (SDLC) defines the main stages of software development. There are many different approaches to
software development and most development teams use an iterative approach, where stages are combined and revisited throughout the project.
The term 'life cycle' is used to illustrate that, eventually, changes in technology or business requirements will render a system obsolete and the
cycle will begin again.
On this page, you will find a description of each major activity within a development project. At the end of each section, you will find a link to the
relevant part of the Software project topic that provides additional material and practical examples. The software project (NEA) will give you the
opportunity to work your way through most of the stages of software development.
On this page, you will also learn about some of the careers and specialist roles within software engineering. Software engineering is a
multifaceted discipline with opportunities involving a wide range of interpersonal and technical skills and knowledge. In large organisations,
employees will often have very specific roles and responsibilities. In smaller organisations, team members will often work across multiple roles.
A Level Analysis
The analysis stage of a project focusses on understanding and defining the user requirements. It is usually carried out by a systems analyst.
Systems analysts have good communication skills and are trained in the techniques that allow them to carry out a thorough investigation and
document their findings; they are not necessarily experts in the area of the business that they are investigating.
Throughout this stage, the systems analyst works very closely with the client to make sure that their requirements are fully understood. The
Software project (NEA) topic gives examples of many of the techniques that can be used to determine requirements and to evaluate possible
solutions.
If the project is going to be substantial and/or very expensive, it is common for a feasibility study to precede the analysis stage. Most senior
executives will want to see the results of this study before they sanction any expenditure on a project. The study will involve taking a high-level look
at the key issues and risks, and will include a recommendation as to whether the project should go ahead.
https://isaaccomputerscience.org/concepts/prog_softeng_stages?examBoard=all&stage=all 1/3
2/5/24, 9:52 AM Stages of softw are development — Isaac Computer Science
A Level Design
In a large project, system architects oversee the design process, drawing on specific skills and expertise from user interface designers,
database designers, and security experts. The design stage leads to a design specification.
User interface
System outputs, such as reports, graphs, and emails
Algorithms
Data structures
Security features
You can find many practical examples of design techniques in the Software project topic.
A Level Build
Most development projects are tackled by teams comprising programmers with a wide range of experience and skills. Modular design enables
different parts of the project to be worked on concurrently, e.g. one team might be developing the user interface, while another team is working on
back-end processing; a database team might be setting up the database; and specialists in testing might be carrying out functional testing as
components are developed.
Organisations usually have style guides or insist on following in-house conventions. Version control tools are often deployed, so that changes can
be rolled back or amalgamated. In these systems, the reason for each major change is recorded, and this helps to document the development
process.
A project manager (or project management team) oversees the whole development process. If the final system is due to be produced using an
iterative process (employing prototyping or an agile approach), there will be a focus on resolving the tasks that are the most critical to the
success of the project.
In addition to the system software itself, outputs of this stage include the system documentation:
Technical documentation explains how the system works, and will be needed by those who will have to maintain the system in the future.
There are many tools that allow technical documentation to be generated automatically. Good coding practice can help make systems self-
documenting.
User documentation may be required for parts of the system that are complex, or if the client has a number of inexperienced users.
https://isaaccomputerscience.org/concepts/prog_softeng_stages?examBoard=all&stage=all 2/3
2/5/24, 9:52 AM Stages of softw are development — Isaac Computer Science
A Level Testing
Testing is usually carried out throughout the development process. An overall strategy or approach to testing should be agreed.
There are many different approaches that can be taken. For example, in bottom-up testing, each small module is tested as it is developed, and
modules are amalgamated only when they are known to be bug-free. Top-down testing takes the opposite approach, focussing less on
functionality and more on structure. This is often an appropriate approach to testing the development of a user interface; the 'look' can be tested,
without worrying about the functionality.
The overall approach will specify which of the many different types of testing will be used, and at what stage of the project.
You can find out more information about testing in the separate testing topic.
A Level Evaluation
Evaluation can be carried out throughout a development project to inform later stages. However, there is usually a formal evaluation when the
project is complete. At this point, the system is evaluated in terms of:
In addition, the development process is reviewed so that the project manager and development team(s) can identify lessons for their own
continuous improvement.
All teaching materials on this site are available under the Open Government Licence v3.0, except where otherwise stated.
https://isaaccomputerscience.org/concepts/prog_softeng_stages?examBoard=all&stage=all 3/3