Software Engineering

CS 319
Fall 1998

Thomas P. Kelliher
Hoffberger 140
Office phone: 337-6189
Home phone: 931-2946
Send mail to kelliher AT DOMAIN
Office hours: MWF 10:30--11:30am. Tu 12:00-2:00pm. Other times by appointment.

Hoffberger 123
MWF 2:30--3:20pm

Software engineering is a study of the development of large software systems. It arose from numerous software ``crises'' of the late 1960's. This course will provide an overview of software engineering.

Class periods will be used to discuss and apply the readings. Little lecturing will be used.

The major emphasis of the course will be the development of a large, real-life software system --- an integrated Web publishing environment. We will probably not get to the coding phase, although that is ``just a detail.'' However, numerous documents will need to be produced. There will be a small client team and a contractor team. Each student will play a unique role in the project. The goal is to apply software engineering principles to the software system, thus learning by doing.


I. Sommerville, Software Engineering, 5th ed., Addison Wesley, 1995.

Other Resources:

I have a few other texts, which you may borrow short-term. There are Internet resources mentioned in the text, with others waiting to be discovered.

Grade Distribution

A = [92--100], A- = [90--92), B+ = [88--90), B = [82--88), B- = [80--82), etc.

Course Point Distribution

The following is tentative. There are 600 total points for the course.

  1. Oral report on your project role and the software engineering principles related to your role. 100 points.

  2. Project. 200 points.

  3. Exams --- There will be one midterm and a final. They will test your comprehension of the readings. Each will be worth 100 points. The final will not be cumulative. Tentatively, the midterm will be October 30.

  4. Attendance and participation in class discussions. 100 points.

Course Handouts:

Most course handouts will be made available once in class. After that, they may be obtained from the class home page on the World Wide Web (see the class URL above). Some course handouts will only be distributed through the class home page.


Attendance of classes is expected and is a part of your grade. It is your responsibility to catch up on missed class work.

I expect that you will complete reading assignments before class and come to class prepared to discuss the day's material.

Academic dishonesty will not be tolerated. We are all bound by the Academic Honor Code.

Tentative Initial Outline:

  1. Overview:
    1. Introduction. Chapter 1.
    2. Requirements Engineering. Chapter 4.
    3. Requirements Definition and Specification. Chapter 7.
    4. Software Design. Chapter 12.
    5. Verification and Validation. Chapter 22.
  2. Requirements Engineering:
    1. Requirements Analysis. Chapter 5.
    2. Systems Models. Chapter 6.
    3. Requirements Definition and Specification. Chapter 7.
    4. Software Prototyping. Chapter 8.
    5. Formal Specification. Chapter 9.

Thomas P. Kelliher
Fri Aug 28 11:38:02 EDT 1998
Tom Kelliher