|
The software being an intellectual production, has certain characteristics not commonly associated with physical products. These can be summarized as under:-
- It can be easily copied and reproduced. It can also be transferred and transported easily from one machine to other.
- It is comparatively easy to change and modify the software. Often the changes/modification carried out on a copied software are minor and the changes may not to9 noticeable easily. such modifications however after the output of the software.
- When software is distributed to various locations, it is very difficult to ensure identical versions everywhere.
- There is often a need to modify the software to rectify the errors noticed at some stage, for a particular situation encountered or to accommodate changes in the policy, procedures etc.
The need for changes in software have been summarized as the first law system engineering as under:- "No matter where you are in the SDLC, the system will change & desire to change in will persist".
Although the changes in application software are inevitable, such changes are the source of confusion among the software developers. When changes are made they alter the configuration of the software. Keeping track of these changes is important.
Software configuration management (SCM) is the art of coordinating software development process so that minimum confusion is caused among the developers.
Definition : "SCM is the of identifying organizing and controlling modifications to the software being built by the team of developers. The Goal is to maximize productivity by minimizing mistakes"
SCM is applied though the software Engineering process and includes:
- 1) Identification of change
- 2) Controlling the change
- 3) Ensuring that the change is properly implemented
- 4) Communicating change to others involved in it.
The SCM is different than software maintenance as maintenance in normally after the software is delivered whereas SCM undertaken during the process of software development upto delivery. However, the process of SCM is applicable to software maintenance also.
Primary goal of software engineering is to improve the ease with which changes can be accommodated and reduce the amounts of efforts expanded when changes must be made.
The output of SE process are divided into three broad categories:
- 1) Application programmes
- 2) Documents that describe the computer programmes for (practitioners)
- 3) Data structure or Data Base software configuration includes all these items.
Changes : The changes become inevitable during the software development for following reasons.
- 1) Customers/users went to modify requirements
- 2) Management wants to modify the project approach
- 3) practioners want to modify programming approach
As the project advances in the development, everybody acquires more knowledge and would like to incorporate changes based on this knowledge.
Baseline: Baseline helps us to control changes without impediments.
Software Configuration Items
- 1) System specification
- 2) Software Project Plan
- 3) a. Software requirement Specification
b. Executable or 'paper' prototype
- 4) Preliminary user Manual
- 5) Design specification
- Data Design
- Architectural Design
- Module Design
- Interface Design
- Object description in O.O.Ps.
- 6) Source code listing
- 7) Test plan and procedure
Test cases and recorded results
- 8) Operation and Installation Manuals
- 9) Executable
- 10) Database Description
a) Scheme & file structure
b) Initial content
11. Built user Manual
12. Maintenance Documents
- a) Software problem report
- b) Maintenance requests
- c) Engineering change orders
13. Standards and procedures for Software Engineering
- Software tools i.e. version of editor, compilers and other CASE tools are frozen. so as to finalise the tools, compilers, etc. with which the development can be done.
- The most commonly used approach to software configuration management is using the base line and decimal numbering system.
Prepared by Shri A.K.Hirve, FM
Reprepared by Shri V.G.Sekar, FM, CAB,Pune
|