SlideShare uma empresa Scribd logo
1 de 48
Baixar para ler offline
Software Engineering (3rd ed.), By K.K Aggarwal & Yogesh Singh, Copyright © New Age International Publishers, 2007

1
Software Life Cycle Models

The goal of Software Engineering is to provide
models and processes that lead to the
production of well-documented maintainable
software in a manner that is predictable.

Software Engineering (3rd ed.), By K.K Aggarwal & Yogesh Singh, Copyright © New Age International Publishers, 2007

2
Software Life Cycle Models

“The period of time that starts when a software product is conceived
and ends when the product is no longer available for use. The
software life cycle typically includes a requirement phase, design
phase, implementation phase, test phase, installation and check out
phase, operation and maintenance phase, and sometimes retirement
phase”.

Software Engineering (3rd ed.), By K.K Aggarwal & Yogesh Singh, Copyright © New Age International Publishers, 2007

3
Build & Fix Model
Product is constructed without
specifications or any attempt at
design
Adhoc approach and not well
defined

Build
Code

Simple two phase model

Software Engineering (3rd ed.), By K.K Aggarwal & Yogesh Singh, Copyright © New Age International Publishers, 2007

Fix

4
Build & Fix Model

Suitable for small programming exercises of 100 or 200 lines
Unsatisfactory for software for any reasonable size
Code soon becomes unfixable & unenhanceable
No room for structured design
Maintenance is practically not possible

Software Engineering (3rd ed.), By K.K Aggarwal & Yogesh Singh, Copyright © New Age International Publishers, 2007

5
Waterfall Model
Requirement
Analysis & Specification

Design

This model is named “waterfall
model” because its diagrammatic
representation resembles a cascade of
waterfalls.
Implementation
and unit testing
Integr ation and
system testing
Operation and
maintenance

Software Engineering (3rd ed.), By K.K Aggarwal & Yogesh Singh, Copyright © New Age International Publishers, 2007

6
Waterfall Model

This model is easy to understand and reinforces
the notion of “define before design” and “design
before code”.
The model expects complete & accurate
requirements early in the process, which is
unrealistic

Software Engineering (3rd ed.), By K.K Aggarwal & Yogesh Singh, Copyright © New Age International Publishers, 2007

7
Waterfall Model
Problems of waterfall model
i.

It is difficult to define all requirements at the beginning of a
project

ii. This model is not suitable for accommodating any change
iii. A working version of the system is not seen until late in
the project’s life
iv. It does not scale up well to large projects.
v. Real projects are rarely sequential.
Software Engineering (3rd ed.), By K.K Aggarwal & Yogesh Singh, Copyright © New Age International Publishers, 2007

8
Incremental Process Models
They are effective in the situations where requirements are
defined precisely and there is no confusion about the
functionality of the final product.
After every cycle a useable product is given to the customer.
Popular particularly when we have to quickly deliver a limited
functionality system.

Software Engineering (3rd ed.), By K.K Aggarwal & Yogesh Singh, Copyright © New Age International Publishers, 2007

9
Iterative Enhancement Model
This model has the same phases as the waterfall model, but with
fewer restrictions. Generally the phases occur in the same order as
in the waterfall model, but they may be conducted in several cycles.
Useable product is released at the end of the each cycle, with each
release providing additional functionality.
Customers and developers specify as many requirements as
possible and prepare a SRS document.
Developers and customers then prioritize these requirements
Developers implement the specified requirements in one or
more cycles of design, implementation and test based on the
defined priorities.
Software Engineering (3rd ed.), By K.K Aggarwal & Yogesh Singh, Copyright © New Age International Publishers, 2007

10
Iterative Enhancement Model
Requirements
specification

Architectural
design

Detailed

design

Implementation
and unit testing

Integration
and testing

Operation and
Maintenance

Software Engineering (3rd ed.), By K.K Aggarwal & Yogesh Singh, Copyright © New Age International Publishers, 2007

11
The Rapid Application Development (RAD) Model
o
o

Developed by IBM in 1980
User participation is essential

The requirements
specification was
defined like this

The developers
understood it in
that way

This is how the
problem was
solved before.

This is how the
problem is
solved now

This is how the program is This, in fact, is what the
described by marketing
customer wanted …
That is the program after
debugging Engineering (3 ed.), By K.K Aggarwaldepartment © New Age International Publishers, 2007
Software
& Yogesh Singh, Copyright
rd

12
The Rapid Application Development (RAD) Model
o

Build a rapid prototype

o

Give it to user for evaluation & obtain feedback

o

Prototype is refined
With active participation of users

Requirements
Planning

User
Description

Construction

Software Engineering (3rd ed.), By K.K Aggarwal & Yogesh Singh, Copyright © New Age International Publishers, 2007

Cut over

13
The Rapid Application Development (RAD) Model

Not an appropriate model in the absence of user
participation.
Reusable components are required to reduce development
time.
Highly specialized & skilled developers are required and
such developers are not easily available.

Software Engineering (3rd ed.), By K.K Aggarwal & Yogesh Singh, Copyright © New Age International Publishers, 2007

14
Evolutionary Process Models
Evolutionary process model resembles iterative enhancement
model. The same phases as defined for the waterfall model occur
here in a cyclical fashion. This model differs from iterative
enhancement model in the sense that this does not require a
useable product at the end of each cycle. In evolutionary
development, requirements are implemented by category rather
than by priority.
This model is useful for projects using new technology that is not
well understood. This is also used for complex projects where all
functionality must be delivered at one time, but the requirements
are unstable or not well understood at the beginning.

Software Engineering (3rd ed.), By K.K Aggarwal & Yogesh Singh, Copyright © New Age International Publishers, 2007

15
Evolutionary Process Model
Concurr ent
activities

Specification

Outline
description

Initial
version

Development

Intermediate
versions

Validation

Final
version

Software Engineering (3rd ed.), By K.K Aggarwal & Yogesh Singh, Copyright © New Age International Publishers, 2007

16
Prototyping Model

The prototype may be a usable program but is not suitable as
the final software product.
The code for the prototype is thrown away. However
experience gathered helps in developing the actual system.
The development of a prototype might involve extra cost, but
overall cost might turnout to be lower than that of an
equivalent system developed using the waterfall model.

Software Engineering (3rd ed.), By K.K Aggarwal & Yogesh Singh, Copyright © New Age International Publishers, 2007

17
Prototyping Model

• Linear model
• “Rapid”

Software Engineering (3rd ed.), By K.K Aggarwal & Yogesh Singh, Copyright © New Age International Publishers, 2007

18
Spiral Model
Models do not deal with uncertainly which is inherent to software
projects.
Important software projects have failed because project risks were
neglected & nobody was prepared when something unforeseen
happened.
Barry Boehm recognized this and tired to incorporate the “project
risk” factor into a life cycle model.
The result is the spiral model, which was presented in 1986.

Software Engineering (3rd ed.), By K.K Aggarwal & Yogesh Singh, Copyright © New Age International Publishers, 2007

19
Spiral Model

Software Engineering (3rd ed.), By K.K Aggarwal & Yogesh Singh, Copyright © New Age International Publishers, 2007

20
Spiral Model
The radial dimension of the model represents the cumulative costs.
Each path around the spiral is indicative of increased costs. The
angular dimension represents the progress made in completing each
cycle. Each loop of the spiral from X-axis clockwise through 360o
represents one phase. One phase is split roughly into four sectors of
major activities.
Planning: Determination
constraints.

of

objectives,

alternatives

&

Risk Analysis: Analyze alternatives and attempts to identify
and resolve the risks involved.
Development: Product development and testing product.
Assessment: Customer evaluation
Software Engineering (3rd ed.), By K.K Aggarwal & Yogesh Singh, Copyright © New Age International Publishers, 2007

21
Spiral Model
An important feature of the spiral model is that each phase is
completed with a review by the people concerned with the
project (designers and programmers)
The advantage of this model is the wide range of options to
accommodate the good features of other life cycle models.
It becomes equivalent to another life cycle model in
appropriate situations.
The spiral model has some difficulties that need to be resolved
before it can be a universally applied life cycle model. These
difficulties include lack of explicit process guidance in determining
objectives, constraints, alternatives; relying on risk assessment
expertise; and provides more flexibility than required for many
applications.
Software Engineering (3rd ed.), By K.K Aggarwal & Yogesh Singh, Copyright © New Age International Publishers, 2007

22
The Unified Process
• Developed by I.Jacobson, G.Booch and J.Rumbaugh.
• Software engineering process with the goal of producing good
quality maintainable software within specified time and budget.

