COM 3205 Fundamentals of Software Engineering
Winter 2001

Covers software life cycle models (waterfall, spiral, etc.), domain engineering methods, requirements analysis methods (including formal specifications), software design principles and methods, verification and testing methods, resource and schedule estimation for individual software engineers, component-based software development methods and architecture, languages for describing software processes. Includes a project where some of the software engineering methods (from domain modeling to testing) are applied in an example.

The only prerequisite is some background in object-oriented programming.

The textbook for this course is Bernd Bruegge and Allen Dutoit Object-Oriented Software Engineering Conquering Complex and Changing Systems Prentice-Hall, 2000. ISBN 0-13-489725-0

Schedule

Assignments

Project

General Information

University Policy


Schedule

The Final Exam is a take-home exam that counts for 35% of the course grade.

The schedule given below indicates the order in which topics will be covered, along with the reading assignment for each topic.

1/8Introduction Software Engineering and UML. Chapter 1, Sections 2.1-2.3
1/15Martin Luther King, Jr. Day -- University Closed
1/22UML Details, Communication Section 2.4, Chapter 3
1/29Project Management Chapter 11
2/5Software Processes Chapter 12
2/12Mid-Term Exam. Requirements. Sections 4.1-4.4
2/19Analysis Sections 4.4, 4.5, 5.1, 5.2, 5.3
2/26Design Sections 5.4, 5.5, 6.1, 6.2, 6.3
3/5Objects Sections 6.4, 6.5, Chapter 7
TBAManaging Change Sections 8.1 - 8.3, 9.1 - 9.3, 10.1 - 10.3
3/15Final Exam

Assignments

There will be three assignments, each corresponding to a phase of a project. In addition, there will be a take-home final exam. The assignments count for 65% of the course grade. The project is discussed in teams, but students submit their own project reports. Submit all project reports to the grader. Project reports consist primarily of UML diagrams which can be submitted in XMI format to the grader as attachments to email. Please do not give your project reports to the course instructor. There are no team leaders. Everyone is responsible for their own assignment. Assignments submitted by members of a team do not have to match, and they will not be checked for this. Do not discuss your assignment with students in the course who are not on your team.

Project groups will be assigned randomly. Each group will have 3 persons (with at most one exception). Group meetings will take place during part of the class period. Each project phase will have two meetings. Except for these two meetings, groups must communicate by email.

IDVTCS Project

The project is to build the infrastructure for a distributed vehicle traffic control system (IDVTCS).

The project will be in four parts:

PhaseTeam Meeting DatesDue DateValue
Inception1/8/01 and 1/22/011/28/0125%
Project Management1/29/01 and 2/5/012/11/0120%
Analysis and Design2/12/01 and 2/19/012/25/0120%
Object Design (Final Exam)2/26/01 and 3/5/013/11/0135%

Unlike existing traffic control systems (such as the Air Traffic Control System) in which the traffic control system is separate from the vehicles that are being controlled, in this system the vehicles (and other entites) control themselves. In other words, each vehicle has sufficient computational resources onboard for coordinating its behavior with other vehicles. Each vehicle can communicate with other vehicles and has sensors for detecting obstacles, including other vehicles. Each vehicle has a GPS unit that can compute the location of the vehicle at each point in time. In addition to sensors that can detect and track "dumb" obstacles, the vehicles have sensors that can identify "intelligent" obstacles such as other vehicles, buildings and residences. In particular, it is possible to compare the location a vehicle claims to be at with the location the vehicle is observed to be at.

The system consists of intelligent entities called nodes that can communicate with one another. The nodes include vehicles as well as shared resources such as streets and intersections. Your system provides for basic data storage at each node of the system as well as a protocol and "middleware" for reliable communication between nodes. Your system does not actually perform the traffic control functions. It is only concerned with establishing an underlying infrastructure of data and communication upon which traffic control software may be built. In addition to simple requests for information, communication may also involve negotiation between nodes for access to shared resources.

You have two sessions to discuss each phase of the project with your team. You then have 6 days to complete your individual document and to submit it to the grader. The documents will mostly consist of UML diagrams sent to the grader in the form of the XMI format for UML. There is no provision for late submissions. If you haven't completed the documents, then turn in what you have on the due date. If nothing is turned in by the due date, then your score for the assignment is 0. The grader will acknowledge receipt of all assignments.

General Information

My office number is 207 CN and telephone number is x4631. My email address is kenb@ccs.neu.edu. My home page is at http://www.ccs.neu.edu/home/kenb. My home page has my current schedule (including my office hours). The course home page is www.ccs.neu.edu/home/kenb/com3205.

If you have questions about the course material, please send me email. I will usually post my response to the course home page. No trace of your identity will appear in the posting.

University Policy

The University Policy on W and I grades specifies the following:

  1. The last day a course can be dropped without receiving a W grade is 2/1/01.
  2. The last day a course can be dropped without receiving a letter grade (A-F) is 3/2/01.
  3. To receive an I grade, the following conditions must be satisfied:
    1. The Mid-Term Exam was taken. If not, then the course must be dropped. See policies 1 and 2 above.
    2. There is a valid medical excuse for not continuing the course.
    3. The Northeastern University Incomplete Grade: Clearance Plan form must be filled out and signed. On this form the medical reason must be explained, and it must be specified in detail how and when the incomplete will be completed. This form must approved by the Graduate Committee.
  4. If an Incomplete grade is not completed by the time limit specified on the Incomplete Grade: Clearance Plan, then the grade will be changed to a W.


Ken Baclawski
207 Cullinane Hall
College of Computer Science
Northeastern University
360 Huntington Avenue
Boston, MA 02115
kenb@ccs.neu.edu
(617) 373-4631 / Fax: (617) 373-5121