GIỚI THIỆU
Bố cục báo cáo này gồm 5 chương:
Chương 2: Các giải pháp hiện tại của Hội Máu Hà Nội Chương 3: Phân tích thiết kế hệ thống
Chương 4: Đánh giá thực nghiệm và kết quảChương 5: Kết luận
CÁC GIẢI PHÁP HIỆN TẠI CỦA HỘI MÁU HÀ NỘI
Khảo sát quản lý hồ sơ thành viên hội bằng giấy truyền thống
Hiện tại việc quản lý hồ sơ thành viên Hội bằng phương pháp truyền thống vn đang được áp dụng rộng rãi và phổ biến tại các Hội máu Hà Nội Cấp bậc quản lý của hội máu được chia thành 3 bậc: Cấp Hội, Cấp Chi Hội, Cấp Đội Cấp Hội quản lý toàn bộ thành viên trực thuộc Hội và thông tin về tất cả các cơ sở trực thuộc Hội; Cấp Chi Hội quản lý toàn bộ thành viên trực thuộc Chi Hội đó và thông tin về các cơ sở trực thuộc Chi Hội đó; Cấp Đội quản lý toàn bộ thành viên trực thuộc Đội đó và thông tin về Đội đó Các cấp quản lý thông tin, hồ sơ của thành viên bằng giấy tờ truyền thống lưu các thông tin như: Họ tên, ngày sinh, gii tính, đơn vị công tác, thông tin liên hệ, Thêm vào đó, người quản lý phải lưu lại thông tin về hoạt động của các thành viên tham gia các chương trình của Hội Vi phương pháp quản lý thành viên bằng giấy truyền thống, để quản lý hàng ngàn thành viên là công việc có khối lượng rất ln và hiệu quả quản lý không cao, dễ xảy ra các rủi ro không mong muốn Hơn nữa phương thức quản lý này không đảm bảo tính toàn vẹn của thông tin, khả năng xảy ra việc mất hồ sơ, thất lạc thông tin cao, việc truyền thông tin hồ sơ thành viên ti các Cấp mất thời gian vận chuyển giấy tờ.
Ứng dụng công nghệ thông tin - Phần mềm excel
Hội Máu Hà Nội hiện đang áp dụng quản lý thông tin về tình trạng hoạt động của các thành viên bằng phần mềm Excel Tình trạng của các thành viên hiện đang còn hoạt động hay không sẽ được thành viên tự điền vào file Excel quy định của Hội và được thu thập thông tin theo từng tháng từ cấp Hội trở xuống Vấn đề xảy ra trong việc quản lý thông tin là tình trạng thành viên có thể thay đổi, xóa, sửa thông tin của các thành viên khác dn đến tình trạng thông tin không chính xác gây cản trở trong việc quản lý thành viên Hội.
Do đó hệ thống ra đời nhằm cải tiến cách quản lý thành viên của hội một cách chính xác, hiệu quả nhất, tạo ra một công cụ chuyên nghiệp về chức năng nghiệp vụ, thân thiện về chức năng tương tác, giúp cho người quản trị và thành viên hội sử dụng một cách hiệu quả nhất.
PHÂN TÍCH THIẾT KẾ HỆ THỐNG
Mô tả bài toán yêu cầu
Tên đề tài “Xây dựng WebSite bán hàng hỗ trợ 2 ngôn ngữ”.
3.1.1 Chức năng Đây là một hệ thống quản nhằm hỗ trợ việc lưu giữ, quản lý các thành viên trong Hội, thêm vào đó là nơi các thành viên có thể cập nhật các sự kiện, chiến dịch sắp diễn ra nhanh nhất, chính xác nhất Hệ thống tổ hợp chức năng kiểm tra kiến thức, nâng cấp cho các thành viên trong Hội lên chức vụ cao hơn.
Hệ thống có các chức năng như sau:
- Đăng nhập, quên mật khẩu
- Xem thông tin tổ chức Hội
- Xem thông tin các cơ sở trực thuộc Hội
● Về phía Quản trị viên website
- Thay đổi thông tin tổ chức Hội, cơ sở trực thuộc Hội
- Tra cứu hồ sơ thành viên trực thuộc quyền quản lý
- Thay đổi thông tin thành viên
- Thêm cơ sở mi trực thuộc Hội
- Quản lý Đánh giá năng lực
3.1.2 Yêu cầu đặt ra a Thiết bị và phần mềm:
- Máy tính có thể thiết kế được internet
- Hệ quản trị cơ sở dữ liệu MySql
- Cài đặt Visual Studio code
- Công nghệ sử dụng: react js, node js, reduct js, sequelize, b Yêu cầu trang web
Hệ thống web chia làm 2 phần:
Thành viên là những người có nhu cầu đăng ký làm thành viên chính thức, xem thông tin tổ chức Hội, xem thông tin các cơ sở trực thuộc Hội, thi lên cấp, vì thế trang web cần có các chức năng như sau:
- Hiển thị theo từng danh mục để thành viên có thể dễ dàng xem thông tin, tìm kiếm thông tin
- Thành viên có thể xem được các thông tin chi tiết của Hội và cơ sở trực thuộc Hội
- Thành viên phải có chức năng kiểm tra năng lực để thực hiện bài kiểm tra lên cấp như mong muốn, nhu cầu.
Quản trị viên là người có quyền kiểm soát mọi hoạt động của hệ thống Người này được cấp user và password để đăng nhập hệ thống thực hiện chức năng của mình:
- Chức năng Thay đổi thông tin tổ chức Hội, cơ sở trực thuộc Hội
- Chức năng Tra cứu hồ sơ thành viên trực thuộc quyền quản lý
- Chức năng Thay đổi thông tin thành viên
- Thêm cơ sở mi trực thuộc Hội
- Quản lý Đánh giá năng lực cho các Thành viên
Ngoài các chức năng nên trên thì trang web cần được thiết kế dễ dàng sử dụng, tiện ích và dễ hiểu cho các đối tượng tiếp cận truy cập, sử dụng hệ thống.
Phân tích chức năng hệ thống
Website được xây dựng để đáp ứng 02 đối tượng chính:
- Thành viên (đã đăng nhập)
- Quản trị viên (Có quyền quản trị website)
3.3.2 Sơ đồ phân rã chức năng
Chức năng phía client được chia ra làm hai loại: chức năng của Thành viên và chức năng của Quản trị viên có quyền quản trị.
Hình dưi đây mô tả chức năng tổng quát của cả hệ thống.
Hình 1: Sơ đồ phân rã chức năng tổng quát của hệ thống
Mô tả chi tiết chức năng của Thành viên
Hình 2: Sơ đồ phân rã chức năng chi tiết của Thành viên
Mô tả chi tiết chức năng của Quản trị viên
Hình 3: Sơ đồ phân rã chức năng chi tiết của Quản trị viên
Phân tích sơ đồ usecase
Hình dưi đây mô tả sơ đồ use case tổng quát:
3.3.1 Phân tích usecase thành viên Hội Đối vi thành viên Hội là những người đã có tài khoản trên hệ thống sẽ có các usecase như sau :
- Đăng nhập: Tài khoản trên hệ thống là do quản trị viên tạo, thành viên sẽ đăng nhập theo tài khoản được cấp.
- Quản lý tài khoản: Thành viên có thể thay đổi mật khẩu tài khoản
- Hồ sơ thành viên: Hệ thống sẽ cung cấp thông tin cá nhân và thông tin học tập, hoạt động Thành viên có thể xem những thông tin này.
- Xem thông tin: Thành viên có thể xem thông tin về Hội, các đơn vị trực thuộc.
- Đánh giá năng lực: Thành viên có quyền tham gia các bài kiểm tra năng lực được tổ chức trên hệ thống.
3.3.2 Phân tích usecase quản lý Hội
Quản trị viên là người có quyền kiểm soát mọi hoạt động của hệ thống. Ngoài các chức năng như của thành viên Hội, quản trị viên sẽ có thêm các chức năng quản lý hệ thống Dưi đây sẽ tập trung mô tả các usecase quản lý của riêng Quản trị viên:
- Quản lý đánh giá năng lực: Quản trị viên có quyền tạo, sửa, xóa đề thi, phân quyền cho các Thành viên tham gia thi.
- Quản lý thông tin: Quản trị viên có quyền tạo, sửa các thông tin Hội và các đơn vị trực thuộc Hội
- Thêm đơn vị: Quản trị viên có quyền thêm đơn vị trực thuộc Hội
- Quản lý thành viên: Quản trị viên có quyền thêm, sửa, xóa thông tin các thành viên
- Tra cứu thành viên:Hành vi thay đổi, xóa thông tin thành viên sẽ do Quản trị viên thực hiện.
Phân tích và thiết kế hệ thống (Database)
Tên và nội dung các bảng dữ liệu:
Bảng 1: Vai trò các bảng trong cơ sở dữ liệu
Tên bảng Nội dung users Lưu trữ thông tin tài khoản thành viên roles Lưu trữ thông tin vai trò thành viên functions Thông tin truy cập user_exams Kết quả thi của mỗi thành viên exams Tạo kỳ thi cho thành viên questions Tạo câu hỏi và câu trả lời type_questions Tạo loại câu hỏi answers Tạo câu trả lời của thành viên results Kết quả đúng của câu hỏi specialized Thông tin về các bộc chuyên môn của Hội máu Hà Nội
Tên bảng Nội dung club Thông tin các câu lạc bộ trực thuộc Hội máu Hà Nội school Thông tin trường lp của thành viên position Thông tin chức vụ của Hội máu Hà Nội branch Thông tin chi hội trực thuộc Hội máu Hà Nội member Thông tin cá nhân của thành viên learn Thành tích học tập được khen thưởng trong các năm học ở trường của thành viên activity Hoạt động được khen thưởng trong các năm học ở trường của thành viên
Bảng 2: Bảng users chi tiết trong cơ sở dữ liệu
Mô tả Content uid varchar No Primary Key Mã định danh người dùng username varchar No Unique
Tên người dùng(Mã được quy định sẵn cho từng thành viên) password varchar No Unique Mật khẩu role_id varchar No Foreign Key Mã định danh vai trò thành viên
Bảng 3: Bảng roles chi tiết trong cơ sở dữ liệu
Mô tả Content uid varchar No Primary Key Mã định danh
Role varchar No Unique Tên vai trò
Bảng 4: Bảng roles chi tiết trong cơ sở dữ liệu
Mô tả Content uid varchar No Primary Key Mã định danh role_uid varchar No Unique Mã định danh vai trò function_uid varchar No Foreign Key Mã định danh hàm chức năng Bảng functions
Bảng 5: Bảng functions chi tiết trong cơ sở dữ liệu
Mô tả Content uid varchar No Primary Key Mã định danh name text No Unique Tên chức năng object varchar No Unique Đối tượng sử dụng method varchar No Unique Phương thức gọi path varchar No Unique Đường dn description text No Unique Mô tả chức năng
Bảng 6: Bảng user_exams chi tiết trong cơ sở dữ liệu
Kiểu dữ liệu Data Type Null Ràng buộc
Mô tả Content uid varchar No Primary Key Mã định danh score int No Unique Điểm thi
Kiểu dữ liệu Data Type Null Ràng buộc
Mô tả Content total_question_correct int No Unique Tổng câu đúng total_question_incorre ct int No Unique Tổng câu sai status int No Unique Trạng thái bài thi exam_uid varchar No Foreign Key Mã bài thi user_id varchar No Foreign Key Mã người dùng
Bảng 7: Bảng exams chi tiết trong cơ sở dữ liệu
Kiểu dữ liệu DataType Null Ràng buộc
Mô tả Content uid varchar No Primary Key Mã định danh name text No Unique Tên bài thi start_time int No Unique Thời gian bắt đầu làm bài thi end_time int No Unique Thời gian kết thúc bài thi time int No Unique Thời gian làm bài password varchar No Unique Mật khẩu bài thi description text No Unique Mô tả tổng quan bài thi total_question int No Unique Tổng câu hỏi status int No Unique Trạng thái bài thi role_view_uid varchar No Foreign Key Mã định danh role được thi user_id varchar No Foreign Key Mã người dùng
Bảng 8: Bảng question_in_exams chi tiết trong cơ sở dữ liệu
Mô tả Content uid varchar No Primary Key Mã định danh exam_uid varchar No Unique Mã bài thi question_uid varchar No Foreign Key Mã câu hỏi Bảng questions
Bảng 9: Bảng questions chi tiết trong cơ sở dữ liệu
Kiểu dữ liệu DataType Null Ràng buộc
Mô tả Content uid varchar No Primary Key Mã câu hỏi question_text text No Unique Câu hỏi và câu trả lời point int No Unique Điểm số của câu hỏi is_many_correct boolean No Unique
Là loại có nhiều câu đúng hay 1 câu đúng type_question_uid varchar No Foreign Key Mã loại câu hỏi user_id varchar No Foreign Key Mã người dùng
Bảng 10: Bảng type_questions chi tiết trong cơ sở dữ liệu
Mô tả Content uid varchar No Primary Key Mã định danh loại câu hỏi type varchar No Unique Tên loại câu hỏi description text No Unique Mô tả loại câu hỏi
Bảng 11: Bảng answers chi tiết trong cơ sở dữ liệu
Kiểu dữ liệu DataType Null Ràng buộc
Mô tả Content uid varchar No Unique Mã định danh answer text No Unique Câu trả lời status boolean No Unique Trạng thái câu trả lời question_in_exam_ui d varchar No Foreign Key Mã câu hỏi user_id varchar No Foreign Key Mã người dùng
Bảng 12: Bảng results chi tiết trong cơ sở dữ liệu
Kiểu dữ liệu DataType Null Ràng buộc
Mô tả Content uid varchar No Primary Key Mã định danh content text No Unique Nội dung kết quả is_result boolean No Unique Kết quả đúng question_uid varchar No Foreign Key Mã câu hỏi
Bảng 13: Bảng specializeds chi tiết trong cơ sở dữ liệu
Kiểu dữ liệu DataType Null Ràng buộc
Mô tả Content uid varchar No Primary Key Mã định danh professional_level text No Unique Bậc chuyên môn number_drop_blood varchar No Unique Số giọt máu
Bảng 14: Bảng clubs chi tiết trong cơ sở dữ liệu
Kiểu dữ liệu DataType Null Ràng buộc
Mô tả Content uid varchar No Primary Key Mã định danh code_club varchar Nô Unique Mã câu lạc bộ name_club text No Unique Tên câu lạc bộ founded_day int No Unique Ngày thành lập address text No Unique Địa chỉ management_unit text No Unique Đơn vị quản lý manager text No Unique Người quản lý traditional_day date No Unique Ngày truyền thống place_under text No Unique Cơ sở thuộc hội sympathizer int No Unique Cảm tình viên volunteer int No Unique Tình nguyện viên member int No Unique Hội viên instructor int No Unique Hưng dn viên coach int No Unique Huấn luyện viên staff_strengthened int No Unique Cán bộ tăng cường place_blood_donate text No Unique Điểm hiến máu resuft_activity text No Unique Kết quả hoạt động branch_uid varchar No Foreign Key Mã định danh chi hội
Bảng 15: Bảng schools chi tiết trong cơ sở dữ liệu
Kiểu dữ liệu DataType Null Ràng buộc
Mô tả Content uid varchar No Primary Key Mã định danh trường school text Nô Unique Tên trường class text No Unique Tên lp major text No Unique Tên chuyên ngành gpa float No Unique Điểm GPA member_uid text No Foreign Key Mã định danh người dùng Bảng positions
Bảng 16: Bảng positions chi tiết trong cơ sở dữ liệu
Kiểu dữ liệu DataType Null Ràng buộc
Mô tả Content uid varchar No Primary Key Mã định danh position text Nô Unique Chức vụ rank int No Unique Cấp bậc
Bảng 17: Bảng branchs chi tiết trong cơ sở dữ liệu
Kiểu dữ liệu DataType Null Ràng buộc
Mô tả Content uid varchar No Primary Key Mã định danh code_branch varchar Nô Unique Mã đơn vị name_branch text No Unique Tên đơn vị founded_day int No Unique Ngày thành lập address text No Unique Địa chỉ management unit text No Unique Đơn vị quản lý manager text No Unique Người quản lý
Kiểu dữ liệu DataType Null Ràng buộc
ĐÁNH GIÁ THỰC NGHIỆM VÀ KẾT QUẢ
Môi trường thực nghiệm
Hệ thống quản lý được cài đặt trên các hệ điều hành Windows (7, 8, 10) để cài đặt hệ thống Giao diện sử dụng Reactjs, Redux Về phía backend sử dụng Nodejs viORM là Sequelize.
Một số giao diện người dùng và các chức năng cụ thể, nổi bật
Tất cả thành viên có thể truy cập vào website của Hội, sử dụng tài khoản và mật khẩu đã được cung cấp để đăng nhập vào website.
Hình 7: Giao diện Đăng nhập website 4.2.1.2 Quên mật khẩu tài khoản
Khi thành viên quên mật khẩu, có thể lấy lại mật khẩu ngay trên giao diện đăng nhập như sau:
Bước 1: Click chọn “Quên mật khẩu” tại giao diện đăng nhập.
Bước 2: Nhập Username đã được cung cấp vào ô ID
Hình 8: Nhập ID lấy lại mật khẩu
Bước 3: Truy cập email đã đăng ký vi tổ chức Hội, thực hiện theo hưng dn để lấy lại mật khẩu.
Hình 9: Đăng nhập email lấy lại mật khẩu
4.2.1.3 Thay đổi mật khẩu tài khoản Để thay đổi mật khẩu, sử dụng thanh tab trái website chọn ô đổi mật khẩu góc bên trái website và chọn biểu tượng hình khóa.
Hình 10: Đổi mật khẩu Sau đó, tiến hành đổi mật khẩu mi và nhấn “Xác nhận” khi đã chắc chắn muốn đổi mật khẩu
4.2.1.4 Xem thông tin tổ chức
Hình 11: Xem thông tin tổ chức Hội
Sử dụng thanh tab bên trái, click vào “HỒ SƠ TỔ CHỨC” để truy cập vào thông tin Hội.
Trang Hồ sơ tổ chức bao gồm các đầu mục: Gii thiệu Hội, Lịch sử Hội, Lãnh đạo các thời kì, Hồ sơ đơn vị.
- Giới thiệu Hội: Gii thiệu về Lãnh đạo Hội hiện tại, ngày thành lập Hội, số lượng thành viên của Hội hiện tại,
- Lịch sử Hội: gii thiệu về lịch sử hình thành và phát triển của Hội.
- Lãnh đạo qua các thời kì: Đây là nơi sẽ ghi lại các anh chị đã từng giữ chức vụ Chủ tịch Hội và quá trình mà anh chị đã lãnh đạo Hội
4.2.1.5 Xem thông tin các cơ sở trực thuộc Hội
Hình 12: Xem thông tin cơ sở trực thuộc Hội
Sử dụng thanh tab bên trái, click vào “HỒ SƠ ĐƠN VỊ” để truy cập vào thông tin đơn vị.
Trang Hồ sơ đơn vị bao gồm các đầu mục: Thông tin về Chi Hội và Đội.
4.2.1.6 Xem thông tin cá nhân Để xem thông tin cá nhân được cập nhật trên website, chọn tab trái của website và click vào “HỒ SƠ CÁ NHÂN”
Tại phần Hồ sơ cá nhân sẽ bao gồm các thông tin cơ bản của một thành viên
Hình 13: Thông tin hồ sơ cá nhân Tại phần Học tập và hoạt động sẽ bao gồm quá trình hoạt động của thành viên tại nơi làm việc/học tập hiện tại và quá trình hoạt động tại cơ sở Hội trực thuộc
Tại đây Thành viên thực hiện bài Kiểm tra đánh giá năng lực để nâng cấp bậc trong tổ chức.
Hình 14: Tham gia kiểm tra Đánh giá năng lựcTruy cập vào “Đánh giá năng lực” chọn “Kiểm tra” để thực hiện bài thi nâng cấp.
Hình 15: Đề thi Đánh giá năng lực Thành viên thực hiện bài kiểm tra, nộp bài kiểm tra khi hoàn thành hoặc khi hết giờ hệ thống sẽ tự động nộp bài.
4.2.2 Đối với thành viên có quyền quản trị website
Quyền quản trị website sẽ được phân theo cấp bậc quản lý: Quản trị cấp Hội, Quản trị cấp Chi Hội, Quản trị cấp Đội
Quản trị cấp Hội: quản lý toàn bộ thành viên trực thuộc Hội và thông tin về tất cả các cơ sở trực thuộc Hội
Quản trị cấp Chi Hội: quản lý toàn bộ thành viên trực thuộc Chi Hội đó và thông tin về các cơ sở trực thuộc Chi Hội đó
Quản trị cấp Đội: quản lý toàn bộ thành viên trực thuộc Đội đó và thông tin về Đội đó
4.2.2.1 Quản lý Hội, và các cơ sở trực thuộc Hội
Các QTV có quyền quản lý Hội, Chi Hội và Đội QTV có thể thay đổi thông tin tổ chức Hội, thêm và sửa các cơ sở trực thuộc Hội tùy vào cấp bậc quyền quản trị.
Hình 16: Quản lý thông tin Hội
Hình 17: Quản lý thông tin Chi Hội
Hình 18: Quản lý thông tin Đội 4.2.2.2 Quản lý Thành viên trực thuộc quyền quản lý
Tùy vào cấp bậc quyền quản trị, các QTV có thể truy cập vào phần tra cứu hồ sơ thành viên bằng cách chọn vào phần “ADMIN” trong phần tab trái của website, chọn “Quản lý thành viên”.
Khi chọn sẽ hiển thị ra phần giao diện cho phép QTV kiểm tra thông tin thành viên, tìm kiếm thành viên theo mục đích của QTV.
Hình 19: Quản lý thành viên
Ngoài ra QTV có thể thêm thành viên mi bằng cách ấn chuột vào biểu tượng
“+” trên thanh Tìm kiếm thành viên.
Hình 20: Thêm thành viên Trong phần này, QTV có quyền chỉnh sửa thông tin của thành viên, để cập nhật lại những phần thông tin thiếu hoặc sai sót Để thực hiện việc đó, QTV chọn vào tên thành viên để sửa thông tin thành viên.
Hình 21: Sửa thông tin thành viênKhi đó, phần thông tin thành viên đó sẽ được hiển thị ra, và QTV có thể bắt đầu thực hiện việc chỉnh sửa Sau khi chỉnh sửa hoàn tất nhấn “Submit”.
4.2.2.3 Quản lý Đánh giá năng lực
Các quản trị viên( sau đây gọi tắt là QTV) có thể Quản lý Đánh giá năng lực: Tạo đề thì, sửa đề thi, xem đề thi, kết quả thi.
Hình 22: Quản lý đề thi Đánh giá năng lực Các chức năng liên quan đến Quản lý đề thi của
Hình 23: Xóa đề thi Đánh giá năng lực
Hình 24: Xóa lại câu hỏi Sau khi chọn xóa, ấn “Xác nhận” màn hình hiển thị “Xóa thành công”
Hình 25: Xác nhận thành công khi xóa câu hỏi
Hình 26: Cập nhật câu hỏi Thêm câu hỏi – Câu hỏi 1 đáp án
Hình 27: Thêm câu hỏi dạng 1 đáp án
Thêm câu hỏi – Câu hỏi nhiều đáp án
Hình 28: Thêm câu hỏi dạng nhiều đáp án