| 49 |
produce more then n loc per week useless. |
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 |
|
%denna var bra http://www.spr.com/products/function.htm |
| 53 |
The main idea behind FP's are to provide language |
The main idea behind FP's are to provide language |
| 54 |
independent metric that can be used no matter what |
independent metric that can be used no matter what |
| 55 |
language are used. Albrech thought it was wrong that the |
language are used. Albrech thought it was wrong that the |
| 85 |
where you explain how one could use the structural measures |
where you explain how one could use the structural measures |
| 86 |
(specify which structural measure) to ensure the quality of the |
(specify which structural measure) to ensure the quality of the |
| 87 |
software product.} |
software product.} |
| 88 |
svar |
%http://sern.ucalgary.ca/~kliewerc/SENG/623/summaries.htm#sum02 var lite halvbra... det bästa jag kunde hitta dock, + F4... |
| 89 |
|
Control flow is a diagram with nodes, connected via the |
| 90 |
|
directed connections showing the possible routs the |
| 91 |
|
program (or actually the flow of data in the program) may |
| 92 |
|
take. This could be broken down to several diagrams if it |
| 93 |
|
gets to large and complex. This diagram can be used to |
| 94 |
|
decide how many test cases is needed to test the program |
| 95 |
|
completely. |
| 96 |
|
|
| 97 |
|
The data flow structure could be shown in a module-call |
| 98 |
|
graph. The module-call graph shows what modules calls what |
| 99 |
|
other modules, and thereby showing more the flow of |
| 100 |
|
information within the program. This may also be used to |
| 101 |
|
show coupling and cohesion in the program. |
| 102 |
|
|
| 103 |
|
The data structure can be measured both locally and |
| 104 |
|
globally. Locally it is interesting how much data |
| 105 |
|
structure each data item has, and globally it is the |
| 106 |
|
amount of data for the system. For the local data |
| 107 |
|
structures very little research has been done, but for the |
| 108 |
|
global there are more. |
| 109 |
\subsection{Draw the flow graph for the program, which |
\subsection{Draw the flow graph for the program, which |
| 110 |
based on the data provided by everyday measurements of the air |
based on the data provided by everyday measurements of the air |
| 111 |
temperature will calculate the maximum, minimum and the most |
temperature will calculate the maximum, minimum and the most |
| 112 |
commonly occurred temperature (the temperature that occurs twice |
commonly occurred temperature (the temperature that occurs twice |
| 113 |
or more) for a given month. Present program paths that has to be |
or more) for a given month. Present program paths that has to be |
| 114 |
executed in order to satisfy the following testing strategies:} |
executed in order to satisfy the following testing strategies:} |
| 115 |
|
See appendix a for the diagram. |
| 116 |
\subsubsection{Statement coverage} |
\subsubsection{Statement coverage} |
| 117 |
svar |
a-b-c-d-e-f-g-h-i-j-k-l-m-n |
| 118 |
\subsubsection{Branch coverage} |
\subsubsection{Branch coverage} |
| 119 |
svar |
a-b-c-d-e-f-g-h-i-j-k-l-m-n \\ |
| 120 |
|
a-b-c-b-c-d-e-g-i-j-k-m-n \\ |
| 121 |
|
a-b-c-d-e-f-g-h-i-j-k-l-m-k-m-n \\ |
| 122 |
\subsubsection{Visit each loop} |
\subsubsection{Visit each loop} |
| 123 |
svar |
%osäker på om detta är rätt...jag har bara antagit att man skall göra ett test så att man kör alla looparna |
| 124 |
|
a-b-c-b-c-d-e-f-g-e-f-g-h-i-g-h-i-j-k-l-m-k-m-n |
| 125 |
\subsection{Calculate the cyclomatic complexity of your program. What does |
\subsection{Calculate the cyclomatic complexity of your program. What does |
| 126 |
this figure tell you?} |
this figure tell you?} |
| 127 |
svar |
%Cyclomatic complexity (CC) = E - N + p |
| 128 |
|
%where E = the number of edges of the graph |
| 129 |
|
%N = the number of nodes of the graph |
| 130 |
|
%p = the number of connected components |
| 131 |
|
%http://www.sei.cmu.edu/str/descriptions/cyclomatic.html |
| 132 |
|
Hopefully you mean McCabe's cyclomatic complexity\\ |
| 133 |
|
% e = no of arcs | n = no of nodes |
| 134 |
|
e-n+2 | 18 - 14 + 2 = 18 - 16 = 2 \\ %men vad säger nu detta |
| 135 |
|
This tells us the number of tests we have to do to cover |
| 136 |
|
each path in the program. It could also be used to give a |
| 137 |
|
estimation of how complex the final software will be. If |
| 138 |
|
higher then 20 it should be seen as a high risk project, |
| 139 |
|
and if higher then 50 as a very high risk project. %nuffrorna kommer från http://www.sei.cmu.edu/str/descriptions/cyclomatic.html |
| 140 |
\section{OO metrics} |
\section{OO metrics} |
| 141 |
\textbf{Measuring the use cases} |
\textbf{Measuring the use cases} |
| 142 |
|
%vi skall använda templaten, och bifoga denna... |
| 143 |
\subsection{Measure the use case specifications shown in Design 1 using the |
\subsection{Measure the use case specifications shown in Design 1 using the |
| 144 |
chosen use case metrics suite from the lecture} |
chosen use case metrics suite from the lecture} |
| 145 |
svar |
svar |
| 181 |
\subsection{Describe how the external product attributes differ from the |
\subsection{Describe how the external product attributes differ from the |
| 182 |
internal ones. Describe the connection between external and |
internal ones. Describe the connection between external and |
| 183 |
internal product attributes.} |
internal product attributes.} |
| 184 |
svar |
The internal attributes can be measured from within the |
| 185 |
\subsection{Assume that you are |
system (like loc etc) while for the external attributes |
| 186 |
working at the company that mainly specializes on developing of |
one must look at the finished product to se the external |
| 187 |
web-based applications. Your manager gives you an assignment to |
attributes. Also in general internal attributes are |
| 188 |
develop a software quality model for the company. The model should |
considered easier to measure (and then predict) then the |
| 189 |
show external quality attributes, corresponding internal |
external attributes. |
| 190 |
attributes and metrics. Present the assumptions that you will use |
|
| 191 |
while creating of the quality model. Provide an explanatory text |
This is partly since the internal attributes can be |
| 192 |
|
measured more ``directly'' then the external. For |
| 193 |
|
instance loc is easy to count while usability is a lot |
| 194 |
|
harder to measure. For the internal attributes one can |
| 195 |
|
expect to be able to get absolute values while on the |
| 196 |
|
external attributes one can expect them to be less |
| 197 |
|
accurate. |
| 198 |
|
|
| 199 |
|
However several of the internal attributes (if not all) |
| 200 |
|
does affect the external attributes in a way that can |
| 201 |
|
(in most cases) be predicted. One can for instance say |
| 202 |
|
that in a specific solution if the loc is increased |
| 203 |
|
(both with comments) then one could expect to get a |
| 204 |
|
higher maintainability. Also most of the external |
| 205 |
|
attributes can be affected via the internal if the |
| 206 |
|
developers keep the external attributes in mind. |
| 207 |
|
|
| 208 |
|
In most cases (if not always) the customer of the product |
| 209 |
|
is more interested in the external attributes. Does this |
| 210 |
|
mean that the external attributes are of ``greater'' |
| 211 |
|
value to the team developing the product? |
| 212 |
|
|
| 213 |
|
Not always but in many cases. Also one should keep in |
| 214 |
|
mind that just because the external attributes are more |
| 215 |
|
important that the internal could be forgotten. |
| 216 |
|
%\subsection{Assume that you are working at the company that |
| 217 |
|
%mainly specializes on developing of web-based applications. |
| 218 |
|
%Your manager gives you an assignment to develop a software |
| 219 |
|
%quality model for the company. The model should show external |
| 220 |
|
%quality attributes, corresponding internal attributes and |
| 221 |
|
%metrics. Present the assumptions that you will use while |
| 222 |
|
%creating of the quality model. Provide an explanatory text |
| 223 |
|
%for your model.} %Jag tyckte inte om att läsa den texten;) |
| 224 |
|
\subsection{Assume that you are working at a company that |
| 225 |
|
mainly specializes in development of web-based applications. |
| 226 |
|
Your manager gives you an assignment to develop a software |
| 227 |
|
quality model for the company. The model should show external |
| 228 |
|
quality attributes, corresponding internal attributes and |
| 229 |
|
metrics. Present the assumptions that you will use while |
| 230 |
|
creating the quality model. Provide an explanatory text |
| 231 |
for your model.} |
for your model.} |
| 232 |
max 8 sidor |
%huh? - jag kollar på denna... men vill du ha den så;) |
| 233 |
|
max 8 sidor (totalt; inte på denna;) |
| 234 |
\end{document} |
\end{document} |