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

University of Paderborn

Software Engineering Group

University of Paderborn
Software Engineering Group

Outline
I Introduction
II Foundations
III The Development Life Cycle
IV Requirements
V Analysis & Design
VI Implementation
VII Verification & Validation
VIIISummary and Outlook

Software Engineering for


Software-Intensive Systems:
III The Development Life Cycle
Assistant Professor Dr. Holger Giese
Software Engineering Group
Room E 3.165
Tel. 6060-3321
Email: hg@upb.de

Holger Giese

III-2

WS05/06 Software Engineering for Software-Intensive Systems III The Development Life Cycle

University of Paderborn
Software Engineering Group

University of Paderborn
Software Engineering Group

III The Development Life Cycle

III.1 Software Engineering Life Cycle Models

III.1
III.2
III.3
III.4
III.5
III.6
III.7

Software Engineering Life Cycle Models


System Engineering Life Cycle Models
Embedded System Life Cycle Models
Advanced Life Cycle Models & MDD
Process Improvement
Discussion & Summary
Bibliography

WS05/06 Software Engineering for Software-Intensive Systems III The Development Life Cycle

Holger Giese

Waterfall Model
Prototyping
V Model
Spiral Model
RUP

III-3

Holger Giese

University of Paderborn
Software Engineering Group

University of Paderborn
Software Engineering Group

Characteristics of Software
Development Methodologies
Requirements
definition

The Prototyping Process

[Galin2004]

REQUIREMENTS
DETERMINATION
BY CUSTOMER
PROTOTYPE
DESIGM

(Historic) Waterfall Model

PROTOTYPE
IMPLEMENTATION

Analysis

PROTOTYPE
EVALUATION
BY CUSTOMER

Design
Coding
(+ Unit Test)

REQUIREMENTS
FULFILLED ?

NO

REQUIREMENTS FOR
CORRECTIONS, CHANGES
AND ADDITIONS

YES
SYSTEM TESTS AND
ACCEPTANCE TESTS

System test
Installation
and conversion

SYSTEM CONVERSION

Operation and
maintenance

Holger Giese

III-4

WS05/06 Software Engineering for Software-Intensive Systems III The Development Life Cycle

WS05/06 Software Engineering for Software-Intensive Systems III The Development Life Cycle

SYSTEM OPERATION
AND MAINTENANCE
III-5

Holger Giese

WS05/06 Software Engineering for Software-Intensive Systems III The Development Life Cycle

III-6

University of Paderborn
Software Engineering Group

University of Paderborn
Software Engineering Group

Spiral Model Process

V Development Process
Requirement
analysis

Negotiation

Requirements documents

negotiation

service

certified system
Specification

certification

evaluation

cumulative
cost area

verified system

system

end of cycling: consensus

test

design spec.

system model,
construction
Holger Giese

modul
test

modules

Make-orBuy, risk analysis


SE-Process for
partial or full system!

tested modules
Implementation

alternatives:

any

integration
test

design

alternatives,
strategies, constraints

Construction & Test

integrated system
detailed
design

objectives,

Evaluation

deployment

specification

coarse
design

[Boehm1988]

system,
quality management
III-7

WS05/06 Software Engineering for Software-Intensive Systems III The Development Life Cycle

planning & (re)


organization

construction
& test

progress: #cycles
Holger Giese

Planning
Review,
Plan

next phases
III-8

WS05/06 Software Engineering for Software-Intensive Systems III The Development Life Cycle

University of Paderborn
Software Engineering Group

University of Paderborn
Software Engineering Group

Rational Unified Process (RUP)

III The Development Life Cycle

[RUP1999]

iterations

Holger Giese

III-9

WS05/06 Software Engineering for Software-Intensive Systems III The Development Life Cycle

III.1
III.2
III.3
III.4
III.5
III.6
III.7

Holger Giese

Software Engineering Life Cycle Models


System Engineering Life Cycle Models
Embedded System Life Cycle Models
Advanced Life Cycle Models & MDD
Process Improvement
Discussion & Summary
Bibliography

WS05/06 Software Engineering for Software-Intensive Systems III The Development Life Cycle

University of Paderborn
Software Engineering Group

Life Cycle of System Engineering

III-10

University of Paderborn
Software Engineering Group

Alternative View

[Sage&Armstrong2000]

