Presentation is loading. Please wait.

Presentation is loading. Please wait.

These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 6/e and are provided with permission by.

Similar presentations


Presentation on theme: "These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 6/e and are provided with permission by."— Presentation transcript:

1 These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 6/e and are provided with permission by R.S. Pressman & Associates, Inc., copyright © 1996, 2001, 2005 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 Process: A Generic View copyright © 1996, 2001, 2005 R.S. Pressman & Associates, Inc. For University Use Only May be reproduced ONLY for student use at the university level when used in conjunction with Software Engineering: A Practitioner's Approach. Any other reproduction or use is expressly prohibited.

2 These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 6/e and are provided with permission by R.S. Pressman & Associates, Inc., copyright © 1996, 2001, 2005 2 Software Engineering What is it? What is it? The establishment and use of sound engineering principles in order to obtain economically feasible software that works efficiently on real machines [F.Bauer, 1969] The establishment and use of sound engineering principles in order to obtain economically feasible software that works efficiently on real machines [F.Bauer, 1969] More than a discipline or a body of knowledge: It is a way of approaching a problem [S. Whitmire] More than a discipline or a body of knowledge: It is a way of approaching a problem [S. Whitmire] (1) The application of systematic, disciplined, quantifiable approach to the development, operation, and maintenance of software; I.e. the application of engineering to software. (2) The study of approaches as in (1) above. [IEEE 1993] (1) The application of systematic, disciplined, quantifiable approach to the development, operation, and maintenance of software; I.e. the application of engineering to software. (2) The study of approaches as in (1) above. [IEEE 1993]

3 These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 6/e and are provided with permission by R.S. Pressman & Associates, Inc., copyright © 1996, 2001, 2005 3 A Layered Technology Software Engineering A quality focus: the “bedrock” Process model: the “framework” Methods: technical “how to’s” Tools: CASE preferred

4 These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 6/e and are provided with permission by R.S. Pressman & Associates, Inc., copyright © 1996, 2001, 2005 4 A Process Framework Process framework Framework activities work tasks work products milestones & deliverables QA checkpoints Umbrella Activities Framework activities are applicable to all S/W projects, regardless of their size and complexity Umbrella activities are applicable across the entire S/W process

5 These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 6/e and are provided with permission by R.S. Pressman & Associates, Inc., copyright © 1996, 2001, 2005 5 Framework Activities Communication: with customers, stakeholders, team Communication: with customers, stakeholders, team Planning: for the workflow that is to follow Planning: for the workflow that is to follow Modeling: to advance the understanding of requirements Modeling: to advance the understanding of requirements Analysis of requirements Analysis of requirements Design Design Construction Construction Code generation: either manual or automated or both Code generation: either manual or automated or both Testing Testing Deployment: delivery to the customer for evaluation Deployment: delivery to the customer for evaluation DEF: “STAKEHOLDER: A person holding a large and sharp stake … If you do not look after your stakeholder, you know where the stake will end up” [R. Thomsett] (;-))

6 These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 6/e and are provided with permission by R.S. Pressman & Associates, Inc., copyright © 1996, 2001, 2005 6 Umbrella Activities Software project management Software project management Formal technical reviews Formal technical reviews Software quality assurance Software quality assurance Software configuration management Software configuration management Work product preparation and production Work product preparation and production Reusability management Reusability management Measurement Measurement Risk management Risk management

7 These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 6/e and are provided with permission by R.S. Pressman & Associates, Inc., copyright © 1996, 2001, 2005 7 The Process Model: Adaptability The framework activities will always be applied on every project... BUT 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 tasks (and degree of rigor) for each activity will vary based on: the type of project the type of project characteristics of the project characteristics of the project common sense judgment; concurrence of the project team common sense judgment; concurrence of the project team

8 These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 6/e and are provided with permission by R.S. Pressman & Associates, Inc., copyright © 1996, 2001, 2005 8 The CMMI: Capability Maturity Model Integration The CMMI defines each process area in terms of “specific goals” and the “specific practices” required to achieve these goals. 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 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. Specific practices refine a goal into a set of process- related activities. More on CMMI under www.sei.cmu.edu/cmmi

