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

Xây dựng hệ thống thông tin hỗ trợ tuyển sinh đại học 2015 của trường đại học nha trang

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.21 MB, 104 trang )

BỘ GIÁO DỤC VÀ ĐÀO TẠO

TRƢỜNG ĐẠI HỌC NHA TRANG
KHOA CÔNG NGHỆ THÔNG TIN

BÁO CÁO ĐỒ ÁN TỐT NGHIỆP

XÂY DỰNG HỆ THỐNG THÔNG TIN
HỖ TRỢ TUYỂN SINH ĐẠI HỌC 2015
CỦA TRƢỜNG ĐẠI HỌC NHA TRANG

Giáo viên hƣớng dẫn: ThS. Nguyễn Đình Hƣng
Sinh viên thực hiện: Bùi Thị Thu Trang
Lớp:

53 CNTT

MSSV:

53131806

Tháng 6 2015


BỘ GIÁO DỤC VÀ ĐÀO TẠO

TRƢỜNG ĐẠI HỌC NHA TRANG
KHOA CÔNG NGHỆ THÔNG TIN

BÁO CÁO ĐỒ ÁN TỐT NGHIỆP


XÂY DỰNG HỆ THỐNG THÔNG TIN
HỖ TRỢ TUYỂN SINH ĐẠI HỌC 2015
CỦA TRƢỜNG ĐẠI HỌC NHA TRANG

Giáo viên hƣớng dẫn: ThS. Nguyễn Đình Hƣng
Sinh viên thực hiện: Bùi Thị Thu Trang
Lớp:

53 CNTT

MSSV:

53131806

Tháng 6/2015


NHẬN XÉT KẾT QUẢ THỰC TẬP
Họ và tên sinh viên: . ...........................................................................................................
Mã số sinh viên: …………………… Lớp ……………… Hệ: ........................................
Khoa Công nghệ Thông tin, Trường Đại học Nha Trang.
Nội dung thực tập: ..............................................................................................................
..............................................................................................................................................
..............................................................................................................................................
..............................................................................................................................................
..............................................................................................................................................
..............................................................................................................................................
..............................................................................................................................................
Đánh giá kết quả thực tập: ...................................................................................................
..............................................................................................................................................

..............................................................................................................................................
..............................................................................................................................................
..............................................................................................................................................
..............................................................................................................................................
..............................................................................................................................................
..............................................................................................................................................
..............................................................................................................................................
..............................................................................................................................................

………………… ngày …. tháng … năm ……
Giáo viên hướng dẫn


LỜI NÓI ĐẦU
Ngày nay, cùng với sự phát triển nhanh chóng của mạng Internet, mọi lĩnh vực
trong xã hội đều có thể tìm thấy khi vào google.com. Sau khi bạn gõ các từ khóa tìm
kiếm và enter, Google sẽ trả về cho bạn danh sách kết quả tìm kiếm (nếu có) dưới
dạng các website. Bấm vào các website đó bạn có thể sẽ tìm được thông tin mà mình
muốn. Để tạo nên những trang web cung cấp thông tin cho người dùng với giao diện
trực quan, thân thiện, tốc độ xử lý nhanh chóng…các nhà phát triển web hay người lập
trình viên phải sử dụng các công nghệ viết web chuyên nghiệp. Một trong số những
công nghệ web mạnh mẽ nhất hiện nay là ASP.NET MVC của Microsoft.
Cũng như các lĩnh vực khác, các cổng thông tin điện tử trong lĩnh vực giáo dục
và đào tạo cũng được phát triển nhanh chóng cả về số lượng và chất lượng. Từ các
trường trung học phổ thông, các trung tâm đào tạo nghề, các trường cao đẳng, đại học
cho đến các sở, các ban ngành… đều có website riêng của mình.
Nhằm phục vụ cho các công tác quản lý của nhà trường cũng như giúp sinh viên
thuận tiện hơn quá trình theo học tại trường, trường Đại học Nha Trang đã có hệ thống
website với đầy đủ các chức năng cho các phòng, các khoa giúp đơn giản hóa các công
việc của đội ngũ công nhân viên, giảng viên của nhà trường. Bên cạnh đó sinh viên

cũng chủ động hơn trong việc đăng ký/hủy môn học, theo dõi lịch học, lịch thi, xem
điểm…và cập nhật thông tin mới một cách nhanh chóng qua các thông báo trên trang
web của khoa, của trường.
Năm 2015 với sự thay đổi trong phương thức thi tuyển sinh đại học và thi tốt
nghiệp trung học phổ thông (THPT) của Bộ Giáo Dục và Đào Tạo, trường Đại học
Nha Trang xét tuyển hồ sơ thí sinh vào học tại trường dựa trên kết quả kỳ thi THPT
quốc gia. Để tạo điều kiện thuận tiện nhất cho thí sinh, một hệ thống thông tin hỗ trợ
tuyển sinh đại học 2015 là cần thiết giúp thí sinh dễ dàng tiếp cận với những thông tin
tuyển sinh mới nhất của nhà trường, chủ động hơn trong việc đăng ký xét tuyển cũng
như theo dõi kết quả xét tuyển.
- Hệ thống thông tin hỗ trợ tuyển sinh có những chức năng nào?
- Hệ thống cho phép thí sinh được làm gì?
- Thí sinh có lợi ích gì khi sử dụng hệ thống này?
- Hệ thống có giúp giảm bớt các công việc Ban Tuyển Sinh phải làm hay không?
- Giao diện có trực quan, rõ ràng, dễ dùng hay rối rắm, phức tạp?....
Trong phạm vi của bài báo cáo này sẽ trình bày các kỹ thuật được sử dụng để xây
dựng hệ thống thông tin hỗ trợ tuyển sinh đại học 2015 trong môi trường cài đặt là
ASP.NET MVC4 và trả lời cho những câu hỏi phía trên về chức năng của hệ thống.


