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



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

The most suitable system methodology for the proposed system is drawn out.

Classical Software Life Cycle Models

Course Computer Science Academic year 2012/2013 Subject Software Engineering II ECTS 6

I219 Software Design Methodology

3C05: Unified Software Development Process

CHAPTER_3 SOFTWARE ENGINEERING (PROCESS MODELS)

What CMMI Cannot Give You: Good Software

The Unified Software Development Process

SOFTWARE PROCESS MODELS

CS4507 Advanced Software Engineering

F-22 Raptor. Agenda. 1. Motivation

Software Engineering. Software Processes. Based on Software Engineering, 7 th Edition by Ian Sommerville

To introduce software process models To describe three generic process models and when they may be used

Software Engineering

Software Quality Assurance in Agile, XP, Waterfall and Spiral A Comparative Study

Verification and Validation of Software Components and Component Based Software Systems

Software Development Process

Implementing Models and Standards for Software Development Benefits and Risks

Development models. 1 Introduction. 2 Analyzing development models. R. Kuiper and E.J. Luit

Abstract. 1 Introduction

An Approach for assessing the Quality of Software for small and medium sized firms

TOGAF usage in outsourcing of software development

Weighted Total Mark. Weighted Exam Mark

6. Software Lifecycle Models. A software lifecycle model is a standardised format for planning organising, and running a new development project.

Reuse and Capitalization of Software Components in the GSN Project

Software Quality Assurance: VI Standards

Can ISO, CMMI and Agile Co-exist?

A Capability Maturity Model (CMM)

Chap 1. Introduction to Software Architecture

Foundations of Model-Driven Software Engineering

Software Project Management using an Iterative Lifecycle Model

Software Life Cycle. Main issues: Discussion of different life cycle models Maintenance or evolution

Systems Engineering Tutorial. SEPG Conference March 2004 Orlando, Florida

Software Development Life Cycle (SDLC)

Plan-Driven Methodologies

Software Process and Models

How To Understand The Software Process

Software Development Process Models and their Impacts on Requirements Engineering Organizational Requirements Engineering

The W-MODEL Strengthening the Bond Between Development and Test

CMMI and IBM Rational Unified Process

The PECOS Software Process

Software Lifecycles Models

Process Models and Metrics

CS 389 Software Engineering. Lecture 2 Chapter 2 Software Processes. Adapted from: Chap 1. Sommerville 9 th ed. Chap 1. Pressman 6 th ed.

IV. Software Lifecycles

IT3205: Fundamentals of Software Engineering (Compulsory)

Surveying and evaluating tools for managing processes for software intensive systems

CHAPTER. Software Process Models

Leveraging CMMI framework for Engineering Services

Requirements Management Practice Description

Developing in the MDA Object Management Group Page 1

Development/Maintenance/Reuse: Software Evolution in Product Lines

Software Life Cycle Processes

10/4/2013. Sharif University of Technology. Session # 3. Contents. Systems Analysis and Design

The ROI of Systems Engineering: Some Quantitative Results

Family: Iterative Enhancement Origin: Ivar Jacobson, James Rumbaugh, Grady Booch, 1996 Defines process framework that is adaptable to

The Software Process. The Unified Process (Cont.) The Unified Process (Cont.)

Designing Real-Time and Embedded Systems with the COMET/UML method

Managing Small Software Projects - An Integrated Guide Based on PMBOK, RUP, and CMMI

Component Based Development in Software Engineering

TRADITIONAL VS MODERN SOFTWARE ENGINEERING MODELS: A REVIEW

Unit 1 Learning Objectives

Applying 4+1 View Architecture with UML 2. White Paper

CSE 435 Software Engineering. Sept 16, 2015

Certified Software Quality Engineer (CSQE) Body of Knowledge

Advanced Software Engineering. Software Development Processes

Software Development Life Cycle Models - Process Models. Week 2, Session 1

Chapter 4 Software Lifecycle and Performance Analysis

The Role of the Software Architect

A FRAMEWORK FOR INTEGRATING SARBANES-OXLEY COMPLIANCE INTO THE SOFTWARE DEVELOPMENT PROCESS

2. Analysis, Design and Implementation

Christina Wallin ABB Corporate Research Department of Industrial IT Västerås +46 (0)

ISSUES OF STRUCTURED VS. OBJECT-ORIENTED METHODOLOGY OF SYSTEMS ANALYSIS AND DESIGN

A UML Introduction Tutorial

Universiti Teknologi MARA. Requirement Analysis Using UML Approach for Research Management System (RMS)

Management. Project. Software. Ashfaque Ahmed. A Process-Driven Approach. CRC Press. Taylor Si Francis Group Boca Raton London New York

Test Cases Design for Software Database Provisioning Development

Reduce Medical Device Compliance Costs with Best Practices.

Business Modeling with UML

Software Quality Development and Assurance in RUP, MSF and XP - A Comparative Study

IT3203 Fundamentals of Software Engineering (Compulsory) BIT 2 nd YEAR SEMESTER 3

What is a life cycle model?

Umbrella: A New Component-Based Software Development Model

Software Process for QA

Dependable (Safe/Reliable) Systems. ARO Reliability Workshop Software Intensive Systems

Trends in Embedded Software Development in Europe. Dr. Dirk Muthig

OMG SOA Workshop - Burlingame Oct 16-19, 2006 Integrating BPM and SOA Using MDA A Case Study

RISK MANAGEMENT IN DISTRIBUTED SOFTWARE DEVELOPMENT: A PROCESS INTEGRATION PROPOSAL i

Rational Unified Process for Systems Engineering RUP SE1.1. A Rational Software White Paper TP 165A, 5/02

