**APPENDIX F**

**SOME CURRENTLY AVAILABLE**

**SOFTWARE ESTIMATION PRODUCTS**

PRODUCED BY THE SOFTWARE

SUBGROUP OF THE

SPACE SYSTEMS COST ANALYSIS GROUP

**APPENDIX F**

**SOME CURRENTLY AVAILABLE SOFTWARE ESTIMATION PRODUCTS**

This section incorporates inputs from a variety of sources, primarily
from model developers. No attempt has been made to substantiate the
information at this point. Comments and updates are welcome, as are full
descriptions of other models not discussed here.

**[Contents:]{.underline}**

**PRICE-S**

**REVIC**

**SASET**

**SEER-SEM**

**SLIM**

**SoftCost-R & SoftCost-Ada**

**Other Models**

**[PRICE-S]{.underline}**

This model was developed originally by Martin Marietta Price Systems
(initially RCA Price, then GE Price) as one of a family of models for
hardware and software cost estimation. Developed in 1977 by F. Freiman
and Dr. R. Park, it was the first commercially available detailed
parametric software cost model to be extensively marketed and used. In
1987, the model was modified and re-validated for modern software
development practices. The PRICE-S model is proprietary, it can be
leased for yearly use on IBM or compatible PC, and operates within
Microsoft windows. It is also available for use on a UNIX workstation.
The model is applicable to all types of software projects, and considers
all DoD-STD-2167A development phases.

**Inputs**

One of the primary inputs for the PRICE-S model is source lines of code
(SLOC). This may be input by the user or computed using either
object-oriented or function point sizing models. Both sizing models are
included in the PRICE-S package. Other key inputs include:

1\. Application: a measure of the type (or types) of software, described
by one of seven categories (mathematical, string manipulation, data
storage and retrieval, on-line, real-time, interactive, or operating
system).

2\. Productivity Factor: A calibratable parameter which relates the
software program to the productivity, efficiency/inefficiencies,
software development practices and management practices of the
development organization.

3\. Complexities: Three complexity parameters which relate the project
to the expected completion time, based on organizational experience,
personnel, development tools, hardware characteristics, and other
complicating factors.

4\. Platform: the operating environment, in terms of specification,
structure and reliability requirements.

5\. Utilization: Percentage of hardware memory or processing speed
utilized by the software.

6\. New Design/New Code: Percentage of new design and new code.

7\. Integration (Internal): Effort to integrate various software
components together to form an integrated and tested CSCI.

8\. Integration (Extenal): Effort to integrate various software CSCI's
together to form an integrated and tested software system.

9\. Schedule: Software project start and/or end dates.

10\. Optional Input Parameters: Financial factors, escalation, risk
simulation.

**Processing**

The PRICE-S algorithms are published in the paper entitled \"Central
Equations of PRICE S\" which is available from PRICE Systems. It states
that PRICE-S computes a \"weight\" of software based on the product of
instructions and application inputs. The productivity factor and
complexity inputs are very sensitive parameters which affect effort and
schedule calculations. Platform is known to be an exponential input;
hence, it can be very sensitive. A new weighted design and code value
are calculated by the model based on the type or category of
instructions. Both new design and code affect schedule and cost
calculations. Internal integration input parameters affect the CSCI cost
and schedule for integrating and testing the CSCI. The external
integration input parameter is used to calculate software to software
integration cost and schedule.

**Outputs**

PRICE-S computes an estimate in person effort (person hours or months).
Effort can be converted to cost in dollars or other currency units using
financial factors parameters. Software development schedules are
calculated for nine DoD-STD-2167A phases: System Concept through
Operational Test and Evaluation. Six elements of costs are calculated
and reported for each schedule phase: Design Engineering, Programming,
Data, Systems Engineering Project Management, Quality Assurance, and
Configuration Management. The PRICE-S model also contains several
optional outputs including over thirty graphs, Gantt charts, sensitivity
matrices, resource expenditure profiles, schedule reports. In addition,
Microsoft Project files, spreadsheet files, and risk analysis reports
can be generated. The risk analysis report is a Cumulative Probability
Distribution and is generated using either Monte Carlo or Latin
Hypercube simulation.

