Sei sulla pagina 1di 31

Question 28.

8
Give two advantages and disadvantages of
the approach to process assessment and
improvement that is embodied in the process
improvement frameworks such as the CMMI.

Answer 28.8
Advantages of process improvement
frameworks
1-) Provides a means of measuring the state of
a process and a structured approach to
introducing process improvements.
2-) Useful as a way of building on the
experience of others in process improvement.

Answer 28.8
Disadvantages of process improvement
frameworks
1-) Like any measurement system, there is a
tendency to introduce improvements to
improve the measured rating rather than
concentrate on improvements that meet real
business goals.
2-) Expensive and bureaucratic to operate. Not
suitable for agile approaches.

CHAPTER 29
Configuration Management(CM)

Pre Info
Requirements always change during
development and use.
It is a must to incorporate these requirments
into new versions.
Thats why you need to manage evolving
systems because it is easy to lose track of
what changes have been done.

Pre Info
Versions incorporate proposals for;
Change
Corrections of faults
Adaptations for different hardware and
operating systems.

What is CM?
Configuration management is the
development and use of standards and
procedures for managing an evolving software
system.

What does CM do?


Define how to record and process proposed
system changes
Identify different versions of the system.
Store versions of the system components

What if you dont have CM!!


modify wrong version of a system
Deliver wrong version
Lose track

System Families
HP
version

Desktop
version
Windows XP
version

Initial
sy stem

Server
version

PC version
Linux
version
Sun
version

Configuration Management Planning


Describes the standards and procedures that
should be used for configuration
management.

Configuration Management Planning


It is organised into a number of sections as
follows;
1-Define what is to be managed.
2-Set out who is responsible
3-Defines policies for change control and version
management.
4- Describes the tools which should be used to
assist the CM process(CVS version management)
5-Defines the CM database used to record
configuration information.

Configuration Item Identification


In large systems there may be thousands of
source code modules
Test scripts
Design documents
They are created by different people with
identical names

Configuration Item Identification


To keep track of all this information so that the
right file can be found when it is needed.
Thats why you need a consistent
identification scheme.
Exp. PCL-TOOLS/EDIT/FORMS/DISPLAY/AST-INTERFACE/CODE

Configuration hierarchy
PCL-TOOLS

COMPILE

BIND

FORM

FORM-SPECS

EDIT

MAKE-GEN

STRUCTURES

HELP

DISP LAY

QUERY

AST-INTERFACE

FORM-IO

OBJECTS

CODE

TESTS

Configuration Database
Is used to record all relevant information
about system configurations and configuration
items.
It also keeps data to answer such questions as
follows;

Configuration Database
1-Which customers have taken delivery of particular
version of the system?
2-What hardware and operating system configuration
is requried to run a given system version?
3-How many versions of a system have been created
and what were their creation dates?
4-What versions of a system might be affected if a
particular component is changed?
5-How many change requests are outstanding on a
particular version?
6-How many reported faults exist in a particular
version?

Change Management
Software systems are subject to continual
change requests:
From users;
From developers;
From market forces.

Change management is concerned with


keeping track of these changes and ensuring
that they are implemented in the most costeffective way.

The change management process


Request change by completing a change request form
Analyze change request
if change is validthen
Assess how change might be implemented
Assess change cost
Submit request to change control board
if change is acceptedthen
repeat
make changes to software
submit changed software for quality approval
until software quality is adequate
create new system version
else
reject change request
else
reject change request

Change request form


Change Request Form
Project: Proteus/PCL-Tools
Number: 23/02
Change requester: I. Sommerville
Date: 1/12/02
Requested change:
When a component is selected from the structure, display
the name of the file where it is stored.
Change analyser: G. Dean
Analysis date: 10/12/02
Components affected: Display-Icon.Select, Display-Icon.Display
Associated components: FileTable
Change assessment: Relatively simple to implement as a file name table is
available. Requires the design and implementation ofa display field. No changes
to associated components are required.
Change priority: Low
Change implementation:
Estimated effort: 0.5 days
Date to CCB: 15/12/02
CCB decision date: 1/2/03
CCB decision: Accept change. Change to be implemented in Release 2.1.
Change implementor:
Date of change:
Date submitted to Q A:
Q A decision:
Date submitted to CM:
Comments

Version and Release Management


The goals are
Identify versions
Keep track of the versions

What is version of a system?


Version is an instance of a system which differs the
current instance from others.
Versions of a system occurs from different reasons.
different functionality
Improved performance
Repaired faults
Designed from different hardware or software
configurations

Version Identification
In large system, there are hundreds of software
components, can exists in different versions.
That is why we need identification...
3 types;
Version numbering
Attribute-based identification
Change-oriented identification

Version numbering
A version number is added to the component
or system name.
Example;
1.0
1.1
2.1.1

Version derivation Structure

Attribute-based identification
This type includes identifying attributes;
Customer
Development language
Hardware platform
Creation date
Example: AC3D(language=Java,platform =XP,
date=Jan2003)

Change-oriented identification
To retrieve a version, you need to discover the
relationships between versions and changes.

Release Management
System release managers are responsible of;
Deciding when the system can be released to
customers
Process of creating the release
Distribution media (CD..)
Documenting the release

Release Management
A system release is not just the executable code
of the system. The release includes more;
Configuration files
Data files
An installation program
Electronic and paper documentation

Release Decision Making


If releases are too frequent
Customers may not upgrade to new release
If releases are infrequent
Market share can decrease
These are not for custom softwares
For those, infrequent release may mean
increasing divergence from its functionalities

Factors influencing system release


strategy
Facto r

Description

Techn ical quality of


the system

If serious system faults are reported which affect the way in which
many customers use the system, it may be necessary to issue a fault
repair release. Howeve r, minor system faults may be repaired by issuing
patches (often d istributed over the Internet) that can be applied to the
current release of the system.

Platform change s

You may have to create a new release of a software application when a


new version of the operating system platform is released.

Lehmans fifth law


(see Chapter 21)

This sugge sts that the increment of functionality that is included in each
release is approximately constant. Therefore, if there has been a system
release with significant new functionality, then it may have to be
followed by a repair release.

Competition

A new system release may be n ecessary because a co mpeting p roduct is


available.

Marketing
requirements

The marketing d epartment of an organisation may have made a


commitment for releases to be available at a particular date.

Customer chang e
proposals

For customised systems, customers may have made and paid for a
specific set of system change proposals and they expect a system release
as soon as these have been implemented.

Potrebbero piacerti anche