--- 02/assignment2.tex	2003/12/11 18:49:54	1.4
+++ 02/assignment2.tex	2003/12/12 16:00:22	1.8
@@ -112,51 +112,86 @@
     commonly occurred temperature (the temperature that occurs twice
     or more) for a given month. Present program paths that has to be
     executed in order to satisfy the following testing strategies:}
+        See appendix a for the diagram.
         \subsubsection{Statement coverage}
-            svar
+            a-b-c-d-e-f-g-h-i-j-k-l-m-n
         \subsubsection{Branch coverage}
-            svar
+            a-b-c-d-e-f-g-h-i-j-k-l-m-n \\
+            a-b-c-b-c-d-e-g-i-j-k-m-n \\
+            a-b-c-d-e-f-g-h-i-j-k-l-m-k-m-n \\
         \subsubsection{Visit each loop}
-            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
+            a-b-c-b-c-d-e-f-g-e-f-g-h-i-g-h-i-j-k-l-m-k-m-n
     \subsection{Calculate the cyclomatic complexity of your program. What does
     this figure tell you?}
-        svar
+        %Cyclomatic complexity (CC) = E - N + p
+        %where E = the number of edges of the graph
+        %N = the number of nodes of the graph
+        %p = the number of connected components
+        %http://www.sei.cmu.edu/str/descriptions/cyclomatic.html
+        Hopefully you mean McCabe's cyclomatic complexity\\
+        % e = no of arcs | n = no of nodes
+        e-n+2 | 18 - 14 + 2 = 18 - 16 = 2 \\ %men vad säger nu detta
+        This tells us the number of tests we have to do to cover
+        each path in the program. It could also be used to give a
+        estimation of how complex the final software will be. If
+        higher then 20 it should be seen as a high risk project,
+        and if higher then 50 as a very high risk project.  %nuffrorna kommer från http://www.sei.cmu.edu/str/descriptions/cyclomatic.html
   \section{OO metrics}
   \textbf{Measuring the use cases}
+    %vi skall använda templaten, och bifoga denna...
     \subsection{Measure the use case specifications shown in Design 1 using the
     chosen use case metrics suite from the lecture}
-        svar
+        See appendix b.
     \subsection{Measure the use case specifications shown in Design 2 using the
     chosen use case metrics suite from the lecture}
-        svar
+        See appendix c.
     \subsection{Write a short section (up to ½ page) with answers to the following
     questions:}
-        \subsubsection{Which of the two systems presented can be expected to be
-             more complex and why?}
-                svar
-        \subsubsection{Which of the two systems can be expected to require more
-            effort to be built? Why?}
-                svar
-  \textbf{Measuring designs}
+        \begin{itemize}
+            \item Which of the two systems presented can be expected to be
+            more complex and why?
+            \item Which of the two systems can be expected to require more
+            effort to be built? Why?
+        \end{itemize}
+            We expect design 2 to become more complex, both since
+            it has more use cases, but also since it has higher
+            values (in general) on the metrics suit.
+
+            We expect design 2 to require more effort to build
+            since it has more use cases and more actions (more
+            functionality). Also since we feel that design 2 has a
+            higher complexity. Also most of the values that we can
+            get out from our metrics suit are greater, both in
+            total and if we count them per use case.
+
+            We feel that it is hard to make good (accurate)
+            estimations based on this suit only and we also feel
+            that while good estimations on use case level can be
+            made using this suit, it is not a good thing to try to
+            make estimations of the system as a whole only based
+            on this information. 
+  \\ \\ \textbf{Measuring designs}
   \subsection{Measure the class diagram presented in Design 1 using the CK metrics suite presented on the
     lecture.}
-          svar
+          See appendix b.
     \subsection{Measure the class diagram presented in Design 2 using
     the CK metrics suite presented on the lecture.}
-          svar
+          See appendix c.
     \subsection{Measure the code in the files .java from Design 1 with the CK metrics suite
     presented on the lecture.}
-          svar
+          See appendix b.
     \subsection{ Measure the code in the files .java
     from Design 2 with the CK metrics suite presented on the lecture.}
-          svar
+          See appendix c.
     \subsection{Write a short section (up to ½ page) with answers to the following
     questions:}
-        \subsubsection{Which of the metrics could not be computed based on the class
-        diagrams? Why?}
-            svar
-        \subsubsection{Which of the two systems is more complex? Why?}
-            svar
+        \begin{itemize}
+            \item Which of the metrics could not be computed based on the class
+            diagrams? Why?
+            \item Which of the two systems is more complex? Why?
+        \end{itemize}
+        Svar
         \subsubsection{Which method of gathering metrics - from UML designs or source
         code - is less time consuming?}
             svar
