Lectures

CSE784 - Software Engineering Studio

Industrial Style Class Project

Collaboration Server Team - 2007

I no longer teach this course.

Midterm

2008 Midterm Statement

Resources:

Lectures Code Final Project Fall 2007 Syllabus
File Download ScreenShot Project Upload Instructions

Recent Class Projects:

Virtual Repository Testbed Servers 2008, Collaboration Server 2007, Remote SW Assistant - 2006, Repository Testbed - 2005, ProjectCenter - 2004, Cloner - 2003, Software Foundry - 2002

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.

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.

Required Texts, Notes, and Projects:

  1. The Mythical Man-Month, Anniversary Edition, Frederick Brooks, Addison-Wesely, 1995, ISBN 0-201-83595-9
  2. Software Project Survival Guide, Steve McConnell, Microsoft Press, 1998, ISBN 1-57231-621-7
  3. www.ecs.syr.edu/faculty/fawcett/handouts/CSE784
  4. Two Projects are required.

    • In the first, each student prepares a Software Specification, Design Document, and an implementation.
    • 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.
    • 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.

Prerequisites:

CSE687 - Object Oriented Design or CSE681 - Software Modeling and Analysis

Syllabus - Fall 2008:

Syllabus: CSE784 - Software Studio
Lecture Topics Read before class Project
Lecture #1
Mon, Aug 25
Course requirements, class procedures, software product model, development process, requirements specifications, Handouts Notes 1, 2 hand out Pr1 A Spec.
Mon, Sep 01 Labor Day - no classes SPSG skim 1-5
MMM 1, 2
Pr1
Lecture #2
Mon, Sep 8
Software architecture, modules, requirements analysis, help with Pr1 B Spec. Notes 2, 3
SPSG 6-8
MMM 7, 16, 17
Pr1
Lecture #3
Mon, Sep 15
Design Documentation, attributes of a good software design, implementation, and test Notes 4, 5
SPSG 9, 12-16
MMM 11, 13, 19
Pr1
B Spec Due
Lecture #4
Mon, Sep 22
Software development process models: waterfall, spiral, evolutionary programming, extreme programming
Software configuration management
Notes 6
SPSG 3
MMM 3, 4, 14, 16
Pr1
code due
Lecture #5
Mon, Sep 29
Program and Architectural Review Review Project A Spec. Lead by Project Manager and Software Architect
Lecture #6
Mon, Oct 06
Team Status Reports Review Final Project A Spec Pr1
CSpec Due
Lecture #7
Mon, Oct 13
B Specification Review Final Project Arch Concept Doc Lead by Software Architect and Team Leaders
Lecture #8
Mon, Oct 20
Prototype Review Prototype code Lead by Team Leaders
Team Members present
Lecture #9
Mon, Oct 27
Design Review Preliminary C Specs Lead by Team Leaders
Team Members present
Lecture #10
Mon, Nov 03
Design and Implementation team meetings Midterm
Lecture #11
Mon, Nov 10
Preparations for Test Readiness Review Deliver Final B Specs Lead by Test Team Mgr
Lecture #12
Mon, Nov 17
Test Readiness Review Deliver C Specs Lead by Test team leader
Lecture #13
Mon, Nov 24
Final directions, review test procedures
team meetings
Lead by Project Mgr
Lecture #14
Fri, Dec 05
Class Project Qualification Test Lead by Project Manager, Test Team Manager
Mon, Dec 8 Product Handover - no class Deliver Code, CD with Qual Directories Midterm due


VRTS Team - 2008
(If someone has a better picture, send and I will post here)

Collaboration Server Team - 2007

Remote Software Assistant Team - 2006

Repository Testbed Team - 2005

Project Center Team - 2004

Cloner Team - 2003

Software Foundry Team - 2002

Computer Engineering Course Notes
Jim Fawcett © copyright 2016