/[cvs]/02/assignment2.tex
ViewVC logotype

Contents of /02/assignment2.tex

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1.3 - (show annotations)
Thu Dec 11 16:55:42 2003 UTC (20 years, 5 months ago) by jontas
Branch: MAIN
Changes since 1.2: +1 -0 lines
File MIME type: application/x-tex
*** empty log message ***

1 %Assignment is conducted in pairs. Max. 8 pages.
2 \documentclass[12pt, a4paper]{article}
3 \usepackage[latin1]{inputenc}
4
5 \begin{document}
6 \pagenumbering{roman}
7 \thispagestyle{empty}
8 \begin{centering}
9 Assignment 1 - PAC003: Software Metrics, 5p\\
10 Jonas Petersson \& Mathias Börjeson\\
11 \emph{jopd01@student.bth.se \& tb00mbo@student.bth.se}\\
12 \end{centering}
13 \tableofcontents
14 \newpage
15 \pagenumbering{arabic}
16 \section{Internal product attributes}
17 \subsection{Explain how the three aspects of the software size (Length,
18 Functionality and Complexity) are supplementing each other to describe
19 the notion of software size.}
20 %length = is a physical size of the product
21 %functionality = counts the functions supplied by the product
22 %complexity = measures the complexity od underlying problem, or a solution
23 %utan att ha en aning om hur notationen ser ut drar jag till med följande
24 These three supplements each other adding references to
25 each other. None of these is useful by itself, but by
26 adding them up one can get a better perspective of the
27 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
39 example where source code length measure is not useful.}
40 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.
51 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
54 independent metric that can be used no matter what
55 language are used. Albrech thought it was wrong that the
56 only way to tell effort and cost per effort until he begun
57 was in loc. A often used metric to tell productivity was
58 cost/loc, and that don't tell anything since different
59 languages require different number of loc's to solve the
60 same problem. This cost could be lover if the language
61 requires a lot of code, but the end cost could still get
62 higher if the program takes longer time to complete.
63 The main idea behind FP's is to give ways to
64 tell cost and productivity in a way that is language
65 independent. FP's does satisfy this idea. A easier
66 language will get a lower cost/FP and a greater number of
67 FP's/person\&month then a more complex language.
68
69 The great advantage with this method is that it is (almost) truly
70 language independent, while a disadvantage would be that
71 if this is established in the beginning of a project and
72 should be used to choose a appropriate language to use, if
73 the language is unfamiliar, then these metrics can't be
74 computed (like FP's/person\&month). Also this way of presenting
75 the result does not take into account training and
76 inexperience while showing the result. Also this should
77 not be used to compare different projects or groups to se
78 the difference between them since this does not take
79 everything into account. Also one might be tempted to
80 always use the language with the highest productivity,
81 this is good in most cases, but sometimes there are other
82 factors to sum in, like speed, security etc.
83 \subsection{Describe structural measures presented by Fenton. (Control flow
84 structure, Data flow structure, Data structure). Give an example
85 where you explain how one could use the structural measures
86 (specify which structural measure) to ensure the quality of the
87 software product.}
88 svar
89 \subsection{Draw the flow graph for the program, which
90 based on the data provided by everyday measurements of the air
91 temperature will calculate the maximum, minimum and the most
92 commonly occurred temperature (the temperature that occurs twice
93 or more) for a given month. Present program paths that has to be
94 executed in order to satisfy the following testing strategies:}
95 \subsubsection{Statement coverage}
96 svar
97 \subsubsection{Branch coverage}
98 svar
99 \subsubsection{Visit each loop}
100 svar
101 \subsection{Calculate the cyclomatic complexity of your program. What does
102 this figure tell you?}
103 svar
104 \section{OO metrics}
105 \textbf{Measuring the use cases}
106 \subsection{Measure the use case specifications shown in Design 1 using the
107 chosen use case metrics suite from the lecture}
108 svar
109 \subsection{Measure the use case specifications shown in Design 2 using the
110 chosen use case metrics suite from the lecture}
111 svar
112 \subsection{Write a short section (up to ½ page) with answers to the following
113 questions:}
114 \subsubsection{Which of the two systems presented can be expected to be
115 more complex and why?}
116 svar
117 \subsubsection{Which of the two systems can be expected to require more
118 effort to be built? Why?}
119 svar
120 \textbf{Measuring designs}
121 \subsection{Measure the class diagram presented in Design 1 using the CK metrics suite presented on the
122 lecture.}
123 svar
124 \subsection{Measure the class diagram presented in Design 2 using
125 the CK metrics suite presented on the lecture.}
126 svar
127 \subsection{Measure the code in the files .java from Design 1 with the CK metrics suite
128 presented on the lecture.}
129 svar
130 \subsection{ Measure the code in the files .java
131 from Design 2 with the CK metrics suite presented on the lecture.}
132 svar
133 \subsection{Write a short section (up to ½ page) with answers to the following
134 questions:}
135 \subsubsection{Which of the metrics could not be computed based on the class
136 diagrams? Why?}
137 svar
138 \subsubsection{Which of the two systems is more complex? Why?}
139 svar
140 \subsubsection{Which method of gathering metrics - from UML designs or source
141 code - is less time consuming?}
142 svar
143 \section{External product attributes}
144 \subsection{Describe how the external product attributes differ from the
145 internal ones. Describe the connection between external and
146 internal product attributes.}
147 svar
148 \subsection{Assume that you are
149 working at the company that mainly specializes on developing of
150 web-based applications. Your manager gives you an assignment to
151 develop a software quality model for the company. The model should
152 show external quality attributes, corresponding internal
153 attributes and metrics. Present the assumptions that you will use
154 while creating of the quality model. Provide an explanatory text
155 for your model.}
156 max 8 sidor
157 \end{document}

root@recompile.se
ViewVC Help
Powered by ViewVC 1.1.26