**Calibration**

The PRICE-S model can be run in ECIRP (PRICE backwards) mode to
calibrate selected parameters. The most common calibration is that of
the productivity factor, which, according to the PRICE-S manual, tends
to remain constant for a given organization. It is also possible to
calibrate platform, application, and selected internal factors.

**Life Cycle Considerations**

The PRICE-S life cycle model, included in the PRICE-S package, is a
detailed model which computes software support costs. The primary inputs
include PRICE-S development inputs, support descriptors which include
software support life, number of installations, expected growth, and
support productivity factors. The model also has a modification mode
which allows up to four modifications per software CSCI. The PRICE-S
life cycle model calculates support effort and outputs the cost in three
support phases: maintenance, enhancements, and growth. The model
allocates effort or cost across six elements of costs for each support
phase.

**Risk Analysis**

The PRICE-S model contains a robust Monte Carlo simulation utility,
which facilitates rigorous risk analysis. Uncertainty can be
characterized using probability distributions to define input
parameters. Normal, Beta, Triangular and Uniform distributions are among
those available. Simulation results are consolidated and reported as a
probabilistic estimate.

**Contact**

Lockheed-Martin PRICE Systems

700 East Gate Drive, Suite 200

Mt. Laurel, NJ 08054

\(800\) 437-7423 a.k.a (800) 43PRICE

**[REVIC]{.underline}**

The Revised Intermediate COCOMO (REVIC) model was developed by Ray Kile
and the U.S. Air Force Cost Analysis Agency. It is a copyrighted program
that runs under DOS on an IBM PC or compatible computer. The model
predicts the development costs for software development from
requirements analysis through completion of the software acceptance
testing and maintenance costs for fifteen years. REVIC uses the
intermediate COCOMO set of equations for calculating the effort
(man-power in staff-months and staff-hours) and schedule (elapsed time
in calendar months) to complete software development projects based on
an estimate of the lines of code to be developed and a description of
the development environment. The forms of the basic equations are:

\(I\) MM = AB(KDSI)P(Fi)

\(2\) TDEV = CD(MM)

Equation (1) predicts the manpower in man-months (MM) based on the
estimated lines of code to be developed (KDSI = Delivered Source
Instructions in thousands) and the product of a group of environmental
factors (Fi). The coefficients (A,C), exponents (B,D) and the factor
(Fi) are determined by statistical analysis from a database of completed
projects. These variables attempt to account for the variations in the
total development environment (such as programmer\'s capabilities or
experience with the hardware or software) that tend to increase or
decrease the total effort and schedule. The results from equation (1)
are input to equation (2) to determine the schedule (TDEV = Development
Time) in months needed to complete the development.

REVIC enhancement of the intermediate COCOMO includes:

**The addition of a fourth mode - Ada.** Intermediate COCOMO has three
modes of software development: organic, semi-detached, and embedded.
These modes describe the overall software development in terms of size,
number of interfaces, and complexity. REVIC adds a fourth mode, Ada
development, to the model. This mode describes programs developed using
an object­oriented analysis methodology or use of the Ada language (with
separately cornpilable specifications and body code parts). Each mode
provides a different set of coefficients for the basic equations.

**Addition of the first and last development phases.** COCOMO provides a
set of tables distributing the effort and schedule to the phases of
development (system engineering, preliminary design, critical design,
etc.) and activities (system analysis, coding, test plarming, etc.) as a
percentage of the total. COCOMO covers four development phases
(preliminary design, critical design, code and unit test, and
integration and test) in the estimate. REVIC adds two more development
phases: software requirements engineering, and integration & test after
FQT.

REVIC predicts the effort and schedule in the software requirements
engineering phase by taking a percentage of the development phases. It
provides a default value (12% for effort, 30% for schedule) for this
percentage based on average programs, but allows the user to change the
percentage.

