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 Supplementary Slides for Software Engineering: A Practitioner's Approach, 6/e Part 2 Supplementary Slides for Software Engineering: A Practitioner's Approach, 6/e Part 2 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. This presentation, slides, or hardcopy may NOT be used for short courses, industry seminars, or consulting purposes.

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: A Practitioner’s Approach, 6/e Chapter 5 Practice: A Generic View Software Engineering: A Practitioner’s Approach, 6/e Chapter 5 Practice: 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.

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 What is “Practice”? Practice is a broad array of concepts, principles, methods, and tools that you must consider as software is planned and developed. Practice is a broad array of concepts, principles, methods, and tools that you must consider as software is planned and developed. It represents the details—the technical considerations and how-to’s—that are below the surface of the software process—the things that you’ll need to actually build high-quality computer software. It represents the details—the technical considerations and how-to’s—that are below the surface of the software process—the things that you’ll need to actually build high-quality computer software.

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 The Essence of Practice George Polya, in a book written in 1945 (!), describes the essence of software engineering practice … George Polya, in a book written in 1945 (!), describes the essence of software engineering practice … Understand the problem (communication and analysis). Understand the problem (communication and analysis). Plan a solution (modeling and software design). Plan a solution (modeling and software design). Carry out the plan (code generation). Carry out the plan (code generation). Examine the result for accuracy (testing and quality assurance). Examine the result for accuracy (testing and quality assurance). At its core, good practice is common-sense problem solving At its core, good practice is common-sense problem solving

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 Core Software Engineering Principles Provide value to the customer and the user Provide value to the customer and the user KIS—keep it simple! KIS—keep it simple! Maintain the product and project “vision” Maintain the product and project “vision” What you produce, others will consume What you produce, others will consume Be open to the future Be open to the future Plan ahead for reuse Plan ahead for reuse Think! Think!

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 Software Engineering Practices Consider the generic process framework Consider the generic process framework Communication Communication Planning Planning Modeling Modeling Construction Construction Deployment Deployment Here, we’ll identify Here, we’ll identify Underlying principles Underlying principles How to initiate the practice How to initiate the practice An abbreviated task set An abbreviated task set

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 Communication Practices Principles Principles Listen Listen Prepare before you communicate Prepare before you communicate Facilitate the communication Facilitate the communication Face-to-face is best Face-to-face is best Take notes and document decisions Take notes and document decisions Collaborate with the customer Collaborate with the customer Stay focused Stay focused Draw pictures when things are unclear Draw pictures when things are unclear Move on … Move on … Negotiation works best when both parties win. Negotiation works best when both parties win.

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 Communication Practices Initiation Initiation The parties should be physically close to one another The parties should be physically close to one another Make sure communication is interactive Make sure communication is interactive Create solid team “ecosystems” Create solid team “ecosystems” Use the right team structure Use the right team structure

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 Communication Practices An abbreviated task set An abbreviated task set Identify who it is you need to speak with Identify who it is you need to speak with Define the best mechanism for communication Define the best mechanism for communication Establish overall goals and objectives and define the scope Establish overall goals and objectives and define the scope Get more detailed Get more detailed Have stakeholders define scenarios for usage Have stakeholders define scenarios for usage Extract major functions/features Extract major functions/features Review the results with all stakeholders Review the results with all stakeholders

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 Communication Task Set Identify primary customer and other stakeholders Identify primary customer and other stakeholders Meet with primary customer to address “context free questions” that define: Meet with primary customer to address “context free questions” that define: Business need and business values Business need and business values End-user’ characteristics/needs End-user’ characteristics/needs Required user-visible outputs Required user-visible outputs Business constraints Business constraints Develop a one-page written document of project scope that is subject to revision Develop a one-page written document of project scope that is subject to revision Review statement of scope with stakeholders and amend as required Review statement of scope with stakeholders and amend as required

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 Communication Task Set Collaborate with customer/end-users to define customer visible usage scenarios using standard format Collaborate with customer/end-users to define customer visible usage scenarios using standard format Resulting outputs and inputs Resulting outputs and inputs Important software features, functions, and behavior Important software features, functions, and behavior Customer-defined business risks Customer-defined business risks Develop a brief written description of scenarios, output/inputs, features/functions and risks Develop a brief written description of scenarios, output/inputs, features/functions and risks Iterate with customer to refine scenarios, output/inputs, features/functions and risks Iterate with customer to refine scenarios, output/inputs, features/functions and risks Assign customer-defined priorities to each user scenarios, features, functions and behavior Assign customer-defined priorities to each user scenarios, features, functions and behavior

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 Communication Task Set Review all information gathered during the communication activity with the customer and other stakeholders and amend as required Review all information gathered during the communication activity with the customer and other stakeholders and amend as required Prepare for planning activity Prepare for planning activity

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 Planning Practices Principles Principles Understand the project scope Understand the project scope Involve the customer (and other stakeholders) Involve the customer (and other stakeholders) Recognize that planning is iterative Recognize that planning is iterative Estimate based on what you know Estimate based on what you know Consider risk Consider risk Be realistic Be realistic Adjust granularity as you plan Adjust granularity as you plan Define how quality will be achieved Define how quality will be achieved Define how you’ll accommodate changes Define how you’ll accommodate changes Track what you’ve planned Track what you’ve planned

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 Planning Practices Initiation: Ask Boehm’s questions(W 5 HH) Initiation: Ask Boehm’s questions(W 5 HH) Why is the system begin developed? Why is the system begin developed? What will be done? What will be done? When will it be accomplished? When will it be accomplished? Who is responsible? Who is responsible? Where are they located (organizationally)? Where are they located (organizationally)? How will the job be done technically and managerially? How will the job be done technically and managerially? How much of each resource is needed? How much of each resource is needed?

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 Planning Practices An abbreviated task set An abbreviated task set Re-assess project scope Re-assess project scope Assess risks Assess risks Evaluate functions/features Evaluate functions/features Consider infrastructure functions/features Consider infrastructure functions/features Create a coarse granularity plan Create a coarse granularity plan Number of software increments Number of software increments Overall schedule Overall schedule Delivery dates for increments Delivery dates for increments Create fine granularity plan for first increment Create fine granularity plan for first increment Track progress Track progress

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 Planning Task Set Reevaluate project scope Reevaluate project scope Assess risk Assess risk Develop and/or refine user scenarios Develop and/or refine user scenarios Extract functions and features from the scenarios Extract functions and features from the scenarios Define technical functions and features that enable software infrastructure Define technical functions and features that enable software infrastructure Group functions and features by customer priority Group functions and features by customer priority Create a coarse granularity project plan Create a coarse granularity project plan Define the number of projected software increments Define the number of projected software increments Establish an overall project schedule Establish an overall project schedule Establish projected delivery dates for each increment Establish projected delivery dates for each increment

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 Planning Task Set Create a fine granularity plan for current iteration Create a fine granularity plan for current iteration Define work task for each function feature Define work task for each function feature Estimate effort for each work task Estimate effort for each work task Assign responsibility for each work task Assign responsibility for each work task Define work product to be produced Define work product to be produced Identify quality assurance methods to be used Identify quality assurance methods to be used Describe methods for managing change Describe methods for managing change Track progress regularly Track progress regularly Note problem areas Note problem areas Make adjustments as required Make adjustments as required

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 Modeling Practices We create models to gain a better understanding of the actual entity to be built We create models to gain a better understanding of the actual entity to be built Analysis models represent the customer requirements by depicting the software in three different domains: the information domain, the functional domain, and the behavioral domain. Analysis models represent the customer requirements by depicting the software in three different domains: the information domain, the functional domain, and the behavioral domain. Design models represent characteristics of the software that help practitioners to construct it effectively: the architecture, the user interface, and component-level detail. Design models represent characteristics of the software that help practitioners to construct it effectively: the architecture, the user interface, and component-level detail.

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 Analysis Modeling Practices Analysis modeling principles Analysis modeling principles Represent the information domain Represent the information domain Represent software functions Represent software functions Represent software behavior Represent software behavior Partition these representations Partition these representations Move from essence toward implementation Move from essence toward implementation Elements of the analysis model (Chapter 8) Elements of the analysis model (Chapter 8) Data model Data model Flow model Flow model Class model Class model Behavior model Behavior model

