SlideShare ist ein Scribd-Unternehmen logo
1 von 23
objectives:
   In this session, you will learn to:
       Measure the process-components of a software development process
       Measuring a project by using the function point technique
       Measure the complexity of UML artifacts
   To measure a software development process, you need to measure all its process-components.
   To measure the process-components, you need to measure its dimensions.
   Like the quality process, the process-component consists of the following dimensions:
      Technology: Refers to the output of a process-component.
      Methodology: Refers to activities and tasks related to a process-component.
      Sociology: Refers to roles in a process-component.
   To measure all the process-components of a software development process, you need to calculate the total number of
    roles, activities, output, and tasks.
   The total number of roles, activities, output, and tasks is also called total unit value.
   You may need to refine the total unit value in context of a specific environment because the same software can be
    implemented in various environments.
   To refine the total unit value, you need to determine:
      The number of instances of each dimension of the
       process-components required in the software development process.
      The weighing factors for each dimension of the
       process-components.
   The weighing factor for each dimension of
    process-components depends upon the following:
      The environment of the software project.
      The importance of each dimension in the software project.
   To obtain the strength of the process-component dimensions, you need to multiply the number of instances of the
    dimensions to their weighing factor.
   Estimating the number of dimensions of the
    process-components for each iteration is known as the planned productivity.
   The actual productivity is determined at the completion of the iteration.
   To analyze the total expected delay in the project:
      Calculate the adjustment factor.
      Calculate revised time required to complete the successive iterations using the adjustment factor.
   Adjustment factor can be calculated as:
     Adjustment Factor = Actual productivity / Planned productivity

   To calculate the revised time required to complete a successive iteration, you need to divide the planned duration by
    the adjustment factor.
   The Function Point (FP) estimation technique is the most popular technique used to estimate the size of a project.
   This technique breaks systems into smaller components, so they can be better understood and analyzed.
   FPs are a unit measure for software much like an hour is to measuring time, miles are to measuring distance, or Celsius
    is to measuring temperature.
   The FP technique was invented by Albercht of IBM in 1979 and has evolved over the years.
   The key to identifying the FPs of a software, is to identify the different components that make up a software system.
   Using the FP technique, the estimation of the total work can be done by counting the total number of:
      Files
      Interfaces
      Inputs
      Outputs
      Enquiries
   Calculating FPs for a project involves the following steps:
    1. Determine the type of FP count
    2. Identify the scope and application boundary
    3. Determine Unadjusted Function Point (UFP)
    4. Determine the Value Adjustment Factor (VAF)
    5. Calculate the Adjusted Function Point (AFP)
   Determining the Type of FP Count:
      The three basic categories of function points based on the type of project are:
            Development Project FP Count
            Enhancement Project FP Count
            Application FP Count
   Identifying the Scope and Application Boundary:
      This helps in identifying the components of the proposed system and the system’s references to
       external components.
   Determining the UFP:
     1.    Identify the following two types of information:
            Data at rest: Comprises of stored data that is required for processing.
            Data in motion: Comprises of transactions that result in movement of data in and out of an application.
     2.    Based on this information, calculate:
            Data FPs: Calculated by measuring the Internal Logical Files (ILFs) and External Interface Files (EIFs) –
             Together called File Types referenced (FTRs). For each FTR, the following values are measured:
                       Data Element Types (DETs)
                       Record Element Types (RETs)
            Transaction FPs: These are calculated by measuring the following:
                       External Input (EI)
                       External Enquiry (EQ)
                       External Output (EO)
   Determining the VAF:
           VAF is based on General System Characteristics (GSCs).
           There are 14 GSCs:
                   Data Communication
                   Distributed Processing
                   Performance Objectives
                   Heavily Used Configuration
                   Transaction Rule
                   On-line Update
                   Complex Processing
                   Reusability
                   Installation Ease
                   Operational Ease
                   Multiple Site Use
                   Facility Change
   To calculate the VAF, you need to:
     1.    Determine the degree of influence (DI) of each GSC. The DI of a GSC varies from 0 to 5:
                   0 – Not Present, No Influence
                   1 – Incidental Influence
                   2 – Moderate Influence
                   3 – Average Influence
                   4 – Significant Influence
                   5 – String Influence Throughout
     2.    Add the DIs of the 14 GSCs to obtain the Total Degree of Influence (TDI).
     3.    Use the following formula to calculate VAF:
               VAF = TDI    .01 + 0.65
   Calculating the AFP:
            To calculate AFP, you can use the following formula:
                  AFP = (TUFP + CFP)   VAF
       Where, CFP is the FP count for conversion functionality.
   Complexity refers to the degree of interdependency among the UML artifacts in an object-oriented software system.
   The complexity of the dynamic components depends upon the complexity of static components. Therefore, you only
    need to measure the complexity of following static components:
      Use case diagram
      Class diagram
      Component diagram
   You measure the complexity of use case diagrams by identifying the number of actors, use cases, and their
    relationships used in the diagram.
   You estimate the complexity of a use case in terms of the length of description required to explain the interaction
    between multiple use cases and actors.
   The following are the categories of use cases based on the length of their description:
      Simple: Refers to the use case whose set of interactions can be described in a single sheet of paper.
      Medium: Refers to the use case whose set of interactions can be described in multiple sheets of paper.
      Complex: Refers to the use case that shares the extend and include relationships with the other use cases and
       require multiple sheets of paper.
   You measure the complexity of a class diagram by determining:
      The size of its classes.
      The number of relationships among classes.
      The visibility of attributes of the classes.
      The visibility of operations of the classes.
   Complexity of a class diagram also depends upon the number of objects and their relationship.
   To measure the complexity of a class diagram, you can use the following object-oriented metrics suites:
      Chidamber and Kemerer (CK)
      Metrics for Object-Oriented Design (MOOD)
      Lorenz and Kidd
   In the CK metrics suite, the following class-based design metrics have been proposed for object-oriented systems:
      Weighted Methods per Class (WMC): Measure the complexity of a class in terms of the complexity of its
       operations.
      Depth of Inheritance Tree (DIT): Measures the total number of edges in the inheritance tree from its lowest
       node to its root.
      Number of Children (NOC): Measures the number of derived classes associated with a base class.
      Response for a Class (RFC): Measures the number of methods in the response set.
      Lack of Cohesion in Methods (LCOM): Measures the number of operations that access the same attribute.
   The MOOD metrics suite consists of two metrics that quantitatively measure the characteristics of object-oriented
    design:
      Method Inheritance Factor (MIF): Measures the extent to which a UML class diagram can contain inheritance
       for accessing operations and attributes of a class.
      Coupling Factor (CF): Measures the coupling among classes of a class diagram.
   The Lorenz and Kidd metrics suite consists of three metrics:
      Class Size (CS): Measures the size of a class by measuring the total number of operations and attributes
       encapsulated within the class.
      Number of Operations Overridden (NOO): Measures the total number of operations of a base class that a
       derived class has overridden.
      Number of Operations Added (NOA): Measures the total number of operations and attributes that are
       declared in a derived class and have private visibility.
   Complexity of a component diagram is measured by measuring:
      Size of the components
      Processing speed of the components
   The size of a component diagram depends on:
      The number of classes that are realized in the component.
      The number of interfaces that share dependency relationship with the component.
   The processing speed of a component depends on the number of threads supported by the component.
   In this session, you learned that:
      To measure all the process-components of a software development process, you need to calculate the total
       number of roles, activities, output, and tasks involved in the software project.
      The adjustment factor is used to determine the delay in the software project.
      The FP estimation technique is the most popular technique used to estimate the size of a project.
      In the FP technique, the estimation of the total work can be done by counting the total number of:
             Files
             Interfaces
             Inputs
             Outputs
             Enquiries
 To measure the complexity of UML artifacts, you determine the size and complexity of use case, class, and
  component diagrams.
 The CK, MOOD, and Lorenz and Kidd metrics suites measure the size and complexity of a class diagram.
 The complexity of component diagrams is measured by determining the size and processing speed of components.

