Architecture
and Design
The goal of this phase is to understand and clearly
document both the high-level architecture and the detailed design of your
project. At the end of this phase, you will have a detailed description of
the objects that will be used to implement your project. Additionally, the
relationships between these objects, such as inheritance, aggregation, and
dependency will be recorded in a series of UML structure diagrams, while the
dynamic behavior of the objects will be recorded as UML interaction diagrams.
Deliverable
Your design document should include:
- Title page
- Change log
- Table of contents
- Overview.
You need to provide text providing an overview of the diagrams, and
design choices embedded in these diagrams. Ideally, a reader who has
previously seen your scenarios and requirements documents should be able
to understand your design documents, based on the descriptive text you
provide.
- A roadmap to the sections and diagrams in
your document.
The organization of the diagrams (why did you order the diagrams in a
particular way).
- Major design decisions.
Any unusual or noteworthy design decisions (why you think your 8-level
deep inheritance hierarchy is the right choice).
- Modularization criteria.
You should explain how you made your modularization decisions (how did
you choose your objects).
- Architecture Diagram.
This is a high-level overview of the components (users, computers,
processes, etc) in your system and how they co-operate. It should
include:
- users, computers,
- server processes, client processes, other
major processes,
- data storage, major data pieces,
- major software classes/modules,
- communication paths, networking.
- UML Structure Diagrams.
Each component in your architecture diagram contains one or more classes
or objects. In a series of UML structure diagrams (that is, class,
package, or object diagrams), describe the attributes and operations of
these classes, as well as interrelationships such as inheritance,
aggregation, and dependency.
- Refer to Practical
UML
- A class may
show up in several diagrams, but its internal details should only be
shown once.
- Include a caption for each diagram.
- Include one or two sentences to help
clarify each diagram.
- UML Interaction Diagrams.
Pick 5-10 scenarios, or
important functional aspects of your project as described in the requirements.
For each of these scenarios, develop one or more UML interaction
diagrams showing the sequence of calls among objects that implement the
behavior in the scenario. Make sure it's clear which scenarios you're
modeling.
- Refer to Practical
UML
- Sequence diagrams -- better for showing
when things happen.
- Collaboration diagrams -- better for
showing who (which classes) makes things happen.
- For each diagram, include a reference to
the relevant section of the requirements or scenarios deliverable.
- Include a caption for each diagram.
- Include one or two sentences to help
clarify each diagram.
For more information, see the gradesheet.
You also need to turn in your meeting notes and
time cards.
|