SlideShare a Scribd company logo
Software Engineering (3rd ed.), By K.K Aggarwal & Yogesh Singh, Copyright © New Age International Publishers, 2007 1
Software Engineering (3rd ed.), By K.K Aggarwal & Yogesh Singh, Copyright © New Age International Publishers, 2007 2
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 Life Cycle Models
Software Engineering (3rd ed.), By K.K Aggarwal & Yogesh Singh, Copyright © New Age International Publishers, 2007 3
“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 Life Cycle Models
Software Engineering (3rd ed.), By K.K Aggarwal & Yogesh Singh, Copyright © New Age International Publishers, 2007 4
2.1 Build & Fix Model
 Product is constructed without
specifications or any attempt at
design
 Adhoc approach and not well
defined
 Simple two phase model Fix
Build
Code
Software Engineering (3rd ed.), By K.K Aggarwal & Yogesh Singh, Copyright © New Age International Publishers, 2007 5
 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
Build & Fix Model
Software Engineering (3rd ed.), By K.K Aggarwal & Yogesh Singh, Copyright © New Age International Publishers, 2007 6
Requirement
Design
Implementation
and unit testing
Integrationand
system testing
Operation and
maintenance
Analysis & Specification
2.2 Waterfall Model
This model is named “waterfall
model” because its diagrammatic
representation resembles a cascade of
waterfalls.
Software Engineering (3rd ed.), By K.K Aggarwal & Yogesh Singh, Copyright © New Age International Publishers, 2007 7
Adv: This model is easy to understand and
reinforces the notion of “define before design”
and “design before code”.
Disad: The model expects complete & accurate
requirements early in the process, which is
unrealistic
Waterfall Model
Software Engineering (3rd ed.), By K.K Aggarwal & Yogesh Singh, Copyright © New Age International Publishers, 2007 8
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.
Waterfall Model
Software Engineering (3rd ed.), By K.K Aggarwal & Yogesh Singh, Copyright © New Age International Publishers, 2007 9
2.3 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 10
2.3.1 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 11
Requirements
specification
Architectural
design
Detailed
design
Implementation
and unit testing
Integration
and testing
Operation and
Maintenance
Iterative Enhancement Model
Software Engineering (3rd ed.), By K.K Aggarwal & Yogesh Singh, Copyright © New Age International Publishers, 2007 12
2.3.2 The Rapid Application Development (RAD)
Model
o Developed by IBM in 1980
o 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
That is the program after
debugging
This is how the program is
described by marketing
department
This, in fact, is what the
customer wanted …
Software Engineering (3rd ed.), By K.K Aggarwal & Yogesh Singh, Copyright © New Age International Publishers, 2007 13
o Build a rapid prototype
o Give it to user for evaluation & obtain feedback
o Prototype is refined
Requirements
Planning
User
Description
Construction Cut over
With active participation of users
The Rapid Application Development (RAD) Model
Software Engineering (3rd ed.), By K.K Aggarwal & Yogesh Singh, Copyright © New Age International Publishers, 2007 14
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.
The Rapid Application Development (RAD) Model
Software Engineering (3rd ed.), By K.K Aggarwal & Yogesh Singh, Copyright © New Age International Publishers, 2007 15
2.4 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 16
Validation
Final
version
Development
Intermediate
versions
Specification
Initial
version
Outline
description
Concurrent
activities
Evolutionary Process Model
Software Engineering (3rd ed.), By K.K Aggarwal & Yogesh Singh, Copyright © New Age International Publishers, 2007 17
2.4.1 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 18
• Linear model
• “Rapid”
Prototyping Model
Software Engineering (3rd ed.), By K.K Aggarwal & Yogesh Singh, Copyright © New Age International Publishers, 2007 19
2.4.2 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 tried 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 20
Spiral Model
Software Engineering (3rd ed.), By K.K Aggarwal & Yogesh Singh, Copyright © New Age International Publishers, 2007 21
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 of objectives, alternatives &
constraints.
 Risk Analysis: Analyze alternatives and attempts to identify
and resolve the risks involved.
 Development: Product development and testing product.
 Assessment: Customer evaluation
Spiral Model
Software Engineering (3rd ed.), By K.K Aggarwal & Yogesh Singh, Copyright © New Age International Publishers, 2007 22
 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.
Spiral Model
Software Engineering (3rd ed.), By K.K Aggarwal & Yogesh Singh, Copyright © New Age International Publishers, 2007 23
2.5 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 24
Phases of the Unified Process
Definition of
objectives
of the project
Planning &
architecture
for the project
Initial
operational
capability
Inception Elaboration Construction Transition
Release of
the Software
product
Time
Software Engineering (3rd ed.), By K.K Aggarwal & Yogesh Singh, Copyright © New Age International Publishers, 2007 25
• Inception: defines main objective, specific objectives, scope of
the project.
• Elaboration
- How do we plan & design the project?
- What resources are required? Hardware, software, human
(skills), finances
- What type of architecture may be suitable? data, file, process,
• Construction: the objectives are translated in design &
architecture documents (enterprise architecture documents:
business, application, data, infrastructure, security).
• Transition : involves many activities like delivering, training,
supporting, and maintaining the product.
Phases of the Unified Process
Software Engineering (3rd ed.), By K.K Aggarwal & Yogesh Singh, Copyright © New Age International Publishers, 2007 26
Initial development & Evolution Cycles
Initial development Cycle
Evolution Cycle
Continue till the product is retired
Inception Elaboration Construction Transition
V1
Inception Elaboration Construction Transition
V2
Inception Elaboration Construction Transition
V3
V1=version1, V2 =version2, V3=version3
Software Engineering (3rd ed.), By K.K Aggarwal & Yogesh Singh, Copyright © New Age International Publishers, 2007 27
Iterations & Workflow of Unified Process
Software Engineering (3rd ed.), By K.K Aggarwal & Yogesh Singh, Copyright © New Age International Publishers, 2007 28
Inception Phase
 Gathering and analyzing the requirements.
 Planning and preparing a business case and
 Evaluating alternatives for
 risk management,
 scheduling resources etc.
 Estimating the overall cost (total amount) and schedule
