lec 07
lec 07
lec 07
Lect. 07
IEEE/EIA 1219 Maintenance Process
ANALYSIS PHASE
The process is viewed to have two major components: feasibility analysis and detailed analysis.
• First, feasibility analysis is performed to:
• determine the impact of the change;
• investigate other possible solutions including prototyping;
• determine the benefits of making the change.
• The second phase identifies:
• the software components involved;
• an overall test strategy; and
• an implementation plan.
IEEE Maintenance Process
DESIGN PHASE
Activities of this phase are as follows:
1. Identify the affected software components.
2. Modify the software components.
3. Document the changes.
4. Create a test suite for the new design.
5. Select test cases for regression testing.
IEEE Maintenance Process
IMPLEMENTATION PHASE
The activities executed in this phase are:
• Writing new code and performing unit testing,
• Integrating changed code,
• Conducting integration and regression testing,
• Performing risk analysis, and
• Reviewing the system for test-readiness.
IEEE Maintenance Process
DELIVERY PHASE
In this phase, the changed system is released to customers for installation and operation.
Included in this phase are the following activities:
• Notify the user community
• Perform installation and training
• and Develop an archival version of the system for backup.
Software Configuration Management
Software Configuration Management
• The concept of configuration management (CM) was developed to manage changes in large systems.
• Software Configuration Management (SCM) is applied to software products.
o It handles the control of all product items and changes to those items.
o The product items include document, executable software, source code, hardware, and disks.
PLANNING
Planning is begun with two activities:
1. Define the SCM process, and
2. Establish procedures.
• A key step during planning is the identification of the stakeholders.
• The stakeholders in a configuration management are the maintainers, development engineers, test engineers,
quality assurance auditors, users, and the management.
• Various SCM tools are used to maintain configuration history and facilitate the SCM process flow. Examples
of such tools are CVS (concurrent version system) and Clearcase.
Software Configuration Management (SCM) PROCESS
ESTABLISHING BASELINE
• Once an SCM program plan is in place, the next step is identification of items (code, data, and documents)
that are the subject of configuration control.
• After the configuration items identified, a software baseline library is established to make the set of
configurable items publicly available.
• The library, called repository, is the heart of the SCM system.
• The repository has information about all the baselined items.
Software Configuration Management (SCM) PROCESS
ESTABLISHING BASELINE
The process of baseline (or re-baseline for a change) involve the following activities:
1. Create a snapshot of the current version of the product and its configuration items, and allocate a
configuration identifier to the entire configuration.
2. Allocate version numbers to the configuration items and check in the configuration.
3. Store the approved authority information as part of meta data in the repository.
4. Broadcast all the above information to the stakeholders.
5. To accurately identify the configuration version, design a schema of words, numbers, or letters for common
types of configuration items.
Software Configuration Management (SCM) PROCESS
• A change request (CR), also called a modification request (MR), is a vehicle for recording information
about a system defect, requested enhancement, or quality improvement.
• Change requests are placed under the control of a change management system.
• Change management systems control changes by an automated system in the form of work-flow.
• The basic objective of change management is to uniquely identify, describe, and track the status of each
requested change.
Change Request Workflow
• A change request describes the desires and needs of users which the system is expected to implement.
• While describing a CR, two factors need to be taken into account:
• Correctness of CRs, and
• Clear communication of CRs to the stakeholders.
CRs need to be represented in an unambiguous manner, and made available in a centralized repository.
Change Request Workflow
The life-cycle of a CR has been illustrated in following figure, by means of a state-transition diagram.
Each state represents a distinct stage in the life-cycle of a CR.