Emilia Mendes Professora Visitante CAPES/ Associate Professor Univ. Auckland, NZ. Introdução a Métricas, Qualidade e Medição de Software.

Slides:



Advertisements
Similar presentations
SENG 530: Software Verification and Validation
Advertisements

1 SIM5102 Software Evaluation Framework for software measurement.
Process Improvement.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 28 Slide 1 Process Improvement.
1 SIM5102 Software Evaluation Fundamental of Software Measurement.
SAK5102 SOFTWARE EVALUATION Semester II 2008/ credits Tuesday 6.30 pm – 9.30 pm (BK1) Assoc. Prof Dr. Abdul Azim Abd Ghani 1.
Software Quality Engineering Roadmap
MEASUREMENT. Measurement “If you can’t measure it, you can’t manage it.” Bob Donath, Consultant.
Software Quality Metrics
Planning a measurement program What is a metrics plan? A metrics plan must describe the who, what, where, when, how, and why of metrics. It begins with.
R R R CSE870: Advanced Software Engineering (Cheng): Intro to Software Engineering1 Advanced Software Engineering Dr. Cheng Overview of Software Engineering.
A GOAL-BASED FRAMEWORK FOR SOFTWARE MEASUREMENT
Research Methods in MIS
1 Software metrics in general Seminar on Software Engineering Sanna Martikainen,
Creator: ACSession No: 5 Slide No: 1Reviewer: SS CSE300Advanced Software EngineeringSeptember 2005 Software Measurement - Basics CSE300 Advanced Software.
Software Process and Product Metrics
University of Toronto Department of Computer Science © 2001, Steve Easterbrook CSC444 Lec22 1 Lecture 22: Software Measurement Basics of software measurement.
IT 244 Database Management System Data Modeling 1 Ref: A First Course in Database System Jeffrey D Ullman & Jennifer Widom.
Software Engineering Experimentation An Experimental Framework Jeff Offutt
Software Metrics - Data Collection What is good data? Are they correct? Are they accurate? Are they appropriately precise? Are they consist? Are they associated.
Software Metrics  The measurement of a particular characteristic of a software program's performance or efficiency. (
Measurement theory - for the interested student Erland Jonsson Department of Computer Science and Engineering Chalmers University of Technology.
University of Sunderland CIFM03Lecture 4 1 Software Measurement and Reliability CIFM03 Lecture 4.
Eng.Mosab I. Tabash Applied Statistics. Eng.Mosab I. Tabash Session 1 : Lesson 1 IntroductiontoStatisticsIntroductiontoStatistics.
Software Measurement & Metrics
What is a Business Analyst? A Business Analyst is someone who works as a liaison among stakeholders in order to elicit, analyze, communicate and validate.
This chapter is extracted from Sommerville’s slides. Text book chapter
1Software Measurement Advanced Software Engineering COM360 University of Sunderland © 2001.
Measurement Theory Michael J. Watts
University of Sunderland CIFM03Lecture 2 1 Quality Management of IT CIFM03 Lecture 2.
Software Development Cycle What is Software? Instructions (computer programs) that when executed provide desired function and performance Data structures.
Software Metrics – part 2 Mehran Rezaei. Software Metrics Objectives – Provide State-of-art measurement of software products, processes and projects Why.
Introduction CS 3358 Data Structures. What is Computer Science? Computer Science is the study of algorithms, including their  Formal and mathematical.
University of Southern California Center for Systems and Software Engineering Metrics Organizational Guidelines [1] ©USC-CSSE1 [1] Robert Grady, Practical.
Scale2 1 Measurement Scales The “richness” of the measure.
SOFTWARE METRICS. Software Process Revisited The Software Process has a common process framework containing: u framework activities - for all software.
Cmpe 589 Spring 2006 Lecture 2. Software Engineering Definition –A strategy for producing high quality software.
Introduction to Measurement. According to Lord Kelvin “When you can measure what you are speaking about and express it in numbers, you know something.
A Metrics Program. Advantages of Collecting Software Quality Metrics Objective assessments as to whether quality requirements are being met can be made.
These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 6/e and are provided with permission by.
Making knowledge work harder Process Improvement.
Advanced Software Engineering Lecture 4: Process & Project Metrics.
Software Measurement Measuring software indicators: metrics and methods Jalote-2002,
F02measure13 1 Software Measurement Measurement is essential for a science.
Software Measurement: A Necessary Scientific Basis By Norman Fenton Presented by Siv Hilde Houmb Friday 1 November.
CIS 4251 / CIS 5930 SOFTWARE DEVELOPMENT Fall 1999 Sept. 1, 1999 Marge Holtsinger.
Emilia Mendes1 Professora Visitante CAPES/ Associate Professor Univ. Auckland, NZ. Introdução a Métricas, Qualidade e Medição de Software.
PROCESS ASSESSMENT AND IMPROVEMENT. Process Assessment  A formal assessment did not seem financially feasible at the onset of the company’s process improvement.
Advanced Software Engineering Dr. Cheng
Measurement Theory Michael J. Watts
OPERATING SYSTEMS CS 3502 Fall 2017
The Development Process of Web Applications
Complexity Time: 2 Hours.
CPSC 873 John D. McGregor GQM.
Software Engineering (CSI 321)
Software Testing and Quality Assurance
12 Steps to Useful Software Metrics
Research Methods in Computer Science
The Basic of Measurement
Software Engineering Experimentation
CSSSPEC6 SOFTWARE DEVELOPMENT WITH QUALITY ASSURANCE
Chapter 13 Quality Management
Capability Maturity Model
Measurement What is it and why do it? 2/23/2019
Rai University , November 2014
Goal-Driven Continuous Risk Management
IT 244 Database Management System
Goal-Driven Software Measurement
Capability Maturity Model
Metrics Organizational Guidelines [1]
Presentation transcript:

Emilia Mendes Professora Visitante CAPES/ Associate Professor Univ. Auckland, NZ. Introdução a Métricas, Qualidade e Medição de Software

Motivation Metric's Definition Goal-based Framework Empirical Investigations Threats to Validity Outline

Emilia Mendes3 Economic measurements to determine price and pay increase. Measurement in radar systems to detect aircrafts when direct vision obscured. Measurement in medical systems enabling physicians to diagnose illnesses. Height and size measurement to ensure our clothing will fit properly. Many more… Measurement Occurs Everywhere…

Emilia Mendes4 “Measurement is the process by which numbers or symbols are assigned to attributes of entities in the real world in such a way as to describe them according to clearly defined rules” Entity: an object or an event in the real world. Attribute: feature or property of an entity. Numbers and symbols are abstractions used to reflect perceptions of the real world. Measurement: Definition

Emilia Mendes5 People’s heights S M L  T-shirts’ sizes Examples of Entities & Attributes

Emilia Mendes6 Software measurement is the process of measuring attributes (measures) of software entities Software measures are used to quantify software, resources, and development processes Measures can be directly measured (lines of code, number of html pages), or indirectly measured (software quality, software usability). Software & Measurement

Emilia Mendes7 Software measurement is important for three basic activities: –Understand what is happening during development and maintenance. –Control what is happening on our projects. –Improve our resources, processes and products… Improve what we do, how it is done, and who does it! Software Measurement: Importance

Emilia Mendes8 Every measurement action must be motivated by a particular goal or need that is clearly defined and easily understandable. Measurement objectives must be specific, tied to what the managers, developers and users need to know. Motivation & Objectives

Emilia Mendes9 Our new technique guarantees 100% reliability! Our tool improves productivit y by 200%!!! Build your code with half the staff in a quarter of the time!!! Cuts test time by 2/3!! Measurement for Promotion

Emilia Mendes10 Cost and Effort Estimation Productivity Measures and Models Data Collection Quality Models and measures Reliability Models Performance Evaluation and Models Structural and Complexity Metrics Capability Maturity Assessment Management by Metrics Evaluation of Methods and Tools Scope of Software/Web Measurement

We Introduce here a Goal-based Framework to help organisations decide and focus on what they need, and from there choose what to measure and how it will be measured. The Framework described was proposed by Norman Fenton and Shari Lawrence Pfleeger on their book Software Measurement and Metrics. How to initiate a measurement programme? Emilia Mendes11

Emilia Mendes12 The primary question in a goal-based measurement is: –“What do we want to know or learn?” instead of “what measures shall we use?” The answers will depend on the organisation’s goals, therefore no fixed set of measures is universally adequate. Goal-based Framework

Emilia Mendes13 The framework is based on three principles: goals –Determining relevant measurement goals entities –Classifying the entities to be examined level of maturity –Identifying the level of maturity an organisation has reached Goal-based Framework

Emilia Mendes14 The Goal-Question-Metric (GQM) approach provides a framework involving three steps: –Goal –Goal: List the major goals of the development or maintenance project –Question –Question: Derive from each goal the questions that must be answered to determine if the goals are being met –Metric –Metric: Decide what must be measured in order to be able to answer the questions adequately GQM Approach

Emilia Mendes15 Goal: Evaluate effectiveness of coding standard using Fortran Questions: Who is using the standard? What is coder productivity? What is code quality? Measures: Proportion of coders - using standard - using Fortran Experience of coders -with standard -with Fortran -with environment -etc Code size (LOC, function Points etc) Effort Errors… GQM Example

