154 |
\item Which of the two systems can be expected to require more |
\item Which of the two systems can be expected to require more |
155 |
effort to be built? Why? |
effort to be built? Why? |
156 |
\end{itemize} |
\end{itemize} |
157 |
svar |
We expect design 2 to become more complex, both since |
158 |
|
it has more use cases, but also since it has higher |
159 |
|
values (in general) on the metrics suit. |
160 |
|
|
161 |
|
We expect design 2 to require more effort to build |
162 |
|
since it has more use cases and more actions (more |
163 |
|
functionality). Also since we feel that design 2 has a |
164 |
|
higher complexity. Also most of the values that we can |
165 |
|
get out from our metrics suit are greater, both in |
166 |
|
total and if we count them per use case. |
167 |
|
|
168 |
|
We feel that it is hard to make good (accurate) |
169 |
|
estimations based on this suit only and we also feel |
170 |
|
that while good estimations on use case level can be |
171 |
|
made using this suit, it is not a good thing to try to |
172 |
|
make estimations of the system as a whole only based |
173 |
|
on this information. |
174 |
\\ \\ \textbf{Measuring designs} |
\\ \\ \textbf{Measuring designs} |
175 |
\subsection{Measure the class diagram presented in Design 1 using the CK metrics suite presented on the |
\subsection{Measure the class diagram presented in Design 1 using the CK metrics suite presented on the |
176 |
lecture.} |
lecture.} |
186 |
See appendix c. |
See appendix c. |
187 |
\subsection{Write a short section (up to ½ page) with answers to the following |
\subsection{Write a short section (up to ½ page) with answers to the following |
188 |
questions:} |
questions:} |
189 |
\begin{itemize} |
\subsubsection{Which of the metrics could not be computed based on the class diagrams? Why?} |
190 |
\item Which of the metrics could not be computed based on the class |
The LCOM (Lack of Cohesion in Methods) metric could |
191 |
diagrams? Why? |
not be computed from the class diagram because LCOM metrics |
192 |
\item Which of the two systems is more complex? Why? |
are gathered through counting the number of |
193 |
\end{itemize} |
method-pairs that have no attributes in common and |
194 |
Svar |
then subtract the number of pairs that do have |
195 |
|
common attributes. This can not be seen when looking |
196 |
|
at the class diagram so you have to look at the |
197 |
|
code to compute it. It would probably be quite handy |
198 |
|
with a tool that computes this metric automatically |
199 |
|
since it is very time consuming to do by hand. |
200 |
|
\subsubsection{Which of the two systems is more complex? Why?} |
201 |
|
Since Design2 has a lower total LCOM value (140 vs |
202 |
|
93) it is therefore considered more complex. |
203 |
|
We draw this conclusion from the lecture and slides about CK metrics, a class |
204 |
|
with low cohesion is ``hard to comprehend, hard to |
205 |
|
reuse, hard to maintain and constantly effected by |
206 |
|
change'' |
207 |
\subsubsection{Which method of gathering metrics - from UML designs or source |
\subsubsection{Which method of gathering metrics - from UML designs or source |
208 |
code - is less time consuming?} |
code - is less time consuming?} |
209 |
svar |
You get a much better overview of the system when |
210 |
|
looking at the UML design and it is much less |
211 |
|
time consuming than searching through source code after source code to |
212 |
|
find inheritance, number of children and so on. Some |
213 |
|
metrics require going through source code though, so you |
214 |
|
can not get everything from the UML designs, although it |
215 |
|
would have been handy if it was possible. |
216 |
\section{External product attributes} |
\section{External product attributes} |
217 |
\subsection{Describe how the external product attributes differ from the |
\subsection{Describe how the external product attributes differ from the |
218 |
internal ones. Describe the connection between external and |
internal ones. Describe the connection between external and |