Академический Документы
Профессиональный Документы
Культура Документы
Yes, you are to complete this exam is pairs (NOT groups of three or more!). Except for talking
to your partner, you are not allowed to communicate with anyone else on the planet about this
exam in any way. I cant keep you from using the internet, but be very careful to cite your
sources if you look anywhere - even if you re-write the concept in your own words. I will not
take academic dishonesty lightly.
Many of the questions ask you to argue, justify, or explain. Do NOT write long answers!!!!
The purpose is not to dump everything you know onto the paper. Your ability to understand the
critical point being asked and answer clearly and concisely matters. None of these questions
requires more than three sentences to answer it thoroughly, and most only require one. I will
not grade answers that are not clear and concise. Long answers with extraneous information
will be wrong even if they contain the correct answer.
Function Points
1. One of the ways we talked about using size of functionality (f) is by using Test
cases / F to measure test case coverage.
a. (5 points) Does F correlate to lines of code? Justify your answer
b. (10 points) Argue that this ratio should be relatively constant over
time
c. (5 points) Other than the team is getting lazy, give something
could make this ratio decrease over time.
2. (15 points) Show how you counted the Data Functions in the Function Points Lab
3. (10 points) For low function levels, EIs and EQs get three function points, but
EOs get four. Either justify why that makes sense or argue that it does not make sense.
4. (5 points) Give three reasons why the use of General System Characteristics
seems inappropriate.
Code Metrics
1. (5 points) Explain why using code metrics to measure an individuals
performance is detrimental.
2. Cyclomatic complexity has been described as number of paths through a
method.
a. (5 points) If that is true, what does it say about the number of test
cases for the method as a function of CC?
b. (15 points) Give an example outline of a method that undermines
that interpretation (for simplicity, you can use the CC which is just counting the
number of decisions)
c. (5 points) Given what you found in part B, what does that say
about the relationship between number of test cases for a method as a function
of CC?
3. We studied two different measures for Lack of Cohesion of Methods
a. (10 points) Argue that you could use both because they measure
cohesion at different levels of abstraction.
b. (5 points) Find a weakness in Henderson-Sellers by describing a
standard coding strategy that would cause a class to get a low score.
4. Another measure of lack of cohesion is (m - sum(mA)/a)/(m-1) where m is the
number of methods, mA is the number of methods that access an instance variable and
a is the number of instance variables.
a. (10 points) What are the range of values this metric can give?
Give a mathematical justification of your answer.
b. (5 points) Do you want a high value of a low value? Why?
5. You have been hired to help a team improve their process.
a. (15 points) How could they incorporate the current values into
their process?
b. (15 points) Assuming they have a configuration management
system, how could use use historical data?