(total time) for the project.
 Studying the feasibility (technical, operational, economical,)
and calculating profitability (benefits) of the project.
The inception phase has the following objectives:
Software Engineering (3rd ed.), By K.K Aggarwal & Yogesh Singh, Copyright © New Age International Publishers, 2007 29
Outcomes of Inception Phase
Inception
Project plan
Initial risk
assessment
Initial business
case
Vision
document Initial use
case model
Initial
project
Glossary
Business
model
Prototypes
Software Engineering (3rd ed.), By K.K Aggarwal & Yogesh Singh, Copyright © New Age International Publishers, 2007 30
Elaboration Phase
 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.
The elaboration phase has the following objectives:
Software Engineering (3rd ed.), By K.K Aggarwal & Yogesh Singh, Copyright © New Age International Publishers, 2007 31
Outcomes of Elaboration Phase
Elaboration
Revised risk
document
An executable
architectural
prototype
Use case
model Supplementary
Requirements
with non functional
requirement
Architecture
Description
document
Preliminary
User manual
Development plan
Software Engineering (3rd ed.), By K.K Aggarwal & Yogesh Singh, Copyright © New Age International Publishers, 2007 32
Construction Phase
 Implementing the project.
 Minimizing development cost.
 Management and optimizing resources.
 Testing the product
 Assessing the product releases against acceptance criteria
The construction phase has the following objectives:
Software Engineering (3rd ed.), By K.K Aggarwal & Yogesh Singh, Copyright © New Age International Publishers, 2007
Outcomes of Construction Phase
Construction
Operational
manuals
Test Suite (validation suite:
test cases intended to
test set of behaviours)
A description
of the
current release
Software
product User manuals
Documentation
manuals
Test
Outline
Software Engineering (3rd ed.), By K.K Aggarwal & Yogesh Singh, Copyright © New Age International Publishers, 2007 34
Transition Phase
 Starting of beta testing (type of user acceptance testing where the
product team gives a nearly finished prod to a group of target users to evaluate
prod performance in the real world)
 Analysis of user’s views.
 Training of users.
 Tuning activities including bug fixing and enhancements for
performance & usability
 Assessing the customer satisfaction.
The transition phase has the following objectives:
Software Engineering (3rd ed.), By K.K Aggarwal & Yogesh Singh, Copyright © New Age International Publishers, 2007 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 36
2.6 Selection of a Life Cycle Model
Selection of a model is based on (characteristsics):
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 37
Based On Characteristics Of Requirements
Requirements Waterfall Prototype Iterative
enhancement
Evolutionary
development
Spiral RAD
Are requirements
easily understandable
and defined?
Do we change
requirements quite
often?
Can we define
requirements early
in the cycle?
Requirements are
indicating a complex
system to be built
Yes Yes
Yes Yes
Yes Yes Yes Yes
Yes Yes Yes Yes
No
No
No
No
No
No No
No
No
No
No
No
Software Engineering (3rd ed.), By K.K Aggarwal & Yogesh Singh, Copyright © New Age International Publishers, 2007 38
Development
team
Waterfall Prototype Iterative
enhancement
Evolutionary
development
Spiral RAD
Based On Status Of Development Team
Less experience on
similar projects?
Less domain
knowledge (new to
the technology)
Less experience on
tools to be used
Availability of
training if required
Yes
Yes
Yes
Yes
Yes
Yes Yes
Yes
Yes
Yes
Yes
No
No
No
No
No
No No No
No
No
No
No
No
Software Engineering (3rd ed.), By K.K Aggarwal & Yogesh Singh, Copyright © New Age International Publishers, 2007 39
Based On User’s Participation
RAD
Spiral
Evolutionary
development
Iterative
enhancement
Prototype
Waterfall
Involvement
of Users
User involvement
in all phases
Limited user
participation
User have no
previous experience
of participation in
similar projects
Users are experts
of problem domain
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Yes
No
No
No
No
No No No
No
No
No
Software Engineering (3rd ed.), By K.K Aggarwal & Yogesh Singh, Copyright © New Age International Publishers, 2007 40
RAD
Spiral
Evolutionary
development
Iterative
enhancement
Prototype
Waterfall
Project type
and risk
Based On Type Of Project With Associated Risk
Project is the
enhancement of the
existing system
Funding is stable
for the project
High reliability
requirements
Tight project
schedule
Use of reusable
components
Are resources (time,
money, people etc.)
scarce?
Yes Yes
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Yes No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
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.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 42
Multiple Choice Questions
Note: Select most appropriate answer of the following questions:
2.6 Build and fix model has
(a) 3 phases (b) 1 phase
(c) 2 phases (d) 4 phases
2.7 SRS stands for
(a) Software requirements specification (b) Software requirements solution
(c) System requirements specification (d) none of the above
2.8 Waterfall model is not suitable for
(a) small projects (b) accommodating change
(c) complex projects (d) none of the above
2.9 RAD stands for
(a) Rapid application development (b) Relative application development
(c) Ready application development (d) Repeated application development
2.10 RAD model was proposed by
(a) Lucent Technologies (b) Motorola
(c) IBM (d) Microsoft
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.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 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 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 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 47
Exercises
2.8 Discuss and Sketch a neat diagram of spiral model of software life cycle.
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?
2.9 Compare the waterfall model and the spiral model of software
development.
Software Engineering (3rd ed.), By K.K Aggarwal & Yogesh Singh, Copyright © New Age International Publishers, 2007 48
Exercises
2.16 What is the role of user participation 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?
2.17 Why do we feel that characteristics of requirements play a very
significant role in the selection of a life cycle model?

