Why process models? Topic 3 Software process models. 3. Process models. What is a process model?



Similar documents
Title: Topic 3 Software process models (Topic03 Slide 1).

CHAPTER_3 SOFTWARE ENGINEERING (PROCESS MODELS)

Classical Software Life Cycle Models

SOFTWARE PROCESS MODELS

How to contribute to the joint course on software engineering by case studies

Applying Agile Methods in Rapidly Changing Environments

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

2. Analysis, Design and Implementation

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

Chapter 8 Approaches to System Development

Karunya University Dept. of Information Technology

Software Development Life Cycle

Outline. Definitions. Course schedule

Acknowledgement. Software Engineering. CS 3141: Team Software Project Introduction

PROJECT MANAGEMENT METHODOLOGY OF OBJECT- ORIENTED SOFTWARE DEVELOPMENT

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

CS4507 Advanced Software Engineering

SE464/CS446/ECE452 Software Life-Cycle and Process Models. Instructor: Krzysztof Czarnecki

A Process Programmer Looks at the Spiral Model

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

Chapter 1 The Systems Development Environment

Module 2. Software Life Cycle Model. Version 2 CSE IIT, Kharagpur

Components Based Design and Development. Unit 2: Software Engineering Quick Overview

Software Life-Cycle. Series of steps through which software product progresses. A life-cycle is selected during requirement Phase

Systems Analysis and Design

Software Engineering. Objectives. Designing, building and maintaining large software systems

Retrofitting Security into a Web-Based Information System

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

Development/Maintenance/Reuse: Software Evolution in Product Lines

Software Engineering. Software Engineering. Software Costs

COURSE CODE : 4072 COURSE CATEGORY : A PERIODS / WEEK : 4 PERIODS / SEMESTER : 72 CREDITS : 4

System development lifecycle waterfall model

Software Engineering/Courses Description Introduction to Software Engineering Credit Hours: 3 Prerequisite: (Computer Programming 2).

RUP for Software Development Projects

CASSANDRA: Version: / 1. November 2001

Software Project Management using an Iterative Lifecycle Model

Chapter 7: Software Engineering

Application of software product quality international standards through software development life cycle

Modellistica Medica. Maria Grazia Pia, INFN Genova. Scuola di Specializzazione in Fisica Sanitaria Genova Anno Accademico

Software Development Life Cycle (SDLC)

Software Engineering. What is a system?

A Review of an MVC Framework based Software Development

How To Model Software Development Life Cycle Models

Software Process for QA

Software Processes. Coherent sets of activities for specifying, designing, implementing and testing software systems

2. Analysis, Design and Implementation

1.1 The Nature of Software... Object-Oriented Software Engineering Practical Software Development using UML and Java. The Nature of Software...

Peter Mileff PhD SOFTWARE ENGINEERING. The Basics of Software Engineering. University of Miskolc Department of Information Technology

Software Life Cycle Processes

The W-MODEL Strengthening the Bond Between Development and Test

Your Software Quality is Our Business. INDEPENDENT VERIFICATION AND VALIDATION (IV&V) WHITE PAPER Prepared by Adnet, Inc.

A Process Model for Software Architecture

Software Engineering. Christopher Simpkins Chris Simpkins (Georgia Tech) CS 2340 Objects and Design CS / 16

Evolving a Ultra-Flow Software Development Life Cycle Model

Assuming the Role of Systems Analyst & Analysis Alternatives

(Refer Slide Time: 01:52)

Process Models and Metrics

Process Methodology. Wegmans Deli Kiosk. for. Version 1.0. Prepared by DELI-cious Developers. Rochester Institute of Technology

General Problem Solving Model. Software Development Methodology. Chapter 2A

The Helicoidal Life Cycle as a Tool for Software Development and Enhancement

Software Engineering. Software Development Process Models. Lecturer: Giuseppe Santucci

Software Engineering Question Bank

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

In the IEEE Standard Glossary of Software Engineering Terminology the Software Life Cycle is:

Lecture 3 Software Development Processes

Chap 1. Introduction to Software Architecture

Software Processes. The software process. Generic software process models. Waterfall model. Waterfall model phases

A Capability Maturity Model (CMM)

Abstract. 1 Introduction

IV. Software Lifecycles

應 用 測 試 於 軟 體 發 展 生 命 週 期. Testing In The Software Development Life Cycle

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

Software Project Models

What is a life cycle model?

Software Development Process and Activities. CS 490MT/5555, Fall 2015, Yongjie Zheng

Software Engineering Introduction & Background. Complaints. General Problems. Department of Computer Science Kent State University

Real-World Object-Oriented Design Experience for Computer Science Students

Requirement Management with the Rational Unified Process RUP practices to support Business Analyst s activities and links with BABoK

Unit 1 Learning Objectives

Ob j ect-oriented Project Management with UML

The Software Development Life Cycle (SDLC)

Introduction to Software Project Management. CITS3220 Software Requirements & Project Management

CRITICAL ANALYSYS OF THE SCRUM PROJECT MANAGEMENT METHODOLOGY

TRADITIONAL VS MODERN SOFTWARE ENGINEERING MODELS: A REVIEW

