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

Diff of /02/assignment2.tex

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

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

Legend:
Removed from v.1.3  
changed lines
  Added in v.1.7

root@recompile.se
ViewVC Help
Powered by ViewVC 1.1.26