Homework: Time/Cost Estimation
1 Purpose
The purpose of this assignment is to help you acquire (and
demonstrate that you have acquired) the knowledge and skills
required to estimate the time/cost involved in developing software products.
2 Overview
As you know, you've developed a product called Gradient for the
(fictitious) company
Sagacious Media.
Normally, you would have estimated the size of the product and the
time/cost required to develop it before you accepted the project
(and certainly before you told them what you would charge to complete it).
Unfortunately, you didn't know how to do so at the start of the semester
so you had to work for free.
Now that you know how, you're going to calculate those estimates
(even though it's more than a little late). This will be an unrealistic
exercise since you've already completed the project, but it
will be instructive nonetheless (and, of course, easier)
3 Tasks
Specifically, you must complete the following tasks.
- Calculate the number of function points
(F) in Gradient. Provide considerable detail
about how you counted the EIs, EOs, EQs, ILFs, and EIFs
and some detail about how you determined the complexity of
each.
- Discuss whether or not the actual number of lines of
code (L) in Gradient is consistent with
what one would expect based on your estimate of function
points and the typical range of L/F for Java
projects.
- Calculate the effort (E) in
person-months using both the Albrecht and Gafney (1983)
and Kemerer (1987) models. Call the
first EAG
and the
second EK
.
- Discuss whether or not EAG
and
EK
are sensible. Explain your answers.
- You should know how much effort your "organization" (i.e.,
you and I) actually devoted to the project (assuming that
I devoted 0.25 person-months to the design). Call this value
(measured in person-months)
EM
(for the measured effort).
- Use EM
and F to
calculate an organization-specific "rule of thumb"
(measured in function points per person month) that your
organization could use in the future.
- Estimate the cost (C) of developing
Gradient from EM
and a cost per
person month of $20,000.
4 Submission
You must submit (using
Gradescope) a
.pdf
file that
describes all of the calculations you performed and includes all of
the required discussions/answers.
From Gradescope's perspective, this assignment has only one question.
So, you must associate all of the pages of your submission (if it has
multiple pages), with that single question.