24.12.2014 Views

Function Based Sizing in SEER-SEM - Galorath

Function Based Sizing in SEER-SEM - Galorath

Function Based Sizing in SEER-SEM - Galorath

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

<strong>SEER</strong> Technical Note: <strong>Function</strong> <strong>Based</strong> <strong>Siz<strong>in</strong>g</strong> <strong>in</strong> <strong>SEER</strong>-<strong>SEM</strong><br />

<strong>Function</strong> <strong>Based</strong> <strong>Siz<strong>in</strong>g</strong> <strong>in</strong> <strong>SEER</strong> for<br />

Software (<strong>SEER</strong>-<strong>SEM</strong>)<br />

<strong>Function</strong> <strong>Based</strong> <strong>Siz<strong>in</strong>g</strong><br />

<strong>Function</strong> <strong>Based</strong> <strong>Siz<strong>in</strong>g</strong> is a system for siz<strong>in</strong>g software projects which is based on what the software does, rather<br />

than on the size of the source code. It breaks the software's operation down <strong>in</strong>to specific actions, or function<br />

po<strong>in</strong>ts, which can be categorized by type (data functions or transactional functions). This makes it possible to<br />

determ<strong>in</strong>e a software project's size based on the number of function po<strong>in</strong>ts of each type, along with the<br />

programm<strong>in</strong>g language (or <strong>Function</strong> Implementation Mechanism) used for development.<br />

The IFPUG function po<strong>in</strong>t count<strong>in</strong>g method, formalized by the International <strong>Function</strong> Po<strong>in</strong>t User's Group, is a<br />

widely-used <strong>in</strong>dustry standard, and has been recognized as an ISO/EIC standard software metric. <strong>SEER</strong>-<strong>SEM</strong><br />

uses either IFPUG or an expanded version of the IFPUG function based siz<strong>in</strong>g method, known as <strong>SEER</strong> <strong>Function</strong><br />

<strong>Based</strong> <strong>Siz<strong>in</strong>g</strong>, with a more detailed breakdown of function po<strong>in</strong>t types, along with the ability to capture<br />

functions not covered by the basic IFPUG method.<br />

What <strong>SEER</strong>-<strong>SEM</strong> <strong>Function</strong> <strong>Based</strong> <strong>Siz<strong>in</strong>g</strong> Can Do for You<br />

<strong>SEER</strong>-<strong>SEM</strong>'s <strong>Function</strong> <strong>Based</strong> <strong>Siz<strong>in</strong>g</strong> is designed to make software siz<strong>in</strong>g easier. You don't need detailed<br />

specifications, and you don't need tra<strong>in</strong><strong>in</strong>g <strong>in</strong> function count<strong>in</strong>g. If you have only general specifications, and a<br />

generally reasonable description of how the f<strong>in</strong>ished software will function, you can still produce a highly<br />

useful size estimate.<br />

<strong>Function</strong> <strong>Based</strong> <strong>Siz<strong>in</strong>g</strong> uses the ma<strong>in</strong> IFPUG function categories decomposed <strong>in</strong>to simple categories such as<br />

<strong>in</strong>put screens, pr<strong>in</strong>ted reports, and menus. It tells you what to enter <strong>in</strong> pla<strong>in</strong>, straightforward language,<br />

organiz<strong>in</strong>g the <strong>in</strong>puts <strong>in</strong> a coherent, logical format.<br />

In addition to all of the IFPUG function categories, <strong>SEER</strong>-<strong>SEM</strong>'s <strong>Function</strong> <strong>Based</strong> <strong>Siz<strong>in</strong>g</strong> <strong>in</strong>cludes an optional<br />

additional category: Internal <strong>Function</strong>s. All IFPUG function categories (except for Internal Logical Files) cross<br />

the application boundary; they do someth<strong>in</strong>g (<strong>in</strong>put, output, or storage) which moves data <strong>in</strong> or out of the<br />

