You are on page 1of 6

The Systems Development Life Cycle is the big picture of creating an information system that handles a

major task (referred to as an application). The applications usually consist of many programs. An
example would be the Department of Defense supply system, the customer system used at your local
bank, the repair parts inventory system used by car dealerships. There are thousands of applications
that use an information system created just to help solve a business problem.

Another example of an information system would be the "101 Computer Games" software you might
buy at any of several retail stores. This is an entertainment application, that is we are applying the
computer to do a task (entertain you). The software actually consists of many different programs
(checkers, chess, tic tac toe, etc.) that were most likely written by several different programmers.

Computer professionals that are in charge of creating applications often have the job title of System
Analyst. The major steps in creating an application include the following and start at Planning step.
During the Design phase the System Analyst will document the inputs, processing and outputs of each
program within the application. During the Implementation phase programmers would be assigned to
write the specific programs using a programming language decided by the System Analyst. Once the
system of programs is tested the new application is installed for people to use. As time goes by, things
change and a specific part or program might need repair. During the Maintenance phase, it goes through
a mini planning, analysis, design and implementation. The programs that need modification are
identified and programmers change or repair those programs. After several years of use, the system
usually becomes obsolete. At this point a major revision of the application is done. Thus the cycle
repeats itself.

Definitions

Definition 1: system analyst

Computer professional in charge of creating applications.

Definition 2: applications

An information system or collection of programs that handles a major task.

Definition 3: life cycle

Systems Development Life Cycle: Planning - Analysis - Design - Implementation - Maintenance

Definition 4: implementation

The phase of a Systems Development Life Cycle where the programmers would be assigned to write
specific programs.
Software Development Life Cycle
by Scott Hebert

Like many other kinds of businesses, a landscaping


business needs a billing system. As is often the
case, billing systems require an incredible level of
customization thanks to the various intricacies of
most companies’ pricing structures. Designing a
billing system to fit the specific needs of an
individual organization is a lengthy process. The
Software Development Life Cycle (SDLC) is a size
step process that takes the developer from
burgeoning idea to full-fledged application. The
SDLC consists of the following phases: problem
recognition, requirements gathering, software
design, development, implementation, and evaluation and evolution (Senn, 2004).

Problem Recognition

The first step in the SDLC is the recognition and understanding of the problem. It is not always
the case that a programmer is presented with a detailed list of instructions describing how the
final application should operate. Instead, a programmer is often approached when an
organization senses that something is wrong, but does not quite know where the problem lies.
During the problem recognition phase, the programmer uses research and investigation to more
narrowly define the problem that must be addressed (Senn, 2004).

Requirements Gathering

In order to design an application that fits the needs of the user, the programmer must understand
the inputs and outputs the user expects the application to perform. These inputs and outputs are
known as requirements. Requirements are features that the user must have in the application that
is being developed. It is often helpful for programmer and user to work together to develop a list
of requirements. The programmer often has a better understanding of the technology necessary to
develop the required list of features and can make recommendations that may improve on a
user’s expectations (Kingsley-Hughes & Kingsley-Hughes, 2005).

Software Design

A design describes how the software will satisfy the requirements agreed upon by the
programmer and the user. Software design tools, such as Unified Modeling Language (UML), to
translate the spoken language requirements into something that can be turned into computer
software. The software design phase consists of three steps. The preliminary design step begins
to flesh out the major characteristics of the application. The next step, prototyping, builds a
working model of the application. It is not the intention of the prototype to fulfill the design
requirements, but instead to give the user an idea of how the application will operate. The final
step in the design phase is the detailed design. The detailed design is the definitive
documentation of how the application will be implemented and operate. It defines the inputs the
application expects and the outputs it generates (Senn, 2004).

A Word About UML

The Unified Modeling Language (UML) was created to provide a language that could be easily
understood by users and programmers. The UML is a standards-based modeling language that
uses shapes to diagram high-level processes so that details can be hidden and functionality
highlighted. The heart of the UML is its 13 diagram types which can be divided into 3 broad
categories: structure diagrams, behavior diagrams, and interaction diagrams. Structure diagrams
define things in the application. Behavior diagrams describe what happens in the application.
Finally, interaction diagrams define the flow of data among the structures in the application
(Farrell, 2008).

