SlideShare une entreprise Scribd logo
1  sur  48
Télécharger pour lire hors ligne
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
                                                                                           Build
Adhoc approach and not well                                                                Code
defined

Simple two phase model                                                                                                      Fix




       Software Engineering (3rd ed.), By K.K Aggarwal & Yogesh Singh, Copyright © New Age International Publishers, 2007         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                                                                 This model is named “waterfall
Analysis & Specification
                                                                               model” because its diagrammatic
                                                                               representation resembles a cascade of
                                 Design                                        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       Developed by IBM in 1980
  o       User participation is essential




                                                                                  This is how the
The requirements           The developers                                          problem is
                           understood it in            This is how the
specification was                                                                  solved now
                              that way                 problem was
defined like this                                      solved before.




                                        This is how the program is This, in fact, is what the
 That is the program after                 described by marketing                        customer wanted …
         debugging Engineering (3 ed.), By K.K Aggarwaldepartment © New Age International Publishers, 2007
                Software         rd                    & Yogesh Singh, Copyright                             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                             User                                            Construction                               Cut over
  Planning                            Description




               Software Engineering (3rd ed.), By K.K Aggarwal & Yogesh Singh, Copyright © New Age International Publishers, 2007              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

                                                                                                                               Initial
                                                    Specification
                                                                                                                              version


 Outline                                                                                                                Intermediate
                                                    Development
description                                                                                                               versions


                                                                                                                               Final
                                                       Validation
                                                                                                                              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                                              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
           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                              Planning &                                         Initial                         Release of
        objectives                                architecture                                     operational                      the Software
       of the project                            for the project                                    capability                        product




           Software Engineering (3rd ed.), By K.K Aggarwal & Yogesh Singh, Copyright © New Age International Publishers, 2007                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
                                                                                                                                               V2
Inception                     Elaboration                                     Construction                                       Transition
                                                   Evolution Cycle
                                                                                                                                                   V3
Inception                     Elaboration                                     Construction                                       Transition

                                                                     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



 Prototypes                                                                                        Project plan

Business                                                                                                  Initial risk
                                                Inception
 model                                                                                                    assessment
                                                             Initial business
    Vision
                                        Initial use  Initial        case
   document
                                        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                                                                                 Revised risk
                                                                                                   document
Preliminary                                                                                          An executable
                                                 Elaboration                                          architectural
User manual
                                                                                                        prototype
                                                                                               Architecture
       Use case                                                                                Description
        model                          Supplementary                                            document
                                        Requirements
                                      with non functional
                                         requirement


        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                                                                                          Operational
      Outline                                                                                         manuals
Documentation
                                              Construction                                                   Test Suite
   manuals
                                                                                                            A description
      Software                                                                                                  of the
       product                         User manuals                                                         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                                                                              User feedback
release                           Beta test reports




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                Iterative                    Evolutionary           Spiral   RAD
                                                                            enhancement                    development


Are requirements
easily understandable               Yes                   No                        No                            No               No      Yes
and defined?

Do we change
requirements quite                 No                     Yes                       No                            No               Yes     No
often?

Can we define
requirements early                 Yes                    No                        Yes                           Yes              No      Yes
in the cycle?

Requirements are
indicating a complex                 No                     Yes                     Yes                           Yes              Yes     No
system to be built


             Software Engineering (3rd ed.), By K.K Aggarwal & Yogesh Singh, Copyright © New Age International Publishers, 2007                  37
Based On Status Of Development Team

   Development                 Waterfall              Prototype                Iterative                    Evolutionary            Spiral   RAD
      team                                                                   enhancement                    development



Less experience on
                                      No                 Yes                         No                             No               Yes     No
similar projects?

Less domain
knowledge (new to                   Yes                    No                        Yes                           Yes              Yes      No
the technology)

Less experience on
tools to be used                  Yes                     No                         No                            No               Yes      No


Availability of
                                    No                     No                        Yes                           Yes               No      Yes
training if required



               Software Engineering (3rd ed.), By K.K Aggarwal & Yogesh Singh, Copyright © New Age International Publishers, 2007                  38
Based On User’s Participation
                     User’
    Involvement                   Waterfall             Prototype                Iterative                    Evolutionary           Spiral   RAD
      of Users                                                                 enhancement                    development


User involvement
in all phases                         No                     Yes                       No                             No              No      Yes

