BÁO CÁO ĐỒ ÁN Xây dựng website quản lý tiêm chủng vac xin LỜI CẢM ƠN Xin chân thành cảm ơn các giảng viên Khoa Công Nghệ Thông Tin, cùng các giảng viên Trường Đại học đã truyền đạt kiến.
CƠ SỞ LÝ THUYẾT
Ngôn ngữ thiết kế web HTML và CSS
HTML (Ngôn ngữ đánh dấu siêu văn bản) là mã thiết yếu để tạo ra cấu trúc và nội dung cho trang web, bao gồm các đoạn văn, danh sách, hình ảnh và bảng biểu.
Tính năng mới của HTML5:
- Phần tử dùng để chỉ hiển thị cỡ nhỏ, nó có thể được ký hiệu là trình bao bọc chính xác cho thông tin này.
- Việc sử dụng dấu ngoặc kép có thể phụ thuộc vào người dùng.
- Cho phép người dùng chỉnh sửa bất kỳ văn bản nào có trong phần tử, bao gồm cả phần tử con của nó.
- HTML5 loại bỏ hoàn toàn thuộc tính .
- Cung cấp các đầu vào email cho phép hướng dẫn trình duyệt chỉ cho phép các chuỗi xác nhận địa chỉ email.
- Dễ dàng tạo thanh trượt với phạm vi đầu vào.
CSS, hay còn gọi là Cascading Style Sheets, là ngôn ngữ dùng để mô tả cách trình bày các tài liệu được viết bằng HTML và XHTML Nó cho phép người dùng thêm các kiểu hiển thị như font chữ, kích thước và màu sắc cho các tài liệu web.
Lợi ích của CSS với một trang web HTML:
Hình 1.1 Lợi ích của việc sử dụng CSS trong trang web HTML
CSS có tác dụng chính là:
Để tối ưu hóa mã nguồn của trang Web, hạn chế sử dụng các thẻ định dạng như chữ đậm và in nghiêng là rất quan trọng Việc này giúp giảm thiểu sự rối rắm trong HTML, làm cho mã nguồn trở nên gọn gàng và dễ quản lý hơn.
- Tách biệt nội dung trang Web và định dạng hiển thị, dễ dàng cho việc thay đổi.
- Tạo ra các kiểu dáng áp dụng được cho nhiều trang Web, tránh lặp lại việc định dạng cho các trang Web giống nhau.
Ngôn ngữ lập trình Javascript và thư viện Jquery
JavaScript là ngôn ngữ lập trình chủ yếu cho HTML và ứng dụng web, nổi bật với tính nhẹ và khả năng tương tác mạnh mẽ Được sử dụng rộng rãi trong các trang web, JavaScript cho phép thực hiện các script phía khách hàng, giúp tạo ra các trang web động và tương tác với người dùng Đây là một ngôn ngữ thông dịch với các tính năng hướng đối tượng, mang lại sự linh hoạt cho lập trình viên.
Hình 1.2 Minh họa JavaScript kết hợp với HTML và CSS
- Tiêt kiệm băng thông máy chủ:
JavaScript là công cụ hữu ích trong thiết kế website, giúp tiết kiệm băng thông cho máy chủ hiệu quả nhờ khả năng thực thi trực tiếp trên thiết bị của người dùng.
Các dòng script được thực thi trực tiếp trên trình duyệt của người dùng nhằm nâng cao hiệu suất, kéo dài tuổi thọ của máy chủ và tiết kiệm băng thông.
JavaScript có khả năng vận hành linh hoạt và tương thích tốt với hầu hết các trình duyệt phổ biến như Cốc Cốc, Chrome, Firefox và Safari Để thực thi, người dùng chỉ cần tải file JavaScript từ một tên miền riêng biệt hoặc nhúng trực tiếp vào file HTML mà không cần tải thêm, giúp tối ưu hóa hiệu suất và trải nghiệm người dùng.
Hầu hết các trình duyệt web hiện nay đều tích hợp sẵn trình thông dịch ngôn ngữ JavaScript, giúp người dùng sử dụng ngay mà không cần tải về Điều này không chỉ tiết kiệm thời gian mà còn giảm tỷ lệ thực thi các chức năng của JavaScript, mang lại sự tiện lợi cho người dùng ngay cả khi không có mạng.
- Dễ dàng kiểm tra, xử lý vấn đề:
Việc kiểm tra và xử lý vấn đề trở nên dễ dàng hơn nhờ vào sự hỗ trợ của nhiều trình duyệt Hầu hết các trình duyệt web hiện nay đều tích hợp sẵn công cụ xử lý lỗi Javascript trong bảng điều khiển, giúp người dùng khắc phục sự cố hiệu quả.
Javascript sở hữu cấu trúc dễ đọc với cácnguyên tắc rõ ràng nên việc xác định và gỡ lỗi trở nên đơn giản hơn nhiều.
- Nâng cao trải nghiệm người dùng:
Sử dụng ngôn ngữ lập trình giúp website thu hút người dùng thông qua các tính năng hấp dẫn và hình ảnh sinh động Những chức năng lướt và tương tác nhanh nhạy mang lại cảm giác thoải mái và thích thú, từ đó tăng cường sự tin tưởng của người dùng đối với trang web.
JQuery là một thư viện phát triển từ Javascript, nhằm hỗ trợ lập trình viên vượt qua những thách thức khi làm việc với ngôn ngữ này Thư viện này bao gồm nhiều module chuyên biệt, từ module hiệu ứng cho đến module truy cập selector, giúp tối ưu hóa quá trình lập trình.
- Xử lý thao tác DOM: Công cụ này sẽ lựa chọn DOM để duyệt, chỉnh sửa nội dung bằng cách dùng các Selected mã nguồn mở.
JQuery hỗ trợ AJAX, mang đến khả năng tương tác hiệu quả với máy chủ, cho phép cập nhật nội dung tự động cho các đoạn mã viết bằng AJAX.
- Hỗ trợ tạo hiệu ứng động: Jquery giúp tạo các hiệu ứng động trên
Xử lý sự kiện là một công cụ quan trọng giúp tăng cường tương tác giữa website và người truy cập, dựa trên nguyên lý xử lý sự kiện mà không làm ảnh hưởng đến mã HTML.
- Tương thích hầu hết trình duyệt, các nền tảng hiện đại: Jquery tương thích với gần như tất cả các trình duyệt từ Chrome, Android, Firefox, IOS…
Framework Bootstrap
Bootstrap is an open-source framework that enables the rapid and professional design of responsive websites It includes a variety of HTML templates, CSS templates, and JavaScript components that facilitate the creation of essential elements such as forms, buttons, tables, sidebars, navigation menus, and modals.
Cấu trúc và chức năng:
- Bootstrap cho phép tùy chỉnh framework trước khi tải về sử dụng ngay tại trang web của framework.
- Tích hợp sẵn các stylesheets được định nghĩa thao cách cơ bản nhất chỉ cần tích hợp với code HTML của trang web hiện tại.
- Tích hợp sẵn Jquery và chỉ cần khai báo đúng cách thì sẽ đảm bảo xuất hiện các tính năng cần thiết trong quá trình lập trình web.
- Bootstrap định nghĩa sẵn các glyphicons giúp giảm tối đa việc sử dụng hình ảnh làm icon và giúp tăng tốc độ tải trang web.
- Được thiết kế theo dạng module, vì vậy nó hoàn toàn dễ dàng tích hợp với hầu hết các bộ mã nguồn mở như WordPress, Magento, NukeViet…
Lý do nên sử dụng Bootstrap:
Một số lý do nên sử dụng Bootstrap:
- Tính năng responsive: Xây dựng sẵn responsive trên các thiết bị desktop, tablet, mobile.
Bootstrap là một framework dễ sử dụng, được xây dựng dựa trên ngôn ngữ HTML, CSS và JavaScript Chỉ cần có kiến thức cơ bản về ba ngôn ngữ này, người dùng có thể dễ dàng làm quen và áp dụng Bootstrap vào dự án của mình.
- Tương thích với trình duyệt: Tương thích với tất cả các trình duyệt nhưChrome, Firefox, Safari, Internet Explore và Opera.
Mô hình MVC
Mô hình MVC(MVC Design Pattern) là viết tắt của Model – View –
Controller, tương ứng với ba bộ phận tạo nên cấu trúc của ứng dụng:
Mô hình là nơi lưu trữ các nghiệp vụ tương tác với hệ quản trị cơ sở dữ liệu, bao gồm nhiều lớp và hàm chức năng xử lý các tác vụ như kết nối với database và truy vấn dữ liệu, cùng với các xử lý nghiệp vụ khác.
Giao diện người dùng, hay còn gọi là View, là thành phần quan trọng trong hệ thống, bao gồm các yếu tố như nút nhấn, khung nhập liệu và hình ảnh Nó đóng vai trò hiển thị dữ liệu, giúp người dùng dễ dàng tương tác và trải nghiệm với hệ thống một cách trực quan và hiệu quả.
Controller là thành phần tiếp nhận và xử lý các yêu cầu từ người dùng, bao gồm các class và function thực hiện nghiệp vụ logic Nó lấy dữ liệu và thông tin cần thiết từ lớp Model, sau đó hiển thị dữ liệu cho người dùng thông qua lớp View.
Ưu điểm của mô hình MVC:
- Dễ dàng thao tác chỉnh sửa: Bộ phận Model hoạt động tách biệt với
View đồng nghĩa với việc có thể đưa các thay đổi, chỉnh sửa hoặc cập nhật dễ dàng ở các bộ phận khác.
Hỗ trợ quá trình phát triển nhanh chóng, các lập trình viên có thể làm việc đồng thời trên từng bộ phận khác nhau của mô hình nhờ vào tính độc lập của từng thành phần, từ đó tiết kiệm đáng kể thời gian.
- Khả năng cung cấp đồng thời nhiều khung View: Với mô hình MVC, có thể tạo đồng thời nhiều khung View cho Model.
MVC hỗ trợ các kỹ thuật không đồng bộ và có khả năng hoạt động trên nền tảng JavaScript Điều này cho phép các ứng dụng MVC tương tác hiệu quả với các file PDF, các trình duyệt web cụ thể và các widget máy tính.
- Hỗ trợ các nền tảng phát triển SEO: Có thể dễ dàng tạo các mã SEOURL để thu hút lượng truy cập với ứng dụng bất kỳ.
Ngôn ngữ lập trình PHP
PHP (viết tắt của Hypertext Preprocessor) là một ngôn ngữ lập trình kịch bản phổ biến, chủ yếu được sử dụng để phát triển ứng dụng máy chủ và phục vụ cho nhiều mục đích khác nhau Ngôn ngữ này rất thích hợp cho việc xây dựng website và có khả năng nhúng trực tiếp vào mã HTML.
PHP không phải là ngôn ngữ lập trình phía server duy nhất, nhưng nó có lợi thế vượt trội khi chạy trang web WordPress WordPress được phát triển dựa trên PHP, giúp cải thiện đáng kể khả năng tùy chỉnh cho trang web Ngoài ra, còn nhiều lý do khác khiến PHP trở thành ngôn ngữ lập trình lý tưởng cho việc phát triển web.
- Dễ học: Có thể học dễ dàng vì nó có tài liệu tuyệt vời về các chức năng về ví dụ.
- Được sử dụng rộng rãi, phổ biến: Nó được sử dụng để tạo ra các loại nền tảng như thương mại điện tử, blogs, phương tiện truyền thông xã
- Chi phí thấp: Nó là nguồn mở để có thể sử dụng miễn phí.
- Cộng đồng lớn: Nếu gặp phải những khó khăn nào đó, sẽ không phải là điều lo lắng vì có rất nhiều blog PHP trên Internet.
- Tích hợp với cơ sở dữ liệu: Ví dụ như MySQL, Oracle
Hệ quản trị cơ sở dữ liệu MySQL
Định nghĩa Cơ sở dữ liệu:
Cơ sở dữ liệu là tập hợp dữ liệu có tổ chức, thường được lưu trữ và truy cập qua hệ thống máy tính Khi cơ sở dữ liệu trở nên phức tạp, chúng thường được phát triển thông qua các kỹ thuật thiết kế và mô hình hóa chính thức.
Định nghĩa Hệ quản trị cơ sở dữ liệu:
Hệ quản trị cơ sở dữ liệu (Database Management System) là hệ thống được thiết kế để tự động và có trật tự quản lý khối lượng dữ liệu nhất định Các chức năng quản lý bao gồm chỉnh sửa, xóa, lưu trữ và tìm kiếm thông tin trong một tập hợp dữ liệu cụ thể.
Chức năng chính của Hệ quản trị cơ sở dữ liệu:
- Cung cấp môi trường tạo lập cơ sở dữ liệu:
Hệ quản trị cơ sở dữ liệu (CSDL) cung cấp cho người dùng một ngôn ngữ định nghĩa dữ liệu, cho phép mô tả và khai báo kiểu dữ liệu cũng như các cấu trúc dữ liệu một cách hiệu quả.
- Cung cấp cách cập nhật và khai thác dữ liệu:
Hệ quản trị cơ sở dữ liệu (CSDL) cung cấp ngôn ngữ thao tác dữ liệu cho người dùng, cho phép họ thực hiện các yêu cầu và thao tác cần thiết để cập nhật và khai thác thông tin Các thao tác dữ liệu chủ yếu bao gồm việc cập nhật (thêm, sửa, xóa) và khai thác (tìm kiếm, kết xuất dữ liệu) để quản lý hiệu quả cơ sở dữ liệu.
Cung cấp các công cụ kiểm soát và điều khiển truy cập vào cơ sở dữ liệu là rất quan trọng để đảm bảo thực hiện các yêu cầu cơ bản của hệ quản trị cơ sở dữ liệu Điều này bao gồm việc đảm bảo an ninh, phát hiện và ngăn chặn các truy cập bất hợp pháp, duy trì tính nhất quán của dữ liệu, tổ chức và điều khiển các truy cập, cũng như khôi phục dữ liệu khi có sự cố xảy ra.
MySQL là một hệ thống quản trị cơ sở dữ liệu mã nguồn mở (Relational
Hệ thống Quản lý Cơ sở Dữ liệu (RDBMS) hoạt động dựa trên mô hình client-server, trong đó MySQL nổi bật như một phần mềm RDBMS phổ biến nhất.
MySQL nổi bật với khả năng bảo mật cao, giúp ngăn chặn các cuộc tấn công và bảo vệ dữ liệu hiệu quả, điều này lý giải cho lượng người dùng đông đảo hiện nay.
- Nhiều tính năng: MySQL hỗ trợ nhiều tính năng ưu việt vượt cả trực tiếp và gián tiếp
- Dễ sử dụng: Dễ dàng nắm bắt các kiến thức và khá đơn giản trong quá trình sử dụng, kể cả với người mới bắt đầu.
MySQL là một hệ quản trị cơ sở dữ liệu mã nguồn mở hoàn toàn miễn phí, cho phép người dùng sử dụng mà không phải tốn chi phí Tuy nhiên, một số tính năng hỗ trợ nâng cao vẫn yêu cầu người dùng trả phí để sử dụng.
- Tốc độ: Khả năng Request dữ liệu cực nhanh, điều này rất quan trọng trong lập trình web.
Quá trình phối hợp hoạt động của MySQL và PHP:
Khi khách hàng yêu cầu tải một tập tin lên web, quá trình tương tác giữa MySQL và PHP sẽ diễn ra để xử lý yêu cầu này.
- Server sử dụng PHP để chuyển, tải tập tin lên.
- PHP thực hiện yêu cầu, sau đó truyền tín hiệu tới MySQL, yêu cầu MySQL lưu trữ tập tin.
- MySQL nhận và tiến hành yêu cầu của PHP gửi tới, và phản hồi cho PHP.
- PHP phản hồi với Server rằng MySQL đã chấp nhận yêu cầu và lệnh đã được gửi Server có thể in nội dung tập tin.
Hình 1.4 Quá trình phối hợp hoạt động của MySQL và PHP
Phần mềm PHPMyAdmin
PhpMyAdmin là một công cụ mã nguồn mở, được phát triển bằng PHP, giúp quản lý cơ sở dữ liệu MySQL thông qua giao diện web Đây là phần mềm quản trị MySQL phổ biến nhất, được hàng triệu người dùng trên toàn cầu, đặc biệt là các quản trị viên cơ sở dữ liệu, tin dùng.
Hình 1.5 Giao diện phần mềm PhpMyAdmin
Các tính năng chung của PhpMyAdmin:
- Quản lý cơ sở dữ liệu: Tạo mới, sửa, xóa; thêm bảng, hàng, trường; tìm kiếm các đối tượng.
- Quản lý người dùng(user): Thêm, sửa, xóa(phân quyền).
- Nhập xuất dữ liệu(Import/Export): Hỗ trợ các định dạng SQL, XML và CSV.
- Sao lưu và khôi phục(Backup/Restore): Thao tác thủ công.
- Tạo đồ họa của bố cục cơ sở dữ liệu ở các định dạng khác nhau.
- Tạo truy vấn phức tạp bằng cách sử dụng Query-by-example(QBE).
KHẢO SÁT ĐỀ TÀI
Khảo sát đề tài
Quản lý tiêm chủng vac-xin tại các địa phương thường được ghi chép trong sổ theo dõi tiêm chủng cá nhân và được lưu trữ bằng sổ sách hoặc phần mềm đơn giản như Excel tại các điểm tiêm chủng.
Sau khi tiếp nhận các lô vac-xin, bộ phận tiêm chủng thực hiện lưu trữ và quản lý thông tin về vac-xin, bao gồm tên, công dụng, số lượng và độ tuổi phù hợp Đồng thời, bộ phận này cũng thông báo công dụng của vac-xin đến người dân thông qua các phương tiện truyền thông đại chúng.
Trong các đợt tiêm chủng diện rộng, bộ phận tiêm chủng sẽ thông báo đến các tổ dân phố và địa phương để người dân biết thông tin và đăng ký tiêm vac-xin.
Trong quá trình tiêm chủng, người dân cần đăng ký tiêm bằng cách điền thông tin cá nhân vào giấy đăng ký do bộ phận tiêm chủng phát Sau khi tiếp nhận thông tin, bộ phận này sẽ lưu trữ dữ liệu và gửi giấy hẹn tiêm hoặc thông báo qua điện thoại về địa điểm và thời gian tiêm Vào ngày tiêm, người dân phải đến đúng địa điểm và thời gian ghi trên giấy hẹn để thực hiện tiêm chủng Sau khi tiêm xong, người dân sẽ nhận giấy chứng nhận tiêm và bộ phận tiêm chủng sẽ lưu kết quả tiêm chủng.
Cuối mỗi tháng hoặc quý, các địa phương dựa vào danh sách đăng ký tiêm và sổ quản lý tiêm chủng để thực hiện báo cáo thống kê về số liệu tiêm chủng Những báo cáo này sẽ được gửi lên cơ quan y tế để tổng hợp thông tin.
Một số vấn đề tồn tại
Tốc độ tra cứu thông tin vac-xin và đăng ký tiêm chủng hiện nay gặp nhiều khó khăn do bộ phận tiêm chủng phải tìm kiếm trong kho và sổ sách, dẫn đến việc mất thời gian Sự đa dạng của các loại vac-xin và dữ liệu đăng ký tiêm có thể gây ra tình trạng bỏ sót hoặc cung cấp thông tin không chính xác.
Quản lý thông tin vac-xin, dữ liệu người dùng và thông tin đăng ký tiêm chủng là một thách thức lớn Khối lượng dữ liệu khổng lồ khiến việc tìm kiếm và lưu trữ trở nên phức tạp, dễ dẫn đến sai sót trong quá trình nhập liệu.
Khi nhu cầu tiêm chủng tăng cao, khối lượng vac-xin nhập khẩu cũng gia tăng đáng kể Nhiều loại vac-xin có công dụng tương tự nhưng lại khác nhau về giá thành và nhà sản xuất Điều này dẫn đến tình trạng quá tải, khiến việc kiểm soát các sản phẩm trở nên khó khăn khi số lượng người tiêm chủng có hạn.
Yêu cầu với hệ thống triển khai
Yêu cầu về chức năng:
- Người dùng có thể đăng ký tiêm, theo dõi lịch sử tiêm chủng và tìm kiếm.
Quản trị viên với quyền truy cập cao nhất có khả năng thực hiện toàn bộ chức năng quản lý trong hệ thống, bao gồm quản lý thành viên, quản lý vac-xin và quản lý đăng ký tiêm.
Yêu cầu phi chức năng:
- Tính tương thích: Tương thích đa phần với các trình duyệt web hiện tại.
- Tính bảo mật: Bảo mật và độ an toàn cao.
- Thời gian vận hành: Đảm bảo vận hành 24/7.
- Tốc độ xử lý: Hệ thống phải xử lý nhanh chóng và chính xác.
PHÂN TÍCH VÀ THIẾT KẾ HỆ THỐNG
Use Case hệ thống
Hình 2.1 Use Case tổng quát
Hình 2.2 Use Case hệ thống
Người dùng có thể dễ dàng đăng ký tài khoản trên website để lưu trữ thông tin cá nhân và theo dõi lịch sử tiêm chủng của mình, giúp quản lý sức khỏe hiệu quả hơn.
Điều kiện đầu vào: Khi người dùng truy cập và chọn đăng ký.
Người dùng chọn đăng ký.
Hệ thống hiển thị trang đăng ký.
Người dùng nhập các trường thông tin và chọn đăng ký.
Hệ thống kiểm tra các trường dữ liệu:
▫ Nếu thỏa mãn thì chuyển đến trang chủ.
▫ Nếu không thỏa mãn thì thực hiện dòng sự kiện rẽ nhánh A1.
Dòng sự kiện rẽ nhánh A1:
Hệ thống thông báo việc nhập dữ liệu không hợp lệ.
Quay lại bước 3 của sự kiện chính.
Điều kiện đầu ra: Lưu tài khoản người dùng đã đăng ký.
Tác nhân: Người dùng và quản trị viên.
Mô tả tổng quát: Người dùng và quản trị viên đăng nhập vào hệ thống.
Điều kiện đầu vào: UseCase sử dụng khi người dùng muốn đăng nhập vào hệ thống.
Hệ thống yêu cầu nhập tài khoản và mật khẩu.
Người dùng nhập tài khoản và mật khẩu.
Hệ thống kiểm tra tên và mật khẩu vừa nhập:
▫ Nếu đúng sẽ kiểm tra quyền, và hiển thị quyền tương ứng của tài khoản.
▫ Nếu sai thực hiện luồng sự kiện phụ A1.
Hệ thống sẽ thông báo việc nhập dữ liệu không hợp lệ.
Người dùng nhập lại tài khoản và mật khẩu.
Quay lại bước 3 của luồng sự kiện chính, hoặc hủy bỏ việc đăng nhập, khi đó ca sử dụng kết thúc.
Tác nhân: Người dùng và quản trị viên.
Mô tả tổng quát: Người dùng và quản trị viên muốn thoát tài khoản khỏi hệ thống.
Điều kiện đầu vào: UseCase sử dụng khi người quản trị và người dùng chọn đăng xuất.
Hệ thống hủy việc lưu thông tin đăng nhập.
Quay về màn hình trang chủ.
1.3 Use Case của tác nhân người dùng:
Hình 2.3 Use Case của tác nhân người dùng
Mô tả tổng quát: Người dùng thực hiện đăng ký tiêm.
Điều kiện đầu vào: Khi người dùng đăng nhập thành công hệ thống và
Người dùng chọn đăng ký tiêm.
Hệ thống kiểm tra tài khoản người dùng:
▫ Nếu có tài khoản, thì thực hiện bước tiếp theo
▫ Ngược lại, chuyển hướng tới form đăng nhập.
Người dùng nhập các thông tin đăng ký tiêm như thời gian, địa điểm, loại vac-xin
Hệ thống kiểm tra trường dữ liệu:
▫ Nếu đầy đủ thì thực hiện bước tiếp theo.
▫ Nếu không thì thực hiện sự kiện rẽ nhánh A1.
Hệ thống thông báo đăng ký tiêm thành công.
Hệ thống lưu thông tin đăng ký tiêm vào cơ sở dữ liệu.
Dòng sự kiện rẽ nhánh A1:
Hệ thống thông báo việc nhập dữ liệu không hợp lệ.
Người dùng nhập lại thông tin.
Quay lại bước 4 của sự kiện chính
Điều kiện đầu ra: Thông tin đăng ký tiêm của người dùng được lưu vào cơ sở dữ liệu.
Theo dõi lịch sử tiêm:
Mô tả tổng quát: Người dùng muốn xem lịch sử tiêm để thuận tiện cho việc đăng ký các mũi tiêm tiếp theo.
Điều kiện đầu vào: UseCase sử dụng khi người dùng đăng nhập thành công hệ thống và chọn theo dõi lịch sử tiêm.
Hệ thống lấy thông tin các đợt tiêm chủng mà người dùng đã được tiêm.
Hiển thị danh sách lịch sử tiêm trên màn hình.
Cập nhật thông tin cá nhân:
Mô tả tổng quát: Người dùng cập nhật thông tin cá nhân của mình.
Điều kiện đầu vào: Khi người dùng đăng nhập hệ thống thành công và chọn thông tin cá nhân.
Người dùng chọn cập nhật thông tin cá nhân.
Hệ thống hiển thị form cập nhật thông tin.
Người dùng nhập các thông tin muốn sửa đổi, và chọn cập nhật.
Hệ thống kiểm tra các trường dữ liệu:
▫ Nếu đầy đủ và đúng định dạng thì chuyển qua bước tiếp theo.
▫ Nếu không thì thực hiện dòng sự kiện rẽ nhánh A1.
Hệ thống thông báo cập nhật thông tin cá nhân thành công.
Hệ thống cập nhật thông tin cá nhân vào cơ sở dữ liệu.
Dòng sự kiện rẽ nhánh A1:
Hệ thống thông báo việc nhập dữ liệu không hợp lệ.
Quay lại bước 3 của sự kiện chính.
Điều kiện đầu ra: Thông tin của người dùng được cập nhật vào cơ sở dữ liệu.
Mô tả tổng quát: Người dùng xem các thống kê về tiêm chủng.
Điều kiện đầu vào: UseCase sử dụng khi người dùng truy cập hệ thống.
▫ Hệ thống tính tổng vac-xin nhập về, số vac-xin từng loại, số người đăng ký tiêm, số người đã tiêm và số người chờ tiêm.
▫ Hiển thị trên màn hình số liệu đã tính toán.
Thống kê lượt tiêm theo ngày:
▫ Hệ thống lấy danh sách đã tiêm trên các khu vực, theo từng ngày.
▫ Hệ thống tính tổng đã tiêm từng ngày.
▫ Hệ thống hiển thị biểu đồ lượt tiêm theo ngày.
Thống kê đăng ký tiêm theo từng khu vực:
▫ Hệ thống lấy danh sách đăng ký tiêm trên từng khu vực.
▫ Hệ thống tính tổng đăng ký tiêm tiêm từng khu vực.
▫ Hệ thống hiển thị biểu đồ đăng ký tiêm theo từng khu vực.
1.4 Use Case quản lý vac-xin:
Hình 2.4 Use Case quản lý vac-xin
Tác nhân: Quản trị viên.
Mô tả tổng quát: Người quản trị quản lý các loại vac-xin trong hệ thống.
Điều kiện đầu vào: Người dùng đăng nhập thành công, với quyền quản trị.
Quản trị viên chọn quản lý vac-xin.
Hệ thống hiển thị danh sách vac-xin, và các chức năng: thêm, sửa và xóa vac-xin:
Hệ thống hiển thị form nhập thông tin vac-xin.
Người quản lý nhập thông tin vac-xin.
Nhập nút thêm vac-xin.
Hệ thống kiểm tra các trường dữ liệu: Nếu thỏa mãn, thì thực hiện bước tiếp theo Nếu không, thì thực hiện luồng sự kiện A1.
Hệ thống thông báo thêm vac-xin thành công.
Hệ thống lưu lại thông tin vac-xin.
Hệ thống hiển thị form cập nhật thông tin vac-xin.
Quản trị viên nhập thông tin cần thay đổi.
Nhập nút cập nhật vac-xin.
Hệ thống kiểm tra các trường dữ liệu: Nếu thỏa mãn, thì thực hiện bước tiếp theo Nếu không, thì thực hiện luồng sự kiện A1.
Hệ thống thông báo cập nhật vac-xin thành công.
Hệ thống cập nhật thông tin vac-xin.
Quản trị viên chọn thông tin vac-xin cần xóa.
Hệ thống kiểm tra: Nếu không có ràng buộc, thực hiện xóa vac-xin và trả về trang hiện hành Ngược lại, hủy thao tác xóa.
Dòng sự kiện rẽ nhánh A1:
Quản trị thưc hiện nhập lại dữ liệu.
Quay lại bước 2 của sự kiện.
Điều kiện đầu ra: Danh sách các vac-xin được cập nhật đầy đủ vào cơ sở dữ liệu.
1.5 Use Case quản lý admin:
Hình 2.5 Use Case quản lý admin
Tác nhân: Quản trị viên.
Mô tả tổng quát: Người quản trị quản lý các tài khoản admin truy cập hệ thống.
Điều kiện đầu vào: Người dùng đăng nhập thành công, với quyền quản trị.
Quản trị viên chọn quản lý admin.
Hệ thống hiển thị danh sách admin, và các chức năng: thêm, sửa và xóa admin:
Hệ thống hiển thị form nhập thông tin admin.
Người quản lý nhập thông tin admin.
Hệ thống kiểm tra các trường dữ liệu: Nếu thỏa mãn, thì thực hiện bước tiếp theo Nếu không, thì thực hiện luồng sự kiện A1.
Hệ thống thông báo thêm admin thành công.
Hệ thống lưu lại thông tin admin.
Hệ thống hiển thị form cập nhật thông tin admin.
Quản trị viên nhập thông tin cần thay đổi.
Nhập nút cập nhật admin.
Hệ thống kiểm tra các trường dữ liệu: Nếu thỏa mãn, thì thực hiện bước tiếp theo Nếu không, thì thực hiện luồng sự kiện A1.
Hệ thống thông báo cập nhật admin thành công.
Hệ thống cập nhật thông tin admin.
Quản trị viên chọn thông tin admin cần xóa.
Hệ thống kiểm tra: Nếu không có ràng buộc, thực hiện xóa admin và trả về trang hiện hành Ngược lại, hủy thao tác xóa.
Dòng sự kiện rẽ nhánh A1:
Quản trị thưc hiện nhập lại dữ liệu.
Quay lại bước 2 của sự kiện.
Điều kiện đầu ra: Danh sách các admin được cập nhật đầy đủ vào cơ sở dữ liệu.
1.6 Use Case quản lý người dùng:
Hình 2.6 Use Case quản lý người dùng
Tác nhân: Quản trị viên.
Mô tả tổng quát: Người quản trị quản lý các tài khoản người dùng truy cập hệ thống.
Điều kiện đầu vào: Người dùng đăng nhập thành công, với quyền quản trị.
Quản trị viên chọn quản lý người dùng.
Hệ thống hiển thị danh sách người dùng, và các chức năng: thêm, sửa và xóa người dùng:
Hệ thống hiển thị form nhập thông tin người dùng.
Người quản lý nhập thông tin người dùng.
Nhập nút thêm người dùng.
Hệ thống kiểm tra các trường dữ liệu: Nếu thỏa mãn, thì thực hiện bước tiếp theo Nếu không, thì thực hiện luồng sự kiện A1.
Hệ thống lưu lại thông tin người dùng.
Hệ thống hiển thị form cập nhật thông tin người dùng.
Quản trị viên nhập thông tin cần thay đổi.
Nhập nút cập nhật người dùng.
Hệ thống kiểm tra các trường dữ liệu: Nếu thỏa mãn, thì thực hiện bước tiếp theo Nếu không, thì thực hiện luồng sự kiện A1.
Hệ thống thông báo cập nhật người dùng thành công.
Hệ thống cập nhật thông tin người dùng.
Quản trị viên chọn thông tin người dùng cần xóa.
Hệ thống kiểm tra: Nếu không có ràng buộc, thực hiện xóa người dùng và trả về trang hiện hành Ngược lại, hủy thao tác xóa.
Dòng sự kiện rẽ nhánh A1:
Quản trị thưc hiện nhập lại dữ liệu.
Quay lại bước 2 của sự kiện.
Điều kiện đầu ra: Danh sách các người dùng được cập nhật đầy đủ vào cơ sở dữ liệu.
1.7 Use Case quản lý đăng ký tiêm:
Hình 2.7 Use Case quản lý đăng ký tiêm
Tác nhân: Quản trị viên.
Mô tả tổng quát: Người quản trị quản lý danh sách đăng ký tiêm của người dùng.
Điều kiện đầu vào: Người dùng đăng nhập thành công, với quyền quản trị.
Quản trị viên chọn quản lý đăng ký tiêm.
Hệ thống hiển thị danh sách đăng ký tiêm, và các chức năng: thêm, sửa, xóa và gửi thông báo đăng ký tiêm:
Hệ thống hiển thị form nhập thông tin đăng ký tiêm.
Người quản lý nhập thông tin đăng ký tiêm.
Nhập nút thêm đăng ký tiêm.
Hệ thống kiểm tra các trường dữ liệu: Nếu thỏa mãn, thì thực hiện bước tiếp theo Nếu không, thì thực hiện luồng sự kiện A1.
Hệ thống thông báo thêm đăng ký tiêm thành công.
Hệ thống lưu lại thông tin đăng ký tiêm.
Hệ thống hiển thị form cập nhật thông tin đăng ký tiêm.
Quản trị viên nhập thông tin cần thay đổi.
Nhập nút cập nhật đăng ký tiêm.
Hệ thống kiểm tra các trường dữ liệu: Nếu thỏa mãn, thì thực hiện bước tiếp theo Nếu không, thì thực hiện luồng sự kiện A1.
Hệ thống thông báo cập nhật đăng ký tiêm thành công.
Hệ thống cập nhật thông tin đăng ký tiêm.
Quản trị viên chọn thông tin đăng ký tiêm cần xóa.
Hệ thống kiểm tra: Nếu không có ràng buộc, thực hiện xóa đăng ký tiêm và trả về trang hiện hành Ngược lại, hủy thao tác xóa.
Quản trị viên chọn đăng ký tiêm muốn gửi thông báo.
Quản trị viên chọn gửi thông báo.
Hệ thống kiểm tra sẽ gửi thông báo đến tài khoản Gmail của người dùng nếu điều kiện được thỏa mãn Ngược lại, nếu không đáp ứng yêu cầu, hệ thống sẽ thông báo lỗi và hủy bỏ thao tác.
Dòng sự kiện rẽ nhánh A1:
Quản trị thưc hiện nhập lại dữ liệu.
Quay lại bước 2 của sự kiện.
Điều kiện đầu ra: Danh sách các đăng ký tiêm được cập nhật đầy đủ vào cơ sở dữ liệu.
1.8 Use Case quản lý đã tiêm:
Hình 2.8 Use Case quản lý đã tiêm
Tác nhân: Quản trị viên.
Mô tả tổng quát: Người quản trị quản lý danh sách đã tiêm trên hệ thống.
Điều kiện đầu vào: Người dùng đăng nhập thành công, với quyền quản trị.
Quản trị viên chọn quản lý đã tiêm.
Hệ thống hiển thị danh sách đã tiêm, và các chức năng: thêm, sửa và xóa đã tiêm:
Hệ thống hiển thị form nhập thông tin đã tiêm.
Nhập nút thêm đã tiêm.
Hệ thống kiểm tra các trường dữ liệu: Nếu thỏa mãn, thì thực hiện bước tiếp theo Nếu không, thì thực hiện luồng sự kiện A1.
Hệ thống thông báo thêm đã tiêm thành công.
Hệ thống lưu lại thông tin đã tiêm.
Hệ thống hiển thị form cập nhật thông tin đã tiêm.
Quản trị viên nhập thông tin cần thay đổi.
Nhập nút cập nhật đã tiêm.
Hệ thống kiểm tra các trường dữ liệu: Nếu thỏa mãn, thì thực hiện bước tiếp theo Nếu không, thì thực hiện luồng sự kiện A1.
Hệ thống thông báo cập nhật đã tiêm thành công.
Hệ thống cập nhật thông tin đã tiêm.
Quản trị viên chọn thông tin đã tiêm cần xóa.
Hệ thống kiểm tra: Nếu không có ràng buộc, thực hiện xóa đã tiêm và trả về trang hiện hành Ngược lại, hủy thao tác xóa.
Dòng sự kiện rẽ nhánh A1:
Quản trị thưc hiện nhập lại dữ liệu.
Quay lại bước 2 của sự kiện.
Điều kiện đầu ra: Danh sách các đã tiêm được cập nhật đầy đủ vào cơ sở dữ liệu.
1.9 Use Case quản lý tin tức:
Hình 2.9 Use Case quản lý tin tức
Tác nhân: Quản trị viên.
Mô tả tổng quát: Người quản trị quản lý tin tức trên hệ thống.
Điều kiện đầu vào: Người dùng đăng nhập thành công, với quyền quản trị.
Quản trị viên chọn quản lý tin tức.
Hệ thống hiển thị danh sách tin tức, và các chức năng: thêm, sửa và xóa tin tức:
Hệ thống hiển thị form nhập thông tin tin tức.
Người quản lý nhập thông tin tin tức.
Nhập nút thêm tin tức.
Hệ thống kiểm tra các trường dữ liệu: Nếu thỏa mãn, thì thực hiện bước tiếp theo Nếu không, thì thực hiện luồng sự kiện A1.
Hệ thống thông báo thêm tin tức thành công.
Hệ thống lưu lại thông tin tin tức.
Hệ thống hiển thị form cập nhật thông tin tin tức.
Quản trị viên nhập thông tin cần thay đổi.
Nhập nút cập nhật tin tức.
Hệ thống kiểm tra các trường dữ liệu: Nếu thỏa mãn, thì thực hiện bước tiếp theo Nếu không, thì thực hiện luồng sự kiện A1.
Hệ thống thông báo cập nhật tin tức thành công.
Hệ thống cập nhật thông tin tin tức.
Quản trị viên chọn thông tin tin tức cần xóa.
Hệ thống kiểm tra: Nếu không có ràng buộc, thực hiện xóa tin tức và trả về trang hiện hành Ngược lại, hủy thao tác xóa.
Dòng sự kiện rẽ nhánh A1:
Quản trị thưc hiện nhập lại dữ liệu.
Quay lại bước 2 của sự kiện.
Điều kiện đầu ra: Danh sách các tin tức được cập nhật đầy đủ vào cơ sở dữ liệu.
1.10.Use Case xem thống kê hệ thống:
Hình 2.10 Use Case xem thống kê hệ thống
Tác nhân: Quản trị viên.
Mô tả tổng quát: Quản trị viên xem các thống kê hệ thống.
Điều kiện đầu vào: UseCase sử dụng khi người dùng đăng nhập thành công hệ thống, với quyền quản trị.
Thống kê tổng vac-xin:
▫ Hệ thống tính tổng vac-xin nhập về.
▫ Hiển thị trên màn hình số liệu đã tính toán.
Thống kê tài khoản người dùng:
▫ Hệ thống tính tổng các tài khoản người dùng trong hệ thống.
▫ Hiển thị trên màn hình số liệu đã tính toán.
Thống kê vac-xin còn lại:
▫ Hệ thống lấy số liệu vac-xin còn lại trong hệ thống.
▫ Hiển thị trên màn hình số liệu đã tính toán.
▫ Hệ thống tính tổng doanh thu các đợt tiêm chủng.
▫ Hiển thị trên màn hình số liệu đã tính toán.
Biểu đồ hoạt động
Biểu đồ hoạt động đăng ký:
Hình 2.11 Biểu đồ hoạt động đăng ký
Biểu đồ hoạt động đăng nhập:
Hình 2.12 Biểu đồ hoạt động đăng nhập
Biểu đồ hoạt động xem lịch sử tiêm:
Hình 2.13 Biểu đồ hoạt động xem lịch sử tiêm
Biểu đồ hoạt động đăng ký tiêm:
Hình 2.14 Biểu đồ hoạt động đăng ký tiêm
Biểu đồ hoạt động cập nhật thông tin cá nhân:
Hình 2.15 Biểu đồ hoạt động cập nhật thông tin cá nhân
Biểu đồ hoạt động thêm dữ liệu:
Hình 2.16 Biểu đồ hoạt động thêm dữ liêu quản trị
Biểu đồ hoạt động cập nhật dữ liệu:
Hình 2.17 Biểu đồ hoạt động cập nhật dữ liệu quản trị
Biểu đồ hoạt động xóa dữ liệu:
Hình 2.18 Biểu đồ hoạt động xóa dữ liệu quản trị
Biểu đồ tuần tự
Biểu đồ tuần tự đăng ký:
Hình 2.19 Biểu đồ tuần tự đăng ký
Biểu đồ tuần tự đăng nhập:
Hình 2.20 Biểu đồ tuần tự đăng nhập
Biểu đồ tuần tự xem dữ liệu quản trị:
Hình 2.21 Biểu đồ tuần tự xem dữ liệu quản trị
Biểu đồ tuần tự thêm dữ liệu quản trị:
Hình 2.22 Biểu đồ tuần tự thêm dữ liệu quản trị
Biểu đồ tuần tự cập nhật dữ liệu quản trị:
Hình 2.23 Biểu đồ tuần tự cập nhật dữ liệu quản trị
Biểu đồ tuần tự xóa dữ liệu quản trị:
Hình 2.24 Biểu đồ tuần tự xóa dữ liệu quản trị
Biểu đồ tuần tự đăng ký tiêm:
Hình 2.25 Biểu đồ tuần tự đăng ký tiêm
Biểu đồ lớp
Thiết kế cơ sở dữ liệu
Bảng admins (quản trị viên):
STT Tên thực thể Kiểu dữ liệu Ràng buộc Mô tả
1 Id bigint (20) Khóa chính Khóa chính của bảng
2 Name varchar(255) Not null Tên
3 Email varchar(255) Not null Email
4 Phone varchar(255) Not null Số điện thoại
9 Created_at timestamp Null Ngày tạo
10 Updated_at timestamp Null Ngày cập nhật
STT Tên thực thể Kiểu dữ liệu Ràng buộc Mô tả
1 ID bigint(20) Khóa chính Khóa chính của bảng
2 Name varchar(255) Not null Tên
3 Email varchar(255) Not null Email
4 Password varchar(255) Not null Mật khẩu
5 Address varchar(255) Null Địa chỉ
7 Cmnd varchar(255) Not null Chứng minh nhân dân
STT Tên thực thể Kiểu dữ liệu Ràng buộc Mô tả
9 Status tinyint(4) Not null Trạng thái
10 Created_at timestamp Null Ngày tạo
11 Updated_at timestamp Null Ngày cập nhật
STT Tên thực thể Kiểu dữ liệu Ràng buộc Mô tả
1 ID bigint(20) Khóa chính Khóa chính của bảng
3 Vaccine_name varchar(255) Not null Tên vac-xin
4 Admin_id bigint(20) Khóa ngoại Mã quản trị viên
5 Age_min tinyint(4) Not null Độ tuổi nhỏ nhất
6 Age_max tinyint(4) Not null Độ tuổi lớn nhất
7 Created_at timestamp Null Ngày tạo
8 Updated_at timestamp Null Ngày cập nhật
STT Tên thực thể Kiểu dữ liệu Ràng buộc Mô tả
1 ID bigint(20) Khóa chính Khóa chính của bảng
3 Created_at timestamp Null Ngày tạo
4 Updated_at timestamp Null Ngày cập nhật
STT Tên thực thể Kiểu dữ liệu Ràng buộc Mô tả
1 ID bigint(20) Khóa chính Khóa chính của bảng
2 Name varchar(255) Not null Tên
3 Content varchar(255) Null Nội dung
4 Description varchar(255) Null Mô tả
5 Admin_id bigint(20) Khóa ngoại Mã quản trị viên
6 Created_at timestamp Null Ngày tạo
STT Tên thực thể Kiểu dữ liệu Ràng buộc Mô tả
7 Updated_at timestamp Null Ngày cập nhật
Bảng injection_register (đăng ký tiêm):
STT Tên thực thể Kiểu dữ liệu Ràng buộc Mô tả
1 ID bigint(20) Khóa chính Khóa chính của bảng
2 Name varchar(255) Not null Tên
3 User_id bigint(20) Khóa ngoại Mã người dùng
5 Injection tinyint(4) Null Số mũi tiêm
6 Address varchar(255) Null Địa chỉ
7 Catificate varchar(255) Null Chứng nhận
8 Vaccine_id bigint(20) Khóa ngoại Mã vac-xin
9 Location_id bigint(20) Khóa ngoại Mã địa điểm
10 Status tinyint(4) Null Trạng thái
11 Created_at timestamp Null Ngày tạo
12 Updated_at timestamp Null Ngày cập nhật
GIAO DIỆN HỆ THỐNG
Giao diện người dùng
Hình 4.1 Giao diện đăng nhập 1.2 Giao diện đăng ký:
Hình 4.2 Giao diện đăng ký
1.3 Giao diện đăng ký tiêm:
Hình 4.3 Giao diện đăng ký tiêm 1.4 Giao diện lịch sử tiêm:
Hình 4.4 Giao diện lịch sử tiêm
1.5 Giao diện tra cứu thông tin:
Hình 4.5 Giao diện tra cứu thông tin 1.6 Giao diện thống kê chung:
Hình 4.6 Giao diện thống kê chung
Giao diện quản trị
2.1 Giao diện quản lý vac-xin:
Hình 4.7 Giao diện quản lý vac-xin 2.2 Giao diện quản lý admin:
Hình 4.8 Giao diện quản lý admin
2.3 Giao diện quản lý người dùng:
Hình 4.9 Giao diện quản lý người dùng 2.4 Giao diện quản lý đăng lý tiêm:
Hình 4.10 Giao diện quản lý đăng ký tiêm
2.5 Giao diện quản lý tin tức:
Hình 4.11 Giao diện quản lý tin tức 2.6 Giao diện thêm tin tức:
Hình 4.12 Giao diện quản lý thêm tin tức
TỔNG KẾT
Kết quả đạt được
Từ những hướng dẫn tận tình của thầy, cùng những gì đã học được ở trường, em đã phân tích và xây dựng website với các kết quả đạt được:
Xây dựng một website quản lý tiêm chủng vac-xin bằng cách áp dụng kiến thức đã học, phân quyền cho người dùng và quản trị viên, đồng thời thiết kế giao diện và chức năng nghiệp vụ đa dạng.
Quản lý các thông tin cần thiết như các loại vac-xin, thông tin người dùng và thông tin đăng ký tiêm chủng.
Có hầu như đầy đủ chức năng cơ bản để quản lý tiêm chủng.
Hạn chế
Bên cạnh đó cũng có những hạn chế như:
Chưa có nhiều kiến thức thực tế, nên việc xây dựng phần mềm áp dụng vào thực tế còn nhiều thiếu sót và chưa khả quan.
Một số chức năng còn hạn chế.