+ All Categories
Home > Documents > Chapter 17 Software Configuration Management · zSoftware Configuration Management manages evoli ft...

Chapter 17 Software Configuration Management · zSoftware Configuration Management manages evoli ft...

Date post: 12-Jul-2020
Category:
Upload: others
View: 2 times
Download: 0 times
Share this document with a friend
41
Chapter 17 Software Configuration Management O O Software Configuration Management Object-Oriented Software Construction Armin B. Cremers, Tobias Rho, Daniel Speicher & Holger Mügge (based on Bruegge & Dutoit, Kniesel)
Transcript
Page 1: Chapter 17 Software Configuration Management · zSoftware Configuration Management manages evoli ft tlving software systems controls the costs involved in making changes to a system

Chapter 17Software Configuration Management

O O

Software Configuration Management

Object-Oriented

SoftwareConstruction

Armin B. Cremers, Tobias Rho, Daniel Speicher & Holger Mügge, , p g gg(based on Bruegge & Dutoit, Kniesel)

Page 2: Chapter 17 Software Configuration Management · zSoftware Configuration Management manages evoli ft tlving software systems controls the costs involved in making changes to a system

Outline of the Lecture

Software Configuration Management (SCM)M ti ti Wh ft fi ti t?Motivation: Why software configuration management?Activities and roles in software configuration management

Terminology and MethodologyTerminology and MethodologyWhat are Configuration Items, Baselines, etc. ?What goes under version control?

SCM Approaches

Armin B. Cremers, Tobias Rho, Daniel Speicher & Holger Mügge (based on Bruegge & Dutoit) ObjectOriented Software Construction 2

Page 3: Chapter 17 Software Configuration Management · zSoftware Configuration Management manages evoli ft tlving software systems controls the costs involved in making changes to a system

Why Software Configuration Management ?

The problem:Multiple people have to work on software that is changingMore than one version of the software has to be supported

Released systemsCustom configured systems (different functionality)Custom configured systems (different functionality)System(s) under development… for different machines and operating systems

Need for coordination

Software Configuration Management l i ft tmanages evolving software systems

controls the costs involved in making changes to a systemdisciplines and techniques of initializing, evaluating and controlling changep q g, g g gto software products during and after the software engineering process

Armin B. Cremers, Tobias Rho, Daniel Speicher & Holger Mügge (based on Bruegge & Dutoit) ObjectOriented Software Construction 3

Page 4: Chapter 17 Software Configuration Management · zSoftware Configuration Management manages evoli ft tlving software systems controls the costs involved in making changes to a system

Software-Development: Difficulties and Problems

HAdd promotion Add promotion

calculationcalculationNew platformNew platform

Bug 849Bug 849Bug 527Bug 527 New customer New customer

Is requirement#462 impl. In

current release ?

How many level 1 bugsstill exist?

Analyst Project Manager

Bug 98Bug 98

Bug 179Bug 179

New GUI New GUI buttonbutton

ppNew web designNew web design

gg

Bug 251Bug 251

New customer New customer transactiontransaction

Bug 348Bug 348Analyst Project Manager

H f ll I did ’t Wh d thi b ildDoes bug#784 tillHopefully I didn’t

miss a file.Why does this build

not work?#784 still

exist?

Build 3Build 3

B ild 2B ild 2Build 2Build 2 Build 1Build 1

Tester

Armin B. Cremers, Tobias Rho, Daniel Speicher & Holger Mügge (based on Bruegge & Dutoit) ObjectOriented Software Construction 4

TesterDeveloper Integrator

Page 5: Chapter 17 Software Configuration Management · zSoftware Configuration Management manages evoli ft tlving software systems controls the costs involved in making changes to a system

SCM Activities

Configuration item identification modeling of the system as a set of evolving components

Promotion managementis the creation of versions for other developers

R l tRelease managementis the creation of versions for the clients and users

Branch managementBranch managementis the management of concurrent development

Variant managementis the management of versions intended to coexist

Change management is the handling approval and tracking of change requestsis the handling, approval and tracking of change requests