program. Internal functions, on the other hand, manipulate data strictly with<strong>in</strong> the application boundary; they<br />

are common <strong>in</strong> embedded systems, as well as <strong>in</strong> applications which <strong>in</strong>volve processes such as data reduction,<br />

data analysis, monitor<strong>in</strong>g, data compression, and encryption, among others.<br />

The Internal <strong>Function</strong>s category allows <strong>SEER</strong>-<strong>SEM</strong> to capture functions (and therefore size) not <strong>in</strong>cluded <strong>in</strong> the<br />

IFPUG categories, extend<strong>in</strong>g its capacity to accurately estimate software size.<br />

<strong>Function</strong> Po<strong>in</strong>t Background<br />

<strong>Function</strong> Po<strong>in</strong>ts measure functional software size <strong>in</strong> a way that is <strong>in</strong>dependent of how the software was<br />

implemented; this is sometimes referred to as a <strong>Function</strong>al Size Measure (FSM). <strong>Function</strong> Po<strong>in</strong>ts were first<br />

publicly <strong>in</strong>troduced <strong>in</strong> 1979 by Alan Albrecht of IBM, as a means of measur<strong>in</strong>g software functionality. The<br />

Albrecht method was formalized by the International <strong>Function</strong> Po<strong>in</strong>t User Group (IFPUG), establish<strong>in</strong>g a<br />

standard set of rules and count<strong>in</strong>g practices. The IFPUG FSM is now one of five recognized ISO/IEC standard<br />

software metrics.<br />

ISO/IEC <strong>Function</strong>al Size Standards<br />

ISO/IEC 20926:2009 Software and systems eng<strong>in</strong>eer<strong>in</strong>g -- Software measurement -- IFPUG<br />

functional size measurement method 2009<br />

ISO/IEC 24570:2005 Software eng<strong>in</strong>eer<strong>in</strong>g -- NESMA functional size measurement method<br />

version 2.1 -- Def<strong>in</strong>itions and count<strong>in</strong>g guidel<strong>in</strong>es for the application of<br />

Page 1


<strong>SEER</strong> Technical Note: <strong>Function</strong> <strong>Based</strong> <strong>Siz<strong>in</strong>g</strong> <strong>in</strong> <strong>SEER</strong>-<strong>SEM</strong><br />

ISO/IEC 19761:2003<br />

ISO/IEC 20968:2002<br />

ISO/IEC 29881:2008<br />

<strong>Function</strong> Po<strong>in</strong>t Analysis<br />

Software eng<strong>in</strong>eer<strong>in</strong>g -- COSMIC-FFP -- A functional size measurement<br />

method<br />

Software eng<strong>in</strong>eer<strong>in</strong>g -- Mk II <strong>Function</strong> Po<strong>in</strong>t Analysis -- Count<strong>in</strong>g<br />

Practices Manual<br />

Information technology -- Software and systems eng<strong>in</strong>eer<strong>in</strong>g -- FiSMA<br />

1.1 functional size measurement method<br />

<strong>Function</strong>al Size Measures offer a way to quantitatively compare different software systems, regardless of how<br />

they were implemented. This allows you to functionally compare a ma<strong>in</strong>frame system with a web-based<br />

system or one developed <strong>in</strong> COBOL versus Java. It gives companies a way to quantify their software portfolio<br />

assets.<br />

<strong>Function</strong>al Size Measures are done by count<strong>in</strong>g (or sometimes estimat<strong>in</strong>g) well def<strong>in</strong>ed types of key functional<br />

components, generally categorized as data or transactions. This process <strong>in</strong>volves def<strong>in</strong><strong>in</strong>g an application<br />

boundary <strong>in</strong> order to differentiate <strong>in</strong>ternal versus external data and <strong>in</strong>put versus output transaction types.<br />

<strong>SEER</strong>-<strong>SEM</strong> supports all the ISO/IEC standard functional size measures for estimation. <strong>SEER</strong>-<strong>SEM</strong> has also<br />

