Use the following to guide your reading from Chapter 25: Configuration management in Software Engineering:

  1. What are the four activities associated with configuration management?

    Version control
    Keeping track of multiple versions of a system and making sure that changes to one component do not interfere others’ changes
    System building
    The process of assembling program components, data, and libraries, then compiling them to make executable code
    Change Management
    Keeping track of requests for changes to software from customers and developers
    Release management
    Preparing software for external release and keeping track of the versions that have been released
  2. Why are version control systems used to manage software development?

    Version control systems ensure that changes made by different developers to different versions of software components do not interfere with each other

  3. How are branches and merging related?

    Branching is the creation of a new codeline from a version in an existing codeline so that the two codelines may develop independently. Merging is combining two (or more) codelines to create a new version of a software component.

  4. What does system building comprise?

    System building is the process of creating a complete, executable system by compiling and linking the system components, external libraries, configuration files, and other information.

  5. What is continuous integration?

    Continuous integration is the process of building frequently (e.g., multiple times each day) after small source code changes.

  6. What is change management?

    The process of analyzing the costs and benefits of proposed changes, approving those changes that are cost-effective, and tracking which components in the system have been changed.

  7. What artifacts are associated with a software release?

    • Configuration files defining how the release should be configured for particular installations
    • Data files, such as files of error messages in different languages, that are needed for successful system operations
    • An installation program that is used to help install the system on target hardware
    • Electronic and paper documentation describing the system
    • Packaging and associated publicity that have been designed for that release
  8. What factors influence release planning?

    • Competition
    • Marketing requirements
    • Platform changes
    • Technical quality of the system