Uploaded by Tuannn Hoang

195027 Tran Tuan COMP1821 coursework 2710095 1654545936

advertisement
Cover Page
Class COS1203 Group6:
Tran Huu Hoang Tuan: GCS230462
Nguyen Vi An: GCS230205
Huynh Khoi Nguyen: GCS230231
Nguyen Tran Minh Nhat: GCS230477
Cao Quoc Dat : GCS230210
Module Code: COMP 1821
Module Assessment Title: Principle of Software engineering
Lecturer Name: Mr. Lam Nguyen Trung Nam
Submission Date:26th April 2024
Table of contents
1) the 5 Ps relevant to the given case study and document them ................................................ 3
a) The 5 Ps relevant to the given case are ..................................................................................... 3
Problem ............................................................................................................................................... 3
Process ............................................................................................................................................... 4
Project ................................................................................................................................................. 7
Product: .............................................................................................................................................. 8
b) A list of functional and non-functional requirements............................................................. 9
Non functional requirements ......................................................................................................... 9
Functional requirements................................................................................................................. 9
2) The Entity-Relationship Diagram (ERD) of e-consult system.................................................... 9
3) Implement a database........................................................................................................................ 12
4) Create the proposed system design using object-oriented analysis and design .............. 21
Use Case Diagram:............................................................................................................................. 21
Class Diagram ..................................................................................................................................... 21
Sequence Diagram:............................................................................................................................ 24
References ............................................................................................................................................... 26
Self-Assessment Sheet ......................................................................................................................... 28
Group report
1) the 5 Ps relevant to the given case study and
document them
a) The 5 Ps relevant to the given case are:
Problem:
There are many problems and issues in e-consult that we have not yet perfected, so e-Consult
has not yet brought high efficiency and a smooth, complete patient experience. We will give a
specific example to clearly state this situation: Some patient information provided is not clearly
and completely verified. Therefore, the e-Consult system cannot automatically determine the
priority of the patient's problem, so that specific patient's request cannot be resolved quickly and
reliably. guarantee accuracy. And to improve the effective use of e-Consult, we need to
implement, and highlight features that patients can be selected and used as follows:
- Users (patients) should be allowed to notify their preferences regarding where services are
performed. For example: the location they are in right now and the clinics and surgical hospitals
closest to them (possibly near their home or near their workplace) etc.
- Users (patients) can also be allowed to see the real-time waiting status of their request. For
example: Patients are assigned to see which doctor, which room, and the specific time of their
case, or patients can see whether their request is pending review or has been reviewed, etc.
- Users (patients) can see the estimated time of their requests being resolved so they don't feel
frustrated, don't feel like they're wasting their time, and more importantly, this way can help. they
do not access other service applications.
- Users (patients) must have access to their past medical history so that they can easily know
the date when they need to be re-examined and they can also easily contact the hospital about
problems or questions they are having about online medical history.
- The final and most ideal solution is that the e-Consult system should update a system called
the priority queuing system. In that priority system, every patient is prioritized according to their
severity.
Process:
Waterfall Model and Agile Model comparison:
1. Waterfall Model:
 Definition:
We can simply understand that the waterfall model is a linear, sequential approach like the
software development life cycle (SDLC). The waterfall model uses the perfect and logical
processes of SDLC to apply to a project, which we can roughly understand as directing water to
flow over the edge of a cliff. It will set separate endpoints or goals for each development stage
step. Those endpoints cannot be returned to and cannot be reviewed after completion. [1]
 Pros:
+ Clear structure: It will operate according to a linear and sequential process, extremely easy to
understand and easy to manage. Each stage has specific deliverables and review processes
before moving on to the next stage. [1]
+ Easier to manage: The linear nature of the Waterfall Model makes management a lot easier,
especially for those Small to medium projects with stable requirements and clear goals. [5]
 Cons:
+ Inflexible: Once we have completed one stage and moved to the next stage, it is very difficult
for us, and it is expensive to go back and change previous stages. [3]
+Difficult to manage with large and complex projects: The Waterfall Model may not be very
effective for large projects. Because it is quite complicated and has many factors that are not
certain enough and will require frequent changes. [3]
2. Agile Model:
 Definition:
A simple way to understand Agile Model is that Agile Model is a commonly used term. often to
describe software development approaches. These methods will continuously plan, improve,
team, learn, deliver, and evolve. And this model encourages flexible responses to change. [6]
 Pros:
+Agility: Using Agile allows teams to respond quickly and extremely effectively to changes in
customer or market requirements. Thanks to that, Agile projects can adapt to newer conditions
and must completely meet real-world needs. [4]
+Easier to manage large projects and reduce risks: We can divide each part of a large project
into small parts to minimize certain risks to increase the likelihood of success in projects. big.
And thanks to that, we can detect and resolve potential problems in large projects as early as
possible to avoid affecting the quality and progress of the entire project. [7]
 Cons:
+Difficult to manage the density of employees: Employees will easily lose focus because of
uneven and inappropriate time distribution when all employees simultaneously carry out many
small projects at the same time. This greatly affects the overall density, the unevenness will
seriously affect the productivity of the whole team, company, etc. [2]
+The structure is quite complex and requires high skills: Agile's structure is often crossfunctional and self-organizing. Accordingly, teams using Agile will independently assign tasks
without relying on hard descriptions of titles or working based on any other clear hierarchy in the
organization. This type of structure is quite complicated to use and is not a suitable structure for
those with little experience. [8]
 Choosing a model:
For the case study, Waterfall will be the best choice because of the clarity of requirements. and
the role of each person in my team will be specific as follows:
-Project management: The project manager here is simply understood as the person who will
supervise the entire project. This person has quite an important role because they must ensure
that the work is always carried out on schedule. level and suitable within the budget. They will
coordinate activities among team members, they will manage resources and notify and
communicate process progress to relevant parties.
-Business Management: The business manager is the person who will capture and analyze the
business comprehensively. They will work closely with stakeholders to collect and analyze all
requirements. They will manage the entire economy of the group and ensure that the group
successfully achieves its desired goals.
-System manager: The system manager is understood as an observer and controller to ensure
the safety of the group's working system. They will focus on protecting and reporting risks of
negative impacts on the group's economy and progress.
-Architect: The person who will design the overall structure and architecture of the entire
software system on the group's web. They will determine the essential structures and how to
make the entire structure look professional, safe, and prestigious.
-Accounting: This is also another important responsibility. They will record and summarize all
finances and revenue of the group in a certain cycle. This will have the effect of identifying
specific revenue over a cycle so the team can know when to fix and develop the system to
increase revenue.
Project:
In this project, we will use a full structure and clear the following targets: Scope, Timeline,
Budget, and Deliverables.
-Scope: In this first goal, we will update the e-Consult mobile application for one purpose: to
completely solve all the problems raised in the group's plan with the desire to improve the
experience. patient experience in the most complete and successful way
-Timeline: This project has a fairly tight deadline of 18 months. The reason there is such a fixed
deadline is because Mr. Morrison - General Director of our company set it. During these 18
months, we must devote all our available abilities and energies to be able to complete our goals
quickly and successfully. Since this is not a long period of time, employees must pay close
attention and try their best every day.
-Budget: The budget provided for this project reached £800,000. This is not a small number, but
to provide patients with a gentle and easy medical examination process, senior managers have
made the right decision.
-Deliverables: Total deliverables include updated applications, employee training materials, and
application development documentation.
Product:
This product is a long and important process for our company. And below are the possible
sources of tools in our product:
-Model: We use Waterfall Model for this project. Because we want it to operate in a way that is
easy to understand, safe, and especially easy to manage. Ease of management really helps us
a lot. Because we want to take care of patients and approach the patient's mind in the most
considerate and easy way. So, the Waterfall Model will be our most reasonable choice.
-Upgrade projects: We will upgrade the e-Consult system as soon as possible. This will help
many interested and trustworthy patients choose our services in the future. And we will try to
achieve Top 1 rankings.
-Information preservation: We will preserve patient information and medical history in the most
optimal way to protect patient information security.
-Full documents: We will store all data related to upgrades, medical examinations, information,
revenue, etc.
People:
The following are the areas for each people:
-General director of the company – Mr. Morrison: This is the head of our company. People will
come up with ideas and build e-Consult together. He will review the entire process and make his
own assessment. Mr. Morrison is also the person who will correct mistakes that employees
cannot see, and he will provide finance for the company so that the company can develop every
day.
-Director of the company – Mr. Felix: This leader will make his final decisions and must follow
Mr. Morrison’s plan. Mr. Felix will receive investment money from Mr. Morrison and then he will
use this money to pay employees and together upgrade the e-Consult application system.
-Patients: These will be the company's customers. They will be vital to our service. They will be
consulted and examined thoroughly, safely, and thoughtfully.
-Doctors: These will be the staff members who will serve patients. They will use all their
intelligence and experience to examine and treat their patients throughout the patient's use of
the service.
-Online staffs: These will be the people behind and trying every day to upgrade, store, improve
and monitor patient information, upgrade the entire software system, and contact patients
whenever they need it.
b) A list of functional and non-functional requirements.
Non functional requirements :
•
Accessibility : Accessibility can be viewed as the "ability to access” and everyone could
login from any device without any problem.
•
Security : with the extension of e-Consults , security is a must and a top priority thing
since patients share their personal information.
•
Usability : to expand the numbers of users , easy to use is a way to make patients feel
comfortable and gain their fondness.
•
Performance : since most of the time the users send any requests , they have to wait for
about 3-4mins so the performance is the key to their trust.
•
Maintainability : easy to maintain so it will not take time too much time to be available
again.
Functional requirements :
•
Allow users to provide current location and select a clinic close to home or workplace.
•
Display real-time status of the consultation request.
•
Provide estimated times for addressing requests.
•
Grant access to patients' previous medical history.
•
Prioritize patients based on the severity of their condition.
•
Provide real-time support through the existing online system.
2) The Entity-Relationship Diagram (ERD) of e-
consult system:
Entities in the diagram:
MedicalHistory, Patient, Doctor, Appointment, ExaminationResult, Prescription.
Attributes of each entity:
Patient: PatientID(PK), Name, Age, PhoneNumber, Email, Gender, Latitude, Longitude
Doctor: DoctorID(PK), Name, Field, PhoneNumber, Email
Appointment: AppointmentID(PK), Date, Time, Status, Priority, PatientID(FK), DoctorID(FK)
Medical History: MedicalID(PK), History, Diagnosis, FamilyHistories, MedicalNote, PatientID
ExaminationResult: ConditionID(PK), Description, AppointmentID(FK)
Prescription: Prescription(PK), Medication Details, ConditionID(FK)
Relationship:
The relationship between Patients and appointment is one-to-many. This is because this
relationship represents 1 patient can have many appointments, but a consultation has only 1
patient. (1, n: n=1,2, 3...)
1
The relationship between Doctor and Appointment is one-to-many. Because this relationship
represents 1 doctor can have many appointments, but a consultation has only 1 doctor. (1, n:
n=1,2, 3 .. )
The relationship between Medical History and Patient is one-to-one. Because one patient has 1
Medical History
The relationship between Appointment and ExaminationResult is one-to-one. Because one
Appointment can only 1 Examination result.
The relationship between ExaminationResult and Prescription is one-to-one. Due to 1
Examination can have only prescription but 1 prescription only have 1 consultation.
ERD design
Data flow diagram:
According to the concepts outlined on GeekforGeek [9] (2023) Data Flow Diagrams (DFDs) are
visual representations of a system that demonstrate how data flows within the system. DFDs
can be divided into various levels that offer different levels of detail about the system. In this
context, we are referring to the level 0 DFDs:
Level 0 DFD is the top-level DFD that provides a summary of the entire system. It displays the
major processes, data flows, and data stores in the system, without presenting any specifics
about how these processes operate internally.
This is a Level 0 DF diagram, also known as a context diagram, which provides an overview of
the entire e-consult system. The diagram illustrates the E-consult process data flow between
different entities. It shows how the patient sends information to our system, after which the
system forwards it to the doctor for diagnosis. Then it offers prescriptions for patient
3) Implement a database.
The goal is to create a database for storing information about patients, doctors, consultations,
medical conditions, and prescriptions. Storage like this helps us easily query the information we
need and manage data easily for our products. These are following steps to implement a
database by MS Access:
Add a patient to the system.
3--' Query 1
X
Em Patient
X
INSERT INTO PATIENT (Name, Age, PhoneNumber, Email, Gender, latitude, longitude)
VALUES('John', 18, '0796991061 ', 'john123@gmail.com', 'Male', 10.80134, 106.6497825);
X
Once you click Yes, you can't use the Undo command to reverse the changes.
Are you sure you want to append the selected rows7
i:§'.l Query1
X
PatientlD
[:I Patient X
Name
T
4 John
(New)
X
Age
T
PhoneNumt T
18 0796991061
Email
Gender
j ohnl23@g., m_a_i.,_M_al_e
Latitude
T
10. 80134
Longitude
T
106. 6497825
Add medical history for patient
Add doctor to the system:
Delete patient details:
Update patient information:
Add an appointment to the system:
View the status of a particular patient’s appointment:
View medical history of Patient:
The relationship between e-consult tables:
View the history of all the appointments for a particular patient including patient ID, and
consultation time:
I use SQL join method to query the consultation’s history of a patient. A JOIN method is used to
combine rows from two or more tables, based on a related column between them.
I select the AppointmentID, PatientID, PatientName, AppointmentDate, and AppointmentTime. I
join the Appointment table with the Patient table using Appointment.PatientID =
Patient.PatientID as the join condition, assuming PatientID in the Appointment table references
the PatientID in the Patient table.
4) Create the proposed system design using
object-oriented analysis and design
Use Case Diagram:
We have a Use Case Diagram that depicts a set of use cases for a system, along with the
actors and their relationships with the use cases. In this example, the system is an online
medical examination platform (e-consult system), and the actors are the patients who use the
platform to access consultation services and schedule appointments. Additionally, the doctors
will receive information through the platform to diagnose the patients and prescribe appropriate
medication.
Class Diagram:
In this class diagram design, there are 7 classes: User, Patient, Doctor, MedicalHistory
Appointment, ExaminationResults, Prescription.
User class include:
- Attributes: ID, Name, PhoneNumber, Email.
- Methods: UpdateInformation(), GetInformation().
Patient class include:
- Attributes: Age, Gender, Latitude, Longtitude Examination results, Appointment schedule.
- Methods: UpdateInformation(), GetInformation(), Cancel Appointment(AppointmentID),
ViewExaminationResults(), ViewAppointments().
Doctor class include:
- Attributes: Specialist, Appointment.
- Methods: UpdateInformation(), GetInformation(), ViewExaminationResults(PatientID),
ViewAppointments(), CancelAppointment(AppointmentID).
Appointment class include:
- Attributes: ID, BookingTime, PatientID, DoctorID, Status, TentativeTime, CreatedAt, UpdateAt,
Priority, Note.
- Methods: SetInformation(), GetInformation().
The ExaminationResult class includes:.
- Attributes: ID, Description, PrescriptionID, AppointmentID, PatientID, DoctorID.
- Methods: SetInformation(), GetInformation().
Prescription class include:
- Attributes: ID, MedicationDetails.
-Methods: SetInformation(), GetInformation().
Relationships:
The relationship between Patient class and Doctor class is to inherit User class with attributes
such as: ID, Name, PhoneNumber, Email.
The relationship between Patient class and Appointment class is one-to-many. This is because
one patient can have multiple appointments. Likewise, the relationship between doctor class
and Appointment class is one-to-may. This is because a doctor may have multiple
appointments.
The relationship between Patient class and MedicalHistory class is one-to-one. This is because
one patient only has one medical history, and the next time the patient reexamines, so doctor
just update medical history.
The relationship between Appointment class and ExaminationResult class is one-to-one. This is
because an appointment only has one medical result. Likewise, the relationship between the
ExaminationResult class and the Prescription class is one-to-one. This is because a medical
examination result only produces a prescription for the patient.
Sequence Diagram:
Scenario 1:
Scenario 2:
Scenario 3:
References
[1] :TechTarget (2022) What is the Waterfall Model? Definition and Guide. Available at :
https://www.techtarget.com/searchsoftwarequality/definition/waterfallmodel#:~:text=The%20waterfall%20model%20is%20a,the%20edge%20of%20a%20cliff.
[2] Viindoo.com ( 2023 ) Compare the difference between Agile and Waterfall in project
management. Available at :
https://viindoo.com/vi/blog/quan-tri-doanh-nghiep-3/mo-hinh-agile-la-gi-uu-nhuoc-diem-va-cachtrien-khai-hieu-qua516#:~:text=One%20of%20the%20differences%20between,features%20completed%20in%20s
hort%20cycles.
[3] : Base Blog (2024) What is Waterfall Model? How to apply the waterfall model effectively.
Available at : https://base.vn/blog/mo-hinh-waterfall/
[4] Base Blog (2024) What is Agile? How to apply the Agile model in project management.
Available at : https://base.vn/blog/agile-la-gi/
[5] TesterPro (2022) Overview of the waterfall model in software development. Available at:
https://testerpro.vn/mo-hinh-thac-nuoc/
[6] Fmit (2021) What is Agile? Overview of Agile model. Available at :
https://fmit.vn/tin-tuc/cac-phuong-phap-trong-quan-ly-du-an-agile-lagi#:~:text=Agile%20l%C3%A0%20m%E1%BB%99t%20tri%E1%BA%BFt%20l%C3%BD,l%C3
%BD%20ph%C3%A1t%20tri%E1%BB%83n%20ph%E1%BA%A7n%20m%E1%BB%81m./
[7] HocVienAgile (2021) Agile project management - Effective project progress control. Available
at:
https://hocvienagile.com/quan-ly-du-an-theo-agile-kiem-soat-tien-do-du-an/
[8] UEH Alumni (2022) What is Agile? What is Scrum? How does the operating process work?
Available at :
https://alumni.ueh.edu.vn/agile-la-gi-scrum-la-gi-quy-trinh-van-hanh-ra-sao/
[9]:GeeksforGeeks (2023) Levels in data flow diagrams (DFD), GeeksforGeeks. Available at:
https://www.geeksforgeeks.org/levels-in-data-flow-diagrams-dfd/
Self-Assessment Sheet
A B C D E F Comments
the 5 Ps
 Problem:
X

Process
X

Project
X

Product

People
After obtaining all the necessary
information from each member
of the group, I was able to
identify the specific problem. I
presented the problem in a
comprehensive manner to
ensure that everyone
understood it. Next, I proposed
a crucial project and provided a
concise description of the
product. I then assigned each
person their respective roles
and responsibilities. Finally, I
compiled a comprehensive and
clear 5 Ps section.
X
X
functional and
non-functional
requirements:
X
Non-functional requirements:
Accessibility: The system should
ensure seamless access for
users from any device, enabling
them to log in without
encountering any usability
issues.
Security: Given the extension of
e-Consults, ensuring the highest
level of security is paramount,
as patients will be sharing their
personal information through the
platform.
Usability: Enhancing user
experience and facilitating ease
of use are crucial factors in
attracting and retaining a larger
user base, particularly patients
who should find the system
intuitive and user-friendly.
Functional requirements:
Location-based Clinic Selection:
Enable users to input their
current location and provide the
option to select a clinic close to
their home or workplace.
Real-time Consultation Status:
Display the real-time status of
consultation requests, allowing
users to track the progress of
their requests from submission
to resolution.
Estimated Response Time:
Provide users with estimated
times for addressing their
requests, giving them an idea of
when they can expect a
consultation.
Access to Medical History:
Grant users access to their
previous medical history,
allowing healthcare providers to
have comprehensive
Structured design,
 Entity Relationship
