Fall 2009 SE2 (ECE452/SE464/CS446/CS646): Software Design and Architecture
Prof Ric Holt, Department of Computer Science, Waterloo University
Assignments 0 (consisting of parts 0.1 and 0.2): Project Proposal
BACKGROUND
There is a major software implementation project in this course, organized
around the following assignments:
- Asgn 0.1: Team & Title. Propose a team (ideally 3 people
per team) and the title of your software implementation project.
- Asgn 0.2: Project Proposal. Propose implementation project.
- Asgn 1: Architecture.. Create a corresponding
software architecture.
- Asgn 2: Prototype.
Implement and demonstrate key aspects of your system.
- Asgn 3: Detailed design. Create a detailed design.
- Asgn 4: Implementation. Implement the design.
- Asgn 5: Presentation. Present and demonstrate the implemented
system.
The following constraints are imposed by the management:
- Documentation. All documentation (including
the solution to each assignment) is to be web-readable, e.g., in DOC, PDF,
or other form conveniently readable from the web. At the same time, your
report must be printable, and you are to turn in a hard copy of your
reports for marking.
PART 0.1
Propose a team and a title for your project. You are to work in teams, ideally with 3
or 4 people per team
PART 0.2
In this assignment (part 0.2) you are to propose an implementation
project.
This proposal must be approved by the Teaching Assistant.
Your
report for Assignment 0.2 should answer these questions:
- Proposed project.
What is the purpose of the proposed project? Who will use it? What equipment will it run on? On what operating system(s)? What software will your project
use? What sort of user
interface (if any) will you software have?
- Demo. What will
you demonstrate (and present) for Assignment 5?
- Code size. Give a rough estimate
of how much code (measured in Lines of Code) you expect your team will
produce?
- Languages and tools. The project will be written in what
language(s)? What software
tools/technology will you use in your project?
- Version control. How
will you handle version control?
- Related projects. What
is the relationship of this project to any projects you have already done
or which you expect to do?
- Risk. What will be
the most risky and most difficult parts of carrying out your project?
- Architecture.
How/why does your proposed system have an interesting, non-trivial architecture.
Limit
your report for Assignment 0.2 to at most 3 pages.
---------------------------
Last update 1 Sept 2009 RCH