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