Copyright 2000, Stephan Kelley1 Estimating User Interface Effort Using A Formal Method By Stephan...
-
Upload
emory-fisher -
Category
Documents
-
view
215 -
download
0
Transcript of Copyright 2000, Stephan Kelley1 Estimating User Interface Effort Using A Formal Method By Stephan...
Copyright 2000, Stephan Kelley 1
Estimating User Interface Estimating User Interface Effort Using A Formal MethodEffort Using A Formal Method
By
Stephan Kelley
16 November 2000
Copyright 2000, Stephan Kelley 2
OutlineOutline
ProblemIntroduction to Software EstimationIntroduction to COCOMOApproachScheduleFurther Research
Copyright 2000, Stephan Kelley 3
ProblemProblem
Software Estimation has not included the modern man-machine interface as a complete, but separate, part of radio communcation systems. Consequently, the user interface is not properly budgeted into radio system designs, resulting in hasty, incomplete implementations near the project deadline.
Copyright 2000, Stephan Kelley 4
ProblemProblem
Modern user interfaces are complexGraphical User Interfaces (GUIs) are
composed of more software than their predecessors
Today’s GUI allows the system user access to more functionality than was previously available
Copyright 2000, Stephan Kelley 5
ObjectiveObjective
Break out the system’s user interface estimation into a separate function within system software estimation. In this way, the user interface software’s cost and effort are more accurately predicted before implementation.
Copyright 2000, Stephan Kelley 6
ObjectiveObjective
Separate Graphical User Interface (GUI) effort estimation should reduce the extent to which the GUI contributes to a project being behind schedule and over budget.
Copyright 2000, Stephan Kelley 7
Previous workPrevious work
Sparse - GUI software estimation is not a thoroughly researched topic.
General software estimation methods have been developed by Watts S. Humphrey (CMU), Capers Jones/A.J. Albrect, Barry Boehm (USC), Larry Putnam, and others
Copyright 2000, Stephan Kelley 8
DefinitionDefinition
Estimation - Function of predicting the size of a software project and the amount of effort and the cost required to complete the project. Estimates are generated by various models from real - usually historical - data.
Copyright 2000, Stephan Kelley 9
Estimation MethodsEstimation Methods
Function Points (Jones/Albrect) - estimation by measuring system functionality
SLIM (Software LIfe Cycle Management - Larry Putnam) - estimation via statistics, simulation, and extensive reviews of the software project
PROBE (PROxy-Based Estimating - Humphrey)
Copyright 2000, Stephan Kelley 10
Estimation Methods cont’dEstimation Methods cont’d
COCOMO (Constructive COst MOdel - Boehm) - Estimation by projected system size and inclusion of project-specific cost factors.
Copyright 2000, Stephan Kelley 11
DrawbacksDrawbacks
Function Points - oriented toward data processing applications and results can be interpreted subjectively.
SLIM - not suitable for small projects; sensitive to fast software project buildup times.
COCOMO - sensitive to historical data and fast software project buildup times.
Copyright 2000, Stephan Kelley 12
MethodMethod
COCOMO is the method of choice for the following reasons
Easy to useVarious factors affecting software
development are transparent to the engineerThe objective is to demonstrate a concept,
not evaluate the method
Copyright 2000, Stephan Kelley 13
COCOMOCOCOMO
COCOMO is a simple software cost and effort estimation model based on the relationships among the number of source instructions and four coefficients which depend on the software project’s type and another parameter called the Effort Adjustment Factor (EAF).
Copyright 2000, Stephan Kelley 14
COCOMO cont’dCOCOMO cont’d
COCOMO II is a revision of COCOMO released in 1997 by the Center for Software Engineering at Southern California University with successive releases in 1998, 1999, 2000, and one planned for 2001.
Copyright 2000, Stephan Kelley 15
COCOMO cont’dCOCOMO cont’d
Each successive version of COCOMO has been calibrated to a greater number of sample projects (called data points) and used a more rigorous approach to combine empirical data with opinions of developers to calibrate the latest version model’s parameters.
Copyright 2000, Stephan Kelley 16
COCOMO cont’dCOCOMO cont’d
The original COCOMO method generates the following estimation data:
Effort (man months): PM = EAF * a * sizeb
Duration (months): Tdev = c * PM * d
Staffing: P = PM/Tdev
Copyright 2000, Stephan Kelley 17
COCOMO coefficientsCOCOMO coefficients
Each coefficient has three different values from which one is chosen for a project based on whether the project is organic, semi-attached, or embedded.
Development Mode a b c d
Organic 3.2 1.05 2.5 0.38
Semi-Attached 3.0 1.12 2.5 0.35
Embedded 2.8 1.20 2.5 0.32
Copyright 2000, Stephan Kelley 18
COCOMO coefficientsCOCOMO coefficients
Embedded - the application operates on small margins of error and interfaces extensively with hardware; large
Organic - the project involves small development teams familiar with the application domain; often small
Semi-attached - a fuzzy category between embedded and organic projects
Copyright 2000, Stephan Kelley 19
COCOMO coefficientsCOCOMO coefficients
Since a radio is a potentially large, hardware-intensive, real-time application, the embedded mode will be used.
Copyright 2000, Stephan Kelley 20
COCOMO coefficientsCOCOMO coefficients
Effort Adjustment Factor (EAF) - product of 15 software cost drivers which will be multiplied with the previously computed devlopment time value Tdev
Copyright 2000, Stephan Kelley 21
EAF Cost DriversEAF Cost Drivers
Required reliability Database size Product complexity Execution time
Requirements Main storage constraints Virtual machine volitility Computer turnaround time Analyst capability
Applications experience Programmer capability Virtual machine
experience Programming language
experience Programming practices Software tools use Development schedule
Copyright 2000, Stephan Kelley 22
AssumptionAssumption
A sufficient requirements analysis has occurred to allow valid software development effort estimation.
Copyright 2000, Stephan Kelley 23
ApproachApproach
Use the COCOMO software effort estimating method to determine the cost and effort needed to adequately implement the graphical user interface to a complex radio system.
Copyright 2000, Stephan Kelley 24
Approach cont’dApproach cont’d
Select four projects from supporting industry. Two will attempt to estimate the cost and effort required for the user interfaces using the COCOMO method; the user interface parts of the other two projects will not be estimated for cost and effort. For each project, record the number of hours spent implementing the user interface.
Copyright 2000, Stephan Kelley 25
Approach cont’dApproach cont’d
At the end of the experiment time frame, the difference between the actual effort spent on the user interface and the projected effort will be calculated. For the “unestimated” projects, the projected effort will be obtained from system engineering, which normally calculates effort required on the project.
Copyright 2000, Stephan Kelley 26
Approach cont’dApproach cont’d
The difference values for the estimated projects will be compared with the difference values for the “unestimated” projects. Analysis of project post-mortems will also be made to determine what factors may have contributed to the difference between the GUIs’ effort estimations.
Copyright 2000, Stephan Kelley 27
ScheduleSchedule
Can be difficult to evaluate method because the typical project lifecycle is longer than one year.
Must be flexible since start of experiment is determined by start of host projects’ start dates and deadlines.
Copyright 2000, Stephan Kelley 28
Schedule cont’dSchedule cont’d
Obtain approval of four projects for observation - approx. 1 month
Duration of project experiment - 10 monthsCompile and analyze data; report - 1 month
Copyright 2000, Stephan Kelley 29
FacilitiesFacilities
No special computing facilities will be necessary; supporting industry will provide
Aid of industry partners is highly beneficial
Copyright 2000, Stephan Kelley 30
Further ResearchFurther Research
Compare effort and cost estimations for GUI implementation using another, more rigorous method
Compare effort and cost estimations for GUI implementation for other types of systems besides radio communications