Armin B. Cremers, Tobias Rho, Daniel Speicher & Holger Mügge (based on Bruegge & Dutoit) ObjectOriented Software Construction 5

Page 6: Chapter 17 Software Configuration Management · zSoftware Configuration Management manages evoli ft tlving software systems controls the costs involved in making changes to a system

SCM Roles

Configuration ManagerIdentifies configuration itemsDefines procedures for creating promotions and releases

Change control board memberA j t h tApproves or rejects change requests

DeveloperCreates promotions triggered by change requests or normal development C eates p o ot o s t gge ed by c a ge equests o o a de e op e tactivitiesChecks in changes and resolves conflicts

AuditorAuditorSelects/evaluates promotions to be released Ensures consistency and completeness of releasesy p

Armin B. Cremers, Tobias Rho, Daniel Speicher & Holger Mügge (based on Bruegge & Dutoit) ObjectOriented Software Construction 6

Page 7: Chapter 17 Software Configuration Management · zSoftware Configuration Management manages evoli ft tlving software systems controls the costs involved in making changes to a system

Terminology and Methodology

What areConfiguration ItemsBaselinesVersions, Revisions and Releases

The usage of the terminology presented here is not strict but varies for g gydifferent configuration management systems.

Armin B. Cremers, Tobias Rho, Daniel Speicher & Holger Mügge (based on Bruegge & Dutoit) ObjectOriented Software Construction 7

Page 8: Chapter 17 Software Configuration Management · zSoftware Configuration Management manages evoli ft tlving software systems controls the costs involved in making changes to a system

Terminology: Configuration Item (CI)

An aggregation of hardware and / or softwareTreated as a single entity in the configuration management processg y g g

Software configuration items are not only program code segments but ll t f d t di t d l tall type of documents according to development, e.g.

all type of code filesdrivers for testsd e s o testsanalysis or design documentsuser or developer manualssystem configurations (e.g. version of compiler used)

In some systems not only software but also hardware configurationIn some systems, not only software but also hardware configuration items (CPUs, bus speed frequencies) exist!(Integration with Product Data Management PDM)

Armin B. Cremers, Tobias Rho, Daniel Speicher & Holger Mügge (based on Bruegge & Dutoit) ObjectOriented Software Construction 8

Page 9: Chapter 17 Software Configuration Management · zSoftware Configuration Management manages evoli ft tlving software systems controls the costs involved in making changes to a system

Finding Configuration Items (CIs)

Large projects typically produce thousands of entities (files, documents, ...) which must be uniquely identified.

But not every entity needs to be configured all the time. Issues:Wh t S l ti f CI (Wh t h ld b d?)What: Selection of CIs (What should be managed?)When: When do you start to place an entity under configuration control?

Starting too early introduces too much bureaucracyStarting too late introduces chaos

Armin B. Cremers, Tobias Rho, Daniel Speicher & Holger Mügge (based on Bruegge & Dutoit) ObjectOriented Software Construction 9

Page 10: Chapter 17 Software Configuration Management · zSoftware Configuration Management manages evoli ft tlving software systems controls the costs involved in making changes to a system

Finding Configuration Items (continued)

Very similar to object modelingItems follows subsystem decompositionyUse techniques similar to object modeling for finding CIs

An entity naming scheme should be defined so that related documents have related names.

Armin B. Cremers, Tobias Rho, Daniel Speicher & Holger Mügge (based on Bruegge & Dutoit) ObjectOriented Software Construction 10

Page 11: Chapter 17 Software Configuration Management · zSoftware Configuration Management manages evoli ft tlving software systems controls the costs involved in making changes to a system

Configuration Identification is similar to Object Identification

“Th j t” CI

“The project” CI

“The project” CI

promote()

release()

Models Subsystems Documents

Object Model Dynamic Model . . . .RAD ODDy

Database User InterfaceDatabase User Interface . . . .

Armin B. Cremers, Tobias Rho, Daniel Speicher & Holger Mügge (based on Bruegge & Dutoit) ObjectOriented Software Construction 11

