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

Diff of /02/assignment2.tex

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 1.2 by jontas, Thu Dec 11 16:04:42 2003 UTC revision 1.8 by jontas, Fri Dec 12 16:00:22 2003 UTC
# Line 49  Line 49 
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
# Line 84  Line 85 
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          See appendix b.
146      \subsection{Measure the use case specifications shown in Design 2 using the      \subsection{Measure the use case specifications shown in Design 2 using the
147      chosen use case metrics suite from the lecture}      chosen use case metrics suite from the lecture}
148          svar          See appendix c.
149      \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
150      questions:}      questions:}
151          \subsubsection{Which of the two systems presented can be expected to be          \begin{itemize}
152               more complex and why?}              \item Which of the two systems presented can be expected to be
153                  svar              more complex and why?
154          \subsubsection{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                  svar          \end{itemize}
157    \textbf{Measuring designs}              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}
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.}
177            svar            See appendix b.
178      \subsection{Measure the class diagram presented in Design 2 using      \subsection{Measure the class diagram presented in Design 2 using
179      the CK metrics suite presented on the lecture.}      the CK metrics suite presented on the lecture.}
180            svar            See appendix c.
181      \subsection{Measure the code in the files .java from Design 1 with the CK metrics suite      \subsection{Measure the code in the files .java from Design 1 with the CK metrics suite
182      presented on the lecture.}      presented on the lecture.}
183            svar            See appendix b.
184      \subsection{ Measure the code in the files .java      \subsection{ Measure the code in the files .java
185      from Design 2 with the CK metrics suite presented on the lecture.}      from Design 2 with the CK metrics suite presented on the lecture.}
186            svar            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          \subsubsection{Which of the metrics could not be computed based on the class          \begin{itemize}
190          diagrams? Why?}              \item Which of the metrics could not be computed based on the class
191              svar              diagrams? Why?
192          \subsubsection{Which of the two systems is more complex? Why?}              \item Which of the two systems is more complex? Why?
193              svar          \end{itemize}
194            Svar
195          \subsubsection{Which method of gathering metrics - from UML designs or source          \subsubsection{Which method of gathering metrics - from UML designs or source
196          code - is less time consuming?}          code - is less time consuming?}
197              svar              svar
# Line 143  Line 199 
199      \subsection{Describe how the external product attributes differ from the      \subsection{Describe how the external product attributes differ from the
200      internal ones. Describe the connection between external and      internal ones. Describe the connection between external and
201      internal product attributes.}      internal product attributes.}
202            svar            The internal attributes can be measured from within the
203      \subsection{Assume that you are            system (like loc etc) while for the external attributes
204      working at the company that mainly specializes on developing of            one must look at the finished product to se the external
205      web-based applications. Your manager gives you an assignment to            attributes. Also in general internal attributes are
206      develop a software quality model for the company. The model should            considered easier to measure (and then predict) then the
207      show external quality attributes, corresponding internal            external attributes.
208      attributes and metrics. Present the assumptions that you will use  
209      while creating of the quality model. Provide an explanatory text            This is partly since the internal attributes can be
210              measured more ``directly'' then the external. For
211              instance loc is easy to count while usability is a lot
212              harder to measure. For the internal attributes one can
213              expect to be able to get absolute values while on the
214              external attributes one can expect them to be less
215              accurate.
216    
217              However several of the internal attributes (if not all)
218              does affect the external attributes in a way that can
219              (in most cases) be predicted. One can for instance say
220              that in a specific solution if the loc is increased
221              (both with comments) then one could expect to get a
222              higher maintainability. Also most of the external
223              attributes can be affected via the internal if the
224              developers keep the external attributes in mind.
225    
226              In most cases (if not always) the customer of the product
227              is more interested in the external attributes. Does this
228              mean that the external attributes are of ``greater''
229              value to the team developing the product?
230    
231              Not always but in many cases. Also one should keep in
232              mind that just because the external attributes are more
233              important that the internal could be forgotten.
234        %\subsection{Assume that you are working at the company that
235        %mainly specializes on developing of web-based applications.
236        %Your manager gives you an assignment to develop a software
237        %quality model for the company. The model should show external
238        %quality attributes, corresponding internal attributes and
239        %metrics. Present the assumptions that you will use while
240        %creating of the quality model. Provide an explanatory text
241        %for your model.} %Jag tyckte inte om att läsa den texten;)
242        \subsection{Assume that you are working at a company that
243        mainly specializes in development of web-based applications.
244        Your manager gives you an assignment to develop a software
245        quality model for the company. The model should show external
246        quality attributes, corresponding internal attributes and
247        metrics. Present the assumptions that you will use while
248        creating the quality model. Provide an explanatory text
249      for your model.}      for your model.}
250          max 8 sidor          Assumptions: We are using an iterative development
251            process, we are using function points to measure progress,
252            we are using a good configuration management tool, we are
253            identifying risks before starting a project, we are, but
254            not always using uml for our projects.
255    
256            Since we are working on web-based applications we also
257            assumed that we are selling those to a customer. This made
258            us make a value based quality view. This made us decide
259            that usability, lernability, reusability, maintainability, reliability,
260            is the most important external attributes. The internal
261            attributes are not considered as important, other than to
262            help up the external. Customer satisfaction does supersede
263            this thou. The external attributes has the following
264            impact on customer satisfaction: \\
265            \begin{tabular}{|l|l|l|}
266                \hline
267                Attribute       & Importance    & Role \\ \hline
268                Usability       & High          &
269                    Decides if the customer fells that he may use\\
270                & & the product or not. The more usable the product\\
271                & &  becomes, the higher value it gets (and thereby\\
272                & &  higher quality).   \\ \hline
273    %hmmm, borde finnas nått bättre sätt...
274                Learnability    & High          &
275                    The quicker the end-user can learn to use the \\
276                & & program, the quicker he feels the value of the\\
277                & & program and does need it. This makes the \\
278                & & customer feels a gain from buying our product \\ \hline
279                Reusability     & Medium        &
280                    This is only important if using agreements like\\
281                & & ``avtal 90'' or similar that gives us the freedom\\
282                & & of the developed artifacts, and may use them in\\
283                & & projects to come. If the customer has no demands\\
284                & & on this, and will own the artifacts then it is \\
285                & & not taken into consideration.\\ \hline
286                Maintainability & Medium    &
287                    This is only important if we are using the \\
288                & to low &
289                    reusability from above. And only to support that\\
290                & & purpose. Otherwise this would not have been a \\
291                & & issue at all. \\ \hline
292                Reliability     & High      &
293                    This is important since a reliable program is \\
294                & & seen as having a higher value. \\ \hline
295            \end{tabular} \\ \\
296            Internal attributes are only important in order to gain
297            the external attributes.
298  \end{document}  \end{document}

Legend:
Removed from v.1.2  
changed lines
  Added in v.1.8

root@recompile.se
ViewVC Help
Powered by ViewVC 1.1.26