1 Chapter 2 A Generic View of Process Software Engineering: A Practitioner’s Approach, 6th edition by Roger S. Pressman.

Slides:



Advertisements
Similar presentations
PROCESS FRAMEWORK Lecture - 3. Topics covered PROCESS FRAMEWORK PROCESS MODELS DIFFERENCE.
Advertisements

CS3773 Software Engineering Lecture 01 Introduction.
Chapter 2 The Software 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.
Chapter 2 Process Models
May 14, May 14, 2015May 14, 2015May 14, 2015 Azusa, CA Sheldon X. Liang Ph. D. Software Engineering in CS at APU Azusa Pacific University, Azusa,
These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 6/e and are provided with permission by.
CS487 Software Engineering Omar Aldawud
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.
SOFTWARE ENGINEERING LECTURE-3 CSE-477.
Software Engineering: A Practitioner’s Approach, 6/e Chapter 2 Process: A Generic View copyright © 1996, 2001, 2005 R.S. Pressman & Associates, Inc.
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.
These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 6/e and are provided with permission by.
Chapter 3 Software process Structure Chapter 3 Software process Structure Moonzoo Kim KAIST 1.
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.
1 Software Engineering Muhammad Fahad Khan Software Engineering Muhammad Fahad Khan University Of Engineering.
Chapter 2 Software Process: A Generic View
Chapter 2 The Process.
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.
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.
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.
Chapter 2 Process: A Generic View
Lecture 1 Introduction to Software Engineering
Software process improvement Framework for SPI SPI support groups, maturity and immaturity models Assessment and gap analysis Education and training Selection.
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,
Lecture Topics covered CMMI- - Continuous model -Staged model PROCESS PATTERNS- -Generic Process pattern elements.
These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 6/e and are provided with permission by.
Software Engineering - I
Chapter 4 프로세스 모델 Process Models
Process: A Generic View
These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 6/e and are provided with permission by.
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.
1 Software Engineering: A Practitioner’s Approach, 7/e Chapter 2 Process: A Generic View Software Engineering: A Practitioner’s Approach, 7/e Chapter 2.
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.
Chapter 3 소프트웨어 프로세스 구조 Software Process Structure 임현승 강원대학교
These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 6/e and are provided with permission by.
1 2.1 Software Engineering Software engineering is a systematic, disciplined, quantifiable approach to the development, operation, and maintenance of software;
Software Engineering Introduction.
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.
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.
1 Software Engineering: A Practitioner’s Approach, 6/e Chapter 2 Process: A Generic View Software Engineering: A Practitioner’s Approach, 6/e Chapter 2.
1 Chapter 1 Software and Software Engineering Software Engineering: A Practitioner’s Approach, 7th edition by Roger S. Pressman.
Software Life Cycle “What happens in the ‘life’ of software”
Software Engineering (CSI 321)
Chapter 2 Software Engineering
Chapter 2 Process: A Generic View
Chapter 2 The Process.
Chapter 2 Software Engineering
Chapter 2 Process Models
For University Use Only
Chapter 2 Process Models
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.
Chapter 2 Process Models
Chapter 2 Process Models.
What is Software? Software is: (1) instructions (computer programs) that when executed provide desired features, function, and performance; (2) data structures.
Chapter 2 Process Models
Chapter 2 Process Models
Presentation transcript:

1 Chapter 2 A Generic View of Process Software Engineering: A Practitioner’s Approach, 6th edition by Roger S. Pressman

2 Chapter Overview  What? A software process - a series of predictable steps that leads to a timely, high-quality product.  Who? Managers, software engineers, and customers.  Why? Provides stability, control, and organization to an otherwise chaotic activity.  Steps? A handful of activities are common to all software processes, details vary.  Work product? Programs, documents, and data.  Correct process? Assessment, quality deliverable.  What? A software process - a series of predictable steps that leads to a timely, high-quality product.  Who? Managers, software engineers, and customers.  Why? Provides stability, control, and organization to an otherwise chaotic activity.  Steps? A handful of activities are common to all software processes, details vary.  Work product? Programs, documents, and data.  Correct process? Assessment, quality deliverable.

3 Software Engineering Software Engineering: The establishment and use of sound engineering principles in order to obtain economically software that is reliable and works efficiently on real machines.

4 Software Engineering Software Engineering: (1)The application of a systematic, disciplined, quantifiable approach to the development, operation, and maintenance of software; that is, the application of engineering to software. (2)The study of approaches as in (1). - IEEE Standard

5 A Layered Technology Software Engineering a “quality” focus process model methods tools

