workshop 2: function point analysis marlon dumas 2: function point analysis marlon dumas (slides...
TRANSCRIPT
![Page 1: Workshop 2: Function Point Analysis Marlon Dumas 2: Function Point Analysis Marlon Dumas (slides partly based on FPA Manual by David Longstreet) Software Economics – Fall 2012 2](https://reader031.vdocuments.us/reader031/viewer/2022021510/5aa7b7c27f8b9a294b8c7170/html5/thumbnails/1.jpg)
Workshop 2: Function Point Analysis
Marlon Dumas
(slides partly based on FPA Manual by David Longstreet)
Software Economics – Fall 2012
![Page 2: Workshop 2: Function Point Analysis Marlon Dumas 2: Function Point Analysis Marlon Dumas (slides partly based on FPA Manual by David Longstreet) Software Economics – Fall 2012 2](https://reader031.vdocuments.us/reader031/viewer/2022021510/5aa7b7c27f8b9a294b8c7170/html5/thumbnails/2.jpg)
2
Function Point Analysis l Function point is a measure of the amount of
business functionality in a software application - The larger number of FPs the more
functionality
l Function Point Analysis is based on breaking down applications into smaller components and measuring their size
![Page 3: Workshop 2: Function Point Analysis Marlon Dumas 2: Function Point Analysis Marlon Dumas (slides partly based on FPA Manual by David Longstreet) Software Economics – Fall 2012 2](https://reader031.vdocuments.us/reader031/viewer/2022021510/5aa7b7c27f8b9a294b8c7170/html5/thumbnails/3.jpg)
3
Scope & Limitations of FPA l FPA is largely geared towards “form-based” or
“record-oriented” applications l Might not be suitable for applications involving:
- Complex algorithms, e.g. image/video/audio processing, text or data mining, simulation, optimization, strategy games
- Complex multimedia apps, 3D animation - Real-time embedded software - Very large-scale data management
![Page 4: Workshop 2: Function Point Analysis Marlon Dumas 2: Function Point Analysis Marlon Dumas (slides partly based on FPA Manual by David Longstreet) Software Economics – Fall 2012 2](https://reader031.vdocuments.us/reader031/viewer/2022021510/5aa7b7c27f8b9a294b8c7170/html5/thumbnails/4.jpg)
4
FPA – Basic Principles Software applications are treated as a
combination of: l Data in motion = Transactions
- Moving data from application to outside or from outside to application
l Data at rest - Data sources that need to be accessed by the
application
![Page 5: Workshop 2: Function Point Analysis Marlon Dumas 2: Function Point Analysis Marlon Dumas (slides partly based on FPA Manual by David Longstreet) Software Economics – Fall 2012 2](https://reader031.vdocuments.us/reader031/viewer/2022021510/5aa7b7c27f8b9a294b8c7170/html5/thumbnails/5.jpg)
5
FPA – Basic Principles Three types of transactions: l Input – data is fed into the system l Enquiry – data is retrieved from the system l Output – data is retrieved and enriched And two types of data sources • Internal files • External files Note: “files” means “bucket of logically-related records”, not “files” in the Unix sense.
![Page 6: Workshop 2: Function Point Analysis Marlon Dumas 2: Function Point Analysis Marlon Dumas (slides partly based on FPA Manual by David Longstreet) Software Economics – Fall 2012 2](https://reader031.vdocuments.us/reader031/viewer/2022021510/5aa7b7c27f8b9a294b8c7170/html5/thumbnails/6.jpg)
6
Function Points – Context Identify Application Boundaries
Count Data Functions
Count Transactional Functions
Determine Unadjusted FP Count
Determine Adjusted FP Count
![Page 7: Workshop 2: Function Point Analysis Marlon Dumas 2: Function Point Analysis Marlon Dumas (slides partly based on FPA Manual by David Longstreet) Software Economics – Fall 2012 2](https://reader031.vdocuments.us/reader031/viewer/2022021510/5aa7b7c27f8b9a294b8c7170/html5/thumbnails/7.jpg)
7
Function Points – Context Identify Application Boundaries
![Page 8: Workshop 2: Function Point Analysis Marlon Dumas 2: Function Point Analysis Marlon Dumas (slides partly based on FPA Manual by David Longstreet) Software Economics – Fall 2012 2](https://reader031.vdocuments.us/reader031/viewer/2022021510/5aa7b7c27f8b9a294b8c7170/html5/thumbnails/8.jpg)
8
Application Boundary l Border between application being measured
and external applications
![Page 9: Workshop 2: Function Point Analysis Marlon Dumas 2: Function Point Analysis Marlon Dumas (slides partly based on FPA Manual by David Longstreet) Software Economics – Fall 2012 2](https://reader031.vdocuments.us/reader031/viewer/2022021510/5aa7b7c27f8b9a294b8c7170/html5/thumbnails/9.jpg)
9
Scenario l Assume we are building a web application that
aggregates and displays stream of events in a software development team:
- Anton fixed a bug - Mark added new task - Anton committed new code change
l Everybody can sign-up l Create new streams l Data is stored in database
![Page 10: Workshop 2: Function Point Analysis Marlon Dumas 2: Function Point Analysis Marlon Dumas (slides partly based on FPA Manual by David Longstreet) Software Economics – Fall 2012 2](https://reader031.vdocuments.us/reader031/viewer/2022021510/5aa7b7c27f8b9a294b8c7170/html5/thumbnails/10.jpg)
10
What functionality is part of application?
![Page 11: Workshop 2: Function Point Analysis Marlon Dumas 2: Function Point Analysis Marlon Dumas (slides partly based on FPA Manual by David Longstreet) Software Economics – Fall 2012 2](https://reader031.vdocuments.us/reader031/viewer/2022021510/5aa7b7c27f8b9a294b8c7170/html5/thumbnails/11.jpg)
11
Scenario: Within Boundaries or Not? l Authentication l Configuration of connections to tools team is
using (bug&task tracking, code management) l Organization/optimization of database files l Forwarding events to Twitter/Facebook l Sending HTML/JS/CSS over HTTP to browser
![Page 12: Workshop 2: Function Point Analysis Marlon Dumas 2: Function Point Analysis Marlon Dumas (slides partly based on FPA Manual by David Longstreet) Software Economics – Fall 2012 2](https://reader031.vdocuments.us/reader031/viewer/2022021510/5aa7b7c27f8b9a294b8c7170/html5/thumbnails/12.jpg)
Example – Application Boundary www.blanklabel.com
![Page 13: Workshop 2: Function Point Analysis Marlon Dumas 2: Function Point Analysis Marlon Dumas (slides partly based on FPA Manual by David Longstreet) Software Economics – Fall 2012 2](https://reader031.vdocuments.us/reader031/viewer/2022021510/5aa7b7c27f8b9a294b8c7170/html5/thumbnails/13.jpg)
Exercise
Let’s define application boundaries to analyze www.doodle.com
![Page 14: Workshop 2: Function Point Analysis Marlon Dumas 2: Function Point Analysis Marlon Dumas (slides partly based on FPA Manual by David Longstreet) Software Economics – Fall 2012 2](https://reader031.vdocuments.us/reader031/viewer/2022021510/5aa7b7c27f8b9a294b8c7170/html5/thumbnails/14.jpg)
14
FPA – Components l Transactions (Transactional Components)
- External Inputs (information input) - External Inquiries (no derived data, data
retrieval): - External Outputs (derived data, algorithms):
l Data at rest (Data components) - Internal Logical Files (maintained internally) - External Interfaces Files (maintained by
external apps)
![Page 15: Workshop 2: Function Point Analysis Marlon Dumas 2: Function Point Analysis Marlon Dumas (slides partly based on FPA Manual by David Longstreet) Software Economics – Fall 2012 2](https://reader031.vdocuments.us/reader031/viewer/2022021510/5aa7b7c27f8b9a294b8c7170/html5/thumbnails/15.jpg)
15
FPA – Components
![Page 16: Workshop 2: Function Point Analysis Marlon Dumas 2: Function Point Analysis Marlon Dumas (slides partly based on FPA Manual by David Longstreet) Software Economics – Fall 2012 2](https://reader031.vdocuments.us/reader031/viewer/2022021510/5aa7b7c27f8b9a294b8c7170/html5/thumbnails/16.jpg)
16
Components l Each component rated as Low, Average or
High - Based on (perceived) complexity
l Points are assigned based on the rating l Question: How to evaluate complexity?
![Page 17: Workshop 2: Function Point Analysis Marlon Dumas 2: Function Point Analysis Marlon Dumas (slides partly based on FPA Manual by David Longstreet) Software Economics – Fall 2012 2](https://reader031.vdocuments.us/reader031/viewer/2022021510/5aa7b7c27f8b9a294b8c7170/html5/thumbnails/17.jpg)
17
Break things up into even smaller pieces!
l Transaction - Dependent on data transferred - Dependent on data stored
l Data at rest - Dependent on data stored - Independent of data transferred
![Page 18: Workshop 2: Function Point Analysis Marlon Dumas 2: Function Point Analysis Marlon Dumas (slides partly based on FPA Manual by David Longstreet) Software Economics – Fall 2012 2](https://reader031.vdocuments.us/reader031/viewer/2022021510/5aa7b7c27f8b9a294b8c7170/html5/thumbnails/18.jpg)
18
Smaller Pieces l Data Element Type (DET)
- Dynamic user recognizable fields - Controls (things that invoke actions) - Used to estimate complexity of both
transactions and data
![Page 19: Workshop 2: Function Point Analysis Marlon Dumas 2: Function Point Analysis Marlon Dumas (slides partly based on FPA Manual by David Longstreet) Software Economics – Fall 2012 2](https://reader031.vdocuments.us/reader031/viewer/2022021510/5aa7b7c27f8b9a294b8c7170/html5/thumbnails/19.jpg)
19
Data Element Type – Examples
DET-s
![Page 20: Workshop 2: Function Point Analysis Marlon Dumas 2: Function Point Analysis Marlon Dumas (slides partly based on FPA Manual by David Longstreet) Software Economics – Fall 2012 2](https://reader031.vdocuments.us/reader031/viewer/2022021510/5aa7b7c27f8b9a294b8c7170/html5/thumbnails/20.jpg)
20
Data Element Type – Examples DET-s
Repeated DET-s. Count only once
![Page 21: Workshop 2: Function Point Analysis Marlon Dumas 2: Function Point Analysis Marlon Dumas (slides partly based on FPA Manual by David Longstreet) Software Economics – Fall 2012 2](https://reader031.vdocuments.us/reader031/viewer/2022021510/5aa7b7c27f8b9a294b8c7170/html5/thumbnails/21.jpg)
21
Data Element Type – Examples
![Page 22: Workshop 2: Function Point Analysis Marlon Dumas 2: Function Point Analysis Marlon Dumas (slides partly based on FPA Manual by David Longstreet) Software Economics – Fall 2012 2](https://reader031.vdocuments.us/reader031/viewer/2022021510/5aa7b7c27f8b9a294b8c7170/html5/thumbnails/22.jpg)
22
Data Element Type – Examples
DET-s
![Page 23: Workshop 2: Function Point Analysis Marlon Dumas 2: Function Point Analysis Marlon Dumas (slides partly based on FPA Manual by David Longstreet) Software Economics – Fall 2012 2](https://reader031.vdocuments.us/reader031/viewer/2022021510/5aa7b7c27f8b9a294b8c7170/html5/thumbnails/23.jpg)
Exercise • Design a simplified data model of doodle.com
(given the application boundaries you chose). • Count DETs for the “poll” type.
![Page 24: Workshop 2: Function Point Analysis Marlon Dumas 2: Function Point Analysis Marlon Dumas (slides partly based on FPA Manual by David Longstreet) Software Economics – Fall 2012 2](https://reader031.vdocuments.us/reader031/viewer/2022021510/5aa7b7c27f8b9a294b8c7170/html5/thumbnails/24.jpg)
24
Smaller Pieces l Data Element Type (DET)
- Dynamic user recognizable field
l Record Element Type (RET) - User recognizable subgroup of data elements
in internal logical file or external interface file - For relational databases typically one Internal
Logic File (table) = one Record Element Type
![Page 25: Workshop 2: Function Point Analysis Marlon Dumas 2: Function Point Analysis Marlon Dumas (slides partly based on FPA Manual by David Longstreet) Software Economics – Fall 2012 2](https://reader031.vdocuments.us/reader031/viewer/2022021510/5aa7b7c27f8b9a294b8c7170/html5/thumbnails/25.jpg)
25
Record Element Type – Examples
1 RET each
![Page 26: Workshop 2: Function Point Analysis Marlon Dumas 2: Function Point Analysis Marlon Dumas (slides partly based on FPA Manual by David Longstreet) Software Economics – Fall 2012 2](https://reader031.vdocuments.us/reader031/viewer/2022021510/5aa7b7c27f8b9a294b8c7170/html5/thumbnails/26.jpg)
26
Record Element Type – Examples
2 RET-s
![Page 27: Workshop 2: Function Point Analysis Marlon Dumas 2: Function Point Analysis Marlon Dumas (slides partly based on FPA Manual by David Longstreet) Software Economics – Fall 2012 2](https://reader031.vdocuments.us/reader031/viewer/2022021510/5aa7b7c27f8b9a294b8c7170/html5/thumbnails/27.jpg)
27
Record Element Type – Examples Inheritance in object oriented development
Table per object hierarchy in relational
database
![Page 28: Workshop 2: Function Point Analysis Marlon Dumas 2: Function Point Analysis Marlon Dumas (slides partly based on FPA Manual by David Longstreet) Software Economics – Fall 2012 2](https://reader031.vdocuments.us/reader031/viewer/2022021510/5aa7b7c27f8b9a294b8c7170/html5/thumbnails/28.jpg)
28
Record Element Type – Examples
2 RET-s
![Page 29: Workshop 2: Function Point Analysis Marlon Dumas 2: Function Point Analysis Marlon Dumas (slides partly based on FPA Manual by David Longstreet) Software Economics – Fall 2012 2](https://reader031.vdocuments.us/reader031/viewer/2022021510/5aa7b7c27f8b9a294b8c7170/html5/thumbnails/29.jpg)
29
Smaller Pieces l Data Element Type (DET)
- Dynamic user recognizable field
l Record Element Type (RET) - User recognizable subgroup of data elements
in internal logical file or external interface file
l File Type Referenced (FTR) - File type referenced by transaction (internal
logical file or external interface file)
![Page 30: Workshop 2: Function Point Analysis Marlon Dumas 2: Function Point Analysis Marlon Dumas (slides partly based on FPA Manual by David Longstreet) Software Economics – Fall 2012 2](https://reader031.vdocuments.us/reader031/viewer/2022021510/5aa7b7c27f8b9a294b8c7170/html5/thumbnails/30.jpg)
30
File Type Referenced - Examples l Edit article details
- Abstract - Tags - Notes
![Page 31: Workshop 2: Function Point Analysis Marlon Dumas 2: Function Point Analysis Marlon Dumas (slides partly based on FPA Manual by David Longstreet) Software Economics – Fall 2012 2](https://reader031.vdocuments.us/reader031/viewer/2022021510/5aa7b7c27f8b9a294b8c7170/html5/thumbnails/31.jpg)
31
FTR-s For Edit Article Details
FTR-s
Not referenced
![Page 32: Workshop 2: Function Point Analysis Marlon Dumas 2: Function Point Analysis Marlon Dumas (slides partly based on FPA Manual by David Longstreet) Software Economics – Fall 2012 2](https://reader031.vdocuments.us/reader031/viewer/2022021510/5aa7b7c27f8b9a294b8c7170/html5/thumbnails/32.jpg)
32
File Type Referenced Examples l How many FTR-s for “List of Articles”?
- Tables: Articles, Authors, Tags
![Page 33: Workshop 2: Function Point Analysis Marlon Dumas 2: Function Point Analysis Marlon Dumas (slides partly based on FPA Manual by David Longstreet) Software Economics – Fall 2012 2](https://reader031.vdocuments.us/reader031/viewer/2022021510/5aa7b7c27f8b9a294b8c7170/html5/thumbnails/33.jpg)
33
Components
![Page 34: Workshop 2: Function Point Analysis Marlon Dumas 2: Function Point Analysis Marlon Dumas (slides partly based on FPA Manual by David Longstreet) Software Economics – Fall 2012 2](https://reader031.vdocuments.us/reader031/viewer/2022021510/5aa7b7c27f8b9a294b8c7170/html5/thumbnails/34.jpg)
34
Components and DETs, RETs, FTRs
![Page 35: Workshop 2: Function Point Analysis Marlon Dumas 2: Function Point Analysis Marlon Dumas (slides partly based on FPA Manual by David Longstreet) Software Economics – Fall 2012 2](https://reader031.vdocuments.us/reader031/viewer/2022021510/5aa7b7c27f8b9a294b8c7170/html5/thumbnails/35.jpg)
35
Function Points – Context Identify Application Boundaries
Count Transactional Functions
![Page 36: Workshop 2: Function Point Analysis Marlon Dumas 2: Function Point Analysis Marlon Dumas (slides partly based on FPA Manual by David Longstreet) Software Economics – Fall 2012 2](https://reader031.vdocuments.us/reader031/viewer/2022021510/5aa7b7c27f8b9a294b8c7170/html5/thumbnails/36.jpg)
36
External Inputs l Information flows into the application
- Online, user inserted, from other application
![Page 37: Workshop 2: Function Point Analysis Marlon Dumas 2: Function Point Analysis Marlon Dumas (slides partly based on FPA Manual by David Longstreet) Software Economics – Fall 2012 2](https://reader031.vdocuments.us/reader031/viewer/2022021510/5aa7b7c27f8b9a294b8c7170/html5/thumbnails/37.jpg)
37
External Inputs – Examples
![Page 38: Workshop 2: Function Point Analysis Marlon Dumas 2: Function Point Analysis Marlon Dumas (slides partly based on FPA Manual by David Longstreet) Software Economics – Fall 2012 2](https://reader031.vdocuments.us/reader031/viewer/2022021510/5aa7b7c27f8b9a294b8c7170/html5/thumbnails/38.jpg)
38
External Inputs – Examples EI
![Page 39: Workshop 2: Function Point Analysis Marlon Dumas 2: Function Point Analysis Marlon Dumas (slides partly based on FPA Manual by David Longstreet) Software Economics – Fall 2012 2](https://reader031.vdocuments.us/reader031/viewer/2022021510/5aa7b7c27f8b9a294b8c7170/html5/thumbnails/39.jpg)
39
External Inputs l Elementary process in which data or control
information crosses the boundary from outside to inside
- Data is maintained = added, changed or deleted
- Application is controlled (manipulated, behavior is changed)
l Rated based upon Data Element Types and Files Type Referenced
![Page 40: Workshop 2: Function Point Analysis Marlon Dumas 2: Function Point Analysis Marlon Dumas (slides partly based on FPA Manual by David Longstreet) Software Economics – Fall 2012 2](https://reader031.vdocuments.us/reader031/viewer/2022021510/5aa7b7c27f8b9a294b8c7170/html5/thumbnails/40.jpg)
40
External Inputs → Function Points Data Elements (DET-s)
1 – 4 5 – 15 > 151 Low (3) Low (3) Average (4)2 Low (3) Average (4) High (6)
> 2 Average (4) High (6) High (6)
Files Referenced (FTR-s)
l Low → 3 function points l Average → 4 function points l High → 6 function points
![Page 41: Workshop 2: Function Point Analysis Marlon Dumas 2: Function Point Analysis Marlon Dumas (slides partly based on FPA Manual by David Longstreet) Software Economics – Fall 2012 2](https://reader031.vdocuments.us/reader031/viewer/2022021510/5aa7b7c27f8b9a294b8c7170/html5/thumbnails/41.jpg)
41
External Inputs – Examples l External Inputs
include error messages!
l All errors messages are counted as 1 Dynamic Element Type
![Page 42: Workshop 2: Function Point Analysis Marlon Dumas 2: Function Point Analysis Marlon Dumas (slides partly based on FPA Manual by David Longstreet) Software Economics – Fall 2012 2](https://reader031.vdocuments.us/reader031/viewer/2022021510/5aa7b7c27f8b9a294b8c7170/html5/thumbnails/42.jpg)
42
External Inputs – Data Types l Business data: customer name, number of
credits for course, … → updates Internal Logical Files (ILF-s)
l Control data: printer port, number of copies, … → may or may not update ILF-s
l Rules data: number of days before registration closes, min amount eligible for free shipping → updates ILF-s
![Page 43: Workshop 2: Function Point Analysis Marlon Dumas 2: Function Point Analysis Marlon Dumas (slides partly based on FPA Manual by David Longstreet) Software Economics – Fall 2012 2](https://reader031.vdocuments.us/reader031/viewer/2022021510/5aa7b7c27f8b9a294b8c7170/html5/thumbnails/43.jpg)
43
External Inputs l Data element types for External Inputs
- Fields, Controls, Messages (both error and confirmation)
- Calculated values that are stored
l Cancel – not counted in EI - Data doesn't cross boundary – noting
changed, edited or deleted - State or behavior of application is not changed
![Page 44: Workshop 2: Function Point Analysis Marlon Dumas 2: Function Point Analysis Marlon Dumas (slides partly based on FPA Manual by David Longstreet) Software Economics – Fall 2012 2](https://reader031.vdocuments.us/reader031/viewer/2022021510/5aa7b7c27f8b9a294b8c7170/html5/thumbnails/44.jpg)
44
These are NOT External Inputs l Login screens
- Should be counted as External Inquiry
l (Static) menus, link, navigational screens - Usability, not functionality
![Page 45: Workshop 2: Function Point Analysis Marlon Dumas 2: Function Point Analysis Marlon Dumas (slides partly based on FPA Manual by David Longstreet) Software Economics – Fall 2012 2](https://reader031.vdocuments.us/reader031/viewer/2022021510/5aa7b7c27f8b9a294b8c7170/html5/thumbnails/45.jpg)
45
External Inputs – Identification Rules l Data is received from outside the app boundary l Maintains data in Internal Logical Files l Process is self contained and leaves the
application in consistent state l Typical vocabulary
- Add, Change, Delete, Modify, Remove, Edit, Enable, Save, Store, Submit, ...
![Page 46: Workshop 2: Function Point Analysis Marlon Dumas 2: Function Point Analysis Marlon Dumas (slides partly based on FPA Manual by David Longstreet) Software Economics – Fall 2012 2](https://reader031.vdocuments.us/reader031/viewer/2022021510/5aa7b7c27f8b9a294b8c7170/html5/thumbnails/46.jpg)
46
Exercise – Rate External Input
![Page 47: Workshop 2: Function Point Analysis Marlon Dumas 2: Function Point Analysis Marlon Dumas (slides partly based on FPA Manual by David Longstreet) Software Economics – Fall 2012 2](https://reader031.vdocuments.us/reader031/viewer/2022021510/5aa7b7c27f8b9a294b8c7170/html5/thumbnails/47.jpg)
47
External Outputs l Derived information flows from the application
- Algorithms, calculations - Reports, graphs, charts
![Page 48: Workshop 2: Function Point Analysis Marlon Dumas 2: Function Point Analysis Marlon Dumas (slides partly based on FPA Manual by David Longstreet) Software Economics – Fall 2012 2](https://reader031.vdocuments.us/reader031/viewer/2022021510/5aa7b7c27f8b9a294b8c7170/html5/thumbnails/48.jpg)
Exercise • Identify and rate EIs in the doodle system
![Page 49: Workshop 2: Function Point Analysis Marlon Dumas 2: Function Point Analysis Marlon Dumas (slides partly based on FPA Manual by David Longstreet) Software Economics – Fall 2012 2](https://reader031.vdocuments.us/reader031/viewer/2022021510/5aa7b7c27f8b9a294b8c7170/html5/thumbnails/49.jpg)
Function Points – Context
• External input (EI) • External output (EO) • External enquiry (EQ)
49
Identify Application Boundaries
Count Transactional Functions
![Page 50: Workshop 2: Function Point Analysis Marlon Dumas 2: Function Point Analysis Marlon Dumas (slides partly based on FPA Manual by David Longstreet) Software Economics – Fall 2012 2](https://reader031.vdocuments.us/reader031/viewer/2022021510/5aa7b7c27f8b9a294b8c7170/html5/thumbnails/50.jpg)
50
Derived Information
![Page 51: Workshop 2: Function Point Analysis Marlon Dumas 2: Function Point Analysis Marlon Dumas (slides partly based on FPA Manual by David Longstreet) Software Economics – Fall 2012 2](https://reader031.vdocuments.us/reader031/viewer/2022021510/5aa7b7c27f8b9a294b8c7170/html5/thumbnails/51.jpg)
51
External Outputs – Examples EO
![Page 52: Workshop 2: Function Point Analysis Marlon Dumas 2: Function Point Analysis Marlon Dumas (slides partly based on FPA Manual by David Longstreet) Software Economics – Fall 2012 2](https://reader031.vdocuments.us/reader031/viewer/2022021510/5aa7b7c27f8b9a294b8c7170/html5/thumbnails/52.jpg)
52
External Output l Elementary process in which derived data
passes across the boundary from inside to outside
- Based on internal logical files and/or external interface files
- Data processed beyond direct retrieval and editing from internal logical files or external interface files
l Rated based upon Data Element Types and Files Type Referenced
![Page 53: Workshop 2: Function Point Analysis Marlon Dumas 2: Function Point Analysis Marlon Dumas (slides partly based on FPA Manual by David Longstreet) Software Economics – Fall 2012 2](https://reader031.vdocuments.us/reader031/viewer/2022021510/5aa7b7c27f8b9a294b8c7170/html5/thumbnails/53.jpg)
53
External Outputs → Function Points Data Elements (DET-s)
1 – 5 6 – 19 > 191 Low (4) Low (4) Average (5)
2 – 3 Low (4) Average (5) High (7)> 3 Average (5) High (7) High (7)
Files Referenced (FTR-s)
l Low → 4 function points l Average → 5 function points l High → 7 function points
![Page 54: Workshop 2: Function Point Analysis Marlon Dumas 2: Function Point Analysis Marlon Dumas (slides partly based on FPA Manual by David Longstreet) Software Economics – Fall 2012 2](https://reader031.vdocuments.us/reader031/viewer/2022021510/5aa7b7c27f8b9a294b8c7170/html5/thumbnails/54.jpg)
54
External Outputs l Notification messages – result of processing =
calculation l Data element types for External Outputs
- Error messages - Calculated values on reports - Values on reports retrieved from application - Recursive DET-s counted only once!
l External Outputs can have input side - Report configuration, ...
![Page 55: Workshop 2: Function Point Analysis Marlon Dumas 2: Function Point Analysis Marlon Dumas (slides partly based on FPA Manual by David Longstreet) Software Economics – Fall 2012 2](https://reader031.vdocuments.us/reader031/viewer/2022021510/5aa7b7c27f8b9a294b8c7170/html5/thumbnails/55.jpg)
55
These are NOT External Outputs l Error message, confirmation message
- Parts of External Outputs or other transactions
l Reports without derived data - External Inquiries
![Page 56: Workshop 2: Function Point Analysis Marlon Dumas 2: Function Point Analysis Marlon Dumas (slides partly based on FPA Manual by David Longstreet) Software Economics – Fall 2012 2](https://reader031.vdocuments.us/reader031/viewer/2022021510/5aa7b7c27f8b9a294b8c7170/html5/thumbnails/56.jpg)
56
External Outputs – Identification Rules l Data is sent from the app boundary to outside l Process is self contained and leaves the
application in consistent state l Typical vocabulary
- Browse, Display, Query, Report, View, Select, Request, Retrieve, Aggregate, Calculate
![Page 57: Workshop 2: Function Point Analysis Marlon Dumas 2: Function Point Analysis Marlon Dumas (slides partly based on FPA Manual by David Longstreet) Software Economics – Fall 2012 2](https://reader031.vdocuments.us/reader031/viewer/2022021510/5aa7b7c27f8b9a294b8c7170/html5/thumbnails/57.jpg)
57
External Outputs – Identification Rules l Data ordering produces the same external
output → counted only once!
![Page 58: Workshop 2: Function Point Analysis Marlon Dumas 2: Function Point Analysis Marlon Dumas (slides partly based on FPA Manual by David Longstreet) Software Economics – Fall 2012 2](https://reader031.vdocuments.us/reader031/viewer/2022021510/5aa7b7c27f8b9a294b8c7170/html5/thumbnails/58.jpg)
58
External Outputs – Identification Rules
l Different derived data from the same data → different external outputs!
![Page 59: Workshop 2: Function Point Analysis Marlon Dumas 2: Function Point Analysis Marlon Dumas (slides partly based on FPA Manual by David Longstreet) Software Economics – Fall 2012 2](https://reader031.vdocuments.us/reader031/viewer/2022021510/5aa7b7c27f8b9a294b8c7170/html5/thumbnails/59.jpg)
59
Example – Rate External Output
![Page 60: Workshop 2: Function Point Analysis Marlon Dumas 2: Function Point Analysis Marlon Dumas (slides partly based on FPA Manual by David Longstreet) Software Economics – Fall 2012 2](https://reader031.vdocuments.us/reader031/viewer/2022021510/5aa7b7c27f8b9a294b8c7170/html5/thumbnails/60.jpg)
Exercise • Identify and rate EOs in the Doodle system
![Page 61: Workshop 2: Function Point Analysis Marlon Dumas 2: Function Point Analysis Marlon Dumas (slides partly based on FPA Manual by David Longstreet) Software Economics – Fall 2012 2](https://reader031.vdocuments.us/reader031/viewer/2022021510/5aa7b7c27f8b9a294b8c7170/html5/thumbnails/61.jpg)
61
External Inquiries l Information flows from the application
- Existing, already stored data - Input side and output side - Reports, graphs, charts,
![Page 62: Workshop 2: Function Point Analysis Marlon Dumas 2: Function Point Analysis Marlon Dumas (slides partly based on FPA Manual by David Longstreet) Software Economics – Fall 2012 2](https://reader031.vdocuments.us/reader031/viewer/2022021510/5aa7b7c27f8b9a294b8c7170/html5/thumbnails/62.jpg)
62
External Inquiries l Existing data + Input and output sides
![Page 63: Workshop 2: Function Point Analysis Marlon Dumas 2: Function Point Analysis Marlon Dumas (slides partly based on FPA Manual by David Longstreet) Software Economics – Fall 2012 2](https://reader031.vdocuments.us/reader031/viewer/2022021510/5aa7b7c27f8b9a294b8c7170/html5/thumbnails/63.jpg)
63
External Inquiries – Examples 1 EI
![Page 64: Workshop 2: Function Point Analysis Marlon Dumas 2: Function Point Analysis Marlon Dumas (slides partly based on FPA Manual by David Longstreet) Software Economics – Fall 2012 2](https://reader031.vdocuments.us/reader031/viewer/2022021510/5aa7b7c27f8b9a294b8c7170/html5/thumbnails/64.jpg)
64
External Inquiry – Examples
1 EI
![Page 65: Workshop 2: Function Point Analysis Marlon Dumas 2: Function Point Analysis Marlon Dumas (slides partly based on FPA Manual by David Longstreet) Software Economics – Fall 2012 2](https://reader031.vdocuments.us/reader031/viewer/2022021510/5aa7b7c27f8b9a294b8c7170/html5/thumbnails/65.jpg)
65
External Inquiries l Elementary process with both input and output
components that result in data retrieval from one or more internal logical files and/or external interface files
- Does not maintain any internal logical files - Does not contain derived information
l Rated based upon Data Element Types and Files Type Referenced
![Page 66: Workshop 2: Function Point Analysis Marlon Dumas 2: Function Point Analysis Marlon Dumas (slides partly based on FPA Manual by David Longstreet) Software Economics – Fall 2012 2](https://reader031.vdocuments.us/reader031/viewer/2022021510/5aa7b7c27f8b9a294b8c7170/html5/thumbnails/66.jpg)
66
External Inquiries → Function Points Data Elements (DET-s)
1 – 5 6 – 19 > 191 Low (3) Low (3) Average (4)
2 – 3 Low (3) Average (4) High (6)> 3 Average (4) High (6) High (6)
Files Referenced (FTR-s)
l Low → 3 function points l Average → 4 function points l High → 6 function points
![Page 67: Workshop 2: Function Point Analysis Marlon Dumas 2: Function Point Analysis Marlon Dumas (slides partly based on FPA Manual by David Longstreet) Software Economics – Fall 2012 2](https://reader031.vdocuments.us/reader031/viewer/2022021510/5aa7b7c27f8b9a294b8c7170/html5/thumbnails/67.jpg)
67
External Inquiries – Examples l Input: customer name in the search field l Output: list of customers by name l Input: click on the document title l Output: document details
![Page 68: Workshop 2: Function Point Analysis Marlon Dumas 2: Function Point Analysis Marlon Dumas (slides partly based on FPA Manual by David Longstreet) Software Economics – Fall 2012 2](https://reader031.vdocuments.us/reader031/viewer/2022021510/5aa7b7c27f8b9a294b8c7170/html5/thumbnails/68.jpg)
68
External Inquiries – Data Types l Pagination: NEXT and BACK buttons –
recursive information, counted as the same function
l Messages are DET-s! - “searching”+data+”not found” = 3 DET-s
![Page 69: Workshop 2: Function Point Analysis Marlon Dumas 2: Function Point Analysis Marlon Dumas (slides partly based on FPA Manual by David Longstreet) Software Economics – Fall 2012 2](https://reader031.vdocuments.us/reader031/viewer/2022021510/5aa7b7c27f8b9a294b8c7170/html5/thumbnails/69.jpg)
69
These are NOT External Inquiries l Error message, confirmation message
- Parts of External Inquiries or other transactions
l Screens with derived data - External Outputs
![Page 70: Workshop 2: Function Point Analysis Marlon Dumas 2: Function Point Analysis Marlon Dumas (slides partly based on FPA Manual by David Longstreet) Software Economics – Fall 2012 2](https://reader031.vdocuments.us/reader031/viewer/2022021510/5aa7b7c27f8b9a294b8c7170/html5/thumbnails/70.jpg)
70
External Inquiries – Identification Rules l Request enters the boundaries, result exits the
boundaries l Data retrieval, no derived data l Input and Output together form an elementary
process l Data is not maintained (but can be updated) l Typical vocabulary
- Browse, Display, Fetch, Find, List, Drop-down, Select, View, Query, Report, ...
![Page 71: Workshop 2: Function Point Analysis Marlon Dumas 2: Function Point Analysis Marlon Dumas (slides partly based on FPA Manual by David Longstreet) Software Economics – Fall 2012 2](https://reader031.vdocuments.us/reader031/viewer/2022021510/5aa7b7c27f8b9a294b8c7170/html5/thumbnails/71.jpg)
Exercise • Identify and rate EQs in the Doodle system
![Page 72: Workshop 2: Function Point Analysis Marlon Dumas 2: Function Point Analysis Marlon Dumas (slides partly based on FPA Manual by David Longstreet) Software Economics – Fall 2012 2](https://reader031.vdocuments.us/reader031/viewer/2022021510/5aa7b7c27f8b9a294b8c7170/html5/thumbnails/72.jpg)
72
Transactional Components Quiz l For which components is true:
- DET-s are retrieved from FTR-s - Updates ILF - Maintains ILF - Contains derived data - Info from outside to inside - Never contains derived data - Info from inside to outside - At least on FTR is referenced
![Page 73: Workshop 2: Function Point Analysis Marlon Dumas 2: Function Point Analysis Marlon Dumas (slides partly based on FPA Manual by David Longstreet) Software Economics – Fall 2012 2](https://reader031.vdocuments.us/reader031/viewer/2022021510/5aa7b7c27f8b9a294b8c7170/html5/thumbnails/73.jpg)
73
Function Points – Context Identify Application Boundaries
Count Data Functions
Count Transactional Functions
![Page 74: Workshop 2: Function Point Analysis Marlon Dumas 2: Function Point Analysis Marlon Dumas (slides partly based on FPA Manual by David Longstreet) Software Economics – Fall 2012 2](https://reader031.vdocuments.us/reader031/viewer/2022021510/5aa7b7c27f8b9a294b8c7170/html5/thumbnails/74.jpg)
74
Internal Logical Files l Data that resides within app. boundaries
- Business data, control data, rules based data
![Page 75: Workshop 2: Function Point Analysis Marlon Dumas 2: Function Point Analysis Marlon Dumas (slides partly based on FPA Manual by David Longstreet) Software Economics – Fall 2012 2](https://reader031.vdocuments.us/reader031/viewer/2022021510/5aa7b7c27f8b9a294b8c7170/html5/thumbnails/75.jpg)
75
Internal Logical Files – Examples
3 ILF-s
![Page 76: Workshop 2: Function Point Analysis Marlon Dumas 2: Function Point Analysis Marlon Dumas (slides partly based on FPA Manual by David Longstreet) Software Economics – Fall 2012 2](https://reader031.vdocuments.us/reader031/viewer/2022021510/5aa7b7c27f8b9a294b8c7170/html5/thumbnails/76.jpg)
76
Internal Logical Files – Data Types l Business data: course name, address, student l Control data: printer port, copies, database url l Rules based data: registration criteria, grading
scheme
![Page 77: Workshop 2: Function Point Analysis Marlon Dumas 2: Function Point Analysis Marlon Dumas (slides partly based on FPA Manual by David Longstreet) Software Economics – Fall 2012 2](https://reader031.vdocuments.us/reader031/viewer/2022021510/5aa7b7c27f8b9a294b8c7170/html5/thumbnails/77.jpg)
77
Internal Logical Files – Examples l Application configuration stored on hard drive
- If maintained through the application
l Log files
![Page 78: Workshop 2: Function Point Analysis Marlon Dumas 2: Function Point Analysis Marlon Dumas (slides partly based on FPA Manual by David Longstreet) Software Economics – Fall 2012 2](https://reader031.vdocuments.us/reader031/viewer/2022021510/5aa7b7c27f8b9a294b8c7170/html5/thumbnails/78.jpg)
78
Internal Logical Files l Group of logically related data residing entirely
within application boundary - Maintained by External Inputs - Has at least one Record Element Type
l Rated based upon Data Element Types and Record Element Types
![Page 79: Workshop 2: Function Point Analysis Marlon Dumas 2: Function Point Analysis Marlon Dumas (slides partly based on FPA Manual by David Longstreet) Software Economics – Fall 2012 2](https://reader031.vdocuments.us/reader031/viewer/2022021510/5aa7b7c27f8b9a294b8c7170/html5/thumbnails/79.jpg)
79
Internal Logical Files → FP-s Data Elements (DET-s)
1 – 19 20 – 50 > 501 Low (7) Low (7) Average (10)
2 – 5 Low (7) Average (10) High (15)> 5 Average (10) High (15) High (15)
Record Elements (RET-s)
l Low → 7 function points l Average → 10 function points l High → 15 function points
![Page 80: Workshop 2: Function Point Analysis Marlon Dumas 2: Function Point Analysis Marlon Dumas (slides partly based on FPA Manual by David Longstreet) Software Economics – Fall 2012 2](https://reader031.vdocuments.us/reader031/viewer/2022021510/5aa7b7c27f8b9a294b8c7170/html5/thumbnails/80.jpg)
80
Internal Logical Files – Identification Rules
l User identifiable logical grouping l Data is maintained within application
boundaries l Data is modified via one or more External
Inputs
![Page 81: Workshop 2: Function Point Analysis Marlon Dumas 2: Function Point Analysis Marlon Dumas (slides partly based on FPA Manual by David Longstreet) Software Economics – Fall 2012 2](https://reader031.vdocuments.us/reader031/viewer/2022021510/5aa7b7c27f8b9a294b8c7170/html5/thumbnails/81.jpg)
81
Exercise – Rate ILF-s
![Page 82: Workshop 2: Function Point Analysis Marlon Dumas 2: Function Point Analysis Marlon Dumas (slides partly based on FPA Manual by David Longstreet) Software Economics – Fall 2012 2](https://reader031.vdocuments.us/reader031/viewer/2022021510/5aa7b7c27f8b9a294b8c7170/html5/thumbnails/82.jpg)
82
Exercise – Rate ILF
![Page 83: Workshop 2: Function Point Analysis Marlon Dumas 2: Function Point Analysis Marlon Dumas (slides partly based on FPA Manual by David Longstreet) Software Economics – Fall 2012 2](https://reader031.vdocuments.us/reader031/viewer/2022021510/5aa7b7c27f8b9a294b8c7170/html5/thumbnails/83.jpg)
Exercise • Identify and rate ILFs in the Doodle system
![Page 84: Workshop 2: Function Point Analysis Marlon Dumas 2: Function Point Analysis Marlon Dumas (slides partly based on FPA Manual by David Longstreet) Software Economics – Fall 2012 2](https://reader031.vdocuments.us/reader031/viewer/2022021510/5aa7b7c27f8b9a294b8c7170/html5/thumbnails/84.jpg)
84
External Interface Files l Data that resides outside app. boundary
- Internal data of other application
![Page 85: Workshop 2: Function Point Analysis Marlon Dumas 2: Function Point Analysis Marlon Dumas (slides partly based on FPA Manual by David Longstreet) Software Economics – Fall 2012 2](https://reader031.vdocuments.us/reader031/viewer/2022021510/5aa7b7c27f8b9a294b8c7170/html5/thumbnails/85.jpg)
85
External Interface Files – Examples
Google Scholar is EIF
![Page 86: Workshop 2: Function Point Analysis Marlon Dumas 2: Function Point Analysis Marlon Dumas (slides partly based on FPA Manual by David Longstreet) Software Economics – Fall 2012 2](https://reader031.vdocuments.us/reader031/viewer/2022021510/5aa7b7c27f8b9a294b8c7170/html5/thumbnails/86.jpg)
86
External Interface Files l Group of logically related data residing entirely
outside application boundary - Maintained by another application - Data is retrieved during External Output or
External Inquiry
l Rated based upon Data Element Types and Record Element Types
![Page 87: Workshop 2: Function Point Analysis Marlon Dumas 2: Function Point Analysis Marlon Dumas (slides partly based on FPA Manual by David Longstreet) Software Economics – Fall 2012 2](https://reader031.vdocuments.us/reader031/viewer/2022021510/5aa7b7c27f8b9a294b8c7170/html5/thumbnails/87.jpg)
87
External Interface Files → FP-s Data Elements (DET-s)
1 – 19 20 – 50 > 501 Low (5) Low (5) Average (7)
2 – 5 Low (5) Average (7) High (10)> 5 Average (7) High (10) High (10)
Record Elements (RET-s)
l Low → 5 function points l Average → 7 function points l High → 10 function points
![Page 88: Workshop 2: Function Point Analysis Marlon Dumas 2: Function Point Analysis Marlon Dumas (slides partly based on FPA Manual by David Longstreet) Software Economics – Fall 2012 2](https://reader031.vdocuments.us/reader031/viewer/2022021510/5aa7b7c27f8b9a294b8c7170/html5/thumbnails/88.jpg)
88
External Interface Files – Identification Rules
l User identifiable logical grouping of information l Data external to application
![Page 89: Workshop 2: Function Point Analysis Marlon Dumas 2: Function Point Analysis Marlon Dumas (slides partly based on FPA Manual by David Longstreet) Software Economics – Fall 2012 2](https://reader031.vdocuments.us/reader031/viewer/2022021510/5aa7b7c27f8b9a294b8c7170/html5/thumbnails/89.jpg)
89
Exercise – Rate EIF
![Page 90: Workshop 2: Function Point Analysis Marlon Dumas 2: Function Point Analysis Marlon Dumas (slides partly based on FPA Manual by David Longstreet) Software Economics – Fall 2012 2](https://reader031.vdocuments.us/reader031/viewer/2022021510/5aa7b7c27f8b9a294b8c7170/html5/thumbnails/90.jpg)
90
Function Points – Context Identify Application Boundaries
Count Data Functions
Count Transactional Functions
Determine Unadjusted FP Count
![Page 91: Workshop 2: Function Point Analysis Marlon Dumas 2: Function Point Analysis Marlon Dumas (slides partly based on FPA Manual by David Longstreet) Software Economics – Fall 2012 2](https://reader031.vdocuments.us/reader031/viewer/2022021510/5aa7b7c27f8b9a294b8c7170/html5/thumbnails/91.jpg)
91
Value-Adjusment Factor (VAF) VAF is a “factor” that takes into account non-
functional requirements, e.g.: l Required performance (transaction rate) l Required reliability l Required usability (end-user efficiency) l Etc. Not always used because all this is usually part of the cost estimation model (cf. next week)
We will only deal with unadjusted FPs (UFPs)
![Page 92: Workshop 2: Function Point Analysis Marlon Dumas 2: Function Point Analysis Marlon Dumas (slides partly based on FPA Manual by David Longstreet) Software Economics – Fall 2012 2](https://reader031.vdocuments.us/reader031/viewer/2022021510/5aa7b7c27f8b9a294b8c7170/html5/thumbnails/92.jpg)
Shortcomings of FPA • Suitable mostly for form-based database apps • Requires experience
• Experienced FP raters have variance of +/- 10% • Less experienced ones +/- 20%
• Requires detailed reqs & high-level design • Time-consuming
• “Dutch Method”: for each ILF, 3 EIs, 2 Eos, 1 EQ; for each EIF, 1 EO and 1 EQ
• UFP = 35 * ILF + 15 EIF
• Impractical for very large projects (> 10K FPs) 92
![Page 93: Workshop 2: Function Point Analysis Marlon Dumas 2: Function Point Analysis Marlon Dumas (slides partly based on FPA Manual by David Longstreet) Software Economics – Fall 2012 2](https://reader031.vdocuments.us/reader031/viewer/2022021510/5aa7b7c27f8b9a294b8c7170/html5/thumbnails/93.jpg)
FP Tools • Many tools can speed up/automate some FP
count • SPR KnolwedgePLAN • PRICE Systems TruePlanning • SCOPE • Others check “Software Parametric Models” in
Wikipedia
![Page 94: Workshop 2: Function Point Analysis Marlon Dumas 2: Function Point Analysis Marlon Dumas (slides partly based on FPA Manual by David Longstreet) Software Economics – Fall 2012 2](https://reader031.vdocuments.us/reader031/viewer/2022021510/5aa7b7c27f8b9a294b8c7170/html5/thumbnails/94.jpg)
94
Homework 1 l Team assignment (2-4 members per team) l See https://courses.cs.ut.ee/2013/softeco/
l Why not form teams now, select a system and post it on the message board?
l And why not start the homework now…
![Page 95: Workshop 2: Function Point Analysis Marlon Dumas 2: Function Point Analysis Marlon Dumas (slides partly based on FPA Manual by David Longstreet) Software Economics – Fall 2012 2](https://reader031.vdocuments.us/reader031/viewer/2022021510/5aa7b7c27f8b9a294b8c7170/html5/thumbnails/95.jpg)
Further exercises • FP Analysis of the following address book
example: • http://www.cs.gordon.edu/courses/cs211/
AddressBookExample/
![Page 96: Workshop 2: Function Point Analysis Marlon Dumas 2: Function Point Analysis Marlon Dumas (slides partly based on FPA Manual by David Longstreet) Software Economics – Fall 2012 2](https://reader031.vdocuments.us/reader031/viewer/2022021510/5aa7b7c27f8b9a294b8c7170/html5/thumbnails/96.jpg)
96
References
l D. Longstreet, Function Points Analysis Training Course - http://bit.ly/G6WIx
l Alvin Alexander: How to Determine Your Application Size Using Function Points. BorCon 2004 Proceedings
- http://tinyurl.com/8mbofd8