IF2261 Software Engineering. Introduction. What is software? What is software? What is software? Failure Curve. Software Applications Type

Software Engineering Reference Framework

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

A. Waterfall Model - Requirement Analysis. System & Software Design. Implementation & Unit Testing. Integration & System Testing.

Name of pattern types 1 Process control patterns 2 Logic architectural patterns 3 Organizational patterns 4 Analytic patterns 5 Design patterns 6

Systematization of Requirements Definition for Software Development Processes with a Business Modeling Architecture

IT3205: Fundamentals of Software Engineering (Compulsory)

Unit I. Introduction

3C05: Unified Software Development Process

Custom Software Development Approach

Introduction to Systems Analysis and Design

Software Process Models. Xin Feng

Lecture 1: Introduction to Software Quality Assurance

Principles of Software Engineering: Software Methodologies. COSI 120b, Spring 2005

A Process for ATLAS Software Development

Transcription:

Why process models? Topic 3 Software process models SE is the application of a systematic, disciplined, quantifiable approach to the development, operation, and maintenance of software... (IEEE Standard Glossary of Software Engineering Terminology, 1990). DAAD Project Joint Course on Software Engineering Humboldt University Berlin, University of Novi Sad, University of Plovdiv, University of Skopje, University of Belgrade, University of Niš, University of Kragujevac of the term SE requires studying models for systematic software development (main objective of SE)! Version: Oct. 29, 2005 (D Nov. 06, 2003) 4 Project organization: Otherwise: sporadic, uncoordinated project management Experience: high-quality SW is impossible without a systematic approach to SW development Relevance of process models Process models are relevant for Project analysis: What are the weak points in the development process? Time and cost planning Qualitative assessment of SW companies Certification for ISO 9000 2 5 Process models: used terminology What is a process model? Software process models Phase models Life cycle models Software development models Project models (Note: terms are similar, but with differences; e.g. life cycle model: development and maintenance, software development model: without maintenance) Process model In general: Development plan, which specifies the general process of developing a software product. More precisely: that states, which activities are to be performed, by which person, acting in which role; in which order the activities will be performed, and which products will be developed and how to evaluate them. What is SW-specific? Role coworker, who accomplish a certain activity e.g. test engineer, project leader, specialist, programmer, software ergonomist 3 6 1

Performing an activity: basic scheme (activity = subprocess of a process model) Most familiar process models: Overview Given artifacts Methods Guidelines Conventions Check lists Samples Coworker Y Role X Tools Changed or new artifact Legend: Activity Role Coworker Model (Artifact) Document (Artifact) Classical phase model Prototyping (evolutionary SE) Process models Spiral model Iterative phase model (life cycle) V-model Source: Balzert, vol. 1, p. 60 7 10 Software artifacts Notes Software artifact Product of art created by humans Can be a document, a model or a program Examples : - Document, e.g. requirements specification - Model, e.g. OOA model - Program, e.g. C++-Program. Software product Set of software artifacts Models are always idealized, they give only a framework and must allow flexible working must not hinder work Different classes of SW development problems different suitable models e.g. AI program: gradual evolution Prototyping model is often used 8 11 9 12 2

Software development process until 1970: considered as a black box informal requirements Only until 1970? and and The classical waterfall model (1970) Customer Software development process Program code Problems? Test Test What happens inside? Usage Usage and and 13 16 The classical waterfall model (1970) Documents of SW development and and Customer's requests Specification Code Test Test Customer Analyst er Programmer Usage Usage and and Required features (empty circles) got lost, unnecessary (filled circles) are added Source: Schneider, SEUH 43, p. 123 14 17 Phases of SW development: subject and products (overview) Information flow in SW projects and of the problem + of the requirements to the SW, focus: external behavior of the SW system intensive cooperation: client contractor requirement specifications, product model and others Specification of the structure of the SW (software architecture), specification of components and their relations software architecture, detailed, and others Software architecture is filled out : programming of the components program (code) Test Testing of the components, testing of their integration test cases, test protocols and others 15 How the customer explained it How the Project Leader understood it How the Business How the project was Consultant described it documented How the Software architect ed it How the customer was billed How the Programmer wrote it How thetester left it How it was supported What the customer really needed 18 Source: unknown 3

Iterative phase model and and Problems? Test Test Usage Usage and and 19 22 Cost allocation in the software life cycle Phases according to Jacobson Requirement analysis 3% Specification 3% 5% Coding 7% Unit Testing 8% analysis Preliminary Detailed Coding 67% Integration Testing 7% Unit testing Integration System test Source: R. Klösch, H.Gall: Objektorientiertes Reverse Engineering. Springer, 1995 20 Jacobson: Object-oriented Software Engineering p. 32 23 Error statistics: occurrence and correction requirements implementation 20 % 38 % 42 % 1 % 2 % 20 % 30 % 40 % 7 % requirements review review code review + unit test subsystem test faults introduced to the software system and acceptance test field faults System Specification Data model User Interface System Integration Subsystem definition Phases according to Denert Functional Model System Construction Database Modularity Module Module specification Process organization faults detected Subsystem testing Module construction Source: Software Metrics Symposium 1996, p. 176 System testing Module testing Denert: Software Engineering, Springer Verlag, 1992, p. 39 21 24 4