Limited user
participation                         Yes                    No                        Yes                            Yes            Yes      No

User have no
previous experience                   No                     Yes                       Yes                            Yes            Yes      No
of participation in
similar projects

Users are experts
of problem domain                     No                     Yes                       Yes                             Yes            No      Yes




                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                Waterfall             Prototype                Iterative                    Evolutionary           Spiral   RAD
      and risk                                                               enhancement                    development


Project is the
enhancement of the                  No                      No                       Yes                            Yes            No       Yes
existing system
Funding is stable
for the project                     Yes                    Yes                       No                             No             No       Yes

High reliability
requirements                         No                    No                        Yes                            Yes            Yes      No

Tight project
                                    No                     Yes                       Yes                           Yes             Yes      Yes
schedule
Use of reusable
components                          No                    Yes                       No                             No              Yes      Yes
Are resources
(time, money,                       No                     Yes                      No                             No              Yes      No
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                                                                      (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   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

Contenu connexe

Tendances

Pressman ch-3-prescriptive-process-models
Pressman ch-3-prescriptive-process-modelsPressman ch-3-prescriptive-process-models
Pressman ch-3-prescriptive-process-models
saurabhshertukde
 
Software Engineering ppt
Software Engineering pptSoftware Engineering ppt
Software Engineering ppt
shruths2890
 
Software Testing Fundamentals
Software Testing FundamentalsSoftware Testing Fundamentals
Software Testing Fundamentals
Chankey Pathak
 
Requirements analysis
Requirements analysisRequirements analysis
Requirements analysis
Abdul Basit
 
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
Piyush Gogia
 
software engineering
software engineeringsoftware engineering
software engineering
ramyavarkala
 

Tendances (20)

Chapter 7 software reliability
Chapter 7 software reliabilityChapter 7 software reliability
Chapter 7 software reliability
 
Pressman ch-3-prescriptive-process-models
Pressman ch-3-prescriptive-process-modelsPressman ch-3-prescriptive-process-models
Pressman ch-3-prescriptive-process-models
 
Software Engineering ppt
Software Engineering pptSoftware Engineering ppt
Software Engineering ppt
 
Difference between functional testing and non functional testing
Difference between functional testing and non functional testingDifference between functional testing and non functional testing
Difference between functional testing and non functional testing
 
Comparing Software Quality Assurance Techniques And Activities
Comparing Software Quality Assurance Techniques And ActivitiesComparing Software Quality Assurance Techniques And Activities
Comparing Software Quality Assurance Techniques And Activities
 
Software Engineering unit 4
Software Engineering unit 4Software Engineering unit 4
Software Engineering unit 4
 
SWE-401 - 1. Introduction to Software Engineering
SWE-401 - 1. Introduction to Software EngineeringSWE-401 - 1. Introduction to Software Engineering
SWE-401 - 1. Introduction to Software Engineering
 
Ch 3 software quality factor
Ch 3 software quality factorCh 3 software quality factor
Ch 3 software quality factor
 
TESTING STRATEGY.ppt
TESTING STRATEGY.pptTESTING STRATEGY.ppt
TESTING STRATEGY.ppt
 
Ch3. agile sw dev
Ch3. agile sw devCh3. agile sw dev
Ch3. agile sw dev
 
Chapter 4 software project planning
Chapter 4 software project planningChapter 4 software project planning
Chapter 4 software project planning
 
An Insight into the Black Box and White Box Software Testing
An Insight into the Black Box and White Box Software Testing An Insight into the Black Box and White Box Software Testing
An Insight into the Black Box and White Box Software Testing
 
Software Engineering - Basics
Software Engineering - BasicsSoftware Engineering - Basics
Software Engineering - Basics
 
Pressman ch-1-software
Pressman ch-1-softwarePressman ch-1-software
Pressman ch-1-software
 
Software Testing Fundamentals
Software Testing FundamentalsSoftware Testing Fundamentals
Software Testing Fundamentals
 
Requirements analysis
Requirements analysisRequirements analysis
Requirements analysis
 
Software process
Software processSoftware process
Software process
 
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
 
software engineering
software engineeringsoftware engineering
software engineering
 
Software Evolution
Software EvolutionSoftware Evolution
Software Evolution
 

En vedette

System Development Life Cycle (SDLC)
System Development Life Cycle (SDLC)System Development Life Cycle (SDLC)
System Development Life Cycle (SDLC)
fentrekin
 
Chapter 10 software certification
Chapter 10 software certificationChapter 10 software certification
Chapter 10 software certification
Piyush Gogia
 
Requirements Engineering Process
Requirements Engineering ProcessRequirements Engineering Process
Requirements Engineering Process
Jomel Penalba
 
16103271 software-testing-ppt
16103271 software-testing-ppt16103271 software-testing-ppt
16103271 software-testing-ppt
atish90
 
Comparison between waterfall model and spiral model
Comparison between waterfall model and spiral modelComparison between waterfall model and spiral model
Comparison between waterfall model and spiral model
Galaxyy Pandey
 
Software Development Life Cycle (SDLC)
Software Development Life Cycle (SDLC)Software Development Life Cycle (SDLC)
Software Development Life Cycle (SDLC)
Alaa' Amr Amin
 
System development life cycle (sdlc)
System development life cycle (sdlc)System development life cycle (sdlc)
System development life cycle (sdlc)
Mukund Trivedi
 
ppt on sOFTWARE DEVELOPMENT LIFE CYCLE
 ppt on sOFTWARE DEVELOPMENT LIFE CYCLE ppt on sOFTWARE DEVELOPMENT LIFE CYCLE
ppt on sOFTWARE DEVELOPMENT LIFE CYCLE
Swarnima Tiwari
 
Prototype model
Prototype modelPrototype model
Prototype model
shuisharma
 

En vedette (20)

Software Development Life Cycle (SDLC)
Software Development Life Cycle (SDLC)Software Development Life Cycle (SDLC)
Software Development Life Cycle (SDLC)
 
SDLC Model
SDLC  ModelSDLC  Model
SDLC Model
 
Software Development Life Cycle Model
Software Development Life Cycle ModelSoftware Development Life Cycle Model
Software Development Life Cycle Model
 
System Development Life Cycle (SDLC)
System Development Life Cycle (SDLC)System Development Life Cycle (SDLC)
System Development Life Cycle (SDLC)
 
Requirements engineering process in software engineering
Requirements engineering process in software engineeringRequirements engineering process in software engineering
Requirements engineering process in software engineering
 
Chapter 10 software certification
Chapter 10 software certificationChapter 10 software certification
Chapter 10 software certification
 
Software testing objective_types
Software testing objective_typesSoftware testing objective_types
Software testing objective_types
 
Effort Distribution on Waterfall and Agile
Effort Distribution on Waterfall and AgileEffort Distribution on Waterfall and Agile
Effort Distribution on Waterfall and Agile
 
Requirements Engineering Process
Requirements Engineering ProcessRequirements Engineering Process
Requirements Engineering Process
 
16103271 software-testing-ppt
16103271 software-testing-ppt16103271 software-testing-ppt
16103271 software-testing-ppt
 
Comparison between waterfall model and spiral model
Comparison between waterfall model and spiral modelComparison between waterfall model and spiral model
Comparison between waterfall model and spiral model
 
Rad model
Rad modelRad model
Rad model
 
Software Development Life Cycle (SDLC)
Software Development Life Cycle (SDLC)Software Development Life Cycle (SDLC)
Software Development Life Cycle (SDLC)
 
Prototype Model
Prototype ModelPrototype Model
Prototype Model
 
Software Requirement Specification
Software Requirement SpecificationSoftware Requirement Specification
Software Requirement Specification
 
Software Development Life Cycle (SDLC)
Software Development Life Cycle (SDLC)Software Development Life Cycle (SDLC)
Software Development Life Cycle (SDLC)
 
System development life cycle (sdlc)
System development life cycle (sdlc)System development life cycle (sdlc)
System development life cycle (sdlc)
 
ppt on sOFTWARE DEVELOPMENT LIFE CYCLE
 ppt on sOFTWARE DEVELOPMENT LIFE CYCLE ppt on sOFTWARE DEVELOPMENT LIFE CYCLE
ppt on sOFTWARE DEVELOPMENT LIFE CYCLE
 
Software Development Life Cycle (SDLC)
Software Development Life Cycle (SDLC)Software Development Life Cycle (SDLC)
Software Development Life Cycle (SDLC)
 
Prototype model
Prototype modelPrototype model
Prototype model
 

Similaire à Chapter 2 software_development_life_cycle_models

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 1 ASE Slides ppt
Chapter 1 ASE Slides pptChapter 1 ASE Slides ppt
Chapter 1 ASE Slides ppt
Mr SMAK
 
Software lifecycle model report
Software lifecycle model reportSoftware lifecycle model report
Software lifecycle model report
Ashutosh Singh
 
03 module2-090710094221-phpapp02
03 module2-090710094221-phpapp0203 module2-090710094221-phpapp02
03 module2-090710094221-phpapp02
gurusaras01
 

Similaire à Chapter 2 software_development_life_cycle_models (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...
 
Automated testing of JavaFX GUI components
Automated testing of JavaFX GUI componentsAutomated testing of JavaFX GUI components
Automated testing of JavaFX GUI components
 
TESTING IMPLEMENTATION SYSTEM
TESTING IMPLEMENTATION SYSTEMTESTING IMPLEMENTATION SYSTEM
TESTING IMPLEMENTATION SYSTEM
 
Software development models
Software development modelsSoftware development models
Software development models
 
STATISTICAL ANALYSIS FOR PERFORMANCE COMPARISON
STATISTICAL ANALYSIS FOR PERFORMANCE COMPARISONSTATISTICAL ANALYSIS FOR PERFORMANCE COMPARISON
STATISTICAL ANALYSIS FOR PERFORMANCE COMPARISON
 
20 54-1-pb
20 54-1-pb20 54-1-pb
20 54-1-pb
 
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
 
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 hazahara
Software development models hazaharaSoftware development models hazahara
Software development models hazahara
 
FADHILLA ELITA Ppt testing 3
FADHILLA ELITA Ppt testing 3FADHILLA ELITA Ppt testing 3
FADHILLA ELITA Ppt testing 3
 
Software development models endang
Software development models endangSoftware development models endang
Software development models endang
 
Adm Initial Proposal
Adm Initial ProposalAdm Initial Proposal
Adm Initial Proposal
 
Chapter 1 ASE Slides ppt
Chapter 1 ASE Slides pptChapter 1 ASE Slides ppt
Chapter 1 ASE Slides ppt
 
Software Process Models
Software Process ModelsSoftware Process Models
Software Process Models
 
DevOps CI Automation Continuous Integration
DevOps CI Automation Continuous IntegrationDevOps CI Automation Continuous Integration
DevOps CI Automation Continuous Integration
 
Software lifecycle model report
Software lifecycle model reportSoftware lifecycle model report
Software lifecycle model report
 
50120140502011
5012014050201150120140502011
50120140502011
 
50120140502011
5012014050201150120140502011
50120140502011
 
Agbaje7survey of softwar process
Agbaje7survey of softwar processAgbaje7survey of softwar process
Agbaje7survey of softwar process
 
03 module2-090710094221-phpapp02
03 module2-090710094221-phpapp0203 module2-090710094221-phpapp02
03 module2-090710094221-phpapp02
 

Dernier

Russian Escort Service in Delhi 11k Hotel Foreigner Russian Call Girls in Delhi
Russian Escort Service in Delhi 11k Hotel Foreigner Russian Call Girls in DelhiRussian Escort Service in Delhi 11k Hotel Foreigner Russian Call Girls in Delhi
Russian Escort Service in Delhi 11k Hotel Foreigner Russian Call Girls in Delhi
kauryashika82
 
1029-Danh muc Sach Giao Khoa khoi 6.pdf
1029-Danh muc Sach Giao Khoa khoi  6.pdf1029-Danh muc Sach Giao Khoa khoi  6.pdf
1029-Danh muc Sach Giao Khoa khoi 6.pdf
QucHHunhnh
 
Activity 01 - Artificial Culture (1).pdf
Activity 01 - Artificial Culture (1).pdfActivity 01 - Artificial Culture (1).pdf
Activity 01 - Artificial Culture (1).pdf
ciinovamais
 

Dernier (20)

Russian Escort Service in Delhi 11k Hotel Foreigner Russian Call Girls in Delhi
Russian Escort Service in Delhi 11k Hotel Foreigner Russian Call Girls in DelhiRussian Escort Service in Delhi 11k Hotel Foreigner Russian Call Girls in Delhi
Russian Escort Service in Delhi 11k Hotel Foreigner Russian Call Girls in Delhi
 
Energy Resources. ( B. Pharmacy, 1st Year, Sem-II) Natural Resources
Energy Resources. ( B. Pharmacy, 1st Year, Sem-II) Natural ResourcesEnergy Resources. ( B. Pharmacy, 1st Year, Sem-II) Natural Resources
Energy Resources. ( B. Pharmacy, 1st Year, Sem-II) Natural Resources
 
ComPTIA Overview | Comptia Security+ Book SY0-701
ComPTIA Overview | Comptia Security+ Book SY0-701ComPTIA Overview | Comptia Security+ Book SY0-701
ComPTIA Overview | Comptia Security+ Book SY0-701
 
Introduction to Nonprofit Accounting: The Basics
Introduction to Nonprofit Accounting: The BasicsIntroduction to Nonprofit Accounting: The Basics
Introduction to Nonprofit Accounting: The Basics
 
Key note speaker Neum_Admir Softic_ENG.pdf
Key note speaker Neum_Admir Softic_ENG.pdfKey note speaker Neum_Admir Softic_ENG.pdf
Key note speaker Neum_Admir Softic_ENG.pdf
 
Advanced Views - Calendar View in Odoo 17
Advanced Views - Calendar View in Odoo 17Advanced Views - Calendar View in Odoo 17
Advanced Views - Calendar View in Odoo 17
 
microwave assisted reaction. General introduction
microwave assisted reaction. General introductionmicrowave assisted reaction. General introduction
microwave assisted reaction. General introduction
 
Role Of Transgenic Animal In Target Validation-1.pptx
Role Of Transgenic Animal In Target Validation-1.pptxRole Of Transgenic Animal In Target Validation-1.pptx
Role Of Transgenic Animal In Target Validation-1.pptx
 
Holdier Curriculum Vitae (April 2024).pdf
Holdier Curriculum Vitae (April 2024).pdfHoldier Curriculum Vitae (April 2024).pdf
Holdier Curriculum Vitae (April 2024).pdf
 
Web & Social Media Analytics Previous Year Question Paper.pdf
Web & Social Media Analytics Previous Year Question Paper.pdfWeb & Social Media Analytics Previous Year Question Paper.pdf
Web & Social Media Analytics Previous Year Question Paper.pdf
 
1029-Danh muc Sach Giao Khoa khoi 6.pdf
1029-Danh muc Sach Giao Khoa khoi  6.pdf1029-Danh muc Sach Giao Khoa khoi  6.pdf
1029-Danh muc Sach Giao Khoa khoi 6.pdf
 
TỔNG ÔN TẬP THI VÀO LỚP 10 MÔN TIẾNG ANH NĂM HỌC 2023 - 2024 CÓ ĐÁP ÁN (NGỮ Â...
TỔNG ÔN TẬP THI VÀO LỚP 10 MÔN TIẾNG ANH NĂM HỌC 2023 - 2024 CÓ ĐÁP ÁN (NGỮ Â...TỔNG ÔN TẬP THI VÀO LỚP 10 MÔN TIẾNG ANH NĂM HỌC 2023 - 2024 CÓ ĐÁP ÁN (NGỮ Â...
TỔNG ÔN TẬP THI VÀO LỚP 10 MÔN TIẾNG ANH NĂM HỌC 2023 - 2024 CÓ ĐÁP ÁN (NGỮ Â...
 
Activity 01 - Artificial Culture (1).pdf
Activity 01 - Artificial Culture (1).pdfActivity 01 - Artificial Culture (1).pdf
Activity 01 - Artificial Culture (1).pdf
 
Unit-IV- Pharma. Marketing Channels.pptx
Unit-IV- Pharma. Marketing Channels.pptxUnit-IV- Pharma. Marketing Channels.pptx
Unit-IV- Pharma. Marketing Channels.pptx
 
INDIA QUIZ 2024 RLAC DELHI UNIVERSITY.pptx
INDIA QUIZ 2024 RLAC DELHI UNIVERSITY.pptxINDIA QUIZ 2024 RLAC DELHI UNIVERSITY.pptx
INDIA QUIZ 2024 RLAC DELHI UNIVERSITY.pptx
 
Explore beautiful and ugly buildings. Mathematics helps us create beautiful d...
Explore beautiful and ugly buildings. Mathematics helps us create beautiful d...Explore beautiful and ugly buildings. Mathematics helps us create beautiful d...
Explore beautiful and ugly buildings. Mathematics helps us create beautiful d...
 
Nutritional Needs Presentation - HLTH 104
Nutritional Needs Presentation - HLTH 104Nutritional Needs Presentation - HLTH 104
Nutritional Needs Presentation - HLTH 104
 
Ecological Succession. ( ECOSYSTEM, B. Pharmacy, 1st Year, Sem-II, Environmen...
Ecological Succession. ( ECOSYSTEM, B. Pharmacy, 1st Year, Sem-II, Environmen...Ecological Succession. ( ECOSYSTEM, B. Pharmacy, 1st Year, Sem-II, Environmen...
Ecological Succession. ( ECOSYSTEM, B. Pharmacy, 1st Year, Sem-II, Environmen...
 
Basic Civil Engineering first year Notes- Chapter 4 Building.pptx
Basic Civil Engineering first year Notes- Chapter 4 Building.pptxBasic Civil Engineering first year Notes- Chapter 4 Building.pptx
Basic Civil Engineering first year Notes- Chapter 4 Building.pptx
 
Application orientated numerical on hev.ppt
Application orientated numerical on hev.pptApplication orientated numerical on hev.ppt
Application orientated numerical on hev.ppt
 

Chapter 2 software_development_life_cycle_models

  • 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 Build Adhoc approach and not well Code defined Simple two phase model Fix Software Engineering (3rd ed.), By K.K Aggarwal & Yogesh Singh, Copyright © New Age International Publishers, 2007 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 This model is named “waterfall Analysis & Specification model” because its diagrammatic representation resembles a cascade of Design 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 Developed by IBM in 1980 o User participation is essential This is how the The requirements The developers problem is understood it in This is how the specification was solved now that way problem was defined like this solved before. This is how the program is This, in fact, is what the That is the program after described by marketing customer wanted … debugging Engineering (3 ed.), By K.K Aggarwaldepartment © New Age International Publishers, 2007 Software rd & Yogesh Singh, Copyright 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 User Construction Cut over Planning Description Software Engineering (3rd ed.), By K.K Aggarwal & Yogesh Singh, Copyright © New Age International Publishers, 2007 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 Initial Specification version Outline Intermediate Development description versions Final Validation 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 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 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 Planning & Initial Release of objectives architecture operational the Software of the project for the project capability product Software Engineering (3rd ed.), By K.K Aggarwal & Yogesh Singh, Copyright © New Age International Publishers, 2007 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 V2 Inception Elaboration Construction Transition Evolution Cycle V3 Inception Elaboration Construction Transition 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 Prototypes Project plan Business Initial risk Inception model assessment Initial business Vision Initial use Initial case document 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 Revised risk document Preliminary An executable Elaboration architectural User manual prototype Architecture Use case Description model Supplementary document Requirements with non functional requirement 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 Operational Outline manuals Documentation Construction Test Suite manuals A description Software of the product User manuals 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 User feedback release Beta test reports 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 Iterative Evolutionary Spiral RAD enhancement development Are requirements easily understandable Yes No No No No Yes and defined? Do we change requirements quite No Yes No No Yes No often? Can we define requirements early Yes No Yes Yes No Yes in the cycle? Requirements are indicating a complex No Yes Yes Yes Yes No system to be built 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 Waterfall Prototype Iterative Evolutionary Spiral RAD team enhancement development Less experience on No Yes No No Yes No similar projects? Less domain knowledge (new to Yes No Yes Yes Yes No the technology) Less experience on tools to be used Yes No No No Yes No Availability of No No Yes Yes No Yes training if required Software Engineering (3rd ed.), By K.K Aggarwal & Yogesh Singh, Copyright © New Age International Publishers, 2007 38
  • 39. Based On User’s Participation User’ Involvement Waterfall Prototype Iterative Evolutionary Spiral RAD of Users enhancement development User involvement in all phases No Yes No No No Yes Limited user participation Yes No Yes Yes Yes No User have no previous experience No Yes Yes Yes Yes No of participation in similar projects Users are experts of problem domain No Yes Yes Yes No Yes 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 Waterfall Prototype Iterative Evolutionary Spiral RAD and risk enhancement development Project is the enhancement of the No No Yes Yes No Yes existing system Funding is stable for the project Yes Yes No No No Yes High reliability requirements No No Yes Yes Yes No Tight project No Yes Yes Yes Yes Yes schedule Use of reusable components No Yes No No Yes Yes Are resources (time, money, No Yes No No Yes No 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 (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 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