Software Design (Engi-5895) 2016
Project
Marking Scheme and Rubric
- Project Marking Scheme
- 10% Requirements
- 40% 1st iteration
- 50% 2nd iteration
- Rubric for requirements
- Domain model: class diagram and lexicon.
- Functional requirements: User stories
- Interaction design: Use case diagrams, use cases, wireframes, screen flow diagram, or use case state chart.
See Writing Effective User Stories, Writing Effective Use Cases, Artifacts Diagram.
- Suggested content for preliminary design and first and second iterations.
- An updated requirements document (only needed for first and second iterations).
- A design document containing
- Any overview of the system. It should explain what the top-level components are, what their responsibilites are, what public interface they provide, and how they relate to each other. A UML class diagram* is a good way to illustrate the relationships and interfaces. Sequence diagrams are useful for illustrating the dynamic aspects of those relationships. Sequence diagrams* might illustrate specific use cases from the requirements.
- For each top-level component a description of how it will be implemented. What are the classes, what are the reponsibilities of those classes, what public interface do they provide, how do they relate to each other. Again UML class* and sequence diagrams* can be useful to illustrate the static and dynamic aspects of those relationships.
- Source code implementing the design. (Only for first and second iterations.)
- A bibliography and declaration of sources. This is a list of all sources that you have used to assist you, together with an indication of how they assisted you. This might include books, articles, internet sites, and people from which you got design ideas or code. (You do not need to include my notes and lectures.) If any specific components (methods/classes) came from sources, be sure to note that in this document, as well as in comments in the code. The purpose of this document is to largely to protect you from any unintended academic misconduct.
* At the design level, class diagrams should show navagability and multiplicity for associations.
Association with and dependence on classes belonging to other components is often appropriate even when a diagram focusses on just one component. (E.g., in illustrating the view, one might also show any classes from the model that the view classes depend on.) Sequence diagrams should represent ordered forests of calls, except when concurrency is involved (e.g. network communications).
-
Rubric for first and second iterations
- 10% Presentation quality
- Effective use of time.
- Use of visual aids
- Clarity
- 30% Quality of design
- Simplicity of interfaces
- Decoupling of major components
- Cohesiveness of major components
- Information hiding
- Appropriate use of patterns
- 30% Presentation of the design
- Clarity of prose
- Correct and clear use of diagrams
- Thoroughness of description
- 20% Accomplishment
- Acheiving of main goals for the iteration.
- 10% Source code review.
Schedule and deliverables
- Apr 4. Release day. 2nd iteration due: Updated charter, requirements, design documentation, and source code.
- Mar 31. Final design presentation and demo.
- Mar 17 & 24. Design meeting with the management.
- Mar 11. 1st iteration due: Updated charter, requirements, and iteration plan. Design documentation. Source code.
- Mar 10 1st iteration design presentation and demo.
- Feb 18 Design meeting with the management.
- Feb 15 Peer reviews due.
- Feb 12 Initial design due.
- Feb 11 Presentation of design.
- The design will be a report explaining with the aid of UML diagrams
- Feb 5. Requirements document and iteration plan due.
- Note that everything submitted at this milestone will be submitted again in the future so you will have a chance to revise it.
- What is needed: The requirements document and iteration plan consists of
- revised charter (optional)
- a set of requirements that you expect to meet by the end of the project
- a data dictionary
- a set of use cases with a UML use case diagram
- a plan for which requirements and use cases will be met in the first iteration.
- Feb 6 Meetings with the management to discuss charter and project scope.
- Feb 4: Deliverable 0. One (or more) page charter document.
- Feb 4: Last day to drop the course without incurring the wrath of the instructor.
(c) Theodore Norvell