Software Process CS 414 – Software Engineering I Donald J. Bagert Rose-Hulman Institute of Technology December 17, 2002.

Slides:



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

Prescriptive Process models
DataSource & SEI’s Capability Maturity Model (CMM ® )
Software Engineering CSE470: Process 15 Software Engineering Phases Definition: What? Development: How? Maintenance: Managing change Umbrella Activities:
SEP1 - 1 Introduction to Software Engineering Processes SWENET SEP1 Module Developed with support from the National Science Foundation.
Software Process Models
More CMM Part Two : Details.
How ISO9001 Compares with CMM Mark C. Paulk JAN,1995 CMM version 1.1 ISO9001 July 1994 presented by Zhilan Zhou.
Chapter 2 The Software Process
R R R CSE870: Advanced Software Engineering (Cheng): Intro to Software Engineering1 Advanced Software Engineering Dr. Cheng Overview of Software Engineering.
SE 470 Software Development Processes James Nowotarski 12 May 2003.
Computer Engineering 203 R Smith Process/Plan Model 7/ Development Process Models Development Process Models are different ways to look at the processes.
SOFTWARE ENGINEERING LECTURE-3 CSE-477.
1 R&D SDM 1 Software Project Management Capability Maturity Model 2009 Theo Schouten.
Chapter 3 The Structure of the CMM
Developed by Reneta Barneva, SUNY Fredonia The Process.
Capability Maturity Model
S T A M © 2000, KPA Ltd. Software Trouble Assessment Matrix Software Trouble Assessment Matrix *This presentation is extracted from SOFTWARE PROCESS QUALITY:
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
THE PROTOTYPING MODEL The prototyping model begins with requirements gathering. Developer and customer meet and define the overall objectives for the software.
Dillon: CSE470: SE, Process1 Software Engineering Phases l Definition: What? l Development: How? l Maintenance: Managing change l Umbrella Activities:
N By: Md Rezaul Huda Reza n
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)
©Ian Sommerville 1995 Software Engineering, 5th edition. Chapter 31 Slide 1 Process Improvement u Understanding, Modelling and Improving the Software Process.
PART ONE The Product and the Process Chapter 2 The Process  Software Engineering: A Layered Technology a “quality” focus process model methods tools.
Introduction to Software Engineering LECTURE 2 By Umm-e-Laila 1Compiled by: Umm-e-Laila.
Lecture 1 Introduction to Software Engineering
Software Engineering - Spring 2003 (C) Vasudeva Varma, IIITHClass of 39 CS3600: Software Engineering: Standards in Process Modeling CMM and PSP.
Capability Maturity Models Software Engineering Institute (supported by DoD) The problems of software development are mainly caused by poor process management.
By Ritesh Reddy Nagaram.  Organizations which are developing software processes are facing many problems regarding the need for change of already existing.
CS 3610: Software Engineering – Fall 2009 Dr. Hisham Haddad – CSIS Dept. Chapter 2 The Software Process Discussion of the Software Process: Process Framework,
Quality Concepts within CMM and PMI G.C.Reddy
Lecture Topics covered CMMI- - Continuous model -Staged model PROCESS PATTERNS- -Generic Process pattern elements.
Georgia Institute of Technology CS 4320 Fall 2003.
Software Engineering MCS-2 Lecture # 6
SWEN 5130 Requirements Engineering 1 Dr Jim Helm SWEN 5130 Requirements Engineering Requirements Management Under the CMM.
Software Engineering - I
CS Process Improvement CMM Hans Van Vliet, Software Engineering, Principles and Practice, 3 rd edition, John Wiley & Sons, Chapter 6. W. Humphrey,
CMMI. 1.Initial - The software process is characterized as ad hoc, and occasionally even chaotic. Few processes are defined, and success depends on individual.
Software Engineering II Lecture 3 Fakhar Lodhi. Software Life-Cycle Steps Life-cycle model (formerly, process model) –Requirements phase –Specification.
Ch-1 Introduction The processes used for executing a software project have major effect on quality of s/w produced and productivity achieved in project…
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.
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.
COMP 6710 Course NotesSlide 3-0 Auburn University Computer Science and Software Engineering Course Notes Set 3: Software Process Maturity Computer Science.
SOFTWARE PROCESS IMPROVEMENT
Introduction to the Personal Software Process. Overview Process Fundamentals PSP Concepts and Structure PSP Planning and Measurement PSP Quality Management.
Pittsburgh, PA CMMI Acquisition Module - Page M5-1 CMMI ® Sponsored by the U.S. Department of Defense © 2005 by Carnegie Mellon University This.
Software Engineering (CSI 321) Software Process: A Generic View 1.
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 Week 3 Software Engineering Spring Term 2016 Marymount University School of Business Administration Professor Suydam.
Advanced Software Engineering Dr. Cheng
Lecture 3 Prescriptive Process Models
School of Business Administration
CS4311 Spring 2011 Process Improvement Dr
Chapter 2 SW Process Models
Information Technology Project Management – Fifth Edition
Level 1 Level 1 – Initial: The software process is characterized as ad hoc and occasionally even chaotic. Few processes are defined, and success depends.
A possible solution: Personal Software Process (PSP)
Software Engineering Lecture 16.
Software Engineering I
Capability Maturity Model
Capability Maturity Model
Presentation transcript:

Software Process CS 414 – Software Engineering I Donald J. Bagert Rose-Hulman Institute of Technology December 17, 2002

CS 414 Software Engineering I - Software Process - 17 December Outline Introduction Process Methods Process Models Process Frameworks RHIT Software Processes Summary