20 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 20 Analysis Task Set Review business requirements, end-users’ characteristics/needs, user-visible outputs, business constraints, and other technical requirements that were determined during the customer communication and planning activities Review business requirements, end-users’ characteristics/needs, user-visible outputs, business constraints, and other technical requirements that were determined during the customer communication and planning activities Expand and refine user scenarios Expand and refine user scenarios Define all actors Define all actors Represent how actors interact with the software Represent how actors interact with the software Extract functions and features from the user scenarios Extract functions and features from the user scenarios Review the user scenarios for completeness and accuracy Review the user scenarios for completeness and accuracy

21 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 21 Analysis Task Set Model the information domain Model the information domain Represent all major information objects Represent all major information objects Define attributes for each information object Define attributes for each information object Represent the relationships between information objects Represent the relationships between information objects Model the functional domain Model the functional domain Show how functions modify data objects Show how functions modify data objects Refine functions to provide elaborative detail Refine functions to provide elaborative detail Write a processing narrative that describes each function and subfunction Write a processing narrative that describes each function and subfunction Review the functional models Review the functional models

22 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 22 Analysis Task Set Model the behavioral domain Model the behavioral domain Identity external events that cause behavioral changes within the system Identity external events that cause behavioral changes within the system Identity states that represent each externally observable mode of behavior Identity states that represent each externally observable mode of behavior Depict how an event causes the system to move from one state to another Depict how an event causes the system to move from one state to another Review the behavioral model Review the behavioral model Analyze and model the user interface Analyze and model the user interface Conduct task analysis Conduct task analysis Create screen image prototype Create screen image prototype Review all models for completeness, consistency and omissions Review all models for completeness, consistency and omissions