COCOMO development phase ends at completion of the integration & test
phase (after successful FQT). This phase covers the integration of
software CSC\'s into CSCI\'s and testing of the CSCI\'s against the test
criteria developed during the program. It does not include the
system­level integration (commonly called software builds) of CSCI\'s,
and the system-level testing to ensure that system-level specification
requirements are met. The software to software and software to hardware
integration and testing is accounted for in the Development Test and
Evaluation (DT&E) phase. REVIC predicts the effort and schedule for this
phase by taking a percentage of the development effort. REVIC provides a
default percentage of 22% for effort and 26% for schedule based on
average programs. It allows the user to modify these percentages if
desired.

**Complete interface between the model and the user.** Users are not
required to have extensive knowledge about the model or detailed
knowledge of algorithms. REVIC contains extensive prompting and help
screens. REVIC also removes the typical intimidation factor that
prevents analysts from successfully using models.

**Provide the capability to interactively constrain the schedules and
staffing levels.** Schedules can be constrained either in the aggregate
or by phase of the development effort. Staffing can be constrained by
phase. Using these features, the analyst can estimate cost overruns,
underruns, and schedule slips at any major milestone by entering the
actuals-to-date at any milestone, and letting the program calculate the
remaining effort and schedule.

**Inputs:** Same as COCOMO inputs.

**Processing**

While REVIC processing is mostly the same as Intermediate COCOMO, it
provides a single weighted \"average\" distribution for effort and
schedule, along with the ability to allow the user to vary the
percentages in the system engineering and DT&E phases. On the other
hand, COCOMO provides a table for distributing the effort and schedule
over the development phases, depending on the size of the code being
developed. REVIC has been enhanced by using statistical methods for
determining the lines of code to be developed. Low, high, and most
probable estimates for each CSC are used to calculate the effective
lines of code and standard deviation. The effective lines of code and
standard deviation are then used in the equations, rather than the
linear sum of the estimates. This quantifies, and to some extent,
reduces the existing uncertainties regarding software size. \[see
Boehm\'s Software Engineering Economics for a discussion of effective
lines of code\]. REVIC automatically performs sensitivity analysis
showing the plus and minus three sigma values for effort, and the
approximate resultant schedule.

**Outputs**

The user is presented with a menu allowing full exercise of the
analytical features and displays of the program. All inputs are easily
recalled and changed to facilitate analyses and the user can constrain
the solution in a variety of ways.

**Calibration and Accuracy**

REVIC\'s coefficients have been calibrated using recently completed DoD
projects (development phase only) by using the techniques in Dr.
Boehm\'s book. On the average, the values predicted by the effort and
schedule equations in REVIC are higher than in COCOMO. A study
validating REVIC equations using a database different from that used for
initial calibration was published by the Air Force\'s HQ AFCMD/EPR. In
terms of accuracy, the model compares favorably with expensive
commercial models.

The level of accuracy provided by the model is directly proportional to
the user\'s confidence in the lines-of-code (LOC) estimates and a
description of the development environment. When little is known about
the project or environment, the model can be run leaving all environment
parameters at their default (nominal) settings. The only required input
is LOC. As the details of the project become known, the data file can be
reloaded into the program, and the nominal values can be changed to
reflect the new knowledge permitting continual improvement of the
accuracy of the model.

**Maintenance Estimate**

REVIC provides an estimate for software maintenance over a fifteen year
period by using the Boehm\'s COCOMO equation:

\(3\) MMam = MMnom \* ACT P (MFi), where MMnom is the result of equation
(1) without multiplying by the environmental factor (Fi); ACT is annual
change traffic as a percentage, and Mfi is the environmental factors for
maintenance.

REVIC provides a default percentage of ACT and allows it to be changed.
REVIC also assumes a transition period after delivery of the software,
during which residual errors are found before reaching a steady state
condition. This provides a declining, positive delta to the ACT during
the first three years. Beginning the fourth year, REVIC assumes the
maintenance activity consists of both error ***correction*** and new
software enhancements.

