1. Trang chủ
  2. » Giáo Dục - Đào Tạo

Đồ Án chuyên ngành Đề tài thiết kế và xây dựng website quản lý bệnh viện

57 6 0
Tài liệu đã được kiểm tra trùng lặp

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Tiêu đề Thiết kế và xây dựng website quản lý bệnh viện
Tác giả Lê Minh Đương
Người hướng dẫn ThS. Đỗ Hoàng Nam
Trường học Trường Đại học Nguyễn Tất Thành
Chuyên ngành Công nghệ thông tin
Thể loại Đồ án chuyên ngành
Năm xuất bản 2024
Thành phố Thành phố Hồ Chí Minh
Định dạng
Số trang 57
Dung lượng 2,37 MB

Cấu trúc

  • CHƯƠNG 1: TỔNG QUAN ĐỀ TÀI (11)
    • 1.1 Khảo sát hiện trạng (11)
    • 1.2 Lý do chọn đề tài (11)
    • 1.3 Mục tiêu của đề tài (12)
      • 1.3.1 Các yêu cầu chức năng của hệ thống (12)
      • 1.3.2 Yêu cầu về giao diện (12)
      • 1.3.3 Các đối tượng quản lý và mô tả đối tượng (13)
    • 1.4 Cấu trúc đề tài và công cụ, phần mềm sử dụng trong dự án (14)
    • 1.5 Các công việc liên quan (15)
  • CHƯƠNG 2. CƠ SỞ LÝ THUYẾT (17)
    • 2.1 Giới thiệu ExpessJs, ReactJs và MongoDB (17)
      • 2.1.1 ExpressJs là gì ? (17)
        • 2.1.1.1 Chức năng chính (18)
        • 2.1.1.2 Cấu trúc cơ bản của ứng dụng ExpressJs (18)
        • 2.1.1.3 Xử lý sự kiện trong ExpressJs (19)
        • 2.1.1.4 Ưu điểm và nhược điểm của ExpressJs (19)
      • 2.1.2 ReactJs là gì ? (20)
        • 2.1.2.1 JSX (JavaScrip XML) (21)
        • 2.1.2.2 Thành phần (Components) (21)
        • 2.1.2.3 Quản lý trạng thái ứng dụng (21)
        • 2.1.2.4 Virtual Dom (21)
        • 2.1.2.5 Ưu nhược điểm của ReactJs (21)
    • 2.2 Cấu trúc cơ bản của ứng dụng ReactJs và xử lý sự kiện trong ReactJs (22)
      • 2.2.1 Cấu trúc cơ bản của ứng dụng ReactJs (22)
      • 2.2.2 Xử lý sự kiện trong ReactJs (24)
    • 2.3 MongoDB (25)
      • 2.3.1 Đặc điểm chỉnh của MongoDB (26)
      • 2.3.2 Kiểu dữ liệu (26)
    • 2.4 ExpressJs và MongoDB (27)
    • 2.5 Lợi ích của việc sử dụng MongoDB với ReactJS (28)
  • CHƯƠNG 3. PHÂN TÍCH VÀ THIẾT KẾ HỆ THỐNG (30)
    • 3.1 Mô tả tổng quan hệ thống (30)
      • 3.1.1 Trang người dùng (30)
      • 3.1.2 Trang quản trị viên (31)
    • 3.3 Thiết kế và đặt tả sơ đồ BFD của hệ thống (32)
    • 3.4 Phân tích mô hình Use – Case (DFD) (33)
      • 3.4.1 Use – Case tổng quan (33)
      • 3.4.2 Đặc tả Use Case (33)
      • 3.4.3 Quá trình tuần tự của hệ thống (37)
        • 3.4.3.1 Biểu đồ tuần tự cho chức năng đăng nhập (37)
        • 3.4.3.3 Biểu đồ tuần tự cho chức năng khám bệnh (39)
    • 3.5 Thiết kế cơ sở dữ liệu (40)
      • 3.5.1 Mô hình cơ sở dữ liệu (40)
      • 3.5.2 Mô tả chi tiết các bảng (40)
  • CHƯƠNG 4. THỰC NGHIỆM VÀ TRIỂN KHAI HỆ THỐNG (45)
    • 4.1 Các giao diện của Web (45)
      • 4.1.1 Giao diện chính của Web (45)
      • 4.1.2 Giao diện trang Doashboard Admin (49)
  • KẾT LUẬN (5)
    • 1. Kết quả đạt được (53)
    • 2. Hướng phát triển trong tương lai (53)
  • TÀI LIỆU THAM KHẢO (55)
    • 1. Link source code (56)
    • 2. Code mẫu (56)

Nội dung

CHƯƠNG 1: TỔNG QUAN ĐỀ TÀI 1.1 Khảo sát hiện trạng Hệ thống website quản lý bệnh viện là một dự án được thực hiện nhằm tạo ra một nền tảng tìm hiểu thông tin để khám chữa bệnh cho người

CƠ SỞ LÝ THUYẾT

Giới thiệu ExpessJs, ReactJs và MongoDB

