Các bài học được tập hợp tổng hợp tài liệu một cách rõ ràng giúp người học tiếp cận nhanh thông tin không phải tìm kiếm nhiều.Ngoài ra hệ thống đang hướng đến việc tạo các khóa học thu p
Trang 1BÁO CÁO KHÓA LUẬN TỐT NGHIỆP NGÀNH CÔNG NGHỆ THÔNG TIN
ĐẠI HỌC ĐÀ NẴNG TRƯỜNG ĐẠI HỌC SƯ PHẠM
KHOA TIN HỌC
Đề tài:
XÂY DỰNG HỆ THỐNG HỌC TRỰC TUYẾN
Sinh viên : Bùi Trọng Nghĩa
ĐÀ NẴNG, 06/2020
Trang 2MỤC LỤC
DANH MỤC HÌNH ẢNH 3
DANH MỤC BẢNG 4
LỜI CẢM ƠN 5
Ý KIẾN ĐÁNH GIÁ CỦA GIẢNG VIÊN HƯỚNG DẪN 6
GIỚI THIỆU 7
I/ Lý do chọn đề tài 7
II/ Đối tượng nghiên cứu 7
III/ Mục tiêu đề tài 7
IV/ Phương pháp thực hiện 7
V/ Phát triển 8
CHƯƠNG 1: CƠ SỞ LÝ THUYẾT 9
I/ Tổng quan đề tài và cơ sở lý thuyết 9
1/ Tổng quan đề tài 9
2/ Thách thức của đề tài 9
3/ Sơ đồ BFD 9
4/ Sơ đồ DFD 9
5/ Sơ đồ ERD 10
6/ Mô hình dữ liệu quan hệ 11
II/ Công nghệ sử dụng 11
1/ PHP 11
2/ Framework Laravel 12
3/ MySQL 13
CHƯƠNG 2: PHÂN TÍCH THIẾT KẾ HỆ THỐNG 14
I/ Phân tích yêu cầu 14
1/ Mô tả hệ thống 14
2/ Yêu cầu chức năng của hệ thống 14
3/ Yêu cầu phi chức năng 15
Trang 3Báo cáo khóa luận tốt nghiệp
1/ Sơ đồ BFD 15
2/ Sơ đồ DFD 16
3/ Sơ đồ ERD 40
4/ Mô hình dữ liệu quan hệ 41
CHƯƠNG 3: TRIỂN KHAI VÀ KẾT QUẢ ĐẠT ĐƯỢC 47
I/ Triển khai môi trường làm việc 47
1/ Yêu cầu 47
2/ Thực hiện 47
II/ Kết quả đạt được 47
CHƯƠNG 4: KẾT LUẬN 66
I/ Đánh giá kết quả 66
1/ Ưu điểm 66
2/ Nhược điểm 66
II/ Phát triển 66
TÀI LIỆU THAM KHẢO 67
Trang 4DANH MỤC HÌNH ẢNH
Hình 1 Sơ đồ BFD 16
Hình 2 Chú thích DFD 17
Hình 3 Sơ đồ ngữ cảnh 17
Hình 4 DFD 1 Tổng quan 18
Hình 5 DFD1 Phân tách Customer 19
Hình 6 DFD 1 Phân tách User 20
Hình 7 DFD 1 Phân tách Teacher 21
Hình 8 DFD 1 Phân tách Admin 22
Hình 9 DFD 2-1.1 Đăng ký tài khoản 23
Hình 10 DFD 2-1.2 Thông tin giới thiệu khóa học 24
Hình 11 DFD 2-1.3 Đăng nhập 25
Hình 12 DFD 2-1.4 Thay đổi thông tin cá nhân 26
Hình 13 DFD 2-1.5 Đăng ký khóa học 27
Hình 14 DFD 2-1.6 Tham gia khóa học 28
Hình 15 DFD 2-1.7 Tạo nhóm 29
Hình 16 DFD 2-1.8 Comment/ recomment/ like/ unlike 30
Hình 17 DFD 2-1.9 Đánh giá khóa học 31
Hình 18 DFD 2-1.10 Đăng ký trở thành giảng viên 32
Hình 19 DFD 2-1.11 Quản lý tài khoản khóa học 33
Hình 20 DFD 2-1.12 Quản lý bài học 34
Hình 21 DFD 2-1.13 Quản lý tài liệu 35
Hình 22 DFD 2-1.14 Quản lý nhóm khóa học 36
Hình 23 DFD 2-1.15 Quản lý khóa học 37
Hình 24 DFD 2-1.16 Xét duyệt nâng cấp quyền 38
Hình 25 DFD 2-1.17 Quản lý tài khoản hệ thống 39
Hình 26 DFD 2-1.18 Quên mật khẩu 40
Hình 27 Sơ đồ ERD 41
Hình 28 Sơ đồ dữ liệu quan hệ 46
Trang 5Báo cáo khóa luận tốt nghiệp
DANH MỤC BẢNG
Bảng 1: Tài khoản 42
Bảng 2: Phân quyền 42
Bảng 3: Khóa học 42
Bảng 4: Loại khóa học 43
Bảng 5: Bài học 43
Bảng 6: comment 43
Bảng 7: Nhóm khóa học 43
Bảng 8: Like comment 44
Bảng 9: Tài liệu 44
Bảng 10: Loại tài liệu 44
Bảng 11: Recomment 44
Bảng 12: Phản hồi 45
Bảng 13: Chi tiết nhóm 45
Bảng 14: Chi tiết khóa học tài khoản 45
Bảng 15: Chi tiết bài học tài khoản 45
Trang 6LỜI CẢM ƠN
Đề tài “Xây dựng hệ thống học trực tuyến” là nội dung tôi chọn để nghiên cứu và làm luận văn tốt nghiệp sau bốn năm theo học chương trình đại học chuyên ngành Công nghệ thông tin tại trường Đại học Sư phạm – Đại học Đà Nẵng
Để hoàn thành và hoàn thiện luận văn này, lời đầu tiên tôi xin chân thành cảm ơn sâu sắc đến Thầy Nguyễn Hoàng Hải thuộc Khoa Tin học – Trường Đại học Sư phạm – Đại học Đà Nẵng Thầy đã trực tiếp chỉ bảo và hướng dẫn tôi trong suốt quá trình tôi thực hiện hoàn thiện luận văn này
Nhân dịp này, tôi cũng xin cảm ơn tất cả Thầy Cô trong Khoa Tin học đã nhiệt tình giúp đỡ hỗ trợ cũng như đào tạo cho tôi các kiến thức cơ bản làm hành trang bước vào đời Ngoài ra tôi xin chân thành cảm ơn các Thầy, Cô đã đóng góp những ý kiến quý báu cho luận văn, giúp tôi hoàn thành nó một cách tốt nhất
Trân trọng cảm ơn!
Người viết ký tên
Bùi Trọng Nghĩa
Trang 7Báo cáo khóa luận tốt nghiệp
Ý KIẾN ĐÁNH GIÁ CỦA GIẢNG VIÊN HƯỚNG DẪN
……….………
……….……….………
……….……….………
……….………
……….………
……….……….………
……….……….………
……….………
……….………
……….……….………
……….……….………
……….………
……….………
……….……….………
……….……….………
……….………
……….………
……….……….………
……….……….………
……….………
……….………
……….……….………
……….……….………
……….………
……….………
……….……….………
……….……….………
……….………
……….………
………
Giảng viên hướng dẫn ký tên:
Nguyễn Hoàng Hải
Trang 8GIỚI THIỆU
I/ Lý do chọn đề tài
Trong những năm thế kỷ 21, việc dạy và học của học sinh, sinh viên được đặc biệt chú trọng và mở ra nhiều phương thức đào tạo mới thay cho phương thức đào tạo truyền thống như: Hệ đào tạo từ xa, hệ đào tạo trực tuyến , e-learning… Chính các hệ đào tạo mới này giúp cho những người đam mê học hỏi có thể có thêm phương tiện tiếp cận tri thức, nâng cao hiểu biết bản thân nhưng lại không tốn nhiều thời gian và chi phí Điểm đặc biệt
là không phân biệt địa lý, thời gian, không gian, người học hoàn toàn tiếp cận một cách dễ dàng
Chính vì lẽ đó học trực tuyến e-learning có thể là một bước tiến lớn trong tương lai Vậy việc xây dựng các hệ thống dạy học online và chấm thi thu bài online an toàn bảo mật đầy đủ là một bước đi đúng trong thời điểm hiện tại Ví dụ như trong dịch “COVID-2019” vừa rồi học sinh, sinh viên hoàn toàn phải học online nhưng hầu hết chúng ta điều không
có hệ thống học online của chính mình mà phải nhờ sự can thiệp của các phần mềm khác như MS Teams, Zoom Meetings… Đây cũng chính là lý do chính cho việc chọn đề tài phát triển
II/ Đối tượng nghiên cứu
Hệ thống được xây dựng hướng đến người dùng là các học sinh, sinh viên người học chính từ hệ thống và giáo viên, giảng viên người trực tiếp tạo ra các khóa học trong hệ thống
III/ Mục tiêu đề tài
Xây dựng một hệ thống học online dành cho những đối tượng trên sử dụng một cách thuận tiện với lượng kiến thức được thiết kế hết sức đa dạng từ các giáo viên, giảng viên trên cả nước Các bài học được tập hợp tổng hợp tài liệu một cách rõ ràng giúp người học tiếp cận nhanh thông tin không phải tìm kiếm nhiều.Ngoài ra hệ thống đang hướng đến việc tạo các khóa học thu phí dành cho người giảng dạy có thể đăng ký và phát triển
IV/ Phương pháp thực hiện
Với những mục đích nêu trên, để có thể xây dựng hệ thống hoàn chỉnh em đặt ra những phương pháp cụ thể cho mình như sau:
- Sử dụng kiến thức đã học về website, cơ sở dữ liệu để phân tích thiết kế hệ thống một các tối ưu
- Nghiên cứu các hệ thống tương tự như Moodle để tìm kiếm các chức năng, cách thức hoạt động cho phù hợp với hệ thống của mình
- Khảo sát người dùng để thu thập yêu cầu từ người dùng về một hệ thống mà người dùng đang mong muốn
- Tìm hiểu MySQL
- Tìm hiểu PHP Laravel
- Thực hiện xây dựng phân tích thế kế hệ thống website cho phù hợp
Trang 9Báo cáo khóa luận tốt nghiệp
V/ Phát triển
Trong báo cáo lần này vì thời gian có hạn nên em chỉ trình bày một phần trong đề tài nói trên là phần tương tác học trực tuyến bởi những khóa học được thiết kế bởi những giáo viên-giảng viên
Trong tương lai hệ thống sẽ phát triển thêm phần học online theo phương thức stream tương tác trực tiếp giữa người dạy và người học qua các comment real-time, và tích hợp thi cử online và thu bài trực tuyến, và tích hợp API hệ thống chấm bài online Dom-Judge
live-Ngoài ra hệ thống được tính đến các khóa học ngoài miễn phí sẽ có thu phí theo yêu cầu của các giáo viên, giảng viên người tạo ra các khóa học đó
Rất mong có sự ủng hộ và giúp đỡ từ quý Thầy Cô để hệ thống ngày càng hoàn thiện hơn
Hiện tại website đã được xây dựng và chạy tại domain: classlearnonline.com
Trang 10CHƯƠNG 1: CƠ SỞ LÝ THUYẾT
I/ Tổng quan đề tài và cơ sở lý thuyết
1/ Tổng quan đề tài
Xây dựng hệ thống học trực tuyến hiện tại so với các hệ thống có sẵn từ nước ngoài thì rõ ràng chúng ta còn thua xa, nhưng không vì những cái đã có mà chúng ta lại không phát triển một hệ thống riêng, phù hợp với nhu cầu hiện tại của người Việt
Hệ thống được xây dựng với các chức năng cơ bản giúp người học tiếp thu kiến thức, tổng hợp kho tài liệu giúp người học không tốn nhiều công tìm kiếm có thể có được một khóa học phù hợp với bản thân mình
2/ Thách thức của đề tài
Đề tài được phát triển theo mô hình MVC với framework PHP Laravel và MySQL Đối với framework đây và cơ hội cũng như thách thức để em có thể học hỏi thêm những kiến thức ngoài và đáp ứng nhanh công nghệ để hoàn thiện website
Trong hệ thống lớn này cũng chứa nhiều bài toán khá thú vị trong việc chấm trắc nghiệm như: tối ưu bài toán sắp xếp, chuẩn hóa chuỗi tiền xử lý, random chuỗi xử lý, cải tiến tối ưu thuật toán so sánh giữa 2 chuỗi với dữ liệu lớn (có thể so sánh với hơn 1 triệu chuỗi trên 1s)
3/ Sơ đồ BFD
Sơ đồ chức năng kinh doanh hay mô hình phân rã chức năng trong tiếng Anh
là business function diagram, viết tắt là BFD
Sơ đồ chức năng kinh doanh (BFD) được sử dụng để thực hiện phân tích chức năng, mô tả
sự phân chia các chức năng thành các chức năng nhỏ hơn trong hệ thống
Mục đích của phân tích chức năng là xác định một cách chính xác và cụ thể các chức năng chính của hệ thống thông tin Trong giai đoạn phân tích chức năng, người ra phải xác định một cách rõ ràng những gì mà hệ thống sẽ phải thực hiện mà chưa quan tâm tới phương pháp thực hiện các chức năng ấy
Như vậy, việc phân tích phải đề cập đến những mô tả cơ sở ban đầu Các mô tả này
sẽ được trình bày rõ ràng trong một tài liệu gửi cho người sử dụng phê chuẩn trước khi tiến hành những công việc tiếp theo
4/ Sơ đồ DFD
Sơ đồ luồng dữ liệu trong tiếng Anh là Data Flow Diagram, viết tắt là DFD
Sơ đồ luồng dữ liệu (DFD) là một mô hình hệ thống cân xứng cả dữ liệu và tiến trình (progress) Nó chỉ ra cách thông tin chuyển vận từ một tiến trình hoặc từ chức năng này trong hệ thống sang một tiến trình hoăc chức năng khác
Với sơ đồ BFD, chúng ta đã xem xét hệ thống thông tin theo quan điểm "chức năng"
Trang 11Báo cáo khóa luận tốt nghiệp
cần cho việc thực hiện các chức năng đã được nêu và những thông tin cần cung cấp để hoàn thiện chúng Công cụ mô hình được sử dụng cho mục đích này là sơ đồ luồng dữ liệu DFD
DFD là công cụ dùng để trợ giúp cho bốn hoạt động chính sau đây của các phân tích viên hệ thống trong quá trình phân tích thông tin:
- Phân tích: DFD được dùng để xác định yêu cầu của người sử dụng
- Thiết kế: DFD dùng để vạch kế hoạch và minh họa các phương án cho phân tích viên hệ
thống và người dùng khi thiết kế hệ thống mới
- Biểu đạt: DFD là công cụ đơn giản, dễ hiểu đối với phân tích viên hệ thống và người dùng
- Tài liệu: DFD cho phép biểu diễn tài liệu phân tích hệ thống một cách đầy đủ, súc tích và
ngắn gọn DFD cung cấp cho người sử dụng một cái nhìn tổng thể về hệ thống và cơ chế lưu chuyển thông tin trong hệ thống đó
Sơ đồ ngữ cảnh (Context diagram): đầy là sơ đồ mức cao nhất Nó cho ra một cái nhìn tổng quát về hệ thống trong môi trường nó đang tồn tại Ở mức này, sơ đồ ngữ cảnh chỉ có một tiến trình duy nhất, các tác nhân và các luồng dữ liệu (không có kho
dữ liệu)
Sơ đồ mức 0 là sơ đồ phân rã từ sơ đồ ngữ cảnh Với mục đích mô tả hệ thống chi tiết hơn, sơ đồ mức 0 được phân rã từ sơ đồ ngữ cảnh với các tiến trình được trình bày chính là các mục chức năng chính của hệ thống
Sơ đồ mức i (i >= 1) là sơ đồ được phân rã từ sơ đồ mức i-1 Mỗi sơ đồ phân
rã mức sua chính là sự chi tiết hóa một tiến trình mức trước Quá trình phân rã sẽ dừng khi đạt được sơ đồ luồng dữ liệu sơ cấp (khi một tiến trình là một tính toán hay thao tác dữ liệu đơn giản, khi mỗi luồng dữ liệu không cần chia nhỏ hơn nữa
5/ Sơ đồ ERD
Mô hình erd được viết tắt bởi từ Entity Relationship Diagram được hiểu là
mô hình thực thể kết hợp hay còn gọi là thực thể liên kết Mô hình này còn được biết tới với các gọi khác là er (viết tắt của từ Entity Relationship model) Vậy mô hình er là gì? Mô hình erd hay er bao gồm các thực thể, những mối kết hợp và đặc biệt là danh sách thuộc tính
Trong đó:
Thực thể được hiểu là các danh sách cần được quản lý và có những đặc trưng riêng biệt như tên và các thuộc tính
Trang 12Mối kết hợp là mối quan hệ và liên quan giữa hai hay nhiều thực thể Mối kết hợp lại được chia thành 3 loại một – một (1-1), một – nhiều (1-N) và nhiều nhiều (N-N)
Cụ thể: Hai thực thể A – B có mối quan hệ 1 – 1 nếu thực thể A chỉ tương ứng với một thực thể kiểu B và ngược lại Hai thực thể này có mối quan hệ 1 – N nếu một thực thể A có thể tương ứng với nhiều thực thể kiểu B, nhưng với 1 thực thể B thì chỉ có thể tương ứng với duy nhất một thực thể kiểu A Và cuối cùng, hai thực thể A – B có mối quan hệ N – N nếu một thực thể kiểu A có thể tương ứng với nhiều thực thể B và ngược lại
6/ Mô hình dữ liệu quan hệ
Mô hình quan hệ thực thể (Entity Relationship model – E-R) ,được CHEN giới thiệu vào năm 1976, là một mô hình được sử dụng rộng rãi trong các bản thiết kế cơ
sở dữ liệu ở mức khái niệm, được xây dựng dựa trên việc nhận thức thế giới thực thông qua tập các đối tượng được gọi là các thực thể và các mối quan hệ giữa các đối tượng này
So với mô hình mạng thì mô hình quan hệ thực thể có nhiều ưu điểm hơn và
nó thể hiện rõ hơn các thành phần trong thế giới thực Nếu như mô hình mạng chỉ biểu diễn các đối tượng chính chứ không mô tả được các đặc điểm trong đối tượng đó thì trong mô hình quan hệ thực thể lại khắc phục được những điểm yếu này Chính vì vậy việc lựa chọn
mô hình này luôn là quyết định của các nhà phân tích thiết kế cơ sở dữ liệu
Mục tiêu của mô hình E-R trong quá trình thiết kế cơ sở dữ liệu đó là phân tích dữ liệu, xác định các đơn vị thông tin cơ bản cần thiết của tổ chức, mô tả cấu trúc và mối liên hệ giữa chúng
E-R là mô hình trung gian để chuyển những yêu cầu quản lý dữ liệu trong thế giới thực thành mô hình cơ sở dữ liệu quan hệ
II/ Công nghệ sử dụng
1/ PHP
PHP (viết tắt của cụm từ Personal Home Page) là ngôn ngữ lập trình kịch bản (scripting language) mã nguồn mở được dùng phổ biến để ra tạo các ứng dụng website chạy trên máy chủ Mã lệnh PHP có thể được nhúng vào trong trang HTML nhờ sử dụng cặp thẻ PHP <?php ?> hiển nhiên server có thể config theo một cách khác để nhận các thẻ dạng khác cũng là thẻ php chứ không riêng thẻ trên.[1]
PHP là ngôn ngữ lập trình mã nguồn mở và điều này có nghĩa là bạn có thể
sử dụng PHP hoàn toàn miễn phí PHP có thể được chạy trên nhiều nền tảng hệ điều hành khác nhau như Windows, Mac OS và Linux.[1]
Trang 13Báo cáo khóa luận tốt nghiệp
Ngôn ngữ lập trình PHP có thể được sử dụng trên nhiều hệ điều hành khác nhau bao gồm Windows, Mac OS và Linux (Ubuntu, Linux Mint ) Phiên bản đầu tiên của PHP được viết bởi Rasmus Lerdorf và cho ra mắt vào năm 1994 Hiện nay, PHP đang
là một trong những ngôn ngữ phổ biến hàng đầu được dùng trong lập trình web.[1]
2/ Framework Laravel
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ằm mụ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) [2] [3]
trữ tại Gitthub [2] [3]
Mô hình MVC trong hệ thống
Trang 143/ MySQL
MySQL là một hệ thống quản trị cơ sở dữ liệu mã nguồn mở (gọi tắt là RDBMS) hoạt động theo mô hình client-server Với RDBMS là viết tắt của Relational
liệu thông qua các cơ sở dữ liệu Mỗi cơ sở dữ liệu có thể có nhiều bảng quan hệ chứa dữ liệu MySQL cũng có cùng một cách truy xuất và mã lệnh tương tự với ngôn ngữ SQL
MySQL được phát hành từ thập niên 90 [4] [5]
Trang 15Báo cáo khóa luận tốt nghiệp
CHƯƠNG 2: PHÂN TÍCH THIẾT KẾ HỆ THỐNG
I/ Phân tích yêu cầu
1/ Mô tả hệ thống
Hệ thống được thiết kế nhắm đến các đối tượng là giáo viên, giảng viên những người muốn đóng góp các khóa học trực tuyến theo khuynh hướng miễn phí hoặc thu phí, các học sinh, sinh viên, người có nhu cầu học hỏi… chính người sử dụng các khóa học được tạo ra bởi giáo viên, giảng viên
Người quản trị hệ thống là admin nhưng không có quá nhiều quyền can thiệp vào việc giảng và dạy của giáo viên giảng viên, chủ yếu admin chỉ có khả năng ở phần đều hành hệ thống là chính
2/ Yêu cầu chức năng của hệ thống
Hệ thống được chia với ít nhất bốn loại người sử dụng hệ thống với chức năng cụ thể ứng với từng người sử dụng Cụ thể:
- Customer: Là người dùng hệ thống ở múc thấp nhất, hoàn toàn chưa có tài khoản trong hệ thống Có thể tìm kiếm thông tin khóa học xem thông tin giới thiệu khóa học
- User: Nằm ở mức cao hơn customer bao gồm các chức năng đầy đủ như một customer nhưng lại có tài khoản đã được đăng ký trong hệ thống dẫn đến sẽ có thêm một số chức năng liên quan đến quản lý tài khoản cá nhân như thêm sử xóa thông tin cá nhân, học các khóa học đã đăng ký, tạo nhóm trong khóa học, comment trong khóa học đánh giá khóa học, đăng ký học một khóa học và điều đặc biệt là được quyền xin chuyển quyền từ User lên teacher được admin xét duyệt trực tiếp
- Teacher: Là tài khoản có quyền tạo các khóa học của bản thân nhưng phải chờ admin duyệt mới được tạo các thông tin trong bài học Ở đây một teacher được toàn quyền với khóa học mà mình đã tạo mà admin không thể can thiệp trực tiếp vào Các chức năng mà teacher có thể làm với một khóa học như: thêm sửa xóa một bài học, đăng tài liệu dành cho các bài học, xét duyệt, xóa bỏ học sinh trong khóa học, xét duyệt việc tạo nhóm hay tạo nhóm trong khóa học tức là quản trị học sinh và nhóm trong khóa học
- Admin: Là người có quyền lớn nhất trong hệ thống bao gồm các chức năng như: Cho phép teacher tạo khóa học, xét duyệt nâng cấp quyền user lên teacher, quản trị account hệ thống
- Hệ thống tích hợp Gmail để người dung có thể đặt lại mật khẩu bằng Gmail khi quên mật khẩu
Chính vì sự phân cấp các quyền như vậy ứng với các chức năng như vậy làm người học và dạy học cảm thấy đó chính là lớp học của mình đem lại cảm giác thân thiện hơn cho người dùng khi sử dụng hệ thống
Trang 163/ Yêu cầu phi chức năng
- Hệ thống phải đảm bảo được việc sao lưu dữ liệu ngoài văn bản thì có video, hình ảnh, dẫn đến việc hệ thống có thể chậm dần theo thời gian dữ liệu lớn đây
là bài toán cần phải giải quyết
- Hệ thống chỉ cho phép upload dữ liệu tối đa là 10Mb/1lần upload
- Bảo mật hệ thống với phân quyền tài khoản, xác thực phân quyền, các dữ liệu được lưu phải mã hóa
- Giao diện hệ thống dễ nhìn thuận tiện cho người sử dụng
- Ngôn ngữ được sử dụng trong hệ thống là tiếng việt
II/ Phân tích thiết kế hệ thống
1/ Sơ đồ BFD
BFD (Business Function Diagram) là sơ đồ phân ra chức năng cơ bản của hệ thống được viết sau khi thu thập yêu cầu về chức năng và phi chức năng của hệ thống
Hệ thống đảm bảo được các nhu cầu về học các khóa học miễn phí hoặc trả phí trên
hệ thống, cũng như theo dõi quá trình học của người học từ các giáo viên giảng viên Cụ thể hệ thống cung cấp các chức năng để đảm bảo những điều trên
Trang 17Báo cáo khóa luận tốt nghiệp
Hình 1 Sơ đồ BFD
2/ Sơ đồ DFD
DFD (Data Flow Diagram) là sơ đồ luồng đi dữ liệu trong hệ thống sơ đồ DFD được
vẽ khi có phân rã chức nắng BFD và các yêu cầu từ thu thập yêu cần trong hệ thống để biết được người dùng thao tác trên hệ thống và luồng đi dữ liệu sẽ được xử lý như thế nào
Trang 19Báo cáo khóa luận tốt nghiệp
Hình 4 DFD 1 Tổng quan
Trang 20Sơ đồ được tách ảnh nhỏ:
Hình 5 DFD1 Phân tách Customer
Trang 21Báo cáo khóa luận tốt nghiệp
Hình 6 DFD 1 Phân tách User
Trang 22Hình 7 DFD 1 Phân tách teacher
Trang 23Báo cáo khóa luận tốt nghiệp
Hình 8 DFD 1 Phân tách Admin
c/ Sơ đồ DFD2-1.1
Thể hiện luồng dữ liệu đăng ký tài khoản của một customer lên hệ thống Khi customer đăng ký dữ liệu được kiểm tra theo đúng định dạng hay không hay có tồn tại trong hệ thống hay chưa Nếu tất cả điều thỏa mãn sẽ cho phép một đăng ký một tài khoản mới
Trang 24Hình 9 DFD 2-1.1 Đăng ký tài khoản
d/ Sơ đồ DFD2-1.2
Sơ đồ này thể hiện luồng dữ liệu đối với người dùng xem được các bài giới thiệu một khóa học Đối với người chưa login thì sẽ xem ngay được bài giới thiệu khóa học, đối với các user khác sẽ phải kiểm tra thông tin đã đăng ký khóa học hay chưa hay có phải là chủ khóa học hay không, nếu thỏa mãn thay vì việc xem khóa học sẽ được chuyển vào màn hình khóa học
Trang 25Báo cáo khóa luận tốt nghiệp
Hình 10 DFD 2-1.2 Thông tin giới thiệu khóa học
e/ Sơ đồ DFD2-1.3
Sơ đồ này thể hiện luồng dữ liệu mà người dùng đăng nhập vào hệ thống
Trang 26Hình 11 DFD 2-1.3 Đăng nhập
f/ Sơ đồ DFD2-1.4
Sơ đồ này thể hiện luồng dữ liệu của một người dùng đã đăng nhập vào hệ thống và thay đổi các thông tin cá nhân trong hệ thống
Trang 27Báo cáo khóa luận tốt nghiệp
Hình 12 DFD 2-1.4 Thay đổi thông tin cá nhân
g/ Sơ đồ DFD2-1.5
Sơ đồ này thể hiện luồng dữ liệu đăng ký khóa học từ một người dùng đã đăng nhập trong hệ thống, hiển nhiên một teacher cũng có thể đăng ký học một khóa học của một teacher khác
Trang 28Hình 13 DFD 2-1.5 Đăng ký khóa học
h/ Sơ đồ DFD2-1.6
Thể hiện luồng dữ liệu khi một tại khoản đã đăng ký khóa học tham gia khóa học hay chính teacher khóa học hay admin tham dự khóa học đó
Trang 29Báo cáo khóa luận tốt nghiệp
Hình 14 DFD 2-1.6 Tham gia khóa học
i/ Sơ đồ DFD2-1.7
Sơ đồ thể hiện luồng dữ liệu tạo nhóm của một user trong một khóa học mà người
đó được chấp nhận được học
Trang 30Hình 15 DFD 2-1.7 Tạo nhóm
j/ Sơ đồ DFD2-1.8
Sơ đồ này thể hiện luồng dữ liệu việc một user/ teacher có thể comment một bài học hay trả lời comment đó hay like comment đó trong một bài học
Trang 31Báo cáo khóa luận tốt nghiệp
Hình 16 DFD 2-1.8 Comment/ recomment/ like/ unlike
k/ Sơ đồ DFD2-1.9
Sơ đồ thể hiện luồng dữ liệu đánh giá khóa học từ người học và người dạy trong hệ thống Chính những đánh giái này tạo nên các “sao” của khóa học giúp khóa học có thể lên trên trang chủ
Trang 32Hình 17 DFD 2-1.9 Đánh giá khóa học
l/ Sơ đồ DFD2-1.10
Thể hiện luồng dữ liệu đăng ký làm giảng viên của một user
Trang 33Báo cáo khóa luận tốt nghiệp
Hình 18 DFD 2-1.10 Đăng ký trở thành giảng viên
m/ Sơ đồ DFD2-1.11
Thể hiên luồng dữ liệu quản lý tài khoản trong một khóa học của một giáo viên của khóa học đó
Trang 34Hình 19 DFD 2-1.11 Quản lý tài khoản khóa học
n/ Sơ đồ DFD2-1.12
Thể hiện luồng dữ liệu của việc quản lý các bài học theo khóa học của một giảng viên khóa học