LECTURE 14: Software Metrics

Slides:



Advertisements
Similar presentations
Learning Objectives In this chapter you will learn about measures of central tendency measures of central tendency levels of measurement levels of measurement.
Advertisements

Welcome to the Award Winning Easiest to Use & Most Advanced View, Manage, and Control Security, Access Control, Video, Energy & Lighting Systems, & Critical.
Estimation of Defects and Effort Requirements Engineering & Project Management Lecture.
Introduction to Quantitative Research
Ivan Marsic Rutgers University LECTURE 7: Object Oriented Design.
Object-Oriented Metrics. Characteristics of OO ● Localization ● Encapsulation ● Information hiding ● Inheritence ● Object abstraction.
Some Basic Concepts Schaum's Outline of Elements of Statistics I: Descriptive Statistics & Probability Chuck Tappert and Allen Stix School of Computer.
Lecture 2 PY 427 Statistics 1 Fall 2006 Kin Ching Kong, Ph.D
Research Methods in MIS
SWE Introduction to Software Engineering
Predictive Modeling And Reporting Environment (PMRE) CS 552 Senior Design Architecture Review Presenting: Steve Su Ilya Chalyt Yuriy Stelmakh (Architect)
EdPsy 511 August 28, Common Research Designs Correlational –Do two qualities “go together”. Comparing intact groups –a.k.a. causal-comparative and.
Chapter 6 Using Questionnaires
A U Interface & Project Analysis Professor J. Alberto Espinosa Business Analysis ITEC-630 Fall 2009.
1 Cost Estimation CIS 375 Bruce R. Maxim UM-Dearborn.
Use Case Diagrams – Functional Models Chapter 5. Objectives Understand the rules and style guidelines for activity diagrams. Understand the rules and.
INTRODUCTION TO STATISTICS Yrd. Doç. Dr. Elif TUNA.
@ 2012 Wadsworth, Cengage Learning Chapter 5 Description of Behavior Through Numerical 2012 Wadsworth, Cengage Learning.
Descriptive Statistics Used to describe the basic features of the data in any quantitative study. Both graphical displays and descriptive summary statistics.
COCOMO Models Ognian Kabranov SEG3300 A&B W2004 R.L. Probert.
1 RUP Project Estimation and Planning Demystified Bob Heinemeyer Principal Consultant Capable Software, LLC.
Real-World Project Management Chapter 13. Characteristics of Project Management Unique one-time focus –Difficulties arise from originality Subject to.
Chapter 6 : Software Metrics
©Ian Sommerville 2000Software Engineering, 6th edition. Chapter 23Slide 1 Chapter 23 Software Cost Estimation.
Ivan Marsic Rutgers University LECTURE 6: Domain Modeling.
1 UseCase-based effort estimation of software projects TDT 4290 Customer-driven project IDI, NTNU, 14. Sept Bente Anda, Simula Research Lab., Oslo,
Engr. M. Fahad Khan Lecturer Software Engineering Department University Of Engineering & Technology Taxila.
1 Lecture 17: Chapter 26 Estimation for Software Projects Slide Set to accompany Software Engineering: A Practitioner’s Approach, 7/e by Roger S. Pressman.
Software cost estimation Predicting the resources required for a software development process 1.
1 Chapter 23 Estimation for Software Projects. 2 Software Project Planning The overall goal of project planning is to establish a pragmatic strategy for.
Software Engineering SM ? 1. Outline of this presentation What is SM The Need for SM Type of SM Size Oriented Metric Function Oriented Metric 218/10/2015.
Chapter 6: Using Questionnaire Lecture 6 Topics –Question types –Scales –Formatting the questionnaire –Administering the questionnaire –Web questionnaires.
Introduction Complex and large SW. SW crises Expensive HW. Custom SW. Batch execution Structured programming Product SW.
1 Estimation Function Point Analysis December 5, 2006.
Software Project Management Lecture # 3. Outline Chapter 22- “Metrics for Process & Projects”  Measurement  Measures  Metrics  Software Metrics Process.
Lecture 4 Software Metrics
10/27/20151Ian Sommerville.  Fundamentals of software measurement, costing and pricing  Software productivity assessment  The principles of the COCOMO.
Cost Estimation. Problem Our ability to realistically plan and schedule projects depends on our ability to estimate project costs and development efforts.
Quality Software Project Management Software Size and Reuse Estimating.
EDPSY Chp. 2: Measurement and Statistical Notation.
Function Point Analysis. Function Points Analysis (FPA) What is Function Point Analysis (FPA)? Function points are a standard unit of measure that represent.
SEG3300 A&B W2004R.L. Probert1 COCOMO Models Ognian Kabranov.
©Ian Sommerville 2000Software Engineering, 7th edition. Chapter 26Slide 1 Software cost estimation l Predicting the resources required for a software development.
Chapter 6 – Architectural Design Lecture 1 1Chapter 6 Architectural design.
Estimating “Size” of Software There are many ways to estimate the volume or size of software. ( understanding requirements is key to this activity ) –We.
Effort Estimation In WBS,one can estimate effort (micro-level) but needed to know: –Size of the deliverable –Productivity of resource in producing that.
Project, People, Processes and Products Project management skills – schedule, monitoring, risk management, … People management skills – delegation, mentoring,
540f07cost12oct41 Reviews Postmortem u Surprises? u Use white background on slides u Do not zip files on CD u Team leader should introduce team members.
Edpsy 511 Basic concepts Exploratory Data Analysis.
FUNCTION POINT ANALYSIS & ESTIMATION
Slide 1 Use Case Points. Slide 2 Use Case Points* Use Case Points (UCP) is a current technique for measuring functionality of a software system. It can.
Cost9b 1 Living with Function Points Bernstein and Lubashevsky Text pp
Cost23 1 Question of the Day u Which of the following things measure the “size” of the project in terms of the functionality that has to be provided in.
Introduction to Quantitative Research
Unit 1 Section 1.2.
Alternative Software Size Measures for Cost Estimation
Classifications of Software Requirements
LECTURE 6: Domain Modeling
Application of SysML to LLRF system design M.Grecki
Alternative Software Size Measures for Cost Estimation
Software Size Measures for Cost Estimation
Personal Software Process Software Estimation
Function Point.
Software Metrics “How do we measure the software?”
LECTURE 14: Software Metrics
More on Estimation In general, effort estimation is based on several parameters and the model ( E= a + b*S**c ): Personnel Environment Quality Size or.
COCOMO Models.
Chapter 6 Using Questionnaires
Chapter 26 Estimation for Software Projects.
COCOMO MODEL.
Presentation transcript:

LECTURE 14: Software Metrics http://en.wikipedia.org/wiki/Problem_Frames_Approach Ivan Marsic Rutgers University

Topics Why Measure Software Fundamentals of Measurement Theory Use Case Points

Why Measure Software To estimate development time and budget To improve software quality

Measurement Scale (1) Nominal scale – group subjects into categories Example: designate the weather condition as “sunny,” “cloudy,” “rainy,” or “snowy” The two key requirements for the categories: jointly exhaustive & mutually exclusive Minimal conditions necessary for the application of statistical analysis Ordinal scale – subjects compared in order Examples: “bad,” “good,” and “excellent,” or “star” ratings Arithmetic operations such as addition, subtraction, multiplication cannot be applied

Measurement Scale (2) Interval scale – indicates the exact differences between measurement points Examples: traditional temperature scale (centigrade or Fahrenheit scales) Arithmetic operations of addition and subtraction can be applied Ratio scale – an interval scale for which an absolute or nonarbitrary zero point can be located Examples: mass, temperature in degrees Kelvin, length, and time interval All arithmetic operations are applicable

Subjective Metrics

Subjective Metrics

Use Case Points (UCPs) Size and effort metric Advantage: Early in the product development (after detailed use cases are available) Drawback: Many subjective estimation steps involved Use Case Points = function of ( size of functional features (“unadjusted” UCPs) nonfunctional factors (technical complexity factors) environmental complexity factors (ECF) )

