Next: Grading criteria
Up: No Title
Previous: Discussion
The assignment is due by 10:30 am on Wednesday, February 25. You
have a directory created for your group, located in the dogbert
Architecture directory. You should create a subdirectory called
``a2". In ``a2" prepare a file called ``registration.doc". This file
should contain:
- the names of all team members,
- a list of the modules added/modified and for each such module
a list of the resources added/modified.
The program should be compiled and ready to execute with
java objectoriented.Session <filename>.
Before class on the due date, permissions to the directories will
be disabled and you will not be able to modify the files. In addition
there will be a written commentary (due at the beginning of class on
Wednesday, February 25) answering the following questions:
- 1.
- What problem frame(s) does this problem fit? Does it differ
from the problem frame(s) of the Pipe and Filter Registration System?
Why? Draw the frames(s) if different from the Pipe and Filter
assignment. Briefly describe (designate) the domains in your frames.
Note that your answer should contain enough information so that the
reader will not have to refer to your write up for Assignment 1.
- 2.
- How does an architectural diagram differ from an object model?
(Answer in terms of some object model notations such as Universal
Modeling Language object models or Object Modeling Technique object
diagrams.) What do architectural diagrams convey that accounts for
the difference? What kinds of reasoning can you do about this problem
with your architectural diagram? Does an object model support the
types of reasoning you've identified? Do each of the diagrams scale
to systems with large numbers of components? (Justify your answers.)
What sorts of things do both models omit?
- 3.
- Describe the architecture of your system (both the provided
part and the parts you added), explaining how it is an example of an
object-oriented architecture, and in what ways (if any) it deviates
from the basic object-oriented style. Describe how your system
implements each of the new functionalities required. Justify your
design decisions. Be certain to use architectural concepts and
vocabulary (not programming language constructs), and provide
architectural diagrams for provided and modified architectures.
- 4.
- For each of the changes you made, explain if the change was of
the internals of one of the system components (e.g., data structures or
algorithms) or of the system architecture (e.g., adding modules,
deleting modules, adding connections between modules,
augmenting interfaces).
- 5.
- Describe how you would add prerequisites for courses in the
current system. Address how to issue warnings when courses are
taken before their prerequisite courses, and changes needed
to the JDBCExtension package and other objects used in the
system.
- 6.
- Describe how you would add encryption to the stored data, considering
how to make your change both if you could change the JDBCExtension
code and if you could not.
- 7.
- Does the system lend itself to a distributed implementation
(i.e., different modules running on different processors or machines)?
If so what changes would have to be implemented to make it function this
way? Consider things such as how this will effect module interfaces
and how well the architecture will support concurrency.
The commentary should be your own work: i.e., individuals, not teams
for commentary.
Next: Grading criteria
Up: No Title
Previous: Discussion
Tom Conversion Service