Code Data Unit Test. . . . . . . .

“The project”

Page 12: Chapter 17 Software Configuration Management · zSoftware Configuration Management manages evoli ft tlving software systems controls the costs involved in making changes to a system

Terminology: Baseline

Selected project stateA ifi ti d tA specification or product

formally reviewed and agreed to by responsible managementth b i f f th d l tserves as the basis for further development

can be changed only through formal change control procedures

Examples: Baseline A: The API of a program is completely defined; the bodies of theBaseline A: The API of a program is completely defined; the bodies of the

methods are empty.Baseline B: All data access methods are implemented and tested;

programming of the GUI can startprogramming of the GUI can start.Baseline C: GUI is implemented, test-phase can start.

Armin B. Cremers, Tobias Rho, Daniel Speicher & Holger Mügge (based on Bruegge & Dutoit) ObjectOriented Software Construction 12

Page 13: Chapter 17 Software Configuration Management · zSoftware Configuration Management manages evoli ft tlving software systems controls the costs involved in making changes to a system

More on Baselines

As systems are developed, a series of baselines is developed, usually after a review (analysis review, design review, code review, system testing, client acceptance, ...)

Developmental baseline (RAD, SDD, Integration Test, ...)Goal: Coordinate engineering activitiesGoal: Coordinate engineering activities.

Functional baseline (first prototype, alpha release, beta release)Goal: Get first customer experiences with functional system.

( )Product baseline (product)Goal: Coordinate sales and customer support.

Many naming schemes for baselines exist (1.0, 6.01a, ...)y g ( , , )3 digit scheme:

7 5 5

Release(Customer) Version Revision

(Developer)

7.5.5

Armin B. Cremers, Tobias Rho, Daniel Speicher & Holger Mügge (based on Bruegge & Dutoit) ObjectOriented Software Construction 13

(Customer)(Developer) (Developer)

Page 14: Chapter 17 Software Configuration Management · zSoftware Configuration Management manages evoli ft tlving software systems controls the costs involved in making changes to a system

Version vs. Revision vs. Release

Version:An initial release or re-release of a configuration item Associated with a complete compilation or recompilation of the item.Different versions have different functionality.

Revision: Change to a version that corrects only errors in the design/codeg y gDoes not affect the documented functionality.

R lRelease: The formal distribution of an approved version or revision.

Armin B. Cremers, Tobias Rho, Daniel Speicher & Holger Mügge (based on Bruegge & Dutoit) ObjectOriented Software Construction 14

Page 15: Chapter 17 Software Configuration Management · zSoftware Configuration Management manages evoli ft tlving software systems controls the costs involved in making changes to a system

SCM: The Fundament of the Development Process

Analysis Design Implementation Test Maintenance

Software Configuration Management

Collect and Manage Information

to create, maintain, and extend Software

Source code HTML/XML files RequirementsSource codeBinariesDocumentation

HTML/XML filesBitmaps & JPEGscgi, java scripts

RequirementsModelsTest scripts

Armin B. Cremers, Tobias Rho, Daniel Speicher & Holger Mügge (based on Bruegge & Dutoit) ObjectOriented Software Construction 15

Documentation cgi, java scripts Test scripts

Page 16: Chapter 17 Software Configuration Management · zSoftware Configuration Management manages evoli ft tlving software systems controls the costs involved in making changes to a system

Basic SCM-Approaches: General Scenario

Development-and

SCM-Tools

Developer

Files

RepositoryWorking Environment

Repository

Armin B. Cremers, Tobias Rho, Daniel Speicher & Holger Mügge (based on Bruegge & Dutoit) ObjectOriented Software Construction 16

Page 17: Chapter 17 Software Configuration Management · zSoftware Configuration Management manages evoli ft tlving software systems controls the costs involved in making changes to a system

SCM-Approach: "Vault Model"

Development-t ltools

Developer

WorkingEnvironment

Copies ofSource-Files

SCM-Tools

Developer

ProblemsDevelopment tools can not directly access the repository

Repository