• Developed through a series of fixed length mini projects called
iterations.
• Maintained and enhanced by Rational Software Corporation and
thus referred to as Rational Unified Process (RUP).

Software Engineering (3rd ed.), By K.K Aggarwal & Yogesh Singh, Copyright © New Age International Publishers, 2007

23
Phases of the Unified Process

Inception

Elaboration

Construction

Transition

Time

Definition of
objectives
of the project

Planning &
architecture
for the project

Initial
operational
capability

Software Engineering (3rd ed.), By K.K Aggarwal & Yogesh Singh, Copyright © New Age International Publishers, 2007

Release of
the Software
product

24
Phases of the Unified Process
• Inception: defines scope of the project.
• Elaboration
- How do we plan & design the project?
- What resources are required?
- What type of architecture may be suitable?
• Construction: the objectives are translated in design &
architecture documents.
• Transition : involves many activities like delivering, training,
supporting, and maintaining the product.

Software Engineering (3rd ed.), By K.K Aggarwal & Yogesh Singh, Copyright © New Age International Publishers, 2007

25
Initial development & Evolution Cycles

V1

Inception

Elaboration

Construction

Transition

Initial development Cycle

Inception

Elaboration

Construction

Transition

V2

Evolution Cycle

Inception

Elaboration

Construction

Transition

V3

Continue till the product is retired

V1=version1, V2 =version2, V3=version3
Software Engineering (3rd ed.), By K.K Aggarwal & Yogesh Singh, Copyright © New Age International Publishers, 2007

26
Iterations & Workflow of Unified Process

Software Engineering (3rd ed.), By K.K Aggarwal & Yogesh Singh, Copyright © New Age International Publishers, 2007

27
Inception Phase
The inception phase has the following objectives:
Gathering and analyzing the requirements.
Planning and preparing a business case and evaluating
alternatives for risk management, scheduling resources etc.
Estimating the overall cost and schedule for the project.
Studying the feasibility and calculating profitability of the
project.

Software Engineering (3rd ed.), By K.K Aggarwal & Yogesh Singh, Copyright © New Age International Publishers, 2007

28
Outcomes of Inception Phase

Project plan

Prototypes
Business
model
Vision
document

Inception

Initial risk
assessment

Initial business
case
Initial
Initial use
case model project
Glossary

Software Engineering (3rd ed.), By K.K Aggarwal & Yogesh Singh, Copyright © New Age International Publishers, 2007

29
Elaboration Phase
The elaboration phase has the following objectives:
Establishing architectural foundations.
Design of use case model.
Elaborating the process, infrastructure & development
environment.
Selecting component.
Demonstrating that architecture support the vision at
reasonable cost & within specified time.

Software Engineering (3rd ed.), By K.K Aggarwal & Yogesh Singh, Copyright © New Age International Publishers, 2007

30
Outcomes of Elaboration Phase

Development plan
Preliminary
User manual
Use case
model

Elaboration

Supplementary
Requirements
with non functional
requirement

Revised risk
document
An executable
architectural
prototype
Architecture
Description
document

Software Engineering (3rd ed.), By K.K Aggarwal & Yogesh Singh, Copyright © New Age International Publishers, 2007

31
Construction Phase
The construction phase has the following objectives:
Implementing the project.
Minimizing development cost.
Management and optimizing resources.
Testing the product
Assessing the product releases against acceptance criteria

Software Engineering (3rd ed.), By K.K Aggarwal & Yogesh Singh, Copyright © New Age International Publishers, 2007

32
Outcomes of Construction Phase
Test
Outline
Documentation
manuals
Software
product

Operational
manuals
Construction

User manuals

Test Suite
A description
of the
current release

Software Engineering (3rd ed.), By K.K Aggarwal & Yogesh Singh, Copyright © New Age International Publishers, 2007

33
Transition Phase
The transition phase has the following objectives:
Starting of beta testing
Analysis of user’s views.
Training of users.
Tuning activities including bug fixing and enhancements for
performance & usability
Assessing the customer satisfaction.

Software Engineering (3rd ed.), By K.K Aggarwal & Yogesh Singh, Copyright © New Age International Publishers, 2007

34
Outcomes of Transition Phase

Transition

Product
release

Beta test reports

User feedback

Software Engineering (3rd ed.), By K.K Aggarwal & Yogesh Singh, Copyright © New Age International Publishers, 2007

35
Selection of a Life Cycle Model
Selection of a model is based on:
a) Requirements
b) Development team
c) Users
d) Project type and associated risk

Software Engineering (3rd ed.), By K.K Aggarwal & Yogesh Singh, Copyright © New Age International Publishers, 2007

36
Based On Characteristics Of Requirements
Requirements

Waterfall

Prototype

Are requirements
easily understandable
and defined?

Yes

No

No

Do we change
requirements quite
often?

No

Yes

Can we define
requirements early
in the cycle?

Yes

No

Requirements are
indicating a complex
system to be built

No

Yes

Iterative
enhancement

Evolutionary
development

Spiral

RAD

No

No

Yes

No

No

Yes

No

Yes

Yes

No

Yes

Yes

Yes

Yes

No

Software Engineering (3rd ed.), By K.K Aggarwal & Yogesh Singh, Copyright © New Age International Publishers, 2007

37
Based On Status Of Development Team
Development
team

Waterfall

Prototype

Iterative
enhancement

Evolutionary
development

Spiral

RAD

Less experience on
similar projects?

No

Yes

No

No

Yes

No

Less domain
knowledge (new to
the technology)

Yes

No

Yes

Yes

Yes

No

Less experience on
tools to be used

Yes

No

No

No

Yes

No

Availability of
training if required

No

No

Yes

Yes

No

Yes

Software Engineering (3rd ed.), By K.K Aggarwal & Yogesh Singh, Copyright © New Age International Publishers, 2007

38
User’
Based On User’s Participation
Involvement
of Users

Waterfall

Prototype

Iterative
enhancement

Evolutionary
development

Spiral

RAD

User involvement
in all phases

No

Yes

No

No

No

Yes

Limited user
participation

Yes

No

Yes

Yes

Yes

No

No

Yes

Yes

Yes

Yes

No

No

Yes

Yes

Yes

No

Yes

User have no
previous experience
of participation in
similar projects
Users are experts
of problem domain

Software Engineering (3rd ed.), By K.K Aggarwal & Yogesh Singh, Copyright © New Age International Publishers, 2007

39
Based On Type Of Project With Associated Risk
Project type
and risk

Waterfall

Prototype

Iterative
enhancement

Evolutionary
development

Spiral

RAD

Project is the
enhancement of the
existing system

No

No

Yes

Yes

No

Yes

Funding is stable
for the project

Yes

Yes

No

No

No

Yes

High reliability
requirements

No

No

Yes

Yes

Yes

No

No

Yes

Yes

Yes

Yes

Yes

No

Yes

No

No

Yes

Yes

No

Yes

No

No

Yes

No

Tight project
schedule
Use of reusable
components
Are resources
(time, money,
people etc.) scare?

Software Engineering (3rd ed.), By K.K Aggarwal & Yogesh Singh, Copyright © New Age International Publishers, 2007

40
Multiple Choice Questions
Note: Select most appropriate answer of the following questions:
2.1 Spiral Model was developed by
(a) Bev Littlewood
(b) Berry Boehm
(c) Roger Pressman
(d) Victor Basili
2.2 Which model is most popular for student’s small projects?
(a) Waterfall model
(b) Spiral model
(c) Quick and fix model
(d) Prototyping model
2.3 Which is not a software life cycle model?
(a) Waterfall model
(b) Spiral model
(c) Prototyping model
(d) Capability maturity model
2.4 Project risk factor is considered in
(a) Waterfall model
(b) Prototyping model
(c) Spiral model
(d) Iterative enhancement model
2.5 SDLC stands for
(a) Software design life cycle
(b) Software development life cycle
(c) System development life cycle
(d) System design life cycle

Software Engineering (3rd ed.), By K.K Aggarwal & Yogesh Singh, Copyright © New Age International Publishers, 2007

41
Multiple Choice Questions
Note: Select most appropriate answer of the following questions:
2.6 Build and fix model has
(a) 3 phases
(c) 2 phases
2.7 SRS stands for
(a) Software requirements specification
(c) System requirements specification
2.8 Waterfall model is not suitable for
(a) small projects
(c) complex projects
2.9 RAD stands for
(a) Rapid application development
(c) Ready application development
2.10 RAD model was proposed by
(a) Lucent Technologies
(c) IBM