Nội dung báo cáo đồ án gồm:
Chương 1: Tổng quan cơ sở lý thuyết
Chương 2: Phân tích thiết kế và cài đặt hệ thống thông tin hỗ trợ tuyển sinh đại
học 2015 của trường Đại học Nha Trang
Chương 3: Giao diện của hệ thống thông tin hỗ trợ tuyển sinh đại học 2015 của
trường Đại học Nha Trang
Chương 4: Kết luận và hướng phát triển
Cuối cùng, để có thể hoàn thành báo cáo đồ án đúng thời hạn và xây dựng được
chương trình ứng dụng là hệ thống thông tin hỗ trợ tuyển sinh đại học 2015 của trường
Đại học Nha Trang em xin chân thành cảm ơn thầy Nguyễn Đình Hưng đã tận tình

giúp đỡ, hướng dẫn chi tiết, động viên em. Đồng thời em xin cảm ơn các thầy cô trong
khoa công nghệ thông tin Đại Học Nha Trang đã giảng dạy, giúp đỡ em trong suốt
khoảng thời gian theo học tại trường, cảm ơn sự giúp đỡ nhiệt tình của các bạn học.
Nha Trang, ngày 20 tháng 6 năm 2015
Sinh viên thực hiện
Bùi Thị Thu Trang


MỤC LỤC
Lời nói đầu
CHƢƠNG 1: TỔNG QUAN CƠ SƠ LÝ THUYẾT ....................................................1
1.1

Giới thiệu ASP.NET MVC ................................................................................1

1.1.1 Nguồn gốc ASP.NET MVC ..........................................................................1
1.1.2 Mô hình MVC ...............................................................................................2
1.1.3 Cấu trúc thư mục mặc định của 1 project ASP.NET MVC .........................4
1.2

ASP.NET MVC4 ...............................................................................................5

1.2.1 ASP.NET MVC4 là gì? .................................................................................5
1.2.2 Tại sao nên lựa chon ASP.NET MVC4 là môi trường cài đặt ứng dụng? ....5
1.2.3 Models trong ASP.NET MVC4 ....................................................................7
1.2.4 Controllers và Action ..................................................................................10
1.2.5 Views ...........................................................................................................14
1.2.6 Sử dụng Ajax trong ASP.NET MVC4 ........................................................18
1.2.7 Jquery và Boostrap hỗ trợ tạo giao diện ứng dụng ASP.NET MVC4 ........20
1.3


Hệ quản trị cơ sở dữ liệu SQL Server 2008.....................................................22

1.3.1 Giới thiệu ngôn ngữ cơ sở dữ liệu quan hệ SQL .........................................22
1.3.2 Các câu lệnh thường sử dụng trong SQL ....................................................25
CHƢƠNG 2: PHÂN TÍCH THIẾT KẾ ......................................................................27
VÀ CÀI ĐẶT HỆ THỐNG THÔNG TIN HỖ TRỢ .................................................27
TUYỂN SINH ĐẠI HỌC 2015 CỦA TRƢỜNG ĐẠI HỌC NHA TRANG ............27
2.1 Quy trình nghiệp vụ và yêu cầu hệ thống của hệ thống thông tin hỗ trợ tuyển
sinh đại học 2015 của trường Đại học Nha Trang ......................................................27
2.1.1 Quy trình nghiệp vụ .....................................................................................27
2.1.2 Yêu cầu hệ thống .........................................................................................31
2.2

Biểu đồ Use Case .............................................................................................32

2.2.1 Biểu đồ use case tổng quát ..........................................................................32
2.2.2 Phân rã biểu đồ use case Đăng ký xét tuyển ...............................................32
2.2.3 Phân rã biểu đồ use case quản lý hồ sơ thí sinh ..........................................33
2.2.4 Phân rã biểu đồ use case quản lý tài khoản .................................................33


2.3

Kịch bản cho các Use Case ..............................................................................34

2.3.1 Kịch bản use case Đăng nhập ......................................................................34
2.3.2 Kịch bản use case Đăng ký xét tuyển ..........................................................35
2.3.3 Kịch bản use case In phiếu đăng ký xét tuyển ............................................36
2.3.4 Kịch bản use case Xác nhận đăng ký xét tuyển ..........................................36

2.3.5 Kịch bản use case Chỉnh sửa thông tin đăng ký xét tuyển ..........................37
2.3.6 Kịch bản use case Hủy đăng ký xét tuyển ...................................................38
2.3.7 Kịch bản use case Xem kết quả xét tuyển tạm thời.....................................39
2.3.8 Kịch bản use case Xem kết quả xét tuyển chính thức .................................40
2.3.9 Kịch bản use case Đăng nhập vào hệ thống ................................................40
2.3.10 Kịch bản use case Thêm tài khoản ............................................................41
2.3.11 Kịch bản use case Đặt lại mật khẩu ...........................................................41
2.3.12 Kịch bản use case Xóa tài khoản ...............................................................42
2.3.13 Kịch bản use case Xem danh sách thí sinh đăng ký xét tuyển ..................43
2.3.14 Kịch bản use case Tìm kiếm thí sinh theo số báo danh.............................44
2.3.15 Kịch bản use case Thêm hồ sơ thí sinh .....................................................44
2.3.16 Kịch bản use case Duyệt hồ sơ thí sinh .....................................................46
2.3.17 Kịch bản use case Sửa hồ sơ thí sinh ........................................................47
2.3.18 Kịch bản use case Xóa hồ sơ thí sinh ........................................................48
2.3.19 Kịch bản use case Lập bảng thống kê bậc thang .......................................49
2.3.20 Kịch bản use case In bảng thống kê bậc thang ..........................................49
2.3.21 Kịch bản use case Lập điểm chuẩn ...........................................................50
2.3.22 Kịch bản use case Lập danh sách thí sinh trúng tuyển ..............................51
2.3.23 Kịch bản use case In danh sách thí sinh trúng tuyển .................................51
2.3.24 Kịch bản use case In giấy báo trúng tuyển ................................................52
2.4