[Sage&Armstrong2000]

Holger Giese

WS05/06 Software Engineering for Software-Intensive Systems III The Development Life Cycle

III-11

Holger Giese

WS05/06 Software Engineering for Software-Intensive Systems III The Development Life Cycle

III-12

University of Paderborn
Software Engineering Group

[Sage&Armstrong2000]

University of Paderborn
Software Engineering Group

III The Development Life Cycle


III.1
III.2
III.3
III.4
III.5
III.6
III.7

Holger Giese

WS05/06 Software Engineering for Software-Intensive Systems III The Development Life Cycle

III-13

Holger Giese

Software Engineering Life Cycle Models


System Engineering Life Cycle Models
Embedded System Life Cycle Models
Advanced Life Cycle Models & MDD
Process Improvement
Discussion & Summary
Bibliography

WS05/06 Software Engineering for Software-Intensive Systems III The Development Life Cycle

University of Paderborn
Software Engineering Group

III-14

University of Paderborn
Software Engineering Group

III.3 Embedded System Life Cycle Models

(1) 3V Model (1/2)

(1) 3V Model
(2) Multiple V Model

(1) Embedded software

[Broekman&Notenboom2003]

Compiled for host


Compiled for target platform

(2) Processor
High performance host
Target platform emulator

(3) Rest of the embedded system


Simulated on the host
Experimental hardware platform
Prototype hardware platform

(4) Plant
Statically (signal generator)
Dynamically (simulation model)

Holger Giese

WS05/06 Software Engineering for Software-Intensive Systems III The Development Life Cycle

III-15

Holger Giese

WS05/06 Software Engineering for Software-Intensive Systems III The Development Life Cycle

University of Paderborn
Software Engineering Group

Model: covers the definition and simulation of the overall system functionality

Prototype: is characterized by rapid prototyping

University of Paderborn
Software Engineering Group

(2) Multiple V Model

3V Model (2/2)

III-16

[Broekman&Notenboom2003]

Implementation aspects are not considered


hardware specific parameters become important
deployment & message scheduling
local design addresses the scheduling of tasks on each node

Final product: addresses the system development for the final target hardware

typical problem: limited performance of the target system


http://www.vmars.tuwien.ac.at/projects/setta
http://www.vmars.tuwien.ac.at/projects/setta/docs/meetings/020121p/final_document.pdf

Holger Giese

WS05/06 Software Engineering for Software-Intensive Systems III The Development Life Cycle

III-17

Holger Giese

WS05/06 Software Engineering for Software-Intensive Systems III The Development Life Cycle

III-18

University of Paderborn
Software Engineering Group

Multiple V Model (2/2)

[Broekman&Notenboom2003]

University of Paderborn
Software Engineering Group

III The Development Life Cycle


III.1
III.2
III.3
III.4
III.5
III.6
III.7

Holger Giese

WS05/06 Software Engineering for Software-Intensive Systems III The Development Life Cycle

III-19

Software Engineering Life Cycle Models


System Engineering Life Cycle Models
Embedded System Life Cycle Models
Advanced Life Cycle Models & MDD
Process Improvement
Discussion & Summary
Bibliography

Holger Giese

WS05/06 Software Engineering for Software-Intensive Systems III The Development Life Cycle

University of Paderborn
Software Engineering Group

University of Paderborn
Software Engineering Group

III.4 Advanced Life Cycle Models & MDD

(1) MDA

(1) MDA
(2) Y-Model
(3) Platform-Based Design

Holger Giese

WS05/06 Software Engineering for Software-Intensive Systems III The Development Life Cycle

III-21

An approach to IT
system specification
that separates the
specification of
system functionality
from the specification
of the implementation
of that functionality on
a particular
technology platform
Design once, build it
on any platform

Holger Giese

Platform Independent
Model (PIM)

Platform Specific
Model (PSM)

Code
(+ Platform, )

Platform Independent
Model (PIM)

Check platform
independent
properties

Check platform
dependent
properties

Property-preserving refinement
(via automatic generation)

Code
(+ Platform, )

Holger Giese

Properties still
hold

C++
(+ CORBA, )

III-22

[Camus&Dion2003]
http://www.safeair.org/
http://www.safeair.org/description/D4-2_final_Report_v1.7.pdf

Manual coding
Programming code