6 A Process Framework Process framework Umbrella activities framework activity #1 SE action #1.1 Software process task sets  work tasks work products QA points milestones SE action #1.2 task sets  work tasks work products QA points milestones framework activity #2 SE action #2.1 task sets  work tasks work products QA points milestones SE action #2.2 task sets  work tasks work products QA points milestones

7 Umbrella Activities (管理活动) What should we do to develop a software?  Software project management  Formal technical reviews  Software quality assurance  Software configuration management  Work product preparation and production  Reusability management  Measurement  Risk management What should we do to develop a software?  Software project management  Formal technical reviews  Software quality assurance  Software configuration management  Work product preparation and production  Reusability management  Measurement  Risk management

8 Framework Activities (技术活动)  Communication  Planning  Modeling  Analysis of requirements  Design  Construction  Code generation  Testing  Deployment  Communication  Planning  Modeling  Analysis of requirements  Design  Construction  Code generation  Testing  Deployment

9 The Process Model: Adaptability  The framework activities will always be applied on every project... BUT  The tasks (and degree of rigor) for each activity will vary based on:  the type of project  characteristics of the project  common sense judgment; concurrence of the project team  The framework activities will always be applied on every project... BUT  The tasks (and degree of rigor) for each activity will vary based on:  the type of project  characteristics of the project  common sense judgment; concurrence of the project team

10 The CMMI (The Capability Maturity Model Integration) 能力成熟度模型集成 CMMI represents a process meta-model in two different ways: (1) as a continuous model; (2) as a staged model; CMMI Website CMMI represents a process meta-model in two different ways: (1) as a continuous model; (2) as a staged model; CMMI Website

11 The CMMI (The Capability Maturity Model Integration)  The CMMI defines each process area in terms of “specific goals” and the “specific practices” required to achieve these goals.  Specific goals establish the characteristics that must exist if the activities implied by a process area are to be effective.  Specific practices refine a goal into a set of process-related activities.  The CMMI defines each process area in terms of “specific goals” and the “specific practices” required to achieve these goals.  Specific goals establish the characteristics that must exist if the activities implied by a process area are to be effective.  Specific practices refine a goal into a set of process-related activities.

12 Levels of CMMI  Level 0: Incomplete,  Level 1: Performed,  Level 2: Managed,  Level 3: Defined,  Level 4: Quantitatively managed,  Level 5: Optimized,  Level 0: Incomplete,  Level 1: Performed,  Level 2: Managed,  Level 3: Defined,  Level 4: Quantitatively managed,  Level 5: Optimized,

13 Personal Software Process (PSP)  Recommends five framework activities:  Planning  High-level design  High-level design review  Development  Postmortem  Stresses the need for each software engineer to identify errors early and as important, to understand the types of errors  Recommends five framework activities:  Planning  High-level design  High-level design review  Development  Postmortem  Stresses the need for each software engineer to identify errors early and as important, to understand the types of errors

14 Team Software Process (TSP)  Each project is “launched” using a “script” that defines the tasks to be accomplished  Teams (of 2 to 20 engineers) are self- directed:  Plan and track work, set goals, own processes and plans  Measurement is encouraged  Measures are analyzed with the intent of improving the team process (through coaching, motivation, …)  Each project is “launched” using a “script” that defines the tasks to be accomplished  Teams (of 2 to 20 engineers) are self- directed:  Plan and track work, set goals, own processes and plans  Measurement is encouraged  Measures are analyzed with the intent of improving the team process (through coaching, motivation, …)

15 Process Patterns  Process patterns define a set of activities, actions, work tasks, work products and/or related behaviors  A template is used to define a pattern  Typical examples:  Customer communication (a process activity)  Analysis (an action)  Requirements gathering (a process task)  Reviewing a work product (a process task)  Design model (a work product)  Process patterns define a set of activities, actions, work tasks, work products and/or related behaviors  A template is used to define a pattern  Typical examples:  Customer communication (a process activity)  Analysis (an action)  Requirements gathering (a process task)  Reviewing a work product (a process task)  Design model (a work product)

16 Process Assessment  The process should be assessed to ensure that it meets a set of basic process criteria that have been shown to be essential for a successful software engineering.  Many different assessment options are available:  SCAMPI  CBA IPI  SPICE  ISO 9001:2000  The process should be assessed to ensure that it meets a set of basic process criteria that have been shown to be essential for a successful software engineering.  Many different assessment options are available:  SCAMPI  CBA IPI  SPICE  ISO 9001:2000

17 Assessment and Improvement

18 The Primary Goal of Any Software Process: High Quality Remember: High quality  project timeliness Why? Less rework!