CS 390 - Software
Engineering
Fall 2008 - Software Project
Out: October 3,
2008
Final Due Date: December 11, 2008, 5pm
General Instructions
Anyone is allowed to work with anyone else in the class. You are not allowed to collaborate with anyone outside the class. Internet resources may be consulted for background material, but no code may be copied with or without permission.
Each individual is responsible for his/her project, including those assigned to team projects. While it is expected that the parts of a team project will be demonstrated together as one system, each project must be minimally demonstrable without the presence of any other project.
All workflow artifacts are to be published on a project website that you will maintain on csprojects.evansville.edu. This includes but is not limited to your project description, functional specification, schedule, design, code, testing plan, and documentation.
Students will be required to make short progress report presentations (five minutes or less) every few weeks. The first one is scheduled for October 17, 2008, in which each student will present a high-level overview what their project is to do.
Class will not meet formally on Fridays after October 17 unless otherwise specified. Instead, the instructor will have sign up sheets for students to make appointments to talk about their projects and get approval signoffs.
Project Instructions
Workflow artifacts required
A short (no more than one page) description of what the project is to do. This description is to operationalize terms and problems related to the user requirements given as your assignment. (web document)
A functional specification of your system. This is a more detailed description of what your system is to do. (web document)
A schedule/plan to implement your project. (web document)
High level design. This is a description of how your system will do its task. (web document)
Implementation. (code - accessible via the web)
Testing plan. (web document)
Documentation. (web documents)
All workflow artifacts will be reviewed and signed off by the instructor. The instructor is your customer which you need to keep happy. (Maybe it would be nice to have a way of indicating on your website when a workflow artifact has been signed off on.) Fridays will be reserved for customer feedback and help. You are not required to meet with the instructor, but if you come in often enough you will know exactly where your are at and what you need to do.
Other Items not required, but will be present in a superior project
Source versioning of all workflow artifacts related to your project including the website markup.
Rationale for all specification and design decisions.
Electronic lab book. May be in the form of a blog.
Prototype of system for early validation.
Target dates
October 10, 2008. Website up on csprojects with one page project description of what the project is to do.
October 27, 2008. Complete all non-implementation workflow artifacts including schedule and implementation plan.
November 21, 2008. Complete implementation workflow.
December 5, 2008. Complete integration and testing.
December 9, 2008. Complete documentation.
December 11, 2008. 12:30pm-2:30pm. Presentations of projects to the class during the regularly scheduled final exam period.
All corrections and clean-up related to your project must be published on csprojects by the 5pm, Thursday December 11, 2008. A snapshot of your websites will be taken late Thursday evening, and it will be the data that will be graded. The instructor will be looking for completeness of the specification, completeness and correctness of the solution, attributes of the solution such as extensibility, coupling, and cohesiveness, and documentation that the software development process was followed.
Grading
As noted in the syllabus, the project constitutes 70% of the final grade in this course, and the grading for the project will be based on the following:
|
|
50% |
Implementation |
|
|
40% |
Documentation (website) |
|
|
10% |
Final Presentation |
Note for team projects
The intention is for the team members to define the interface between their individual parts as part of the project. There should be documentation in each part describing the development of this interface. How well the parts are integrated into a complete system will be part of the implementation grade of all parts, but the majority of the implementation grade for each student will be based on his/her individual part.
10/3/08