Friday, January 06, 2006

Software Cost Estimation Methods

One of the critical functions to be performed, especially at the begining of the software project, is Cost Estimation. Software Cost Estimation can be done in many ways and there had a been a lot of research on this topic. Following are most used methods for software cost estimation:

1. The Function Point Method

The Function Point Method (FPM) was developed by IBM. It is a combination of the analog method (the FP curve is based on the empirical values from similar projects) and weighting method (evaluation of the influence factors for the project). The effort estimation takes complexity, certain software characteristics, and productivity into consideration. The Function Points (FP) are applied as a measuring means for the productivity used to specify the effort.

Following are the steps taken for Cost Estimation using Function Points approach:
  • Determination of the Function Points: In order to determine the Function Points, the functions are defined and classified, according to external input, external output, logical internal file, external interface file, and external inquiry (various types of transactions). After that, these transactions are classified according to the degree of their complexity (simple, average, complex). Based on the type and the degree of complexity, the transactions are weighted. The addition of these weights of all transactions results gives the unadjusted Function Points.

  • Determination of the adjusted Function Points: Influence factors like interlacing with other projects, decentralized data management, transaction rate, complex processing, reusability, conversions, user friendliness are taken into consideration and evaluated with regard to the influence they are having on the project. The degree of influence is calculated from the sum of the influence factors. Multiplying the unadjusted function points with the degree of influence results in the adjusted function points. As compared to the (unadjusted) function points, these can be increased or reduced by up to 30 %.

  • Determination of the Effort: Based on a productivity curve/table, the adjusted function points are converted into man-months. To realize this, an "IBM curve" is available which should be successively replaced by individual empirical values from post-calculations.
1.1 Application of Function Point Method
  • Commercial Application: FPM is particularly suited for Information Systems developments; the effort estimation for data core system developments (small data volume, processing-oriented) is not sufficiently exact. This is due to the classification of the functions on the basis of the data to be processed, the processing complexity is globally evaluated as an influence factor across all functions.

  • Development Project: The FPM procedure is not suited for SWMM projects. Normally, the basis for the estimation and the influence factors in an SWMM project have not been noticeably changed as compared to the ones in the development project. On the other hand, however, SWMM-based measuring quantities (like "additional input data") and influence factors (e. g. "personnel continuity") are lacking.

  • Function-Oriented Engineering: Function-oriented engineering is no requirement for the FPM application. However, this type of methodical development facilitates the application of the FPM since it already covers the step to determine the transactions.
2. Estimation by Analogy

An analogy is a technique used to estimate a cost based on historical data for an analogous system or subsystem. In this technique, a currently fielded system, similar in design and operation to the proposed system, is used as a basis for the analogy. The cost of the proposed system is then estimated by adjusting the historical cost of the current system to account for differences (between the proposed and current systems). Such adjustments can be made through the use of factors (sometimes called scaling parameters) that represent differences in size, performance, technology, and/or complexity. Adjustment factors based on quantitative data are usually preferable to adjustment factors based on judgments from subject-matter experts.

The major caution of the analogy based estimation method is that it is basically a judgment process and, as a consequence, requires a considerable amount of expertise if it is to be done successfully. There are two types of analogues that may be used. One is based upon similar products/services and the other upon similar concepts.

In estimating software costs using analogy, first we have to determine how best to describe projects. Possibilities include the type of application domain, the number of inputs, the number of distinct entities referenced, the number of screens and so forth. The choice of variables must be restricted to information that is available at the point that the prediction is required. For this reason LOC is generally unsatisfactory as it must be estimated. The choice of variables is flexible, although one will wish to choose variables to characterise the project as accurately as possible. It is also important to choose at least one variable that acts as a size driver, for instance number of inputs or screens or classes. Analogies are found by measuring Euclidean distance in n-dimensional space where each dimension corresponds to a variable. Values are standardised so that each dimension contributes equal weight to the process of finding analogies.

3. Algorthmic Modelling Method of Estimation

3.1 Basic COCOMO

