W06SENG311 A4
From Craig
| Table of contents |
F05 SENG 311 : Assignment number 4
Implementation
Value: 8%
Due: Friday, March 24 @ 16:00
NOTE: TO BE HANDED IN WITH ASSIGNMENT NUMBER 5
Assignment goals
In this assignemnt, you will be implementing the system based on the work you have completed as part of assignments #1, #2, and #3. You are required to implement the objects which will make up the application layer of the system in question. You will be required to create a very simple user interface for interacting with the application layer.By completing this assignment you will:
- Understand the relationship between the analysis and design you have completed an implementation.
- Understand how to implement 1-1, 1-many and many-to-many relationships.
- Gain experience developing a system based on a design specification.
- Expand your understanding of the interaction between analysis and design to include implementation
Assignment specifications
In assignment number 3, you were asked to design a solution for the problem defined in assignments #1 and #2. For this assignment, you are required to implement the design you specified in assignment number 3.
For this assignment, you can implement the domain model you've identified as part of assignment number 2, or you can use the domain model specified in Figure 1 as a basis for your implementation. Note: Figure one ONLY contains domain classes. It doesn't contain controllers, managers, or UI components. It also doesn't contain customer and address information.
Missing image
W06SENG311Diagram.png
Image:W06SENG311Diagram.png
Demonstration
You are required to demonstrate your program to your TA. In order to do this, you will need to create a simple user interface (UI). For the purposes of this assignment, the UI can be text-based. To pass the demo component of this assignment, you must SHOW the correct implementation and operation of the following functions:
- Send Package (w/ Various Shipping Options)
- Track Package (w/ Multiple location scans and bundlings)
- Trace Package (w/ Multiple bundlings, including bundle within bundle)
- Manifest Report (Show hazardous materials within a vehicle with at least 3 bundles)
PLEASE NOTE: To show the successful implementation of the above functionality, your UI may need to include extra functionality (such as: Add Package to Bundle).
General Requirements
- For each class you've identified in your class diagram, provide an implementation for that class.
- Attributes
- Methods
- For each association you've identified on your class diagram, implement that association in an appropriate manner.
- This will include defining "navigability". Is the relationship uni-directional or bi-directional?
- This will include defining multiplicity.
- This may require resolving complex relationships (ie. bi-directional many-to-many associations)
- Based on your sequence diagrams, implement the methods for the various classes.
- Implement any necessary controller and manager objects
- Implement a simple User interface so that you can interact with the system.
- If you identify any missing attributes, methods, associations, classes, etc. add those to your implementation.
- Write a few paragraphs which answer the following questions:
- Did you add any components to your design which you missed from assignemnt #3? If so, why did you miss those components in assignment number 3?
- Did you have any difficulty in implementing complex associations? if so, what were these difficulties and how did you finally resolve those issues?
- How did you manage to keep your UI reasonably de-coupled from the application layer?
- Generally comment on the cohesion of the classes you finally implemented. Can you see any cohesion problems?
Assignment Deliverables
For this assignment, you are required to hand in:
- Code
- Complete with documentation (using javadoc)
- Final Writeup
- Highlight any changes to previously handed in material: Use Cases, scenarios, sequence diagrams, collaboration diagrams, or class diagram.
Additional information
For this assignment, you may use a drawing tool or case tool to complete the assignment. If you choose to hand-draw your models, please ensure that they are legible.
Handing in your assignment
To hand in this assignment, submit all relevant files using the submit command.
$ submit -c 311 -a 4 files
Note: All files for this assignment should be submitted along with assignment number 5 files.
Evaluation Criteria
The following criteria will be used to evaluate your assignment:
- Spelling/Grammar (10%)
- Documentation (10%)
- Code documented using javadoc
- Code quality (10%)
- Demonstration (20%)
- Associations (20%)
- Cohesion (10%)
- Write-up (20%)
For each of the above criteria, students will be assigned a letter grade. The final grade for the assignment will be computed by multiplying the criteria marks by their weightings. The results will be summed to produce a final GPA which will be converted to a letter grade using the official University of Calgary grading system.
