0% found this document useful (0 votes)
10 views65 pages

Lec4-SDLC Process Models 2

Uploaded by

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

Lec4-SDLC Process Models 2

Uploaded by

abdullahzahidhp
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd

Software

Engineering

Lecture # 4
MUMTAZ AHMAD
0301-6927006
[email protected]

MUMTAZ AHMAD [[email protected]] [0301-692-7006] 1


Software Development Life Cycle (SDLC)
 Requirement Analysis

 System Design

 Development

 Testing

 Deployment

 Maintenance

MUMTAZ AHMAD [[email protected]] [0301-692-7006] 2


Module 2: Software Development Life Cycle (SDLC) Models
Process Models

1. Waterfall
2. V-Shape Model
3. Prototype Model (Throw Away Model)
4. Spiral Model
5. Incremental Model
6. Iterative Model
7. Evolutionary Model (Incremental + Iterative)
8. RAD (Rapid Application Development) Model
9. Agile Model (SCRUM)

MUMTAZ AHMAD [[email protected]] [0301-692-7006] 3


Definition Prototype Model …

The Prototyping Model is one of the most popularly used Software

Development Life Cycle Models (SDLC models). This model is used when the

customers do not know the exact project requirements beforehand. In this

model, a prototype of the end product is first developed, tested, and refined

as per customer feedback repeatedly till a final acceptable prototype is

achieved which forms the basis for developing the final product.

MUMTAZ AHMAD [[email protected]] [0301-692-7006] 4


Prototype model process
 Requirement Analysis
 Feasibility Study
 Create a Prototype
 Prototype Testing
 Customer Review and Approval
 Design
 Coding
 Testing
 Installation and Maintenance
MUMTAZ AHMAD [[email protected]] [0301-692-7006] 5
Prototype Model

MUMTAZ AHMAD [[email protected]] [0301-692-7006] 6


How Does Prototype Model Work?

MUMTAZ AHMAD [[email protected]] [0301-692-7006] 7


Requirement analysis
 This model starts with collecting the requirements from the customers. And
these requirements of the project should be in-details.

 These details are received by the Business Analyst (BA) and Product
Analyst (PA). Where BA is assigned for service.

 After the feasibility study, they will move to next stage, creating the
prototype (sample or dummy) based on the data collects from the client,
and the web developer will design the Prototype-Based software.

 The PA is assigned for Product-Based Software.

MUMTAZ AHMAD [[email protected]] [0301-692-7006] 8


Prototype Model

MUMTAZ AHMAD [[email protected]] [0301-692-7006] 9


Feasibility Study
 In the next stage, the BA, HR, Architecture, and Finance teams’ head
will sit together and talk about

 the cost of the product

 Resources are required

 Which technology is used

 How much time is required to complete the product and deliver?

MUMTAZ AHMAD [[email protected]] [0301-692-7006] 10


Prototype Model

MUMTAZ AHMAD [[email protected]] [0301-692-7006] 11


Create a prototype
 After we completed the feasibility study, will move to next stage, where
will be creating the prototype (sample or dummy) based on the data
collects from the client, and the web developer will design the prototype.

Here, we have the following types of prototype:

❑ Static prototype

❑ Dynamic prototype

MUMTAZ AHMAD [[email protected]] [0301-692-7006] 12


Static Prototype
In the static prototype all the guidelines, screenshot, and the description
of how to build the software, how the completed product will look like and
how it will work and so on will be kept in a word document according to the
requirements.

MUMTAZ AHMAD [[email protected]] [0301-692-7006] 13


Dynamic Prototype
 The dynamic prototype is parallel to the browser, but here we can't provide
any details, only the functionality is there without entering the data.

 It is like a dummy page made out of the html with having tags and links to
the various pages to the expressive features of the product.

MUMTAZ AHMAD [[email protected]] [0301-692-7006] 14


Prototype Model

MUMTAZ AHMAD [[email protected]] [0301-692-7006] 15


Prototype Testing
 Once we build the prototype, the BA will test the prototype and perform
one round of prototype testing.

 The prototype testing is testing, where we will test only the look and feel,
which means that the UI and frontend.

MUMTAZ AHMAD [[email protected]] [0301-692-7006] 16


Customer Review and Approval
 Once the prototype testing is done, it will be handed over to the customer
for their review and approval.

 If the customer is not happy with the given sample, they will change the
