Lesson 11 Functional Point Analysis
What Function type? Files, database, etc. Eg: Ticketing info table
either ILF, EIF and FTR.
Function Types
5 things to be counted for each requirement: 2 Data Function Types: (Total number of files systems/DB - Simple,Avg,Complex based on DET,RET) ILF - Internal data source ELF - External data source 3 Transactional Function types (Functions that process input, output. Complexity measured by RET,DET,FTR) EI - Dialog box classified as simple, avg,complex EO - number of reports EQ - user input that generate response
Enterprise software -customisable?
(From VAP) Usually enterprise software are not required to be customisable. Only end user software does.
What Function type? Reports with summary, categorization
(processing involved to generate new info) - EO
FPA methodology
1) Count number of function types 2) Function points are then ranked in complexity 3) Determine DET, RET, FTR for each of the 5 types of functions
What Function type? Ticketing Info
A noun that does not do with user interface or storage - DET or RET Ticketing info - RET
Performance critical for what type of project?
Real time applications like flight control
RET
Record element type that stores multiple DET. Analogous to a instance
UFP Calculation Table
Unadjusted function points
External Output
Number of Reports with summary, categorisation (apply logic/processing involved to generate new info) E.g. Quarterly sales reports - retrieve sales data, sort them, average/min/max them, etc. Get nearest restaurants - retrieve all restaurants details, sort them according to proximity to user
External Input
Number of dialog boxes - Any user interface (e.g. a form in a web page) that allows user to enter data. E.g. login screen, page to upload photos, page to create book details, etc.
External Inquiry
Number of inputs that generate a response - Listing of information (no logic applied - just dump basic raw data) Eg:print out the list of books, show all the photos, etc.
DET
Data element Type - unique user field
What Function type? App's input form, app's web API
EI
What Function type? Plain listing of information
EQ
FP to LOC (Line of code) measure
Number of lines of codes per function points, based on different programming language
Value adjustment factor
One VAF for overall project. Adjustment for functional point calculation. Additional characteristics of project that adjust complexities of each functions
EIF
External Interface Files: Number of external files and connected devices Data that the application reads but does not maintain (create, update, delete). E.g. 1)My application may call Google Search API for query. My application just uses the query results. Google is the one that maintains the data needed for the query results. 2)eLearn gets students-section details from BOSS. eLearn just uses the information. BOSS is the one that maintains the data. Note that in both example, the application uses the data but does not have features that allow users to create, update, delete it.
Consistency of productivity measures
FP to Productivity rate conversion might differ from project to project, due to different project sources used as references (diff team competency,etc) FP however is always calculated consistently.
FTR
File type referenced. Includes connection to file, database, sockets. (not considered for ELF, ILF)
FPA 5 things to identify for each requirement
Function Types are identified and measured in terms of complexity based on matrix (DET,RET,FRT)
Productivity measure based on FP
Given small projects (50-350 function points) , each person can build 18 function points per day
FPA Boundaries
Identify boundary - which functions are internal and external (input from user or other system)
Online data entry
Input to application while system is live. Many banking app dont allow it, only process new data input in batches
ILF
Internal Logic File The application's database, CSV files, configuration.ini, etc. Storage files that the application saves data to.
Large projects have higher or lower base productivity? Why?
Lower. As projects gets larger, there are more overheads and stakeholders to manager hence productivity drops
Functional Points
Standardised way to measure functionality from users point of view. Classify how complex functions are, a consistent way to measure how difficult to develop a particular function (compared to delphi).