CS 414 Software Engineering I - Software Process - 17 December Introduction A software process is the means by which an organization plans, develops and maintains software The non-physical nature of software makes a good process essential for –the development of a quality product –making reliable estimates Software can be developed without a good process, but generally –has more defects and is harder to maintain –takes much longer to develop

CS 414 Software Engineering I - Software Process - 17 December Process Methods Methods are the basic building blocks for all good processes Example process methods: –Requirements analysis –Design –Implementation –Testing –Project Planning –Configuration Management –Quality Assurance

CS 414 Software Engineering I - Software Process - 17 December Process Models Process models provide a variety of ways to use employ process methods effectively Examples: –Linear Sequential –Incremental –Prototyping –Spiral –Agile/Extreme Programming (next lecture)

CS 414 Software Engineering I - Software Process - 17 December Process Models (continued) Linear Sequential Model –Several activities are done only once e.g. Requirements analysis Design Implementation Testing –and are only revisited if a defect from an earlier activity is found and so must be corrected –This is often referred to as the waterfall model, since each activity “flows down” to the next one, and it is more difficult to “flow upstream” to fix a problem at a previous level

CS 414 Software Engineering I - Software Process - 17 December Process Models (continued) Linear sequential models are adapted from other engineering disciplines and were therefore commonly used in the beginning However, they don’t take advantage of several of the non-physical features of software

CS 414 Software Engineering I - Software Process - 17 December Process Models (continued) Incremental Model –Builds the software in several increments, each one with more functionality than the last –Each increment is developed using a linear model –The next increment is sometimes started before the last one is finished e.g. requirements analysis of the second increment may occur at the same time as the design phase of the first increment This allows for tasks such as analysis and design to be distributed more throughout the lifecycle –The first increment often contains the functionality that the client needs the most

CS 414 Software Engineering I - Software Process - 17 December Process Models (continued) Prototyping Model –Cyclical Development Gather requirements Build prototype or software version Get feedback from client –Repeat as necessary until client is satisfied –Takes advantage of non-physical nature of software –Unlike the incremental model, the prototypes are not intended for actual use

CS 414 Software Engineering I - Software Process - 17 December Process Models (continued) Spiral Model –Can be thought of as an extension of other models –Each major activity (e.g. requirements specification, development of a prototype) is broken down into a series of task regions Customer communication Planning Risk Analysis Engineering Construction and release Customer evaluation

CS 414 Software Engineering I - Software Process - 17 December Process Frameworks A software process framework refers to a means (“blueprint”) by which a software process can be assessed to see how mature (i.e. how good) it is Several common process frameworks: –Capability Maturity Model ® (CMM ® ) –ISO 9001 –BOOTSTRAP –ISO/IEC TR (SPICE) The focus here will be on CMM ® Capability Maturity Model and CMM are registered in the U.S. Patent and Trademark Office.

CS 414 Software Engineering I - Software Process - 17 December Process Frameworks (continued) CMM ® History and Philosophy –In the late 1980’s, the Software Engineering Institute (SEI) of Carnegie Mellon University started developing a general software process maturity framework –The purpose of this framework was to enhance software process capability –This evolved into the Capability Maturity Model ® for Software

CS 414 Software Engineering I - Software Process - 17 December Process Frameworks (continued) CMM ® h as five capability levels Initial – ad hoc process Repeatable – basic management processes in place Defined – entire documented, standard process in place Managed – process data is collected and analyzed Optimizing – process improvement process standardized –Each level has a set of key practice areas (KPAs) There are 18 KPAs in all –Each KPA has a set of key practice activities (also called key practices) There are 150 key practices in all

CS 414 Software Engineering I - Software Process - 17 December Process Frameworks (continued) Levels 2 and 3 focus on a good definition of the software process The U.S. government wants its software contractors to be a level 3 or higher Levels 4 and 5 are mostly concentrating on mature methods for improving the process itself

CS 414 Software Engineering I - Software Process - 17 December Process Frameworks (continued) CMM ® KPAs at Level 2 (Repeatable) –Requirements management –Software project planning –Software project tracking and oversight –Software subcontract management –Software quality assurance –Software configuration management

CS 414 Software Engineering I - Software Process - 17 December Process Frameworks (continued) CMM ® KPAs at Level 3 (Defined) –Organization Process Focus –Organization Process Definition –Training Program –Integrated Software Management –Software Product Engineering –Intergroup Coordination –Peer Reviews

CS 414 Software Engineering I - Software Process - 17 December Process Frameworks (continued) CMM ® KPAs at Level 4 (Managed) –Organization Process Management –Software Quality Management CMM ® KPAs at Level 5 (Optimizing) –Defect Prevention –Technology Change Management –Process Change Management

CS 414 Software Engineering I - Software Process - 17 December Process Frameworks (continued) Example CMM ® Key Practice (for software project planning) “The project’s software development plan is developed according to a documented procedure.”

CS 414 Software Engineering I - Software Process - 17 December RHIT Software Processes Focus more on the process methods, rather than on a particular model Senior Project Process The process for this course is not as detailed quite as muchThe process for this course

CS 414 Software Engineering I - Software Process - 17 December Summary A software process is the means by which an organization plans, develops and maintains software A good software process is essential for the development of a quality product Process methods are the basic building blocks for all good processes e.g. analysis and design Process models provide a variety of ways to use employ process methods effectively

CS 414 Software Engineering I - Software Process - 17 December Summary (continued) A software process framework refers to a means by which a software process can be assessed to see how good it is The Rose-Hulman software project processes focus more on the process methods, rather than on a particular model