prototype based on the customer's guidelines and feedback.

 This process will go on until the customer approved and satisfied with the
prototype.

 It is a bit time-consuming because we have to perform the changes again


and again in the prototype.

MUMTAZ AHMAD [[email protected]] [0301-692-7006] 17


Prototype Model

MUMTAZ AHMAD [[email protected]] [0301-692-7006] 18


Design
 After getting the approved prototype, the high level and low-level design
for the final product and consider all the suggestions given by the customer
at the time of the final prototype.

MUMTAZ AHMAD [[email protected]] [0301-692-7006] 19


Prototype Model

MUMTAZ AHMAD [[email protected]] [0301-692-7006] 20


Coding
 Once the design phase has been completed successfully, then move to
coding phase, where the concerned developer starts developing the product
based on their programming knowledge.

MUMTAZ AHMAD [[email protected]] [0301-692-7006] 21


Testing
 After the compilation of the development phase, it is handed over to the
test engineer. And the test engineer test the application functionality, and
all inputs and outputs.

MUMTAZ AHMAD [[email protected]] [0301-692-7006] 22


Installation and maintenance
 Once final product is developed and tested according to the final prototype,
it will be deployed to the production.

 The product will go through the time to time maintenance to reduce any
interruption, which helps to avoid significant failures.

MUMTAZ AHMAD [[email protected]] [0301-692-7006] 23


Prototype Model

MUMTAZ AHMAD [[email protected]] [0301-692-7006] 24


Module 2: Software Development Life Cycle (SDLC) Models
Process Models

1. Waterfall
2. V-Shape Model
3. Prototype Model (Throw Away Model)
4. Spiral Model
5. Incremental Model
6. Iterative Model
7. Evolutionary Model (Incremental + Iterative)
8. RAD (Rapid Application Development) Model
9. Agile Model (SCRUM)

MUMTAZ AHMAD [[email protected]] [0301-692-7006] 25


The Spiral Model

MUMTAZ AHMAD [[email protected]] [0301-692-7006] 26


The Spiral Model
 The Spiral model was initially developed by Barry Boehm in 1986. A
Spiral model is software development and enhancement as risk-driven and
an iterative model of SDLC.

 Spiral model integrates the iterative model approach with waterfall model.

 Spiral model is preferred for large and High-Risk Projects.

 This is the evolutionary development model as primary and important


features are defined and developed first and remaining features are added
in spirals (iterations) of the project.

MUMTAZ AHMAD [[email protected]] [0301-692-7006] 27


The Spiral Model
 The spiral model for software development is the best-chosen software
model for risky, extensive and complicated projects.

 The visual representation of this process looks like a spiral net with many
loops.

 The number of loops depends on the project type and requirements.

 Each loop in the spiral model has four main phases of the software
development process.

Requirement analysis Design Coding Testing and risk analysis

MUMTAZ AHMAD [[email protected]] [0301-692-7006] 28


The Spiral Model

MUMTAZ AHMAD [[email protected]] [0301-692-7006] 29


Definition Spiral Model

 The Spiral model for software development combines elements of iterative

and incremental development methodologies.

 It consists of four phases that are executed in a cyclic or spiral fashion.

Each iteration of the Spiral model is referred to as a "spiral.“

 This combination allows flexibility and adaptation as a project progresses.

MUMTAZ AHMAD [[email protected]] [0301-692-7006] 30


Phases of Spiral Model

MUMTAZ AHMAD [[email protected]] [0301-692-7006] 31


Phases of Spiral Model

 Planning / Requirement Gathering

 Risk Analysis

 Engineering / Coding / Testing

 Evaluation

MUMTAZ AHMAD [[email protected]] [0301-692-7006] 32


How Does Spiral Model Work?

MUMTAZ AHMAD [[email protected]] [0301-692-7006] 33


Phases of Spiral Model

MUMTAZ AHMAD [[email protected]] [0301-692-7006] 34


Phases of Spiral Model

 Planning / Requirement Gathering

 Risk Analysis

 Engineering / Coding / Testing

 Evaluation

MUMTAZ AHMAD [[email protected]] [0301-692-7006] 35


Planning / Requirement Gathering …

 Requirement Gathering, Cost Estimation, Resource Allocation.

Requirements are collected in BRS (Business Requirements Specifications)