(b) 1 phase
(d) 4 phases
(b) Software requirements solution
(d) none of the above
(b) accommodating change
(d) none of the above
(b) Relative application development
(d) Repeated application development
(b) Motorola
(d) Microsoft

Software Engineering (3rd ed.), By K.K Aggarwal & Yogesh Singh, Copyright © New Age International Publishers, 2007

42
Multiple Choice Questions
Note: Select most appropriate answer of the following questions:
2.11 If requirements are easily understandable and defined,which model is best suited?
(a) Waterfall model
(b) Prototyping model
(c) Spiral model
(d) None of the above
2.12 If requirements are frequently changing, which model is to be selected?
(a) Waterfall model
(b) Prototyping model
(c) RAD model
(d) Iterative enhancement model
2.13 If user participation is available, which model is to be chosen?
(a) Waterfall model
(b) Iterative enhancement model
(c) Spiral model
(d) RAD model
2.14 If limited user participation is available, which model is to be selected?
(a) Waterfall model
(b) Spiral model
(c) Iterative enhancement model
(d) any of the above
2.15 If project is the enhancement of existing system, which model is best suited?
(a) Waterfall model
(b) Prototyping model
(c) Iterative enhancement model
(d) Spiral model

Software Engineering (3rd ed.), By K.K Aggarwal & Yogesh Singh, Copyright © New Age International Publishers, 2007

43
Multiple Choice Questions
Note: Select most appropriate answer of the following questions:
2.16 Which one is the most important feature of spiral model?
(a) Quality management
(b) Risk management
(c) Performance management
(d) Efficiency management
2.17 Most suitable model for new technology that is not well understood is:
(a) Waterfall model
(b) RAD model
(c) Iterative enhancement model
(d) Evolutionary development model
2.18 Statistically, the maximum percentage of errors belong to the following phase of
SDLC
(a) Coding
(b) Design
(c) Specifications
(d) Installation and maintenance
2.19 Which phase is not available in software life cycle?
(a) Coding
(b) Testing
(c) Maintenance
(d) Abstraction
2.20 The development is supposed to proceed linearly through the phase in
(a) Spiral model
(b) Waterfall model
(c) Prototyping model
(d) None of the above

Software Engineering (3rd ed.), By K.K Aggarwal & Yogesh Singh, Copyright © New Age International Publishers, 2007

44
Multiple Choice Questions
Note: Select most appropriate answer of the following questions:
2.21 Unified process is maintained by
(a) Infosys
(b) Rational software corporation
(c) SUN Microsystems
(d) None of the above
2.22 Unified process is
(a) Iterative
(b) Incremental
(c) Evolutionary
(d) All of the above
2.23 Who is not in the team of Unified process development?
(a) I.Jacobson
(b) G.Booch
(c) B.Boehm
(d) J.Rumbaugh
2.24 How many phases are in the unified process?
(a) 4
(b) 5
(c) 2
(d) None of the above
2.25 The outcome of construction phased can be treated as:
(a) Product release
(b) Beta release
(c) Alpha release
(d) All of the above

Software Engineering (3rd ed.), By K.K Aggarwal & Yogesh Singh, Copyright © New Age International Publishers, 2007

45
Exercises
2.1 What do you understand by the term Software Development Life Cycle
(SDLC)? Why is it important to adhere to a life cycle model while
developing a large software product?
2.2 What is software life cycle? Discuss the generic waterfall model.
2.3 List the advantages of using waterfall model instead of adhoc build and
fix model.
2.4 Discuss the prototyping model. What is the effect of designing a
prototype on the overall cost of the project?
2.5 What are the advantages of developing the prototype of a system?
2.6 Describe the type of situations where iterative enhancement model might
lead to difficulties.
2.7 Compare iterative enhancement model and evolutionary process model.

Software Engineering (3rd ed.), By K.K Aggarwal & Yogesh Singh, Copyright © New Age International Publishers, 2007

46
Exercises
2.8 Sketch a neat diagram of spiral model of software life cycle.
2.9 Compare the waterfall model and the spiral model of software
development.
2.10 As we move outward along with process flow path of the spiral model,
what can we say about software that is being developed or maintained.
2.11 How does “project risk” factor effect the spiral model of software
development.
2.12 List the advantages and disadvantages of involving a software engineer
throughout the software development planning process.
2.13 Explain the spiral model of software development. What are the
limitations of such a model?
2.14 Describe the rapid application development (RAD) model.Discuss each
phase in detail.
2.15 What are the characteristics to be considered for the selection of the life
cycle model?

Software Engineering (3rd ed.), By K.K Aggarwal & Yogesh Singh, Copyright © New Age International Publishers, 2007

47
Exercises
2.16 What is the role of user participation in the selection of a life cycle
model?.
2.17 Why do we feel that characteristics of requirements play a very
significant role in the selection of a life cycle model?
2.18 Write short note on “status of development team” for the selection of a
life cycle model?.
2.19 Discuss the selection process parameters for a life cycle model.
2.20 What is unified process? Explain various phases along with the outcome
of each phase.
2.21 Describe the unified process work products after each phase of unified
process.
2.22 What are the advantages of iterative approach over sequential approach?
Why is unified process called as iterative or incremental?

Software Engineering (3rd ed.), By K.K Aggarwal & Yogesh Singh, Copyright © New Age International Publishers, 2007

48

Mais conteúdo relacionado

Mais procurados

Chapter 4 software project planning
Chapter 4 software project planningChapter 4 software project planning
Chapter 4 software project planningPiyush Gogia
 
Software Engineering Solved Past Paper 2020
Software Engineering Solved Past Paper 2020 Software Engineering Solved Past Paper 2020
Software Engineering Solved Past Paper 2020 MuhammadTalha436
 
Ian Sommerville, Software Engineering, 9th Edition Ch2
Ian Sommerville,  Software Engineering, 9th Edition Ch2Ian Sommerville,  Software Engineering, 9th Edition Ch2
Ian Sommerville, Software Engineering, 9th Edition Ch2Mohammed Romi
 
Formal Approaches to SQA.pptx
Formal Approaches to SQA.pptxFormal Approaches to SQA.pptx
Formal Approaches to SQA.pptxKarthigaiSelviS3
 
Ian Sommerville, Software Engineering, 9th Edition Ch1
Ian Sommerville,  Software Engineering, 9th Edition Ch1Ian Sommerville,  Software Engineering, 9th Edition Ch1
Ian Sommerville, Software Engineering, 9th Edition Ch1Mohammed Romi
 
Unified process,agile process,process assesment ppt
Unified process,agile process,process assesment pptUnified process,agile process,process assesment ppt
Unified process,agile process,process assesment pptShweta Ghate
 
Software quality assurance
Software quality assuranceSoftware quality assurance
Software quality assuranceAman Adhikari
 
verification and validation
verification and validationverification and validation
verification and validationDinesh Pasi
 
Component Based Software Engineering
Component Based Software EngineeringComponent Based Software Engineering
Component Based Software EngineeringSatishDabhi1
 
Process models
Process modelsProcess models
Process modelsStudent
 
Chapter 5 Software Quality Assurance-Finalised_BW.ppt
Chapter 5 Software Quality Assurance-Finalised_BW.pptChapter 5 Software Quality Assurance-Finalised_BW.ppt
Chapter 5 Software Quality Assurance-Finalised_BW.pptBule Hora University
 
Agile Software Development Life Cycle
Agile Software Development Life CycleAgile Software Development Life Cycle
Agile Software Development Life CycleUTKARSHSRIVASTAVA235
 
Software Reengineering
Software ReengineeringSoftware Reengineering
Software ReengineeringAbdul Wahid
 

Mais procurados (20)

Chapter 4 software project planning
Chapter 4 software project planningChapter 4 software project planning
Chapter 4 software project planning
 
Software Verification & Validation
Software Verification & ValidationSoftware Verification & Validation
Software Verification & Validation
 
Software Engineering Solved Past Paper 2020
Software Engineering Solved Past Paper 2020 Software Engineering Solved Past Paper 2020
Software Engineering Solved Past Paper 2020
 
Ian Sommerville, Software Engineering, 9th Edition Ch2
Ian Sommerville,  Software Engineering, 9th Edition Ch2Ian Sommerville,  Software Engineering, 9th Edition Ch2
Ian Sommerville, Software Engineering, 9th Edition Ch2
 
Component based software engineering
Component based software engineeringComponent based software engineering
Component based software engineering
 
Software Quality Metrics
Software Quality MetricsSoftware Quality Metrics
Software Quality Metrics
 
