Software Configuration Management
Software Configuration Management
• Basic concepts
• Relation between people and effort
• Defining task set for the software project
• Selecting software engineering task
• SOFTWARE CONFIGURATION MANAGEMENT
• Basics and standards
USER INTERFACE DESIGN
• Rules
COMPUTER AIDED SOFTWARE ENGINEERING TOOLS
• CASE building blocks
• Taxonomy of CASE tools
• Integrated CASE environment
Module VI 1
• SOFTWARE CONFIGURATION MANAGEMENT
• Basics and standards
• USER INTERFACE DESIGN
• Rules
SOFTWARE CONFIGURATION
MANAGEMENT 2
• Software Configuration management is the art of
identifying, organizing, and controlling modifications to
the software being built by a programming team.
Definition 3
Several problems occur if SCM is not done
• Inconsistency problem when the objects are replicated
• Problems associated with concurrent access
• Providing a stable development environment
• System accounting & maintaining status information
• Handling variants
Necessity of s/w
configuration management 4
• Consider a situation where every developer has
personal copy of an object
• When developer makes changes to his local copy, this
has to be intimated to other developers
• If changes made are not intimated to other developers,
different copies of the object becomes inconsistent
• When modules are integrated, they wont work
properly
Inconsistency 5
• Problems associated with concurrent access
concurrent access 6
• Providing a stable development environment
• When a project is underway, team members need a
stable environment to make progress
• Suppose a developer is trying to integrate module A,
with B and C
• Other developer is keep on changing C
• This creates problems
• Configuration management prevents this by freezing
the objects to form a baseline
stable development
environment 7
• A baseline is a reference point in the software development life
cycle marked by the completion and formal approval of a set of
predefined work products
• It is the status of all the objects under configuration control
• When any object under configuration control is changes, a
new base line is formed
• Changing the object under configuration control
• Developer is provided with a copy of baseline item
• Requester makes changes to this pvt copy
• After all modifications are made in this copy, the
configuration is updated & new baseline is created
• Baselines are archived periodically
• Last baseline can be recovered when there is a disaster
Baseline 8
• System accounting & maintaining status information
• System accounting denotes keeping track of who made a
particular change to an object & when the change was made
• Handling variants
• Existence of variants of a s/w pdt causes problems
• If there are several variants of the same module & a bug
exists in one of them
• This bug has to be fixed in all its variants
• For that we need not fix it in each variant separately
• Configuration management allows changes in one program
top be reflected in all versions
accounting &
maintaining status 9
• SCM has 2 activities
• Configuration identification
• Involves deciding which parts of the s/m should be
kept track of
• Configuration control
• Ensures that the changes to the s/m happen smoothly
SCM ACTIVITIES 10
• Project manager performs configuration management
activity using configuration management tools
• Functions
• Helps to keep track of various deliverables
• Project manager can quickly and unambiguously
determine the current state of the project
CONFIGURATION
• Enables the developer to change various components in
a controlled manner
MANAGEMENT
TOOL 11
• Project managers classify the deliverables of a project
into 3 categories
• Controlled
• Pre-controlled
• Uncontrolled
Configuration
identification 12
• Controlled object
• Those objects that are already under configuration control
• To change these objects, team members has to follow some
formal procedures
• Precontrolled objects
• They are not yet under the configuration control
• They eventually come under configuration control
• Uncontrolled objects
• They are not subject to configuration control
• Controllable objects include both controlled and pre-
controlled objects
Configuration
identification 13
• Configuration control allows only authorized
changes to the controlled objects and prevents
unauthorized changes
• It is a process of managing the changes to the
controlled objects
2.
CONFIGURATION
CONTROL 14
17
USER INTERFACE DESIGN
20
• User interface design creates an effective communication
medium between a human and a computer.
• Following a set of interface design principles, design
identifies interface objects and actions and then creates a
screen layout that forms the basis for a user interface
prototype.
• A software engineer designs the user interface by applying
an iterative process that draws on predefined design
principles.
INTRODUCTION 21
1. Place the user in control.
2. Reduce the user’s memory load.
3. Make the interface consistent.
Golden rules of UI
design 22
THANK YOU
23