Convener: Houman Younessi
description
Transcript of Convener: Houman Younessi
![Page 1: Convener: Houman Younessi](https://reader031.fdocuments.us/reader031/viewer/2022013101/56814f66550346895dbd1b7c/html5/thumbnails/1.jpg)
Convener: Houman Younessi
Convener: Houman Younessi
Software Engineering Management
Software Engineering Management
Course # CISH-6050Course # CISH-6050
Lecture 1B: Lecture 1B:
Software Process Quality and Product Quality
Software Process Quality and Product Quality
05/07/201205/07/2012
![Page 2: Convener: Houman Younessi](https://reader031.fdocuments.us/reader031/viewer/2022013101/56814f66550346895dbd1b7c/html5/thumbnails/2.jpg)
2 CISH-6050 - Software Engineering Management
AGENDAAGENDA•Measurement Basics
- Definitions- Quantification- Types of Measurement Scales
Empirical InvestigationSoftware Engineering Measurement- Measurements Used in SE- Software Metrics
•Measurement Basics- Definitions- Quantification- Types of Measurement Scales
Empirical InvestigationSoftware Engineering Measurement- Measurements Used in SE- Software Metrics
![Page 3: Convener: Houman Younessi](https://reader031.fdocuments.us/reader031/viewer/2022013101/56814f66550346895dbd1b7c/html5/thumbnails/3.jpg)
3 CISH-6050 - Software Engineering Management
AGENDA ……AGENDA ……
•Classifying Software Measures- Processes- Product- Resource
Measuring Software SizeMeasuring Software Quality
•Classifying Software Measures- Processes- Product- Resource
Measuring Software SizeMeasuring Software Quality
![Page 4: Convener: Houman Younessi](https://reader031.fdocuments.us/reader031/viewer/2022013101/56814f66550346895dbd1b7c/html5/thumbnails/4.jpg)
4 CISH-6050 - Software Engineering Management
MeasurementsMeasurements
What is measurement?
Why do it?
What is measurement?
Why do it?
![Page 5: Convener: Houman Younessi](https://reader031.fdocuments.us/reader031/viewer/2022013101/56814f66550346895dbd1b7c/html5/thumbnails/5.jpg)
5 CISH-6050 - Software Engineering Management
Measurements BasicsMeasurements Basics
•Measurement is part of many systems that govern our lives
•Measurement also plays a key role in Software and
Software Development
•Measurement is part of many systems that govern our lives
•Measurement also plays a key role in Software and
Software Development
![Page 6: Convener: Houman Younessi](https://reader031.fdocuments.us/reader031/viewer/2022013101/56814f66550346895dbd1b7c/html5/thumbnails/6.jpg)
6 CISH-6050 - Software Engineering Management
Measurements Basics …Measurements Basics …
•Measurement – Comparison & calculations according
to a well defined set of rules
– The process by which numbers or symbols are assigned to attributes of entities in the real world in a way as to describe them according to clearly defined rules
•Measurement – Comparison & calculations according
to a well defined set of rules
– The process by which numbers or symbols are assigned to attributes of entities in the real world in a way as to describe them according to clearly defined rules
![Page 7: Convener: Houman Younessi](https://reader031.fdocuments.us/reader031/viewer/2022013101/56814f66550346895dbd1b7c/html5/thumbnails/7.jpg)
7 CISH-6050 - Software Engineering Management
Measurements Basics …Measurements Basics …
•Entity – An object (i.e. person or room) or an
event (i.e. journey or the testing phase of software) in the real world
•Attribute– Feature or property of an entity (i.e.
area or color of a room; elapsed time of testing phase)
•Entity – An object (i.e. person or room) or an
event (i.e. journey or the testing phase of software) in the real world
•Attribute– Feature or property of an entity (i.e.
area or color of a room; elapsed time of testing phase)
![Page 8: Convener: Houman Younessi](https://reader031.fdocuments.us/reader031/viewer/2022013101/56814f66550346895dbd1b7c/html5/thumbnails/8.jpg)
8 CISH-6050 - Software Engineering Management
Measurements Basics …Measurements Basics …
•Attributes and entities often interchanged in every day speech – “It’s hot today”
•OK for every day speech, but not acceptable for scientific measure– Ambiguous to say “we measure a
room”
•Attributes and entities often interchanged in every day speech – “It’s hot today”
•OK for every day speech, but not acceptable for scientific measure– Ambiguous to say “we measure a
room”
![Page 9: Convener: Houman Younessi](https://reader031.fdocuments.us/reader031/viewer/2022013101/56814f66550346895dbd1b7c/html5/thumbnails/9.jpg)
9 CISH-6050 - Software Engineering Management
Measurements Basics …Measurements Basics …
•Attributes often defined by using numbers or symbols: – Height: inches, feet, centimeters
– Price: dollars, pounds sterling, Euros
– Clothing: small, medium, large
•These numbers & symbols are abstractions used to reflect our perception of the real world
•Attributes often defined by using numbers or symbols: – Height: inches, feet, centimeters
– Price: dollars, pounds sterling, Euros
– Clothing: small, medium, large
•These numbers & symbols are abstractions used to reflect our perception of the real world
![Page 10: Convener: Houman Younessi](https://reader031.fdocuments.us/reader031/viewer/2022013101/56814f66550346895dbd1b7c/html5/thumbnails/10.jpg)
10 CISH-6050 - Software Engineering Management
Measurements Basics …Measurements Basics …
•Two Kinds of Quantification:
1.Measurement Direct quantification
2.Calculation Indirect quantification
•Two Kinds of Quantification:
1.Measurement Direct quantification
2.Calculation Indirect quantification
![Page 11: Convener: Houman Younessi](https://reader031.fdocuments.us/reader031/viewer/2022013101/56814f66550346895dbd1b7c/html5/thumbnails/11.jpg)
11 CISH-6050 - Software Engineering Management
Measurements Basics …Measurements Basics …
•Types of Measurements Scales:1.Nominal
2.Ordinal
3.Interval
4.Ratio
•Types of Measurements Scales:1.Nominal
2.Ordinal
3.Interval
4.Ratio
![Page 12: Convener: Houman Younessi](https://reader031.fdocuments.us/reader031/viewer/2022013101/56814f66550346895dbd1b7c/html5/thumbnails/12.jpg)
12 CISH-6050 - Software Engineering Management
Measurements Basics …Measurements Basics …
•Nominal– Most primitive form of measurement
– Places elements in classification scheme
– No notion of ordering of the classes
– Example: Where was the bug introduced – requirements, design, or code?
•Nominal– Most primitive form of measurement
– Places elements in classification scheme
– No notion of ordering of the classes
– Example: Where was the bug introduced – requirements, design, or code?
![Page 13: Convener: Houman Younessi](https://reader031.fdocuments.us/reader031/viewer/2022013101/56814f66550346895dbd1b7c/html5/thumbnails/13.jpg)
13 CISH-6050 - Software Engineering Management
Measurements Basics …Measurements Basics …
•Ordinal– Augments nominal scale with
information about ordering of the classes or categories
– Classes ordered with respect to the attribute
– Numbers represent ranking, so arithmetic operations not allowed
•Ordinal– Augments nominal scale with
information about ordering of the classes or categories
– Classes ordered with respect to the attribute
– Numbers represent ranking, so arithmetic operations not allowed
![Page 14: Convener: Houman Younessi](https://reader031.fdocuments.us/reader031/viewer/2022013101/56814f66550346895dbd1b7c/html5/thumbnails/14.jpg)
14 CISH-6050 - Software Engineering Management
Measurements Basics …Measurements Basics …
• Interval– Carries more information about
entities, making it more powerful than nominal and ordinal
– Captures information about size of the intervals that separates classes
– Addition and subtraction allowed, but not multiplication and division
• Interval– Carries more information about
entities, making it more powerful than nominal and ordinal
– Captures information about size of the intervals that separates classes
– Addition and subtraction allowed, but not multiplication and division
![Page 15: Convener: Houman Younessi](https://reader031.fdocuments.us/reader031/viewer/2022013101/56814f66550346895dbd1b7c/html5/thumbnails/15.jpg)
15 CISH-6050 - Software Engineering Management
Measurements Basics …Measurements Basics …
•Ratio– Most useful scale of measurements
– Most common scale in physical sciences
– Contains zero element lack of attribute
– Preserves ordering, size, and ratios
– All arithmetic can be applied
•Ratio– Most useful scale of measurements
– Most common scale in physical sciences
– Contains zero element lack of attribute
– Preserves ordering, size, and ratios
– All arithmetic can be applied
![Page 16: Convener: Houman Younessi](https://reader031.fdocuments.us/reader031/viewer/2022013101/56814f66550346895dbd1b7c/html5/thumbnails/16.jpg)
16 CISH-6050 - Software Engineering Management
Measurements Basics …Measurements Basics …
• Is LOC (Lines of Code) Ratio or Absolute scale of measure?– Obtained by ‘counting’ …
– But … is LOC the only way to measure the length of source code?
• Is LOC (Lines of Code) Ratio or Absolute scale of measure?– Obtained by ‘counting’ …
– But … is LOC the only way to measure the length of source code?
![Page 17: Convener: Houman Younessi](https://reader031.fdocuments.us/reader031/viewer/2022013101/56814f66550346895dbd1b7c/html5/thumbnails/17.jpg)
17 CISH-6050 - Software Engineering Management
Measurements Basics …Measurements Basics …
•Empirical Investigation– Empirical data vs. advice and
counsel?
– Better to rely on scientific research for objective decisions, vs. advice and counsel
•Empirical Investigation– Empirical data vs. advice and
counsel?
– Better to rely on scientific research for objective decisions, vs. advice and counsel
![Page 18: Convener: Houman Younessi](https://reader031.fdocuments.us/reader031/viewer/2022013101/56814f66550346895dbd1b7c/html5/thumbnails/18.jpg)
18 CISH-6050 - Software Engineering Management
Empirical InvestigationsEmpirical Investigations
•Several types of Assessments– Surveys
Research in the large
– Case Studies Research in the typical
– Formal Experiments Research in the small
•Several types of Assessments– Surveys
Research in the large
– Case Studies Research in the typical
– Formal Experiments Research in the small
![Page 19: Convener: Houman Younessi](https://reader031.fdocuments.us/reader031/viewer/2022013101/56814f66550346895dbd1b7c/html5/thumbnails/19.jpg)
19 CISH-6050 - Software Engineering Management
Software Engineering Measurements
Software Engineering Measurements
•Computer Science provides theoretical foundations for building software
•SE focuses on implementing software in controlled and scientific manner
•Computer Science provides theoretical foundations for building software
•SE focuses on implementing software in controlled and scientific manner
![Page 20: Convener: Houman Younessi](https://reader031.fdocuments.us/reader031/viewer/2022013101/56814f66550346895dbd1b7c/html5/thumbnails/20.jpg)
20 CISH-6050 - Software Engineering Management
Software Engineering Measurements …
Software Engineering Measurements …
•Engineering disciplines use methods based on models and theories
•Measurements are the underpinning of scientific process
•Engineering disciplines use methods based on models and theories
•Measurements are the underpinning of scientific process
![Page 21: Convener: Houman Younessi](https://reader031.fdocuments.us/reader031/viewer/2022013101/56814f66550346895dbd1b7c/html5/thumbnails/21.jpg)
21 CISH-6050 - Software Engineering Management
Software Engineering Measurements …
Software Engineering Measurements …
• Imagine electrical, mechanical, or civil engineering without measurements?
•Measurements still viewed as luxury in Software Engineering– Done infrequently, inconsistently, and
incompletely
• Imagine electrical, mechanical, or civil engineering without measurements?
•Measurements still viewed as luxury in Software Engineering– Done infrequently, inconsistently, and
incompletely
![Page 22: Convener: Houman Younessi](https://reader031.fdocuments.us/reader031/viewer/2022013101/56814f66550346895dbd1b7c/html5/thumbnails/22.jpg)
22 CISH-6050 - Software Engineering Management
Software Engineering Measurements …
Software Engineering Measurements …
•Measurements are essential in engineering disciplines
•Measurements essential for SE even when project not in trouble– Helps to control the project, not just
run it
•Measurements are essential in engineering disciplines
•Measurements essential for SE even when project not in trouble– Helps to control the project, not just
run it
![Page 23: Convener: Houman Younessi](https://reader031.fdocuments.us/reader031/viewer/2022013101/56814f66550346895dbd1b7c/html5/thumbnails/23.jpg)
23 CISH-6050 - Software Engineering Management
Software Engineering Measurements …
Software Engineering Measurements …
“You cannot control what you cannot measure”
− Tom Demarco, 1982
•Measurements key for– Understanding
– Controlling
– Improving
“You cannot control what you cannot measure”
− Tom Demarco, 1982
•Measurements key for– Understanding
– Controlling
– Improving
![Page 24: Convener: Houman Younessi](https://reader031.fdocuments.us/reader031/viewer/2022013101/56814f66550346895dbd1b7c/html5/thumbnails/24.jpg)
24 CISH-6050 - Software Engineering Management
Software Engineering Measurements …
Software Engineering Measurements …
•Scope of Software Metrics:– Cost and Effort Estimation
– Productivity Models and Measures
– Data Collection
– Quality Models and Measures
– Reliability Models
– Performance Evaluation and Models
•Scope of Software Metrics:– Cost and Effort Estimation
– Productivity Models and Measures
– Data Collection
– Quality Models and Measures
– Reliability Models
– Performance Evaluation and Models
![Page 25: Convener: Houman Younessi](https://reader031.fdocuments.us/reader031/viewer/2022013101/56814f66550346895dbd1b7c/html5/thumbnails/25.jpg)
25 CISH-6050 - Software Engineering Management
Software Engineering Measurements …
Software Engineering Measurements …
•Scope of Software Metrics …– Structural and Complexity Models
– Management Metrics
– Evaluation of Methods and Tools
– Capability Maturity Assessments
•Scope of Software Metrics …– Structural and Complexity Models
– Management Metrics
– Evaluation of Methods and Tools
– Capability Maturity Assessments
![Page 26: Convener: Houman Younessi](https://reader031.fdocuments.us/reader031/viewer/2022013101/56814f66550346895dbd1b7c/html5/thumbnails/26.jpg)
26 CISH-6050 - Software Engineering Management
Software Engineering Measurements …
Software Engineering Measurements …
•Direct and Indirect Measurements:– Direct measurement of an attribute
involves no other attribute or entity
– Indirect measurement of an attribute involves at least 1 other attribute or entity
•Direct and Indirect Measurements:– Direct measurement of an attribute
involves no other attribute or entity
– Indirect measurement of an attribute involves at least 1 other attribute or entity
![Page 27: Convener: Houman Younessi](https://reader031.fdocuments.us/reader031/viewer/2022013101/56814f66550346895dbd1b7c/html5/thumbnails/27.jpg)
27 CISH-6050 - Software Engineering Management
Software Engineering Measurements …
Software Engineering Measurements …
•Direct Measurements in SE:– Length of source code
– Duration of a phase
– Number of defects found during phase
– Time a programmer spends on a project
•Direct Measurements in SE:– Length of source code
– Duration of a phase
– Number of defects found during phase
– Time a programmer spends on a project
![Page 28: Convener: Houman Younessi](https://reader031.fdocuments.us/reader031/viewer/2022013101/56814f66550346895dbd1b7c/html5/thumbnails/28.jpg)
28 CISH-6050 - Software Engineering Management
Software Engineering Measurements …
Software Engineering Measurements …
• Indirect Measurements in SE:– Programmer productivity
– Module Defect Density
– Defect detection efficiency
– Requirements stability
– Test Effectiveness ratio
– System Spoilage
• Indirect Measurements in SE:– Programmer productivity
– Module Defect Density
– Defect detection efficiency
– Requirements stability
– Test Effectiveness ratio
– System Spoilage
![Page 29: Convener: Houman Younessi](https://reader031.fdocuments.us/reader031/viewer/2022013101/56814f66550346895dbd1b7c/html5/thumbnails/29.jpg)
29 CISH-6050 - Software Engineering Management
Classifying Software MeasuresClassifying Software Measures
•Software Entity and Attribute Classes to Measure:– Processes: collection of software
related activities
– Products: artifacts, deliverables, or documents from process activity
– Resources: entities required by process activity - personnel, materials
•Software Entity and Attribute Classes to Measure:– Processes: collection of software
related activities
– Products: artifacts, deliverables, or documents from process activity
– Resources: entities required by process activity - personnel, materials
![Page 30: Convener: Houman Younessi](https://reader031.fdocuments.us/reader031/viewer/2022013101/56814f66550346895dbd1b7c/html5/thumbnails/30.jpg)
30 CISH-6050 - Software Engineering Management
Classifying Software MeasuresClassifying Software Measures
•Attributes for each class of entity:– Internal: measured purely in terms of
the process, product, or resource itself
– External: measured only with respect to how the process, product or resource relates to its environment
•Attributes for each class of entity:– Internal: measured purely in terms of
the process, product, or resource itself
– External: measured only with respect to how the process, product or resource relates to its environment
![Page 31: Convener: Houman Younessi](https://reader031.fdocuments.us/reader031/viewer/2022013101/56814f66550346895dbd1b7c/html5/thumbnails/31.jpg)
31 CISH-6050 - Software Engineering Management
Classifying Software Measures
ProductsSpecifications size, reuse, modularity, functionality, ... comprehensibility, maintainability, ...
Design size, reuse, modularity, coupling, cohesiveness, ...
quality, complexity, maintainability, ...
Code size, reuse, modularity, coupling, functionality, ...
reliability, usability, maintainability, ...
--- --- ---ProcessesDetailed Design time, effort, number of specification faults
found, ...cost, cost-effectiveness, ...
Testing time, effort, number of coding faults found, ...
cost, cost-effectiveness, stability, ...
---- --- ---ResourcesPersonnel age, price, ... productivity, experience,
intelligence, ...Software price, size, ... usability, reliability, ...Hardware price, speed, memory size, ... reliability, ...
ENTITIES INTERNAL EXTERNALATTRIBUTES
![Page 32: Convener: Houman Younessi](https://reader031.fdocuments.us/reader031/viewer/2022013101/56814f66550346895dbd1b7c/html5/thumbnails/32.jpg)
32 CISH-6050 - Software Engineering Management
Measuring Software SizeMeasuring Software Size
•Difficulties in estimating software size– Simple measures that don’t reflect
effort, productivity, and cost are rejected
– Define a fundamental set of attributes for software size; each attribute captures key aspect of software size
•Difficulties in estimating software size– Simple measures that don’t reflect
effort, productivity, and cost are rejected
– Define a fundamental set of attributes for software size; each attribute captures key aspect of software size
![Page 33: Convener: Houman Younessi](https://reader031.fdocuments.us/reader031/viewer/2022013101/56814f66550346895dbd1b7c/html5/thumbnails/33.jpg)
33 CISH-6050 - Software Engineering Management
Measuring Software Size …Measuring Software Size …
•Fenton & Pfleeger suggestion for measuring software size:– Length: physical size of product
– Functionality: measures functions
– Reuse: amount of product reused
– Complexity (efficiency): interpretation of complexity: Problem, Algorithmic, Structural, Cognitive
•Fenton & Pfleeger suggestion for measuring software size:– Length: physical size of product
– Functionality: measures functions
– Reuse: amount of product reused
– Complexity (efficiency): interpretation of complexity: Problem, Algorithmic, Structural, Cognitive
![Page 34: Convener: Houman Younessi](https://reader031.fdocuments.us/reader031/viewer/2022013101/56814f66550346895dbd1b7c/html5/thumbnails/34.jpg)
34 CISH-6050 - Software Engineering Management
Measuring Software QualityMeasuring Software Quality
•McCall and Cavano Quality Framework– Developed in 1978
– Basis for ISO 9126 Standard
– Same factors defined in 1970s still used today
•McCall and Cavano Quality Framework– Developed in 1978
– Basis for ISO 9126 Standard
– Same factors defined in 1970s still used today
![Page 35: Convener: Houman Younessi](https://reader031.fdocuments.us/reader031/viewer/2022013101/56814f66550346895dbd1b7c/html5/thumbnails/35.jpg)
35 CISH-6050 - Software Engineering Management
Measuring Software Quality …Measuring Software Quality …
• ISO 9126 Standard Quality Model– Proposed in 1992
– Provides quality definition
– Six quality factors: Functionality, Reliability,
Efficiency, Usability, Maintainability, Portability
• ISO 9126 Standard Quality Model– Proposed in 1992
– Provides quality definition
– Six quality factors: Functionality, Reliability,
Efficiency, Usability, Maintainability, Portability
![Page 36: Convener: Houman Younessi](https://reader031.fdocuments.us/reader031/viewer/2022013101/56814f66550346895dbd1b7c/html5/thumbnails/36.jpg)
36 CISH-6050 - Software Engineering Management
Measuring Software Quality …Measuring Software Quality …
•Per Standard, any software quality can be defined in terms of 6 factors
•Quality factors not included:– Correctness, Integrity, Flexibility,
Testability, Reusability, Interoperability
•Per Standard, any software quality can be defined in terms of 6 factors
•Quality factors not included:– Correctness, Integrity, Flexibility,
Testability, Reusability, Interoperability
![Page 37: Convener: Houman Younessi](https://reader031.fdocuments.us/reader031/viewer/2022013101/56814f66550346895dbd1b7c/html5/thumbnails/37.jpg)
37 CISH-6050 - Software Engineering Management
RecapRecap•Measurements Basics
•Empirical Investigation
•Software Engineering Measurements
•Classifying Software Measures
•Measuring Software Size
•Measuring Software Quality
•Measurements Basics
•Empirical Investigation
•Software Engineering Measurements
•Classifying Software Measures
•Measuring Software Size
•Measuring Software Quality
![Page 38: Convener: Houman Younessi](https://reader031.fdocuments.us/reader031/viewer/2022013101/56814f66550346895dbd1b7c/html5/thumbnails/38.jpg)
38 CISH-6050 - Software Engineering Management
ReferencesReferences• R. S. Pressman, Software Engineering: A
Practitioner's Approach, 5th ed., McGraw-Hill, New York, 2001
• N. E. Fenton, S. L. Pfleeger, Software Metrics: A Rigorous and Practical Approach, 2nd ed., International Thomson Computers Press, Boston, MA, 1996
• R. S. Pressman, Software Engineering: A Practitioner's Approach, 5th ed., McGraw-Hill, New York, 2001
• N. E. Fenton, S. L. Pfleeger, Software Metrics: A Rigorous and Practical Approach, 2nd ed., International Thomson Computers Press, Boston, MA, 1996