Lecture 4-System Development
Lecture 4-System Development
10/09/22
Introducing the Software Development
Life Cycle (SDLC)
10/09/22
What is system Development?
This is the philosophy that tries to address the
need for a new system in a structured way. It
involves:
systems analysis,
systems design,
programming,
testing,
conversion, and
production and maintenance.
10/09/22
What is SDLC?
10/09/22
Stages/phases of SDLC Model
10/09/22
Software Development Life Cycle
-The software development life cycle (SDLC) is
10/09/22
Guidelines to Software Development
Life Cycle
What are the guidelines for software Development?
10/09/22
Stakeholders in System Development
Participants
in the system
development
life cycle?
10/09/22
A system Analyst
The mediator/liaison
between users and IT
professionals
10/09/22
Creating a new/Modifying a system
Reasons for creating a new or modify an existing
system:
10/09/22
Project Team
What is a project team?
10/09/22
Importance of Systemic Methodology
10/09/22
Phases of SDLC
10/09/22
1. Problem Identification phase
1. This is the first and very important phase of system
development live cycle.
3. Suggest solutions.
4. Prepare a report.
10/09/22
2. Planning phase
1. Identify opportunity and perform a feasibility study and
compare the various options.
10/09/22
2. Planning phase cont……
10/09/22
3. System Analysis Phase
1. Identify opportunity and analyze requirements by
breaking them down into parts (draw a diagram) i.e.
asking such questions like:
-What is being done? How is it being done? Does a problem exist?
If yes, how frequently does it occur? What is the cause of the
problem? Who will use the system? What will the system do?
Where and when will it be used? What will be the primary output?
Conducting interviews
Using questionnaire
Observation
Review documentation
Conduct research
10/09/22
4. Design phase
1. Decide whether the system will be created in house
or out sourced.
10/09/22
Data Flow Diagrams: Example
10/09/22
Decision Table: Example
10/09/22
Decision Table: Example
10/09/22
5. Implementation phase
1. The constructed or purchased system is installed,
tested and commissioned.
10/09/22
6. Maintenance phase
1. Maintenance includes
Identifying , correcting and reporting errors,
Identifying enhancements
backing up data or
supporting end users.
10/09/22
System Development
(SDLC)Models
10/09/22
Examples of SDLC Models:
Water Fall Model
Spiral Model
Agile Model
Prototyping
V-shaped
Incremental
10/09/22
Waterfall Model
10/09/22
Waterfall cont’d
All these phases are cascaded to each other in which progress
is seen through phases like a waterfall.
The next phase is started only after the defined set of goals
are achieved for previous phase and then signed off
Assignment:
10/09/22
Spiral Model
10/09/22
Spiral model cont’d
10/09/22
Advantages & Disadvantages of
spiral model:
Assignment:
10/09/22
Spiral model cont’d
10/09/22
Agile Model
10/09/22
Agile model cont’d
Speed up or bypass one or more life cycle phases.
10/09/22
Situations to apply Agile method
When there is a budget constraint and risk evaluation is
important.
Assignment:
10/09/22
Prototyping
1. Prototype is a working model of software with some
limited functionality.
10/09/22
Advantages & Disadvantages of
prototyping:
Assignment:
10/09/22
V-Shaped SDL Model
A variant of the
Waterfall that
emphasizes the
verification and
validation of the
product.
Testing of the product
is planned in parallel
with a corresponding
phase of development
10/09/22
V-Shaped model cont’d
Emphasize planning for verification and
validation of the product in early stages of
product development
Each deliverable must be testable
Project management can track progress by
milestones
Easy to use
10/09/22
Advantages & Disadvantages of V-
Shaped model:
Assignment:
10/09/22
Incremental Model
Incremental process starts with a simple implementation of a
small set of the software requirements and iteratively enhances
the evolving versions until the complete system is implemented.
An iterative life cycle model does not attempt to start with a full
specification of requirements.
10/09/22
Advantages & Disadvantages of
incremental model:
Assignment:
10/09/22
CASE Tools, Techniques and Methodologies
CASE Tools - software that provide automated support on system
development activities (system analysis, system design, Coding,
testing, maintenance etc.)
10/09/22