You are on page 1of 3

2/5/24, 9:52 AM Stages of softw are development — Isaac Computer Science

Home Stages of software development

Stages of software development

A Level What is the SDLC?

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.

Outputs of this stage include:

Problem definition — a clear definition of the problem and its domain


System requirements/objectives — a clear description of what the system needs to do; requirements must be SMART (specific,
measurable, achievable, realistic, and time-bound)

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.

Software project — analysis stage (AQA)

Software project — analysis stage (OCR)

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.

Outputs of this stage include designs for the following:

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.

Software project — design stage (AQA)

Software project — design stage (OCR)

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.

Software project — development stage (AQA)

Software project — development stage (OCR)

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:

Functionality — does it do what it is supposed to do?


Effectiveness — how well does it perform?
Usability — is it intuitive to use? Is it appropriate for its intended users?
Reliability — how robust is the system?
Maintainability — how easy is it to fix problems?
Extendability — how easy will it be to add new functionality?

In addition, the development process is reviewed so that the project manager and development team(s) can identify lessons for their own
continuous improvement.

Software project — evaluation stage (AQA)

Software project — evaluation stage (OCR)

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

You might also like