Development tools can not directly access the repositorymany private versions outside the repositoryno central control of private copies by the SCM system(no global locking)

Armin B. Cremers, Tobias Rho, Daniel Speicher & Holger Mügge (based on Bruegge & Dutoit) ObjectOriented Software Construction 17

(no global locking)possible data loss by concurrent updates (lost changes)

Page 18: Chapter 17 Software Configuration Management · zSoftware Configuration Management manages evoli ft tlving software systems controls the costs involved in making changes to a system

SCM-Approaches: "Standard Repository"

Development-Tools

Developer ...API

IdeaAll development tools directly access the repository via a given interface

Repository

(API describes a "standard")Problems

All tools must be adapted to this standard

Armin B. Cremers, Tobias Rho, Daniel Speicher & Holger Mügge (based on Bruegge & Dutoit) ObjectOriented Software Construction 18

All tools must be adapted to this standard... every time the standard is modified / extended

Page 19: Chapter 17 Software Configuration Management · zSoftware Configuration Management manages evoli ft tlving software systems controls the costs involved in making changes to a system

SCM-Approach: "Virtual File System" (VFS)

Development- /

/

Developer

Tools/

...

VFS VFS

...

real file system

......

Idea

real file systemvirtuel file system

IdeaIntercept all I/O - operations of the operating system (open, read, write)and bypass them to the repository

Advantagestransparence, because the repository is shown as a regular directory tree

seamless integration with existing standard software

Armin B. Cremers, Tobias Rho, Daniel Speicher & Holger Mügge (based on Bruegge & Dutoit) ObjectOriented Software Construction 19

seamless integration with existing standard softwareuser does not have to change his mode of operation

Page 20: Chapter 17 Software Configuration Management · zSoftware Configuration Management manages evoli ft tlving software systems controls the costs involved in making changes to a system

ClearCase® Architecture

Applications with file accessApplications with file accessApplications with file accessApplications with file access

MultiversionFile System

File system of Windows / UNIXFile system of Windows / UNIXFile system of Windows / UNIXFile system of Windows / UNIXClearCase MVFSClearCase MVFSClearCase MVFSClearCase MVFS

ClearCase VOBClearCase VOBnonnon--versionedversioned

filesfiles

Armin B. Cremers, Tobias Rho, Daniel Speicher & Holger Mügge (based on Bruegge & Dutoit) ObjectOriented Software Construction 20

ClearCase VOBClearCase VOBfilesfiles

Page 21: Chapter 17 Software Configuration Management · zSoftware Configuration Management manages evoli ft tlving software systems controls the costs involved in making changes to a system

SCM: The Fundament of the Development Process

Analysis Design Implementation Test Maintenance

Software Configuration Management

V i C l B ild MVersion Control Build Management

Workspace Management Process Control

Armin B. Cremers, Tobias Rho, Daniel Speicher & Holger Mügge (based on Bruegge & Dutoit) ObjectOriented Software Construction 21

Page 22: Chapter 17 Software Configuration Management · zSoftware Configuration Management manages evoli ft tlving software systems controls the costs involved in making changes to a system

Workspace Management (1)

Setup and maintenance of a personal working environmentset of needed objects

Sources, Binaries, ...... for a certain task

bug fixing development of a new functionality or an extensionbug fixing, development of a new functionality or an extension

Approachesunconstrained:

no well-defined working environment neededhierarchical sub-environments:hierarchical sub-environments:

existing application areas can be copied and changed locallychange sets:

Original version of an object + set of changes of this objectrule-based environments:

needed objects are defined via rules

Armin B. Cremers, Tobias Rho, Daniel Speicher & Holger Mügge (based on Bruegge & Dutoit) ObjectOriented Software Construction 22

Page 23: Chapter 17 Software Configuration Management · zSoftware Configuration Management manages evoli ft tlving software systems controls the costs involved in making changes to a system

Workspace Management: Hierarchical Sub-Environments

Principlecopy - modify - merge child 4 = parent 2

parent 1

