• No results found

Outline. III The Development Life Cycle. Characteristics of Software Development Methodologies. The Prototyping Process

N/A
N/A
Protected

Academic year: 2021

Share "Outline. III The Development Life Cycle. Characteristics of Software Development Methodologies. The Prototyping Process"

Copied!
7
0
0

Loading.... (view fulltext now)

Full text

(1)

University of Paderborn Software Engineering Group

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]

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

University of Paderborn Software Engineering Group

III-2

Outline

I Introduction II Foundations

III The Development Life Cycle IV Requirements

V Analysis & Design VI Implementation

VII Verification & Validation VIIISummary and Outlook

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

University of Paderborn Software Engineering Group

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

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

University of Paderborn Software Engineering Group

III-4

III.1 Software Engineering Life Cycle Models

„ Waterfall Model

„ Prototyping

„ V Model

„ Spiral Model

„ RUP

University of Paderborn Software Engineering Group

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

University of Paderborn Software Engineering Group

[Galin2004]

REQUIREMENTS DETERMINATION BY CUSTOMER PROTOTYPE

DESIGM PROTOTYPE IMPLEMENTATION

SYSTEM CONVERSION PROTOTYPE EVALUATION BY CUSTOMER

SYSTEM OPERATION AND MAINTENANCE

REQUIREMENTS FOR CORRECTIONS, CHANGES

AND ADDITIONS REQUIREMENTS

FULFILLED ? SYSTEM TESTS AND ACCEPTANCE TESTS

NO YES

The Prototyping Process

(2)

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

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

Holger Giese III-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

† Review,

† Plan next phases

[Boehm1988]

evaluation

construction

& test negotiation

planning & (re) organization deployment

progress: #cycles cumulative

cost area end of cycling: consensus

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

University of Paderborn Software Engineering Group

III-9

Rational Unified Process (RUP)

iterations [RUP1999]

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

University of Paderborn Software Engineering Group

III-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

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

University of Paderborn Software Engineering Group

III-11

Life Cycle of System Engineering

[Sage&Armstrong2000]

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

University of Paderborn Software Engineering Group

III-12

Alternative View [Sage&Armstrong2000]

(3)

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

University of Paderborn Software Engineering Group

III-13 [Sage&Armstrong2000]

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

University of Paderborn Software Engineering Group

III-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

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

University of Paderborn Software Engineering Group

III-15

III.3 Embedded System Life Cycle Models

(1) 3V Model

(2) Multiple V Model

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

University of Paderborn Software Engineering Group

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

[Broekman&Notenboom2003]

University of Paderborn Software Engineering Group

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

University of Paderborn Software Engineering Group

(2) Multiple V Model [Broekman&Notenboom2003]

(4)

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

Holger Giese III-19

Multiple V Model (2/2) [Broekman&Notenboom2003]

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

Holger Giese III-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

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

University of Paderborn Software Engineering Group

III-21

III.4 Advanced Life Cycle Models & MDD

(1) MDA (2) Y-Model

(3) Platform-Based Design

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

University of Paderborn Software Engineering Group

III-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 on any platform”

Platform Specific Model (PSM) Platform Independent

Model (PIM)

Code (+ Platform, …)

UML, …

Platforms (e.g., CORBA Profile, …)

C++

(+ CORBA, …)

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

University of Paderborn Software Engineering Group

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!

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

University of Paderborn Software Engineering Group

III-24

(2) Y-Model

Time Manual coding

Standard automatic code generator

Qualified code generator

Design verifier

Generating code Programming code

No code test (Automated code test)

Automated design verification

[Camus&Dion2003]

http://www.safeair.org/

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

(5)

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

University of Paderborn Software Engineering Group

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

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

University of Paderborn Software Engineering Group

III-26

(3) Platform-Based Design

Model Requirements

Resources Verification

Implementation

Environment automatic (program analysis/model checking)

automatic (compilation/synthesis)

Platform Design-Space Export Platform Mapping

Architectural Space Application Space Application Instance

Platform Instance System Platform

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

University of Paderborn Software Engineering Group

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]

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

University of Paderborn Software Engineering Group

III-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

University of Paderborn Software Engineering Group

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

University of Paderborn Software Engineering Group

Systems Product Lifecycle

CONCEPTUAL DEFINITION

PRODUCTION

OERATIONAL

DIVESTMENT DETERIORATION MATURITY

M A R KET

IN T R OD U C T ION

GROWTH PURE

BASIC RESEARCH

DE A T H

RO I

RE VE NU E PR O FI T

BREAKEVEN POINT INV ES TM EN T

?

?

(6)

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

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

Holger Giese III-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:

† 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

III-33

CMMI Model Representations

PA PA

Continuous

C a p a b ilit y 0 1 2 3 4 5

Process

PA ML 1

Staged

ML2 ML3

ML4 ML5

Organization

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

University of Paderborn Software Engineering Group

III-34

Initial Managed

Defined Quantitatively

Managed Optimizing

Level Process Characteristics Management Visibility

Out In

In Out

In Out

In Out

In Out

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

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

University of Paderborn Software Engineering Group

III-35

.

Initial Managed

Defined Quantitatively

Managed Optimizing

Level Process Characteristics Predicted Performance

P ro b ab ility

Time/$/...

Ta rg et N -z

P ro b ab ility

Time/$/...

Ta rg et N -y

P ro b ab ility

Time/$/...

Ta rg et N -x

P ro b ab ility

Time/$/...

Ta rg et N +a

P ro b ab ility

Time/$/...

Ta rg et 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

Ris k

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

University of Paderborn Software Engineering Group

III-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

(7)

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

University of Paderborn Software Engineering Group

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.

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

University of Paderborn Software Engineering Group

III-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

Systems Engineering and Management. Wiley-

Interscience, March 2000.

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

Winters Instruments is a global manufacturer of premium quality pressure and temperature instrumentation, with distribution partners in over

• 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

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

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