Weitere ähnliche Inhalte

Was ist angesagt?

Software Estimation Part I
Software Estimation Part ISoftware Estimation Part I
Software Estimation Part I
sslovepk
 
14 ooad uml-19
14 ooad uml-1914 ooad uml-19
14 ooad uml-19
Niit Care
 
10 ooad uml-13
10 ooad uml-1310 ooad uml-13
10 ooad uml-13
Niit Care
 
Issues in software cost estimation
Issues in software cost estimationIssues in software cost estimation
Issues in software cost estimation
Kashif Aleem
 
Software estimation techniques
Software estimation techniquesSoftware estimation techniques
Software estimation techniques
Tan Tran
 
Functional point analysis
Functional point analysisFunctional point analysis
Functional point analysis
DestinationQA
 

Was ist angesagt? (20)

Dependable Systems - Hardware Dependability with Diagnosis (13/16)
Dependable Systems - Hardware Dependability with Diagnosis (13/16)Dependable Systems - Hardware Dependability with Diagnosis (13/16)
Dependable Systems - Hardware Dependability with Diagnosis (13/16)
 
Software Size Estimation
Software Size EstimationSoftware Size Estimation
Software Size Estimation
 
Availability tactics
Availability tacticsAvailability tactics
Availability tactics
 
Complexity metrics and models
Complexity metrics and modelsComplexity metrics and models
Complexity metrics and models
 
