Chapter 6 - Configuration Management Flashcards

1
Q

Define Configuration.

A

The sum total of all the artifacts, their current state and the dependencies between them is called the configuration.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

What is the risk of making a change to an artefact?

A
  • impact all the artefact’s dependencies if you make a change
  • if not careful may leave the configuration in an inconsistent state
  • risk changing one module without changing it’s dependant modules so that the configuration is is inconsistent
  • e.g a change to the requirement impacts will have an impact on the system design and all of the code modules that depend on the design. Also, the testing plan, test cases and testing scripts for the code will also be impacted.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

What is the point of configuration management?

A

to establish processes and set up repositories to manage change properly without losing overall consistency.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

What are the 4 aims of configuration management?

A
  1. to identify all items that collectively will make up the configuration
  2. to manage changes to one or more of these items so that the collection remains consistent
  3. to manage different versions of the product
  4. to assure software quality as the configuration evolves over time
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

What are the 5 key configuration tasks that meet the configuration aims?

A
  1. identification — where the configuration items necessary for the project are identified
  2. version control — where processes and tools are chosen to manage the different versions of configuration items as they are developed
  3. change control — where changes to that affect more than just one configuration item are managed
  4. configuration auditing — where the consistency of the configuration is checked
  5. configuration reporting — where the status of configuration items is reported.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

Define configuration items

A

The entire set of artefacts produced in the project

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

What are the 3 types of configuration items?

A
  1. basic objects
  2. aggregate
  3. derived
    For example, we may choose classes to be basic objects stored in files in a repository. The program is the aggregate object also stored in a file but dependent on the objects of which it is composed. When we compile the program we generate a derived object — the executable — which is also stored in a file but is derived from the program and object files.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

What are aggregate objects?

A

Aggregate objects are composed of atomic objects or other aggregate objects.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

What are derived objects?

A

Derived objects are generated from atomic and aggregate objects by tools.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

What is the aim of identifying configuration items?

A

to determine what configuration items will be produced in the project and how they will be managed.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

What is version control?

A

Version control refers to managing the different versions of all the configuration objects in the project.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

What does version control usually consist of?

A
  1. a repository for storing configuration items;
  2. version management functions that allow software engineers to create and track versions, and roll the system back to previous versions if necessary; and
  3. ideally a make facility that allows engineers to collect all of the configuration objects for a particular target together and to build that target.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

What tools should be used to maintain SCM information?

A
  • in a repository or configuration database.
  • Be wary of tools such as CVS as they may only store information on versions and not the dependencies between different configurations items.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

Define version.

A

An instance of a model, document, code, or other configuration item which is functionally distinct in some way from other system instances.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

Define variant.

A

An instance of a system which is functionally identical but non-functionally distinct from other instances of a system.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
Q

Define release.

A

An instance of a system which is distributed to users outside of the development team.

17
Q

Define derivation history.

A

This is a record of changes applied to a configuration object.

18
Q

What should each change in the derivation history ideally record?

A
  • the change made
  • the rationale for the change
  • who made the change
  • when it was implemented
19
Q

What are ways of tracking versions in a repository?

A
  • version tracking
  • attributes
    In practice, a version also needs an associated name for easy reference and typically both numbered and attribute style of version tracking are used.
20
Q

Explain version tracking to track versions in a repository.

A
  • through version numbering, in which versions are num- bered and tagged.
  • the actual numbers typically have no meaning on their own but take meaning from the overall management of configuration objects.
  • For example, major version numbers represent reviewed versions while minor version numbers represent small un-reviewed changes.
21
Q

Explain the use of attributes to track versions in a repository.

A
  • Examples of attributes include: Date; Creator; Programming Language; Customer; and Status.
  • attributes should uniquely identify the version of the configuration object but this is not always the case.
  • are more flexible for searching and retrieving configuration objects because we do not need to remember how the version number corresponds to the attributes of the configuration object.
  • set of attributes have to be chosen carefully so that all versions can be uniquely identified.
22
Q

What is the change management plan?

A

The change management plan is developed as part of an overall configuration management plan specifically to control these changes to the configuration.

23
Q

How should changes be made?

A

in a way that allows everyone on the project team to find out:

  • exactly what changes need to be made
  • what they need to do to affect the change
  • why the change is being made
  • how it will impact them.
  • some changes may need to be carefully negotiated so that everyone understands the need for the change and supports it
24
Q

Define baseline.

A

A baseline is an artifact that is stable. That is, it has been formally reviewed and agreed upon, that is now ready for use in future development, and can only be changed through formal change management procedures.

25
Q

Explain how baselines work.

A

Assume we have a software configuration item SCI. First we extract it from the repository and then perform our engineering tasks using the SCI. We may make frequent changes to the SCI while doing this but at some point the engineering task concludes and we are left with a modified SCI ready to be baselined. If the SCI passes the formal review then it can be added to the stable configuration items already in the repository. If it does not pass the review then it must be reworked until it does. Other project team members only work with the baselined stable SCIs. Once baselined any further changes need to go through the formal change process.

26
Q

What are configuration audits?

A

Configuration audits complement the other configuration management activities by assuring that what is in the repository is actually consistent and that all of the changes have been made properly.