23 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 23 Design Modeling Practices Principles Principles Design must be traceable to the analysis model Design must be traceable to the analysis model Always consider architecture of the system Always consider architecture of the system Focus on the design of data Focus on the design of data Interfaces (both user and internal) must be designed Interfaces (both user and internal) must be designed Interface should be tuned to the user needs Interface should be tuned to the user needs Components should exhibit functional independence Components should exhibit functional independence Components should be loosely coupled Components should be loosely coupled Design representation should be easily understood Design representation should be easily understood The design model should be developed iteratively The design model should be developed iteratively

24 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 24 Design Modeling Practices Elements of the design model Elements of the design model Data design Data design Architectural design Architectural design Component design Component design Interface design Interface design

25 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 25 Design Task Set Using the analysis model, select an architectural style (pattern) that is appropriate for the software Using the analysis model, select an architectural style (pattern) that is appropriate for the software Partition the analysis model into design subsystems and allocate these subsystems within the architecture Partition the analysis model into design subsystems and allocate these subsystems within the architecture Be certain that each subsystem is functionality cohesive Be certain that each subsystem is functionality cohesive Design subsystem interfaces Design subsystem interfaces Allocate analysis classes or functions to each subsystem Allocate analysis classes or functions to each subsystem Using the information domain model, design appropriate data structures Using the information domain model, design appropriate data structures

26 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 26 Design Task Set Design the user interface Design the user interface Review results of task analysis Review results of task analysis Specify action sequence based on user scenarios Specify action sequence based on user scenarios Create behavioral model of the interface Create behavioral model of the interface Define interface objects, control mechanisms Define interface objects, control mechanisms Conduct component-level design Conduct component-level design Specify all algorithms at a relatively low level of abstraction Specify all algorithms at a relatively low level of abstraction Refine the interface of each component Refine the interface of each component Define component level data structures Define component level data structures Review the component level design Review the component level design Develop a deployment model Develop a deployment model

