Professional Documents
Culture Documents
www.destinationqa.com
Agenda
What is Software Sizing 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 Study
www.destinationqa.com
Software Sizing
www.destinationqa.com
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).
Size is an inherent characteristic of a piece of software just like weight is an inherent characteristic of a tangible material.
www.destinationqa.com 4
www.destinationqa.com
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
Airline Surface
This appears on the surface to be a simple inquiry, but this is extremely complex. The process actually includes 1,000s of elementary processes, but the end user is only exposed to a very simple process. 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.
7
www.destinationqa.com
www.destinationqa.com
www.destinationqa.com
www.destinationqa.com
11
History
The idea of measuring a size of software in terms of its functionality as opposed to its physical components was first put forward by Allan Albrecht of IBM in 1979 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. Albrechts 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. Albrechts original approach has been refined significantly over the last 30 years, but its basic concepts are unchanged from the mid 1970s. Nevertheless, the IFPUG method is still the most widely-used FSM method, albeit confined to the domain of business application software.
www.destinationqa.com
12
www.destinationqa.com
13
Continued
Scott Whitmire developed 3D Function Points to size business application and real-time software drawing on Albrechts general approach.
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 Qubec, Montral 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 Albrechts original ideas. They are what we call 1st Generation FSM Methods.
www.destinationqa.com
14
www.destinationqa.com
15
Some Definitions
1. Functional Size A size of the software derived by quantifying the Functional User Requirements. 2. Functional Size Measurement (FSM) The process of measuring Functional Size. 3. 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.
www.destinationqa.com
16
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
www.destinationqa.com
18
www.destinationqa.com
19
www.destinationqa.com
20
www.destinationqa.com
22
www.destinationqa.com
23
www.destinationqa.com
24
www.destinationqa.com
25
External Inputs
An elementary process in which data crosses the boundary from outside to inside. 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, Buttons
www.destinationqa.com
26
www.destinationqa.com
27
www.destinationqa.com
28
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
External Output is 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.
www.destinationqa.com
30
www.destinationqa.com
31
www.destinationqa.com
32
www.destinationqa.com
33
www.destinationqa.com
34
www.destinationqa.com
35
www.destinationqa.com
36
www.destinationqa.com
37
RET is logical group of data with recursion Most record element types are dependent on a parent child relationship.
www.destinationqa.com
38
www.destinationqa.com
39
A All Customer data with Credit Card data B Credit Card Data
www.destinationqa.com
40
www.destinationqa.com
41
www.destinationqa.com
42
www.destinationqa.com
43
www.destinationqa.com
44
www.destinationqa.com
46
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,
www.destinationqa.com
47
www.destinationqa.com
48
www.destinationqa.com
49
www.destinationqa.com
50
www.destinationqa.com
51
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.
www.destinationqa.com
52
www.destinationqa.com
53
www.destinationqa.com
54
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
www.destinationqa.com
55
www.destinationqa.com
56
www.destinationqa.com
57
www.destinationqa.com
58
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
59
Case Study
www.destinationqa.com
60
Case Study
www.destinationqa.com
61
Thank You
Aparna Naik Email: naik.aparna@destinationqa.com Tel: +91 99233 50980
www.destinationqa.com
62
Appendix
www.destinationqa.com
63
www.destinationqa.com
64
www.destinationqa.com
65
www.destinationqa.com
66
www.destinationqa.com
67
www.destinationqa.com
68
www.destinationqa.com
69
www.destinationqa.com
70