Chapter 2 The Software Process

Slides:



Advertisements
Similar presentations
SOFTWARE PROCESS IMPROVEMENT “Never Stop Learning”
Advertisements

PROCESS FRAMEWORK Lecture - 3. Topics covered PROCESS FRAMEWORK PROCESS MODELS DIFFERENCE.
CPIS 357 Software Quality & Testing I.Rehab Bahaaddin Ashary Faculty of Computing and Information Technology Information Systems Department Fall 2010.
Capability Maturity Model (CMM) in SW design
SOFTWARE ENGINEERING LECTURE-3 CSE-477.
1 R&D SDM 1 Software Project Management Capability Maturity Model 2009 Theo Schouten.
Software Process CS 414 – Software Engineering I Donald J. Bagert Rose-Hulman Institute of Technology December 17, 2002.
Developed by Reneta Barneva, SUNY Fredonia The Process.
These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 6/e and are provided with permission by.
Capability Maturity Model
Chapter : Software Process
Process: A Generic View
Process: A Generic View n A software process  is a roadmap to building high quality software products.  provides a framework for managing activities.
Capability Maturity Model. Reflection Have you ever been a part of, or observed, a “difficult” software development effort? How did the difficulty surface?
Software Engineering II Lecture 1 Fakhar Lodhi. Software Engineering - IEEE 1.The application of a systematic, disciplined, quantifiable approach to the.
Chapter 2 Software Process: A Generic View
Capability Maturity Model Part One - Overview. History Effort started by SEI and MITRE Corporation  assess capability of DoD contractors First.
Chapter 2 The process Process, Methods, and Tools
Chapter 2 The Process.
N By: Md Rezaul Huda Reza n
Chapter 2 Process: A Generic View
1 Chapter 2 The Process. 2 Process  What is it?  Who does it?  Why is it important?  What are the steps?  What is the work product?  How to ensure.
J. R. Burns, Texas Tech University Capability Maturity Model -- CMM n Developed by the Software Engineering Institute (SEI) in 1989 –SEI is a spinoff.
College of Engineering and Computer Science Computer Science Department CSC 131 Computer Software Engineering Fall 2006 Lecture # 1 (Ch. 1, 2, & 3)
Chapter 2 소프트웨어공학 Software Engineering 임현승 강원대학교
These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 6/e and are provided with permission by.
Introduction to Software Engineering LECTURE 2 By Umm-e-Laila 1Compiled by: Umm-e-Laila.
Chapter 2 Process: A Generic View
Lecture 1 Introduction to Software Engineering
Capability Maturity Models Software Engineering Institute (supported by DoD) The problems of software development are mainly caused by poor process management.
Software Engineering Lecture # 17
Software Engineering Principles Principles form the basis of methods, techniques, methodologies and tools Principles form the basis of methods, techniques,
CS 3610: Software Engineering – Fall 2009 Dr. Hisham Haddad – CSIS Dept. Chapter 2 The Software Process Discussion of the Software Process: Process Framework,
These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 6/e and are provided with permission by.
SWEN 5130 Requirements Engineering 1 Dr Jim Helm SWEN 5130 Requirements Engineering Requirements Management Under the CMM.
Software Engineering - I
CMMI. 1.Initial - The software process is characterized as ad hoc, and occasionally even chaotic. Few processes are defined, and success depends on individual.
Process: A Generic View
Level 1 Level 1 – Initial: The software process is characterized as ad hoc and occasionally even chaotic. Few processes are defined, and success depends.
Developed by Reneta Barneva, SUNY Fredonia The Process.
The Software Process Chapter – II. Topics S/w Engg – A layered Technology A Process Framework Process Patterns Process Assessment Product and Process.
1 These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 5/e and are provided with permission by.
Page 1 The Capability Maturity Model (CMM) distinguishes between immature and mature software organizations. Immature software organizations are typically.
1 These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 5/e and are provided with permission by.
These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 6/e and are provided with permission by.
COMP 6710 Course NotesSlide 3-0 Auburn University Computer Science and Software Engineering Course Notes Set 3: Software Process Maturity Computer Science.
1 Chapter 2 A Generic View of Process Software Engineering: A Practitioner’s Approach, 6th edition by Roger S. Pressman.
1 2.1 Software Engineering Software engineering is a systematic, disciplined, quantifiable approach to the development, operation, and maintenance of software;
Software Engineering Introduction.
SOFTWARE PROCESS IMPROVEMENT
PI2134 Software Engineering IT Telkom.  Layered technology  Software Process  Generic Process (by Pressman)  Fundamental activities (by Sommerville)
Software Engineering (CSI 321) Software Process: A Generic View 1.
Software Engineering CE 501 Prepared by : Ashwin Raiyani.
1 These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 5/e and are provided with permission by.
Capability Maturity Model. CS460 - Senior Design Project I (AY2004)2 Immature Organisations Software processes are often rigorously followed. Organisation.
1 These slides are designed to accompany Software Engineering: A Practitioner’s Approach, 7/e (McGraw-Hill 2009). Slides copyright 2009 by Roger Pressman.
Software Project Management Unit 1. Evolving role of software S/w now a days resides in the mobile, mainframes The main role of the s/w is to transform.
Capability Maturity Model. What is CMM? n CMM: Capability Maturity Model n Developed by the Software Engineering Institute of the Carnegie Mellon University.
CS4311 Spring 2011 Process Improvement Dr
Software Engineering (CSI 321)
Level 1 Level 1 – Initial: The software process is characterized as ad hoc and occasionally even chaotic. Few processes are defined, and success depends.
Chapter 2 Process: A Generic View
Chapter 2 The Process.
CSSSPEC6 SOFTWARE DEVELOPMENT WITH QUALITY ASSURANCE
Chapter 2 The Process.
Software Engineering: A Practitioner’s Approach, 6/e Chapter 2 Process: A Generic View copyright © 1996, 2001, 2005 R.S. Pressman & Associates, Inc.
Software Engineering Lecture 16.
Software Engineering I
Capability Maturity Model
Capability Maturity Model
Presentation transcript:

