Вы находитесь на странице: 1из 4

System development life cycle (SDLC) follows a project through from the initial idea to the

point where it is a functional system. It is a core part of the methodology that is used when
defining a project.
Life cycles fall into a number of different categories, iterative being the most common but they
also include waterfall, spiral and chaos models. Common methodologies include Structured
Systems Analysis and Design Method (SSADM) and Microsoft Solutions Framework (MSF).
Each step in a systems lifecycle can be broken down into many smaller sub-steps or processes.
Each stage follows logically after the previous, but it is an oversimplification to say that one
stage is a distinct step after another. It is important to understand that the system lifecycle is
iterative as well as the stages involved along the way.
Different methodologies will have different variations of this lifecycle model. A common
iterative lifecycle is show in the diagram below and each stage is described after the diagram.

Initial Idea
All projects must start
with an initial idea.
Usually this consists of a
brief definition on what
is the project all about,
what is its purpose and
what the project aims to
accomplish. How will the
success of the project be
measured?

Feasibility Study
Expanding on the Initial Idea, the Feasibility Study involves drawing up the terms of reference,
which state the objectives and scope of the project, how long it should take and how the results
should be presented. The terms of reference are usually drawn up by senior management. The
feasibility study must determine if development of the project is justified in terms of economic
and organisational terms.

The main role of the analyst in the feasibility study is to analyse the current system at a high
level. Data Flow Diagrams (DFD) are used to describe how the current system performs and to
illustrate known problems.
Feasibility studies are not carried out for all projects, and smaller projects omit this stage.
Requirements Analysis
The Requirements Analysis stage defines a series of possible solutions to the problem and
presents them to management in terms of business options. These options may be supported by
technical documents such as high-level DFD's, Logical Data Models (LDM) and Work Practise
Models. The requirements analysis report must also contain financial and risk assessments to be
presented and supported by outline implementation descriptions.
The steps involved within the requirements analysis will define the flow of data in the system,
deriving system functions and to develop user role specifications, prototypes and process
specifications.
Systems Analysis and Specification
The Systems Analysis stage is an extension to the feasibility study. If the project has a
feasibility study then the bulk of the work has already been done. A terms of reference will also
be required if one does not exist. The output from this stage is the System Specification which
gives precise details of what the new system is required to do, but does not go into how it does
it. It provides a logical model of the new system.
Once agreed, the specification is the basis for the work done by the system designers.
Systems Design
This stage deals with how the requirements of the new system are carried out (how the logical
model is implemented as a physical system). The system designer will develop a number of design
options and test them against the requirements specification and design criteria. The one that
comes closest to the design brief with the most cost effective use of equipment and personnel
is selected and broken down into more detailed specs.
Because of this the design stage has two phases: produce outline designs based on requirements
specification with input from users and the detailed designs produced from the selected design.
Development
This is the only stage in the development where program code is written. The designs and
specifications provide enough detail for the programmer to code and test individual modules.
Each unit is tested to ensure that it meets the requirements of the specification.
Testing
Within the life cycle there are various levels of testing as well as the unit testing performed in
the development stage.

Link testing ensures that programs work together, e.g. the data passed from one program to
another has the correct format.
System testing ensures that the system as a whole performs according to the design
specification. Recovery procedures must be tested as well as normal operation procedures.
Finally user acceptance testing is carried out by the users in stages to ensure that the system
is usable.
Any modifications are passed back to the design stage where changes are made as necessary
and passed to the development team.
Implementation
When the testing has been carried out to the users satisfaction the system, or parts of it, are
put live. The "put live" phase can also be known as implementation, cut over or production. This is
when the users start using the system to carry out their business activities.
There are two main approaches to implementation a project:

Phased: Stand-alone subsets of the system are implemented over a period of time.
Big Bang: The whole system is put live in one go.

Some systems will require special programs or tasks to convert existing data to a format usable
by the new system. The process of changing data from the old system to the new is called
conversion.
Maintenance and Review
Once the system is put into place, maintenance is required to ensure satisfactory operation.
Maintenance should include regular reviews and evaluations to ensure that it is achieving its
objectives, identify any aspects that can be improved or any operational problems. Maintenance
falls into two categories, implementation of new features or elimination of errors.