Biểu đồ lớp phân tích ......................................................................................53

2.5

Các biểu đồ trình tự .........................................................................................54

2.5.1 Biểu đồ trình tự của chức năng Đăng nhập .................................................54
2.5.2 Biểu đồ trình tự của chức năng Đăng ký xét tuyển .....................................55

2.5.3 Biểu đồ trình tự của chức năng In phiếu đăng ký xét tuyển ........................56
2.5.4 Biểu đồ trình tự của chức năng Hủy đăng ký xét tuyển ..............................56


2.5.5 Biểu đồ trình tự của chức năng Chỉnh sửa thông tin đăng ký xét tuyển .....57
2.5.6 Biểu đồ trình tự của chức năng Xem kết quả xét tuyển tạm thời ................58
2.5.7 Biểu đồ trình tự của chức năng Đăng nhập vào hệ thống ...........................59
2.5.8 Biểu đồ trình tự của chức năng Thêm tài khoản .........................................60
2.5.9 Biểu đồ trình tự của chức năng Đặt lại mật khẩu ........................................61
2.5.10 Biểu đồ trình tự của chức năng Xóa tài khoản ..........................................62
2.5.11 Biểu đồ trình tự của chức năng Xem danh sách thí sinh đăng ký xét tuyển
63
2.5.12

Biểu đồ trình tự của chức năng Duyệt hồ sơ thí sinh ...............................64

2.5.13

Biểu đồ trình tự của chức năng Xóa hồ sơ thí sinh ..................................65

2.5.14

Biểu đồ trình tự của chức năng In bảng thống kê bậc thang ....................66

2.5.15 Biểu đồ trình tự của chức năng Lập điểm chuẩn .......................................67
2.5.16 Biểu đồ trình tự của chức năng In danh sách thí sinh trúng tuyển ............68
2.5.17
2.6

Biểu đồ trình tự của chức năng In giấy báo trúng tuyển ..........................69


Biểu đồ trạng thái .............................................................................................70

2.6.1 Biểu đồ trạng thái của đối tượng Thí sinh ...................................................70
2.6.2 Biểu đồ trạng thái của đối tượng Ban tuyển sinh ........................................71
2.6.3 Biểu đồ trạng thái của đối tượng Người quản trị ........................................72
2.6.4 Biểu đồ trạng thái của đối tượng Hồ sơ đăng ký xét tuyển .........................73
2.6.5 Biểu đồ trạng thái của đối tượng Danh sách xét tuyển ...............................73
CHƢƠNG 3: GIAO DIỆN CỦA HỆ THỐNG THÔNG TIN HỖ TRỢ TUYỂN
SINH ĐẠI HỌC 2015 CỦA TRƢỜNG ĐẠI HỌC NHA TRANG ...........................74
3.1

Giao diện người dùng ......................................................................................74

3.1.1 Giao diện đăng nhập ....................................................................................74
3.1.2 Giao diện đăng ký xét tuyển trực tuyến ......................................................75
3.1.3 Giao diện xác nhận đăng ký xét tuyển trực tuyến .......................................76
3.1.4 Giao diện chỉnh sửa hồ sơ xét tuyển ...........................................................78
3.1.5 Giao diện kết quả xét tuyển tạm thời ..........................................................79
3.1.6 Giao diện danh sách trúng tuyển .................................................................80
3.2

Giao diện quản trị ............................................................................................81

3.2.1 Màn hình quản trị chính ..............................................................................81


3.2.2 Giao diện xem danh sách thí sinh đăng ký xét tuyển ..................................81
3.2.3 Giao diện quản lý hồ sơ thí sinh đăng ký xét tuyển ....................................82
3.2.4 Giao diện quản lý tài khoản của người quản trị ..........................................83

3.2.5 Giao diện thiết lập điểm chuẩn ....................................................................84
3.2.6 Giao diện thống kê bậc thang ......................................................................85
3.2.7 Giao diện In giấy báo trúng tuyển. ..............................................................86
CHƢƠNG 4: KẾT LUẬN VÀ HƢỚNG PHÁT TRIỂN ...........................................88
DANH MỤC TÀI LIỆU THAM KHẢO ....................................................................90