Formal Approaches to SQA.pptx
Formal Approaches to SQA.pptxFormal Approaches to SQA.pptx
Formal Approaches to SQA.pptx
 
Slides chapter 3
Slides chapter 3Slides chapter 3
Slides chapter 3
 
Ian Sommerville, Software Engineering, 9th Edition Ch1
Ian Sommerville,  Software Engineering, 9th Edition Ch1Ian Sommerville,  Software Engineering, 9th Edition Ch1
Ian Sommerville, Software Engineering, 9th Edition Ch1
 
Unified process,agile process,process assesment ppt
Unified process,agile process,process assesment pptUnified process,agile process,process assesment ppt
Unified process,agile process,process assesment ppt
 
Software quality assurance
Software quality assuranceSoftware quality assurance
Software quality assurance
 
verification and validation
verification and validationverification and validation
verification and validation
 
Requirements Engineering
Requirements EngineeringRequirements Engineering
Requirements Engineering
 
Component Based Software Engineering
Component Based Software EngineeringComponent Based Software Engineering
Component Based Software Engineering
 
Process models
Process modelsProcess models
Process models
 
Chapter 5 Software Quality Assurance-Finalised_BW.ppt
Chapter 5 Software Quality Assurance-Finalised_BW.pptChapter 5 Software Quality Assurance-Finalised_BW.ppt
Chapter 5 Software Quality Assurance-Finalised_BW.ppt
 
STLC
STLCSTLC
STLC
 
Agile Software Development Life Cycle
Agile Software Development Life CycleAgile Software Development Life Cycle
Agile Software Development Life Cycle
 
Software Reengineering
Software ReengineeringSoftware Reengineering
Software Reengineering
 
Software metrics
Software metricsSoftware metrics
Software metrics
 

Semelhante a Software Life Cycle Models Guide

40 fucking characters are you fucking crazy I hate this site just let me down...
40 fucking characters are you fucking crazy I hate this site just let me down...40 fucking characters are you fucking crazy I hate this site just let me down...
40 fucking characters are you fucking crazy I hate this site just let me down...maccdx
 
Chapter 2 software development life cycle models
Chapter 2 software development life cycle modelsChapter 2 software development life cycle models
Chapter 2 software development life cycle modelsPiyush Gogia
 
Agbaje7survey of softwar process
Agbaje7survey of softwar processAgbaje7survey of softwar process
Agbaje7survey of softwar processDr. Michael Agbaje
 
Software Engineering- Crisis and Process Models
Software Engineering- Crisis and Process ModelsSoftware Engineering- Crisis and Process Models
Software Engineering- Crisis and Process ModelsNishu Rastogi
 
TESTING IMPLEMENTATION SYSTEM
TESTING IMPLEMENTATION SYSTEMTESTING IMPLEMENTATION SYSTEM
TESTING IMPLEMENTATION SYSTEMPutri nadya Fazri
 
Tiara Ramadhani - Program Studi S1 Sistem Informasi - Fakultas Sains dan Tekn...
Tiara Ramadhani - Program Studi S1 Sistem Informasi - Fakultas Sains dan Tekn...Tiara Ramadhani - Program Studi S1 Sistem Informasi - Fakultas Sains dan Tekn...
Tiara Ramadhani - Program Studi S1 Sistem Informasi - Fakultas Sains dan Tekn...Tiara Ramadhani
 
Software development models_rendi_saputra_infosys_USR
Software development models_rendi_saputra_infosys_USRSoftware development models_rendi_saputra_infosys_USR
Software development models_rendi_saputra_infosys_USRRendi Saputra
 
Software development models hazahara
Software development models hazaharaSoftware development models hazahara
Software development models hazaharaHazahara shadah
 
Plagiarism Report SDLC 1.pdf
Plagiarism Report SDLC 1.pdfPlagiarism Report SDLC 1.pdf
Plagiarism Report SDLC 1.pdfOmethSanchitha
 
Materi Testing dan Implementasi System
Materi Testing dan Implementasi SystemMateri Testing dan Implementasi System
Materi Testing dan Implementasi Systemdevinta sari
 
Software Development Models - Testing and Implementation System - Apridila An...
Software Development Models - Testing and Implementation System - Apridila An...Software Development Models - Testing and Implementation System - Apridila An...
Software Development Models - Testing and Implementation System - Apridila An...Apridila Anggita Suri
 
Software Life Cycle Modelsrerfgrgreg.pptx
Software Life Cycle Modelsrerfgrgreg.pptxSoftware Life Cycle Modelsrerfgrgreg.pptx
Software Life Cycle Modelsrerfgrgreg.pptxaryanchauhan040301
 
A MAPPING MODEL FOR TRANSFORMING TRADITIONAL SOFTWARE DEVELOPMENT METHODS TO ...
A MAPPING MODEL FOR TRANSFORMING TRADITIONAL SOFTWARE DEVELOPMENT METHODS TO ...A MAPPING MODEL FOR TRANSFORMING TRADITIONAL SOFTWARE DEVELOPMENT METHODS TO ...
A MAPPING MODEL FOR TRANSFORMING TRADITIONAL SOFTWARE DEVELOPMENT METHODS TO ...ijseajournal
 
FADHILLA ELITA Ppt testing 3
FADHILLA ELITA Ppt testing 3FADHILLA ELITA Ppt testing 3
FADHILLA ELITA Ppt testing 3fadhilla elita
 
Softwaredevelopmentmodels windirohmaheny11453205427kelase
Softwaredevelopmentmodels windirohmaheny11453205427kelaseSoftwaredevelopmentmodels windirohmaheny11453205427kelase
Softwaredevelopmentmodels windirohmaheny11453205427kelasewindi rohmaheny
 
Software development models endang
Software development models endangSoftware development models endang
Software development models endangendang setianingsih
 
Comparing Various SDLC Models On The Basis Of Available Methodology
Comparing Various SDLC Models On The Basis Of Available MethodologyComparing Various SDLC Models On The Basis Of Available Methodology
Comparing Various SDLC Models On The Basis Of Available MethodologyIJMER
 
‘O’ Model for Component-Based Software Development Process
‘O’ Model for Component-Based Software Development Process‘O’ Model for Component-Based Software Development Process
‘O’ Model for Component-Based Software Development Processijceronline
 

Semelhante a Software Life Cycle Models Guide (20)

40 fucking characters are you fucking crazy I hate this site just let me down...
40 fucking characters are you fucking crazy I hate this site just let me down...40 fucking characters are you fucking crazy I hate this site just let me down...
40 fucking characters are you fucking crazy I hate this site just let me down...
 
Chapter 2 software development life cycle models
Chapter 2 software development life cycle modelsChapter 2 software development life cycle models
Chapter 2 software development life cycle models
 
Agbaje7survey of softwar process
Agbaje7survey of softwar processAgbaje7survey of softwar process
Agbaje7survey of softwar process
 
Ijetcas14 545
Ijetcas14 545Ijetcas14 545
Ijetcas14 545
 
Software Engineering- Crisis and Process Models
Software Engineering- Crisis and Process ModelsSoftware Engineering- Crisis and Process Models
Software Engineering- Crisis and Process Models
 
TESTING IMPLEMENTATION SYSTEM
TESTING IMPLEMENTATION SYSTEMTESTING IMPLEMENTATION SYSTEM
TESTING IMPLEMENTATION SYSTEM
 
Tiara Ramadhani - Program Studi S1 Sistem Informasi - Fakultas Sains dan Tekn...
Tiara Ramadhani - Program Studi S1 Sistem Informasi - Fakultas Sains dan Tekn...Tiara Ramadhani - Program Studi S1 Sistem Informasi - Fakultas Sains dan Tekn...
Tiara Ramadhani - Program Studi S1 Sistem Informasi - Fakultas Sains dan Tekn...
 
Software development models_rendi_saputra_infosys_USR
Software development models_rendi_saputra_infosys_USRSoftware development models_rendi_saputra_infosys_USR
Software development models_rendi_saputra_infosys_USR
 
Software development models hazahara
Software development models hazaharaSoftware development models hazahara
Software development models hazahara
 
Plagiarism Report SDLC 1.pdf
Plagiarism Report SDLC 1.pdfPlagiarism Report SDLC 1.pdf
Plagiarism Report SDLC 1.pdf
 
Materi Testing dan Implementasi System
Materi Testing dan Implementasi SystemMateri Testing dan Implementasi System
Materi Testing dan Implementasi System
 
