Question 1 - Use Case Realization - 30 marks
Part 1 - Sequence Diagrams (20 marks)
Given full use case descriptions for two separate use cases, produce sequence diagrams to describe the information flows necessary to support at least the normal flow for each use case. (Advanced - include sequence diagrams to support major alternate flows.)
Part 2 - Summary Analysis / Design Class Diagram (10 marks)
Apply the results of your use case realizations for the two use cases to create a summary analysis / design class diagram showing attributes and methods required to support both use cases.
Rationale
This assignment assesses student competencies in regard to the following learning outcomes:
LO2 - be able to analyse and verify system requirements
LO3 - be able to produce and verify analysis and design models for a system;
LO5 - be able to demonstrate use of a Computer Aided Software Engineering (CASE) tool to document the models in a system.
Sandia Medical Devices Revised Domain Model
The domain model for Sandia Medical Devices has been revised in the light of DB design, and further
use case requirement analysis. Here is the revised diagram. Explanatory notes follow.
Person – is the base class for all people in the system. A Person has a Phone and knows their own
name.
MedicalStaffMember – is a type of Person and is the base class for all medical personnel. Medical
staff know their staff ID.
Doctor – is a type of MedicalStaffMember. Doctors supervise Patients. They know which patients
they supervise, and they can set AlertConditions for those patients. They can assign Patients to
FirstResponders.
FirstResponder – are another type of MedicalStaffMember. They can be assigned a number of
Patients to monitor by one or more doctors. They know which patients they have to monitor and
which doctors they report to. A first responders job is to respond to Patients Alerts and to decide
whether to notify the attending Doctor.
Patient – is a type of Person. A Patient accumulates a history of glucose Observations and Alerts. A
Patient may have several different AlertConditions set for them. If a glucose reading satisfies and
AlertCondition the patient may generate an Alert. A patient knows which Doctor is looking after
them but does not know which FirstResponder will necessarily respond to an Alert.
Observation – is a reading of glucose level for a Patient at a particular time. An Observation knows
what Patient it is for, what time it was taken, and which MonitoringDevice it was made by. It also
knows what glucose level it measured.
Alert – is a notification raised by a Patient, when an Observation satisfies one of the Patient’s
AlertConditions. An Alert knows which Observation and what AlertCondition triggered it, it also
knows what PatientResponses and MedicalResponses are attached to it.
AlertConditions – are conditions describing glucose levels or a pattern of glucose levels which a
Doctor believes needs some type of response. AlertConditions also contain instructions as to what
that response should be, both by the Patient, and any FirstResponder who receives an Alert
triggered by the AlertCondition.
Response – is an action taken in response to an Alert. Responses know what Alert they are for, and
at what time the Response was made. A Response contains a Message.
PatientResponse - is a type of Response recorded by a Patient.
MedicalResponse – are a type of Response which documents any actions taken by a
MedicalStaffMember in response to an Alert. Medical responses know which MedicalStaffMember
made them.
Message – is a communication between one Person and another. Messages may pass both ways
between between Doctors and Patients, Doctors and FirstResponders, and FirstResponders and
Patients. Messages know who sent them and who they are intended for.
TextMessage – is a type of Message. Text messages contain text.
AudioMessage – is a type of Message. Audio messages contain a voice recording
SmartPhone – are devices to which MonitoringDevices are paired with Bluetooth. They know their
own phoneNumber, and what OS and osVersion they run so that the right version and updates of
the SMD app can be loaded on them.
MonitoringDevice – is a Bluetooth enabled glucose sensor. It takes glucose readings and sends them
to the SmartPhone it is paired with. MonitoringDevices have a number of hardware related
attributes that allow them to be updated similarly to SmartPhones.