processmodels1

Embed Size (px)

Citation preview

  • 8/7/2019 processmodels1

    1/29

    Process Models

  • 8/7/2019 processmodels1

    2/29

    Software Process

    Process consists of activities/steps to becarried out in a particular order

    Software process deals with both technicaland management issues

    Consists of different types of process

    Process for software development: produces

    software as end-result multiple such processes may exist

    a project follows a particular process

  • 8/7/2019 processmodels1

    3/29

  • 8/7/2019 processmodels1

    4/29

    Characteristics of a Good Process

    Should be precisely defined no ambiguity aboutwhat is to be done, when, how, etc.

    It must be predictable-Predictable with respect to

    effort, cost Facilitates early detection of and removal of

    defects

    It should facilitate monitoring and improvement

  • 8/7/2019 processmodels1

    5/29

    PRESCRIPTIVE PROCESSMODELS

    A prescriptive model prescribes how a new software system should

    be developed.

    Prescriptive models are used as guidelines or frameworks to

    organize and structure how software development activitiesshould be performed, and in what order.

    Describe a set of process elements-activities,engineering

    actions,tasks,work products,quality assurance,change controlmechanisms.

  • 8/7/2019 processmodels1

    6/29

    PRESCRIPTIVE PROCESSMODELS

    Water fall model

    Incremental process model

    Incremental model

    RAD model

    Evolutionary process models

    Prototyping Spiral model

    Concurrent development model

    Agile process models

  • 8/7/2019 processmodels1

    7/29

    The first model proposed was the waterfall

    model [Royce 1970]

    Water fall Model

  • 8/7/2019 processmodels1

    8/29

    A series of steps where each steps falls

    to the next step. One phase has to be complete before moving

    onto the next phase.

    Separate and distinct phases of specification and

    development.

  • 8/7/2019 processmodels1

    9/29

    drawbacks

    1.The main drawback of the waterfall model is the difficulty of

    acommodating change after the process is underway.difficult

    to correct the previous stages

    2. Inflexible partitioning of the project into distinct stages makesit difficult to respond to changing customer requirements.

    3. Therefore, this model is only appropriate when the

    requirements are well-understood and changes will be fairly

    limited during the design process.

    4.A working version will be available only late in the project time

    span.

    The waterfall model is mostly used for large systems engineering projects

    where a system is developed at several sites.

  • 8/7/2019 processmodels1

    10/29

    Incremental process model

    Rather than deliver the system as a single delivery, the

    development and delivery is broken down into increments

    with each increment delivering part of the required

    functionality.

    User requirements are prioritised and the highest priority

    requirements are included in early increments.

    Once the development of an increment is started, the

    requirements are frozen though requirements for later

    increments can continue to evolve.

  • 8/7/2019 processmodels1

    11/29

    1.Incremental model

  • 8/7/2019 processmodels1

    12/29

    1.Incremental model

    First step gets a quick version that doespart of project.

    Second increment gets a better, moredetailed version.

    Successive increments get better andmore complete software.

  • 8/7/2019 processmodels1

    13/29

    1.Incremental model

    The incremental model combines elements of the waterfall

    model applied in iterative fashion.

    It also applies linear sequence in a staggered fashion as

    calendar time progress. Each linear sequence produces deliverable increments of the

    software.

    First incremental is core product featuring the basic

    requirements .

    Core products is used by customer ,evaluated and a modified

    plan for the next increment is given

    Ex: word processing.(i, increment, ii, increment, iii, increment

  • 8/7/2019 processmodels1

    14/29

    2.RAD model

  • 8/7/2019 processmodels1

    15/29

    Traditional vs RAD

  • 8/7/2019 processmodels1

    16/29

    2.RAD Model

    RAD is an incremental software process model

    that emphasizes a short development cycle.

    It is a high speed adaptation of the water fallmodel.

    It process enables a development team to

    create a fully functional system within a very

    short time period.

    Its goals are: faster, better, cheaper

  • 8/7/2019 processmodels1

    17/29

    2.RAD Model

    The RAD model follows a component based approach.

    Separate the project to modules

    In this approach individual components developed by different

    people are assembled to develop a large software system.

    Put together a team of Smart Guys from multiple disciplines

    Show it to the U

    SERS

    Get Feedback

    Incorporate for the final product

    It encourages the development of program component

    reusable.

  • 8/7/2019 processmodels1

    18/29

    Drawbacks

    criticized because it lacks a methodology and a

    designed architecture

    flexibility of RAD systems decreases as applications

    grow

    RAD tends to fail when

    Application must interoperate with existing programs

    Performance and reliability are critical

    The system cannot be modularized

    New technologies are used

  • 8/7/2019 processmodels1

    19/29

    Evolutionary process model

  • 8/7/2019 processmodels1

    20/29

  • 8/7/2019 processmodels1

    21/29

    Evolutionary process model

    It is also iterative, they are characterized in a

    manner that enables software engineers to

    develop increasingly more complete versions

    of the software.

    Core product with requirement specification is

    defined but details of the product has to be

    yet defined

    Product will evolves over time

  • 8/7/2019 processmodels1

    22/29

    1.PROTOTYPING

    Co m m u n ic a t io n

    Q u ic k p l a n

    Co n st r u ct io no f

    p r o t o t y p e

    M o d e li n g

    Q u ic k d e s ig n

    D e liv e r y

    & F e e d b a c k

    D e p l o y m e n t

  • 8/7/2019 processmodels1

    23/29

    1.PROTOTYPING

    In this model the developer and client interact to establishedthe requirements of the software.

    Define the broad set of objectives.

    This is follow up by the quick design, in which the visibleelements of the software, the input and the output aredesigned.

    The quick design stresses the clients view of the software .

    The final product of the design is a prototype.

    The client the evaluates the prototype and provides itsrecommendations and suggestion to the analyst.

    The process continues in an iterative manner until the all theuser requirements are met.

  • 8/7/2019 processmodels1

    24/29

    1.PROTOTYPING

    Drawbacks:

    Customers like the prototype and want to

    place it in production. Developers forget the design decisions and

    their mistakes leak into the prototype which

    they have developed quickly.

    Documentation may get neglected

    Effort in building a prototype may be wasted

    Difficult to plan and manage

  • 8/7/2019 processmodels1

    25/29

    2.Spiral Model

    The spiral model developed by Boehm combines thephilosophy ofINM,RAD and LSM models with the use of

    prototyping.

    The spiral model is recommended where the requirements and

    solution call for developing full-fledge , large, complicatedsystem with lots of features and facilities from the scratch.

    It is used when experimenting on technology , trying out new

    skills and when the user is not able to offer requirements in

    clear terms.

    It emphasis at the quick development of the software, which is

    released in increments.

  • 8/7/2019 processmodels1

    26/29

    2.Spiral Model

    commu ication

    planning

    modeling

    constructiondeployment

    delivery

    feedback

    start

    analysis

    design

    code

    test

    estimation

    scheduling

    risk analysis

  • 8/7/2019 processmodels1

    27/29

    2.Spiral Model

    The process is represented as a spiral, each loop in the

    spiral representing a process phase

    Five sectors per loop: communication, risk assessment and

    reduction, development and validation, planning At each cycle through the spiral, milestones are achieved

    and risk is reevaluated.

    Risk is explicitly taken into consideration which helps to

    reduce technical risk. This model is more in tune with large real-life project development.

    It is suitable for application that can be use an object oriented approach

    to develop software.

  • 8/7/2019 processmodels1

    28/29

    2.Spiral Model-disadvantages

    The spiral model has the following disadvantages:

    It can cause problems in negotiating a development

    contract with the client.

    It requires considerable experience in risk

    management for the project to be successful.

    It requires a lot of patience and time in years before

    this models effectiveness can be assessed accurately.

  • 8/7/2019 processmodels1

    29/29

    U n d e rre v i e w

    B a s e l i n e d

    D o n e

    U n d e r

    re v i s i o n

    A w a i t i n g

    c h a n g e s

    U n d e r

    d e v e l o p m e n t

    n o n e

    M o d e l i n g a ct i v i t y

    re p re s e n t s t h e st a t e

    o f a s o ft w a re e n gi n e e r i n g

    a c t i v i t y ort a s k

    3.Concurrent development model