Thanks to visit codestin.com
Credit goes to www.scribd.com

0% found this document useful (0 votes)
5 views58 pages

Chapter Three SDLC

Uploaded by

Elroey Anteneh
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPT, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
5 views58 pages

Chapter Three SDLC

Uploaded by

Elroey Anteneh
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPT, PDF, TXT or read online on Scribd
You are on page 1/ 58

Chapter Three:- THE SYSTEM DEVELOPMENT

LIFE CYCLE (Week 4 & 5)


3.1. The Traditional SDLC
3.2. The Generic System Development Model
3.3. Approaches to System Analysis and Design
3.4. Approach to System Development
3.5. Software Engineering Process
3.6 E-commerce (define, types ,history, Different E-
commerce site)
System Development Life Cycle
What is SDLC?
• A Framework
• That describes the activities performed
• At each stage of
• A software development project
Phase-I
Preliminary Investigation
Phase-I
Preliminary

Tasks
What is the problem
Determine if a new system is needed
Whether an alternative system will solve the problem
Results
Need for improving the existing system is recognised
Possible

Impossible
Phase-II
Feasibility Study
Phase-II
Feasibility Study
Tasks
Evaluate alternatives based upon
Economic Feasibility-Do benefits justify costs-Net Present Value
Technical Feasibility-Is reliable technology and training available
Operational Feasibility-Will the management and users support it
Value anlaysis
Phase-3
System Analysis

Tasks
Detailed study of various operations performed
by the system
Studying the existing organisational history,
structure, and culture
Define boundaries of the candidate system
Data collection or data gathering
Phase-3
System Analysis
Tools
Data flow diagrams
Interviews
Onsite observations
Questionnaires
Data dictionaries
Phase-3
System Analysis
 Results
 SRS (Software Requirement Specification) document is
finalised which includes:
 Functional and non-functional requirements
 What the system will do and what it is not expected to
do
 Information about other systems with which system
must interface
Phase-4
System Design
 Most creative and challenging phase
 Translates the performance requirements into design
specifications
Tasks
 How should the problem be solved
 Organisational and job designs prepared
 Information processing systems design
 Design of the database
 Design of the user interface
 Physical design
 Input data and master files are designed
 Output formats are designed
Phase-4
System Design

Results
Detailed System Document
Procedural flowcharts
Record layouts
Report layouts
Workable plan for implementing candidate system
Phase-5
System Coding and Testing
Phase-5
System Coding and Testing

 Build the system to the design specifications


 Develop the software
 Acquire the hardware
 Test the system for acceptance
 Program Testing (Unit testing)
 System Testing
 User Acceptance Testing
 Quality Assurance Testing
