LỜI MỞ ĐẦU Giáo dục là vấn đề quan trọng đối với mỗi người,mỗi gia đình,mỗi xã hội trong bất cứ thời đại nào giai đoạn lịch sử nào đặc biệt là trong thời đại tri thức như ngày nay.Việc d
Trang 1ĐẠI HỌC BÁCH KHOA HÀ NỘI Viện Công Nghệ Thông Tin và Truyền Thông
BÁO CÁO BÀI TẬP LỚN
PHÂN TÍCH THIẾT KẾ HƯỚNG ĐỐI TƯỢNG
Đề tài: Xây dựng website học trực tuyến
Nhóm sinh viên thực hiện :
Đinh Quang Huy – 20081124 Nguyễn Hữu Hạnh – 20080903
Trang 2MỤC LỤC
PHẦN I: KHẢO SÁT NGHIỆP VỤ 7
1 Mô tả chung về hệ thống nghiệp vụ 7
2 Đặc tả các quy trình nghiệp vụ 9
2.1 Chọn khóa học 9
2.2 Làm bài test 9
2.3 Thêm khóa học mới 10
2.4 Thêm bài học mới 11
2.5 Thêm bài test mới 12
3 Mô hình hóa các lớp nghiệp vụ 13
3.1 Xác định các lớp nghiệp vụ 13
3.1.1 Lớp User 14
3.1.2 Lớp Khóa học 14
3.1.3 Lớp bài học 15
3.1.4 Lớp bài test 15
3.1.5 Lớp roles 15
3.2 Sơ đồ các lớp nghiệp vụ của hệ thống 17
PHẦN II: PHÂN TÍCH HỆ THỐNG 18
1 Các tác nhân của hệ thống 18
1.1 Học sinh 18
1.2 Giáo viên 18
1.3 Quản trị hệ thống 18
2 Phân tích các chức năng của hệ thống 19
2.1 Các chức năng đối với tác nhân là học sinh 19
2.1.1 Đăng nhập 19
2.1.2 Xem khóa học 20
2.1.3 Xem bài học 21
Trang 32.1.4 Xem bài test 21
2.1.5 Cập nhật thông tin tài khoản 22
2.1.6 Xem kết quả học tập 23
2.2 Các chức năng đối với tác nhân là giáo viên 24
2.2.1 Quản lý khóa học 24
2.2.2 Thêm khóa học 25
2.2.3 Xóa khóa học 26
2.2.4 Sửa thông tin khóa học 27
2.2.5 Xem khóa học 27
2.2.6 Thêm bài học 28
2.2.7 Xóa bài học 29
2.2.8 Sửa nội dung bài học 29
2.3 Các chức năng đối với tác nhân là Admin 31
2.3.1 Quản lý giáo viên 31
2.3.2 Thêm giáo viên 32
2.3.3 Xóa giáo viên 33
2.3.4 Sửa thông tin giáo viên 34
2.3.5 Quản lý học sinh 34
2.3.6 Thêm học sinh 35
2.3.7 Xóa học sinh 36
2.3.8 Cập nhật thông tin học sinh 36
3 Phân tích hoạt động và sự tương tác 37
3.1 Mô tả hoạt động trong Use Case đăng nhập 37
3.2 Mô tả hoạt động trong Use Case xem khóa học 38
3.3 Mô tả hoạt động trong Use Case xem bài học 38
3.4 Mô tả hoạt động trong Use Case làm bài test 39
3.5 Mô tả hoạt động trong Use Case thay đổi thông tin cá nhân 39
Trang 43.6 Mô tả hoạt động trong Use Case xem Logout 40
3.7 Mô tả hoạt động trong Use Case thêm khóa học 40
3.8 Mô tả hoạt động trong Use Case xóa khóa học 41
3.9 Mô tả hoạt động trong Use Case sửa khóa học 41
4 Phân tích hệ thống về mặt cấu trúc 42
4.1 Sơ đồ lớp cho Use Case Đăng nhập 42
4.2 Sơ đồ lớp cho Use Case Xem khóa học 43
4.3 Sơ đồ lớp cho Use Case Cập nhật hồ sơ cá nhân 43
4.4 Sơ đồ lớp cho Use Case Quản lý khóa học 44
4.5 Sơ đồ lớp cho Use Case Thêm bài học 45
4.6 Sơ đồ lớp cho Use Case Thêm bài test 45
5 Thiết kế CSDL 46
5.1 Bảng User 46
5.2 Bảng Khóa học 47
5.3 Bảng Bài học 47
5.4 Bảng Test 47
5.5 Bảng Role 48
6 Thiết kế giao diện cho các Use Case 48
6.1 Thiết kế giao diện cho Use Case Đăng nhập 48
6.2 Thiết kế giao diện cho Use Case Chọn khóa học 49
6.3 Thiết kế giao diện cho Use Case Xem bài học 50
6.4 Thiết kế giao diện cho Use Case Làm bài test 51
6.5 Thiết kế giao diện cho Use Case Thay đổi thông tin cá nhân 52
6.6 Thiết kế giao diện cho Use Case Logout 52
6.7 Thiết kế giao diện cho Use Case Thêm khóa học 53
6.8 Thiết kế giao diện cho Use Case Quản lý khóa học 54
6.9 Thiết kế giao diện cho Use Case Sửa khóa học 54
Trang 5PHẦN III: THIẾT KẾ TỔNG THỂ 55
1 Sơ đồ gói chức năng 55
2 Mô hình phân tầng theo công nghệ sử dụng 56
2.1 Giới thiệu Yii Framework
2.2 Các thành phân trong Project dùng Yii Framework 59
2.3 Luồng hoạt trộng trong Yii Project 61
Trang 6LỜI MỞ ĐẦU
Giáo dục là vấn đề quan trọng đối với mỗi người,mỗi gia đình,mỗi xã hội trong bất cứ thời đại nào giai đoạn lịch sử nào đặc biệt là trong thời đại tri thức như ngày nay.Việc dạy và học thì thời nào cũng vậy là quá trình chia sẻ tri thức từ thầy
cô giáo đến học sinh.Ngày nay,công nghệ phát triển,tri thức nhân loại bùng nổ ,cách dạy và học cũng cần phải được cải tiến để tạp thuận lợi cho quá trình chia sẻ tri thức của các thầy cô và quá trình tiếp nhận tri thức của học sinh.Website hỗ trợ học tập trong trường học là một ý tưởng không mới và cũng không khó để thực hiện nhưng hiện nay vẫn còn chưa được nhân rộng trong các trường học ở nước ta.Với mong muốn về một hệ thống thông tin hỗ trợ việc dạy và học trong nhà trường,chúng em đã cùng nhau thực hiện đề tài phân tích thiết kế website hỗ trợ học tập trong trường học để làm bài tập lớn cho môn học phân tích thiết kế hướng đối tượng.Chúng em tin rằng đây là một đề tài rất gần gũi và có thể đưa vào áp dụng rộng rãi trong thực tế và sẽ có lợi ích đáng kể cho việc dạy và học ở các nhà trường
Trong quá trình thực hiện đề tài,chúng em đã nhận được rất nhiều sự chỉ bảo,giúp đỡ và những lời khuyên,góp ý xác đáng của Nguyễn Hữu Đức.Thầy đã giúp chúng em rất nhiều trong quá trình hoàn thành đề tài của mình.Chúng em xin chân thành cảm ơn thầy,chúng em xin chúc thầy và gia đình luôn luôn luôn mạnh khỏe,hạnh phúc,chúc thầy sẽ gặt hái thật nhiều thành quả trong công tác giảng dạy
và nghiên cứu khoa học
Trang 7PHẦN I: KHẢO SÁT NGHIỆP VỤ
1 Mô tả chung về hệ thống nghiệp vụ
Aiti-Aptech là một trường đào tạo lập trình viên quốc tế có trụ sở đặt tại số 356 Giải Phóng, Hà Nội thuộc hệ thống đào tạo quốc tế của Aptech-Ấn Độ Mục tiêu của trường ngay từ khi thành lập là tạo ra một môi trường học tập tốt cho các sinh viên Việt Nam yêu thích lập trình, đam mê công nghệ Hiện tại trường có các khóa học ở nhiều lĩnh vực đáp ứng yêu cầu cho đông đảo các đối tượng sinh viên khác nhau như ACCP (Khóa học lập trình viên quốc tế), DOST(Khóa học lập trình viên
mã nguồn mở quốc tế), MTECH(Khóa học lập trình trên các thiết bị di động) Nhận thấy quá trình học trên lớp vẫn là chưa đủ ,để tạo điều kiện cho sinh viên nhà trường có điều kiện ôn tập bài trên lớp và củng cố kiến thức thông qua các bài test ngay sau buổi học đồng thời cũng giúp giảm sự vất vả cho các thầy, cô giáo, ban lãnh đạo trường mong muốn xây dựng một website học trực tuyến để aitiElearning để phục vụ cho việc dạy và học của giáo viên và sinh viên của trường
Website sẽ là hệ thống phục vụ quá trình học tập của sinh viên trường lập trình viên quốc tế Aiti Aptech Mỗi sinh viên của trường sẽ được cấp 1 tài khoản để truy cập vào hệ thống Sau khi đăng nhập vào hệ thống,sinh viên có thể thấy danh sách các khóa học Sinh viên chọn khóa học mình muốn tham gia Trên màn hình hiện
ra danh sách các bài học thuộc khóa học Sinh viên chọn bài học mình quan tâm Trên màn hình hiện ra nội dung bài học gồm phần lý thuyết, bài tập, hướng dẫn giải bài tập Nội dung bài học có thể chứa các video và các file đính kèm
Mỗi giáo viên của trường cũng được cấp một tài khoản riêng Giáo viên có thể đăng nhập vào hệ thống, tạo khóa học mới, thêm các bài học, bài test mới cho các khóa học Giáo viên có quyền quản lý các khóa học do mình tạo ra: xem nội dung khóa học, sửa nội dung khóa học, xóa khóa học
Trang 8Người quản trị website được cấp các quyền quản lý người dùng, quản lý các khóa học, quản lý các bài học, quản lý bài test
Trang 92 Đặc tả các quy trình nghiệp vụ
2.1 Xem bài học
- Sinh viên chọn khóa học mong muốn
- Hệ thống hiển thị chi tiết khóa học
- Sinh viên chọn bài học
- Hệ thống hiển thị nội dung bài học
H1: Quy trình nghiệp vụ chọn khóa học 2.2 Làm bài test
- Sinh viên chọn khóa học
- Hệ thống hiển thị chi tiết khóa học
- Sinh viên làm bài test
- Sinh viên nộp bài
- Hệ thống chấm điểm sinh viên
- Hệ thống thông báo kết quả test
Trang 10H2: Quy trình nghiệp vụ làm bài test 2.3 Thêm khóa học mới
- Giáo viên chọn thêm khóa học mới
- Hệ thống hiển thị form thêm khóa học
- Giáo viên nhập thông tin khóa học mới Sau khi nhập thông tin khóa học mới, sinh viên chọn nút đăng khóa học mới
- Hệ thống kiểm tra tính hợp lệ của các thông tin về khóa học
- Hệ thống kết quả thêm khóa học
Trang 11H3: Quy trình nghiệp vụ thêm khóa học mới 2.4 Thêm bài học mới
- Giáo viên chọn khóa học mong muốn
- Hệ thống hiển thị danh mục các bài học của khóa học
- Giáo viên chọn thêm bài học mới
- Hệ thống hiển thị form thêm bài học mới
- Hệ thống nhập nội dung bài học mới
Trang 12Các quy trình nghiệp vụ của hệ thống
H4: Quy trình nghiệp vụ thêm bài học mới 2.5 Thêm bài test mới
- Giáo viên chọn khóa học mong muốn
- Hệ thống hiển thị chi tiết khoa học
- Giáo viên chọn thêm bài test
- Hệ thống hiển thị form thêm bài test
- Giáo viên nhập nội dung bài test và chọn nhấn nút thêm bài test
- Hệ thống phản hồi kết quả thêm bài test
Trang 13H5: Quy trình nghiệp vụ thêm bài test mới
3 Mô hình hóa các lớp nghiệp vụ
3.1 Xác định các lớp nghiệp vụ
Hệ thống bao gồm các lớp nghiệp vụ sau:
Trang 143.1.1 Lớp User
- Lớp User biểu diễn các đối tượng người dùng trong hệ thống.Người dùng trong
hệ thống có thể là học sinh,giáo viên (tùy thuộc vào role_id của người dùng đó)
- Các thuộc tính của lớp User là các thuộc tính của một người dùng mà hệ thống cần quan tâm.Các thuộc tính của lớp User được trình bày ở bảng dưới đây:
dụng để hệ thống xác nhận người dùng khi người dùng đăng nhập vào hệ thống
các thông báo, tin tức mới, hệ thống sẽ gửi đến người dùng thông qua địa chỉ email được đăng ký này
3.1.2 Lớp Khóa học
-Lớp khóa học mô tả đối tượng các khóa học của hệ thống
-Các thuộc tính của lớp khóa học được thể hiện ở bảng dưới đây:
Trang 153.1.3 Lớp bài học
-Lớp bài học thể hiện các đối tượng bài học
-Các thuộc tính của lớp bài học được thể hiện ở bảng dưới đây :
bài tập
3.1.4 Lớp bài test
-Lớp bài test thể hiện các bài test
-Các thuộc tính của lớp bài test được thể hiện ở bảng dưới đây:
3.1.5 Lớp roles
-Lớp roles thể hiện các vai trò của người dùng trong hệ thống
-Các roles là các nhãn để gom nhóm những người dùng có chung những quyền hạn,vai trò đối với hệ thống
-Trong hệ thống của chúng em sẽ có 3 role chính:
+Học sinh: Tài khoản có role “Học sinh ” được cấp cho mỗi học sinh của nhà trường.Khi đăng nhập với tài khoản học sinh,người dùng có thể thực hiện truy
Trang 16cập vào các khóa học mình quan tâm,xem các bài giảng,làm các bài test,xem kết quả học tập của mình
+Giáo viên: Tài khoản “Giáo viên ” được cấp cho mỗi giáo viên của nhà trường.Tài khoản giáo viên cho phép người dùng tạo mới các khóa học,thêm các bài test,bài học vào các khóa học do mình tạo ra.Hệ thống cũng cung cấp cho
“Giáo viên” khả năng thực hiện các thao tác quản lý cơ bản: Thêm,sửa,xóa các khóa học,bài học,bài test do mình tạo ra
+ Admin: Tài khoản “Admin” được cung cấp các quyền quản lý các người dùng khác(giáo viên,học sinh) như xem thông tin,thêm,xóa,cập nhật thông tin đối với tất cả người dùng trong hệ thống
-Các thuộc tính của bảng roles được trình bày chi tiết trong bảng dưới đây:
-Lớp Điểm thể hiện kết quả hoc tập của học sinh đối với mỗi bài test
-Các thuộc tính của lớp điểm được thể hiện ở bảng dưới đây:
đối với bài test có mã “MaTest”
Trang 173.2 Sơ đồ các lớp nghiệp vụ của hệ thống
Ta có sơ đồ các lớp nghiệp vụ của hệ thống như sau:
H6: Sơ đồ mô hình các lớp nghiệp vụ của hệ thống
Trang 181.2 Giáo viên
Giáo viên là những người dùng được cấp tài khoản có vai trò là “giáo viên” trong hệ thống Sau khi đăng nhập, giáo viên có thể xem các danh sách các khóa học do mình tạo ra Giáo viên có quyền xem thông tin các khóa học, thay đổi thông tin các khóa học, thêm mới, sửa , xóa các bài giảng, bài test
1.3 Quản trị hệ thống
Quản trị hệ thống là người có quyền quản lý người dùng: thêm người dùng mới, sửa thông tin người dùng, xóa người dùng
Trang 192 Phân tích các chức năng của hệ thống
2.1 Các chức năng đối với tác nhân là học sinh
H7: Sơ đồ Use Case với tác nhân là học sinh
2.1.1 Đăng nhập
các chức năng
Trang 20Điều kiện kiên quyết
Trang 21Sự kiện kích hoạt Học sinh kích chuột vào đường link dẫn đến
trang xem bài học muốn xem
Điều kiện tiên quyết Học sinh được xác nhận là hợp lệ
2.1.4 Xem bài test
Trang 22Mô tả Học sinh xem nội dung bài test
Sự kiện kích hoạt Học sinh kích chuột vào đường dẫn đến trang xem
2.1.5 Cập nhật thông tin tài khoản
Sự kiện kích hoạt Người dùng chọn chức năng cập nhật tài khoản
Điều kiện tiên quyết Người dùng chọn chức năng cập nhật thông tin
tài khoản
Phương thức cơ bản
1 Học sinh chọn chức năng cập nhật tài khoản
2 Hệ thống hiển thị form cập nhật thông tin tài khoản
3 Người dùng cập nhật thông tin tài khoản rồi submmit
4 Hệ thống phản hồi kết quả cập nhật
Trang 23Sự kiện kích hoạt Học sinh chọn chức năng xem kết quả học tập Điều kiện tiên quyết Học sinh đăng nhập thành công vào hệ thống
Phương thức cơ bản
1 Học sinh chọn chức năng xem kết quả học tập
2 Hệ thống hiển thị kết quả học tập của học sinh
Trang 242.2 Các chức năng đối với tác nhân là giáo viên
H8: Sơ đồ Use Case cho tác nhân giao viên
2.2.1 Quản lý khóa học
minh tạo ra
Trang 25Sự kiện kích hoạt Giáo Viên chọn chức năng quản lý khóa học Điều kiện tiên quyết Giáo viên đăng nhập hợp lệ vào hệ thống
Phương thức cơ bản
1 Giáo viên chọn chức năng quản lý khóa học
2 Hệ thống hiển thị danh sách các khóa học do giáo viên đó tạo ra
3 Giáo viên có thể sử dụng các kịch bản sử dụng như xem khóa học, thêm khóa học, xóa khóa học, sửa thông tin khóa học
thêm khóa học mới
Điều kiện tiên quyết Giáo viên đăng nhập thành công vào hệ thống Phương thức cơ bản 1 Giáo viên chọn button thêm khóa học
2 Hệ thống hiển thị trang thêm khóa học
3 Giáo viên nhập thông tin về khóa học muốn thêm vào hệ thống
4 Giáo viên nhấn nút submit để gửi yêu cầu thêm khóa học mới
Trang 265 Hệ thống kiểm tra thông tin khóa học mới có trùng lặp với các khóa học đã tồn tại hay không rồi phản hồi kết quả
Sự kiện kích hoạt Giáo viên chọn button xóa khóa học bên cạnh
khóa học trong trang quản lý khóa học
Điều kiện tiên quyết Giáo viên đăng nhập thành công vào hệ thống
Khóa học cần xóa tồn tại
Phương thức cơ bản 1 Trên trang quản lý các khóa học,giáo viên
chọn button xóa khóa học tương ứng với khóa học mình muốn xóa
2 Hệ thống xóa khóa học do giáo viên yêu cầu rồi hiển thị thông báo kết quả
Phương thức thay thế
Ngoại Lệ
Trang 27Tần suất sử dụng Thường xuyên
2.2.4 Sửa thông tin khóa học
Sự kiện kích hoạt
Giáo viên chọn button sửa thông tin khóa học tương ứng với khóa học mình muốn cập nhật trên trang quản lý khóa học
Điều kiện tiên quyết
1 Giáo viên đăng nhập thành công vào
2 Hệ thống hiển thị form sửa khóa học
3 Giáo viên cập nhật thông tin khóa học, submit yêu cầu sửa khóa học
4 Hệ thống kiểm tra tính hợp lệ của các thông tin mới cập nhật rồi thông báo phản hồi
Trang 28Điều kiện tiên quyết Giáo viên đăng nhập hợp lệ vào hệ thống
Phương thức cơ bản 1 Giáo viên chọn khóa học muốn xem 2 Hệ thống hiển thị nội dung chi tiết khóa học Phương thức thay thế
học,giáo viên chọn button thêm bài học
Điều kiện tiên quyết Giáo viên đăng nhập thành công vào hệ thống Phương thức cơ bản 1 Giáo viên chọn button thêm bài học
2 Hệ thống hiển thị form thêm bài học
3 Giáo viên nhập nội dung bài học mới vào form rồi nhấn submit thêm bài học mới
4 Hệ thống thêm bài học mới vào db rồi hiển thị thông báo kết quả thêm khóa học
Phương thức thay thế
Trang 29Kết quả Giáo viên có thể thêm bài học mới
Ngoại Lệ
2.2.7 Xóa bài học
2.2.8 Sửa nội dung bài học
Sự kiện kích hoạt Giáo viên chọn button sửa bài học tương
Trang 30ứng với bài học mà mình muốn sửa
Điều kiện tiên quyết Giáo viên đăng nhập hợp lệ vào hệ thống
Trang 312.3 Các chức năng đối với tác nhân là Admin
H9: Sơ đồ Use Case đối với tác nhân là Admin 2.3.1 Quản lý giáo viên