- Express.js là một framework web cho Node.js, được sử dụng để xây dựng ứng dụng web và API Nó cung cấp các tính năng giúp quản lý các yêu cầu HTTP, xử lý các route, và tạo các ứng dụng web dễ dàng Express.js cũng tạo điều kiện cho việc tích hợp các middleware để xử lý các yêu cầu khác nhau, như xác thực, xử lý lỗi, và nhiều tính năng khác

Hình 2.1.1 Logo biểu tượng của ExpressJS

Express.js là một framework Node.js giúp xây dựng ứng dụng web một cách nhanh chóng và dễ dàng Nó cung cấp cách tiếp cận đơn giản cho việc xử lý yêu cầu HTTP và phản hồi Express sử dụng routing để xác định cách xử lý yêu cầu từ phía client

- Lightweight: Express được thiết kế để làm ít ảnh hưởng đến hiệu suất của ứng dụng

- Flexibility: Nó cho phép bạn tự do chọn các thư viện mà bạn muốn sử dụng trong ứng dụng của mình

- Middleware: Express sử dụng middleware để xử lý các yêu cầu HTTP trước khi chúng được chuyển đến các routes chính

- Routing: Express cung cấp các phương thức để xác định các endpoints và xử lý các yêu cầu HTTP

- Middleware: Cho phép bạn thêm các chức năng xử lý trung gian cho các yêu cầu HTTP, như xác thực, ghi log, nén dữ liệu, và nhiều hơn nữa

- Template Engine Support: Express hỗ trợ nhiều template engine như EJS, Handlebars, Pug để tạo ra giao diện người dùng động

- Express khuyến khích việc phân chia ứng dụng thành các modules và layers để dễ bảo trì và mở rộng

- Một ứng dụng Express thường bao gồm các thư mục như routes (định nghĩa các routes), controllers (xử lý logic), models (định nghĩa các đối tượng dữ liệu), và views (template files)

- Express.js có một cộng đồng lớn và tích cực, với nhiều thư viện mở rộng và hỗ trợ

- Trang chủ và tài liệu chính thức của Express cung cấp hướng dẫn chi tiết và ví dụ để giúp bạn bắt đầu và phát triển ứng dụng

2.1.1.2 Cấu trúc cơ bản của ứng dụng ExpressJs

- App.js hoặc server.js: File chính chứa cấu hình và khởi tạo ứng dụng Express

- Thư mục routes: Chứa các tệp tin định nghĩa các routes cho ứng dụng

- Thư mục views (nếu sử dụng templating engine): Chứa các file template để render nội dung

- Thư mục public (nếu cần): Chứa các tài nguyên tĩnh như CSS, JavaScript, hình ảnh

- Package.json: File chứa thông tin về dự án và các dependencies

- Node_modules: Thư mục chứa các dependencies của dự án

2.1.1.3 Xử lý sự kiện trong ExpressJs

* Để xử lý sự kiện trong Express.js, bạn sử dụng các routes để xác định cách xử lý các yêu cầu từ client

- Xử lý GET request: Để xử lý GET request trong Express.js, bạn sử dụng phương thức app.get() và xác định hành động cần thực hiện khi nhận được GET request

- Xử lý POST request: Để xử lý POST request, bạn sử dụng phương thức app.post() và xử lý dữ liệu được gửi từ client

Middleware là các hàm có thể xử lý yêu cầu trước khi chúng đến các route hoặc sau khi chúng đi qua các route Middleware có thể thực hiện các hoạt động như xác thực, xử lý dữ liệu, logging, và nhiều công việc khác Để sử dụng middleware trong Express.js, bạn có thể sử dụng app.use() hoặc áp dụng middleware cho một route cụ thể

2.1.1.4 Ưu điểm và nhược điểm của ExpressJs

* Ưu điểm của Express.js:

- Dễ học và sử dụng: Cú pháp đơn giản và dễ hiểu, phù hợp cho người mới học và người có kinh nghiệm

- Mô-đun middleware: Sử dụng middleware để xử lý yêu cầu HTTP, giúp tách biệt logic và dễ bảo trì

- Đa dạng về plugin và middleware: Cộng đồng phát triển mạnh mẽ cung cấp nhiều plugin và middleware để mở rộng tính năng

- Hỗ trợ RESTful API: Phát triển API dễ dàng với các phương thức HTTP

- Hỗ trợ routing: Xác định và xử lý tuyến đường (route) một cách dễ dàng

- Phát triển mạnh mẽ: Linh hoạt và phù hợp cho các ứng dụng web từ đơn giản đến phức tạp

- Hệ sinh thái mạnh mẽ: Được hỗ trợ bởi một cộng đồng lớn, nhiều thư viện bổ sung và tài liệu chi tiết

* Nhược điểm của Express.js:

- Yêu cầu cấu hình thủ công: Đôi khi cần phải cấu hình nhiều thứ để xây dựng ứng dụng phức tạp

- Thiếu tích hợp sẵn: Mặc dù Express.js là một framework nhẹ, nhưng thiếu một số tính năng tích hợp sẵn so với các framework khác

- Quản lý trạng thái khó khăn: Express.js không cung cấp một cách tiếp cận chuẩn cho việc quản lý trạng thái ứng dụng

- Bảo mật: Cần phải tự quản lý bảo mật cho ứng dụng, có thể dẫn đến lỗ hổng bảo mật nếu không được thực hiện đúng cách

