বৃহস্পতিবার, ৪ জানুয়ারী, ২০১৮

Estimation - Software Cost Estimation & Line Of Code (LOC)

Estimation

Software cost estimation is the process of predicting the effort required to develop a software system. Software measurement, just like any other measurement in the physical world, can be categorized into Direct measures and Indirect measures.

Direct measures of the software process include measurement of cost and effort applied. Direct measures of a product also include Line Of Code (LOC) produced, execution speed, memory size, and defects reported over some of times.

Indirect measures of the software process include measurement of resulting features of the software. Indirect measures of the product also include its functionality, quality, complexity, usability etc.

On the other word, estimation is not an exact science. Too many variables – human, technical, and environment – can affect the ultimate cost of software and effort applied to develop it.

In order to make a reliable cost and effort estimation, there are a lot of techniques that provide estimates with acceptable amount of risk.

These methods can be categorized into-
a) Decomposition techniques
            I) Lines Of Code (LOC)
            II) Functional Point (FP) Estimation
b) Empirical Estimation models
            I) COnstructive COst MOdel (COCOMO)  
                        1. Basic COCOMO
                        2. Intermediate COCOMO
                        3. Advanced COCOMO

                 
Line Of Code (LOC)

LOC is a direct approach method and requires a higher level of detail by means of decomposition and partitioning. From statement of software scope, software is decomposed into problem functions that can each be estimated individually. LOC is then calculated for each function.

An expected value is then computed using the following formula-

EV = ( Sopt + 4Sm + Spess) / 6

where
EV stand for the Estimation Variable
Sopt stand for Optimistic Estimation case when everything goes right
Sm stand for the most likely Estimation case given normal problems and opportunities
Spess stand for the pessimistic Estimation case where everything goes wrong

Once the expected value for estimation variable has been determined, historical LOC or FP data are applied and person months, costs etc. are calculated using the following formula

Productivity = KLOC / Person-month
Quality = Defects / KLOC
Cost = $/LOC
Documentation = pages of documentation / KLOC

Where,
KLOC stand for number of code (in thousands)
Person-month stand for is the time (in months) taken by developers to finish the product
Defects stand for Total Number of errors discovered.

Example:
Problem Statement: Take our Library management system case. Software developed for library will accept data from operator for issuing and returning books. Issuing and returning will require some validity checks. For issue it is required to check if the member has already issued the maximum books allowed. In case for return, if the member is returning the book after the due date then fine has to be calculated. All the interactions will be through user interface. Other operations include maintaining database and generating reports at regular intervals.

Major software functions identified
1. User interface
2. Database management
3. Report generation

For user interface
Sopt : 1800
S:2000
Spess : 4000

EV for user interface

EV = (1800 + 4*2000 + 4000) / 6
EV = 2300

For dababase managemant
Sopt : 4600
S: 6900
Spess : 8600


EV for database management
EV = (4600 + 4*6900 + 8600) / 6
EV = 6800

For report generation
Sopt : 1200
S: 1600
Spess : 3200

EV for database management   report generation
EV = (1200 + 4*1600 + 3200) / 6
EV = 1800

Function
Estimated LOC
User interface
2300
Database management
6800
Report generation
1800
Estimated LOC
10900

Suppose productivity = 3000 LOC / person-month
Development Cost = $8000 person-month

Person-month = LOC / Productivity
                        = 10900/3000
                                    = 3.6
Cost of software = Development Cost * person-month
                                       = 8000 * 3.6
                                         = 29120
Cost = Cost of software ($) / LOC
= 29120 / 10900
     = 2.67 $ / LOC


কোন মন্তব্য নেই:

একটি মন্তব্য পোস্ট করুন

  10:57 How to make a Bootable USB Flash for Windows 10 Operating System | পেন ড্রাইভে উইন্ডোজ লোড ✔️ 5 views 3 days ago 100% ...