Loc and function point
Loc and function pointLoc and function point
Loc and function point
 
Software Estimation Part I
Software Estimation Part ISoftware Estimation Part I
Software Estimation Part I
 
Ch 5- Achieving Qualities
Ch 5- Achieving QualitiesCh 5- Achieving Qualities
Ch 5- Achieving Qualities
 
Analysis of Software Complexity Measures for Regression Testing
Analysis of Software Complexity Measures for Regression TestingAnalysis of Software Complexity Measures for Regression Testing
Analysis of Software Complexity Measures for Regression Testing
 
Software metrics
Software metricsSoftware metrics
Software metrics
 
Software Estimation Techniques
Software Estimation TechniquesSoftware Estimation Techniques
Software Estimation Techniques
 
Software cost estimation
Software cost estimationSoftware cost estimation
Software cost estimation
 
14 ooad uml-19
14 ooad uml-1914 ooad uml-19
14 ooad uml-19
 
10 ooad uml-13
10 ooad uml-1310 ooad uml-13
10 ooad uml-13
 
Issues in software cost estimation
Issues in software cost estimationIssues in software cost estimation
Issues in software cost estimation
 
Metrics
MetricsMetrics
Metrics
 
Se 381 - lec 25 - 32 - 12 may29 - program size and cost estimation models
Se 381 - lec 25 - 32 - 12 may29 - program size and cost estimation modelsSe 381 - lec 25 - 32 - 12 may29 - program size and cost estimation models
Se 381 - lec 25 - 32 - 12 may29 - program size and cost estimation models
 
Dependable Systems - Hardware Dependability with Redundancy (14/16)
Dependable Systems - Hardware Dependability with Redundancy (14/16)Dependable Systems - Hardware Dependability with Redundancy (14/16)
Dependable Systems - Hardware Dependability with Redundancy (14/16)
 
Software estimation techniques
Software estimation techniquesSoftware estimation techniques
Software estimation techniques
 
Functional point analysis
Functional point analysisFunctional point analysis
Functional point analysis
 
Software cost estimation
Software cost estimationSoftware cost estimation
Software cost estimation
 

Andere mochten auch

Second Language Teaching Methods
Second Language Teaching MethodsSecond Language Teaching Methods
Second Language Teaching Methods
guest0c02e6
 

Andere mochten auch (14)

Analysis instruction text tips to help streamline the essay writing process b...
Analysis instruction text tips to help streamline the essay writing process b...Analysis instruction text tips to help streamline the essay writing process b...
Analysis instruction text tips to help streamline the essay writing process b...
 
PDI of RAZ
PDI of RAZPDI of RAZ
PDI of RAZ
 
English language teaching aspects
English language teaching aspects English language teaching aspects
English language teaching aspects
 
CS Fundamentals: Scalability and Memory
CS Fundamentals: Scalability and MemoryCS Fundamentals: Scalability and Memory
CS Fundamentals: Scalability and Memory
 
Into the mind - How to teach vocabulary effectively
Into the mind - How to teach vocabulary effectivelyInto the mind - How to teach vocabulary effectively
Into the mind - How to teach vocabulary effectively
 
How to teach vocabulary (HW)
How to teach vocabulary (HW)How to teach vocabulary (HW)
How to teach vocabulary (HW)
 
How to teach vocabulary?
How to teach vocabulary?How to teach vocabulary?
How to teach vocabulary?
 
How To Effectively Teach Vocabulary
How To Effectively Teach VocabularyHow To Effectively Teach Vocabulary
How To Effectively Teach Vocabulary
 
