You are on page 1of 3

Exam #2

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?

Control Charts for Attributes Data


1. (5 points) Describe a real life situation where it would be appropriate to use XMR
charts for attributes data. (I do NOT want you to list the academic criteria. I DO want
you to describe a situation that meets those criteria)
2. (10 points) The example we worked on for C charts was recording the number of
reboots per day. Explain why the use of the C chart may have been inappropriate by
describing how it might have been breaking a necessary criteria for the use of these
charts.
3. Suppose a team is gathering data about the number of classes that are affected
by each bug fix over time.
a. (10 points) What is the area of opportunity?
b. (5 points) Is the area of opportunity constant?
c. (5 points) If your process is stable, would you expect this statistic
to be constant? Why or why not?
d. (10 points) Mock data that could be data gathered in this situation
for 20 bug fixes.
e. (10 points) Make an appropriate attributes chart for your data.
4. (5 points) What is the great weakness of a U chart?
5. Here is a U chart for defects per class size for a sequence of inspections:

a. (10 points) Is the process in control? Justify your answer


b. (5 points) Which inspection was for the smallest class?
c. (15 points) Justify your answer to part B mathematically.
6. (15 points) Why are the control limits for a Z chart always -3 and 3? Justify your
answer mathematically.