expanded on the IFPUG functional size measure to better support the estimation processes. This expanded<br />

treatment of the IFPUG FSM is referred to as <strong>SEER</strong> <strong>Function</strong> <strong>Based</strong> <strong>Siz<strong>in</strong>g</strong>.<br />

IFPUG <strong>Function</strong>al Size Measure<br />

The IFPUG FSM breaks down <strong>in</strong>to five function count categories:<br />

Transactional Types<br />

o External Inputs (EI)<br />

o External Outputs (EO)<br />

o External Inquiries (EQ)<br />

Data Types<br />

o External Interface Files (EIF)<br />

o Internal Logical Files (ILF)<br />

<strong>Function</strong> Category Def<strong>in</strong>itions<br />

Internal Logical File (ILF). An Internal Logical File is a user-identifiable set of logically related data or control<br />

<strong>in</strong>formation used and ma<strong>in</strong>ta<strong>in</strong>ed by the application. Internal Logical Files might be accessed by an<br />

application's External Inputs, External Outputs, External Inquiries, or Internal <strong>Function</strong>s.<br />

External Interface File (EIF). An External Interface File is data needed by the system to perform required<br />

functions: a user-identifiable group of logically related data (related at such a level that an experienced user<br />

would identify it as fulfill<strong>in</strong>g a specific application user requirement) or control <strong>in</strong>formation used by the<br />

application but ma<strong>in</strong>ta<strong>in</strong>ed by another application. External Interface Files might be used by an application's<br />

External Outputs, External Inquiries, or Internal <strong>Function</strong>s.<br />

External Input (EI). An External Input is any function or transaction that moves data <strong>in</strong>to an application.<br />

Generally, this data is used to update an Internal Logical File <strong>in</strong> the application. An External Input should be<br />

considered unique if the logical design requires <strong>in</strong>put process<strong>in</strong>g different from other External Inputs.<br />

External Output (EO). An External Output is any function or transaction that formats data and moves data out<br />

of the application boundary. External Outputs should be generated by the application <strong>in</strong> a format that can be<br />

used by an external source. Generally, an External Output is generated based on an Internal Logical File or an<br />

External Interface File. An External Output should be considered unique if the logical design requires<br />

process<strong>in</strong>g logic different from other External Outputs.<br />

External Inquiry (EQ). An External Inquiry is a unique request that results <strong>in</strong> the retrieval of data. An External<br />

Inquiry request does not update or change any of the software's Internal Logical Files. An External Inquiry<br />

Page 2


<strong>SEER</strong> Technical Note: <strong>Function</strong> <strong>Based</strong> <strong>Siz<strong>in</strong>g</strong> <strong>in</strong> <strong>SEER</strong>-<strong>SEM</strong><br />

response does not conta<strong>in</strong> derived data; it simply retrieves exist<strong>in</strong>g <strong>in</strong>formation. An External Inquiry should be<br />

considered unique if the logical design requires process<strong>in</strong>g logic different from other External Inquiries.<br />

When count<strong>in</strong>g, each ILF, EIF, EI, EO and EQ is classified as simple average or complex. For the transactional<br />

counts, the complexity is based on the number of file types and data fields are <strong>in</strong>volved <strong>in</strong> the transactions.<br />

For data counts, complexity is based on the number of record types and data types.<br />

<strong>SEER</strong>-<strong>SEM</strong> Extensions of the IFPUG <strong>Function</strong> <strong>Siz<strong>in</strong>g</strong> Metric<br />

<strong>SEER</strong>-<strong>SEM</strong>’s <strong>Function</strong> <strong>Based</strong> <strong>Siz<strong>in</strong>g</strong> is consistent with IFPUG standards, but offers an additional count type for<br />

Internal <strong>Function</strong>s. This extension allows function based siz<strong>in</strong>g for software types which have algorithmic<br />