Software Development Models - Testing and Implementation System - Apridila An...
Software Development Models - Testing and Implementation System - Apridila An...Software Development Models - Testing and Implementation System - Apridila An...
Software Development Models - Testing and Implementation System - Apridila An...
 
Software Life Cycle Modelsrerfgrgreg.pptx
Software Life Cycle Modelsrerfgrgreg.pptxSoftware Life Cycle Modelsrerfgrgreg.pptx
Software Life Cycle Modelsrerfgrgreg.pptx
 
A MAPPING MODEL FOR TRANSFORMING TRADITIONAL SOFTWARE DEVELOPMENT METHODS TO ...
A MAPPING MODEL FOR TRANSFORMING TRADITIONAL SOFTWARE DEVELOPMENT METHODS TO ...A MAPPING MODEL FOR TRANSFORMING TRADITIONAL SOFTWARE DEVELOPMENT METHODS TO ...
A MAPPING MODEL FOR TRANSFORMING TRADITIONAL SOFTWARE DEVELOPMENT METHODS TO ...
 
FADHILLA ELITA Ppt testing 3
FADHILLA ELITA Ppt testing 3FADHILLA ELITA Ppt testing 3
FADHILLA ELITA Ppt testing 3
 
Softwaredevelopmentmodels windirohmaheny11453205427kelase
Softwaredevelopmentmodels windirohmaheny11453205427kelaseSoftwaredevelopmentmodels windirohmaheny11453205427kelase
Softwaredevelopmentmodels windirohmaheny11453205427kelase
 
Software development models endang
Software development models endangSoftware development models endang
Software development models endang
 
Comparing Various SDLC Models On The Basis Of Available Methodology
Comparing Various SDLC Models On The Basis Of Available MethodologyComparing Various SDLC Models On The Basis Of Available Methodology
Comparing Various SDLC Models On The Basis Of Available Methodology
 
Case study(i)
Case study(i)Case study(i)
Case study(i)
 
‘O’ Model for Component-Based Software Development Process
‘O’ Model for Component-Based Software Development Process‘O’ Model for Component-Based Software Development Process
‘O’ Model for Component-Based Software Development Process
 

Último

How to do quick user assign in kanban in Odoo 17 ERP
How to do quick user assign in kanban in Odoo 17 ERPHow to do quick user assign in kanban in Odoo 17 ERP
How to do quick user assign in kanban in Odoo 17 ERPCeline George
 
FILIPINO PSYCHology sikolohiyang pilipino
FILIPINO PSYCHology sikolohiyang pilipinoFILIPINO PSYCHology sikolohiyang pilipino
FILIPINO PSYCHology sikolohiyang pilipinojohnmickonozaleda
 
Choosing the Right CBSE School A Comprehensive Guide for Parents
Choosing the Right CBSE School A Comprehensive Guide for ParentsChoosing the Right CBSE School A Comprehensive Guide for Parents
Choosing the Right CBSE School A Comprehensive Guide for Parentsnavabharathschool99
 
ENGLISH6-Q4-W3.pptxqurter our high choom
ENGLISH6-Q4-W3.pptxqurter our high choomENGLISH6-Q4-W3.pptxqurter our high choom
ENGLISH6-Q4-W3.pptxqurter our high choomnelietumpap1
 
Concurrency Control in Database Management system
Concurrency Control in Database Management systemConcurrency Control in Database Management system
Concurrency Control in Database Management systemChristalin Nelson
 
Incoming and Outgoing Shipments in 3 STEPS Using Odoo 17
Incoming and Outgoing Shipments in 3 STEPS Using Odoo 17Incoming and Outgoing Shipments in 3 STEPS Using Odoo 17
Incoming and Outgoing Shipments in 3 STEPS Using Odoo 17Celine George
 
Keynote by Prof. Wurzer at Nordex about IP-design
Keynote by Prof. Wurzer at Nordex about IP-designKeynote by Prof. Wurzer at Nordex about IP-design
Keynote by Prof. Wurzer at Nordex about IP-designMIPLM
 
Visit to a blind student's school🧑‍🦯🧑‍🦯(community medicine)
Visit to a blind student's school🧑‍🦯🧑‍🦯(community medicine)Visit to a blind student's school🧑‍🦯🧑‍🦯(community medicine)
Visit to a blind student's school🧑‍🦯🧑‍🦯(community medicine)lakshayb543
 
AUDIENCE THEORY -CULTIVATION THEORY - GERBNER.pptx
AUDIENCE THEORY -CULTIVATION THEORY -  GERBNER.pptxAUDIENCE THEORY -CULTIVATION THEORY -  GERBNER.pptx
AUDIENCE THEORY -CULTIVATION THEORY - GERBNER.pptxiammrhaywood
 
Earth Day Presentation wow hello nice great
Earth Day Presentation wow hello nice greatEarth Day Presentation wow hello nice great
Earth Day Presentation wow hello nice greatYousafMalik24
 
MULTIDISCIPLINRY NATURE OF THE ENVIRONMENTAL STUDIES.pptx
MULTIDISCIPLINRY NATURE OF THE ENVIRONMENTAL STUDIES.pptxMULTIDISCIPLINRY NATURE OF THE ENVIRONMENTAL STUDIES.pptx
MULTIDISCIPLINRY NATURE OF THE ENVIRONMENTAL STUDIES.pptxAnupkumar Sharma
 
Transaction Management in Database Management System
Transaction Management in Database Management SystemTransaction Management in Database Management System
Transaction Management in Database Management SystemChristalin Nelson
 
Inclusivity Essentials_ Creating Accessible Websites for Nonprofits .pdf
Inclusivity Essentials_ Creating Accessible Websites for Nonprofits .pdfInclusivity Essentials_ Creating Accessible Websites for Nonprofits .pdf
Inclusivity Essentials_ Creating Accessible Websites for Nonprofits .pdfTechSoup
 
Difference Between Search & Browse Methods in Odoo 17
Difference Between Search & Browse Methods in Odoo 17Difference Between Search & Browse Methods in Odoo 17
Difference Between Search & Browse Methods in Odoo 17Celine George
 
Student Profile Sample - We help schools to connect the data they have, with ...
Student Profile Sample - We help schools to connect the data they have, with ...Student Profile Sample - We help schools to connect the data they have, with ...
Student Profile Sample - We help schools to connect the data they have, with ...Seán Kennedy
 
ECONOMIC CONTEXT - PAPER 1 Q3: NEWSPAPERS.pptx
ECONOMIC CONTEXT - PAPER 1 Q3: NEWSPAPERS.pptxECONOMIC CONTEXT - PAPER 1 Q3: NEWSPAPERS.pptx
ECONOMIC CONTEXT - PAPER 1 Q3: NEWSPAPERS.pptxiammrhaywood
 
Karra SKD Conference Presentation Revised.pptx
Karra SKD Conference Presentation Revised.pptxKarra SKD Conference Presentation Revised.pptx
Karra SKD Conference Presentation Revised.pptxAshokKarra1
 
Procuring digital preservation CAN be quick and painless with our new dynamic...
Procuring digital preservation CAN be quick and painless with our new dynamic...Procuring digital preservation CAN be quick and painless with our new dynamic...
Procuring digital preservation CAN be quick and painless with our new dynamic...Jisc
 
Proudly South Africa powerpoint Thorisha.pptx
Proudly South Africa powerpoint Thorisha.pptxProudly South Africa powerpoint Thorisha.pptx
Proudly South Africa powerpoint Thorisha.pptxthorishapillay1
 

Último (20)

How to do quick user assign in kanban in Odoo 17 ERP
How to do quick user assign in kanban in Odoo 17 ERPHow to do quick user assign in kanban in Odoo 17 ERP
How to do quick user assign in kanban in Odoo 17 ERP
 
FILIPINO PSYCHology sikolohiyang pilipino
FILIPINO PSYCHology sikolohiyang pilipinoFILIPINO PSYCHology sikolohiyang pilipino
FILIPINO PSYCHology sikolohiyang pilipino
 
Choosing the Right CBSE School A Comprehensive Guide for Parents
Choosing the Right CBSE School A Comprehensive Guide for ParentsChoosing the Right CBSE School A Comprehensive Guide for Parents
Choosing the Right CBSE School A Comprehensive Guide for Parents
 
ENGLISH6-Q4-W3.pptxqurter our high choom
ENGLISH6-Q4-W3.pptxqurter our high choomENGLISH6-Q4-W3.pptxqurter our high choom
ENGLISH6-Q4-W3.pptxqurter our high choom
 