More Related Content

Similar to UNIT 1 B BSE1010 Software Process Models.pdf

Plagiarism Report SDLC 1.pdf
Plagiarism Report SDLC 1.pdfPlagiarism Report SDLC 1.pdf
Plagiarism Report SDLC 1.pdf
OmethSanchitha
 
Empirical Study of Software Development Life Cycle and its Various Models
Empirical Study of Software Development Life Cycle and its Various ModelsEmpirical Study of Software Development Life Cycle and its Various Models
Empirical Study of Software Development Life Cycle and its Various Models
CSCJournals
 
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
IJMER
 
Software development models hazahara
Software development models hazaharaSoftware development models hazahara
Software development models hazahara
Hazahara shadah
 
Softwaredevelopmentmodels windirohmaheny11453205427kelase
Softwaredevelopmentmodels windirohmaheny11453205427kelaseSoftwaredevelopmentmodels windirohmaheny11453205427kelase
Softwaredevelopmentmodels windirohmaheny11453205427kelase
windi rohmaheny
 
Materi Testing dan Implementasi System
Materi Testing dan Implementasi SystemMateri Testing dan Implementasi System
Materi Testing dan Implementasi System
devinta sari
 
Software development models endang
Software development models endangSoftware development models endang
Software development models endang
endang setianingsih
 
pmse-sitttr-session-3.pptx
pmse-sitttr-session-3.pptxpmse-sitttr-session-3.pptx
pmse-sitttr-session-3.pptx
MuhammedSahil26
 
Software engineering note
Software engineering noteSoftware engineering note
Software engineering note
Neelamani Samal
 
software engineering notes for cse/it fifth semester
software engineering notes for cse/it fifth semestersoftware engineering notes for cse/it fifth semester
software engineering notes for cse/it fifth semester
rajesh199155
 
SDLC- concept and models
SDLC- concept and modelsSDLC- concept and models
SDLC- concept and models
Anjali Arora
 
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_USR
Rendi Saputra
 
Chapter 6 software metrics
Chapter 6 software metricsChapter 6 software metrics
Chapter 6 software metrics
despicable me
 
Software development models
Software development modelsSoftware development models
Software development models
Azlan Nawawi
 
Sdlc spiral model in software engineering basics by ram k paliwal
Sdlc spiral model in software engineering basics by ram k paliwalSdlc spiral model in software engineering basics by ram k paliwal
Sdlc spiral model in software engineering basics by ram k paliwal
Ram Paliwal
 
Software Engineering- Crisis and Process Models
Software Engineering- Crisis and Process ModelsSoftware Engineering- Crisis and Process Models
Software Engineering- Crisis and Process Models
Nishu Rastogi
 
FADHILLA ELITA Ppt testing 3
FADHILLA ELITA Ppt testing 3FADHILLA ELITA Ppt testing 3
FADHILLA ELITA Ppt testing 3
fadhilla elita
 
Software Testing with a TDD Application
Software Testing with a TDD ApplicationSoftware Testing with a TDD Application
Software Testing with a TDD Application
Yelda Gurbuz Erdogan
 
Khurram Spiral
Khurram SpiralKhurram Spiral
Khurram Spiral
Federal Urdu University
 

Similar to UNIT 1 B BSE1010 Software Process Models.pdf (20)

Plagiarism Report SDLC 1.pdf
Plagiarism Report SDLC 1.pdfPlagiarism Report SDLC 1.pdf
Plagiarism Report SDLC 1.pdf
 
Empirical Study of Software Development Life Cycle and its Various Models
Empirical Study of Software Development Life Cycle and its Various ModelsEmpirical Study of Software Development Life Cycle and its Various Models
Empirical Study of Software Development Life Cycle and its Various Models
 
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
 
Software development models hazahara
Software development models hazaharaSoftware development models hazahara
Software development models hazahara
 
Softwaredevelopmentmodels windirohmaheny11453205427kelase
Softwaredevelopmentmodels windirohmaheny11453205427kelaseSoftwaredevelopmentmodels windirohmaheny11453205427kelase
Softwaredevelopmentmodels windirohmaheny11453205427kelase
 