**Other Reference Materials**

There is context-sensitive help available on-line while running REVIC,
and the information is enough to input data and obtain results in all
cases. However, the developers recommend that Boehm\'s Software
Engineering Economics be read to fully understand the implications of
parametric modeling.

**Contact**

The Air Force Cost Analysis Agency has assumed responsibility for REVIC
upkeep and distribution. For suggestions for upgrades or problem
reporting, contact:

Air Force Analysis Agency

AFCSTC/IS (REVIC)

1111 Jefferson Davis Highway, Suite 403

Arlington, VA 22202

\[information current as of 5/92\]

\(703\) 604-0412

REVIC is available on the Air Force cost bulletin board at (800)
344-3602 or from Washington, D.C. at . (703) 604-0412. Connection should
be 1200 or 2400 BAUD with 8 bits, no parity, and one stop bit.
\[information current as of 5/92\]

**REVIC and its user manual are also available on the Air Force Software
Technology Support Center (STSC) bulletin board at autovon 458-7653 or
(801) 777-7653. Connection at 2400 BAUD with 8 bits, no parity, and one
stop bit. For access problems call Vern Phipps or Rick Dahl at (801)
777-7703. \[information current as of 5/92\]**

**[SASET]{.underline}**

SASET is a sophisticated software cost estimating model built by Martin
Marietta Astronautics during 1986-1990 under contract with the Naval
Center for Cost Analysis under auspices of the Office of Naval research.
Enhancements to the model were accomplished under contract with both the
Navy and Air Force cost centers. The model combines database information
from over 500 successfully completed software projects with \"expert\"
factors to determine software development and maintenance costs,
schedules, and sizing numbers used by engineers, estimators, and
top-level management.

Cost estimating relationships were created, project complexity factors
were established, and independent variables were quantified. The result
was database-derived software estimating equations for assembly and
high-order language software. These equations and resulting software
parametric models have been validated by comparing project sizing, labor
actuals, and schedules with SASET outputs.

During data collection, analysis, and model requirements generation
activities, it was decided that the parametric model would include the
entire software development life cycle from systems requirements through
systems test, with an option to add maintenance, and provide budget and
schedule outputs for the engineering development organizations. The
database collection approach consists of decomposing software actuals by
CSCI class, type and language.

**Inputs**

SASET starts from an initial state of no information about the software
project, and then proceeds to prompt the user in an orderly fashion for
the information necessary to gain insight and emulation of project
environment, complexities, and sizing for up to 50 CSCI\'s, to produce
schedule and effort outputs.

**Processing**

SASET is a database-derived expert system. The calibrated equations for
effort budget and schedule are computed for the system environment, and
software complexity, brought together for a common set and then
multiplied against the equivalent new HOL SLOC.

**Outputs**

The computerized model has the capability of sizing, costing, scheduling
and integrating up to 50 multiple CSCI\'s simultaneously. The model
determines a labor estimate expressed in staff months and spread over
the phases and subphases of software development life cycle for each
individual CSCI and the total project and helps to establish a logical
development sequence. The model also identifies an optimal schedule and
effort.

**Calibration**

All input variables and calibration constants of SASET are open and
capable of being changed. The calibration process requires a set of
software development records as input. The required data from each
record includes staff hours, source lines of code, schedule, and project
complexity. Records are sorted by class (manned flight, avionics,
ground, etc.) and type of software (system, application, support), then
run through multiple regression analysis for productivity constants for
each type of software.

**Life Cycle Considerations**

SASET performs detailed environment effort allocation across subphases
of the development life cycle. It will also spread calculated
maintenance effort across time. The effort included is for engineering
organizations only; any other efforts needing coverage need to be added
manually.

**Contact**

Air Force Analysis Agency

AFCSTC/IS (REVIC)

1111 Jefferson Davis Highway, Suite 403

Arlington, VA 22202

\[information current as of 5/92\]

\(703\) 604-0412