Reduced defect
detection costs
Reduced costs for
defect removal

Property-preserving refinement
(via automatic generation + annotations)

Platform Specific
Model (PSM)

Platforms (e.g.,
CORBA Profile, )

University of Paderborn
Software Engineering Group

(2) Y-Model

Models permit to
detect some
problems early on:

UML,

WS05/06 Software Engineering for Software-Intensive Systems III The Development Life Cycle

University of Paderborn
Software Engineering Group

Early Problem Detection in MDA

III-20

Standard automatic
code generator

Traceability and
portability

Qualified
code generator

No code test
(Automated code test)

Design verifier

Automated design
verification
Time

But
But this
this is
is aa vision
vision
only
only for
for softwaresoftwareintensive
intensive systems!
systems!

WS05/06 Software Engineering for Software-Intensive Systems III The Development Life Cycle

III-23

Generating code

Holger Giese

WS05/06 Software Engineering for Software-Intensive Systems III The Development Life Cycle

III-24

University of Paderborn
Software Engineering Group

Application Example: Airbus

University of Paderborn
Software Engineering Group

(3) Platform-Based Design

Tool:
Safety Critical Applications Development
Environment (SCADE)

Requirements

Verification

Application:
A340/600 FCSC (Flight Control
Secondary Computer):

automatic (program analysis/model


checking)
Environment

Model

Application Space
Application Instance
Implementation

Result:
70 % automatically generated code
50 % reduction in development cost
reduction in modification cycle time by
factor 3

automatic (compilation/synthesis)

Platform
Mapping
System
Platform

Resources
Platform
Design-Space
Export
Platform Instance

Architectural Space

Source: Esterel Technologies


WS05/06 Software Engineering for Software-Intensive Systems III The Development Life Cycle

Holger Giese

III-25

Holger Giese

University of Paderborn
Software Engineering Group

Idea

[Sangiovanni-Vincentelli2002]

University of Paderborn
Software Engineering Group

Platform-Based Design

Platform:
a

family of architectures satisfying a set of constraints


imposed to allow the reuse of hardware and software
components.

III-26

WS05/06 Software Engineering for Software-Intensive Systems III The Development Life Cycle

Platform-based design:

Bottom-Up:

Top-Down:

Find the appropriate


platform levels.

Map an instance of the


upper platform onto an
lower platform considering
appropriate constrains.

Define platform level


parameters

meet-in-the-middle

approach: In the top-down design


flow, designers map an instance of the upper platform
to an instance of the lower, and propagate design
constraints.
exposing key resource limitations
hiding inessential implementation details
Holger Giese

WS05/06 Software Engineering for Software-Intensive Systems III The Development Life Cycle

III-27

Platform instances
Platform abstraction levels

Holger Giese

University of Paderborn
Software Engineering Group

University of Paderborn
Software Engineering Group

Systems Product Lifecycle

III The Development Life Cycle

PURE
BASIC
RESEARCH

GROWTH

DETERIORATION

I
RO

E
NU
VE
RE

?
IN
VE
ST
ME
NT

MATURITY

DEATH

Software Engineering Life Cycle Models


System Engineering Life Cycle Models
Embedded System Life Cycle Models
Advanced Life Cycle Models & MDD
Process Improvement
Discussion & Summary
Bibliography

MARKET
INTRODUCTION

III.1
III.2
III.3
III.4
III.5
III.6
III.7

III-28

WS05/06 Software Engineering for Software-Intensive Systems III The Development Life Cycle

T
FI
O
PR

BREAKEVEN POINT

CONCEPTUAL
DEFINITION
PRODUCTION

DIVESTMENT
OERATIONAL

Holger Giese

WS05/06 Software Engineering for Software-Intensive Systems III The Development Life Cycle

III-29

Holger Giese

WS05/06 Software Engineering for Software-Intensive Systems III The Development Life Cycle

III-30

University of Paderborn
Software Engineering Group

University of Paderborn
Software Engineering Group

Process Management

The CMMI Project

Why?
The quality outcome and timeliness of the system development is highly
influenced by the quality of the process used to acquire, develop, and
maintain it.

The CMM Integration Project was formed to:


Establish a framework to integrate current and future
models
Build an initial set of integrated models
CMMI models that cover both systems engineering and
software engineering might best be described as
"engineering models." They are intended to cover the
enterprise and include all the processes that result in
products or services.

