SlideShare uma empresa Scribd logo
1 de 71
By AparnaNaik www.DestinationQA.com Software Testing and QA www.destinationqa.com 1
Agenda ,[object Object]
Need for Software Sizing
Software Sizing Methodologies
Introduction to Function Point Analysis (FPA)
Process of Counting Function Points
Adjustment Factors in Function Point Analysis
Function Point Count Types
Case Studywww.destinationqa.com 2
Software Sizing www.destinationqa.com 3
Software Sizing Software sizing is an activity in software engineering that is used to estimate the size of a software application or component in order to be able to implement other software project management activities (such as estimating or tracking).  www.destinationqa.com 4 Size is an inherent characteristic of a piece of software just like weight is an inherent characteristic of a tangible material.
Need for Software Sizing www.destinationqa.com 5
What do you see on the Surface? The image represents the tip of an iceberg. The real issue is not the tip, but what is under the surface of the water and can not be seen. The same is true when you design a software application. www.destinationqa.com 6
Airline Surface ,[object Object]
All possible routes are calculated, city names are converted to their international three characters, interfaces are sent to all the airline carriers (each one being unique), this is an extremely complex and robust process! When we size software applications we want to understand what is exposed and what is under the surface.www.destinationqa.com 7
Need for Software Sizing www.destinationqa.com 8 Some common reasons for sizing the software are:   To Measure and Manage Productivity Estimation and budgeting Monitoring Progress Evaluating Requirements coverage for buying new Software Bidding for projects Allocating Testing Resources Risk Assessment Phasing Development Work Prioritizing Work Software Asset Valuation Outsourcing Software Development, Support or Maintenance. CMMiLevel 2 and 3 require that a valid sizing method be used.
Software Sizing Methodologies www.destinationqa.com 9 Some of the common software sizing methodologies are:   Lines of Code (Oldest) Use Case based Software Sizing COSMIC - Common Software Measurement International Consortium (ISO) IPFUG Function Point Analysis (ISO) Mk II Function Point Analysis (ISO)
Software Sizing – Lines of Code www.destinationqa.com 10 Historically, the most common software sizing methodology has been counting the lines of code written in the application source Advantages:1. Automation of the counting process is possible.2. Intuitive - Can be seen and effect can be visualized.Disadvantages:1. Lack of Accountability - The coding phase is only 30 - 35% of the total effort.2. Very difficult to standardize lines of code for a particular function as it heavily depends on Skill level of the programmer, programming language, etc.3. Lack of counting standards (Do comments count? Data Declarations? etc)Hence a more mature Sizing Algorithm was needed.
www.destinationqa.com 11
History www.destinationqa.com 12 ,[object Object]
He proposed a method called ‘Function Point Analysis’ which has since evolved into the ‘IFPUG’ method. 
The definition of this method is now managed by the International Function Point Users Group.
Albrecht’s clever piece of lateral thinking laid the foundations for the subject of ‘functional size measurement’.
The IFPUG method actually has two components, firstly concerned with a measure of functional size and the second concerned with a measure of the contribution to overall size of 14 technical and quality factors. 
Albrecht’s original approach has been refined significantly over the last 30 years, but its basic concepts are unchanged from the mid 1970’s. 
Nevertheless, the IFPUG method is still the most widely-used FSM method, albeit confined to the domain of business application software. ,[object Object]
Charles Symons developed the ‘MkII Function Point Method’ which aimed to improve on Albrecht’s approach by better taking into account the internal complexity of ‘data-rich’ business application software.,[object Object]
The Netherlands Software Metrics Users Association(‘NESMA’) published a variant of the IFPUG method which aimed to simplify some of the sizing rules
The University of Québec, Montréal and others published the ‘Full Function Point Method’ which used the IFPUG rules for business application software and added extra components for sizing real-time software.It will be seen that all of these methods can trace their roots back to Allan Albrecht’s original ideas.  They are what we call ‘1st Generation’ FSM Methods.
Function Point Analysis www.destinationqa.com 15
Introduction to Function Point Analysis www.destinationqa.com 16 What is a Function Point? A function point is a unit of measurement to express the amount of business functionality an information system provides to a user. Some Definitions Functional Size A size of the software derived by quantifying the Functional User Requirements. Functional Size Measurement (FSM) Theprocess of measuring Functional Size. FSM Method A specific implementation of FSM defined by a set of rules, which conforms to the mandatory features of this part of ISO/IEC 14143. There are currently 5 ISO recognized FSM Methods.
Function Point Analysis - Characteristics Function points are a unit measure for software much like an hour is to measuring time, miles are to measuring distance  www.destinationqa.com 17 Measures Functional User Requirements Excludes Physical or technical components Quality features ‹Derived in terms understood by users of the software. The measure relates directly to the business requirements, which the software is intended to address Derived without reference toeffort to develop or support. The Function Point technique provides an objective, comparative measure, which assists in the evaluation, planning, management and control of software production.  It is a method to break systems into smaller components, so they can be better understood and analysed. It can therefore be readily applied across a wide range of development environments and throughout the life of a development project, from early requirements definition to full operational use.
Function Point – Unit Of Software www.destinationqa.com 18 ,[object Object]
Function points are the unit of software.
It is very important to understand that Function Points remain constant regardless who develops the software or what language the software is develop in.
Unit costs need to be examined very closely. To calculate average unit cost all items (units) are combined and divided by the total cost.,[object Object]
Counting Function Points www.destinationqa.com 20
IPFUG FSM – Counting Function Points High Level Process Identify Functional User Requirements. Categorize each one into one of the following types (Base Functional Components – BFC): Transactional Functions Inputs Outputs Inquiries Data Functions Internal Files External Interfaces Rate each requirement based on complexity. Assign a Number for Function Points to each requirement. (Unadjusted function point count) Determine the value adjustment factor (VAF) based on general system characteristics (GSC’s). Calculate the adjusted function point count. The final function point count (adjusted function point count) is a combination of both unadjusted function point count (UFP) and the general system characteristics (GSC’s). www.destinationqa.com 21 Function points are the units of measure used by the IFPUG Functional Size Measurement Method.
www.destinationqa.com 22 IPFUG FSM – Identify Functional Requirements
www.destinationqa.com 23 IPFUG FSM – Categorize into BFC
Example: External Interface www.destinationqa.com 24
Functional point process www.destinationqa.com 25
External Inputs ,[object Object]
This data is coming external to the application.
The data may come from a data input screen or another application.
The data may be used to maintain one or more internal logical files.
The data can be either control information or business information.
If the data is control information it does not have to maintain an internal logical file. e.g. Data Input Fields, Error Messages, Calculated Values, Buttonswww.destinationqa.com 26
Identify External Inputs www.destinationqa.com 27 The following words are associated with external input or “inputs.”
FTRs and DETs The rating of External Input is based upon the number of data element types (DET’s) and the file types referenced (FTR’s). File Type Referenced (FTR): A FTR is a file type referenced by a transaction. An FTR must also be an internal logical file or external interface file. Each internal logical file that an external input maintains is counted as an FTR Data Element Type (DET): A DET is a unique user recognizable, non-recursive (non-repetitive) field. A DET is information that is dynamic and not static. A dynamic field is read from a file or created from DET’s contained in a FTR. Additionally, a DET can invoke transactions or can be additional information regarding transactions. www.destinationqa.com 28
Rating External Inputs (EI) Example DETs – Customer Name, Contact, Alt. Contact, Bill to, Phone, Fax, Alt. Phone, Ship To, OK button, Cancel Button FTR – Customer file, Contact File, Bill To file, Ship To File www.destinationqa.com 29
External Outputs www.destinationqa.com 30 ,[object Object]
Additionally, an EO may update an ILF.
The data creates reports or output files sent to other applications. These reports and files are created from information contained in one or more internal logical files and external interface files.,[object Object]
Rating External Outputs www.destinationqa.com 32
Rating External Outputs Example – Cnt. There are 10 data elements  1. Days 2. Hits 3. % of Total Hits 4. User Sessions 5. Total Hits (weekday) 6. Total % (weekday) 7. Total User Sessions (weekday) 8. Total Hits (weekend) 9. Total % (weekend) 10. Total User Sessions (weekend) 3 FTR Day Activity Total Weekdays Activity Total Weekend Activity www.destinationqa.com 33
External Inquiry (EQ) www.destinationqa.com 34 ,[object Object],     retrieval from one or more internal logical files and external interface files.  ,[object Object],     External Interface Files) and the output side does not contain derived data.
Identify External Inquiries www.destinationqa.com 35 The following words are associated with external Inquiries
Rating External Inquiry (EQ) Example www.destinationqa.com 36
Internal Logical File www.destinationqa.com 37 ,[object Object]
An internal logical file has the inherent meaning it is internally maintained, it has some logical structure and it is stored in a file.
An ILF should have at least one external output and/or external inquiry.       That is, at least one external output and/or external inquiry should include the        ILF as an FTR ,[object Object],[object Object]
Record Element Types Some A are B A – All Customers B - Customers who haven’t paid in last 30 days www.destinationqa.com 39
Record Element Types Imagine storing information contained on a music CD.  The music CD contains the following layout, Singer, Group, Producer, Label, Date, and Songs.   Of course, there are multiple songs on each CD.  For each song, the name of the song, author, and length of song is included. In this case, there are two Record Elements (RET's).  The CD information and the song information.  There are 5 data elements (singer, group, producer, label, date) for the CD RET and there are 3 data elements (song name, author, and length) for the Song RET.  Hence in this example, there are 2 record element types and 8 data elements. In this simple example, songs are a subset of a music CD.   They do not exist independent of this relationship.  They will be used in conjunction with the music CD information.  Hence, forth all Songs are part of the Music CD (all B are A). www.destinationqa.com 40
Record Element Type www.destinationqa.com 41 Two types of data groups are possible RET candidates: File Sub-Types - i.e. Optional/ Mandatory sub groups of data. For example, an Employee can either be a Permanent Employee or a Contract Employee but not both. The Employee File has two sub-types and potentially two RETs.  Repeating Groups - where a group of data can be repeated multiple times within the one logical file. For example, Order Header and Order Line Item information. One Order Header can be linked to multiple Order Line Items. The Order File potentially has two RETs. In both of the above examples the word "potentially" has been used intentionally. While in both cases we have RET candidates, the existence of a "subgroup" of information must be demonstrated. IFPUG provides no guidance on how many DETs constitute a subgroup.
Rating ILF Example www.destinationqa.com 42
External Interface File www.destinationqa.com 43 ,[object Object]
The data resides entirely outside the application boundary and is      maintained by another applications external inputs. ,[object Object]
An application may count a file as either a EIF or ILF not both.,[object Object]
Adjustment Factors in Function Point Analysis www.destinationqa.com 45
General System Characteristics Definition: The value adjustment factor (VAF) is based on 14 general system characteristics (GSC’s) that rate the general functionality of the application being counted. Each characteristic has associated descriptions to determine the degrees of influence. Rating: The degrees of influence range on a scale of zero to five, from no influence to strong influence. Each characteristic is assigned the rating based upon detail descriptions provided by the IFPUG 4.1 Manual. They ratings are: 0 - Not present, or no influence 1 - Incidental influence 2 - Moderate influence 3 - Average influence 4 - Significant influence 5 - Strong influence throughout www.destinationqa.com 46

Mais conteúdo relacionado

Mais procurados

Use Case Diagram
Use Case DiagramUse Case Diagram
Use Case DiagramKumar
 
Software cost estimation techniques presentation
Software cost estimation techniques presentationSoftware cost estimation techniques presentation
Software cost estimation techniques presentationKudzai Rerayi
 
Function point analysis
Function point analysisFunction point analysis
Function point analysisRosu Gabi
 
SRS(software requirement specification)
SRS(software requirement specification)SRS(software requirement specification)
SRS(software requirement specification)Akash Kumar Dhameja
 
Software Engineering (Project Scheduling)
Software Engineering (Project Scheduling)Software Engineering (Project Scheduling)
Software Engineering (Project Scheduling)ShudipPal
 
1.1 The nature of software.ppt
1.1 The nature of software.ppt1.1 The nature of software.ppt
1.1 The nature of software.pptJAYAPRIYAR7
 
Software Engineering (Project Planning & Estimation)
Software Engineering (Project Planning &  Estimation)Software Engineering (Project Planning &  Estimation)
Software Engineering (Project Planning & Estimation)ShudipPal
 
Estimating Software Maintenance Costs
Estimating Software Maintenance CostsEstimating Software Maintenance Costs
Estimating Software Maintenance Costslalithambiga kamaraj
 
Requirement specification (SRS)
Requirement specification (SRS)Requirement specification (SRS)
Requirement specification (SRS)kunj desai
 
Spiral model explanation
Spiral model  explanationSpiral model  explanation
Spiral model explanationUmar Farooq
 
Software Requirements in Software Engineering SE5
Software Requirements in Software Engineering SE5Software Requirements in Software Engineering SE5
Software Requirements in Software Engineering SE5koolkampus
 
Agile Development | Agile Process Models
Agile Development | Agile Process ModelsAgile Development | Agile Process Models
Agile Development | Agile Process ModelsAhsan Rahim
 
component based development model
component based development modelcomponent based development model
component based development modelMuneeba Qamar
 
Stepwise Project planning in software development
Stepwise Project planning in software developmentStepwise Project planning in software development
Stepwise Project planning in software developmentProf Ansari
 
Software estimation
Software estimationSoftware estimation
Software estimationMd Shakir
 
Requirement analysis and specification
Requirement analysis and specificationRequirement analysis and specification
Requirement analysis and specificationM.E. at GTU- PG School
 

Mais procurados (20)

Software cost estimation
Software cost estimationSoftware cost estimation
Software cost estimation
 
Use Case Diagram
Use Case DiagramUse Case Diagram
Use Case Diagram
 
Slides chapter 2
Slides chapter 2Slides chapter 2
Slides chapter 2
 
Software cost estimation techniques presentation
Software cost estimation techniques presentationSoftware cost estimation techniques presentation
Software cost estimation techniques presentation
 
Function point analysis
Function point analysisFunction point analysis
Function point analysis
 
SRS(software requirement specification)
SRS(software requirement specification)SRS(software requirement specification)
SRS(software requirement specification)
 
Cocomo model
Cocomo modelCocomo model
Cocomo model
 
Software Engineering (Project Scheduling)
Software Engineering (Project Scheduling)Software Engineering (Project Scheduling)
Software Engineering (Project Scheduling)
 
1.1 The nature of software.ppt
1.1 The nature of software.ppt1.1 The nature of software.ppt
1.1 The nature of software.ppt
 
Software Engineering (Project Planning & Estimation)
Software Engineering (Project Planning &  Estimation)Software Engineering (Project Planning &  Estimation)
Software Engineering (Project Planning & Estimation)
 
Software design
Software designSoftware design
Software design
 
Estimating Software Maintenance Costs
Estimating Software Maintenance CostsEstimating Software Maintenance Costs
Estimating Software Maintenance Costs
 
Requirement specification (SRS)
Requirement specification (SRS)Requirement specification (SRS)
Requirement specification (SRS)
 
Spiral model explanation
Spiral model  explanationSpiral model  explanation
Spiral model explanation
 
Software Requirements in Software Engineering SE5
Software Requirements in Software Engineering SE5Software Requirements in Software Engineering SE5
Software Requirements in Software Engineering SE5
 
Agile Development | Agile Process Models
Agile Development | Agile Process ModelsAgile Development | Agile Process Models
Agile Development | Agile Process Models
 
component based development model
component based development modelcomponent based development model
component based development model
 
Stepwise Project planning in software development
Stepwise Project planning in software developmentStepwise Project planning in software development
Stepwise Project planning in software development
 
Software estimation
Software estimationSoftware estimation
Software estimation
 
Requirement analysis and specification
Requirement analysis and specificationRequirement analysis and specification
Requirement analysis and specification
 

Semelhante a Functional point analysis

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 everytbinglojob95766
 
Cost estimation techniques
Cost estimation techniquesCost estimation techniques
Cost estimation techniqueslokareminakshi
 
CS8494 SOFTWARE ENGINEERING Unit-5
CS8494 SOFTWARE ENGINEERING Unit-5CS8494 SOFTWARE ENGINEERING Unit-5
CS8494 SOFTWARE ENGINEERING Unit-5SIMONTHOMAS S
 
IJSRED-V2I4P8
IJSRED-V2I4P8IJSRED-V2I4P8
IJSRED-V2I4P8IJSRED
 
Software cost estimation
Software cost estimationSoftware cost estimation
Software cost estimationHaitham Ahmed
 
Software estimation techniques
Software estimation techniquesSoftware estimation techniques
Software estimation techniquesTan Tran
 
Are Function Points Still Relevant?
Are Function Points Still Relevant?Are Function Points Still Relevant?
Are Function Points Still Relevant?DCG Software Value
 
Are Function Points Still Relevant?
Are Function Points Still Relevant?Are Function Points Still Relevant?
Are Function Points Still Relevant?Premios Group
 
CP7301 Software Process and Project Management notes
CP7301 Software Process and Project Management   notesCP7301 Software Process and Project Management   notes
CP7301 Software Process and Project Management notesAAKASH S
 
DHS - Using functions points to estimate agile development programs (v2)
DHS - Using functions points to estimate agile development programs (v2)DHS - Using functions points to estimate agile development programs (v2)
DHS - Using functions points to estimate agile development programs (v2)Glen Alleman
 
Extreme software estimation (xsoft estimation)
Extreme software estimation (xsoft estimation)Extreme software estimation (xsoft estimation)
Extreme software estimation (xsoft estimation)eSAT Publishing House
 
Extreme software estimation (xsoft estimation)
Extreme software estimation (xsoft estimation)Extreme software estimation (xsoft estimation)
Extreme software estimation (xsoft estimation)eSAT Journals
 
Chapter 11 Metrics for process and projects.ppt
Chapter 11  Metrics for process and projects.pptChapter 11  Metrics for process and projects.ppt
Chapter 11 Metrics for process and projects.pptssuser3f82c9
 

Semelhante a Functional point analysis (20)

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
 
Ijetr011834
Ijetr011834Ijetr011834
Ijetr011834
 
Cost estimation techniques
Cost estimation techniquesCost estimation techniques
Cost estimation techniques
 
CS8494 SOFTWARE ENGINEERING Unit-5
CS8494 SOFTWARE ENGINEERING Unit-5CS8494 SOFTWARE ENGINEERING Unit-5
CS8494 SOFTWARE ENGINEERING Unit-5
 
IJSRED-V2I4P8
IJSRED-V2I4P8IJSRED-V2I4P8
IJSRED-V2I4P8
 
Cost effort.ppt
Cost effort.pptCost effort.ppt
Cost effort.ppt
 
sftware cst est
sftware cst estsftware cst est
sftware cst est
 
Software cost estimation
Software cost estimationSoftware cost estimation
Software cost estimation
 
Software estimation techniques
Software estimation techniquesSoftware estimation techniques
Software estimation techniques
 
Are Function Points Still Relevant?
Are Function Points Still Relevant?Are Function Points Still Relevant?
Are Function Points Still Relevant?
 
Are Function Points Still Relevant?
Are Function Points Still Relevant?Are Function Points Still Relevant?
Are Function Points Still Relevant?
 
Software metrics
Software metricsSoftware metrics
Software metrics
 
CP7301 Software Process and Project Management notes
CP7301 Software Process and Project Management   notesCP7301 Software Process and Project Management   notes
CP7301 Software Process and Project Management notes
 
DHS - Using functions points to estimate agile development programs (v2)
DHS - Using functions points to estimate agile development programs (v2)DHS - Using functions points to estimate agile development programs (v2)
DHS - Using functions points to estimate agile development programs (v2)
 
Spm unit1
Spm unit1Spm unit1
Spm unit1
 
Extreme software estimation (xsoft estimation)
Extreme software estimation (xsoft estimation)Extreme software estimation (xsoft estimation)
Extreme software estimation (xsoft estimation)
 
Extreme software estimation (xsoft estimation)
Extreme software estimation (xsoft estimation)Extreme software estimation (xsoft estimation)
Extreme software estimation (xsoft estimation)
 
CostEstimation-1.ppt
CostEstimation-1.pptCostEstimation-1.ppt
CostEstimation-1.ppt
 
Chapter 11 Metrics for process and projects.ppt
Chapter 11  Metrics for process and projects.pptChapter 11  Metrics for process and projects.ppt
Chapter 11 Metrics for process and projects.ppt
 
Software Metrics
Software MetricsSoftware Metrics
Software Metrics
 

Último

Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitecturePixlogix Infotech
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Servicegiselly40
 
A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024Results
 
Google AI Hackathon: LLM based Evaluator for RAG
Google AI Hackathon: LLM based Evaluator for RAGGoogle AI Hackathon: LLM based Evaluator for RAG
Google AI Hackathon: LLM based Evaluator for RAGSujit Pal
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)Gabriella Davis
 
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...shyamraj55
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityPrincipled Technologies
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreternaman860154
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsMaria Levchenko
 
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024BookNet Canada
 
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...HostedbyConfluent
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slidevu2urc
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsEnterprise Knowledge
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slidespraypatel2
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfEnterprise Knowledge
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationSafe Software
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdfhans926745
 
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonetsnaman860154
 
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | DelhiFULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhisoniya singh
 

