CHAPTER 2. Slide 2.1 THE SOFTWARE PROCESS

Similar documents
Object-Oriented and Classical Software Engineering

Object-Oriented and Classical Software Engineering THE SOFTWARE PROCESS 9/17/2017. CHAPTER 3 Slide 3.2. Stephen R. Schach. Overview Slide 3.

SW CMM. Capability Maturity Models. Level 1: Initial Level SW CMM (2) CS 390 Lecture 8 Improving the Software Process

PLANNING AND ESTIMATING

The Components of the SW Quality Assurance System - Overview. 08/09/2006 SE7161 Software Quality Assurance Slide 1

Software Project Management Sixth Edition. Chapter Software process quality

SOFTWARE ENGINEERING WITH JAVA

Assessment Results using the Software Maintenance Maturity Model (S 3m )

Software Engineering

Chapter 6. Software Quality Management & Estimation

Contents. Preface. Acknowledgments. Tables and Figures

Quality Management of Software and Systems: Software Process Assessments

LIFE-CYCLE MODELS AND PROCESS. Software Engineering 1/9/2008. CHAPTER 1, 2, and 3. Stephen R. Schach

CSE 435 Software Engineering. Sept 14, 2015

Credit where Credit is Due. Lecture 2: Software Engineering (a review) Goals for this Lecture. What is Software Engineering

AIRBORNE SOFTWARE VERIFICATION FRAMEWORK AIMED AT AIRWORTHINESS

(c) Addison Wesley Chapter 1. ! Software production is an art. ! Two groups. ! Main causes of software failures

Chapter 1. What is Software Engineering. Shari L. Pfleeger Joanne M. Atlee. 4 th Edition

Chapter 1. Contents. 1.1 What is Software Engineering! Solving Problems. Objectives. What is Software Engineering

SWEN 256 Software Process & Project Management

Software technology 3. Process improvement models. BSc Course Dr. Katalin Balla

Lecture 2: Software Quality Factors, Models and Standards. Software Quality Assurance (INSE 6260/4-UU) Winter 2016

Overview of Session. Process Standards and Introduction to SEI Models. Software Quality. Software Quality. Quality Management

Chapter 1. Contents. What is Software Engineering 9/9/13. Shari L. Pfleeger Joanne M. Atlee. 4 th Edition

Software Process Assessment

Software Quality Management

Software Quality Management

SE351 Roadmap. SE351a: Software Project & Process Management. W3.2: Software Development Lifecycles

By: MSMZ. Standardization

Chapter 3. Information Systems Development. McGraw-Hill/Irwin. Copyright 2007 by The McGraw-Hill Companies, Inc. All rights reserved.

Software Processes 1

Introduction to Software Life Cycles. CSCI 5828: Foundations of Software Engineering Lecture 06 09/08/2016

MTAT Software Engineering Management

Lectures 2 & 3. Software Processes. Software Engineering, COMP201 Slide 1

Buy:

Understanding Model Representations and Levels: What Do They Mean?

SYNOPSIS. Software design, development and testing have become very intricate with the advent of

Independent Verification and Validation (IV&V)

SWE 211 Software Processes

Software Reliability

Capability Maturity Model for Software (SW-CMM )

AZIST Inc. About CMMI. Leaders in CMMI Process Consulting and Training Services

SOFTWARE QUALITY IN 2002: A SURVEY OF THE STATE OF THE ART

How I Learned to Stop Worrying and Love Benchmarking Functional Verification!

Chapter 16 Software Reuse. Chapter 16 Software reuse

Lecture 1: Introduction to Software Quality Assurance. Software Quality Assurance (INSE 6260/4-UU) Winter 2016

Requirements Validation and Negotiation

Exam questions- examples

SOFTWARE ENGINEERING SOFTWARE PROCESS. Saulius Ragaišis.

Lecture 1. In practice, most large systems are developed using a. A software process model is an abstract representation

Software Processes. Objectives. Topics covered. The software process. Waterfall model. Generic software process models

Software Development Software Development Activities

Software Process - Standards, Assessments and Improvement