- Khả năng mở rộng: Đối với ứng dụng lớn và phức tạp, việc mở rộng có thể gặp khó khăn so với các framework khác như NestJS

ReactJS là một thư viện JavaScript mã nguồn mở được phát triển bởi Facebook

Nó được sử dụng để xây dựng giao diện người dùng cho các ứng dụng web động ReactJS sử dụng mô hình phát triển giao diện người dùng dựa trên thành phần (component-based UI development)

Hình 2.1.2 Logo biểu tượng của ReactJS

- SX là một phần mở rộng của JavaScript cho phép viết mã HTML tương tự như cú pháp XML trong JavaScript JSX giúp xây dựng giao diện người dùng trở nên dễ dàng hơn bằng cách kết hợp mã JavaScript và mã HTML trong cùng một file

ReactJS xây dựng giao diện người dùng bằng cách sử dụng các thành phần (components) Một thành phần là một phần tử độc lập của giao diện người dùng có thể được tái sử dụng và kết hợp lại để tạo thành giao diện người dùng hoàn chỉnh Các thành phần có thể nhận đầu vào (props) và có thể có trạng thái (state) để lưu trữ và cập nhật dữ liệu

2.1.2.3 Quản lý trạng thái ứng dụng

- ReactJS hỗ trợ quản lý trạng thái ứng dụng một cách hiệu quả thông qua các thành phần có trạng thái (stateful components) Trạng thái (state) là dữ liệu được lưu trữ và cập nhật trong thành phần Khi trạng thái thay đổi, ReactJS sẽ tự động cập nhật giao diện người dùng liên quan đến thành phần đó

Virtual DOM là một khái niệm quan trọng trong ReactJS Nó là một bản sao của DOM thực tế của trình duyệt và được lưu trữ trong bộ nhớ Khi trạng thái của ứng dụng thay đổi, ReactJS sẽ cập nhật Virtual DOM, sau đó so sánh nó với DOM thực tế và chỉ cập nhật những phần thay đổi Quá trình này giúp cải thiện hiệu suất và tốc độ render của ứng dụng

2.1.2.5 Ưu nhược điểm của ReactJs

- Hiệu suất cao: ReactJS sử dụng Virtual DOM và thuật toán conciliation để chỉ cập nhật những phần thay đổi trong giao diện người dùng Điều này giúp tăng hiệu suất và tốc độ render của ứng dụng

- Tái sử dụng thành phần: ReactJS xây dựng giao diện người dùng bằng cách sử dụng các thành phần độc lập Thành phần có thể được tái sử dụng và kết hợp lại để xây

12 dựng giao diện phức tạp Điều này giúp giảm mã lặp lại và tăng sự linh hoạt trong phát triển

- Quản lý trạng thái dễ dàng: ReactJS hỗ trợ quản lý trạng thái ứng dụng thông qua các thành phần có trạng thái Trạng thái (state) giúp lưu trữ và cập nhật dữ liệu trong thành phần, và khi trạng thái thay đổi, ReactJS sẽ tự động cập nhật giao diện người dùng liên quan

- Cộng đồng phát triển mạnh mẽ: ReactJS có một cộng đồng lớn và phát triển mạnh mẽ Có rất nhiều tài liệu, ví dụ, thư viện bên thứ ba và công cụ hỗ trợ có sẵn để giúp phát triển ứng dụng ReactJS

- Khả năng học tập ban đầu: ReactJS có một ngưỡng học tập ban đầu Đối với những người mới bắt đầu, việc hiểu và áp dụng cú pháp JSX, quản lý trạng thái và các khái niệm React khác có thể đòi hỏi thời gian và nỗ lực

Cấu trúc cơ bản của ứng dụng ReactJs và xử lý sự kiện trong ReactJs

2.2.1 Cấu trúc cơ bản của ứng dụng ReactJs

- index.js: Điểm khởi đầu của ứng dụng React, nơi mà React được gắn kết với DOM

- App.js: Component gốc của ứng dụng, nơi mà các component khác được gọi và hiển thị

- App.css: Tệp CSS cho component App.js

- index.css: Tệp CSS chung cho ứng dụng

- Nơi chứa các component riêng biệt của ứng dụng

- Mỗi component được định nghĩa trong một tệp riêng biệt (ví dụ: Header.js, Footer.js)

- Mỗi tệp component bao gồm mã JSX và CSS tương ứng (nếu có)

- Nơi chứa các tài nguyên như hình ảnh, biểu đồ, font chữ, vv

- Nơi chứa các trang (pages) của ứng dụng

- Mỗi trang có thể được định nghĩa trong một tệp riêng biệt (ví dụ: Home.js, About.js)

- Mỗi tệp trang bao gồm mã JSX và CSS tương ứng (nếu có)

- Nơi chứa các tiện ích và hàm hỗ trợ cho ứng dụng

- Nơi chứa các dịch vụ và API liên quan đến việc giao tiếp với máy chủ hoặc lưu trữ dữ liệu

2.2.2 Xử lý sự kiện trong ReactJs