Último (20)

Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC Architecture
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
 
A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024
 
Google AI Hackathon: LLM based Evaluator for RAG
Google AI Hackathon: LLM based Evaluator for RAGGoogle AI Hackathon: LLM based Evaluator for RAG
Google AI Hackathon: LLM based Evaluator for RAG
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
 
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slides
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf
 
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | DelhiFULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
 

Functional point analysis

  • 1. By AparnaNaik www.DestinationQA.com Software Testing and QA www.destinationqa.com 1
  • 2.
  • 5. Introduction to Function Point Analysis (FPA)
  • 6. Process of Counting Function Points
  • 7. Adjustment Factors in Function Point Analysis
  • 11. Software Sizing Software sizing is an activity in software engineering that is used to estimate the size of a software application or component in order to be able to implement other software project management activities (such as estimating or tracking). www.destinationqa.com 4 Size is an inherent characteristic of a piece of software just like weight is an inherent characteristic of a tangible material.
  • 12. Need for Software Sizing www.destinationqa.com 5
  • 13. What do you see on the Surface? The image represents the tip of an iceberg. The real issue is not the tip, but what is under the surface of the water and can not be seen. The same is true when you design a software application. www.destinationqa.com 6
  • 14.
  • 15. All possible routes are calculated, city names are converted to their international three characters, interfaces are sent to all the airline carriers (each one being unique), this is an extremely complex and robust process! When we size software applications we want to understand what is exposed and what is under the surface.www.destinationqa.com 7
  • 16. Need for Software Sizing www.destinationqa.com 8 Some common reasons for sizing the software are:   To Measure and Manage Productivity Estimation and budgeting Monitoring Progress Evaluating Requirements coverage for buying new Software Bidding for projects Allocating Testing Resources Risk Assessment Phasing Development Work Prioritizing Work Software Asset Valuation Outsourcing Software Development, Support or Maintenance. CMMiLevel 2 and 3 require that a valid sizing method be used.
  • 17. Software Sizing Methodologies www.destinationqa.com 9 Some of the common software sizing methodologies are:   Lines of Code (Oldest) Use Case based Software Sizing COSMIC - Common Software Measurement International Consortium (ISO) IPFUG Function Point Analysis (ISO) Mk II Function Point Analysis (ISO)
  • 18. Software Sizing – Lines of Code www.destinationqa.com 10 Historically, the most common software sizing methodology has been counting the lines of code written in the application source Advantages:1. Automation of the counting process is possible.2. Intuitive - Can be seen and effect can be visualized.Disadvantages:1. Lack of Accountability - The coding phase is only 30 - 35% of the total effort.2. Very difficult to standardize lines of code for a particular function as it heavily depends on Skill level of the programmer, programming language, etc.3. Lack of counting standards (Do comments count? Data Declarations? etc)Hence a more mature Sizing Algorithm was needed.
  • 20.
  • 21. He proposed a method called ‘Function Point Analysis’ which has since evolved into the ‘IFPUG’ method. 
  • 22. The definition of this method is now managed by the International Function Point Users Group.
  • 23. Albrecht’s clever piece of lateral thinking laid the foundations for the subject of ‘functional size measurement’.
  • 24. The IFPUG method actually has two components, firstly concerned with a measure of functional size and the second concerned with a measure of the contribution to overall size of 14 technical and quality factors. 
  • 25. Albrecht’s original approach has been refined significantly over the last 30 years, but its basic concepts are unchanged from the mid 1970’s. 
  • 26.
  • 27.
  • 28. The Netherlands Software Metrics Users Association(‘NESMA’) published a variant of the IFPUG method which aimed to simplify some of the sizing rules
  • 29. The University of Québec, Montréal and others published the ‘Full Function Point Method’ which used the IFPUG rules for business application software and added extra components for sizing real-time software.It will be seen that all of these methods can trace their roots back to Allan Albrecht’s original ideas.  They are what we call ‘1st Generation’ FSM Methods.
  • 30. Function Point Analysis www.destinationqa.com 15
  • 31. Introduction to Function Point Analysis www.destinationqa.com 16 What is a Function Point? A function point is a unit of measurement to express the amount of business functionality an information system provides to a user. Some Definitions Functional Size A size of the software derived by quantifying the Functional User Requirements. Functional Size Measurement (FSM) Theprocess of measuring Functional Size. FSM Method A specific implementation of FSM defined by a set of rules, which conforms to the mandatory features of this part of ISO/IEC 14143. There are currently 5 ISO recognized FSM Methods.
  • 32. Function Point Analysis - Characteristics Function points are a unit measure for software much like an hour is to measuring time, miles are to measuring distance  www.destinationqa.com 17 Measures Functional User Requirements Excludes Physical or technical components Quality features ‹Derived in terms understood by users of the software. The measure relates directly to the business requirements, which the software is intended to address Derived without reference toeffort to develop or support. The Function Point technique provides an objective, comparative measure, which assists in the evaluation, planning, management and control of software production. It is a method to break systems into smaller components, so they can be better understood and analysed. It can therefore be readily applied across a wide range of development environments and throughout the life of a development project, from early requirements definition to full operational use.
  • 33.
  • 34. Function points are the unit of software.
  • 35. It is very important to understand that Function Points remain constant regardless who develops the software or what language the software is develop in.
  • 36.
  • 37. Counting Function Points www.destinationqa.com 20
  • 38. IPFUG FSM – Counting Function Points High Level Process Identify Functional User Requirements. Categorize each one into one of the following types (Base Functional Components – BFC): Transactional Functions Inputs Outputs Inquiries Data Functions Internal Files External Interfaces Rate each requirement based on complexity. Assign a Number for Function Points to each requirement. (Unadjusted function point count) Determine the value adjustment factor (VAF) based on general system characteristics (GSC’s). Calculate the adjusted function point count. The final function point count (adjusted function point count) is a combination of both unadjusted function point count (UFP) and the general system characteristics (GSC’s). www.destinationqa.com 21 Function points are the units of measure used by the IFPUG Functional Size Measurement Method.
  • 39. www.destinationqa.com 22 IPFUG FSM – Identify Functional Requirements
  • 40. www.destinationqa.com 23 IPFUG FSM – Categorize into BFC
  • 41. Example: External Interface www.destinationqa.com 24
  • 42. Functional point process www.destinationqa.com 25
  • 43.
  • 44. This data is coming external to the application.
  • 45. The data may come from a data input screen or another application.
  • 46. The data may be used to maintain one or more internal logical files.
  • 47. The data can be either control information or business information.
  • 48. If the data is control information it does not have to maintain an internal logical file. e.g. Data Input Fields, Error Messages, Calculated Values, Buttonswww.destinationqa.com 26
  • 49. Identify External Inputs www.destinationqa.com 27 The following words are associated with external input or “inputs.”
  • 50. FTRs and DETs The rating of External Input is based upon the number of data element types (DET’s) and the file types referenced (FTR’s). File Type Referenced (FTR): A FTR is a file type referenced by a transaction. An FTR must also be an internal logical file or external interface file. Each internal logical file that an external input maintains is counted as an FTR Data Element Type (DET): A DET is a unique user recognizable, non-recursive (non-repetitive) field. A DET is information that is dynamic and not static. A dynamic field is read from a file or created from DET’s contained in a FTR. Additionally, a DET can invoke transactions or can be additional information regarding transactions. www.destinationqa.com 28
  • 51. Rating External Inputs (EI) Example DETs – Customer Name, Contact, Alt. Contact, Bill to, Phone, Fax, Alt. Phone, Ship To, OK button, Cancel Button FTR – Customer file, Contact File, Bill To file, Ship To File www.destinationqa.com 29
  • 52.
  • 53. Additionally, an EO may update an ILF.
  • 54.
  • 55. Rating External Outputs www.destinationqa.com 32
  • 56. Rating External Outputs Example – Cnt. There are 10 data elements 1. Days 2. Hits 3. % of Total Hits 4. User Sessions 5. Total Hits (weekday) 6. Total % (weekday) 7. Total User Sessions (weekday) 8. Total Hits (weekend) 9. Total % (weekend) 10. Total User Sessions (weekend) 3 FTR Day Activity Total Weekdays Activity Total Weekend Activity www.destinationqa.com 33
  • 57.
  • 58. Identify External Inquiries www.destinationqa.com 35 The following words are associated with external Inquiries
  • 59. Rating External Inquiry (EQ) Example www.destinationqa.com 36
  • 60.
  • 61. An internal logical file has the inherent meaning it is internally maintained, it has some logical structure and it is stored in a file.
  • 62.
  • 63. Record Element Types Some A are B A – All Customers B - Customers who haven’t paid in last 30 days www.destinationqa.com 39
  • 64. Record Element Types Imagine storing information contained on a music CD.  The music CD contains the following layout, Singer, Group, Producer, Label, Date, and Songs.   Of course, there are multiple songs on each CD.  For each song, the name of the song, author, and length of song is included. In this case, there are two Record Elements (RET's).  The CD information and the song information.  There are 5 data elements (singer, group, producer, label, date) for the CD RET and there are 3 data elements (song name, author, and length) for the Song RET.  Hence in this example, there are 2 record element types and 8 data elements. In this simple example, songs are a subset of a music CD.   They do not exist independent of this relationship.  They will be used in conjunction with the music CD information.  Hence, forth all Songs are part of the Music CD (all B are A). www.destinationqa.com 40
  • 65. Record Element Type www.destinationqa.com 41 Two types of data groups are possible RET candidates: File Sub-Types - i.e. Optional/ Mandatory sub groups of data. For example, an Employee can either be a Permanent Employee or a Contract Employee but not both. The Employee File has two sub-types and potentially two RETs. Repeating Groups - where a group of data can be repeated multiple times within the one logical file. For example, Order Header and Order Line Item information. One Order Header can be linked to multiple Order Line Items. The Order File potentially has two RETs. In both of the above examples the word "potentially" has been used intentionally. While in both cases we have RET candidates, the existence of a "subgroup" of information must be demonstrated. IFPUG provides no guidance on how many DETs constitute a subgroup.
  • 66. Rating ILF Example www.destinationqa.com 42
  • 67.
  • 68.
  • 69.
  • 70. Adjustment Factors in Function Point Analysis www.destinationqa.com 45
  • 71. General System Characteristics Definition: The value adjustment factor (VAF) is based on 14 general system characteristics (GSC’s) that rate the general functionality of the application being counted. Each characteristic has associated descriptions to determine the degrees of influence. Rating: The degrees of influence range on a scale of zero to five, from no influence to strong influence. Each characteristic is assigned the rating based upon detail descriptions provided by the IFPUG 4.1 Manual. They ratings are: 0 - Not present, or no influence 1 - Incidental influence 2 - Moderate influence 3 - Average influence 4 - Significant influence 5 - Strong influence throughout www.destinationqa.com 46
  • 72. General System Characteristics cont… 1. Data communications: How many communication facilities are there to aid in the transfer or exchange of information with the application or system? 2. Distributed data processing: How are distributed data and processing functions handled? 3. Performance: Did the user require response time or throughput? 4. Heavily used configuration: How heavily used is the current hardware platform where the application will be executed? 5. Transaction rate: How frequently are transactions executed daily, weekly, monthly, etc.? 6. On-Line data entry: What percentage of the information is entered On-Line? 7. End-user efficiency: Was the application designed for end-user efficiency? www.destinationqa.com 47
  • 73. General System Characteristics cont… 8. On-Line update How many ILF’s are updated by On-Line transaction? 9. Complex processing Does the application have extensive logical or mathematical processing? 10. Reusability Was the application developed to meet one or many user’s needs? 11. Installation ease How difficult is conversion and installation? 12. Operational ease How effective and/or automated are start-up, back up, and recovery procedures? 13. Multiple sites Was the application specifically designed, developed, and supported to be installed at multiple sites for multiple organizations? 14. Facilitate change Was the application specifically designed, www.destinationqa.com 48
  • 74. Value Adjustment Factor (VAF) Once all the 14 GSC’s have been answered, they should be tabulated using the IFPUG Value Adjustment Equation (VAF) – www.destinationqa.com 49
  • 75. Standard Function Point The final Function Point Count is obtained by multiplying the VAF times the Unadjusted Function Point (UAF). The standard function point equation is: FP = UAF * VAF Where: UAF = Unadjusted Function Points VAF = Value Adjustment Factor www.destinationqa.com 50
  • 76. Function Point Count Types www.destinationqa.com 51
  • 77. Types Of Functional Point Counts www.destinationqa.com 52
  • 78. Types of FP Counts Development Project Function Point Count Function Points can be counted at all phases of a development project from requirements up to and including implementation. This type of count is associated with new development work. Scope creep can be tracked and monitored by understanding the functional size at all phase of a project. Frequently, this type of count is called a baseline function point count. Enhancement Project Function Point Count It is common to enhance software after it has been placed into production. This type of function point count tries to size enhancement projects. All production applications evolve over time. By tracking enhancement size and associated costs a historical database for your organization can be built. Additionally, it is important to understand how a development project has changed over time. www.destinationqa.com 53
  • 79. www.destinationqa.com 54 Types of FP Counts cont… Application Function Point Count Application counts are done on existing production applications. This “baseline count” can be used with overall application metrics like total maintenance hours. This metric can be used to track maintenance hours per function point. This is an example of a normalized metric. It is not enough to examine only maintenance, but one must examine the ratio of maintenance hours to size of the application to get a true picture. Additionally, application counts can assist organizations in understanding the size of the entire corporate portfolio (or inventory). This type of count is analogous to taking an inventory for a store. Like inventory, a dollar value can be associated with any application function point count and for the entire organization portfolio.
  • 80.
  • 81. The ability to translate the size estimate into human effort, calendar time, and dollar.
  • 82. The degree to which the project plan reflects the abilities of the software team.
  • 83. The stability of product requirements and the environment that supports the engineering effort.www.destinationqa.com 55
  • 84. —Size Based Estimation Model (Top Down) www.destinationqa.com 56 In a top-down approach, the overall estimate for the project is first determined based on some models and then the estimates for different tasks are determined.E.g.: Function Point estimation which is a top down estimation technique is recognized as an industry standard scientific estimation technique that is acceptable to all stakeholders
  • 87. Case Study – Function Point Analysis www.destinationqa.com 59
  • 88. Case Study The Weather Application The following application was designed to capture temperature and rainfall by city and state. There is only one input screen, one file and one report Each field on the following input screen can be modified (add, changed or deleted). The add and change functions are different. All previous entries viewed by using the scroll bar. Assume a VAF of 1.0. www.destinationqa.com 60
  • 91. Thank You… www.destinationqa.com 63 Aparna Naik Email: naik.aparna@destinationqa.com Tel: +91 99233 50980
  • 93. Data Element Types www.destinationqa.com 65 Radio Buttons: Radio Buttons are treated as data element types. Within a group of, a frame, radio buttons the user has the option of selecting only one radio button; so only one data element type is counted for all the radio buttons contained in the frame. Check Boxes: Check Boxes differ from radio buttons in that more than one check box can be selected at a time. Each check box, within a frame, that can be selected should be treated as a data element. Command Buttons: Command buttons may specify an add, change, delete or inquire action. A button, like OK, may invoke several different types of transactions. A button like next may actually be the input side of an inquiry or another transaction.
  • 94. Data Element Types Cont… www.destinationqa.com 66 Messages: There are three types of messages that are generated in a GUI application: error messages, confirmation messages and notification messages. Error messages and confirmation messages: indicate that an error has occurred or that a process will be or have been completed. They are not an elementary or independent process alone, but they are part of another elementary process. A message that would state, “zip code is required” would be an example of an error message. A message that would state, “are you sure you want to delete customer” is an example of a confirmation message. Neither type of message is treated as a unique external output, but each is treated as a data element for the appropriate transaction. On the other hand, a notification messages is a business type message. For example, you may try to withdraw from an ATM machine more money than you have in your account and you receive the dreaded message, “You have insufficient funds to cover this transaction.” This is the result of information being read from a file regarding your current balance and a conclusion being drawn. A notification message is treated as an External Output.
  • 95.
  • 96. How long will it take?
  • 97. How many people do we need?
  • 98. How much will it cost?
  • 99. How good is it?www.destinationqa.com 67
  • 100. High level process www.destinationqa.com 68
  • 101. Independence and Dependence Since the rating of transactions is dependent on both information contained in the transactions and the number of files referenced, it is recommended that transactions are counted first. At the same time the transactions are counted a tally should be kept of all FTR’s (file types referenced) that the transactions reference. www.destinationqa.com 69
  • 102. ESTABLISHING THE BOUNDARY Identify the Boundary: • Review the purpose of the function point count. • Look at how and which applications maintain data. • Identify the business areas that support the applications. The boundary may need to be adjusted once components have been identified. In practice the boundary may need to be revisited, as the overall application is better understood. Function point counts may need to be adjusted as you learn about the application. Standard Documentation: • General Specification Documents • Interface Documents • Other metric reports • Interviews with the users • User Documentation • Design Documentation • Requirements • Data flow diagrams www.destinationqa.com 70
  • 103.
  • 104. Function points can be used to establish an inventory of all transactions and files of a current project or application..
  • 105. Function Points can be used to size software applications. Sizing is an important component in determining productivity (outputs/inputs), predicting effort, understanding unit cost, so on and so forth.
  • 106. Unlike some other software metrics, different people can count function points at different times, to obtain the same measure within a reasonable margin of error. That is, the same conclusion will be drawn from the results.
  • 107. FPA can help organizations understand the unit cost of a software application or project.
  • 108. Once unit cost is understood tools, languages, platforms can be compared quantitatively instead of subjectively. This type of analysis is much easier to understand than technical information. That is, a non-technical user can easily understand Function Points.www.destinationqa.com 71

Notas do Editor

  1. There are two different ways to get the same exact data. One you can click on the specific state or you can use the drop down list. Once you choose a state data is generated and presented to the screen. These two EQ are repetitive and do the same exact thing.
  2. 2 RET, 2 ILF
  3. HLR - High Level RequirementRHLR – Refined HLRWBS – Work Breakdown StructureM/Q/T – Management/Quality/Technical
  4. 􀀁To complete a function point count knowledge of function point rules and applicationdocumentation is needed. Access to an application expert can improve the quality of thecount also.• Once the application boundary has been established, FPA can be broken into three majorparts (FPA for transactional function types, FPA for data function types and FPA for GSCs).