30
Copyright 2000, Stephan K elley 1 Estimating User Estimating User Interface Effort Using Interface Effort Using A Formal Method A Formal Method By Stephan Kelley 16 November 2000

Copyright 2000, Stephan Kelley1 Estimating User Interface Effort Using A Formal Method By Stephan Kelley 16 November 2000

Embed Size (px)

Citation preview

Page 1: Copyright 2000, Stephan Kelley1 Estimating User Interface Effort Using A Formal Method By Stephan Kelley 16 November 2000

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

Page 2: Copyright 2000, Stephan Kelley1 Estimating User Interface Effort Using A Formal Method By Stephan Kelley 16 November 2000

Copyright 2000, Stephan Kelley 2

OutlineOutline

ProblemIntroduction to Software EstimationIntroduction to COCOMOApproachScheduleFurther Research

Page 3: Copyright 2000, Stephan Kelley1 Estimating User Interface Effort Using A Formal Method By Stephan Kelley 16 November 2000

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.

Page 4: Copyright 2000, Stephan Kelley1 Estimating User Interface Effort Using A Formal Method By Stephan Kelley 16 November 2000

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

Page 5: Copyright 2000, Stephan Kelley1 Estimating User Interface Effort Using A Formal Method By Stephan Kelley 16 November 2000

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.

Page 6: Copyright 2000, Stephan Kelley1 Estimating User Interface Effort Using A Formal Method By Stephan Kelley 16 November 2000

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.

Page 7: Copyright 2000, Stephan Kelley1 Estimating User Interface Effort Using A Formal Method By Stephan Kelley 16 November 2000

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

Page 8: Copyright 2000, Stephan Kelley1 Estimating User Interface Effort Using A Formal Method By Stephan Kelley 16 November 2000

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.

Page 9: Copyright 2000, Stephan Kelley1 Estimating User Interface Effort Using A Formal Method By Stephan Kelley 16 November 2000

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)

Page 10: Copyright 2000, Stephan Kelley1 Estimating User Interface Effort Using A Formal Method By Stephan Kelley 16 November 2000

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.

Page 11: Copyright 2000, Stephan Kelley1 Estimating User Interface Effort Using A Formal Method By Stephan Kelley 16 November 2000

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.

Page 12: Copyright 2000, Stephan Kelley1 Estimating User Interface Effort Using A Formal Method By Stephan Kelley 16 November 2000

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

Page 13: Copyright 2000, Stephan Kelley1 Estimating User Interface Effort Using A Formal Method By Stephan Kelley 16 November 2000

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).

Page 14: Copyright 2000, Stephan Kelley1 Estimating User Interface Effort Using A Formal Method By Stephan Kelley 16 November 2000

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.

Page 15: Copyright 2000, Stephan Kelley1 Estimating User Interface Effort Using A Formal Method By Stephan Kelley 16 November 2000

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.

Page 16: Copyright 2000, Stephan Kelley1 Estimating User Interface Effort Using A Formal Method By Stephan Kelley 16 November 2000

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

Page 17: Copyright 2000, Stephan Kelley1 Estimating User Interface Effort Using A Formal Method By Stephan Kelley 16 November 2000

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

Page 18: Copyright 2000, Stephan Kelley1 Estimating User Interface Effort Using A Formal Method By Stephan Kelley 16 November 2000

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

Page 19: Copyright 2000, Stephan Kelley1 Estimating User Interface Effort Using A Formal Method By Stephan Kelley 16 November 2000

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.

Page 20: Copyright 2000, Stephan Kelley1 Estimating User Interface Effort Using A Formal Method By Stephan Kelley 16 November 2000

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

Page 21: Copyright 2000, Stephan Kelley1 Estimating User Interface Effort Using A Formal Method By Stephan Kelley 16 November 2000

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

Page 22: Copyright 2000, Stephan Kelley1 Estimating User Interface Effort Using A Formal Method By Stephan Kelley 16 November 2000

Copyright 2000, Stephan Kelley 22

AssumptionAssumption

A sufficient requirements analysis has occurred to allow valid software development effort estimation.

Page 23: Copyright 2000, Stephan Kelley1 Estimating User Interface Effort Using A Formal Method By Stephan Kelley 16 November 2000

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.

Page 24: Copyright 2000, Stephan Kelley1 Estimating User Interface Effort Using A Formal Method By Stephan Kelley 16 November 2000

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.

Page 25: Copyright 2000, Stephan Kelley1 Estimating User Interface Effort Using A Formal Method By Stephan Kelley 16 November 2000

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.

Page 26: Copyright 2000, Stephan Kelley1 Estimating User Interface Effort Using A Formal Method By Stephan Kelley 16 November 2000

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.

Page 27: Copyright 2000, Stephan Kelley1 Estimating User Interface Effort Using A Formal Method By Stephan Kelley 16 November 2000

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.

Page 28: Copyright 2000, Stephan Kelley1 Estimating User Interface Effort Using A Formal Method By Stephan Kelley 16 November 2000

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

Page 29: Copyright 2000, Stephan Kelley1 Estimating User Interface Effort Using A Formal Method By Stephan Kelley 16 November 2000

Copyright 2000, Stephan Kelley 29

FacilitiesFacilities

No special computing facilities will be necessary; supporting industry will provide

Aid of industry partners is highly beneficial

Page 30: Copyright 2000, Stephan Kelley1 Estimating User Interface Effort Using A Formal Method By Stephan Kelley 16 November 2000

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