9 These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 6/e and are provided with permission by R.S. Pressman & Associates, Inc., copyright © 1996, 2001, 2005 9 Process Patterns Process patterns define a set of activities, actions, work tasks, work products and/or related behaviors Process patterns define a set of activities, actions, work tasks, work products and/or related behaviors A template is used to define a pattern A template is used to define a pattern Typical examples: Typical examples: Customer communication (a process activity) Customer communication (a process activity) Planning (an action) Planning (an action) Analysis (an action) Analysis (an action) Requirements gathering (a process task) Requirements gathering (a process task) Reviewing a work product (a process task) Reviewing a work product (a process task) Design model (a work product) Design model (a work product) Construction Construction Deployment Deployment

10 These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 6/e and are provided with permission by R.S. Pressman & Associates, Inc., copyright © 1996, 2001, 2005 10 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 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: Many different assessment options are available: SCAMPI: Standard CMMI Assessment Method for Process Improvement Five-step model: initiating, diagnosing, establishing, acting, learning. SCAMPI: Standard CMMI Assessment Method for Process Improvement Five-step model: initiating, diagnosing, establishing, acting, learning. CBA IPI: CMM Based Appraisal for Internal Process Improvement Uses SEI CMM; a diagnostic technique for assessing the relative maturity of software organizations CBA IPI: CMM Based Appraisal for Internal Process Improvement Uses SEI CMM; a diagnostic technique for assessing the relative maturity of software organizations

11 These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 6/e and are provided with permission by R.S. Pressman & Associates, Inc., copyright © 1996, 2001, 2005 11 Process Assessment More assessment options: More assessment options: SPICE (ISO/IEC15504): Standard defining set of requirements for software process assessment. Intent: To assist in developing an objective evaluation of the efficacy of any defined S/W process SPICE (ISO/IEC15504): Standard defining set of requirements for software process assessment. Intent: To assist in developing an objective evaluation of the efficacy of any defined S/W process ISO 9001:2000: Generic standard that applies to any organization intent on improving the overall quality of the products, systems or services. This standard is directly applicable to S/W organizations and companies. ISO 9001:2000: Generic standard that applies to any organization intent on improving the overall quality of the products, systems or services. This standard is directly applicable to S/W organizations and companies.

12 These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 6/e and are provided with permission by R.S. Pressman & Associates, Inc., copyright © 1996, 2001, 2005 12 Assessment and Improvement

13 These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 6/e and are provided with permission by R.S. Pressman & Associates, Inc., copyright © 1996, 2001, 2005 13 Personal Software Process (PSP) Recommends five framework activities: Recommends five framework activities: Planning Planning High-level design High-level design High-level design review High-level design review Development Development Postmortem Postmortem Stresses the need for each software engineer to identify errors early and as important, to understand the types of errors Stresses the need for each software engineer to identify errors early and as important, to understand the types of errors

14 These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 6/e and are provided with permission by R.S. Pressman & Associates, Inc., copyright © 1996, 2001, 2005 14 Team Software Process (TSP) Each project is “launched” using a “script” that defines the tasks to be accomplished Each project is “launched” using a “script” that defines the tasks to be accomplished Teams (of 2 to 20 engineers) are self-directed: Teams (of 2 to 20 engineers) are self-directed: Plan and track work, set goals, own processes and plans Plan and track work, set goals, own processes and plans Measurement is encouraged Measurement is encouraged Measures are analyzed with the intent of improving the team process (through coaching, motivation, …) Measures are analyzed with the intent of improving the team process (through coaching, motivation, …)

15 These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 6/e and are provided with permission by R.S. Pressman & Associates, Inc., copyright © 1996, 2001, 2005 15 The Primary Goal of Any Software Process: High Quality Remember: High quality = project timeliness Why? Less rework!


Download ppt "These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 6/e and are provided with permission by."

Similar presentations


Ads by Google