This is a simple on-line cost model for estimating the number of person-months required to develop software. The model also estimates the development schedule in months and produces an effort and schedule distribution by major phases. This model is based on Barry Boehm's Constructive Cost Model (COCOMO).

The model estimates cost using one of three different development modes: organic, semidetached and embedded. The different modes are discussed in detail below:
  • Organic: In the organic mode, relatively small software teams develop software in a highly familiar, in-house environment. Most people connected with the project have extensive experience in working with related systems within the organization, and have a thorough understanding of how the system under development will contribute to the organizations objectives. Very few organic-mode projects have developed products with more than 50 thousand delivered source instructions (KDSI).
  • Semidetached: The semidetached mode of software development represents an intermediate stage between the organic and embedded modes. "Intermediate" may mean either of two things:

    • An intermediate level of project characteristic.

    • A mixture of the organic and embedded mode characteristics.

    The size range of a semidetached mode product generally extends up to 300 KDSI.

  • Embedded: The major distinguishing factor of an embedded-mode software project is a need to operate within tight constraints. The product must operate within (is embedded in) a strongly coupled complex of hardware, software, regulations, and operational procedures, such as an electronic funds transfer system or an air traffic control system.
3.2 COCOMO II

COCOMO II is a model that allows one to estimate the cost, effort, and schedule when planning a new software development activity. It consists of three submodels, each one offering increased fidelity the further along one is in the project planning and design process. Listed in increasing fidelity, these submodels are called the Applications Composition, Early Design, and Post-architecture models. Until recently, only the last and most detailed submodel, Post-architecture, had been implemented in a calibrated software tool. COCOMO can be studied in greater detail here and a process for calibrating Post-architecture model can be found here

4. Top-down Cost Estimation Method(TCE)

A standard top-down cost estimation process typically consists of the following steps:
  • Searching a software functional classification table for the same type of software being developed, with matching functions, such as a word processor, and identifying the standard cost for that type of software

  • Adjusting the standard cost by considering the developer's business strategy such as "the top priority maintaining quality."

  • Re-adjusting the above adjusted standard cost by considering the development environment (such as the ability of the programmers or the availabilty of hardware and software tools).
4.1 Assumptions
  • Each type of software has its own intrinsic characteristics: such as functional complexity, performance requirements and sophistication level of the user interface.

  • The software development costs and worker hours are both affected by software characteristics, corporate strategy, adn the available development environment.
4.2 Implementation

Implementing and evaluating an operable TCE system must go through four phases. The four phases are bnriefly explained below:

4.2.1 Phase 1 (Construct a software taxonomy table)

In phase 1, we make a software taxonomy table that covers all software products. Of course, there are various way to classify software, some of which are detailed below:
  • Operating systems: job management, data management, task management, device drivers.

  • System utilities: security, file management, library management.

  • Network: Internet, client/server system, dataware, groupware, network management, distributed object environment, network protocols, infrastructures.

  • Language Processors: COBOL, C/C++, FORTRAN, Java, documentation languages(e.g, SGML).

  • Database: tree structure, network structure, realational database, distributed databases.

  • PC-related standard software: word processor, spreadsheet,

  • Applictions: banking and securities system, reservation system, financial system, inventory control system, electronic commerce application, etc.
4.2.2 Phase2(Construct a standard cost table)

In phase 2, we provide the following information for each type of software:
  • Standard cost

  • Weightings to correspond to emphasized goals such as "performance is not a major consideration," or "critical".

  • Weightings to correspond to emphasized GUI goals such as "a simple GUI is enough," or "a meticulously designed is essential."
4.2.3 Phase 3(Develop adjusting procedures)

In phase 3, we provide weightings for reflection corporate strategic characteristics, and then provide weightings that reflect the environmental characteristics.

4.2.4 Phase 4(Perform experimental evaluation of the TCE)

In phase 4, we evaluate the predictability and sensitivity of the TCE.

Depending on the type of software being developed, any of the above four methods can be applied. Cost estimation helps in ensuring that projects are optimized for costs, and helps in proper monitoring of projects based on the actual effort and the expected effort, in effect ensuring software quality, which is better known as software quality assurance.

