80 likes | 93 Views
Learn about the 6 essential features that should be included in a tool to support change management processes. Also, discover the difficulties in building a system from components and the challenges of merging changes made by multiple developers.
E N D
Configuration Management Tutorial 7 IT323 - Software Engineering 2
Q1 Describe 6 essential features that should be included in a tool to support change management processes.
Answer • 1. Change request form definition. • 2. Change request validation. • 3. Workflow definition – showing the flow of the change request form. • 4. Change costing support. • 5. Change request traceability – ie maintaining information about the changes made to the software to implement the change request. • 6. Change notification and reminders – notification to people involved of work done and reminders to team members who have work to do.
Q2 • Describe the difficulties that may arise when building a system from its components. What particular problems might occur when a system is built on a host computer for some target machine?
Answer • 1. Have all components been included? • 2. Is the right version of all components been included? • 3. Are all configuration/data files included? • 4. Is the right version of the system building tools used? • 5. Are there any problems with full path name references?
Q3 • Imagine a situation where 2 developers are simultaneously modifying 3 different software components. What difficulties might arise when they try to merge the changes that they have made?
Answer • There is the usual problem where developers each make changes to the same component and these changes are, in some way, incompatible. • However, where several components are being changed at the same time, the problems are exacerbated because there may be dependencies between the components that are affected by the changes. • For example, say developer A checks out components X and Y and decides to implement a change by changing Y, which depends on a particular feature of X. Developer A checks X and Y back in with no changes recorded as being made to X. Developer B also is working on X and Y and changes both X and Y. However, the changes made to X mean that the assumptions made by Developer A no longer hold. However, incompatibility is not detected as there has only been a single change made to component X With more than 2 components, the problem becomes even worse because of the chains of dependencies that can be introduced. These can be very difficult or impossible to detect automatically.