Вы находитесь на странице: 1из 30

p 

 


 6    


        
    

      
  
  
         
   
         
 
          
 

  

          
   
   
|
Outline
 Software Process Models
 Waterfall model
 Evolutionary development
 Component
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
Computer
Ô
3 tware Pr ess M els
 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
è
3 tware Pr ess M els: Waterall..

 The Waterfall model [SE


[SE--8, Fig 4.1]
Requirements
definition

System and
software design

Implementation
and unit testing

Integration and
system testing

Operation and
maintenance

D
3 tware Pr ess M els: .Waterall.

 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µ

"
3 tware Pr ess M els: ..Waterall
 Advantages:
 Organized approach, provides robust separation of phases
 Reflects common engineering practice
 Disadvantages:
 Doesn·t 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

Ã
3 tware Pr ess M els:
Ev luti nary Devel ent«
 Evolutionary Development model [SE-
[SE-8, Fig 4.2]

Concurrent
activities

Initial
Specification
version

Outline Intermediate
Development
description versions

Final
Validation
version

ñ
3 tware Pr ess M els:
.Ev luti nary Devel ent..
 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
Throw

r
3 tware Pr ess M els:
..Ev luti nary Devel ent.
 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-
well-supported by
documentation
 The system·s structure can be corrupted by continuous
change

Ñ
3 tware Pr ess M els:
«Ev luti nary Devel ent
 Disadvantages [cont·d]:
 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-
medium-sized software systems

|
3 tware Pr ess M els:
C  nent-
nent-base 3 tware Engineering«

 CBSE process model [SE-


[SE-8, Fig 4.3]

Requirements Component Requirements System design


specification analysis modification with reuse

Development System
and integration validation

||
3 tware Pr ess M els:
.C  nent
nent--base 3 tware 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


3 tware Pr ess M els:
..C  nent-
nent-base 3 tware Engineering.

 Advantages:
 Reduces considerably the software to be developed ´in-
´in-
houseµ
 Allows faster delivery
 In principle, more reliable systems, due to using previously
tested components


3 tware Pr ess M els:
«C  nent
nent--base 3 tware Engineering

 Disadvantages:
 Compromises in requirements are needed
 Less control over the system·s 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

|D
3 tware Pr ess M els:
Inreental Devel ent«
 The Incremental model [SE
[SE--8, Fig 4.4]

Define outline Assign requirements Design system


requirements to increments architecture

Develop system Validate Integrate Validate


increment increment increment system
Final
system
System incomplete

|"
3 tware Pr ess M els:
.Inreental..
 Main characteristics:
 Hybrid model that combines elements of the waterfall and
evolutionary paradigms
 The specification, design, and implementation phases are
broken in smaller increments


3 tware Pr ess M els:
..Inreental.
 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-
sub-systems
 Lower risk of project failure
 Delivery priorities can be more easily set


3 tware Pr ess M els:
...Inreental
 Disadvantages:
 Increments need be relatively small
 Mapping requirements to increments may not be easy
 Common software facilities may be difficult to identify
 Applicability:
 When it is possible to deliver the system ´part-
´part-by-
by-partµ

|r
3 tware Pr ess M els: 3iral M el..
 Boehm·s Spiral Model [SE
[SE--8, Fig 4.5]
Determine objectives
Evaluate alternatives
alternatives and
identify, resolve risks
constraints Risk
analysis
Risk
analysis
Risk
analysis Opera-
Prototype 3 tional
Prototype 2 protoype
Risk
REVIEW analysis Proto-
type 1
Requirements plan Simulations, models, benchmarks
Life-cycle plan Concept of
Operation S/W
requirements Product
design Detailed
Requirement design
Development
plan validation Code
Design Unit test
Integration
and test plan V&V Integration
Plan next phase test
Acceptance
Service test Develop, verify
next-level product

.3 tware Pr ess M els: 3iral M el.

 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

Ô
3 tware Pr ess M els: ..3iral M el
 Advantages:
 Risk reduction mechanisms are in place
 Supports iteration and reflects real-
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

Ô|
Pr ess Ativities: 3eiiati n
 Requirements engineering [SE
[SE--8, Fig. 4.6]

Feasibility Requirements
study elicitation and
analysis
Requirements
specification
Feasibility Requirements
report validation
System
models
User and system
requirements

Requirements
document

ÔÔ
Pr ess Ativities: Design &
Ileentati n
 A general model for design [SE-
[SE-8, Fig 4.7]
Requirements
specification

Design activities

Architectural Interface Component Data Algorithm


Abstract
design design design structure design
specification
design

Software Data
System Interface Component Algorithm
specification structure
architecture specification specification specification
specification

Design products

Ôè
Pr ess Ativities: Testing..
 The debugging process [SE-
[SE-8, Fig 4.8]

Locate Design Repair Re-test


error error repair error program

ÔD
Pr ess Ativities: .Testing.
 The testing process [SE-
[SE-8, Fig 4.9]

Ô"
Pr ess Ativities: ..Testing
 Testing phases in the SE process [SE-
[SE-8, Fig. 4.10]

ÔÃ
Pr ess Ativities: Ev luti n
 System evolution [SE
[SE--8, Fig 4.11]

Define system Assess existing Propose system Modify


requirements systems changes systems

Existing New
systems system

Ôñ
The Rati nal Uniie Pr ess.
 RUP phases [SE
[SE--8, Fig 4.12]

Ôr
.The Rati nal Uniie Pr ess
 RUP workflows [SE
[SE--8, Fig 4.13]
p   
  
                                
!    6 
  
                
           !     
6       6                    
  "       " #      !    
$                             
         6           
              
                          # 

          
         
    
     6         "                 

   
%         
  
            &
      %    '() 
* #         
  
               &
%    +) 
         
  
   
         
    
         
        

ÔÑ
CA3E
 Classification of CASE technology [SE-
[SE-7, Fig 4.14]
CASE
technology

Tools Workbenches Environments

File Integrated Process-centred


Editors Compilers
comparators environments environments

Analysis and
Programming Testing
design

Multi-method Single-method General-purpose Language-specific


workbenches workbenches workbenches workbenches

Вам также может понравиться