﻿<?xml version="1.0" encoding="utf-8"?>
<?xml-stylesheet type="text/xsl" href="design.xslt"?>
<design manifest="DesignDocEditDesign.1.xml" version="1.0">
  <def>Supports Addition and Editing of Design Documents</def>
  <text>Design module allows addition of a new design document or editing
		  a existing design document.It accepts the directory and filename to
		  edit and display the document to the user for editing.This module consist
		  of three main modules 1.design 2.Xml 3.XmlNode</text>
  <architecture>
    <def>
    </def>
    <text>
    </text>
    <context>
      <diagram />
      <def>
      </def>
      <text>
      </text>
    </context>
    <activities>
      <diagram>
        <ref>Design_Activity.gif</ref>
      </diagram>
      <def>Activity Diagram for Design Module</def>
      <text>Activity diagram for the design editing process is simple and 
				  straight forward.It takes in the filename and directory as input.
				  If create new design document is requested then it gets the input 
				  from user and creates the file.If editing a file is requested then
				  file is read and displayed for the user to edit.Once data is changed
				  it is written back to the file.</text>
    </activities>
    <structure>
      <diagram>
        <ref>Design_Structure.gif</ref>
      </diagram>
      <def>Structure Charts for the design module</def>
      <text>There are thre structure charts for this module.Design_Structure.vsd
				  explains the design display process, XMLDesign_Structure.vsd explains the 
				  XML parsing of the given design documents and XMLDesignNode_structure is
				  used to change any particular node in the document.</text>
    </structure>
    <classes>
      <diagram>
        <ref>Class Diagram-Design.gif</ref>
        <ref>designXml.cs</ref>
        <ref>data.cs</ref>
      </diagram>
      <def>Class Diagram for the Design documents Editing module</def>
      <text>Design module consist of four classes.1.design 2.Xml 3.XmlNode 4.data
				design class is the main display class and it creates the user display
				for the user to add or edit a design document.Xml class is the XML parser
				used to parse the entire design document.It is used to read the XML file
				and also to write to the file.XmlNode class is also a parser but is used
				to extract any particular node in the document and to write a particular node
				in the document.data class is the data structure for this module and it is
				used to store the data.</text>
      <class ref="designXml.cs">
        <def>XmlDesign.cs</def>
        <text>Xml class is the XML parser used to parse the entire design 
					document.It is used to read the XML file and also to write to the file.</text>
      </class>
      <class ref="data.cs">
        <def>data.cs</def>
        <text>data class is the data structure for this module and it is used to 
					store the data.</text>
      </class>
    </classes>
  </architecture>
  <modules>
    <diagram>
      <ref>Module_Design.gif</ref>
      <ref>Design_Structure.gif</ref>
      <ref>Design_Activity.gif</ref>
    </diagram>
    <def>Module Diagram for design module</def>
    <text>Design modules consist of two main modules 1.Xml 2.XmlNode
			Xml module is used for parsing the manifest given as the input.It reads the architecture,module,issues,
			appendices nodes and store them in a data structure and sends back to the design module for display.
			XmlNode module is used to read any particular node data.If the user wants to edit a particular diagram
			name then that node data is extracted and given back to the behavior module for editing.</text>
    <module ref="Design_Structure.gif">
      <def>Xml</def>
      <text>Xml module is used for parsing the manifest given as the input.It reads the input,output,requirement
				nodes and store them in a data structure and sends back to the design module for display.This also
				writes all the changes back to the file after editing or creates a new file if the user requested a 
				new one.</text>
    </module>
    <module ref="Design_Activity.gif">
      <def>XmlNode</def>
      <text>XmlNode module is used to read any particular node data.If the user wants to edit a particular diagram
				name then that node data is extracted and given back to the design module for editing.</text>
    </module>
  </modules>
  <CriticalIssues>
    <Issue1>
      <def>Could not understand parts of the cspec template - Traversing the references to each class</def>
    </Issue1>
  </CriticalIssues>
</design>