LỜI CẢM ƠN
Trước tiên, tôi xin gửi lời cảm ơn chân thành tới tất cả
uế
các thầy cô giáo trường Đại học Kinh tế Huế, đặc biệt là các
tế
H
thầy cô ở Khoa Hệ thống Thông tin Kinh tế, bạn bè đã theo
sát, tạo điều kiện giúp đỡ tôi thực hiện đề tài này một cách
thuận lợi nhất.
h
Tôi xin bày tỏ lời cảm ơn tới thạc sĩ Nguyễn Thanh Tuấn,
in
người thầy đã tận tình hướng dẫn và truyền đạt những kinh
cK
nghiệm quý báu cho tôi trong suốt quá trình làm luận văn
tốt nghiệp. Thầy đã giúp đỡ tôi rất nhiều từ việc hình thành
những ý tưởng ban đầu cũng như hướng dẫn quá trình thực
họ
hiện ý tưởng và sau đó là góp ý, chỉnh sửa để đề tài được
hoàn thành tốt nhất có thể.
Đ
ại
Tôi cũng xin cảm ơn chân thành đến bố mẹ và những
người thân đã đã quan tâm giúp đỡ và động viên tôi trong
ng
suốt thời gian qua để bài luận văn của tôi được hoàn thành
Tr
ườ
tốt đẹp.
Mặc dù tôi đã rất cố gắng nhưng chắc chắn luận văn sẽ
không thể tránh khỏi những thiếu sót, rất mong nhận được
những ý kiến đóng góp, bổ sung của quý thầy cô để tôi có
thể sữa chữa, bổ sung và nghiên cứu kỹ hơn về đề tài này.
Tôi xin chân thành cảm ơn.
Huế, ngày 18 tháng 5 năm 2014
i
Khóa luận tốt nghiệp đại học
Sinh viên:
uế
Trần Hoàng Linh
MỤC LỤC
tế
H
DANH MỤC CÁC KÍ KIỆU VÀ CHỮ VIẾT TẮT .......................................................v
DANH MỤC CÁC HÌNH VẼ, SƠ ĐỒ, BIỂU ĐỒ...................................................... vii
TÓM TẮT NGHIÊN CỨU ............................................................................................ix
h
ĐẶT VẤN ĐỀ .................................................................................................................8
in
1. Lý do chọn đề tài............................................................................................................ 8
2. Mục tiêu của đề tài ......................................................................................................... 9
cK
3. Đối tượng và phạm vi nghiên cứu.................................................................................. 9
4. Phương pháp nghiên cứu.............................................................................................. 10
họ
5. Nội dung nghiên cứu .................................................................................................... 10
NỘI DUNG VÀ KẾT QUẢ NGHIÊN CỨU ................................................................11
CHƯƠNG I: CƠ SỞ LÝ LUẬN VỀ XÂY DỰNG HỆ THỐNG QUẢN LÝ ĐĂNG KÍ
Đ
ại
TÍN CHỈ.........................................................................................................................11
1.1. Khái niệm về hệ thống, hệ thống thông tin quản lý................................................... 11
1.1.1. Khái niệm hệ thống................................................................................................ 11
ng
1.1.2. Hệ thống quản lý.................................................................................................... 11
1.1.3. Hệ thống thông tin (Information System) ............................................................. 11
ườ
1.2. Giới thiệu các công cụ để xây dựng hệ thống quản lý............................................... 12
Tr
1.2.1. Giới thiệu về .NET Framework, C# ...................................................................... 12
1.2.2. Giới thiệu hệ quản lý CSDL SQL Server .............................................................. 12
1.2.3. Giới thiệu về ASP.NET MVC 4 ............................................................................ 12
1.2.4. So sánh ASP.NET MVC và ASP.NET Web Form ............................................... 16
1.2.5. Xây dựng ứng dụng theo mô hình 3 lớp................................................................ 17
1.2.6. Entity framework và Code first migration............................................................. 18
SVTH: Trần Hoàng Linh
ii
Khóa luận tốt nghiệp đại học
1.2.7. Giới thiệu về Visual Studio ................................................................................... 20
CHƯƠNG II: BÀI TOÁN QUẢN LÝ ĐĂNG KÍ TÍN CHỈ TẠI TRƯỜNG ĐẠI HỌC
KINH TẾ – ĐẠI HỌC HUẾ .........................................................................................21
2.1. Đặc điểm của học chế tín chỉ và quy trình đăng kí tín chỉ ........................................ 21
uế
2.1.1. Đặc điểm chung ...................................................................................................... 21
tế
H
2.1.2. Ưu điểm của học chế tín chỉ ................................................................................... 21
2.1.3. Nhược điểm của học chế tín chỉ ............................................................................. 23
2.2. Hiện trạng mô hình học chế tín chỉ của trường Đại học Kinh Tế Huế...................... 24
2.2.1. Hiện trạng công tác quản lý đăng kí tín chỉ của trường Đại Học Kinh Tế Huế ..... 24
h
2.2.2. Hiện trạng hệ thống phần mềm hỗ trợ học chế tín chỉ trường Đại học Kinh Tế -
in
Đại Học Huế ..................................................................................................................... 26
cK
2.2.3. Đề xuất giải pháp khắc phục .................................................................................. 27
2.3. Mô tả hệ thống quản lý đăng kí tín chỉ...................................................................... 28
CHƯƠNG III: XÂY DỰNG HỆ THỐNG QUẢN LÝ ĐĂNG KÍ TÍN CHỈ TẠI
họ
TRƯỜNG ĐẠI HỌC KINH TẾ - ĐẠI HỌC HUẾ.......................................................32
3.1. Phân tích hệ thống quản lý đăng kí tín chỉ cho sinh viên chính quy trường Đại Học
Đ
ại
Kinh Tế Huế ..................................................................................................................... 32
3.1.1. Sơ đồ phân rã chức năng hệ thống (BFD – Business Funtion Diagram) ............... 32
3.1.2. Sơ đồ ngữ cảnh (Context Diagram)........................................................................ 34
ng
3.1.3. Sơ đồ luồng dữ liệu (DFD – Data Flow Diagram) ................................................. 35
3.2. Thiết kế hệ thống ....................................................................................................... 37
ườ
3.2.1. Xác định các thực thể và các thuộc tính tương ứng của thực thể........................... 37
Tr
3.2.2. Xác định mối quan hệ giữa các thực thể ................................................................ 39
3.2.3. Mô hình thực thể mối quan hệ................................................................................ 41
3.2.4. Chuẩn hóa ............................................................................................................... 41
3.2.5. Lược đồ quan hệ của CSDL ................................................................................... 49
3.3. Một số giải thuật chính .............................................................................................. 50
3.3.1. Cập nhật thông tin .................................................................................................. 50
SVTH: Trần Hoàng Linh
iii
Khóa luận tốt nghiệp đại học
3.3.2. Sửa thông tin........................................................................................................... 50
3.3.3. Xóa thông tin .......................................................................................................... 51
3.3.4. Đăng nhập hệ thống................................................................................................ 51
3.3.5. Tra cứu thông tin .................................................................................................... 52
uế
3.3.6. Thống kê báo cáo.................................................................................................... 52
3.3.7. Đăng kí tín chỉ ........................................................................................................ 53
tế
H
3.4. Giao diện hệ thống..................................................................................................... 54
3.5. Triển khai hệ thống.................................................................................................... 55
3.5.1. Thiết kế sơ đồ mạng ............................................................................................... 55
h
3.5.2. Thông số kỹ thuật hệ thống mạng .......................................................................... 55
in
KẾT LUẬN VÀ KIẾN NGHỊ .......................................................................................64
cK
1. Những kết quả đạt được............................................................................................. 64
2. Hạn chế của đề tài ...................................................................................................... 64
3. Định hướng nghiên cứu trong tương lai..................................................................... 65
Tr
ườ
ng
Đ
ại
họ
DANH MỤC TÀI LIỆU THAM KHẢO ......................................................................66
SVTH: Trần Hoàng Linh
iv
Khóa luận tốt nghiệp đại học
DANH MỤC CÁC KÍ KIỆU VÀ CHỮ VIẾT TẮT
Tên đầy đủ
CSDL
Cơ sở dữ liệu
MIS
Management
Ý nghĩa
Information Hệ thống thông tin quản lý
uế
Tên viết tắt
System
Common Language Runtime
MVC
Models-Views-Controller
HTTP
HyperText Transfer Protocol
Bộ thực thi ngôn ngữ chung
tế
H
CLR
Giao thức truyền tải siêu văn
bản
microsoft developer network
EF
Entity Framework
XML
Extensible Markup Language
POCO
Plain Old CLR Object
Đối tượng thuần CLR/.NET cũ
UML
Unified Modeling Language
Ngôn ngữ mô hình hóa thống
in
Ngôn ngữ đánh dấu mở rộng
cK
SV
Sinh viên
họ
Tín chỉ
Đ
ại
TC
TKB
h
MSDN
nhất
Thời khóa biểu
BFD
Mô hình phân rã chức năng
Data Flow Diagram
Sơ đồ luồng dữ liệu
ng
DFD
Business Funtion Diagram
domain controller
DHCP
Dynamic
ườ
DC
Host
Configuration Giao thức cấu hình host động
Protocol
Internet Protocol
Giao thức internet
WAN
wide area network
Mạng diện rộng
LAN
Local area network
Mạng máy tính cục bộ
ADSL
Asymmetric digital subscriber line Đường dây thuê bao số bất đối
Tr
IP
xứng
SVTH: Trần Hoàng Linh
v
Khóa luận tốt nghiệp đại học
Domain Name System
hệ thống phân giải tên miền
URL
Uniform Resource Locator
Định vị tài nguyên thống nhất
Tr
ườ
ng
Đ
ại
họ
cK
in
h
tế
H
uế
DNS
SVTH: Trần Hoàng Linh
vi
Khóa luận tốt nghiệp đại học
DANH MỤC CÁC HÌNH VẼ, SƠ ĐỒ, BIỂU ĐỒ
Hình 1.1 : Mô hình MVC .....................................................................................13
Hình 1.2: Kiến trúc mô hình 3 lớp........................................................................17
uế
Hình 1.3: Tùy chọn xây dựng Entity Data Model ................................................20
tế
H
Hình 2.1 : Sơ đồ quy trình đăng kí tín chỉ ............................................................31
Hình 3.1: Chức năng quản lý đăng kí tín chỉ ........................................................33
Hình 3.2: Chức năng quản lý đăng kí tín chỉ (tt) ..................................................33
h
Hình 3.3: Sơ đồ ngữ cảnh .....................................................................................35
in
Hình 3.4: Sơ đồ phân rã mức 0 .............................................................................37
cK
Hình 3.5: Sơ đồ thực thể mối quan hệ ..................................................................41
Hình 3.6: Lược đồ quan hệ của CSDL .................................................................49
họ
Hình 3.7: Sơ đồ cập nhật thông tin .......................................................................50
Hình 3.8: Sơ đồ sửa thông tin ...............................................................................50
Đ
ại
Hình 3.9: Sơ đồ xóa thông tin...............................................................................51
Hình 3.10: Sơ đồ đăng nhập hệ thống ..................................................................51
ng
Hình 3.11 : Sơ đồ tra cứu thông tin ......................................................................52
Hình 3.12: Sơ đồ thống kê báo cáo.......................................................................52
ườ
Hình 3.13: Sơ đồ đăng kí tín chỉ ...........................................................................53
Tr
Hình 3.14: Giao diện trang chủ web .....................................................................54
Hình 3.15: Giao diện trang chủ winform..............................................................54
Hình 3.16: Sơ đồ mạng hệ thống ..........................................................................55
Hình 3.17: Mô phỏng nhiệm vụ của tưởng lửa.....................................................62
SVTH: Trần Hoàng Linh
vii
Tr
ườ
ng
Đ
ại
họ
cK
in
h
tế
H
uế
Khóa luận tốt nghiệp đại học
SVTH: Trần Hoàng Linh
viii
Khóa luận tốt nghiệp đại học
TÓM TẮT NGHIÊN CỨU
Đề tài trình bày các nội dung chính của quản lý đăng kí tín chỉ ở trường đại
học, giới thiệu các quy trình, các công cụ trong quá trình xây dụng hệ thống quản lý
uế
đăng kí tín chỉ. Đề tài cũng trình bày quá trình phân tích, thiết kế hệ thống, phân tích
tính khả thi và dự trù kinh phí triển khai hệ thống cho doanh nghiệp. Đề tài cũng trình
tế
H
bày quá trình phân tích, thiết kế hệ thống, cách triển khai cho trường học.
Phần mô tả bài toán quản lý đăng kí tín chỉ sẽ mô tả các nghiệp vụ quản lý
đăng kí tín chỉ một cách đầy đủ và chính xác, những mô tả này chính là yêu cầu đối
với hệ thống cần xây dựng. Phần phân tích và thiết kế trình bày cụ thể các bước từ xác
h
định chức năng của hệ thống, mô tả quá trình lưu chuyển thông tin và dữ liệu trong hệ
in
thống, thiết kế quy trình, thiết kế giao diện cho đến mô tả cách thức triển khai hệ thống
cK
cho trường học.
Kết quả chính mà khóa luận cần đạt được là xây dựng một hệ thống quản lý
đăng kí tín chỉ dễ sử dụng, hỗ trợ tối đa cho người quản lý và sinh viên, cung cấp
Tr
ườ
ng
Đ
ại
tin về đăng kí tín chỉ.
họ
những công cụ hữu ích cho người quản lý, giúp họ kiểm soát và phân tích các thông
SVTH: Trần Hoàng Linh
ix
Khóa luận tốt nghiệp đại học
ĐẶT VẤN ĐỀ
1. Lý do chọn đề tài
Các trường đại học Việt Nam trong những năm đầu của thế kỷ 21 vừa qua đã
tiến tới việc tham khảo kinh nghiệm và áp dụng hệ thống tín chỉ vào chương trình đào
uế
tạo của mình. Trường Đại học Kinh tế - Đại học Huế đã chuyển từ mô hình đào tạo
tế
H
niên chế sang mô hình đào tạo theo học chế tín chỉ từ năm 2008. Đây là một bước
ngoặt quan trọng mang lại những hiệu quả to lớn trong quá trình đổi mới phương thức
đào tạo của nhà trường. Học chế tín chỉ được truyền bá nhanh chóng và áp dụng rộng
rãi nhờ có nhiều ưu điểm: có tính mềm dẻo, khả năng thích ứng linh hoạt, đạt hiệu quả
h
cao về mặt đào tạo và quản lý, giảm chi phí đào tạo. Với cách học này, độ mềm dẻo và
cK
được tính chủ động, sáng tạo của người học.
in
linh hoạt của chương trình giúp người học tự học, tự nghiên cứu, và do đó, phát huy
Tuy nhiên mô hình này tạo ra không ít khó khăn cho sinh viên trong quá trình
học tập. Sinh viên không còn học theo hình thức niên chế nên vấn đề chọn môn học và
họ
đăng ký môn học rất khó khăn. Cùng với số lượng sinh viên chính quy lên tới hơn
5000 sinh viên, hệ thống quản lý còn gặp nhiều vướng mắc. Chương trình học ở các
Đ
ại
khoa đưa ra khá phức tạp và chưa hoàn thiện nên đa phần các sinh viên không thể nắm
rõ những gì mình cần lựa chọn. Hệ thống đăng ký học vẫn còn nhiều thiếu sót với việc
chưa đưa ra cụ thể những môn ràng buộc, môn bắt buộc, môn tự chọn. Chính vì sự
ng
phức tạp và không rõ ràng này khiến sinh viên khó tránh khỏi sai lầm trong quá trình
chọn lựa môn học, dẫn đến việc đăng ký sai môn học, đăng ký thiếu.
ườ
Qua đó có thể nhận thấy việc cấp thiết hiện nay là cần cung cấp và định hướng
tốt hơn cho sinh viên trong quá trình đăng ký học. Sinh viên cần được hỗ trợ nhiều hơn
Tr
về chương trình học. Cụ thể là hệ thống chương trình học với các môn học ràng buộc
cần phải rõ ràng hơn, kỳ học của các môn học phải được sắp xếp cụ thể. Tổng quát là
phải có hướng dẫn học phần đăng ký rõ ràng cho sinh viên. Ngoài ra còn phải hỗ trợ
tính điểm và định hướng môn học rõ ràng cho sinh viên để sinh viên có mục tiêu phấn
đấu cụ thể trong từng học kỳ.
SVTH: Trần Hoàng Linh
8
Khóa luận tốt nghiệp đại học
Do vậy, đề tài: “Xây dựng hệ thống Quản lý Đăng kí tín chỉ tại trường Đại
học Kinh tế - Đại học Huế” được thực hiện nhằm đáp ứng những yêu cầu mới đặt ra
hiện nay, khắc phục được những khó khăn hiện tại trong công tác quản lý và hỗ trợ
sinh viên, đồng thời phục vụ cho mục tiêu tin học hóa, hiện đại hóa trong công tác
uế
quản lý và đào tạo của nhà trường.
tế
H
2. Mục tiêu của đề tài
Mục tiêu tổng quát:
Nắm được quy trình quản lý đăng kí tín chỉ, các kĩ thuật xây dựng hệ thống
quản lý đăng ký tín chỉ, xây dựng thành công hệ thống quản lý đăng kí tín chỉ.
h
Mục tiêu cụ thể:
in
- Nghiên cứu cơ sở lý thuyết về hệ thống thông tin quản lý.
cK
- Khảo sát thực tế tình hình đăng kí tín chỉ, quy trình quản lý đăng kí tín chỉ tại
trường Đại học Kinh tế - Đại học Huế.
- Nghiên cứu quy trình xây dựng hệ thống quản lý đăng kí tín chỉ.
Đại học Huế bao gồm:
họ
Xây dựng hệ thống quản lý đăng kí tín chỉ áp dụng cho trường Đại học Kinh tế-
Đ
ại
- Quản lý chương trình đào tạo, kế hoạch đào tạo.
- Phân hệ đăng ký học,tra cứu thông tin về kết quả học tập.
3. Đối tượng và phạm vi nghiên cứu
ng
Đối tượng nghiên cứu:
- Lý thuyết xây dựng hệ thống quản lý.
ườ
- Các công cụ hỗ trợ, phương pháp xây dựng hệ thống quản lý.
- Cơ cấu tổ chức, cách thức hoạt động và quy trình đăng kí tín chỉ của sinh viên
Tr
chính quy của trường Đại học Kinh Tế Huế.
- Thông tin chung của sinh viên.
Phạm vi nghiên cứu:
- Không gian: Đề tài được thực hiện tại trường Đại học Kinh tế- Đại học Huế.
- Thời gian: Từ ngày 10/02/2014 đến ngày 18/05/2014.
SVTH: Trần Hoàng Linh
9
Khóa luận tốt nghiệp đại học
4. Phương pháp nghiên cứu
Để nghiên cứu và xây dựng hệ thống quản lý đăng kí tín chỉ phù hợp với yêu
pháp trong quá trình phân tích thiết kế hệ thống:
tế
H
- Phương pháp lập trình hướng đối tượng sử dụng ASP.NET, C#.
uế
cầu thực tế hiện nay ở trường Đại Học Kinh Tế Huế, đề tài đã sử dụng các phương
- Phương pháp thiết lập hệ thống tường lửa bảo mật trên hệ điều hành Windows
Server.
- Nghiên cứu tài liệu: Tìm hiểu các lý thuyết cần thiết để xây dựng hệ thống
h
quản lý qua các tài liệu như sách, bài viết, video, slide,...
in
- Phỏng vấn: Hỏi đáp cán bộ quản lý, thầy cô sử dụng phần mềm hiện tại của
cK
trường, nhu cầu của sinh viên.
- Quan sát: Quan sát quy trình vận hành, quản lý của việc đăng kí tín chỉ.
- Thu thập số liệu: Thu thập các tài liệu từ trường học để nắm quy trình quản lý.
họ
- Phân tích, tổng hợp, thống kê, so sánh, định tính, định lượng: Khai thác tài
liệu và thông tin đã có được để trích rút ra các thông tin cần thiết cho quá trình phát
Đ
ại
triển, xây dựng hệ thống.
5. Nội dung nghiên cứu
Ngoài phần mở đầu và kết luận, nội dung khóa luận bao gồm ba chương:
ng
Chương I: Cơ sở lý luận về xây dựng hệ thống quản lý đăng kí tín chỉ.
Phần này sẽ giới thiệu tổng quan hệ thống quản lý đăng kí tín chỉ, lợi ích của
ườ
việc ứng dụng hệ thống và giới thiệu các công cụ sẽ sử dụng để xây dựng hệ thống.
Chương II: Bài toán quản lý đăng kí tín chỉ tại trường Đại học Kinh tế – Đại
Tr
học Huế.
Chương III: Xây dựng hệ thống quản lý đăng kí tín chỉ.
Phần này tập trung phân tích và thiết kế hệ thống, bao gồm các nội dung như
phân tích sơ đồ chức năng, sơ đồ ngữ cảnh, sơ đồ luồng dữ liệu, thiết kế sơ đồ thực thể
- mối quan hệ, thiết kế CSDL, các quy trình chính, giao diện.
SVTH: Trần Hoàng Linh
10
Khóa luận tốt nghiệp đại học
NỘI DUNG VÀ KẾT QUẢ NGHIÊN CỨU
CHƯƠNG I: CƠ SỞ LÝ LUẬN VỀ XÂY DỰNG HỆ THỐNG QUẢN LÝ
ĐĂNG KÍ TÍN CHỈ
uế
1.1. Khái niệm về hệ thống, hệ thống thông tin quản lý
1.1.1. Khái niệm hệ thống
tế
H
Hệ thống là tập hợp các phần tử tương tác được tổ chức nhằm thực hiện một
mục đích xác định. Các phần tử ở đây là tập hợp các phương tiện vật chất và nhân lực.
Tổ chức tạo thành một hệ thống mở, nghĩa là liên hệ với một môi trường.
mại, v.v…).
in
Đặc điểm cơ bản của hệ thống là tính động.
h
Một số phần tử của hệ thống có sự tương tác với bên ngoài (cung ứng, thương
cK
1.1.2. Hệ thống quản lý
Hệ thống quản lý là một hệ thống có một mục đích mang lại lợi nhuận hoặc lợi
trao đổi thông tin.
họ
ích nhất định nào đó. Đặc điểm của hệ thống là có sự tham gia của con người và có
Đ
ại
1.1.3. Hệ thống thông tin (Information System)
Là một hệ thống sử dụng công nghệ thông tin để thu thập, truyền, lưu trữ, xử lý
và biểu diễn thông tin trong một hay nhiều quá trình kinh doanh. Hệ thống thông tin
phát triển qua bốn loại hình:
ng
- Hệ xử lý dữ liệu: lưu trữ và cập nhật dữ liệu hàng ngày, ra các báo cáo theo
định kỳ (Ví dụ: Các hệ thống tính lương).
ườ
- Hệ thống thông tin quản lý (Management Information System - MIS): gồm
cơ sở dữ liệu hợp nhất và các dòng thông tin giúp con người trong sản xuất, quản lý và
Tr
ra quyết định.
- Hệ trợ giúp quyết định: Hỗ trợ cho việc ra quyết định (cho phép nhà phân
tích ra quyết định chọn các phương án mà không phải thu thập và phân tích dữ liệu).
- Hệ chuyên gia: Hỗ trợ nhà quản lý giải quyết các vấn đề và làm quyết định
một cách thông minh.
SVTH: Trần Hoàng Linh
11
Khóa luận tốt nghiệp đại học
1.2.Giới thiệu các công cụ để xây dựng hệ thống quản lý
1.2.1. Giới thiệu về .NET Framework, C#
- Giới thiệu về .Net Framework:
uế
.NET Framework là một nền tảng lập trình và cũng là một nền tảng thực thi ứng
dụng chủ yếu trên hệ điều hành Microsoft Windows được phát triển bởi Microsoft. Các
tế
H
chương trình được viết trên nền .NET Framework sẽ được triển khai trong môi
trường phần mềm (ngược lại với môi trường phần cứng) được biết đến với tên gọi
Common Language Runtime (CLR). Môi trường phần mềm này là một máy ảo trong
h
đó cung cấp các dịch vụ như an ninh phần mềm (security), quản lý bộ nhớ (memory
in
managerment), và các xử lý lỗi ngoại lệ (exception handling).
- Giới thiệu về C#:
cK
C# là một ngôn ngữ lập trình hướng đối tượng được phát triển bởi Microsoft, là
phần khởi đầu cho kế hoạch .NET của họ. Tên của ngôn ngữ bao gồm ký tự thăng và
họ
được đọc là C sharp. Microsoft phát triển C# dựa trên C++ và Java. C# là ngôn ngữ
có được sự cân bằng giữa C++, Visual Basic, Delphi và Java.
Đ
ại
1.2.2. Giới thiệu hệ quản lý CSDL SQL Server
SQL Server là một hệ thống quản trị CSDL quan hệ nhiều người dùng hoạt
động theo mô hình Client/Server. Hệ quản trị CSDL này được sử dụng ở hầu hết các
ứng dụng lớn hiện nay.
ng
Trong mô hình Client/Server, phần Server chứa CSDL, cung cấp các chức năng
ườ
phục vụ cho việc tổ chức và quản lý CSDL, cho phép nhiều người sử dụng cùng lúc
truy cập dữ liệu. Điều này không chỉ tiết kiệm mà còn thể hiện tính nhất quán về mặt
dữ liệu. Tất cả dữ liệu đều được truy xuất thông qua Server, không được truy xuất trực
Tr
tiếp. Do đó, có độ bảo mật cao, chịu lỗi tốt hơn, dễ dàng sao lưu dữ liệu.
Phần Client là các phần mềm chạy trên máy trạm hay máy chủ web không chứa
CSDL, cho phép người sử dụng giao tiếp với CSDL trên Server.
1.2.3. Giới thiệu về ASP.NET MVC 4
SVTH: Trần Hoàng Linh
12
Khóa luận tốt nghiệp đại học
Mẫu kiến trúc Model – View – Controller được sử dụng nhằm chi ứng dụng
thành ba thành phần chính: model, view và controller. Nền tảng ASP.NET MVC giúp
cho chúng ta có thể tạo được các ứng dụng web áp dụng mô hình MVC thay vì tạo ứng
dụng theo mẫu ASP.NET Web Forsm. Nền tảng ASP.NET MVC có đặc điểm nổi bật
uế
là nhẹ (lighweigt), dễ kiểm thử phần giao diện (so với ứng dụng Web Forms), tích hợp
các tính năng có sẵn của ASP.NET. Nền tảng ASP.NET MVC được định nghĩa trong
tế
H
namespace System.Web.Mvc và là một phần của name space System.Web.
MVC là một mẫu thiết kế (design pattern) chuẩn mà nhiều lập trình viên đã
quen thuộc. Một số loại ứng dụng web sẽ thích hợp với kiến trúc MVC. Một số khác
vẫn thích hợp với ASP.NET Web Forms và cơ chế postbacks. Đôi khi có những ứng
in
h
dụng kết hợp cả hai kiến trúc trên.
cK
Nền tảng MVC bao gồm các thành phần dưới đây:
ng
Đ
ại
họ
Controller
Model
View
Hình 1.1 : Mô hình MVC
ườ
- Models(Mô hình): Các đối tượng Models là một phần của ứng dụng, các đối
tượng này thiết lập logic của phần dữ liệu của ứng dụng. Thông thường, các đối tượng
Tr
model lấy và lưu trạng thái của model trong CSDL. Ví dụ như, một đối tượng Product
(sản phẩm) sẽ lấy dữ liệu từ CSDL, thao tác trên dữ liệu và sẽ cập nhật dữ liệu trở lại
vào bảng Products ở SQL Server. Các models có chứa tất cả thông tin mà bạn cần phải
trình bày cho người sử dụng, nhằm đáp ứng yêu cầu cho người gửi đến.
SVTH: Trần Hoàng Linh
13
Khóa luận tốt nghiệp đại học
Trong các ứng dụng nhỏ, model thường là chỉ là một khái niệm nhằm phân biệt
hơn là được cài đặt thực thụ, ví dụ, nếu ứng dụng chỉ đọc dữ liệu từ CSDL và gởi
chúng đến view, ứng dụng không cần phải có tầng model và các lớp lien quan. Trong
trường hợp này, dữ liệu được lấy như là một đối tượng model (hơn là tầng model).
uế
- Views: Views là các thành phần dùng để hiển thị giao diện người dùng (UI).
Thông thường, view được tạo dựa vào thông tin dữ liệu model. Ví dụ như, view dùng
tế
H
để cập nhật bảng Products sẽ hiển thị các hộp văn bản, drop-down list, và các
checkbox dựa trên trạng thái hiện tại của một đối tượng Product.
Công cụ view engine razor (.cshtml) :
+ Nhỏ gọn , ý nghĩa , và dễ dàng : Razor giảm thiểu số lượng ký tự và tổ
in
h
hợp phím cần thiết trong một tập tin, và cho phép một cách nhanh chóng, dễ dàng
trong công việc mã hóa. Không giống như hầu hết các cú pháp mẫu, chúng ta không
cK
cần phải gián đoạn mã hóa của bạn để biểu thị một cách rõ ràng các khối máy chủ
trong HTML . Phân tích cú pháp là đủ thông minh để suy ra điều này từ mật mã của
bạn. Điều này cho phép bạn gõ một cú pháp nhanh gấp nhiều lần.
họ
+ Dễ dàng để tìm hiểu : Razor rất dễ dàng để tìm hiểu và cho phép bạn làm
việc nhanh chóng với mức tối thiểu ở các khái niệm. Chúng ta có thể sử dụng tất cả
Đ
ại
các ngôn ngữ và các kỹ năng HTML hiện tại của bạn .
+ Đây không phải là một ngôn ngữ mới : Microsoft sáng suốt khi quyết
định không tạo ra một ngôn ngữ bắt buộc với Razor . Thay vào đó Microsoft muốn để
ng
cho các nhà phát triển sử dụng ngôn ngữ hiện tại của họ C # / VB (hoặc ngôn ngữ
khác) với Razor, và cung cấp một cú pháp đánh dấu mẫu cho phép xây dựng một công
ườ
việc HTML tuyệt vời với ngôn ngữ mà bạn lựa chọn .
+ Làm việc với bất kỳ các trình soạn thảo văn bản : Razor không đòi hỏi
Tr
một công cụ cụ thể và cho phép bạn làm việc hiệu quả trong bất kỳ trình soạn thảo văn
bản nào ( Một sự lựa chọn tuyệt vời cho notepad) .
+ Có một cấu trúc nhắc lệnh tuyệt vời : Trong khi Razor đã được thiết kế
để không cần một công cụ biên tập hoặc mã cụ thể, nó sẽ rất tuyệt vời với hỗ trợ hoàn
thành câu lệnh trong Visual Studio. Microsoft sẽ cập nhật Visual Studio 2010 và
Visual Web Developer 2010 , có đầy đủ biên tập nhắc lệnh cho nó.
SVTH: Trần Hoàng Linh
14
Khóa luận tốt nghiệp đại học
+ Đơn vị kiểm chứng : Việc hoàn tất xem phương pháp mới sẽ hỗ trợ khả
năng kiểm tra từng đơn vị ( mà không đòi hỏi một bộ điều khiển hoặc máy chủ web ,
và có thể được lưu trữ trong bất kỳ dự án thử nghiệm đơn vị nào - không cần thiết có
ứng dụng tên miền đặc biệt ) .
uế
- Controllers(Bộ điều khiển): Controller là các thành phần dùng để quản lý
tương tác người dùng, làm việc với model và chọn view để hiển thị giao diện người
tế
H
dùng. Trong một ứng dụng MVC, view chỉ được dùng để hiển thị thông tin, controller
chịu trách nhiệm quản lý và đáp trả nội dung người dùng nhập và tương tác với người
dùng. Ví dụ, controller sẽ quản lý các dữ liệu người dùng gởi lên (query-string values)
và gởi các giá trị đó đến model, model sẽ lấy dữ liệu từ CSDL nhờ vào các giá trị này.
in
h
Mẫu MVC giúp bạn tạo được các ứng dụng mà chúng phân tách rạch ròi các
khía cạnh của ứng dụng (logic về nhập liệu, logic xử lý tác vụ và logic về giao diện).
cK
Mẫu MVC chỉ ra mỗi loại logic kể trên nên được thiếp lập ở đâu trên ứng dụng. Logic
giao diện (UI logic) thuộc về views. Logic nhập liệu (input logic) thuộc về controller.
Và logic tác vụ (Business logic – là logic xử lý thông tin, mục đích chính của ứng
họ
dụng) thuộc về model. Sự phân chia này giúp bạn giảm bớt được sự phức tạp của ứng
dụng và chỉ tập trung vào mỗi khía cạnh cần được cài đặt ở mỗi thời điểm. Ví dụ như
Đ
ại
bạn chỉ cần tập trung vào giao diện (views) mà không phải quan tâm đến logic xử lý
thông tin của ứng dụng.
Để quản lý sự phức tạp của ứng dụng, mẫu MVC giúp cho chúng ta có thể kiểm
ng
thử ứng dụng dễ dàng hơn hẳn so với khi áp dụng mẫu Web Forms. Ví dụ, trong một
ứng dụng ASP.NET Web Forms, một lớp thường được sử dụng để hiển thị thông tin
ườ
xuất ra cho người dùng và đồng thời xử lý thông tin người dùng nhập. Việc xây dựng
các bộ test tự động cho ứng dụng Web Forms là rất phức tạp, bởi để kiểm thử mỗi
Tr
trang web, bạn phải khởi tạo đối tượng trang, khởi tạo tất cả các control được sử dụng
trong trang và các lớp phụ thuộc trong ứng dụng. Và bởi vì có quá nhiều lớp cần được
khởi tạo để chạy được trang, thật khó để có thể viết các test chỉ tập trung vào một khía
cạnh nào đó của ứng dụng. Và vì thế, kiểm thử đối với các ứng dụng dứa trên nền tảng
Web Forms sẽ khó khăn hơn nhiều so với khi áp dụng trên ứng dụng MVC. Hơn thế
nữa, việc kiểm thử trên nền tảng Web Forms yêu cầu phải sử dụng đến web server.
SVTH: Trần Hoàng Linh
15
Khóa luận tốt nghiệp đại học
Nền tảng MVC phân tách các thành phần và sử dụng các interface (khái niệm giao
diện trong lập trình hướng đối tượng), và nhờ đó có thể kiểm thử các thành phần riêng
biệt trong tình trạng phân lập với các yếu tố còn lại của ứng dụng.
Sự phân tách rạch ròi ba thành phần của ứng dụng MVC còn giúp cho việc lập
uế
trình diễn ra song song. Ví dụ như một lập trình viên làm việc với view, lập trình viên
thứ hai lo cài đặt logic của controller và lập trình viên thứ ba có thể tập trung vào logic
tế
H
tác vụ của model tại cùng một thời điểm.
1.2.4. So sánh ASP.NET MVC và ASP.NET Web Form
Nền tảng ASP.NET MVC mang lại những lợi ích sau:
in
thành phần model, view, controller
h
- Dễ dàng quản lý sự phức tạp của ứng dụng bằng cách chia ứng dụng thành ba
- Nó không sử dụng view state hoặc server-based form. Điều này tốt cho những
cK
lập trình viên muốn quản lý hết các khía cạnh của một ứng dụng.
- Nó sử dụng mẫu Front Controller, mẫu này giúp quản lý các requests (yêu
họ
cầu) chỉ thông qua một Controller. Nhờ đó bạn có thể thiết kế một hạ tầng quản lý định
tuyến. Để có nhiều thông tin hơn, bạn nên xem phần Front Controller trên web site
MSDN.
Đ
ại
- Hỗ trợ tốt hơn cho mô hình phát triển ứng dụng hướng kiểm thử (TDD).
- Nó hỗ trợ tốt cho các ứng dụng được xây dựng bởi những đội có nhiều lập
trình viên và thiết kế mà vẫn quản lý được tính năng của ứng dụng.
ng
Nền tảng ASP.NET webform mang lại những lợi ích sau:
- Nó hỗ trợ cách lập trình hướng sự kiện, quản lý trạng thái trên giao thức
ườ
HTTP, tiện dụng cho việc phát triển các ứng dụng web phục vụ kinh doanh. Các ứng
dụng trên nền tảng Web Forms cung cấp hàng tá các sự kiện được hỗ trợ bởi hàng trăm
Tr
các server controls.
- Sử dụng mẫu Page Controller. Xem thêm ở mục Page Controller trên MSDN.
- Mô hình này sử dụng view state hoặc server-based form, nhờ đó sẽ giúp cho
việc quản lý trạng thái các trang web dễ dàng.
SVTH: Trần Hoàng Linh
16
Khóa luận tốt nghiệp đại học
- Nó rất phù hợp với các nhóm lập trình viên quy mô nhỏ và các thiết kế, những
người muốn tận dụng các thành phần giúp xây dựng ứng dụng một cách nhanh chóng.
- Nói tóm lại, áp dụng Web Forms giúp giảm bớt sự phức tạp trong xây dựng
ứng dụng, bởi vì các thành phần (lớp Page, controls,…) được tích hợp chặc chẽ và
uế
thường thì giúp bạn viết ít code hơn là áp dụng theo mô hình MVC.
1.2.5. Xây dựng ứng dụng theo mô hình 3 lớp
tế
H
Mô hình 3 lớp được cấu thành từ: Presentation Layers, Business Layers, và
Data Layers. Các lớp này sẽ giao tiếp với nhau thông qua các dịch vụ (services) mà
mỗi lớp cung cấp để tạo nên ứng dụng, lớp này cũng không cần biết bên trong lớp kia
làm gì mà chỉ cần biết lớp kia cung cấp dịch vụ gì cho mình và sử dụng nó mà thôi.
Hình 1.2: Kiến trúc mô hình 3 lớp
ườ
ng
Đ
ại
họ
cK
in
h
Kiến trúc mô hình 3 lớp :
Tr
- Presentation Layers
Lớp này làm nhiệm vụ giao tiếp với người dùng cuối để thu thập dữ liệu và hiển
thị kết quả/dữ liệu thông qua các thành phần trong giao diện người sử dụng. Lớp này
sẽ sử dụng các dịch vụ do lớp Business Logic cung cấp. Ở đây tác giả sử dụng MVC
làm lớp Presentation Layers.
- Business Logic Layer
SVTH: Trần Hoàng Linh
17
Khóa luận tốt nghiệp đại học
Lớp này thực hiện các nghiệp vụ chính của hệ thống, sử dụng các dịch vụ do
lớp Data Access cung cấp, và cung cấp các dịch vụ cho lớp Presentation. Lớp này
cũng có thể sử dụng các dịch vụ của các nhà cung cấp thứ 3 để thực hiện công việc của
mình. Lớp này thường được dùng để mô tả đối tượng và xử lý các lỗi về cú pháp ngoại
uế
lệ (regular exception).
- Data Layers
tế
H
Lớp này thực hiện các nghiệp vụ liên quan đến lưu trữ và truy xuất dữ liệu của
ứng dụng.
1.2.6. Entity framework và Code first migration
h
ADO.NET Entity Framework (EF) được Microsoft đưa ra từ phiên bản .NET
in
3.5 tích hợp với Visual Studio 2008. Trọng tâm của EF là Entity Data Model, một mô
hình mẫu cho miền ứng dụng (application domain) của bạn ánh xạ ngược trở lại vào
cK
đồ hình (schema) của CSDL của bạn. Mô hình mẫu này mô tả các lớp chính (core
class) trong ứng dụng của bạn. EF sử dụng mô hình mẫu này trong khi truy vấn từ
họ
CSDL, tạo các đối tượng từ dữ liệu và sau đó đưa các thay đổi ngược trở lại vào
CSDL.
Việc mô hình hóa (modeling) với Entity Framework trước khi có Code First.
Đ
ại
Phiên bản đầu tiên của EF cho phép lập trình viên tạo mô hình mẫu bằng cách
dùng kĩ thuật đảo ngược (reverse engineering) một CSDL đang có vào một tập tin
XML. Tập tin XML này sử dụng phần mở rộng EDMX và bạn có thể sử dụng designer
ng
để xem và tinh chỉnh mô hình sao cho thích hợp nhất với domain của bạn. Visual
Studio 2010 và .NET 4 mang đến phiên bản thứ 2 của EF, được đặt tên là Entity
ườ
Framewoork 4 (EF4), để phù hợp với phiên bản .NET. Về mặt mô hình hóa, một tính
năng mới gọi là Model First được đưa vào. Tại đây, chúng ta có thể thiết kế mô hình
Tr
mẫu của bạn trong visual designer và sau đó tạo CSDL dựa trên mô hình này.
Model First cho phép lập trình viên làm việc trên các dự án (project) mới mà
không phải phụ thuộc vào dữ liệu để tận dụng khả năng của EF. Lập trình viên có thể
bắt đầu với việc tập trung vào miền ứng dụng (application domain) bằng việc thiết kế
mô hình mẫu và để CSDL tự động tạo theo như quy trình.
SVTH: Trần Hoàng Linh
18
- Xem thêm -