CHƯƠNG 1: CƠ SỞ LÝ THUYẾT Chương này trình bày tổng quan về việc sử dụng các phần mềm hỗ trợ xây dựng ứng dụng, các công cụ thường xuyên sử dụng để xây dựng nền tảng cho bài toán. Mô tả một số công nghệ mới hỗ trợ phát triển ứng dụng. - CHƯƠNG 2: PHÂN TÍCH THIẾT KẾ HỆ THỐNG Chương này trình bày một hướng tiếp cận trong việc phân tích hệ thống. Trình bày những hướng chức năng cơ bản cho người dùng, sơ đồ cơ sở dữ liệu… - CHƯƠNG 3: XÂY DỰNG CHƯƠNG TRÌNH Trên cơ sở tìm hiểu và phân tích bài toán liên quan, đặc biệt là các chức năng hệ thống.
Từ các phân tích hệ thống và dữ liệu có được, ứng dụng được triển khai và cập nhật. SVTH: Dương Thị Thuỳ Dung 2 Đề tài:Website đặt lịch khám bệnh cho các phòng khám tại thành phố Đà Nẵng Chương 1 CƠ SỞ LÝ THUYẾT - Website xây dựng với ngôn ngữ Javascript sử dụng ExpressJS trên môi trường NodeJS và các plugin hỗ trợ như Sequelize, Axios,. - Xây dựng giao diện trang web bằng HTML, CSS, Javascript, BootStrap và ReactJS. - Cơ sở dữ liệu của hệ thống sử dụng hệ quản trị cơ sở dữ liệu MySQL.
- Công cụ phát triển: Visual Studio Code, PostMan, Github, XamPP… 1. Framework - Framework chính là một thư viện với các tài nguyên có sẵn cho từng lĩnh vực để lập trình viên sử dụng thay vì phải tự thiết kế. Có Framework, lập trình viên chỉ tìm hiểu và khai thác những tài nguyên đó, gắn kết chúng lại với nhau và hoàn chỉnh sản phẩm của mình. Đối với lập trình viên trong mỗi một lĩnh vực, họ cần phải xây dựng các lớp chương trình để xây dựng nên những phần mềm, ứng dụng thành phẩm.1: Ảnh minh hoạ Frameworks SVTH: Dương Thị Thuỳ Dung 3 Đề tài:Website đặt lịch khám bệnh cho các phòng khám tại thành phố Đà Nẵng 1.
Ngôn ngữ PHP 1. PHP - PHP: Hypertext Preprocessor, thường được viết tắt thành PHP là một ngôn ngữ lập trình kịch bản hay một loại mã lệnh chủ yếu được dùng để phát triển các ứng dụng viết cho máy chủ, mã nguồn mở, dùng cho mục đích tổng quát. Nó rất thích hợp với web và có thể dễ dàng nhúng vào trang HTML.1: Ảnh minh hoạ PHP 1. Mô hình MVC - MVC là từ viết tắt của 'Model View Controller'.
Nó đại diện cho các nhà phát triển kiến trúc áp dụng khi xây dựng các ứng dụng. Với kiến trúc MVC, chúng ta xem xét cấu trúc ứng dụng liên quan đến cách luồng dữ liệu của ứng dụng của chúng ta hoạt động như thế nào. - Mô hình MVC được chia làm 3 lớp xử lý gồm Model – View – Controller: - Model: là nơi chứa những nghiệp vụ tương tác với dữ liệu hoặc hệ quản trị cơ sở dữ liệu (mysql, mssql, …); nó sẽ bao gồm các class/function xử lý nhiều nghiệp vụ như kết nối database, truy vấn dữ liệu, thêm – xóa – sửa dữ liệu… - View: là nới chứa những giao diện như một nút bấm, khung nhập, menu, hình ảnh… nó đảm nhiệm nhiệm vụ hiển thị dữ liệu và giúp người dùng tương tác với hệ thống. - Controller: là nới tiếp nhận những yêu cầu xử lý được gửi từ người dùng, nó sẽ gồm những class/function xử lý nhiều nghiệp vụ logic giúp lấy đúng dữ liệu SVTH: Dương Thị Thuỳ Dung 4 Đề tài:Website đặt lịch khám bệnh cho các phòng khám tại thành phố Đà Nẵng thông tin cần thiết nhờ các nghiệp vụ lớp Model cung cấp và hiển thị dữ liệu đó ra cho người dùng nhờ lớp View.1: Ảnh minh hoạ MVC SVTH: Dương Thị Thuỳ Dung 5 Đề tài:Website đặt lịch khám bệnh cho các phòng khám tại thành phố Đà Nẵng 1.
Ngôn ngữ FrontEnd 1. HTML, CSS, JavaScript - HTML (HyperText Markup Language – Ngôn ngữ đánh dấu siêu văn bản) là một ngôn ngữ đánh dấu được thiết kế ra để tạo nên các trang web với các mẩu thông tin được trình bày trên World Wide Web - CSS là viết tắt của Cascading Style Sheets. Ngôn ngữ lập trình này chỉ ra cách các yếu tố HTML của trang web thực sự sẽ xuất hiện trên giao diện của trang - JavaScript là ngôn ngữ lập trình dựa trên logic. Nó có thể được sử dụng để sửa đổi nội dung trang web.
Và khiến nó hoạt động theo nhiều cách khác nhau để đáp ứng với hành động của người dung Hình 1. Minh hoạ HTML,CSS SVTH: Dương Thị Thuỳ Dung 6 Đề tài:Website đặt lịch khám bệnh cho các phòng khám tại thành phố Đà Nẵng 1. Reactjs - React được phát triển bởi mạng xã hội Facebook và ra mắt vào năm 2013 với tư cách là thư viện JavaScrip có mã nguồn mở. Nó là giải pháp nhanh chóng, đơn giản và hữu hiệu để xây dựng UI.
- Với thư viện JavaScrip này, lập trình viên có thể nhập liệu bằng phương pháp mới và render website nhanh chóng và dễ dàng. Tốc độ phản hồi của React được đánh giá rất cao. Hiện nay, nó được sử dụng rộng rãi bởi hơn 1300 nhà phát triển và hơn 94000 website. - Với nguyên tắc tập trung vào các phần riêng lẻ, React cho phép lập trình viên ‘phá vỡ’, chia cắt các giao diện UI phức tạp thành nhiều phần nhỏ đơn giản.
Điều này tạo điều kiện tối đa cho phát triển, mở rộng web Hình 1.1: Ảnh minh hoạ Reactjs SVTH: Dương Thị Thuỳ Dung 7 Đề tài:Website đặt lịch khám bệnh cho các phòng khám tại thành phố Đà Nẵng 1. MySQL - MySQL là một hệ thống quản lý cơ sở dữ liệu quan hệ mã nguồn mở (RDBMS) dựa trên ngôn ngữ truy vấn có cấu trúc (SQL) được phát triển, phân phối và hỗ trợ bởi tập đoàn Oracle. MySQL chạy trên hầu hết tất cả các nền tảng, bao gồm cả Linux, UNIX và Windows. MySQL thường được kết hợp với các ứng dụng web.1: Ảnh minh hoạ MySQL SVTH: Dương Thị Thuỳ Dung 8 Đề tài:Website đặt lịch khám bệnh cho các phòng khám tại thành phố Đà Nẵng 1.
Express Framework - ExpressJS là một framework ứng dụng web có mã nguồn mở và miễn phí được xây dựng trên nền tảng Node. ExpressJS được sử dụng để thiết kế và phát triển các ứng dụng web một cách nhanh chóng. Để hiểu ExpressJS, người dùng chỉ cần phải biết JavaScript, do đó nên việc xây dựng các ứng dụng web và API trở nên đơn giản hơn đối với các lập trình viên và nhà phát triển đã thành thạo JavaScript trước đó. - Vì ExpressJS là một framework của Node.js nên hầu hết các mã đã được viết sẵn cho các lập trình viên làm việc.
Bạn có thể tạo các ứng dụng web cho một trang, nhiều trang hoặc kết hợp lại bằng cách sử dụng ExpressJS. framework này khá nhẹ, giúp tổ chức các ứng dụng web ở phía máy chủ thành một kiến trúc MVC hoàn hảo hơn. - ExpressJS hỗ trợ nâng cao các chức năng của NodeJS. Nếu bạn không sử dụng ExpressJS, bạn phải thực hiện rất nhiều lập trình phức tạp để xây dựng một API hiệu quả.
ExpressJS đã giúp cho việc lập trình trong NodeJS trở nên dễ dàng hơn rất nhiều Hình 1.1: Ảnh minh hoạ ExperessJs, NodeJs SVTH: Dương Thị Thuỳ Dung 9 Đề tài:Website đặt lịch khám bệnh cho các phòng khám tại thành phố Đà Nẵng Chương 2 PHÂN TÍCH THIẾT KẾ HỆ THỐNG 2. Tác nhân - Amin - Bác Sĩ - Bệnh Nhân - Người dùng chưa thành viên 2. Yêu cầu của các tác nhân 2. Amin - Admin kế thừa những chức năng bệnh nhân và bác sĩ.
Đồng thời có chức năng cập nhật và phê duyệt người dùng. Bác sĩ - Có thể xem lịch khám bệnh của bệnh nhân,cập nhật lịch khám bệnh. Bệnh nhân - Có thể xem lịch khám bệnh của bệnh nhân,cập nhật lịch khám bệnh. Người dùng chưa thành viên - Có thể xem danh sách bác sĩ,danh sách phòng khám,danh sách khoa 2.
Đặc tả yêu cầu phần mềm 2. Người dùng chưa đăng kí - Đăng kí tài khoản - Tìm kiếm - Lọc danh sách bác sĩ - Xem lịch khám bác sĩ 2. Admin - Đăng nhập/đăng xuất - Phê duyệt hồ sơ của bác sĩ,bệnh nhân SVTH: Dương Thị Thuỳ Dung 10 Đề tài:Website đặt lịch khám bệnh cho các phòng khám tại thành phố Đà Nẵng 2. Bác sĩ - Đăng nhập/ Đăng xuất - Đăng kí thông tin với Sở Y Tế - Cập nhật thông tin cá nhân - Xác nhận người khám bệnh - Tạo lịch khám bệnh - Chỉnh sửa lịch khám bệnh - Xem lịch khám - Xem danh sách đặt khám 2.
Bệnh nhân - Đăng nhập/ Đăng xuất - Cập nhật thông tin cá nhân - Đặt lịch khám bệnh - Xem lịch sử khám bệnh - Đánh giá phòng khám SVTH: Dương Thị Thuỳ Dung 11 Đề tài:Website đặt lịch khám bệnh cho các phòng khám tại thành phố Đà Nẵng 2. Sơ đồ Use case Hình 2.1: UseCase SVTH: Dương Thị Thuỳ Dung 12 Đề tài:Website đặt lịch khám bệnh cho các phòng khám tại thành phố Đà Nẵng 2. Kịch bản cho Use case 2. Đăng kí tài khoản Use case name: Đăng kí tài khoản Description: Người dùng đăng kí tài khoản trên hệ thống Input: Tên đăng nhập và mật khẩu Output: Hệ thống thông báo đăng kí thành công Basic flow: Bước 1: Actor chọn nút Đăng kí trên Header Bước 2: Actor nhập tên đăng nhập và mật khẩu Bước 3: Nhấn nút Đăng kí Bước 4: Hệ thống kiếm tra và thông báo đăng kí thành công Alternative flow: Người dùng quay về trang chủ, kết thúc usecase Exception flow: Tên đăng nhập đã tồn tại, quay lại bước 2 Bảng 2.1: Kịch bản cho use đăng kí tài khoản 2.
Đăng nhập Use case name: Đăng nhập Description: Người dùng đăng nhập hệ thống Input: Tên đăng nhập và mật khẩu Output: Hệ thống thông báo đăng nhập thành công Basic flow: Bước 1: Actor nhập tên đăng nhập và mật khẩu Bước 2: Nhấn nút Đăng nhập Bước 3: Hệ thống kiếm tra và thông báo đăng nhập thành công Alternative flow: Người dùng quay về trang chủ, kết thúc usecase Exception flow: Actor nhập sai tên đăng nhập hoặc mật khẩu usecase quay về bước 1 Bảng 2.1: Usecase Đăng nhập SVTH: Dương Thị Thuỳ Dung 13 Đề tài:Website đặt lịch khám bệnh cho các phòng khám tại thành phố Đà Nẵng 2. Cập nhật thông tin cá nhân Use case name: Cập nhật thông tin cá nhân Description: Người dùng cập nhật thông in cá nhân Input: Thông tin gười dùng cần cập nhật Output: Hệ thống thông báo cập nhật thông tin thành công Basic flow: Bước 1: Actor chọn mục Quản lý tài khoản Bước 2: chọn thông tin cá nhân Bước 3Hệ thống hiển thị thông tin cá nhân người dùng Bước 4Người dùng nhập thông tin cần cập nhật Bước 5: hệ thống thông báo cập nhật thông tin thành công Alternative flow: Người dùng quay về trang chủ, kết thúc usecase Exception flow: Actor nhập sai định dạng hoặc email đã tồn tại usecase quay về bước 4 Bảng 2.