Materi Testing dan Implementasi System
Materi Testing dan Implementasi SystemMateri Testing dan Implementasi System
Materi Testing dan Implementasi System
 
Software development models endang
Software development models endangSoftware development models endang
Software development models endang
 
pmse-sitttr-session-3.pptx
pmse-sitttr-session-3.pptxpmse-sitttr-session-3.pptx
pmse-sitttr-session-3.pptx
 
Software engineering note
Software engineering noteSoftware engineering note
Software engineering note
 
software engineering notes for cse/it fifth semester
software engineering notes for cse/it fifth semestersoftware engineering notes for cse/it fifth semester
software engineering notes for cse/it fifth semester
 
SDLC- concept and models
SDLC- concept and modelsSDLC- concept and models
SDLC- concept and models
 
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
 
Chapter 6 software metrics
Chapter 6 software metricsChapter 6 software metrics
Chapter 6 software metrics
 
Software development models
Software development modelsSoftware development models
Software development models
 
Sdlc spiral model in software engineering basics by ram k paliwal
Sdlc spiral model in software engineering basics by ram k paliwalSdlc spiral model in software engineering basics by ram k paliwal
Sdlc spiral model in software engineering basics by ram k paliwal
 
Software Engineering- Crisis and Process Models
Software Engineering- Crisis and Process ModelsSoftware Engineering- Crisis and Process Models
Software Engineering- Crisis and Process Models
 
FADHILLA ELITA Ppt testing 3
FADHILLA ELITA Ppt testing 3FADHILLA ELITA Ppt testing 3
FADHILLA ELITA Ppt testing 3
 
Software Testing with a TDD Application
Software Testing with a TDD ApplicationSoftware Testing with a TDD Application
Software Testing with a TDD Application
 
Khurram Spiral
Khurram SpiralKhurram Spiral
Khurram Spiral
 

Recently uploaded

Preparing Non - Technical Founders for Engaging a Tech Agency
Preparing Non - Technical Founders for Engaging  a  Tech AgencyPreparing Non - Technical Founders for Engaging  a  Tech Agency
Preparing Non - Technical Founders for Engaging a Tech Agency
ISH Technologies
 
Webinar On-Demand: Using Flutter for Embedded
Webinar On-Demand: Using Flutter for EmbeddedWebinar On-Demand: Using Flutter for Embedded
Webinar On-Demand: Using Flutter for Embedded
ICS
 
Top Benefits of Using Salesforce Healthcare CRM for Patient Management.pdf
Top Benefits of Using Salesforce Healthcare CRM for Patient Management.pdfTop Benefits of Using Salesforce Healthcare CRM for Patient Management.pdf
Top Benefits of Using Salesforce Healthcare CRM for Patient Management.pdf
VALiNTRY360
 
How to write a program in any programming language
How to write a program in any programming languageHow to write a program in any programming language
How to write a program in any programming language
Rakesh Kumar R
 
Using Query Store in Azure PostgreSQL to Understand Query Performance
Using Query Store in Azure PostgreSQL to Understand Query PerformanceUsing Query Store in Azure PostgreSQL to Understand Query Performance
Using Query Store in Azure PostgreSQL to Understand Query Performance
Grant Fritchey
 
Malibou Pitch Deck For Its €3M Seed Round
Malibou Pitch Deck For Its €3M Seed RoundMalibou Pitch Deck For Its €3M Seed Round
Malibou Pitch Deck For Its €3M Seed Round
sjcobrien
 
Lecture 2 - software testing SE 412.pptx
Lecture 2 - software testing SE 412.pptxLecture 2 - software testing SE 412.pptx
Lecture 2 - software testing SE 412.pptx
TaghreedAltamimi
 
Unveiling the Advantages of Agile Software Development.pdf
Unveiling the Advantages of Agile Software Development.pdfUnveiling the Advantages of Agile Software Development.pdf
Unveiling the Advantages of Agile Software Development.pdf
brainerhub1
 
如何办理(hull学位证书)英国赫尔大学毕业证硕士文凭原版一模一样
如何办理(hull学位证书)英国赫尔大学毕业证硕士文凭原版一模一样如何办理(hull学位证书)英国赫尔大学毕业证硕士文凭原版一模一样
如何办理(hull学位证书)英国赫尔大学毕业证硕士文凭原版一模一样
gapen1
 
一比一原版(USF毕业证)旧金山大学毕业证如何办理
一比一原版(USF毕业证)旧金山大学毕业证如何办理一比一原版(USF毕业证)旧金山大学毕业证如何办理
一比一原版(USF毕业证)旧金山大学毕业证如何办理
dakas1
 
14 th Edition of International conference on computer vision
14 th Edition of International conference on computer vision14 th Edition of International conference on computer vision
14 th Edition of International conference on computer vision
ShulagnaSarkar2
 
8 Best Automated Android App Testing Tool and Framework in 2024.pdf
8 Best Automated Android App Testing Tool and Framework in 2024.pdf8 Best Automated Android App Testing Tool and Framework in 2024.pdf
8 Best Automated Android App Testing Tool and Framework in 2024.pdf
kalichargn70th171
 
