Software Sizing

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.

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.

oftware 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 famous sizing method is the Function point analysis. FP analysis 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.

Additional Information

Several software quality standards mandate the use of a valid sizing method as part of the organization's standard software engineering life cycle. For instance, Capability Maturity Model Integration (CMMI) poses such requirement. An organization cannot be certified as CMMI level 2 or level 3 unless software sizing is adequately used.

ee also

* Software development effort estimation
* Software Engineering
* Software project management
* Function point analysis


Wikimedia Foundation. 2010.

Игры ⚽ Нужно сделать НИР?

Look at other dictionaries:

  • Software parametric models — A parametric model is a set of related mathematical equations in which alternative scenarios are defined by changing the assumed values of a set of fixed coefficients (parameters). Software project managers use software parametric models or… …   Wikipedia

  • Software Security Assurance — Software is itself a resource and thus must be afforded appropriate security. Software also contains and controls data and other resources. Therefore, it must be designed and implemented to protect those resources. Software Security Assurance is… …   Wikipedia

  • Software quality — Contents 1 Motivation for Defining Software Quality 2 Definition 3 Alternative Approaches to Software Quality Defin …   Wikipedia

  • Software performance testing — In software engineering, performance testing is testing that is performed, to determine how fast some aspect of a system performs under a particular workload. It can also serve to validate and verify other quality attributes of the system, such… …   Wikipedia

  • Comparison of development estimation software — A comparison of notable Software development effort estimation software. Software Schedule estimate Cost estimate Cost Models Input Report Output Format Supported Programming Languages Platforms License AFCAA REVIC [1] Yes …   Wikipedia

  • Moxie Software — Moxie Software, Inc. Type Corporation Industry Enterprise Social Software, CRM Software, Software as a Service Founded Austin, Texas, USA (2006) …   Wikipedia

  • List of numerical analysis software — Listed here are a number of computer programs used for performing numerical calculations: * acslX is a software application for modeling and evaluating the performance of continuous systems described by time dependent, nonlinear differential… …   Wikipedia

  • Comparison of EDA software — Comparison of Electronic Design Automation (EDA) software Contents 1 Free and Open Source Software (FOSS) 2 Proprietary software 3 Comparison of EDA packages 4 See …   Wikipedia

  • Comparison of multi-monitor software — PC setups with multiple monitors become more and more popular not only among professionals but also for home users (especially the simplest and most reasonable dual monitor configuration). However, even modern versions of Windows, such as Windows …   Wikipedia

  • Carrier (software) — Infobox Software name = Carrier caption = collapsible = yes developer = Connor Behan, Justin Hayes [http://funpidgin.sourceforge.net/content/contact us others] . released = 2008 frequently updated = yes programming language = C, C#, Perl, Python …   Wikipedia

Share the article and excerpts

Direct link
Do a right-click on the link above
and select “Copy Link”