﻿<?xml version="1.0" encoding="utf-8" ?> 
<?xml-stylesheet type="text/xsl" href="../../webpages/courses.xsl" ?>
<!--
/////////////////////////////////////////////////////////////////////////////
//  CSE681codeL1.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>CSE681 Lecture #2</btitle>
  <theme src="../../webpages/CodeTheme.css" />

  <visible>
  <title>CSE681 - Software Modeling and Analysis</title>
  <subtitle>Lecture #2 - Software Architecture</subtitle>
  <revised>27 August 2010</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/CSE681CodeL1.xml</ifile>&#32;
    <ifile title="Lecture #02">../lectures/CSE681CodeL2.xml</ifile>&#32;
    <ifile title="Lecture #03">../Lectures/CSE681CodeL3.xml</ifile>&#32;
    <ifile title="Lecture #04">../Lectures/CSE681CodeL4.xml</ifile>&#32;
    <ifile title="Lecture #05">../Lectures/CSE681CodeL5.xml</ifile>&#32;
    <ifile title="Lecture #06">../Lectures/CSE681CodeL6.xml</ifile>&#32;
    <ifile title="Lecture #07">../Lectures/CSE681CodeL7.xml</ifile>&#32;<br/>
    <ifile title="Lecture #08">../Lectures/CSE681CodeL8.xml</ifile>&#32;
    <ifile title="Lecture #09">../Lectures/CSE681CodeL9.xml</ifile>&#32;
    <ifile title="Lecture #10">../Lectures/CSE681CodeL10.xml</ifile>&#32;
    <ifile title="Lecture #11">../Lectures/CSE681CodeL11.xml</ifile>&#32;
    <ifile title="Lecture #12">../Lectures/CSE681CodeL12.xml</ifile>&#32;
    <ifile title="Lecture #13">../Lectures/CSE681CodeL13.xml</ifile>&#32;
    <ifile title="Lecture #14">../Lectures/CSE681CodeL14.xml</ifile>&#32;<br/>
    <ifile title="Lecture #15">../Lectures/CSE681CodeL15.xml</ifile>&#32;
    <ifile title="Lecture #16">../Lectures/CSE681CodeL16.xml</ifile>&#32;
    <ifile title="Lecture #17">../Lectures/CSE681CodeL17.xml</ifile>&#32;
    <ifile title="Lecture #18">../Lectures/CSE681CodeL18.xml</ifile>&#32;
    <ifile title="Lecture #19">../Lectures/CSE681CodeL19.xml</ifile>&#32;
    <ifile title="Lecture #20">../Lectures/CSE681CodeL20.xml</ifile>&#32;
    <ifile title="Lecture #21">../Lectures/CSE681CodeL21.xml</ifile>&#32;<br/>
    <ifile title="Lecture #22">../Lectures/CSE681CodeL22.xml</ifile>&#32;
    <ifile title="Lecture #23">../Lectures/CSE681CodeL23.xml</ifile>&#32;
    <ifile title="Lecture #24">../Lectures/CSE681CodeL24.xml</ifile>&#32;
    <ifile title="Lecture #25">../Lectures/CSE681CodeL25.xml</ifile>&#32;
    <ifile title="Lecture #26">../Lectures/CSE681CodeL26.xml</ifile>&#32;
    <ifile title="Lecture #27">../Lectures/CSE681CodeL27.xml</ifile>&#32;
    <ifile title="Lecture #28">../Lectures/CSE681CodeL28.xml</ifile>&#32;
  </hilight>
  
  <hilight>
    <html>
      <a href="../../webpages/cse681.xml#Syllabus">Syllabus</a>
    </html>&#32;
    <ifile title="SG-SMA">StudyGuideSMA.xml</ifile>&#32; 
    <ifile title="SG-OCD">StudyGuideOCD.xml</ifile>&#32;
    <ifile title="SG-Notes">StudyGuideNotes.xml</ifile>
  </hilight>
  
  <section title="Web Resources:">
      <ilink title="UML">edn.embarcadero.com/article/31863</ilink>&#32;
      <ilink title="XML,&#160;HTML">www.w3schools.com</ilink>&#32;
      <ilink title="Code&#160;Project">www.codeproject.com/</ilink>&#32;
      <ilink title="Microsoft&#160;Developer's&#160;Network">www.msdn.microsoft.com</ilink>&#32;
      <ilink title="DevelopMentor">www.develop.com/devresources/default.aspx</ilink>&#32;
      <ilink title="XML">xml.com</ilink>&#32;
      <ilink title="Sells&#160;Brothers">sellsbrothers.com</ilink>&#32;
      <ilink title="Windows&#160;Developer's&#160;Journal">www.ddj.com/windows/?cid=vnav</ilink>&#32;
      <ilink title="WindowsClient.net">windowsclient.net//</ilink>&#32;
      <ilink title="DotNetJunkies">www.dotnetjunkies.com</ilink>&#32;
      <ilink title="dotnet quickstart tutorials">asp.dotnetheaven.com/</ilink>&#32;
      <ilink title="C#&#160;Corner">www.c-sharpcorner.com</ilink>&#32;
      <ilink title="Mono&#160;Project">www.go-mono.com</ilink>&#32;
      <ilink title="Performance&#160;Counters">msdn.microsoft.com/en-us/library/w8f5kw2e(VS.71).aspx</ilink>&#32;
  </section>
  
  <isection title="Office Hours:">
    <ifile title="Instructor &amp; TAs">../../webpages/officeHours.xml</ifile>
  </isection>
  
  <section title="Content:">
