Software Configuration Management

 Software Configuration Management

After the delivery of the software, all the changes that are made within the system, have to be documented properly so at any point of your time, if the necessity be, reverse tracking can be done. 

Software Configuration Management activity deals with tracking and controlling the changes that are made within the software, after its delivery. 

To understand the concept of configuration management, let's take an example, say version 1.0 of the software was released to the purchasers on 20-08-2009. Feature wise, this software neither had provision to connect additional documents with the order, nor did it have provision to send automatic e-mails to the clients.

Say on 21-01-2010 software was modified, so on provide the facilities mentioned above.This software was released as version 1.1.

Software configuration management suggests that the main points of all the changes made in version 1.1 (and all version after this) should be properly document in order that answer to the questions like "What was worn out version 1.1 or How version 1.1 is different from version 1.0" etc. are often properly answered.

Software Quality

Quality of software is incredibly subjective. When anyone says, "We should develop quality software" then immediate question that involves mind is, what's quality software? Well! Software Engineering answers this question by defining many parameters, on the premise of which quality of the software will be defined and measured too.

Software Engineering suggests that quality of software should be measured on the premise of following parameters:


A program is alleged to be understandable and thus of prime quality, if another programmer can are aware of it properly and understand, what the program is doing and the way it's doing. A program is formed more understandable by:

(i)Naming the variables properly in order that their names are indicative of contents that they'll hold. for instances and salary both can represent variables within the program but the name salary makes more sense.

(ii) Using comments liberally within the program to explain the activity/ action written in few lines below them. 

(iii) Dividing an extended program into multiple modules so each module deals with a particular independent function. For example, rather than writing one program for calculating the pay, it might be divided into multiple modules like PF calculation, taxation calculation, LTC calculation etc.

(iv) Maintaining a logical flow within the program.


For the software to be of top quality, it should be complete.  within the event of any error, missing information of wrong data from the user, it should be ready to trace back its path to some logical destination.



The efforts must transfer a program from one hardware to a different hardware or from one software system to a different OS or from one software to a different software are direct measured of portability. More the efforts, less is that the portability.

As suggest by computer programmer, quality software should be high portable.


When consistent schemes are used for naming the variables, indentation of, program lines, fonts et al. visual elements then the program is claimed to be consistent and thus of higher quality.


 then the program is alleged to be maintainable.


 Usability of the program is usually improved by including GUI elements like menus, dialog boxes alert boxes etc. within the computer programme.

Providing technical manuals, user manuals etc. together with the software also improve its usability.


If the software performs all its intended functions under large choice of conditions and big variety of information then it's said to be reliable.

For example, program that provides the output, 5 when the variable Amt is split by another variable Qty (Amt/ Qty) but gives absurd result when Qty = 0, won't be a reliable program.

Similarly the program that gets trapped into infinite loop when the worth of a specific variable exceeds 1000 is another example of unreliable program.


A program, within which proper measures are taken to scale back data time interval. interval etc. will certainly provide better throughputs and can be termed as efficient program.


Security plays a serious role in determining its quality.

 It should be ready to withstand attacks that are attempted by unauthorized persons and processes.

Software Life Cycle Models

The basic objective of software engineering is to supply good quality maintainabl software, within reasonable time at affordable cost. this could only be done if mature procedures are practiced throughout the event process. 

Software Life Cycle Model plays a serious role in providing maturity to softwar development activities. It can significantly affect the standard, cost and time of development Software Life Cycle Model basically suggests how the software will get existence how the event will continue and the way it'll survive. 

Post a Comment