J.E.D.I
bTechnical Manuals cInstallation and Procedures for Software Engineering
7.Standards and Procedures for Software Engineering
7.10.1 Baseline
Managing SCIs uses the concept of baseline. A baseline is a software configuration management concept that helps software engineers control change without seriously
impeding justifiable change. It is a specification or product that has been formally reviewed and agreed upon to be the basis for further development. It can only be
changed through a formal change procedure. Figure 7.4 shows the dynamics of managing the baseline of SCIs.
A Software Engineering Task develops a work product that becomes a software configuration item or unit. It goes through a formal technical review to detect faults and
errors. Once the work product passes or is acceptable, it becomes a baseline and is saved in a project database. Sometimes, this work product is extracted from the project
database as input to some other software engineering task. Notices that checking out a SCI involves controls and procedure. During the execution of the SE task, it is possible
that the SCI has been modified. In this case, the modified SCI will pass through another formal technical review. If it passed or acceptable, the modified version becomes the
new baseline.
7.10.2 Software Configuration Tasks
Software configuration management has the responsibility to control change. It identifies software configuration items and various version of the software. It also audits the
software configuration items to ensure that they have been properly developed and that the reporting of changes is applied to the configuration. Five tasks are done, namely,
Software Engineering 333
Figure 7.4 SCIs Baseline Dynamics
SCI
SE Tasks
Formal Technical
Review
SCI SCI
Modified
Extracted with SCM Controls
Must be Reviewed
New Baseline
J.E.D.I
change identification, version control, change control, configuration audition and reporting.
Change Identification
It is the process of identifying items that change throughout the software development process. It specifically identifes software configuration items SCIs and uniquely gives it
an identifier and name.
Version Control
It is the procedures and tools to manage the different version of configuration objects that are created during the software development process. A version is a collection of
SCIs that can be used almost independently.
Change Control
It consists of human procedures and automated tools to provide a mechanism for the control of change. It has the following subset of task:
• A change request is submitted and evaluated to assess technical merit, potential side effects, overall impact on other SCIs.
• A change report is created to identify the final decision on the status and priority of the change.
• The Engineering Change Order ECO is created that describes the change to be make, the constraints, and the criteria for review and audit.
• The SCIs is checked out for modification. • It is, then, checked in after the review and subject to version control.
Configuration Audit
It is the process of assessing a SCIs for characteristics that are generally not considered during a formal technical review. It answers the following questions:
• Was the change specified in the ECO done? Are there any additional modification made?
• Did the formal technical review assessed the technical correctness of the work product?
• Did the software engineering procedures been followed? • Did the SCM procedures been followed?
• Have all appropriate SCIs been updated?
Software Engineering 334
J.E.D.I
Status Reporting
It is the process of informing people that are affected by the change. It answers the following questions:
• What happened? • Who did it?
• When did it happen? • What else will be affected?
Software Engineering 335
J.E.D.I
7.11 Project Assignment