**[SEER-SEM]{.underline}**

SEER-SEM is part of a family of software and hardware cost, schedule and
risk estimation tools. SEER models run on IBM, Macintosh, and Sun/UNIX
platforms with no special hardware requirements. SEER-SEM is used
throughout the aerospace and defense industry on two continents. All
issues found in today\'s software environments are addressed.

**Inputs**

SEER-SEM accepts source lines of code (SLOC) or function points or both.
When selecting function points, the user may use IFPUG standard function
points or SEER function-based inputs which include internal functions.
Users follow a Work Breakdown Structure (WBS) describing each CSCI, CSC,
and CSU (module or element) to be estimated. Knowledge bases are used to
provide fast and consistent inputs describing complexity, personnel
capabilities and experience, development support environment, product
development requirements, product reusability requirements, development
environment complexity, target environment, schedule, staffing and
probability. Users can modify all inputs to their specifications at any
time.

There are four sets of knowledge bases that automatically input
environment factors. These knowledge bases cover a wide variety of
scenarios and help users produce fast and reliable estimates. Knowledge
bases are easily calibrated to user environments to give quick and
accurate estimates for the entire life cycle. Users can also change and
modify each input at any time. Knowledge bases include the following:

**Platform** describes the primary operating platform. Platform
knowledge bases include avionics, business, ground-based, manned space,
unmanned space, shipboard, and more.

**Application** describes the overall function of the software under
estimation. Application knowledge bases include computer-aided design,
command & control, database, MIS, office automation, radar, simulation,
and more.

**Development Method** describes the development methods to be used
during the development. These knowledge bases include Ada, spiral,
prototyping, object oriented design, evolving, traditional waterfall,
and more.

**Development Standard** describes the development documentation,
quality, test standards and practices which will be followed during the
development. These knowledge bases include commercial, ISO-9000, 2167A,
1703, 1679, 7935A and more.

**Processing**

SEER-SEM uses proprietary algorithms which are found in the back of the
User\'s Manual. Parameter (input) sensitivities and other insights into
the model are also found in the user\'s documentation. Knowledge bases
can be printed out by users. SEER-SEM utilizes a unique process that
simulates a 10,000 iteration Monte Carlo for risk analysis.

**Outputs**

SEER-SEM has almost 30 informative reports and charts covering all
aspects of software costs, schedules and risk. The Quick Estimate Report
is easily tailored to instantly give the user specific details for
trade-off analyses and decision support information. A Detailed Staffing
Profile follows SEI suggested staffing categories. Risk reports and
graphs based on person months, costs, and schedule are standard
features. SEER-SEM gives a minimum schedule output. However, schedules,
personnel, and other factors can be changed to give effort and cost
trade­offs.

**Calibration**

Calibration of SEER-SEM involves the effort to customize input values to
more closely reflect particular program development characteristics.
SEER-SEM\'s Design To Technology and Design To Size functions provide
the tools for calibration activities. The SEER knowledge bases are
flexible and easy to create and modify, providing the user with a
mechanism for building custom calibrated knowledge bases.

**Life Cycle Considerations**

SEER-SEM estimates all elements of the life-cycle, beginning with the
preliminary design phase and ending with software maintenance. SEER-SEM
has many features which support Life Cycle Cost Analysis. Total life
cycle cost is reported in the Basic Estimate Report, Activity Report,
and the Labor Allocation Reports. The Set Reference feature allows for
quick analysis of what happens to both development and maintenance costs
with the change of any parameter.

**Maintenance**

SEER-SEM baseline maintenance includes all adaptive, perfective and
corrective maintenance. Additionally, you may add annual change rate and
growth percents to anticipate any functional growth or enhancements over
the software maintenance period. Enhancements and block upgrades can
also be estimated.

**Contact**

Galorath Associates, Inc.,

SEER Technologies Division

P.O. Box 90579

Los Angeles, CA 90009 (3 1 0)670-3404.

**[SLIM]{.underline}**

