Lecture 3: Software Process Models - PowerPoint PPT Presentation

1 / 42
About This Presentation
Title:

Lecture 3: Software Process Models

Description:

Students will present project file, particularly Schedule, plus any project ... focused on a target product [Lantz, 1985; Connell and Shafer, 1989; Gane, 1989] ... – PowerPoint PPT presentation

Number of Views:73
Avg rating:3.0/5.0
Slides: 43
Provided by: plekhanova
Category:

less

Transcript and Presenter's Notes

Title: Lecture 3: Software Process Models


1
Lecture 3 Software Process Models
  • Dr Valentina Plekhanova
  • University of Sunderland, UK

http//www.cet.sunderland.ac.uk/cs0vpl/SE-Com185.
htm
2
Week 8 24.04.2003-28.03.2003Project Control
Session
  • Tutorial Time 10 minutes for each Team
  • Students will present project file, particularly
    Schedule, plus any project documentation.
  • Students will describe where they are in the
    project and any problems encountered.
  • During the discussion reviewers will ask to see
    evidence of deliverables for any tasks that are
    complete to determine whether they have in fact
    been done.

3
Week 8 24.04.2003-28.03.2003Project Control
Session
  • Tutorial Time 10 minutes for each Team
  • Students will present project file, particularly
    Schedule, plus any project documentation.
  • Students will describe where they are in the
    project and any problems encountered.
  • During the discussion reviewers will ask to see
    evidence of deliverables for any tasks that are
    complete to determine whether they have in fact
    been done.

4
Week 8 24.04.2003-28.03.2003Project Control
Session
  • Tutorial Time 10 minutes for each Team
  • Students will present project file, particularly
    Schedule, plus any project documentation.
  • Students will describe where they are in the
    project and any problems encountered.
  • During the discussion reviewers will ask to see
    evidence of deliverables for any tasks that are
    complete to determine whether they have in fact
    been done.

5
Basic Definitions Process Model
  • A representation of a process.
  • Some of the key components of a process model are
    the activities that must be performed, the agents
    that perform the activities, the products that
    are produced, and the resources that are needed
    for an activity Pankaj K. Garg, Mehdi Jazayeri,
    1996. .

6
Traditional Definition Boehm, 1988
  • The main function of a software development
    process model is to establish the order in which
    major tasks are performed within a project, and
    to establish the transition criteria for
    proceeding from one task to the next.

7
Goal
  • A process model presents desired phases or
    activities in a project
  • ????

8
Process Element
  • Any component of a process.
  • Process elements range from individual process
    steps to very large parts of process.

9
Process Step
  • An atomic action of a process that has no
    externally visible substructure.

10
Agent
  • An actor (human or machine) who performs a
    process elements.

11
Role
  • A coherent set of process elements to be assigned
    to an agent as a unit of functional
    responsibility.
  • A single agent can perform multiple roles and a
    single role may be performed by multiple agents.

12
Artifact
  • A product created or modified by the enactment of
    a process element.

13
Software Process Models Introduction
  •  What are the common process models for
  • developing software?

14
Software Process Models
  • A process model is a development strategy that
    encompasses the process, methods and tools layers
    and the generic phases (see Lecture 1).
  • The process model for a project is selected to
    support the nature of the project, the
    application domain, tools available, and the
    controls and deliverables required.

15
Software Process Models
  • The process model for a project is selected to
    support the nature of the project, the
    application domain, tools available, and the
    controls and deliverables required.
  • No agreement on a best process model.

16
Software Process Models
  • The life cycle history of each software product
    is different.
  • Some products will spend years in the conceptual
    stage, other products will be quickly designed
    and implemented and some products must be
    developed from scratch.
  • Various models have been designed to undertake
    the process.

17
Software Process Models
  • It is recognised that Process Model
  • Describes development strategy encompassing
    processes, methods, tools.
  • Brings order into chaotic activities.
  • Assists in controlling and co-ordination of
    software projects.

18
Software Process Models Benefits
  • There are several benefits that have been
    suggested for utilising process modelling
    Kellner and Hansen, 1989 White, 1992. The main
    ones are (but not limited to)
  • facilitating reasoning and communication about
    the process
  • analysing, studying, controlling and managing the
    process
  • determining ways in which the process may be
    improved.

19
Some Models or Some Paradigms of Software
Development
  • Waterfall
  • Document-driven
  • Time-Milestone Driven Model
  • Evolutionary Prototyping
  • Risk-Based Spiral Model
  • "Buy Commercial-Off-The-Shelf" Model
  • Evolutionary Development
  • Risk Reduction/Waterfall
  • Incremental Development

20
The Linear Sequential Model
  • Also called the waterfall model
  • or classic life-cycle.
  • The waterfall model presents a documentation-drive
    n approach Royce, 1970 Boehm, 1981. This
    model was developed to provide support for the
    developers to produce the necessary documentation.

21
Sequential set of phases
  • Software Requirements Analysis
  • System and Software Design
  • Writing the Programs (or coding, program
    implementation, code generation)
  • Testing (unit testing, integration testing,
    system testing, acceptance testing)
  • Maintenance

22
The Waterfall Model
Requirements Capture
Requirements Documents
System Analysis
System Specification
System Design Models
System Design
Working Alpha System
System Implementation
Final Release System
System Testing
System Maintenance
23
The Waterfall Model Advantages
  • The waterfall model allows correction of the
    failed tasks. This is represented by the
    feedback loops for task performances.
  • Simple to implement and manage.
  • Well used.

