Software Engineering Ch22
-
Upload
harshita-gopu -
Category
Documents
-
view
212 -
download
0
description
Transcript of Software Engineering Ch22
-
3/18/20093/18/2009 S.Sreenivasa RaoS.Sreenivasa Rao 11
Chapter 22Chapter 22Process and Project MetricsProcess and Project Metrics
-
3/18/20093/18/2009 S.Sreenivasa RaoS.Sreenivasa Rao 22
A Good Manager MeasuresA Good Manager Measures
measurementmeasurement
What do weWhat do weuse as ause as abasis?basis? size?size? function?function?
project metricsproject metrics
process metricsprocess metricsprocessprocess
productproduct
product metricsproduct metrics
-
3/18/20093/18/2009 S.Sreenivasa RaoS.Sreenivasa Rao 33
Why Do We Measure?Why Do We Measure?
assess the status of an ongoing project track potential risks uncover problem areas before they go critical, adjust work flow or tasks, evaluate the project teams ability to control
quality of software work products.
-
3/18/20093/18/2009 S.Sreenivasa RaoS.Sreenivasa Rao 44
Process Measurement
We measure the efficacy of a software process We measure the efficacy of a software process indirectly. indirectly. That is, we derive a set of metrics based on the outcomes that That is, we derive a set of metrics based on the outcomes that
can be derived from the process. can be derived from the process. Outcomes include Outcomes include measures of errors uncovered before release of the softwaremeasures of errors uncovered before release of the software defects delivered to and reported by enddefects delivered to and reported by end--usersusers work products delivered (productivity)work products delivered (productivity) human effort expendedhuman effort expended calendar time expendedcalendar time expended schedule conformanceschedule conformance other measures.other measures.
We also derive process metrics by measuring the We also derive process metrics by measuring the characteristics of specific software engineering tasks. characteristics of specific software engineering tasks.
-
3/18/20093/18/2009 S.Sreenivasa RaoS.Sreenivasa Rao 55
Process Metrics Guidelines Use common sense and organizational sensitivity when Use common sense and organizational sensitivity when
interpreting metrics data.interpreting metrics data. Provide regular feedback to the individuals and teams who Provide regular feedback to the individuals and teams who
collect measures and metrics.collect measures and metrics. DonDont use metrics to appraise individuals.t use metrics to appraise individuals. Work with practitioners and teams to set clear goals and Work with practitioners and teams to set clear goals and
metrics that will be used to achieve them.metrics that will be used to achieve them. Never use metrics to threaten individuals or teams.Never use metrics to threaten individuals or teams. Metrics data that indicate a problem area should not be Metrics data that indicate a problem area should not be
considered considered negative.negative. These data are merely an indicator These data are merely an indicator for process improvement.for process improvement.
DonDont obsess on a single metric to the exclusion of other t obsess on a single metric to the exclusion of other important metrics.important metrics.
-
3/18/20093/18/2009 S.Sreenivasa RaoS.Sreenivasa Rao 66
Software Process Improvement
SPI
Process model
Improvement goals
Process metrics
Process improvementrecommendations
-
3/18/20093/18/2009 S.Sreenivasa RaoS.Sreenivasa Rao 77
Process MetricsProcess Metrics QualityQuality--relatedrelated
focus on quality of work products and deliverablesfocus on quality of work products and deliverables ProductivityProductivity--relatedrelated
Production of workProduction of work--products related to effort expendedproducts related to effort expended Statistical SQA dataStatistical SQA data
error categorization & analysiserror categorization & analysis Defect removal efficiencyDefect removal efficiency
propagation of errors from process activity to activitypropagation of errors from process activity to activity Reuse dataReuse data
The number of components produced and their degree of The number of components produced and their degree of reusabilityreusability
-
3/18/20093/18/2009 S.Sreenivasa RaoS.Sreenivasa Rao 88
Project Metrics used to minimize the development schedule by making the used to minimize the development schedule by making the
adjustments necessary to avoid delays and mitigate potential proadjustments necessary to avoid delays and mitigate potential problems blems and risksand risks
used to assess product quality on an ongoing basis and, when used to assess product quality on an ongoing basis and, when necessary, modify the technical approach to improve quality.necessary, modify the technical approach to improve quality.
every project should measure:every project should measure: inputsinputsmeasures of the resources (e.g., people, tools) required to do tmeasures of the resources (e.g., people, tools) required to do the he
work.work. outputsoutputsmeasures of the deliverables or work products created during themeasures of the deliverables or work products created during the
software engineering process.software engineering process. resultsresultsmeasures that indicate the effectiveness of the deliverables.measures that indicate the effectiveness of the deliverables.
-
3/18/20093/18/2009 S.Sreenivasa RaoS.Sreenivasa Rao 99
Typical Project MetricsTypical Project Metrics
Effort/time per software engineering taskEffort/time per software engineering task Errors uncovered per review hourErrors uncovered per review hour Scheduled vs. actual milestone datesScheduled vs. actual milestone dates Changes (number) and their characteristicsChanges (number) and their characteristics Distribution of effort on software engineering Distribution of effort on software engineering
taskstasks
-
3/18/20093/18/2009 S.Sreenivasa RaoS.Sreenivasa Rao 1010
Metrics GuidelinesMetrics Guidelines Use common sense and organizational sensitivity when Use common sense and organizational sensitivity when
interpreting metrics data.interpreting metrics data. Provide regular feedback to the individuals and teams who Provide regular feedback to the individuals and teams who
have worked to collect measures and metrics.have worked to collect measures and metrics. DonDont use metrics to appraise individuals.t use metrics to appraise individuals. Work with practitioners and teams to set clear goals and Work with practitioners and teams to set clear goals and
metrics that will be used to achieve them.metrics that will be used to achieve them. Never use metrics to threaten individuals or teams.Never use metrics to threaten individuals or teams. Metrics data that indicate a problem area should not be Metrics data that indicate a problem area should not be
considered considered negative.negative. These data are merely an indicator These data are merely an indicator for process improvement.for process improvement.
DonDont obsess on a single metric to the exclusion of other t obsess on a single metric to the exclusion of other important metrics.important metrics.
-
3/18/20093/18/2009 S.Sreenivasa RaoS.Sreenivasa Rao 1111
Typical SizeTypical Size--Oriented MetricsOriented Metrics errors per KLOC (thousand lines of code)errors per KLOC (thousand lines of code) defects per KLOCdefects per KLOC $ per LOC$ per LOC pages of documentation per KLOCpages of documentation per KLOC errors per personerrors per person--monthmonth Errors per review hourErrors per review hour LOC per personLOC per person--monthmonth $ per page of documentation$ per page of documentation
-
3/18/20093/18/2009 S.Sreenivasa RaoS.Sreenivasa Rao 1212
Typical FunctionTypical Function--Oriented MetricsOriented Metrics
errors per FP (thousand lines of errors per FP (thousand lines of code)code) defects per FPdefects per FP $ per FP$ per FP pages of documentation per FPpages of documentation per FP FP per personFP per person--monthmonth
-
3/18/20093/18/2009 S.Sreenivasa RaoS.Sreenivasa Rao 1313
Comparing LOC and FPComparing LOC and FPProgramming LOC per Function pointLanguage avg. median low high
Ada 154 - 104 205Assembler 337 315 91 694C 162 109 33 704C++ 66 53 29 178COBOL 77 77 14 400Java 63 53 77 -JavaScript 58 63 42 75Perl 60 - - -PL/1 78 67 22 263Powerbuilder 32 31 11 105SAS 40 41 33 49Smalltalk 26 19 10 55SQL 40 37 7 110Visual Basic 47 42 16 158
Representative values developed by QSM
-
3/18/20093/18/2009 S.Sreenivasa RaoS.Sreenivasa Rao 1414
Why Opt for FP?Why Opt for FP?
Programming language independentProgramming language independent Used readily countable characteristics that Used readily countable characteristics that
are determined early in the software processare determined early in the software process Does not Does not penalizepenalize inventive (short) inventive (short)
implementations that use fewer LOC that implementations that use fewer LOC that other more clumsy versionsother more clumsy versions Makes it easier to measure the impact of Makes it easier to measure the impact of
reusable componentsreusable components
-
3/18/20093/18/2009 S.Sreenivasa RaoS.Sreenivasa Rao 1515
ObjectObject--Oriented MetricsOriented Metrics Number of Number of scenario scriptsscenario scripts (use(use--cases)cases) Number of Number of support classessupport classes ((required to
implement the system but are not immediately related to the problem domain) Average number of support classes per key
class (analysis class) Number of subsystems (an aggregation of
classes that support a function that is visible to the end-user of a system)
-
3/18/20093/18/2009 S.Sreenivasa RaoS.Sreenivasa Rao 1616
WebE Project MetricsWebE Project Metrics Number of static Web pages (the end-user has no control
over the content displayed on the page) Number of dynamic Web pages (end-user actions result in
customized content displayed on the page) Number of internal page links (internal page links are
pointers that provide a hyperlink to some other Web page within the WebApp)
Number of persistent data objects Number of external systems interfaced Number of static content objects Number of dynamic content objects Number of executable functions
-
3/18/20093/18/2009 S.Sreenivasa RaoS.Sreenivasa Rao 1717
Measuring QualityMeasuring Quality
CorrectnessCorrectness the degree to which a the degree to which a program operates according to specificationprogram operates according to specification MaintainabilityMaintainabilitythe degree to which a the degree to which a
program is amenable to changeprogram is amenable to change IntegrityIntegritythe degree to which a program is the degree to which a program is
impervious to outside attackimpervious to outside attack UsabilityUsabilitythe degree to which a program is the degree to which a program is
easy to useeasy to use
-
3/18/20093/18/2009 S.Sreenivasa RaoS.Sreenivasa Rao 1818
Defect Removal EfficiencyDefect Removal Efficiency
DRE = E /(E + D)
E is the number of errors found before delivery of the software to the end-user D is the number of defects found after delivery.
-
3/18/20093/18/2009 S.Sreenivasa RaoS.Sreenivasa Rao 1919
Metrics for Small OrganizationsMetrics for Small Organizations time (hours or days) elapsed from the time a request is
made until evaluation is complete, tqueue. effort (person-hours) to perform the evaluation, Weval. time (hours or days) elapsed from completion of evaluation
to assignment of change order to personnel, teval. effort (person-hours) required to make the change, Wchange. time required (hours or days) to make the change, tchange. errors uncovered during work to make change, Echange. defects uncovered after change is released to the
customer base, Dchange.
-
3/18/20093/18/2009 S.Sreenivasa RaoS.Sreenivasa Rao 2020
Establishing a Metrics ProgramEstablishing a Metrics Program Identify your business goals. Identify what you want to know or learn. Identify your subgoals. Identify the entities and attributes related to your subgoals. Formalize your measurement goals. Identify quantifiable questions and the related indicators that
you will use to help you achieve your measurement goals. Identify the data elements that you will collect to construct the
indicators that help answer your questions. Define the measures to be used, and make these definitions
operational. Identify the actions that you will take to implement the
measures. Prepare a plan for implementing the measures.
Chapter 22Process and Project MetricsA Good Manager MeasuresWhy Do We Measure?Process MeasurementProcess Metrics GuidelinesSoftware Process ImprovementProcess MetricsProject MetricsTypical Project MetricsMetrics GuidelinesTypical Size-Oriented MetricsTypical Function-Oriented MetricsComparing LOC and FPWhy Opt for FP?Object-Oriented MetricsWebE Project MetricsMeasuring QualityDefect Removal EfficiencyMetrics for Small OrganizationsEstablishing a Metrics Program