R.POONKODI, ASSISTANT PROFESSOR, COMPUTER SCIENCE AND ENGINEERING, SRI ESHWAR COLLEGE OF ENGINEERING, COIMBATORE.

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

3 Planning the Measurement Process

3 Planning the Measurement Process

Teaching Software Quality Assurance in an Undergraduate Software Engineering Program

Chapter 26. Quality Management

cis20.2 design and implementation of software applications 2 spring 2010 lecture # I.2

the software world... software engineering? software engineering: one definition

Question Bank Unit 4 & Unit 5

Revista Economică 70:4 (2018) USING THE INTEGRATED CAPABILITY AND MATURITY MODEL IN THE DEVELOPMENT PROCESS OF SOFTWARE SYSTEMS

Based on Software Engineering, by Ian Sommerville Coherent sets of activities for specifying, designing, implementing and testing software systems

BCS THE CHARTERED INSTITUTE FOR IT. BCS HIGHER EDUCATION QUALIFICATIONS BCS Level 6 Professional Graduate Diploma in IT SOFTWARE ENGINEERING 2

DO-178B 김영승 이선아

WHAT DO YOU NEED TO KNOW ABOUT SOFTWARE MAINTENANCE

Introduction To The The Software Engineering Institute s Capability Maturity Model for Software

SOFTWARE QUALITY IN 2002: A SURVEY OF THE STATE OF THE ART

SOFTWARE QUALITY IN 2002: A SURVEY OF THE STATE OF THE ART

SE420 Software Quality Assurance

DEPARTMENT OF COMPUTER SCIENCE AND ENGINEERING QUESTION BANK UNIT I

Personal Software Process SM for Engineers: Part I

Update Observations of the Relationships between CMMI and ISO 9001:2000

Software Engineering & Architecture

CMMI A-Specification. Version 1.7. November, For CMMI Version 1.2. This document is controlled by the CMMI Steering Group.

Software Process Evaluation

Software Processes. Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 4 Slide 1

Chapter 16 Software Reuse. Chapter 16 Software reuse

CONTENTS. Introduction to Software Engineering. Software Process and Life Cycle Models. Software Life-Cycle Model-2. Chapter 1. Chapter 2.

Jari Soini. Information Technology Department Pori, Finland. Tampere University of Technology, Pori

Organisational Readiness and Software Process Improvement

Software Engineering II - Exercise

Pertemuan 2. Software Engineering: The Process

Requirements Verification and Validation

USING PILOTS TO ASSESS THE VALUE AND APPROACH OF CMMI IMPLEMENTATION. Goddard Space Flight Center (GSFC)

Measuring and Assessing Software Quality

Process Quality Levels of ISO/IEC 15504, CMMI and K-model

The Internal Consistency of the ISO/IEC Software Process Capability Scale

Measurement in Higher Maturity Organizations: What s Different and What s Not?

Cambridge University Press Agile Testing: How to Succeed in an Extreme Testing Environment John Watkins Excerpt More information

Objectives. The software process. Topics covered. Waterfall model. Generic software process models. Software Processes

Reuse Concepts. Portable. Reuse. Easily modifying a product as a whole to run under another compiler, OS, or hardware architecture

9/24/2011 Sof o tw t a w re e P roc o e c s e s s s Mo M d o e d l e s l 1 Wh W a h t t i s i s a Pr P oc o ess s 2 1

Topics covered. Software process models Process iteration Process activities The Rational Unified Process Computer-aided software engineering

Global Journal of Engineering Science and Research Management

SOFTWARE PROCESS IMPROVEMENT AT ABB KRAFTWERKSLEITTECHNIK GMBH

ABHELSINKI UNIVERSITY OF TECHNOLOGY

Chapter 6: Software Evolution and Reengineering

THE FUTURE CONTENTS. Software Testing

Transcription:

CHAPTER 2 Slide 2.1 THE SOFTWARE PROCESS

Overview Slide 2.2 Client, Developer, and User Requirements Phase Specification Phase Design Phase Implementation Phase Integration Phase Maintenance Phase Retirement Problems with Software Production: Essence and Accidents Improving the Software Process