Concurrency Control in Database Management system
Concurrency Control in Database Management systemConcurrency Control in Database Management system
Concurrency Control in Database Management system
 
Incoming and Outgoing Shipments in 3 STEPS Using Odoo 17
Incoming and Outgoing Shipments in 3 STEPS Using Odoo 17Incoming and Outgoing Shipments in 3 STEPS Using Odoo 17
Incoming and Outgoing Shipments in 3 STEPS Using Odoo 17
 
Keynote by Prof. Wurzer at Nordex about IP-design
Keynote by Prof. Wurzer at Nordex about IP-designKeynote by Prof. Wurzer at Nordex about IP-design
Keynote by Prof. Wurzer at Nordex about IP-design
 
Visit to a blind student's school🧑‍🦯🧑‍🦯(community medicine)
Visit to a blind student's school🧑‍🦯🧑‍🦯(community medicine)Visit to a blind student's school🧑‍🦯🧑‍🦯(community medicine)
Visit to a blind student's school🧑‍🦯🧑‍🦯(community medicine)
 
AUDIENCE THEORY -CULTIVATION THEORY - GERBNER.pptx
AUDIENCE THEORY -CULTIVATION THEORY -  GERBNER.pptxAUDIENCE THEORY -CULTIVATION THEORY -  GERBNER.pptx
AUDIENCE THEORY -CULTIVATION THEORY - GERBNER.pptx
 
Earth Day Presentation wow hello nice great
Earth Day Presentation wow hello nice greatEarth Day Presentation wow hello nice great
Earth Day Presentation wow hello nice great
 
MULTIDISCIPLINRY NATURE OF THE ENVIRONMENTAL STUDIES.pptx
MULTIDISCIPLINRY NATURE OF THE ENVIRONMENTAL STUDIES.pptxMULTIDISCIPLINRY NATURE OF THE ENVIRONMENTAL STUDIES.pptx
MULTIDISCIPLINRY NATURE OF THE ENVIRONMENTAL STUDIES.pptx
 
Transaction Management in Database Management System
Transaction Management in Database Management SystemTransaction Management in Database Management System
Transaction Management in Database Management System
 
Inclusivity Essentials_ Creating Accessible Websites for Nonprofits .pdf
Inclusivity Essentials_ Creating Accessible Websites for Nonprofits .pdfInclusivity Essentials_ Creating Accessible Websites for Nonprofits .pdf
Inclusivity Essentials_ Creating Accessible Websites for Nonprofits .pdf
 
Difference Between Search & Browse Methods in Odoo 17
Difference Between Search & Browse Methods in Odoo 17Difference Between Search & Browse Methods in Odoo 17
Difference Between Search & Browse Methods in Odoo 17
 
Student Profile Sample - We help schools to connect the data they have, with ...
Student Profile Sample - We help schools to connect the data they have, with ...Student Profile Sample - We help schools to connect the data they have, with ...
Student Profile Sample - We help schools to connect the data they have, with ...
 
ECONOMIC CONTEXT - PAPER 1 Q3: NEWSPAPERS.pptx
ECONOMIC CONTEXT - PAPER 1 Q3: NEWSPAPERS.pptxECONOMIC CONTEXT - PAPER 1 Q3: NEWSPAPERS.pptx
ECONOMIC CONTEXT - PAPER 1 Q3: NEWSPAPERS.pptx
 
Karra SKD Conference Presentation Revised.pptx
Karra SKD Conference Presentation Revised.pptxKarra SKD Conference Presentation Revised.pptx
Karra SKD Conference Presentation Revised.pptx
 
Model Call Girl in Tilak Nagar Delhi reach out to us at 🔝9953056974🔝
Model Call Girl in Tilak Nagar Delhi reach out to us at 🔝9953056974🔝Model Call Girl in Tilak Nagar Delhi reach out to us at 🔝9953056974🔝
Model Call Girl in Tilak Nagar Delhi reach out to us at 🔝9953056974🔝
 
Procuring digital preservation CAN be quick and painless with our new dynamic...
Procuring digital preservation CAN be quick and painless with our new dynamic...Procuring digital preservation CAN be quick and painless with our new dynamic...
Procuring digital preservation CAN be quick and painless with our new dynamic...
 
Proudly South Africa powerpoint Thorisha.pptx
Proudly South Africa powerpoint Thorisha.pptxProudly South Africa powerpoint Thorisha.pptx
Proudly South Africa powerpoint Thorisha.pptx
 