Common Misconceptions
I dont need process, I have
really good people
advanced technology
an experienced manager

Process
interferes with creativity
equals bureaucracy + regimentation
isnt needed when building prototypes
is only useful on large projects
hinders agility in fast-moving markets
costs too much

http://www.sei.cmu.edu/cmmi/general/general.html

WS05/06 Software Engineering for Software-Intensive Systems III The Development Life Cycle

Holger Giese

The source models for the CMMI include:

III-31

Software: CMM for Software v2.0 Draft C,


Systems Engineering: EIA 731 Systems Engineering
WS05/06 Software Engineering for Software-Intensive Systems III The Development Life Cycle

Holger Giese

University of Paderborn
Software Engineering Group

University of Paderborn
Software Engineering Group

CMMI Model Representations

Process Characteristics

Level
Optimizing

Staged

ML3
ML2

Continuous

Quantitatively
Managed

Capability
1 2 3 4 5

ML5
ML4

PA

Organization
Holger Giese

PA

WS05/06 Software Engineering for Software-Intensive Systems III The Development Life Cycle

III-33

Target N-y

Process is measured
and controlled

Probability

Time/$/...

Quantitatively
Managed

Managed

Process is characterized
for projects and is often
reactive

Target N-x

Defined

Probability

Time/$/...

Process is characterized
for the organization and
is proactive

Holger Giese

Time/$/...

Risk

Target N+a
.

Target N

Probability

Process is unpredictable,
poorly controlled, and
reactive

Probability

Time/$/...

Initial

In

Out

Out

Managed

Process is characterized
for projects and is often
reactive

In

Out

Initial

Process is unpredictable,
poorly controlled, and
reactive

In

Out

Holger Giese

WS05/06 Software Engineering for Software-Intensive Systems III The Development Life Cycle

III-34

III The Development Life Cycle

Target N-z

Probability

Optimizing

Process is measured
and controlled

University of Paderborn
Software Engineering Group

Predicted Performance

Process Characteristics
Focus is on continuous
quantitative improvement

Out

In

University of Paderborn
Software Engineering Group

Level

In

Focus is on continuous
quantitative improvement

Process is characterized
for the organization and
is proactive

PA

Process

Management Visibility

Defined

ML 1

III-32

III.1
III.2
III.3
III.4
III.5
III.6
III.7

Software Engineering Life Cycle Models


System Engineering Life Cycle Models
Embedded System Life Cycle Models
Advanced Life Cycle Models & MDD
Process Improvement
Discussion & Summary
Bibliography

Time/$/...

WS05/06 Software Engineering for Software-Intensive Systems III The Development Life Cycle

III-35

Holger Giese

WS05/06 Software Engineering for Software-Intensive Systems III The Development Life Cycle

III-36

University of Paderborn
Software Engineering Group

University of Paderborn
Software Engineering Group

III.6 Discussion & Summary

III.7 Bibliography (Additional ones)

We have nearly the same life cycle


models in the different disciplines.
Advanced life cycle models and modeldriven approaches try to increase the
degree of automation and decrease timeto-market.
Especially for organizations which develop
large-scale software-intensive systems
process improvement is crucial.

[Boehm1988]

Holger Giese

WS05/06 Software Engineering for Software-Intensive Systems III The Development Life Cycle

III-37

Barry W. Boehm. A Spiral Model of Software


Development and Enhancement. IEEE Computer,
21(5):61 72, 1988.
[Camus&Dion2003] Jean-Luis Camus and Bernard Dion. Efficient
development of airborne software with scade suite.
2003.
[Galin2004]
D. Galin, Software Quality Assurance: From theory to
implementation. Harlow, England: Pearson Addison
Wesley, 2004.
[RUP1999]
Ivar Jacobson, Grady Booch, and James Rumbaugh.
The Unified Software Development Process. The
Addison-Wesley Object Technology Series. AddisonWesley, January 1999.
[Sage&Armstrong2000] Andrew P. Sage and James E. Armstrong.
Introduction to Systems Engineering. Wiley Series in
Systems Engineering and Management. WileyInterscience, March 2000.

Holger Giese

WS05/06 Software Engineering for Software-Intensive Systems III The Development Life Cycle

III-38

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