Let’s Help Melly
Let’s Help MellyLet’s Help Melly
Let’s Help Melly
 
Teaching Vocabulary[1]
Teaching Vocabulary[1]Teaching Vocabulary[1]
Teaching Vocabulary[1]
 
Teaching speaking and pronunciation ppt
Teaching speaking and pronunciation pptTeaching speaking and pronunciation ppt
Teaching speaking and pronunciation ppt
 
How to teach vocabulary
How to teach vocabularyHow to teach vocabulary
How to teach vocabulary
 
Second Language Teaching Methods
Second Language Teaching MethodsSecond Language Teaching Methods
Second Language Teaching Methods
 
Common difficulties and solutions in teaching English as a foreign language
Common difficulties and solutions in teaching English as a foreign languageCommon difficulties and solutions in teaching English as a foreign language
Common difficulties and solutions in teaching English as a foreign language
 

Ähnlich wie Chapter 12

Metrics for project size estimation
Metrics for project size estimationMetrics for project size estimation
Metrics for project size estimation
Nur Islam
 
software effort estimation
 software effort estimation software effort estimation
software effort estimation
Besharam Dil
 
Hard work matters for everyone in everytbing
Hard work matters for everyone in everytbingHard work matters for everyone in everytbing
Hard work matters for everyone in everytbing
lojob95766
 
Software Engineering
Software EngineeringSoftware Engineering
Software Engineering
poonam.rwalia
 

Ähnlich wie Chapter 12 (20)

Cost estimation techniques
Cost estimation techniquesCost estimation techniques
Cost estimation techniques
 
Cost effort.ppt
Cost effort.pptCost effort.ppt
Cost effort.ppt
 
Software maintenance
Software maintenanceSoftware maintenance
Software maintenance
 
Metrics for project size estimation
Metrics for project size estimationMetrics for project size estimation
Metrics for project size estimation
 
Software Quality Metrics
Software Quality MetricsSoftware Quality Metrics
Software Quality Metrics
 
software effort estimation
 software effort estimation software effort estimation
software effort estimation
 
Software Product Measurement and Analysis in a Continuous Integration Environ...
Software Product Measurement and Analysis in a Continuous Integration Environ...Software Product Measurement and Analysis in a Continuous Integration Environ...
Software Product Measurement and Analysis in a Continuous Integration Environ...
 
Ijetr011834
Ijetr011834Ijetr011834
Ijetr011834
 
Sqa
SqaSqa
Sqa
 
Decomposition technique In Software Engineering
Decomposition technique In Software Engineering Decomposition technique In Software Engineering
Decomposition technique In Software Engineering
 
Hard work matters for everyone in everytbing
Hard work matters for everyone in everytbingHard work matters for everyone in everytbing
Hard work matters for everyone in everytbing
 
Software Engineering Important Short Question for Exams
Software Engineering Important Short Question for ExamsSoftware Engineering Important Short Question for Exams
Software Engineering Important Short Question for Exams
 
Estimation
EstimationEstimation
Estimation
 
Software Engineering
Software EngineeringSoftware Engineering
Software Engineering
 
Software Engineering Fundamentals in Computer Science
Software Engineering Fundamentals in Computer ScienceSoftware Engineering Fundamentals in Computer Science
Software Engineering Fundamentals in Computer Science
 
software engineering module i & ii.pptx
software engineering module i & ii.pptxsoftware engineering module i & ii.pptx
software engineering module i & ii.pptx
 
IJSRED-V2I4P8
IJSRED-V2I4P8IJSRED-V2I4P8
IJSRED-V2I4P8
 
Sdlc
SdlcSdlc
Sdlc
 
Sdlc
SdlcSdlc
Sdlc
 
Software metrics
Software metricsSoftware metrics
Software metrics
 

Kürzlich hochgeladen

+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
?#DUbAI#??##{{(☎️+971_581248768%)**%*]'#abortion pills for sale in dubai@
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
panagenda
 

Kürzlich hochgeladen (20)

Navi Mumbai Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Navi Mumbai Call Girls 🥰 8617370543 Service Offer VIP Hot ModelNavi Mumbai Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Navi Mumbai Call Girls 🥰 8617370543 Service Offer VIP Hot Model
 
GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdf
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
 