child 1 child 2 child 3 child 5 child 6child 1 child 2 child 3 child 5 child 6

Armin B. Cremers, Tobias Rho, Daniel Speicher & Holger Mügge (based on Bruegge & Dutoit) ObjectOriented Software Construction 23

Page 24: Chapter 17 Software Configuration Management · zSoftware Configuration Management manages evoli ft tlving software systems controls the costs involved in making changes to a system

Workspace Management: Change Sets

Grouping of changes that base on each othere.g. bug fixesoften used for the organization of on development lineat the end of a development process the cumulated changes are released as a new version (patch bundles service release / pack)as a new version (patch bundles, service release / pack)

Armin B. Cremers, Tobias Rho, Daniel Speicher & Holger Mügge (based on Bruegge & Dutoit) ObjectOriented Software Construction 24

Page 25: Chapter 17 Software Configuration Management · zSoftware Configuration Management manages evoli ft tlving software systems controls the costs involved in making changes to a system

SCM: The Fundament of the Development Process

Analysis Design Implementation Test Maintenance

Software Configuration Management

V i C l B ild MVersion Control Build Management

Workspace Management Process Control

Armin B. Cremers, Tobias Rho, Daniel Speicher & Holger Mügge (based on Bruegge & Dutoit) ObjectOriented Software Construction 25

Page 26: Chapter 17 Software Configuration Management · zSoftware Configuration Management manages evoli ft tlving software systems controls the costs involved in making changes to a system

Version Control (1): Branching

Branching Graph ModelRepresentation of the most arc.cimportant development lines and change sets

1

2

31

V1_maintenanceV1

new_gui bug=239

symbolic names for better comprehension and simpler references

3

7

2

3

1

2

bug=248

bug=267V1.1

every branch has additional administrative annotations

symbolic name

7

134

5

bug=268

bug=301V1.2

symbolic namereference to a branch pointcomments

18V2

...

Armin B. Cremers, Tobias Rho, Daniel Speicher & Holger Mügge (based on Bruegge & Dutoit) ObjectOriented Software Construction 26

Page 27: Chapter 17 Software Configuration Management · zSoftware Configuration Management manages evoli ft tlving software systems controls the costs involved in making changes to a system

Version Control (2): Merging

Problemmerging happens automatically,

...x=0

basis version

if shared acestor exists of two filesis known

...x=0

...x=1

...

Version A Version Bx=0...

x=1...

...?

Version A Version B

experimental resultsin approx. 90% of all cases the merging can is done without user

x=?...

pp % g ginteractionapprox. 1% of all merges was erroneous, most of these were detected becaus of syntax errorsbecaus of syntax errors

Armin B. Cremers, Tobias Rho, Daniel Speicher & Holger Mügge (based on Bruegge & Dutoit) ObjectOriented Software Construction 27

Page 28: Chapter 17 Software Configuration Management · zSoftware Configuration Management manages evoli ft tlving software systems controls the costs involved in making changes to a system

Versioning of folders

/usr/src/proj /usr/src/proj

gui_src gui_doc gui

schedulesrc doc

schedule

arc c zbuf c plan docarc.c zbuf.c plan.doc

arc.c zbuf.c plan.doc

Armin B. Cremers, Tobias Rho, Daniel Speicher & Holger Mügge (based on Bruegge & Dutoit) ObjectOriented Software Construction 28

Page 29: Chapter 17 Software Configuration Management · zSoftware Configuration Management manages evoli ft tlving software systems controls the costs involved in making changes to a system

Version Control (3): Possible Extensions

Labelssymbolic names arc.c arc.doc

(hyperlink)

design forAttributes

additional commentsH li k

1

2

3

change_req=218(attribute)

1

2

3

RLS1

RLS2

design_for

Hyperlinksrelationships

triggers

3

7

RLS1(label)

3 RLS2

triggers ECA-rules

Change Sets

7

Annotations (on code level)Namespaces...

Armin B. Cremers, Tobias Rho, Daniel Speicher & Holger Mügge (based on Bruegge & Dutoit) ObjectOriented Software Construction 29

