Đang tải... (xem toàn văn)
TÓM TẮT
Ngày nay, các ứng dụng công nghệ thông tin được áp dụng trong mọi lĩnh vực nghiên cứu khoa học kỹ thuật cũng như đời sống, máy tính trở thành công cụ trợ giúp đắc lực cho con người trong lưu trữ, phân tích và xử lý thông tin Ở nước ta, cùng với sự phát triển chung của nền kinh tế, tin học ngày càng được ứng dụng rộng rãi trong các công tác quản lý và từng bước khẳng định sức mạnh cũng như vị trí quan trọng của mình
Chính vì vậy mà nhu cầu truyền thông cũng được nâng cao, việc tiếp cận với cái mới cũng như là công nghệ giúp thỏa mãn nhu cầu của con người Trước đây, muốn tìm tòi học hỏi thêm kiến thức con người phải chủ động đi học, tiếp thu thêm những kiến thức tại các trung tâm dạy học hay doanh nghiệp Song song với việc đó, với lượng kiến thức ngày một nhiều và ngày càng đổi mới như hiện nay thì trường học không thể cung cấp đầy đủ những kiến thức cho các bạn học sinh, sinh viên đang học và đã ra trường Trong bối cảnh cuộc sống hiện đại và phát triển hiện nay, mọi hoạt động đều phải thay đổi để có thể phù hợp với cuộc sống và xu thế chung, trong đó giáo dục đào tạo trực tuyến đang trở thành hình thức dạy học phổ biến và được một lượng lớn học viên tham gia đặc biệt là giới trẻ
Vì vậy, qua thời gian khảo sát thực tế và vận dụng những kiến thức đã được học, nên
em quyết định chọn và thực hiện đề tài “Xây dựng website dạy học trực tuyến các môn CNTT” là đề tài bảo vệ đồ án tốt nghiệp dưới sự hướng dẫn của cô Ths Phạm Thị Thuận,
giảng viên khoa Công nghệ thông tin – Trường Đại học Công nghệ Giao thông vận tải Với sự hạn hẹp về kiến thức tổng hợp cũng như kinh nghiệm thực tế nên bài báo cáo đồ án của em không tránh khỏi những thiếu sót Rất mong nhận được sự đóng góp ý kiến của thầy cô trong trường và các bạn sinh viên để bài báo cáo của em được hoàn thiện hơn
Em xin chân thành cảm ơn!
Hà Nội, ngày tháng năm 2020
Sinh viên thực hiện
Lương Văn Trường
Trang 2LỜI CẢM ƠN
Trong thời gian nghiên cứu, học tập tại khoa Công nghệ thông tin trường Đại học Công nghệ Giao thông vận tải, được sự giúp đỡ quý báu của quý thầy cô giáo, các bạn sinh viên cùng các doanh nghiệp là đối tác của nhà trường đã giúp em hoàn thiện đồ án tốt nghiệp Trước tiên cho phép em được bày tỏ lời cảm ơn sâu sắc nhất tới các thầy cô trong khoa Công
nghệ thông tin Đặc biệt là cô Ths Phạm Thị Thuận, giảng viên khoa Công nghệ thông tin,
trường Đại học Công nghệ Giao thông vận tải, người trực tiếp hướng dẫn, nhận xét, giúp đỡ em trong suốt quá trình thực hiện và hoàn thành đồ án
Đồng thời em cũng xin chân thành cảm ơn Ban giám hiệu nhà trường, các thầy cô trong khoa Công nghệ thông tin cùng các phòng ban nhà trường đã tạo điều kiện tốt nhất cho em trong suốt thời gian học tập và làm đồ án tốt nghiệp này
Tiếp theo, em xin gửi lời cảm ơn đến các thành viên lớp 67DCHT21, những người bạn đã luôn ở bên cạnh động viên, tạo điều kiện thuận lợi giúp em hoàn thành tốt đồ án, bên cạnh đó em xin cảm ơn gia đình đã tạo điều kiện về vật chất cũng như tinh thần, động viên giúp em hoàn thành đồ án này
Trong quá trình thực hiện làm đồ án còn có rất nhiều sai sót, em mong nhận được sự giúp đỡ nhiệt tình của thầy cô cũng như các bạn để hoàn thiện một cách tốt nhất
Em xin chân thành cảm ơn!
Hà Nội, ngày tháng năm 2020
Sinh viên thực hiện
Lương Văn Trường
Trang 31.2 Mục tiêu của đề tài 11
1.3 Giới hạn và phạm vi của đề tài 11
1.4 Kết quả dự kiến đạt được 11
2.2.9 Phần mềm hỗ trợ phân tích thiết kế IBM Rational Rose 17
CHƯƠNG 3 PHÂN TÍCH VÀ THIẾT KẾ HỆ THỐNG 18
3.1 Khảo sát hệ thống và đặc tả nghiệp vụ 18
3.1.1 Thực trạng hiện nay 18
3.1.2 Giới thiệu đơn vị khảo sát 19
3.1.2.1 Danh mục các khóa học công nghệ thông tin của website 19
3.1.2.2 Các nghiệp vụ chính của của website 19
3.1.2.3 Đánh giá chung về sự khác biệt dạy học online và dạy học truyền thống 20
3.1.3 Khảo sát 21
3.1.3.1 Hình thức khảo sát 21
3.1.3.2 Đối tượng khảo sát 21
3.1.4 Mô tả bài toán 23
3.1.5 Xác định các thành phần có của hệ thống 24
3.2 Phân tích, xác định các tác nhân của hệ thống 25
Trang 43.3 Thiết kế về cơ sở dữ liệu 65
3.4 Thiết kế các module chương trình chính 72
3.4.1 Website dạy học 72
3.4.2 Website quản lý 72
3.5 Thiết kế giao diện chương trình 73
3.5.1 Giao diện trang website dạy học 73
3.5.2 Giao diện trang quản lý 79
CHƯƠNG 4 XÂY DỰNG CHƯƠNG TRÌNH 85
4.1 Thu thập dữ liệu, xây dựng cơ sở dữ liệu vật lý 85
4.2 Viết code cho các module chương trình chính 85
4.2.1 Code Module trang chủ 85
4.2.2 Code Module trang danh sách khóa học 86
4.2.3 Code Module trang chi tiết khóa học 87
4.2.4 Code Module trang bài học 87
4.2.5 Code Module trang quản lý người dùng 88
4.2.6 Code Module trang quản lý khóa học 89
4.3 Kiểm thử và đánh giá chương trình 90
4.3.1 Kiểm thử module đăng ký khóa học 90
KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN 94
Trang 5DANH MỤC HÌNH VẼ
Hình 2.1 Mô hình mô tả kết nối giữa API với các thư viện và ứng dụng khác 14
Hình 2.2 Sự khác biệt giữa việc sử dụng và không sử dụng redux 15
Hình 3.1 Usecase tổng quát 25
Hình 3.2 Biểu đồ chi tiết usecase đăng nhập 26
Hình 3.3 Biểu đồ chi tiết usecase đăng ký giảng viên 27
Hình 3.4 Biểu đồ chi tiết usecase đánh giá khóa học 28
Hình 3.5 Biểu đồ chi tiết usecase quản lý khóa học 29
Hình 3.6 Biểu đồ chi tiết usecase quản lý bài học 30
Hình 3.7 Biểu đồ chi tiết usecase quản lý danh mục khóa học 30
Hình 3.8 Biểu đồ chi tiết usecase quản lý giảng viên 31
Hình 3.9 Biểu đồ chi tiết usecase quản lý học viên 32
Hình 3.10 Biểu đồ chi tiết usecase quản lý khóa học 33
Hình 3.11 Biểu đồ chi tiết usecase quản lý thảo luận 34
Hình 3.12 Biểu đồ chi tiết usecase quản lý ý kiến người dùng 35
Hình 3.13 Biểu đồ chi tiết usecase quản lý thảo luận khóa học 36
Hình 3.14 Biểu đồ chi tiết usecase thống kê 37
Hình 3.15 Biểu đồ chi tiết usecase xem nội dung khóa học 38
Hình 3.16 Biểu đồ hoạt động đăng ký giảng viên 53
Hình 3.17 Biểu đồ hoạt động đăng nhập 54
Hình 3.18 Biểu đồ hoạt động hỏi đáp thắc mắc 55
Hình 3.19 Biểu đồ hoạt động quản lý danh mục khóa học 56
Hình 3.20 Biểu đồ hoạt động quản lý giảng viên 57
Hình 3.21 Biểu đồ trình tự đăng ký giảng viên 58
Hình 3.22 Biểu đồ trình tự đăng nhập 59
Hình 3.23 Biểu đồ trình tự hỏi đáp/ thắc mắc 60
Hình 3.23 Biểu đồ trình tự thêm mới khóa học 61
Hình 3.24 Biểu đồ trạng thái xem video bài học 62
Hình 3.25 Biểu đồ trạng thái đăng ký thành viên 63
Hình 3.26 Biểu đồ lớp 64
Hình 3.27 Giao diện trang chủ 73
Hình 3.28 Giao diện trang đăng nhập 74
Hình 3.29 Giao diện trang danh sách khóa học 75
Hình 3.30 Giao diện trang chi tiết khóa học 76
Hình 3.31 Giao diện trang bài học 77
Hình 3.32 Giao diện trang thông tin người dùng 78
Hình 3.33 Giao diện trang đăng nhập 79
Hình 3.34 Giao diện trang dashboard 79
Hình 3.35 Giao diện trang quản lý người dùng 80
Hình 3.36 Giao diện trang quản lý danh mục 80
Hình 3.37 Giao diện trang quản lý khóa học 81
Hình 3.38 Giao diện trang quản lý bài học 81
Hình 3.39 Giao diện trang quản lý bình luận 82
Trang 6Hình 3.40 Giao diện trang quản lý tương tác 82
Hình 3.41 Giao diện trang thông tin người dùng 83
Hình 3.43 Giao diện trang thống kê 84
Hình 4.1 Dữ liệu kiểm thử 91
Hình 4.2 Thực hiện kiểm thử chương trình 92
Hình 4.3 Quá trình tự động kiểm thử chương trình 92
Trang 7DANH MỤC BẢNG
Bảng 3.1 Đặc tả usecase Đăng nhập 38
Bảng 3.2 Đặc tả usecase Đánh giá khóa học 39
Bảng 3.3 Đặc tả usecase Hỏi đáp/ thắc mắc 40
Bảng 3.4 Đặc tả usecase Thảo luận khóa học 41
Bảng 3.5 Đặc tả usecase Xem nội dung khóa học 42
Bảng 3.6 Đặc tả usecase Đăng ký giảng viên 43
Bảng 3.7 Đặc tả usecase Quản lý danh mục khóa học 44
Bảng 3.8 Đặc tả usecase Quản lý khóa học 45
Bảng 3.9 Đặc tả usecase Quản lý bài học 46
Bảng 3.10 Đặc tả usecase Quản lý học viên 47
Bảng 3.11 Đặc tả usecase Quản lý giảng viên 48
Bảng 3.12 Đặc tả usecase Quản lý thảo luận 49
Bảng 3.13 Đặc tả usecase Quản lý ký kiến người dùng 50
Trang 8BẢNG KÝ HIỆU CÁC CỤM TỪ VIẾT TẮT
CSDL Cơ sở dữ liệu Là một tập hợp thông tin có cấu trúc Dữ liệu này được duy trì dưới dạng một tập hợp các tập tin trong hệ điều hành hay được lưu trữ trong các hệ quản trị cơ sở dữ liệu
CNTT Công nghệ thông tin Là một nhánh ngành kỹ thuật sử dụng máy tính và phần mềm máy tính để chuyển đổi, lưu trữ, bảo vệ, xử lý, truyền tải và thu thập
CSS Cascading Style Sheet Trong tin học, các tập tin định kiểu theo tầng – dịch từ tiếng Anh là Cascading Style Sheets (CSS) – được dùng để miêu tả cách trình bày các tài liệu viết bằng ngôn
ngữ HTML và XHTML
GVHD Giảng viên hướng dẫn Giảng viên hướng dẫn
Language
Là ngôn ngữ được thiết kế ra để tạo nên các trang web
JS Java Script JavaScript là một ngôn ngữ lập trình kịch bản Ngôn ngữ này được dùng rộng rãi cho các trang web, nhưng cũng được dùng để tạo khả năng viết script sử dụng các đối tượng nằm sẵn trong các ứng dụng
MYSQL My Structured Query MySQL không phải là một ngôn ngữ truy vấn mà là một hệ quản lý cơ sở dữ liệu Nó là phần mềmdùng để lưu trữ và quản lý cơ sở
dữ liệu
QTHT Quản trị hệ thống Người quản trị hệ thống
SQL Structured Query Là hệ quản trị cơ sở dữ liệu tự do nguồn mở
Trang 9Language phổ biến nhất thế giới UTT University of Transport
Technology
Đại học Công nghệ Giao thông vận tải
Trang 101.1 Lý do chọn đề tài
CHƯƠNG 1 GIỚI THIỆU
Trong bối cảnh Internet và công nghệ ngày càng phát triển như hiện nay đòi hỏi mọi ngành nghề, mọi hoạt động đều phải thay đổi cho phù hợp với xu thế chung, trong đó giáo dục đào tạo không phải là ngoại lệ Dạy học trực tuyến hay đào tạo trực tuyến đang trở thành hình thức dạy học phổ biến hiện nay và được một lượng lớn học viên tham gia đặc biệt là giới trẻ Do đó ứng dụng của công nghệ thông tin vào việc dạy học trực tuyến trên các trang mạng Internet đã không còn xa lạ Lợi ích mà việc dạy học trực tuyến đem lại giúp độc giả tiết kiệm được thời gian, công sức cũng như hiệu quả cao trong học tập Giúp các bạn tìm tòi học hỏi và đào sâu những kiến thức, kỹ năng vững vàng cho bản thân Là sinh viên được trang bị những kiến thức của ngành hệ thống thông tin với những kiến thức đã tiếp thu và vận dụng lý thuyết đó vào công việc thực tế nên em đã chọn đề tài “Xây dựng website dạy học trực tuyến các môn CNTT” để thực hiện đồ án tốt nghiệp của mình với mục đích nghiên cứu và xây dựng một website dạy học trực tuyến giúp cho các bạn học sinh, sinh viên có thể học hỏi những kiến thức phù hợp với nhu cầu về công nghệ thông tin đang phát triển hiện nay
Theo cuộc khảo sát và tìm hiểu em nhận thấy tỷ lệ học sinh, sinh viên định hướng mục tiêu và chủ động tiếp xúc với công nghệ thông tin đang ngày một tăng dần đối với thời đại công nghệ thông tin phát triển hiện nay Một số bạn trẻ còn đang là học sinh đã có thể tạo ra những phần mềm, robot thông minh ngay cả khi chưa lên đại học và đã được các công ty lớn tạo điều kiện cho các bạn trẻ được trải nghiệm môi trường làm việc và học hỏi để phát triển hơn nữa Nhưng song song với điều đó thì vẫn còn những bạn đã là sinh viên nhưng chưa ý thức được và chủ động tìm tòi học hỏi đào sâu kiến thức về công nghệ thông tin
Qua tìm hiểu, khảo sát và xin ý kiến từ các thầy cô trong khoa và với sự góp ý của một số các bạn sinh viên, em đã quyết định chọn đề tài “Xây dựng website dạy học trực tuyến các môn CNTT” với mục đích duy nhất là cung cấp môi trường cho các bạn có cơ hội được chủ động tìm tòi học tập nhằm trang bị những kiến thức vững vàng hơn
Trang 111.2 Mục tiêu của đề tài
Xây dựng, thiết kế website dạy học trực tuyến các môn CNTT Triển khai và cài đặt chương trình trong thực tế
1.3 Giới hạn và phạm vi của đề tài
Nghiên cứu về công tác quản lý vận hành website dạy học trực tuyến
Website được xây dựng bằng ngôn ngữ lập trình Node.js kết hợp với React.js và cơ sở dữ liệu xây dựng bằng SQL Server
1.4 Kết quả dự kiến đạt được
Hiểu được quy trình, cách thức quản lý và vận hành của website dạy học Hoàn thành xây dựng website với các chức năng chính sau:
❖ Giao diện thân thiện, sử dụng dễ dàng
❖ Người dùng có thể đăng ký tài khoản và tham gia học online qua các chuỗi video, có thể góp ý, trao đổi tương tác qua chức năng thảo luận dưới mỗi bài học ❖ Độc giả có thể theo dõi khóa học, nhận thông báo khi có bài học mới
❖ Người quản lý có thể quản lý được khóa học, tài khoản người dùng và các tương tác của người dùng trong mỗi video bài học
Hoàn thành báo cáo chi tiết đồ án tốt nghiệp
Trang 12CHƯƠNG 2 KIẾN THỨC NỀN TẢNG
Qua quá trình học trên ghế nhà trường cùng với thời gian nghiên cứu tài liệu tham khảo, em đã tóm tắt được những kiến thức nền tảng chính được sử dụng trong xây dựng chương trình và thiết kế cơ sở dữ liệu và xây dựng chương trình như sau
2.1 Cơ sở lý thuyết
Để có thể thiết kế và xây dựng một hệ thống hoàn chỉnh thì phân tích thiết kế và cơ sở dữ liệu là những bước đầu tiên không thể thiếu trong quy trình, vì vậy em đã nghiên cứu và tóm tắt những tài liệu và trọng điểm chính sau đây
2.1.1 Phân tích và thiết kế hệ thống thông tin
Định nghĩa: Phân tích và thiết kế hệ thống thông tin là quy trình để phát triển và bảo trì
một ứng dụng hệ thống thông tin với mục đích nâng cao hiệu quả công việc
Ưu điểm: Một trong những ưu điểm quan trọng bậc nhất của phương pháp phân tích và
thiết kế hệ thống thông tin là tính tái sử dụng: Có thể tạo các thành phần (đối tượng) một lần và dùng chúng nhiều lần sau đó
2.1.2 Cơ sở dữ liệu
Định nghĩa: Cơ sở dữ liệu là một hệ thống các thông tin có cấu trúc, được lưu trữ trên
các thiết bị lưu trữ nhằm thỏa mãn yêu cầu khai thác thông tin đồng thời của nhiều người sử dụng hay nhiều chương trình ứng dụng chạy cùng một lúc với những mục đích khác nhau
Việc sử dụng hệ thống CSDL này sẽ khắc phục được những khuyết điểm của cách lưu trữ dưới dạng hệ thống tập tin đó là: Giảm trùng lặp thông tin ở mức thấp nhất, đảm bảo tính nhất quán và toàn vẹn dữ liệu, đảm bảo dữ liệu được truy xuất theo nhiều cách khác nhau, từ nhiều người khác nhau và nhiều ứng dụng khác nhau, tăng khả năng chia sẽ thông tin
2.2 Công cụ sử dụng
Để có thể thiết kế được website thì công cụ và ngôn ngữ lập trình em sẽ sử dụng là NodeJS kết hợp gọi API để vận hành hệ thống quản lý (back-end) và sử dụng ReactJS kết hợp với Redux đối với giao diện người dùng (front-end) Cuối cùng là SQL Server để thao tác và quản lý cơ sở dữ liệu
2.2.1 NodeJS
NodeJS là một runtime (run-time system : phần mềm được thiết kế để chạy các chương
Trang 13trình máy tính với một hoặc nhiều ngôn ngữ xác định) Nó được xây dựng trên nền V8 javascript engine – cỗ máy thực thi mã javascript của trình duyệt nổi tiếng Chrome NodeJS có thể chạy trên nhiều nền tảng hệ điều hành khác nhau từ WIndow cho tới Linux, OS X nên đó cũng là một lợi thế Đồng thời cung cấp các thư viện phong phú ở dạng Javascript Module khác nhau giúp đơn giản hóa việc lập trình và giảm thời gian ở mức thấp nhất
Một trong số những điểm mạnh của NodeJS là giúp server có thể được viết bằng javascript từ đó tạo ra được các ứng dụng có tốc độ xử lý nhanh, xử lý giao tiếp từ cilent tới máy chủ theo thời gian thực
2.2.2 ReactJS
ReactJS là một thư viện Javascript mã nguồn mở để xây dựng các thành phần giao diện
có thể tái sử dụng Nó được tạo ra bởi Jordan Walke, một kỹ sư phần mềm tại Facebook Người bị ảnh hưởng bởi XHP (Một nền tảng thành phần HTML cho PHP) React lần đầu tiên được triển khai cho ứng dụng Newsfeed của Facebook năm 2011, sau đó được triển khai cho Instagram năm 2012 ReactJS xây dựng lên các single-page-app (Thao tác xử lý trang web diễn ra trên một trang) và cho phép nhúng code html trong code javascript nhờ vào JSX
JSX là một dạng ngôn ngữ cho phép viết các mã HTML trong Javascript JSX thực hiện
tối ưu hóa trong khi biên dịch sang mã Javacsript Các mã này cho thời gian thực hiện nhanh hơn nhiều so với một mã tương đương viết trực tiếp bằng Javascript Ngược với Javascript, JSX là kiểu statically-typed (biên dịch trước khi chạy) giống như Java, C++ Vì thế các lỗi sẽ được phát hiện ngay trong quá trình biên dịch Ngoài ra, nó cũng cung cấp tính năng gỡ lỗi khi biên dịch rất tốt
2.2.3 API
API là các phương thức, giao thức kết nối với các thư viện và ứng dụng khác Nó là viết
tắt của Application Programming Interface – giao diện lập trình ứng dụng API cung cấp khả năng truy xuất đến một tập các hàm hay dùng và từ đó có thể trao đổi dữ liệu giữa các ứng dụng với nhau
Trang 14Hình 2.1 Mô hình mô tả kết nối giữa API với các thư viện và ứng dụng khác
Một trong các mục đích chính của một API là cung cấp khả năng truy xuất đến một tập các hàm hay dùng Các hàm API cũng tương tự như các hàm thông thường khác API được ứng dụng ở nhiều loại ứng dụng và phần mềm khác nhau Thế hệ mới nhất của API, Web API có thể dùng cho mọi hệ thống (hệ điều hành, cơ sở dữ liệu, thư viện ứng dụng, ) thậm chí cả phần cứng máy tính
2.2.4 Redux
Redux là một thư viện Javascript giúp tạo ra thành một lớp quản lý trạng thái của ứng
dụng Được dựa trên nền tảng tư tưởng của kiến trúc Flux do Facebook giới thiệu, do vậy Redux thường là bộ đôi kết hợp hoàn hảo với ReactJS và React Native
Trang 15Hình 2.2 Sự khác biệt giữa việc sử dụng và không sử dụng redux
2.2.5 Phần mềm hỗ trợ phân tích thiết kế IBM Rational Rose
Rational Rose là phần mềm công cụ mạnh hỗ trợ phân tích, thiết kế mô hình hệ thống
phần mềm theo đối tượng Nó giúp ta mô hình hóa hệ thống trước khi viết mã chương trình được sử dụng rộng rãi bởi các công ty trong nước và liên doanh với nước ngoài
Rational Rose là bức tranh của hệ thống từ những phối cảnh khác nhau, nó bao gồm tất
cả các mô hình UML, Actor, Use Case Case, Object,…trong hệ thống Người lập trình có thể dùng mô hình như một bản thiết kế cho công việc xây dựng hệ thống
2.2.6 SQL Server
SQL Server hay còn gọi là Microsoft SQL Server, viết tắt là MS SQL Server Là một
phần mềm được phát triển bởi Microsoft dùng để lưu trữ dữ liệu, và là một hệ quản trị cơ sở dữ liệu quan hệ đối tượng
SQL cung cấp các tập lệnh phong phú cho các công việc hỏi đáp dữ liệu như: tạo, thêm, xóa và sửa đổi các đối tượng trong của cơ sở dữ liệu hay điều khiển việc truy cấp tới cơ sở dữ liệu và các đối tượng của cơ sở dữ liệu để đảm bảo tính bảo mật, tính nhất quán và sự ràng buộc của cơ sở dữ liệu
Đối tượng của SQL server là các bảng dữ liệu với các cột và các hàng Cột được gọi là trường dữ liệu và hàng là bản ghi của bảng Cột dữ liệu và kiểu dữ liệu xác định tạo nên cấu
Trang 16vào công việc nào đó sẽ trở thành một cơ sở dữ liệu
2.2.7 Stored Procedure
Stored procedure là tập hợp một hoặc nhiều câu lệnh SQL thành một nhóm đơn vị xử lý
logic và được lưu trữ trên Database Server Khi một câu lệnh gọi chạy stored procedure lần đầu tiên thì SQL Server sẽ chạy nó và lưu trữ vào bộ nhớ đệm, gọi là plan cache, những lần tiếp theo SQL Server sẽ sử dụng lại plan cache nên sẽ cho tốc độ xử lý tối ưu Stored procedure rất tiện lợi cho người quản trị database (DBA), nó giúp DBA tạo ra những nhóm câu lệnh và gửi đến một bô phận khác mà họ sẽ không cần quan tâm đến nội dung bên trong stored procedure có gì, họ chỉ quan tâm đến tham số đầu vào và đầu ra
2.2.8 UML
UML (“Unifiled Modeling Language”) là ngôn ngữ mô hình hóa thống nhất, dùng để
đặc tả, trực quan hóa và tư liệu hóa phần mềm hướng đối tượng, có phần chính bao gồm những ký hiệu hình học, được các phương pháp hướng đối tượng sử dụng để thể hiện và miêu tả các thiết kế của một hệ thống Nó là một ngôn ngữ để đặc tả, trực quan hoá[4]
Diagram (Biểu đồ): Đồ thị biểu diễn đồ họa về tập các phần tử trong mô hình và mối
quan hệ của chúng Trong phiên bản mới nhất có 13 loại biểu đồ trong đó có 9 loại biểu đồ chính được sử dụng
❖ Use Case Case Diagram (Biểu đồ ca sử dụng): Mô tả sự tương tác giữa các tác
nhân ngoài và hệ thống thông qua các ca sử dụng
Trang 17❖ Class Diagram (Biểu đồ lớp): Mô tả cấu trúc tĩnh, mô hình khái niệm bao gồm các
lớp đối tượng và các mối quan hệ của chúng trong hệ thống hướng đối tượng
❖ Object Diagram (Biểu đồ đối tượng): Là một phiên bản của biểu đồ lớp và thường
cũng sử dụng các ký hiệu như biểu đồ lớp
❖ Sequence diagram (Biểu đồ trình tự): Thể hiện sự tương tác của các đối tượng với
nhau
❖ Collaboration Diagram (Biểu đồ cộng tác): Tương tự như biểu đồ trình tự nhưng
nhấn mạnh vào sự tương tác của các đối tượng trên cơ sở cộng tác với nhau bằng cách trao đổi các thông điệp để thực hiện các yêu cầu theo ngữ cảnh công việc
❖ State Diagram (Biểu đồ trạng thái): Thể hiện chu kỳ hoạt động của các đối tượng,
của các hệ thống con và của cả hệ thống
❖ Activity Diagram (Biểu đồ hành động): Chỉ ra dòng hoạt động của hệ thống ❖ Component diagram (Biểu đồ thành phần): Chỉ ra cấu trúc vật lý của các thành
phần trong hệ thống
❖ Deployment Diagram (Biểu đồ triển khai): Chỉ ra cách bố trí vật lý các thành phần
theo kiến trúc được thiết kế của hệ thống
2.2.9 Phần mềm hỗ trợ phân tích thiết kế IBM Rational Rose
Rational Rose là phần mềm công cụ mạnh hỗ trợ phân tích, thiết kế mô hình hệ thống
phần mềm theo đối tượng Nó giúp ta mô hình hóa hệ thống trước khi viết mã chương trình được sử dụng rộng rãi bởi các công ty trong nước và liên doanh với nước ngoài
Rational Rose là bức tranh của hệ thống từ những phối cảnh khác nhau, nó bao gồm tất
cả các mô hình UML, Actor, Use Case Case, Object,…trong hệ thống Người lập trình có thể dùng mô hình như một bản thiết kế cho công việc xây dựng hệ thống
Có ba phiên bản khác nhau của Rose:
❖ Rose Modeler: Cho phép bạn tạo mô hình cho hệ thống, nhưng không hỗ trợ tiến
trình phát sinh mã hoặc thiết kế kỹ thuật đảo ngược
❖ Rose Professional: Cho phép bạn phát sinh mã trong một ngôn ngữ
❖ Rose Enterprise: Cho phép bạn phát sinh mã cho C++, Java, Ada, Corba, Visual
Basis, Oracle Một mô hình có thể có các thành phần được phát sinh bằng các ngôn ngữ khác nhau
Trang 18CHƯƠNG 3 PHÂN TÍCH VÀ THIẾT KẾ HỆ THỐNG
3.1 Khảo sát hệ thống và đặc tả nghiệp vụ 3.1.1 Thực trạng hiện nay
Ngày nay, các ứng dụng công nghệ thông tin được áp dụng trong mọi lĩnh vực nghiên cứu khoa học kỹ thuật cũng như đời sống, máy tính trở thành công cụ trợ giúp đắc lực cho con người trong lưu trữ, phân tích và xử lý thông tin, nhu cầu học tập cũng ngày một phát triển để theo kịp xu thế chung Vì vậy việc áp dụng công nghệ hiện đại vào quá trình đào tạo đã tạo cho người học nhiều cơ hội hơn trên con đường chiếm lĩnh tri thức Dạy học online được biết đến như một mô hình, một phương thức đào tạo hiện đại, đã không còn là khái niệm mới mẻ đối với các nhà quản trị giáo dục và được coi là một cuộc cách mạng dạy và học, trở thành xu hướng tất yếu của thời đại Thay vì người học và người dạy tới các lớp học truyền thống, dạy học online đã giúp cho việc trao đổi thông tin, truyền đạt tri thức, việc tổ chức lớp học linh hoạt ở mọi lúc, mọi nơi, sử dụng các thành tựu CNTT Tuy nhiên, việc triển khai dạy học online với nhu cầu học tập và chia sẻ kiến thức ngày càng tăng, sự linh hoạt thực hiện ở mọi lúc, mọi nơi, thậm chí đáp ứng tính cá nhân hóa người học rất cao, đòi hỏi hoạt động quản lý dạy học online phải đáp ứng được mục tiêu dạy học, chất lượng dạy học, Để đáp ứng được những điều đó, website dạy học cần được xây dựng 1 hệ thống vận hành ổn định và đáp ứng đươc những nhu cầu của người dùng có cơ hội được học tập và chia sẻ kiên thức được thuận lợi hơn
❖ Hoạt động của hệ thống được xây dựng đảm bảo các yêu cầu sau:
Đối tượng là học viên:
- Học viên có thể tìm kiếm thông tin về các khóa học, có thể tham gia xem các bài giảng và trao đổi thảo luận với những học viên lẫn giảng viên trên hệ thống
- Sau khi tham gia học các khóa học, học viên có thể theo dõi các video bài học mới nhất của giảng viên, có thể đánh giá và gửi nhưng câu hỏi hay thắc mắc còn gặp phải tới giảng viên hay người quản lý
Đối với giảng viên:
- Giảng viên có thể tạo mới thông tin về khóa học mới của mình, có thể cập nhập chỉnh sửa những video bài học
- Giảng viên có trách nhiệm quản lý những video bài học của mình, tiếp nhận những phản hồi thắc mắc từ phía học viên
Trang 19Đối với người quản lý:
- Người quản lý có thể quản lý danh sách các khóa học - Quản lý các thông tin của độc giả, giảng viên
- Quản lý và gửi phản hồi ý kiến từ phía người dùng
- Người quản lý có trách nhiệm quản lý phê duyệt những khóa học mới từ giảng viên, hay yêu cầu đăng ký giảng viên từ người dùng
- Thống kê chỉ tiêu số lượng người xem hàng ngày hay hàng tháng đối với từng khóa học
Đối với người quản trị:
- Quản trị chức năng của hệ thống
- Cung cấp các tài khoản cho người quản lý và giảng viên
3.1.2 Giới thiệu đơn vị khảo sát
Đơn vị khảo sát: Sinh viên học tại trường đại học FPT
Địa chỉ: Khu GD&ĐT, Khu CNC, KM29, ĐCT08, Hòa Lạc, Thạch Thất, Hà Nội
3.1.2.1 Danh mục các khóa học công nghệ thông tin của website
Các khóa học như: Lập trình C#, lập trình C++, lập trình Android, lập trình Java, lập trình PHP, phân tích thiết kế, lập trình front-end…
3.1.2.2 Các nghiệp vụ chính của của website
Chức năng 1: Quản lý thông tin khóa học bao gồm:
❖ Thêm mới thông tin khóa học khi có khóa học mới, thay đổi sửa chữa thông tin khóa học nếu giảng viên có yêu cầu chỉnh sửa thông tin
❖ Thông tin khóa học bao gồm: Tên, hình ảnh, nội dung khóa học, thông tin giảng viên, danh sách bài học, số lượng đánh giá và lượt xem,…
Chức năng 2: Quản lý thông tin bài học:
❖ Thêm mới cập nhập bài học cho khóa học khi bài học được giảng viên thêm mới
❖ Thông tin bài học được người quản lý chịu trách nhiệm quản lý và phê duyệt ❖ Thông tin bài học bao gồm: Tên, hình ảnh, nội dung video bài học, thông tin
giảng viên, thảo luận, tài liệu, số lượng đánh giá và lượt xem,…
Chức năng 3: Quản lý thông tin học viên:
❖ Quản lý tài khoản và thông tin của học viên ❖ Chỉnh sửa và xóa tài khoản học viên
Trang 20❖ Quản lý phê duyệt khi học viên có yêu cầu đăng ký làm giảng viên
Chức năng 4: Quản lý thông tin giảng viên:
❖ Quản lý tài khoản và thông tin của giảng viên ❖ Chỉnh sửa và xóa tài khoản giảng viên
❖ Quản lý danh sách các khóa học/ bài học của giản viên
❖ Quản lý phê duyệt khi có khóa hoc/ bài học được thêm mới từ giảng viên
Chức năng 5: Đăng nhập website:
❖ Kiểm tra thông tin tài khoản người dùng
❖ Phân quyền đăng nhập đối với từng đối tượng người dùng
Chức năng 6: Quản lý thảo luận:
❖ Quản lý danh sách các bình luận từ người dùng
❖ Xóa hoặc chỉnh sửa thông tin bình luận khi bình luận của người dùng không hợp lệ
Chức năng 7: Báo cáo thống kê:
❖ Báo cáo thống kê số lượng khóa học đánh giá tốt nhất/ không tốt ❖ Báo cáo số lượng lượt xem và tương tác từng khóa học
3.1.2.3 Đánh giá chung về sự khác biệt dạy học online và dạy học truyền thống
Phạm vi, quy mô, thời gian
Giảng viên và học viên giao tiếp giới hạn trong lớp học Giới hạn về số lượng học viên tham gia và thời gian lớp học cố định
Có thể học ở mọi nơi trên mọi thiết bị Có thể giảng cho nhiều học viên ở nhiều địa điểm khác nhau Có thể học mọi thời gian có thể, chủ động điều tiết về thời gian học
Chi phí Phải chịu chi phí khu vực dạy học và di chuyển đến địa điểm học
Không phải chịu chi phí di chuyển và khu vực dạy học nhưng phải chịu chi phí cho phương tiện học tập
Việc chia sẻ tài liệu, nội
dung
Học viên nghỉ học sẽ không nắm được nội dung buổi học và khó kiểm soát nội dung giảng dạy trên lớp
Người học chủ động nội dung học tập, có thể học nội dung mình muốn, học lại nhiều lần, nội dung
Trang 21giảng dạy được kiểm soát và công khai dễ dàng tìm kiếm
Trao đổi, thảo luận (tương
tác)
Trao đổi, thảo luận trực tiếp giúp phản hồi giải quyết vấn đề ngay nhưng giới hạn người tham gia, giới hạn về thời gian, địa điểm Học viên không tham dự sẽ không nắm được thông tin
Trao đổi thảo luận trực tiếp trên internet Không giới hạn số người tham gia Không giới hạn về thời gian và địa điểm Nội dung trao đổi thảo luận được quản lý, người không tham dự có thể theo dõi được mọi lúc
3.1.3 Khảo sát
3.1.3.1 Hình thức khảo sát
❖ Phỏng vấn trực tiếp ❖ Quan sát hiện trường ❖ Nghiên cứu tài liệu
3.1.3.2 Đối tượng khảo sát
Người được phỏng vấn: Lương Hoàng Hà Ngày phỏng vấn: 15/01/2020
Nội dung phỏng vấn: Nội dung về học tập online trên mạng
Các câu hỏi dự kiến như sau:
1 Câu hỏi 1: Anh có bao giờ
học online trên mạng không?
Trả lời: Có
2 Câu hỏi 2: Thời gian dạy
học của một bài học online trong bao lâu là phù hợp đối với anh?
Trả lời: 20-30 Phút
Trang 223 Câu hỏi 3: Trung bình một
ngày anh dành bao nhiêu
Trả lời: 1 tiếng
thời gian để học online?
4 Câu hỏi 4: Những nội
dung về khóa học online có đáp ứng phù hợp với nhu cầu học tập của anh không ạ?
Trả lời: Thường là có Tùy
theo cái bản thân muốn tìm hiểu
5 Câu hỏi 5: Anh có thường
xuyên trao đổi về học tập
Nội dung phỏng vấn: Nội dung về học tập online trên mạng
Các câu hỏi dự kiến như sau:
1 Câu hỏi 1: Có những bất cập
nào gây khó khăn trong việc học online của anh không ạ?
Trả lời: Khó để trao đổi trực tiếp
với giáo viên
2 Câu hỏi 2: Xin anh cho biết
những chương trình dạy học online về công nghệ thông tin có đáp ứng được với công việc của anh không ạ?
Trả lời: Có
Trang 23STT Câu hỏi Câu trả lời của sinh viên Ghi chú
3 Câu hỏi 3: Anh có đề xuất
thay đổi hay cải tiến các về tính năng của website dạy học online hiện nay không?
Trả lời: Live stream … để có thể
hỏi giáo viên trực tiếp
Câu hỏi 4: Anh học online
nhiều nhất là trên thiết bị nào?
Trả lời: PC - Mobile
5 Câu hỏi 5: Anh có hay bỏ học
giữa chừng khi khóa học không đáp ứng đầy đủ về kiến thức lẫn chất lượng dạy học?
Trả lời: Có - Ko đáp ứng nhu cầu
3.1.4 Mô tả bài toán
Hoạt động của website dạy học online các môn CNTT được thực hiện như sau:
Giảng viên và học viên trước tiên đều phải sử dụng thiết bị CNTT, mạng internet để đăng nhập vào website dạy học online Người dùng phải sử dụng tài khoản Email để đăng nhập vào hệ thống Các thông tin chính của người dùng bao gồm: họ tên, ngày sinh, số điện thoại, tài khoản email, Đối với học viên, có thể xem danh sách các khóa học mà giảng viên cung cấp đăng tải trên website Một khóa học sẽ hiện thị những thông tin nhất định như: tên
khóa học, nội dung khóa học, thông tin giảng viên, danh sách bài học, đánh giá từ những học
viên khác Học viên có thể tham gia học tập linh hoạt, chủ động thời gian khác nhau Với mỗi bài học của khóa học, thời gian không quá 1 tiếng Mỗi bài học sẽ hiển thị nội dung video giảng bài của giảng viên và hiển thị tài liệu đi kèm Học viên và giảng viên có thể đánh giá chất lượng và nội dung của khóa học Với mỗi đánh giá tích cực về khóa học, có thể giúp đánh giá về năng lực trình độ và chất lượng đào tạo của giảng viên đối với khóa học đó Đối với mỗi thông tin giảng viên hay khóa học, học viên có thể theo dõi nhằm hiện thông báo mỗi khi có khóa học mới được thêm từ giảng viên đó Học viên và giảng viên có thể tương tác thông qua email hoắc trao đổi học tập qua mục thảo luận ở cuối mỗi video khóa học Đối với mỗi bình luận của khóa học học viên có thể tương tác thích hoặc hủy thích bình luận Người quản lý có trách nhiệp quản lý thông tin người dùng, quản lý danh sách khóa học và
tương tác thảo luận của học viên và giảng viên Khi có yêu cầu học viên đăng ký giảng viên,
người quản lý có nhiệm vụ kiểm tra thông tin và phê duyệt yêu cầu Đối với mỗi khóa học
Trang 24được tạo mới từ giảng viên, người quản lý đóng vai trò kiểm duyệt nhằm đảm bảo chất lượng
bài học cho học viên
Hàng tuần hay hàng tháng người quản lý tạo các báo cáo thống kê số lượng khóa học
trong tháng và báo cáo về số lượng khóa học được đánh giá tốt hay không tốt Ngoài ra người
quản lý có thể quản lý sửa thông tin về khóa học khi cần thiết Người quản trị hệ thống có
trách nhiệm theo dõi và cập nhập hệ thống mỗi khi có sự thay đổi
Trang 25- Quản lý danh mục khóa học - Quản lý thảo luận
- Quản lý giảng viên
Trang 263.2 Phân tích, xác định các tác nhân của hệ thống.
3.2.1 Biểu đồ use-case
3.2.1.1 Usecase tổng quát
Hình 3.1 Usecase tổng quát
Hình 3.2 Biểu đồ chi tiết usecase đăng nhập
Trang 273.2.1.3 Biểu đồ chi tiết Usecase “Đăng ký giảng viên”
Hình 3.3 Biểu đồ chi tiết usecase đăng ký giảng viên
3.2.1.4 Biểu đồ chi tiết Usecase “Đánh giá khóa học”
Hình 3.4 Biểu đồ chi tiết usecase đánh giá khóa học
Trang 283.2.1.5 Biểu đồ chi tiết Usecase “Hỏi đáp/ thắc mắc”
Hình 3.5 Biểu đồ chi tiết usecase quản lý khóa học
3.2.1.6 Biểu đồ chi tiết Usecase “Quản lý bài học”
Hình 3.6 Biểu đồ chi tiết usecase quản lý bài học
Trang 293.2.1.7 Biểu đồ chi tiết Usecase “Quản lý danh mục”
Hình 3.7 Biểu đồ chi tiết usecase quản lý danh mục khóa học
3.2.1.8 Biểu đồ chi tiết Usecase “Quản lý giảng viên”
Hình 3.8 Biểu đồ chi tiết usecase quản lý giảng viên
Trang 303.2.1.9 Biểu đồ chi tiết Usecase “Quản lý học viên”
Hình 3.9 Biểu đồ chi tiết usecase quản lý học viên
3.2.1.10 Biểu đồ chi tiết Usecase “Quản lý khóa học”
Hình 3.10 Biểu đồ chi tiết usecase quản lý khóa học
Trang 313.2.1.11 Biểu đồ chi tiết Usecase “Quản lý thảo luận”
Hình 3.11 Biểu đồ chi tiết usecase quản lý thảo luận
3.2.1.12 Biểu đồ chi tiết Usecase “Quản lý ý kiến người dùng”
Hình 3.12 Biểu đồ chi tiết usecase quản lý ý kiến người dùng
Trang 323.2.1.13 Biểu đồ chi tiết Usecase “Thảo luận khóa học”
Hình 3.13 Biểu đồ chi tiết usecase quản lý thảo luận khóa học
3.2.1.14 Biểu đồ chi tiết Usecase “Thống kê”
Hình 3.14 Biểu đồ chi tiết usecase thống kê
Trang 333.2.1.15 Biểu đồ chi tiết Usecase “Xem nội dung khóa học”
Hình 3.15 Biểu đồ chi tiết usecase xem nội dung khóa học
Mục đích Cho phép người dùng truy cập vào hệ thống Website
Điều kiện tiên quyết
Người dùng sử dụng tài khoản google để đăng nhập vào website
Mô tả chung Học viên, Giảng viên hoặc Quản trị hệ thống muốn thực hiện công việc hay chức năng của mình thì phải đăng nhập vào hệ thống
Trang 34Tất cả các trường trong màn hình bao gồm Đăng nhập bằng Google, Email, password đều là trường bắt buộc Nếu bỏ trống, hệ thống có thông báo ‘không được để trống’ Luồng sự kiện 1 Tại trang chủ chọn chức năng đăng nhập
2 Hiển thị form đăng nhập
3 Lựa chọn chức năng đăng nhập bằng Google 4 Nhập thông tin đăng nhập (email, password) 5 Gửi thông tin đăng nhập tới hệ thống
6 Kiểm tra thông tin đăng nhập, nếu đúng thì cho phép truy cập hệ thống, sai thì thông báo lỗi và yêu cầu nhập lại
Ngoại lệ 1 Hệ thống thông báo thông tin nhập chưa đầy đủ 2 Hệ thống thông báo thông tin nhập bị sai 3 Hệ thống thông báo đăng nhập thất bại Các yêu cầu
đặc biệt
Nếu người dùng đã đăng nhập thành công những lần vào hệ thống tiếp theo, người dùng không phải đăng nhập lại mà tự động lưu cookie
Ngược lại, người dùng chưa đăng nhập hoặc đăng xuất thì: Những lần đăng nhập tiếp theo phải đăng nhập lại
3.2.2.2 Usecase Đánh giá khóa học
Bảng 3.2 Đặc tả usecase Đánh giá khóa học
Tên Usecase Danh gia khoa hoc
Trang 35thang điểm 5 ứng với mỗi khóa học hay bài học của giảng viên phụ trách dạy khóa học đó
Luồng sự kiện 1 Tại trang thông tin khóa học và bài học lựa chọn đánh giá khóa học
2 Gửi thông tin đánh giá tới hệ thống
3 Kiểm tra thông tin đăng nhập, nếu đúng thì cho phép lưu thông tin đánh giá, sai thì thông báo lỗi và yêu cầu đăng nhập
Ngoại lệ 1 Hệ thống thông báo tài khỏa chưa đăng nhập 2 Hệ thống thông báo đánh giá khóa học thất bại 3 Hệ thống thông báo đánh giá bài học thất bại
3.2.2.3 Usecase Hỏi đáp/ thắc mắc
Bảng 3.3 Đặc tả usecase Hỏi đáp/ thắc mắc
Tên Usecase Hoi dap/ thac mac
Mục đích Học viên hoặc Giảng viên có hỏi đáp thắc mắc cần gửi thông tin liên hệ tới Người quản trị hệ thống
1 Tại trang chủ chọn chức năng hỏi đáp 2 Hiển thị form hỏi đáp
3 Nhập nội dung cần hỏi đáp
4 Gửi thông tin hỏi đáp tới hệ thống
5 Kiểm tra thông tin đăng nhập nếu đúng thì cho phép gửi
Trang 36thông tin hỏi đáp tới Người quản trị, sai thì thông báo lỗi và yêu cầu đăng nhập
6 Người quản trị tiếp nhập thông tin hỏi đáp 7 Người quản trị phản hồi lại thông tin hỏi đáp Ngoại lệ 1 Hệ thống thông báo người dùng cần đăng nhập
2 Hệ thông thông báo gửi thông tin hỏi đáp thất bại
3.2.2.4 Usecase Thảo luận khóa học
Bảng 3.4 Đặc tả usecase Thảo luận khóa học
Tên Usecase Thao luan khoa hoc
Mục đích Học viên hoặc Giảng viên có thể trao đổi thảo luận với nhau sau mỗi bài học
Điều kiện tiên quyết
Người dùng sử dụng tài khoản google để đăng nhập vào website và đã đăng ký khóa học tương ứng muốn thảo luận Mô tả chung Khi kết thúc bài học của khóa học, học viên và giảng viên
có thể trao đổi thảo luận với nhau phục vụ mục đích học tập Luồng sự
kiện
1 Tại trang nội dung bài học chọn chức năng bình luận 2 Hiển thị thông tin bình luận của người dùng
3 Nhập nội dung cần bình luận
4 Gửi thông tin bình luận tới hệ thống
5 Kiểm tra thông tin đăng nhập nếu đúng thì cho phép lưu thông tin bình luận tới hệ thống, sai thì thông báo lỗi và yêu cầu đăng nhập
6 Hệ thống hiện thị thông tin bình luận lên màn hình bình luận bài học
Trang 377 Giảng viên và Học viên trong nhóm tiếp nhận và phản hồi thông tin bình luận
Ngoại lệ 1 Hệ thống thông báo người dùng cần đăng nhập 2 Hệ thông thông báo gửi thông tin bình luận thất bại
3.2.2.5 Usecase Xem nội dung khóa học
Bảng 3.5 Đặc tả usecase Xem nội dung khóa học
Tên Usecase Xem noi dung khoa hoc
Mục đích Học viên hoặc Giảng viên có thể xem nội dung tài liệu cũng như bài học của khóa học tương ứng sau khi đăng ký khóa học
Điều kiện tiên quyết
Người dùng sử dụng tài khoản google để đăng nhập vào website và đã đăng ký khóa học
Mô tả chung Khi học viên đăng ký khóa học thành công hệ thống sẽ cho phép học viên có thể tham gia khóa học cũng như xem nội dung tài liệu của khóa học đó
Luồng sự kiện
1 Tại trang thông tin khóa học chọn chức năng học ngay 2 Kiểm tra thông tin nếu đúng thì cho phép xem nội dung khóa học, sai thì thông báo lỗi
3 Hiển thị nội dung khóa học và bài học
Ngoại lệ 1 Hệ thống thông báo người dùng cần đăng nhập 2 Hệ thông thông báo nội dung khóa học không tồn tại
Trang 383.2.2.6 Usecase Đăng ký giảng viên
Bảng 3.6 Đặc tả usecase Đăng ký giảng viên
Tên Usecase Dang ky giang vien
2 Chọn chức năng đăng ký giảng viên 3 Nhập nội dung đăng ký giảng viên
4 Gửi thông tin đăng ký giảng viên tới hệ thống
5 Kiểm tra thông tin giảng viên nếu đúng thì cho phép gửi thông tin, sai thì thông báo lỗi về người dùng
6 Người quản lý kiểm tra thông tin và phê duyện đăng ký giảng viên từ người dùng
7 Gửi thông báo tới người dùng
8 Hiển thị thông báo đăng ký giảng viên thành công tới
Trang 393.2.2.7 Usecase Quản lý danh mục khóa học
Bảng 3.7 Đặc tả usecase Quản lý danh mục khóa học
Tên Usecase Quan ly danh muc khoa hoc
Người dùng sử dụng tài khoản google để đăng nhập vào hệ thống và trạng thái tài khoản là admin
Mô tả chung Khi người quản lý có nhu cầu được quản lý hay chỉnh sửa các danh mục khóa học của hệ thống
Luồng sự kiện
1 Tại trang quản lý người dùng nhập thông tin tài khoản đăng nhập
2 Gửi thông tin đăng nhập tới hệ thống
3 Kiểm tra thông tin đăng nhập nếu đúng thì cho phép truy cập hệ thống, sai thì thông báo lỗi về người dùng
4 Chọn quản lý danh mục
5 Hiển thị màn hình danh sách danh mục
6 Người dùng thao tác quản lý chỉnh sửa danh mục khóa học
Ngoại lệ 1 Hệ thống thông báo người dùng đăng nhập sai tài khoản 2 Hệ thống thông báo chỉnh sửa thông tin thất bại
Trang 403.2.2.8 Usecase Quản lý khóa học
Bảng 3.8 Đặc tả usecase Quản lý khóa học
Tên Usecase Quan ly khoa hoc
Mục đích Giảng viên có thể quản lý các khóa học của mình Đối với Người quản lý hệ thống có thể quản lý tất cả các khóa học của Giảng viên
Điều kiện tiên quyết
Người dùng sử dụng tài khoản google để đăng nhập vào hệ thống và trạng thái tài khoản là quản lý hoặc giảng viên Mô tả chung Khi giảng viên có nhu cầu được quản lý hay chỉnh sửa các
khóa học của mình Người quản lý có thể kiểm soát được nội dung về khóa học của tất cả giảng viên
Luồng sự kiện
1 Tại trang quản lý người dùng nhập thông tin tài khoản đăng nhập
2 Gửi thông tin đăng nhập tới hệ thống
3 Kiểm tra thông tin đăng nhập nếu đúng thì cho phép truy cập hệ thống, sai thì thông báo lỗi về người dùng
7 Người dùng xem danh sách khóa học và chỉnh sửa khóa học tại menu danh sách khóa học
Ngoại lệ 1 Hệ thống thông báo người dùng đăng nhập sai tài khoản 2 Hệ thống thông báo chỉnh sửa thông tin thất bại