Instructions for Design Document
-- CSC640, Fall 2003
This describes the contents of the Design Document, how to submit your
work, and resources that might be helpful. (Note: page numbers, figures, etc.
below refer to textbook.). This information replaces the information given
out at the beginning of the semester.
The work has been divided into 6 task units, one for each group member
(see below). This document defines the system architecture, i.e., the
decomposition into subsystems (3 layers) and the interfaces between them, but
does not cover the design within each layer.
Description of Contents
- System Architecture: A one-page diagram
showing your product’s 3-open-layered architecture (given to you by
the instructor) using UML package notation shown in Fig. 12.7 and listing
the names of the classes in each layer. Do not show associations between
classes or subsystems. Do not give any other information about the
classes. Draw the diagram so that the layers are arranged vertically (as
in Fig. 12.6) with the User Interface (Layer 3) on top. The names of the
classes in the layers should match all object/class names used in the rest
of the Design Document! (Part of task
unit 1)
- Layer 3:
- User Interface Design Specification: document
all user-system dialogue in the final system using state machine
notation. The arcs should show
user or system input or output. Use sub-networks (Fig. 7.7) on separate
pages to simplify the diagram. (Part of task unit 1)
- Sequence Diagrams for main Use Cases
between user and layer 3. Draw a sequence diagram (ex. Fig. 12.13)
for each of the main use cases showing interactions between the user (or the program’s function main) and any objects in layer 3. (In your design of this layer,
avoid direct interaction with the user in main.) The object names should correspond to classes in the
System Architecture diagram. Messages on arrows should match calls
defined in the Interface Specification for this layer. Include the name
of the use case with each sequence diagram. (Part of task unit 2)
- Layer 3 Interface Specification: Define
only the public interfaces for classes in layer 3 that will be
called by main or other classes
in layer 3. (This instruction is slightly different from the corresponding
instructions given for layers 2 and 1 because this is the top layer.) The
class names should correspond to classes in this layer of the System
Architecture diagram. Make this a C++ .h file with detailed comments in
English describing the service of each operation and its parameters. Do
not include implementation information in the comments! (Part of task unit 2)
- Layer 2:
- Sequence Diagrams for main Use Cases
between layer 3 and layer 2: Draw a sequence diagram (ex. Fig. 12.13)
for each of the main use cases showing interactions between layer 3 and
any objects in layer 2. The object names should correspond to classes in
the System Architecture diagram. Messages on arrows should match calls
defined in the Interface Specification for this layer. Include the name
of the use case with each sequence diagram. (Task unit 3)
- Layer 2 interface specification:
Define only the public interfaces for classes in layer 2 that
will be called by layer 3. (It
is not necessary to include public interfaces that are only called by
other objects in this layer.) The class names should correspond to
classes in this layer of the System Architecture diagram. Make this a C++
.h file with detailed comments in English describing the service of each
operation and its parameters. Do not include implementation information
in the comments! (Task unit 4)
- Layer 1:
- Sequence Diagram for main Use Cases
between layers 2 and 1 or between layers 3 and 1: Draw a sequence
diagram (ex. Fig. 12.13) for each of the main use cases showing
interactions between layers above this (layer 2 or 3) and objects in
layer 1. The object names should correspond to classes in the System
Architecture diagram. Messages on arrows should match calls defined in
the Interface Specification for this layer. Include the name of the use
case with each sequence diagram. (Task
unit 5)
- Layer 1 interface specification: Define
only the public interfaces for classes in layer 1 that will be
called by layer 2 or 3. (It is not necessary to include public
interfaces that are only called by other objects in this layer.) The class
names should correspond to classes in this layer of the System
Architecture diagram. Make this a C++ .h file with detailed comments in
English describing the service of each operation and its parameters. Do
not include implementation information in the comments! (Task
unit 6)
Submission Instructions
All work should be submitted in two forms: on paper and on-line. Here
are the specific instructions for each medium:
Paper: Each person should have done the work described as one
task unit (see instructor). Turn in a paper copy of the work that you did
for your task unit with a single cover page stating your name, project name,
date, and the contents of your task unit. Fasten (stapled or paper
clipped) all the sections of your task unit together. Turn in each
person’s work separately. It is important to follow these
instructions so that you get proper credit for your work!
On-line: The on-line version of the Design Document will be
created using the Design Table of Contents web page similar to how you
submitted the Requirements on-line. (Note that all the files containing written
English, diagrams, or screen shots must be in PDF format.) Remember that
students can access the folder from off-campus using NetStorage.
I will check the Design TOC web page 30 minutes before the beginning of class
on the due date.
Resources
The University
Writing Center offers all UNCG students free, individual assistance
with planning,
writing, or revising papers for any course.
Writing Reference Materials
· Guide to Grammar and Writing
· Yale University Web Style Guide
UML Reference Materials
· Borland
UML Guide (Borland)
· UML Quick
Reference
Send comments and requests about
this web site to nlgreen@uncg.edu