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
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/8 | Introduction Software Engineering and UML. | Chapter 1, Sections 2.1-2.3 |
| 1/15 | Martin Luther King, Jr. Day -- University Closed | |
| 1/22 | UML Details, Communication | Section 2.4, Chapter 3 |
| 1/29 | Project Management | Chapter 11 |
| 2/5 | Software Processes | Chapter 12 |
| 2/12 | Mid-Term Exam. Requirements. | Sections 4.1-4.4 |
| 2/19 | Analysis | Sections 4.4, 4.5, 5.1, 5.2, 5.3 |
| 2/26 | Design | Sections 5.4, 5.5, 6.1, 6.2, 6.3 |
| 3/5 | Objects | Sections 6.4, 6.5, Chapter 7 |
| TBA | Managing Change | Sections 8.1 - 8.3, 9.1 - 9.3, 10.1 - 10.3 |
| 3/15 | Final Exam |
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.
The project is to build the infrastructure for a distributed vehicle traffic control system (IDVTCS).
The project will be in four parts:
| Phase | Team Meeting Dates | Due Date | Value |
|---|---|---|---|
| Inception | 1/8/01 and 1/22/01 | 1/28/01 | 25% |
| Project Management | 1/29/01 and 2/5/01 | 2/11/01 | 20% |
| Analysis and Design | 2/12/01 and 2/19/01 | 2/25/01 | 20% |
| Object Design (Final Exam) | 2/26/01 and 3/5/01 | 3/11/01 | 35% |
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.
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.
The University Policy on W and I grades specifies the following:
W.