• No results found

Software Engineering for Software-Intensive Systems: III The Development Life Cycle

N/A
N/A
Protected

Academic year: 2021

Share "Software Engineering for Software-Intensive Systems: III The Development Life Cycle"

Copied!
38
0
0

Loading.... (view fulltext now)

Full text

(1)

Software Engineering for

Software-Intensive Systems:

III The Development Life Cycle

Assistant Professor Dr. Holger Giese Assistant Professor Dr. Holger Giese

Software Engineering Group Software Engineering Group

Room E 3.165 Room E 3.165

Tel. 60

Tel. 60 -3321 - 3321 Email:

Email: [email protected] [email protected]

(2)

Outline

I Introduction II Foundations

III The Development Life Cycle IV Requirements

V Analysis & Design VI Implementation

VII Verification & Validation

(3)

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

Holger Giese III-3

III The Development Life Cycle

III.1 Software Engineering Life Cycle Models III.2 System Engineering Life Cycle Models III.3 Embedded System Life Cycle Models III.4 Advanced Life Cycle Models & MDD III.5 Process Improvement

III.6 Discussion & Summary

III.7 Bibliography

(4)

III.1 Software Engineering Life Cycle Models

„ Waterfall Model

„ Prototyping

„ V Model

„ Spiral Model

„ RUP

(5)

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

Holger Giese III-5

Analysis

Design

Characteristics of Software Development Methodologies

(Historic) Waterfall Model

Operation and maintenance Installation

and conversion System test

Coding (+ Unit Test) Requirements

definition

Analysis

Design

Operation and maintenance Installation

and conversion System test

Coding (+ Unit Test) Requirements

definition

(6)

REQUIREMENTS DETERMINATION BY CUSTOMER PROTOTYPE

DESIGM PROTOTYPE IMPLEMENTATION

PROTOTYPE EVALUATION BY CUSTOMER

REQUIREMENTS FOR CORRECTIONS, CHANGES

AND ADDITIONS REQUIREMENTS

FULFILLED ?

SYSTEM TESTS AND ACCEPTANCE TESTS

NO

YES

The Prototyping Process

(7)

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

Holger Giese III-7

system model, construction

system, quality management

integration test

certification

Implemen- tation Specification

detailed design

system test specification

design spec.

tested modules modul

test

modules coarse

design Requirement

analysis service

Requirements documents

“V” Development Process

design

integrated system verified system

certified system

(8)

Spiral Model Process

Negotiation

† objectives, alternatives, strategies, constraints

Evaluation

† alternatives: „Make-or- Buy“, risk analysis

Construction & Test

† any SE-Process for partial or full system!

Planning

[Boehm1988]

evaluation negotiation

deployment

cumulative

cost area

end of cycling: consensus

(9)

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

Holger Giese III-9

Rational Unified Process (RUP)

iterations

[RUP1999]

(10)

III The Development Life Cycle

III.1 Software Engineering Life Cycle Models III.2 System Engineering Life Cycle Models III.3 Embedded System Life Cycle Models III.4 Advanced Life Cycle Models & MDD III.5 Process Improvement

III.6 Discussion & Summary

III.7 Bibliography

(11)

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

Holger Giese III-11

Life Cycle of System Engineering

[Sage&Armstrong2000]

(12)

Alternative View [Sage&Armstrong2000]

(13)

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

Holger Giese III-13

[Sage&Armstrong2000]

(14)

III The Development Life Cycle

III.1 Software Engineering Life Cycle Models III.2 System Engineering Life Cycle Models III.3 Embedded System Life Cycle Models III.4 Advanced Life Cycle Models & MDD III.5 Process Improvement

III.6 Discussion & Summary

III.7 Bibliography

(15)

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

Holger Giese III-15

III.3 Embedded System Life Cycle Models

(1) 3V Model

(2) Multiple V Model

(16)

(1) 3V Model (1/2)

(1) Embedded software

„ 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)

(17)

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

Holger Giese III-17

3V Model (2/2)

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

† Implementation aspects are not considered

„ Prototype: is characterized by rapid prototyping

† 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

(18)

(2) Multiple V Model

(19)

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

Holger Giese III-19

Multiple V Model (2/2)

(20)

III The Development Life Cycle

III.1 Software Engineering Life Cycle Models III.2 System Engineering Life Cycle Models III.3 Embedded System Life Cycle Models III.4 Advanced Life Cycle Models & MDD III.5 Process Improvement

III.6 Discussion & Summary

III.7 Bibliography

(21)

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

Holger Giese III-21

III.4 Advanced Life Cycle Models & MDD

(1) MDA

(2) Y-Model

(3) Platform-Based Design

(22)

(1) MDA

„ 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

Platform Specific Model (PSM) Platform Independent

Model (PIM) UML, …

Platforms (e.g.,

CORBA Profile, …)

(23)

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

Holger Giese III-23

Early Problem Detection in MDA

„ Models permit to detect some

problems early on:

† Reduced defect detection costs

† Reduced costs for defect removal

„ Traceability and portability

Platform Specific Model (PSM) Platform Independent

Model (PIM)

Code

(+ Platform, …)

Check platform independent properties

Check platform dependent

properties

Properties still hold

Property-preserving refinement (via automatic generation) Property-preserving refinement

(via automatic generation + annotations)