Actor Classification and Weights Actor type Description of how to recognize the actor type Weight Simple The actor is another system which interacts with our system through a defined application programming interface (API). 1 Average The actor is a person interacting through a text-based user interface, or another system interacting through a protocol, such as a network communication protocol. 2 Complex The actor is a person interacting via a graphical user interface. 3

Example: Safe Home Access Actor name Description of relevant characteristics Complexity Weight Landlord Landlord is interacting with the system via a graphical user interface (when managing users on the central computer). Complex 3 Tenant Tenant is interacting through a text-based user interface (assuming that identification is through a keypad; for biometrics based identification methods Tenant would be a complex actor). Average 2 LockDevice LockDevice is another system which interacts with our system through a defined API. Simple 1 LightSwitch Same as LockDevice. AlarmBell Database Database is another system interacting through a protocol. Timer Police Our system just sends a text notification to Police. Actor classification for the case study of home access control Unadjusted Actor Weight (UAW) UAW(home access) = 5  Simple  2  Average  1  Complex = 51  22  13 = 12 10

Use Case Weights Use case weights based on the number of transactions Use case category Description of how to recognize the use-case category Weight Simple Simple user interface. Up to one participating actor (plus initiating actor). Number of steps for the success scenario:  3. If presently available, its domain model includes  3 concepts. 5 Average Moderate interface design. Two or more participating actors. Number of steps for the success scenario: 4 to 7. If presently available, its domain model includes between 5 and 10 concepts. 10 Complex Complex user interface or processing. Three or more participating actors. Number of steps for the success scenario: 7. If available, its domain model includes 10 concepts. 15 Use case weights based on the number of transactions

Example: Safe Home Access Use case classification for the case study of home access control Use case Description Category Weight Unlock (UC‑1) Simple user interface. 5 steps for the main success scenario. 3 participating actors (LockDevice, LightSwitch, and Timer). Average 10 Lock (UC‑2) Simple user interface. 2+3=5 steps for the all scenarios. 3 participating actors (LockDevice, LightSwitch, and Timer). ManageUsers (UC‑3) Complex user interface. More than 7 steps for the main success scenario (when counting UC‑6 or UC‑7). Two participating actors (Tenant, Database). Complex 15 ViewAccessHistory (UC‑4) Complex user interface. 8 steps for the main success scenario. 2 participating actors (Database, Landlord). AuthenticateUser (UC‑5) Simple user interface. 3+1=4 steps for all scenarios. 2 participating actors (AlarmBell, Police). AddUser (UC‑6) Complex user interface. 6 steps for the main success scenario (not counting UC‑3). Two participating actors (Tenant, Database). RemoveUser (UC‑7) Complex user interface. 4 steps for the main success scenario (not counting UC‑3). One participating actor (Database). Login (UC‑8) Simple user interface. 2 steps for the main success scenario. No participating actors. Simple 5 UUCW(home access) = 1  Simple  5  Average  2  Complex = 15  510  215 = 85

Technical Complexity Factors (TCFs) Technical factor Description Weight T1 Distributed system (running on multiple machines) 2 T2 Performance objectives (are response time and throughput performance critical?) 1() T3 End-user efficiency 1 T4 Complex internal processing T5 Reusable design or code T6 Easy to install (are automated conversion and installation included in the system?) 0.5 T7 Easy to use (including operations such as backup, startup, and recovery) T8 Portable T9 Easy to change (to add new features or modify existing ones) T10 Concurrent use (by multiple users) T11 Special security features T12 Provides direct access for third parties (the system will be used from multiple sites in different organizations) T13 Special user training facilities are required

Technical Complexity Factors (TCFs) TCF = Constant-1  Constant-2  Technical Factor Total = Constant-1 (C1) = 0.6 Constant-2 (C2) = 0.01 Wi = weight of ith technical factor Fi = perceived complexity of ith technical factor

