Documente Academic
Documente Profesional
Documente Cultură
CM Adoption Issues
1. User roles (programmer, managers, tester,...) 2. Integration (process, toolset, database) 3. When to start using CM (before, during, after) 4. Control level (loose - tight) 5. Process and product 6. Automation level (manual - automatic) 7. System functionality (spectrum of concepts)
3
CM Requirements
CONSTRUCTION Building TEAM Snapshots Optimization Change impact analysis Regeneration AUDITING History Traceability Logging Lifecycle support Task management Communication Documentation Access control Change requests Bug tracking Change propagation Partitioning CONTROLLING Workspaces Conflict resolution Families Versions Configurations Versions of configurations Baselines Project Contexts Repository Kinds of components COMPONENTS STRUCTURE System model Interfaces Relationships Selection Consistency
PROCESS
CM Spectrum
Context Management Lifecycle Model
CCC* PowerFrame*
Transaction
NSE*
Distributed Component
Sherpa DMS*
Transparent View
SMS*
Change Request
LIFESPAN*
Workspace
shape*
Repository
RCS*
System Modelling
Jasmine*
Object Pool
DSEE*
Attribution
Adele*
Contract
ISTAR*
Change Set
ADC*
Subsystem
Rational*
Consistency Maintenance
CMA*
Concepts categories
Component
Repository Distributed component
Structure, Construction
Change set System modelling Subsystem Object pool Attribution Consistency maintenance
Team
Workspace Transparent view Transaction
Process
Context management Contract Change request Lifecycle model
10
The Future - 3
Process issues: Defining, implementing, using, monitoring Matching CM system with process Roles
11
The Future - 4
Political issues: Standardization: frameworks e.g., PSEWG Government requirement of process maturity level 3
12
The Future - 5
Managerial issues: Management buy-in Commitment of resources Evaluation of CM capabilities Buy vs. build inhouse decision Technology transition
13
CM Services Model
Addresses many of the issues: Technology: client/server technology Process: grouping, tailoring services per process Standardization: standard services Managerial: forecasting of costs of services
14
15
CM Services Model
Conceptual framework for a set of well-defined services Service = an abstraction representing a particular functionality Well-defined: semantics, interface, properties are understood enough framework reference models implemented, albeit different mechanisms
16
Rationale
Takes into account the marketplaces need to apportion and distribute functionality Parts of CM solutions distributed throughout tools Portions = building blocks Services: plug in/plug out functionality
17
Usage
Pick & tailor service re role for a process Implement and integrate Tie together process models and user roles: services independent of role and process
18
Sources of Services;
Surveying concepts in CM systems -> implementable Determining how CM systems combine concepts to address particular needs Evaluating how to use various CM systems Examining market literature for CM requirements Recognizing roles that need to be supported Analysing user experience in building & customizing
19
20
Research-2
Distinguish between: specification (definition) & instance (usage) service & mechanism Define architecture: effect of service tailoring of service usage process interface to service (integration) groupings/views meets which requirements (mgt vs. eng) various implementations how service span implementations complete list of services
21
Research-3
Experiment: find services from extant implement some services integrate some services
22
Questions
How to pick terminology? What is service criteria? What categories for grouping services? requirements based? role based? benefit based? What levels of abstraction for services? decompose services? What is similar work? ISO Reference model HP OO models what is a good model & definition of one?
23
Examples of Services
CM repository: centralized db (PCTE) disjoint db (RCS) distributed db (Sherpa) source object System modelling (Jasmine) System model querying (Jasmine) System build (Jasmine) Derived object management (DSEE)
24
Services-2
Version binding (Jasmine) Version selection description(Adele, DSEE, Jasmine) Change boundary (Rational) Change management lifecycle (LIFESPAN) normal emergency fix (CCC) Audit trail Manual (vs. automated) service Workspace
25
Services-3
Transaction Interoperability CM system Change control board CM plan Role filtering Snapshot Space optimization (delta, virtual copy, link) Change impact analysis
26
Services-4
Regeneration: code (source, intermediate, object) context (pathname, workspace, tools) Relationship (Adele) Consistency management (CMA, Adele) Merging (NSE) Conflict resolution (NSE) Version identification Configuration identification
27
Services-5
Release identification Project context (PowerFrame) Family identification (Jasmine, Adele) Access control Change request Change propagation (ADC) Change set (ADC) Contract (ISTAR)
28
Services-6
Communication Notification Process definition Traceability Logging Statistics gathering Report generation Status indication
29
Services-7
Attribution User assignment
30
Conclusion
What is the CM boundary? e.g., traceability When is a problem not a CM problem? e.g., creating a new slide presentation When is a solution not a CM solution? e.g., transaction, attribution, lifecycle model What part of the software engineering problem is CM? e.g, team, process, integration, reference models
31