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 |
154 |
\subsubsection{Which of the two systems can be expected to require more |
\subsubsection{Which of the two systems can be expected to require more |
155 |
effort to be built? Why?} |
effort to be built? Why?} |
156 |
svar |
svar |
157 |
\textbf{Measuring designs} |
\\ \\ \textbf{Measuring designs} |
158 |
\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 |
159 |
lecture.} |
lecture.} |
160 |
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 |
Assumptions: We are using an iterative development |
233 |
|
process, we are using function points to measure progress, |
234 |
|
we are using a good configuration management tool, we are |
235 |
|
identifying risks before starting a project, we are, but |
236 |
|
not always using uml for our projects. |
237 |
|
|
238 |
|
Since we are working on web-based applications we also |
239 |
|
assumed that we are selling those to a customer. This made |
240 |
|
us make a value based quality view. This made us decide |
241 |
|
that usability, lernability, reusability, maintainability, reliability, |
242 |
|
is the most important external attributes. The internal |
243 |
|
attributes are not considered as important, other than to |
244 |
|
help up the external. Customer satisfaction does supersede |
245 |
|
this thou. The external attributes has the following |
246 |
|
impact on customer satisfaction: \\ |
247 |
|
\begin{tabular}{|l|l|l|} |
248 |
|
\hline |
249 |
|
Attribute & Importance & Role \\ \hline |
250 |
|
Usability & High & |
251 |
|
Decides if the customer fells that he may use\\ |
252 |
|
& & the product or not. The more usable the product\\ |
253 |
|
& & becomes, the higher value it gets (and thereby\\ |
254 |
|
& & higher quality). \\ \hline |
255 |
|
%hmmm, borde finnas nått bättre sätt... |
256 |
|
Learnability & High & |
257 |
|
The quicker the end-user can learn to use the \\ |
258 |
|
& & program, the quicker he feels the value of the\\ |
259 |
|
& & program and does need it. This makes the \\ |
260 |
|
& & customer feels a gain from buying our product \\ \hline |
261 |
|
Reusability & Medium & |
262 |
|
This is only important if using agreements like\\ |
263 |
|
& & ``avtal 90'' or similar that gives us the freedom\\ |
264 |
|
& & of the developed artifacts, and may use them in\\ |
265 |
|
& & projects to come. If the customer has no demands\\ |
266 |
|
& & on this, and will own the artifacts then it is \\ |
267 |
|
& & not taken into consideration.\\ \hline |
268 |
|
Maintainability & Medium & |
269 |
|
This is only important if we are using the \\ |
270 |
|
& to low & |
271 |
|
reusability from above. And only to support that\\ |
272 |
|
& & purpose. Otherwise this would not have been a \\ |
273 |
|
& & issue at all. \\ \hline |
274 |
|
Reliability & High & |
275 |
|
This is important since a reliable program is \\ |
276 |
|
& & seen as having a higher value. \\ \hline |
277 |
|
\end{tabular} \\ \\ |
278 |
|
Internal attributes are only important in order to gain |
279 |
|
the external attributes. |
280 |
\end{document} |
\end{document} |