DANH MỤC CÁC BẢNG, HÌNH
DANH MỤC CÁC BẢNG
Bảng 1-2 Bảng liệt kê các kiểu dữ liệu thường dùng trong SQL Server 2008 .....24
Bảng 1-3 Bảng liệt kê các câu lệnh thường dùng trong SQL Server 2008 ..........25
Bảng 2-1 Bảng kịch bản use case đăng nhập ........................................................34
Bảng 2-2 Bảng kịch bản use case đăng ký xét tuyển ............................................35
Bảng 2-3 Bảng kịch bản use case in phiếu đăng ký xét tuyển ..............................36
Bảng 2-4 Bảng kịch bản use case xác nhận in phiếu đăng ký xét tuyển ..............37
Bảng 2-5 Bảng kịch bản use case chỉnh sửa thông tin đăng ký xét tuyển ............37
Bảng 2-6 Bảng kịch bản use case hủy đăng ký xét tuyển .....................................38
Bảng 2-7 Bảng kịch bản use case xem kết quả xét tuyển tạm thời ......................39
Bảng 2-8 Bảng kịch bản use case xem kết quả xét tuyển chính thức ...................40
Bảng 2-9 Bảng kịch bản use case xem đăng nhập vào hệ thống ..........................41
Bảng 2-10 Bảng kịch bản use case Thêm tài khoản .............................................41
Bảng 2-11 Bảng kịch bản use case đặt lại mật khẩu.............................................42
Bảng 2-12 Bảng kịch bản use case xóa tài khoản .................................................43
Bảng 2-13 Bảng kịch bản use case xem danh sách thí sinh dăng ký xét tuyển ....43
Bảng 2-14 Bảng kịch bản của use case tìm kiếm thí sinh theo số báo danh .......44
Bảng 2-15 Bảng kịch bản của use case thêm hồ sơ thí sinh .................................45
Bảng 2-16 Bảng kịch bản của use case duyệt hồ sơ thí sinh ................................46
Bảng 2-17 Bảng kịch bản của use case sửa hồ sơ thí sinh....................................47
Bảng 2-18 Bảng kịch bản của use case xóa hồ sơ thí sinh ...................................48
Bảng 2-19 Bảng kịch bản của use case lập bảng thống kê bậc thang ...................49

Bảng 2-20 Bảng kịch bản của use case in bảng thống kê bậc thang ....................50
Bảng 2-21 Bảng kịch bản của use case lập điểm chuẩn .......................................50
Bảng 2-22 Bảng kịch bản của use case lập danh sách thí sinh trúng tuyển ..........51
Bảng 2-23 Bảng kịch bản của use case in danh sách thí sinh trúng tuyển ...........52
Bảng 2-24 Bảng kịch bản của use case in giấy báo trúng tuyển ..........................52


DANH MỤC CÁC HÌNH
Hình 1-1 Hình minh họa mô hình MVC ...........................................................................4
Hình 1-2 Hình minh họa cây thư mục mặc định trong ASP.NET MVC4 ........................4
Hình 1-3 Hình minh họa _layout mặc định trong ASP.NET MVC4 ...............................6
Hình 1- 4 Hình minh họa Entity Framework ánh xạ các bảng trong cơ sở dữ liệu ..........7
Hình 1-5 Hình minh họa mã lệnh thêm1 tài khoản quản trị .............................................8
Hình 1-6 Hình minh họa phương thức sửa mật khẩu của 1 tài khoản quản trị sử dụng
EF ......................................................................................................................................9
Hình 1-7 Hình minh họa xóa 1 tài khoản quản trị ............................................................9
Hình 1-8 Hình minh họa cách tạo view tại controller ....................................................15
Hình 1-9 Hình minh họa tạo view tại thư mục Views ....................................................15
Hình 1-10 Hình minh họa tạo view ở thư mục Views (tiếp theo) ..................................16
Hình 1-11 Hình minh họa câu lệnh Select trong SQL Server 2008 ...............................26
Hình 2-1 Hình minh họa sơ đồ use case tổng quát .........................................................32
Hình 2-2 Hình minh họa phân rã biểu đồ use case đăng ký xét tuyển ...........................32
Hình 2-3 Hình minh họa phân rã biểu đồ use case quản lý hồ sơ thí sinh .....................33
Hình 2-4 Hình minh họa phân rã biểu đồ use case quản lý tài khoản ............................33
Hình 2-5 Hình minh họa biểu đồ lớp phân tích của hệ thống thông tin hỗ trợ tuyển sinh
đại học 2015 của trường Đại học Nha Trang ..................................................................53
Hình 2-6 Hình minh họa biểu đồ trình tự của chức năng đăng nhập ..............................54
Hình 2-7 Hình minh họa biểu đồ trình tự của chức năng đăng ký xét tuyển ..................55
Hình 2-8 Hình minh họa chức năng in phiếu đăng ký xét tuyển ....................................56
Hình 2-9 Hình minh họa biểu đồ trình tự của chức năng hủy đăng ký xét tuyển ...........56

Hình 2-10 Hình minh họa biểu đồ trình tự của chức năng chỉnh sửa thông tin đăng ký
xét tuyển ..........................................................................................................................57
Hình 2-11 Hình minh họa biểu đò trình tự của chức năng xem kết quả xét tuyển tạm
thời ..................................................................................................................................58
Hình 2-12 Hình minh họa biểu đồ trình tự của chức năng đăng nhập vào hệ thống ......59
Hình 2-13 Hình minh họa biểu đồ trình tự của chức năng thêm tài khoản ....................60
Hình 2-14 Hình minh họa biểu đồ trình tự của chức năng đặt lại mật khẩu ..................61
Hình 2-15 Hình minh họa biểu đò trình tự của chức năng xóa tài khoản.......................62