IRA 423/08. Designing the SRT control software: Notes to the UML schemes. Andrea Orlati 1 Simona Righini 2

IBM Rational systems and software solutions for the medical device industry

CS4507 Advanced Software Engineering

RUP for Software Development Projects

Oracle Unified Method (OUM)

A Comparison of SOA Methodologies Analysis & Design Phases

Program Lifecycle Methodology Version 1.7

Advancing Your Business Analysis Career Intermediate and Senior Role Descriptions

RUP. Development Process. Iterative Process (spiral) Waterfall Development Process. Agile Development Process. Well-known development processes

Transcription:

Software Engineering for Software-tensive Systems: Assistant Professor Dr. Room E 3.165 Tel. 60-3321 Email: hg@upb.de line I troduction II Foundations IV Requirements V Analysis & Design VI Implementation VII Verification & Validation VIIISummary and look III-2 Waterfall Model Prototyping V Model Spiral Model RUP III-3 III-4 Characteristics of Software Development Methodologies The Prototyping Process REQUIREMENTS DETERMINATION BY CUSTOMER [Galin2004] Requirements definition Analysis Design (Historic) Waterfall Model PROTOTYPE DESIGM PROTOTYPE IMPLEMENTATION PROTOTYPE EVALUATION BY CUSTOMER Coding (+ Unit Test) System test stallation and conversion REQUIREMENTS FULFILLED? YES SYSTEM TESTS AND ACCEPTANCE TESTS SYSTEM CONVERSION NO REQUIREMENTS FOR CORRECTIONS, CHANGES AND ADDITIONS Operation and maintenance SYSTEM OPERATION AND MAINTENANCE III-5 III-6 1

V Development Process Requirement analysis system model, construction Specification Requirements documents coarse design specification detailed design design spec. design Implementation modules modul test integration test certification system test tested modules service integrated system verified system certified system system, quality management Spiral Model Process negotiation deployment end of cycling: consensus planning & (re) organization progress: #cycles cumulative cost area evaluation construction & test [Boehm1988] 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 III-7 III-8 Rational Unified Process (RUP) [RUP1999] iterations III-9 III-10 Life Cycle of System Engineering [Sage&Armstrong2000] Alternative View [Sage&Armstrong2000] III-11 III-12 2

[Sage&Armstrong2000] III-13 III-14 (1) 3V Model (2) Multiple V Model (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] III-15 III-16 3V Model (2/2) (2) Multiple V Model [Broekman&Notenboom2003] 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 III-17 III-18 3

Multiple V Model (2/2) [Broekman&Notenboom2003] III-19 III-20 (1) MDA (1) MDA (2) Y-Model (3) Platform-Based Design 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 dependent Model (PIM) Platform Specific Model (PSM) Code (+ Platform, ) UML, Platforms (e.g., CORBA Profile, ) C++ (+ CORBA, ) III-21 III-22 Early Problem Detection in MDA Platform dependent Model (PIM) Platform Specific Model (PSM) Code (+ Platform, ) Check platform independent properties Property-preserving refinement (via automatic generation + annotations) Check platform dependent properties Property-preserving refinement (via automatic generation) Properties still hold Models permit to detect some problems early on: Reduced defect detection costs Reduced costs for defect removal Traceability and portability But this is is a vision only for softwareintensive systems! (2) Y-Model Manual coding Standard automatic code generator Qualified code generator Design verifier [Camus&Dion2003] http://www.safeair.org/ http://www.safeair.org/description/d4-2_final_report_v1.7.pdf Programming code Generating code No code test (Automated code test) Automated design verification Time III-23 III-24 4

Application Example: Airbus Tool: Safety Critical Applications Development Environment (SCADE) Application: A340/600 FCSC (Flight Control Secondary Computer): (3) Platform-Based Design Verification Requirements Model automatic (program analysis/model checking) Environment Application Space Application stance Result: 70 % automatically generated code 50 % reduction in development cost reduction in modification cycle time by factor 3 Implementation Resources automatic (compilation/synthesis) Platform Mapping Platform Design-Space Export System Platform Source: Esterel Technologies Platform stance Architectural Space III-25 III-26 Idea [Sangiovanni-Vincentelli2002] 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: 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 Platform-Based Design Top-Down: Map an instance of the upper platform onto an lower platform considering appropriate constrains. Platform instances Platform abstraction levels Bottom-Up: Find the appropriate platform levels. Define platform level parameters III-27 III-28 Systems Product Lifecycle PURE BASIC RESEARCH INVESTMENT CONCEPTUAL?? DEFINITION MARKET INTRODUCTION GROWTH REVENUE PRODUCTION PROFIT MATURITY OERATIONAL DETERIORATION ROI BREAKEVEN POINT DIVESTMENT DEATH III-29 III-30 5

. 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. 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 The CMM tegration 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 III-31 III-32 CMMI Model Representations Level Process Characteristics Management Visibility Optimizing Focus is on continuous quantitative improvement Staged ML5 ML4 ML3 ML2 ML 1 Capability 0 1 2 3 4 5 Continuous Quantitatively Defined Process is measured and controlled for the organization and is proactive for projects and is often Organization PA PA PA Process itial Process is unpredictable, poorly controlled, and III-33 III-34 Level Process Characteristics Predicted Performance Optimizing Quantitatively Defined itial Focus is on continuous quantitative improvement Process is measured and controlled for the organization and is proactive for projects and is often Process is unpredictable, poorly controlled, and Target N-z Target N-y Target N-x Target N Target N+a Risk III-35 III-36 6

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. (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. troduction to Systems Engineering. Wiley Series in Systems Engineering and Management. Wiley- terscience, March 2000. III-37 III-38 7