SLIM for Windows 3.1 was developed by Quantitative Software Management,
Inc. (QSM). All of the theory behind the model has been published by
Prentice Hall in 1992 in the book, [Measures for Excellence: Reliable
Software, on Time, Within Budget]{.underline} by Lawrence H. Putnam and
Ware Meyers. SLIM is based on QSM\'s Software Equation. This was derived
from the Rayleigh-Norden model and has been validated over a 15 year
time period with thousands of real, completed projects. The equation
takes the conceptual form:

\(1\) Quantity of Function = Process Productivity \* Effort \* Schedule

This means that the product of the time and effort coupled with the
process productivity of the development organization determines how much
function can be delivered. Extensive empirical study of software data
has shown that very strong linearities exist in software behavior. This
is taken into account by the calculational form of the software equation
and discloses how these non-linearities can be exploited by management.
The calculation form of the equation is expressed:

\(2\) Size = Process Productivity Parameter \* (Effort/B)(1/3) \*
Time(4/3)

where,

1\. The process Productivity Parameter is the development process
proficiency of the organization. It is determined from historical data.

2\. Size is the quantity of function created in source lines of code
written, function points, objects, or other measures of function.

3\. Effort is the development effort required. It includes all
categories of labor used on the project. Effort is consistent with the
time specified below.

4\. B is a complexity adjustment factor. It provides for specialized
skills for integration testing, documentation, and management as the
size of the system increases.

5\. Time is the elapsed calendar development time from the start of
detailed design until the product is ready to enter into operational
service (frequently this is a 95% reliability level).

SLIM is applicable to all types and sizes of projects. It computes
schedule, effort, cost, staffing for all software development phases and
reliability for the main construction phase. Because the software
equation effectively models design intensive processes and is not
methodology dependent, SLIM works well with waterfall, spiral,
incremental, and prototyping development methodologies. It works with
all languages, and function points as well as other sizing metrics. It
is specifically designed to address the concerns of senior management,
such as:

1\. What options are available if the schedule is accelerated by four
months to meet a tight market window?

2\. How many people must be added to get two months schedule compression
and how much will it cost?

3\. When will the defect rate be low enough so I can ship a reliable
product and have satisfied customers?

4\. If the requirements grow or substantially change, what will be the
impact on schedule, cost, and reliability?

5\. How can I quantify the value of my process improvement program?

**Computing Platforms**

SLIM is available for use on IBM PC or compatible machines running
Windows 3.1. SLIM is licensed on an annual basis with full support and
free upgrades.

**Inputs**

The primary input for SLIM is SLOC, function points, objects, CSCI, or
any valid measure of function to be created. The model uses size ranges
for input: minimum, most likely, and maximum. Other important inputs
include:

1\. Language: Multiple choices and mixes.

2\. System Type: One of nine (business, scientific, command & control,
real time, etc.).

3\. Environmental Information: Tools, methods, practices, database
usage; standards in place and adherence and usage of those standards.

4\. Experience: Personnel skill and qualifications.

5\. Process Productivity Parameter: a macroscopic factor determined by
calibration from historical data. It is a reliable tuning factor that
accurately reflects application complexity and the efficiency of the
organization in building software. This is a secsitive parameter that is
capable of measuring real productivity and process improvement. SLIM
contains and expert system to determine the Process Productivity
Parameter when the user has no historical data. This \[non-linear\]
parameter is dealt with in terms of a linear scale ranging from 0 to 40.

6\. Management Constraints: Maximum allowavle schedule, manimum cost,
maximum and minimum staff size, required reliability at the time the
software goes into service as well as the desired probabilities for each
of these constraints.

7\. Accounting: Labor rates, inflation rates, and other economic
factors.

8\. Flexibility: Extensive tailoring for milestones, phase definitions,
and fraction of time and effort applied to each phase based on the
organization's own history.

**Processing**

There are three primary modes of operation: building and using an
historical database, performing estimating and analysis, and creating
presentations and reports.

