Software Configuration. Management Issues in Product Development
|
|
|
- Kory Goodwin
- 10 years ago
- Views:
Transcription
1 Software Configuration Management Issues in Product Development A Annie Ibrahim, Muhammad Waseem (National University of Computer and Emerging Sciences, Lahore) Abstract After more than 20 years of research and practice in software configuration management (SCM), constructing consistent configurations of versioned software products still remains a dispute. Software Configuration Management (SCM) is viewed as an important key technology in software development. In general the configuration management task is about the description, instantiation and building of systems on the basis developed modules. Despite recent advances in software configuration management, constructing consistent configuration of large and complex versioned software products is a challenge. SCM related issues like version control, product model, release management and change management just to name a few are discussed in detail and the solutions to these issues are discussed in the paper. Keywords: Software Configuration Management, SCM Issues, version control, software component, configuration item, revision, release, variant Software Configuration Management According to CMM, The purpose of SCM is to establish and implement the integrity of the products of the software project throughout the project s software life cycle. This definition shows that SCM involves in each phase (Requirements, Design, Coding, Testing, and Deployment) of the software development life cycle. Product development is a challenging task that needs comprehensiveness in terms of processes, and environment for its development. Product(s) tend to evolve with many man years of effort. Its life time is more than a project s life. That s why SCM activities have become vital in Product Development while looking at all of the issues supposed to occur during the development process, and it s a challenging task to handle all those product related SCM issues. 1. History The term configuration management (CM) has been around since the forties. It started in the defense industry environment as a management technique and a discipline to resolve problems of poor quality, wrong parts ordered and parts not fitting, which were leading to inordinate cost overruns [1]. Software configuration management (SCM) has its roots in configuration management, but it differs from the management of physical product in several aspects [1]. Software is quickly changed but unfortunately, the effects of the change(s) on the whole product may be complex. Software can be duplicated almost in no time, which easily leads to the existence of several copies of software components for example during the development of the product. Without decent coordination, these copies soon diverge and confusion arises. The fact that software components and often software documentation is stored on electronic media offers possibilities to extensive automation of their management. So normally SCM process is aided through computer aided software tools. 1
2 SCM is different in many aspects as above stated from ordinary configuration management process. 2. Introduction The terminology in the area of configuration management is neither well defined nor consistent. There are different terms meaning the same issue and some terms having several meanings depending on the writer presented in the literature. In this section the principal SCM terms are presented according to IEEE standards. The IEEE standards, as well as a great deal of SCM literature are written mainly for large projects and impose a lot of bureaucracy on development process. Let s have an overview of SCM and SCM related terminologies. Configuration is the arrangement of a computer system or component as defined by the nature, number and interconnections of its constituent parts. Component means one of the parts that make up the system. Components may be further subdivided to other components resulting in a hierarchical representation of the system. Configuration Management is a discipline applying technical and administrative direction and surveillance to: identify and document the functional and physical characteristics of a configuration item, control changes to those characteristics, record and report change processing and implementation status, and verify compliance with specified requirements. Configuration Item (CI) is an entity treated separately in the configuration management process. Version is instance of a system which is functionally distinct in some way from other system instances. Revision is a version that supersedes a previous version. Variant is instance of a system which is functionally identical but nonfunctionally distinct from other instances of a system. Delta is the difference between two versions in which a delta (difference) and base version (common) make one complete version, each version has different deltas but have same base version. Release is instance of a system which is distributed to users outside of the development team. The definition of configuration means that in order to specify a configuration we must know all the parts, identified, e.g., by their name and version number, and relationships between the parts belonging to the desired configuration. 3. Activities From the IEEE s definition of configuration management, we can extract the four main SCM activities: identification, control, status accounting, and auditing. Some new activities have been suggested by Jari Vanhanen [1]. All of the main activities are described below Identification Identification selects the configuration items to be managed. This may include, e.g., program files, source code files, design documents, management documents, and tools. Actually, every identifiable item related to the product should be considered a candidate for configuration management. Appropriate baselines for the project should be defined. A baseline is a set of items that has been formally reviewed and agreed upon. It is strictly controlled so that it can serve as the basis for further development. Identification involves the definition of naming standard for the items and related to this the numbering system, which distinguishes the separate versions of an item from each other. Identification activity should also specify the software libraries where items are stored and how to retrieve and reproduce items from the library. 2
3 3.2. Control One of the most important goals of configuration management is to maintain the integrity of the product. This is achieved by controlling changes to all configuration items. Control is placed on the whole change process from the initiation of a change request, through its evaluation, approval or disapproval to the implementation and verification of the changes. Change requests contain information such as the Configuration Items (CIs) to be changed, the originator, the date, the urgency level, the need for the change, and the description of the change. Different levels of authority are needed to make changes depending on the involved items, life cycle states of the items, and baselines affected. Changes to a released item need much higher level of authority than changes during the development. The body, which controls the changes, is usually called configuration control board (CCB). It consists of one or several people, depending on the size of the project, organizational structures, and bodies involved in the project. The composition of the CCB may change during the project reflecting the different levels of authority needed in changing different baselines Status Accounting Recording and reporting the information on executing SCM activities is called status accounting. This activity includes identifying what information is needed, how the information is obtained, and what kinds of reports are produced Auditing Auditing is a way to verify that configuration items match the requirements and the package being reviewed is complete. Configuration audits can be divided in functional and physical configuration audits. Functional configuration audit is executed to verify that a configuration item agrees with its specification documents. It is conducted by reviewing the test report data and comparing the statements in test reports to the specifications. Physical configuration audit is performed to verify that correct versions of all the items belonging to the configuration are present Process Management Organizations often have own procedures, policies and life-cycle models defined and process management supports in ensuring their correct execution. It may, for example, enforce each source file to go through the predefined states like development, testing and quality assurance Team Work The work and interactions between multiple developers of a product should be controlled. For example, procedures are needed to confirm that locally made changes are merged into the new release of the product. 4 SCM Process Areas Configuration Management becomes more vital for products than for the projects. SCM has been identified as one of the challenges of Product development. Some of the issues faced during performing SCM are discussed in below Configuration Management There is a need to store different modules of a software product and all of their versions details carefully. This topic includes version management, product modeling and complex object management Release Management Software Release Management is a process through which software is made available to and obtained by its users. Software is constructed via the assembly of pre-existing, independently produced and independently released components. Those dependencies should be properly tracked for every component in a release. 3
4 4.3. Change Control & Managements Change management is the truth regarding software. Change control should be properly managed. Change requests and Problem reports for every product involved should be initiated, recorded, reviewed, approved and tracked Version Control & Management While revision management shows development files in progress, a version is a particular instance of an entire development project. A version is usually thought of as all the functions, features and complete builds you can use right now. Files managed, version-labeled and promoted by the revision management system are used to build the version Product Model Since the beginning of SCM, the focus has always been given to file control / management. It is of no surprise to see that even today, the data model resemble a file system. This is archaic and contrasts with today s data modeling Revision Management This is the core function of SCM and the foundation upon which other functions build. Revision management is the storage of multiple images of the development files in an application, which can be shared by multiple developers. With revision management, you can get an image a snapshot in time of the development process and can re-create any file to the way it was at any point in time Build management When the code files, compilers, development tools and other components needed to create an application, are ready, developers make an application build. Build management imposes automated, repeatable procedures that speed the build process, improve build accuracy and make it easier to create and maintain multiple versions of an application. An SCM toolset can become a vital integrative resource for building an application across multiple platforms. A strong cross-platform build management capability also eliminates the need to redefine the build process (the script) for each platform you are targeting. Configuration Management becomes more vital for products than for the projects. SCM has been identified as one of the challenges of Product development. Some of the issues faced during performing SCM are discussed in below. 5 Prior Literature Product development needs to make use of reusability a practice. Different components need to be reused in different products. Component-based Software development (CBSD) is an emerging technology making reusability a reality. The traditional SCM methods cannot support CBSD effectively and efficiently. Traditional SCM tools consider file as the basic configuration item. For CBSD the basic constituent of the system is component rather than a file [2]. During the Product development of large and complex software systems, it is often necessary to recompose it in many different ways. Both because its components evolve and because there may be the need to configure the system differently for different hardware, operating systems, or clients [3]. Consistently configuring a large product existing in many versions is a difficult task. Many constraints on combining revisions and variants must be taken into account. Frequently, these constraints are neither documented properly nor specified formally. Then, it is up to the user of a SCM system to select consistent combinations of versions. Furthermore, dependencies between changes must also be taken into account, e.g. bug fixes may require other bug fixes to be included [4]. SCM tools are too often monolithic and their capability to inter-operate is limited. SCM tools should provide support for data modeling of complex objects, configuration 4
5 control with automatic selection and consistency criteria. A growing number of tools include a process, in an explicit formalism or not; they are called Process Sensitive Systems (PSS). Planners, mail systems, projects management tools are all examples of PSS. The data and concepts on which PSS and SCM work are roughly the same. Companies will require covering the complete process spectrum, with minimum redundancy and overhead, but still using the specialized tools they are used to. SCM is nothing else than one of these [5]. A software architecture description defines the structure of a software system in terms of components and relationships. Software Configuration Management provides version and configuration control for all software objects created throughout the software life cycle. These disciplines overlap considerably. In particular, both software architectures and software configurations describe the structure of a software system at a coarse level [6]. At the heart of software release management is the notion of dependence, by which we refer to a component s need for a set of other components in order for that component to properly function. Understanding a component s dependencies is complicated by the fact that components may be developed by different organizations, that those organizations autonomously control the release of new versions of their components, that each version of a component may have different dependencies, and that dependent components may themselves be complex component-based systems [7]. 6 Product Development related SCM Issues Software Configuration Management (SCM) is parallel activity to product development [8].. The issues have been categorized into different phases of Software Development life cycle. These issues are discussed and then analyzed against different models studied to see which model helps to handle which issues Requirements Phase The first law of systems engineering is that no matter where we are in the system life cycle, the system/software will change, and the desire to change it will persist throughout the life cycle. Dealing with this change represents a major management challenge. The essential role of requirements phase is to ensure that the users needs are properly understood before designing and implementing a system to meet them. The requirements also provide part of the basis for system and acceptance testing. There is a requirement uncertainty principle that states that the greater the functional change, the less accurate the requirements. Issue 1: Minimal Requirements During requirement elicitation, most emphasis is given to gather requirements, and requirements are not managed properly e.g. No formal documentation for requirements is done. Due to this issue, most requirements may be missed and may result in minimal requirements. As continuous changes evolved but due to lack of any formal process to manage the requirements, most of the requirements are dropped or missed. Issue 2: Traceability During requirement engineering, requirements are gathered and placed in traditional fashion e.g. most requirements are documented in ordinary text files, no hierarchical way to place the requirements. There different levels of requirements, Business Requirements, User Requirements, Functional Requirement, Non Functional Requirement and System Requirement. If no relations or links are kept among different levels of requirements then this issue can result in poor validation process for requirements and ultimately poor testing of all required features. Issue 3: Pre-Mature Requirement If design is started early while the requirements are not firmed, a premature requirements freeze will likely result, which leads to poor design based on minimal 5
6 requirements. And excessive late changes may need to be made at later stages. If changes are made in hap hazard way with out any formal change mechanism, there is a 100% chance of rework. Issue 4: Concurrency/Revisions If two groups are working on software requirement specification (SRS) document and changes are made in SRS document from both groups, now if changes of one group are not visible to other group, it may possible that one may overwrite others changes. Or more over they may continue with two copies of SRS and other different groups start working on different copies of SRS. Issue 5: Variations For a product, there may be a vast pool of customers having different requirements, if there is no proper requirement management process, requirements of different customer or users can be mixed up Architectural / Design Phase A software architecture description defines the structure of a software system in terms of components and rela tionships. Software architecture evolves as products become mature with the passage of time. Product development spans over a long time. During this time period, technologies emerge, the change of technologies / industry standards introduce the change in software architecture. Software architecture and Software configuration, both deals with the organization of software but their focuses differ: software development and software management respectively [9]. Architectural designs make use of case tools. Case tools if not integrated with the SCM tool produces overhead on the part of the developer. The decision of the case tool(s) need to be taken keeping in mind the SCM tool used. Issue 1: Integration If more groups are designing different modules or components, at the end or parallel to designing, the design items (modules or components) of different teams will be integrated. Now if changes are made to any design item, it should be integrated with the design. But due to lack of change control process, latest design item may not be integrated and faulty design may proceed to development. Issue 2: Traceability Design should be traceable in terms of requirements. If a change is made to any requirement, it should be reflected in design too. But some times due to lack of traceability, many requirement change s may not appear on the design side. Issue 3: SCM & Case tools integration Since vendors of SCM systems strive for reusability, they make virtually no assumptions concerning the application tools to be supported. Vice versa, the vendors of application tools e.g., architectural design tools usually do not want to become dependent on a specific SCM system. The architectural design tool need to be extended according to the SCM system used if tight integration is required among case tool and SCM tool. Presently there is no standard interface to SCM services. Issue 4: Version Difference Working with case tools produce different versions of the design documents. Generally SCM systems provide a mechanism to look at the differences among different versions of source files. But generally this facility is not being provided to the design documents produced using cast tools through SCM system used. The example is of Rational Rose and Visual Source Safe Implementation Phase Issue 1: Version Control The source code is versioned. Each module should be able to compile with other modules, to link them with base lined object programs and to use them in private workspaces. There should be a facility so that 6
7 not only the source code but the executable should also be versioned and associated with the source code for tracking purposes. Issue 2: Sharing If multiple products are under development and products are using underlying facilities of each other. The module may be shared among different products. The change in the module should be made after consideration of both the products. If for some change the change is only required in one of the products. It should be made possible through the SCM system. Issue 3: Merging If paralle l development is going on a single file. The difference versions of the file need to be merged. This merge mechanism should be properly handled through the SCM system. Merging is a very critical task and need to be controlled properly so that no in-consistencies are introduced to any module Testing Phase Testing is major software quality assurance technique and it plays a vital role in product quality. There are certain issues which must be considered in order to improve the quality of product. Issue 1: Derivations A costly fixed bug reappeared after a minor change Release Management Software release is a process through which software is made available to, and obtained by, its users. There are certain issues associated with the release. Issue 1: Dependency Relationship It is critical for a developer to be able to easily and accurately document dependencies as part of the release process. Moreover, once recorded, those dependencies should be directly usable and traceable through the SCM tool being used for this purpose. This traceability is required to keep track of the modules dependencies in different releases. Moreover, newer versions of components should not replace the older versions. Issue 2: Deltas When a new version of a component is to be released, the developer should only have to specify what has changed, rather than treating the new version as a completely separate entity. This overhead should be minimized on the developer part. Issue 3: Conditional Installation At the time of installa tion, a customer may not require a specific functionality from the product General Issues Above issues seem very innocent and minor but are root causes for poor quality of product in terms of delayed time to market, over budget, and least functional. Other general issues [9] are: Issue 1: Storage Space Multiple products may be developed with the same development team working on it. Multiple products may share some modules. In such a case, any changes made to the module will be accessed across the products. Such sharing causes a lot of storage space on the part of SCM system used. The storage space increases rapidly that it becomes hard to manage the products. The increases storage space not only causes to enhance the storage space but the efficiency of the SCM system is also affected. Issue 2: Component Management Product development involves different modules. No module consists of a single file. That is why a file is not a logical constituent in an application. Usually, a logical constituent is implemented into a set of files like a module. It is very difficult to manage so many files and their relationships. For traditional SCM systems, every thing revolves around the file but the reality is other way round. 7
8 Issue 3: Multiple developer syndromes When you have a project that requires more than one developer, there is the problem with multiple people working on one product base. This could be a test plan, requirements specification, or code. Effort is wasted when two or more people work on same file and then save it. Without SCM control, the last person to save the file has those changes saved. All the other changes are lost. The simplistic method of locking a file while one person reads it prevents others from simultaneously working on the file. Issue 4: Multiple releases Enhancements to the base product should result in additional releases of the product containing the latest changes. Once the second release is available, some users are on an earlier release. Having an SCM makes managing those releases possible. When bugs are reported, changes must be made across all impacted releases. As new features become available in the product, they must be made available to all current users, no matter what the release date. Issue 5: Product family As products are built that offer the same capabilities across a heterogeneous set of hardware platforms, both the common and the platform-specific software bases must be managed. If a product operates on four versions of Windows, three versions of Unix, Red Hat Linux, and FreeBSD the user manual may be significantly the same. But there is a different installation process for all nine platforms. Without SCM, nine individual manuals must be written and maintained. With SCM, one documentation configuration item with nine versions will suffice, with the differences being only the installation procedure. Issue 6: Schedule change As requirements change, so must the schedule. Mapping the feature sets for release to the schedule allows project managers to more accurately estimate the effort required for generating that next release. Having the SCM in place allows the project manager to look at historic effort levels in getting out releases. This is an enormous aid in estimating the "what if" scenarios that result from taking on new product users or providing customized solutions to other clients Issue 7: Software changes No product developer has the luxury to write code once and forget about it. Along with requirements and schedules, the software being developed changes in response to those other changes. Software is not static. That is its inherent power. It can be changed, so it will be changed. SCM systems track those changes so that, if the wrong change is made, a previous working version is available. This capability alone has saved enormous amounts of time as developers have tried out specific solutions that did not work in the product environment and were able to rapidly back up to a working version. Issue 8: Staff changes In the best of organizations, people get promoted, take other jobs, and leave. When that happens in the midst of a development project, not just the technology knowledge goes out the door. The long-learned knowledge of how things are done is also gone. So when a replacement person is brought on board, they may know the technology, but without a documented SCM process, they will have no real idea how to do product development. SCM provides the framework and knowledge base of what has gone on before in the project. A new staff member has one place to go to understand the "how" of the organization's development process and the "what" of the project to date. System/user documentation change : No product developer has the luxury to produce in a technology or tool vacuum. All product developers use hardware microcode, operating systems, tools, and documentation that are not under their control. When a major operating system change occurs (e.g., the next "best" release of Windows), an SCM will allow tracing all the CIs, components, and 8
9 subcomponents that are impacted by that change. The change is isolated, and the amount of effort required to respond to the change can be estimated. This provides a responsible schedule for an upgrade based on situations beyond the organization's control. 7. SCM Models All of the figures in this section are available in Figures section at the end. In this term paper, we have presented few fundamental SCM models, which have been deployed for many tools like Source Safe, Clear Case etc. These models has laid rudimentary base for many modern models like Dynamic Model [3]. The presented models are: Check in\check out Model [1], Composition Model [1], Long Transition Model [1], Change Set Model [1], Dynamic Model [3], CBSD Model [2], and Requirement Processing Model [10]. System Model repository the desired version has to be denoted. The files can be checked out for reading or writing allowing concurrency control actions to avoid undesired concurrent changes to the same version of a file. When a file is checked out for writing, locking mechanism can guarantee that no other person modifies the same version of the file until it is checked back in to the repository The Composition Model Where check-in/check-out model deals with individual files, the composition model focuses on supporting configurations. In this context a configuration consists of a system model, which lists all the components that make up a system and version selection rules which are applied to the system model in order to choose the desired version of each component. Component A Component A Selection Rule Component B Figure 1: Composition Model Component B 7.1. The Check-out/Check-in Model The check-out/check-in model is the traditional model used by such well-known configuration management tools as Source Code Control System (SCCS) and Revision Control System. The central concept is the repository, where all the individual files and all of their versions are stored. Usually, the files in the repository can not be operated directly by developer tools but explicit operations are needed to store a file into the repository (check in) and to retrieve it back to the desired directory (check out). When a file is checked in, usually after some modifications, a new version of that file is created. When checking a file out of the Selection rules may specify either a revision or a variant of the file and thus support management of system variants. In figure 1, a system consists of components A and B. A selection rule choosing the latest version of each component has been applied resulting to version 1.2 of component A and version 1.1 of component B The Long Transaction Model The long transaction model focuses on supporting the evolution of the whole system as a series of apparently atomic changes, and provides team support through coordination of concurrent change. Developers operate primarily with versioned configurations. In contrary to the composition model they first 9
10 select the version of the system configuration, and then focus on the system structure. The selected system configuration determines the versions of the components used. may be visible to the testing team and so on until the hierarchy ends to the repository. Three categories of concurrent development are supported: Repository System Version 1.0 Begin Transaction Team Workspace Version 1 Begin Transaction Developer Workspace Version 1 System Version 1.1 Commit Transaction Version 2 Commit Transaction Version 2 Figure 2: Long Transition Model When making a change a transaction is started. The change is made in a workspace, which represents the working context and provides local data storage visible only within the scope of the workspace. A workspace may be mapped into the file system allowing transparent access to the repository for the development tools. A workspace consists of a working configuration, where modifications are made and possibly several preserved configurations, which are frozen states of previous working configurations. A workspace originates from a bound configuration in the repository or from a preserved configuration of an enclosing workspace. When the changes are finished, the transaction is committed, which effectively creates a new version of the configuration in the repository or enclosing workspace and make the changes visible outside the workspace. Finally the workspace may be deleted or it may be used for further changes. If the workspace originates from another workspace, the result is a hierarchy of workspaces. The different levels in the hierarchy represent different levels of visibility. The bottom workspaces belong to the individual developers, one level up is the workspace for the team and the next level concurrency within one workspace, concurrency between workspaces requiring coordination, and concurrent, independent development. In the first case concurrent changes are restrained by allowing only one person at a time to change the file. The control may happen at different levels: limiting access to a workspace to one person; allowing only one person at a time to be active in a workspace; or locking individual components for exclusive use of one person at a time. In the second case changes in separate workspaces together evolve the system. Schemes for controlling this concurrency may be conservative or optimistic. Conservative schemes require a priority locking across workspaces. In optimistic schemes conflicts are detected when changes are committed. Third case assumes that system evolves in independent development paths and changes need not be coordinated when created. Figure 2 illustrates the concepts of the long transaction model using a simple example. In the beginning of the first transaction, a working configuration of system version 1.0 is created into a team workspace. Then a new transaction is started, which creates a new working configuration to a developer 10
11 workspace. In the developer workspace some changes are implemented to the system and working configuration version 2 is created, making version 1 a preserved configuration. Committing the second transaction creates a new working configuration to the team workspace and finally committing the first transaction creates a new system version to the repository. Baseline System of configurations can be made. These queries include: Determining which component has been modified as part of logical change. Determining the collection of change sets a particular component is part of. Change Sets Component A Feature 1 Feature 2 Feature 3 Component B Fix 1 Fix 2 Fix 3 Release Feature 1 Fix 1 Component A Feature The Change Set Model The main concept in the change set model is the change set, which represents the set of modifications to different components making up a logical change. A typical case is that implementing a requested change to software requires modifications to several components. Change sets simplify several operations. Developers can work with groups of components belonging to the same logical change instead of dealing with each component separately. Change requests, which are descriptions of the changes to be made, may be easily linked to the actual changes made to the components. Figure 3: Change Set Model Determining which change sets are included in a particular configuration. Determining which configurations include a particular change. Configurations in this model consist of a baseline and several change sets applied to the baseline. Different configurations can be made by applying different collections of change sets to a baseline. However, all combinations of change sets are not necessarily consistent. Some of them may be dependent on other change sets and some may be in conflict with other change sets. Some method for determining the physical and logical dependencies between changes has to be used. Queries on the dependencies between logical changes, changed components, and versions In figure 3 a system release is constructed applying changes Feature 1 and Fix 2 to the baseline system. 11
12 our problem for common change required in both versions if both versions use the same module. In this way, we don t need to make common changes separately in all versions as shown in the figure 4. Figure 4: Dynamic Model 7.5. Dynamic Model Whatever the changes are made, they are always made in the modules of the program CBSD Model CBSD model is based on Component-based Software Development model. The model is shown in the figure below. The goal of this model is to support CBSD more efficiently, so some concepts in CBSD are still used in this model, and there are a few changes in some concepts concerning the traditional SCM. This model says that Files are the basic physical storage units. Component is an integral logical constituent in a system, which Figure 5: CBSD Model Suppose a version X requires a change abc, and this change should be made in a module named as mod1. Now let s suppose that the change is commonly required to be made in other versions too, let s say version Y. Now if we changed the module mod1, and puts information of usage of module locally for every version, this can resolves is relatively independent on its surroundings concerning the functions and behaviors. The operations for management of components are: The checkout-edit-checkin style is used to manage each evolutionary direction of a primitive component. To make a change in a 12
13 primitive component, it should be checked out first. After the change, it should be checked in and thus becomes a new version. Primitive components can have several evolutionary directions. By using the branching operation, a new evolutionary direction can be created from any of the existing versions of a primitive component. An evolutionary direction is also called a branch. not clearly defined, especially in the beginning of the development process when requirements are not clear and not completely understood. In general, we have many-to many-relations between RS Items and system modules1: A module can be affected by several requirements, and, on the contrary, a requirement can be implemented in different modules. These relations are even more complicated if we take into considerations that some requirements are rela ted to other Figure 6: Requirement Processing Model Different branches can merge together during the evolution of the primitive component. A primitive component is usually under the development of a team. The concurrency operation is used to coordinate the different modifications from different developers in order to form a primitive component Requirement Processing Model When we place Requirements Specification under version control, we obtain control over the requirements changes. This control is however not sufficient, we also need a mechanism to relate requirements to the implementation parts. This relation is often requirements and the same applies to modules. System modules can consist of a number of items, such as documents and source files, and in such a complex relationship keeping track of requirements is a challenge. We wish to make requirements more visible during the implementation. Developers should be aware of the requirements they are expected to implement, and they should be aware of possible changes in the requirements of which requirements are being implemented and of which new requirements have appeared. One possibility of relating requirements with system modules is to use Change Management support from CM.CM 13
14 provides a basic support for change process operations and the CM functions can be utilized for providing links between requirements and the final result of the development process. Change Requests uniquely address system modules where the requests are to be implemented (Figure 6). The relation between RS Items and Change Requests is bidirectional. An RS Item refers to the associated Change Request, and, if a Change Request is generated from an RS Item, it contains a reference to the corresponding RS Item. 9. Conclusion Despite many limitations and expected improvements on the basis of issues identified, SCM has proved one of the few successful software engineering technologies. It may appear that most of SCM research was performed in the 80's, and only tool improvement can be expected in the future. The issues highlighted have shown that future work needs to be done for SCM models improvement. This paper shows that much is still to be done both to find new concepts and better implementations. Issues identified during Product Development Models Requirement Design Implementation Testing Release Issues Check in / Check out Composition Model Long transaction Model Change Set Model Issues Issues Issues Issues Issues X X X X X X X X X X X X X X X X X X X X X X X CBSD X X X X X X X Requirement X X X X X X Table 1: Comparison of models with issues 8. Model Comparison for Product Development Issues A number of issues have been identified in section Product Development related SCM Issues. The issues have been discussed. SCM models presented above are analyzed in the following to see which issues are handled through which SCM model used. A comparison is performed on the basis of issues and the models presented. An X represents that this issue is being handled by using the model under Model column. General issues have not been compared. need to be handled through SCM systems under development. These improvements will help product development efficient. SCM concepts should be handled through SCM tools rather than putting more pressure on the side of the developer. Each phase is presented with a list of issues; SCM tools should provide support so that those issues can be handled properly. Nevertheless, in the near future, provided the number of core topic issues yet to be solved and the efficiency, scalability and usability issues, no one of these evolutions will be seriously addressed by SCM vendors. SCM tools will still grow, propose proprietary 14
15 solutions and still consider SCM as an isolated domain. 10. Future Work Some models are presented. But no single model solves the issues presented for Product Development. One of the reasons is that no standardization exists in SCM realm that is applied for the implementation of SCM systems in SCM tools. Moreover, models need to be well integrated so that future can see standards in SCM tools especially standards are needed to integrate the development/case tools with the SCM tools. It reduces the training time of resources on SCM system. Moreover, it enhances the user friendliness and reduces the hassle on part of the developer. Research should be done to standardize the SCM systems so that different SCM tools can be integrated to get best out of the both worlds. 11. References [1] Improving configuration management processes of a software product By Jari Vanhanen, Master s Thesis, Helsinki University of Technology, 1997 [2] A Software Configuration Management Model for Supporting Component-Based Software Development By Hond Mei, Lu Zhand, Fuqing Yang, ACM SIGSOFT, [3] An Integrative Model for Configuration Management and Version Control By Lars Bendix, [4] Configuring Versioned Software Products By Reidar Conradi and Bernhard estfechtel, [5] Software Configuration Management: A Roadmap by Jacky Estublier, [6] Software Architecture and Software Configuration Management By Bernhard Westfechtel, and Reidar Conradi. [7] Software Release Management for Component-Based Software By Andre van der Hock, Alexandar L. Wolf, [8] Software Configuration Management for Project Leaders By Tim Kasse and Patricia A. Mcquaid, SQP Vol. 2, No. 4/ 2000, ASQ. [9] How You Can Benefit from Software Configuration Management By Robert Futrell, Linda Shafer, and Donald Shafer. Prentice Hall Publisher, 2002 [10] Processing Requirements by Software Configuration Management By Ivica Crnkovic, Peter Funk, and Magnus Larsson, euromicro 99, proceedings of the 5th EUROMICRO conference,
Processing Requirements by Software Configuration Management
Processing Requirements by Software Configuration Management Ivica Crnkovic 1, Peter Funk 1, Magnus Larsson 2 1 Mälardalen University, Department of Computer Engineering, S-721 23 Västerås, Sweden {ivica.crnkovic,
CHAPTER 7 Software Configuration Management
CHAPTER 7 Software Configuration Management ACRONYMS CCB CM FCA MTBF PCA SCCB SCI SCM SCMP SCR SCSA SEI/CMMI SQA SRS USNRC INTRODUCTION Configuration Control Board Configuration Management Functional Configuration
Configuration Management Models in Commercial Environments
Technical Report CMU/SEI-91-TR-7 ESD-9-TR-7 Configuration Management Models in Commercial Environments Peter H. Feiler March 1991 Technical Report CMU/SEI-91-TR-7 ESD-91-TR-7 March 1991 Configuration Management
Software Configuration Management. Visiting Lecture Tero Kojo
Software Configuration Management Visiting Lecture Tero 1 About the lecturer Lectured Software Configuration Management for three years at TKK T-76.614 SCM Also a year as the course assistant Practical
A Configuration Management Model for Software Product Line
A Configuration Management Model for Software Product Line Liguo Yu 1 and Srini Ramaswamy 2 1 Computer Science and Informatics Indiana University South Bend South Bend, IN 46634, USA [email protected] 2 Computer
Configuration & Build Management
Object-Oriented Software Engineering Using UML, Patterns, and Java Configuration & Build Management Outline of the Lecture Purpose of Software Configuration Management (SCM) Some Terminology Software Configuration
Page 1. Outline of the Lecture. What is Software Configuration Management? Why Software Configuration Management?
Books: Software Configuration Management 1. B. Bruegge and A. H. Dutoit, Object-Oriented Software Engineering: Using UML, Patterns, and Java (Chapter 13) Outline of the Lecture Purpose of Software Configuration
Introduction to Software Configuration Management. CprE 556 Electrical and Computer Engineering Department Iowa State University
Introduction to Software Configuration Management CprE 556 Electrical and Computer Engineering Department Iowa State University 1 Example Initially, implementation is in Modula-2 on a Mac. A11 B11 A12
Theme 1 Software Processes. Software Configuration Management
Theme 1 Software Processes Software Configuration Management 1 Roadmap Software Configuration Management Software configuration management goals SCM Activities Configuration Management Plans Configuration
Software Configuration Management. Addendum zu Kapitel 13
Software Configuration Management Addendum zu Kapitel 13 Outline Purpose of Software Configuration Management (SCM) Motivation: Why software configuration management? Definition: What is software configuration
Certified Professional in Configuration Management Glossary of Terms
Certified Professional in Configuration Management Glossary of terms used in Configuration Management Issue 2007.07 Association of the International Certified Configuration Manager e.v. Copyright 2007,
SOE. managing change in system development projects: configuration management
SOE managing change in system development projects: configuration management 2 3 understanding the problem of change change is one of the most fundamental characteristics in any software development process
19 Configuration Management
TIMe TIMe Electronic Textbook 19 Configuration Management Introduction.......................................................2 What...................................................................2 Why
Component-based Development Process and Component Lifecycle Ivica Crnkovic 1, Stig Larsson 2, Michel Chaudron 3
Component-based Development Process and Component Lifecycle Ivica Crnkovic 1, Stig Larsson 2, Michel Chaudron 3 1 Mälardalen University, Västerås, Sweden, [email protected] 2 ABB Corporate Research,
Software Configuration Management. http:\\www.francisxavier.ac.in
Software Configuration Management Outline Introduction what is SCM, who are involved, why it is imp? what are the steps? Basic Concepts of SCM Configuration Management Activities Configuration Management
Configuration Management for Open Source Software
AALBORG UNIVERSITY Department of Computer Science Technical Report Configuration Management for Open Source Software by Ulf Asklund & Lars Bendix R-01-5005 January 2001 DEPARTMENT OF COMPUTER SCIENCE Fredrik
What Is Software Configuration Management?
C H A P T E R 1 What Is Software Configuration Management? The title of this chapter asks such a simple question, the answer to which, one would think, ought to be known by anyone with any kind of record
Module 12. Software Project Monitoring and Control. Version 2 CSE IIT, Kharagpur
Module 12 Software Project Monitoring and Control Lesson 31 Risk Management and Software Configuration Management Specific Instructional Objectives At the end of this lesson the student would be able to:
Integrity 10. Curriculum Guide
Integrity 10 Curriculum Guide Live Classroom Curriculum Guide Integrity 10 Workflows and Documents Administration Training Integrity 10 SCM Administration Training Integrity 10 SCM Basic User Training
Software Configuration Management. Wingsze Seaman COMP250SA February 27, 2008
Software Configuration Management Wingsze Seaman COMP250SA February 27, 2008 Outline CM and SCM Definitions SCM History CMMI and SCM SCM Tools SCM/Dynamic Systems SCM/Software Architecture Resources 2
IBM Rational ClearCase, Version 8.0
IBM Rational ClearCase, Version 8.0 Improve software and systems delivery with automated software configuration management solutions Highlights Improve software delivery and software development life cycle
Surround SCM Best Practices
Surround SCM Best Practices This document addresses some of the common activities in Surround SCM and offers best practices for each. These best practices are designed with Surround SCM users in mind,
Configuration Management in Software Development Life Cycle
13 Configuration Management in Software Development Life Cycle Tejinder Kaur Sanjay Bhatnagar Deepali StudentComputer Application Associate Prof. Computer Assistant Prof. Computer Department, GZS PTU Applications
What Are Software Developers Facing?
Configuration Management Tuotteenhallinta ohjelmistoprojektissa 1. Objectives 2. Problems & Motivation 3. CM Concept 4. Making CM system to work 5. Present CM Standards and Terms 6. CM Benefits and Summary
Software Configuration Management and Change Management
School of Innovation, Design and Engineering Mälardalen University Västerås, Sweden - April, 2009 - Sha Liu Master Thesis in Computer Science Software Configuration Management and Change Management Supervisor:
Configuration Management. Software Configuration Management. Example of System Families. Configuration Management
Configuration Management Software Configuration Management New versions of software systems are created as they change: For different machines/os; Offering different functionality; Tailored for particular
The Real Challenges of Configuration Management
The Real Challenges of Configuration Management McCabe & Associates Table of Contents The Real Challenges of CM 3 Introduction 3 Parallel Development 3 Maintaining Multiple Releases 3 Rapid Development
The Role of the Software Architect
IBM Software Group The Role of the Software Architect Peter Eeles [email protected] 2004 IBM Corporation Agenda Architecture Architect Architecting Requirements Analysis and design Implementation
Successfully managing geographically distributed development
IBM Rational SCM solutions for distributed development August 2004 Successfully managing geographically distributed development Karen Wade SCM Product Marketing Manager IBM Software Group Page 2 Contents
Configuration management. Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 29 Slide 1
Configuration management Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 29 Slide 1 Objectives To explain the importance of software configuration management (CM) To describe key CM activities
SOFTWARE CONFIGURATION MANAGEMENT GUIDEBOOK
Office of Safety and Mission Assurance NASA-GB-9503 SOFTWARE CONFIGURATION MANAGEMENT GUIDEBOOK AUGUST 1995 National Aeronautics and Space Administration Washington, D.C. 20546 PREFACE The growth in cost
The Impact of Global Software Development on Software Configuration Management. Kaisa Uotila
The Impact of Global Software Development on Software Configuration Management Kaisa Uotila University of Tampere Department of Information Sciences Master of Science Thesis May 2003 ii University of Tampere
1-04-10 Configuration Management: An Object-Based Method Barbara Dumas
1-04-10 Configuration Management: An Object-Based Method Barbara Dumas Payoff Configuration management (CM) helps an organization maintain an inventory of its software assets. In traditional CM systems,
JOURNAL OF OBJECT TECHNOLOGY
JOURNAL OF OBJECT TECHNOLOGY Online at www.jot.fm. Published by ETH Zurich, Chair of Software Engineering JOT, 2006 Vol. 5. No. 8, November-December 2006 Requirements Engineering Tasks Donald Firesmith,
Software Configuration Management Plan
For Database Applications Document ID: Version: 2.0c Planning Installation & Acceptance Integration & Test Requirements Definition Design Development 1 / 22 Copyright 2000-2005 Digital Publications LLC.
Service Oriented Architecture and the DBA Kathy Komer Aetna Inc. New England DB2 Users Group. Tuesday June 12 1:00-2:15
Service Oriented Architecture and the DBA Kathy Komer Aetna Inc. New England DB2 Users Group Tuesday June 12 1:00-2:15 Service Oriented Architecture and the DBA What is Service Oriented Architecture (SOA)
Software Configuration Management. Context. Learning Objectives
Software Configuration Management Wolfgang Emmerich Professor of Distributed Computing University College London http://sse.cs.ucl.ac.uk Context Requirements Inception Elaboration Construction Transition
Configuration Management for Reference Models
Configuration Management for Reference Models Robert Braun, Werner Esswein, Andreas Gehlert, Jens Weller Technische Universität Dresden Chair for Business Informatics, esp. Systems Engineering {robert.braun
Elite: A New Component-Based Software Development Model
Elite: A New Component-Based Software Development Model Lata Nautiyal Umesh Kumar Tiwari Sushil Chandra Dimri Shivani Bahuguna Assistant Professor- Assistant Professor- Professor- Assistant Professor-
Enhance visibility into and control over software projects IBM Rational change and release management software
Enhance visibility into and control over software projects IBM Rational change and release management software Accelerating the software delivery lifecycle Faster delivery of high-quality software Software
11 Tips to make the requirements definition process more effective and results more usable
1 11 Tips to make the s definition process more effective and results more usable This article discusses what I believe are the key techniques for making s definition process repeatable from project to
Modernizing enterprise application development with integrated change, build and release management.
Change and release management in cross-platform application modernization White paper December 2007 Modernizing enterprise application development with integrated change, build and release management.
Software Configuration Management Best Practices for Continuous Integration
Software Configuration Management Best Practices for Continuous Integration As Agile software development methodologies become more common and mature, proven best practices in all phases of the software
Chapter 13 Configuration Management
Object-Oriented Software Engineering Using UML, Patterns, and Java Chapter 13 Configuration Management Outline of the Lecture Purpose of Software Configuration Management (SCM)! Motivation: Why software
Keywords document, agile documentation, documentation, Techno functional expert, Team Collaboration, document selection;
Volume 4, Issue 4, April 2014 ISSN: 2277 128X International Journal of Advanced Research in Computer Science and Software Engineering Research Paper Available online at: www.ijarcsse.com A Document Driven
A Mind Map Based Framework for Automated Software Log File Analysis
2011 International Conference on Software and Computer Applications IPCSIT vol.9 (2011) (2011) IACSIT Press, Singapore A Mind Map Based Framework for Automated Software Log File Analysis Dileepa Jayathilake
Your Software Quality is Our Business. INDEPENDENT VERIFICATION AND VALIDATION (IV&V) WHITE PAPER Prepared by Adnet, Inc.
INDEPENDENT VERIFICATION AND VALIDATION (IV&V) WHITE PAPER Prepared by Adnet, Inc. February 2013 1 Executive Summary Adnet is pleased to provide this white paper, describing our approach to performing
CONFIGURATION MANAGEMENT PLAN GUIDELINES
I-680 SMART CARPOOL LANE PROJECT SYSTEM ENGINEERING MANAGEMENT PLAN CONFIGURATION MANAGEMENT PLAN GUIDELINE SECTIONS: PLAN GUIDELINES 1. GENERAL 2. ROLES AND RESPONSIBILITIES 3. CONFIGURATION MANAGEMENT
Recommendations for Performance Benchmarking
Recommendations for Performance Benchmarking Shikhar Puri Abstract Performance benchmarking of applications is increasingly becoming essential before deployment. This paper covers recommendations and best
TRADITIONAL VS MODERN SOFTWARE ENGINEERING MODELS: A REVIEW
Year 2014, Vol. 1, issue 1, pp. 49-56 Available online at: http://journal.iecuniversity.com TRADITIONAL VS MODERN SOFTWARE ENGINEERING MODELS: A REVIEW Singh RANDEEP a*, Rathee AMIT b a* Department of
STAR JPSS Algorithms Integration Team Configuration Management Plan Version 1.2
STAR JPSS Algorithms Integration Team Version 1.2 NOAA Center for Weather and Climate Prediction (NCWCP) NOAA/NESDIS/STAR 5830 University Research Ct College Park, MD 20740 Revisions Version Description
2405 - Using Git with Rational Team Concert and Rational ClearCase in enterprise environments
2405 - Using Git with Rational Team Concert and Rational ClearCase in enterprise environments Bartosz Chrabski Executive IT Specialist WW Competitive Sales Team [email protected] Peter Hack ClearCase
Software Configuration Management
Software Configuration Management 1 Software Configuration Management Four aspects Version control Automated build Change control Release Supported by tools Requires expertise and oversight More important
Change Management for Rational DOORS User s Guide
Change Management for Rational DOORS User s Guide Before using this information, read the general information under Appendix: Notices on page 58. This edition applies to Change Management for Rational
Component Based Development in Software Engineering
Component Based Development in Software Engineering Amandeep Bakshi, Rupinder Singh Abstract--In today s world, Component Based development is an active research area for more than a decade in software
CHAPTERS A NEW KNOT MODEL FOR COMPONENT BASED SOFTWARE DEVELOPMENT
CHAPTERS A NEW KNOT MODEL FOR COMPONENT BASED SOFTWARE DEVELOPMENT CONTENTS 5.1 Introduction 5.2 Component based software life cycle process model 5.2.1 Rapid Application Development Model 5.2.2 The Y
VAIL-Plant Asset Integrity Management System. Software Development Process
VAIL-Plant Asset Integrity Management System Software Development Process Document Number: VAIL/SDP/2008/008 Engineering For a Safer World P u b l i c Approved by : Ijaz Ul Karim Rao Revision: 0 Page:2-of-15
Basic Unix/Linux 1. Software Testing Interview Prep
Basic Unix/Linux 1 Programming Fundamentals and Concepts 2 1. What is the difference between web application and client server application? Client server application is designed typically to work in a
Chapter 13 Configuration Management
Chapter 13 Configuration Management Using UML, Patterns, and Java Object-Oriented Software Engineering Outline of the Lecture Purpose of Software Configuration Management (SCM)! Motivation: Why software
CMS Policy for Configuration Management
Chief Information Officer Centers for Medicare & Medicaid Services CMS Policy for Configuration April 2012 Document Number: CMS-CIO-POL-MGT01-01 TABLE OF CONTENTS 1. PURPOSE...1 2. BACKGROUND...1 3. CONFIGURATION
ITIL A guide to service asset and configuration management
ITIL A guide to service asset and configuration management The goal of service asset and configuration management The goals of configuration management are to: Support many of the ITIL processes by providing
Family Evaluation Framework overview & introduction
A Family Evaluation Framework overview & introduction P B Frank van der Linden O Partner: Philips Medical Systems Veenpluis 4-6 5684 PC Best, the Netherlands Date: 29 August, 2005 Number: PH-0503-01 Version:
JOURNAL OF OBJECT TECHNOLOGY
JOURNAL OF OBJECT TECHNOLOGY Online at http://www.jot.fm. Published by ETH Zurich, Chair of Software Engineering JOT, 2007 Vol. 6, No. 1, January-February 2007 CM Configuration Change Management John D.
CHAPTER 7 SOFTWARE CONFIGURATION MANAGEMENT
CHAPTER 7 SOFTWARE CONFIGURATION MANAGEMENT John A. Scott and David Nisse Lawrence Livermore National Laboratory 7000 East Avenue P.O. Box 808, L-632 Livermore, CA 94550, USA (925) 423-7655 [email protected]
How to introduce maturity in software change management $
How to introduce maturity in software change management $ Lars Bendix Department of Computer Science Fredrik Bajers Vej 7E Aalborg University Denmark E-mail: [email protected] Abstract: In this paper we
Part I What Is Configuration Management?
Part I What Is Configuration Management? Configuration, to form from or after, derives from the Latin com-, meaning with or together, and figurare, to form. It also means a relative arrangement of parts
CPSC 491. Today: Source code control. Source Code (Version) Control. Exercise: g., no git, subversion, cvs, etc.)
Today: Source code control CPSC 491 Source Code (Version) Control Exercise: 1. Pretend like you don t have a version control system (e. g., no git, subversion, cvs, etc.) 2. How would you manage your source
Software Configuration Management (SCM)
Software Configuration Management (SCM) SCM actually consists of several separate yet cumulative disciplines. Version Management is an entry point for SCM T M Abstract : Software Configuration Management
MKS Integrity & CMMI. July, 2007
& CMMI July, 2007 Why the drive for CMMI? Missed commitments Spiralling costs Late delivery to the market Last minute crunches Inadequate management visibility Too many surprises Quality problems Customer
Life Cycle Management for Oracle Data Integrator 11 & 12. At lower cost Get a 30% return on investment guaranteed and save 15% on development costs
Life Cycle Management for Oracle Data Integrator 11 & 12 Increase productivity Stop wasting your time doing things maually by automating every step in your project s Life Cycle At lower cost Get a 30%
Introduction to Service Oriented Architectures (SOA)
Introduction to Service Oriented Architectures (SOA) Responsible Institutions: ETHZ (Concept) ETHZ (Overall) ETHZ (Revision) http://www.eu-orchestra.org - Version from: 26.10.2007 1 Content 1. Introduction
The 7 Attributes of a Good Software Configuration Management System
Software Development Best Practices The 7 Attributes of a Good Software Configuration Management System Robert Kennedy IBM Rational software Benefits of Business Driven Development GOVERNANCE DASHBOARD
Developing Software in a Private workspace - 4.01 PM PMS
SBCH06.fm Page 67 Friday, October 4, 2002 4:01 PM 6 Private Workspace A government clerk s room, showing a desk with books, telephone and directory, and a desk lamp on it. Washington, D.C., 1939. Photo
Fundamentals of Measurements
Objective Software Project Measurements Slide 1 Fundamentals of Measurements Educational Objective: To review the fundamentals of software measurement, to illustrate that measurement plays a central role
Why enterprise data archiving is critical in a changing landscape
Why enterprise data archiving is critical in a changing landscape Ovum white paper for Informatica SUMMARY Catalyst Ovum view The most successful enterprises manage data as strategic asset. They have complete
CENG492 SENIOR DESIGN PROJECT AND SEMINAR II SOFTWARE CONFIGURATION MANAGEMENT PLAN
CENG492 SENIOR DESIGN PROJECT AND SEMINAR II SOFTWARE CONFIGURATION MANAGEMENT PLAN by Group LaPaix Subject on COMPUTERIZED READING SYSTEM FOR BLINDS DEPARTMENT OF COMPUTER ENGINEERING METU ANKARA 28.03.2003
System Software Product Line
System Software Product Line 2 1 Introduction The concept of Software Product Lines has been developed for more than a decade. Being initially an academic topic, product lines are more and more incorporated
Do you know? "7 Practices" for a Reliable Requirements Management. by Software Process Engineering Inc. translated by Sparx Systems Japan Co., Ltd.
Do you know? "7 Practices" for a Reliable Requirements Management by Software Process Engineering Inc. translated by Sparx Systems Japan Co., Ltd. In this white paper, we focus on the "Requirements Management,"
APPLICATION OF SERVER VIRTUALIZATION IN PLATFORM TESTING
APPLICATION OF SERVER VIRTUALIZATION IN PLATFORM TESTING Application testing remains a complex endeavor as Development and QA managers need to focus on delivering projects on schedule, controlling costs,
Effective Release Management for HPOM Monitoring
Whitepaper Effective Release Management for HPOM Monitoring Implementing high-quality ITIL-compliant release management processes for HPOM-based monitoring Content Overview... 3 Release Management... 4
Virtualization s Evolution
Virtualization s Evolution Expect more from your IT solutions. Virtualization s Evolution In 2009, most Quebec businesses no longer question the relevancy of virtualizing their infrastructure. Rather,
Best practices in project and portfolio management
Business white paper Best practices in project and portfolio management Practical advice for achieving greater value and business benefits Table of contents 3 Introduction 3 The importance of best practices
Widening the Configuration Management Perspective
Widening the Configuration Management Perspective Lars Bendix ([email protected]) Department of Computer Science, Lund Institute of Technology, P. O. Box 118, S-221 00 Lund, Sweden Abstract: A metainformatics
Work Process Management
GE Intelligent Platforms Work Process Management Achieving Operational Excellence through Consistent and Repeatable Plant Operations With Work Process Management, organizations can drive the right actions
DATA QUALITY DATA BASE QUALITY INFORMATION SYSTEM QUALITY
DATA QUALITY DATA BASE QUALITY INFORMATION SYSTEM QUALITY The content of those documents are the exclusive property of REVER. The aim of those documents is to provide information and should, in no case,
Global Software Change Management for PVCS Version Manager
Global Software Change Management for PVCS Version Manager... www.ikanalm.com Summary PVCS Version Manager is considered as one of the leading versioning tools that offers complete versioning control.
E-Commerce Supply Chain Management Domain Research and Standard Architectures Kunal Chopra, Jeff Elrod, Bill Glenn, Barry Jones.
E-Commerce Supply Chain Management Domain Research and Standard Architectures Kunal Chopra, Jeff Elrod, Bill Glenn, Barry Jones Introduction E-Commerce Supply Chain Management involves the co-ordination
SystemDesign Methodologies
SystemDesign Methodologies CM 3380-3 Maintenance is not part of the design process by Claudia Buder, bq923372 Anne Holzapfel, hq923380 Abstract In context of the level three module of System design Methodology
Computer programs (both source and executable) Documentation (both technical and user) Data (contained within the program or external to it)
CHAPTER 27 CHANGE MANAGEMENT Overview Changes are inevitable when software is built. A primary goal of software engineering is to improve the ease with which changes can be made to software. Configuration
The role of integrated requirements management in software delivery.
Software development White paper October 2007 The role of integrated requirements Jim Heumann, requirements evangelist, IBM Rational 2 Contents 2 Introduction 2 What is integrated requirements management?
Configuration Management for Reusable Software
Configuration Management for Reusable Software William B. Frakes Computer Science Department Virginia Tech [email protected] Abstract This paper discusses the configuration management of reusable software,
Configuration Management in a Software Product Line
Configuration Management in a Software Product Line John D. McGregor School of Computing Clemson University Clemson, SC 29634 [email protected] Sholom Cohen Software Engineering Institute Carnegie
