SOFTWARE ENGINEERING<br />
Lecture 12<br />
Software Metrics<br />
<br />
MBA Course Notes<br />
Dr. ANH DAO NAM<br />
1<br />
<br />
Software Engineering<br />
Slides are from Ivan Marsic and Thomas E. Potok, and Richard A. Volz,<br />
modified by Anh Dao Nam<br />
Textbooks:<br />
Bruegge & Dutoit: Object-Oriented Software Engineering: Using UML,<br />
Patterns and Java, Third Edition, Prentice Hall, 2010.<br />
Miles & Hamilton: Learning UML 2.0, O’Reilly Media, 2006.<br />
Some interesting sources for the advanced material include:<br />
Richard A. Volz, Technical Metrics for Software<br />
R. Pressman, Software Engineering - A Practitioner's Approach, 6th ed.,<br />
2005<br />
C. Ghezzi, M. Jazayeri, and D. Mandriolo, Fundamentals of Software<br />
Engineering. Prentice Hall, second ed., 2002<br />
A. Endres and D. Rombach, A Handbook of Software and Systems<br />
Engineering. The Fraunhofer IESE Series on Software Engineering,<br />
Pearson Education Ltd., 2003.<br />
S. Robertson and J. C. Robertson, Mastering the Requirements Process.<br />
Addison-Wesley Professional, second ed., 2006.<br />
<br />
2<br />
<br />
Topics<br />
<br />
Why Measure Software<br />
Fundamentals of Measurement Theory<br />
Use Case Points<br />
<br />
3<br />
<br />
Definitions<br />
Measure - quantitative indication of extent,<br />
amount, dimension, capacity, or size of some<br />
attribute of a product or process.<br />
E.g., Number of errors<br />
<br />
Metric - quantitative measure of degree to<br />
which a system, component or process<br />
possesses a given attribute. “A handle or<br />
guess about a given attribute.”<br />
E.g., Number of errors found per person hours<br />
expended<br />
<br />
4<br />
<br />
Motivation for Metrics<br />
Estimate the cost & schedule of future projects<br />
Evaluate the productivity impacts of new tools and<br />
techniques<br />
Establish productivity trends over time<br />
Improve software quality<br />
Forecast future staffing needs<br />
Anticipate and reduce future maintenance needs<br />
<br />
5<br />
<br />