Configuration Management: Software Maintenance and
Configuration Management: Software Maintenance and
Configuration Management: Software Maintenance and
The
that the
Organizational roles and
responsibilities www
O00 Contents
. . Summer-2018, Marks 7
8.1 Software Maintenance
. Summer-2016,
8.2 Re-Engineering
... Winter-2017, 2018, Marks 7
8.3 Reverse Engineening Summer-2013, 2018, 2019,
. Winter-2017,2018,ra*Marks 7
Marks 4
Summer-2019, Winter-2019,
8.4 Forward Engineering
8.5 Introduction to Sotware Configuration Management (SCM)
Marks 7
Summer-2016, Winter-2018,
Marks 7
8.6 Software Configuration tems..
.
..Winter-2011,
Summer-2013, 2018, 2019,
8.7 SCM Process
MaKS
Winter-2019,
1. Corrective program
maintenance Means the maintenance for
correcting the software faults.
8.2.1 Re-engineering process
activites
TECHNICAL Fig.
PUBLICATIONS An up thrust
for knowledge for knowiedge
n up thrust
TECHNICAL PUBLICATIONS
Software Engineering 8-4 Software Engineering 8-5 Software Maintenance and Configuration Management
Software Maintenance and
Coniguration Management
Source code translation: In this Reverse Engineering Process
phase the code is converted to
8.3.1
Reverse engineering: Under this
activity the program is
a new
language. Initially the dirty source code or unstructured source code is taken and processed and
thoroughly. analysed and understood the code is restructured. After restructuring process the source code becomes clean. The
Program structure improvement: Restructure core to reverse engineering is an activity called extract abstractions.
automatically for understandability.
Program modularization: The program structure is reorganized. In extract abstraction activity, the engineer must evaluate older programs and extract
Data re-engineering: Finally clean-up information about procedures, interfaces, data structures or databases used.
and restructure
system data.
Review Questions
1. Dirty source code
Explain the software re-engineering activities.
2. Exrplain softroare re-engineering process model.
3. Write short notes GTU: Summer-2016, Marks 7 Restructure code
on
re-engineering. GTU: Winter-2017, 2018, Marks 3
8.3 Reverse Engineering Clean source code
Process
GTU: Summer-2013, 2018, 2019, Winter-2017,
Reverse engineering
2018, Marks 7 Extract abstractions Interface
is the
process of design recovery. In reverse
data, architectural and
procedural information is extracted from a sourceengineering
code.
the
Initial documentation Database
There three
are
important issues in reverse
engineering
1. Abstraction level : This level Refine and simplify
source code. It is
helps in obtaining the design information from the
expected that abstraction level should be
engineering. High abstraction level helps the software high in reverse Final specification
program. engineer to understand the
Flg. 8.3.1 Reverse engineering
2. Completeness level: The
completeness means detailing of abstract level. The The output of reverse engineering process is a clear, unambiguous final specification
completeness decreases as abstraction level increases.
obtained from unstructured source code. This final specification helps in easy
For example From -
engimeering
GTU: Winter-2017, 2018, Summer-2019, During forward engineering, there exists a business layer present at both client
3.
Explain the
following term in brief 1) Marks 4 and server. The task of this layer is to control and coordinate the tasks of
Re-Engineering,
-
2) Reverse
Engineering. transactions and query The communication
handling among desktop applications
GTU: Summer-2018, Marks 4 is controlled by business rules layer.
8.4 Forward Engineering There is client applications layer which implements the business functions that
GTU: Summer-2019, Winter-2019, Marks 4 are required by specific group of end users.
If the
poorly designed and implemented code is to be
alternatives can be adopted modified then
following 8.4.2 Forward Engineering for Object Oriented Architectures
1. Make lot of
modifications to implement the
2. Understand inner necessary changes. Forward engineering is a process of re-engineering conventional software into the
workings of the program in order to make the
object oriented implementation.
modifications. necessary Following are the steps that can be applied for forward engineering the
3.
Redesign, recode and
small modules of software that
test conventional software
4.
Completely redesign, recode and test the entire program require modifications. 1. Existing software is reverse engineered in order to create data, functional, and
behavioral models.
Definition: Forward using re-engineering tool.
engineering is a process that makes use of software 2. f existing system extends the functionality of original application then use
principles, concepts and methods to recreate an engineering cases can be created.
re-developed program extends the capabilities of old existing application. This
programs. 3. The data models created in this process are used to create the base for classes.
8.4.1 Forward Engineering for Client Server 4. Class Hierarchies, object-relationship models, object
behavioral models, and
Architectures subsystems are defined.
During re-engineering process, many mainframe this forward engineering process, algorithms
and data structures are
8.5.1 Need for SCM These SCI or items will be produced during the project, stored, retrieved, changed,
stored again, and so on.
The software specification
configuration management is concerned with
the managing Each configuration item must have a unique name, and a description or
the evolving software. If the changes are not controlled at all then this changes in
stream of which distinguishes it from other items of the same type.
uncontrolled change can cause the
well-running software project into chaos. Hence it is
essential to perform following activities Review Question
i) Identify these changes What is meant by softuare configuration
1. What do you mean by software configuration?
i) Control the changes
management?
GTU Winter 2011. Marks 7
ii) Ensure that the changes are properly
implemented and
8.7 SCM Process GTU Summer-2013, 2018, 2019. Winter-2019. Marks 7
iv) Report these changes to others.
The software (SCM) are -
8.7.1 ldentification of Objects in Software managing such changes, human procedures or automated tools can be used.
The software
Configuration The change control process is shown by following Fig. 8.7.1. (See Fig 8.7.1 on next
object.
configuration items must be separately named and identified page.)
as
These Step 1 First of all there arises a need for the change.
objects must be arranged using object oriented
There are wo approach.
categories of objects basic objects and
-
example SRS or data model can be aggregate aggregate objects. For Step 4 A change report is then generated and presented to the Change Control
object is
characters(string) or some text. It is unique. nothing but
the collection of final decision on status or priority of the change.
database.
needs to be changed is checked out of the project
3. that
List of resources: The resources
are the entities that are used for Step 7: The object
accessing, the corresponding object and appropriate
SQA
referencing and processing of objects. The data types and
fhunctionalities can Step 8 The changes are then made
on
serve as a resource.
activities are then applied.
version
4. Realization the database and appropriate
identification: It is pointer to object.
or is then checked in to
Step 9 The changed object
The configuration object identification create new version.
can also consider control is made to
between the named objects. relationships that exist
checked out
mechanisms require two importantelements-
The checked in and
If a
change is made to one
configuration object it is Access control
configuration objects in the repository are affectedpossible
to determine which
other
by the change. Synchronization control to the software engineer to access
.Basically object evolve throughout the software process. gives the authority
mechanism control mechanism
The access control object. The
synchronization
objects along with its process must be and modify the specific or the changes
made by two
identified. make parallel changes
allows to
work.
each other's
Major modifications in the object must be noted. overwriting
An up thrust forknowledge
PUBLICATIONS
TECHNICAL PUBLICATIONS An up thrust
TECHNICAL
for knowledge
Sonware Engineening 8- 12 Sofware Engineening 8- 13 Software Maintenance and Confiquration
Software Meintenance
and Confguration Management Management
8.7.3 Version Control
Need for change
Version is an instance of a which is
system functionally distinct in some way from
other system instances.
Change request
Version control works to help manage different versions of
during the development process.
configuration items
Evaluation of request
The configuration management allows a user to
specify the alternative configurations
of the software system by selecting
appropriate version.
Generation of change report Certain attributes are associated with each software version. These attributes are
useful in identifying the version. For example The attribute can be "date', 'creator,
Decision of CCA for 'customer, 'status'.
change
In practice the version needs an associated name for easy reference.
Different versions of a system can be shown by an evolution graph as
Denial of change request Each version of software system is
Change request accepted a collection of software configurationitems
and ECO generatedd
. I n order to ensure that the change has been properly implemented or not two
2. Configuration Audit
Software
Promote changes in next is identified
the correctness of configuration object
I n Formal Technical Review,
release technical reviewer.
and corrected. It is conducted by
audit assess the configuration object for the
The software configuration
Rebuilt appropriate version formal technical review. It is conducted by
characteristics that are not reviewed in
group.
software quality assurance audit
during configuration
-
1. Whether FTR is
made ?
ECO has been
2. Whether or not the change specified by
PUBLICATIONS
An up thnust forknowledge
TECHNICAL PUBLICATIONS -
An up thrust for
TECHNICAL
knowledge
Software Engineering 8- 14
Sotware Maintenence and
Configuration Management
3. If additional changes need to be made or not ?
4. Whether the software
engineering standards are
properly followed ?
5. Do the attributes of
6.
7.
Whether all the
Whether the SCM
configuration objects reflect
SCI are updated
and version
control,
9 DevOps
The above
are
properly followed ?
questions can be asked as a
part of formal technical review.
8.7.5 Status Reporting Syllabus
The status Product lifetime :
Independent product Vs. contimues,
reporting focuses on communication of changes to all architecture Improvement, Software as a service, Saas
organization that involve with changes. people in an
During status
reporting following type of questions were asked. Contents
1. What
happened ?: What are the changes that are 9.1 Overview
2. Who did it ?: Who will be
required ?
handling these changes ? 9.2 Problem Case Definition
3. When did it
happen The time at which these changes are arised.
?: 9.3 Benefts of Fixing
Application Development Challenges
4. What else will be affected ?: 9.4
The objects or
part of the software Devops Adoption Approach through Assessment
reflected due to these that might be
changes. 9.5 Solution Dimensions
O00