Phase-6
System Implementation
Phase-6
System Implementation
• Covert from old system to new system
• Compile final documentation
• Evaluate the new system
Phase-6
System Implementation
• Types of Conversion
• Direct/plunge/crash approach-entire new system
completely replaces entire old system, in one step
• Parallel approach-both systems are operated side by
side until the new system proves itself
• Pilot approach-launched new system for only one
group within the business
• Phased/incremental approach-individual parts of new
system are gradually phased-in over time
Phase-7
System Maintenance
• Keeping everything running
Phase-7
System Maintenance
• Types of Maintenance
• Correction of new bugs found (corrective)
• System adjustments to environmental changes and
users’ changing needs (adaptive)
• Enhancing the performance, changes to use better
techniques when they become available (perfective)
The Generic System Development Model
A Generic System Development Model (GSDM) provides a
general framework for developing systems, encompassing
various phases like planning, design, implementation, testing,
and deployment.
It is not specific to any particular industry or system type,
making it adaptable for diverse projects.
This model is useful for communicating process progression and
understanding the stages involved in system development.
Key Characteristics of a GSDM:
•Flexibility:
GSDMs are designed to be adaptable to different project
needs and can be tailored to specific contexts.
•Iterative Nature:
Many GSDMs are iterative, meaning that development
progresses through cycles of planning, design, implementation,
and testing, allowing for refinement and improvement along
the way.
•Phase-Based Structure:
GSDMs typically define distinct phases or stages, such as
requirements analysis, system design, implementation,
testing, and deployment.
• Decision Points:
Each phase often includes decision points where key stakeholders
review progress and decide whether to proceed, revise, or terminate
the project.
• Process Framework:
GSDMs can also define framework activities like communication, planning,
modeling, construction, and deployment, alongside umbrella
activities like risk management and quality assurance.
• System Concept:
Some GSDMs utilize a system concept, viewing products and services as
subsystems sharing similar properties, to facilitate the engineering
process
Common Phases in a GSDM:
1. Planning:
This phase involves defining project scope, goals, and requirements, as well as
identifying stakeholders and resources.
2. Design:
This phase focuses on creating the system's architecture, functionality, and user
interface.
3. Implementation:
This phase involves building the system according to the design specifications.
4. Testing:
This phase involves verifying that the system meets the requirements and
performs as expected.
5. Deployment:
This phase involves deploying the system to its intended environment and ensuring its
smooth operation.
6. Maintenance:
This phase involves ongoing support and enhancements to the system.
Examples of GSDMs:
•Software Development Life Cycle (SDLC):
A well-known GSDM used in software engineering, with
variations like waterfall, iterative, and agile models.
•Product Development Process:
A GSDM used in product development, starting with
identifying customer needs and progressing through design,
prototyping, testing, and launch.
•Systems Engineering Life Cycle Models:
GSDMs used in systems engineering, which involve
different phases like planning, concept development, and
implementation.
Approaches to System Analysis and Design
• System Analysis and Design (SAD) encompasses various approaches to
understanding, developing, and implementing information systems.
• These approaches can be broadly categorized into structured, object-oriented, and
agile methods, each with its own strengths and weaknesses.
Structured Approach:
• Waterfall Model:
A sequential, linear approach where each phase (analysis, design,
implementation, testing) must be completed before the next begins. It's well-
suited for projects with clearly defined requirements and predictable outcomes.
• Structured Systems Analysis and Design Method (SSADM):
A structured approach to designing information systems, often used in conjunction
with the waterfall model.
• Data Flow Diagrams (DFDs):
A visual representation of data flow and processing within a system, commonly
used in structured analysis
27

Waterfall Model

Requirements

Design

Code & Unit Test

Test & Integration

Operations &
Maintenance
2. Data Flow Diagram: Developed By Larry Constantine as a way of expressing
system requirements in graphical Form:

Data Flow Models (DFMs) are easy to understand and, with a little practice,
reasonably quick and straightforward to develop
They consist of two parts: a set of Data Flow Diagrams (DFDs) and a set of
associated textual descriptions
… that provide us with the truly effective tool for understanding the information
processes of a system
Using Data Flow Diagrams:
structured approach - take a top-down approach to system development.

system is defined first at a general level – overview.

successive refinement occurs until the bottom (primitive) levels are defined.

primitive level - point where specifications can be translated into lines of code.

So...system is decomposed into small modules that perform simple tasks.


Structured Development:
definition is from top to bottom in increasing levels of detail.

major flows and processes identified .

These are exploded into subprocesses.

Subprocesses are exploded into more detail.

This process can continue to the primitive level, where programming


begins directly from the exploded diagram.
Example 1 Data flow diagram of part of an order processing system:

Order
Available stock
Customer
stock
Invoice Process
order
Unfilled order
Out-of-stock notice backorders

Despatch note

Warehouse
Example 2 Data flow diagram of a travel agent booking system:

Customer
Travel-query Available flights
Book flight flights

Booking
Booking confirmation
Object-Oriented Approach:
Object-Oriented Analysis and Design (OOAD):
Focuses on identifying objects (entities with attributes and behaviors) and their interactions to build a
system. It emphasizes modularity and reuse of code.
 Unified Modeling Language (UML):
A standard language for visualizing, specifying, constructing, and documenting the artifacts
of a system.
 Class Diagrams and Object Diagrams:
Tools used in OOAD to model the structure and relationships between objects and
classes.
 Agile Development:
An iterative and incremental approach that emphasizes flexibility, collaboration, and
continuous improvement. It's well-suited for projects with evolving requirements and a need
for rapid adaptation.
 Extreme Programming (XP):
A specific agile methodology that focuses on frequent releases, small development teams,
and continuous integration.
Other Approaches:
1.Prototyping:
Building a working model of a system to explore design options and gather user feedback.
2. Spiral Model:
An iterative approach that combines elements of both structured and agile methodologies.
3.Rapid Application Development (RAD):
An iterative approach that emphasizes rapid prototyping and building a minimal viable product.

Choosing the Right Approach:


The best approach for system analysis and design depends on various factors, including:
1. Project scope and complexity:
Simpler projects may benefit from a structured approach, while complex projects may require a
more flexible, iterative approach like agile.
2. Project requirements:
Clearly defined requirements may suggest a structured approach, while evolving requirements
may favor agile.
3. Team size and skills:
The size and skills of the development team can influence the choice of approach.
4. Risk tolerance:
Projects with higher risk may benefit from an iterative approach that allows for adaptation and
feedback. Various approaches of systems analysis
Software Engineering Process
44

Software Process Model

A structured set of activities required to develop a software system.


Software Process Model
• A structured set of activities required to develop a
software system.
• Many different software processes but all involve:
– Specification – defining what the system should do;
– Design and implementation – defining the organization of the system and implementing the system;
– Validation – checking that it does what the customer wants;
– Evolution – changing the system in response to changing customer needs.
• A software process model is an abstract representation of a process. It presents a description of a
process from some particular perspective.

45
46

Software Process Models

 Waterfall model.

 Evolutionary models.

 Component-Based development model (CBSE).

 Iterative Models.
47

1. Waterfall Model

Requirements

Design

Code & Unit Test

Test & Integration

Operations &
Maintenance
48

1. Waterfall Model

 Linear sequential model.

 Oldest model, since the 70s.

 Most widely used in software engineering.

 Documentation is produced at every stage.


49

2. Evolutionary Models
50

2. Evolutionary (Exploratory Model)

Concurrent Activities

Specification Initial Version

Outline
Description Development

Validation Final
Version
51

2. Evolutionary (Prototyping Model)

1. Requirements gathering.
2. Design and build SW prototype.
3. Evaluate prototype with customer.
4. Refine requirements.
52

3. Component-Based Models CBSE

Requirements Requirements System design with


Component analysis
specification modification reuse

Development and
System validation
integration

 Systematic reuse: Integrated from existing components or COTS (Commercial-Off-The-Shelf) systems.

 This approach is becoming increasingly used as component standards have emerged.


3. Component-Based Models CBSE
Types of software components:

•Web services that are developed according to service standards and which are available for remote
invocation.
•Collections of objects that are developed as a package to be integrated with a component framework
such as .NET or J2EE.
•Stand-alone software systems (COTS) that are configured for use in a particular environment.

53
54

4. Iterative Models
55

4. Iterative (Incremental Model)


Define outline Assign requirements to Design system
requirements increments architecture

Develop system Final


Validate increment Integrate increment Validate system
increment system

System incomplete

 Development & delivery in increments.


 Increment  deliver part of the functionality.
 User requirements are prioritized  Requirements with highest priority are included in early increments.
 Freezing requirements for each increment.
56

4. Iterative (Spiral Model)


57

4. Iterative (Spiral Model)

 Objective setting: Specific objectives for the phase are identified.

 Risk assessment and reduction: Risks are assessed and activities put in place to reduce the key
risks.

 Development and validation: A development model for the system is chosen which can be any of
the generic models.

 Planning: the project is reviewed and the next phase of the spiral is planned.
58

4. Iterative (Spiral Model)

 Risk driven process model.


 Different risk patterns can lead to choosing different process models.

 What is risk?
Situations or possible events that may cause a project to fail to meet its goal.
Example risks:
 Experienced staff leave the project.
 Hardware which is essential for the system will not be delivered on schedule.
More about risks in Chapter 3 (22 in the book).

You might also like