processes that are not reflected <strong>in</strong> the transactional or data function counts. Use of this extension <strong>in</strong> <strong>SEER</strong>-<br />

<strong>SEM</strong> is purely optional, and does not have be considered if you are already us<strong>in</strong>g IFPUG standard counts.<br />

Internal <strong>Function</strong>s are def<strong>in</strong>ed as follows:<br />

Internal <strong>Function</strong>s (IF). Internal <strong>Function</strong>s are basic processes performed by a program, such as data<br />

reduction, data analysis, monitor<strong>in</strong>g, data compression, encryption, and application-specific calculations.<br />

Internal <strong>Function</strong>s have the same weight<strong>in</strong>g as Internal Logical Files. When us<strong>in</strong>g the <strong>SEER</strong>-<strong>SEM</strong> extended<br />

function based siz<strong>in</strong>g, calculation of unadjusted function po<strong>in</strong>ts are calculated us<strong>in</strong>g these weight<strong>in</strong>gs:<br />

Low Average High Total<br />

External Inputs x 3 x 4 x 6<br />

External Outputs x 4 x 5 x 7<br />

External Inquiries x 3 x 4 x 6<br />

Internal Logical Files x 7 x 10 x 15<br />

External Interface Files x 5 x 7 x 10<br />

Internal <strong>Function</strong>s x 5 x 7 x 10<br />

Unadjusted <strong>Function</strong> Po<strong>in</strong>ts<br />

∑ of above<br />

Relation Between <strong>Function</strong> Counts and Unadjusted <strong>Function</strong> Po<strong>in</strong>ts<br />

<strong>SEER</strong>-<strong>SEM</strong> also decomposed functional siz<strong>in</strong>g <strong>in</strong>to its component parts so non-function po<strong>in</strong>t tra<strong>in</strong>ed persons<br />

can understand them and perform analysis and tradeoffs with specific <strong>in</strong>formation, such as add one report or<br />

remove one screen. In the context of plann<strong>in</strong>g for a new system, functions often need to be estimated <strong>in</strong>stead<br />

of count<strong>in</strong>g. The <strong>SEER</strong> <strong>Function</strong> <strong>Based</strong> <strong>Siz<strong>in</strong>g</strong> detailed breakout supports the estimation process by help<strong>in</strong>g you<br />

identify the types of th<strong>in</strong>gs that need to be considered. It also guides those who may not be tra<strong>in</strong>ed or<br />

experienced function po<strong>in</strong>t counters <strong>in</strong> establish<strong>in</strong>g a credible function count.<br />

The detailed function base siz<strong>in</strong>g <strong>in</strong>puts are rolled up <strong>in</strong>to the function counts. As you can see <strong>in</strong> the table<br />

above, functional counts are weighted, then totaled <strong>in</strong>to unadjusted function po<strong>in</strong>ts. <strong>SEER</strong>-<strong>SEM</strong> uses the<br />

unadjusted function po<strong>in</strong>ts for estimation. <strong>SEER</strong> <strong>Function</strong> <strong>Based</strong> <strong>Siz<strong>in</strong>g</strong> counts are comparable to IFPUG counts<br />

and thus may be used to estimate IFPUG function po<strong>in</strong>ts for benchmark<strong>in</strong>g and other purposes without<br />

requir<strong>in</strong>g IFPUG tra<strong>in</strong><strong>in</strong>g.<br />

Unadjusted <strong>Function</strong> Po<strong>in</strong>ts (UFP)<br />

<strong>Function</strong> Counts (EI, EO, EQ, ILF, EIF)<br />

Detail <strong>Function</strong> <strong>Based</strong> <strong>Siz<strong>in</strong>g</strong> (e.g. screens, reports...)<br />

UFP, <strong>Function</strong> Counts, and <strong>Function</strong> <strong>Based</strong> <strong>Siz<strong>in</strong>g</strong><br />

Page 3


