3 lectures per week, 50 minutes each (3-0-3)
Designation: Elective Course
Course Level: Undergraduate
Prerequisite(s) by Topic:
Overview of software metrics, basics of measurement theory, goal-based framework for software measurement, empirical investigation in software engineering. Measuring internal product attributes, measuring external product attributes, measuring cost and effort, measuring software reliability, software test metrics, and object-oriented metrics.
N. Fenton and S. Pfleeger, Software Metrics: A Rigorous & Practical Approach, 2nd ed: PWS Publishing Company, 1997
Reference(s) and Other Material:
- Stephen H. Kan, Metrics and Models in Software Quality Engineering, 2nd ed., Addison-Wesley, 2002.
- M. Lorenz and J. Kidd, Object-Oriented Software Metrics: Prentice Hall, 1994.
Upon completion of this course, students will have the ability to:
- Understand the basic metrics and measurement theory and terminology.
- Select software metrics based on goals.
- Design and tailor the selected metrics to match your information needs.
- Determine what data to collect and who should collect it.
- Interpret and communicate metric results.
- Overview of software metrics
- What is measurement?
- What are software metrics?
- The basics of measurement
- Meaningfulness in measurement
- Measurement quality
- Measurement process
- Measurement validation
- Goal-based framework for software measurement
- Software measure classification
- Goal-Question-Metrics (GQM)
- Applications of GQM
- Case studies
- Empirical investigation
- Software engineering investigation
- Investigation principles
- Investigation techniques
- Formal experiments
- Guidelines for empirical research
- Measuring internal product attributes: size
- Software size
- Software Size: Length (code, specification, design)
- Software Size: Reuse
- Software Size: Functionality (function point, feature point, object point,
- se-case point)
- Software Size: Complexity
- Measuring internal product attributes: structure
- Software structural measurement
- Control-flow structure
- Cyclomatic complexity
- Data flow and data structure attributes
- Architectural measurement
- Measuring cost and effort
- Software cost model
- COCOMO and COCOMO II
- Constraint model
- Software Lifecycle Management (SLIM)
- Cost models: advantages and drawbacks
- Measuring external product attributes: quality
- Software quality
- Software quality models
- Basic software quality metrics
- Software Quality Assurance (SQA)
- Measuring software reliability
- Reliability concepts and definitions
- Software reliability models and metrics
- Software test metrics
- Estimating number of test case
- Allocating test times
- Decisions based on testing
- Test coverage measurement
- Software testability measurement
- Remaining defects measurement
- Object-oriented metrics
- Object-Oriented measurement concepts
- Basic metrics for OO systems
- OO analysis and design metrics
- Metrics for productivity measurement
- Metrics for OO software quality