| Home | Overview | Syllabus | Available Projects | Proj Pref Form | Proj Plan Guide | About COMP 190 | Sponsoring a Project | site comments |
The Software Engineering Project (COMP 190) at the Tufts University is a course in which student teams complete a substantial "real world" project provided by sponsors drawn from university, industry, and other research organizations. Projects are overseen by the professor and developed under the direction of the members of the sponsoring organization. This course is offered for the sixth time during the 2008-09 academic year. Sponsors of past projects report very high satisfaction with both the process and the delivered project:
Project proposals are solicited during the fall semester. Proposals should be very brief descriptions of ideas for projects and should be submitted to Judith Stafford by November 23. Upon return from Thanksgiving break, these proposals will be given to the students who registered for COMP190. The students will then submit there project preferences and teams will be formed by Prof. Stafford. Teams will then contact the project sponsor and evaluate the sponsor's needs as soon as possible.
The development process will vary from project to project but will follow a published software development process model. The project will encompass the following phases, to a more or less degree depending on the process model selected by the students for their project.:
Initial Requirements
The student team interacts with the sponsor to gather requirements for the software that they are to develop. This first step involves a rather quick, but thorough, job of gathering initial requirements.
System Architecture
As with the quick first cut at requirements, the team then does a relatively quick, high-level architectural design for the project.
Overview Presentation
At this stage of the project each group gives a half-hour overview presentation on the project to the class.
Prototyping
Once the team has an initial set of requirements and a high-level design, they build a prototype of the system. In addition to learning more about the requirements for the project and appropriate design strategies, prototyping allows the students to procure necessary hardware and software and to become familiar with the development environment that will be used on the project.
Requirements Spec
Towards the end of prototyping, requirements are revisited and a more complete requirements specification is developed.
Design Spec
Given the requirements specification, high-level design, and what was learned during prototyping, a more complete, detailed design specification is developed.
Design Presentation
In February, each team gives a design presentation to the sponsor at the sponsor site. These presentations are open to anyone within the sponsoring organization who has an interest in the project or who might be able to offer feedback on the design.
Development
Full scale development of the software is underway by the end of February. This includes not only development of the software, but also module and systems level testing, development of a test plan, and the delivery of a beta version of the software to the sponsor.
Documentation
Each project team will produce a set of customer documentation appropriate for the particular project. In most cases this consists of a user reference manual (a detailed definition of the software from the user's perspective), a user tutorial manual (an informal guide to assist the first time user), and a developer manual (an overview of the implementation for programmers who will inherit the software).
Final Presentation
Near the end of the semester, meetings are again held at the sponsor site for a presentation and demonstration of the completed project.
Release
Once all software is written and tested and all documentation is complete, the project is released to the sponsor. The release package contains the software and all documentation.
If you are interested in sponsoring a project please contact Prof. Judith Stafford.