A Beginners Guide to Building a RAG App Using Open Source Milvus
A Beginners Guide to Building a RAG App Using Open Source MilvusA Beginners Guide to Building a RAG App Using Open Source Milvus
A Beginners Guide to Building a RAG App Using Open Source Milvus
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of Terraform
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
 
AXA XL - Insurer Innovation Award Americas 2024
AXA XL - Insurer Innovation Award Americas 2024AXA XL - Insurer Innovation Award Americas 2024
AXA XL - Insurer Innovation Award Americas 2024
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
ICT role in 21st century education and its challenges
ICT role in 21st century education and its challengesICT role in 21st century education and its challenges
ICT role in 21st century education and its challenges
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
 
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
 
DBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor Presentation
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
Manulife - Insurer Transformation Award 2024
Manulife - Insurer Transformation Award 2024Manulife - Insurer Transformation Award 2024
Manulife - Insurer Transformation Award 2024
 

Chapter 12

  • 1. objectives:  In this session, you will learn to:  Measure the process-components of a software development process  Measuring a project by using the function point technique  Measure the complexity of UML artifacts
  • 2. To measure a software development process, you need to measure all its process-components.  To measure the process-components, you need to measure its dimensions.  Like the quality process, the process-component consists of the following dimensions:  Technology: Refers to the output of a process-component.  Methodology: Refers to activities and tasks related to a process-component.  Sociology: Refers to roles in a process-component.
  • 3. To measure all the process-components of a software development process, you need to calculate the total number of roles, activities, output, and tasks.  The total number of roles, activities, output, and tasks is also called total unit value.  You may need to refine the total unit value in context of a specific environment because the same software can be implemented in various environments.
  • 4. To refine the total unit value, you need to determine:  The number of instances of each dimension of the process-components required in the software development process.  The weighing factors for each dimension of the process-components.  The weighing factor for each dimension of process-components depends upon the following:  The environment of the software project.  The importance of each dimension in the software project.
  • 5. To obtain the strength of the process-component dimensions, you need to multiply the number of instances of the dimensions to their weighing factor.  Estimating the number of dimensions of the process-components for each iteration is known as the planned productivity.  The actual productivity is determined at the completion of the iteration.  To analyze the total expected delay in the project:  Calculate the adjustment factor.  Calculate revised time required to complete the successive iterations using the adjustment factor.
  • 6. Adjustment factor can be calculated as: Adjustment Factor = Actual productivity / Planned productivity  To calculate the revised time required to complete a successive iteration, you need to divide the planned duration by the adjustment factor.
  • 7. The Function Point (FP) estimation technique is the most popular technique used to estimate the size of a project.  This technique breaks systems into smaller components, so they can be better understood and analyzed.  FPs are a unit measure for software much like an hour is to measuring time, miles are to measuring distance, or Celsius is to measuring temperature.
  • 8. The FP technique was invented by Albercht of IBM in 1979 and has evolved over the years.  The key to identifying the FPs of a software, is to identify the different components that make up a software system.  Using the FP technique, the estimation of the total work can be done by counting the total number of:  Files  Interfaces  Inputs  Outputs  Enquiries
  • 9. Calculating FPs for a project involves the following steps: 1. Determine the type of FP count 2. Identify the scope and application boundary 3. Determine Unadjusted Function Point (UFP) 4. Determine the Value Adjustment Factor (VAF) 5. Calculate the Adjusted Function Point (AFP)
  • 10. Determining the Type of FP Count:  The three basic categories of function points based on the type of project are:  Development Project FP Count  Enhancement Project FP Count  Application FP Count  Identifying the Scope and Application Boundary:  This helps in identifying the components of the proposed system and the system’s references to external components.
  • 11. Determining the UFP: 1. Identify the following two types of information:  Data at rest: Comprises of stored data that is required for processing.  Data in motion: Comprises of transactions that result in movement of data in and out of an application. 2. Based on this information, calculate:  Data FPs: Calculated by measuring the Internal Logical Files (ILFs) and External Interface Files (EIFs) – Together called File Types referenced (FTRs). For each FTR, the following values are measured:  Data Element Types (DETs)  Record Element Types (RETs)  Transaction FPs: These are calculated by measuring the following:  External Input (EI)  External Enquiry (EQ)  External Output (EO)
  • 12. Determining the VAF:  VAF is based on General System Characteristics (GSCs).  There are 14 GSCs:  Data Communication  Distributed Processing  Performance Objectives  Heavily Used Configuration  Transaction Rule  On-line Update  Complex Processing  Reusability  Installation Ease  Operational Ease  Multiple Site Use  Facility Change
  • 13. To calculate the VAF, you need to: 1. Determine the degree of influence (DI) of each GSC. The DI of a GSC varies from 0 to 5: 0 – Not Present, No Influence 1 – Incidental Influence 2 – Moderate Influence 3 – Average Influence 4 – Significant Influence 5 – String Influence Throughout 2. Add the DIs of the 14 GSCs to obtain the Total Degree of Influence (TDI). 3. Use the following formula to calculate VAF: VAF = TDI .01 + 0.65
  • 14. Calculating the AFP:  To calculate AFP, you can use the following formula: AFP = (TUFP + CFP) VAF Where, CFP is the FP count for conversion functionality.
  • 15. Complexity refers to the degree of interdependency among the UML artifacts in an object-oriented software system.  The complexity of the dynamic components depends upon the complexity of static components. Therefore, you only need to measure the complexity of following static components:  Use case diagram  Class diagram  Component diagram
  • 16. You measure the complexity of use case diagrams by identifying the number of actors, use cases, and their relationships used in the diagram.  You estimate the complexity of a use case in terms of the length of description required to explain the interaction between multiple use cases and actors.  The following are the categories of use cases based on the length of their description:  Simple: Refers to the use case whose set of interactions can be described in a single sheet of paper.  Medium: Refers to the use case whose set of interactions can be described in multiple sheets of paper.  Complex: Refers to the use case that shares the extend and include relationships with the other use cases and require multiple sheets of paper.
  • 17. You measure the complexity of a class diagram by determining:  The size of its classes.  The number of relationships among classes.  The visibility of attributes of the classes.  The visibility of operations of the classes.  Complexity of a class diagram also depends upon the number of objects and their relationship.  To measure the complexity of a class diagram, you can use the following object-oriented metrics suites:  Chidamber and Kemerer (CK)  Metrics for Object-Oriented Design (MOOD)  Lorenz and Kidd
  • 18. In the CK metrics suite, the following class-based design metrics have been proposed for object-oriented systems:  Weighted Methods per Class (WMC): Measure the complexity of a class in terms of the complexity of its operations.  Depth of Inheritance Tree (DIT): Measures the total number of edges in the inheritance tree from its lowest node to its root.  Number of Children (NOC): Measures the number of derived classes associated with a base class.  Response for a Class (RFC): Measures the number of methods in the response set.  Lack of Cohesion in Methods (LCOM): Measures the number of operations that access the same attribute.
  • 19. The MOOD metrics suite consists of two metrics that quantitatively measure the characteristics of object-oriented design:  Method Inheritance Factor (MIF): Measures the extent to which a UML class diagram can contain inheritance for accessing operations and attributes of a class.  Coupling Factor (CF): Measures the coupling among classes of a class diagram.
  • 20. The Lorenz and Kidd metrics suite consists of three metrics:  Class Size (CS): Measures the size of a class by measuring the total number of operations and attributes encapsulated within the class.  Number of Operations Overridden (NOO): Measures the total number of operations of a base class that a derived class has overridden.  Number of Operations Added (NOA): Measures the total number of operations and attributes that are declared in a derived class and have private visibility.
  • 21. Complexity of a component diagram is measured by measuring:  Size of the components  Processing speed of the components  The size of a component diagram depends on:  The number of classes that are realized in the component.  The number of interfaces that share dependency relationship with the component.  The processing speed of a component depends on the number of threads supported by the component.
  • 22. In this session, you learned that:  To measure all the process-components of a software development process, you need to calculate the total number of roles, activities, output, and tasks involved in the software project.  The adjustment factor is used to determine the delay in the software project.  The FP estimation technique is the most popular technique used to estimate the size of a project.  In the FP technique, the estimation of the total work can be done by counting the total number of:  Files  Interfaces  Inputs  Outputs  Enquiries
  • 23.  To measure the complexity of UML artifacts, you determine the size and complexity of use case, class, and component diagrams.  The CK, MOOD, and Lorenz and Kidd metrics suites measure the size and complexity of a class diagram.  The complexity of component diagrams is measured by determining the size and processing speed of components.