ALGIT - Assembly Line for Green IT - Numbers, Data, Facts
ALGIT - Assembly Line for Green IT - Numbers, Data, FactsALGIT - Assembly Line for Green IT - Numbers, Data, Facts
ALGIT - Assembly Line for Green IT - Numbers, Data, Facts
Green Software Development
 
Microservice Teams - How the cloud changes the way we work
Microservice Teams - How the cloud changes the way we workMicroservice Teams - How the cloud changes the way we work
Microservice Teams - How the cloud changes the way we work
Sven Peters
 
E-Invoicing Implementation: A Step-by-Step Guide for Saudi Arabian Companies
E-Invoicing Implementation: A Step-by-Step Guide for Saudi Arabian CompaniesE-Invoicing Implementation: A Step-by-Step Guide for Saudi Arabian Companies
E-Invoicing Implementation: A Step-by-Step Guide for Saudi Arabian Companies
Quickdice ERP
 
Safelyio Toolbox Talk Softwate & App (How To Digitize Safety Meetings)
Safelyio Toolbox Talk Softwate & App (How To Digitize Safety Meetings)Safelyio Toolbox Talk Softwate & App (How To Digitize Safety Meetings)
Safelyio Toolbox Talk Softwate & App (How To Digitize Safety Meetings)
safelyiotech
 
Mobile App Development Company In Noida | Drona Infotech
Mobile App Development Company In Noida | Drona InfotechMobile App Development Company In Noida | Drona Infotech
Mobile App Development Company In Noida | Drona Infotech
Drona Infotech
 
Energy consumption of Database Management - Florina Jonuzi
Energy consumption of Database Management - Florina JonuziEnergy consumption of Database Management - Florina Jonuzi
Energy consumption of Database Management - Florina Jonuzi
Green Software Development
 
Everything You Need to Know About X-Sign: The eSign Functionality of XfilesPr...
Everything You Need to Know About X-Sign: The eSign Functionality of XfilesPr...Everything You Need to Know About X-Sign: The eSign Functionality of XfilesPr...
Everything You Need to Know About X-Sign: The eSign Functionality of XfilesPr...
XfilesPro
 
J-Spring 2024 - Going serverless with Quarkus, GraalVM native images and AWS ...
J-Spring 2024 - Going serverless with Quarkus, GraalVM native images and AWS ...J-Spring 2024 - Going serverless with Quarkus, GraalVM native images and AWS ...
J-Spring 2024 - Going serverless with Quarkus, GraalVM native images and AWS ...
Bert Jan Schrijver
 

Recently uploaded (20)

Preparing Non - Technical Founders for Engaging a Tech Agency
Preparing Non - Technical Founders for Engaging  a  Tech AgencyPreparing Non - Technical Founders for Engaging  a  Tech Agency
Preparing Non - Technical Founders for Engaging a Tech Agency
 
Webinar On-Demand: Using Flutter for Embedded
Webinar On-Demand: Using Flutter for EmbeddedWebinar On-Demand: Using Flutter for Embedded
Webinar On-Demand: Using Flutter for Embedded
 
Top Benefits of Using Salesforce Healthcare CRM for Patient Management.pdf
Top Benefits of Using Salesforce Healthcare CRM for Patient Management.pdfTop Benefits of Using Salesforce Healthcare CRM for Patient Management.pdf
Top Benefits of Using Salesforce Healthcare CRM for Patient Management.pdf
 
How to write a program in any programming language
How to write a program in any programming languageHow to write a program in any programming language
How to write a program in any programming language
 
Using Query Store in Azure PostgreSQL to Understand Query Performance
Using Query Store in Azure PostgreSQL to Understand Query PerformanceUsing Query Store in Azure PostgreSQL to Understand Query Performance
Using Query Store in Azure PostgreSQL to Understand Query Performance
 
Malibou Pitch Deck For Its €3M Seed Round
Malibou Pitch Deck For Its €3M Seed RoundMalibou Pitch Deck For Its €3M Seed Round
Malibou Pitch Deck For Its €3M Seed Round
 
Lecture 2 - software testing SE 412.pptx
Lecture 2 - software testing SE 412.pptxLecture 2 - software testing SE 412.pptx
Lecture 2 - software testing SE 412.pptx
 
Unveiling the Advantages of Agile Software Development.pdf
Unveiling the Advantages of Agile Software Development.pdfUnveiling the Advantages of Agile Software Development.pdf
Unveiling the Advantages of Agile Software Development.pdf
 
如何办理(hull学位证书)英国赫尔大学毕业证硕士文凭原版一模一样
如何办理(hull学位证书)英国赫尔大学毕业证硕士文凭原版一模一样如何办理(hull学位证书)英国赫尔大学毕业证硕士文凭原版一模一样
如何办理(hull学位证书)英国赫尔大学毕业证硕士文凭原版一模一样
 
一比一原版(USF毕业证)旧金山大学毕业证如何办理
一比一原版(USF毕业证)旧金山大学毕业证如何办理一比一原版(USF毕业证)旧金山大学毕业证如何办理
一比一原版(USF毕业证)旧金山大学毕业证如何办理
 
14 th Edition of International conference on computer vision
14 th Edition of International conference on computer vision14 th Edition of International conference on computer vision
14 th Edition of International conference on computer vision
 