Hình 2-16 Hình minh họa biểu đồ trình tự của chức năng xem danh sách thí sinh đăng
ký xét tuyển .....................................................................................................................63
Hình 2-17 Hình minh họa biểu đồ trình tự của chức năng duyệt hồ sơ thí sinh .............64
Hình 2-18 Hình minh họa biểu đồ trình tự của chức năng xóa hồ sơ thí sinh ................65
Hình 2-19 Hình minh họa biểu đồ trình tự của chức năng in bảng thống kê bậc thang .66
Hình 2-20 Hình minh họa biểu đồ trình tự của chức năng lập điểm chuẩn ....................67
Hình 2-21 Hình minh họa biểu đồ trình tự của chức năng in danh sách thí sinh trúng
tuyển ................................................................................................................................68
Hình 2-22 Hình minh họa biểu đồ trình tự của chức năng in giấy báo trúng tuyển .......69
Hình 2-23 Hình minh họa biểu đò trạng thái của đối tượng thí sinh ..............................70
Hình 2-24 Hình minh họa biểu đồ trạng thái của đối tượng ban tuyển sinh ..................71
Hình 2-25 Hình minh họa biểu đồ trạng thái của đối tượng ngườiq uản trị ...................72
Hình 2-26 Hình minh họa biểu đò trạng thái của đối tượng hồ sơ đăng ký xét tuyển ...73
Hình 2-27 Hình minh họa biểu đồ trạng thái của đối tượng danh sách xét tuyển ..........73
Hình 3-1 Hình minh họa giao diện đăng nhập của người dùng ......................................74
Hình 3-2 Hình minh họa giao diện đăng nhập của ngườiduùng (tiếp theo) ...................74
Hình 3-3 Hình minh họa giao diện đăng ký xét tuyển ....................................................75
Hình 3-4 Hình minh họa giao diện xác nhận đăng ký xét tuyển ....................................76
Hình 3-5 Hình minh họa giấy đăng ký xét tuyển của thí sinh khi in ..............................77
Hình 3-6 Hình minh họa giao diện đăng ký xét tuyển thành công của thí sinh .............77

Hình 3-7 Hình minh họa giao diện chỉnh sửa hồ sơ đăng ký xét tuyển của thí sinh ......78
Hình 3-8 Hình minh họa giao diện chỉnh sửa hồ sơ đăng ký xét tuyển của thí sinh (tiếp
theo) ................................................................................................................................79
Hình 3-9 Hình minh họa giao diện kết quả xét tuyển tạm thời ......................................79
Hình 3-10 Hình minh họa giao diện kết quả trúng tuyển ...............................................80
Hình 3-11 Hình minh họa trang quản trị chính...............................................................81
Hình 3-12 Hình minh họa giao diện xem danh sách thí sinh đăng ký xét tuyển ............81
Hình 3-13 Hình minh họa giao diện quản lý hồ sơ thí sinh ............................................82
Hình 3-14 Hình minh họa giao diện quản lý hồ sơ thí sinh (tiếp theo) ..........................83
Hình 3-15 Hình minh họa giao diện quản lý tài khoản quản trị .....................................83
Hình 3-16 Hình minh họa giao diện thêm tài khoản quản trị .........................................84


Hình 3-17 Hình minh họa giao diện thiết lập điểm chuẩn ..............................................84
Hình 3-18 Hình minh họa giao diện cho phép hiển thị danh sách trúng tuyển ..............85
Hình 3-19 Hình minh họa giao diện thống kê bậc thang ................................................85
Hình 3-20 Hình minh họa giao diện in giấy báo trúng tuyển của từng sinh viên ...........86


KÍ HIỆU CÁC CỤM TỪ VIẾT TẮT

Từ vi t tắt

Giải th ch

EF

Entity Framework

Admin


Người quản trị

BTS

Ban tuyển sinh

SBD

Số báo danh

Số CMND

Số chứng minh nhân dân

Trang 1


CHƢƠNG 1: TỔNG QUAN CƠ SƠ LÝ THUYẾT
1.1 Giới thiệu ASP.NET MVC
Hiện nay ASP.NET MVC được biết đến là framework mới nhất của Microsoft, nó được
thiết kế giúp lập trình viên tạo mới và thay đổi ứng dụng web một cách dễ dàng, nhanh
chóng. Bên cạnh đó, ASP.NET MVC cũng hỗ trợ cho việc kiểm thử phần mềm.

1.1.1 Nguồn gốc ASP.NET MVC
Trước đây, khi ASP.NET MVC chưa ra đời thì các nhà phát triển web làm việc trên nền
ASP.NET truyền thống. Lúc này các nhà phát triển web chỉ cần tưởng tượng những gì sẽ xảy
ra trên server để thiết kế giao diện web bằng cách kéo - thả các control, mỗi control có trạng
thái riêng và tự động sinh mã HTML, tự động kết nối với các sự kiện phía người dùng.
Bên cạnh những ưu điểm mà Webforms sử dụng công nghệ ASP.NET truyền thống

mang lại giúp người lập trình đơn giản hơn trong việc thiết kế cũng như viết mã ứng dụng thì
thực tế cũng phát sinh một số nhược điểm như:
-

Sử dụng cơ chế ViewState để quản lý trạng thái qua mỗi lần request, sử dụng các web
control có postback , các event để thực hiện các hành động cho user interface. Vậy
nên nếu kích thước của ViewState lớn, khi có sự tương tác với người dùng ASP.NET
Webforms xử lý chậm.

-

-

Việc sinh mã HTML tự động trong webforms đôi khi cũng không thuận tiện cho
người lập trình bởi các giá trị được sinh tự động đó có thể không cần thiết hoặc sinh
ra giá trị ID phức tạp, khó truy xuất bởi JavaScript.
Cảm nhận sai trong việc phân tách code ra khỏi mã HTML bằng cách tạo code-behind
bên dưới trang.
Khi kiểm tra lỗi rất khó khăn, ASP.NET Webforms phải chạy tất cả các tiến trình
ASP.NET.
Việc nhúng các thư viện JavaScript như Jquery vào webforms để tương tác với các

web control tương đối phức tạp.
 ASP.NET MVC ra đời khắc phục những hạn chế trên của ASP.NET được nhiều người
