CS 320 - Software Engineering and Design

Spring 2008

Instructor
David Hovemeyer
Office / Phone
GH 118 / 717-815-6582
Office Hours
M-F 11-12
Or by arrangement
Email
dhovemey@ycp.edu
Place GH 123
Class Times Section 01: MWF 8:00-8:50
Section 02: MWF 9:00-9:50

Announcements

Information

Course Syllabus

Getting the Subclipse plugin to work on Windows

Resources

ArgoUML version 0.24 [7.1 MB] free UML design tool, local download (requires Java)

Be careful: ArgoUML has no undo feature.  Save frequently, make backups.

ArgoUML web site

Java Downloads (you should download JDK 6)

Eclipse IDE (download the latest version)

How To Think Like A Computer Scientist (Java Version), by Allen B. Downey

Manifesto for Agile Software Development

Articles by Robert C. Martin of ObjectMentor

Design Principles and Design Patterns

The Single Responsibility Principle

Jigloo - a GUI builder for Eclipse

Subclipse - use subversion (revision control) from within Eclipse

EclEmma - code coverage support for Eclipse

Examples

Use cases from Feb 6th, Section 01: Group 1, Group 2, Group 3, Group 4

Use cases from Feb 6th, Section 02: Group 1, Group 2, Group 3, Group 4, Group 5

Online auction textual analysis, Section 01: Group 1, Group 2, Groups 3 and 4

Online auction textual analysis, Section 02: Group 1, Group 2, Group 3, Group 4, Group 5

Online auction analysis model (ArgoUML): Section 01, Section 02

Example Model/View/Controller application (Pizza ordering system):

Models: pizzaAnalysis.zargo (analysis), pizzaDesign1.zargo (design of object model classes), pizzaDesign2.zargo (design including view and controller classes)

Implementation: pizza.zip (Eclipse project containing Java source code: run SwingPizzaView class as a Java application)

Assignments

Assignment Type Due
Assignment 1: Team Project Planning Team Monday, February 4th by 11:59 PM
Assignment 2: Requirements Team Friday, February 15th by 11:59 PM
Assignment 3: Problem Domain Analysis Team Monday, March 10th by 11:59 PM
Assignment 4: Object-Oriented Design Team Friday, March 28th by 11:59 PM
Assignment 5: Team Project Implementation
Updated 5/5
Team Code/Report: Wednesday, May 7th by 11:59 PM
Presentation/Demo: during scheduled final exam time
Assignment 6: Journal and Peer Evaluation Individual Wednesday, May 7th by 11:59 PM