Component SKONTO is connected with the aaaaaaaaaskonto is aaaaaaaaaaaabatt aaaaaaaaaaaalookup IF kunde = 99999 CASE PlaubaTT = 1 IF kunde = nnnnnnn PlaubaTT, I Problem Phases in CASE-Tool MAESTRO II SEtec Process Model, Integration & Test Phases according to Balzert (detail) I SW-Development 1 phase 2 phase organization hierarchy rough data model task processes task hierarchy Rough Concept userinterface function processes function hierarchy data model Detailed Concept system model database model interface specification Software integration model DB definitions, SQL... GUI objects program logic Software System Client/Server OS/2, Motif MS-Windows UNIX/RDBs IBM MVS COBOL, CICS DB2 IMS DB/DC SNI BS2000 COBOL, UTM SESAM, UDS 3 phase 4 phase 5 Acceptance and Introduction 6 phase SEtec Result Model Source: SoftLab, Munich, MAESTRO II (most well-known German CASE-Tool) 25 28 Unified Software Development Process (USDP) Phase model in the Space shuttle Program (NASA) Process of object-oriented software development due to Jacobson, Booch, Rumbaugh (1999) Test Part of the phase and, in which the basic use cases of the systems will be detected: use case diagrams Part of the phase and, in which the basic classes of the problem will be detected: class diagrams 26 OI Release I K M O Q 1990 1992 1994 1996 1998 2000 Development Lifecycle for each OI (Operational Increment) Facts: 22 releases (versions, OI = Operational Increment) 1981-2001 development until 2020 each year: a new release for each release: 2 years development time several releases at the same time in process strong effects to project management Validation Mission Preparation Operational lifetime Source: M. Zelkovitz, I. Rus: ICSM 2001, p. 119 29 1 Fundamentals Introduction and Overview V Enterprise Modelling 2 Object-oriented Enterprise Modelling Phases according to Balzert Special phase model I SW-Management I SW-Development III SW-Quality Assurance Project What is remarkable? 1 Bases 1 phase 1 Bases 2 Planing 3 Organization 4 Personal 2 phase 3 phase 4 phase 2 Quality Assurance 3 Manual Proof Methods 4 Process Quality Construction Production planning Preparation of work Production 5 Leadership 5 Acceptance and Introduction 5 Product Quality Components Test 6 Control 6 phase 6 Product Quality System How to be interpreted? Contract Begin of production Delivery 1 Principles and Methods 2 CASE IV Cross-sections and Views 3 Re-use 4 Reorganization Balzert: Textbook of Software Technology vol. 1, 2001 1 Year Source: R.Bronsart, SEUH 1996 27 30 5

Phase model of Samsonite Prototyping Operational area: imprecise at the beginning and/or constantly changed Prototype: runable software system, Substantial parts of the final product already finished (e.g. user interface, basic behavior), Other parts still to be done (e.g. ineffective, special cases) Application cases: Prototype (may be thrown away) (addition of the requirement analysis : rapid prototyping) Advancement to the final product (evolutionary software development) 31 34 Test of suitcases Phases of iterative prototyping a solution Establish the Problem Spaces Evaluate Implement Solution Summative Evaluation & Delivery 32 Boyle: of Multimedia Learnnig, Prentice Hall Europe (1997), p. 186 35 Dynamic Systems Development Method (DSDM) Standard non-proprietary RAD method based upon userdriven iterative prototyping (1995) Evaluation Feasibility and business study Functional iterations iterations Placing the system in user environment 33 36 6

The essence of the spiral model abstract model: meta model abstraction from other models of SW development (one turn = one phase or development of next or...) orients to similar activities of each step (problem analysis, risk analysis, realization, planning, review) risk analysis: comparison of possible alternatives (examples: selection of a programming language, of the A-&D-method, of the staff, usage of tools) flexible: first turn produce s, next turns correspond to the phases A&D,,... 37 40 Problem analysis: goals alternatives Introduction to spiral model Risk analysis: evaluation of alternatives Realization: construction of the product test Characteristics of the phases? : next project steps Review 38 The phase model as a special case of the spiral model Operation and maintenance R e v i e w one turn = one phase Problem analysis Risk analysis GUI sales forecast of Project plan analysis phase planning product definition Validation of of implementation, integration and Test Software Simulation Realization Integration and system test Installation Acceptance test Coding and unit test Pagel, Six p.72 41 Spiral model due to Boehm (1988) Evolutionary software development as a special case of the spiral model Problem analysis: determination of goals, alternatives and additional requirements of a new spiral cycle Risk analysis: evaluation of alternatives; identification and reduction of risks Operation and maintenance Problem analysis Risk analysis end of cycle: Review R e v i e w sales forecast Project plan GUI Realization project progress in the spiral cycle : planning of next steps, i.e. of the next spiral cycle Realization: construction and test of the current product one turn = one of the first of the second Validation of the revised project plan Prototype 1 Validation of the Installation Acceptance test Usable product Prototype n Pagel, Six p.73 39 42 7