next up previous
Next: Grading criteria Up: No Title Previous: Discussion

Due date and electronic hand-in

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 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 up previous
Next: Grading criteria Up: No Title Previous: Discussion
Tom Conversion Service