0% found this document useful (0 votes)
44 views

Configuration Management and Version Control

Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
44 views

Configuration Management and Version Control

Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 6

CONFIGURATION MANAGEMENT AND VERSION CONTROL

Now when we develop a code for a college, we do not bother much about the changes that we
make to the code or where we place the artefacts and the corresponding code.
We are the sole owner and we know every detail of it. This is not the case in an IT industry.
Because we work on big projects each project will have multiple modules and there will be
multiple team members working simultaneously on one module.
So, any change or enhancement or updation made by one person has to be made available to
the other person without any conflict.
This process can be effectively managed with the help of configuration management and version
control.

“Software Configuration management” helps in understanding how to track and control changes
to the software. Software development has lots of artefacts SRS, design documents,source
code,testing reports etc. . These artefacts need to be accessed and modified by multiple team
members. So how do we manage this change?? Yes software configuration management is the
best choice for it.

Configuration
-specifies the arrangement of functional units according to their characteristics. Configuration
affects the function and performance of the entire system.
Configuration management involves
1) Configuration identification: identifies the configuration items and labels each item with
unique identifiers.
2) Change management: involves in tracking and controlling the changes during development
3) Configuration status accounting: records the status and various information about the
configuration item.
4) Configuration audit: responsible for reviewing the items against various specifications for
assessing its quality and correctness.

Configuration management is the process of coordinating the software development


by tracking modifying and controlling changes to the software.

Software configuration is important because:


-New versions of software systems are created as they get changed
-For different OS, different functionalities that are not present in the previous version might be
needed or it might need to be adapted for particular user requirements.
-Configuration Management is responsible for managing and controlling the costs and effort
involved in making changes to a system.

Software Configuration management defines:


-The type of documents to be managed
-who takes responsibility for the CM procedures and creation of “baselines”. (A base line is a
formally reviewed and approved document by the management that can be used as the basis for
the further development. Any change to it has to come in formal way.)
-the policies for change control and version management.
-the CM records which must be maintained.
And finally SCM specifies the tools which should be used to assist the CM process and any
limitations on their use
Software configuration items: are not only source files but all types of documents.
-In some projects, not only software but also hardware configuration items such as CPUs, hard
disks also has to be put under control
-Document naming scheme should be defined so that the related documents have related names
-A hierarchical scheme with multi-level names is the one that is used more frequently

To control and manage the configuration items we name and manage each object using the
object oriented approach. There are two types of Objects Base Object and Aggregate Object.
Relationship b/w configuration objects:
-A curved arrow indicates a compositional relation
-A double headed straight arrow indicates an interrelationship

EX: Design Specification is an aggregate object which comprises of Data Design, Architectural
Design, Module Design, and Interface Design. Data model and component N have compositional
relation with the design Specification and are thus indicated by curved arrow.
Double headed arrow between source code component test specification and design
specification specifies the interrelation ships. I.e. if a change were made to the source code
object, the arrow indicates the software engineer to determine what other objects (and SCIs)
might be affected.

Examples for baselines are


-The API has been completely been defined;
-the bodies of the methods are empty
-All data access methods are implemented and tested
-The GUI is implemented.

Where all the CI’s are stored?


Configuration Repository is a database managed by the server that stores all the Configuration
management (CM) information.
When two people in a group try to access a same file and make changes then one would
overwrite the other. This can be solved using the Synchronization control mechanism of
Configuration management. It ensures that parallel changes, performed by two different
people don’t overwrite one another. To make this possible, he can obtain a lock on the object in
the database. This will disable others from accessing or updating that object until the currently
checked out version has been replaced thereby releasing the lock.

Change Control Board(CCB)


Changes are inevitable. It’s applicable for the software also. When a project is under the
development process, client may come up with changes. These changes cannot be directly
reported to the concerned person in the development team. Its impact will be in all the
phases. All this change request will be send to Change Control Board (CCB) or Software
Change Control Board (SCCB).
-It is a committee that accepts the change requests, analyse it and take decision whether or not
proposed change to a software project should be implemented.
-The change control board is composed of project stakeholders or their representatives.
-The authority of the change control board may vary from project to project.
-The decision taken by this board will be accepted as final and binding. If accepted, the code will
be given for the developer to make the relevant changes, else it will be intimated to the client that
it is rejected.

change control process comprises of three phases : Evaluation phase, resolution phase and
finally the verification phase.
-When a change is to be made it is identified and submitted by the client to the Change control
board. It is then evaluated by the CCB. They analyse the impact of the change and the cost
also. If it’s feasible, then they approve the change, mark the change request as opened and
handover it to the development team. They plan for the change and implement it and test for its
correctness. The tester verifies if the changes are implemented correctly. If yes, the verification
process is approved and the change request is closed, if not they reopen the change request and
give it back to the development team.

Version Management:
As we all know software development will be done by team of persons. So frequent changes will
happen. In that case whenever changes are made we have to maintain the various versions of
the file. This is possible by using version management.
Benefits of version management
-Automatic backup is a main advantage of version management. If a file is changed and we want
to roll back to the previous version, its possible using this.
-If more than one person works on a same file, the changes can be recorded without any
conflict.
-To highlight the differences, comparison of the two versions of a file is possible.
-Also it is possible to lock a file so that when it is modified by a user it cannot be accessed by
other user, thus forcing serialized change to any given file.
-When a person in the team wants his code to work in isolation, it’s also possible by creating
branches.
-Maintain an instant audit trail on each and every file: versions, modified date, modifier, and any
additional amount of meta-data system provides for and whichever we choose to implement.

Note: Configuration audit is responsible for reviewing the items against various specifications for
assessing its quality and correctness

-The entry door of the Server room inside the company can be considered as equivalent
baseline
to concept in configuration management.

-Process that ensures that changes made are recorded and controlled → Change Management,
Who authenticates that the change proposed is valid → Change Control Board,

The standard document where the requester fills the change in the change management process
→ Change Request Form,

Process that ensures different versions of the project is managed → Configuration Management

-Version Management, Synchronization Control and Concurrency Control are the features that
are part of the software configuration management

You might also like