Bcs501 Sepm Module 5 Notes New
Bcs501 Sepm Module 5 Notes New
MODULE-5
INTRODUCTION
Quality:
❖ Quality is generally agreed to be ‘a good thing’.
❖ In practice what people really mean by the ‘quality’ of a system can be vague,
undefinedattribute.
Objective assessment:
❖ We need to judge objectively whether a system meets our quality requirements and this need
measurement. It is Critical for package selection. For example.
✓ Delivering a high-quality product is one of the major objectives of all organizations.
Traditionally, the quality of a product means how much it fits into its specified purpose. A
productis of good quality if it performs according to the user’s requirements.
✓ Good quality software should meet all objectives defined in the SRS document. It is the
responsibility of the quality managers to ensure that the software attains the required level
of quality.
❖ Waiting until the system is complete to measure quality is too late.During development, it's
important to:
✓ Assess the likely quality of the final system.
✓ Ensure development methods will produce the desired quality.Potential customers, like
Amanda at IOE, might focus on:
➢ Checking if suppliers use the best development methods.
➢ Ensuring these methods will lead to the required quality in the final system.
THE PLACE OF SOFTWARE QUALITY IN PROJECT PLANNING
❖ Quality will be of concern at all stages of project planning and execution but will be of
particular interest to the Stepwise framework.
1. Step 1: Identifying project scope and objectives. : - S o m e objectives could relate to
the quality of theapplication to be delivered.
2. Step 2: Identifying project infrastructure: - Within this step activity 2. involves identifying
installationstandards and procedures. Some of these will almost certainly be about quality
requirements.
3. Step 3: Analyze project characteristics: - I n this activity the application to be
implemented will beexamined to see if it has any special quality requirements.
Example: - Safety-critical applications might require additional activities such as
n-version development, where multiple teams develop versions of the same software to
cross-check outputs.
4. Step 4: Identify the product and activities of the project: - It is at that point that the
entry, exit and process requirements are identified for each activity.
5. Step 5: Review and publicize plan: - At this stage the overall quality aspects of the project
plan are reviewed.
pg. 1
SOFTWARE ENGINEERING AND PROJECT MANAGEMENT – BCS501
pg. 3
SOFTWARE ENGINEERING AND PROJECT MANAGEMENT – BCS501
Target Range
❖ Planned Range: The range of values within which it is planned that the quality measurement
value should lie.
Current Value
❖ Now: The value that applies currently to the quality characteristic.
Measurements Applicable to Quality Characteristics in Software
❖ When assessing quality characteristics in software, multiple measurements may be
applicable. E xample, in the case of reliability, measurements could include:
Availability:
Definition: Percentage of a particular time interval that a system is usable.
Scale: Percentage (%).
Test: Measure the system's uptime versus downtime over a specified period.
➢ Minimally Acceptable: Typically, high availability is desirable, specifics depend
on system requirements.
➢ Target Range: E.g., 99.9% uptime.
Mean Time Between Failures (MTBF):
Definition: Total service time divided by the number of failures.
Scale: Time (e.g., hours, days).
Test: Calculate the average time elapsed between system failures.
➢ Minimally Acceptable: Longer MTBF indicates higher reliability, minimum
varies by systemcriticality.
➢ Target Range: E.g., MTBF of 10,000 hours.
Failure on Demand:
Definition: Probability that a system will not be available when required, or probability that
atransaction will fail.
Scale: Probability (0 to 1).
Test: Evaluate the system's response to demand or transaction processing.
➢ Minimally Acceptable: Lower probability of failure is desired; varies by system
criticality.
➢ Target Range: E.g., Failure on demand probability of less than 0.01.
Support Activity:
Definition: Number of fault reports generated and processed.
Scale: Count (number of reports).
Test: Track and analyze the volume and resolution time of fault reports.
➢ Minimally Acceptable: Lower number of fault reports indicates better reliability.
➢ Target Range: E.g., Less than 10 fault reports per month.
Maintainability and Related Qualities:
❖ Maintainability: How quickly a fault can be corrected once detected.
❖ Changeability: Ease with which software can be modified.
❖ Analyzability: Ease with which causes of failure can be identified, contributing to
maintainability. These measurements help quantify and assess the reliability and
pg. 4
SOFTWARE ENGINEERING AND PROJECT MANAGEMENT – BCS501
2) Dromey’s model: Dromey proposed that software product quality depends on four major high-
levelproperties of the software Correctness, internal characteristics, contextual characteristics
and certaindescriptive properties. Each of these high-level properties of a software product, in
turn, depends on several lower-level quality attributes. Dromey’s hierarchical quality model is
shown in Fig 13.2
3) Boehm’s Model: Boehm’s suggested that the quality of a software can be defined based on
these high-level characteristics that are important for the users of the software. These three high-
level characteristics are the following:
✓ As-is -utility: How well (easily, reliably and efficiently) can it be used?
✓ Maintainability: How easy is to understand, modify and then retest the software?
Portability: How difficult would it be to make the software in a changed
environment?
❖ Boehm’s expressed these high-level product quality attributes in terms of several
measurable product attributes. Boehm’s hierarchical quality model is shown below figure.
pg. 6
SOFTWARE ENGINEERING AND PROJECT MANAGEMENT – BCS501
pg. 7
SOFTWARE ENGINEERING AND PROJECT MANAGEMENT – BCS501
2. Process Metrics:
Purpose: Measure the effectiveness and efficiency of the development process itself.
Examples:
Review Effectiveness: Measures how thorough and effective code reviews are in finding
defects.
Defect Metrics: Average number of defects found per hour of inspection, average time taken
to correct defects, and average number of failures detected during testing per line of code.
Productivity Metrics: Measures the efficiency of the development team in terms of output
per unit of effort or time.
Quality Metrics: Such as the number of latent defects per line of code, which indicates the
robustness of the software after development.
Differences:
➢ Focus: Product metrics focus on the characteristics of the software being built (size,
effort, time), while process metrics focus on how well the development process is
performing (effectiveness, efficiency, quality).
➢ Use: Product metrics are used to gauge the attributes of the final software product,
aiding in planning, estimation, and evaluation. Process metrics help in assessing and
improving the development process itself, aiming to enhance quality, efficiency, and
productivity.
➢ Application: Product metrics are typically applied during and after development
phases to assess the product's progress and quality. Process metrics are applied
throughout the development lifecycle to monitor and improve the development
process continuously.
❖ By employing both types of metrics effectively, software development teams can better
manage projects,optimize processes, and deliver high-quality software products that meet
user expectations.
3. Benefits:
➢ Provides clear benchmarks for evaluating the success of the software development
project.
➢ Facilitates comparisons with user requirements and industry standards.
➢ Helps in identifying areas for improvement in subsequent software versions or projects.
4. Challenges:
➢ Predicting final product quality based on intermediate stages (like early code
modules orprototypes) can be challenging.
➢ Metrics may not always capture the full complexity or performance of the final integrated
product.
Process Quality Management
❖ Process quality management focuses on assessing and improving the quality of the
development processes used to create the software. This approach aims to reduce errors
and improve efficiency throughout the development lifecycle.
Aspects:
1. Measurement Focus: Emphasizes metrics related to the development processes themselves,
such as defect detection rates during inspections, rework effort, productivity (e.g., lines of code
produced per hour), and adherence to defined standards and procedures.
2. Evaluation Timing: Process quality metrics are monitored continuously throughout the
development life cycle, from initial planning through to deployment and maintenance.
3. Benefits:
➢ Helps in identifying and correcting errors early in the development process, reducing the
cost andeffort of rework.
➢ Facilitates continuous improvement of development practices, leading to higher overall
quality insoftware products.
➢ Provides insights into the effectiveness of development methodologies and practices used
by theteam.
4. Challenges:
➢ Requires consistent monitoring and analysis of metrics throughout the development
lifecycle.
➢ Effectiveness of process improvements may not always translate directly into improved
product quality without careful management and integration.
Integration and Synergy
➢ While product and process quality management approaches have distinct focuses, they
arecomplementary.
➢ Effective software development teams often integrate both approaches to achieve optimal
results.
➢ By improving process quality, teams can enhance product quality metrics, leading
to morereliable, efficient, and user-friendly software products.
pg. 9
SOFTWARE ENGINEERING AND PROJECT MANAGEMENT – BCS501
Observations on Estimation
❖ Estimation need not be a one-time task in a project. It can take organize during
✓ Acquiring a Project.
✓ Planning the Project.
✓ Execution of the Project as the need arises.
❖ Project scope must be understood before the estimation process begins. It will be helpful to
have historical Project Data.
❖ Project metrics can provide a historical perspective and valuable input for generation of
quantitative estimates.
❖ Planning requires technical managers and the software team to make an initial commitment
as it leads to responsibility and accountability.
❖ Experience can aid greatly.
❖ Use at least two estimation techniques to arrive at the estimates and reconcile the resulting
values. Refer Decomposition Techniques in the next section to learn about reconciling
estimates.
❖ Plans should be iterative and allow adjustments as time passes and more details are known.
pg. 10
SOFTWARE ENGINEERING AND PROJECT MANAGEMENT – BCS501
Decomposition Technique
❖ Is a General Project Estimation Approach
❖ Decomposition techniques take a divide and conquer approach. Size, Effort and Cost
estimation are performed in a stepwise manner by breaking down a Project into
major Functions or related Software Engineering Activities.
Step 1
❖ Understand the scope of the software to be built.
Step 2
❖ Generate an estimate of the software size.
Start with the statement of scope.
Decompose the software into functions that can each be estimated individually.
Calculate the size of each function.
Derive effort and cost estimates by applying the size values to your baseline
productivity metrics.
Combine function estimates to produce an overall estimate for the entire project.
Step 3
❖ Generate an estimate of the effort and cost. You can arrive at the effort and cost
estimates by breaking down a project into related software engineering activities.
Identify the sequence of activities that need to be performed for the project to be
completed.
Divide activities into tasks that can be measured.
Estimate the effort (in person hours/days) required to complete each task.
Combine effort estimates of tasks of activity to produce an estimate for the activity.
Obtain cost units (i.e., cost/unit effort) for each activity from the database.
Compute the total effort and cost for each activity.
Combine effort and cost estimates for each activity to produce an overall effort and cost
estimate for the entire project.
Step 4
❖ Reconcile estimates: Compare the resulting values from Step 3 to those obtained from
Step 2. If both sets of estimates agree, then your numbers are highly reliable. Otherwise,
if widely divergent estimates occur conduct further investigation concerning whether
The scope of the project is not adequately understood or has been misinterpreted.
The function and/or activity breakdown is not accurate.
Historical data used for the estimation techniques is inappropriate for the application, or
obsolete, or has been misapplied.
Step 5
❖ Determine the cause of divergence and then reconcile the estimates.
pg. 11
SOFTWARE ENGINEERING AND PROJECT MANAGEMENT – BCS501
pg. 12