Professional Documents
Culture Documents
Addendum zu Kapitel 13
Outline
Some Terminology
The problem:
Released systems
Custom configured systems (different functionality)
System(s) under development
Definition:
Description:
No fixed rules:
Promotion management
Branch management
Change management
Release management
Variant management
Configuration Manager
Developer
Auditor
Terminology
Configuration Item
Baseline
SCM Directories
Version
Revision
Release
Software configuration items are not only program code segments but all
type of documents according to development, e.g
all type of code files
drivers for tests
analysis or design documents
user or developer manuals
system configurations (e.g. version of compiler used)
In some systems, not only software but also hardware configuration items
(CPUs, bus speed frequencies) exist!
2004 B. Brgge, A. Dutoit, Pearson Education
10
11
12
13
Problem Statement
Software Project Management
Plan (SPMP)
Requirements Analysis Document
(RAD)
System Design Document (SDD)
Project Agreement
Object Design Document (ODD)
Dynamic Model
Object model
Functional Model
Unit tests
Integration test strategy
Source code
API Specification
Input data and data bases
Test plan
Test data
Support software (part of the
product)
Support software (not part of the
product)
User manual
Administrator manual
14
Problem Statement
Software Project Management
Plan (SPMP)
Requirements Analysis Document
(RAD)
System Design Document (SDD)
Project Agreement
Object Design Document (ODD)
Dynamic Model
Object model
Functional Model
Unit tests
Integration test strategy
Source code
API Specification
Input data and data bases
Test plan
Test data
Support software (part of the
product)
Support software (not part of the
product)
User manual
Administrator manual
Once the Configuration Items are selected, they are usually organized in a tree
2004 B. Brgge, A. Dutoit, Pearson Education
15
Models
Object Model
Subsystems
Dynamic Model
RAD
Database
....
The project
Documents
Code
User Interface
Data
ODD
....
....
Unit Test
....
16
Terminology: Version
17
Terminology: Baseline
A specification or product that has been formally reviewed and
agreed to by responsible management, that thereafter serves
as the basis for further development, and can be changed only
through formal change control procedures.
Examples:
Baseline A: All the API have completely been defined; the bodies of the
methods are empty.
Baseline B: All data access methods are implemented and tested.
Baseline C: The GUI is implemented.
18
More on Baselines
Version
(Developer)
2004 B. Brgge, A. Dutoit, Pearson Education
Revision
(Developer)
19
Baselines in SCM
Baseline A (developmental)
Baseline B (functional, first prototype)
Baseline C (functional, beta test)
Official Release
20
Change management
21
Controlling Changes
Programmer
Promotion
Release
Policy
Master
Directory
Software Repository
User
Release
22
23
Programmers Directory
Promotion
Master Directory
Software Repository
Central source
code archive
Release
Foo95
Foo98
24
Models
Object Model
Subsystems
Dynamic Model
Database
....
The project
Code
Documents
RAD
ODD
....
User Interface . . . .
Data
Unit Test
....
25
Release
*
Master
Directory
Repository
26
* Promotion
Release
*
Master
Directory
Repository
27
Version
* Promotion
Release
*
Master
Directory
Repository
28
Controlled item
Configuration
Item
*
CM Aggregate
Configuration item
Version
* Promotion
Release
*
Master
Directory
2004 B. Brgge, A. Dutoit, Pearson Education
Repository
29
Controlled
item
CM Aggregate
*
Version
Configuration
item
*
Promotion
Release
*
Master
Directory
Repository
30
Change Policies
31
Version
Revision
Release
32
33
34
35
1. Introduction
2. Management (WHO?)
3. Activities (WHAT?)
5. Resources (HOW?)
6. Maintenance
36
37
2.1 Organization
2.2. Responsibilities
For each SCM activity list the name or job title to perform this activity
For each board performing SCM activities, list
3. Applicable Policies
38
39
40
41
42
43
44
45
This section of the SCMP identifies audits and reviews for the
project.
Objective
The Configuration Items under review
The schedule for the review
Procedures for conducting the review
Participants by job title
Required documentation
Procedure for recording deficiencies and how to correct them
Approval criteria
2004 B. Brgge, A. Dutoit, Pearson Education
46
47
Form of an SCMP
Form:
Minimum information
All activities defined in the SCMP (Section 3.1 to 3.6) are assigned to an
organizational unit or person.
All identified Configuration items (Section 2.1) have defined processes
for baseline establishment and change control (Section 3.2)
All activities are associated with resources (section 5) to accomplish the
activities.
This SCM Plan conforms with the requirements of IEEE Std 828-1990.
2004 B. Brgge, A. Dutoit, Pearson Education
48
tailored upward:
to add information
to use a specific format
tailored downward
49
Consistency Criteria:
All activities defined in the SCMP (Section 3.1 to 3.6) are assigned to an
organizational unit or person and they are associated with resources to
accomplish the activities.
All Configuration items identified in Section 2.1 have defined processes
for baseline establishment and change control (Section 3.2) .
If the above criteria are met, the SCMP can include the
following sentence:
50
Project Type
Size
SCM Tools
Life Span
Writing
A
Development
Critical
Medium
Advanced
Short
Highly
Structured
Complex system
contracted to
another company
Inf ormal
Small software
development
project
B
Concept
Prototype
Small
Maintenance
Support
Software
Lar ge
Commercial
Small
Basic
Short
On-line
Full
Life-Cycle
C
Structured
SCMP used by
organization using
contracted SW
Informal
Development of
embedded
applications
D
All
Integrated
Full
Life-Cycle
Character of
Project
51
RCS
Perforce
ClearCase
52
Subversion
Differences to CVS
Server Options
Standalone installation
Integrated into the Apache webserver
53
54
RCS concepts
55
RCS numbering
56
CVS concepts
57
CVS copy/modify/merge
58
SVN concepts
59
60
61
References
Additional References
CVS
Homepage: http://www.cvshome.org/
Online Documentation: http://www.cvshome.org/docs/manual/cvs.html
Source tree (read only): http://sourcery.org/jikes/anoncvs.html
Jikes project portal http://sourcery.org/jikes
CVSWEB example
http://stud.fh-heilbronn.de/~zeller/cgi/cvsweb.cgi/
62
Summary
63