<strong>SEER</strong> Technical Note: <strong>Function</strong> <strong>Based</strong> <strong>Siz<strong>in</strong>g</strong> <strong>in</strong> <strong>SEER</strong>-<strong>SEM</strong><br />

Enter<strong>in</strong>g <strong>Function</strong> Po<strong>in</strong>ts <strong>in</strong>to <strong>SEER</strong>-<strong>SEM</strong><br />

<strong>SEER</strong>-<strong>SEM</strong> allows function counts to be entered at two levels:<br />

Level<br />

<strong>Function</strong> <strong>Based</strong> <strong>Siz<strong>in</strong>g</strong> tab<br />

Parameters tab<br />

The <strong>Function</strong> <strong>Based</strong> <strong>Siz<strong>in</strong>g</strong> Tab<br />

Description<br />

This unique w<strong>in</strong>dow allows detailed entries on the basis of specific<br />

function po<strong>in</strong>t categories. If you use the <strong>Function</strong> tab, UFPs are<br />

automatically calculated and carried <strong>in</strong>to the Parameter tab.<br />

<strong>Function</strong>s (Classic): as a total number of unadjusted function po<strong>in</strong>ts<br />

(UFPs); this is a metric that normally is accumulated from more<br />

detailed function po<strong>in</strong>t counts.<br />

You can also enter functions <strong>in</strong> the parameter tab us<strong>in</strong>g Proxy <strong>Siz<strong>in</strong>g</strong>;<br />

<strong>SEER</strong>-<strong>SEM</strong> <strong>in</strong>cludes several function based siz<strong>in</strong>g proxies,<br />

represent<strong>in</strong>g the most widely-used function-count<strong>in</strong>g methods.<br />

When you enter size <strong>in</strong> the <strong>Function</strong> <strong>Based</strong> <strong>Siz<strong>in</strong>g</strong> tab, these <strong>in</strong>puts will be weighted <strong>in</strong>to a computed unadjusted<br />

function po<strong>in</strong>t count that will be visible <strong>in</strong> the <strong>SEER</strong>-<strong>SEM</strong> Parameters tab. The weights used to compute unadjusted<br />

function po<strong>in</strong>ts are the standard IFPUG weights.<br />

Detailed <strong>Function</strong><br />

<strong>Based</strong> <strong>Siz<strong>in</strong>g</strong> <strong>in</strong>puts<br />

roll up to <strong>Function</strong><br />

Counts.<br />

Weighted function<br />

counts roll up to<br />

Unadjusted<br />

<strong>Function</strong> Po<strong>in</strong>ts<br />

(UFP) <strong>in</strong> the<br />

Parameters w<strong>in</strong>dow.<br />

<strong>Function</strong> <strong>Based</strong> <strong>Siz<strong>in</strong>g</strong> Inputs<br />

FBS <strong>Siz<strong>in</strong>g</strong> Relationships<br />

You can enter detailed or category <strong>in</strong>puts <strong>in</strong> the <strong>Function</strong> <strong>Based</strong> <strong>Siz<strong>in</strong>g</strong> tab. For each <strong>in</strong>put, the <strong>in</strong>put dialog<br />

box displays a def<strong>in</strong>ition for the <strong>in</strong>put and, when appropriate, examples and a guide to determ<strong>in</strong><strong>in</strong>g<br />

complexity. You can <strong>in</strong>clude notes (with descriptive text and both file and Internet l<strong>in</strong>ks) with each <strong>in</strong>put.<br />

Page 4


<strong>SEER</strong> Technical Note: <strong>Function</strong> <strong>Based</strong> <strong>Siz<strong>in</strong>g</strong> <strong>in</strong> <strong>SEER</strong>-<strong>SEM</strong><br />

EXTERNAL INPUTS (EI)<br />

o Input Screens<br />

o Interactive Inputs<br />

o Hardware Inputs<br />

o Batch Input Streams<br />

