Universitatea Babeş-Bolyai Cluj-Napoca
Facultatea de Matematică şi Informatică
Ciclul de studii: Masterat
Domeniul: Informatica
Programul de studii: Programare bazată pe componente - în limba engleză
Limba de predare: Engleză

SYLLABUS

I. General data
Code	Subject	
MID1024	Software Metrics	

Semester	Hours: C+S+L	Category	Status	
2	2+2+0	speciality	compulsory	

II. Full status faculty members
Name and	Scientific	Didactic	Chair	Type of activity	
surname	title	title		C	S	L	
FRENTIU Militon	Ph.D.	Prof.	Programming  Languages and Methods	*			

Associated faculty members
Name and	Scientific	Institution	Type of	Type of activity	
surname	title		position	C	S	L	

III. Course objectives
To teach the students the concepts used as software metrics; to acquire methods to estimate the cost development of a product and its duration; to understand  and be able to perform the schedule estimation and planning of a software project, the concept of program quality, and the means of improving the software processes.	

IV. Course contents
I. Introduction to Software Metrics. Fundamentals of measurement  (2 weeks)
II. Software costs and schedule models (3 weeks)
III. Measuring product atributes (4 weeks)
IV. Integrating metrics into the software process; project control (1 week)
V. Metrics for Object-oriented programming (2 weeks)
VI. Software metrics validation  (1 week)
VII. Software metrics and Capability Maturity Model (1 week)	

V. Bibliography
1. Boehm B., Software Engineering Economics, Englewood Cliffs, N.J.: Prenice Hall,  1981.
2. Boehm B. et all, Cost Models for Future Software Life Cycle Processes: COCOMO 2.0, U.S.Center for Software Engineering. 
3. Fenton, N.E., and S.L. Pfleeger, “Software Metrics – A rigorous and Practical
Approach,” Second revised edition. PWS, 1997, ISBN: 0-534-95600-9
4. FENTON N.E.,Software Measurement: A Necessary Scientific Basis, IEEE
Transactions on Software Engineering, Vol.30 (1994), no.3, pp.199-206.
5. HOGAN J., An Analysis of OO Software Metrics, 
http://www.citseer.nj.nec.com/370357.html 
6. ****, Statistical software engineering, Panel on Statistical Methods, National Research Council, 1996, 84 pp., 
7. Humphrey, W.S.: Using a Defined and Measured Personal Software Process. In: IEEE Software, May 1996, pp. 77-87
8. Paulk, Weber, Curtis, Chrissis: The Capability Matirity Model. Guidelines for Improving the Software process. SEI series in software engineering. Addison –Wesley, 2002., ISBN 0-201-54664-7
9. ISO/IEC 9126. Information technology - Software product evaluation- Quality characteristics and guidelines for their use. 1991. FCD 9126-1.2 Information technology - Software product quality - Part 1: Quality model.
10. Walt Scacchi, Understanding Software productivity
11. Khaled El Emam, A Methodology for Validating Software Product Metrics, http://citeseer.nj.nec.com/context/118350/0	

VI. Thematic of didactic activities per weeks
C1 (+S1)- The Object of Software Metrics ([3] chapter 1?, [4])
•	What is Measurement in software engineering?
•	Why measure?
•	Internal and external software attributes
•	Halstead’s software science
C2 (+S2)-  Fundamentals of Software Measurement ([3] chapter2)
•	A classification of software measures
•	Measurement scales
•	Collect, store, and analyse data
•	Implementing a software metrics program
C3 (+S3) - COCOMO 
•	Cost estimation approaches
•	Software cost models 
•	Software scheduling models 
•	Developing and using software sizing models 
C4 (+S4 + A1) - Albrecht’s Function Points ([O1])
•	unadjusted function count 
•	technical complexity factor
•	computing the function points
•	estimating the cost and the duration of a project
C5 (+S5 + A2)- COCOMO II ([2])
•	COCOMO II cost drivers and scale drivers
•	COCOMO II sizing models 
•	Comparation between COCOMO and COCOMO II
C6(+S6)-  Measuring internal product atributes ([3] chapter 5)
•	control-flow graphs  
•	Prime decomposition theorem
•	Measure on a flowgraph
•	McCabe’s cyclomatic complexity
C7(+S7)- Modularity and information flow  ([3] chapter 5)
•	coupling
•	cohesion
•	global modularity
•	flow-in, flow-out
•	complexity of information flow
C8(+S8)- Quality metrics
•	Categorising software quality metrics 
•	Models of software quality (ISO9126, Boehm, MaCabe)
•	Measuring software quality 
•	Applying quality metrics to the project 
C9(+S9)-  Resource measurement ([3], chapter 9)
•	Team structure
•	Personnel experience
•	Tools, company resources
C10(+S10+ A3)-  Productivity models and measures ([9])
•	Define productivity; what does it mean? 
•	Measuring productivity 
•	Using metrics to manage a project 
•	Using metrics to evaluate software development productivity, methods and tools 
C11 (+S11) - Object-Oriented measurement concepts ([?])
•	Basic metrics for OO systems 
•	Metrics for OO software quality 
C12 (+S12) - Metrics for object-oriented processes ([h])
•	OO analysis and design metrics 
•	Metrics for productivity measurement 
C13 (+S13+ A4) - Software metrics validation  ( [6, 11])
•	Validation problem
•	Statistical methods
•	How to collect data
•	A metric validation methodology

C14 (+S14) -  Software metrics and Capability Maturity Model ( [?])
· What is Capability Maturity Model?
· The presence of metrics in CMM
· Measuring the reliability of software systems
· Predicting the evolution of a software project	

VII. Didactic methods used
Conversation, Expunerea	

VIII. Assessment
A paper on software measurement must be found, understood, reviewed and presented at the seminar. A mark is given for this activity. Finally, a written examination must be given (mark W). The final grade is : 
		F = (W +A) / 2
rounded according to the presences at the activities during the term. 	

IX. Additional references
O1. Albrecht, A.J. and Gaffney, J.F., 
Software Function, Source Lines of Code and Development Effort Prediction: A Software Science Validation, IEEE Trans. Software Engineering, vol. 9, no.6, pp.639-648, (1983). 
O2. Chidamber, S.R., Darcy, D.P., Kemerer, C.F., 
Managerial Use of Metrics for Object-Oriented Software: An Exploratory Analysis, IEEE Transactions on Software Engineering, vol. 24, no. 8, August 1998. 
O3. Chidamber, S.R., Kemerer, C.F., 
A Metrics Suite for Object Oriented Design, IEEE Transactions on Software Engineering, vol. 20, pp. 476-493, 1994. 
O4. Fenton, N.E., Software Metrics: A Rigorous Approach, Chapman and Hall, 1991.
O5. Humphrey, W.S.,  Managing the Software Process, Addison-Wesley, 1989. 
O6. McCabe, T.J.,  A Complexity Measure, IEEE Transactions on Software Engineering, vol.2, no.4, pp. 308-320, 1976. 
O7. Weyuker, E.J.,  Evaluating Software Complexity Measures, IEEE Transactions on Software Engineering, vol. 14, no. 9, 1988. 
O8. Zuse, H., Software Complexity: Measures and Methods, Walter de Gruyter, 1991. 
O9.  Papers on Software Metrics from the Journals: 
a.	IEEE Software. 
b.	IEEE Transactions on Software Engineering. 
c.	Transactions on Software Engineering and Methodology (TOSEM), ACM.
d.	Software -- Practice and Experience, Wiley. 
e.	Internet

	Date,							Course responsible,
	10.09.2008							Prof. FRENTIU Militon, Ph.D.