Professional Documents
Culture Documents
07 Management Segment 8
07 Management Segment 8
Management
Software cost estimation
technique
Algorithmic cost: A model is developed using historical cost information
that relates some software metric to the project cost.
Expert judgment: Several experts on the proposed software development
techniques and the application domain are consulted.they each estimate the
project cost.
Estimation by analogy: This technique is applicable when other projects in
the same application domain have been completed.The cost of a new project
is estimated by analogy with this completed projects.
Parkinson’s Law: Parkinson’s Law states that work expends to fill the time
available.The cost is determined by available resources rather than by
objective assessment.
Pricing to win: The software cost is estimated to be whatever the customer
has available to spend on the project.The estimated project depends on the
customer’s budget and not on the software functionality.
The COCOMO Model
The cocomo model is an empirical model that was derived by
collecting data from a large number of software projects.These data
were analyzed to discover formulate that were best fit to the
observations.
Reasons for choosing cocomo model:
1. It is well documented,available in the public domain and supported by the
public domain and commercial tools.
2. It has been widely used and evaluated in a range of organizations.
3. It has a long pedigree from its first instantiation in 1989 ,through a
refinement tailored to ada software development.
Metrics
Metrics are numbers that are assigned to some
artifact or process
In software engineering there are two sorts
- Process metrics
These refer to the process of developing the software and are
used by management to determine how development is
processing
- Product metrics
These are data that indicate the quality of the product
We will focus on Product Metrics here
Software Attributes
We can measure the internal attributes of software
- Things like number of lines of code, the readability of
the software manual, the number of faults observed in
testing, the fan in of the modules, etc
What is important is how the internal attributes relate
to the external attributes
- The characteristics of the actual product
These are the ilities, such as Maintainability, Reliability,
Portability, Usability, etc
Relationship Between Internal
and External Attributes
Internal Attributes
External Attributes
Number of
Maintainability procedure parameters
Cyclometric
Reliability complexity
Fan in = 3
Fan out = 2
Complexity of
module = 5
Information Fan In/ Fan Out
Fan In & Fan Out does not consider the
data passes to the module
- So class_ord appears less complex
than order
It’s rather more complex
Information Fan In & Fan Out considers
the parameters passed
Fan in information = 3
Fan out information = 2
Complexity = 5
Order
Henry and Kafura’s Metric
This uses the following formula
- For module m, the complexity C is:
- C = length (m) x (fan_in(m) + fan_out(m))2
- where
length (m) is the length of the module as lines of code or as
Cyclometric Complexity
fan_in and fan_out are computed as the information metric