﻿<?xml version="1.0" encoding="utf-8" ?> 
<?xml-stylesheet type="text/xsl" href="../../webpages/courses.xsl" ?>
<!--
/////////////////////////////////////////////////////////////////////////////
//  CSE687codeL1.xml - provides links Lecture #1 materials                 //
//                     on the ECS college server                           //
//                                                                         //
//  Jim Fawcett, CST 2-187, Syracuse University, jfawcett@twcny.rr.com     //
/////////////////////////////////////////////////////////////////////////////
-->

<courses name="Fawcett">

  <btitle>Design Study Guide</btitle>
  <theme src="../../webpages/CodeTheme.css" />

  <visible>
  <title>Design Study Guide</title>
  <revised>31 January 2007</revised>
  
  <hilight>
    <ifile title="Home">../../webpages/FawcettHome.xml</ifile>&#32;
    <ifile title="Courses">../../webpages/Courses.xml</ifile>&#32;
    <ifile title="Code">../../webpages/Code.xml</ifile>&#32;
    <ilink title="Handouts">www.ecs.syr.edu/faculty/fawcett/handouts</ilink>&#32;
    <ifile title="CoreTech">../../webpages/CoreTechnologies.xml</ifile>&#32;
    <ifile title="Books">../../webpages/Books.xml</ifile>&#32;
    <ifile title="Articles">../../webpages/Articles.xml</ifile>&#32;
    <ifile title="Math">../../webpages/Mathematics.xml</ifile>&#32;
    <ifile title="Research">../../webpages/research.xml</ifile>&#32;
    <ifile title="Masters Projects">../../webpages/MastersProjects.xml</ifile>&#32;
    <ifile title="SWDev">../../webpages/swdev.xml</ifile>&#32;
    <ifile title="WebDev">../../webpages/webdev.xml</ifile>&#32;
    <ifile title="News">../../webpages/news.xml</ifile>&#32;
    <ifile title="OtherLinks">../../webpages/OtherLinks.xml</ifile>&#32;
    <ifile title="SiteDesign">../../webpages/SiteDesign.xml</ifile>&#32;
    <ifile title="Graduates">../../webpages/graduates.xml</ifile>&#32;
    <ifile title="AllPages">../../webpages/AllPages.xml</ifile>&#32;
    <ifile title="Office Hours">../../webpages/OfficeHours.xml</ifile>&#32;
    <notice title="Notices">../../webpages/notices.xml</notice>&#32;
    <html><a href="#contents">Contents</a></html>&#32;
  </hilight>

  <!-- <include src="CoursesNavBar.xml"/> -->

  <hilight>
    <ifile title="CSE681-SWMAA">../../webpages/CSE681.xml</ifile>&#32;
    <ifile title="CSE686-IP">../../webpages/CSE686.xml</ifile>&#32;
    <ifile title="CSE687-OOD">../../webpages/CSE687.xml</ifile>&#32;
    <ifile title="CSE775-DO">../../webpages/CSE775.xml</ifile>&#32;
    <ifile title="CSE776-DP">../../webpages/CSE776.xml</ifile>&#32;
    <ifile title="CSE778-AWP">../../webpages/CSE778.xml</ifile>&#32;
    <ifile title="CSE784-SWS">../../webpages/CSE784.xml</ifile>
  </hilight>

  
  <hilight>
    <ifile title="Lecture #01">../Lectures/CSE687CodeL1.xml</ifile>&#32;
    <ifile title="Lecture #02">../lectures/CSE687CodeL2.xml</ifile>&#32;
    <ifile title="Lecture #03">../Lectures/CSE687CodeL3.xml</ifile>&#32;
    <ifile title="Lecture #04">../Lectures/CSE687CodeL4.xml</ifile>&#32;
    <ifile title="Lecture #05">../Lectures/CSE687CodeL5.xml</ifile>&#32;
    <ifile title="Lecture #06">../Lectures/CSE687CodeL6.xml</ifile>&#32;
    <ifile title="Lecture #07">../Lectures/CSE687CodeL7.xml</ifile>&#32;<br/>
    <ifile title="Lecture #08">../Lectures/CSE687CodeL8.xml</ifile>&#32;
    <ifile title="Lecture #09">../Lectures/CSE687CodeL9.xml</ifile>&#32;
    <ifile title="Lecture #10">../Lectures/CSE687CodeL10.xml</ifile>&#32;
    <ifile title="Lecture #11">../Lectures/CSE687CodeL11.xml</ifile>&#32;
    <ifile title="Lecture #12">../Lectures/CSE687CodeL12.xml</ifile>&#32;
    <ifile title="Lecture #13">../Lectures/CSE687CodeL13.xml</ifile>&#32;
    <ifile title="Lecture #14">../Lectures/CSE687CodeL14.xml</ifile>&#32;<br/>
    <ifile title="Lecture #15">../Lectures/CSE687CodeL15.xml</ifile>&#32;
    <ifile title="Lecture #16">../Lectures/CSE687CodeL16.xml</ifile>&#32;
    <ifile title="Lecture #17">../Lectures/CSE687CodeL17.xml</ifile>&#32;
    <ifile title="Lecture #18">../Lectures/CSE687CodeL18.xml</ifile>&#32;
    <ifile title="Lecture #19">../Lectures/CSE687CodeL19.xml</ifile>&#32;
    <ifile title="Lecture #20">../Lectures/CSE687CodeL20.xml</ifile>&#32;
    <ifile title="Lecture #21">../Lectures/CSE687CodeL21.xml</ifile>&#32;<br/>
    <ifile title="Lecture #22">../Lectures/CSE687CodeL22.xml</ifile>&#32;
    <ifile title="Lecture #23">../Lectures/CSE687CodeL23.xml</ifile>&#32;
    <ifile title="Lecture #24">../Lectures/CSE687CodeL24.xml</ifile>&#32;
    <ifile title="Lecture #25">../Lectures/CSE687CodeL25.xml</ifile>&#32;
    <ifile title="Lecture #26">../Lectures/CSE687CodeL26.xml</ifile>&#32;
    <ifile title="Lecture #27">../Lectures/CSE687CodeL27.xml</ifile>&#32;
    <ifile title="Lecture #28">../Lectures/CSE687CodeL28.xml</ifile>&#32;
  </hilight>

  <hilight>
    <html><a href="#Content">Content</a></html>&#32;
    <html>
      <a href="../../webpages/cse687.xml#Syllabus">Syllabus</a>
    </html>&#32;
    <ifile title="SG - Design">StudyGuideDesign.xml</ifile>&#32;
    <ifile title="SG - Templates">StudyGuideTemplates.xml</ifile>&#32;
    <ifile title="SG - Class Relationships">StudyGuideClassRelationships.xml</ifile>&#32;
  </hilight>

  <section title="Content:">
  <html><a name="Content" id="Syllabus"/></html>
  This Design Study Guide pulls together, in one place, the resources we use in CSE687 - Object Oriented Design
  to discuss design issues.
  </section>

  <section title="Fundamental Design Principles">
    <olist>
      <litem>
        <file title="KISS Principle">cse687dnL0.xml</file>
      </litem>
      <litem>
        <file title="Single Responsibility Principle">cse687dnL1.xml</file>
      </litem>
      <litem>
        <file title="Prime Directives: no surprises, maximize cohesion, minimize coupling">cse687dnL2.xml</file>
      </litem>
      <litem>
        <file title="Encapsulation">cse687dnL3.xml</file>
      </litem>
    </olist>
  </section>  

  <section title="Design Presentatons and Code">
    <olist>
      <litem>
        <file title="Abstract Data Types">../presentations/Abstype.ppt</file>
      </litem>
      <litem>
        <file title="Abstract Data Type Example: Str class">../code/str</file>
      </litem>
      <litem>
        <file title="Hiding and Other Evils">../code/hiding/Evils.doc</file>
      </litem>
      <litem>
        <file title="Software Design">../presentations/SoftwareDesign.ppt</file>
      </litem>
      <litem>
        <file title="Design Notes">../presentations/Design.ppt</file>
      </litem>
      <litem>
        <file title="Design Principles">../presentations/Principles.ppt</file>
      </litem>
      <litem>
        <file title="Design Guidelines">../presentations/DesignRules.ppt</file>
      </litem>
      <litem>
        <file title="Design Strategies">../presentations/DesignStrategies.ppt</file>
      </litem>
      <litem>
        <file title="Modules">../presentations/modules.ppt</file>
        A module is a physical package of code in files.  In this course, by module, we mean
        those source code files that constitute a compilable entity.  The result of compilation
        may be an execution image (exe), a dynamic link library (dll), or an object file (obj).
        <br/>
        A simple module example is provided in the code directory: 
        <ifile title="str program">../code/str</ifile>.
      </litem>
      <litem>
        <file title="Notation">../presentations/notation.ppt</file>
        When discussing object oriented designs, we will often use a subset of the Universal
        Modeling Language (UML), described briefly in these notes.  You also may wish to 
        consult <ilink title="UML Tutorial">bdn.borland.com/article/0,1410,31863,00.html</ilink>&#32;
      </litem>
    </olist>
  </section>  

  </visible>
</courses>
