Measurement & Analysis Performing Project Measurement using Sonar Diaz -Bilotto, Nicolás Morales , Mauricio
Schedule • • • • • •
Brief Introduction to Mesaurement and Analysis Information needs Measurement infromation model Measurement construct Performing Measuerement Sonar : o Concept & Architecture o Using Sonar in our process o Results • Bibliography
Brief Introduction to Mesaurement and Analysis • Measurement & Analysis (M&A) process area develops and sustain measurement capabilities that suports management information needs [1] • Top-performing organizations has a cultural bias towards informed decision making [2] • Decision making is more effective when accurate and actual information is available • Actually, information-need driven measurement process are better suited for software-intensive projects
Information needs • Information needs are the key foundation in M&A process area • They are related directly to established objectives inside the organization • Information needs are defined using PSM Measurement Information Model; It provides a formal mechanism for linking information needs to software processes and products that can be measured [1]. • Information needs helps Measurement Analysts in a correct identification of Measurement Concepts, and these Measurements Concepts assists the creation of Measurement Constructs. • Our information need is : "Evaluate programming labour quality."
Measurement Information Model.
Measurement Construct • Indicator : Total Quality (TQ). • Measurement concept : Product Quality. • Relevant Entities : o Source code from every U3d branch and trunk. • Measure Method : o Obtain the last revision from SVN. o Measure TQ using Sonar. • Type of Method :Objective. • Scale : Value in [ 0.0 ... 1.0 ] • Type of Scale : Ratio. • Unit of measurement : Dimensionless Quantity. • Decision Criteria : TQ >= 75% • Analysis Model : o Compute the weighted sum of ...
Measurement Construct (Cont.) • Base measurements Chidamber and Kemerer Java Metrics (design) DIT : Depth of Inheritance Tree o JDepend Metrics (architecture) CA : Afferent Couplings o
• Derived measurements DRYness : inverse of Duplicated lines density. o COVERAGE : code coverage, from sonar. • Indicator : Total Quality. o
Sonar • Sonar is a system that performs automated measurement for mavenbased projects. • "Sonar enables to you to collect, analyze and report metrics on source code." [3] • It's hosted for Codehaus (codehaus.org). • It's open source. • Provides a simple interface to measurement results.
Sonar : Concept & Architecture • Sonar architectrue is based in these components o A set of maven plugins. o A Webserver. • The plugins are provided using a custom maven repository hosted in the webserver. • The webserver provides graphical interface for human access and simple RESTful web API.
Using Sonar in our process • Sonar helps performing tedious and repetitive tasks in "Perform Measurement" process. • "Collect data" and "Analyze data" tasks are practically performed using these tool • Supervision and control is needed, sonar is a tool.
Results : TQ indicator - Saturday 3 Branch
Result
trunk
68.2 %
calamares
Compilation error
hipocampo
66.1%
tiburones
66.2%
delfines
68.2%
Bibliography 1. Practical Software Measurement: Objective Information for Decision Makers (9780201715163): John McGarry, David Card, Cheryl Jones, Beth Layman,Elizabeth Clark,Joseph Dean, Fred Hall. 2. CMMI product team, CMMI for Development (CMMI-DEV), Version 1.2 (http://www.sei.cmu.edu/library/abstracts/reports/06tr008.cf m) 3. Sonar homepage (http://sonar.codehaus.org)