CSE E81 436S: Software Engineering Workshop

Professor: Christopher D. Gill cdgill@cse.wustl.edu
(314) 935-7538
  Office hours (Bryan 506): by appointment

Spring 2007

This page is available through: http://classes.cec.wustl.edu/~cse436/
or at: http://www.cse.wustl.edu/~cdgill/courses/cse436/


Contents

  1. Course Description
  2. Prerequisites
  3. Newsgroup  (Click here to go directly to the newsgroup.)
  4. Discussions/Lectures/Deliverables
  5. Resources
  6. Grading
  7. Cheating
  8. Times and Locations


Course Description

An introduction and exploration of concepts and issues related to large-scale software systems development. Areas of exploration include technical complexities, organization issues, and communication techniques for large-scale development. Students participate through teams emulating industrial development. The projects cover the principal system development life-cycle phases from requirements analysis, to software design, and to final implementation. Issues relating to real-time control systems, human factors, reliability, performance, operating costs, maintainability and others are addressed and resolved in a reasonable manner.


Prerequisites


Newsgroup

Please note that the newsgroup is a vital part of your CSE 436 experience. Participation in the newsgroup (i.e., quantity and quality of your posts) will be considered as part of your participation grade.

Please submit ALL questions and concerns of a public nature to the class newsgroup, wu.cse.class.436. You are encouraged to answer each other's questions on the newsgroup!

Do not e-mail process or technical questions to the professor: instead, please post for all to see, consider, and respond.


Discussions/Lectures/Deliverables

The discussions/lectures will emphasize two main areas: software requirements and software architecture. As the semester progresses, the focus of the projects will shift from requirements to architecture to implementation.

Date
Discussion Topics
Lecture Material
Deliverables
January
22
Course Overview
(slides: in ppt format)
Software Requirements: Overview and Motivation
(slides: in ppt format)
Project Questionaire
(in doc or txt format, due by 2pm 1/23/07)

Survey Results, Project Teams and Meeting Times
(in doc or txt format)
29
Project Descriptions from Traffic, Building, Island, and Infrastructure Teams
Software Requirements: Perspective and Definition
(slides: in ppt format)
 
February
5
Project Requirements Outlines from Traffic, Building, Island, and Infrastructure Teams
Software Requirements: Processes I
(slides: in ppt format)
 
12
Teams' Requirements Definition Documents
Software Requirements: Processes II
(slides: in ppt format)
Software Requirements: Products
(slides: in ppt format)
Software Architecture: Introduction
(slides: in ppt format)
Real World Requirements Example
(slides: in ppt format)
Monday February 12:
Requirements Definition Document (RDD) (assignment in doc or txt format)
First Draft Due by 10am Monday February 12
19
Common Infrastructure Requirements Draft Document
(posted Feb 20)
Software Requirements: Basic Methods I
(slides: in ppt format)
 
26
 
Software Requirements: Basic Methods II
(slides: in ppt format)
Monday February 26:
Software Requirements Specification (SRS)
(assignment in doc or txt format)
First Draft Due by 10am
March
5
 
Software Requirements: Complex Models and Reviews
(slides: in ppt format)
Software Architecture: Specification I
(slides: in ppt format)
Revised RDD (assignment in doc or txt format) and SRS (assignment in doc or txt format) Documents
Due 10am Tuesday March 6 (note new deadline)
12
Spring Break
19
Discussion of Teams' Architecture Specifications

Teams' Revised RDD and SRS Documents (for reference):
Traffic Team Revised RDD
Traffic Team Revised SRS
Building Team Revised RDD
Building Team Revised SRS
Island Team Revised RDD
Island Team Revised SRS
Infrastructure Team Revised RDD
Infrastructure Team Revised SRS

Software Architecture: Specification II
(slides: in ppt format)
Architecture Specification Document (assignment in doc or txt format) Due 10am Tuesday March 20 (note new deadline)
Midterm Exams Handed Out
26
 
Software Architecture: Design I
(slides: in ppt format)
Monday March 26:
Midterm Exams Due by 10am (at the start of class)
April
2
Revised Traffic SRS
Revised Traffic ASD
Traffic Architecture Design

Building ASD/Design
Building Design Diagram

Island Revised ASD/Design

Infrastructure Revised SRS
Infrastructure Revised ASD
Infrastructure Architecture Design
Infrastructure Interfaces

Software Architecture: Specification III
(slides: in ppt format)
Architecture Design Document (assignment in doc or txt format) Due 10am Monday April 2
9
 
Software Architecture: Design II
(slides: in ppt format)
Software Architecture: Design III
(slides: in ppt format)
 
16
Zip file with teams' prototype submissions

Infrastructure Team's web site
  Initial Prototype Demos and Status Reports (assignment in doc or txt format) Due 10am Monday April 16
23
 
Course Summary: Review of Software Engineering Requirements and Architecture
(slides: in ppt format)
 
30
    Monday April 30:
Team Demos
Project Reports due by 10am Monday April 30 (assignment in doc or txt format)

360 degree reviews due by 10am Wednesday May 2 (assignment in doc or txt format)

Take Home Final Exams Handed Out
May
7
    Monday May 7:
Final Exams Due by 10am


Resources

There will not be a specific text for this course, but several useful texts are worth considering if you are looking to expand your library:

Other information sources:


Grading

Project deliverables will constitute a majority (50%) of the grade in this course. This reflects the course's emphasis on hands-on exploration of the material. The midterm (10%) and final (20%) exams will be comprehensive, and proportioned to cover the lecture material more heavily, but will also contain questions about the project and team process.

The last grading component is an evaluation of your participation and contributions in the team project and in the course. This component is separated out to:

  1. broaden the evaluation criteria to include effort and initiative,
  2. reflect the reality of evaluation in real-world team settings, and
  3. encourage active participation in discussions/lectures, projects, and on the newsgroup.


Cheating

Put simply, from Professor Kwasny's statement on cheating:

"Cheating is the willful misrepresentation of someone else's work as your own, and will not be tolerated in this course."

For this course, examples of cheating include but are not limited to: collaboration on an exam, using unapproved sources of information during an exam, or sharing of significant portions of code or designs between programming teams.

This is a very serious matter. Anyone found cheating will at a minimum receive a 0 or possibly minus its value for the assignment in question, or possibly an F for the course depending on the severity of the case. Further action may be taken in extreme cases.

Furthermore, our policy is that we will make the final determination on what constitutes cheating. If you suspect that you may be entering an ambiguous situation, it is your responsibility to clarify it before we detect it: if in doubt, please ask.


Times and Locations

Discussions/Lectures: Mondays, 10 am - 1 pm
Team Sessions: Fridays, 9 - 10 am, 10 - 11 am, noon - 1 pm, 1 - 2 pm