27 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 27 Agile Modeling The primary goal of the software team is to built software, not create models The primary goal of the software team is to built software, not create models Travel light - don’t create more models than you need Travel light - don’t create more models than you need Strive to produce the simplest model that will describe the problem or the software Strive to produce the simplest model that will describe the problem or the software Build models in a way that makes them amendable to change Build models in a way that makes them amendable to change Be able to state an explicit purpose for each model that is created Be able to state an explicit purpose for each model that is created

28 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 28 Agile Modeling Adopt the models you develop to the system at hand Adopt the models you develop to the system at hand Try to build useful models, but forget about building perfect models Try to build useful models, but forget about building perfect models Don’t become dogmatic about the syntax of the model. If it communicates content successfully Don’t become dogmatic about the syntax of the model. If it communicates content successfully If you instincts tell you a model isn’t right even though it seems okay on paper, you probably have reason to be concerned If you instincts tell you a model isn’t right even though it seems okay on paper, you probably have reason to be concerned Get feedback as soon as you can Get feedback as soon as you can

29 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 29 Construction Practices Preparation principles: Before you write one line of code, be sure you: Preparation principles: Before you write one line of code, be sure you: Understand of the problem you’re trying to solve. Understand of the problem you’re trying to solve. Understand basic design principles and concepts. Understand basic design principles and concepts. Pick a programming language that meets the needs of the software to be built and the environment in which it will operate. Pick a programming language that meets the needs of the software to be built and the environment in which it will operate. Select a programming environment that provides tools that will make your work easier. Select a programming environment that provides tools that will make your work easier. Create a set of unit tests that will be applied once the component you code is completed Create a set of unit tests that will be applied once the component you code is completed.

30 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 30 Construction Practices Coding principles: As you begin writing code, be sure you: Coding principles: As you begin writing code, be sure you: Constrain your algorithms by following structured programming practice. Constrain your algorithms by following structured programming practice. Select data structures that will meet the needs of the design. Select data structures that will meet the needs of the design. Understand the software architecture and create interfaces that are consistent with it. Understand the software architecture and create interfaces that are consistent with it. Keep conditional logic as simple as possible. Keep conditional logic as simple as possible. Create nested loops in a way that makes them easily testable. Create nested loops in a way that makes them easily testable. Select meaningful variable names and follow other local coding standards. Select meaningful variable names and follow other local coding standards. Write code that is self-documenting. Write code that is self-documenting. Create a visual layout (e.g., indentation and blank lines) that aids understanding. Create a visual layout (e.g., indentation and blank lines) that aids understanding.

31 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 31 Construction Practices Validation Principles: After you’ve completed your first coding pass, be sure you: Validation Principles: After you’ve completed your first coding pass, be sure you: Conduct a code walkthrough when appropriate. Conduct a code walkthrough when appropriate. Perform unit tests and correct errors you’ve uncovered. Perform unit tests and correct errors you’ve uncovered. Refactor the code. Refactor the code.

32 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 32 Construction Task Set Build architectural infrastructure Build architectural infrastructure Review the architectural design Review the architectural design Code and test the components that enable architectural infrastructure Code and test the components that enable architectural infrastructure Acquire reusable architectural patterns Acquire reusable architectural patterns Test the infrastructure to ensure interface integrity Test the infrastructure to ensure interface integrity Build a software component Build a software component Review the component-level design Review the component-level design Create a set of unit tests for the component Create a set of unit tests for the component Code component data structure and interface Code component data structure and interface Code internal algorithms and related processing functions Code internal algorithms and related processing functions Review code as it is written Review code as it is written Look for correctness Look for correctness Ensure that coding standards have been maintained Ensure that coding standards have been maintained Ensure that the code is self-documenting Ensure that the code is self-documenting

