Sunday, August 9, 2009

Software Sizing

Software sizing is an important activity in software engineering that is used to estimate the size of a software application or component in order to be able to implement other software project management activities (such as estimating or tracking). Size is an inherent characteristic of a software in just like weight is an inherent characteristic of any tangible material.

Contents

Background

It is essential to differentiate between software sizing and software effort estimation. Measuring the size of a piece of software is different from measuring the effort needed to build it. We need to measure the size of software in order to be able to measure productivity.

Example

For example, if a software engineer has built a small web-based calculator application, we can say that the project effort size was 280 man-hours. However, this does not give any information about the size of the software product itself. Conversely, we can say that the application size is 5,000 LOCs (Lines Of Code),ff or 30 FPs(Function Points).

Software Sizing Methods

Historically, the most common software sizing methodology was counting the lines of code written in the application source. Although this method is easy and straightforward, it is no longer practical due to the great advancements in software engineering and modern programming languages. Another commonly used sizing method is the IFPUG method called Function point analysis. The IFPUG FPA functional sizing method(FSM) has proven successful and accurate for more than thirty years. However, its accuracy and effectiveness has lately become highly controversial. Reasons behind the criticism of FP analysis include lack of sensitivity towards algorithmic complexity and its relative difficulty.

New trends of software sizing have recently emerged. For example, Use Case based software sizing relies on counting the number and characteristics of Use Cases found in a piece of software. Also, different variations of Function Points have emerged over the years, such as Object Oriented Function Points, or OOFP. Other methods such as COSMIChave evolved to address sizing software that has a very limited amound of stored data such as 'process control' and 'real time' systems. Both the IFPUG Method and the COSMIC Method are ISO/IEC standards. For more information about the similarities and differences between these ISO FSM methods see IFPUG and COSMIC - Similarities and Differences. In order to determine the best Functional Sizing Method for your software you need to consider a number of factors, including the functional domain of your applications, the process maturity of your organisation and the extent of use of the FSM Method. For more guidelines on how to choose an FSM Method[1] see ISO/IEC 14143-6: - SOFTWARE ENGINEERING — SOFTWARE MEASUREMENT — FUNCTIONAL SIZE MEASUREMENT — PART 6: GUIDE FOR USE OF ISO/IEC 14143 SERIES AND RELATED INTERNATIONAL STANDARDS. There are many uses and benefits of function points[2] beyond measuring project productivity and estimating planned projects, these include monitoring project progress and evaluating the requirements coverage of COTS packages.

1 comments:

Unknown said...

http://www.khatana.net

Red Fort Real Photo
Rajasthan Public Service Commission
Tv Show update - Sai Baba tere hazaron haath
Regional Rura Banks
KSCA launches Karnataka Premier League
LISA RAY PROFILE AND WALLPAPER
Pilots on mass leave: 130 Jet Airways flights cancelled
Ishrat Jahan killed in fake police encounter: Probe
bollywood and hollywood actresses
Miss Universe 2009

Post a Comment