Page 30: Chapter 17 Software Configuration Management · zSoftware Configuration Management manages evoli ft tlving software systems controls the costs involved in making changes to a system

SCM: The Fundament of the Development Process

Analysis Design Implementation Test Maintenance

Software Configuration Management

V i C l B ild MVersion Control Build Management

Workspace Management Process Control

Armin B. Cremers, Tobias Rho, Daniel Speicher & Holger Mügge (based on Bruegge & Dutoit) ObjectOriented Software Construction 30

Page 31: Chapter 17 Software Configuration Management · zSoftware Configuration Management manages evoli ft tlving software systems controls the costs involved in making changes to a system

Build Management (1)

Management of all information necessary for the reproducible creation of derived objects

necessary data:correct versions of all source files and other derived objectsnames and versions of all used tools all parameter adjustments

resulting properties of build managementderived objects can be used by different users at the same time (binary sharing)onl the essential operations for the creation of a deri ed object m st be carried o tonly the essential operations for the creation of a derived object must be carried out (minimal rebuilding)a bill-of-materials list can automatically created which lists all needed components

Armin B. Cremers, Tobias Rho, Daniel Speicher & Holger Mügge (based on Bruegge & Dutoit) ObjectOriented Software Construction 31

Page 32: Chapter 17 Software Configuration Management · zSoftware Configuration Management manages evoli ft tlving software systems controls the costs involved in making changes to a system

Build Management (2)

Problems with conventional toolsthe "normal" make tool does not support binary sharinginsufficient BOM list prevents binary sharing, because it can not be decided if really "everything" related to the object is identicalminimal rebuilding requires analysis of dependencies for which specializedminimal rebuilding requires analysis of dependencies for which specialized solutions (incremental compilers) exist, but no solution which can be generalized to an inhomogeneous build process

Solution in ClearCaseThe VFS tracks all I/O accesses by the compilers and other tools and y pthereby collects and logs all directly and indirectly referenced objects

clearmake is responsible for this taskclearmake is responsible for this taskintegrated into IDEs (e.g. Eclipse, WebSphere Studio)

Armin B. Cremers, Tobias Rho, Daniel Speicher & Holger Mügge (based on Bruegge & Dutoit) ObjectOriented Software Construction 32

Page 33: Chapter 17 Software Configuration Management · zSoftware Configuration Management manages evoli ft tlving software systems controls the costs involved in making changes to a system

SCM: The Fundament of the Development Process

Analysis Design Implementation Test Maintenance

Software Configuration Management

V i C l B ild MVersion Control Build Management

Workspace Management Process Control

Armin B. Cremers, Tobias Rho, Daniel Speicher & Holger Mügge (based on Bruegge & Dutoit) ObjectOriented Software Construction 33

Page 34: Chapter 17 Software Configuration Management · zSoftware Configuration Management manages evoli ft tlving software systems controls the costs involved in making changes to a system

Process Control

Development process encompasses analysis, design, implementation and maintenance of a software product

SCM is just a part of this processId tifi ti f blIdentification of problemsIsolation of Problems,Definition of proceduresCreation of time tablesOrganization of (automatic) testing

t f ft timeasurement of software properties

tools to automate the development processes: workflow managertools to automate the development processes: workflow manageraction-response conceptworking on a task may influence or start other tasks

Armin B. Cremers, Tobias Rho, Daniel Speicher & Holger Mügge (based on Bruegge & Dutoit) ObjectOriented Software Construction 34

Unified Change Management (Rational/IBM)

Page 35: Chapter 17 Software Configuration Management · zSoftware Configuration Management manages evoli ft tlving software systems controls the costs involved in making changes to a system

Summary

Software Configuration Management (SCM)Configuration Items, BaselinesgWhat goes under version control?Fundament of the Development Process

Version ControlWorkspace ManagementBuild ManagementBuild ManagementProcess Control

SCM Approaches

Armin B. Cremers, Tobias Rho, Daniel Speicher & Holger Mügge (based on Bruegge & Dutoit) ObjectOriented Software Construction 35

