Download presentation
Presentation is loading. Please wait.
Published byMae Whitehead Modified over 9 years ago
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 The application of systematic, disciplined, quantifiable approach to the development, operation, and maintenance of software; that is, the application of engineering to software. The study of approaches as pointed above. The IEEE definition
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 process model methods tools
4
Process Process Defines who is doing what, when, and how to reach a certain goal. Defines who is doing what, when, and how to reach a certain goal. Forms the basis for management control of software projects. Forms the basis for management control of software projects. Methods Methods technical “how to”s for building software technical “how to”s for building software Broad array of tasks: communication, requirements analysis, design modeling, program construction, testing, and support Broad array of tasks: communication, requirements analysis, design modeling, program construction, testing, and support Tools Tools Automated support for process and methods Automated support for process and methods 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
5
5 A Process Framework Process framework Framework activities work tasks work tasks work products work products milestones & deliverables milestones & deliverables QA checkpoints QA checkpoints Umbrella Activities Process framework Umbrella Activities Framework activity 1 Framework activity n Software Process
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 A Process Framework Process framework Framework activities work tasks work products milestones & deliverables QA checkpoints Umbrella Activities Process framework Modeling activity Modeling activity Software Engineering action : Analysis work tasks: requirements gathering, work tasks: requirements gathering, elaboration, negotiation, elaboration, negotiation, specification, validation specification, validation work products: analysis model and/or requirements specification requirements specification milestones & deliverables QA checkpoints Software Engineering action : Design work tasks: data design, architectural, interface design, interface design, component design component design work products: design model work products: design model and/or design specification and/or design specification Umbrella Activities
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 Framework Activities Communication Communication Planning Planning Modeling Modeling Analysis of requirements Analysis of requirements Design Design Construction Construction Code generation Code generation Testing Testing Deployment Deployment Delivery Delivery Feedback Feedback
8
Activity: Communication Activity: Communication Task set for a relatively simple project Task set for a relatively simple project Make a list of stakeholders for project Make a list of stakeholders for project Invite all stakeholders for an informal meeting Invite all stakeholders for an informal meeting Ask each stakeholder to make a list of required features and functions Ask each stakeholder to make a list of required features and functions Discuss requirements and build a final list Discuss requirements and build a final list Prioritize requirements Prioritize requirements Note areas of uncertainty Note areas of uncertainty Task set for a larger project Task set for a larger project … 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
9
Activity: Communication, Action: requirement gathering Task set for a relatively simple project … Task set for a relatively simple project … Task set for a larger project Task set for a larger project Make a list of stakeholders for project Make a list of stakeholders for project Interview each stakeholder separately Interview each stakeholder separately Build a preliminary list of required features and functions Build a preliminary list of required features and functions Schedule a series of facilitated requirement gathering meetings Schedule a series of facilitated requirement gathering meetings Conduct meetings Conduct meetings Produce informal user scenarios as part of each meeting Produce informal user scenarios as part of each meeting Refine user scenarios based on stakeholder feedback Refine user scenarios based on stakeholder feedback Build a revised list of stakeholder requirements Build a revised list of stakeholder requirements Use quality function deployment techniques to prioritize requirements Use quality function deployment techniques to prioritize requirements Package requirements so that they can be delivered incrementally Package requirements so that they can be delivered incrementally Note constraints and restrictions that will be placed on the system Note constraints and restrictions that will be placed on the system Discuss methods for validating the system Discuss methods for validating the system
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 Typical Umbrella Activities Software project tracking and control Software project tracking and control Risk management Risk management Software quality assurance Software quality assurance Formal technical reviews Formal technical reviews Measurement Measurement Software configuration management Software configuration management Reusability management Reusability management Work product preparation and production Work product preparation and production
11
Software project tracking and control Software project tracking and control To maintain schedule … To maintain schedule … Risk management Risk management Software quality assurance Software quality assurance Formal technical reviews Formal technical reviews Uncover and remove errors before they propagate to the next action Uncover and remove errors before they propagate to the next action Measurement Measurement Process, project and product measures Process, project and product measures Software configuration management Software configuration management Manages the effects of change Manages the effects of change Reusability management Reusability management Work product preparation and production Work product preparation and production Create models, documents, logs, forms, lists … Create models, documents, logs, forms, lists … 11
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 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
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 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.
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 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) 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)
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 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.
16
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 16 Assessment and Improvement
17
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 17 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
18
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 18 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 are self-directed Teams are self-directed Measurement is encouraged Measurement is encouraged Measures are analyzed with the intent of improving the team process Measures are analyzed with the intent of improving the team process
19
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 19 The Primary Goal of Any Software Process: High Quality Remember: High quality = project timeliness Why? Less rework!
Similar presentations
© 2024 SlidePlayer.com. Inc.
All rights reserved.