33 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 33 Construction Task Set Unit test the component Unit test the component Conduct all unit tests Conduct all unit tests Correct errors uncovered Correct errors uncovered Reapply unit tests Reapply unit tests Integrity completed component into the architectural infrastructure Integrity completed component into the architectural infrastructure

34 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 34 Construction Practices Testing Principles Testing Principles All tests should be traceable to requirements All tests should be traceable to requirements Tests should be planned Tests should be planned The Pareto Principle (80-20 Principle) applies to testing The Pareto Principle (80-20 Principle) applies to testing Testing begins “in the small” and moves toward “in the large” Testing begins “in the small” and moves toward “in the large” Exhaustive testing is not possible Exhaustive testing is not possible

35 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 35 Testing Task Set Design unit tests for each software component Design unit tests for each software component Review each unit test to ensure proper converge Review each unit test to ensure proper converge Conduct the unit test Conduct the unit test Correct errors uncovered Correct errors uncovered Reapply unit tests Reapply unit tests Develop an integration strategy Develop an integration strategy Establish order of and strategy to be used for integration Establish order of and strategy to be used for integration Define “builds” and the tests required to exercise them Define “builds” and the tests required to exercise them Conduct smoke testing on a daily basis Conduct smoke testing on a daily basis Conduct regression tests as required Conduct regression tests as required

36 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 36 Testing Task Set Develop validation strategy Develop validation strategy Establish validation criteria Establish validation criteria Define tests required to validate software Define tests required to validate software Conduct integration and validation tests Conduct integration and validation tests Correct errors uncovered Correct errors uncovered Reapply tests as required Reapply tests as required Conduct high-order tests Conduct high-order tests Perform recovery testing Perform recovery testing Perform security testing Perform security testing Perform stress testing Perform stress testing Perform performance testing Perform performance testing Coordinate acceptance tests with customers Coordinate acceptance tests with customers

37 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 37 Deployment Practices Principles Principles Manage customer expectations for each increment Manage customer expectations for each increment A complete delivery package should be assembled and tested A complete delivery package should be assembled and tested A support regime should be established A support regime should be established Instructional materials must be provided to end-users Instructional materials must be provided to end-users Buggy software should be fixed first, delivered later Buggy software should be fixed first, delivered later

38 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 38 Deployment Task Set Create delivery media Create delivery media Assembly and test all executable files Assembly and test all executable files Assembly and test all data files Assembly and test all data files Create and test all user documentation Create and test all user documentation Implement electronic (e.g., pdf) versions Implement electronic (e.g., pdf) versions Implement hypertext “help” files Implement hypertext “help” files Implement a troubleshooting guide Implement a troubleshooting guide Test delivery media with a small group of representative users Test delivery media with a small group of representative users Establish human support person or group Establish human support person or group Create documentation and/or computer support tools Create documentation and/or computer support tools Establish contact mechanisms (e.g., Web site, phone, e-mail) Establish contact mechanisms (e.g., Web site, phone, e-mail) Establish problem-logging mechanism Establish problem-logging mechanism Establish problem-reporting mechanism Establish problem-reporting mechanism Establish problem/error reporting database Establish problem/error reporting database

39 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 39 Deployment Task Set Establish user feedback mechanisms Establish user feedback mechanisms Define feedback process Define feedback process Define feedback forms (paper and electronic) Define feedback forms (paper and electronic) Establish feedback database Establish feedback database Define feedback assessment Define feedback assessment Disseminate delivery media to all users Disseminate delivery media to all users Conduct on-going support functions Conduct on-going support functions Provide installation and start-up assistance Provide installation and start-up assistance Provide continuing troubleshooting assistance Provide continuing troubleshooting assistance Collect user feedback Collect user feedback Log feedback Log feedback Assess feedback Assess feedback Communicate with users on feedback Communicate with users on feedback


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