Sunteți pe pagina 1din 18

Cost Estimation

• One of the most difficult aspects of a


system analyst’s job has been the
accurate estimation of project size and
the development time.
Lines of Code
• Lines-of-Codes is the oldest and most widely
used
• A line of code is defined as a logical line, not
necessarily a physical line
Line Counting Rules
• Comments do not count
• Blank lines do not count
• Code that is included more than once counts only
the first time it is included. --- include files
• Standard operating system include files do not
count
• Code lines count
• User defined include files count once
• SQL statement count
Advantages
• It is straightforward (simple)
• Can be easily automated
Disadvantages
• It is language dependent
• Penalizes the well designed short programs
• Cannot easily accommodate nonprocedural
languages
• Need a level of detail that may not be
available at the early stages of the
development.
Function Points
• Allan J. Albrecht developed it in the mid 1970s.
• It was an attempt:
– to overcome difficulties associated with lines of codes
as a measure of software size, and
– to assist in developing a mechanism to predict effort
associated with software development.
• One of the initial design criteria for function point
was to provide a mechanism that both software
developers and users could utilize to define
functional requirements.
The Five Major Components
• 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
update an internal logical file.
Components, cont
• External Outputs (EO) – an elementary
process in which derived data passes across
the boundary from inside to outside.
– Additionally, an EO may update an internal logical
file (ILF).
– The data creates reports or output files sent to
other applications.
– These reports and files are created from one or
more internal logical files and external interface
files.
Components, cont
• 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 does not update any Internal Logical
Files, and output does not contain derived data.
Components, concluded
• Internal Logical Files (ILF) – a user identifiable
group of logically related data that resides
entirely within the applications boundary and is
maintained through external inputs.
• 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 and is
maintained by another application.
– The external interface file is an internal file for
another application
Complexity Components Total
Count
Most Estimated
likely Count
Component Pessimistic Optimistic Low Average High

External Inputs
3 4 6

External
Outputs
4 5 7

External
Inquiries
3 5 6

Internal Logical
Files
7 10 15

External
interface Files
5 7 10

Total number of unadjusted function points (UAF)

Estimated Count = (Pessimistic + 4 Most likely + Optimistic) / 6


Value Adjustment Factor

• The unadjusted function point count is


multiplied by the second adjustment factor
called the Value Adjustment Factor.
• This factor considers the system’s technical ad
operational characteristics and is calculated by
answering 14 questions.
• The factors are:
Rate
(0 – not
General System
Brief Description important to
Characteristics
5 – very
important)
The data and control
information used in the
Data
application are sent or
Communications
received over communication
facilities
Distributed data or processing
Distributed Data functions are a characteristics
processing of the application within the
application boundary
On-line data entry and control
On-line data entry information functions are
provided in the application.
Application performance
objectives, stated or approved
by the user, in either response
Performance or throughput, influence (or will
influence) the design,
development, installation and
support of the application.
A heavily used operational
Heavily used configuration, requiring special
Configuration design consideration, is a
characteristic of the application.
The transaction rate is high and
influences the design,
Transaction Rate
development, installation and
support.
The online functions provided emphasizes a
End-user
design for end-user efficiency
Efficiency
The application provides on-line update for
On-line Update
internal logical files.
Complex Complex processing is a characteristic of the
processing application.
The application and the code in the
application have been specifically designed,
Reusability
developed and supported to be usable in
other applications.
Conversion and installation ease are a
characteristic of the application. A
Installation Ease conversion and installation plan and/or
conversion tools were provided and tested
during the system test phase.
Operational ease is a characteristic of the
application. Effective start-up, back-up and
Operation Ease
recovery procedures were provided and
tested during the system test phase.
The application has been
specifically designed, developed
Multiple Sites and supported to be installed at
multiple sites for multiple
organizations.
The application has been
Facilitate specifically designed, developed
Change and supported to facilitate
change.
Total Rate
Complexity multiplier: C = (0.65 + 0.01 (Total Rate))
Function point count (FP) = UAF * C
Thank You!

S-ar putea să vă placă și