chapter 13
play

Chapter 13 Object-Oriented Software Engineering Outline of the - PDF document

Chapter 13 Object-Oriented Software Engineering Outline of the Lecture Configuration Purpose of Software Configuration Management (SCM) ! Motivation: Why software configuration management? Management ! Definition: What is software


  1. Chapter 13 Object-Oriented Software Engineering Outline of the Lecture Configuration ♦ Purpose of Software Configuration Management (SCM) ! Motivation: Why software configuration management? Management ! Definition: What is software configuration management? ! Activities and roles in software configuration management ♦ Some Terminology Using UML, Patterns, and Java ! Configuration Item, Baseline, SCM Directory, Version, Revision Release. ♦ Software Configuration Management Activities ! Promotion Management, Release Management, Change Management ♦ Outline of a Software Configuration Management Plans ! Standards (Example: IEEE 828-1990) ! Basic elements of IEEE 828-1990 ♦ Configuration Management Tools Bernd Bruegge & Allen H. Dutoit Object-Oriented Software Engineering: Using UML, Patterns, and Java 2 Why Software Configuration Management ? What is Software Configuration Management? ♦ The problem: ♦ Definition: ! Multiple people have to work on software that is changing ! A set of management disciplines within the software engineering process to develop a baseline. ! More than one version of the software has to be supported: " Released systems " Custom configured systems (different functionality) ♦ Description: " System(s) under development ! Software Configuration Management encompasses the disciplines ! Software must run on different machines and operating systems and techniques of initiating, evaluating and controlling change to software products during and after the software engineering # Need for coordination process. ♦ Software Configuration Management ! manages evolving software systems ♦ Standards (approved by ANSI) ! controls the costs involved in making changes to a system ! IEEE 828: Software Configuration Management Plans ! IEEE 1042: Guide to Software Configuration Management Bernd Bruegge & Allen H. Dutoit Object-Oriented Software Engineering: Using UML, Patterns, and Java 3 Bernd Bruegge & Allen H. Dutoit Object-Oriented Software Engineering: Using UML, Patterns, and Java 4 Software Configuration Management is a Project Configuration Management Activities Function ♦ SCM is a Project Function (as defined in the SPMP) with the ♦ Software Configuration Management Activities: goal to make technical and managerial activities more effective. ! Configuration item identification ! Promotion management ♦ Software Configuration Management can be administered in several ways: ! Release management ! A single software configuration management team for the whole ! Branch management organization ! Variant management ! A separate configuration management team for each project ! Change management ! Software Configuration Management distributed among the project members ♦ No fixed rules: ! Mixture of all of the above ! Activities are usually performed in different ways (formally, informally) depending on the project type and life-cycle phase (research, development, maintenance). Bernd Bruegge & Allen H. Dutoit Object-Oriented Software Engineering: Using UML, Patterns, and Java 5 Bernd Bruegge & Allen H. Dutoit Object-Oriented Software Engineering: Using UML, Patterns, and Java 6 Page 1

  2. Configuration Management Activities (continued) Configuration Management Roles ♦ Configuration item identification ♦ Configuration Manager ! modeling of the system as a set of evolving components ! Responsible for identifying configuration items. The configuration manager can also be responsible for defining the procedures for ♦ Promotion management creating promotions and releases ! is the creation of versions for other developers ♦ Change control board member ♦ Release management ! Responsible for approving or rejecting change requests ! is the creation of versions for the clients and users ♦ Change management ♦ Developer ! is the handling, approval and tracking of change requests ! Creates promotions triggered by change requests or the normal activities of development. The developer checks in changes and ♦ Branch management resolves conflicts ! is the management of concurrent development ♦ Auditor ♦ Variant management ! Responsible for the selection and evaluation of promotions for ! is the management of versions intended to coexist release and for ensuring the consistency and completeness of this release Bernd Bruegge & Allen H. Dutoit Object-Oriented Software Engineering: Using UML, Patterns, and Java 7 Bernd Bruegge & Allen H. Dutoit Object-Oriented Software Engineering: Using UML, Patterns, and Java 8 Terminology Terminology: Configuration Item ♦ We will define the following terms “An aggregation of hardware, software, or both, that is designated for configuration management and treated as a ! Configuration Item single entity in the configuration management process.” ! Baseline ! SCM Directories ! Version $ Software configuration items are not only program code segments but all type of documents according to development, e.g ! Revision # all type of code files ! Release # drivers for tests # analysis or design documents # The definition of the terms follows the IEEE standard. # user or developer manuals # Different configuration management systems may use different # system configurations (e.g. version of compiler used) terms. # Example: CVS configuration management system used in our $ In some systems, not only software but also hardware configuration items projects uses terms differeing from the IEEE standard . (CPUs, bus speed frequencies) exist! Bernd Bruegge & Allen H. Dutoit Object-Oriented Software Engineering: Using UML, Patterns, and Java 9 Bernd Bruegge & Allen H. Dutoit Object-Oriented Software Engineering: Using UML, Patterns, and Java 10 Finding Configuration Items Finding Configuration Items (continued) ♦ Large projects typically produce thousands of entities (files, ♦ Some items must be maintained for the lifetime of the software. documents, data ...) which must be uniquely identified. This includes also the phase, when the software is no longer ♦ Any entity managed in the software engineering process can developed but still in use; perhaps by industrial customers who potentially be brought under configuration management control are expecting proper support for lots of years. ♦ But not every entity needs to be under configuration ♦ An entity naming scheme should be defined management control all the time. so that related documents have related names. ♦ Two Issues: ! What: Selection of Configuration Items ♦ Selecting the right configuration items is a skill that takes " What should be under configuration control? practice ! When: When do you start to place entities under configuration control? ! Very similar to object modeling ♦ Conflict for the Project Manager: ! Use techniques similar to object modeling for finding CIs! ! Starting with CIs too early introduces too much bureaucracy " Find the CIs ! Starting with CIs too late introduces chaos " Find relationships between CIs Bernd Bruegge & Allen H. Dutoit Object-Oriented Software Engineering: Using UML, Patterns, and Java 11 Bernd Bruegge & Allen H. Dutoit Object-Oriented Software Engineering: Using UML, Patterns, and Java 12 Page 2

Download Presentation
Download Policy: The content available on the website is offered to you 'AS IS' for your personal information and use only. It cannot be commercialized, licensed, or distributed on other websites without prior consent from the author. To download a presentation, simply click this link. If you encounter any difficulties during the download process, it's possible that the publisher has removed the file from their server.

Recommend


More recommend