Estimation Techniques V1.0

Click here to load reader

download Estimation Techniques V1.0

of 50

description

FPA UCP Cosmic FFP ESB/SOA

Transcript of Estimation Techniques V1.0

  • 1. Uday K Bhatt
    Estimation Techniques

2. Agenda
Function Point Estimation
Use-case Point Estimation
ESB/SOA Estimation
Cosmic FFP
Points to Ponder
3. Funtion Point Estimation
4. 11/30/2009
4
Introduction
FPA Counting Practices
(Definition:FPA is a method to break systems into smaller components, so they can be better understood and analyzed)
Project Managers, Software Architects and above.
5. 11/30/2009
5
Vocabulary
EI = External Inputs
EQ = External Queries
EO = External Outputs
ILF = Internal Logical Files
EIF = External Logical files
VAF = Value Adjustment Factor
6. 11/30/2009
6
Overview
System &
Application
Boundary
EI
EQ
EO
Outside
App Boundary
ILF
EIF
7. 11/30/2009
7
EI
External Inputs (EI) - is an elementary process in which data crosses the boundary from outside to inside.This 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.
8. 11/30/2009
8
EQ
External Inquiry (EQ) - an elementary process with both input and output components that result in data retrieval from one or more internal logical files and external interface files.The input process does not update or maintain any FTRs (Internal Logical Files or External Interface Files) and the output side does not contain derived data.
9. 11/30/2009
9
EO
External Outputs (EO) - an elementary process in which derived data passes across the boundary from inside to outside. 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.
10. 11/30/2009
10
ILF & EIF
Internal Logical Files (ILF) - a user identifiable group of logically related data that resides entirely within the application boundary and is maintained through External Inputs.Maintained is the process of modifying data (adding, changed and deleting) via an elementary process (via an External Input).
External Interface Files (EIF) - a user identifiable group of logically related data that is used for reference purposes only.The data resides entirely outside the application boundary and is maintained by another applications external inputs.The external interface file is an internal logical file for another application
11. 11/30/2009
11
Rating:
Component
RETs
FTRs
DETs
External Inputs (EI)



External Outputs (EO)



External Inquiries (EQ)



External Interface Files (EIF)



Internal Logical Files (ILF)



12. 11/30/2009
12
RET & FTR & DET
Record Element Type (RET): A RET is user recognizable sub group of data elements within an ILF or an EIF.It is best to look at logical groupings of data to help identify them.
File Type Referenced (FTR): A FTR is a file type referenced by a transaction.An FTR must also be an Internal Logical File (ILF) or External Interface File (EIF).
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.
13. 11/30/2009
13
Weight Factors
Type of
Complexity of Components

Component



Low
Average
High
Total
External Inputs
___x 3 = ___
___x 4 = ___
___x 6 = ___

External Outputs
___x 4 = ___
___x 5 = ___
___x 7 = ___

External Inquiries
___x 3 = ___
___x 4 = ___
___x 6 = ___

Internal Logical Files
___x 7 = ___
___x 10 = ___
___x 15 = ___

External Interface Files
___x 5 = ___
___x 7 = ___
___x 10 = ___





Total Number ofUnadjusted


Function Points



_____
14. 11/30/2009
14
VAF (0-5)
The value adjustment factor (VAF) is based on 14 general system characteristics (GSCs) that rate the general functionality of the application being counted.Each characteristic has associated descriptions that help determine the degrees of influence of the characteristics.
15. 11/30/2009
15
VAF (0-5)
General System Characteristic
Brief Description
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?
8.
On-Line update
How many ILFs 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 users 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, developed, and supported to facilitate change?
16. 16
Templates
17. Use Case Point Estimation
18. Architecture World 09
Use Cases
Business use Case
Business level functionality, which can be sub divided into multiple or single use cases.
Technical Use Case
An independent behavior which cant be further sub divided into any form.
19. Architecture World 09
Use Case Analytics
Actors Identification
Humans are always a complex actor
System Actor
Use case to use case interaction actors
Identification of Primary and Alternate Flow
Identification of interaction with number of tables by a Use case.
20. Architecture World 09
Complexity Definition
Human Actors are always complex
System Actors are as follows
0-5 Simple
6 onwards Complex
Use Case Complexity
0-5 Simple ( Flow / Tables)
6-10 Medium ( Flow / Tables)
11 onwards Complex (Flow/Tables)
21. Architecture World 09
Use Case Technical Factors
22. ESB/SOA Estimation
23. Architecture World 09
The Estimation Framework
24. Architecture World 09
ESB/SOA Decomposition
SOA/ESB hierarchical decomposition can help in identifying the primary components and processes
Functional Requirements termed as Business Factors (BFCT)
Non- Functional Requirements termed as Technical factors (TF)
25. Architecture World 09
Business Factor (BFCT)
Definition: The components which represents the business requirements and transactions in terms of:-
Process
Process consists of set of business processes workflows
Services
ESB provides the routing and connectivity through services, hence services are the real backbone and defined as business services
Integration
ESB provides a comprehensive persistent framework for integration of applications
26. Architecture World 09
Business Factor: Process (BFCT-P)
Process: The process factor is decomposed and are following:-
Business Service Workflow (BSW)
BSW can further be decomposed into
Sequential (BSW-S)
Parallel (BSW-P)
Implementation service Workflow (ISW)
ISW can further be decomposed into
Sequential (ISW-S)
Parallel (ISW-P)
27. Architecture World 09
Business Factor: Process (BFCT-P)

  • Process Complexity:

Business Service Workflow

  • (BSW) Complexity 28. BSW-S 29. 0-10 Simple 30. 11-20 Medium 31. 21-30 Complex 32. BSW-P 33. 2-4 Simple 34. 5-8 Medium 35. 8-12 Complex

Implementation Service Workflow

  • (ISW) Complexity 36. ISW-S 37. 0-8 Simple 38. 9-14 Medium 39. 15 -20 Complex 40. ISW-P 41. 2-4 Simple 42. 5-8 Medium 43. 8-12 Complex

Architecture World 09
Business Factor: Service (BFCT-S)
Services: Services herein defined as business services relation amongdefined nodes in ESB point
Provider (S-P)
Provider who provided the message/data/control
Consumer (S-C)
Consumer who consumes the message/data/control
Provider/Consumer Complexity : Number of P-C Points
0-5 Simple
5-10 Medium
10-15 Complex
44. Architecture World 09
Business Factor: Integration (BFCT-I)
Integration: Integration herein defined as relation among applications under consideration
Application Type
Product based (IA-P)
Open Specification : Simple
Proprietary: Medium
Legacy : Complex
Customer developed (IA-C)
Open specification : Simple
Proprietary : Medium
Legacy : Complex
Integration Type
Adapter based or services already in place (IS-A)
0-5 : Simple
6-10 :Medium
10 + :Complex
Customized services to be developed (IS-D)
Number of tables and fields define the complexity
DET :RET Defines the complexity
45. Architecture World 09
Weight Factors (Normalization)
46. Architecture World 09
Technical Factors (TF)
Definition: These are Non-functional requirements of any ESB integration. Most of the time applications take control of these factors:-
Routing
Versioning
Transformation
Messaging
Response Time
Distributed
Orchestration
Protocol
Transactions
AAA
47. Architecture World 09
Technical Factors (TF)
These technical factors have degrees of influence between (0-5) and this has to be set to 3 at abinitio tomake degree of influence as a multiple of 1, which means no impact on size. As these are set to a max of 5 the maximum percentile impact would be 15 %
TF =(DI*.01)+0.70
Keeping DI at low impacted multiplier is due to the tools availability to cater these requirements.
48. Architecture World 09
Derived Formula & Nominal Value
SOA/ESB Size= Adjusted BFCT Count=BFCT Count*TF
Effort in Person Days =
(Adjusted BFCT Count*Productivity Figure)/8 Hours

  • Unadjusted BFCT Count=

[(BSW-S)S *WF+(BSW-S)M *WF+(BSW-S)C *WF+ (BSW-P)S *WF+(BSW-P)M *WF+(BSW-P)C
*WF+ (ISW-S)S *WF+(ISW-S)M *WF+(ISW-S)C *WF+ (ISW-P)S *WF+(ISW-P)M *WF+(ISW-P)C
*WF+ (S-P)S *WF+(S-P)M *WF+(S-P)C *WF+ (S-C) S*WF+(S-C) M*WF+(S-C)C*WF+
(IA-P) S*WF+ (IA-P)M*WF+(IA-P)C*WF+ (IA-C)S*WF+ (IA-C)M*WF+ (IA-C)C*WF+
(IS-A) S*WF+(IS-A)M*WF+(IS-A)C*WF+ (IS-D) S*WF+ (IS-D)M*WF+(IS-D)C*WF]

  • Normalized Unadjusted BFCT Count=

