﻿<?xml version="1.0" encoding="utf-8" ?> 
<?xml-stylesheet type="text/xsl" href="courses.xsl" ?>
<courses name="CSE687">

  <btitle>CSE784</btitle>
  <theme src="CoursesTheme.css" />
  
  <visible>
  <title>CSE784 - Software Engineering Studio</title>
  <revised>23 August 2009</revised>
  
  <hnav/>
  <cnav/>

  <html><img src="../CSE784/FinalProj2008_Vrts/pictures/Vrts1.jpg" width="100%" /></html>
  <br/><br/>
  <caption>VRTS Team - 2008<br/>(If someone has a better picture, send and I will post here)</caption>

  <html><a name="contents"/></html>
  <p/>

  <section title="Midterm">
    <ind>
      <ifile title="2008 Midterm Statement">../CSE784/midterm/midtermF08.doc</ifile>
    </ind>
  </section>
  <p/>
  <section title="Resources:">
    <ind>
    <ifile title="Lectures">../CSE784/Lectures/cse784codeL1.xml</ifile>&#32;
    <ifile title="Code">code.xml#CSE784</ifile>&#32;
    <ifile title="Final Project Fall 2007">../CSE784/FinalProj2007_CServ</ifile>&#32;
    <html><a href="#Syllabus">Syllabus</a></html>&#32;<br/>
    <ifile title="File Download ScreenShot">fileDownloads.doc</ifile>&#32;
    <ifile title="Project Upload Instructions">uploads.doc</ifile>&#32;
    </ind>
  </section>

  <section title="Recent Class Projects:">
    <ind>
      <ifile title="Virtual Repository Testbed Servers">Vrts.xml</ifile>,&#32;
      <ifile title="Collaboration Server 2007">CServ.xml</ifile>,&#32;
      <ifile title="Remote SW Assistant - 2006">RSA/rsa2006.html</ifile>,&#32;
      <ifile title="Repository Testbed - 2005">RepoTB.xml</ifile>,&#32;
      <ifile title="ProjectCenter - 2004">ProjectCenter.xml</ifile>,&#32;
      <ifile title="Cloner - 2003">Cloner.xml</ifile>,&#32;
      <ifile title="Software Foundry - 2002">Foundry.xml</ifile>&#32;
    </ind>
  </section>
  
  <section title="Course Scope:">
  The Studio course is divided into two parts.  In the first part we develop the tools to
  critically analyze a software product.  Analysis deals with the product's specification,
  architecture, design, implementation, test, and documentation.  One individual project
  is assigned for which students develop a Software Specification, Design Document, implement
  the design, and test before submission.
  A take-home examination is then completed in which each student explores in detail the
  successes and failings in their product.  This includes performing unit test and qualification
  tests, and preparing a detailed report.  
  <p/>
  The second half of the course consists of a case study.  The class is presented with a large
  distributed system to develop.  Students are given roles: Project Manager, Software Architect,
  Test Manager, Team Leader, and Team Member.  There are usually three or four development teams
  and a prototyping team.  The class then manages the development of this system, using a standard
  development process model, including formal reviews.  The instructor
  acts as the customer, but does not participate in managing the project except, perhaps, for occasional 
  advice.  The project has a development process schedule, with formal reviews, and a 
  final qualification test at the end of the semester.
  </section>
  
  <section title="Required Texts, Notes, and Projects:"/>
  <olist>
    <litem>
      The Mythical Man-Month, Anniversary Edition, Frederick Brooks, Addison-Wesely, 1995, 
      ISBN 0-201-83595-9
    </litem>
    <litem>
      Software Project Survival Guide, Steve McConnell, Microsoft Press, 1998, ISBN 1-57231-621-7
    </litem>
    <litem>
      <ilink title="www.ecs.syr.edu/faculty/fawcett/handouts/CSE784">www.ecs.syr.edu/faculty/fawcett/handouts/cse784</ilink>
    </litem>
    <litem>
      Two <ifile title="Projects">../CSE784/projects</ifile> are required.<p/>  
      <ulist>
        <litem>In the first, each student prepares a Software Specification, Design Document, and an implementation.
        </litem>
        <litem>
          This project is the target of a take home Midterm Examination that explores quality of documents and code in detail and requires Unit and Qualification testing.  
        </litem>
        <litem>
          The second project is a large distributed system that is specified, designed, and implemented by the class as a team.  The class
          manages the project as well, with a management structure and formal reviews.
        </litem>
      </ulist>
    </litem>
  </olist>
 
  <section title="Prerequisites:"/>
  <block>
  <ifile title="CSE687 - Object Oriented Design">cse687.xml</ifile> or
  <ifile title="CSE681 - Software Modeling and Analysis">cse681.xml</ifile>
  </block>
  
  <section title="Syllabus - Fall 2008:"/>
  <html><a name="Syllabus"/></html>
  <syllabus>
    <syllHeading>
      <sd>Lecture</sd>
      <hd>Topics</hd>
      <hd>Read before class</hd>
      <hd>Project</hd>
    </syllHeading>
    <lecture>
      <ld>
        <ifile title="Lecture #1">../CSE784/Lectures/CSE784codeL1.xml</ifile>
        <br/>Mon, Aug 25
      </ld>
      <ld>Course requirements, class procedures, software product model, development process, requirements specifications,
      <ilink title="Handouts">www.ecs.syr.edu/faculty/fawcett/handouts/cse681</ilink></ld>
      <ld>Notes 1, 2</ld>
      <cd><file title="hand out Pr1 A Spec.">../CSE784/projects/Pr1F08.doc</file></cd>
    </lecture>
    <emlecture>
      <ld>Mon, Sep 01</ld>
      <ld>Labor Day - no classes</ld>
      <ld>SPSG skim 1-5<br/>MMM 1, 2</ld>
      <cd><file title="Pr1">../CSE784/projects/Pr1F08.doc</file></cd>
    </emlecture>    
    <lecture>
      <ld>        
        <ifile title="Lecture #2">../CSE784/Lectures/CSE784codeL2.xml</ifile>
        <br/>Mon, Sep 8
      </ld>
      <ld>Software architecture, modules, requirements analysis, help with Pr1 B Spec.</ld>
      <ld>Notes 2, 3<br/>SPSG 6-8<br/>MMM 7, 16, 17</ld><cd><file title="Pr1">../CSE784/projects/Pr1F08.doc</file></cd>
    </lecture>
    <lecture>
      <ld>
        <ifile title="Lecture #3">../CSE784/Lectures/CSE784codeL3.xml</ifile>
      <br/>Mon, Sep 15</ld>
      <ld>Design Documentation, attributes of a good software design, implementation, and test</ld>
      <ld>Notes 4, 5<br/>SPSG 9, 12-16<br/>MMM 11, 13, 19</ld>
      <ed><file title="Pr1">../CSE784/projects/Pr1F08.doc</file> B Spec Due</ed>
    </lecture>
    <lecture>
      <ld>
        <ifile title="Lecture #4">../CSE784/Lectures/CSE784codeL4.xml</ifile>
      <br/>Mon, Sep 22</ld>
      <ld>Software development process models: waterfall, spiral, evolutionary programming, extreme programming<br/>
          Software configuration management</ld>
      <ld>Notes 6<br/>SPSG 3<br/>MMM 3, 4, 14, 16</ld>
      <ed><file title="Pr1">../CSE784/projects/Pr1F08.doc</file> code due</ed>
    </lecture>