But this is a vision only for software- intensive systems!

But this is a vision

only for software-

intensive systems!

(24)

(2) Y-Model

Manual coding

Standard automatic code generator

Qualified

code generator

Generating code

Programming code

No code test

(Automated code test)

http://www.safeair.org/

http://www.safeair.org/description/D4-2_final_Report_v1.7.pdf

(25)

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

Holger Giese III-25

Application Example: Airbus

Tool:

„ Safety Critical Applications Development Environment (SCADE)

Application:

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

Result:

„ 70 % automatically generated code

„ 50 % reduction in development cost

„ reduction in modification cycle time by factor 3

Source: Esterel Technologies

(26)

(3) Platform-Based Design

Model Requirements

Resources Verification

Implementation

Environment

automatic (program analysis/model checking)

automatic (compilation/synthesis)

Platform Design-Space Platform Mapping

Application Space Application Instance

System

Platform

(27)

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

Holger Giese III-27

Idea

„ Platform:

† a family of architectures satisfying a set of constraints imposed to allow the reuse of hardware and software components.

„ Platform-based design:

† 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

[Sangiovanni-Vincentelli2002]

(28)

Platform-Based Design

Platform instances

Platform abstraction levels

Top-Down:

Map an instance of the upper platform onto an lower platform considering appropriate constrains.

Bottom-Up:

Find the appropriate platform levels.

Define platform level

parameters

(29)

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

Holger Giese III-29

III The Development Life Cycle

III.1 Software Engineering Life Cycle Models III.2 System Engineering Life Cycle Models III.3 Embedded System Life Cycle Models III.4 Advanced Life Cycle Models & MDD III.5 Process Improvement

III.6 Discussion & Summary

III.7 Bibliography

(30)

Systems Product Lifecycle

CONCEPTUAL

DETERIORATION MATURITY

MARKET

INTRODUCTION

GROWTH PURE

BASIC

RESEARCH

DEATH

RO I

RE VE NU E

PR O FI T

BREAKEVEN POINT INV ES TM

EN T

?

?

(31)

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

Holger Giese III-31

Process Management

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.

Common Misconceptions

„ I don’t need process, I have

† really good people

† advanced technology

† an experienced manager

„ Process

† interferes with creativity

† equals bureaucracy + regimentation

† isn’t 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

(32)

The CMMI Project

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.

„ The source models for the CMMI include:

(33)

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

Holger Giese III-33

CMMI Model Representations

PA PA

Continuous

Capability 0 1 2 3 4 5

Process

PA

ML 1

Staged

ML2 ML3

ML4 ML5

Organization

(34)

Managed Defined Quantitatively

Managed Optimizing

In Out

In Out

In Out

In Out

Process is characterized for projects and is often reactive

Process is characterized for the organization and is proactive

Process is measured and controlled

Focus is on continuous

quantitative improvement

(35)

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

Holger Giese III-35

.

Initial Managed

Defined Quantitatively

Managed Optimizing

Probabil ity

Time/$/...

Ta rge t N-z

Probabil ity

Time/$/...

Ta rge t N-y

Probabil ity

Time/$/...

Ta rge t N-x

Probabil ity

Time/$/...

Ta rge t N+a

Probabil ity

Time/$/...

Ta rge t N

Process is unpredictable, poorly controlled, and reactive

Process is characterized for projects and is often reactive

Process is characterized for the organization and is proactive

Process is measured and controlled

Focus is on continuous quantitative improvement

Risk

(36)

III The Development Life Cycle

III.1 Software Engineering Life Cycle Models III.2 System Engineering Life Cycle Models III.3 Embedded System Life Cycle Models III.4 Advanced Life Cycle Models & MDD III.5 Process Improvement

III.6 Discussion & Summary

III.7 Bibliography

(37)

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

Holger Giese III-37

III.6 Discussion & Summary

„ We have nearly the same life cycle models in the different disciplines.

„ Advanced life cycle models and model- driven approaches try to increase the

degree of automation and decrease time- to-market.

„ Especially for organizations which develop large-scale software-intensive systems

process improvement is crucial.

(38)

III.7 Bibliography (Additional ones)

[Boehm1988] 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. Addison- Wesley, January 1999.

[Sage&Armstrong2000] Andrew P. Sage and James E. Armstrong.

Introduction to Systems Engineering. Wiley Series in

References

Related documents

The reaction patterns car- ried out in the realm of surface energetics (entailing tendino- muscular meridian systems, trigger points, and Bi disorders) must be

la inducción del parto y el manejo expectante en pacientes con ruptura prematura de membranas pretérmino; que asimismo cumplieran las siguientes condiciones: (I) La PPROM

• Insert your annual budget (it can be express as a percentage of your revenue) Annual Budget Advertising (40% of the budget) Public relations (20% of the budget) Sales

[r]

and storage of raw materials, work-in-process inventory, and finished goods from point of origin to point of consumption. Interconnected or interlinked networks, channels and

Since SWE data in the clinical workflow typically were acquired from one of those three image planes, we also investigated this matter and found that, using only AE-SWE data

CLASSICAL WATERFALL MODEL (CONT.) }   The guidelines and methodologies of an organization:.. }   called the organization's

and Minerals (MIM), which was responsible for most of the country’s SOEs, developed a strategy to keep its “staff working and off the streets, cover their payroll disbursements