and SRS (System Requirement Specifications) documents.

 Feasibility study completed, reviews and walkthroughs are conducted in

order to streamline the requirements further.

MUMTAZ AHMAD [[email protected]] [0301-692-7006] 36


Planning / Requirement Gathering

 System requirements are understood by having a good communication

between the client and system analyst. Doing so helps in estimating the

cost, schedule and resource planning.

MUMTAZ AHMAD [[email protected]] [0301-692-7006] 37


Phases of Spiral Model

 Planning / Requirement Gathering

 Risk Analysis

 Engineering / Coding / Testing

 Evaluation

MUMTAZ AHMAD [[email protected]] [0301-692-7006] 38


Risk Analysis Phase …
 Strengths and weaknesses of the project.

 Identifies the risk and find alternate solutions or work to minimizes the
risk.

 The project manager plans and finalizes the risk mitigation strategy.

 In the initial iteration, a prototype would be delivered to the customer.

 Customer executes the deployed prototype and provides feedback on the

same.

MUMTAZ AHMAD [[email protected]] [0301-692-7006] 39


The Spiral Model

MUMTAZ AHMAD [[email protected]] [0301-692-7006] 40


Risk Analysis Phase
 Based on the feedback the software development process moves to the
next iteration and implements the points suggested by the customer.

 This process continues in the form of iterations like a spiral through out the
lifecycle.

MUMTAZ AHMAD [[email protected]] [0301-692-7006] 41


Phases of Spiral Model

 Planning / Requirement Gathering

 Risk Analysis

 Engineering / Coding / Testing

 Evaluation

MUMTAZ AHMAD [[email protected]] [0301-692-7006] 42


Engineering / Coding / Testing …
 Developers will deploy the software on the client’s site to gather feedback.

 This phase in the spiral model is totally technical and needs experience and
expertise to tackle any challenge or change.

MUMTAZ AHMAD [[email protected]] [0301-692-7006] 43


Engineering / Coding / Testing
 This phase starts with designing the leading software by idolizing the
prototyped design from the baseline spiral.

 The prototype design will be a guideline for software architecture, logic,


front-end and final design.

 Coding, Internal Testing and deployment.

 The programs are developed and integrated to form a software or a


prototype.

 The product also tested to find any error in coding.

MUMTAZ AHMAD [[email protected]] [0301-692-7006] 44


Phases of Spiral Model

 Planning / Requirement Gathering

 Risk Analysis

 Engineering / Coding / Testing

 Evaluation

MUMTAZ AHMAD [[email protected]] [0301-692-7006] 45


Phases of Spiral Model

 Planning / Requirement Gathering

 Risk Analysis

 Engineering / Coding / Testing

 Evaluation

MUMTAZ AHMAD [[email protected]] [0301-692-7006] 46


Evaluate (Review And Deployment) …
 After the launch of a software project on the client’s site, the client is open
to sharing feedback and insightful observations about the software.

 Hence, the testing team from the client side will note down all the
feedback, observations, additions and changes needed in the software or its
functionality. All the correction lists will be sent to the development team,

 Again, a new baseline will begin to fix all the bugs, and after fixation of all
requirements, the final product will be ready for final launch.

MUMTAZ AHMAD [[email protected]] [0301-692-7006] 47


Evaluate (Review And Deployment) …
 After the launch of a software project on the client’s site, the client is open
to sharing feedback and insightful observations about the software.

 Hence, the testing team from the client side will note down all the
feedback, observations, additions and changes needed in the software or its
functionality. All the correction lists will be sent to the development team,

 Again, a new baseline will begin to fix all the bugs, and after fixation of all
requirements, the final product will be ready for final launch.

MUMTAZ AHMAD [[email protected]] [0301-692-7006] 48


Phases of Spiral Model

 Planning / Requirement Gathering

 Risk Analysis

 Engineering / Coding / Testing

 Evaluation

MUMTAZ AHMAD [[email protected]] [0301-692-7006] 49


When to use Spiral Model?

MUMTAZ AHMAD [[email protected]] [0301-692-7006] 50


When to use Spiral Model? …

 Risk evolution and cost of the project is important.

 Risk is medium to high.

 Possible to develop the prototype of the project.

 Medium and high-risk projects.

 Long-term project commitment required.

MUMTAZ AHMAD [[email protected]] [0301-692-7006] 51