lựa chọn thay thế cho Webforms.
Công nghệ ASP.NET MVC là mới, tuy nhiên nền tảng MVC đã có từ năm 1978 được
phát minh bởi Trygve Renskaug với cái tên ban đầu là Thing Model View Editor pattern và
sau đó được đặt lại là Model View Controller pattern.

Trang 1



Năm 2009 phiên bản đầu tiên là ASP.NET MVC 1.0 được ra đời.
Kể từ khi ra đời phiên bản đầu tiên, Microsoft đã không ngừng phát tiển ASP.NET
MVC hoàn thiện hơn nhằm hỗ trợ tối đa cho người lập trình trong việc giải quyết các vấn đề
phát sinh cũng như các giải pháp cho quá trình xây dựng và phát triển các dự án. Phiên bản
ASP.NET 5/MVC 6 mới được đưa ra tháng 4/2015 vừa qua.

1.1.2 Mô hình MVC
Vào cuối những năm 70 đầu những năm 80, MVC (Model – View – Controller) được
các nhà nghiên cứu tại phòng thí nghiệm Xerox PARC Palo Alto công bố dựa trên ngôn ngữ
lập trình Smalltalk. Thế hệ tiếp theo của MVC xuất hiện cùng với hệ điều hành NeXT và các
phần mềm đi kèm. MVC tiếp tục được phát triển hoàn thiện cho tới ngày nay.
Mô hình MVC là một mẫu kiến trúc phần mềm giúp cho người phát triển phần mềm tách
các thao tác xử lí nghiệp vụ với phần giao diện một cách rõ ràng hơn, tạo điều kiện thuận lợi
cho việc cài đặt cũng như bảo trì, nâng cấp.

Hình 1-1 Hình ảnh minh họa mô hình MVC

Trong mô hình MVC:
- Lớp model (M) là phần xử lý các thao tác nghiệp vụ.
- Lớp view (V) là phần xử lý về giao diện
- Lớp controller (C) là phần có nhiệm vụ lọc các yêu cầu từ người dùng, điều khiển và
phân luồng các yêu cầu gọi đúng model và view thích hợp.

Trang 2


 Hoạt động của mô hình MVC:
(1) Người dùng (Client) tương tác với view và gửi yêu cầu.

(2) View gửi yêu cầu đó cho controller.
(3) Controller nhận yêu cầu và gọi đúng phương phức xử lí ở model.
(4) Model nhận thông tin và tiến hành thực thi các phương thức xử lí ( có thể liên quan
đến kết nối và truy vấn cơ sở dữ liệu).
(5) Model gửi kết quả sau khi thực thi phương thức xử lí cho view.
(6) View nhận kết quả từ model và hiển thị kết quả ra trình duyệt cho người dùng.
 Ưu điểm và hạn chế của mô hình MVC
Ưu điểm:
-

Phát triển phần mềm chuyên nghiệp: có thể chia công việc cho nhiều nhóm chuyên
môn cùng làm việc, rút ngắn thời gian cài đặt, đơn giản, khoa học.

-

Dễ bảo trì, chỉnh sửa: các lớp được phân chia rõ ràng, khi có sự thay đổi ở một
lớp, các lớp khác không bị ảnh hưởng hoặc chỉ ảnh hưởng lớp gần kề chứ không
làm ảnh hưởng đến cả chương trình.

-

Dễ mở rộng: Khi có nhu cầu, việc thêm các chức năng vào từng lớp sẽ dễ dàng
hơn, dễ kiểm soát.

Hạn chế:
-

Mô hình MVC thích hợp với những dự án vừa và lớn, có cấu trức phức tạp, nhiều
tính năng. Đối với dự án nhỏ thì 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 giữa các lớp.

Trang 3


1.1.3 Cấu trúc thƣ mục mặc định của 1 project ASP.NET MVC

Hình 1-2 Hình minh họa cây thƣ mục mặc định trong ASP.NET MVC4

 Ý nghĩa từng thư mục mặc định của 1 ứng dụng trong ASP.NET MVC:
- App-Data: Chứa các file dữ liệu , thư mục App-Data có thể chứa một cơ sở dữ liệu
cục bộ
-

App-Start: Chứa các sự kiện được gọi đầu tiên khi ứng dụng được chạy.

-

Content: Chứa các nội dung tĩnh như các file css.

-

Controllers:
 Chứa cácfile cs là các đối tượng Controller.
 Trong ASP.NET MVC tất cả tên của các Controller đều có hậu tố Controller. Ví
dụ HomeController, LoginController, AdminController, RegisterController, …
Filters: Thư mục chứa các file làm nhiệm vụ lọc các dữ liệu, chứng thực request trước

khi gọi các action (Có ở MVC4 trở lên).
Images: Thư mục chứa hình ảnh của ứng dụng.

-

Trang 4


-

Models: Chứa các lớp models có liên quan đến kết nối hoặc truy vấn cơ sở dữ liệu.
Scripts: chứa các file JavaScript hỗ trợ cho ứng dụng, mạc định thư mục này có chứa
các tập tin ASP.NET Ajax và thư viện Jquery.
Views:
 Chứa các view là các giao diện của ứng dụng.
 Trong Views có chứa các thư mục ứng với mỗi Controller khác nhau, các thư mục
đó có tên giống với tiền tố của Controller. Ví dụ trong Controller có
HomeController thì ở Vews có thư mục Home.
 Trong thư mục Home này chứa các file .cshtml có tên ứng với mỗi Action
(phương thức) xử lý của Controller. Ví dụ trong file HomeController có 2
ActionResult là Index() và Login() thì ở Views/Home cũng có 2 file là
Index.cshtml và Login.cshtml.