47 Comments:

Blogger 逛街 said...

I love readding, and thanks for your artical.........................................

4:06 AM  
Blogger 九份 said...

good~ keep sharing with us, please....I will waiting your up date everyday!! Have a nice day........................................

7:11 PM  
Blogger 結果 said...

思想與理論,貴呼先於行動,但行動較思想或理論更高貴 ..................................................

7:48 AM  
Blogger 麗君 said...

徐可寫真yam交友080中部人聊天室免費成人電影聊天室080正妹牆正妹論壇正妹影片成人 影片sex日本愛情影片日本卡通a片下載日本同志男優日本同志色教館 avdvd 日本同志色教館 g8yy日本同志卡通影片交流區日本同志漫畫日本圖片網站日本地圖日本夜店影片視訊 辣妹視訊 辣妹免費影片分享免費聊天66k日本a電影免費18 成人girl5320微風成人情色 網6k聊天館aio 交友愛情館免費上班族聊天室免費性影片666成人光金瓶影片交流區美眉泰正點麗的情色遊戲麗的情色小遊戲亞亞成人館曼雪兒免費情色文學曼雪兒免費情色小說曼雪兒免費色曼雪兒免費色倩小說曼雪兒免費色小說

3:16 AM  
Blogger 彭志文 said...

世間是非,要如水泥地般水過則乾。......................................................

6:42 PM  
Blogger 邦雄 said...

keep sharing with us, please....I will waiting your up date everyday!! Have a nice and relax day! ..................................................

1:07 AM  
Blogger 嘉偉 said...

以簡單的行為愉悅他人的心靈,勝過千人低頭禱告。........................................

5:10 PM  
Blogger 嘉容嘉容 said...

人必須心懷希望,才會活的快樂,日子才過得充實,有意義,有朝氣,有信心。........................................

5:11 PM  
Blogger BlancaMcleroy1230 said...

先告訴自己希望成為什麼樣的人,然後一步一步實踐必要的步驟。........................................

5:12 PM  
Blogger 少于毓芝 said...

85cc片觀看,77美女dvd影片,熊貓貼區,ut網際聊天,一葉情,av,嘟嘟,影音live秀,a片,做愛影片,視訊做愛,美女短片,78論壇,ut聊天,打飛機,a片,免費視訊,免費視訊,成人影院,性愛小說,辣妹視訊,網路交友,捷克論壇,h影片,色咪咪,免費影片85cc,kiss911,後宮,a片,影音視訊聊天,交友,免費聊天,聊天室交友,做愛影片,線上a片,美女影片,免費影片下載,免費聊天室,視訊做愛,美女視訊聊天

6:55 PM  
Blogger 麗泰秋卿 said...

Subtlety is better than force. ......................................................

6:55 PM  
Blogger 2013LesleyR_Bradshaw0901 said...

如此動感的blog!!!........................................

4:20 PM  
Blogger 韋于倫成 said...

正妹自拍美女走光辣妹走光正妹走光脫衣秀脫衣走光色情自慰自拍成人全裸打炮打手槍打飛機巨乳巨奶女優大奶性交性愛淫蕩淫慾淫亂淫婦淫妹淫叫淫水淫女情慾情色做愛限制級波霸口交

6:51 AM  
Blogger 淑君 said...

Hey!Nice post~........................................................

6:29 PM  
Blogger ShilaL_Kappler said...

you‘ve got a great personality!............................................................

7:59 PM  
Blogger 9d5h41dV2h1f2_dgd45 said...

you‘ve got a great personality!............................................................

8:04 PM  
Blogger 慶天 said...

Use a book as a bee does flowers. ............................................................

4:00 AM  
Blogger rl64@yahoo.com.hk said...

恨一個人,比原諒一個人,更傷力氣。............................................................

9:27 PM  
Blogger vickiekurt said...

能付出愛心就是福;能消除煩惱就是慧。........................................

2:16 AM  
Blogger 義珊 said...

I guess I will need a lot..................................................

10:09 PM  
Blogger 玫友 said...

