Professional Documents
Culture Documents
Unit 5 - SE - Notes
Unit 5 - SE - Notes
Software Engineering[210253]
Prof. K. S. Mulani
Assistant Professor
Dept. Of Computer Engineering,
Sinhgad Institute of Technology, Lonavala
ksm.sit@sinhgad.edu
Cell. +91 7350020786
Unit 5 - Risks and Configuration Management
7
Risk Management
• Risk is an undesired event or circumstance that occur while
a project is underway
• Risk Management
• It includes
1)Project Risk
2)Technical Risk
3)Business Risk
4)Known Risk
5)Unpredictable Risk
6)Predictable Risk 5
Software Risk
• Project risk: Threaten the project plan and affect schedule
and resultant cost
• Technical risk: Threaten the quality and timeliness of
software to be produced
• Business risk: Threaten the viability of software to be
built
• Known risk: These risks can be recovered from careful
evaluation
• Predictable risk: Risks are identified by past project
experience
• Unpredictable risk: Risks that occur and may be difficult
to identify in advance.
6
Software Risk Management
1. Risk Identification
2. Risk Projection
3. Risk Refinement
7
Risk Identification
It concerned with identification of risk
Step1: Identify all possible risks
Step2: Create item check list
Step3: Categorize into risk components-Performance risk,
cost risk, support risk and schedule risk
Step4: Divide the risk into one of 4 categories
1. Negligible-0
2. Marginal-1
3. Critical-2
4. Catastrophic-3 (causing sudden and very great harm or
destruction)
8
Risk Identification
Risk Identification includes
• Product size
• Business impact
• Development environment
• Process definition
• Customer characteristics
• Technology to be built
• Staff size and experience
9
Risk Projection
• Also called risk estimation
• It estimates the impact of risk on the project
and the product
• Estimation is done by using Risk Table
• Risk projection addresses risk in 2 ways
• Likelihood or probability that the risk is
real(Li)
10
Risk Projection
• Steps in Risk projection
1) Project team begins by listing all risks in the first column of
the table. Accomplished with the help of the risk item
checklists.
Size estimate
may be
PS (project size) 60% 2
significantly
low
Larger no. of
users than PS 30% 3
planned
12
Risk Projection
Catastrophic-1
Critical-2
Marginal-3
Negligible-4
13
Risk Refinement
• Also called Risk assessment
14
Risk Refinement
15
Risk Mitigation Monitoring And Management (RMMM)
1)Risk Avoidance
3)Risk Management
16
Risk Mitigation Monitoring And Management (RMMM)
Risk Mitigation - Risk mitigation simply means to reduce
adverse effects and impact of risks that are harmful to project and
Business continuity.
Proactive planning for risk avoidance
• Risk Monitoring :
18
Risk Mitigation Monitoring And Management (RMMM)
Risk Management and planning :
- It assumes that the mitigation activity failed and the risk is a reality.
- This task is done by Project manager when risk becomes reality and
causes severe problems.
- This shows that the response that will be taken for each risk by a
manager.
- The main objective of the risk management plan is the risk register.
Requirements
Versioning
tracing
SCM Repository
Functions :
Data integrity
Dependency Configuration
Information sharing
tracking Tool integration management
Data integration
Methodology enforcement
Document standardization
Change Audit
management trails
28
The SCM Process
Primary Objectives of the SCM Process
29
SCM Tasks
Status reporting
Configuration auditing
Version control
Change control
Identification
SCI SCI
SCI
SCI
– Identification
– Change control
– Version control
– Configuration auditing
– Status reporting
• CSCIs flow outward through these layers during their life cycle
31
Identification Task
• Identification separately names each CSCI and then organizes it in the
SCM repository using an object-oriented approach
• Objects start out as basic objects and are then grouped into aggregate
objects
– The object realization (i.e., the document, the file, the model, etc.)
32
Change Control Task
• Change control is a procedural activity that ensures quality and consistency as changes are
made to a configuration object
• An engineering change order (ECO) is issued for each approved change request
– Describes the change to be made, the constraints to follow, and the criteria for review and audit
– Synchronization control helps to ensure that parallel changes performed by two different people
don't overwrite one another
33
Version Control Task
• Version control is a set of procedures and tools for managing the creation and use of multiple
occurrences of objects in the SCM repository
– 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
– Issues tracking (bug tracking) capability that enables the team to record and track the status of
all outstanding issues associated with each configuration object
– Captures all changes to all files in the configuration along with the reason for changes and
details of who made the changes and when 34
Configuration Auditing Task
• Configuration auditing is an SQA activity that helps to ensure that quality
is maintained as changes are made
• It complements the formal technical review and is conducted by the SQA
group
It addresses the following questions
– Has the change specified in the ECO been made? Have any additional
modifications been incorporated?
– Has a formal technical review been conducted to assess technical
correctness?
– Has the software process been followed, and have software
engineering standards been properly applied?
– Has the change been "highlighted" and "documented" in the CSCI?
Have the change data and change author been specified? Do the
attributes of the configuration object reflect the change?
– Have SCM procedures for noting the change, recording it, and
reporting it been followed? 35
Status Reporting Task
• Configuration status reporting (CSR) is also called status accounting
Dominant Issues
Many content creator have no SE background and are unaware of need of CM.
As a consequence, the application grows and changes in an uncontrolled
fashion.
Configuration Management For WebApp (Conti)
3. Scalability : As the size and complexity grows, small changes can have far-
reaching and unintended effects that can be problematic. Therefore, the rigor
(inflexibility) of configuration control mechanisms should be directly proportional to
application scale.
4. Politics : “Who owns the WebApp?” The answer to this question has a significant
impact on the management and control activities.
There are some questions which help to understand the politics associated with Web
Engineering:
3. The answers to these questions help determine the people within an organization
who must adopt a configuration management process for WebApp.
WebApp Configuration Objects
• WebApp encompasses a broad array of configuration objects : content objects
(text, audio, video), functional components (scripts, applets), and interface
objects (CORBA).
• WebApp objects can be identified in any manner but some conventions are
followed to ensure that cross-platform compatibility is maintained.
Conventions:
• URL references within a configuration object should use relative path (e.g.
../products/alarm.html).
• Content structure defines a content architecture; i.e, it defines the way in which
content objects are assembled.
CF Engine Configuration Tool
• CFEngine is an open-source configuration management tool that allows you
to automate the configuration and maintenance of large-scale IT
infrastructures.
• With this tool, you can easily create, edit, and manage policies, and monitor
their status across your entire IT infrastructure.
CF Engine Configuration Tool
• Policy management: The tool allows you to create, edit, and manage
policies, including creating policy templates and applying policies to specific
hosts or groups of hosts.
3.Idempotent operations: Puppet's operations are idempotent, meaning that they can
be repeated without changing the end result, making it easy to enforce the desired
configuration.
4.Puppet Forge: Puppet Forge is a repository of modules that can be used to extend
Puppet's functionality, making it easy to reuse and share code across different teams
and organizations.