For estimation, SLIM uses the software equation in conjunction with
management constraints for schedule, cost, staffing and required
reliability to determine an optimal solution with the highest
probability of successful completion. Through Monte Carlo simulation
techniques, the size range estimates are mapped through the software
equation to provide estimates of the uncertainty in schedule, cost
staffing and reliability. The solution obtained can be compared with the
user\'s historical data and QSM\'s historical data to test its
reasonableness. This discloses impossible or highly improbable solutions
so that expensive mistakes are avoided.

**Outputs**

The primary output of SLIM is the optimal solution, which provides
development time, cost, effort and reliability expected at delivery. It
also provides comprehensive sensitivity and risk profiles for all key
input and output variables, and a consistency check with similar
projects. SLIM\'s graphical interactive user interface makes it easy to
explore quickly extensive tradeoff and \"what if\" scenarios including
design to cost, schedule, effort and risk. It has 181 different output
tables and graphs from which the user can choose. These outputs
constitute a comprehensive set of development plans to measure and
control the project while it is underway.

**Calibration**

The process productivity parameter for SLIM can (and should) be obtained
by calibration using historical data. All that is required are project
size, development time and effort. These numbers are input into the
software equation to solve for the process productivity. The historical
data can also be used to compare with any current solution to compare
for reasonableness.

**Life Cycle Considerations**

The user can customize his life cycle in terms of phases, sub-phases,
staffing profile shapes and milestones. Explicit shapes are provided
after delivery to deal with maintenance, ongoing support and enhancement
releases.

**Contact**

Quantitative Software Management, Inc.

1057 Waverly Way

McLean, VA 22102

\(703\) 790-0055

**[SOFTCOST-R & SOFTCOST-ADA]{.underline}**

The SoftCost-R model was developed by Dr. Don Reifer based on the work
of Dr. Robert Tausworthe of the NASA Jet Propulsion Laboratory. SoftCost
is now marketed by Resource Calculations, Inc. of Englewood, Colorado.
It contains a database of over 1500 data processing, scientific and
real-time programs. SoftCost-R is applicable to all types of prograrns
and considers all phases of the software development cycle. The model is
available for lease on IBM PC\'s. A separate model SoftCost-Ada is
available to model Ada language and other object-oriented environments.

SoftCost-Ada has been developed to match the new object-oriented and
reuse paradigm which are emerging not only in Ada, but also C++ and
other object-oriented techniques. It contains a database of over 150
completed projects, primarily Ada.

**SoftCost-R Inputs**

A key input of SoftCost-R is size, which can either be directly input in
SLOC or computed from function points. SoftCost-R uses a more
sophisticated sizing model than COCOMO; besides reused code, sizes of
modules added or deleted may be included. The other inputs are in four
categories like COCOMO. Some SoftCost-R inputs are similar to COCOMO,
but many of the more than thirty inputs are unique. Examples of unique
inputs are use of peer reviews, customer experience, and degree of
standardization. Each input except size requires a rating ranging from
\"very low\" to \"extra high\", with \"nominal\" ratings having no
effect on effort calculations. SoftCost-R also uses COCOMO inputs to
compare the results of SoftCost-R with those of an updated version of
COCOMO.

**SoftCost-Ada Inputs**

In the main, the inputs are the same as SoftCost-R, with some changes to
reflect the new paradigm. There is no COCOMO comparison.

**Processing**

SoftCost-R is not a simple regression model. It uses powerful
multivariable differential calculus to develop solutions relying on the
T-W probability distribution. This provides the ability for the user to
perform \"what-if\" analysis and look at what would happen to schedule
if effort were constrained. Such a capability is not present in COCOMO.
SoftCost-R is one of the few models for which the mathematical
algorithms are completely described in the user\'s manual. The
SoftCost-R equation is:

\(1\) PM = P0 \* Al \* A2 \* (SLOC)B

where,

1\. PM = number of person-months,

2\. P0 is a constant factor that may be calibrated,

3\. A 1 is the \"Reifer cost factor\" which is an exponential product of
nine inputs,

