24 |
These three supplements each other adding references to |
These three supplements each other adding references to |
25 |
each other. None of these is useful by itself, but by |
each other. None of these is useful by itself, but by |
26 |
adding them up one can get a better perspective of the |
adding them up one can get a better perspective of the |
27 |
size of the software. |
size of the software. The length itself don't tell |
28 |
|
anything of how large the completed software will be, but |
29 |
|
together with functions and complexity one can understand |
30 |
|
the size of the software. Once the size of the software is |
31 |
|
established one may come with effort estimations, and |
32 |
|
based on those make a budget for what resources the |
33 |
|
project will need. Given these three it is possible to get |
34 |
|
an idea of how productive a programmer is during a time |
35 |
|
unit. It will not be a perfect answer, but it will be |
36 |
|
something that could be used to measure deviations in work |
37 |
|
etc. |
38 |
\subsection{Give an example where code length measure can be useful and an |
\subsection{Give an example where code length measure can be useful and an |
39 |
example where source code length measure is not useful.} |
example where source code length measure is not useful.} |
40 |
svar |
Code length is useful if it is not going to be used by |
41 |
|
itself. One example of this could be if we are interested |
42 |
|
in how much work is done in a week. Then we could look at |
43 |
|
loc, and also take into account the complexity and the functions provided |
44 |
|
(like loc * complexity / functions or something similar). |
45 |
|
Then loc could be useful. |
46 |
|
|
47 |
|
Code length is useless if it is used by itself. For |
48 |
|
example the statement I am a good programmer since I |
49 |
|
produce more then n loc per week useless. |
50 |
\subsection{Explain what are the main ideas behind Albrecht's Function Points. |
\subsection{Explain what are the main ideas behind Albrecht's Function Points. |
51 |
Discuss advantages and disadvantages of the measure. Motivate.} |
Discuss advantages and disadvantages of the measure. Motivate.} |
52 |
svar |
The main idea behind FP's are to provide language |
53 |
|
independent metric that can be used no matter what |
54 |
|
language are used. Albrech thought it was wrong that the |
55 |
|
only way to tell effort and cost per effort until he begun |
56 |
|
was in loc. A often used metric to tell productivity was |
57 |
|
cost/loc, and that don't tell anything since different |
58 |
|
languages require different number of loc's to solve the |
59 |
|
same problem. This cost could be lover if the language |
60 |
|
requires a lot of code, but the end cost could still get |
61 |
|
higher if the program takes longer time to complete. |
62 |
|
The main idea behind FP's is to give ways to |
63 |
|
tell cost and productivity in a way that is language |
64 |
|
independent. FP's does satisfy this idea. A easier |
65 |
|
language will get a lower cost/FP and a greater number of |
66 |
|
FP's/person\&month then a more complex language. |
67 |
|
|
68 |
|
The great advantage with this method is that it is (almost) truly |
69 |
|
language independent, while a disadvantage would be that |
70 |
|
if this is established in the beginning of a project and |
71 |
|
should be used to choose a appropriate language to use, if |
72 |
|
the language is unfamiliar, then these metrics can't be |
73 |
|
computed (like FP's/person\&month). Also this way of presenting |
74 |
|
the result does not take into account training and |
75 |
|
inexperience while showing the result. Also this should |
76 |
|
not be used to compare different projects or groups to se |
77 |
|
the difference between them since this does not take |
78 |
|
everything into account. Also one might be tempted to |
79 |
|
always use the language with the highest productivity, |
80 |
|
this is good in most cases, but sometimes there are other |
81 |
|
factors to sum in, like speed, security etc. |
82 |
\subsection{Describe structural measures presented by Fenton. (Control flow |
\subsection{Describe structural measures presented by Fenton. (Control flow |
83 |
structure, Data flow structure, Data structure). Give an example |
structure, Data flow structure, Data structure). Give an example |
84 |
where you explain how one could use the structural measures |
where you explain how one could use the structural measures |