progressive function point analysis
TRANSCRIPT
-
8/20/2019 Progressive Function Point Analysis
1/19
-
8/20/2019 Progressive Function Point Analysis
2/19
TOPICS
Function Point Analysis
Introduction to FPA Identifying the Boundary and Operations Data Functions Transaction Functions Counting Issues Addressed By Progressive FPA
Progressive FPA Progressive FPA Accounting Process Progressive FPA Practice
Progressive Function Point Template Use Cases Data Functions Transaction Functions
Case Study Te!uila University
a g e r s G u i d e t o P r o g r e s s i v e F P A
-
8/20/2019 Progressive Function Point Analysis
3/19
Transaction Function
INTRODUCTION TO FUNCTION POINTS
FPA is used to measure the size of a
project by counting all the data andtransaction functions and provides themost scientic approach in measuring sizeof a project.
Most programs/applications consists ofseveral screens to interact ith the data.
!ommon operations include !"#$ %!reate&"ead& #pdate ' $elete(. )ach screen mayhave one ore more of these functions& andby counting all the elements on screenith any one of these operations illdetermine the $ata )lement *ype%$)*(count for the transaction function& thesame process is repeated for each o+,screen function. -imilarly hen ecreate/delete/update a ne database tableor data store object to save data then the$)* count ill be all the elds in therespective tables.
nce e have the count of all the $)*
n c t i o n P o i n t A n a l y s i s
AF43alue Adjustment Factor
Prole5. 6ame7. 0ogin 8$9. Passord!ontact:. 8M ;s. 8M #ser 8$
Address?. Flat,@ld,8d. -treetB. 0ocationC. -tate5D !ountry
User Records
11.Photo
7. $igitalAsset
Management
5. $@
#ser"ecords
57.#pdate
Data Function
User Records
5. #ser Prole5. 6ame7. 0ogin 8$9. Passord
7. !ontact:. 8M>. 8M #ser8$
9. Address?. Flat,@ld,8d. -treetB.0ocationC. -tate5D!ountry
!ources "FTR#
"db$ e%t fi&e source#
1 D'Ts
"11. Fie&ds$ 1 action#
( !ources "R'T#
"tab&es)subgrou*s#
10 D'Ts
"10. Fie&ds#
-
8/20/2019 Progressive Function Point Analysis
4/19
INTRODUCTION TO FUNCTION POINTS
8FP#G provides a FP value referencecard that identies an FP value for0o& Medium and igh FPs based onthe number of $)*s ith respect tothe comple1ity involved by countingsubgroups%tables(& logical les orremote interfaces ithin the countedelds of that function.
For *ransaction functions& $)* countis ta
-
8/20/2019 Progressive Function Point Analysis
5/19
ID%NTIF#IN& T'% (OUNDAR# ANDOP%RATIONS
*he rst major hurdle& though simple is recognizing hat constitutes )8&
)& )& 80F ' )8F and in identifying the data functions and transactionfunctions.
n c t i o n P o i n t A n a l y s i s
The )oun"ary* inuts + oututs
-
8/20/2019 Progressive Function Point Analysis
6/19
DATA FUNCTIONS
$ata Functions are primarily database
related transactions. *his may involvethe creation& updating the structure ordeletion of tables or related datasources.
8nternal 0ogical Files%80F( are set oftables or related les that form a
uniue group. For instance e haveshocased 9 80Fs& !ustomer "ecords&Product "ecords and rder "ecords.)1ternal 8nterface Files%)8F( are 80Fs ofe1ternal systems that reside outsidethe boundary of our application.
")*s are the di+erent tables %sub,groups( in the parent groups.!ustomer "ecord has 9 ")*s hich areProle& !ontact and Preferences.
$)*s are the elds& or individual
elements in the respective tables orsubgroups. *he Prole table has ?
n c t i o n P o i n t A n a l y s i s
Product !ategory
Pricing
Product +ecord
rder 8tems8nvoice
Order +ecord
Prole1. Name,. %mail-. Pro!le I". DO(/. A""ress0. Photo UR
!ontact Memo
Customer +ecord
-
8/20/2019 Progressive Function Point Analysis
7/19
TRANSACTION FUNCTIONS
A transaction function consists of all
the input and output operations thatare used to display contents& generatereports& collect details through ebpages& forms or any other form of inputdevice or send output to an e1ternaldevice or e1ternal system through anAP8 call.
*he $)*s counted here are theindividual elds that ma. Address
. !lose
-
8/20/2019 Progressive Function Point Analysis
8/19
COUNTIN& ISSU%S ADDR%SS%D (#PRO&R%SSI2% FPA
Any *ransaction functions ith more than 7D Fields are considered highcomple1ity functions and not counted further& this is the primary reason formiscalculation.
A ebpage containing 7D Fields the FP !ount 4 >FP
8f the another ebpage contains :D Fields the FP !ount remains >FP since they
are simply derived as igh comple1ity Function points
8n Progressive FPA& the FP count is derived as 5D FP since they are calculatedbased on actual number of elements using the standard 8FP#G value matri1 andnot limited by static value ranges of igh& Medium ' 0o
Progressive FPA goes a step further to validate the comple1ity of businessscenarios and counts every process step inside the function to derive a genuine
n c t i o n P o i n t A n a l y s i s
The Pro)lems 3ith Tra"itional FP Counting
+ow Medium ,ig-
D"Ts # % () ()*
D'T / FP a&2
13 D'T / FP a&2
20 D'T / FP a&4
D'T / FP a& % 0.104 / 1.( / 1.(
13 D'T / FP a&13 % 0.104 / (.333 / 2.0
20 D'T / FP a&20 % 0.400 / 10.00 / 10.0
Mas
-
8/20/2019 Progressive Function Point Analysis
9/19
PRO&R%SSI2% FPA
Progressive FPA is based on
the same guiding principlesof FPA& hoever the FP valueof $)*s are derived from theactual count of $)*s andbased on 8FP#G referencecard values for compliance.
Progressive FPA additionallyaccounts for comple1business functions through8ntegrated Process Flos. 8PFcounts each process stepinvolved as Process )lement
*ype and the comple1ity isderived based ondependencies classied as0ogical !ollaboration-egments.
All 8PFs outside the boundary
but referenced from ithinthe application are termed
r e s s i v e F u n c t i o n P o i n t A n a l y s i s
5. 0ocal$atabase
7. $igitalAsset
Management
Fi&e Data !ource "FTR#
#ser Prole
?.Photo
5. 6ame
7. )mail
9. Prole8d
:. $@
>. Address
.-ave
!ancel
7. !all AP8to load user
details
9. 3alidate-ession *o.Authenticate ith
$AM
?.0oad"esource as
-tream
5.Authenticate #ser
.$isplay#ser Prole
5 . ! l i e n t
A p p
7 . H I J
- e r v e r
9 . $ A M
D
a t a ' & e m e n t T 5 * e " D ' T #
Process '&ement T5*e "P'T#
+ o g i c a & 6 o & & a b o r a t i o n !
e g m e n t s " + 6 ! #
-
8/20/2019 Progressive Function Point Analysis
10/19
PRO&R%SSI2% FPA
8n *ransaction functions P)*
is counted as userinteractions and functionsthat include the standard!"#$ functionality andbeyond to include businessrules& process and or
-
8/20/2019 Progressive Function Point Analysis
11/19
PRO&R%SSI2% FPA ACCOUNTIN& PROC%SS
r e s s i v e F u n c t i o n P o i n t A n a l y s i s
Manager Arc-itect
1. Provides arc-itect
Pro7ect detai&s
. 6reates t-e datamode&$ c&ass mode&
and basic f&ow of
a**&ication and
-ands 8t down to
team for va&idation
and entr5.
(. T-e team enters t-e
detai&s onto t-e Progressive
FP tem*&ate to *rovide t-e
first draft *re count of t-e
*ro7ect and detai&ed tas9
&ist for a**rova&
4. !ignoff anda**rova& from
c&ient on
effort
estimate
6&ient
Pro7ect Team
. 6om*&etes
wor9 and
submits *ost
count
:. ;i&&ed to
c&ient as *er
fina& Pro7ect
FP count
2. Manager
wor9s on
re&ease and
s*rint *&anning
)very #nit of or< is clearlydened ith an FP !ount '
hourly estimate.
Any or< can be justiedith actual or< e+ort interms of the total variablesand process involved ithclear dependencies.
)very #ser 8nterface&process& and databaseoperation is dened anddocumented or assumed tobe ithin given limits to
counter any ambiguity.
Any operation or processthat as ambiguous can beprovided ith a nal countand billed later assuringpayment guarantee.
An thin that is not
-
8/20/2019 Progressive Function Point Analysis
12/19
-
8/20/2019 Progressive Function Point Analysis
13/19
PRO&R%SSI2% FPA T%4PAT%5 US% CAS%S
g r e s s i v e F P A *e m p l a t e
*his sheet provides a complete high level overvie of each #! of the project for
prioritization and team allocation. @eing a project by donloading the latest Progressive FP *emplate is freely
donloadable from -ourceforge. 0ist don the use cases/user stories in the use cases for the current sprint. After each data or transaction function is added& the man,days& #FP and "euse
FP are automatically computed. *his page together ith the editable reportspage can provide an in,depth vie of each user story/use case along ith all thetas
-
8/20/2019 Progressive Function Point Analysis
14/19
PRO&R%SSI2% FPA T%4PAT%5 DATAFUNCTIONS
g r e s s i v e F P A *e m p l a t e
*his data function sheet includes every table/data store record added& updatedor deleted ith eld level details and process Kos. *he rst column describes the tas
-
8/20/2019 Progressive Function Point Analysis
15/19
PRO&R%SSI2% FPA T%4PAT%5TRANSACTION FUNCTIONS
g r e s s i v e F P A *e m p l a t e
*he transaction function includes every operation that is used to fetch data toand from the data source either input or output and includes every screen&
reports and operations in the application. *he functions may be added& updated or removed as a part of the user
story/operational conte1t. *he rst column describes the tas
-
8/20/2019 Progressive Function Point Analysis
16/19
CAS% STUD#5 T%6UIA UNI2%RSIT#
A - ) - * # $ I
*euila #niversity %*#( is e1ploring !"M solutions for managing their annualstudent inta
-
8/20/2019 Progressive Function Point Analysis
17/19
Reference User Story Function Brief Type DET RET PET LCSIFPUGUFP
ProgressiveUFP
IPF Reuse% Reuse FP Man ours DET Detai!s RET Detai!s PET Detai!s LCS Detai!s Reuse Detai!s
U61001 6 reate !u**ort Re 10
1. U6A! 8d$ . !tudent ?ame$ (.P-one$ 2. 'mai&$ 4. P-one$ .Primar5 6ourse Preference$ :.!econdar5 6ourse Preference$>.Tertiar5 6ourse Preference
1. !a&es
1. 6&ean data and va&idate
information$. U*sert Pros*ects records to+ead records$(. U*sert !e&ection records to2 100 1.>2
1. U6A! 8d$ . !tudent ?ame$ (.P-one$ 2. 'mai&$ 4. Primar56ourse Preference$ . !econdar56ourse Preference$ :. Tertiar56ourse Preference
PR=!P'6T!$ !'+'6T8=? Reuse of e%isting FTP fi&es.
U6100( Assign to Team Members 8nta9e Eueue6reate Assignment Ru&e for +ead Tas9Distribution
'8 1 2 1 ( 1.40 .2 1 1. Record 8d$ . Round Robin 8d 1. !a&es$ . User
1. 6reate new AutonumberRecord 8d$. 6a&cu&ate Round Robin asMod"Record 8d$ ?umber ofMembers#(. 6reate a . do ?ot 6a&&$ 3.'mai&$ 10. 'mai& =*t =ut$ 11. Fa%$1. Fa% =*t =ut$ 1(. +astModified ;5$ 12. +ast TransferDate$ 14. +ead =wner$ 1. +ead!ource$ 1:. +ead !tatus$ 1>.Mobi&e$ 13. ?ame$ 0. ?o. of'm*&o5ees$ 1. Partner Account$. P-one$ (. Rating$ 2. Tit&e$4. ebsite11 . 8ndustr5$ :.Primar5 6ourse Preference$ >.!econdar5 6ourse Preference$ 3.Tertiar5 6ourse Preference$ (0.U6A! 8d
U61002 !end 'mai& 8nvites for o*en da5 6reate =*en da5 8nvites 'mai& Tem*&ate '8 2 2 1 ( (.00 .2 11. 6am*aign 8d$ . 6am*aign?ame$ (. Tem*&ate 8d$ 2. +ead'mai& Address
1. 6am*aign$ . +eads
1. 6reate new 'mai& 6am*aign. !e&ect a&& members e&igib&e forne%t 'mai& 6am*aign(. !e&ect 'mai& Tem*&ate2. !tart 6am*aign.
!a&esforce
U61004 Review A**&ications for se&ection Review A**&ications for Processing '= : 1 2 1 2 1.2: .2 1
1. U6M! 8d$ . ?ame$ (. 'mai& 8D$P-one$ 4. A**rova& !tatus$ .Review 6omments$ :. 6ourse A**rova&
1. +eads
1. Review a**&ication fi&es . Post Review 6omments (. Acce*t)Re7ect 6andidate 2. A**rove)Re7ect 6oursePreference
!a&esforce
U6100 U*&oad APP+86AT8=?! fi&e to FTP 6reate A**&ication Record '8F : 1 4 1.>2
1. U6M! 8d$ . ?ame$ (. 'mai& 8D$P-one$ 4. A**rova& !tatus$ .Review 6omments$ :. 6ourse A**rova&
APP+86AT8=?
U6100 U*&oad APP+86AT8=?! fi&e to FTP U*&oad A**&ications to FTP '= : 1 2 ( 2 1.2: .2 1
1. U6M! 8d$ . ?ame$ (. 'mai& 8D$P-one$ 4. A**rova& !tatus$ .Review 6omments$ :. 6ourse A**rova&
1. +eads
1. +oad and fi&ter 6&osed +eadsfrom !a&esforce . 6onvert data to 6! (. 6reate new FTP 6onnection toT
-
8/20/2019 Progressive Function Point Analysis
18/19
,uestions
-
8/20/2019 Progressive Function Point Analysis
19/19
T-A./ 0OU1