CIS 390: Design of Large Software Systems
Spring 2013

  • Instructor: Dr. Paul L. Bergstein
  • Office: 302F Dion
  • Office Hours: Mon 1-2; Wed 1-2, 3-4; Fri 1-2 (or by appointment)
  • Phone No.: (508) 999-9184
  • Email:
  • Home page:

Course Objectives

Catalog Description

Team-based experience with development of large distributed software systems using integrated development environments with use of COTS (Components Off The Shelf), substantial development of custom code and integration with legacy systems. Course includes extensive, in-depth study of design patterns, and issues encountered in design of distributed systems. Introduction to software measurement and software metrics is given. Comprehensive coverage of evolution and configuration management is included.



Grades will be based on homework, quizzes, and midterm and final exams. A tentative assignment of relative weights to these criteria is as follows:

The weighting is subject to change at the instructor's discretion depending on the number and nature of homework assignments and quizzes, and on the amount of material covered on each exam.

Online Resources

Course Outline

The following schedule is a tentative outline of the topics and the approximate time when these topics will be discussed. Changes in the topics and/or the order in which they are presented may occur.

Check the web frequently for updates.

Week of Topics Reading/Homework Slides
Jan. 21 Intro to Distributed Systems and Middleware
Note: No Monday class (Martin Luther King, Jr. Day)
POSA Ch. 2 Introduction.pdf
Jan. 28
Client/Server Programming for the Web Homework #1 (RMI) Servlets.pdf
Feb. 4 Patterns, Frameworks, and Architectures Szyperski Ch. 9 Patterns-Frameworks-Architectures.pdf
Feb. 11 Architectural Design Patterns POSA Ch. 9 MVC.pdf
Feb. 18 Architectural Design Patterns (continued)
Note: No Mon. class (Presidents' Day), Mon. classes on Tue.
Feb. 25 Architectural Design Patterns (continued) Homework #2 (Web) PAC.pdf
Mar. 4 Architectural Design Patterns (continued) Homework #3 (Layers) Microkernel.pdf
Mar. 11 Architectural Design Patterns (continued)
Midterm Exam: Friday Mar. 15
Mar. 18
Spring Break, no classes
Mar. 25
Architectural Design Patterns (continued)   SharedRepository.pdf
Apr. 1 Database Systems   DBMS.pdf
Apr. 8 Programming Techniques, Wiring Standards Szyperski, Ch. 10, 12 WiringStandards.pdf
Apr. 15 The OMG Way: CORBA, CCM, OMA, MDA
Note: No Monday class (Patriots Day)
Szyperski, Ch. 13
Homework #4 (Database)
Apr. 22 The Sun Way: Java, JavaBeans, EJB Szyperski, Ch. 14
Homework #5 (CORBA)
Apr. 29 The Microsoft Way: COM, OLE/ActiveX, COM+, .NET CLR
Note: Wednesday is last class
Szypersli, Ch. 15  
May 6 Final Exam: Monday, May 6, 3:00PM - 6:00PM Review Outline