Page 36: Chapter 17 Software Configuration Management · zSoftware Configuration Management manages evoli ft tlving software systems controls the costs involved in making changes to a system

Spare

Armin B. Cremers, Tobias Rho, Daniel Speicher & Holger Mügge (based on Bruegge & Dutoit) ObjectOriented Software Construction 36

Page 37: Chapter 17 Software Configuration Management · zSoftware Configuration Management manages evoli ft tlving software systems controls the costs involved in making changes to a system

Subversion – Alternative for Version Control

Open-source tool for software versioning'real' rename, move, copy (in contrast to CVS)y ( )directories, renaming and file metadata is versionedatomic commitsrobust network layer (WebDAV DeltaV)based on DBMS (BerkleyDB) or file-based repositoryB h / t i t t tiBranches / tags in constant timeclean text / binary handlingconcept for user and access rightsconcept for user and access rights

Armin B. Cremers, Tobias Rho, Daniel Speicher & Holger Mügge (based on Bruegge & Dutoit) ObjectOriented Software Construction 37

Page 38: Chapter 17 Software Configuration Management · zSoftware Configuration Management manages evoli ft tlving software systems controls the costs involved in making changes to a system

Subversion Architeture for a VFS

Client Interface

gui client

cmd line client

dev toolsintegration

file systemintegration

Client Library

Client Interface

Repository Access

dav svn

ApacheInternet

R it I t f

Apachemod_dav

mod_dav_svnsvnservemod_svn

Subversion Repository

Repository Interface

Armin B. Cremers, Tobias Rho, Daniel Speicher & Holger Mügge (based on Bruegge & Dutoit) ObjectOriented Software Construction 38

Berkeley DB

Page 39: Chapter 17 Software Configuration Management · zSoftware Configuration Management manages evoli ft tlving software systems controls the costs involved in making changes to a system

VFS Open-Source SolutionApache + Subversion + WebDAVp

ClientsLinux: davfs2 file system driverWindows: Novell Netdrive

Branch/Versionsdi tl i ibldirectly visible

RestrictionsSynchronization of changesSy c o at o o c a gesOnly support for auto-versioningno view support

Armin B. Cremers, Tobias Rho, Daniel Speicher & Holger Mügge (based on Bruegge & Dutoit) ObjectOriented Software Construction 39

Page 40: Chapter 17 Software Configuration Management · zSoftware Configuration Management manages evoli ft tlving software systems controls the costs involved in making changes to a system

ClearCase Summary

ClearCase Pros Industrial strength Excellent merge toolsExcellent merge tools Good GUI on Windows Proven reliability Scales up wellScales up well

ClearCase Cons Heavyweight server and clientHeavyweight server and client Very steep learning curve for users All merges are server based

Merges over high latency links are slowg g yVery expensive Weak GUI on Unix platforms Server communication is RPC based so anything over a high latency link is slowy g g yHigh administration overhead

Armin B. Cremers, Tobias Rho, Daniel Speicher & Holger Mügge (based on Bruegge & Dutoit) ObjectOriented Software Construction 40

Page 41: Chapter 17 Software Configuration Management · zSoftware Configuration Management manages evoli ft tlving software systems controls the costs involved in making changes to a system

Subversion Summary

Subversion ProsWidespread IDE support ,editor and file system / tool integrations

Eclipse: http://www.polarion.org/index.php?page=overview&project=subversiveWindows Explorer: http://tortoisesvn.tigris.org/

lightweight server and client Quick learning curve for users (many similarities with cvs)Fast and efficient on the network

Flexible architectureFlexible architecture Low administration overhead

S b i CSubversion Cons Merge tracking is currently completely manual Weak support for checking out part of a repository (Views)pp g p p y ( )supports only version controlTransparent work on the repository is limitedN h i f d i d bj t

Armin B. Cremers, Tobias Rho, Daniel Speicher & Holger Mügge (based on Bruegge & Dutoit) ObjectOriented Software Construction 41

No sharing of derived objects


Recommended