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

Tìm hiểu mô hình mvc và xây dựng ứng dụng quản lý khảo sát chất lượng dạy và học của khoa công nghệ thông tin

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 (3.29 MB, 111 trang )

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


×