-

Global.asax: Trong ASP.Net MVC file này chủ yếu dùng để định nghĩa các kiểu url
sẽ được sử dụng và cho phép người lập trình ánh xạ url đó với những Controller và
Action tương ứng của nó.

-


Web.config: Chứa các file cấu hình của ứng dụng được viết dưới dạng XML.

1.2 ASP.NET MVC4
1.2.1 ASP.NET MVC4 là gì?
ASP.NET MVC4 là một framework cho phép xây dựng những ứng dụng web chuẩn, có
khả năng mở rộng, sử dụng tốt các mẫu thiết kế cũng như sức mạnh mà ASP.NET Web API
cung cấp.
Phiên bản ASP.NET MVC4 được phát hành vào ngày 15/8/2012 và là một phần được
tích hợp trong Visual Studio 2012.
Một ứng dụng được viết bằng ASP.NET MVC4 có cấu trúc thư mục như cấu trúc thư
mục của 1 project ASP.NET MVC đã trình bày ở trên.

1.2.2 Tại sao nên lựa chon ASP.NET MVC4 là môi trƣờng cài đặt ứng dụng?
Để bắt đầu 1 dự án chắc hẳn ai cũng sẽ lựa chọn cho mình một môi trường cài đặt phù
hợp để có thể thể hỗ trợ một cách tốt nhất trong suốt quá trình cài đặt ứng dụng. Khi lựa
chọn ASP.NET MVC4, framework này sẽ không làm bạn thất vọng bởi những tính năng mà
MVC4 cung cấp như:

Trang 5


-

ASP.NET MVC4 là framework hoạt động theo mô hình MVC, vậy nên những ưu
điểm mà mô hình MVC mang lại thì MVC4 đều có.

-

-


ASP.NET MVC4 bao gồm cả ASP.NET Web API, là framework cho phép tạo ra các
dịch vụ HTTP mà các trình duyệt của client, các thiết bị di động hoặc máy tính bảng
đều có thể truy cập được.
Template được dùng để tạo mới 1 project có giao diện đẹp mắt hơn

Hình 1-3 Hình minh họa _layout mặc định trong ASP.NET MVC4

-

Hỗ trợ Mobile Project Template: Khi ứng dụng được truy cập trên các thiết bị di động
hoặc máy tính bảng, sử dụng Jquery Mobile cho phép tối ưu hóa giao diện cảm ứng
(thu nhỏ giao diện vừa với kích thước màn hình của thiết bị di động) giúp người dùng
dễ dàng sử dụng ứng dụng hơn.

-

Cung cấp Display Modes: 1 ứng dụng có thể lựa chọn các view dựa trên trình duyệt
đang yêu cầu. Ví dụ, nếu sử dụng trình duyệt trên máy tính yêu cầu trang đăng ký
tuyển sinh, trình duyệt hiển thị Views/Thisinhdangky/Register.cshtml thì khi sử dụng
một trình duyệt mobile yêu cầu trang đăng ký tuyển sinh, ứng dụng có thể hiển thị
Views/Thisinhdangky/Register.mobile.cshtml.

Trang 6


-

Đối với những action đòi hỏi thời gian xử lý lâu có thể sử dụng Async Controller để
thiết lập thời gian giới hạn.


-

Cung cấp luôn Entity Framework 5 cho phép dễ dàng tương tác với cơ sở dữ liệu.

1.2.3 Models trong ASP.NET MVC4
Trong models của ASP.NET MVC4 được tích hợp Entity Framework 5 cho phép ánh xạ
mô hình cơ sở dữ liệu quan hệ từ SQL Server thành các đối tượng được diễn tả trong ngôn
ngữ lập trình của người lập trình.

Hình 1- 4 Hình minh họa Entity Framework ánh xạ các bảng trong cơ sở dữ liệu

1.2.3.1

Tạo Data Model với Entity Framework.

Để tạo lớp dữ liệu sử dụng Entity Framework ta làm như sau:
Bước 1: Right click Models -> Add -> New Item -> chọn thẻ Data -> Chọn ADO.NET
Entity Data Model -> đặt tên lớp dữ liệu -> bấm nút Add
Bước 2: Chọn Generate from database -> bấm Next -> New Connection -> Nhập tên
SQL Server -> Nhập tên database -> Click OK -> Next
Bước 3: Click chọn các thành phần muốn ánh xạ và bấm Finish.
 Sau khi làm xong bước 3 ta đã tạo được lớp Data Model với Entity Framework
(là file *.edmx).
Chú ý:
Khi cơ sở dữ liệu trong SQL Server có sự thay đổi (Thêm bảng, thêm thuộc tính,
…) phải update lại Data Model bằng cách : Click chuột phải vào 2 file *.Context.tt và
file *.Data.tt -> chọn Run Custom Tool

1.2.3.2


Truy vấn cơ sở dữ liệu với Entity Framework
Trang 7


Thông thường Models trong MVC4 có 2 thành phần chính là các lớp thực thể Entity và
các lớp thực thi.
 Lớp thực thể Entity là lớp mô phỏng 1 bản ghi cho từng bảng CSDL tương ứng.
Ví dụ: trong CSDL bảng NGANH có 2 trường là Ma_nganh kiểu Tinyint và Ten_nganh
kiểu nvarchar(255). Khi được ánh xạ sang lớp thực thể Entity là đối tượng NGANH có 2
thuộc tính Ma_nganh kiểu byte và Ten_nganh kiểu string.
 Khi tạo xong lớp thực thể, lớp thực thi được Entity Framework tự động tạo ra, đây là