When to use Spiral Model?

 End-users do not have much idea about their needs.

 Requirements are not clear and complex.

 New product line.

 Significant changes are expected.

MUMTAZ AHMAD [[email protected]] [0301-692-7006] 52


Where Spiral Model Used?

MUMTAZ AHMAD [[email protected]] [0301-692-7006] 53


Where Spiral Model Used?
 Microsoft for start developing newer versions of windows.

 Projects where software Gantt chart development required.

 Game development projects.

MUMTAZ AHMAD [[email protected]] [0301-692-7006] 54


Pros and Cons

MUMTAZ AHMAD [[email protected]] [0301-692-7006] 55


Pros of Spiral Model …

 Best Model To Handle Risky Projects: It is very common that many

unknown risks arise through a software development process. As the spiral

model can address the rising issues and reduce the impacts of uncertainty,

it is the perfect pick for a risky project.

 Good Choice For Large Projects: All the SDLC methods are not suitable

for big projects. But, any large and complex projects can be handled in the

best way using the spiral model.

MUMTAZ AHMAD [[email protected]] [0301-692-7006] 56


Pros of Spiral Model …

 Flexible With Requirements: The spiral model is adaptable to any

changes or additions at any phase and any time of a software development

journey.

 Better Customer Satisfaction: The client can overview during the early

phase of the software development process where the spiral method is

used. It helps to create the best customer-friendly software before

launching the final stage.

MUMTAZ AHMAD [[email protected]] [0301-692-7006] 57


Pros of Spiral Model …

 Iterative and incremental approach: The spiral model follows a

sequential combination of repetitive and incremental models in software

development. It creates the opportunity to make corrections and be more

efficient during software development.

 Open to receiving any feedback: The spiral model appreciates regular

evaluation of a software project. So, there is a big opportunity to improve

the software during the development process.

MUMTAZ AHMAD [[email protected]] [0301-692-7006] 58


Pros of Spiral Model

 Better quality: You will get an improved quality outcome because of the

multiple repetitions for every development phase in the whole software

development life cycle.

MUMTAZ AHMAD [[email protected]] [0301-692-7006] 59


Cons of Spiral Model …
 Complexity: The spiral model for software development is comparatively
more complex than other SDLC methods.

 Expensive: The spiral method requires more budget than other SDLC
methods. So, in normal cases, it is not suitable for small or medium size
software projects.

 Too much dependency on experts: The spiral method is expert-


dependent. How much the project will be successful depends on the risk
analysis and experience of the expert developers.

MUMTAZ AHMAD [[email protected]] [0301-692-7006] 60


Cons of Spiral Model …

 Poor time management: Spiral models have an unknown number of

phases; therefore, it is complicated to track the software project deadline.

 Follows multiple iterations: As the spiral method involves multiple

repetitions, many developers consider this an irritating process.

 Time-consuming: Spiral methodology goes through multiple recurrences,

feedback and changes during the development process. So, it becomes a

time-consuming process to finish the software project.

MUMTAZ AHMAD [[email protected]] [0301-692-7006] 61


Cons of Spiral Model

 Require Intensive Investment: Spiral method handles threat-oriented

software projects and hence requires a significant amount of investment in

planning, risk analysis and evaluation.

MUMTAZ AHMAD [[email protected]] [0301-692-7006] 62


 The Spiral Model for software development addresses the inherent

uncertainties and complexities of modern software projects.

 Its cyclic nature, combining planning, design, implementation and testing,

allows for continuous refinement and adaptation to changing requirements and

risks.

 This software development life cycle (SDLC) method encourages

transparency, collaboration and the delivery of high-quality software products.

MUMTAZ AHMAD [[email protected]] [0301-692-7006] 63


 Though it is one of the best SDLC methods, it is not suitable for every

project.

 Yet, for the project where uncertainty and evolving requirements are

needed, you can use the spiral model without any doubt.

MUMTAZ AHMAD [[email protected]] [0301-692-7006] 64


Module 2: Software Development Life Cycle (SDLC) Models
Process Models

1. Waterfall
2. V-Shape Model
3. Prototype Model (Throw Away Model)
4. Spiral Model
5. Incremental Model
6. Iterative Model
7. Evolutionary Model (Incremental + Iterative)
8. RAD (Rapid Application Development) Model
9. Agile Model (SCRUM)

MUMTAZ AHMAD [[email protected]] [0301-692-7006] 65

You might also like