TRƯỜNG ĐẠI HỌC VINH
KHOA CÔNG NGHỆ THÔNG TIN
--------------------------
BÁO CÁO
ĐỒ ÁN TỐT NGHIỆP ĐẠI HỌC
Tên đồ án:
TÌM HIỂU MƠ HÌNH MVC VÀ XÂY DỰNG ỨNG DỤNG
QUẢN LÝ KHẢO SÁT CHẤ
ƢỢNG DẠY VÀ HỌC
CỦA KHOA CÔNG NGHỆ THÔNG TIN
Nghệ An, tháng 01 năm 2016
TRƯỜNG ĐẠI HỌC VINH
KHOA CÔNG NGHỆ THÔNG TIN
--------------------------
BÁO CÁO
ĐỒ ÁN TỐT NGHIỆP ĐẠI HỌC
Tên đồ án:
TÌM HIỂU MƠ HÌNH MVC VÀ XÂY DỰNG ỨNG DỤNG
QUẢN LÝ KHẢO SÁT CHẤ
ƢỢNG DẠY VÀ HỌC
CỦA KHOA CÔNG NGHỆ THÔNG TIN
Sinh viên thực hiện:
u
– Mã sinh viên: 1151073694
Lớp: 52K2 - CNTT
Giáo viên hướng dẫn:
ThS. Nguyễn Quang Ninh
Nghệ An, tháng 01 năm 2016
LỜI CẢM Ơ
Trong suốt quãng thời gian được học tập tại khoa Cơng nghệ thơng tin, trường
Đại học Vinh, đó là sự lựa chọn sáng suốt cho con đường tương lai của bản thân.
Trong những năm tháng học tập trên giảng đường Đại học, em đã nhận được rất nhiều
sự quan tâm, giúp đỡ, chỉ bảo tận tình của quý Thầy, Cô khoa Công nghệ thông tin những kỹ sư tâm hồn, những người lái đò đưa chúng em đến bến bờ tri thức.
Với lòng biết ơn sâu sắc nhất, em xin gửi lời cảm ơn chân thành đến quý Thầy,
Cô khoa Công nghệ thông tin – Trường Đại học Vinh những người đã dành hết tri
thức, tâm huyết của mình để truyền đạt vốn kiến thức quý báu cho chúng em trong
suốt thời gian học tập tại trường.
Em xin được gửi lời cảm ơn đến lãnh đạo Nhà trường - Trường Đại học Vinh,
lãnh đạo khoa Công nghệ thông tin, đã tổ chức các buổi giao lưu giữa các doanh
nghiệp và sinh viên thực sự bổ ích, giúp chúng em có cơ hội thực tập và sau khi tốt
nghiệp chúng em được nhận vào làm việc tại Công ty FPT software Đà Nẵng.
Em cũng xin được gửi lời cảm ơn chân thành đến thầy giáo ThS. Nguyễn Quang
Ninh đã tận tâm hướng dẫn em hoàn thành đề tài đồ án tốt nghiệp này.
Đề tài đồ án này được thực hiện trong khoảng thời gian 2 tháng. Bước đầu đi vào
thức tế, tìm hiểu đề tài, do kiến thức của em còn hạn chế và còn nhiều bỡ ngỡ. Do vậy,
khơng tránh khỏi những thiếu sót, em rất mong nhận được những ý kiến đóng góp quý
báu của quý Thầy, Cô để đề tài đồ án này của em được hồn thiện hơn.
Sau cùng, em xin kính chúc q Thầy, Cô, Ban lãnh đạo khoa Công nghệ thông
tin, Ban lãnh đạo nhà trường thật dồi dào sức khỏe, niềm tin để tiếp tục thực hiện sứ
mệnh cao đẹp của mình, truyền đạt kiến thức, chèo lái con đò cập bến tương lai cho
thế hệ mai sau.
Một lần nữa em xin chân thành cảm ơn!
Tp Vinh, ngày 8 tháng 1 năm 2015
Sinh viên thực hiện
Lê Thị Thu Na
Đồ án tốt nghiệp đại học
MỤC LỤC
A.
MỞ ĐẦU ...............................................................................................................7
1. Lý do chọn đề tài ......................................................................................................7
2. Mục đích ...................................................................................................................7
3. Phần mềm và công cụ sử dụng .................................................................................7
4. Dự kiến kết quả đạt được .......................................................................................... 7
B. NỘI DUNG: ................................................................................................................8
CHƯ NG I. T M HI U M H NH MVC .....................................................................8
1. Khái niệm mơ hình MVC ............................................................................................ 8
2. Mẫu mơ hình MVC .....................................................................................................8
3. Ưu điểm và nhược điểm .............................................................................................. 9
CHƯ NG II. XÂY DỰNG ỨNG DỤNG SỬ DỤNG MƠ HÌNH MVC.....................10
1. Giới thiệu Struts - MVC............................................................................................. 10
1.1 Khái niệm .............................................................................................................10
1.2 Tiến trình hoạt động của framework Struts ......................................................... 10
1.3 Cấu trúc của Struts ............................................................................................... 11
1.4 Các thành phần chính của một ứng dụng Struts...................................................12
1.5 Các file cấu hình cần thiết để xây dựng một ứng dụng Struts ............................. 12
1.6 Ưu điểm của Struts (so với MVC không sử dụng Struts) ....................................13
1.7 Nhược điểm của Struts ......................................................................................... 13
2. Tổng quan ..................................................................................................................15
2.1 Chức năng ............................................................................................................15
2.2 Tác nhân ...............................................................................................................15
2.3 Phân tích Database ............................................................................................... 16
2.3.1 Database Diagram .......................................................................................... 16
2.3.2 Thơng tin chi tiết từng bảng...........................................................................16
2.3.2.1 Bảng khóa học ......................................................................................... 16
2.3.2.2 Bảng lớp học............................................................................................ 17
2.3.2.3 Bảng người dùng .....................................................................................17
2.3.2.4 Bảng giảng viên ....................................................................................... 18
2.3.2.5 Bảng môn học .......................................................................................... 18
2.3.2.6 Bảng giảng dạy ........................................................................................ 18
2.3.2.7 Bảng phiếu khảo sát ................................................................................19
2.3.2.8 Bảng loại phiếu ........................................................................................ 20
3
Lê Th Thu Na – Lớp 52K2 – Khoa Công nghệ thông tin
Đồ án tốt nghiệp đại học
2.3.2.9 Bảng nội dung ......................................................................................... 20
2.3.2.10 Bảng chi tiết nội dung ...........................................................................21
2.3.2.11 Bảng nội dung con .................................................................................21
2.3.2.12 Bảng kết quả .......................................................................................... 22
2.3.2.13 Bảng chi tiết kết quả ..............................................................................22
2.3.2.14 Bảng góp ý............................................................................................. 23
2.3.2.15 Bảng đăng ký học phần .........................................................................23
2.3.2.16 Bảng chi tiết đăng ký học phần ............................................................. 23
2.4 Sơ đồ chức năng hệ thống (Use Case) .................................................................24
2.4.1 Sơ đồ tổng thể ................................................................................................ 24
2.4.2 Sơ đồ từng chức năng ....................................................................................25
2.4.2.1 Quản lý Người dùng ................................................................................25
2.4.2.2 Quản lý Khóa học ....................................................................................25
2.4.2.3 Quản lý Giảng viên .................................................................................26
2.4.2.4 Quản lý Môn học .....................................................................................26
2.4.2.5 Quản lý Lớp học ...................................................................................... 27
2.4.2.6 Quản lý Giảng dạy...................................................................................27
2.4.2.7 Quản lý Loại phiếu ..................................................................................28
2.4.2.8 Quản lý Phiếu .......................................................................................... 28
2.4.2.9 Quản lý Kết quả....................................................................................... 29
2.4.2.10 Quản lý Góp ý ....................................................................................... 29
2.4.2.11 Thay đổi thơng tin cá nhân ....................................................................29
2.5 Thiết kế Giao diện - Mô tả chức năng .................................................................30
2.5.1 Đăng nhập ......................................................................................................30
2.5.2 Quản lý Người dùng ...................................................................................... 31
2.5.2.1 Danh sách ................................................................................................ 31
2.5.2.2 Thêm Người dùng mới ............................................................................33
2.5.2.3 Cập nhật thơng tin Người dùng ............................................................... 37
2.5.2.4 Xóa Người dùng ...................................................................................... 40
2.5.2.5 Thay đổi mật khẩu ...................................................................................41
2.5.3 Quản lý Khóa học .......................................................................................... 43
2.5.3.1 Danh sách ................................................................................................ 43
2.5.3.2 Thêm Khóa học mới ................................................................................45
2.5.3.3 Cập nhật thơng tin Khóa học ...................................................................46
2.5.3.4 Xóa Khóa học .......................................................................................... 48
4
Lê Th Thu Na – Lớp 52K2 – Khoa Công nghệ thông tin
Đồ án tốt nghiệp đại học
2.5.4 Quản lý Giảng viên ........................................................................................ 48
2.5.4.1 Danh sách ................................................................................................ 48
2.5.4.2 Thêm Giảng viên mới..............................................................................50
2.5.4.3 Cập nhật thơng tin Giảng viên.................................................................52
2.5.4.4 Xóa Giảng viên ........................................................................................ 53
2.5.5 Quản lý Lớp học ............................................................................................ 54
2.5.5.1 Danh sách ................................................................................................ 54
2.5.5.2 Thêm Lớp học mới ..................................................................................56
2.5.5.3 Cập nhật thông tin Lớp học .....................................................................57
2.5.5.4 Xóa Lớp học ............................................................................................ 58
2.5.6 Quản lý Môn học ........................................................................................... 59
2.5.6.1 Danh sách ................................................................................................ 59
2.5.6.2 Thêm Môn học mới .................................................................................61
2.5.6.3 Cập nhật thông tin Môn học ....................................................................63
2.5.6.4 Xóa Mơn học ........................................................................................... 65
2.5.7 Quản lý Giảng dạy ......................................................................................... 65
2.5.7.1 Danh sách ................................................................................................ 65
2.5.7.2 Thêm Giảng dạy ...................................................................................... 67
2.5.7.3 Cập nhật thơng tin Giảng dạy..................................................................69
2.5.7.4 Xóa Giảng dạy ........................................................................................ 70
2.5.8 Quản lý Loại phiếu ........................................................................................ 71
2.5.8.1 Danh sách ................................................................................................ 71
2.5.8.2 Cập nhật thông tin Loại phiếu .................................................................72
2.5.9 Quản lý Phiếu khảo sát ..................................................................................74
2.5.9.1 Danh sách ................................................................................................ 74
2.5.9.2 Thêm Phiếu mới ...................................................................................... 76
2.5.9.3 Cập nhật thơng tin Phiếu .........................................................................78
2.5.9.4 Xóa Phiếu ................................................................................................ 81
2.5.9.5 Quản lý Nội dung ....................................................................................81
2.5.9.5.1 Danh sách .......................................................................................... 81
2.5.9.5.2 Thêm nội dung mới ...........................................................................82
2.5.9.5.3 Cập nhật thông tin Nội dung ............................................................. 85
2.5.9.5.4 Xóa Nội dung ....................................................................................86
2.5.9.5.5 Thêm Chi tiết Nội dung ....................................................................86
2.5.9.5.6 Cập nhật thông tin Chi tiết Nội dung ................................................88
5
Lê Th Thu Na – Lớp 52K2 – Khoa Công nghệ thông tin
Đồ án tốt nghiệp đại học
2.5.9.5.7 Xóa Chi tiết Nội dung .......................................................................89
2.5.9.5.8 Thêm Nội dung Con..........................................................................89
2.5.9.5.9 Cập nhật thông tin Nội dung Con .....................................................91
2.5.9.5.10 Xóa Nội dung Con ..........................................................................92
2.5. .6 Thống kê phiếu khảo sát..........................................................................93
2.5.10 Quản lý Kết quả ........................................................................................... 94
2.5.10.1 Danh sách .............................................................................................. 94
2.5.10.2 Chi tiết kết quả ...................................................................................... 96
2.5.10.3 Xóa Kết quả ........................................................................................... 97
2.5.11 Quản lý Góp ý .............................................................................................. 97
2.5.11.1 Danh sách .............................................................................................. 97
2.5.11.2 Xóa Góp ý ............................................................................................. 98
2.5.12 Giao diện Trang chủ front-end) ................................................................100
2.5.12.1 Trang chủ .............................................................................................100
2.5.12.2 Cá nhân ................................................................................................101
2.5.12.2.1 Thông tin cá nhân..........................................................................101
2.5.12.2.2 Đăng ký học phần .........................................................................101
2.5.12.3 Khảo sát ...............................................................................................102
2.5.12.3 Xem kết quả.........................................................................................107
2.5.12.4 Góp ý ...................................................................................................108
2.5.12.5 Liên hệ .................................................................................................109
III. Kết luận..................................................................................................................109
IV. Tài liệu tham khảo .................................................................................................110
6
Lê Th Thu Na – Lớp 52K2 – Khoa Công nghệ thông tin
Đồ án tốt nghiệp đại học
A. MỞ ĐẦ
1. Lý do chọn đề tài
Hiện nay, vấn đề xây dựng website khảo sát dạy và học cho khoa CNTT cũng là
một vấn đề cần thiết vì:
+ Tính tiện lợi: có thể khảo sát từ xa thông qua internet.
+ Quản lý thông tin: chuyên nghiệp, quản lý, thống kê dễ dàng, tránh mất mát dữ
liệu thay vì lưu trữ thơng qua giấy tờ.
Website sử dụng mơ hình MVC (Model - View - Controller) là một kiến trúc
phần mềm hay mơ hình thiết kế được sử dụng trong kỹ thuật phần mềm. Nó giúp cho
các developer tách ứng dụng của họ ra 3 thành phần khác nhau Model, View và
Controller. Mỗi thành phần có một nhiệm vụ riêng biệt và độc lập với các thành phần
khác. Do đó việc áp dụng mơ hình này vào dự án là hợp lý nhất.
2. Mục đíc
Hiểu được mơ hình MVC: khái niệm, các thành phần cấu tạo, luồng làm việc và
ưu nhược điểm của mơ hình.
Xây dựng được ứng dụng Quản lý khảo sát kết quả dạy và học của khoa CNTT
dựa trên mơ hình MVC.
3. Phần mềm và cơng cụ sử dụng
- Eclipse.
- SQL Server.
- Trình duyệt: Chrome, Cốc cốc, FireFox, …
- Sử dụng mơ hình MVC (Model-View-Controller).
- Framework Struts 1.
4. Dự kiến kết quả đạt đƣợc
Hiểu được mơ hình MVC là gì, cơng dụng ưu và nhược điểm), cách thức hoạt
động và nhiệm vụ giữa các thành phần với nhau. Xây dựng được ứng dụng “Quản lý
khảo sát chất lượng dạy và học của khoa CNTT” thơng qua mơ hình MVC.
7
Lê Th Thu Na – Lớp 52K2 – Khoa Công nghệ thông tin
Đồ án tốt nghiệp đại học
B. ỘI D
G:
C ƢƠ G I.
M
IỂ M
MVC
1. Khái niệm mơ hình MVC
MVC là Design Pattern mẫu thiết kế) được áp dụng rộng rãi trên hầu hết các
ngơn ngữ lập trình hướng đối tượng hiện nay từ Java, C#, PHP, Visual C++….
Model – View – Controller (MVC) là một mẫu thiết kế nhằm mục đích chia tách
phần giao diện và Code để dễ quản lý, phát triển và bảo trì. MVC chia ứng dụng phần
mềm ra làm 3 phần có tương tác với nhau là Model (dữ liệu), View (giao diện),
Controller (Code điều khiển tương tác giữa Model và View cũng như nghiệp vụ
Business).
2. Mẫu mô hình MVC
Trong đó:
- Model là lớp chứa thơng tin đối tượng (Dữ liệu), tương tác với Database. Chịu
trách nhiệm chính trong mơ hình hóa đối tượng.
8
Lê Th Thu Na – Lớp 52K2 – Khoa Công nghệ thông tin
Đồ án tốt nghiệp đại học
- View là giao diện của hệ thống tương tác trực tiếp với người dùng.
- Controller nhận yêu cầu từ người dùng và sử dụng Model và View để xử lý và
trả kết quả cho người dùng.
3. Ƣu điểm và n ƣợc điểm
- Ưu điểm:
+ Hệ thống phân ra từng thành phần nên dễ dàng phát triển.
+ Chia thành nhiều modul nhỏ nên nhiều người có thể làm chung dự án.
+ Bảo trì, nâng cấp dễ dàng.
+ Dễ debug trong q trình xây dựng.
+ Thích hợp với các dự án quy mô lớn.
- Nhược điểm:
+ Xây dựng cầu kỳ, mất thời gian để xây dựng thư viện cấu trúc.
+ Đối với dự án nhỏ việc áp dụng mơ hình MVC gây cồng kềnh, tốn thời gian
trong quá trình phát triển. Tốn thời gian trung chuyển dữ liệu của các tầng
9
Lê Th Thu Na – Lớp 52K2 – Khoa Công nghệ thông tin
Đồ án tốt nghiệp đại học
C ƢƠ G II. XÂY DỰNG ỨNG DỤNG SỬ DỤNG MƠ HÌNH MVC
1. Giới thiệu Struts - MVC
1.1 Khái niệm
Struts là một MVC Framework: Struts cung cấp một framework thống nhất để
triển khai các ứng dụng Servlet và JSP sử dụng kiến trúc MVC.
Struts là một tập các tiện ích (Utilities): Struts cung cấp các lớp tiện ích để điều
khiển hầu hết các tác vụ trong việc phát triển các ứng dụng Web.
Struts là một tập thư viện các thẻ JSP tùy chọn: Struts cung cấp các thư viện thẻ
tùy chọn cho việc thể hiện các thuộc tính của bean, quản lý các HTML forms, lặp lại
các kiểu cấu trúc dữ liệu, và đưa ra các HTML có điều kiện.
Struts thực thi mơ hình MVC.
1.2 Tiến trình hoạt động của framework Struts
Mơ hình Struts Framework thực thi mơ hình MVC bằng cách sử dụng tập hợp các
thẻ JSP, các thẻ tùy chọn JSP, và các java servlet. Dưới đây là mô tả ngắn gọn cách mà
Struts Framework ánh xạ đến mỗi thành phần trong mô hình MVC.
Hình trên mơ tả tiến trình mà hầu hết các ứng dụng Struts phải tn theo.
Tiến trình này có thể được chia thành 5 bước căn bản:
1. Request được tạo ra từ một View.
10
Lê Th Thu Na – Lớp 52K2 – Khoa Công nghệ thông tin
Đồ án tốt nghiệp đại học
2. Request được tiếp nhận bởi một ActionServlet đóng vai trị là controller), và
ActionServlet này sẽ tìm kiếm URL cần thiết trong file xml và xác định tên của lớp
Action sẽ thực hiện và các nghiệp vụ logic cần thiết.
3. Lớp Action thực hiện các nghiệp vụ logic của nó trong các thành phần Model
kết hợp với ứng dụng.
4. Khi Action hồn tất tiến trình xử lý của nó, nó sẽ trả điều khiển cho
ActionServlet. Là một thành phần của thành phần trả về, lớp Action cung cấp một
khóa xác định kết quả của tiến trình xử lý nó. ActionServlet sử dụng khóa này để xác
định kết quả sẽ được forward đến đâu để trình diễn ra ngoài.
5. Yêu cầu được hoàn tất khi ActionServlet đáp ứng nó bằng cách forward yêu cầu
đó đến một View được liên kết đến để trả về khóa đã đề cập ở trên bước 4, và View sẽ
trình diễn kết quả của Action.
1.3 Cấu trúc của Struts
Cấu trúc của Struts 1.0
Một hoặc nhiều Action, mỗi action trong trang web sẽ ánh xạ chính xác đến một
thành phần <action> được định nghĩa trong file struts-config.xml. Action được gọi bởi
người dùng từ một trang HTML hoặc JSP thông qua một liên kết hay thơng qua thuộc
tính action trong thẻ <form>.
Một thành phần <action> sẽ định nghĩa một lớp ActionForm, trong một số trường
11
Lê Th Thu Na – Lớp 52K2 – Khoa Công nghệ thông tin
Đồ án tốt nghiệp đại học
hợp, nó sẽ được sử dụng để validate các dữ liệu trong form được submit bởi người sử
dụng, nó cũng định nghĩa lớp Action nào sẽ được sử dụng để xử lý các yêu cầu từ phía
người dùng.
Một lớp ActionForm có thể sử dụng một hoặc nhiều forward được định nghĩa
trong thẻ <action> để nói cho một ActionSevlet trả về các response tương ứng và các
request của người dùng. Chúng ta có thể định nghĩa nhiều forward trong thẻ <actionmapping>.
1.4 Các thành phần chính của một ứng dụng Struts
ActionServlet: đóng vai trị như là một controller trong mơ hình MVC hay nó là
sự thực thi controller của Struts đối với mơ hình MVC. ActionServlet lấy về các
request từ phía người dùng và ánh xạ chúng đến thành phần <action> trong file strutsconfig.xml.
Action: định nghĩa một tác vụ có thể được gọi bởi người dùng. Nó cũng định
nghĩa lớp sẽ xử lý các request từ phía người dùng và trang JSP sẽ hiển thị kết quả về
cho người sử dụng.
Lớp Action: chứa toàn bộ những xử lý cho các yêu cầu của người dùng
ActionForm: đi kèm với thẻ <action> trong file struts-config.xml, nó quản lý tồn
bộ các dữ liệu được submit lên từ phía người dùng và có thể thực hiện validate các dữ
liệu đó.
Trang JSP: được sử dụng để trả về trang HTML để thể hiện kết quả đã được xử lý
cho người dùng.
1.5 Các file cấu hình cần thiết để xây dựng một ứng dụng Struts
Web.xml: file này chứa tồn bộ các cấu hình của ActionServlet, các sự ánh xạ
của các yêu cầu từ phía người dùng đến ActionSevlet và Struts Tag Library
Definitions (TLDs).
Struts-config.xml: file này chứa tất cả các thơng tin cấu hình cho một ứng dụng
xây dựng dựa trên Struts..
ApplicationResources.propreties: file này trung tâm chứa các nội dung tĩnh được
sử dụng trong tồn bộ ứng dụng của Struts. Nó cho phép các nhà phát triển dễ dàng
thay đổi nội dung các text và các nội dung dùng chung sử dụng trong ứng dụng.
12
Lê Th Thu Na – Lớp 52K2 – Khoa Công nghệ thông tin
Đồ án tốt nghiệp đại học
Các thư viện thẻ Struts để xây dựng các thành phần trình diễn trong một ứng
dụng:
+ <template>: cung cấp cho nhà phát triển ứng dụng một tập các thẻ JSP để chia
nhỏ giao diện người dùng thành các thành phần có thể dễ dàng tháo lắp.
+ <bean>: cung cấp cho nhà phát triển ứng dụng một tập các thẻ JSP để quản lý
đầu ra từ một JavaBean.
+ <logic>: có thể được sử dụng để ứng dụng các điều kiện logic trong một trang
JSP.
+ <html>: có thể sử dụng để tạo ra các thành phần form.
1.6 Ƣu điểm của Struts (so với MVC không sử dụng Struts)
Struts 2 được xây dựng và phát triển dựa trên nền tảng mơ hình MVC nên nó
thừa hưởng được đầy đủ các ưu điểm mà mơ hình MVC đem lại.
Dễ dàng tùy chỉnh (customize) chu kỳ xử lý (request lifecycles ) cho từng action.
Tự động chuyển đổi kiểu dữ liệu chuỗi truyền thống trong tham số request
parameter thành các đối tượng lớp dữ liệu java => tiết kiệm được thời gian và cơng
sức cho các lập trình viên.
Cung cấp các thẻ tag,các themes và templates giúp cho việc làm giao diện GUI
trở nên dễ dàng,nhanh lẹ và tăng tính tái sử dụng.
Tính mở rộng (Extensibility) cao thơng qua việc hỗ trợ các plug-in.
Hỗ trợ portal.
Hỗ trợ AJAX
Cấu hình được tập trung dựa vào file:
Thay vì viết hàng loạt những thơng tin vào chương trình java, hầu hết những giá
trị Struts được thể hiện trong file .xml và file property. Phương pháp này cho phép
người lập trình Web và Java chỉ chú tâm vào phần công việc cụ thể của họ cài đặt
business logic, hiển thị những giá trị cụ thể cho clients, etc) mà không cần quan tâm về
tổng thể hệ thống.
1.7
ƣợc điểm của Struts
Để sử dụng MVC với chuẩn RequestDispatcher, ta cần nghiên cứu sâu với chuẩn
JSP và Servlet APIs. Để sử dụng MVC với Struts, ta còn phải hiểu rõ cả framework
13
Lê Th Thu Na – Lớp 52K2 – Khoa Công nghệ thông tin
Đồ án tốt nghiệp đại học
rộng lớn và phức tạp, nó tương tự như việc tìm hiểu cả cái cốt lõi của hệ thống. Điều
bất lợi này đặc biệt đáng kể với những dự án nhỏ, những dự án ít có thời gian để thực
hiện, và những lập trình viên có ít kinh nghiệm; ta mất rất nhiều thời gian trong việc
nghiên cứu Struts khi thực hiện đề án.
Ít có tài liệu hỗ trợ: So sánh với chuẩn servlet và JSP APIs, Struts có ít tài liệu hỗ
trợ hơn nhiều.
Less transparent: Với những ứng dụng Struts, có nhiều lỗi bên dưới hơn những
ứng dụng Web dựa trên ngôn ngữ Java bình thường. Vì thế ứng dụng Struts:
+ Khó tìm hiểu.
+ Khó chuẩn hóa và đánh giá.
14
Lê Th Thu Na – Lớp 52K2 – Khoa Công nghệ thông tin
Đồ án tốt nghiệp đại học
2. Tổng quan
2.1 Chức năng
2.2 Tác nhân
Dưới đây là danh sách các tác nhân chính tác động lên hệ thống:
Actor
Description
Admin
Có tất cả các quyền xem, thêm mới, cập nhật và xóa dữ liệu
trong tất cả chức năng.
Sinh viên
Chỉ có thể sử dụng được các chức năng ngoài front-end của
website.
15
Lê Th Thu Na – Lớp 52K2 – Khoa Công nghệ thông tin
Đồ án tốt nghiệp đại học
2.3 Phân tích Database
2.3.1 Database Diagram
2.3.2 Thơng tin chi tiết từng bảng
2.3.2.1 Bảng khóa học
Bảng
rƣờng
Kiểu dữ liệu
Mơ tả
KhoaHoc
MaKhoa
int
Mã định danh khóa học
dùng để lưu thơng
tin các khóa học.
TenKhoa
nvarchar(MAX)
Tên khóa
vd: K52, K53, K54, ...
16
Lê Th Thu Na – Lớp 52K2 – Khoa Công nghệ thông tin
Đồ án tốt nghiệp đại học
2.3.2.2 Bảng lớp học
rƣờng
Tên bảng
Kiểu dữ liệu
Mô tả
Lop
MaLop
int
Mã định danh lớp học
dùng để lưu thông
tin các lớp học.
Ten
nvarchar(MAX)
Tên lớp học
Vd: 52K2, 52K3, …
MaKhoa
int
Xác định lớp thuộc khóa
học nào
vd: Khóa K52 có lớp
52K1,52K2, 52K3, ...
2.3.2.3 Bảng ngƣời dùng
Tên bảng
rƣờng
Kiểu dữ liệu
Mô tả
NguoiDung
MaND
int
Mã định danh
dùng để lưu thông
HoTen
nvarchar(MAX)
Họ tên
DiaChi
nvarchar(MAX)
Địa chỉ
NgaySinh
date
Ngày sinh
MaDN
nvarchar(MAX)
Mã đăng nhập (tài khoản):
không được trùng nhau
tin người dùng.
(là mã số sinh viên)
MatKhau
nvarchar(MAX)
Mật khẩu
MaLop
int
Mã xác định SV thuộc lớp
nào?
Có thể NULL nếu người
dùng là admin (xác định bởi
trường LoaiND)
TrangThai
int
Trạng thái tài khoản
0: đăng xuất
1: đang đăng nhập
LoaiND
int
Phân loại người dùng
0: sinh viên
1: admin- quản trị
17
Lê Th Thu Na – Lớp 52K2 – Khoa Công nghệ thông tin
Đồ án tốt nghiệp đại học
2.3.2.4 Bảng giảng viên
rƣờng
Tên bảng
GiangVien
MaGV
dùng để lưu thông MaDD
tin các giảng viên.
HoTen
Kiểu dữ liệu
Mô tả
int
Mã định danh (tự động tăng)
nvarchar(MAX)
Mã giảng viên
nvarchar(MAX)
Họ và tên giảng viên
2.3.2.5 Bảng môn học
rƣờng
Tên bảng
Kiểu dữ liệu
Mô tả
MonHoc
MaMH
int
Mã môn học
Dùng để lưu
thơng tin các mơn
học
Ten
nvarchar(MAX)
Tên mơn học
SoTC
int
Số tín chỉ
LoaiMH
bit
Loại mơn học
0: tự chọn
1: bắt buộc
TrangThai
int
Trạng thái
0: không mở
1: mở
2.3.2.6 Bảng giảng dạy
Tên bảng
GiangDay
rƣờng
Kiểu dữ liệu
Mô tả
MaGD
int
Mã Giảng dạy
MaGV
int
Mã Giảng viên sẽ dạy
MaMH
int
Mã Môn học sẽ dạy
MaLop
int
Mã lớp sẽ dạy
TrangThai
bit
Trạng thái giảng dạy
0: không mở
1: mở
18
Lê Th Thu Na – Lớp 52K2 – Khoa Công nghệ thông tin
Đồ án tốt nghiệp đại học
2.3.2.7 Bảng phiếu khảo sát
Tên bảng
rƣờng
Kiểu dữ liệu
Mô tả
int
Mã phiếu khảo sát
TieuDe
nvarchar(MAX)
Tiêu đề
MaGV
int
Mã Giảng viên
PhieuDanhGia MaDG
Nhằm để biết được sẽ khảo
sát cho giáo viên nào
MaKhoa
int
Mã Khóa học
Nhằm để biết được sẽ khảo
sát cho khóa học nào
MaGD
int
Mã giảng dạy
Nhằm để biết được sẽ khảo
sát cho : mơn học nào, giáo
viên nào, học kỳ và niên
khóa nào
ThoiGianDang
datetime
Thời gian đăng
TrangThai
int
Trạng thái:
0: không cho hiển thị
1: cho phép hiển thi
19
Lê Th Thu Na – Lớp 52K2 – Khoa Công nghệ thông tin
Đồ án tốt nghiệp đại học
HocKy
int
Học kỳ
Giá trị: 1->3(có thể có học
kỳ hè)
LoaiP
int
Loại phiếu khảo sát
MaNguoiTao
int
Người tạo phiếu
nienKhoa
nvarchar(MAX)
Năm học
2.3.2.8 Bảng loại phiếu
rƣờng
Tên bảng
LoaiPhieu
Kiểu dữ liệu
Mô tả
LoaiP
int
Mã loại phiếu khảo sát
Ten
nvarchar(MAX)
Tên loại phiếu khảo sát
(Giảng viên, mơn học, khóa
học, …)
TrangThai
bit
0: khơng hiển thị
1: hiển thị
2.3.2.9 Bảng nội dung
Tên bảng
rƣờng
Kiểu dữ liệu
Mô tả
NoiDung
MaNDu
int
Mã nội dung
Mỗi nội dung
tương ứng với
mỗi mục I, II,
III, IV trong 1
phiếu khảo sát
và sẽ dựa vào vị
trí mà đánh số
MaDG
nvarchar(MAX)
Mã khảo sát để biết nội dung
này thuộc Phiếu khảo sát
nào
TieuDe
int
Tiêu đề
ViTri
int
Vị trí nội dung trên phiếu
20
Lê Th Thu Na – Lớp 52K2 – Khoa Công nghệ thông tin
Đồ án tốt nghiệp đại học
2.3.2.10 Bảng chi tiết nội dung
Tên bảng
rƣờng
Kiểu dữ liệu
Mô tả
ChiTietNoiDung
MaCT
int
Mã chi tiết nội dung
Mỗi chi tiết là 1
MaNDu
int
Mã nội dung để xác định chi
thành phần trong
nội dung.
Tương ứng như
tiêu đề mỗi dòng
tiết này thuộc nội dung nào
MoTa
nvarchar(MAX)
Tiêu đề - mô tả chi tiết
LoaiCT
int
Loại chi tiết
0: radio
1: checkbox
2: textarea
Mục đích là để xác định sẽ
lưu những gì vào nội dung
kết quả (KetQuaDG của
bảng ChiTietKetQua)
2.3.2.11 Bảng nội dung con
Mỗi 1 ơ vng tưng ứng 1 dịng nội dung con trong bảng NoiDungCon
Và thông qua MaCT để biết được nó thuộc dịng ChiTietNoiDung nào
21
Lê Th Thu Na – Lớp 52K2 – Khoa Công nghệ thông tin
Đồ án tốt nghiệp đại học
rƣờng
Tên bảng
Kiểu dữ liệu
Mô tả
NoiDungCon
MaNDC
int
Mã nội dung con
Tương ứng các
MaCT
int
Mã chi tiết nội dung
xác định xem nội dung con
thành phần (cột,
dòng) của 1 chi
tiết nội dung
này thuộc nội dung(mục)
nào trong phiếu khảo sát.
TieuDe
nvarchar(MAX)
Tiêu đề nội dung con
2.3.2.12 Bảng kết quả
Tên bảng
rƣờng
Kiểu dữ liệu
Mô tả
KetQua
MaKQ
int
Mã kết quả
Lưu thông tin 1
phiếu kết quả
MaDG
int
Mã phiếu khảo sát
MaND
int
Mã người dùng
ThoiGian
datetime
Thời gian gửi phiếu kết quả
2.3.2.13 Bảng chi tiết kết quả
Tên bảng
rƣờng
Kiểu dữ liệu
Mô tả
ChiTietKetQua
MaCTKQ
int
Lưu nội dung
khảo sát, ý kiến
của người dùng
Mã định danh chi tiết kết
quả khảo sát
MaKQ
int
Mã kết quả
MaCT
int
Mã chi tiết nhằm xác định
chi tiết nào được khảo sát
Từ mã này ta có thể lấy
được thơng tin Nội dung
được khảo sát
KetQuaDG
nvarchar(MAX)
Nội dung khảo sát của người
dùng
22
Lê Th Thu Na – Lớp 52K2 – Khoa Công nghệ thông tin
Đồ án tốt nghiệp đại học
2.3.2.14 Bảng góp ý
Tên bảng
rƣờng
Kiểu dữ liệu
Mơ tả
MaGY
int
Mã định danh phiếu góp ý
Lưu các phiếu
MaND
góp ý, ý kiến của
người dùng
TieuDe
int
Mã người dùng. Xác định
GopY
người nào gửi
nvarchar(MAX)
Tiêu đề
NoiDung
nvarchar(MAX)
Nội dung góp ý
ThoiGian
datetime
Thời gian gửi
2.3.2.15 Bảng đăng ký ọc phần
Tên bảng
rƣờng
Kiểu dữ liệu
Mô tả
DangKyHocPhan
MaDK
int
Lưu danh sách các
đăng ký học phần
của sinh viên
Mã định danh phiếu đăng ký
học phần
MaND
int
Mã người dùng. Xác định
phiếu của người nào
2.3.2.16 Bảng chi tiết đăng ký ọc phần
Tên bảng
rƣờng
ChiTietDKHP
MaCTDK
int
Lưu các môn học
mà sinh viên đã
đăng ký
Mã định danh chi tiết phiếu
đăng ký học phần
MaGD
int
Mã giảng dạy. Xác định
môn học được đăng ký
MaDK
int
Mã phiếu đăng ký học phần.
Xác định chi tiết này là của
phiếu nào
NgayGio
datetime
Ngày giờ đăng ký
TrangThai
bit
Học phần có đang được mở
hay khơng
Kiểu dữ liệu
Mô tả
23
Lê Th Thu Na – Lớp 52K2 – Khoa Công nghệ thông tin
Đồ án tốt nghiệp đại học
2.4 Sơ đồ chức năng ệ thống (Use Case)
Đây là các sơ đồ use case về việc xây dựng 1 wesite khảo sát chất lượng dạy và
học online, nó được dùng để mơ tả chức năng của hệ thống và tương tác giữa chúng
với người dùng:
2.4.1 Sơ đồ tổng thể
24
Lê Th Thu Na – Lớp 52K2 – Khoa Công nghệ thông tin