[(BSW-S)S *WF+(BSW-S)M *WF+(BSW-S)C *WF+ (S-P)S *WF+(S-P)M *WF+(S-P)C
*WF+ (S-C) S*WF+(S-C) M*WF+(S-C)C*WF+ (IA-P) S*WF+ (IA-P)M*WF+(IA-P)C*WF+
(IS-A) S*WF+(IS-A)M*WF+(IS-A)C*WF+ (IS-D) S*WF+ (IS-D)M*WF+(IS-D)C*WF]
49. 34
Templates
50. Cosmic FFP Estimation
51. 36
Multi-piece Software
52. 37
Characteristics
Layers:
hierachical set of layer with client/server relationships.
Peer-to-peer communication
Boundary
boundary lies between layers
items are inside or outside boundary
Software users
Always outside boundary
humans, software, devices, adjacent layers
Functional User Requirement (FUR)
Only Functionality from User point of view
no quality or performance requirements
53. 38
General Principles
The software to be mapped and measured
is fed by input and produces useful output to the users
manipulates pieces of information designated as data groups which consist of data attributes
54. 39
Sub-process types
= data movementtypes sub-processes
USERS
Entry
Exit
Manipulation
Read
Write
STORAGEDATA GROUPS
55. 40
COSMIC FFP Measurement Phase
Measurement function: each instance of a sub-process is assigned a numerical quantity
Unit of Measurement: 1 Cfsu (Cosmic Functional Size Unit) is equivalent to 1 data movement at the sub-process level
Additivity: The size of a functional process is the sum of the measurements of its sub-process.The Size of a piece of software is the sum of the sizes of its functional processes
Sub-unit of measure: If necessary, a sub-unit of measurement can be defined (example: movement of a single data-attribute)
56. 41
Measurement Phase: Rules & Method
Aggregation of results
Size(layeri)= S size(entriesi)+ S size(exitsi) + S size(readsi) +S size(writesi)
Size(change(layeri))= S size(added sub-processes)+ S size(modified sub-processes) + S size(deleted sub-processes)
57. 42
COSMIC FFP-example
Add Customer4
User entry ENTRY1
Test for existing nameREAD1
Display error messageEXIT1
Store customer dataWRITE1
Change Customer Data8
User entryENTRY1
Retrieve Customer DataREAD1
Display error messageEXIT1
Display Cust dataEXIT1
Enter changed dataEntry1
Store modified DataWRITE1
Retrieve item data (FK)READ1
Store item data (FK)WRITE1
58. 43
COSMIC FFP-example
Delete Customer5
User entry ENTRY1
Retrieve Customer DataREAD1
Display error messageEXIT1
Retrieve item data (FK)READ1
Remove customerWRITE1
Receive Payment4
User entryENTRY1
Retrieve Customer DataREAD1
Display error messageEXIT1
Store dataWRITE1
59. 44
COSMIC FFP-example
Deposit Item6
User entryENTRY1
Retrieve Customer DataREAD1
Retrieve item data READ1
Retrieve place dataREAD1
Display error messageEXIT1
Store item data WRITE1
Retrieve Item6
User entryENTRY1
Retrieve Customer DataREAD1
Retrieve item data READ1
Display error messageEXIT1
Update customer recordWRITE1
Remove item WRITE1
60. 45
COSMIC FFP-example
Add Place4
Change Place Data8
Delete Place5
Print customer Item List5
Print Bill5
Print stored item list3
Query customers4
Query customer's items5
Query Places4
Query stored items5
= 81
61. 46
Templates
62. Points to Ponder
63. 48
Prodcutivity Relationships
7.5 FP for Java/DotNet = 10 Hrs for UCP = 10*1.65* Cosmic FFP Count
ESB/SOA Productivity = 4 Min to 8 Max Depends on Tool
ERP = 4 to 6
Span = 4 to 13
64. 49
Points to Poinder
Number of Test Cases = 1.2 * FP Size
FP Size = Line of Logical code / Benchm,arked Lines/Technology
Search input and Generate report is counted in one entity
Count cannot be repeated
Number or EI =Number of EQ
0.5 Number of EI= Number of EO = Number of ILF
Estimations fails at EIF
VAF has %age imapct
NFR are equally important that requirements
65. Thank you.