SlideShare a Scribd company logo
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.

More Related Content

What's hot

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)
Peter Tröger
 
Software Size Estimation
Software Size EstimationSoftware Size Estimation
Software Size Estimation
Muhammad Asim
 
Availability tactics
Availability tacticsAvailability tactics
Availability tactics
ahsan riaz
 
Complexity metrics and models
Complexity metrics and modelsComplexity metrics and models
Complexity metrics and models
Roy Antony Arnold G
 
Loc and function point
Loc and function pointLoc and function point
Loc and function point
Mitali Chugh
 
Software Estimation Part I
Software Estimation Part ISoftware Estimation Part I
Software Estimation Part I
sslovepk
 
Ch 5- Achieving Qualities
Ch 5- Achieving QualitiesCh 5- Achieving Qualities
Ch 5- Achieving Qualities
Asmat Zahra
 
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
IDES Editor
 
Software metrics
Software metricsSoftware metrics
Software metrics
Matthias Mullie
 
Software Estimation Techniques
Software Estimation TechniquesSoftware Estimation Techniques
Software Estimation Techniques
kamal
 
Software cost estimation
Software cost estimationSoftware cost estimation
Software cost estimation
djview
 
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
 
Metrics
MetricsMetrics
Metrics
geethawilliam
 
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
babak danyal
 
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)
Peter Tröger
 
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
 
Software cost estimation
Software cost estimationSoftware cost estimation
Software cost estimation
Haitham Ahmed
 

What's hot (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
 

Viewers also liked

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...
Siti Purwaningsih
 
PDI of RAZ
PDI of RAZPDI of RAZ
English language teaching aspects
English language teaching aspects English language teaching aspects
English language teaching aspects
César Narváez Vilema
 
CS Fundamentals: Scalability and Memory
CS Fundamentals: Scalability and MemoryCS Fundamentals: Scalability and Memory
CS Fundamentals: Scalability and Memory
Haseeb Qureshi
 
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
telc gGmbH
 
How to teach vocabulary (HW)
How to teach vocabulary (HW)How to teach vocabulary (HW)
How to teach vocabulary (HW)
Sergio Guerrero Miranda
 
How to teach vocabulary?
How to teach vocabulary?How to teach vocabulary?
How to teach vocabulary?
yramirez23
 
How To Effectively Teach Vocabulary
How To Effectively Teach VocabularyHow To Effectively Teach Vocabulary
How To Effectively Teach Vocabulary
Georgia Educational Learning Consultants, Inc.
 
Let’s Help Melly
Let’s Help MellyLet’s Help Melly
Let’s Help Melly
Jurgen Appelo
 
Teaching Vocabulary[1]
Teaching Vocabulary[1]Teaching Vocabulary[1]
Teaching Vocabulary[1]
Mar Mendoza
 
Teaching speaking and pronunciation ppt
Teaching speaking and pronunciation pptTeaching speaking and pronunciation ppt
Teaching speaking and pronunciation ppt
candyvdv
 
How to teach vocabulary
How to teach vocabularyHow to teach vocabulary
How to teach vocabulary
serginho0208
 
Second Language Teaching Methods
Second Language Teaching MethodsSecond Language Teaching Methods
Second Language Teaching Methods
guest0c02e6
 
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
Dr. AbdulRahman M. Gadah Al Madinah University, Educational Office of East Makkah
 