Diagram

Data Flow Diagrams.

SQL queries
information when addressing
patients' needs.
Priority-based Triage:
Implement a prioritization
system that assesses the
severity of patients' conditions,
ensuring that urgent cases
receive immediate attention.
Real-time Online Support: Offer
real-time support to patients
through the existing online
system, facilitating prompt
assistance and addressing any
concerns or questions they may
have
After reviewing An's class
diagrams, Tuan designed an
effective and interconnected
ERD that meets the project's
needs.
A well-designed ERD helps
people understand the data
model and ensures that the
database can effectively store
and retrieve information.
X
X
I created a Level 0 DFD based
on my entity relationship
diagram to demonstrate how
data flows through the system
and represent the system's
functionality.
X
After fully executing the query
statements, I have implemented
the system relationship diagram
into the database. I have also
ensured that the relationship
tables are error-free, and all
data in database is consistent
and reasonable.
UML Design
Use Case Diagram
X
Use Case Diagram provide
enough detail to clearly
understand how the system
works. It is designed properly
and is easy to understand and
use.
Design Class diagrams
X
Our design Class Diagram
provides complete details of the
system and correct
requirements. It is designed to
be easy to understand and use.
Furthermore, the arrangement
of classes and relationships is
logical. This Class Diagram
provides essential information to
developers and system users.
X
Sequence Diagrams
Our Sequence Diagrams are
designed quite simply to make it
easy to understand how objects
interact with each other. It
describes important messages
exchanged between objects.
Group/Team Name: 6
Team member name
Student ID
Student1:
GCS230462
individual overall
work contribution
(%)
25%
Signature
25%
Nguyen
Tuan
Tran Huu Hoang
Tuan
Student2:
GCS230231
Huynh Khoi Nguyen
Student3:
GCS230205
25%
An
Nguyen Vi An
Student4:
Nhat
15%
Nhat
Student5:
Dat
10%
Dat
Total 100%
Individual contributions for each task:
Student 2:
work contribution in %
Student 3:
work contribution in %
Student 4:
work contribution in %
Student 5:
work contribution in %
total
Student 1:
work contribution in %
Describe each task you performed
Task: 5PS
20%
50%
20%
5%
5%
100%
Task: Functional and non-Functional
10%
10%
10%
35%
35%
100%
Task: ERD DFD Database
50%
20%
20%
5%
5%
100%
Task: Use case, class diagram,
20%
20%
50%
5%
5%
100%
(For example the creation of a Use
case diagram)
sequence diagram
Download