FIT3077 - Assignment 1 (Safe Heart): UML Diagrams, Use Case, Report

Verified

Added on  2021/09/27

|4
|1054
|328
Homework Assignment
AI Summary
This assignment, part of the FIT3077 course, focuses on the development of a Safe Heart application, designed to record patient health information and estimate 10-year cardiovascular risk. The solution includes a UML class diagram illustrating the application's structure, with classes such as User, Patient, Clinician, and Reynolds Risk Score, and their associations. A use case description outlines the application's functionality, including the calculation of the Reynolds Risk Score and the ability to simulate changes in patient vitals. A sequence diagram shows the interactions between objects to implement the use case. Finally, a short report summarizes the design choices, including the rationale for using a sequence diagram over a communication diagram, and discusses the relationships between different classes and their roles in the application. The assignment was created using www.lucidcharts.com and follows the guidance of Dr. Chun Yong Chong.
Document Page
1
Assignment 1
FIT 3077
Name: Giridhar Gopal Sharma
Student ID: 29223709
Lab class: Wednesday 5-6pm
Scenario: Safe Heart
(a) UML Diagram for the scenario:
tabler-icon-diamond-filled.svg

Paraphrase This Document

Need a fresh take? Get an instant paraphrase of this document with our AI Paraphraser
Document Page
2
(b) Use case description:
USE CASE Develop the Safe Heart application that records information about a patient’s health
and estimates the 10-year cardiovascular risk of an individual
ACTORS Clinician, Patient
PURPOSE To calculate and keep track of Reynold’s risk score for a patient
DESCRIPTION The Safe Heart application will present registered patients vitals and lab
measurements (imaging results and device measurements) and the calculated
Reynolds Risk Score, which predicts the risk of having a future heart attack, stroke,
or other major heart disease in the next 10 years, along with a succinct, patient-
friendly explanation for each result. Furthermore, the Safe Heart app also offers
simulation: the clinician or patient can make changes to one or more of the patient’s
vitals or lab results to see how the patient’s current Reynolds Risk Score could be
improved. Clinicians can search for patients of certain characteristics, and view
different statistics about their Reynolds Risk Score. This helps them get an
understanding of the health demographic in their neighbourhood.
TYPE Primary
CROSS-REFERENCE None
TYPICAL COURSE OF EVENTS:
Actor Action System Response
The patient enters values and details. The application calculates the Reynold risk score
for any heart disease for the next 10 years.
The Reynolds risk score is generated for the view
of the patient and the clinician.
The clinician can search any patient’s Reynolds risk
score and provide solutions.
The patient enters new values for the vitals and lab
measurements.
Reynolds risk score is re-calculated by the
application.
The new Reynolds risk score is generated from the
newly calculated values by the application and then
a report is generated which has an explanation of
new results based on the change in the vital and lab
measurements.
The patient now can compare the old and new
reports for further clarification and check for
improvements with different results.
Document Page
3
(c) Sequence Diagram:
Using the class diagram, this is the sequence diagram (interaction diagram) to show how the objects interact
to implement the above use case.
Document Page
4
(d) Short Report:
So, for the UML diagram, I followed the general class diagram concept along with its key features. My
diagram had several classes such as user, patient, clinician, Reynolds risk score, and many more which were
represented by rectangle containing the class name. All the classes had associations linked with each other
represented and linked by arrows, arrowheads and lines. The patient and clinician shared an aggregate
relationship with the user. The vitals and lab measurement, patient’s personal information and social history
and core characteristics are a composition of the patient details which is the subclass of patient. The user
collection is a composition of user class. Clinician is also a composition of specialist and general
practitioner. Health measurements is a part of the patient however, health measurement has a navigable
association to the clinician. The patient inputs information in the the vitals and lab measurements data. This
data is collected by the simulation class which then sends the information to the Reynolds risk score for
calculation. The report class is basically a composition of Reynold’s risk score, vitals and lab measurements,
and patient friendly explanations. The Reynold’s risk score is then viewed by the patient. Any changes made
to the vital and lab measurement or patient details will cause changes to the data and hence the application
will recalculate the Reynold’s risk score. This will create a new report which the user can compare with the
previous one and check for improvements. No information can be generated if there is no patient or any
information about the patient, hence the classes shared a composition relationship. The User collection is an
aggregate of the user which is a composition of the patient and clinician.
For the Interaction diagram, I chose to make a sequence diagram because sequence diagrams emphasize
more on sequence of events whereas the communication diagrams show relationship between the classes
well. I preferred using sequence diagram to show how objects in the class diagram interact to implement the
use case, as they have some advantages over communication diagrams. Perhaps first and foremost,
the UML specification is more sequence diagram centric—more thought and effort has been put into the
notation and semantics. Thus, tool support is better and more notation options are available. Also, it is easier
to see the call-flow sequence with sequence diagrams—simply read top to bottom.
The disadvantage of sequence diagram is that it is not good at defining behavior of the class. In contrast,
new objects in a sequence diagrams must always be added to the right edge, which is limiting as it quickly
consumes and exhausts right-edge space on a page (or wall); free space in the vertical dimension is not
efficiently used. Developers doing sequence diagrams on walls rapidly feel the drawing pain when
contrasted with communication diagrams.
During the designing of my UML diagram, I found that creating classes for user and clinician to register
using email and create a password was redundant and was abolished while making the diagram. Other than
that, basically all the classes created were implemented in the class diagram which interacted well with the
use case.
Overall, the class diagram and sequence diagram were designed strictly based on the question without any
additional features. The software used to make the diagrams was www.lucidcharts.com. For reference to the
subject, the lecture slides were referred for academical knowledge of the subject and under the guidance of
my lecturer, Dr Chun Yong Chong.
End of Assignment
chevron_up_icon
1 out of 4
circle_padding
hide_on_mobile
zoom_out_icon
[object Object]