EXTERNAL OUTPUTS (EO)<br />

o Screen Reports<br />

o Pr<strong>in</strong>ted Reports<br />

o Media Outputs<br />

o Software Outputs<br />

o Hardware Outputs<br />

EXTERNAL INQUIRIES (EQ)<br />

o Request/Response<br />

o Menus<br />

o Context Sensitive Help<br />

o Embedded Computer Inquiries<br />

EXTERNAL INTERFACE FILES (EIF)<br />

o Reference Data<br />

o Fixed Messages<br />

o Shared Data Files<br />

INTERNAL LOGICAL FILES (ILF)<br />

o Application Data Groups<br />

o Data Tables<br />

o Data Base Files<br />

INTERNAL FUNCTIONS<br />

Note: Each <strong>in</strong>put has three entries for low, average or high complexity. This resembles the least, likely and<br />

most <strong>in</strong>puts commonly used <strong>in</strong> many <strong>SEER</strong>-<strong>SEM</strong> parameters. The function <strong>in</strong>puts, however, represent<br />

complexity, while the parameter least, likely, most <strong>in</strong>puts represent probability.<br />

<strong>Function</strong> <strong>Based</strong> <strong>Siz<strong>in</strong>g</strong> Tab<br />

Page 5


<strong>SEER</strong> Technical Note: <strong>Function</strong> <strong>Based</strong> <strong>Siz<strong>in</strong>g</strong> <strong>in</strong> <strong>SEER</strong>-<strong>SEM</strong><br />

Detailed FBS Input<br />

<strong>Function</strong> Count Input<br />

Page 6


<strong>SEER</strong> Technical Note: <strong>Function</strong> <strong>Based</strong> <strong>Siz<strong>in</strong>g</strong> <strong>in</strong> <strong>SEER</strong>-<strong>SEM</strong><br />

The Parameters Tab: Classic <strong>Function</strong>s and <strong>Function</strong> Proxies<br />

The Parameters tab <strong>in</strong>cludes two basic ways of enter<strong>in</strong>g function counts, which can be used as an alternative<br />

to <strong>Function</strong> <strong>Based</strong> <strong>Siz<strong>in</strong>g</strong>: the <strong>Function</strong>s (Classic) <strong>in</strong>puts, and function-based proxies:<br />

<strong>Function</strong>s (Classic) Inputs<br />

The <strong>Function</strong>s (Classic) parameter category represents the total effective functions, measured <strong>in</strong> unadjusted<br />

function po<strong>in</strong>ts (UFPs). If you enter UFPs directly <strong>in</strong>to the Parameter tab, you can use any count<strong>in</strong>g method<br />

that ultimately conforms to IFPUG's standard measure of an unadjusted function po<strong>in</strong>t.<br />

Note: When you select the New or Pre-exist<strong>in</strong>g <strong>in</strong>puts under <strong>Function</strong>s (Classic) , you will be given the option<br />

to enter more detailed <strong>in</strong>puts <strong>in</strong> the <strong>Function</strong> <strong>Based</strong> <strong>Siz<strong>in</strong>g</strong> tab. If you choose to enter <strong>Function</strong>s (Classic) data<br />

<strong>in</strong> the Parameters tab, your entries will overwrite the correspond<strong>in</strong>g <strong>Function</strong> <strong>Based</strong> <strong>Siz<strong>in</strong>g</strong> <strong>in</strong>puts.<br />

Other <strong>Function</strong>-<strong>Based</strong> <strong>Siz<strong>in</strong>g</strong> Inputs<br />

<strong>SEER</strong>-<strong>SEM</strong> <strong>in</strong>cludes several other functional size measures that can be used for estimat<strong>in</strong>g. These are accessed<br />

through the proxy <strong>in</strong>puts. Users may also def<strong>in</strong>e their own functional size measure to be used for estimat<strong>in</strong>g.<br />

Proxy<br />