Viewers also liked (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
 

Similar to Chapter 12

Cost estimation techniques
Cost estimation techniquesCost estimation techniques
Cost estimation techniques
lokareminakshi
 
Cost effort.ppt
Cost effort.pptCost effort.ppt
Cost effort.ppt
Jayaprasanna4
 
Software maintenance
Software maintenanceSoftware maintenance
Software maintenance
NancyBeaulah_R
 
Metrics for project size estimation
Metrics for project size estimationMetrics for project size estimation
Metrics for project size estimation
Nur Islam
 
Software Quality Metrics
Software Quality MetricsSoftware Quality Metrics
Software Quality Metrics
Mufaddal Nullwala
 
software effort estimation
 software effort estimation software effort estimation
software effort estimation
Besharam Dil
 
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...
Gabriel Moreira
 
Ijetr011834
Ijetr011834Ijetr011834
Ijetr011834
ER Publication.org
 
Sqa
SqaSqa
Decomposition technique In Software Engineering
Decomposition technique In Software Engineering Decomposition technique In Software Engineering
Decomposition technique In Software Engineering
Bilal Hassan
 
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 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
MuhammadTalha436
 
Estimation
EstimationEstimation
Estimation
Rushikesh Bhongade
 
Software Engineering
Software EngineeringSoftware Engineering
Software Engineering
poonam.rwalia
 
Software Engineering Fundamentals in Computer Science
Software Engineering Fundamentals in Computer ScienceSoftware Engineering Fundamentals in Computer Science
Software Engineering Fundamentals in Computer Science
Arti Parab Academics
 
software engineering module i & ii.pptx
software engineering module i & ii.pptxsoftware engineering module i & ii.pptx
software engineering module i & ii.pptx
rani marri
 
IJSRED-V2I4P8
IJSRED-V2I4P8IJSRED-V2I4P8
IJSRED-V2I4P8
IJSRED
 
Sdlc
SdlcSdlc
Sdlc
SdlcSdlc
Software metrics
Software metricsSoftware metrics
Software metrics
syeda madeha azmat
 

Similar to 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
 

Recently uploaded

Columbus Data & Analytics Wednesdays - June 2024
Columbus Data & Analytics Wednesdays - June 2024Columbus Data & Analytics Wednesdays - June 2024
Columbus Data & Analytics Wednesdays - June 2024
Jason Packer
 
Essentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FMEEssentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FME
Safe Software
 
National Security Agency - NSA mobile device best practices
National Security Agency - NSA mobile device best practicesNational Security Agency - NSA mobile device best practices
National Security Agency - NSA mobile device best practices
Quotidiano Piemontese
 
Unlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdf
Unlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdfUnlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdf
Unlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdf
Malak Abu Hammad
 
みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...
みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...
みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...
名前 です男
 
HCL Notes and Domino License Cost Reduction in the World of DLAU
HCL Notes and Domino License Cost Reduction in the World of DLAUHCL Notes and Domino License Cost Reduction in the World of DLAU
HCL Notes and Domino License Cost Reduction in the World of DLAU
panagenda
 
June Patch Tuesday
June Patch TuesdayJune Patch Tuesday
June Patch Tuesday
Ivanti
 
Video Streaming: Then, Now, and in the Future
Video Streaming: Then, Now, and in the FutureVideo Streaming: Then, Now, and in the Future
Video Streaming: Then, Now, and in the Future
Alpen-Adria-Universität
 
Driving Business Innovation: Latest Generative AI Advancements & Success Story
Driving Business Innovation: Latest Generative AI Advancements & Success StoryDriving Business Innovation: Latest Generative AI Advancements & Success Story
Driving Business Innovation: Latest Generative AI Advancements & Success Story
Safe Software
 
Microsoft - Power Platform_G.Aspiotis.pdf
Microsoft - Power Platform_G.Aspiotis.pdfMicrosoft - Power Platform_G.Aspiotis.pdf
Microsoft - Power Platform_G.Aspiotis.pdf
Uni Systems S.M.S.A.
 
Cosa hanno in comune un mattoncino Lego e la backdoor XZ?
Cosa hanno in comune un mattoncino Lego e la backdoor XZ?Cosa hanno in comune un mattoncino Lego e la backdoor XZ?
Cosa hanno in comune un mattoncino Lego e la backdoor XZ?
Speck&Tech
 
Infrastructure Challenges in Scaling RAG with Custom AI models
Infrastructure Challenges in Scaling RAG with Custom AI modelsInfrastructure Challenges in Scaling RAG with Custom AI models
Infrastructure Challenges in Scaling RAG with Custom AI models
Zilliz
 
CAKE: Sharing Slices of Confidential Data on Blockchain
CAKE: Sharing Slices of Confidential Data on BlockchainCAKE: Sharing Slices of Confidential Data on Blockchain
CAKE: Sharing Slices of Confidential Data on Blockchain
Claudio Di Ciccio
 
Ocean lotus Threat actors project by John Sitima 2024 (1).pptx
Ocean lotus Threat actors project by John Sitima 2024 (1).pptxOcean lotus Threat actors project by John Sitima 2024 (1).pptx
Ocean lotus Threat actors project by John Sitima 2024 (1).pptx
SitimaJohn
 
Full-RAG: A modern architecture for hyper-personalization
Full-RAG: A modern architecture for hyper-personalizationFull-RAG: A modern architecture for hyper-personalization
Full-RAG: A modern architecture for hyper-personalization
Zilliz
 
Climate Impact of Software Testing at Nordic Testing Days
Climate Impact of Software Testing at Nordic Testing DaysClimate Impact of Software Testing at Nordic Testing Days
Climate Impact of Software Testing at Nordic Testing Days
Kari Kakkonen
 
Removing Uninteresting Bytes in Software Fuzzing
Removing Uninteresting Bytes in Software FuzzingRemoving Uninteresting Bytes in Software Fuzzing
Removing Uninteresting Bytes in Software Fuzzing
Aftab Hussain
 
Things to Consider When Choosing a Website Developer for your Website | FODUU
Things to Consider When Choosing a Website Developer for your Website | FODUUThings to Consider When Choosing a Website Developer for your Website | FODUU
Things to Consider When Choosing a Website Developer for your Website | FODUU
FODUU
 
Building Production Ready Search Pipelines with Spark and Milvus
Building Production Ready Search Pipelines with Spark and MilvusBuilding Production Ready Search Pipelines with Spark and Milvus
Building Production Ready Search Pipelines with Spark and Milvus
Zilliz
 
“I’m still / I’m still / Chaining from the Block”
“I’m still / I’m still / Chaining from the Block”“I’m still / I’m still / Chaining from the Block”
“I’m still / I’m still / Chaining from the Block”
Claudio Di Ciccio
 

Recently uploaded (20)

Columbus Data & Analytics Wednesdays - June 2024
Columbus Data & Analytics Wednesdays - June 2024Columbus Data & Analytics Wednesdays - June 2024
Columbus Data & Analytics Wednesdays - June 2024
 
Essentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FMEEssentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FME
 
National Security Agency - NSA mobile device best practices
National Security Agency - NSA mobile device best practicesNational Security Agency - NSA mobile device best practices
National Security Agency - NSA mobile device best practices
 
Unlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdf
Unlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdfUnlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdf
Unlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdf
 
みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...
みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...
みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...
 
HCL Notes and Domino License Cost Reduction in the World of DLAU
HCL Notes and Domino License Cost Reduction in the World of DLAUHCL Notes and Domino License Cost Reduction in the World of DLAU
HCL Notes and Domino License Cost Reduction in the World of DLAU
 
June Patch Tuesday
June Patch TuesdayJune Patch Tuesday
June Patch Tuesday
 
Video Streaming: Then, Now, and in the Future
Video Streaming: Then, Now, and in the FutureVideo Streaming: Then, Now, and in the Future
Video Streaming: Then, Now, and in the Future
 
Driving Business Innovation: Latest Generative AI Advancements & Success Story
Driving Business Innovation: Latest Generative AI Advancements & Success StoryDriving Business Innovation: Latest Generative AI Advancements & Success Story
Driving Business Innovation: Latest Generative AI Advancements & Success Story
 
Microsoft - Power Platform_G.Aspiotis.pdf
Microsoft - Power Platform_G.Aspiotis.pdfMicrosoft - Power Platform_G.Aspiotis.pdf
Microsoft - Power Platform_G.Aspiotis.pdf
 
Cosa hanno in comune un mattoncino Lego e la backdoor XZ?
Cosa hanno in comune un mattoncino Lego e la backdoor XZ?Cosa hanno in comune un mattoncino Lego e la backdoor XZ?
Cosa hanno in comune un mattoncino Lego e la backdoor XZ?
 
Infrastructure Challenges in Scaling RAG with Custom AI models
Infrastructure Challenges in Scaling RAG with Custom AI modelsInfrastructure Challenges in Scaling RAG with Custom AI models
Infrastructure Challenges in Scaling RAG with Custom AI models
 
CAKE: Sharing Slices of Confidential Data on Blockchain
CAKE: Sharing Slices of Confidential Data on BlockchainCAKE: Sharing Slices of Confidential Data on Blockchain
CAKE: Sharing Slices of Confidential Data on Blockchain
 
Ocean lotus Threat actors project by John Sitima 2024 (1).pptx
Ocean lotus Threat actors project by John Sitima 2024 (1).pptxOcean lotus Threat actors project by John Sitima 2024 (1).pptx
Ocean lotus Threat actors project by John Sitima 2024 (1).pptx
 
Full-RAG: A modern architecture for hyper-personalization
Full-RAG: A modern architecture for hyper-personalizationFull-RAG: A modern architecture for hyper-personalization
Full-RAG: A modern architecture for hyper-personalization
 
Climate Impact of Software Testing at Nordic Testing Days
Climate Impact of Software Testing at Nordic Testing DaysClimate Impact of Software Testing at Nordic Testing Days
Climate Impact of Software Testing at Nordic Testing Days
 
Removing Uninteresting Bytes in Software Fuzzing
Removing Uninteresting Bytes in Software FuzzingRemoving Uninteresting Bytes in Software Fuzzing
Removing Uninteresting Bytes in Software Fuzzing
 
Things to Consider When Choosing a Website Developer for your Website | FODUU
Things to Consider When Choosing a Website Developer for your Website | FODUUThings to Consider When Choosing a Website Developer for your Website | FODUU
Things to Consider When Choosing a Website Developer for your Website | FODUU
 
Building Production Ready Search Pipelines with Spark and Milvus
Building Production Ready Search Pipelines with Spark and MilvusBuilding Production Ready Search Pipelines with Spark and Milvus
Building Production Ready Search Pipelines with Spark and Milvus
 
“I’m still / I’m still / Chaining from the Block”
“I’m still / I’m still / Chaining from the Block”“I’m still / I’m still / Chaining from the Block”
“I’m still / I’m still / Chaining from the Block”
 

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.