@@ -164,14 +199,100 @@
     \subsection{Describe how the external product attributes differ from the
     internal ones. Describe the connection between external and
     internal product attributes.}
-          svar
-    \subsection{Assume that you are
-    working at the company that mainly specializes on developing of
-    web-based applications. Your manager gives you an assignment to
-    develop a software quality model for the company. The model should
-    show external quality attributes, corresponding internal
-    attributes and metrics. Present the assumptions that you will use
-    while creating of the quality model. Provide an explanatory text
+          The internal attributes can be measured from within the
+          system (like loc etc) while for the external attributes
+          one must look at the finished product to se the external
+          attributes. Also in general internal attributes are
+          considered easier to measure (and then predict) then the
+          external attributes.
+
+          This is partly since the internal attributes can be
+          measured more ``directly'' then the external. For
+          instance loc is easy to count while usability is a lot
+          harder to measure. For the internal attributes one can
+          expect to be able to get absolute values while on the
+          external attributes one can expect them to be less
+          accurate.
+
+          However several of the internal attributes (if not all)
+          does affect the external attributes in a way that can
+          (in most cases) be predicted. One can for instance say
+          that in a specific solution if the loc is increased
+          (both with comments) then one could expect to get a
+          higher maintainability. Also most of the external
+          attributes can be affected via the internal if the
+          developers keep the external attributes in mind.
+
+          In most cases (if not always) the customer of the product
+          is more interested in the external attributes. Does this
+          mean that the external attributes are of ``greater''
+          value to the team developing the product?
+
+          Not always but in many cases. Also one should keep in
+          mind that just because the external attributes are more
+          important that the internal could be forgotten.
+    %\subsection{Assume that you are working at the company that
+    %mainly specializes on developing of web-based applications.
+    %Your manager gives you an assignment to develop a software
+    %quality model for the company. The model should show external
+    %quality attributes, corresponding internal attributes and
+    %metrics. Present the assumptions that you will use while
+    %creating of the quality model. Provide an explanatory text
+    %for your model.} %Jag tyckte inte om att läsa den texten;)
+    \subsection{Assume that you are working at a company that
+    mainly specializes in development of web-based applications.
+    Your manager gives you an assignment to develop a software
+    quality model for the company. The model should show external
+    quality attributes, corresponding internal attributes and
+    metrics. Present the assumptions that you will use while
+    creating the quality model. Provide an explanatory text
     for your model.}
-        max 8 sidor
+        Assumptions: We are using an iterative development
+        process, we are using function points to measure progress,
+        we are using a good configuration management tool, we are
+        identifying risks before starting a project, we are, but
+        not always using uml for our projects.
+
+        Since we are working on web-based applications we also
+        assumed that we are selling those to a customer. This made
+        us make a value based quality view. This made us decide
+        that usability, lernability, reusability, maintainability, reliability,
+        is the most important external attributes. The internal
+        attributes are not considered as important, other than to
+        help up the external. Customer satisfaction does supersede
+        this thou. The external attributes has the following
+        impact on customer satisfaction: \\
+        \begin{tabular}{|l|l|l|}
+            \hline
+            Attribute       & Importance    & Role \\ \hline
+            Usability       & High          &
+                Decides if the customer fells that he may use\\
+            & & the product or not. The more usable the product\\
+            & &  becomes, the higher value it gets (and thereby\\
+            & &  higher quality).   \\ \hline
+%hmmm, borde finnas nått bättre sätt...
+            Learnability    & High          &
+                The quicker the end-user can learn to use the \\
+            & & program, the quicker he feels the value of the\\
+            & & program and does need it. This makes the \\
+            & & customer feels a gain from buying our product \\ \hline
+            Reusability     & Medium        &
+                This is only important if using agreements like\\
+            & & ``avtal 90'' or similar that gives us the freedom\\
+            & & of the developed artifacts, and may use them in\\
+            & & projects to come. If the customer has no demands\\
+            & & on this, and will own the artifacts then it is \\
+            & & not taken into consideration.\\ \hline
+            Maintainability & Medium    &
+                This is only important if we are using the \\
+            & to low &
+                reusability from above. And only to support that\\
+            & & purpose. Otherwise this would not have been a \\
+            & & issue at all. \\ \hline
+            Reliability     & High      &
+                This is important since a reliable program is \\
+            & & seen as having a higher value. \\ \hline
+        \end{tabular} \\ \\
+        Internal attributes are only important in order to gain
+        the external attributes.
 \end{document}
