+ All Categories
Home > Documents > Spmm Topic 2

Spmm Topic 2

Date post: 06-Apr-2018
Category:
Upload: ahmad-rabbani
View: 216 times
Download: 0 times
Share this document with a friend

of 37

Transcript
  • 8/3/2019 Spmm Topic 2

    1/37

    Software Process Management

    and Metrics

    Topic #2

    Measurement

  • 8/3/2019 Spmm Topic 2

    2/37

    Measurement

    Motivation

    No metric, no movement

    You can neither predict nor

    control what you cannot

    measure2S. Bhatti, Software Process Management

    and Metrics

  • 8/3/2019 Spmm Topic 2

    3/37

    Measurement

    What is measurement?

    3S. Bhatti, Software Process Managementand Metrics

  • 8/3/2019 Spmm Topic 2

    4/37

    Measurement

    Measurement is the process by which number

    or symbols are assigned to attributes of

    entities (objects) in the real world in such a

    way as to ascribe them according to defined

    rules.

    4S. Bhatti, Software Process Managementand Metrics

    Objects Attributes Values

    Attribute 1 Value 11 Value 12 Value 13Object Attribute 2 Value 21 Value 22 Value 23

    Attribute n Value n1 Value n2 Value n3

  • 8/3/2019 Spmm Topic 2

    5/37

    Measurement

    It is wrong to say we measure an object or an

    attribute

    For example, it is wrong to say we measure a room or that

    we measure height, from a measurement point of view,although we use such language in our daily lives all the

    time

    Then what is the proper way to say these things?

    5S. Bhatti, Software Process Managementand Metrics

  • 8/3/2019 Spmm Topic 2

    6/37

    Measurement

    The height of a person is a commonly understood

    attribute of a person, which can be measured. Can

    intelligence of a person be measured?

    Can we measure the height of a person in meters,inches or feet? Which is correct?

    Can we measure the height of a person in miles

    instead of feet or inches? If so why, if not why not?

    It is meaningful to take the average height of a

    football team. Why? Is it meaningful to take the

    average of the jersey numbers of the team? Why?

    6S. Bhatti, Software Process Managementand Metrics

  • 8/3/2019 Spmm Topic 2

    7/37

    Measurement

    Metricsstandards (i.e., commonly accepted

    scales) that define measurable attributes of

    entities, their units and their scopes.

    For example, prices of clothing (number of Pak Rupees)

    and sizes of clothing (XL, L, M, S)

    Measureis a relationship between an

    attribute and a measurement scale. For example, the height of a person and inches

    7S. Bhatti, Software Process Managementand Metrics

  • 8/3/2019 Spmm Topic 2

    8/37

    Measurement

    Metrics Example

    8S. Bhatti, Software Process Managementand Metrics

    Entity Attribute

    Requirement Size, Reuse, Redundancy

    Specification Size, Reuse, Redundancy

    Design Size, Reuse, Modularity,

    Cohesion, Coupling

    Code Size, Reuse, Modularity,

    Cohesion, Coupling,

    Complexity

    Test Cases Size, Coverage

    Metrics for Size

    # of requirements

    # of features

    # of classes

    # of lines of code (LOC)

    # of test cases

  • 8/3/2019 Spmm Topic 2

    9/37

    Measurement

    Measurement Example: Developed Software

    9S. Bhatti, Software Process Managementand Metrics

  • 8/3/2019 Spmm Topic 2

    10/37

    Measurement

    Measurement Example

    1. Select entities: Developed Software

    2. Select attributes: Size

    3. Select metric for attributes: Number of LOC

    4. Specify rules (relationships) ascribed to the

    attributes and entities:

    Developed Software = Developed Software t=0+ (Software Development Rate) dtWhere Software Development Rate = LOC/dt

    10S. Bhatti, Software Process Managementand Metrics

  • 8/3/2019 Spmm Topic 2

    11/37

    Measurement

    Another Measurement Example

    1. Select entities: Availability

    2. Select attributes: Uptime, downtime

    3. Select metric for attributes: time in seconds

    4. Specify rules (relationships) ascribed to the

    attributes and entities:

    Availability = uptime / (uptime + downtime)

    11S. Bhatti, Software Process Managementand Metrics

  • 8/3/2019 Spmm Topic 2

    12/37

    Measurement

    Challenges of Measurement in Software Engineering

    12S. Bhatti, Software Process Managementand Metrics

    Entity attribute value units

    Physical Human Height 178 cm

    Non-physical Human IQ 89 IQ index

    Software Engineering metrics are mostly non-physical

    Availability Reliability, Maturity, Portability, flexibility And relations are hard to quantify, but not hopeless!

  • 8/3/2019 Spmm Topic 2

    13/37

    Measurement

    Challenges of Measurement in Software Engineering

    13S. Bhatti, Software Process Managementand Metrics

    Metrics can be misleading

    Fact 1: Knowledge is power

    Fact 2: Time is money

    Rule/Relationship:

    power = work /time

    The harder you work the more power you have

    As power approaches infinity, time approaches 0

    Substituting power and time

    Knowledge = work/money

    The less you know, the more you make!

    As knowledge approaches zero, money approaches infinity

  • 8/3/2019 Spmm Topic 2

    14/37

    Measurement

    What does measurement in software

    engineering help us do?

    14S. Bhatti, Software Process Managementand Metrics

  • 8/3/2019 Spmm Topic 2

    15/37

    Measurement

    Measurement in software engineering help us understand,

    control and improve:

    The product

    The people (control in a good way, i.e., productivity)

    The technologies (for example, software configuration management)

    The process

    But

    Measuring in software engineering is relatively new and

    controversial

    It is not yet clear which are the appropriate metrics for a

    software project or whether people, processes, or products

    can be compared using metrics

    15S. Bhatti, Software Process Managementand Metrics

  • 8/3/2019 Spmm Topic 2

    16/37

    Measurement

    Measurement in software engineering entails

    selecting, measuring and combining many different

    attributes of:

    Software products Software development resources

    Software development technologies

    Software development processes

    This includes metrics which are directly measureable, such as

    lines of code (LOC), as well as items which are calculated

    from measurement, such as software quality.

    16S. Bhatti, Software Process Managementand Metrics

  • 8/3/2019 Spmm Topic 2

    17/37

    Measurement

    Who benefits from measurement?

    17S. Bhatti, Software Process Managementand Metrics

  • 8/3/2019 Spmm Topic 2

    18/37

    Measurement

    Managers

    What does each step of the process cost?

    How productive is the staff?

    How good is the code that is being developed?

    Will the user be satisfied with the project?

    How can we improve?

    Engineers

    Are the requirements testable?

    Have we found all the failures

    Have we met our process or product goals What can we predict about our software product in the future

    Users?

    18S. Bhatti, Software Process Managementand Metrics

  • 8/3/2019 Spmm Topic 2

    19/37

    Measurement

    What is the scope of software metrics?

    19S. Bhatti, Software Process Managementand Metrics

  • 8/3/2019 Spmm Topic 2

    20/37

    Measurement

    Scope of software metrics include:

    20S. Bhatti, Software Process Managementand Metrics

    Process

    Product

    People Technology

  • 8/3/2019 Spmm Topic 2

    21/37

    Measurement

    Scope of software metrics Cost effort estimation

    Productivity measures and models

    Data collection

    Quality model and measures Reliability models and measures

    Performance evaluation and models

    Structural and complexity metrics

    Capability maturity assessment

    Management metrics

    Evaluation Methods and tools

    21S. Bhatti, Software Process Managementand Metrics

  • 8/3/2019 Spmm Topic 2

    22/37

    Measurement

    Scope of software metrics Cost effort estimation

    Software cost estimation is the process of predicting

    the amount of effort required to build a software

    system Estimates for project cost and time requirements are

    derived during the planning stage of the a project

    Models used to estimate cost can be categorized as

    either cost models (e.g., Constructive Cost ModelCOCOMO) or constraint models (e.g., Software Life

    cycle Management SLIM) based on linear programming

    22S. Bhatti, Software Process Managementand Metrics

  • 8/3/2019 Spmm Topic 2

    23/37

    Measurement

    Scope of software metrics Productivity measures and models

    Productivity = size/effort, LOC/person month

    Productivity model based on decomposition to measureable

    attributes:

    23S. Bhatti, Software Process Managementand Metrics

    Productivity

    Value

    Quality

    Reliability Defect

    Quantity

    Size Functionality

    Cost

    Personnel

    Time Money

    Resources

    Hardware Software

    Complexity

    Constraints Difficulty

  • 8/3/2019 Spmm Topic 2

    24/37

    Measurement

    Scope of software metrics Data collection

    Very critical and very hard step

    1. What Data should be collected?

    2. How it should be collected?

    3. Is collected data reproducible?

    Example: software failure data collection

    1. Time of failure2. Time interval between failure

    3. Cumulative failure up to a given time

    4. Failures experienced in a time interval

    24S. Bhatti, Software Process Managementand Metrics

  • 8/3/2019 Spmm Topic 2

    25/37

    Measurement

    Scope of software metrics Quality model and measures

    McCalls quality factors

    25S. Bhatti, Software Process Managementand Metrics

  • 8/3/2019 Spmm Topic 2

    26/37

    Measurement

    Scope of software metrics Reliability models and measures

    Plot the change of failure intensity () against

    time Models: basic exponential model and

    logarithmic Poisson model

    The basic exponential model assumes finite

    failures in infinite time; the logarithmic Poisson

    model assumes infinite failures

    26S. Bhatti, Software Process Managementand Metrics

  • 8/3/2019 Spmm Topic 2

    27/37

    Measurement

    Scope of software metrics Reliability models

    27S. Bhatti, Software Process Managementand Metrics

  • 8/3/2019 Spmm Topic 2

    28/37

    Measurement

    Scope of software metrics Performance evaluation and models

    Using externally observable performance

    characteristics such as response time andcompletion rate

    Efficiency of algorithms (Big O Notation)

    28S. Bhatti, Software Process Managementand Metrics

  • 8/3/2019 Spmm Topic 2

    29/37

    Measurement

    Scope of software metrics Structural and complexity metrics

    Structural

    Control flow structures

    Data flow structures

    Data structures

    Information flow attributes

    Complexity Cyclomatic complexity, that is, defining number of

    independent paths in the execution of a program

    29S. Bhatti, Software Process Managementand Metrics

  • 8/3/2019 Spmm Topic 2

    30/37

    Measurement

    Scope of software metrics Capability maturity assessment

    Software Engineering Institute (SEI) model

    CMMI: Level 1 trough Level 5

    ISO 9001

    Model for quality assurance in design/development,

    production installation and servicing

    ISO 9000-3 Guidelines for application of ISO 9001 to the

    development, supply and maintenance of software

    30S. Bhatti, Software Process Managementand Metrics

  • 8/3/2019 Spmm Topic 2

    31/37

    Measurement

    Scope of software metrics Management metrics

    Metrics for project control

    1. Metrics for requirements and specification

    2. Metrics for the design model

    3. Metrics for code

    4. Metrics for testing

    5. Schedule metrics

    6. Resource metrics

    7. Change metrics

    31S. Bhatti, Software Process Managementand Metrics

  • 8/3/2019 Spmm Topic 2

    32/37

    Measurement

    Scope of software metrics Evaluation Methods and tools

    Benchmarking

    Certification Configuration management system

    Requirements management system

    Defect management system

    Integrated Development Environment

    Development Tool Chain

    32S. Bhatti, Software Process Managementand Metrics

  • 8/3/2019 Spmm Topic 2

    33/37

    Research

    For Your Research. You will need to know

    Process Modeling

    System Dynamics The calculus underlying process dynamics

    Rates and Levels

    Software Process Modeling

    Modeling and Simulation Tools

    33S. Bhatti, Software Process Managementand Metrics

  • 8/3/2019 Spmm Topic 2

    34/37

    Research

    Topic #5 will formally introduce you to Process Modeling

    Topics #6 will formally introduce you to software process

    modeling AND give you a complete example (based on Brooks

    claim) of what is expected from you for your research project

    Topics #2 (today), #3 and 4 will introduce you to some

    preliminary material on:

    Process Modeling

    System Dynamics

    The calculus underlying process dynamics

    Rates and Levels Software Process Modeling

    Modeling and Simulation Tools

    34S. Bhatti, Software Process Managementand Metrics

  • 8/3/2019 Spmm Topic 2

    35/37

    Software Process

    35S. Bhatti, Software Process Managementand Metrics

    Research

    Software Process

    Software Project

    Jan 1, 2011 Dec 31, 2012

    RequirementsResources Product

  • 8/3/2019 Spmm Topic 2

    36/37

    Another way to look at the Software Process

    36S. Bhatti, Software Process Managementand Metrics

    Research

    Levels Rate

  • 8/3/2019 Spmm Topic 2

    37/37

    Yet another way to look at the Software Process

    37S Bhatti Software Process Management

    Research

    0

    0.2

    0.4

    0.6

    0.8

    1

    1.2

    0 5 10

    FP/Day

    Days

    Rate: 1 FP/Day

    0

    2

    4

    6

    8

    10

    0 2 4 6 8 10

    FP

    Days

    Level: Developed SW

    0

    2

    4

    6

    8

    10

    0 2 4 6 8 10

    Requirement

    Days

    Level: Requirement

    Rate SW = FP/Day

    Rate SW * Day = FP

    Rate Req = - Req/Day

    Initial + (Rate Req * Day) = Req

    Rate = Level/ time


Recommended