CS 611 - CS 613 Advanced Software Engineering
Robert A. Morris
ram@cs.umb.edu
1996 - 1997

This document, with its links to assignments, is available at the address below; place it in your browser's bookmark list.

http://www.cs.umb.edu/~ram//cs612/schedule.html

I'm Bob Morris, ram@cs.umb.edu, CS611/12 meets Tuesdays and Thursdays from 4:30 to 7:15. Note that this istarts 30 minutes later than the normal late afternoon class, in order to make it easier for people who come from work.We'll take a 15 minute break in the middle.

In the Spring semester, for CS613, I will meet regularly with the teams. You need to reserve Tu.-Th 6-7:15 for these meeetings, but from time to time a team will probably need to find some other times to meet with me also.

A MiniVision

This vision of the course, as well us much of the course design, follows that of Prof. Bill Campbell.

Software engineering is about writing programs that are to be used by others. Writing such programs on time, and within budget, can be difficult; a programming project may require the cooperation of many people.

Our lectures will explore methods and tools available for writing such programs. In particular, we shall focus on Ivar Jacobson's Object Oriented Software Engineering (OOSE) method for software development because it is a method that appears to scale up to large scale programming projects involving hundreds, if not thousands, of programmers.

We shall spend a significant amount of time studying object-oriented design and object-oriented programming in the context of Java.

Our labs will focus on a medium-sized programming project: about four or five people writing a program of not more than 10,000 source lines over a course of several months. The project will allow us to apply what we have learned in the lectures to the production of a real product.

Students who fully apply themselves to the work in this course will come away with:

Commitment

Because we depend on each other, we each must make certain commitments:

  1. This course requires a lot of work, both inside and outside of class. You will be attending many team meetings. Be prepared to meet with your teammates for at least four(4) hours per week -- outside of class.
  2. You will be reading a lot. You will be writing lots of documentation. You will be making many presentations. Be prepared to spend lots of time.

  3. This is a two-semester course; students are expected to commit to working with their groups, and meeting weekly with me, throughout January and registering for CS 613 in the Spring of 1997.

Required Textbooks.

Additional material (papers) will be handed out in class during the year. For this I will collect a deposit of $20 from each student for copying. Unspent monies will be returned at the end of the year.

Recommended Books

Office Hours

My office is 8-3-075 (I moved reently); it is on the corridor facing McCormack. My office telephone number is 287-6469; my home telephone number is 332-2917. Please do not telephone me at home before 9am or after 10pm. My email address is bill@cs.umb.edu ; I read my email regularly even if I am out of town.

For now, my office hours are Tuesday and Thursday, 3 to 4pm, and by appointment. I usually have to leave campus by 7:45 pm, but can see people in my office from the end of class until then without appointment. If you think you need more time, schedule an appointment. In general, I am around a lot during the day. Feel free to stop by.

Grading

For the Fall semester, a separate grade will be awarded for each of CS 611 and CS 612.

Your grade for CS611 will be based on a combination of the work done by your group (50%) and your individual contribution to that effort (50%).

Your grade for CS612 will be based on your individual performance on the quiz and the examinations. The examinations will cover material from the lectures and the readings. The breakdown for this grade is as follows:

Syllabus

OOSE refers to Jacobson's Object-Oriented Software Engineering; AF refers to Cooper's About Face -- the Essentials of User Interface Design; JIAN refers to Flanagan's Java in a Nutshell; and JPL refers to Arnold and Gosling's The Java Programming Language. SEM refers to Gilb's Principles of Software Engineering Management.

Once we get started, we'll devote one lab meeting per week to short meetings between me and each project team; the other lab meeting will be used for a class-wide discussion of each team's product. For these meetings the team will select someone to give a presentation about the current status of the project, especially the controversies and decisions taken that week in the team. One purpose of this meeting to give each other insights into common problems. Of course, you will want to meet together with your project team for several additional hours each week.

Project Deliverables

Project teams will be required to deliver the following items to me by the dates given.

DELIVERABLE                           DUE DATE

Product Survey                        September 30

Product Vision -- a one-pager         October 21

Project Plan                          October 30

Engineering Requirements       
  Specification (ERS)
  incl. Requirements Model and
  Analysis Model      -- draft        December 2

Engineering Requirements
  Specification (ERS) -- final        December 16

Preliminary User Manual               December 16

Design Document
 incl. Design Model --   draft        January 8

Design Document --       final        January 29

Test Plan                             February 10

Code Freeze (no additional            April 16
  functionality)               
Clean, commented, Code Model

Integration of Environment            April 23

Preliminary Test Reports              April 30

Operation and Installation Manual,
 As-built User Manual, Man Page,
 Final Test reports (Test Model),
 Revised Design,  Maintenance Doc
 Code Model                           May 12

Wrap-up Document                      May 14

A Few Important Notes

Should you have any problems or questions, contact me early; don't let small problems become big ones! Telephone me, visit me at my office or stop by after class to set up an appointment. Also, I encourage questions in class; if you don't understand something, there is a good chance that others don't. I like questions.