The Software Process Slide 2.3 The life-cycle model CASE tools The individuals

Terminology Slide 2.4 Systems analysis Requirements + specifications phases Operations mode Maintenance Design Architectural design, detailed design Client, developer, user Internal software development/contract software

Testing Phase? Slide 2.5 There is NO testing phase Testing is an activity performed throughout software production Verification Performed at the end of each phase Validation Performed before delivering the product to the client

Documentation Phase? Slide 2.6 There is NO documentation phase Every phase must be fully documented before starting the next phase Postponed documentation may never be completed The responsible individual may leave The product is constantly changing we need the documentation to do this The design (for example) will be modified during development, but the original designers may not be available to document it

Requirements Phase Slide 2.7 Assumption The software being considered is economically justifiable Concept exploration Determine what the client needs, not what the client wants Moving target problem

Requirements Phase Testing Slide 2.8 Rapid prototyping

Requirements Phase Documentation Slide 2.9 Rapid prototype, or Requirements document

Specification Phase Slide 2.10 Specifications document ( specifications ) Legal document Must not have phrases like optimal, or 98% complete

Specification Phase (contd) Slide 2.11 Specifications must not be Ambiguous Incomplete Contradictory

Specification Phase (contd) Slide 2.12 Once the specifications have been signed off The software product management plan (SPMP) is drawn up This is the earliest possible time for the SPMP

Specification Phase Testing Slide 2.13 Traceability Review Check the SPMP

Specification Phase Documentation Slide 2.14 Specification document (specifications) SPMP

Design Phase Slide 2.15 Specification what Design how Retain design decisions When a dead-end is reached For the maintenance team Ideally, the design should be open-ended Architectural design Decompose the product into modules Detailed design Design each module: data structures, algorithms

Design Phase Testing Slide 2.16 Traceability Review

Design Phase Documentation Slide 2.17 Design Architectural design Detailed design

Implementation Phase Slide 2.18 Implement the detailed design in code

Implementation Phase Testing Slide 2.19 Review Test cases Informal testing (desk checking) Formal testing (SQA)

Implementation Phase Documentation Slide 2.20 Source code Test cases (with expected output)

Integration Phase Slide 2.21 Combine the modules and check the product as a whole

Integration Phase Testing Slide 2.22 Product testing Acceptance testing

Integration Phase Documentation Slide 2.23 Commented source code Test cases for the product as a whole

COTS Software Slide 2.24 Shrink-wrapped software Commercial off-the-shelf (COTS) Nowadays, COTS software is often downloaded Click-wrapped software Alpha testing Beta testing

Maintenance Phase Slide 2.25 Maintenance Any change once the client has accepted the software The most money is devoted to this phase The problem of lack of documentation

Maintenance Phase Testing Slide 2.26 Regression testing

Maintenance Phase Documentation Slide 2.27 Record of all changes made, with reasons Regression test cases

Retirement Slide 2.28 Good software is maintained Sometimes software is rewritten from scratch Software is now unmaintainable because» A drastic change in design has occurred» The product must be implemented on a totally new hardware/operating system» Documentation is missing or inaccurate» Hardware is to be changed it may be cheaper to rewrite the software from scratch than to modify it True retirement is a rare event

Process-Specific Difficulties Slide 2.29 Does the product meets the user s real needs? Is the specification document free of ambiguities, contradictions, and omissions?

Inherent Problems of Software Production Slide 2.30 Hardware has inherent limits So does software No Silver Bullet Complexity Conformity Changeability Invisibility Aristotelian categories Essence Accidents

Complexity Slide 2.31 Software is far more complex than hardware Traditional abstraction will not work We cannot understand the whole, so we cannot understand any part Management is difficult Maintenance is a nightmare (documentation, too)

Conformity Slide 2.32 Type 1: Existing gold refinery Type 2: New gold refinery

Changeability Slide 2.33 Software is easier to change than hardware Pressure to change Reality Useful software Easier to change Software has a long lifetime (~15 yrs) compared to hardware (~4 yrs)