lớp chứa các phương thức để thực hiện các nhiệm vụ như: thêm, sửa, xóa hay select
các bản ghi ứng với từng bảng tương ứng trong CSDL.
Ví dụ: Bảng NGANH sẽ có 1 lớp thực thi tương ứng là NGANHs. Lớp này sẽ có các
phương thức như Add(), Remove(), Select(), Where(), Count(),…
Một số truy vấn cơ sở dữ liệu mà bất kỳ chương trình quản lý nào cũng phải có:
 Thêm dòng mới vào cơ sở dữ liệu
Ví dụ: Thêm 1 tài khoản quản trị trong hệ thống thông tin hỗ trợ tuyển sinh đại học
2015 của trường Đại học Nha Trang.

Hình 1-5 Hình minh họa mã lệnh thêm1 tài khoản quản trị

Trang 8


 Cập nhật trong cơ sở dữ liệu
Ví dụ: Đặt lại mật khẩu cho 1 tài khoản quản trị.

Hình 1-6 Hình minh họa phƣơng thức sửa mật khẩu của 1 tài khoản quản trị sử dụng EF


 Xóa dòng trong cơ sở dữ liệu
Ví dụ: Xóa 1 tài khoản quản trị

Hình 1-7 Hình minh họa xóa 1 tài khoản quản trị

Trang 9


Ngoài những cú pháp truy vấn trên còn có nhiều cách để tương tác với cơ sở dữ liệu như
sử dụng select(), join, where, order by, truy vấn theo kiểu LINQ….

1.2.4 Controllers và Action
Trung tâm xử lý của mô hình MVC là Controller, tất cả các hành động của người dùng
như gõ vào một URL, bấm 1 nút submit form hay enter 1 textbox…đều được lắng nghe và
xử lý bởi Controller. Controller sử dụng các Models để lấy dữ liệu, xử lý và truyền dữ liệu
đó ra Views, Views hiển thị kết quả trả về cho người dùng.
Tất cả tên của lớp Controller phải có hậu tố Controller là: Tên + Controller.
Ví dụ: HomeController, ThisinhdangkyController, AddminController,…
Các giai đoạn xử lý của Controller:
- Xác định action method nào được gọi và xác nhận action đó có sẵn sàng để được gọi.
- Nhận các giá trị sử dụng như các các tham số của action method được gọi.
- Xử lý các lỗi có thể xảy ra trong quá trình thực thi action method đó.
- Cung cấp các lớp WebFormViewEngine mặc định để render đến các Views.
Ví dụ: Khi thí sinh bấm nút đăng nhập để đăng ký xét tuyển ThisinhDangkyController
làm như sau:
- Trong ThisinhDangkyController có ActionResult là Index, khi thí sinh bấm vào mục
đăng ký xét tuyển, cotroller xác định gọi action mặc định là Index.
- Action Index này được gọi và làm nhiệm vụ:
 Nhận các giá trị fMabaove, fSbd, fCmnd từ pForm khi thí sinh submit dữ liệu

(bấm nút đăng nhập).
 Kiểm tra và xử lý lỗi như: Sai mã bảo vệ, sai số báo danh hoặc số CMND, đăng
nhập quá 3 lần,…
 Truyền các kết quả đã xử lý ra View tương ứng.
public ActionResult Index(FormCollection pForm)
{
tuyensinh_dbEntities db = new tuyensinh_dbEntities();
byte fDotTuyenSinh = (byte)db.DOT_TUYEn_SINH.First().tendot;
if (fDotTuyenSinh == 0)
{
return RedirectToAction("Khongtuyensinh");
}

Trang 10


ViewBag.error = "";
ViewBag.showerror = false;
string fMabaove = pForm["txt_mbv"] == null ? "" :
(string)pForm["txt_mbv"];
string fSbd = pForm["txt_sbd"] == null ? "" : (string)pForm["txt_sbd"];
string fCmnd = pForm["txt_cmnd"] == null ? "" : (string)pForm["txt_cmnd"];
// qua 3 lan
if (Session["qua3lan"] == null)
{
Session["qua3lan"] = 1;
}
if (Session["captcha"] == null) Session["captcha"] = "1234";
if (pForm["btn_dangnhap"] != null)
{

if ((int)Session["qua3lan"] >= 3)
{
ViewBag.showerror = true;
ViewBag.error = "Bạn đã sai quá 3 lần, hãy thử lại lúc sau";
db.Dispose();
return View(); //end
}
if (((string)Session["captcha"]).ToLower() != fMabaove.ToLower())
{
//session 3 lan ko hop le
Session["qua3lan"] = ((int)Session["qua3lan"]) + 1;
ViewBag.showerror = true;
ViewBag.error = "Sai mã bảo vệ";
db.Dispose();
return View(); //end
}
//check
THI_SINH fThiSinh = db.THI_SINH.Where(x => x.SBD == fSbd && x.CMND ==
fCmnd).FirstOrDefault();
if (fThiSinh == null)
{
ViewBag.showerror = true;
ViewBag.error = "Sai số báo danh hoặc số CMND";
//session 3 lan ko hop le
Session["qua3lan"] = ((int)Session["qua3lan"]) + 1;
db.Dispose();
return View(); //end
}
Session["THI_SINH"] = fThiSinh;
TAI_KHOAN_THI_SINH fTaiKhoanthisinh = fThiSinh.TAI_KHOAN_THI_SINH.Where(x =>

x.Dot == fDotTuyenSinh).FirstOrDefault();
if (fTaiKhoanthisinh == null)
return RedirectToAction("register");
else
return RedirectToAction("detail");

Trang 11


×