Software Configuration Management Plan

advertisement
Software Configuration Management Plan
Jasper Maes
jaspmaes@vub.ac.be
November 10, 2010
Abstract
This document describes the software configuration management plan of group 4
in the Software Engineering project. This plan will explain how configuration items
such as source code and documents will be managed.
Date
30 October 2010
9 November 2010
Author
Jasper Maes
Jasper Maes
1
Comment
Initial version
Second version
Contents
1 Introduction
1.1 Goal . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1.2 Acronyms . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2
2
2
2 The Software Configuration Management Plan
2.1 SCM Mangement . . . . . . . . . . . . . . . . . . . .
2.1.1 Organization . . . . . . . . . . . . . . . . . .
2.1.2 Responsabilities . . . . . . . . . . . . . . . .
2.1.3 Applicable policies, directives, and procedures
2.2 SCM Activities . . . . . . . . . . . . . . . . . . . . .
2.2.1 Identifying CI . . . . . . . . . . . . . . . . . .
2.2.2 Naming CI . . . . . . . . . . . . . . . . . . .
2.2.3 Acquiring CI . . . . . . . . . . . . . . . . . .
2.3 Configuration control . . . . . . . . . . . . . . . . . .
2.3.1 Requesting changes . . . . . . . . . . . . . . .
2.3.2 Approving or disapproving changes . . . . . .
2.3.3 Implementing changes . . . . . . . . . . . . .
2.4 SCM Resources . . . . . . . . . . . . . . . . . . . . .
2.5 Plan maintenance . . . . . . . . . . . . . . . . . . . .
2
2
2
2
2
2
2
3
3
4
4
4
4
4
4
2
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
1
Introduction
1.1
Goal
This document describes how the different configuration items will be managed in
the Software engineering project of group 4.
1.2
Acronyms
CI Short for configuration item. An item is a part of the project that has to be
managed. For example, the source code or documents.
Git A free and open source distributed version control system created by Linux
Torvalds.
SCM Software configuration management
SE4 Software engineering group 4. Also referred to as the team.
2
The Software Configuration Management Plan
2.1
2.1.1
SCM Mangement
Organization
One member of SE4 is the configuration manager for this project. This task will be
performed by Jasper Maes.
2.1.2
Responsabilities
The configuration manager is responsable for the organization of SCM. He will
provide the team with the necessary configuration management tools. He can also be
contacted for further training and support for users of these tools. The configuration
manager will also create and maintain this document.
2.1.3
Applicable policies, directives, and procedures
• All documents are available from the projects website1
• All revisions from the documents can be viewed in advance using the GitView
repository viewer2 but only the released documents on the website are official.
• Major changes to one part of the project that require other parts to change too,
have to be communicated to the other members of SE4 before being commited
to the repository
2.2
2.2.1
SCM Activities
Identifying CI
Following CI will be added to the git repository on the Wilma server.
1
2
http://wilma.vub.ac.be/~se4_1011/
http://wilma.vub.ac.be/~se4_1011/viewgit/?a=summary&p=SE4
3
• Source code
• Documents such as this plan and the project management plan
• Used software and documentation such as an IDE and reference manuals for
used programming languages
These three categories of items reside in subdirectories of the repository.
Each member of the team can add items that fall under one of these 3 categories.
Other items can be added to the repository if their relevance can be proven and
were approved by the configuration manager.
2.2.2
Naming CI
Files are to be given meaningful names that are as short as possible. Spaces should
be replaced by underscores. These names will reflect either part of the project it
implements. For example, the file that implements the page to register for the
website will be called register.php.
The files have to be added to following directory structure:
• Code
• Documents
– Deliverables
– Organisation
– Reference Manuals
• Software
– Linux
– OSX
– Windows
Every folder contains what it is named after. The code folder contains all source
code. The deliverables folder contains all the documents that have to be written.
The organisation folder contains all the documents involving the organisation of the
project such as the document that specifies when a deliverables has to be handed
in. The reference manuals directory holds different manuals or e-books for the software used. The software directory contains all the software that can be used for the
project such as an IDE and a Git client.
Software will be provided for Linux, OSX and Windows, each residing in its own
subdirectory. Platform independent software is added to the Software directory and
not in a subdirectory.
Version numbers are added by the version control software so they shouldn’t be
provided into filenames or the files themselves.
2.2.3
Acquiring CI
To be able to view the contents of the git repository there are 2 posiblities. The first
possibility involves using the online git repository viewer, GitView3 . The second one
3
http://wilma.vub.ac.be/~se4_1011/viewgit/?a=summary&p=SE4
4
copies the files to the users computer. If you want to copy it to your home directory
on the same server as the source repository, use following command in a terminal
window:
git clone /exports/home/se4_1011/Project
To copy the repository files to your personal computer, use:
git clone ssh://jaspmaes@wilma.vub.ac.be/exports/home/se4_1011/Project
Both commands create a directory named Project in the present working directory.
2.3
2.3.1
Configuration control
Requesting changes
Every member was assigned a number of CI. Only this developer is allowed to make
changes to these CI except for minor changes such as correcting spelling errors. The
owner of the CI must be made aware of these changes.
In case of bigger changes, the owner must be notified and he will decide if the changes
will be applied or not. He can also allow the developer to make the change.
2.3.2
Approving or disapproving changes
The configuration manager and implementation manager can revert changes.
When major changes are to be made that could cause problems in other parts of
the project, all members of the team must be notified.
2.3.3
Implementing changes
Each SE4 member can push his or her changes to the git repository. The configuration manager provides all developers with a tutorial on how to use the git
repository.
2.4
SCM Resources
Following software will be used:
• Git
• GitView
• Netbeans IDE with Git plugin
• Web2Project
• Doxygen documentation tool
• Own website update scripts
2.5
Plan maintenance
The configuration manager maintains the SCMP and updates it if necessary after
each team meeting.
5
Download