Tải bản đầy đủ (.pdf) (63 trang)

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

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (1.77 MB, 63 trang )

ĐẠ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
Nguyễn Đức Yên – 20083244
Doãn Đình Việt – 20083124
Giáo viên hướng dẫn :
TS. Nguyễn Hữu Đức



Hà Nội, Tháng 5 năm 2012
MỤ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
2.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
3.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
PHẦ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
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ạ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


PHẦ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.
Ngườ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.
2. Đặ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.

H2: 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.

H3: 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
Cá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.

H5: 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:


3.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:
Tên thuộc tính
Mô tả
Username
Tên đăng nhập của người dùng
Password
mật khẩu của người dùng sẽ được sử
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
Hoten
Họ tên của người dùng
Diachi
Địa chỉ của người dùng
Email
Địa chỉ email của người dùng, khi có
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.
Role_ID

Mã role của người dùng trong hệ thống

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:
Tên thuộc tính
Mô tả
Makh
Mã khóa học.
Tenkh
Tên khóa học
Mota
Mô tả ,giới thiệu về khóa học
MaGV
Mã giáo viên dạy khóa học



3.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 :
Tên thuộc tính
Mô tả
Mabh
Mã bài học
Tenbh
Tên bài học
Lythuyet
Phần lý thuyết của bài học
Baitap

Phần bài tập
Huongdangiaibt
Hướng dẫn giải các bài tập trên phần
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:
Tên thuộc tính
Mô tả
MaTest
Mã bài test
TenBaiTest
Tên bài test
Makh
Mã khóa học chứa bài test
Nội dung
Nội dung bài test
DapAn
Đáp án cho các câu hỏi của bài test

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
cậ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:

Tên thuộc tính
Mô tả
Role_ID
Mã role
Role_Name
Tên role

3.1.6. Lớp Điểm
-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:
Tên thuộc tính
Mô tả
User_ID
Mã người dùng
MaTest
Mã bài test
Diem
Điểm của người dùng có mã “User_ID”
đối với bài test có mã “MaTest”




3.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

PHẦN II: PHÂN TÍCH HỆ THỐNG
1. Các tác nhân của hệ thống
1.1. Học sinh
Học sinh là những người dùng được cấp tài khoản có vai trò là “Học Sinh”
trong hệ thống. Học sinh có thể đăng nhập vào hệ thống với tài khoản được cấp bởi
người quản trị website. Sau khi đăng nhập,học sinh có thể thay đổi thông tin tài
khoản,xem các bài học.làm bài test, xem kết quả học tập của mình.
1.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.
2. 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
Tên ca sử dụng
Đăng Nhập
Tác Nhân

Học sinh, giáo viên, Admin.
Mô tả
Người dùng đăng nhập vào hệ thống để sử dụng
các chức năng.
Sự kiện kích hoạt
Người dùng chọn chức năng đăng nhập
Điều kiện kiên quyết

Phương thức cơ bản
1. Người dùng chọn chức năng đăng nhập.
2. Hệ thống trả về form đăng nhập.
3. Người dùng điền thông tin vào form đăng nhập,
nhấn submit.
4. Hệ thống xác nhận người dùng và phản hồi kết
quả cho người dùng.
Phương thức thay thế

Kết quả
Người dùng được xác nhận
Ngoại Lệ

Tần suất sử dụng
Rất thường xuyên

2.1.2. Xem khóa học
Tên UC
Xem khóa học
Tác nhân
Học Sinh
Mô tả

Học sinh xem thông tin chi tiết về khóa học và
danh sách các bài học.
Sự kiện kích hoạt
Học sinh nhấn vào đường dẫn đến trang xem khóa
học.
Điều kiện tiên quyết
Học sinh đăng nhập hợp lệ vào hệ thống.
Phương thức cơ bản
1. Học sinh chọn đường dẫn đến khóa học muốn
xem.
2. Hệ thống trả về thông tin chi tiết khóa học và
danh sách các bài học.

Phương thức thay thế

Kết quả
Học sinh xem có thể xem chi tiết về khóa học mà
mình lựa chọn.
Ngoại lệ

Tần suât sử dụng
Thường xuyên

2.1.3. Xem bài học
Tên UC
Xem bài học
Tác nhân
Học Sinh
Mô tả
Học sinh xem nội dung bài học.

Sự 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ệ
Phương thức cơ bản
1. Người dùng chọn đường dẫn đến trang xem bài
học mình mong muốn.
2. Hệ thống trả lại nội dung chi tiết của bài học.
Phương thức thay thế

Kết quả
Học sinh xem được nội dung chi tiết của bài học.
Ngoại lệ

Tần suất sử dụng
Thường xuyên

2.1.4. Xem bài test
Tên UC
Xem bài test
Tác nhân
Học sinh
Mô 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
bài test.
Điều kiện tiên quyết
Học sinh đăng nhập hợp lệ.

Phương thức cơ bản
1. Học sinh chọn đường dẫn đến chức năng xem
bài test.
2. Hệ thống trả lại nội dung bài test.
Phương thức thay thế

Kết quả
Học sinh xem được chi tiết bài test
Ngoai lệ

Tần suất sử dụng
Thường xuyên

2.1.5. Cập nhật thông tin tài khoản
Tên UC
Cập nhật thông tin tài khoản
Tác nhân
Người dùng (Sinh viên,Giáo viên,Admin)
Mô tả
Người dùng 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
Phương thức thay thế

Kết quả
Người dùng cập nhật thông tin tài khoản
Ngoại Lệ

Tần suất sử dụng
Thường xuyên

2.1.6. Xem kết quả học tập
Tên UC
Xem Kết quả học tập
Tác nhân
Học sinh
Mô tả
Học sinh xem kết quả học tập
Sự 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.
Phương thức thay thế

Kết quả
Học sinh có thể xem kết quả học tập của mình

Ngoại Lệ

Tần suất sử dụng
Thường xuyên



2.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
Tên UC
Quản lý khóa học
Tác nhân
Giáo Viên
Mô tả
Giáo viên có quyền quản lý các khóa học do
minh tạo ra.
Sự 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.

Phương thức thay thế

Kết quả
Giáo viên có thể quản lý các khóa học do mình
tạo ra.
Ngoại lệ

Tần suất sử dụng
Thường xuyên

2.2.2. Thêm khóa học
Tên UC
Thêm khóa học.
Tác nhân
Giáo viên.
Mô tả
Giáo viên thêm khóa học mới.
Sự kiện kích hoạt
Giáo viên chọn button chứa đường dẫn đến trang
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.

×