190 likes | 296 Views
Steve Mattingley. October 22, 2002 Paper Presentation. A Vector-Based Approach to Software Size Measurement and Effort Estimation. T.E Hastings and A.S.M Sajeev IEEE Transactions on Software Engineering Vol 27, NO. 4, April 2001 IEEECS Log Number 107066. Paper Overview. Introduction
E N D
Steve Mattingley October 22, 2002 Paper Presentation
A Vector-Based Approach to Software Size Measurement and Effort Estimation • T.E Hastings and A.S.M Sajeev • IEEE Transactions on Software Engineering • Vol 27, NO. 4, April 2001 • IEEECS Log Number 107066
Paper Overview • Introduction • Software Size Measurement • Software Specification • Vector Size Measure • Vector Prediction Models • Formal Validation • Empirical Validation • Discussion
Introduction • Software size is difficult to define and measure • SLOC and Function Points are two common methods • Vector Size Measure (VSM) and Vector Prediction Model (VPM) using Algebraic Specification Language (ASL)
Software Size Measurement • Measure Processes, Products, and Resources • We are interested in internal attributes of software (independent from environment). • Size is a function of length, functionality, and complexity (problem complexity).
Software Size Specification • To accurately predict software size one must have an accurate software specification. • Algebraic approach to software specification is based on Abstract Data Types (ADT) • ADT ::= F • R • An ADT is a set of functions and Rules
Software Size Specification • ASL used to describe software. Example: • deposit (Money, Account): Account` | balance(Account`) = balance(Account) add Money; {post condition} • deposit an amount of Money into an Account such that the new account equals the sum of the original account and the new money.
Vector Size Measure • Rule set for determining functionality from number of Functional Ops in ALS: Fa = OPF • Rule set for determining complexity from number of Complex Ops in ALS: Ca = OPC • Length is the sum of functionality and complexity. La = Fa + Ca
Vector Size Measure • Vector representation <F, C> (Functionality and Complexity) • Normal Vector mathematics apply to solve for magnitude and gradient of vector. • Magnitude provides a single measure which balances functionality and complexity. • Gradient provides a ration of problem complexity vs. functionality • Vectors may be scaled with real world units and scale factors.
Vector Prediction Models • Used instead of Productivity Based Models, Linear Regression, or COCOMO. • VPM is a cost model which takes the magnitude and gradient from the VSM and uses a multivariate regression model. • VPM is based on having a defined and repeatable software process in place.
Vector Prediction Models • Estimated Effort: E` = ambgz • m = vector magnitude, g = vector gradient • a,b,z are coefficients which are determined empirically for the organization and software type.
Formal Validation • Authors propose 4 rules which must be followed for ADT, ASL and VSM. • The rules ensure Formal Validation of the Vector approach.
Empirical Validation • The Vector based approach was validated empirically using a pilot study of 8 industry projects. • For the various projects: Requirements were gathered, product attributes were gathered, process and resource attributes were gathered, and ASLs were developed for each project.
Empirical Validation • A measurement tool then produced measurements from the project ASLs. • A function point count, MKII FP count, Linear Regression, VPM , and COCOMO 2 analysis were all performed. • Results were then compared and tested against defined test criteria.
Author’s Discussion • VPM provides a means of classifying software systems (based on functionality, complexity vectors) • Less inputs then COCOMO • 20 percent within actualize (Better then alternatives) • Limited by having to specify using ASL • Limited by having a bottoms up approach
My discussion • Interesting approach • Takes much of the guess work out of estimating a well specified system. • Seems like an enormous amount of work to specify large systems at that detail. • Would require a lot of maintenance to ASLs as system requirements change
Questions • ???