COSMIC <strong>Function</strong> Po<strong>in</strong>ts<br />

COSMIC FP Data Movements<br />

Mark II <strong>Function</strong> Po<strong>in</strong>ts<br />

Metric - Fast <strong>Function</strong> Po<strong>in</strong>ts<br />

Metric - <strong>Function</strong> <strong>Based</strong> <strong>Siz<strong>in</strong>g</strong><br />

Metric - Unadjusted <strong>Function</strong><br />

Po<strong>in</strong>ts<br />

Description<br />

A standardized method of measur<strong>in</strong>g software size for bus<strong>in</strong>ess<br />

application and real-time software, and hybrids of these.<br />

COSMIC <strong>Function</strong> Po<strong>in</strong>t count comb<strong>in</strong><strong>in</strong>g all four data movement<br />

counts <strong>in</strong>to a s<strong>in</strong>gle <strong>in</strong>put.<br />

This proxy allows for direct <strong>in</strong>put of function po<strong>in</strong>ts that are<br />

compliant with Mark II <strong>Function</strong> Po<strong>in</strong>t Analysis (MkII FPA).<br />

A simplified version of function po<strong>in</strong>ts. You do not need to<br />

determ<strong>in</strong>e complexity; you simply count the number of each type<br />

of function po<strong>in</strong>t.<br />

The <strong>Function</strong> <strong>Based</strong> <strong>Siz<strong>in</strong>g</strong> proxy allows for direct <strong>in</strong>put of IFPUGstandard<br />

function po<strong>in</strong>ts <strong>in</strong>to the Parameter w<strong>in</strong>dow.<br />

The Unadjusted <strong>Function</strong> Po<strong>in</strong>ts proxy lets you enter size data<br />

directly as Unadjusted <strong>Function</strong> Po<strong>in</strong>ts.<br />

For all of these functional size metrics, <strong>in</strong>puts are <strong>in</strong> the standard <strong>SEER</strong>-<strong>SEM</strong> least, likely, most format. Proxy<br />

function counts are translated <strong>in</strong>to unadjusted function po<strong>in</strong>ts.<br />

<strong>SEER</strong>-<strong>SEM</strong> Proxy <strong>Function</strong> Inputs<br />

Estimation us<strong>in</strong>g <strong>Function</strong>al Size Measures <strong>in</strong> <strong>SEER</strong>-<strong>SEM</strong><br />

<strong>Function</strong>al siz<strong>in</strong>g equates functions to "effort units” as well as factors for the phase at estimate, platform,<br />

application and complexity. Once a functional size measure is summarized as unadjusted function po<strong>in</strong>ts<br />

(UFP), it is then converted <strong>in</strong>to an effective size, S e , as follows:<br />

Se = Lx x (AdjFactor x UFP) (Entropy/1.2)<br />

L x is the effort units. AdjFactor is the product of the complexity, count phase, platform and application<br />

adjustments. Entropy ranges from 1.04 to 1.2, depend<strong>in</strong>g on the type of software be<strong>in</strong>g evaluated.<br />

Page 7


<strong>SEER</strong> Technical Note: <strong>Function</strong> <strong>Based</strong> <strong>Siz<strong>in</strong>g</strong> <strong>in</strong> <strong>SEER</strong>-<strong>SEM</strong><br />

Effort Units are based on analysis of actual project data conta<strong>in</strong><strong>in</strong>g both UFP measures and actual effort.<br />

Effort Units are specific to <strong>SEER</strong>-<strong>SEM</strong>’s size / effort relationships.<br />

Note <strong>SEER</strong>-<strong>SEM</strong> will also estimate the number of l<strong>in</strong>es of code from functional siz<strong>in</strong>g (found on the software<br />

metrics report) but that is a different number than the effective effort units. Effort units analysis is published<br />

by <strong>Galorath</strong> and should not be confused with number of l<strong>in</strong>es of code.<br />

Page 8

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!