SWSE 621: Software Design

SWSE 621: Software Design (Summer 2000)



Objective:This is a course in concepts and methods for the architectural design of software systems of sufficient size and complexity to require the effort of several people for many months. Fundamental design concepts and design notations are introduced. Several design methods are presented and compared, with examples of their use. Students will undertake a term project working in small groups addressing the design of a relatively complex software system.

Prerequisite: SWSE 619 with SWSE 620 also recommended.

Course Text:

(Available from Johnson Center Course Material Sales, Room 117):

  1. SWSE 621 Lecture Notes on Software Design, Hassan Gomaa, 2000.
OPTIONAL COURSE TEXTS (Available from Johnson Center bookstore):
  1. Hassan Gomaa, "Designing, Concurrent, Distributed and Real-Time Applications with UML",Addison Wesley, 2000.
  2. A text on the Unified Modeling Language (UML), select from:
Software Lab:
The Rational Rose CASE tool has been installed in the CAD Lab in Room 17, TII and is available for the SWSE 621 term project.
Exceptions: Any exceptions or make-up arrangements require prior permission of the instructor.



Grading policy:
  • The cumulative points are wiegted as follows:
    • Small assignments 10%.
    • Midterm Exam 25%
    • Term Project 45%.
    • Final exam 20%.

Late Homework, Projects and Exams :

Discouraged, but allowed only under exceptional circumstances with prior approval of the instructor.


Lectures:

Held in R B 218 on Tuesdays 7:20 t0 10 pm.
Instructor: Duminda Wijesekera
Office Hours: Tuesday, Thursday 6.00 to 7.00 pm
Email: duminda@ise.gmu.edu
Location: Science and Technology II, Room 351


Teaching Assistant: Hemalatha Yanamadala
Office Hours: Tuesday 5.00 to 6.30 pm and by appointment
Location: Science and Technology II, Room 268
Email: hyanamad@ise.gmu.edu

Announcements:

  • 12/06/2000: Phase II of the project has been graded and can be piked up in front of the door, Rm 351, ST II.
  • The due date of Project Phase I has been post-poned by one week to Oct 31, but groups should get a time slot to show me their design.
  • Calssroom moved from T 121 to R B 218
  • Class notes are available at the JC copy center
  • All the students are expected to respect normal working hours and to come only during office hours unless other arrangements have been made.


Approximate Course Schedule

Date
Topic
Assignments
August 30
Introduction to Software Design
 
September 6
Object Oriented Analysis and Modeling, 
Intro to UML Notation, Use Case Modeling
Small Assignment handed out
Septemer 13
Object-Oriented Analysis & Modeling- Static Modeling, 
Object and class structuring
 
September 20
Object-Oriented Analysis & Modeling - Finite State Machines
and Statecharts
Small Assignment Due
Term Project begins - Groups formed
September 27
Object-Oriented Analysis & Modeling - Dynamic Modeling,
Survey of Software Design methods.
 
October 4
Midterm Exam
 
October 11
Mid-semester break - no classes
October 18
Term Project Tutorials
Draft of Term Project Phase 1 for discussion 
with Instructor
October 25
Concurrent Object-Oriented Design -
Subsystem Design
Due date for Term Project Phase 1 
November 1
Concurrent Object-Oriented Design -
Concurrent Task Structuring
Draft of  Term Project Phase 2 for discussion 
with Instructor
November 8
Concurrent Object-Oriented Design -
Information Hiding Class Structuring
Due date for Term Project Phase 2 
November 15
Concurrent Object-Oriented Design-
Detailed Design
Draft of Term Project Phase 3 for 
discussion with Instructor
November 22
Term Project Tutorials
November 29 Relational Database Design 
December 6
Course Review
Due date for Term Project Phase 3
Take Home Exam handed out
December 13 Take Home Exam Due