4\. A2 is a productivity factor computed from 22 inputs,

5\. B is an exponent which may be calibrated.

The user\'s manual illustrates values assigned to ratings for all model
inputs to help the user understand the effect of each input on effort
and schedule.

**Outputs**

SoftCost-R computes an estimate in person-months of effort and schedule
for each project, plus a productivity value. Other outputs include a
side-by-side comparison with a recent version of COCOMO, several \"what
if\" analysis options, a resource allocation summary for any of three
development methods (traditional waterfall, incremental development, or
Ada object-oriented), and schedule outputs for Gantt and PERT charts.
SoftCost-Ada output formats are similar, and can interface with project
planning tools in the same way.

**Calibration**

The model contains a calibration file which contains values for multiple
calibration constants and cost drivers. The user may change these values
to better describe the user\'s unique environment, and store alternative
calibration and WBS files for different jobs. SoftCost-Ada and
SoftCost-R are similar.

**Life Cycle Considerations**

SoftCost-R contains a separate life cycle model for support costs. In
addition to SoftCost-R development inputs, life cycle inputs include
annual change traffic, length of support period, a sustaining
engineering factor, and economic factors. In addition to annual and
total support costs, the life cycle model has optional reports for
various staffing options, fixed levels of maintenance, and fixed work
force levels. Both SoftCost versions are similar, and use the same staff
limited approach to life cycle resource allocation.

**Contact**

Mr. A.J. (Tony) Collins

Resource Calculations, Inc.

7853 East Arapahoe Court, Suite 2500

Englewood, CO 80112-1361

Telephone: (303) 267-0379

Facsimile: (303) 220-5620

**[OTHER MODELS]{.underline}**

**CHECKPOINT**

Software Productivity Research, Inc.

I New England Park

Burlington, MA 01803

\(617\) 273-0140

**COSTAR**

SoftStar Systems

28 Ponemah Road

Arnherst,NH 03031

\(603\) 672-0987

**SOFTSTR**

Softstar Systems

28 Ponemah Road

Arnherst,NH 03031

\(603\) 672-0987

Sells COSTAR, a COCOMO variant; supports Ada COCOMO and function points

IBM PC, VAX/VMS

Dan Ligett (personal letter - Jan 16, 1987) \[info checked brochure
10/92\]

**SWAN**

IIT Research Institute

201 Mill Street

Rome, NY 13440

(315)336-2359

Fax: (315) 339-7002

Personto Contact: Anthony H. Williarns (315)339-7105 \[ok 12/13/93\]

A COCOMO variant developed for US Arrny, PM Training Devices, 12350
Research

Parkway, Orlando, FL. 32826

Written in Ada; runs on IBM AT, MS-DOS 3.0 or higher

Includes Ada COCOMO & Function Point Analysis

**Target Software**

Dr. George Bozoki

552 Marine Parkway, #1202

Redwood City, CA 94065

(415)592-2560

**SSM, the Software Sizing Model**

**Computer Economics**

4560 Admiralty Way, Suite 109

Marina Del Rey, CA 90292

\(213\) 827-7300

Jensen Model (\"System 4\"), CEIS (CEI Sizer), training

\[ref. 1987 IITRI Software Sizing model paper\]

**Mainstay Software Corporation**

1099 18th Street, Suite 2920

Denver, COLO 80202

\(303\) 298-8961

Dan Walkovitz, President

Product: Mainstay - an analytical database system

\[ok 8/92, Setzer\]

**Howard Rubin Associates, Inc.**

1666 Massachusetts Avenue, Suite 7

Lexington, MA. 02173

(617)861-7171

Products:

FPXpert - an expert system for function point counting, analysis and
management;

RA-METRICS - a measurement tool and metrics respository; primarily
oriented toward information systems, promotes concept of \"measurement
dashboard\"

**COSTMODL**

Developed at the Software Technology Branch at NASA/JSC to be used for
Space Station Freedom Software Support Environment and will be available
from COSMIC.