DEV475 Mastering Object-Oriented Analysis and Design with UML ...
DEV475 Mastering Object-Oriented Analysis and Design with UML ... DEV475 Mastering Object-Oriented Analysis and Design with UML ...
DEV475 Mastering Object-Oriented Analysis and Design with UMLWhat Do You Want to Control?What Do You Want to Control?• Secure workspaces for each developer• Automated integration/build management• Parallel developmentWorkspaceManagementParallelDevelopmentConfigurationManagement ismore than justcheck-in andcheck-outProcessIntegrationREPORTALERTBuildManagementMastering Object Oriented Analysis and Design with UMLCopyright © 2003 Rational Software, all rights reserved28Establishing a secure workspace for each developer provides isolation from changesmade in other workspaces and control of all software artifacts — models, code,documents and so forth.A key challenge to developing software-intensive systems is the need to cope withmultiple developers, organized into different teams, possibly at different sites, allworking together on multiple iterations, releases, products, and platforms. In theabsence of disciplined control, the development process rapidly degrades into chaos.Progress can come to a stop.Three common problems that result are:• Simultaneous update: When two or more roles separately modify the sameartifact, the last one to make changes destroys the work of the former.• Limited notification: When a problem is fixed in shared artifacts, some of theusers are not notified of the change.• Multiple versions: With iterative development, it would not be unusual to havemultiple versions of an artifact in different stages of development at the sametime. For example, one release is in customer use, one is in test, and one is still indevelopment. If a problem is identified in any one of the versions, the fix must bepropagated among all of them.1 - 28
Module 1 - Best Practices of Software EngineeringAspects of a CM SystemAspects of a CM System• Change Request Management (CRM)• Configuration Status Reporting• Configuration Management (CM)• Change Tracking• Version Selection• Software ManufactureMastering Object Oriented Analysis and Design with UMLCopyright © 2003 Rational Software, all rights reserved29Change Request Management (CRM) addresses the organizational infrastructurerequired to assess the cost and schedule impacts of a requested change to the existingproduct. CRM addresses the workings of a Change Review Team or Change ControlBoard.Configuration Status Reporting (Measurement) is used to describe the “state” ofthe product based on the type, number, rate and severity of defects found and fixedduring the course of product development. Metrics derived under this aspect,through either audits or raw data, are useful in determining the overall completenessof the project.Configuration Management (CM) describes the product structure and identifies itsconstituent configuration items, which are treated as single versionable entities in theconfiguration management process. CM deals with defining configurations, buildingand labeling, and collecting versioned artifacts into constituent sets, as well as withmaintaining traceability among these versions.Change Tracking describes what is done to components for what reason and at whattime. It serves as the history of and rationale for changes. It is quite separate fromassessing the impact of proposed changes as described under Change RequestManagement.Version Selection ensures that the right versions of configuration items are selectedfor change or implementation. Version selection relies on a solid foundation of“configuration identification.”Software Manufacture covers the need to automate the steps to compile, test, andpackage software for distribution.1 - 29
- Page 2 and 3: Rational UniversityDEV475 Mastering
- Page 5 and 6: AcknowledgmentsThe development of t
- Page 7 and 8: ► ► ► Module 0About This Cour
- Page 9 and 10: Module 0 - About This CourseCourse
- Page 11 and 12: Module 0 - About This CourseIntende
- Page 13 and 14: Module 0 - About This CourseRationa
- Page 15 and 16: Module 0 - About This CourseRationa
- Page 18 and 19: DEV475 Mastering Object-Oriented An
- Page 20 and 21: DEV475 Mastering Object-Oriented An
- Page 22 and 23: DEV475 Mastering Object-Oriented An
- Page 24 and 25: DEV475 Mastering Object-Oriented An
- Page 26 and 27: DEV475 Mastering Object-Oriented An
- Page 28 and 29: DEV475 Mastering Object-Oriented An
- Page 30 and 31: DEV475 Mastering Object-Oriented An
- Page 32 and 33: DEV475 Mastering Object-Oriented An
- Page 34 and 35: DEV475 Mastering Object-Oriented An
- Page 36 and 37: DEV475 Mastering Object-Oriented An
- Page 38 and 39: DEV475 Mastering Object-Oriented An
- Page 40 and 41: DEV475 Mastering Object-Oriented An
- Page 42 and 43: DEV475 Mastering Object-Oriented An
- Page 44 and 45: DEV475 Mastering Object-Oriented An
- Page 48 and 49: DEV475 Mastering Object-Oriented An
- Page 50 and 51: DEV475 Mastering Object-Oriented An
- Page 52 and 53: DEV475 Mastering Object-Oriented An
- Page 54 and 55: DEV475 Mastering Object-Oriented An
- Page 56 and 57: DEV475 Mastering Object-Oriented An
- Page 58 and 59: DEV475 Mastering Object-Oriented An
- Page 60 and 61: DEV475 Mastering Object-Oriented An
- Page 62 and 63: DEV475 Mastering Object-Oriented An
- Page 64 and 65: DEV475 Mastering Object-Oriented An
- Page 66 and 67: DEV475 Mastering Object-Oriented An
- Page 68 and 69: DEV475 Mastering Object-Oriented An
- Page 70 and 71: DEV475 Mastering Object-Oriented An
- Page 72 and 73: DEV475 Mastering Object-Oriented An
- Page 74 and 75: DEV475 Mastering Object-Oriented An
- Page 76 and 77: DEV475 Mastering Object-Oriented An
- Page 78 and 79: DEV475 Mastering Object-Oriented An
- Page 80 and 81: DEV475 Mastering Object-Oriented An
- Page 82 and 83: DEV475 Mastering Object-Oriented An
- Page 84 and 85: DEV475 Mastering Object-Oriented An
- Page 86 and 87: DEV475 Mastering Object-Oriented An
- Page 88 and 89: DEV475 Mastering Object-Oriented An
- Page 90 and 91: DEV475 Mastering Object-Oriented An
- Page 92 and 93: DEV475 Mastering Object-Oriented An
- Page 94 and 95: DEV475 Mastering Object-Oriented An
Module 1 - Best Practices of Software EngineeringAspects of a CM SystemAspects of a CM System• Change Request Management (CRM)• Configuration Status Reporting• Configuration Management (CM)• Change Tracking• Version Selection• Software Manufacture<strong>Mastering</strong> <strong>Object</strong> <strong>Oriented</strong> <strong>Analysis</strong> <strong>and</strong> <strong>Design</strong> <strong>with</strong> <strong>UML</strong>Copyright © 2003 Rational Software, all rights reserved29Change Request Management (CRM) addresses the organizational infrastructurerequired to assess the cost <strong>and</strong> schedule impacts of a requested change to the existingproduct. CRM addresses the workings of a Change Review Team or Change ControlBoard.Configuration Status Reporting (Measurement) is used to describe the “state” ofthe product based on the type, number, rate <strong>and</strong> severity of defects found <strong>and</strong> fixedduring the course of product development. Metrics derived under this aspect,through either audits or raw data, are useful in determining the overall completenessof the project.Configuration Management (CM) describes the product structure <strong>and</strong> identifies itsconstituent configuration items, which are treated as single versionable entities in theconfiguration management process. CM deals <strong>with</strong> defining configurations, building<strong>and</strong> labeling, <strong>and</strong> collecting versioned artifacts into constituent sets, as well as <strong>with</strong>maintaining traceability among these versions.Change Tracking describes what is done to components for what reason <strong>and</strong> at whattime. It serves as the history of <strong>and</strong> rationale for changes. It is quite separate fromassessing the impact of proposed changes as described under Change RequestManagement.Version Selection ensures that the right versions of configuration items are selectedfor change or implementation. Version selection relies on a solid foundation of“configuration identification.”Software Manufacture covers the need to automate the steps to compile, test, <strong>and</strong>package software for distribution.1 - 29