Chapter 2 The Software Process Software engineering defined A layered technology Process, methods, and tools Generic process framework Umbrella activities Capability Maturity Model (SW-CMM) (Source: Pressman, R. Software Engineering: A Practitioner’s Approach. McGraw-Hill, 2005)

Software Engineering - Defined (1969) Software engineering is the establishment and use of sound engineering principles in order to obtain economically software that is reliable and works efficiently on real machines (IEEE) The application of a systematic, disciplined, quantifiable approach to the development, operation, and maintenance of software; that is, the application of engineering to software

Software Engineering is a Layered Technology Tools Methods Processes Quality Focus

Process, Methods, and Tools Provides the glue that holds the layers together; enables rational and timely development; provides a framework for effective delivery of technology; forms the basis for management; provides the context for technical methods, work products, milestones, quality measures, and change management Methods Provide the technical "how to" for building software; rely on a set of basic principles; encompass a broad array of tasks; include modeling activities Tools Provide automated or semi-automated support for the process and methods (i.e., CASE tools)

Generic Process Framework Communication Involves communication among the customer and other stake holders; encompasses requirements gathering Planning Establishes a plan for software engineering work; addresses technical tasks, resources, work products, and work schedule Modeling (Analyze, Design) Encompasses the creation of models to better understand the requirements and the design Construction (Code, Test) Combines code generation and testing to uncover errors Deployment Involves delivery of software to the customer for evaluation and feedback

Umbrella Activities Software requirements management Software project planning Software project tracking and oversight Software quality assurance Software configuration management Software subcontract management Formal technical reviews Risk management Measurement – process, project, product Reusability management (component reuse) Work product preparation and production

What is a Process? (Webster) A system of operations in producing something; a series of actions, changes, or functions that achieve an end or a result (IEEE) A sequence of steps performed for a given purpose

What is a Software Process? (SEI) A set of activities, methods, practices, and transformations that people use to develop and maintain software and the associated products (e.g., project plans, design documents, code, test cases, and user manuals) As an organization matures, the software process becomes better defined and more consistently implemented throughout the organization Software process maturity is the extent to which a specific process is explicitly defined, managed, measured, controlled, and effective

Capability Maturity Model (SW-CMM) Developed in 1987 by the Software Engineering Institute (SEI) at Carnegie-Mellon University under the sponsorship of DARPA Described in the book Managing the Software Process in 1989 by Watts Humphrey Published as a separate document: Capability Maturity Model for Software in 1991

Immature Software Organizations Software processes are generally improvised If a process is specified, it is not rigorously followed or enforced The software organization is reactionary Managers only focus on solving immediate (crisis) problems Schedules and budgets are routinely exceeded because they are not based on realistic estimates When hard deadlines are imposed, product functionality and quality are often compromised There is no basis for judging process quality or for solving product or process problems Activities such as reviews and testing are curtailed or eliminated when projects fall behind schedule

Five Levels of Software Process Maturity

Characteristics of Each Level Initial Level (Level 1) Characterized as ad hoc, and occasionally even chaotic Few processes are defined, and success depends on individual effort Repeatable (Level 2) Basic project management processes are established to track cost, schedule, and functionality The necessary process discipline is in place to repeat earlier successes on projects with similar applications

Characteristics of Each Level (continued) Defined (Level 3) The software process for both management and engineering activities is documented, standardized, and integrated into a standard software process for the organization All projects use an approved, tailored version of the organization's standard software process for developing and maintaining software Managed (Level 4) Detailed measures of the software process and product quality are collected Both the software process and products are quantitatively understood and controlled

Characteristics of Each Level (continued) Optimized (Level 5) Continuous process improvement is enabled by quantitative feedback from the process and from piloting innovative ideas and technologies

Visibility into the Software Process

Probability of Schedule and Budget

The CMM Structure

Key Process Areas

Software Process Assessments 