<?xml version='1.0'?>
<?xml-stylesheet type="text/xsl" href="SIG.xsl"?>

<!DOCTYPE SIG SYSTEM 'SIG.dtd'>

<SIG>
   <NFRSOFTGOALS>

   <NFRSOFTGOAL id="Maintainability">
     <TYPE>High Maintainability</TYPE>
     <PRIORITY>Very Critical</PRIORITY>
     <DESCRIPTION>Maintainability is the characteristics of the 
software, its history, and 
associated environments that affect the maintenance process and are
indicative of the amount of effort necessary to perform maintenance changes.
It can be measured as a
quantification of the time necessary to make maintenance 
changes to the product.[IEEE90-610.12, Hagemeister92]</DESCRIPTION>
     <DECOMPOSITION>
         <ARC>AND</ARC>
         <RATIONALE>Both softgoals of high source code
         and documentation quality must be satisficed for a system to
         have high maintainability. A software system with
         clear source code but bad documentation will 
         be hard to maintain, since maintainers will need to 
         study requirements and design documents in order to 
         understand how the system works. A software system with
         clear documentation but badly-written code will also
         be hard to maintain, since maintainers will need
         to understand how the source code works in order to
         make changes to it.
         Thus, software developers must try to satisfice
         both softgoals in a system.
         </RATIONALE>
         <INTERDEPENDENCY>
            <TO href="source.xml">
              <NAME>High Souce Code Quality</NAME>
            </TO>
            <CLAIMSOFTGOAL>
               <RATIONALE>
                 Check [Hagemeister92].
               </RATIONALE>
            </CLAIMSOFTGOAL>
         </INTERDEPENDENCY>
         <INTERDEPENDENCY>
            <TO href="doc.xml">
              <NAME>High Documentation Quality</NAME>
            </TO>
            <CLAIMSOFTGOAL>
               <RATIONALE>
                 Check [Arthur89].
               </RATIONALE>
            </CLAIMSOFTGOAL>
         </INTERDEPENDENCY>
     </DECOMPOSITION>
   </NFRSOFTGOAL>

   <NFRSOFTGOAL id="Performance">
     <TYPE>Good Performance</TYPE>
     <PRIORITY>Very Critical</PRIORITY>
     <DESCRIPTION> </DESCRIPTION>
     <DECOMPOSITION>
         <ARC>AND</ARC>
         <RATIONALE>Both softgoals of good time and space
         performance must be satisficed for a system to
         achieve good performance. It is inconceivable for
         a system which is fast but makes bad memory-utilization
         to be characterized by good performance. It is also 
         inconceivable for a system which makes good memory-utilization
         but is slow to be characterized by good performance. 
         Thus, software developers must try to satisfice
         both softgoals in a system. If there is a tradeoff involved
         between achieving both of them then that tradeoff must 
         be balanced.
         </RATIONALE>
         <INTERDEPENDENCY>
            <TO href="time.xml">
              <NAME>Good Time Performance</NAME>
            </TO>
            <CLAIMSOFTGOAL>
               <RATIONALE>
                 Check [Patterson].
               </RATIONALE>
            </CLAIMSOFTGOAL>
         </INTERDEPENDENCY>
         <INTERDEPENDENCY>
            <TO href="space.xml">
              <NAME>Good Space Performance</NAME>
            </TO>
            <CLAIMSOFTGOAL>
               <RATIONALE>
                 Check [Patterson].
               </RATIONALE>
            </CLAIMSOFTGOAL>
         </INTERDEPENDENCY>
     </DECOMPOSITION>
   </NFRSOFTGOAL>

   </NFRSOFTGOALS>
</SIG>
