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 Transcriptz 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 Transcriptz. 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. You should consider every class that you wrote and
every class that was provided to you.
- Discuss whether or not the actual number of lines of
code (L) in Transcriptz 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 40 person-hours 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
Transcriptz 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 answers all of
the questions.