8 Best Automated Android App Testing Tool and Framework in 2024.pdf
8 Best Automated Android App Testing Tool and Framework in 2024.pdf8 Best Automated Android App Testing Tool and Framework in 2024.pdf
8 Best Automated Android App Testing Tool and Framework in 2024.pdf
 
ALGIT - Assembly Line for Green IT - Numbers, Data, Facts
ALGIT - Assembly Line for Green IT - Numbers, Data, FactsALGIT - Assembly Line for Green IT - Numbers, Data, Facts
ALGIT - Assembly Line for Green IT - Numbers, Data, Facts
 
Microservice Teams - How the cloud changes the way we work
Microservice Teams - How the cloud changes the way we workMicroservice Teams - How the cloud changes the way we work
Microservice Teams - How the cloud changes the way we work
 
E-Invoicing Implementation: A Step-by-Step Guide for Saudi Arabian Companies
E-Invoicing Implementation: A Step-by-Step Guide for Saudi Arabian CompaniesE-Invoicing Implementation: A Step-by-Step Guide for Saudi Arabian Companies
E-Invoicing Implementation: A Step-by-Step Guide for Saudi Arabian Companies
 
Safelyio Toolbox Talk Softwate & App (How To Digitize Safety Meetings)
Safelyio Toolbox Talk Softwate & App (How To Digitize Safety Meetings)Safelyio Toolbox Talk Softwate & App (How To Digitize Safety Meetings)
Safelyio Toolbox Talk Softwate & App (How To Digitize Safety Meetings)
 
Mobile App Development Company In Noida | Drona Infotech
Mobile App Development Company In Noida | Drona InfotechMobile App Development Company In Noida | Drona Infotech
Mobile App Development Company In Noida | Drona Infotech
 
Energy consumption of Database Management - Florina Jonuzi
Energy consumption of Database Management - Florina JonuziEnergy consumption of Database Management - Florina Jonuzi
Energy consumption of Database Management - Florina Jonuzi
 
Everything You Need to Know About X-Sign: The eSign Functionality of XfilesPr...
Everything You Need to Know About X-Sign: The eSign Functionality of XfilesPr...Everything You Need to Know About X-Sign: The eSign Functionality of XfilesPr...
Everything You Need to Know About X-Sign: The eSign Functionality of XfilesPr...
 
J-Spring 2024 - Going serverless with Quarkus, GraalVM native images and AWS ...
J-Spring 2024 - Going serverless with Quarkus, GraalVM native images and AWS ...J-Spring 2024 - Going serverless with Quarkus, GraalVM native images and AWS ...
J-Spring 2024 - Going serverless with Quarkus, GraalVM native images and AWS ...
 