24
The Waterfall Model Disadvantages
  • Real projects are not sequential.
  • Can not state requirements completely early.
  • Customer does not see system until after testing.
  • Development often results in parts of project
    being blocked.
  • Emphasis is on ease of project management.
  • Method does not scale up to large projects well.
  • Can not ensure that the delivered product
    satisfies the customers requirements and the
    project proceeds in an essentially fixed sequence
    of phases.

25
The Prototyping Model
  • The prototyping model is often used when some
    aspects of the system are not well defined.
  • Prototyping is focused on a target product
    Lantz, 1985 Connell and Shafer, 1989 Gane,
    1989.
  • This model helps to ensure (in comparison with
    the waterfall model) the development of delivered
    products that satisfy the customers real needs.

26
The Prototyping Model
  • The general idea is to construct a series of
    prototypes to allow users to examine these and
    then to indicate what changes they want in the
    next one.
  • It should be pointed out that the prototypes are
    usually built using a waterfall model process.

27
The Prototyping Model Basic Steps - Requirements
Gathering
  • Obtain requirements from customer.
  • Identify areas of uncertainty.
  • Quick Design and Build
  • Quick design of aspects of system visible to
    customer.
  • Quick development of a prototype implementation.

28
The Prototyping Model Basic Steps - Customer
Evaluation of Prototype
  • Prototype used to refine the requirements of the
    system.
  • These basic steps are repeated until requirements
    are well defined.
  • Should discard prototype and build the real
    system.

29
The Prototyping Model Advantages
  • Customer can provide input to system early during
    the development of the prototype, and will
    usually get a system which does what they
    require, and which they want.
  • Reduces problems in requirements which are the
    most expensive to fix.

30
The Prototyping ModelDisadvantages
  • Customers see a working version early, and unless
    they have a basic knowledge of the process, can
    not understand why it should be thrown away.
  • The customer sees the prototype built quickly -
    may not understand why the real version takes
    so long.
  • Developer may make implementation decisions to
    get the prototype working quickly, and these may
    be carried over to the real system.

31
The Spiral Model
  • The Spiral model is a risk-driven approach
    Boehm, 1988.
  • The primarily goal of this model is to determine
    the risks involved in the process of product
    development and then to attempt to minimise those
    risks.
  • Spiral model is divided into a number of
    framework activities (or task regions).

32
The Spiral Model
  • The specific character of the spiral model is
    that it provides risk analysis before initiating
    each life-cycle phase.
  • This model represents a significant advantage by
    the incorporation of risk analysis, multiple
    paradigms, managerial and planning issues.

33
The Spiral Model
  • The spiral model views the development process in
    polar coordinates. (!!!)
  • The plane is divided into four quadrants that
    represent different kinds of activities, as
    follows
  • Determination of objectives, alternatives, and
    constraints.
  • Evaluation of alternatives identification and
    resolution of risks.
  • Development activities.
  • Review and planning for future cycles.

34
The Spiral Model (figure shows a single cycle of
the spiral)
35
The Spiral Model
  • Specific activities may overlap multiple spirals.
  • Also, concurrent spirals may be required to
    address varying areas of risk.
  • The commitment line may involve a decision to
    terminate the project or change direction based
    on the review results.
  • Some cycles of the spiral may require months to
    complete, while others require only days.

36
The Spiral Model
  • Each cycle of the model addresses all the
    activities between review and commitment events.
  • Early in the process, cycles may be short as
    alternatives in the decision space of the project
    are explored.
  • As risks are resolved, cycles may stretch, with
    the development quadrant subsuming several steps
    in the waterfall.

37
The Spiral Model
  • The spiral may be terminated with product
    deliveryin which case modification or
    maintenance activities are new spiralsor
    continue until the product is retired.

38
The Spiral Model Advantages
  • Matches reality in that requirements change over
    the life of a project.
  • Has advantages of prototyping - customer has
    early input into system.
  • Many adaptations possible.
  • Requires consideration of risks at all stages of
    the development

39
The Spiral Model Disadvantages
  • Customers may be concerned about control of the
    process in the spiral model. Can lead to
    difficulties in contract negotiations.
  • Requires considerable expertise in risk
    assessment.
  • Has not been as widely used as linear sequential
    model (seen as new).

40
Summary
  • Current software process models differ from each
    other by the goals and the different ordering of
    project tasks.
  • Most current software models present only one
    aspect that bears upon process development -
    namely, to present a description of process
    activities for software creation and evolution.

41
Summary
  • However, software is developed by people within a
    complex environment which can be defined by
    organisational, social, technical, psychological
    and other aspects.
  • Hence, one of the major reasons for the lack of
    process modelling success in practical
    applications is that the existing process models
    do not represent the human factors and
    environment settings in which projects exist.

42
Week 4 24.02.03- 28.02.03
  • Project Control Session
  • Tutorial Time 10 minutes for each Team
  • Project Team will present project file Schedule,
    any project documentation.
  • Students will describe where they are in the
    project and any problems encountered.
  • During the discussion reviewers will ask to see
    evidence of deliverables for any tasks that are
    complete to determine whether they have in fact
    been done.
Write a Comment
User Comments (0)
About PowerShow.com