<!--  <html><a name="Contents" id="Syllabus"/></html> -->
  Last time we introduced the notions of Software Architecture,
  the Operational Concept Document, modules and discuss a standard notation to be used 
  throughout the course.  We continue with a discussion of the Operational Concept Document (OCD),
  used to document a system's architecture.
    <olist>
      <litem>
        <html>
          The <a href="../../webpages/CSE681.xml#Syllabus">Syllabus</a> describes topics to be covered,
          reading material for you to digest <u>before coming to class</u>, and due dates
          for the assigned projects.
        </html>
      </litem>
      <litem>
        There will be a <note>Visual Studio Help Session</note> this Friday starting at 6:30pm in CST 3-201.
      </litem>
      <litem>
        <file title="Software Architecture and the Operational Concept Document (OCD)">../presentations/SoftwareArchitecture.ppt</file>
      </litem>
      <litem>
        <file title="Project Center Use Cases">../presentations/ProjectCenterUseCases.ppt</file>
        This presentation was developed for a Software Studio project.  It gives you a good idea of the kind of analyses you need for an OCD.
      </litem>
      <litem>
        <ifile title="Problem with Dependencies">../presentations/SoftwareStructureResearchExcerpts.ppt</ifile>, 
        <ifile title="Components are Building Blocks">CSE681Note10.xml</ifile><br/>
        <html><div style="float:right; border:solid black"><img src="DependencyStructure.png" size="200" /></div></html>
        Motivation for a lot of what we do in this course - especially relevant for Project #2
      </litem>
      <llitem label="Help for Projects #1 and #2">
        <tblock>
          <ifile title="Project #1">../projects/pr1F10.doc</ifile><br/>
          Context &amp; Motivation ==> Uses and users<p/>
          <ifile title="Project #2">../projects/pr2F10.doc</ifile><br/>
          Obligations ==> Tasks ==> activities ==> Subsystems ==> packages<br/>
          Core Services ==> packages<p/>
          <ifile title="Parser Structure">../code/Parser/Parser.vsd</ifile>, 
          <ifile title="Parser Code">../code/Parser</ifile><br/>
          Organizing Principles:
          <ulist>
            <litem>Make two passes: (P1) identify types in all files, (P2) find type instances and references to find file dependencies</litem>
            <litem>Tokenize and Collect SemiExpressions</litem>
            <litem>Parse with Rules &amp; Actions</litem>
          </ulist> 
        </tblock>
      </llitem>
      <litem>
        <ifile title="Study Guide - OCD">StudyGuideOCD.xml</ifile>
      </litem>
      <litem>
        Example OCDs prepared by students in previous classes:
        <ulist>
          <litem>
            <ifile title="OCD Sample #1 - Pr1, F04">gacheng1.doc</ifile><br/> 
            <ifile title="OCD Sample #2 - Pr1, F04">vappadurPr1.doc</ifile><br/>
            <ifile title="OCD Sample #3 - Pr3, Su07">agore-Pr3.doc</ifile>
          </litem>
        </ulist>
      </litem>
      <litem>
        <file title="Operational Concept Document (OCD) Survival Guide">../presentations/ArchitectureConceptSurvivalGuide.doc</file>
      </litem>
      <litem>
        <ifile title="UML Notation">../presentations/notation.ppt</ifile>, 
        <ifile title="Example Diagrams">../presentations/SampleDiagrams.vsd</ifile><br/>
        The <u>U</u>niversal <u>M</u>odeling <u>L</u>anguage is used to describe software with means other than code.  You will use these 
        diagramming techniques in your OCDs.
      </litem>
      <litem>
        <ifile title="Packages">../presentations/modules.ppt</ifile>, 
        <ifile title="Package Structure">CSE681Note2.xml</ifile><br/>
        Packages are the building blocks for a complex architecture.
      </litem>
      <litem>
        <file title="C# versus C++">../presentations/CSharpVsCpp.ppt</file>
      </litem>
      <litem>
        C# Tutorials
        <olist>
          <litem>
            <link title="C# Station">www.csharp-station.com/Tutorial.aspx</link>
          </litem>
          <litem>
            <link title="CSharp Computing">csharpcomputing.com/Tutorials/TOC.htm</link>
          </litem>
          <litem>
            <link title="Univ of Linz">www.ssw.uni-linz.ac.at/Teaching/Lectures/CSharp/Tutorial</link>
          </litem>
          <litem>
            <link title="Jaggersoft">www.jaggersoft.com/csharp_course/index.html</link>
          </litem>
          <litem>
            <link title="C# Samples from Microsoft">msdn.microsoft.com/library/default.asp?url=/library/en-us/cssample/html/vcorictutorialsamples.asp</link>
          </litem>
        </olist>
      </litem>
      <p/><hr/>
    </olist>
  </section>  
  </visible>
</courses>