<!--
    <lecture>
      <ld>
        <ifile title="Lecture #5">../CSE784/Lectures/CSE784codeL5.xml</ifile>
      <br/>Mon, Oct 02</ld>
      <ld>Software configuration management, project life-cycle<br/>Handout and Discuss Final Project A Specification</ld>
      <ld>Notes 6<br/>hand out MidTerm</ld>
      <ed><file title="Pr1">../CSE784/projects/Pr1F08.doc</file></ed>
    </lecture>
-->
    <lecture>
      <ld>
        <ifile title="Lecture #5">../CSE784/Lectures/CSE784codeL5.xml</ifile>
      <br/>Mon, Sep 29</ld>
      <ed>Program and Architectural Review</ed>
      <ld>Review Project A Spec.</ld>
      <cd>Lead by Project Manager and Software Architect</cd>
    </lecture>
    <lecture>
      <ld>
        <ifile title="Lecture #6">../CSE784/Lectures/CSE784codeL6.xml</ifile>
      <br/>Mon, Oct 06</ld>
      <ed>Team Status Reports</ed>
      <ld>Review Final Project A Spec</ld>
      <ed><file title="Pr1">../CSE784/projects/Pr1F08.doc</file> CSpec Due</ed>
    </lecture>
    <lecture>
      <ld>
        <ifile title="Lecture #7">../CSE784/Lectures/CSE784codeL7.xml</ifile>
      <br/>Mon, Oct 13</ld>
      <ed>B Specification Review</ed>
      <ld>Final Project Arch Concept Doc</ld>
      <cd>Lead by Software Architect and Team Leaders</cd>
    </lecture>
    <lecture>
      <ld>
        <ifile title="Lecture&#32;#8">../CSE784/Lectures/CSE784codeL8.xml</ifile>
      <br/>Mon, Oct 20</ld>
      <ed>Prototype Review</ed>
      <ld>Prototype code</ld>
      <cd>Lead by Team Leaders<br/>Team Members present</cd>
    </lecture>
    <lecture>
      <ld>
        <ifile title="Lecture&#32;#9">../CSE784/Lectures/CSE784codeL9.xml</ifile>
      <br/>Mon, Oct 27</ld>
      <ed>Design Review</ed>
      <ld>Preliminary C Specs</ld>
      <cd>Lead by Team Leaders<br/>Team Members present</cd>
    </lecture>
    <lecture>
      <ld>
        <ifile title="Lecture&#32;#10">../CSE784/Lectures/CSE784codeL10.xml</ifile>
      <br/>Mon, Nov 03</ld>
      <cd>Design and Implementation team meetings</cd>
      <cd>&#32;</cd>
      <cd>Midterm</cd>
    </lecture>
    <lecture>
      <ld>
        <ifile title="Lecture&#32;#11">../CSE784/Lectures/CSE784codeL11.xml</ifile>
      <br/>Mon, Nov 10</ld>
      <cd>Preparations for Test Readiness Review</cd>
      <ld>Deliver Final B Specs</ld>
      <cd>Lead by Test Team Mgr</cd>
    </lecture>
    <lecture>
      <ld>
        <ifile title="Lecture&#32;#12">../CSE784/Lectures/CSE784codeL12.xml</ifile>
      <br/>Mon, Nov 17</ld>
      <ed>Test Readiness Review</ed>
      <ld>Deliver C Specs</ld>
      <cd>Lead by Test team leader</cd>
    </lecture>
    <lecture>
      <ld>
        <ifile title="Lecture&#32;#13">../CSE784/Lectures/CSE784codeL13.xml</ifile>
      <br/>Mon, Nov 24</ld>
      <cd>Final directions, review test procedures<br/>team meetings</cd>
      <cd>&#32;</cd>
      <cd>Lead by Project Mgr</cd>
    </lecture>
    <lecture>
      <ld>
        <ifile title="Lecture&#32;#14">../CSE784/Lectures/CSE784codeL14.xml</ifile>
      <br/>Fri, Dec 05</ld>
      <ed>Class Project Qualification Test</ed>
      <cd>&#32;</cd>
      <cd>Lead by Project Manager, Test Team Manager</cd>
    </lecture>
    <emlecture>
      <ld>Mon, Dec 8</ld>
      <cd>Product Handover - no class</cd>
      <cd>Deliver Code, CD with Qual Directories</cd>
      <ed>Midterm due</ed>
    </emlecture>
  </syllabus>
  <p/>
  <hr/>
  <html><img src="../CSE784/FinalProj2007_CServ/pictures/CServTeam.jpg" width="100%" /></html>
  <caption>Collaboration Server Team - 2007</caption>
  <html><img src="students/CSE784F06-RSA/RSATeam.jpg" width="100%" /></html>
  <caption>Remote Software Assistant Team - 2006</caption>
  <html><img src="..\CSE784\FinalProj2005_RepoTB\pictures\RepoTBTeam.jpg" width="100%" /></html>
  <caption>Repository Testbed Team - 2005</caption>
  <html><img src="students\ProjectCenterQualTest.jpg" width="100%" /></html>
  <caption>Project Center Team - 2004</caption>
  <html><img src="students\studentstrip3.jpg" width="100%" /></html>
  <caption>Cloner Team - 2003</caption>
  <html><img src="students\Foundry6a.jpg" width="100%" /></html>
  <caption>Software Foundry Team - 2002</caption>

  </visible>
</courses>