Invisibility Slide 2.34 Software is invisible and unvisualizable Complete views are incomprehensible Partial views are misleading However, all views can be helpful

Is There a Silver Bullet? Slide 2.35 What about High-level languages Time sharing CASE tools These did not solve the intrinsic problems We have experienced 6% annual productivity increase But, no silver bullet (order-ofmagnitude increase) is possible

Improving the Software Process Slide 2.36 U.S. Department of Defense initiative Software Engineering Institute (SEI) The fundamental problem with software The software process is badly managed

Improving the Software Process (contd) Slide 2.37 Software process improvement initiatives Capability maturity model (CMM) ISO 9000-series ISO/IEC 15504

Capability Maturity Model Slide 2.38 Not a life-cycle model Set of strategies for improving the software process SW CMM for software P CMM for human resources ( people ) SE CMM for systems engineering IPD CMM for integrated product development SA for software acquisition These strategies are being unified into CMMI (capability maturity model integration)

SW CMM Slide 2.39 A strategy for improving the software process Put forward in 1986 by the SEI Fundamental idea: Improving the software process leads to» Improved software quality» Delivery on time, within budget Improved management leads to» Improved techniques Five levels of maturity are defined Organization advances stepwise from level to level

Level 1. Initial Level Slide 2.40 Ad hoc approach Entire process is unpredictable Management consists of responses to crises Most organizations world-wide are at level 1

Level 2. Repeatable Level Slide 2.41 Basic software management Management decisions should be made on the basis of previous experience with similar products Measurements ( metrics ) are made These can be used for making cost and duration predictions in the next project Problems are identified, immediate corrective action is taken

Level 3. Defined Level Slide 2.42 The software process is fully documented Managerial and technical aspects are clearly defined Continual efforts are made to improve quality, productivity Reviews are performed to improve software quality CASE tools are applicable now (and not at levels 1 or 2)

Level 4. Managed Level Slide 2.43 Quality and productivity goals are set for each project Quality, productivity are continually monitored Statistical quality controls are in place

Level 5. Optimizing Level Slide 2.44 Continuous process improvement Statistical quality and process controls Feedback of knowledge from each project to the next

Summary Slide 2.45

Key Process Areas Slide 2.46 There are key process areas (KPAs) for each level Level 2 KPAs include: Requirements management Project planning Project tracking Configuration management Quality assurance Compare Level 2: Detection and correction of faults Level 5: Prevention of faults

Experience Slide 2.47 It takes: 3 to 5 years to get from level 1 to level 2 1.5 to 3 years from level 2 to level 3 SEI questionnaires highlight shortcomings, suggest ways to improve the process Original idea: Defense contracts would be awarded only to capable firms

Experience (contd) Slide 2.48 Profitability Hughes Aircraft (Fullerton, CA) spent $500K (1987 90)» Savings: $2M per year, moving from level 2 to level 3 Raytheon moved from level 1 in 1988 to level 3 in 1993» Productivity doubled» Return of $7.70 per dollar invested in process improvement

Other SPI Initiatives Slide 2.49 Other software process improvement (SPI) initiatives: ISO 9000-series ISO/IEC 15504

ISO 9000 Slide 2.50 Set of five standards for industrial activities ISO 9001 for quality systems ISO 9000-3, guidelines to apply ISO 9001 to software There is an overlap with CMM, but they are not identical Not process improvement Stress on documenting the process Emphasis on measurement and metrics ISO 9000 is required to do business with the E.U. Also by many U.S. businesses, for example, GE More and more U.S. businesses are ISO 9000 certified

ISO/IEC 15504 Slide 2.51 Original name: Software Process Improvement Capability determination (SPICE) International process improvement initiative Started by British Ministry of Defence (MOD) Includes process improvement, software procurement Extends and improves CMM, ISO 9000 Framework, not a method» CMM, ISO 9000 conform to this framework Now referred to as ISO/IEC 15504 Or just 15504 for short

Process Improvement Data Slide 2.52 SEI report on 13 organizations in the original study They used a variety of process improvement techniques, not just SW CMM

Process Improvement Data (contd) Slide 2.53 Results of 34 Motorola projects