Yêu cầu phi chức năng Để đảm bảo hệ thống quản lý khóa học và giảng viên của Công ty CP Đầu tư và Công nghệ Việt Hưng hoạt động hiệu quả, ổn định và đáp ứng tốt nhu cầucủa người dùng, cá
Trang 1ĐẠI HỌC DUY TÂN TRƯỜNG KHOA HỌC MÁY TÍNH
Trang 2PHÂN CHIA CÔNG VIỆC TRONG NHÓM
Đóng góp
Điểm
số Điểm chữ
Trang 3MỤC LỤC
DANH MỤC HÌNH VẼ 1
DANH MỤC BẢNG 2
CHƯƠNG 1 MỞ ĐẦU 3
1.1 Lý do chọn đề tài 3
1.2 Mục đích của đề tài 3
CHƯƠNG 2 KHẢO SÁT HIỆN TRẠNG VÀ LẤY YÊU CẦU 4
2.1 Khảo sát hiện trạng 4
2.2 Xác định yêu cầu 5
2.2.1 Yêu cầu chức năng 5
2.2.2 Yêu cầu phi chức năng 6
CHƯƠNG 3 PHÂN TÍCH HỆ THỐNG 9
3.1 Sơ đồ luồng thông tin (IFD) 9
3.2 Sơ đồ phân rã chức năng (BFD) 10
3.3 Sơ đồ ngữ cảnh (CD) 13
3.4 Sơ đồ luồng dữ liệu mức đỉnh (DFD mức 1) 13
3.5 Sơ đồ luồng dữ liệu mức dưới đỉnh (DFD mức 2) 14
CHƯƠNG 4 THIẾT KẾ HỆ THỐNG 21
4.1 Thiết kế cơ sở dữ liệu 21
4.1.1 Mô hình thực thể liên kết (ERD) 21
4.1.2 Lược đồ CSDL quan hệ 22
4.1.3 Thông tin các bảng 23
4.2 Thiết kế giải thuật 29
4.3 Thiết kế giao diện 39
4.4 Các loại báo cáo 44
CHƯƠNG 5 XÂY DỰNG VÀ KIỂM THỬ HỆ THỐNG 46
5.1 Công nghệ và môi trường phát triển 46
5.2 Cài đặt hệ thống 46
5.3 Kiểm thử hệ thống 48
TÀI LIỆU THAM KHẢO 53
Trang 4DANH MỤC HÌNH VẼ
Hình 3-1: Sơ đồ luồng thông tin 9
Hình 3-2: Sơ đồ phân rã chức năng 10
Hình 3-3: Sơ đồ ngữ cảnh 13
Hình 3-4: Sơ đồ luồng dữ liệu mức đỉnh 14
Hình 3-5: Sơ đồ luồng dữ liệu mức dưới đỉnh “Quản lý tài khoản cá nhân” 15
Hình 3-6:Sơ đồ luồng dữ liệu mức dưới đỉnh “Quản lý trải nghiệm học tập” 15
Hình 3-7: Sơ đồ luồng dữ liệu mức dưới đỉnh “Quản lý khóa học” 17
Hình 3-8: Sơ đồ luồng dữ liệu mức dưới đỉnh “Quản lý học viên” 18
Hình 3-9:Sơ đồ luồng dữ liệu mức dưới đỉnh “Quản lý giảng viên” 18
Hình 3-10: Sơ đồ luồng dữ liệu mức dưới đỉnh “Quản lý đánh giá” 19
Hình 3-11: Sơ đồ luồng dữ liệu mức dưới đỉnh “Quản lý đơn hàng” 20
Hình 3-12: Sơ đồ luồng dữ liệu mức dưới đỉnh “Báo cáo thống kê” 20
Hình 4-1:Mô hình thực thể liên kết 22
Hình 4-2: Lược đồ CSDL quan hệ 23
Hình 4-3: Giải thuật thêm khóa học 30
Hình 4-4: Giải thuật đăng ký khóa học 32
Hình 4-5: Giải thuật đánh giá khóa học 34
Hình 4-6: Giải thuật tính doanh thu theo từng tháng 36
Hình 4-7: Giải thuật báo cáo khóa học 38
Hình 4-8: Giải thuật báo cáo đơn hàng 39
Hình 4-9: Giao diện màn hình “Thêm khóa học” 40
Hình 4-10: Giao diện màn hình “Xem danh sách học viên của từng khóa học” 40
Hình 4-11: Giao diện màn hình “Thông tin chi tiết khóa học” 41
Hình 4-12: Giao diện màn hình “Vào học” 42
Hình 4-13: Giao diện màn hình “Đánh giá khóa học” 42
Hình 4-14: Giao diện màn hình “Quản lý học viên” 42
Hình 4-15: Giao diện màn hình “Quản lý giảng viên” 43
Hình 4-16: Giao diện màn hình “Quản lý đơn hàng” 43
Hình 4-17: Giao diện màn hình “Quản lý đánh giá” 43
Hình 4-18: Thống kê doanh thu 44
Hình 4-19: Thống kê tài khoản 44
Hình 4-20: Thống kê đơn hàng 44
Hình 4-21: Báo cáo khóa học 45
Hình 4-22: Báo cáo đơn hàng 45
Trang 5CHƯƠNG 1 MỞ ĐẦU
1.1 Lý do chọn đề tài
Trong bối cảnh phát triển mạnh mẽ của công nghệ thông tin, việc áp dụngcác hệ thống quản lý trực tuyến vào quy trình điều hành doanh nghiệp ngày càngtrở nên phổ biến Đối với Công ty CP Đầu tư và Công nghệ Việt Hưng, một công
ty hoạt động trong lĩnh vực đào tạo và cung cấp các khóa học trực tuyến, việcquản lý hệ thống khóa học và giảng viên một cách hiệu quả là yếu tố then chốtnhằm đáp ứng nhu cầu ngày càng cao của người học và nâng cao chất lượng dịchvụ
Hiện tại, công ty đang gặp nhiều khó khăn trong việc quản lý dữ liệu khóahọc và thông tin giảng viên bằng các phương pháp truyền thống Cách làm nàykhông chỉ gây mất thời gian mà còn tiềm ẩn nhiều rủi ro sai sót dữ liệu Thêmvào đó, việc tăng số lượng khóa học và giảng viên theo từng năm đặt ra tháchthức về quản lý, dẫn đến nguy cơ quá tải và giảm hiệu quả hoạt động
Chính vì vậy, việc xây dựng một hệ thống website quản lý khóa học vàgiảng viên là giải pháp cần thiết và cấp bách Hệ thống này không chỉ hỗ trợ công
ty trong việc tổ chức và quản lý dữ liệu một cách khoa học mà còn giúp tăngcường sự tương tác giữa học viên và giảng viên, nâng cao trải nghiệm học tập.Đồng thời, hệ thống còn đóng vai trò quan trọng trong việc hỗ trợ công tác phântích, đánh giá hiệu quả giảng dạy và chất lượng khóa học, từ đó tối ưu hóa quytrình quản lý và nâng cao hiệu quả kinh doanh cho công ty
Do đó, đề tài “Phân tích và thiết kế website quản lý khóa học và giảng viêncho Công ty CP Đầu tư và Công nghệ Việt Hưng” ra đời nhằm giải quyết các vấn
đề trên và hỗ trợ công ty trong việc đạt được mục tiêu phát triển bền vững vàcạnh tranh hiệu quả trên thị trường giáo dục trực tuyến
1.2 Mục đích của đề tài
Mục đích của đề tài “Phân tích và thiết kế website quản lý khóa học vàgiảng viên cho Công ty CP Đầu tư và Công nghệ Việt Hưng” là nhằm xây dựngmột hệ thống quản lý hiện đại, hiệu quả và dễ sử dụng Hệ thống này giúp công
ty quản lý thông tin về khóa học, giảng viên và học viên một cách chặt chẽ, khoahọc, giảm thiểu sai sót và tăng hiệu suất làm việc Đồng thời, hệ thống cung cấpcác báo cáo thống kê chi tiết, hỗ trợ ban quản lý đưa ra các quyết định nhanhchóng và chính xác Với giao diện thân thiện, người dùng dễ dàng truy cập thôngtin, tương tác, và theo dõi các hoạt động liên quan đến giảng dạy và học tập Đềtài cũng hướng tới việc ứng dụng các công nghệ web tiên tiến, đảm bảo tính bảomật, ổn định và khả năng mở rộng trong tương lai, đồng thời tích hợp các tínhnăng tự động hóa để tối ưu hóa quy trình vận hành Qua đó, hệ thống không chỉđáp ứng chiến lược chuyển đổi số và nâng cao chất lượng dịch vụ đào tạo củacông ty, mà còn góp phần xây dựng hình ảnh chuyên nghiệp và uy tín trong lĩnhvực công nghệ và giáo dục
Trang 6CHƯƠNG 2 KHẢO SÁT HIỆN TRẠNG VÀ LẤY YÊU CẦU
2.1 Khảo sát hiện trạng
Trong thời đại công nghệ thông tin phát triển vượt bậc, nhu cầu học tập trựctuyến đang ngày càng gia tăng, đòi hỏi Công ty CP Đầu tư và Công nghệ ViệtHưng phải hiện đại hóa hệ thống quản lý khóa học và giảng viên của mình Việcquản lý bằng các phương pháp thủ công không chỉ tiêu tốn nhiều thời gian, màcòn khiến cho quá trình điều hành trở nên phức tạp và dễ gặp sai sót Thực trạngnày đặt ra yêu cầu cấp thiết về một hệ thống quản lý khóa học và giảng viên hiệnđại, giúp công ty tối ưu hóa quy trình tổ chức, nâng cao hiệu quả vận hành và đápứng tốt hơn nhu cầu của học viên
Hệ thống mới sẽ giúp công ty tự động hóa các quy trình quản lý khóa học
và giảng viên, từ việc tổ chức và cập nhật thông tin khóa học đến theo dõi và hỗtrợ học viên trong suốt quá trình học tập Mục tiêu là tạo ra một nền tảng quản lýtập trung, dễ sử dụng và an toàn, đáp ứng đầy đủ nhu cầu của từng đối tượngngười dùng, bao gồm học viên, giảng viên và quản trị viên Hệ thống sẽ giúpcông ty không chỉ tiết kiệm thời gian và công sức mà còn cung cấp trải nghiệmhọc tập tốt hơn cho học viên, tạo điều kiện thuận lợi cho giảng viên, và hỗ trợquản trị viên trong việc quản lý dữ liệu một cách hiệu quả
Phạm vi khảo sát bài toán tập trung vào các yếu tố chính trong quy trìnhvận hành Đối với việc quản lý khóa học, hệ thống cần có khả năng hỗ trợ đăng
ký, cập nhật và quản lý thông tin khóa học, giúp học viên dễ dàng tìm kiếm, đăng
ký và tham gia học tập Cùng với đó, các yêu cầu về quản lý giảng viên cũngđược xem xét kỹ lưỡng, đảm bảo giảng viên có thể dễ dàng kiểm soát tiến trìnhdạy học và quản lý học viên Hệ thống cần lưu trữ và bảo mật thông tin cá nhâncủa học viên, cho phép quản trị viên theo dõi lịch sử học tập và tiến độ của từnghọc viên một cách toàn diện Ngoài ra, hệ thống còn phải đáp ứng nhu cầu báocáo và thống kê nhằm hỗ trợ ra quyết định và tối ưu hóa chất lượng dịch vụ
Về mặt công nghệ, hệ thống yêu cầu khả năng xử lý nhanh chóng và ổnđịnh, đặc biệt khi số lượng học viên, giảng viên và khóa học ngày càng tăng.Tính bảo mật là yếu tố cốt lõi để đảm bảo an toàn thông tin cá nhân và dữ liệuthanh toán trực tuyến Hệ thống cũng cần có khả năng tích hợp với các công cụthanh toán và báo cáo hiện đại để mang lại trải nghiệm liền mạch, tiện lợi chongười dùng Như vậy, sự kết hợp giữa các yêu cầu về hiệu năng, bảo mật và khảnăng tích hợp là nền tảng cho một hệ thống quản lý khóa học và giảng viên hiệuquả, giúp Công ty CP Đầu tư và Công nghệ Việt Hưng phát triển bền vững trongthị trường giáo dục trực tuyến đầy cạnh tranh
Kết quả của quá trình khảo sát bài toán không chỉ làm rõ các yêu cầu thiếtyếu mà còn tạo tiền đề quan trọng cho các giai đoạn phân tích và thiết kế hệthống tiếp theo Hệ thống quản lý khóa học và giảng viên được xây dựng sẽ làcông cụ hỗ trợ mạnh mẽ, góp phần nâng cao chất lượng dịch vụ và khả năng cạnhtranh của công ty trong lĩnh vực đào tạo trực tuyến
Trang 7trợ học viên nếu cần Đây là một tính năng quan trọng giúp giảngviên duy trì mối quan hệ học tập hiệu quả với học viên và đảm bảochất lượng giảng dạy.
- Chức năng dành cho quản trị viên
+ Đăng nhập: Quản trị viên có tài khoản đặc quyền và cần đăng nhập
để truy cập các tính năng quản trị hệ thống Hệ thống cần có cácbiện pháp bảo mật nâng cao cho tài khoản quản trị viên để bảo vệ
dữ liệu quan trọng của công ty
+ Quản lý học viên: Quản trị viên có thể quản lý thông tin của tất cảcác học viên trong hệ thống, bao gồm việc xem và cập nhật thôngtin cá nhân, kiểm tra lịch sử khóa học đã tham gia và theo dõi cáchoạt động của học viên
+ Quản lý giảng viên: Quản trị viên có quyền quản lý các giảng viêntrong hệ thống, bao gồm việc thêm mới, cập nhật thông tin cá nhân
và hồ sơ giảng dạy của giảng viên, đồng thời theo dõi hoạt độnggiảng dạy
+ Quản lý khóa học: Chức năng này cho phép quản trị viên tạo, cậpnhật, hoặc xóa các khóa học trong hệ thống Quản trị viên có thểkiểm tra chi tiết về các khóa học, số lượng học viên đăng ký, và cácgiảng viên phụ trách
+ Quản lý đánh giá: Quản trị viên có thể theo dõi và quản lý các đánhgiá của học viên đối với từng khóa học Quản lý đánh giá giúp công
ty kiểm soát và cải thiện chất lượng dịch vụ dựa trên phản hồi từhọc viên
+ Quản lý đơn hàng: Hệ thống cần hỗ trợ quản trị viên trong việcquản lý các đơn hàng phát sinh từ quá trình đăng ký và thanh toánkhóa học của học viên Quản trị viên có thể theo dõi trạng thái củatừng đơn hàng, xác nhận thanh toán, và xử lý các vấn đề liên quanđến đơn hàng
+ Báo cáo thống kê: Quản trị viên có thể xem các báo cáo thống kê
về tình hình hoạt động của hệ thống, bao gồm số lượng học viên,giảng viên, khóa học, doanh thu, và các chỉ số quan trọng khác.Các báo cáo này giúp quản trị viên có cái nhìn tổng quan và hỗ trợ
ra quyết định chiến lược cho công ty
2.1.2 Yêu cầu phi chức năng
Để đảm bảo hệ thống quản lý khóa học và giảng viên của Công ty CP Đầu
tư và Công nghệ Việt Hưng hoạt động hiệu quả, ổn định và đáp ứng tốt nhu cầucủa người dùng, các yêu cầu phi chức năng sau đây cần được xem xét kỹ lưỡng:
- Hiệu năng
+ Thời gian phản hồi: Hệ thống phải có khả năng phản hồi nhanhchóng đối với các thao tác người dùng, đặc biệt là trong các chứcnăng tìm kiếm khóa học, đăng nhập và truy cập tài liệu học tập
Trang 8Thời gian phản hồi trung bình không quá 2 giây cho các thao tácchính và không quá 5 giây cho các tác vụ phức tạp hơn.
+ Khả năng xử lý đồng thời: Hệ thống phải hỗ trợ ít nhất 1,000 ngườidùng trực tuyến cùng lúc mà không ảnh hưởng đến hiệu năng Khảnăng này đảm bảo hệ thống vẫn hoạt động trơn tru trong giờ caođiểm, đáp ứng tốt lượng truy cập lớn từ học viên và giảng viên.+ Khả năng mở rộng: Hệ thống cần được thiết kế để dễ dàng mở rộngkhi số lượng học viên, khóa học và giảng viên tăng lên Kiến trúc
hệ thống phải hỗ trợ thêm máy chủ hoặc tài nguyên khác mà khôngcần thay đổi nhiều trong cấu trúc hiện tại
- Tính bảo mật
+ Bảo vệ thông tin người dùng: Hệ thống phải đảm bảo an toàn cho
dữ liệu cá nhân của học viên, giảng viên và quản trị viên, bao gồmcác thông tin nhạy cảm như tài khoản đăng nhập, thông tin cá nhân
và lịch sử thanh toán Các biện pháp bảo mật cần bao gồm mã hóa
dữ liệu, mã hóa truyền dữ liệu qua giao thức HTTPS, và các biệnpháp ngăn chặn truy cập trái phép
+ Quản lý quyền truy cập: Phân quyền rõ ràng cho từng loại ngườidùng (học viên, giảng viên, quản trị viên), đảm bảo mỗi người dùngchỉ có quyền truy cập vào các chức năng phù hợp với vai trò củamình Các hoạt động của người dùng cần được ghi lại trong hệthống để theo dõi và phát hiện bất kỳ hành vi bất thường nào.+ Chống tấn công: Hệ thống cần được bảo vệ khỏi các kiểu tấn côngphổ biến như SQL Injection, XSS (Cross-site Scripting), CSRF(Cross-site Request Forgery), và các phương thức tấn công từ chốidịch vụ (DDoS)
- Tính ổn định và sẵn sàng
+ Khả năng phục hồi: Hệ thống phải có khả năng phục hồi và duy trìhoạt động liên tục ngay cả khi gặp sự cố bất ngờ như mất kết nốimạng hoặc lỗi phần cứng Cần có các biện pháp sao lưu và khôiphục dữ liệu nhanh chóng để đảm bảo an toàn dữ liệu và tối thiểuhóa thời gian gián đoạn dịch vụ
+ Thời gian sẵn sàng (Uptime): Hệ thống cần đạt mức độ sẵn sàng99,9% trong năm, đảm bảo hệ thống luôn hoạt động và đáp ứngnhu cầu học tập và giảng dạy liên tục của người dùng
+ Sao lưu định kỳ: Dữ liệu của hệ thống cần được sao lưu định kỳhàng ngày và lưu trữ an toàn để giảm thiểu rủi ro mất dữ liệu trongcác trường hợp sự cố
- Khả năng sử dụng
+ Giao diện thân thiện và dễ sử dụng: Hệ thống phải cung cấp mộtgiao diện dễ sử dụng và trực quan cho mọi đối tượng người dùng,bao gồm cả học viên và giảng viên không quen thuộc với công
Trang 9nghệ Các chức năng chính như đăng ký, đăng nhập, tìm kiếm vàquản lý khóa học cần được thiết kế để người dùng dễ dàng truy cập
và sử dụng
+ Độ nhất quán: Giao diện và trải nghiệm sử dụng cần thống nhấttrên toàn bộ hệ thống, bao gồm các thành phần như phông chữ,màu sắc, và cách bố trí chức năng Điều này giúp người dùngnhanh chóng làm quen và dễ dàng thực hiện các thao tác mà khôngcần nhiều hướng dẫn
+ Đa ngôn ngữ: Hệ thống nên hỗ trợ đa ngôn ngữ, giúp người dùng
dễ dàng chuyển đổi ngôn ngữ sử dụng (ví dụ: tiếng Việt và tiếngAnh), nhằm đáp ứng nhu cầu sử dụng của đối tượng học viên vàgiảng viên đa dạng
- Khả năng bảo trì và nâng cấp
+ Dễ dàng bảo trì: Mã nguồn và kiến trúc hệ thống cần được xâydựng sao cho dễ dàng bảo trì, cập nhật và sửa lỗi Điều này baogồm việc sử dụng các kỹ thuật lập trình chuẩn và tài liệu hóa mãnguồn rõ ràng để đảm bảo các nhà phát triển khác có thể dễ dàngtiếp nhận và tiếp tục phát triển hệ thống
+ Cập nhật phiên bản: Hệ thống cần hỗ trợ việc cập nhật phần mềmđịnh kỳ mà không làm gián đoạn dịch vụ Mỗi khi có phiên bảnmới, việc nâng cấp nên diễn ra trơn tru mà không ảnh hưởng đến
dữ liệu hoặc trải nghiệm người dùng
+ Kiểm tra và giám sát: Hệ thống cần có các công cụ giám sát để theodõi hiệu suất và phát hiện sớm các vấn đề về hiệu năng hoặc bảomật Các thông báo tự động sẽ giúp đội ngũ kỹ thuật nhanh chóng
xử lý khi xảy ra sự cố
- Khả năng tích hợp
+ Tích hợp thanh toán trực tuyến: Hệ thống cần hỗ trợ tích hợp vớicác cổng thanh toán trực tuyến phổ biến như thẻ tín dụng, ví điện tử
và chuyển khoản ngân hàng, đảm bảo các giao dịch diễn ra an toàn
và thuận tiện cho học viên
+ API mở: Cung cấp các API mở cho phép hệ thống dễ dàng tích hợpvới các ứng dụng và nền tảng khác, hỗ trợ mở rộng khả năng vàtính linh hoạt của hệ thống
+ Hỗ trợ các công cụ phân tích và báo cáo: Để đáp ứng nhu cầu phântích dữ liệu và báo cáo thống kê, hệ thống nên tích hợp với cáccông cụ phân tích hoặc cung cấp dữ liệu ở định dạng tiêu chuẩn đểquản trị viên dễ dàng truy xuất và xử lý
Trang 10CHƯƠNG 2 PHÂN TÍCH HỆ THỐNG
1.1 Sơ đồ luồng thông tin (IFD)
Hình 3-1: Sơ đồ luồng thông tin
Sơ đồ trên được chia thành ba phần chính, tương ứng với ba vai trò trong
hệ thống: Học viên, Giảng viên, và Quản trị viên Mỗi phần thể hiện các bước vàquy trình mà từng vai trò thực hiện trong hệ thống
+ Vào học: Sau khi đăng ký khóa học thành công, học viên có thể bắtđầu tham gia khóa học đó
Trang 11+ Đơn hàng: Thông tin thanh toán của học viên (nếu có) sẽ đượcchuyển đến chức năng “Theo dõi đơn hàng” của Quản trị viên đểđảm bảo các đơn hàng được quản lý và xử lý đầy đủ.
+ Đánh giá khóa học: Sau khi hoàn thành khóa học, học viên có thểđánh giá khóa học Đánh giá này sẽ được gửi tới Quản trị viên đểphê duyệt
- Giảng viên
+ Tạo khóa học: Giảng viên có quyền tạo các khóa học mới trong hệthống Các khóa học này sẽ hiển thị để học viên có thể đăng ký.+ Xem danh sách học viên: Giảng viên có thể xem danh sách các họcviên đã đăng ký khóa học của mình Đây là dữ liệu được lấy từ quytrình “Đăng ký khóa học” của học viên
- Quản trị viên
+ Theo dõi đơn hàng: Quản trị viên có trách nhiệm theo dõi các đơnhàng của học viên để đảm bảo việc thanh toán diễn ra suôn sẻ.+ Phê duyệt/Từ chối đánh giá: Khi học viên gửi đánh giá cho khóahọc, Quản trị viên sẽ xem xét và quyết định phê duyệt hoặc từ chốiđánh giá đó Sau khi được phê duyệt, đánh giá sẽ được lưu lại trong
hệ thống
+ Lập báo cáo thống kê: Quản trị viên có thể lập báo cáo thống kêdựa trên các dữ liệu có trong hệ thống, bao gồm thông tin khóa học,giảng viên, học viên, và các đánh giá khóa học
+ Báo cáo: Quản trị viên xuất các báo cáo tổng kết hoạt động của hệthống, phục vụ cho các mục đích quản lý và phát triển hệ thống
1.2 Sơ đồ phân rã chức năng (BFD)
Hình 3-2: Sơ đồ phân rã chức năng
Sơ đồ trên mô tả các chức năng chính của hệ thống quản lý khóa học vàgiảng viên, được chia thành các nhóm chức năng liên quan đến từng vai trò vàhoạt động trong hệ thống Cụ thể, các chức năng được tổ chức theo các nhómsau:
- Quản lý tài khoản cá nhân:
+ Đăng ký tài khoản: Học viên có thể tạo tài khoản cá nhân để sửdụng hệ thống
Trang 12+ Đăng nhập: Người dùng (học viên, giảng viên, quản trị viên) có thểđăng nhập vào hệ thống để truy cập các chức năng khác.
- Quản lý trải nghiệm học tập:
+ Đăng ký khóa học: Học viên có thể đăng ký các khóa học mà họmuốn tham gia
+ Vào học: Học viên truy cập vào nội dung học tập của các khóa học
+ Xem danh sách học viên đã đăng ký: Giảng viên hoặc quản trị viên
có thể xem danh sách các học viên đã đăng ký vào khóa học
- Quản lý giảng viên:
+ Xem danh sách giảng viên: Quản trị viên có thể xem và quản lýdanh sách giảng viên trong hệ thống
+ Thêm giảng viên: Quản trị viên có thể thêm mới các giảng viên vào
+ Phê duyệt/Từ chối đánh giá: Quản trị viên có quyền phê duyệt hoặc
từ chối các đánh giá để đảm bảo chất lượng nội dung
- Quản lý đơn hàng:
Trang 13+ Xem danh sách đơn hàng: Quản trị viên có thể xem danh sách cácđơn hàng (giao dịch thanh toán) của học viên khi đăng ký khóahọc.
+ Xem chi tiết đơn hàng: Quản trị viên có thể xem chi tiết từng đơnhàng để xử lý nếu có vấn đề
- Báo cáo thống kê:
+ Thống kê doanh thu: Hệ thống cung cấp doanh thu theo từng tháng
từ việc học viên đăng ký các khóa học
+ Thống kê tài khoản: Thống kê số lượng tài khoản người dùng trong
+ Báo cáo đơn hàng: Cung cấp thông tin về các đơn hàng theo thờigian cụ thể
Trang 141.3 Sơ đồ ngữ cảnh (CD)
Hình 3-3: Sơ đồ ngữ cảnh
Sơ đồ ngữ cảnh của hệ thống quản lý khóa học và giảng viên mô tả cácluồng thông tin giữa hệ thống với các tác nhân chính, bao gồm Học viên, Giảngviên và Quản trị viên Học viên có thể gửi yêu cầu thông tin về các khóa học phùhợp với nhu cầu của mình và hệ thống sẽ phản hồi bằng cách cung cấp chi tiết vềcác khóa học, bao gồm mô tả, lịch học, thông tin về giảng viên và đánh giá từ cáchọc viên khác Giảng viên cũng có thể yêu cầu hệ thống cung cấp thông tin vềcác khóa học mà họ đang quản lý, cũng như danh sách học viên đã đăng ký Hệthống sẽ phản hồi bằng cách cung cấp danh sách học viên và các thông tin chi tiếtliên quan đến khóa học của giảng viên Quản trị viên, với vai trò quản lý toàn bộ
hệ thống, có thể yêu cầu thông tin về học viên, giảng viên, khóa học và các đơnhàng Hệ thống sẽ cung cấp các dữ liệu cần thiết, giúp quản trị viên giám sát,điều chỉnh và đảm bảo hệ thống vận hành hiệu quả Sơ đồ ngữ cảnh này cho thấycách mà hệ thống tương tác và phản hồi với từng tác nhân, đảm bảo cung cấpđúng thông tin và hỗ trợ nhu cầu của các đối tượng khác nhau trong hệ thống
1.4 Sơ đồ luồng dữ liệu mức đỉnh (DFD mức 1)
Sơ đồ luồng dữ liệu mức đỉnh của hệ thống quản lý khóa học và giảng viên
mô tả các quy trình chính giúp quản lý thông tin về tài khoản, khóa học, giảngviên, học viên, đánh giá, đơn hàng và báo cáo thống kê Đầu tiên, quản lý tàikhoản cá nhân cho phép học viên yêu cầu và nhận thông tin về tài khoản cá nhân
từ hệ thống Tiếp theo, quản lý trải nghiệm học tập hỗ trợ học viên yêu cầu thôngtin về khóa học và đăng ký khóa học; hệ thống sẽ cung cấp thông tin cần thiết vàghi nhận đăng ký của học viên Đối với quản lý khóa học, giảng viên có thể yêucầu và cập nhật thông tin các khóa học Hệ thống cũng cung cấp chức năng quản
lý học viên và quản lý giảng viên, cho phép quản trị viên truy cập và cập nhậtthông tin học viên và giảng viên khi cần Phần quản lý đánh giá cho phép họcviên gửi đánh giá và quản trị viên xem, phê duyệt các đánh giá này Ngoài ra, hệ
Trang 15thống còn quản lý đơn hàng liên quan đến các đăng ký khóa học và cho phépquản trị viên kiểm tra thông tin chi tiết của từng đơn hàng Cuối cùng, báo cáothống kê là một tính năng quan trọng giúp quản trị viên yêu cầu các báo cáo vềdoanh thu, tài khoản, khóa học và đơn hàng nhằm hỗ trợ việc quản lý và ra quyếtđịnh Sơ đồ này thể hiện sự tương tác giữa các tác nhân và quy trình, tạo nênluồng thông tin liên tục trong hệ thống quản lý khóa học và giảng viên.
Hình 3-4: Sơ đồ luồng dữ liệu mức đỉnh
1.5 Sơ đồ luồng dữ liệu mức dưới đỉnh (DFD mức 2)
Trong hệ thống quản lý khóa học và giảng viên cho Công ty Cp Đầu tư vàCông nghệ Việt Hưng, sơ đồ luồng dữ liệu mức dưới đỉnh được thiết kế nhằm
mô tả cách hệ thống xử lý dữ liệu và tương tác giữa các quy trình cốt lõi với cáctác nhân bên ngoài như học viên, giảng viên và quản trị viên Sơ đồ luồng dữ liệumức dưới đỉnh đi sâu vào từng bước xử lý chính, giúp hiểu rõ cách thức mà dữliệu về khóa học, học viên, đơn hàng, và đánh giá được quản lý, từ khi nhập liệuđến khi lưu trữ và tạo báo cáo Dưới đây là những sơ đồ luồng dữ liệu mức đỉnhcủa hệ thống này:
Sơ đồ mức dưới đỉnh của quy trình “Quản lý tài khoản cá nhân” bao gồmhai quy trình chính là Đăng ký tài khoản và Đăng nhập Trong quy trình Đăng kýtài khoản (1.1), học viên cung cấp thông tin cá nhân để đăng ký tài khoản mới
Hệ thống tiếp nhận thông tin này, thực hiện kiểm tra và xác thực để đảm bảo tínhhợp lệ Sau đó, kết quả đăng ký sẽ được phản hồi cho học viên, cho biết trạngthái thành công hay thất bại của quá trình đăng ký Nếu đăng ký thành công,thông tin về học viên sẽ được lưu trữ trong cơ sở dữ liệu của hệ thống Tiếp theo,quy trình Đăng nhập (1.2) cho phép học viên sử dụng tài khoản đã đăng ký đểtruy cập hệ thống Học viên gửi yêu cầu đăng nhập kèm theo thông tin cần thiết,
và hệ thống sẽ kiểm tra tính hợp lệ của thông tin đăng nhập này Nếu hợp lệ, hệthống sẽ tải thông tin của học viên từ cơ sở dữ liệu và hiển thị để học viên có thể
Trang 16xem và sử dụng Quy trình này đảm bảo rằng chỉ có những học viên có tài khoảnhợp lệ mới được truy cập và sử dụng các tính năng của hệ thống.
Hình 3-5: Sơ đồ luồng dữ liệu mức dưới đỉnh “Quản lý tài khoản cá nhân”
Sơ đồ luồng dữ liệu mức dưới đỉnh của quy trình “Quản lý trải nghiệmhọc tập” bao gồm ba quy trình chính là Đăng ký khóa học, Vào học, và Đánh giákhóa học Trong quy trình Đăng ký khóa học (2.1), học viên xem danh sách cáckhóa học có sẵn và chọn khóa học muốn đăng ký Sau khi học viên gửi thông tinđăng ký khóa học, hệ thống sẽ lưu thông tin này vào cơ sở dữ liệu và cập nhậtvào thông tin đơn hàng, đồng thời hiển thị danh sách đơn hàng để học viên xácnhận thông tin về các khóa học đã đăng ký Tiếp đến, trong quy trình Vào học(2.2), học viên đã đăng ký thành công có thể vào học bằng cách gửi yêu cầu vàohọc Hệ thống sẽ kiểm tra thông tin đăng ký và tải lên thông tin khóa học từ cơ sở
dữ liệu để học viên truy cập và tham gia khóa học, đảm bảo rằng chỉ có học viên
đã đăng ký mới được phép tham gia Cuối cùng, quy trình Đánh giá khóa học(2.3) cho phép học viên đánh giá khóa học sau khi hoàn thành Học viên cungcấp thông tin đánh giá, và thông tin này được lưu vào cơ sở dữ liệu, sau đó hiểnthị thành danh sách đánh giá để hỗ trợ hệ thống thu thập phản hồi và cải thiệnchất lượng khóa học trong tương lai Quy trình “Quản lý trải nghiệm học tập”này giúp học viên có trải nghiệm liền mạch từ việc đăng ký, tham gia học, đếnviệc đánh giá chất lượng khóa học, với các thông tin quan trọng luôn được cậpnhật và lưu trữ trong hệ thống
Trang 17Hình 3-6:Sơ đồ luồng dữ liệu mức dưới đỉnh “Quản lý trải nghiệm học tập”
Sơ đồ luồng dữ liệu mức dưới đỉnh của quy trình “Quản lý khóa học” baogồm năm quy trình chính: Xem danh sách khóa học, Thêm khóa học, Sửa khóahọc, Xóa khóa học, và Xem danh sách học viên đã đăng ký Đầu tiên, trong quytrình Xem danh sách khóa học (3.1), quản trị viên và giảng viên có thể yêu cầuxem danh sách các khóa học hiện có, và hệ thống sẽ hiển thị danh sách này từ cơ
sở dữ liệu, cung cấp cho họ thông tin cần thiết về các khóa học Trong quy trìnhThêm khóa học (3.2), giảng viên nhập thông tin về một khóa học mới để bổ sungvào hệ thống, hệ thống sẽ lưu lại thông tin này và cập nhật vào danh sách khóahọc, đảm bảo các khóa học mới được bổ sung để học viên có thể đăng ký Tiếptheo, quy trình Sửa khóa học (3.3) cho phép giảng viên cập nhật thông tin khóahọc hiện có Hệ thống sẽ lưu lại các thay đổi và cập nhật vào danh sách khóa học
để đảm bảo rằng các thông tin luôn chính xác Trong quy trình Xóa khóa học(3.4), giảng viên có thể yêu cầu xóa một khóa học khỏi hệ thống; hệ thống sẽthực hiện việc xóa thông tin khóa học này khỏi cơ sở dữ liệu, giúp quản lý danhsách khóa học một cách hợp lý và loại bỏ các khóa học không còn cần thiết Cuốicùng, quy trình Xem danh sách học viên đã đăng ký (3.5) cho phép giảng viênhoặc quản trị viên xem danh sách các học viên đã đăng ký các khóa học mà họquản lý; hệ thống truy xuất danh sách học viên từ cơ sở dữ liệu để giảng viênhoặc quản trị viên nắm được số lượng và thông tin học viên tham gia Quy trình
“Quản lý khóa học” này đảm bảo cho quản trị viên và giảng viên có thể quản lýtoàn bộ vòng đời của các khóa học từ việc xem danh sách, thêm mới, sửa đổi,xóa bỏ khóa học đến theo dõi danh sách học viên, với các thông tin luôn đượccập nhật và lưu trữ đầy đủ trong cơ sở dữ liệu
Trang 18Hình 3-7: Sơ đồ luồng dữ liệu mức dưới đỉnh “Quản lý khóa học”
Sơ đồ luồng dữ liệu mức đỉnh “Quản lý học viên” mô tả quy trình quản lýthông tin học viên trong hệ thống Thực thể chính là quản trị viên, người tươngtác trực tiếp với hệ thống để thực hiện các thao tác quản lý Có hai quá trìnhchính trong hệ thống này Thứ nhất, quá trình “Xem danh sách học viên” chophép quản trị viên gửi yêu cầu để xem danh sách học viên hiện tại Danh sáchnày sẽ được hiển thị và có thể tải lại khi cần thiết Thứ hai, quá trình “Chặn/Bỏchặn học viên” giúp quản trị viên có thể chọn một học viên cụ thể để thực hiệnthao tác chặn hoặc bỏ chặn Sau khi chặn hoặc bỏ chặn, thông tin học viên đượclưu lại và cập nhật trong hệ thống Mặc dù sơ đồ không thể hiện kho lưu trữ dữliệu cụ thể, nhưng qua các thao tác “tải lên” và “lưu lại”, có thể hiểu rằng thôngtin học viên và danh sách học viên đều được lưu trữ trong cấu trúc dữ liệu của hệthống Sơ đồ này cung cấp cái nhìn tổng quan về quy trình quản lý danh sách họcviên, bao gồm các thao tác xem, chặn và bỏ chặn, giúp quản trị viên dễ dàngquản lý học viên trong hệ thống
Trang 19Hình 3-8: Sơ đồ luồng dữ liệu mức dưới đỉnh “Quản lý học viên”
Sơ đồ luồng dữ liệu mức dưới đỉnh “Quản lý giảng viên” mô tả các chứcnăng chi tiết giúp quản trị viên quản lý thông tin giảng viên trong hệ thống Cácchức năng chính bao gồm: Xem danh sách giảng viên, Thêm giảng viên, Sửathông tin giảng viên, và Chặn/Bỏ chặn giảng viên Khi có yêu cầu xem danhsách, hệ thống sẽ hiển thị danh sách giảng viên hiện có để quản trị viên theo dõi.Nếu quản trị viên cần bổ sung giảng viên mới, họ sẽ nhập thông tin và lưu lại, từ
đó hệ thống sẽ cập nhật danh sách Đối với chức năng sửa, quản trị viên có thểchọn một giảng viên cụ thể từ danh sách, chỉnh sửa thông tin cần thiết và lưu lạivào hệ thống Ngoài ra, chức năng chặn hoặc bỏ chặn giảng viên cho phép quảntrị viên điều chỉnh quyền truy cập của giảng viên, giúp kiểm soát tốt hơn hoạtđộng của giảng viên trong hệ thống Tất cả các thao tác đều được thiết kế nhằmđảm bảo rằng thông tin giảng viên luôn được cập nhật và hiển thị chính xác, hỗtrợ quản trị viên quản lý hiệu quả dữ liệu giảng viên
Hình 3-9:Sơ đồ luồng dữ liệu mức dưới đỉnh “Quản lý giảng viên”
Trang 20Sơ đồ luồng dữ liệu mức đỉnh “Quản lý đánh giá” mô tả quy trình quản lýthông tin đánh giá trong hệ thống Thực thể chính là quản trị viên, người thựchiện các thao tác quản lý đánh giá Hệ thống có hai quá trình chính Thứ nhất,quá trình “Xem danh sách đánh giá” cho phép quản trị viên gửi yêu cầu để xemdanh sách các đánh giá hiện có Danh sách này sẽ được hiển thị và có thể tải lạikhi cần thiết Thứ hai, quá trình “Phê duyệt/Từ chối đánh giá” cho phép quản trịviên chọn một đánh giá cụ thể để thực hiện thao tác phê duyệt hoặc từ chối Saukhi phê duyệt hoặc từ chối, thông tin đánh giá sẽ được lưu lại và cập nhật trong
hệ thống Mặc dù sơ đồ không hiển thị rõ kho lưu trữ dữ liệu, nhưng qua các thaotác “tải lên” và “lưu lại”, có thể hiểu rằng thông tin đánh giá và danh sách đánhgiá đều được lưu trữ trong cấu trúc dữ liệu của hệ thống Sơ đồ này cung cấp cáinhìn tổng quan về quy trình quản lý đánh giá, giúp quản trị viên dễ dàng xem xét,phê duyệt hoặc từ chối các đánh giá trong hệ thống
Hình 3-10: Sơ đồ luồng dữ liệu mức dưới đỉnh “Quản lý đánh giá”
Sơ đồ luồng dữ liệu mức đỉnh “Quản lý đơn hàng” mô tả quy trình quản lýthông tin đơn hàng trong hệ thống Thực thể chính là quản trị viên, người thựchiện các thao tác quản lý liên quan đến đơn hàng Hệ thống bao gồm hai quátrình chính Thứ nhất, quá trình “Xem danh sách đơn hàng” cho phép quản trịviên gửi yêu cầu để xem danh sách các đơn hàng hiện có trong hệ thống Danhsách này sẽ được hiển thị và có thể tải lại khi cần thiết Thứ hai, quá trình “Xemchi tiết đơn hàng” cho phép quản trị viên chọn một đơn hàng cụ thể để xem thôngtin chi tiết Sau khi xem chi tiết, thông tin đơn hàng sẽ được tải lại để đảm bảocập nhật đầy đủ trong hệ thống Mặc dù sơ đồ không hiển thị rõ kho lưu trữ dữliệu, nhưng thông qua các thao tác “tải lên” và “lưu lại”, có thể hiểu rằng thôngtin đơn hàng và danh sách đơn hàng đều được lưu trữ trong cấu trúc dữ liệu của
hệ thống Sơ đồ này cung cấp cái nhìn tổng quan về quy trình quản lý đơn hàng,giúp Quản trị viên dễ dàng xem và kiểm tra chi tiết các đơn hàng trong hệ thống
Trang 21Hình 3-11: Sơ đồ luồng dữ liệu mức dưới đỉnh “Quản lý đơn hàng”
Sơ đồ luồng dữ liệu mức dưới đỉnh “Báo cáo thống kê” mô tả các chứcnăng chính mà quản trị viên có thể thực hiện để thu thập và xử lý thông tin báocáo từ hệ thống Các chức năng bao gồm: Thống kê doanh thu (8.1), Thống kê tàikhoản (8.2), Thống kê đơn hàng (8.3), và Báo cáo khóa học (8.4) Quản trị viên
có thể yêu cầu các báo cáo thống kê này dựa trên dữ liệu có sẵn như doanh thu,danh sách tài khoản, đơn hàng và khóa học Khi thực hiện yêu cầu thống kê, hệthống sẽ hiển thị các dữ liệu liên quan như danh sách khóa học, danh sách tàikhoản, và thông tin đơn hàng để quản trị viên theo dõi Ngoài ra, chức năng Báocáo đơn hàng (8.5) cho phép quản trị viên nhận thông tin chi tiết về các đơnhàng, từ đó tạo ra báo cáo đơn hàng chính xác Kết quả của các báo cáo sẽ được
hệ thống tải lên và hiển thị, giúp quản trị viên dễ dàng giám sát và quản lý cácthông tin quan trọng liên quan đến hoạt động của hệ thống
Hình 3-12: Sơ đồ luồng dữ liệu mức dưới đỉnh “Báo cáo thống kê”
Trang 22CHƯƠNG 3 THIẾT KẾ HỆ THỐNG
3.1 Thiết kế cơ sở dữ liệu
2.1.3 Mô hình thực thể liên kết (ERD)
Hệ thống quản lý khóa học và giảng viên cho Công ty Cp Đầu tư và Côngnghệ Việt Hưng bao gồm thực thế:
- Thực thể Người dùng với các thuộc tính như mã người dùng, họ tên, ngàysinh, giới tính, số điện thoại, địa chỉ, mật khẩu, tổng tiền giao dịch, trạngthái, email
- Thực thể Nhân viên với các thuộc tính như mã nhân viên, ảnh đại diện, họtên, ngày sinh, giới tính, số điện thoại, địa chỉ, email, mật khẩu, phânquyền, trạng thái
- Thực thể Ngôn ngữ với các thuộc tính như mã ngôn ngữ, tên ngôn ngữ
- Thực thể Danh mục khóa học với các thuộc tính như mã danh mục khóahọc, tên danh mục khóa học
- Thực thể Khóa học với các thuộc tính như mã khóa học, mã danh mụckhóa học, mã ngôn ngữ, tên khóa học, mô tả, đối tượng, yêu cầu, ảnh bìa,giá gốc, giá bán, số lượng bán, số lượt xem, trạng thái, …
- Thực thể Chương với các thuộc tính như mã chương, mã khóa học, tiêu
đề, thứ tự hiển thị
- Thực thể Bài học với các thuộc tính như mã bài học, mã khóa học, mãchương, tiêu đề, video, tài liệu, thứ tự hiển thị
- Thực thể Đơn hàng với các thuộc tính như mã đơn hàng, mã người dùng,
họ tên khách hàng, số điện thoại khách hàng, địa chỉ, tổng tiền, phươngthức thanh toán, ghi chú, trạng thái thanh toán
- Thực thể Chi tiết đơn hàng với các thuộc tính như mã chi tiết đơn hàng,
mã đơn hàng, mã khóa học, tên khóa học, giá gốc, giá bán
Hệ thống quản lý khóa học và giảng viên cho Công ty Cp Đầu tư và Côngnghệ Việt Hưng bao gồm liên kết:
- Một người dùng có nhiều đơn hàng → Quan hệ giữa Người dùng và Đơnhàng là 1 - n
- Một giảng viên tạo nhiều khóa học → Quan hệ giữa Nhân viên và Khóahọc là 1 - n
- Một khóa học có nhiều chương → Quan hệ giữa Khóa học và Chương là 1
- n
- Một chương có nhiều bài học → Quan hệ giữa Chương và Bài học là 1 - n
- Một ngôn ngữ có nhiều khóa học → Quan hệ giữa Ngôn ngữ và Khóa học
là 1 - n
- Một danh mục khóa học có nhiều khóa học → Quan hệ giữa Danh mụckhóa học và Khóa học là 1 - n