Xử lý sự kiện (event handling) là một trong những chức năng quan trọng của React, giúp ứng dụng có thể phản hồi và tương tác với người dùng Trong báo cáo này, chúng tôi sẽ tìm hiểu cách tiếp cận cơ bản để xử lý sự kiện trong React

- Trong React, tên sự kiện được viết theo cách camelCase, ví dụ: onClick, onSubmit, onMouseEnter

* Truyền hàm xử lý sự kiện:

- Khi bạn muốn xử lý một sự kiện, bạn cần truyền một hàm xử lý sự kiện vào thuộc tính tương ứng của phần tử

• Ví dụ: Click me

* Truy cập đối tượng sự kiện:

- Trong hàm xử lý sự kiện, bạn có thể truy cập đối tượng sự kiện bằng cách sử dụng tham số đầu tiên, thường được gọi là event

• Ví dụ: function handleClick(event) { console.log(event.target); }

* Ngăn chặn hành vi mặc định:

- Nếu bạn muốn ngăn chặn hành vi mặc định của một sự kiện, bạn có thể gọi phương thức preventDefault() trên đối tượng sự kiện

• Ví dụ: function handleSubmit(event) { event.preventDefault(); // Ngăn chặn hành vi gửi form mặc định }

- Trong các phương thức của component class, this sẽ không được ràng buộc tự động Bạn cần sử dụng các kỹ thuật như bind, arrow function hoặc property initializer để ràng buộc this

• Ví dụ: this.handleClick = this.handleClick.bind(this);

- Với các component function, bạn có thể sử dụng arrow function để xử lý sự kiện mà không cần ràng buộc this

• Ví dụ: const handleClick = () => { console.log('Button was clicked'); }

* Sự kiện trên nhiều phần tử:

- Bạn có thể gán cùng một hàm xử lý sự kiện cho nhiều phần tử bằng cách sử dụng vòng lặp hoặc các cấu trúc điều kiện

• Ví dụ: Button 1 Button 2.

MongoDB

- MongoDB là một hệ quản trị cơ sở dữ liệu phi quan hệ (NoSQL database) phổ biến, sử dụng tài liệu JSON (BSON) để lưu trữ dữ liệu Đặc điểm nổi bật của MongoDB bao gồm khả năng mở rộng tốt, hiệu suất cao, khả năng đa nền tảng, và tích hợp tốt với các ứng dụng hiện đại

Hình 2.3: Logo biểu tượng của MongoDB

2.3.1 Đặc điểm chỉnh của MongoDB

- Schema-less: MongoDB là một cơ sở dữ liệu schema-less, điều này có nghĩa là bạn không cần xác định cấu trúc cố định của dữ liệu trước khi lưu trữ nó Điều này mang lại sự linh hoạt cho việc thay đổi cấu trúc dữ liệu một cách dễ dàng

- Tài liệu JSON: Dữ liệu trong MongoDB được lưu trữ dưới dạng các tài liệu JSON, điều này giúp dễ dàng làm việc với dữ liệu và tích hợp với các ứng dụng web và API

- Scale-out Architecture: MongoDB được thiết kế để có khả năng mở rộng tốt, cho phép bạn mở rộng cơ sở dữ liệu ngang (horizontal scaling) bằng cách thêm máy chủ mới vào cluster

- Support for Replication: MongoDB hỗ trợ sao chép dữ liệu (replication) để đảm bảo tính sẵn sàng và độ tin cậy của hệ thống Bạn có thể cấu hình các bản sao dữ liệu để đảm bảo rằng dữ liệu của bạn không bị mất trong trường hợp máy chủ gặp sự cố

- Query Language: MongoDB cung cấp một ngôn ngữ truy vấn mạnh mẽ để truy vấn dữ liệu từ cơ sở dữ liệu, bao gồm các truy vấn phức tạp, truy vấn dựa trên điều kiện, và các phép toán aggregation

Trong MongoDB, có nhiều kiểu dữ liệu khác nhau được sử dụng để lưu trữ thông tin trong các tài liệu JSON Các kiểu dữ liệu này bao gồm Double (số thực dấu chấm động), String (chuỗi ký tự), Object (đối tượng lồng nhau), Array (mảng các giá trị), Binary data (dữ liệu nhị phân), Undefined, Object ID (định danh duy nhất của một tài liệu), Boolean (giá trị logic true/false), Date (thời gian và ngày), Null, Regular Expression (biểu thức chính quy), JavaScript, Symbol, JavaScript (với phạm vi), 32-bit integer (số nguyên 32 bit), Timestamp (dấu thời gian), 64-bit integer (số nguyên 64 bit), Decimal128 (số thập phân có độ chính xác cao), Min key (giá trị tối thiểu), và Max key (giá trị tối đa) Các kiểu dữ liệu này cho phép MongoDB lưu trữ một loạt các thông tin khác nhau trong cơ sở dữ liệu của mình

Hình 2.3.3: Các trường dữ liệu trong dự án

ExpressJs và MongoDB

Cách thức kết nối MySQL với ReactJs

* Xây dựng Backend Server với Express.js và MongoDB

- Sử dụng Express.js và Node.js để tạo backend server

- Kết nối với MongoDB để truy vấn và cập nhật dữ liệu

* Xử lý Yêu Cầu từ React.js:

- Backend server cung cấp các API endpoints để xử lý yêu cầu từ ứng dụng React.js

- Thực hiện truy vấn và cập nhật dữ liệu trong MongoDB theo yêu cầu

Kết nối React.js với Backend Server:

* Gửi Yêu Cầu HTTP từ React.js tới Backend:

- Trong ứng dụng React.js, sử dụng thư viện như Axios hoặc Fetch để gửi yêu cầu HTTP đến backend server

* Nhận Dữ Liệu từ MongoDB thông qua Backend Server:

- Backend server xử lý yêu cầu từ React.js và trả về dữ liệu từ MongoDB thông qua các API endpoints

Hiển thị Dữ Liệu trong Ứng Dụng React.js:

* Xử lý Dữ Liệu trong React.js:

- React.js nhận dữ liệu từ MongoDB thông qua backend server

- Sử dụng React state hoặc Redux để lưu trữ và quản lý dữ liệu nhận được

* Hiển thị Dữ Liệu trong Giao Diện Người Dùng:

- Dữ liệu từ MongoDB có thể được hiển thị trong giao diện người dùng của ứng dụng React.js bằng cách render các thành phần tương ứng.

Lợi ích của việc sử dụng MongoDB với ReactJS

- MongoDB và Express.js là hai công nghệ phổ biến và được sử dụng rộng rãi trong cộng đồng phát triển Việc kết hợp chúng với nhau dễ dàng và linh hoạt

- MongoDB là một cơ sở dữ liệu NoSQL, linh hoạt và không cần thiết kế cấu trúc dữ liệu cố định trước Điều này giúp cho việc thay đổi cấu trúc dữ liệu trở nên dễ dàng và linh hoạt hơn

- MongoDB lưu trữ dữ liệu dưới dạng JSON-style documents, giúp phù hợp với việc sử dụng trong JavaScript và các ứng dụng web

- MongoDB dễ dàng mở rộng và có khả năng xử lý lượng dữ liệu lớn, điều này rất hữu ích khi xây dựng các ứng dụng có yêu cầu về scalability

- MongoDB cung cấp hiệu suất tốt cho các truy vấn đơn giản và nhanh chóng truy xuất dữ liệu Kết hợp với Express.js, bạn có thể xây dựng các ứng dụng có hiệu suất cao

- Mongoose là một ORM (Object-Document Mapping) cho MongoDB, giúp quản lý và tương tác dễ dàng hơn với cơ sở dữ liệu MongoDB khi sử dụng Express.js

- Sự phổ biến của JavaScript giúp kết hợp MongoDB với Express.js trở nên tự nhiên và dễ dàng cho các nhà phát triển, vì cả hai đều sử dụng JavaScript

- Cả MongoDB và Express.js đều có cộng đồng lớn, với nhiều tài liệu, hướng dẫn và hỗ trợ từ cộng đồng, giúp giải quyết vấn đề nhanh chóng.- MongoDB là một hệ quản trị cơ sở dữ liệu phổ biến, có nhiều công cụ hỗ trợ và tích hợp với các dịch vụ khác, giúp việc phát triển và mở rộng ứng dụng trở nên dễ dàng hơn

PHÂN TÍCH VÀ THIẾT KẾ HỆ THỐNG

Mô tả tổng quan hệ thống

Hệ thống website quản lý bệnh viện được thiết kế và xây dựng nhằm cung cấp một nền tảng trực tuyến để quản lý dịch vụ đăng kí khám bệnh Hệ thống sẽ đáp ứng các chức năng chính như quản lý bệnh nhân, quản lý bác sĩ, quản lý nội dung website, etc

Hệ thống được thiết kế với giao diện thân thiện, dễ sử dụng và tích hợp các tính năng hiện đại để tối ưu hóa trải nghiệm người dùng

Người dùng là những người có nhu cầu tham khảo, đăng kí khám chữa bệnh, là tiêu chí quan trọng hàng đầu nên có các chức năng sau:

- Hiển thị thông tin giới thiệu về bệnh viện thật uy tín

- Hiển thị tiểu sử về bệnh viện cho người dùng tìm hiểu

- Phân bố dàn trang đơn giản khoa học, dễ theo dõi

- Màu sắc trang nhã, sử dụng màu sắc thương hiệu

- Có banner các phòng ban

- Thay đổi nội dung linh hoạt trong trang quản trị

- Nội dung có bố cục khoa học, đẹp mắt, thân thiện với người dùng, hiển thị đầy đủ thông tin

- Có form đăng kí lịch hẹn khám bệnh

- Tích hợp các nút chức năng

- Hiển thị thông tin liên hệ, trang liên hệ dễ tương tác với quản trị viên

- Hiển thị số hotline đường dây nóng hỗ trợ người dùng

- Hiển thị vị trị đường dẫn tới map vị trí của bệnh viện

- Hiển thị giờ làm việc theo tuần

- Đăng kí tài khoản để được đặt lịch hẹn khám bệnh

- Đăng nhập để sử dụng các dịch vụ của bệnh viện

- Đăng nhập quản trị tất cả nội dung trên website, người làm chủ ứng dụng có quyền kiểm soát mọi hoạt động của hệ thống, nó đòi hỏi sự chính xác thao tác quản trị Người này được cấp username và password để đăng nhập hệ thống thực hiện chức năng của mình như:

- Thêm quản trị viên mới

- Xem thông tin chi tiết bệnh nhân

- Xem tất cả cuộc hẹn mà người dùng gửi đến

- Xét duyệt trạng thái của người dùng khi đăng kí

- Quản lý tất cả tin nhắn của người dùng

* Quản lý Bác Sĩ, Điều Dưỡng:

- Quản lý tất cả thông tin của bác sĩ, điều dưỡng

- Đăng kí bác sĩ, điều dưỡng mới vào bệnh viện

- Quản lý tất cả phòng ban

3.2 Ma trận chức năng của hệ thống

Tên Chức Năng Mô Tả Chức Năng

Cho phép thêm, sửa, xóa, tìm kiếm các bệnh nhân Quản lý các thông tin chi tiết của bệnh nhân như họ tên, ngày sinh, số điện thoại, email, giới tính, tiền sử,…

Cho phép thêm, sửa, xóa, tìm kiếm các bác sĩ Quản lý các thông tin chi tiết của bác sĩ nhân như họ tên, ngày sinh, số điện thoại, email, giới tính, phòng ban,…

Quản lý phòng ban Quản lý các phòng ban, được phân công khi bệnh nhân đăng kí theo phòng ban

Quản lý nội dung website

Cho phép quản trị viên thêm, sửa, xóa các nội dung tĩnh như giới thiệu, chính sách, etc Quản lý tin tức, bài viết mới

Quản lý cuộc hẹn Tổng hợp tất cả cuộc hẹn mà người dùng đã đặt cuộc hẹn với bác sĩ để khám bệnh

Quản lý tin nhắn Tổng hợp tất cả các tin nhắn từ người dùng gửi về hệ thống thông qua website

Phân tích dữ liệu Cung cấp các báo cáo thống kê, phân tích dữ liệu thông tin tiền sử bệnh nhân,…

Bảng 3.2 Ma trận chức năng hệ thống

Thiết kế và đặt tả sơ đồ BFD của hệ thống

Mô hình chức năng BFD (Bussiness Fuction Diagram)

Hình 3.3 Sơ đồ BFD tổng quát của hệ thống

Phân tích mô hình Use – Case (DFD)

Hình 3.4.1 Use case tổng của hệ thống

UC01 Tên Use Case Đăng nhập

Tác nhân Bệnh nhân, Nhân viên(Bác sĩ)

Mô tả Tác nhân đăng nhập vào hệ thống để sử dụng các chức năng của hệ thống

Click vào nút đăng nhập trên giao diện Website

Tiền điều kiện Tác nhân đã có tài khoản trên hệ thống

1 Bệnh nhân Chọn chức năng đăng nhập

2 Hệ thống Hiển thị giao diện đăng nhập

3 Bệnh nhân Nhập thông tin tài khoản

4 Bệnh nhân Yêu cầu đăng nhập

5 Hệ thống Kiểm tra xem khách hàng đã đăng nhập các trường bắt buộc hay chưa

6 Hệ thống Kiểm tra email và mật khẩu có hợp lệ do khách nhập trong hệ thống hay không

7 Hệ thống Hiển thị chức năng tương ứng với người dùng

Luồng sự kiện thay thế

6.1 Hệ thống Thông báo lỗi: Cần nhập các trường bắt buộc nếu khách nhập thiếu

7.1 Hệ thống Thông báo lỗi: Email và mật khẩu chưa đúng nếu không tìm thấy dữ liệu của tài khoản đăng nhập trong hệ thống

Hậu điều kiện Tác nhân đăng nhập vào hệ thống

UC02 Tên Use Case Đăng ký

Mô tả Tác nhân đăng ký để sử dụng các chức năng của hệ thống

Click vào nút đăng kí trên giao diện Website

Tiền điều kiện Tác nhân đã có tài khoản trên hệ thống

1 Bệnh nhân Chọn chức năng đăng ký

2 Hệ thống Hiển thị giao diện đăng ký

3 Bệnh nhân Nhập các thông tin tài khoản

4 Bệnh nhân Yêu cầu đăng ký

5 Hệ thống Kiểm trang xem khách đã nhập các trường bắt buộc hay chưa

6 Hệ thống Kiểm tra email có hợp lệ hay không

7 Hệ thống Kiểm tra mật khẩu nhập lại đã trùng nhau hay chưa

8 Hệ thống kiểm tra mật khẩu có đạt đủ độ an toàn hay không

9 Hệ thống Lưu thông tin tài khoản của khách và thông báo thành công

Luồng sự kiện thay thế

6.1 Hệ thống Thông báo lỗi: Cần nhập các trường bắt buộc nếu khách nhập thiếu

7.1 Hệ thống Thông báo lỗi: Email không hợp lệ nếu địa chỉ email không hợp lệ

8.1 Hệ thống Thông báo lỗi: Mật khẩu xác nhận không trùng với Mật khẩu

9.1 Hệ thống Thông báo lỗi: Mật khẩu cần đảm bảo độ an toàn cao hơn

Hậu điều kiện Tài khoản đã được tạo và lưu vào hệ thống

Bảng 3.4.2 Một số đặc tả của Use Case

3.4.3 Quá trình tuần tự của hệ thống

3.4.3.1 Biểu đồ tuần tự cho chức năng đăng nhập:

Hình 3.4.3.1 Biểu đồ đăng nhập

3.4.3.2 Biểu đồ tuần tự cho chức năng đăng kí khám:

Hình 3.4.3 Biểu đồ chức năng đăng kí khám

3.4.3.3 Biểu đồ tuần tự cho chức năng khám bệnh:

Hình 3.4.4 Biểu đồ chức năng khám bệnh

Thiết kế cơ sở dữ liệu

3.5.1 Mô hình cơ sở dữ liệu

Hình 3.5.1 Mô hình hóa cơ sở dữ liệu

3.5.2 Mô tả chi tiết các bảng

STT Tên trường Mô tả Kiểu dữ liệu

1 firstName Họ đệm String Bắt buộc, ít nhất 2 kí tự

2 lastName Tên String Bắt buộc, ít nhất 2 kí tự

String Bắt buộc, phải là email hợp lệ

String 10 Bắt buộc, đúng 10 chữ số

5 CCCD Số CCCD String 12 Bắt buộc, chính xác 12 chữ số

6 dob Ngày sinh Date Bắt buộc

7 Gender Giới tính String Bắt buộc, chỉ nhận giá trị "Male" hoặc

8 Password Mật khẩu String Bắt buộc, ít nhất 8 kí tự, không hiển thị khi truy vấn dữ liệu

9 Role Vai trò String Bắt buộc, chỉ nhận giá trị "Patient",

10 doctorDepartment Bộ phận bác sĩ

11 docAvatar.public_id ID công khai hình đại diện

12 docAvatar.url Đường dẫn hình đại diện string

Bảng 3.5.2.1 Bảng mô tả chi tiết User

STT Tên trường Mô tả Kiểu dữ liệu

1 firstName Họ đệm String Bắt buộc, ít nhất 2 ký tự

2 lastName Tên String Bắt buộc, ít nhất 2 ký tự

String Bắt buộc, phải là email hợp lệ

String 10 Bắt buộc, ít nhất 10 ký tự

5 CCCD Số CCCD String 12 Bắt buộc, chính xác 12 ký tự

6 dob Ngày sinh Date Bắt buộc

7 Gender Giới tính String Bắt buộc, chỉ nhận giá trị

8 appointment_date Mật khẩu String Bắt buộc

9 department Vai trò String Bắt buộc

10 doctor.firstName Bộ phận bác sĩ

11 doctor.lastName ID công khai hình đại diện

12 hasVisited Đường dẫn hình đại diện string Giá trị mặc định: false

13 address Vai trò String Bắt buộc

14 doctorId Bộ phận bác sĩ

15 patientId ID công khai hình đại diện

16 status Đường dẫn hình đại diện string Giá trị mặc định:

34 chỉ nhận giá trị trong danh sách

Bảng 3.5.2.2 Bảng mô tả chi tiết Appointment

STT Tên trường Mô tả Kiểu dữ liệu Kích thước Ràng buộc

1 firstName Họ đệm String Bắt buộc, ít nhất 2 kí tự

2 lastName Tên String Bắt buộc, ít nhất 2 kí tự Bảng 3.5.2.3 Bảng mô tả chi tiết Message

THỰC NGHIỆM VÀ TRIỂN KHAI HỆ THỐNG

Ngày đăng: 15/11/2024, 12:07

HÌNH ẢNH LIÊN QUAN

Hình 1.7.1 Trang chủ bệnh viện Thống Nhất - Đồ Án chuyên ngành Đề tài thiết kế và xây dựng website quản lý bệnh viện
Hình 1.7.1 Trang chủ bệnh viện Thống Nhất (Trang 15)
Hình 1.7.2 Trang chủ bệnh viện Quận Tân Phú - Đồ Án chuyên ngành Đề tài thiết kế và xây dựng website quản lý bệnh viện
Hình 1.7.2 Trang chủ bệnh viện Quận Tân Phú (Trang 15)
Hình 2.3: Logo biểu tượng của MongoDB - Đồ Án chuyên ngành Đề tài thiết kế và xây dựng website quản lý bệnh viện
Hình 2.3 Logo biểu tượng của MongoDB (Trang 25)
Hình 2.3.3: Các trường dữ liệu trong dự án - Đồ Án chuyên ngành Đề tài thiết kế và xây dựng website quản lý bệnh viện
Hình 2.3.3 Các trường dữ liệu trong dự án (Trang 27)
Bảng 3.2 Ma trận chức năng hệ thống - Đồ Án chuyên ngành Đề tài thiết kế và xây dựng website quản lý bệnh viện
Bảng 3.2 Ma trận chức năng hệ thống (Trang 32)
Hình 3.3 Sơ đồ BFD tổng quát của hệ thống - Đồ Án chuyên ngành Đề tài thiết kế và xây dựng website quản lý bệnh viện
Hình 3.3 Sơ đồ BFD tổng quát của hệ thống (Trang 33)
Hình 3.4.1 Use case tổng của hệ thống - Đồ Án chuyên ngành Đề tài thiết kế và xây dựng website quản lý bệnh viện
Hình 3.4.1 Use case tổng của hệ thống (Trang 33)
Bảng 3.4.2 Một số đặc tả của Use Case - Đồ Án chuyên ngành Đề tài thiết kế và xây dựng website quản lý bệnh viện
Bảng 3.4.2 Một số đặc tả của Use Case (Trang 37)
Hình 3.4.3  Biểu đồ chức năng đăng kí khám - Đồ Án chuyên ngành Đề tài thiết kế và xây dựng website quản lý bệnh viện
Hình 3.4.3 Biểu đồ chức năng đăng kí khám (Trang 38)
Hình 3.4.4 Biểu đồ chức năng khám bệnh - Đồ Án chuyên ngành Đề tài thiết kế và xây dựng website quản lý bệnh viện
Hình 3.4.4 Biểu đồ chức năng khám bệnh (Trang 39)
Hình 3.5.1 Mô hình hóa cơ sở dữ liệu - Đồ Án chuyên ngành Đề tài thiết kế và xây dựng website quản lý bệnh viện
Hình 3.5.1 Mô hình hóa cơ sở dữ liệu (Trang 40)
Hình  đại  diện - Đồ Án chuyên ngành Đề tài thiết kế và xây dựng website quản lý bệnh viện
nh đại diện (Trang 42)
Bảng 3.5.2.1 Bảng mô tả chi tiết User - Đồ Án chuyên ngành Đề tài thiết kế và xây dựng website quản lý bệnh viện
Bảng 3.5.2.1 Bảng mô tả chi tiết User (Trang 42)
Hình  đại  diện - Đồ Án chuyên ngành Đề tài thiết kế và xây dựng website quản lý bệnh viện
nh đại diện (Trang 43)
Hình  đại  diện - Đồ Án chuyên ngành Đề tài thiết kế và xây dựng website quản lý bệnh viện
nh đại diện (Trang 43)
Bảng 3.5.2.2 Bảng mô tả chi tiết Appointment - Đồ Án chuyên ngành Đề tài thiết kế và xây dựng website quản lý bệnh viện
Bảng 3.5.2.2 Bảng mô tả chi tiết Appointment (Trang 44)
Hình 4.1.1 Giao diện trang chủ(1) - Đồ Án chuyên ngành Đề tài thiết kế và xây dựng website quản lý bệnh viện
Hình 4.1.1 Giao diện trang chủ(1) (Trang 45)
Hình 4.1.3 Giao diện trang chủ(3) - Đồ Án chuyên ngành Đề tài thiết kế và xây dựng website quản lý bệnh viện
Hình 4.1.3 Giao diện trang chủ(3) (Trang 46)
Hình 4.1.4 Giao diện trang chủ(4) - Đồ Án chuyên ngành Đề tài thiết kế và xây dựng website quản lý bệnh viện
Hình 4.1.4 Giao diện trang chủ(4) (Trang 46)
Hình 4.1.5 Giao diện trang cuộc hẹn - Đồ Án chuyên ngành Đề tài thiết kế và xây dựng website quản lý bệnh viện
Hình 4.1.5 Giao diện trang cuộc hẹn (Trang 47)
Hình 4.1.6 Giao diện form đặt lịch hẹn - Đồ Án chuyên ngành Đề tài thiết kế và xây dựng website quản lý bệnh viện
Hình 4.1.6 Giao diện form đặt lịch hẹn (Trang 47)
Hình 4.1.7 Giao diện trang giới thiệu - Đồ Án chuyên ngành Đề tài thiết kế và xây dựng website quản lý bệnh viện
Hình 4.1.7 Giao diện trang giới thiệu (Trang 48)
Hình 4.1.8 Giao diện trang đăng nhập - Đồ Án chuyên ngành Đề tài thiết kế và xây dựng website quản lý bệnh viện
Hình 4.1.8 Giao diện trang đăng nhập (Trang 48)
Hình 4.2.2 Giao diện trang tổng số cuộc hẹn - Đồ Án chuyên ngành Đề tài thiết kế và xây dựng website quản lý bệnh viện
Hình 4.2.2 Giao diện trang tổng số cuộc hẹn (Trang 50)
Hình 4.2.3 Giao diện tất cả nhân viên bệnh viện - Đồ Án chuyên ngành Đề tài thiết kế và xây dựng website quản lý bệnh viện
Hình 4.2.3 Giao diện tất cả nhân viên bệnh viện (Trang 50)
Hình 4.2.4 Giao diện thêm quản trị viên mới - Đồ Án chuyên ngành Đề tài thiết kế và xây dựng website quản lý bệnh viện
Hình 4.2.4 Giao diện thêm quản trị viên mới (Trang 51)
Hình 4.2.5 Giao diện thêm kí bác sĩ mới - Đồ Án chuyên ngành Đề tài thiết kế và xây dựng website quản lý bệnh viện
Hình 4.2.5 Giao diện thêm kí bác sĩ mới (Trang 51)
Hình 4.2.6 Giao diện tổng số phản hồi từ người dùng - Đồ Án chuyên ngành Đề tài thiết kế và xây dựng website quản lý bệnh viện
Hình 4.2.6 Giao diện tổng số phản hồi từ người dùng (Trang 52)

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w