Development

The development phase is when the application is coded. The detailed design generated during
the software design phase is used to create the application. Few programs are completely built
from the ground up. During this phase, the programmer may acquire pre-built libraries or
modules to implement standardized pieces of the new application. No matter how comprehensive
the libraries or modules may be, some amount of programming will be necessary to satisfy the
specific requirements of the user. Finally, it is necessary to perform testing during this phase to
ensure the application is bug free (Senn, 2004).

Implementation

An application is useless if it is never implemented. The implementation phase of the SDLC


includes installing the new application and preparing the user base to use it. If the application is
significantly complicated, the users may need to be trained in its operation. At the very least,
documentation should be provided to answer commonly asked questions. Some applications may
require a change in the equipment at the user’s location. For example, new database servers may
be necessary, or the application may require more memory or faster CPUs in user workstations.
Finally, if the application is replacing an existing application, a conversion strategy must be put
into place to migrate from one application to another (Senn, 2004).

Evaluation and Evolution

The final phase of the SDLC is to measure the effectiveness of the application and evaluate
potential enhancements. Most enterprise applications are in production for several years. During
this time, the application must evolve to meet the changing requirements of the enterprise. For
example, a landscaping business may decide to expand into sprinkler system installation. If the
billing application developed for the landscaping business does not have the ability to handle the
new product line, it must be modified. This evolution of the application will continue until it is
finally replaced by a new application (Senn, 2004).

Software Development Life Cycle

The product developed which achieves customer satisfaction is not done in a single step. It
involves series of steps in a software development process. This is needed to develop quality
products with error free products to achieve customer satisfaction. There are many models
available in the software development process.

But majority of software development process follow the model named as software development life
cycle. This software develop life cycle has number of steps in it. The below article describes about the
software development life cycle and the steps involved into it.

Software development life cycle model is also called as waterfall model which is followed by majority of
systems. This software development life cycle process has the following seven stages in it namely

1. System Requirements Analysis

2. Feasibility study
3. Systems Analysis and Design
4. Code Generation
5. Testing
6. Maintenance
7. Implementation

Let us discuss each of these to have an overview about teach of the following steps in software
development life cycle.

1. System Requirements Analysis:

The first essential or vital thing required for any software development is system. Also the
system requirement may vary based on the software product that is going to get developed. So a
careful analysis has to be made about the system requirement needed for the development of the
product. After the analysis and design of the system requirement phase the system required for
the development would be complete and the concentration can be on the software development
process.
2. Feasibility study:

After making an analysis in the system requirement the next step is to make analysis of the
software requirement. In other words feasibility study is also called as software requirement
analysis. In this phase development team has to make communication with customers and make
analysis of their requirement and analyze the system. By making analysis this way it would be
possible to make a report of identified area of problem. By making a detailed analysis on this
area a detailed document or report is prepared in this phase which has details like project plan or
schedule of the project, the cost estimated for developing and executing the system, target dates
for each phase of delivery of system developed and so on. This phase is the base of software
development process since further steps taken in software development life cycle would be based
on the analysis made on this phase and so careful analysis has to be made in this phase.

3. Systems Analysis and Design:

This is an important phase in system development .Here analysis is made on the design of the
system that is going to be developed. In other words database design, the design of the
architecture chosen, functional specification design, low level design documents, high level
design documents and so on takes place. Care must be taken to prepare these design documents
because the next phases namely the development phase is based on these design documents. If a
well structured and analyzed design document is prepared it would reduce the time taken in the
coming steps namely development and testing phases of the software development life cycle.

4. Code Generation:

This is the phase where actual development of the system takes place. That is based on the
design documents prepared in the earlier phase code is written in the programming technology
chosen. After the code is developed generation of code also takes place in this phase. In other
words the code is converted into executables in this phase after code generation.

5. Testing:

A software or system which is not tested would be of poor quality. This is because this is the
phase where system developed would be tested and reports are prepared about bugs or errors in
system. To do this testing phase there are different levels and methods of testing like unit testing,
system test and so on. Based on the need the testing methods are chosen and reports are prepared
about bugs. After this process the system again goes to development phase for correction of
errors and again tested. This process continues until the system is found to be error free. To ease
the testing process debuggers or testing tools are also available.

You might also like