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