Escolar Documentos
Profissional Documentos
Cultura Documentos
other documents
Causes of Change
j Evolutionary changes the system evolves as it passes through various stages in the development cycle j Revolutionary changes such change is caused by the system being unable to satisfy the users requirements or the customers or producers expectations
development
j Errors are found and need correction j Variants are needed
Problems of Change
Which component ? Which version ?
j Double (or multiple) maintenance j Updates to shared data j Simultaneous update
SCM Functions
j Identification of software items and products j Definition of Baselines j Access controls j Progressing defect reports j Progressing change requests j Recording item status j Controlling releases (versions and variants) j Reporting
SCM Tasks
j Configuration identification j Configuration control j Status accounting j Configuration audit
Management plans Specifications (requirements, design) User documentation Test design, case and procedure specifications Test data and test generation procedures Data dictionaries and databases Source code, executable code Libraries Maintenance documentation Support software
programs
documents
12
SCIs
13
Baselines
j The IEEE (IEEE Std. No. 610.12-1990)
of software that is marked by the delivery of one or more software configuration items and the approval of these SCIs that is obtained through a formal technical review
15
Typical Baselines
Phase Feasibility study Requirements defn. SRS, Interface spec. Detailed design Source and Object code User manuals Test documents Installation Baseline
Functional baseline Allocated baseline Design baseline
Baselines
j Baselines serve as the basis for further
development
j Baselines can be changed only through
obtained through a formal technical review are accepted into the baseline.
Configuration Identification
j Identify what the different baselines will
consist of
j Set labelling and identification conventions
Basic CI information
j Item identity j Baseline to which it belongs j Relationships to other items j Version j Variant
SCM Terminology
Version
A SW CI having a defined set of functional capabilities.
Revisions
changes to a version to correct only errors in design logic but does not affect documented functional capabilities since none of the requirements have changed.
Variants
a variation of a version developed to run on different types of HW, or to provide slightly different facilities for different users.
Examples
successive versions 1.1 1.2 1.3 1.4
1.1
1.2
1.3
1.4
Merging
j Two diverging versions may be merged to
SCM Terminology
Promotion of a CI
A CI may be promoted from one developmental baseline to another to signify a change in a CIs internal development state.
Release
A Release is used to designate certain promotions of CIs that are distributed outside the development organization.
Configuration Control
j Enforces a rigorous change control
mechanism
j Requires formal procedures to request changes carry out impact analysis approve changes carry out changes
SCM Elements
j Component elementsa set of tools coupled within a file
management system (e.g., a database) that enables access to and management of each software configuration item. j Process elementsa collection of procedures and tasks that define an effective approach to change management (and related activities) for all constituencies involved in the management, engineering and use of computer software. j Construction elementsa set of tools that automate the construction of software by ensuring that the proper set of validated components (i.e., the correct version) have been assembled. j Human elementsto implement effective SCM, the software team uses a set of tools and process features (encompassing other CM elements)
. 25
impact analysis j Approval by Change Control Board j Engineering Change Order (ECO) is generated stating changes to be made criteria for reviewing the changed CI j CIs checked out j Changes made and reviewed j CIs checked in
customer, producer.
j Responsibilities:
to approve, monitor and control baselines to approve, monitor, and control changes to authorise changes j CCB concerns in change approval
technically ok solution, cost, schedule, configuration of the whole system, user satisfaction
29
30
31
Version Control
j Version control combines procedures and tools to manage different
versions of configuration objects that are created during the software process j A version control system implements or is directly integrated with four major capabilities: a project database (repository) that stores all relevant configuration objects a version management capability that stores all versions of a configuration object (or enables any version to be constructed using differences from past versions); a make facility that enables the software engineer to collect all relevant configuration objects and construct a specific version of the software. an issues tracking (also called bug tracking) capability that enables the team to record and track the status of all outstanding issues associated with each configuration object.
32
Software Libraries
j SW libraries provide the means for
implementing SCM
j The number and kind of libraries will
Vn version
changes
Vn version
first version
Vn+1 version
Vn+1 version
changes
Vn version
recent version
Vn version
Status Accounting
j provides a mechanism for administrative
the status of proposed changes the status of approved changes the baselines and the approved changes associated with each baseline the date when each revision of each CI was recorded deficiencies identified by configuration audit
Configuration Audit
j A configuration audit establishes that
product integrity has been maintained and that changes have taken place in an orderly and controlled manner.
j Audit of the SW product j Audit of SCM activities
Auditing
Change Requests SCIs SQA Plan
SCM Audit
40
Status Accounting
Change Requests SCIs Change Reports ECOs
SCM Plan
The SCM Plan is prepared in Project Initiation phase. It documents - what SCM activities are to be done - how they are to be done - who is responsible for doing specific activities - when they are to happen - what resources are required
SCM Tools
Common features of popular PC-based tools (PVCS, MS Visual SourceSafe):
j Support for controlling all types of files
(source code as well as binary) j Managing changes as deltas j Supporting branching and merging j Identifying and re-creating releases j Providing a project view
products j Large installed base j A fairly rich feature set j Interfaces with other third party tools j Gateways to mainframe-based library management systems j Comprehensive security