UNIT 1 B BSE1010 Software Process Models.pdf

  • 1. Software Engineering (3rd ed.), By K.K Aggarwal & Yogesh Singh, Copyright © New Age International Publishers, 2007 1
  • 2. Software Engineering (3rd ed.), By K.K Aggarwal & Yogesh Singh, Copyright © New Age International Publishers, 2007 2 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 Life Cycle Models
  • 3. Software Engineering (3rd ed.), By K.K Aggarwal & Yogesh Singh, Copyright © New Age International Publishers, 2007 3 “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 Life Cycle Models
  • 4. Software Engineering (3rd ed.), By K.K Aggarwal & Yogesh Singh, Copyright © New Age International Publishers, 2007 4 2.1 Build & Fix Model  Product is constructed without specifications or any attempt at design  Adhoc approach and not well defined  Simple two phase model Fix Build Code
  • 5. Software Engineering (3rd ed.), By K.K Aggarwal & Yogesh Singh, Copyright © New Age International Publishers, 2007 5  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 Build & Fix Model
  • 6. Software Engineering (3rd ed.), By K.K Aggarwal & Yogesh Singh, Copyright © New Age International Publishers, 2007 6 Requirement Design Implementation and unit testing Integrationand system testing Operation and maintenance Analysis & Specification 2.2 Waterfall Model This model is named “waterfall model” because its diagrammatic representation resembles a cascade of waterfalls.
  • 7. Software Engineering (3rd ed.), By K.K Aggarwal & Yogesh Singh, Copyright © New Age International Publishers, 2007 7 Adv: This model is easy to understand and reinforces the notion of “define before design” and “design before code”. Disad: The model expects complete & accurate requirements early in the process, which is unrealistic Waterfall Model
  • 8. Software Engineering (3rd ed.), By K.K Aggarwal & Yogesh Singh, Copyright © New Age International Publishers, 2007 8 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. Waterfall Model
  • 9. Software Engineering (3rd ed.), By K.K Aggarwal & Yogesh Singh, Copyright © New Age International Publishers, 2007 9 2.3 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.
  • 10. Software Engineering (3rd ed.), By K.K Aggarwal & Yogesh Singh, Copyright © New Age International Publishers, 2007 10 2.3.1 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.
  • 11. Software Engineering (3rd ed.), By K.K Aggarwal & Yogesh Singh, Copyright © New Age International Publishers, 2007 11 Requirements specification Architectural design Detailed design Implementation and unit testing Integration and testing Operation and Maintenance Iterative Enhancement Model
  • 12. Software Engineering (3rd ed.), By K.K Aggarwal & Yogesh Singh, Copyright © New Age International Publishers, 2007 12 2.3.2 The Rapid Application Development (RAD) Model o Developed by IBM in 1980 o 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 That is the program after debugging This is how the program is described by marketing department This, in fact, is what the customer wanted …
  • 13. Software Engineering (3rd ed.), By K.K Aggarwal & Yogesh Singh, Copyright © New Age International Publishers, 2007 13 o Build a rapid prototype o Give it to user for evaluation & obtain feedback o Prototype is refined Requirements Planning User Description Construction Cut over With active participation of users The Rapid Application Development (RAD) Model
  • 14. Software Engineering (3rd ed.), By K.K Aggarwal & Yogesh Singh, Copyright © New Age International Publishers, 2007 14 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. The Rapid Application Development (RAD) Model
  • 15. Software Engineering (3rd ed.), By K.K Aggarwal & Yogesh Singh, Copyright © New Age International Publishers, 2007 15 2.4 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.
  • 16. Software Engineering (3rd ed.), By K.K Aggarwal & Yogesh Singh, Copyright © New Age International Publishers, 2007 16 Validation Final version Development Intermediate versions Specification Initial version Outline description Concurrent activities Evolutionary Process Model
  • 17. Software Engineering (3rd ed.), By K.K Aggarwal & Yogesh Singh, Copyright © New Age International Publishers, 2007 17 2.4.1 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.
  • 18. Software Engineering (3rd ed.), By K.K Aggarwal & Yogesh Singh, Copyright © New Age International Publishers, 2007 18 • Linear model • “Rapid” Prototyping Model
  • 19. Software Engineering (3rd ed.), By K.K Aggarwal & Yogesh Singh, Copyright © New Age International Publishers, 2007 19 2.4.2 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 tried to incorporate the “project risk” factor into a life cycle model. The result is the spiral model, which was presented in 1986.
  • 20. Software Engineering (3rd ed.), By K.K Aggarwal & Yogesh Singh, Copyright © New Age International Publishers, 2007 20 Spiral Model
  • 21. Software Engineering (3rd ed.), By K.K Aggarwal & Yogesh Singh, Copyright © New Age International Publishers, 2007 21 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 of objectives, alternatives & constraints.  Risk Analysis: Analyze alternatives and attempts to identify and resolve the risks involved.  Development: Product development and testing product.  Assessment: Customer evaluation Spiral Model
  • 22. Software Engineering (3rd ed.), By K.K Aggarwal & Yogesh Singh, Copyright © New Age International Publishers, 2007 22  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. Spiral Model
  • 23. Software Engineering (3rd ed.), By K.K Aggarwal & Yogesh Singh, Copyright © New Age International Publishers, 2007 23 2.5 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).
  • 24. Software Engineering (3rd ed.), By K.K Aggarwal & Yogesh Singh, Copyright © New Age International Publishers, 2007 24 Phases of the Unified Process Definition of objectives of the project Planning & architecture for the project Initial operational capability Inception Elaboration Construction Transition Release of the Software product Time
  • 25. Software Engineering (3rd ed.), By K.K Aggarwal & Yogesh Singh, Copyright © New Age International Publishers, 2007 25 • Inception: defines main objective, specific objectives, scope of the project. • Elaboration - How do we plan & design the project? - What resources are required? Hardware, software, human (skills), finances - What type of architecture may be suitable? data, file, process, • Construction: the objectives are translated in design & architecture documents (enterprise architecture documents: business, application, data, infrastructure, security). • Transition : involves many activities like delivering, training, supporting, and maintaining the product. Phases of the Unified Process
  • 26. Software Engineering (3rd ed.), By K.K Aggarwal & Yogesh Singh, Copyright © New Age International Publishers, 2007 26 Initial development & Evolution Cycles Initial development Cycle Evolution Cycle Continue till the product is retired Inception Elaboration Construction Transition V1 Inception Elaboration Construction Transition V2 Inception Elaboration Construction Transition V3 V1=version1, V2 =version2, V3=version3
  • 27. Software Engineering (3rd ed.), By K.K Aggarwal & Yogesh Singh, Copyright © New Age International Publishers, 2007 27 Iterations & Workflow of Unified Process
  • 28. Software Engineering (3rd ed.), By K.K Aggarwal & Yogesh Singh, Copyright © New Age International Publishers, 2007 28 Inception Phase  Gathering and analyzing the requirements.  Planning and preparing a business case and  Evaluating alternatives for  risk management,  scheduling resources etc.  Estimating the overall cost (total amount) and schedule (total time) for the project.  Studying the feasibility (technical, operational, economical,) and calculating profitability (benefits) of the project. The inception phase has the following objectives:
  • 29. Software Engineering (3rd ed.), By K.K Aggarwal & Yogesh Singh, Copyright © New Age International Publishers, 2007 29 Outcomes of Inception Phase Inception Project plan Initial risk assessment Initial business case Vision document Initial use case model Initial project Glossary Business model Prototypes
  • 30. Software Engineering (3rd ed.), By K.K Aggarwal & Yogesh Singh, Copyright © New Age International Publishers, 2007 30 Elaboration Phase  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. The elaboration phase has the following objectives:
  • 31. Software Engineering (3rd ed.), By K.K Aggarwal & Yogesh Singh, Copyright © New Age International Publishers, 2007 31 Outcomes of Elaboration Phase Elaboration Revised risk document An executable architectural prototype Use case model Supplementary Requirements with non functional requirement Architecture Description document Preliminary User manual Development plan
  • 32. Software Engineering (3rd ed.), By K.K Aggarwal & Yogesh Singh, Copyright © New Age International Publishers, 2007 32 Construction Phase  Implementing the project.  Minimizing development cost.  Management and optimizing resources.  Testing the product  Assessing the product releases against acceptance criteria The construction phase has the following objectives:
  • 33. Software Engineering (3rd ed.), By K.K Aggarwal & Yogesh Singh, Copyright © New Age International Publishers, 2007 Outcomes of Construction Phase Construction Operational manuals Test Suite (validation suite: test cases intended to test set of behaviours) A description of the current release Software product User manuals Documentation manuals Test Outline
  • 34. Software Engineering (3rd ed.), By K.K Aggarwal & Yogesh Singh, Copyright © New Age International Publishers, 2007 34 Transition Phase  Starting of beta testing (type of user acceptance testing where the product team gives a nearly finished prod to a group of target users to evaluate prod performance in the real world)  Analysis of user’s views.  Training of users.  Tuning activities including bug fixing and enhancements for performance & usability  Assessing the customer satisfaction. The transition phase has the following objectives:
  • 35. Software Engineering (3rd ed.), By K.K Aggarwal & Yogesh Singh, Copyright © New Age International Publishers, 2007 35 Outcomes of Transition Phase Transition Product release Beta test reports User feedback
  • 36. Software Engineering (3rd ed.), By K.K Aggarwal & Yogesh Singh, Copyright © New Age International Publishers, 2007 36 2.6 Selection of a Life Cycle Model Selection of a model is based on (characteristsics): a) Requirements b) Development team c) Users d) Project type and associated risk
  • 37. Software Engineering (3rd ed.), By K.K Aggarwal & Yogesh Singh, Copyright © New Age International Publishers, 2007 37 Based On Characteristics Of Requirements Requirements Waterfall Prototype Iterative enhancement Evolutionary development Spiral RAD Are requirements easily understandable and defined? Do we change requirements quite often? Can we define requirements early in the cycle? Requirements are indicating a complex system to be built Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No No No No No No No No No No
  • 38. Software Engineering (3rd ed.), By K.K Aggarwal & Yogesh Singh, Copyright © New Age International Publishers, 2007 38 Development team Waterfall Prototype Iterative enhancement Evolutionary development Spiral RAD Based On Status Of Development Team Less experience on similar projects? Less domain knowledge (new to the technology) Less experience on tools to be used Availability of training if required Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No No No No No No No No No No No
  • 39. Software Engineering (3rd ed.), By K.K Aggarwal & Yogesh Singh, Copyright © New Age International Publishers, 2007 39 Based On User’s Participation RAD Spiral Evolutionary development Iterative enhancement Prototype Waterfall Involvement of Users User involvement in all phases Limited user participation User have no previous experience of participation in similar projects Users are experts of problem domain Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No No No No No No No No
  • 40. Software Engineering (3rd ed.), By K.K Aggarwal & Yogesh Singh, Copyright © New Age International Publishers, 2007 40 RAD Spiral Evolutionary development Iterative enhancement Prototype Waterfall Project type and risk Based On Type Of Project With Associated Risk Project is the enhancement of the existing system Funding is stable for the project High reliability requirements Tight project schedule Use of reusable components Are resources (time, money, people etc.) scarce? Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No No No No No No No No No No No No No No No
  • 41. 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.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
  • 42. 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.6 Build and fix model has (a) 3 phases (b) 1 phase (c) 2 phases (d) 4 phases 2.7 SRS stands for (a) Software requirements specification (b) Software requirements solution (c) System requirements specification (d) none of the above 2.8 Waterfall model is not suitable for (a) small projects (b) accommodating change (c) complex projects (d) none of the above 2.9 RAD stands for (a) Rapid application development (b) Relative application development (c) Ready application development (d) Repeated application development 2.10 RAD model was proposed by (a) Lucent Technologies (b) Motorola (c) IBM (d) Microsoft
  • 43. 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.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
  • 44. 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.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
  • 45. Software Engineering (3rd ed.), By K.K Aggarwal & Yogesh Singh, Copyright © New Age International Publishers, 2007 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
  • 46. Software Engineering (3rd ed.), By K.K Aggarwal & Yogesh Singh, Copyright © New Age International Publishers, 2007 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.
  • 47. Software Engineering (3rd ed.), By K.K Aggarwal & Yogesh Singh, Copyright © New Age International Publishers, 2007 47 Exercises 2.8 Discuss and Sketch a neat diagram of spiral model of software life cycle. 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? 2.9 Compare the waterfall model and the spiral model of software development.
  • 48. Software Engineering (3rd ed.), By K.K Aggarwal & Yogesh Singh, Copyright © New Age International Publishers, 2007 48 Exercises 2.16 What is the role of user participation 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? 2.17 Why do we feel that characteristics of requirements play a very significant role in the selection of a life cycle model?