Emilia Mendes16 PurposePurpose: To (characterize, evaluate, predict, motivate etc) the (process, product, model, measure etc) in order to (understand, assess, manage, engineer, learn, improve etc) it. –Example: To evaluate the maintenance process in order to improve it. Template for Goal Definition (1)

Emilia Mendes17 Perspective: Examine the (cost, effectiveness, correctness, defects, changes, product measures etc) from the viewpoint of the (developer, manager, customer etc). Example: Examine the cost from the viewpoint of the manager. Template for Goal Definition (2)

Emilia Mendes18 Environment: The environment consists of the following: process factors, people factors, problem factors, methods, tools, constraints etc. Example: The maintenance staff are poorly motivated programmers who have limited access to tools. Template for Goal Definition (3)

Emilia Mendes19 Purpose: –Determine a way to improve the productivity of our development team by evaluating their current productivity Perspective: –Examine the team personality factors, expertise of the development organisation, team’s analysis and design techniques, knowledge of programming languages used by our development team, from the point of view of the project manager Environment and constraints: –Payroll applications programming in C++ –100 software developers with 5 or more years experience in C++ –Customers are businesses –Do not maintain a reusable module database –Examine new projects completed from 1/1/2008 to 31/12/2009. Example

Emilia Mendes20 Three classes of entities: –Processes – collections of software related activities usually associated with some timescale. Different SW processes: development, maintenance, testing, reuse, configuration and management process etc. –Products – any artefacts, deliverables or documents that result from a process activity. –Resources – entities required by a process activity. What Entities to Measure?

Emilia Mendes21 Within each entity class, there can be two types of attributes: –Internal attributes of a product, process or resource are those that can be measured by examining the product, process or resource on its own, separate from its behaviour. –External attributes of a product, process or resource relates to its environment. The behaviour of the product, process or resource is important, rather than the entity itself. Attribute Types

Emilia Mendes22 Sample Process Measures (1)

Emilia Mendes23 Sample Process Measures (2)

Emilia Mendes24 Sample Product Measures (1)

Emilia Mendes25 Sample Product Measures (2)

Emilia Mendes26 Sample Resource Measures

Emilia Mendes27 We can relate the GQM template to the Entity & Attribute framework. A Goal or question can be associated with at least one pair of Entities and Attributes. Once a measure is obtained, it can be related back to questions and goals. GQM, Entities and Attributes

Emilia Mendes28 Predictable Process Standard, Consistent Process Disciplined Process Continuously Improving Process Maturity of an Organisation: CMM Levels

Emilia Mendes29 Since process maturity suggests that one can only measure what is visible, the incorporation of process maturity with GQM helps identify what measures will be most useful to the organisation at that particular moment in time. Combining GQM with Process Maturity

Emilia Mendes30 Five major types –nominal –ordinal –interval –ratio –absolute knowing the characteristics of each type helps us to interpret the measures Scale Types (1)

Emilia Mendes31 The most primitive form of measurement Defines classes or categories, and places entities in a particular class or category, based on the value of the attribute. Characteristics –Entities are only organised in different classes. –No notion of ordering among the classes –Any numbering or symbolic representation of the classes is acceptable, but there is no notion of magnitude associated with the numbers of symbols. Nominal Scale

Emilia Mendes32 Examples using Nominal Scale

Emilia Mendes33 Often useful to augment the nominal scale with information about an ordering of classes or categories. Characteristics Entities belong to classes that are ordered with respect to the attribute. The numbers represent ranking only, so addition, subtraction and other arithmetic operations have no meaning. Ordinal Scale

Emilia Mendes34 Examples using Ordinal Scale

Emilia Mendes35 Useful to augment the ordinal scale with information about the size of the intervals that separate the classes. Characteristics An interval scale preserves order, as with an ordinal scale An interval scale preserves differences but not ratios. That is, we know the difference between any two of the ordered classes in the range of the mapping, but computing the ratio of two classes in the range does not make sense. Addition and subtraction are acceptable operations, but not multiplication and division Interval Scale

Emilia Mendes36 Examples of Interval Scale

Emilia Mendes37 This is the most useful scale of measurement, common in the physical sciences. Characteristics It is a measurement that preserves ordering, the size of intervals between entities, and rations between entities. There is a zero element, representing total lack of the attribute. All arithmetic can be meaningfully applied to the classes in the range of the mapping. Ratio Scale

Emilia Mendes38 Examples using Ratio Scale

Emilia Mendes39 This is the most restrictive scale of measurement. Characteristics The measurement for an absolute scale is made simply by counting the number of elements in the entity set. The attribute always takes the form “number of occurrences of x in the entity”. There is only one possible measurement, namely the actual count. All arithmetic analysis of the resulting count is meaningful. Absolute Scale

Emilia Mendes40 Examples using Ratio Scale

Emilia Mendes41 Summary of Scale Types

Exercise