SDLC
CAPES NOTES
Objective #5: Explain the Various Stages of the System Development Life Cycle (SDLC),
and Software Engineering
System Development Life Cycle (SDLC) is a process used by the software industry to design,
develop and test high quality software. The SDLC aims to produce a high-quality software that
meets or exceeds customer expectations, reaches completion within times and cost estimates,
provide strong management controls over the projects, and maximize the productivity of the
systems staff. It consists of a detailed plan describing how to develop, maintain, replace and alter
or enhance specific software.
1. Planning
2. Analysis
3. Design
4. Development
5. Testing
6. Implementation
7. Review/Maintenance
SDLC
SDLC Stages includes:
STAGE 1-Planning
This is the first stage in the System Development Life Cycle (SDLC). The purpose of this stage
is to identify whether or not a new system is required. It is a preliminary plan (or feasibility
study) to find out the scope of the problem; define the problem and also to determine the
solutions to the problem. At this stage, steps are made to foresee the events to take place in
implementing a software.
Deliverables (Output of the stage)
o Problem Statement- Clearly identify the problem that exists
o Feasibility Report/ Risk Assessment (Interviews, Questionnaire, Observation,
review/investigation of printed material)
o Gantt Chart- is a project plan showing breakdown of tasks and timeline.
o Rapid Application Development (RAD)
STAGE 2- Analysis
The needs of the end users is analyzed to ensure that the new system can meet their expectations.
It involves detailed understanding of all important facts of the business area under investigation
or feasibility. This is one such aspect which is used to identify some underlying factors that
contributes to the problem. This requires data collection from a verity of sources such as
questionnaires, forms, interviews, study of existing documents. It can be involved the direct
observation in the organization and collected documents to understand the whole existing
system.
Deliverables (Output of the stage)
o UML
o Entity Relationship Diagram (ERD)
o Data Flow Diagrams (DFD)
o Computer Aided Software Engineering (CASE) tools
o Process Definitions
SDLC
o Project Dictionary
STAGE 3- Design
In this process the primary object is to identify user requirements, specifications and to build a
system that satisfies these requirements. In other words, at this stage, describes how the intended
system will accomplish the task of solving business problems. Design of the system is mainly the
logical design that can be sketch on a paper or on a computer (prototype). It includes physical
design elements, describes the data to be inputted.
Deliverables (Output of the stage)
o Data Dictionaries
o Entity- Relationship Diagrams
o Flow Charts
o Systems Inputs, Processing, Outputs (IPO CHART)and User Interface
o Hardware, Software, Databases, telecommunications, Personnel
o System Design Documentation/ Procedures
o Joint Application Development (JAD)
STAGE 4- Development
This phase is where the real work begins; the start of productions. Development is a phase where
detailed design is used to actually construct and build the system. In this phase the system is
decided whether to buy commercial software or to develop new customized program with the
help of the programmers. The choice depends upon the cost of software and cost of
programming.
Deliverables (Output of the stage)
o Hardware Specifications
o Software Specifications
SDLC
o Design Strategies
o User Interface
o Implementation Schedule
STAGE 5-Testing
Testing is a process of making sure that the program performs the intended task. Once the system
is designed it should be tested for validity, normally by Quality Assurance (QA) Professionals.
During this phase the system is used experimentally to ensure that software does not fail and it
will work according to its specification. It is tested with special test data.
Deliverables (Output of the stage)
o Hardware Specifications
o Software Specifications
o Program Listing
o Test Plans
o Implementation Schedule
STAGE 6- Implementation
Implementation is the process of converting from the old system to the new system. This phase
of development consists of installing hardware, programs, collecting data and organizing people
to interact with and run the system. In this phase user actually starts using the system therefore it
also involves training of users and provides friendly documentation.
Deliverables (Output of the stage)
o Working System (Computer system)
o Implementation Schedule/ Plan
o Program listing & Documentation
SDLC
o Final Test Plan (Master Test Plan)
o Operating Procedures (System Requirement Plan)
o Clerical Procedures
STAGE 7- Review/ Maintenance-
It is the process of incorporating changes in the implemented existing system.
Enhancement: Adding new functions or additional capability of the system.
Adaptation: Customizing the software to run in a new environment.
Correction: Correcting the bugs in the existing software.
Deliverables (Output of the stage)
o Working System Maintenance (H & S)
o Operational System modified & Documented as required
o User Training/ Guidelines
Objective #6: Discuss the tools used in the different Stages of the (SDLC)
Questionnaires- These consisted of both open-ended and closed- ended questions
normally issued to persons to receive feedback regarding an idea that will be
implemented/ introduced.
Interviews – This is a primary method of collecting information firsthand and can be
done formally or informally (face-to-face/ Telephone)
Observation- This is also a primary means of obtaining information, where persons
arrive on-site to see and document important details related to a project.
Flow Charts- These refers to graphical representation, showing step by step process of
how to solve a problem.
SDLC
ER diagrams –Entity Relationship (ER) diagrams, also known as ERDs or ER Models,
refers to a type of flowchart that illustrates how entities, such as people, objects or
concepts relate to each other within a system. ER diagrams are normally implemented to
design or debug relational databases. They use a defined set of symbols such as
rectangles, diamonds, ovals and connecting lines to depict the interconnectedness of
entities, relationships and their attributes.
Computer-aided software engineering (CASE) tools- CASE tools are set of software
application programs, which are used to automate SDLC activities. CASE tools are used
by software project managers, analysts and engineers to develop software system.
GANTT charts- GANTT chart is a horizontal bar chart, frequently used in project
management, which provides a graphical illustration of a schedule that helps to plan,
coordinate, and track specific tasks in a project. A Gantt chart is constructed with a
horizontal axis representing the total time span of the project, broken down into
increments (for example, days, weeks, or months) and a vertical axis representing the
tasks that make up the project (for example: conduct research, choose software, install
software).
Data flow diagrams- A data flow diagram (DFD) maps out the flow of information for
any process or system. It uses defined symbols like rectangles, circles and arrows, plus
short text labels, to show data inputs, outputs, storage points and the routes between each
destination.
Pseudocode- Pseudocode is one of the tools that can be used to write a preliminary plan
that can be developed into a computer program. Pseudocode is a generic way of
describing an algorithm without use of any specific programming language syntax.
SDLC
Prototypes- A prototype is a simple working model of a product or information system,
usually built for demonstration purposes or as part of the development process. It
normally represents how a hardware or software will look at the final stance.
Programming languages- A programming language is a set of rules that provides a way
of telling a computer what operations to perform. Programming languages allows humans
to communicate with computers.
Review/Investigation of printed material-
Process models- A software process model is a simplified representation of a software
process. Each model represents a process from a specific perspective. Process models
includes:
o Waterfall Model
o Iterative Model
o Spiral Model
o V-Model
o Big Bang Model
Object models- An object model is a logical interface, software or system that is
modeled through the use of object-oriented techniques.
Decision tables - A decision table is used to represent conditional logic by creating a list
of tasks depicting business level rules. Decision tables can be used when there is a
consistent number of conditions that must be evaluated and assigned a specific set of
actions to be used when the conditions are finally met.
Decision trees- A decision tree is a graph that uses a branching method to illustrate every
possible outcome of a decision.