CS 425/625 Software Engineering Software Processes - PowerPoint PPT Presentation

About This Presentation
Title:

CS 425/625 Software Engineering Software Processes

Description:

Throw-away prototyping. 9. Software Process Models: ..Evolutionary Development. Advantages: ... developer agree on a 'rapid prototype' that will be thrown away ... – PowerPoint PPT presentation

Number of Views:113
Avg rating:3.0/5.0
Slides: 31
Provided by: sergium
Learn more at: http://www.cse.unr.edu
Category:

less

Transcript and Presenter's Notes

Title: CS 425/625 Software Engineering Software Processes


1
CS 425/625 Software Engineering Software
Processes
  • Based on Chapter 4 of the textbook SE-8
  • Ian Sommerville, Software Engineering, 8th Ed.,
    Addison-Wesley, 2006 and on Ch4 PPT presentation
    from
  • http//www.software-engin.com/
  • September 21, 2009

2
Outline
  • Software Process Models
  • Waterfall model
  • Evolutionary development
  • Component-based software engineering
  • Incremental model
  • Spiral model
  • Software Process Activities
  • Specification
  • Design and implementation
  • Validation
  • Evolution
  • The Rational Unified Process
  • Computer-Aided Software Engineering

3
Software Process Models
  • Software process organized set of activities
    aimed at building a software system
  • Software process model an abstract
    representation of a software process
  • Fundamental software process activities
  • Software specification
  • Software design
  • Software implementation
  • Software validation
  • Software evolution

4
Software Process Models Waterfall..
  • The Waterfall model SE-8, Fig 4.1

5
Software Process Models .Waterfall.
  • Main characteristics
  • Also called classic software life cycle or
    sequential model
  • Process activities (phases/stages) are clearly
    separated
  • After a number of iterations, phases of the life
    cycle (such as specification and design) are
    frozen

6
Software Process Models ..Waterfall
  • Advantages
  • Organized approach, provides robust separation of
    phases
  • Reflects common engineering practice
  • Disadvantages
  • Doesnt cope well with changes required by the
    client
  • Development teams might wait for each other
  • A working version of the product is available
    only late
  • Applicability
  • When requirements are well known and few changes
    are likely to be needed
  • Can be used also for parts of larger software
    systems

7
Software Process Models Evolutionary
Development
  • Evolutionary Development model SE-8, Fig 4.2

8
Software Process Models .Evolutionary
Development..
  • Main characteristics
  • The phases of the software construction are
    interleaved
  • Feedback from the user is used throughout the
    entire process
  • The software product is refined through many
    versions
  • Types of evolutionary development
  • Exploratory development
  • Throw-away prototyping

9
Software Process Models ..Evolutionary
Development.
  • Advantages
  • Deals constantly with changes
  • Provides quickly an initial version of the system
  • Involves all development teams
  • Disadvantages
  • Quick fixes may be involved
  • Invisible process, not well-supported by
    documentation
  • The systems structure can be corrupted by
    continuous change

10
Software Process Models Evolutionary
Development
  • Disadvantages contd
  • Special tools and techniques may be necessary
  • The client may have the impression the first
    version is very close to the final product and
    thus be less patient
  • Applicability
  • When requirements are not well understood
  • When the client and the developer agree on a
    rapid prototype that will be thrown away
  • Good for small and medium-sized software systems

11
Software Process Models Component-based
Software Engineering
  • CBSE process model SE-8, Fig 4.3

12
Software Process Models .Component-based
Software Engineering..
  • Main characteristics
  • Makes intensive use of existing reusable
    components
  • The focus is on integrating the components rather
    than on creating them from the scratch

13
Software Process Models ..Component-based
Software Engineering.
  • Advantages
  • Reduces considerably the software to be developed
    in-house
  • Allows faster delivery
  • In principle, more reliable systems, due to using
    previously tested components

14
Software Process Models Component-based
Software Engineering
  • Disadvantages
  • Compromises in requirements are needed
  • Less control over the systems evolution
  • Applicability
  • When there is a pool of existing components that
    could satisfy the requirements of the new product
  • Emerging trend integration of web services from
    a range of suppliers

15
Software Process Models Incremental Development
  • The Incremental model SE-8, Fig 4.4

16
Software Process Models .Incremental..
  • Main characteristics
  • Hybrid model that combines elements of the
    waterfall and evolutionary paradigms
  • The specification, design, and implementation
    phases are broken in smaller increments

17
Software Process Models ..Incremental.
  • Advantages
  • Provides better support for process iteration
  • Reduces rework in the software construction
    process
  • Some decisions on requirements may be delayed
  • Allows early delivery of parts of the system
  • Supports easier integration of sub-systems
  • Lower risk of project failure
  • Delivery priorities can be more easily set

18
Software Process Models ...Incremental
  • Disadvantages
  • Increments need be relatively small
  • Mapping requirements to increments may not be
    easy
  • Common software features may be difficult to
    identify
  • Applicability
  • When it is possible to deliver the system
    part-by-part

19
Software Process Models Spiral Model..
  • Boehms Spiral Model SE-8, Fig 4.5

20
.Software Process Models Spiral Model.
  • Main characteristics
  • Also a hybrid model that support process
    iteration
  • The process is represented as a spiral, each loop
    in the spiral representing a process phase
  • Four sectors per loop objective setting, risk
    assessment and reduction, development and
    validation, planning
  • Risk is explicitly taken into consideration

21
Software Process Models ..Spiral Model
  • Advantages
  • Risk reduction mechanisms are in place
  • Supports iteration and reflects real-world
    practices
  • Systematic approach
  • Disadvantages
  • Requires expertise in risk evaluation and
    reduction
  • Complex, relatively difficult to follow strictly
  • Applicable only to large systems
  • Applicability
  • Internal development of large systems

22
Process Activities Specification
  • Requirements engineering SE-8, Fig. 4.6

23
Process Activities Design Implementation
  • A general model for design SE-8, Fig 4.7

24
Process Activities Testing..
  • The debugging process SE-8, Fig 4.8

25
Process Activities .Testing.
  • The testing process SE-8, Fig 4.9

26
Process Activities ..Testing
  • Testing phases in the SE process SE-8, Fig.
    4.10

27
Process Activities Evolution
  • System evolution SE-8, Fig 4.11

28
The Rational Unified Process.
  • RUP phases SE-8, Fig 4.12

29
.The Rational Unified Process
  • RUP workflows SE-8, Fig 4.13

30
CASE
  • Classification of CASE technology SE-7, Fig
    4.14
Write a Comment
User Comments (0)
About PowerShow.com