The development team should assess the perceived complexity of each technical factor from Table 4-5 in the context of their project. Based on their assessment, they assign another “star rating,” a perceived complexity value between zero and five. The perceived complexity value reflects the team’s subjective perception of how much effort will be needed to satisfy a given nonfunctional requirement. For example, if they are developing a distributed system (factor T1 in Table 4-5), it will require more skill and time than if developing a system that will run on a single computer. A perceived complexity value of 0 means that a technical factor is irrelevant for this project, 3 corresponds to average effort, and 5 corresponds to major effort. When in doubt, use 3.

Scaling Factors for TCF & ECF

Example Technical factor Description Weight Perceived Complexity Calculated Factor (WeightPerceived Complexity) T1 Distributed, Web-based system, because of ViewAccessHistory (UC‑4) 2 3 23 = 6 T2 Users expect good performance but nothing exceptional 1 13 = 3 T3 End-user expects efficiency but there are no exceptional demands T4 Internal processing is relatively simple 11 = 1 T5 No requirement for reusability 10 = 0 T6 Ease of install is moderately important (will probably be installed by technician) 0.5 0.53 = 1.5 T7 Ease of use is very important 5 0.55 = 2.5 T8 No portability concerns beyond a desire to keep database vendor options open 22 = 4 T9 Easy to change minimally required T10 Concurrent use is required (Section 5.3) 4 14 = 4 T11 Security is a significant concern 15 = 5 T12 No direct access for third parties T13 No unique training needs Technical Factor Total: 31

Environmental Complexity Factors (ECFs) Environmental factor Description Weight E1 Familiar with the development process (e.g., UML-based) 1.5 E2 Application problem experience 0.5 E3 Paradigm experience (e.g., object-oriented approach) 1 E4 Lead analyst capability E5 Motivation E6 Stable requirements 2 E7 Part-time staff 1 E8 Difficult programming language ECF = Constant-1  Constant-2  Environmental Factor Total = Constant-1 (C1) = 1.4 Constant-2 (C2) = 0.03 Wi = weight of ith environmental factor Fi = perceived impact of ith environmental factor

The development team determines each factor’s perceived impact based on their perception the factor has on the project’s success. A value of 1 means the factor has a strong, negative impact for the project; 3 is average; and 5 means it has a strong, positive impact. A value of zero has no impact on the project’s success. For factors E1-E4, 0 means no experience in the subject, 3 means average, and 5 means expert. For E5, 0 means no motivation for the project, 3 means average, and 5 means high motivation. For E6, 0 means unchanging requirements, 3 means average amount of change expected, and 5 means extremely unstable requirements. For E7, 0 means no part-time technical staff, 3 means on average half of the team is part-time, and 5 means all of the team is part-time. For E8, 0 means an easy-to-use programming language will be used, 3 means the language is of average difficulty, and 5 means a very difficult language is planned for the project

Example Environmental factor Description Weight Perceived Impact Calculated Factor (Weight Perceived Impact) E1 Beginner familiarity with the UML-based development 1.5 1 1.51 = 1.5 E2 Some familiarity with application problem 0.5 2 0.52 = 1 E3 Some knowledge of object-oriented approach 12 = 2 E4 Beginner lead analyst 0.51 = 0.5 E5 Highly motivated, but some team members occasionally slacking 4 14 = 4 E6 Stable requirements expected 5 25 = 5 E7 No part-time staff will be involved 1 10 = 0 E8 Programming language of average difficulty will be used 3 13 = 3 Environmental Factor Total: 11 Environmental complexity factors for the case study of home access

Calculating the Use Case Points (UCP) UCP = UUCP  TCF  ECF From the above calculations, the UCP variables have the following values: UUCP = 97 TCF = 0.91 ECF = 1.07 For the sample case study, the final UCP is the following: UCP = 97  0.91  1.07 = 94.45 or 94 use case points.

Project Duration Productivity Factor (PF) Duration = UCP  PF