Beruflich Dokumente
Kultur Dokumente
Presented By
Khurram Adeel Shaikh
1
Software Process Activities
Specification
Design
Implementation
Validation
Evolution
2
Software Process Models
Waterfall Model
Evolutionary Development
Component-based Software Engineering
Incremental Model
Spiral Model
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
Fundamental Software Process Activities
Software specification
Software design
Software implementation
Software validation
Software evolution
5
Software Process Models:
The Waterfall Method
Requirements
definition
System and
software design
Implementation
and unit testing
Operation and
maintenance
6
Software Process Models:
The Waterfall Method
Main characteristics:
Also known as classic software life cycle or
sequential model
Phases/Stages) are clearly separated
The Specification and Design Phases are freeze
after specific iterations
7
Software Process Models:
The Waterfall Method
Advantages:
Organized approach,
Provides robust separation of phases
Reflects common engineering practice
Disadvantages:
Adaptability
Too much dependability
Time consuming
Applicability:
Clear requirements
Less changes
8 Portability
Software Process Models:
The Evolutionary Development
Concurr ent
activities
Initial
Specification
version
Outline Intermediate
Development
description versions
Final
Validation
version
9
Software Process Models:
The Evolutionary Development
Main characteristics:
Interleaved phases
Continuous users’ Feedback
Easy Up gradation
Types of Evolutionary Development:
Exploratory Development
Throw-away Prototyping
10
Software Process Models:
The Evolutionary Development
Advantages:
Flexibility
Fast paced
Parallel development
Disadvantages:
Continuous editing/fixing
Poor documentation
System’s vulnerability
Special tools & techniques requirements
Superficial initial version
11
Software Process Models:
The Evolutionary Development
(cont’d…)
Applicability:
12
Software Process Models:
Component-based Software Engineering…
Development System
and integration validation
13
Software Process Models:
Component-based Software Engineering
(Contd….)
Main characteristics:
Intensive use of existing reusable components
Components integration
Advantages:
Faster delivery
Reliability due to using previously tested components
Disadvantages:
Compromises in requirements are needed
Less control over the system’s evolution
14
Software Process Models:
Component-based Software Engineering
(Cont’d….)
Applicability:
15
Software Process Models:
The Incremental Development
16
Software Process Models:
The Incremental Development
Main characteristics:
Hybrid model (combines elements of the waterfall &
evolutionary paradigms)
Phases are broken in smaller increments
Advantages:
Better support for process iteration
Reduces rework
Work with lesser requirements
Allows early delivery of parts of the system
Supports easier integration of sub-systems
17
Lower risk of project failure
Delivery priorities can be more easily set
Software Process Models:
The Incremental Method
(Cont’d….)
Disadvantages:
Small Increments needs
Difficult Mapping requirements
Difficult Common software facilities
Applicability:
When it is possible to deliver the system “part-by-part”
18
Software Process Models:
The Spiral Model
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 analy sis 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 Integr ation
Plan next phase test
Acceptance
Service test Develop, verify
19 next-level product
Software Process Models:
The Spiral Model
Main characteristics:
Hybrid model that support process iteration
Each loop in the spiral represents a process phase
Four sectors per loop:
- objective setting,
- risk assessment & reduction,
- development & validation,
- planning
Flexibility
20
Software Process Models:
The Spiral Model
(Cont’d….)
Advantages:
Risk reduction mechanisms
Supports iteration
Systematic approach
Disadvantages:
Requires expertise in risk evaluation and reduction
Relatively difficult to follow strictly
Applicable only to large systems
Applicability:
Internal development of large systems
21
Process Activities:
The Specification
Feasibility Requirements
study elicitation and
analysis
Requir ements
specification
Feasibility Requirements
report validation
System
models
User and system
requirements
Requirements
document
22
Process Activities:
The Design & Implementation
Requirements
specifica
tion
Design acti
vities
Architectur
al Interface Component Data Algorithm
Abstract
design design design structur
e design
specifica
tion
design
Software Data
System Interface Component Algorithm
specifica
tion structure
architectur
e specifica
tion specifica
tion specifica
tion
specification
Design pr
oducts
23
Process Activities:
Testing
24
Process Activities:
Testing
(Cont’d…)
25
Process Activities:
Testing
(Cont’d….)
26
Process Activities:
The Evolution
Existing New
systems system
27
The Rational Unified Process.
Phase iteration
28
The Rational Unified Process
(Cont’d…)
Workflow Description
Business modelling The business processes are modelled using business use cases.
Requirements Actors who interact with the system are identified and use cases are
developed to model the system requirements.
Analysis and design A design model is created and documented using architectural
models, component models, object models and sequence models.
Implementation The components in the system are implemented and structured into
implementation sub-systems. Automatic code generation from design
models helps accelerate this process.
Test Testing is an iterative process that is carried out in conjunction with
implementation. System testing follows the completion of the
implementation.
Deployment A product release is created, distributed to users and installed in their
workplace.
Configuration and This supporting workflow managed changes to the system (see
change management Chapter 29).
Project management This supporting workflow manages the system development (see
Chapter 5).
Environment This workflow is concerned with making appropriate software tools
available to the software development team.
29
CASE
Computer Aided Software Engineering
CASE
technology
Analysis and
Programming Testing
design
30