Software Life Cycle Models Guide

  • 1. Software Engineering (3rd ed.), By K.K Aggarwal & Yogesh Singh, Copyright © New Age International Publishers, 2007 1
  • 2. Software Life Cycle Models The goal of Software Engineering is to provide models and processes that lead to the production of well-documented maintainable software in a manner that is predictable. Software Engineering (3rd ed.), By K.K Aggarwal & Yogesh Singh, Copyright © New Age International Publishers, 2007 2
  • 3. Software Life Cycle Models “The period of time that starts when a software product is conceived and ends when the product is no longer available for use. The software life cycle typically includes a requirement phase, design phase, implementation phase, test phase, installation and check out phase, operation and maintenance phase, and sometimes retirement phase”. Software Engineering (3rd ed.), By K.K Aggarwal & Yogesh Singh, Copyright © New Age International Publishers, 2007 3
  • 4. Build & Fix Model Product is constructed without specifications or any attempt at design Adhoc approach and not well defined Build Code Simple two phase model Software Engineering (3rd ed.), By K.K Aggarwal & Yogesh Singh, Copyright © New Age International Publishers, 2007 Fix 4
  • 5. Build & Fix Model Suitable for small programming exercises of 100 or 200 lines Unsatisfactory for software for any reasonable size Code soon becomes unfixable & unenhanceable No room for structured design Maintenance is practically not possible Software Engineering (3rd ed.), By K.K Aggarwal & Yogesh Singh, Copyright © New Age International Publishers, 2007 5
  • 6. Waterfall Model Requirement Analysis & Specification Design This model is named “waterfall model” because its diagrammatic representation resembles a cascade of waterfalls. Implementation and unit testing Integr ation and system testing Operation and maintenance Software Engineering (3rd ed.), By K.K Aggarwal & Yogesh Singh, Copyright © New Age International Publishers, 2007 6
  • 7. Waterfall Model This model is easy to understand and reinforces the notion of “define before design” and “design before code”. The model expects complete & accurate requirements early in the process, which is unrealistic Software Engineering (3rd ed.), By K.K Aggarwal & Yogesh Singh, Copyright © New Age International Publishers, 2007 7
  • 8. Waterfall Model Problems of waterfall model i. It is difficult to define all requirements at the beginning of a project ii. This model is not suitable for accommodating any change iii. A working version of the system is not seen until late in the project’s life iv. It does not scale up well to large projects. v. Real projects are rarely sequential. Software Engineering (3rd ed.), By K.K Aggarwal & Yogesh Singh, Copyright © New Age International Publishers, 2007 8
  • 9. Incremental Process Models They are effective in the situations where requirements are defined precisely and there is no confusion about the functionality of the final product. After every cycle a useable product is given to the customer. Popular particularly when we have to quickly deliver a limited functionality system. Software Engineering (3rd ed.), By K.K Aggarwal & Yogesh Singh, Copyright © New Age International Publishers, 2007 9
  • 10. Iterative Enhancement Model This model has the same phases as the waterfall model, but with fewer restrictions. Generally the phases occur in the same order as in the waterfall model, but they may be conducted in several cycles. Useable product is released at the end of the each cycle, with each release providing additional functionality. Customers and developers specify as many requirements as possible and prepare a SRS document. Developers and customers then prioritize these requirements Developers implement the specified requirements in one or more cycles of design, implementation and test based on the defined priorities. Software Engineering (3rd ed.), By K.K Aggarwal & Yogesh Singh, Copyright © New Age International Publishers, 2007 10
  • 11. Iterative Enhancement Model Requirements specification Architectural design Detailed design Implementation and unit testing Integration and testing Operation and Maintenance Software Engineering (3rd ed.), By K.K Aggarwal & Yogesh Singh, Copyright © New Age International Publishers, 2007 11
  • 12. The Rapid Application Development (RAD) Model o o Developed by IBM in 1980 User participation is essential The requirements specification was defined like this The developers understood it in that way This is how the problem was solved before. This is how the problem is solved now This is how the program is This, in fact, is what the described by marketing customer wanted … That is the program after debugging Engineering (3 ed.), By K.K Aggarwaldepartment © New Age International Publishers, 2007 Software & Yogesh Singh, Copyright rd 12
  • 13. The Rapid Application Development (RAD) Model o Build a rapid prototype o Give it to user for evaluation & obtain feedback o Prototype is refined With active participation of users Requirements Planning User Description Construction Software Engineering (3rd ed.), By K.K Aggarwal & Yogesh Singh, Copyright © New Age International Publishers, 2007 Cut over 13
  • 14. The Rapid Application Development (RAD) Model Not an appropriate model in the absence of user participation. Reusable components are required to reduce development time. Highly specialized & skilled developers are required and such developers are not easily available. Software Engineering (3rd ed.), By K.K Aggarwal & Yogesh Singh, Copyright © New Age International Publishers, 2007 14
  • 15. Evolutionary Process Models Evolutionary process model resembles iterative enhancement model. The same phases as defined for the waterfall model occur here in a cyclical fashion. This model differs from iterative enhancement model in the sense that this does not require a useable product at the end of each cycle. In evolutionary development, requirements are implemented by category rather than by priority. This model is useful for projects using new technology that is not well understood. This is also used for complex projects where all functionality must be delivered at one time, but the requirements are unstable or not well understood at the beginning. Software Engineering (3rd ed.), By K.K Aggarwal & Yogesh Singh, Copyright © New Age International Publishers, 2007 15
  • 16. Evolutionary Process Model Concurr ent activities Specification Outline description Initial version Development Intermediate versions Validation Final version Software Engineering (3rd ed.), By K.K Aggarwal & Yogesh Singh, Copyright © New Age International Publishers, 2007 16
  • 17. Prototyping Model The prototype may be a usable program but is not suitable as the final software product. The code for the prototype is thrown away. However experience gathered helps in developing the actual system. The development of a prototype might involve extra cost, but overall cost might turnout to be lower than that of an equivalent system developed using the waterfall model. Software Engineering (3rd ed.), By K.K Aggarwal & Yogesh Singh, Copyright © New Age International Publishers, 2007 17
  • 18. Prototyping Model • Linear model • “Rapid” Software Engineering (3rd ed.), By K.K Aggarwal & Yogesh Singh, Copyright © New Age International Publishers, 2007 18
  • 19. Spiral Model Models do not deal with uncertainly which is inherent to software projects. Important software projects have failed because project risks were neglected & nobody was prepared when something unforeseen happened. Barry Boehm recognized this and tired to incorporate the “project risk” factor into a life cycle model. The result is the spiral model, which was presented in 1986. Software Engineering (3rd ed.), By K.K Aggarwal & Yogesh Singh, Copyright © New Age International Publishers, 2007 19
  • 20. Spiral Model Software Engineering (3rd ed.), By K.K Aggarwal & Yogesh Singh, Copyright © New Age International Publishers, 2007 20
  • 21. Spiral Model The radial dimension of the model represents the cumulative costs. Each path around the spiral is indicative of increased costs. The angular dimension represents the progress made in completing each cycle. Each loop of the spiral from X-axis clockwise through 360o represents one phase. One phase is split roughly into four sectors of major activities. Planning: Determination constraints. of objectives, alternatives & Risk Analysis: Analyze alternatives and attempts to identify and resolve the risks involved. Development: Product development and testing product. Assessment: Customer evaluation Software Engineering (3rd ed.), By K.K Aggarwal & Yogesh Singh, Copyright © New Age International Publishers, 2007 21
  • 22. Spiral Model An important feature of the spiral model is that each phase is completed with a review by the people concerned with the project (designers and programmers) The advantage of this model is the wide range of options to accommodate the good features of other life cycle models. It becomes equivalent to another life cycle model in appropriate situations. The spiral model has some difficulties that need to be resolved before it can be a universally applied life cycle model. These difficulties include lack of explicit process guidance in determining objectives, constraints, alternatives; relying on risk assessment expertise; and provides more flexibility than required for many applications. Software Engineering (3rd ed.), By K.K Aggarwal & Yogesh Singh, Copyright © New Age International Publishers, 2007 22
  • 23. The Unified Process • Developed by I.Jacobson, G.Booch and J.Rumbaugh. • Software engineering process with the goal of producing good quality maintainable software within specified time and budget. • Developed through a series of fixed length mini projects called iterations. • Maintained and enhanced by Rational Software Corporation and thus referred to as Rational Unified Process (RUP). Software Engineering (3rd ed.), By K.K Aggarwal & Yogesh Singh, Copyright © New Age International Publishers, 2007 23
  • 24. Phases of the Unified Process Inception Elaboration Construction Transition Time Definition of objectives of the project Planning & architecture for the project Initial operational capability Software Engineering (3rd ed.), By K.K Aggarwal & Yogesh Singh, Copyright © New Age International Publishers, 2007 Release of the Software product 24
  • 25. Phases of the Unified Process • Inception: defines scope of the project. • Elaboration - How do we plan & design the project? - What resources are required? - What type of architecture may be suitable? • Construction: the objectives are translated in design & architecture documents. • Transition : involves many activities like delivering, training, supporting, and maintaining the product. Software Engineering (3rd ed.), By K.K Aggarwal & Yogesh Singh, Copyright © New Age International Publishers, 2007 25
  • 26. Initial development & Evolution Cycles V1 Inception Elaboration Construction Transition Initial development Cycle Inception Elaboration Construction Transition V2 Evolution Cycle Inception Elaboration Construction Transition V3 Continue till the product is retired V1=version1, V2 =version2, V3=version3 Software Engineering (3rd ed.), By K.K Aggarwal & Yogesh Singh, Copyright © New Age International Publishers, 2007 26
  • 27. Iterations & Workflow of Unified Process Software Engineering (3rd ed.), By K.K Aggarwal & Yogesh Singh, Copyright © New Age International Publishers, 2007 27
  • 28. Inception Phase The inception phase has the following objectives: Gathering and analyzing the requirements. Planning and preparing a business case and evaluating alternatives for risk management, scheduling resources etc. Estimating the overall cost and schedule for the project. Studying the feasibility and calculating profitability of the project. Software Engineering (3rd ed.), By K.K Aggarwal & Yogesh Singh, Copyright © New Age International Publishers, 2007 28
  • 29. Outcomes of Inception Phase Project plan Prototypes Business model Vision document Inception Initial risk assessment Initial business case Initial Initial use case model project Glossary Software Engineering (3rd ed.), By K.K Aggarwal & Yogesh Singh, Copyright © New Age International Publishers, 2007 29
  • 30. Elaboration Phase The elaboration phase has the following objectives: Establishing architectural foundations. Design of use case model. Elaborating the process, infrastructure & development environment. Selecting component. Demonstrating that architecture support the vision at reasonable cost & within specified time. Software Engineering (3rd ed.), By K.K Aggarwal & Yogesh Singh, Copyright © New Age International Publishers, 2007 30
  • 31. Outcomes of Elaboration Phase Development plan Preliminary User manual Use case model Elaboration Supplementary Requirements with non functional requirement Revised risk document An executable architectural prototype Architecture Description document Software Engineering (3rd ed.), By K.K Aggarwal & Yogesh Singh, Copyright © New Age International Publishers, 2007 31
  • 32. Construction Phase The construction phase has the following objectives: Implementing the project. Minimizing development cost. Management and optimizing resources. Testing the product Assessing the product releases against acceptance criteria Software Engineering (3rd ed.), By K.K Aggarwal & Yogesh Singh, Copyright © New Age International Publishers, 2007 32
  • 33. Outcomes of Construction Phase Test Outline Documentation manuals Software product Operational manuals Construction User manuals Test Suite A description of the current release Software Engineering (3rd ed.), By K.K Aggarwal & Yogesh Singh, Copyright © New Age International Publishers, 2007 33
  • 34. Transition Phase The transition phase has the following objectives: Starting of beta testing Analysis of user’s views. Training of users. Tuning activities including bug fixing and enhancements for performance & usability Assessing the customer satisfaction. Software Engineering (3rd ed.), By K.K Aggarwal & Yogesh Singh, Copyright © New Age International Publishers, 2007 34
  • 35. Outcomes of Transition Phase Transition Product release Beta test reports User feedback Software Engineering (3rd ed.), By K.K Aggarwal & Yogesh Singh, Copyright © New Age International Publishers, 2007 35
  • 36. Selection of a Life Cycle Model Selection of a model is based on: a) Requirements b) Development team c) Users d) Project type and associated risk Software Engineering (3rd ed.), By K.K Aggarwal & Yogesh Singh, Copyright © New Age International Publishers, 2007 36
  • 37. Based On Characteristics Of Requirements Requirements Waterfall Prototype Are requirements easily understandable and defined? Yes No No Do we change requirements quite often? No Yes Can we define requirements early in the cycle? Yes No Requirements are indicating a complex system to be built No Yes Iterative enhancement Evolutionary development Spiral RAD No No Yes No No Yes No Yes Yes No Yes Yes Yes Yes No Software Engineering (3rd ed.), By K.K Aggarwal & Yogesh Singh, Copyright © New Age International Publishers, 2007 37
  • 38. Based On Status Of Development Team Development team Waterfall Prototype Iterative enhancement Evolutionary development Spiral RAD Less experience on similar projects? No Yes No No Yes No Less domain knowledge (new to the technology) Yes No Yes Yes Yes No Less experience on tools to be used Yes No No No Yes No Availability of training if required No No Yes Yes No Yes Software Engineering (3rd ed.), By K.K Aggarwal & Yogesh Singh, Copyright © New Age International Publishers, 2007 38
  • 39. User’ Based On User’s Participation Involvement of Users Waterfall Prototype Iterative enhancement Evolutionary development Spiral RAD User involvement in all phases No Yes No No No Yes Limited user participation Yes No Yes Yes Yes No No Yes Yes Yes Yes No No Yes Yes Yes No Yes User have no previous experience of participation in similar projects Users are experts of problem domain Software Engineering (3rd ed.), By K.K Aggarwal & Yogesh Singh, Copyright © New Age International Publishers, 2007 39
  • 40. Based On Type Of Project With Associated Risk Project type and risk Waterfall Prototype Iterative enhancement Evolutionary development Spiral RAD Project is the enhancement of the existing system No No Yes Yes No Yes Funding is stable for the project Yes Yes No No No Yes High reliability requirements No No Yes Yes Yes No No Yes Yes Yes Yes Yes No Yes No No Yes Yes No Yes No No Yes No Tight project schedule Use of reusable components Are resources (time, money, people etc.) scare? Software Engineering (3rd ed.), By K.K Aggarwal & Yogesh Singh, Copyright © New Age International Publishers, 2007 40
  • 41. Multiple Choice Questions Note: Select most appropriate answer of the following questions: 2.1 Spiral Model was developed by (a) Bev Littlewood (b) Berry Boehm (c) Roger Pressman (d) Victor Basili 2.2 Which model is most popular for student’s small projects? (a) Waterfall model (b) Spiral model (c) Quick and fix model (d) Prototyping model 2.3 Which is not a software life cycle model? (a) Waterfall model (b) Spiral model (c) Prototyping model (d) Capability maturity model 2.4 Project risk factor is considered in (a) Waterfall model (b) Prototyping model (c) Spiral model (d) Iterative enhancement model 2.5 SDLC stands for (a) Software design life cycle (b) Software development life cycle (c) System development life cycle (d) System design life cycle Software Engineering (3rd ed.), By K.K Aggarwal & Yogesh Singh, Copyright © New Age International Publishers, 2007 41
  • 42. Multiple Choice Questions Note: Select most appropriate answer of the following questions: 2.6 Build and fix model has (a) 3 phases (c) 2 phases 2.7 SRS stands for (a) Software requirements specification (c) System requirements specification 2.8 Waterfall model is not suitable for (a) small projects (c) complex projects 2.9 RAD stands for (a) Rapid application development (c) Ready application development 2.10 RAD model was proposed by (a) Lucent Technologies (c) IBM (b) 1 phase (d) 4 phases (b) Software requirements solution (d) none of the above (b) accommodating change (d) none of the above (b) Relative application development (d) Repeated application development (b) Motorola (d) Microsoft Software Engineering (3rd ed.), By K.K Aggarwal & Yogesh Singh, Copyright © New Age International Publishers, 2007 42
  • 43. Multiple Choice Questions Note: Select most appropriate answer of the following questions: 2.11 If requirements are easily understandable and defined,which model is best suited? (a) Waterfall model (b) Prototyping model (c) Spiral model (d) None of the above 2.12 If requirements are frequently changing, which model is to be selected? (a) Waterfall model (b) Prototyping model (c) RAD model (d) Iterative enhancement model 2.13 If user participation is available, which model is to be chosen? (a) Waterfall model (b) Iterative enhancement model (c) Spiral model (d) RAD model 2.14 If limited user participation is available, which model is to be selected? (a) Waterfall model (b) Spiral model (c) Iterative enhancement model (d) any of the above 2.15 If project is the enhancement of existing system, which model is best suited? (a) Waterfall model (b) Prototyping model (c) Iterative enhancement model (d) Spiral model Software Engineering (3rd ed.), By K.K Aggarwal & Yogesh Singh, Copyright © New Age International Publishers, 2007 43
  • 44. Multiple Choice Questions Note: Select most appropriate answer of the following questions: 2.16 Which one is the most important feature of spiral model? (a) Quality management (b) Risk management (c) Performance management (d) Efficiency management 2.17 Most suitable model for new technology that is not well understood is: (a) Waterfall model (b) RAD model (c) Iterative enhancement model (d) Evolutionary development model 2.18 Statistically, the maximum percentage of errors belong to the following phase of SDLC (a) Coding (b) Design (c) Specifications (d) Installation and maintenance 2.19 Which phase is not available in software life cycle? (a) Coding (b) Testing (c) Maintenance (d) Abstraction 2.20 The development is supposed to proceed linearly through the phase in (a) Spiral model (b) Waterfall model (c) Prototyping model (d) None of the above Software Engineering (3rd ed.), By K.K Aggarwal & Yogesh Singh, Copyright © New Age International Publishers, 2007 44
  • 45. Multiple Choice Questions Note: Select most appropriate answer of the following questions: 2.21 Unified process is maintained by (a) Infosys (b) Rational software corporation (c) SUN Microsystems (d) None of the above 2.22 Unified process is (a) Iterative (b) Incremental (c) Evolutionary (d) All of the above 2.23 Who is not in the team of Unified process development? (a) I.Jacobson (b) G.Booch (c) B.Boehm (d) J.Rumbaugh 2.24 How many phases are in the unified process? (a) 4 (b) 5 (c) 2 (d) None of the above 2.25 The outcome of construction phased can be treated as: (a) Product release (b) Beta release (c) Alpha release (d) All of the above Software Engineering (3rd ed.), By K.K Aggarwal & Yogesh Singh, Copyright © New Age International Publishers, 2007 45
  • 46. Exercises 2.1 What do you understand by the term Software Development Life Cycle (SDLC)? Why is it important to adhere to a life cycle model while developing a large software product? 2.2 What is software life cycle? Discuss the generic waterfall model. 2.3 List the advantages of using waterfall model instead of adhoc build and fix model. 2.4 Discuss the prototyping model. What is the effect of designing a prototype on the overall cost of the project? 2.5 What are the advantages of developing the prototype of a system? 2.6 Describe the type of situations where iterative enhancement model might lead to difficulties. 2.7 Compare iterative enhancement model and evolutionary process model. Software Engineering (3rd ed.), By K.K Aggarwal & Yogesh Singh, Copyright © New Age International Publishers, 2007 46
  • 47. Exercises 2.8 Sketch a neat diagram of spiral model of software life cycle. 2.9 Compare the waterfall model and the spiral model of software development. 2.10 As we move outward along with process flow path of the spiral model, what can we say about software that is being developed or maintained. 2.11 How does “project risk” factor effect the spiral model of software development. 2.12 List the advantages and disadvantages of involving a software engineer throughout the software development planning process. 2.13 Explain the spiral model of software development. What are the limitations of such a model? 2.14 Describe the rapid application development (RAD) model.Discuss each phase in detail. 2.15 What are the characteristics to be considered for the selection of the life cycle model? Software Engineering (3rd ed.), By K.K Aggarwal & Yogesh Singh, Copyright © New Age International Publishers, 2007 47
  • 48. Exercises 2.16 What is the role of user participation in the selection of a life cycle model?. 2.17 Why do we feel that characteristics of requirements play a very significant role in the selection of a life cycle model? 2.18 Write short note on “status of development team” for the selection of a life cycle model?. 2.19 Discuss the selection process parameters for a life cycle model. 2.20 What is unified process? Explain various phases along with the outcome of each phase. 2.21 Describe the unified process work products after each phase of unified process. 2.22 What are the advantages of iterative approach over sequential approach? Why is unified process called as iterative or incremental? Software Engineering (3rd ed.), By K.K Aggarwal & Yogesh Singh, Copyright © New Age International Publishers, 2007 48