目標是什麼不重要,目標能產生什麼樣的效果才重要......................................................................

10:09 PM  
Blogger 胤綸胤綸 said...

感謝你的分享 要繼續發表好文章喔

1:52 AM  
Blogger 王瑞 said...

人不能像動物一樣活著,而應該追求知識和美德....................................................................

6:06 PM  
Blogger 江婷 said...

人不能像動物一樣活著,而應該追求知識和美德.................................................................

1:41 AM  
Blogger 佳蓉佳蓉 said...

成熟,就是有能力適應生活中的模糊。.................................................................

7:01 PM  
Blogger 毓er曹妃sf炳hd張jtr珠 said...

認清問題就等於已經解決了一半的問題。.................................................................

8:01 AM  
Blogger 懿綺懿綺 said...

人因夢想而偉大,要堅持自己的理想哦..................................................................

5:35 PM  
Blogger JasonBirk佳琪 said...

唯有穿鞋的人,才知道鞋的哪一處擠腳............................................................

6:54 PM  
Blogger 淑娟淑娟 said...

永遠支持你呀!!HO!!HO!!HO!!HO!!~~..................................................................

12:44 AM  
Blogger 洪淑桓洪淑桓 said...

很喜歡看看別人的生活故事,謝謝您的分享哦~~............................................................

12:44 AM  
Blogger 吳婷婷 said...

愛,拆開來是心和受兩個字。用心去接受對方的一切,用心去愛對方的所有。............................................................

9:21 AM  
Blogger 佳玲 said...

人生中最好的禮物就是屬於自己的一部份..................................................

11:48 PM  
Blogger 憲妤 said...

享受你自己的生活,不要與他人相比。............................................................

11:48 PM  
Blogger 陳韋夏陳韋夏益東富益東富 said...

馬丁路德:「即使知道明天世界即將毀滅,我仍願在今天種下一棵小樹。」............................................................

6:36 PM  
Blogger 錢靜怡錢靜怡錢靜怡 said...

好的blog值得一推再推,要愈來愈好哦!!!!............................................................

8:40 AM  
Blogger DaniloM_W志竹olff0615 said...

There is no key to happiness, only a ladder..................................................................

3:35 AM  
Blogger 吳家瑩 said...

IS VERY GOOD..............................

3:45 AM  
Blogger 許志蘇昶哲宏 said...

一時的錯誤不算什麼,錯而不改才是一生中永遠且最大的錯誤............................................................

7:51 AM  
Blogger 建茂恒霖 said...

成熟,就是有能力適應生活中的模糊。............................................................

6:04 PM  
Blogger 文王廷 said...

Make hay while the sun shines...................................................

3:48 AM  
Blogger 老陆 said...

世間事沒有一樣沒有困難,只要有信心去做,至少可以做出一些成績。..................................................

11:51 PM  
Blogger 怡潔 said...

過去的事早已消失,未來的事更渺不可知,只有現在是真實的................................................

8:26 AM  
Blogger 法榮陳法榮陳法榮陳 said...

困難的不在於新概念,而在於逃避舊有的概念。......................................................................

8:45 PM  
Blogger 至馬馬馬馬玄馬馬馬馬 said...

好的部落格就要和好朋友分享--感謝分享..................................................

9:54 PM  
Blogger 翊翊翊翊張瑜翊翊翊 said...

I love readding, and thanks for your artical.............................................................

9:54 PM  
Blogger 怡靜怡靜怡靜怡雯 said...

成熟,就是有能力適應生活中的模糊。............................................................

1:58 AM  
Blogger Flora Liza Geslani said...

Read all the related Posts:

64 Software Manual Testing Interview Questions

Answers To Common Job Interview Questions

Behavioral Questions In Interviews

Questions to Ask at an Interview

Competency based Interview Questions


Read all the related Posts:

How to avoid missing defect in Software Testing?

Defect Management Process

What is the difference between a Test Strategy and Test Plan?

Beginners Guide to ETL Testing

Step by step guide from Test Case Development to Test Execution

11:55 PM  

Post a Comment

<< Home