Bước sang thế kỉ 21, sự bùng nổ về công nghệ thông tin, thế giới số đã giúp ích rất nhiều cho con người trong rất nhiều lĩnh vực kinh tế, xã hội, quốc phòng, an ninh,… Khoa học công nghệ ngoài việc giúp nâng cao năng suất làm việc, mà còn giúp cải thiện sức khỏe cộng đồng nhờ giảm thời gian hoàn thành công việc, đồng thời kết nối con người trong xã hội cũng như trên toàn thế giới, tạo nên mối liên kết vô hình, tăng tính tương tác giúp đỡ lẫn nhau cùng tiến bộ. Trong đó phải kể đến sự tiện lợi của Website, Internet càng phát triển thì Website càng nhiều, số lượng người truy cập càng lớn vì nhu cầu tìm thông tin cũng như sử dụng những tiện ích mà các trang web này mang lại càng lớn. Những ứng dụng trên điện thoại di động mà hàng ngày chúng ta vẫn mang theo bên mình như một vật bất ly thân. Đó là những trãi nghiệm cuộc sống chưa bao giờ thoải mái và tiện lợi như bây giờ. Việc tìm kiếm thông tin là nhu cầu tất yếu của cuộc sống, bất kể lứa tuổi, địa vị trong xã hội, hay bất cứ nơi nào mà ta đang đứng giữa thế giới rộng lớn này. Để làm được điều đó, trước tiên chúng ta cần có đủ sức khỏe để duy trì sự tỉnh táo trong suốt quá trình tìm kiếm thông tin, từ đó tăng tính trải nghiệm, tương tác, tư duy giúp con người hoàn thành mục tiêu của việc tìm thông tin đó. Mặt khác, sau khi tìm hiểu một số website cũng như ứng dụng trên điện thoại di động, chúng em cảm thấy nhu cầu tìm bác sĩ rất nhiều, nhưng hầu hết các website và ứng dụng đó còn rất sơ sài, chưa đáp ứng được hầu hết yêu cầu của người sử dụng. Xuất phát từ nhu cầu thực tiễn trên, chúng em đã quyết định chọn lựa đề tài : “Thiết kế và xây dựng website tìm thông tin bác sĩ điều trị” , vừa để hỗ trợ người dân trong việc kết nối tìm bác sĩ, vừa giúp bản thân tăng khả năng nghiên cứu, tìm phương án phát triển để ứng dụng ngày càng hoàn thiện hơn.
Trang 1siti
vity
MỤC LỤC 2
LỜI CẢM ƠN 4
CHƯƠNG I: TỔNG QUAN 5
I BỐI CẢNH CHỌN ĐỀ TÀI 5
II MỤC ĐÍCH 6
III YÊU CẦU CỦA ĐỀ TÀI 6
IV PHƯƠNG PHÁP TRIỂN KHAI 7
CHƯƠNG II: CƠ SỞ LÝ THUYẾT 9
I TỔNG QUAN VỀ MYSQL 9
II TỔNG QUAN VỀ PHP 9
III TỔNG QUAN VỀ NGÔN NGỮ GIAO DIỆN 10
1 HTML 10
2 CSS 10
3 JavaScript 11
4 jQuery 11
5 Ajax 12
IV TỔNG QUAN VỀ FRAMEWORK LARAVEL 13
CHƯƠNG III: PHÂN TÍCH VÀ THIẾT KẾ HỆ THỐNG 15
I ĐẶC TẢ YÊU CẦU 15
1 Backend 15
2 Frontend 16
II CÁC YÊU CẦU PHI CHỨC NĂNG 17
III CÁC YÊU CẦU CHỨC NĂNG 17
IV BIỂU ĐỒ USE CASE 18
1 Biểu đồ Use – case tổng quát 18
3 Use - case quản lý chuyên khoa 20
4 Use - case quản lý bác sĩ 22
5 User - case quản lý phòng khám 23
6 User - case quản lý khách hàng 25
7 User - case quản lý đánh giá 26
8 Use case quản lý bình luận 28
9 Use case quản lý danh mục bài viết 29
10 Use case quản lý bài viết 30
11 Use case quản lý lịch hẹn 32
12 User case quản lý admin 34
13 User case quản lý slide 35
14 User case quản lý trang tĩnh 37
15 Use case quản lý thống kê 38
16 Use case chức năng của khách hàng 39
V TỔ CHỨC BẢNG DỮ LIỆU 41
DANH SÁCH CÁC ĐỐI TƯỢNG 41
1 Bảng admins 42
2 Bảng Comments 43
Trang 2siti
3 Bảng Doctors 43
4 Bảng Specialities 44
5 Bảng Ratings 44
6 Bảng User_favourite 45
7 Bảng Appointments 45
8 Bảng Transactions 45
9 Bảng Users 46
10 Bảng Menus 46
11 Table Articles 46
12 Bảng clinic 47
13 Bảng Contacts 47
14 Bảng Slides 48
15 Bảng Statics 48
CHƯƠNG IV: MOCK UP WEBSITE 49
I TRANG CHỦ 49
II TÌM BÁC SĨ 50
III CHI TIẾT BÁC SĨ 51
IV REGISTER KHÁCH 51
V LOGIN KHÁCH 52
VI LOGIN THÀNH CÔNG KHÁCH 52
VII LOGIN ADMIN 53
VIII LOGIN ADMIN DASHBOARD 53
IX LOGIN ADMIN QUẢN LÝ BÁC SĨ 54
X LOGIN ADMIN QUẢN LÝ CHUYÊN KHOA 54
XI LOGIN ADMIN QUẢN LÝ PHÒNG KHÁM 55
XII LOGIN ADMIN QUẢN LÝ MENU TIN TỨC 55
XIII LOGIN ADMIN QUẢN LÝ TIN TỨC 56
XIV LOGIN ADMIN QUẢN LÝ CUỘC HẸN 56
XV LOGIN ADMIN QUẢN LÝ ĐÁNH GIÁ 57
XVI LOGIN ADMIN QUẢN LÝ BÌNH LUẬN 57
XVII LOGIN ADMIN QUẢN LÝ KHÁCH HÀNG 58
XVIII LOGIN ADMIN QUẢN LÝ ADMIN 58
KẾT LUẬN 59
TÀI LIỆU THAM KHẢO 60
Trang 3sự tiện lợi của Website, Internet càng phát triển thì Websitecàng nhiều, số lượng người truy cập càng lớn vì nhu cầu tìmthông tin cũng như sử dụng những tiện ích mà các trang webnày mang lại càng lớn Những ứng dụng trên điện thoại diđộng mà hàng ngày chúng ta vẫn mang theo bên mình nhưmột vật bất ly thân Đó là những trãi nghiệm cuộc sống chưabao giờ thoải mái và tiện lợi như bây giờ.
Việc tìm kiếm thông tin là nhu cầu tất yếu của cuộc sống,bất kể lứa tuổi, địa vị trong xã hội, hay bất cứ nơi nào mà tađang đứng giữa thế giới rộng lớn này Để làm được điều đó,trước tiên chúng ta cần có đủ sức khỏe để duy trì sự tỉnh táotrong suốt quá trình tìm kiếm thông tin, từ đó tăng tính trảinghiệm, tương tác, tư duy giúp con người hoàn thành mục tiêucủa việc tìm thông tin đó Mặt khác, sau khi tìm hiểu một số
Trang 4siti
website cũng như ứng dụng trên điện thoại di động, chúng emcảm thấy nhu cầu tìm bác sĩ rất nhiều, nhưng hầu hết cácwebsite và ứng dụng đó còn rất sơ sài, chưa đáp ứng được hầuhết yêu cầu của người sử dụng
Xuất phát từ nhu cầu thực tiễn trên, chúng em đã quyết
định chọn lựa đề tài : “Thiết kế và xây dựng website tìm thông
tin bác sĩ điều trị” , vừa để hỗ trợ người dân trong việc kết nối
tìm bác sĩ, vừa giúp bản thân tăng khả năng nghiên cứu, tìmphương án phát triển để ứng dụng ngày càng hoàn thiện hơn
- Nhằm tạo điều kiện thực hiện nghiên cứu, góp phần pháttriển khả năng của bản thân
III.YÊU CẦU CỦA ĐỀ TÀI
- Đề tài: “Thiết kế và xây dựng website tìm thông tin bác sĩ
điều trị”
+ Nội dung: Thông qua website, người dùng có thể tìm
thông tin bác sĩ thuộc một chuyên khoa nào đó, bao gồmđịa chỉ phòng khám, giờ khám, chức năng đăng ký khám
Trang 5+ Giao diện người dùng:
Người sử dụng sau khi đăng nhập vào website có thểtìm được thông tin bác sĩ theo các từ khóa như: địa chỉ,tên bác sĩ, tên phòng khám,… sau đó tiến hành đăng kýkhám bệnh Ngoài ra còn có thể thêm thông tin bác sĩmình yêu thích hoặc quan tâm vào hệ thống, thông tin
sẽ được chuyển về lưu vào cơ sở dữ liệu chờ duyệt.Người dùng còn có thể lưu thông tin bác sĩ mà mìnhmuốn đăng ký khám hoặc tìm hiểu vào danh mục bác sĩyêu thích Bên cạnh đó còn có thể chấm điểm bác sĩ màmình đã trải nghiệm để hỗ trợ tăng khả năng tìm kiếmbác sĩ tốt cho người dùng khác
Bác sĩ có thể xem thông tin bệnh nhân đăng ký khámbệnh Duyệt lịch hẹn của ngày hôm đó để người dùngbiết và kịp thời điều chỉnh Bác sĩ cũng có thể thay đổithời gian đăng ký khám để phù hợp với sự thay đổi lịchtrình của mình
+ Giao diện người quản lý: Người quản trị là người có thể
thêm xóa sửa cơ sở dữ liệu, cấp quyền cho thành viên,duyệt bình luận và thông tin bác sĩ được giới thiệu Cơ sở
dữ liệu lưu trữ tất cả thông tin về danh sách bác sĩ, danhsách nhân viên, danh sách khách hàng
IV.PHƯƠNG PHÁP TRIỂN KHAI
Trang 6- Khảo sát các ứng dụng chuyên về tìm kiếm thông tincũng như các ứng dụng tìm kiếm thông tin bác sĩ có sẵntrên thị trường
- Nghiên cứu, tìm hiểu nghiệp vụ trong các phòng khám
tư nhân
- Tiếp cận, tìm hiểu vấn đề bất cập, cần thiết trong quátrình tìm kiếm và đăng ký khám bệnh, để từ đó rút kinhnghiệm, bổ sung cho sự hạn chế trong các phần mềmhiện có trên thị trường
- Tiếp đến, chúng em sẽ nghiên cứu công nghệ phát triểnWebsite chạy đa nền tảng, có thể sử dụng một cách dễdàng cả trên điện thoại lẫn máy tính Kết hợp với ứngdụng android để tăng tính tiện lợi cho người sử dụng
- Sau đây là danh sách các công nghệ được sử dụng:
+ HTML+ CSS+ Javascript+ Jquery+ Laravel
V.KHẢO SÁT
Trang 7 Đặt khám theo Bác sĩ
+ Tìm bằng thanh công cụ tìm kiếm hoặc tìm trong
danh sách bác sĩ đang hiển thị, bấm vào nút đặt
khám; chọn ngày giờ, người sẽ đi khám bệnh, tệp
hình ảnh rồi đặt lịch Phiếu khám bệnh sẽ hiển thị trên Lịch khám.
+ Các khung giờ đặt lịch khám cách nhau vài tiếng, linh động thay đổi theo thời gian mỗi bác sĩ
+ Chức năng tìm kiếm chỉ có thể cho kết quả thông tin liên quan đến bác sĩ, không thể tìm theo bệnh viện hay phòng khám
+ Địa điểm tại phòng khám cá nhân
Đặt khám theo bệnh viện
Trang 8siti
+ Tìm bằng thanh công cụ tìm kiếm hoặc tìm trong danh sách các bệnh viện đang hiển thị, chọn bệnh
viện và bấm vào nút đặt khám, chọn chuyên khoa
và các gói khám bệnh được gợi ý, chọn ngày giờ và
người sẽ đi khám bệnh rồi đặt lịch Phiếu khám bệnh sẽ hiển thị trên Lịch khám.
+ Thời gian đặt lịch khám theo giờ làm việc của bệnh viện, các khung giờ cách nhau 30 phút
+ Chức năng tìm kiếm chỉ có thể cho kết quả thông tin liên quan đến bệnh viện, không thể tìm theo bác
sĩ hay phòng khám
Đặt khám theo Phòng khám
+ Tìm bằng thanh công cụ tìm kiếm hoặc tìm trong danh sách các phòng khám đang hiển thị, chọn
phòng khám rồi bấm vào nút đặt khám, chọn chi
nhánh (nếu có), chọn ngày giờ và người sẽ đi khám
bệnh rồi đặt lịch Phiếu khám bệnh sẽ hiển thị trên
Lịch khám
+ Các khung giờ đặt lịch khám cách nhau vài tiếng, linh động thay đổi theo thời gian hoạt động của phòng khám
+ Chức năng tìm kiếm chỉ có thể cho kết quả thông tin liên quan đến phòng khám, không thể tìm theo bệnh viện hay bác sĩ
- Các chức năng khác:
Đăng nhập
Đặt lịch xét nghiệm
Tư vấn trực tuyến
Trang 10 Đặt khám theo Bác sĩ
+ Tìm bằng thanh công cụ tìm kiếm, hoặc tìm trong danh sách bác sĩ đang hiển thị, hoặc dùng công cụ
lọc; bấm vào nút đặt lịch, chọn ngày giờ và người
sẽ đi khám bệnh rồi xác nhận đặt lịch Giao diện tự động chuyển sang trang danh sách đặt lịch khám
+ Các khung giờ đặt lịch khám cách nhau 10 phút+ Chức năng tìm kiếm hiển thị tất cả thông tin tìm kiếm có liên quan đến từ khóa
+ Địa điểm khám bệnh tại phòng khám hoặc bệnh viện của bác sĩ được chọn
Đặt khám theo bệnh viện
+ Tìm bằng thanh công cụ tìm kiếm hoặc tìm trong danh sách các bệnh viện đang hiển thị, chọn bệnh
viện và bấm vào nút đặt lịch; chọn bác sĩ từ danh
sách hiển thị hoặc dùng công cụ lọc, hoặc gõ vào ô tìm kiếm; chọn ngày giờ và người sẽ đi khám bệnh
Trang 12+ Không gửi mail hoặc tin nhắn xác thực sau khi đăng
ký xong
+ Không hỗ trợ hủy Quản lí lịch khám
+ Có hỗ trợ chọn bác sĩ khi đăng ký khám ở bệnh viện, phòng khám
+ Thành viên không thể tự ý thêm bác sĩ+ Việc không giới hạn kết quả tìm kiếm trong 1 chức năng nào đó sẽ làm chậm và rối mắt người xem+ Khoảng cách giữa các khung giờ đặt lịch ngắn dễ gây ùn ứ
3 Web https://docosan.com
- Trang chủ:
Trang 13mà mình quan tâm, chọn ngày giờ, hình thức khám
online hay trực tiếp, người sẽ đi khám bệnh rồi xác
nhận Giao diện tự động chuyển sang trang Lịch khám của tôi
+ Chức năng tìm kiếm hiển thị tất cả thông tin tìm kiếm
có liên quan đến từ khóa+ Nếu không khám bệnh online thì bước thanh toán sẽ được tự động bỏ qua
+ Cho phép sửa hoặc hủy lịch khám trong mục Lịch
khám của tôi
- Các chức năng khác:
Trang 14+ Có hỗ trợ hủy Lịch khám của tôi
+ Có gửi tin nhắn xác thực sau khi hủy đăng ký+ Có bản đồ hiển thị địa điểm bệnh viện, phòng khám+ Không hỗ trợ tìm địa điểm gần
+ Không thể cho kết quả chính xác khi tìm theo triệu chứng bệnh
+ Không hỗ trợ gửi hình ảnh+ Không hỗ trợ chọn bác sĩ khi đăng ký khám ở bệnh viện, phòng khám
+ Thành viên không thể tự ý thêm bác sĩ+ Việc không giới hạn kết quả tìm kiếm trong 1 chức năng nào đó sẽ làm chậm và rối mắt người xem+ Khoảng cách giữa các khung giờ đặt lịch ngắn dễ gây ùn ứ
TỔNG KẾT
+ Nhìn chung, các website trên đều có được chức năng
cơ bản là đặt lịch khám bệnh Nhưng số lượng bác sĩ, bệnh viện và phòng khám còn ít, không có nhiều sự
Trang 15Qua cuộc khảo sát, chúng em nhận thấy ở nước ta vẫn cònthiếu những Website đầy đủ và chuyên nghiệp hơn trong việc
hỗ trợ người dân tiếp cận y tế một cách tiện lợi, nhanh chóng
và đáng tin cậy
Trang 16siti
CHƯƠNG II: CƠ SỞ LÝ
THUYẾT
I.TỔNG QUAN VỀ MYSQL
- MySQL là hệ quản trị cơ sở dữ liệu tự do nguồn mở phổbiến nhất thế giới và được các nhà phát triển rất ưachuộng trong quá trình phát triển ứng dụng Vì MySQL là
hệ quản trị cơ sở dữ liệu tốc độ cao, ổn định và dễ sửdụng, có tính khả chuyển, hoạt động trên nhiều hệ điềuhành cung cấp một hệ thống lớn các hàm tiện ích rấtmạnh Với tốc độ và tính bảo mật cao, MySQL rất thích hợpcho các ứng dụng có truy cập CSDL trên internet Ngườidùng có thể tải về MySQL miễn phí từ trang chủ MySQL cónhiều phiên bản cho các hệ điều hành khác nhau: phiênbản Win32 cho các hệ điều hành dòng Windows, Linux,Mac OS X, Unix, FreeBSD, NetBSD, Novell NetWare, SGIIrix, Solaris, SunOS,
- MySQL được phát triển, phân phối và hỗ trợ bởi OracleCorporation
- MySQL được sử dụng cho việc bổ trợ NodeJs, PHP, Perl, vànhiều ngôn ngữ khác, làm nơi lưu trữ những thông tin trêncác trang web viết bằng NodeJs, PHP hay Perl,
II.TỔNG QUAN VỀ PHP
Trang 17- PHP chạy trên môi trường Webserver và lưu trữ dữ liệuthông qua hệ quản trị cơ sở dữ liệu nên PHP thường đi kèmvới Apache, MySQL.
III.TỔNG QUAN VỀ NGÔN NGỮ GIAO DIỆN
4 HTML
- HTML (tiếng Anh, viết tắt cho HyperText MarkupLanguage, hay là "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áctrang web với các mẩu thông tin được trình bày trên WorldWide Web Cùng với CSS và JavaScript, HTML tạo ra bộ banền tảng kỹ thuật cho World Wide Web
- Cha đẻ của HTML là Tim Berners-Lee, cũng là người khaisinh ra World Wide Web và chủ tịch của World Wide WebConsortium (W3C – tổ chức thiết lập ra các chuẩn trên môitrường Internet)
5 CSS
- CSS là ngôn ngữ tạo phong cách cho trang web –Cascading Style Sheet language Nó dùng để tạo phong
Trang 18siti
cách và định kiểu cho những yếu tố được viết dưới dạngngôn ngữ đánh dấu, như là HTML Nó có thể điều khiểnđịnh dạng của nhiều trang web cùng lúc để tiết kiệm côngsức cho người viết web Nó phân biệt cách hiển thị củatrang web với nội dung chính của trang bằng cách điềukhiển bố cục, màu sắc, và font chữ
- CSS được phát triển bởi W3C (World Wide WebConsortium)
- Mối tương quan giữa HTML và CSS rất mật thiết HTML làngôn ngữ markup (nền tảng của site) và CSS định hìnhphong cách (tất cả những gì tạo nên giao diện website),chúng là không thể tách rời
6 JavaScript
- Javascript là một ngôn ngữ lập trình kịch bản dựa vào đốitượng phát triển có sẵn hoặc tự định nghĩa ra, javascriptđược sử dụng rộng rãi trong các ứng dụng Website.Javascript được hỗ trợ hầu như trên tất cả các trình duyệtnhư Firefox, Chrome, thậm chí các trình duyệt trên thiết
Trang 19+ Thao tác DOM − jQuery giúp dễ dàng lựa chọn các
phần tử DOM để traverse (duyệt) một cách dễ dàngnhư sử dụng CSS, và chỉnh sửa nội dung của chúng bởi
sử dụng phương tiện Selector mã nguồn mở, mà đượcgọi là Sizzle
+ Xử lý sự kiện − jQuery giúp tương tác với người dùng
tốt hơn bằng việc xử lý các sự kiện đa dạng mà khônglàm cho HTML code rối tung lên với các Event Handler
+ Hỗ trợ AJAX − jQuery giúp bạn rất nhiều để phát triển
một site giàu tính năng và phản hồi tốt bởi sử dụngcông nghệ AJAX
Trang 20siti
+ Hiệu ứng động − jQuery đi kèm với rất nhiều hiệu ứng
động đẹp mà bạn có thể sử dụng cho các website củamình
+ Gọn nhẹ − jQuery là thư viện gọn nhẹ - nó chỉ có kích
cỡ khoảng 19KB (gzipped)
+ Được hỗ trợ hầu hết bởi các trình duyệt hiện đại
− jQuery được hỗ trợ hầu hết bởi các trình duyệt hiệnđại, và làm việc tốt trên IE 6.0+, FF 2.0+, Safari 3.0+,Chrome và Opera 9.0+
- AJAX cho phép các trang web được cập nhật một cáchkhông đồng bộ bằng cách trao đổi các lượng dữ liệu nhỏvới Server Tức là AJAX giúp cập nhật các phần nhỏ trongtrang mà không cần tải lại toàn bộ trang Nếu đến đây bạnchưa hiểu thì các dòng tiếp theo đây sẽ giúp bạn hiểu cáchAJAX làm việc hơn
Trang 21siti
vity
IV.TỔNG QUAN VỀ FRAMEWORK LARAVEL
- Laravel là một PHP Framework mã nguồn mở miễn phí,được phát triển bởi Taylor Otwell với phiên bản đầu tiênđược ra mắt vào tháng 6 năm 2011 Laravel ra đời nhằmmục đích hỗ trợ phát triển các ứng dụng web, dựa trên môhình MVC (Model – View – Controller)
- Laravel hiện được phát hành theo giấy phép MIT, vớisource code được lưu trữ tại Gitthub
- Những tính năng nổi bật của Laravel bao gồm cú pháp dễhiểu – rõ ràng , một hệ thống đóng gói modular và quản lýgói phụ thuộc, nhiều cách khác nhau để truy cập vào các
cơ sở dữ liệu quan hệ, nhiều tiện ích khác nhau hỗ trợ việctriển khai vào bảo trì ứng dụng
- Dưới đây là một số tính năng thú vị giúp Laravel trở nênnổi trội:
+ Hỗ trợ MVC: Mô hình MVC của Laravel đảm bảo tínhlogic và trình bày rõ ràng Hỗ trợ kiến trúc này giúp cảithiện hiệu suất, cho phép cung cấp tài liệu tốt hơn và
có nhiều chức năng tích hợp
+ Công cụ mẫu: Framework PHP tốt nhất được đánh giá
cao nhờ các mẫu nhẹ có sẵn giúp bạn tạo bố cục tuyệtvời bằng cách sử dụng nội dung động Ngoài ra, nó còn
có nhiều widget kết hợp mã CSS và JS với cấu trúc vữngchắc
+ Artisan: Laravel cung cấp một công cụ tích hợp cho
dòng lệnh được gọi là Artisan cho phép thực hiện phầnlớn các tác vụ lập trình lặp đi lặp lại và tẻ nhạt mà
Trang 22+ Bản đồ quan hệ giữa các đối tượng: Framework Laravel
cung cấp Eloquent ORM bao gồm triển khai Bản ghiHoạt động PHP đơn giản Nó cho phép các nhà pháttriển ứng dụng web đưa ra các truy vấn cơ sở dữ liệubằng cú pháp PHP thay vì viết mã SQL Mỗi bảng trong
cơ sở dữ liệu sở hữu một Mô hình tương ứng mà qua đónhà phát triển tương tác với bảng đó ORM tương đốinhanh hơn tất cả các khuôn khổ PHP khác
+ Phân trang tự động: Phương thức phân trang do Laravel
cung cấp tự động đảm nhận việc đặt giới hạn và độlệch thích hợp dựa trên trang hiện tại mà người dùngđang xem
+ View composers: Trình tổng hợp chế độ xem là một
trong những tính năng quan trọng nhất của Laravel,đảm bảo rằng bộ điều khiển tải một loạt dữ liệu từ các
mô hình cho các chế độ xem không liên quan đến nộidung trang của phương pháp đó
+ Thư viện và module: Laravel cũng phổ biến do có các
thư viện Hướng đối tượng cũng như nhiều thư viện càiđặt sẵn khác.Không tìm thấy các thư viện được cài đặtsẵn này trong bất kỳ khuôn khổ PHP nào khác Hơnnữa, khuôn khổ này được chia thành các module riêng
lẻ áp dụng các nguyên tắc PHP hiện đại cho phép các
Trang 23+ Trình tạo truy vấn: Nó cung cấp nhiều quyền truy cập
trực tiếp hơn vào cơ sở dữ liệu Trình tạo truy vấn của
nó cung cấp một tập hợp các lớp cũng như các kỹ thuậtvới khả năng xây dựng các truy vấn theo chương trình
Nó cũng cho phép bộ nhớ đệm có thể chọn của các kếtquả của các truy vấn đã được thực thi
+ Kiểm tra đơn vị duy nhất: Các nhà phát triển có thể dễ
dàng viết các unit testing trong mã của riêng họ
+ Bảo mật: Trong khi phát triển một ứng dụng, mọi lập
trình viên phải sử dụng một số cách hiệu quả để đảmbảo nó an toàn Laravel chăm sóc bảo mật ứng dụngweb trong khuôn khổ riêng của nó Framework này sửdụng kiểu lưu mật khẩu sẽ không bao giờ lưu dưới dạngvăn bản thuần túy trong cơ sở dữ liệu
CHƯƠNG III: PHÂN TÍCH VÀ THIẾT KẾ HỆ
THỐNG
I.ĐẶC TẢ YÊU CẦU
Website “Tìm thông tin bác sĩ điều trị” có các chức năngsau:
1 Backend
- Quản trị hệ thống có quyền quản lý toàn bộ hoạt động củawebsite Tìm thông tin bác sĩ điều trị Nhân viên có quyềnquản lý tất cả các chức năng trừ các chức năng trongnhóm chức năng hệ thống
Trang 24- Nhóm chức năng quản lý bài viết gồm: quản lý danh mụcbài viết, quản lý bài viết Người dùng được phép thực hiệnhoạt động thêm, sửa, xóa các đối tượng được quản lý.
- Nhóm chức năng quản lý kho: quản lý nhập kho, quản lýxuất kho Người dùng được phép thực hiện hoạt động xemcác thông tin được quản lý
- Quản lý lịch hẹn : Cho phép tìm kiếm, xuất thông tin, xemlịch hẹn, cập nhật trạng thái lịch hẹn, xóa lịch hẹn
- Nhóm chức năng quản lý hệ thống: quản lý admin, quản lýslide, quản lý sự kiện, quản lý trang tĩnh, thống kê Ngườidùng được phép thực hiện hoạt động thêm, sửa, xóaadmin, slide, sự kiện, trang tĩnh và xem thống kê
- Nhóm chức năng quản lý đối tác: quản lý khách hàng,quản lý đơn vị công tác Người dùng được phép thực hiệnhoạt động thêm, sửa, xóa quản lý đơn vị công tác
2 Frontend
Frontend của website được xây dựng trên các tiêu chí:
- Giao diện đẹp, các thao tác đơn giản và thân thiện vớingười dùng
Trang 25- Có thông tin liên hệ của phòng khám
- Font chữ đơn giản, hình ảnh dễ nhìn, màu sắc hài hòa
- Tính bảo mật dữ liệu của hệ thống phải cao
- Đảm bảo vận hành tốt khi có nhiều người dùng cùng tươngtác tại cùng một thời điểm
- Website tương thích với các trình duyệt phổ biến
Frontend của website thực hiện các chức năng:
- Hiển thị các bác sĩ được book nhiều, bác sĩ mới, bác sĩ nổibật, bác sĩ vừa xem, tin tức
- Khách hàng có thể xem thông tin chi tiết của bác sĩ, bìnhluận bác sĩ
- Cho phép gửi thông tin liên hệ
II.CÁC YÊU CẦU PHI CHỨC NĂNG
Trang 26siti
Mục
lý
Hệ thống phải xử lý nhanh chóng vàchính xác
3 Bảo mật Tính bảo mật và độ an toàn cao
thích
Tương thích với đa phần các trình duyệt web hiện tại
III.CÁC YÊU CẦU CHỨC NĂNG
Các tác nhân chính của hệ thống bao gồm:
Tác nhân Admin: thực hiện các chức năng như quản lýchuyên khoa, quản lý bác sĩ, quản lý thông tin, quản lý đánhgiá, quản lý bình luận, quản lý danh mục bài viết, quản lý bàiviết, quản lý admin, quản lý khách hàng, quản, quản lý lịch hẹn,quản lý slide, quản lý trang tĩnh, quản lý thống kê Để thực hiệnchức năng này admin phải đăng nhập
Tác nhân nhân viên: thực hiện các chức năng như quản lýchuyên khoa, quản lý bác sĩ, quản lý thông tin, quản lý đánhgiá, quản lý bình luận, quản lý danh mục bài viết, quản lý bàiviết, quản lý khách hàng, quản lý lịch hẹn Để thực hiện chứcnăng này nhân viên phải đăng nhập
Tác nhân bác sĩ: có thể thực hiện các chức năng như tìmkiếm bệnh nhân, xem danh sách bệnh nhân đăng ký khám, sửa
Trang 27Tác nhân khách hàng: có thể thực hiện các chức năng nhưtìm kiếm bác sĩ, xem thông tin chi tiết của bác sĩ, đặt lịch hẹn,xem lịch hẹn, đăng ký tài khoản mới, bình luận , đánh giá, đăngnhập hệ thống, gửi thông tin liên hệ, quản lý tài khoản.
IV.BIỂU ĐỒ USE CASE
1 Biểu đồ Use – case tổng quát
Trang 28siti
2 Use – case đăng nhập
Trang 29siti
vity
Use case name
Đăng nhập
Description Use case cho admin, nhân viên đăng nhập
vào hệ thống
đăng nhập vào hệ thống
conditions
Pre-Actor chưa đăng nhập vào hệ thống
conditions
Post-Actor đăng nhập thành công và có thể sử dụng các chức năng tương ứng trong trang quản trị
Basic Flow
1 Chọn chức năng đăng nhập
2 Giao diện đăng nhập hiển thị
3 Nhập email, mật khẩu vào giao diện đăng nhập
4 Hệ thống kiểm tra email và mật khẩu nhập của Actor Nếu nhập sai email hoặc mật khẩu thì chuyển sang dòng sự kiện rẽ
Trang 30siti
nhánh Exception Flow Nếu nhập đúng
thì hệ thống sẽ chuyển tới trang quản trị
5 Use case kết thúc
Alternative Flow
3.a Actor chọn đăng ký tài khoản bằng Gmail
3.a.1 Hệ thống chuyển sang màn hình đăng nhập của Google
3.a.2 Người dùng nhập tài khoản Google
và chọn lệnh đăng nhập3.a.3 Google xác thực thông tin đăng nhập thành công và cho phép người dùng truy cập ứng dụng
3.a.4 Hệ thống chuyển đến trang quản trị
Exception Flow
4.a.1 Hệ thống xác thực thông tin đăng nhập không thành công và hiển thị thông báo
4.a.1.1 Người dùng chọn lệnh hủy đăng nhập
Use Case dừng lại
4.a.1.2 Người dùng chọn lệnh lấy lại mật khẩu, hệ thống gửi email cung cấp mật khẩu mới, người dùng có thể đăng nhập bằng mật khẩu mới
3 Use - case quản lý chuyên khoa
Trang 31siti
vity
Use case name
Quản lý chuyên khoa
Description Use case cho phép xem, thêm, sửa, xóa
danh mục chuyên khoa trong hệ thống
chỉnh sửa chuyên khoa
conditions
Pre-Actor đã đăng nhập vào hệ thống
conditions
Post-Các thông tin về danh mục chuyên khoa được cập nhật trong cơ sở dữ liệu
Basic Flow 1 Actor chọn chức năng : thêm, sửa, xóa
Trang 322.a Actor chọn “Sửa”
2.a.1 Hệ thống hiển thị danh sách danhmục chuyên khoa
2.a.2 Actor thay đổi 1 thông tin chuyên khoa
2.a.3 Sau khi cập nhật xong các thông tin cần thay đổi, nhấn nút “Sửa”, hệ thống sẽ cập nhật thông tin này Nếu không thành công thì chuyển sang dòng
sự kiện rẽ nhánh Exception Flow
Exception Flow
Hệ thống thông báo việc nhập dữ liệuthất bại , quay lại bước 1
4 Use - case quản lý bác sĩ
Trang 33siti
vity
Use case name
Quản lý bác sĩ
Description Use case cho phép xem, thêm, sửa, xóa
thông tin bác sĩ trong hệ thống
xoá thông tin bác sĩ
conditions
Pre-Actor đã đăng nhập vào hệ thống
conditions
Post-Các thông tin về bác sĩ được cập nhật trong cơ sở dữ liệu
Basic Flow 1 Actor chọn chức năng : thêm, sửa, xóa
2 Actor chọn “Thêm”
2.1 Hệ thống hiển thị giao diện nhậpthông tin bác sĩ, người sử dụng nhậpthông tin như tên bác sĩ, chuyên khoa,
mô tả …
2.2 Nếu thành công hệ thống đưa ra
Trang 342.a Actor chọn “Sửa”
2.a.1 Hệ thống hiển thị danh sách bác sĩ
2.a.2 Actor chọn 1 bác sĩ và thay đổi thông tin
2.a.3 Sau khi cập nhật xong các thông tin cần thay đổi, nhấn nút “Sửa”, hệ thống sẽ cập nhật thông tin này Nếu không thành công thì chuyển sang dòng
sự kiện rẽ nhánh Exception Flow
2.b Actor chọn “Xóa”
2.b.1 Hệ thống hiển thị danh sách bác sĩ 2.b.2 Actor chọn 1 bác sĩ , nhấn nút
“xoá”, 2.b.3 Thông báo hiển thị xác nhận xóa,nếu việc thay đổi thông tin thành công
hệ thống sẽ đưa ra thông báo, nếu saithì thực hiện dòng rẽ nhánh Exception Flow
Exception Flow
Hệ thống thông báo việc nhập dữ liệuthất bại ,quay lại bước 1
Trang 35Quản lý phòng khám
Description Use case cho phép xem, thêm, sửa, xóa
thông tin phòng khám trong hệ thống
xóa thông tin phòng khám
conditions
Pre-Actor đã đăng nhập vào hệ thống
conditions
Post-Các thông tin về phòng khám được cập nhật trong cơ sở dữ liệu
Basic Flow 1 Actor chọn chức năng : thêm, sửa, xóa
2 Actor chọn “Thêm”
2.1 Hệ thống hiển thị giao diện nhậpthông tin phòng khám, người sử dụngnhập thông tin như tên phòng khám, địachỉ, mô tả …
2.2 Nếu thành công hệ thống đưa rathông báo, lưu thông tin vào danh sách
Trang 362.a Actor chọn “Sửa”
2.a.1 Hệ thống hiển thị danh sách phòng khám
2.a.2 Actor chọn 1 phòng khám và thayđổi thông tin
2.a.3 Sau khi cập nhật xong các thông tin cần thay đổi, nhấn nút “Sửa”, hệ thống sẽ cập nhật thông tin này Nếu không thành công thì chuyển sang dòng
sự kiện rẽ nhánh Exception Flow
2.b Actor chọn “Xóa”
2.b.1 Hệ thống hiển thị danh sáchphòng khám
2.b.2 Actor chọn 1 phòng khám, nhấnnút “xoá”,
2.b.3 Thông báo hiển thị xác nhận xóa,nếu việc thay đổi thông tin thành công
hệ thống sẽ đưa ra thông báo, nếu saithì thực hiện dòng rẽ nhánh Exception Flow
Exception Flow
Hệ thống thông báo việc nhập dữ liệuthất bại ,quay lại bước 1
6 User - case quản lý khách hàng
Trang 37siti
vity
Use case name
Quản lý khách hàng
Description Use case cho phép xem sửa, xóa thông
tin khách hàng trong hệ thống
thông tin khách hàng
conditions
Pre-Actor đã đăng nhập vào hệ thống
conditions
Post-Các thông tin về khách hàng được cập nhật trong cơ sở dữ liệu
Basic Flow 1 Actor chọn chức năng : sửa, xóa
2 Actor chọn “Sửa” 1 khách hàng2.1 Hệ thống hiển thị giao diện sửathông tin khách hàng như tên, địa chỉ,
số điện thoại…
2.2 Nếu thành công hệ thống đưa rathông báo, lưu thông tin vào danh sáchkhách hàng Nếu không thành công thìchuyển sang dòng sự kiện rẽ nhánh
Exception Flow
Trang 38siti
3 Use case kết thúc
Alternative Flow
2.a Actor chọn “Xóa”
2.a.1 Hệ thống hiển thị danh sáchkhách hàng
2.a.2 Actor chọn khách hàng, nhấnnút “xoá”,
2.a.3 Thông báo hiển thị xác nhậnxóa, nếu việc thay đổi thông tin thànhcông hệ thống sẽ đưa ra thông báo,nếu sai thì thực hiện dòng rẽ nhánh
Exception Flow Exception
Quản lý đánh giá
Description Cho phép xem xóa thông tin đánh giá