/[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.6 by jontas, Fri Dec 12 13:47:14 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          svar
# Line 116  Line 154 
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
# Line 143  Line 181 
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}

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

root@recompile.se
ViewVC Help
Powered by ViewVC 1.1.26