Spring 2018 COMP 3700
Homework 5
Due: March 30, 2018 by 11:59PM
(Please submit as a single PDF document via Canvas)
This assignment is worth 100 points.
A (20) For each of the following systems list the applicable structural and control style(s) of system architecture covered in class (e.g., repository, client-server, three-tier client server, abstract machine model, centralized, event-driven). Justify your answers.
a (An electronic chess companion), b (An airplane flight simulator for a video game), c (A floppy disk controller chip), d (A sonar system)
B (80) In a situational awareness system officers such as police officer or fire fighter, have access to a wireless computer that enables them to interact with a correspondent. The correspondent can in turn visualize the current status of all its resources, such as police cars or trucks and call a resource by issuing commands from a workstation.
Use case name: Report Emergency
Participating Actors: Initiated by the officer and communicates with correspondent Flow of Events:
1. The officer activates the “Report Emergency” function of her terminal
2. System responds by presenting a form to the officer
3. The officer fills the form by selecting the emergency level, type, location, and brief description of the situation. The officer also describes possible responses to the emergency situation. Once the form is completed, the field officer submits the form.
4. System receives the form and notifies the correspondent.
5. The correspondent reviews the submitted information and creates an incident in the database. The correspondent selects a response and acknowledges the report.
6. The system displays the acknowledgement and the selected response to the officer.
Precondition: The officer is logged into the system
Postcondition: The officer has received an acknowledgement and the selected response from the correspondent, OR the officer has received an explanation indicating why the transaction could not be processed.
The first step of this assignment is to ensure that you have an appropriate set of objects to arrange into a set of collaborations. The next step is to create collaborations that show how your objects work collaboratively to handle various events within the following three scenarios that refine the basic use case above.
1. John (field officer) submits an emergency report to the FRIEND system via his terminal. The report omits necessary details about the incident (i.e., location, type). Therefore, the system does not accept the report and it displays an error message explaining why.
2. The correspondent is notified by the submission of an emergency report. The correspondent uses the terminal to visualize and check the current status of all the available resources, so that he can send the report and details about the incident to available responder team leaders. The correspondent chooses two team leaders. No team leader responds to the request (even though the incident falls within Matt and Dan’s area of expertise), so the system notifies the correspondent. He, in turn, assigns the incident to Sally.
3. Sally, being a team leader, contacts Gary, Nick, and Mike asking if they are available to respond. Gary and Nick accept, but Mike declines. Sally then asks Tom if he is able to respond, and he accepts. Each responder acknowledges to the team leader when they arrive to the scene. After the incident is handled, each responder completes a report so that Sally can assemble a review report. Once all reviews are complete, Sally writes her summary report and sends using the system all four reviews to the correspondent. The correspondent sets the status of the incident to inactive and then closes the file.
You should create one interaction diagram (i.e. collaboration diagram) for each distinct event in the scenarios above. These events are:
Scenari o |
Event |
1 |
Emergency Report Submitted |
2 |
Submission Info Sent to Available Team Leaders |
2 |
Timer expires; Correspondent Notified |
2 |
Correspondent Assigns Incident |
3 |
Team Leader Selects Responders |
3 |
Responder Accepts; Incident Assigned to Responder with a Deadline to Acknowledge on Arrival to the Area where the Incident Occurred |
3 |
Responder Declines; Team Leader Notified |
3 |
Timer Expires; Responder Sent Reminder |
3 |
Responder Submits Review |
3 |
Team Leader Submits Summary Review |
Your collaborations should make use of boundary, controller, domain objects, and other additional software objects (e.g., data structure components) necessary to completely handle each event.
Evaluation
Your assignment will be evaluated in terms of the quality of your design (i.e., modularity – low coupling, high cohesion), the explanation of the rationale for each object responsibility assignment in terms of the GRASP patterns and compliance with the interaction diagram notation. This question is worth 80 points: 8 points for each event that is correctly documented in terms of UML collaboration (communication) diagram.