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

Annotation of /02/assignment2.tex

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1.2 - (hide annotations)
Thu Dec 11 16:04:42 2003 UTC (20 years, 5 months ago) by jontas
Branch: MAIN
Changes since 1.1: +51 -3 lines
File MIME type: application/x-tex
*** empty log message ***

1 jontas 1.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 jontas 1.2 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 jontas 1.1 \subsection{Give an example where code length measure can be useful and an
39     example where source code length measure is not useful.}
40 jontas 1.2 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 jontas 1.1 \subsection{Explain what are the main ideas behind Albrecht's Function Points.
51     Discuss advantages and disadvantages of the measure. Motivate.}
52 jontas 1.2 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 jontas 1.1 \subsection{Describe structural measures presented by Fenton. (Control flow
83     structure, Data flow structure, Data structure). Give an example
84     where you explain how one could use the structural measures
85     (specify which structural measure) to ensure the quality of the
86     software product.}
87     svar
88     \subsection{Draw the flow graph for the program, which
89     based on the data provided by everyday measurements of the air
90     temperature will calculate the maximum, minimum and the most
91     commonly occurred temperature (the temperature that occurs twice
92     or more) for a given month. Present program paths that has to be
93     executed in order to satisfy the following testing strategies:}
94     \subsubsection{Statement coverage}
95     svar
96     \subsubsection{Branch coverage}
97     svar
98     \subsubsection{Visit each loop}
99     svar
100     \subsection{Calculate the cyclomatic complexity of your program. What does
101     this figure tell you?}
102     svar
103     \section{OO metrics}
104     \textbf{Measuring the use cases}
105     \subsection{Measure the use case specifications shown in Design 1 using the
106     chosen use case metrics suite from the lecture}
107     svar
108     \subsection{Measure the use case specifications shown in Design 2 using the
109     chosen use case metrics suite from the lecture}
110     svar
111     \subsection{Write a short section (up to ½ page) with answers to the following
112     questions:}
113     \subsubsection{Which of the two systems presented can be expected to be
114     more complex and why?}
115     svar
116     \subsubsection{Which of the two systems can be expected to require more
117     effort to be built? Why?}
118     svar
119     \textbf{Measuring designs}
120     \subsection{Measure the class diagram presented in Design 1 using the CK metrics suite presented on the
121     lecture.}
122     svar
123     \subsection{Measure the class diagram presented in Design 2 using
124     the CK metrics suite presented on the lecture.}
125     svar
126     \subsection{Measure the code in the files .java from Design 1 with the CK metrics suite
127     presented on the lecture.}
128     svar
129     \subsection{ Measure the code in the files .java
130     from Design 2 with the CK metrics suite presented on the lecture.}
131     svar
132     \subsection{Write a short section (up to ½ page) with answers to the following
133     questions:}
134     \subsubsection{Which of the metrics could not be computed based on the class
135     diagrams? Why?}
136     svar
137     \subsubsection{Which of the two systems is more complex? Why?}
138     svar
139     \subsubsection{Which method of gathering metrics - from UML designs or source
140     code - is less time consuming?}
141     svar
142     \section{External product attributes}
143     \subsection{Describe how the external product attributes differ from the
144     internal ones. Describe the connection between external and
145     internal product attributes.}
146     svar
147     \subsection{Assume that you are
148     working at the company that mainly specializes on developing of
149     web-based applications. Your manager gives you an assignment to
150     develop a software quality model for the company. The model should
151     show external quality attributes, corresponding internal
152     attributes and metrics. Present the assumptions that you will use
153     while creating of the quality model. Provide an explanatory text
154     for your model.}
155     max 8 sidor
156     \end{document}

root@recompile.se
ViewVC Help
Powered by ViewVC 1.1.26