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

Xây dựng hệ thống quản lý thông tin sinh viên tại trường đại học kinh tế đại học huế

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 (975.35 KB, 48 trang )

u

AI HOĩC HU
TRặèNG AI HOĩC KINH T
KHOA H THNG THNG TIN KINH T
..... .....

t
H

KHOẽA LUN TT NGHIP AI
HOĩC


i

h

cK

in

h

XY DNG H THNG QUN Lí THễNG TIN SINH VIấN
TI TRNG I HC KINH T - I HC HU

Tr




ng

Sinh vión thổỷc hióỷn: Giaớng vión hổồùng dỏựn:
NGUYN TRUNG LAèNH ThS. NGUYN THANH TUN
Nión khoùa: 2010 - 2014

Huó,ỳ than
ù g 5 nm 2014


Khóa luận tốt nghiệp đại học

uế

GVHD: ThS. Nguyễn Thanh Tuấn

tế
H

Em xin gởi lời cảm ơn chân thành và sự tri ân sâu
sắc đối với các thầy cô của trường Đại học Kinh Tế Đại học Huế, đặc biệt là các thầy cô khoa Hệ thống

in

h

Thông tin Kinh tế của trường đã tạo điều kiện cho em
thực tập ở khoa để có nhiều thời gian cho khóa luận

cK


tốt nghiệp. Và em cũng xin chân thành cám ơn thầy
Nguyễn Thanh Tuấn đã nhiệt tình hướng dẫn hướng

họ

dẫn em hoàn thành tốt khóa thực tập.

Đ
ại

Trong quá trình thực tập, cũng như là trong quá
trình làm bài báo cáo, khó tránh khỏi sai sót, rất
mong các Thầy, Cô bỏ qua. Đồng thời do trình độ lý

ng

luận cũng như kinh nghiệm thực tiễn còn hạn chế
nên bài báo cáo không thể tránh khỏi những thiếu

Tr

ườ

sót, em rất mong nhận được ý kiến đóng góp Thầy,
Cô để em học thêm được nhiều kinh nghiệm và sẽ
hoàn thành tốt hơn bài báo cáo tốt nghiệp sắp tới.

Em xin chân thành cảm ơn!
Huế, ngày 19 tháng 5 năm 2013

Sinh viên

Sinh viên thực hiện: Nguyễn Trung Lành

i


Khóa luận tốt nghiệp đại học

GVHD: ThS. Nguyễn Thanh Tuấn

Nguyễn Trung Lành

MỤC LỤC

uế

Trang

tế
H

LỜI CẢM ƠN .................................................................................................................i

MỤC LỤC ......................................................................................................................ii
DANH MỤC CÁC KÝ HIỆU VÀ CHỮ VIẾT TẮT.................................................iv
DANH MỤC CÁC HÌNH VẼ, SƠ ĐỒ, BIỂU ĐỒ......................................................v

h


DANH MỤC CÁC BẢNG............................................................................................vi

in

ĐẶT VẤN ĐỀ.................................................................................................................1
1. Lý do chọn đề tài.......................................................................................................1

cK

2. Mục tiêu chọn đề tài..................................................................................................2
3. Đối tượng và phạm vi nghiên cứu ............................................................................2

họ

4. Phương pháp nghiên cứu ..........................................................................................2
5. Nội dung nghiên cứu.................................................................................................3
PHẦN II: NỘI DUNG VÀ KẾT QUẢ NGHIÊN CỨU..............................................4

Đ
ại

CHƯƠNG I: CƠ SỞ LÝ LUẬN VỀ XÂY DỰNG HỆ THỐNG QUẢN LÝ
THÔNG TIN SINH VIÊN ............................................................................................4
1.1. Khái niệm về hệ thống, hệ thống thông tin quản lý .................................................4

ng

1.1.1. Khái niệm hệ thống...............................................................................................4
1.1.2. Hệ thống quản lý...................................................................................................4


ườ

1.1.3. Hệ thống thông tin (Information System) ............................................................4
1.2. Giới thiệu các công cụ để xây dựng hệ thống quản lý..............................................5

Tr

1.2.1. Nền tảng Microsoft .Net (Microsoft .Net Platform).............................................5
1.2.1.1. Các công cụ phát triển ........................................................................................5
1.2.1.2. Cơ sở hạ tầng HGH máy phục vụ (Server) ......................................................15
1.2.2. Twitter Bootstrap ................................................................................................16
1.2.3. Bộ công cụ Jquery và Ajax.................................................................................16

Sinh viên thực hiện: Nguyễn Trung Lành

ii


Khóa luận tốt nghiệp đại học

GVHD: ThS. Nguyễn Thanh Tuấn

1.2.4. Mô hình 3 lớp MVC ...........................................................................................17
CHƯƠNG II: KHẢO SÁT VÀ PHÂN TÍCH HIỆN TRẠNG HỆ THỐNG QUẢN
LÝ SINH VIÊN CỦA TRƯỜNG ĐẠI HỌC KINH TẾ - ĐẠI HỌC HUẾ .................20
2.1. Khảo sát hệ thống ...................................................................................................20

uế

2.1.1. Tổng quan về trường Đại học kinh tế - Đại học Huế ..........................................20

2.1.2. Chương trình đào tạo ...........................................................................................21

tế
H

2.1.3. Khóa học..............................................................................................................22
2.2. Phân tích hiện trạng hệ thống .................................................................................22
2.2.1. Những vẫn đề trong công tác quản lý thông tin sinh viên của trường ................22
2.3. Mô tả hệ thống quản lý thông tin sinh viên ............................................................23

in

h

CHƯƠNG III: XÂY DỰNG HỆ THỐNG QUẢN LÝ THÔNG TIN SINH VIÊN
TẠI TRƯỜNG ĐẠI HỌC KINH TẾ - ĐẠI HỌC HUẾ ..........................................23

cK

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
Kinh Tế Huế ..................................................................................................................24
3.1.1. Sơ đồ phân rã chức năng hệ thống (BFD – Business Funtion Diagram) ............24

họ

3.1.2. Sơ đồ ngữ cảnh (Context Diagram).....................................................................25
3.1.3. Sơ đồ luồng dữ liệu (DFD – Data Flow Diagram) ..............................................25

Đ
ại


3.2. Thiết kế hệ thống ....................................................................................................26
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ể........................26
3.2.2. Xác định mối quan hệ giữa các thực thể .............................................................28

ng

3.3. Một số sơ đồ giải thuật chính của hệ thống...........................................................35
3.3.1. Thêm thông tin sinh viên .....................................................................................35

ườ

3.3.2. Tìm kiếm thông tin cá nhân.................................................................................36
3.3.3. Đăng nhập hệ thống.............................................................................................36

Tr

3.3.4. Phân quyền nhóm tài khoản ................................................................................37
3.4. Giao diện hệ thống..................................................................................................38
KẾT LUẬN ..................................................................................................................40
TÀI LIỆU THAM KHẢO

Sinh viên thực hiện: Nguyễn Trung Lành

iii


Khóa luận tốt nghiệp đại học

GVHD: ThS. Nguyễn Thanh Tuấn


DANH MỤC CÁC KÍ KIỆU, THUẬT NGỮ VÀ CHỮ VIẾT TẮT

Tên đầy đủ/Thuật ngữ

Ý nghĩa

Active Server Page

CLR

Common Language Runtime

CSDL

Cơ sở dữ liệu

uế

Một tài liệu chứa cả ngữ pháp của

ASP

HTML lẫn những cấu trúc script
Bộ thực thi ngôn ngữ chung

tế
H

Tên viết tắt


Ngôn ngữ định nghĩa các khái niệm

Language

trong cơ sở dữ liệu

DLL

Dynamic Link Library

Thư viện liên kết động

DI

Dependency Injection

EF

Entity Framework

HTML

HyperText Markup Language

Ngôn ngữ Đánh dấu Siêu văn bản

IL

Microsoft Intermediate Language


Ngôn ngữ trung gian Microsoft

IoC

Inversion of Control

Nguyên lý đảo ngược điều khiển

in

Chống lại sự phụ thuộc

cK

họ

Mapping specification language

Models - Views - Controllers

ng

MVC

Đ
ại

MSL


h

Conceptual Schema Definition

CSDL

Nền tảng entity

Ngôn ngữ định nghĩa các ánh xạ giữa
các lớp
Mô hình Kiểu mẫu - Bảng xem - Bộ
điều khiển

Object/Relational Mapping

Đối tượng/Bản đồ quan hệ

SOAP

Simple Object Access Protocol

Giao thức truy cập đối tượng đơn giản

Store Schema Definition

Ngôn ngữ định nghĩa mô hình lưu trữ

Language

của dữ liệu


URL

Uniform Resource Locator

Định vị Tài nguyên thống nhất

XML

eXtensible Markup Language

Ngôn ngữ Đánh dấu Mở rộng

ườ

ORM

Tr

SSDL

Sinh viên thực hiện: Nguyễn Trung Lành

iv


Khóa luận tốt nghiệp đại học

GVHD: ThS. Nguyễn Thanh Tuấn


DANH MỤC CÁC HÌNH VẼ, SƠ ĐỒ, BIỂU ĐỒ
Hình 1. 1. Mô hình ASP.Net MVC .................................................................................8
Bảng 1.1. So sánh những lợi ích giữa ASP.Net MVC và ASP.Net Webform ..............11

uế

Hình 1.2. Kiến trúc của mô hình Entity Framework .....................................................12
Bảng 1.2. Bảng ánh xạ tương đương sau giữa các đối tượng trong database và EF.....13

tế
H

Hình 1. 3. Các cách làm việc với Entity Framework ....................................................15
Hình 1. 4. Mô hình của 2 phiên bản MVC ....................................................................18
Hình 1.5. Mô hình 3 lớp 3-layers ..................................................................................19

h

Hình 1.6. Mô hình 3 lớp MVC ......................................................................................19

in

Hình 2.1. Cơ cấu tổ chức của Trường ...........................................................................20
Hình 3.1. Sơ đồ phân rã chức năng của hệ thống..........................................................24

cK

Hình 3.3. Sơ đồ luồng dữ liệu DFD ..............................................................................25
Hình 3.2. Sơ đồ ngữ cảnh của hệ thống.........................................................................25


họ

Hình 3.4. Mối quan hệ giữa các thực thể.......................................................................28
Hình 3.6. Lược đồ cơ sở dữ liệu quan hệ ......................................................................34
Hình 3.7. Sơ đồ hoạt động thêm thông tin sinh viên .....................................................35

Đ
ại

Hình 3.8. Sơ đồ hoạt động tìm kiếm thông tin sinh viên...............................................36
Hình 3.9. Sơ đồ hoạt động đăng nhập hệ thống ............................................................36
Hình 3.10. Sơ đồ hoạt động phân quyền nhóm tài khoản .............................................37

ng

Hình 3.11. Giao diện hệ thống quản lý sinh viên ..........................................................38
Hình 3.12. Giao diện thêm mới sinh viên......................................................................38

ườ

Hình 3.13. Giao diện chỉnh sửa thông tin sinh viên ......................................................39

Tr

Hình 3.14. Giao diện trang thông tin sinh viên .............................................................39

Sinh viên thực hiện: Nguyễn Trung Lành

v



Khóa luận tốt nghiệp đại học

GVHD: ThS. Nguyễn Thanh Tuấn

DANH MỤC BẢNG BIỂU

Bảng 1.1. So sánh những lợi ích giữa ASP.Net MVC và ASP.Net Webform ..............11

Tr

ườ

ng

Đ
ại

họ

cK

in

h

tế
H

uế


Bảng 1.2. Bảng ánh xạ tương đương sau giữa các đối tượng trong database và EF.....13

Sinh viên thực hiện: Nguyễn Trung Lành

vi


Khóa luận tốt nghiệp đại học

GVHD: ThS. Nguyễn Thanh Tuấn

ĐẶT VẤN ĐỀ
1. Lý do chọn đề tài
Vào năm 2008, Trường Đại học Kinh tế - Đại học Huế đã quyết định chuyển

uế

đổi chương trình đào tạo truyền thống sang chương trình đào tạo theo học chế tín chỉ
cho các sinh viên hệ chính quy của trường.

tế
H

Học chế tín chỉ được xây dựng nhằm tạo ra mối quan hệ mềm dẻo trong quá
trình dạy và học; giữa giảng viên và sinh viên với những yêu cầu: giảng dạy cụ thể về

nội dung chương trình đào tạo từ phía nhà trường, giảng viên kết hợp với tính chủ
động trong việc tự hoạch định kế hoạch học tập của cá nhân sinh viên nhằm đạt đến


h

mục đích cao nhất là hiệu quả cao trong đào tạo. Về công tác công tác quản lý sinh

in

viên, dưới khía cạnh là những phương diện hoạt động công ích của nhà trường nhằm

trong quá trình học tập tại trường.

cK

quản lý, tư vấn, hướng dẫn, trợ giúp sinh viên thực hiện quyền và nghĩa vụ của mình

Như vậy, công tác quản lý sinh viên sẽ bao gồm tất cả tiện ích do nhà trường

họ

cung cấp nhằm tạo điều kiện cho sinh viên thực hiện quyền và nghĩa vụ của mình từ
khi trúng tuyển vào trường cho đến khi ra trường; từ hoạt động học tập của sinh viên

Đ
ại

cho đến hoạt động rèn luyện đạo đức, nhân cách, thể chất; từ việc sinh viên thực hiện
những quy định bắt buộc cho đến việc chủ động, tích cực thực hiện trong điều kiện
cho phép sinh viên lựa chọn, yêu cầu. Ở góc độ này, người quản lý sinh viên thực hiện
công tác hỗ trợ sinh viên có tính hệ thống, tư vấn, hỗ trợ trên nhiều mặt liên quan đến

ng


các bộ phận chức năng chủ yếu là: Phòng Đào tạo Đại học, phòng Công tác Sinh viên .

ườ

Trong đó, phòng Công tác Sinh Viên đóng vai trò quan trọng trong công tác hỗ trợ các
hoạt động ngoại khóa, nội trú, việc làm,... cho sinh viên.
Do vậy, đề tài “Xây dựng hệ thống Quản lý Thông tin Sinh viên tại

Tr

Trường Đại học Kinh tế - Đại học Huế” được thực hiện nhằm giúp cho Phòng
Đào tạo Đại học - Công tác sinh viên đá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 quản lý và
đào tạo của Nhà trường.

Sinh viên thực hiện: Nguyễn Trung Lành

1


Khóa luận tốt nghiệp đại học

GVHD: ThS. Nguyễn Thanh Tuấn

2. Mục tiêu chọn đề tài
* Mục tiêu tổng quát:
Trên cơ sở nghiên cứu quy trình quản lý thông tin sinh viên, các kĩ thuật xây


viên phục vụ cho công tác quản lý của Trường Đại học Kinh tế.
* Mục tiêu cụ thể:

tế
H

- Nghiên cứu cơ sở lý thuyết về hệ thống thông tin quản lý.

uế

dựng hệ thống theo mô hình ba lớp, tác giả xây dựng hệ thống quản lý thông tin sinh

- Xây dựng và thiết kế phần mềm theo mô hình MVC

- Xây dựng hệ thống quản lý thông tin sinh viên áp dụng cho Trường Đại học

h

Kinh tế - Đại học Huế bao gồm:

- Quản lý thông tin tuyển sinh

in

- Quản lý thông tin cá nhân

- Quản lý hồ sơ sinh viên

cK


- Quản lý các thông tin khác liên quan đến sinh viên

họ

3. Đối tượng và phạm vi nghiên cứu
Đối tượng nghiên cứu:

Đ
ại

- 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 của quản lý thông tin sinh viên của trường

ng

Đại học Kinh Tế Huế.
- Mô hình MVC

ườ

Phạm vi nghiên cứu:
- Phạm vi không gian: Tại trường Đại học Kinh tế- Đại học Huế

Tr

- Phạm vi thời gian: Từ ngày 10/02/2014 đến ngày 18/05/2014.

4. Phương pháp nghiên cứu
Các phương pháp trong quá trình phân tích thiết kế hệ thống, nhằm nghiên cứu


và xây dựng hệ thống quản lý thông tin sinh viên:
- Phương pháp lập trình hướng đối tượng sử dụng ASP.Net, C#.

Sinh viên thực hiện: Nguyễn Trung Lành

2


Khóa luận tốt nghiệp đại học

GVHD: ThS. Nguyễn Thanh Tuấn

- Phương pháp xây dựng ứng dụng theo mô hình MVC
- 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
quản lý qua các tài liệu như sách, bài viết, video, slide,...
5. Nội dung nghiên cứu

uế

Ngoài phần mở đầu và kết luận, nội dung khóa luận gồm 3 chương:

tế
H

Chương I: Cơ sở lý luận về xây dựng hệ thống quản lý thông tin sinh viên

Chương này sẽ giới thiệu tổng quan hệ thống quản lý thông tin sinh viên, 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
thông tin quản lý.


in

viên tại trường Đại học Kinh tế - Đại học Huế.

h

Chương II: Khảo sát và phân tích hiện trạng hệ thống quản lý thông tin sinh

cK

Chương này sẽ nói rõ về thực trạng hệ thống quản lý Thông tin Sinh viên tại
Trường Đại học Kinh tế – Đại học Huế.

Chương III: Xây dựng Hệ thống quản lý thông tin sinh viên tại Trường Đại

họ

học Kinh tế - Đại học Huế

Chương 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ư

Đ
ại

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ể

Tr

ườ


ng

- mối quan hệ, thiết kế CSDL, các quy trình chính, giao diện.

Sinh viên thực hiện: Nguyễn Trung Lành

3


Khóa luận tốt nghiệp đại học

GVHD: ThS. Nguyễn Thanh Tuấn

PHẦN II: NỘI DUNG VÀ KẾT QUẢ NGHIÊN CỨU
CHƯƠNG I: CƠ SỞ LÝ LUẬN VỀ XÂY DỰNG

1.1. Khái niệm về hệ thống, hệ thống thông tin quản lý

tế
H

1.1.1. Khái niệm hệ thống

uế

HỆ THỐNG QUẢN LÝ THÔNG TIN SINH VIÊN

Hệ thống là tập hợp các phần tử có những mối quan hệ ràng buộc lẫn nhau cùng
hoạt động chung cho một số mục tiêu nào đó. Trong hoạt động có trao đổi vào ra với

môi trường ngoài

h

1.1.2. Hệ thống quản lý

in

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

cK

ích nào đó. Đặc điểm của hệ thống là có sự tham gia của con người và có trao đổi
thông tin.

Hệ thống quản lý chia thành hai hệ thống con:

họ

- Hệ tác nghiệp (trực tiếp sản xuất): Gồm con người, phương tiện, phương pháp
trực tiếp thực hiện mục tiêu đã đề ra.

Đ
ại

- Hệ quản lý (gián tiếp sản xuất): Gồm con người, phương tiện, phương pháp
cho phép điều khiển hoạt động của hệ thống.
Hệ này lại chia thành hai hệ con:

ng


+ Hệ quyết định: Đưa ra các quyết định
+ Hệ xử lý thông tin: Xử lý thông tin

ườ

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ý

Tr

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:
- 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ý: 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à ra quyết định.
Sinh viên thực hiện: Nguyễn Trung Lành

4


Khóa luận tốt nghiệp đại học

GVHD: ThS. Nguyễn Thanh Tuấn

- 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


1.2. Giới thiệu các công cụ để xây dựng hệ thống quản lý

tế
H

1.2.1. Nền tảng Microsoft .Net (Microsoft .Net Platform)

uế

một cách thông minh.

.Net là nền tảng của Microsoft cho các dịch vụ Web XML, là thế hệ phần mềm
kế tiếp kết nối thế giới thông tin, các thiết bị và tất cả mọi người trong một thể thống
nhất. Nền tảng .Net cho phép tạo ra và sử dụng các ứng dụng, các quá trình và các

h

trang web dựa trên XML như những dịch vụ chia xẻ, kết nối thông tin và hoạt động

in

cùng nhau, trên bất cứ nền tảng hay thiết bị thông minh nào, nhằm mục đích cung cấp

cK

những giải pháp theo yêu cầu cho các tổ chức và các cá nhân riêng biệt. Nền tảng .Net
của Microsoft đưa ra các công nghệ, các công cụ và sản phẩm để tạo ra và chạy các
dịch vụ Web.


họ

1.2.1.1. Các công cụ phát triển

.Net nền tảng và Visual Studio.Net là các công cụ cho những người phát triển

Đ
ại

để tạo ra các dịch vụ Web XML. .Net Framework là một tập hợp những giao diện lập
trình và là tâm điểm của nền tảng .Net của Microsoft. Nó cung cấp cơ sở hạ tầng để
xây dựng và chạy các dịch vụ Web.

ng

* Visual Studio .Net

Visual Studio.Net cung cấp một môi trường phát triển mức cao để xây dựng các

ườ

ứng dụng trên .Net Framework. Với bộ Visual Studio.Net chúng ta có thể đơn giản hoá
việc tạo, triển khai và tiếp tục phát triển các ứng dụng Web và các dịch vụ Web có sẵn

Tr

một cách an toàn, bảo mật và khả nǎng biến đổi được. Visual Studio.Net là một bộ đa
ngôn ngữ các công cụ lập trình. Ngoài C# (Visual C#.Net), Visual Studio.Net còn hỗ
trợ Visual Basic, Visual C++, Visual J#.Net và các ngôn ngữ script như VBScript và
JScript. Tất cả các ngôn ngữ này đều cho phép truy cập vào .Net Framework, phần này

sẽ được thảo luận ở mục tiếp sau.

Sinh viên thực hiện: Nguyễn Trung Lành

5


Khóa luận tốt nghiệp đại học

GVHD: ThS. Nguyễn Thanh Tuấn

Visual C# .Net là một ngôn ngữ lập trình đơn giản, hiện đại, hướng đối tượng
an toàn kiểu (type-safe) và có nguồn gốc từ các ngôn ngữ C và C++. C# là một ngôn
ngữ rất thân thiện với người lập trình C và C++. C# là kết quả của việc kết hợp hiệu
nǎng cao của Visual Basic và sức mạnh của C++. C# được Microsoft giới thiệu để xây

uế

dựng với Web và đòi hỏi quyền được cung cấp một môi trường đồng bộ với HTML,
XML và SOAP. Tóm lại C# là một ngôn ngữ lập trình hiện đại và là một môi trường

tế
H

phát triển đầy tiềm nǎng để tạo ra các dịch vụ Web XML, các ứng dụng dựa trên

Microsoft .Net và cho cả nền tảng Microsoft Windows cũng như tạo ra các ứng dụng
Internet thế hệ kế tiếp một cách nhanh chóng và hiệu quả.
* Nền tảng .Net


in

h

.Net Framework là động cơ tạo các dịch vụ Web XML của Microsoft. .Net
Framework là một tập những giao diện lập trình và là tâm điểm của nền tảng .Net. Nó

cK

cung cấp cơ sở hạ tầng để xây dựng và chạy các dịch vụ Web. .Net Framework bao
gồm ba thành phần chính là Bộ Thực Thi Ngôn Ngữ Chung (Common Language
Runtime), The Các Lớp Thư Viện Cơ Sở (The Base Classes) và Các ứng dụng Web

họ

(ASP.Net).

* Common Language Runtime (Bộ thực thi ngôn ngữ chung)

Đ
ại

Common Language Runtime (CLR) là trung tâm điểm của .Net Framework.
Đây là một "hầm máy" để chạy các tính nǎng của .Net. Trong .Net tất cả mọi ngôn ngữ
lập trình đều được biên dịch ra Microsoft Intermediate Language (IL). Do bắt buộc

ng

mọi ngôn ngữ đều phải dùng cùng các loại kiểu dữ liệu (gọi là Common Type System
hay hệ thống kiểu chung) nên CLR có thể kiểm soát mọi giao diện, gọi giữa các thành


ườ

phần và cho phép các ngôn ngữ có thể tích hợp với nhau một cách thông suốt.
Khi chạy một ứng dụng .Net, nó sẽ được biên dịch bằng một bộ biên dịch JIT

Tr

(Just-In-Time có nghĩa chỉ phần mã cần xử lý mới được biên dịch) rất hiệu nǎng ra mã
máy để chạy. Điểm này giúp ứng dụng .Net chạy nhanh hơn mã thông dịch của Java
trong máy ảo Java (Java Virtual Machine). Just-In-Time cũng có nghĩa là chỉ phần mã
nào cần xử lý trong lúc ấy mới được biên dịch.
Ngoài việc cung cấp và quản lý bộ nhớ, CLR còn xử lý công việc "gom rác"
(garbage collection). Trước đây mỗi khi một “Thư viện liên kết động” (DLL) được nạp
Sinh viên thực hiện: Nguyễn Trung Lành

6


Khóa luận tốt nghiệp đại học

GVHD: ThS. Nguyễn Thanh Tuấn

vào bộ nhớ, hệ thống sẽ ghi nhận có bao nhiêu tác vụ dùng nó để khi tác vụ cuối cùng
chấm dứt thì hệ thống giải phóng DLL này và trả lại phần bộ nhớ nó dùng trước đây
cho hệ thống để dùng vào việc khác. Nếu chương trình cung cấp (allocate) bộ nhớ để
sử dụng mà không nhớ giải phóng (dispose) thì đến một lúc nào đó bộ nhớ sẽ bị "cạn"

uế


và chúng ta sẽ phải khởi động lại hệ điều hành. Và bây giờ, .Net sử dụng một quá trình
độc lập để xử lý việc "gom rác". Tác động phụ ở đây là khi ta đã "dispose" một đối

tế
H

tượng rồi, ta vẫn không biết chắc chắn chừng nào nó mới thực sự biến mất. Vì bộ phận

"gom rác" là một quá trình ưu tiên mức thấp, chỉ khi nào bộ nhớ hệ thống gần "cạn" nó
mới nâng cao độ ưu tiên l ên. Ngoài "gom rác", CLR còn thực hiện các chức nǎng
khác như bảo mật. Các dịch vụ chung này đều được quản lý một cách tự động.

in

h

Như vậy là bộ thực thi ngôn ngữ chung CLR cho phép việc phát triển các ứng
dụng một cách dễ dàng hơn, cung cấp một môi trường thực thi an toàn và hiệu nǎng,

cK

hỗ trợ đa ngôn ngữ và đơn giản hoá việc triển khai và quản lý các ứng dụng.
* Các lớp cơ sở (The Base Classes)

Các lớp cơ sở cho cho chúng ta những đặc tính của runtime (thực hiện) và cung

họ

cấp những dịch vụ cấp cao khác mà những người lập trình đòi hỏi thông qua
namespace. Namespace là một cách đặt tên để giúp sắp đặt các lớp (class) ta dùng


Đ
ại

trong chương trình một cách thứ tự để dễ tìm kiếm chúng. Tất cả các mã (code) trong
.Net, được viết bằng VB.Net, C# hay một ngôn ngữ nào khác đều được chứa trong một
namespace.

ng

* ASP.Net MVC

- Tổng quan về ASP.Net MVC:

ườ

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

Tr

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 Form. Nền tảng ASP.NET MVC có đặc điểm nổi bật 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
namespace System.Web.Mvc và là một phần của name space System.Web.

Sinh viên thực hiện: Nguyễn Trung Lành


7


Khóa luận tốt nghiệp đại học

GVHD: ThS. Nguyễn Thanh Tuấn

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

họ

cK

in

h

tế
H

uế

dụng kết hợp cả hai kiến trúc trên.

Đ
ại

Hình 1. 1. Mô hình ASP.Net MVC


Nền tảng MVC bao gồm các thành phần dưới đây:
- Models: Các đối tượng Models là một phần của ứng dụng, các đối tượng này

ng

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

Tr

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 khong 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).
- 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
Sinh viên thực hiện: Nguyễn Trung Lành

8


Khóa luận tốt nghiệp đại học


GVHD: ThS. Nguyễn Thanh Tuấn

để 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 check
box dựa trên trạng thái hiện tại của một đối tượng Product.
- Controllers: 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 dùng. Trong một

uế

ứ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ụ,

tế
H

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.

Mẫu MVC giúp ta 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). Mẫu

in

h

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à

cK


logic tác vụ (Business logic – là logic xử lý thông tin, mục đích chính của ứng dụng)
thuộc về model. Sự phân chia này giúp chúng ta 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ư

lý thông tin của ứng dụng.

họ

chúng ta chỉ cần tập trung vào giao diện (views) mà không phải quan tâm đến logic xử

Đ
ại

Để quản lý sự phức tạp của ứng dụng, mẫu MVC giúp cho ta có thể kiểm 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

ng

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 trang

ườ

web, chúng ta 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

Tr

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

Sinh viên thực hiện: Nguyễn Trung Lành

9


Khóa luận tốt nghiệp đại học

GVHD: ThS. Nguyễn Thanh Tuấn

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

uế

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ác vụ của model tại cùng một thời điểm.

tế
H

Các tính năng của nền tảng ASP.NET MVC

- Tách bạch các tác vụ của ứng dụng (logic nhập liệu, business logic, và logic

giao diện), dễ dàng kiểm thử và mặc định áp dụng hướng phát triển TDD. Tất cả các
tính năng chính của mô hình MVC được cài đặt dựa trên interface và được kiểm thử

in

h

bằng cách sử dụng các đối tượng mocks, mock object là các đối tượng mô phỏng các
tính năng của những đối tượng thực sự trong ứng dụng. Chúng ta có thể kiểm thử unit-

cK

test cho ứng dụng mà không cần chạy controller trong tiến trình ASP.NET, và điều đó
giúp unit test được áp dụng nhanh chóng và tiện dụng. Chúng ta có thể sử dụng bất kỳ
nền tảng unit-testing nào tương thích với nền tảng .NET.

họ

- MVC là một nền tảng khả mở rộng (extensible) & khả nhúng (pluggable). Các
thành phần của ASP.NET MVC được thiết kể để chúng có thể được thay thế một cách

Đ
ại

dễ dàng hoặc dễ dàng tùy chỉnh. Chúng ta có thể nhúng thêm view engine, cơ chế định
tuyến cho URL, cách kết xuất tham số của action-method và các thành phần khác.
ASP.NET MVC cũng hỗ trợ việc sử dụng Dependency Injection (DI) và Inversion of

ng


Control (IoC). DI cho phép chúng ta gắn các đối tượng vào một lớp cho lớp đó sử
dụng thay vì buộc lớp đó phải tự mình khởi tạo các đối tượng. IoC quy định rằng, nếu

ườ

một đối tượng yêu cầu một đối tượng khác, đối tượng đầu sẽ lấy đối tượng thứ hai từ
một nguồn bên ngoài, ví dụ như từ tập tin cấu hình. Và nhờ vậy, việc sử dụng DI và

Tr

IoC sẽ giúp kiểm thử dễ dàng hơn.
- ASP.NET MVC có thành phần ánh xạ URL mạnh mẽ cho phép chúng ta xây

dựng những ứng dụng có các địa chỉ URL xúc tích và dễ tìm kiếm. Các địa chỉ URL
không cần phải có phần mở rộng của tên tập tin và được thiết kế để hỗ trợ các mẫu
định dạng tên phù hợp với việc tối ưu hóa tìm kiếm (URL) và phù hợp với lập địa chỉ
theo kiểu REST.
Sinh viên thực hiện: Nguyễn Trung Lành

10


Khóa luận tốt nghiệp đại học

GVHD: ThS. Nguyễn Thanh Tuấn

- Hỗ trợ sử dụng đặc tả (các thẻ) của các trang ASP.NET(.aspx), điều khiển
người dùng (.ascx) và trang master page (.marter). Chúng ta có thể sử dụng các tính
năng có sẵn của ASP.NET như là sử dụng lồng các trang master page, sử dụng in-line
expression (<%= %>), sử dụng server controls, mẫu, data-binding, địa phương hóa


uế

(localization) và hơn thế nữa.

- Hỗ trợ các tính năng có sẵn của ASP.NET như cơ chế xác thực người dùng,

tế
H

quản lý thành viên, quyền, output caching và data caching, seession và profile, quản lý
tình trạng ứng dụng, hệ thống cấu hình…

- ASP.Net MVC còn bổ sung một công nghệ xem (view engine) mới là Razor

h

View Engine( .cshtml) cho phép thiết lập các view nhanh chóng, dễ dàng và tốn ít

in

công sức hơn so với việc sử dụng Web Form view engine

cK

Bảng 1.1. So sánh những lợi ích giữa ASP.Net MVC và ASP.Net Webform

Lợi ích của ứng dụng web

Lợi ích của ứng dụng được xây dựng


dựa trên mô hình MVC

trên nền tảng Web Forms

Hỗ trợ cách lập trình hướng sự kiện, quản

dụng bằng cách chia ứng dụng thành ba

lý trạng thái trên giao thức HTTP, tiện

thành phần model, view, controller

dụng cho việc phát triển các ứng dụng

Đ
ại

họ

Dễ dàng quản lý sự phức tạp của ứng

Không sử dụng view state hoặc server-

Web phục vụ kinh doanh
Sử dụng mẫu Page Controller

ng

based form. Điều này tốt cho những lập

trình viên muốn quản lý hết các khía

ườ

Nó sử dụng mẫu Front Controller, mẫu

Mô hình này sử dụng view state hoặc
server-based form, nhờ đó sẽ giúp cho

chỉ thông qua một Controller. Nhờ đó bạn

việc quản lý trạng thái các trang web dễ

Tr

này giúp quản lý các requests (yêu cầu)

có thể thiết kế một hạ tầng quản lý định

dàng.

tuyến.
Hỗ trợ tốt hơn cho mô hình phát triển ứng

Phù hợp với các nhóm lập trình viên quy

dụng hướng kiểm thử (TDD)

mô nhỏ và các thiết kế, những người


Sinh viên thực hiện: Nguyễn Trung Lành

11


Khóa luận tốt nghiệp đại học

GVHD: ThS. Nguyễn Thanh Tuấn
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.
Web Forms giúp giảm bớt sự phức tạp

dựng bởi những đội có nhiều lập trình

trong xây dựng ứng dụng, bởi vì các thành

viên và thiết kế mà vẫn quản lý được tính

phần (lớp Page, controls,…) được tích

năng của ứng dụng

hợp chặc chẽ và thường thì giúp chúng ta

uế

Hỗ trợ tốt cho các ứng dụng được xây

tế
H


viết ít code hơn là áp dụng theo mô hình
MVC.
Entity Framework

h

- ADO.NET Entity Framework là một nền tảng được sử dụng để làm việc với cơ

in

sở dữ liệu thông qua cơ chế ánh xạ Object/Relational Mapping (ORM). Nhờ đó, bạn có

Tr

ườ

ng

Đ
ại

họ

cK

thể truy vấn, thao tác với cơ sở dữ liệu gián tiếp thông qua các đối tượng lập trình.

Hình 1.2. Kiến trúc của mô hình Entity Framework


Sinh viên thực hiện: Nguyễn Trung Lành

12


Khóa luận tốt nghiệp đại học

GVHD: ThS. Nguyễn Thanh Tuấn

- Các thành phần chính của của Entity Framework:
+ Object Services: Đây là các class tự động sinh ra tương ứng với mô hình
dữ liệu. Các class này bao gồm:
+ ObjectContext đại diện cho một database. ObjectContext có chức năng

uế

quản lý các kết nối, định nghĩa mô hình dữ liệu với metadata và thao tác với database.
Lớp này cũng có thể thêm vào các phương thức đại diện cho các stored procedure

tế
H

trong database.

+ ObjectSet<TEntity> là một một tập hợp các entity. Mỗi đối tượng này
tương ứng với một table. Có thể lấy được các đối tượng này thông qua các thuộc tính

h

tương ứng của ObjectContext.


in

+ EntityObject, ComplexObject là các lớp tương ứng cho một dòng dữ liệu
của bảng trong cơ sở dữ liệu. Khác biệt chính giữa hai loại này là ComplexObject

cK

không chứa primary key.

+ EntityCollection<TEntity> và EntityReference<TEntity>: là các đối

họ

tượng thể hiện mối quan hệ (relationship) giữa hai lớp entity. Mỗi đối tượng này có thể
được truy xuất thông qua các thuộc tính của lớp entity .

Đ
ại

Bảng 1.2. Bảng ánh xạ tương đương sau giữa các đối tượng trong database và EF

Đối tượng của cơ sở dữ liệu

Entity Framework Object
ObjectContext

Bảng, Bảng ảo

EntityObject, ComplexObject


Cột

Property

ườ

ng

Cơ sở dữ liệu

Tr

Các mối quan hệ

EntityCollection<TEntity>,
EntityReference<TEntity>

- Entity Data Model
Entity Data Model (EDM) là mô hình dữ liệu được mô tả thông qua các ngôn

ngữ theo chuẩn XML. EDM được chia làm 3 lớp là: Conceptual, Mapping và Logical.
Mỗi lớp này được định nghĩa bởi ngôn ngữ riêng theo định dạng XML:

Sinh viên thực hiện: Nguyễn Trung Lành

13


Khóa luận tốt nghiệp đại học


GVHD: ThS. Nguyễn Thanh Tuấn

+ Conceptual – Conceptual Schema Definition Language (CSDL): là ngôn
ngữ định nghĩa các entity, relationship, hàm trong tập tin với phần mở rộng .csdl. Có
thể tạo được các entity class (object layer).
+ Mapping – Mapping specification language (MSL): định nghĩa các ánh xạ

uế

giữa lớp conceptual và logical, nội dung này được lưu trong tập tin .msl.
+ Logical – Store Schema Definition Language (SSDL): định nghĩa mô

tế
H

hình lưu trữ của dữ liệu, lưu trữ trong tập tin .ssdl.

Các nội dung của ba tập tin .csdl, .msl và .ssdl được lưu trữ trong cùng tập tin
.edmx trong Visual Studio. Tập tin này có thể được tạo ra tự động từ database và công
cụ Entity Framework Model Wizard của Visual Studio. Trong quá trình biên dịch, các

in

- EntityClient Data Provider :

h

tập tin .csdl, .msl và .ssdl sẽ được tạo ra dựa vào tập tin .edmx này.


cK

+ EntityClient là một data provider mới của ADO.NET dùng để truy xuất
đến database. Được xây dựng bên trên các ADO.NET data provider cơ bản,
EntityClient không truy xuất trực tiếp dữ liệu mà thông qua các data provider khác dựa

họ

vào các thông tin dữ liệu từ Entity Data Model.

+ EntityClient cũng bao gồm các lớp giống như các ADO.NET data
provider khác và tên lớp được đặt với tiền tố Entity. Ví dụ bạn có thể tạo kết nối bằng

Đ
ại

EntityConnection, tạo các câu truy vấn bằng EntityCommand và đọc kết quả bằng
EntityDataReader.

Một điểm khác biệt với các data provider khác là EntityClient sử dụng Entity

ng

SQL để truy vấn dữ liệu. Các lệnh Entity SQL sẽ được chuyển thành một cấu trúc lệnh
dạng cây (command tree) và chuyển xuống cho các data provider khác.

ườ

- Các cách làm việc với Entity Framework: theo Microsoft, có ba cách làm việc


Tr

với Entity Framework:
+ Tạo cơ cở dữ liệu trước (Database First): Trong trường hợp bạn muốn

làm việc với database đã có sẵn. Dùng công cụ thiết kế có sẵn trong Visual Studio để
khởi tạo từ cơ sở dữ liệu ra bản thiết kế .
+ Tạo các kiểu mẫu trước (Model First): Trong trường hợp này, chúng ta sẽ
làm việc trên visual studio và tạo ra database mới tại đây. Dùng công cụ để khỏi tạo
mã từ bản thiết kế model ra cơ sỡ dữ liệu
Sinh viên thực hiện: Nguyễn Trung Lành

14


Khóa luận tốt nghiệp đại học

GVHD: ThS. Nguyễn Thanh Tuấn

+ Tạo mã trước (Code First): Riêng với cách này chungs ta có 2 lựa chọn,
làm việc với database có sẵn hoặc sẽ tạo mới. Nhưng dù làm với cách nào, chúng ta
cũng dùng codebehind để xử lý là chính. Không dùng các công cụ, giao diện trực quan

họ

cK

in

h


tế
H

uế

giống như 2 cách bên trên.

Đ
ại

Hình 1. 3. Các cách làm việc với Entity Framework

1.2.1.2. Cơ sở hạ tầng HGH máy phục vụ (Server)
* Windows Web Server 2008

ng

Windows Server 2008 được thiết kế để cung cấp cho các tổ chức có được nền

ườ

tảng sản xuất tốt nhất cho ứng dụng, mạng và các dịch vụ web từ nhóm làm việc đến
những trung tâm dữ liệu với tính năng động, tính năng mới có giá trị và những cải

Tr

thiện mạnh mẽ cho hệ điều hành cơ bản.
* Microsoft SQL Server 2005
SQL Server 2005 là giải pháp phân tích và quản trị dữ liệu thế hệ kế tiếp của


Microsoft. Nó sẽ cho phép nâng cao độ bảo mật, khả năng sắp xếp, giá trị cho dữ liệu
hoạt động kinh doanh và các ứng dụng phân tích, làm cho chúng dễ dàng hơn trong
việc tạo dựng, triển khai và quản lý.

Sinh viên thực hiện: Nguyễn Trung Lành

15


Khóa luận tốt nghiệp đại học

GVHD: ThS. Nguyễn Thanh Tuấn

* IIS (Internet Information Services)
Nhiệm vụ của IIS là tiếp nhận yêu cầu từ các máy trạm, và trả về thông tin mà
các máy trạm yêu cầu. Trong lập trình web, các bạn có thể hiểu IIS là nơi tiếp nhận các
yêu cầu từ trình duyệt web, và trả về kết quả là trang web tương ứng mà trình duyệt

uế

yêu cầu.

tế
H

1.2.2. Twitter Bootstrap

Bootstrap là một Framework CSS, giúp bạn phát triển nhanh giao diện trang
web dựa trên giao diện chuẩn của Twitter. Bạn cũng có thể sử dụng luôn Framework

này mà không cần phải chỉnh sửa hay rành rỗi về CSS, đó là một lợi thế khi dùng

h

Framework.

in

Nói nôm na, đã có người viết sẵn các style cho trang web, và lưu thành một file

cK

.css. Khi viết HTML, bạn chỉ cần dùng file css này và dùng các class, id đã được định
sẵn. Không phải mắc công viết Css, và giao diện vẫn đẹp.

* Jquery

họ

1.2.3. Bộ công cụ Jquery và Ajax

JQuery chính là một thư viện kiểu mới của Javascript giúp đơn giản hóa cách

Đ
ại

viết Javascript và tăng tốc độ xử lý các sự kiện trên trang web.JQuery thêm tương tác
Ajax vào trong trang web của bạn. JQuery được thiết kế để thay đổi cách viết
Javascript của bạn.


ng

Nói ngắn gọn, jQuery là 1 thư viện định nghĩa sẵn các phương thức javascript
để chúng ta có thể viết code javascript nhanh hơn, đơn giản hơn.

ườ

* Ajax (Asynchronous JavaScript and XML)
Ajax là viết tắt của Asynchronous JavaScript and XML, Ở các ứng dụng web

Tr

truyền thống, khi người dùng có một cần thay đổi dữ liệu trên trang Web, yêu cầu thay
đổi được gửi về server dưới dạng HTTP request (hay còn gọi postback), server sẽ xử
lý yêu cầu này và gửi trả response chứa các thông tin dưới dạng HTML và CSS, trang
HTML này sẽ thay thế trang cũ. Qui trình này được mô tả là nhấp-chờ và tải lại (clickwait-and-refresh): ví dụ người dùng sau khi nhấn một nút “Submit” trên trang web
phải chờ cho đến khi server xử lý xong mới có thể tiếp tục công việc.
Sinh viên thực hiện: Nguyễn Trung Lành

16


Khóa luận tốt nghiệp đại học

GVHD: ThS. Nguyễn Thanh Tuấn

Ajax cho phép tạo ra một Ajax Engine nằm giữa giao tiếp này. Khi đó, các yêu
cầu gửi resquest và nhận response do Ajax Engine thực hiện. Thay vì trả dữ liệu dưới
dạng HTML và CSS trực tiếp cho trình duyệt, web server có thể gửi trả dữ liệu dạng
XML và Ajax Engine sẽ tiếp nhận, phân tách và chuyển hóa thành XHTML và CSS để


uế

hiển thị.
1.2.4. Mô hình 3 lớp MVC

tế
H

Phương pháp thiết kế MVC bắt nguồn từ việc phát triển giao diện người dùng

trong ngôn ngữ lập trình Smalltalk, đây là một trong những phương pháp thiết kế
thành công nhất trong các phương pháp thiết kế hướng đối tượng. Hiện nay, MVC
được dùng rộng rãi trong nhiều hệ thống phần mềm.

h

- Model: Model được giao nhiệm vụ cung cấp dữ liệu cho cơ sở dữ liệu và lưu

in

dữ liệu vào các kho chứa dữ liệu. Tất cả các nghiệp vụ logic được thực thi ở Model.

cK

Dữ liệu vào từ người dùng sẽ thông qua View đến Controller và được kiểm tra ở
Model trước khi lưu vào cơ sở dữ liệu. Việc truy xuất, xác nhận, và lưu dữ liệu là một
phần của Model. Do có 2 vai trò tương đối tách biệt cho nên một Model thường được

họ


tách thành các lớp có các domain xử lý khác biệt:

- Business logic (BL) thường là xử lý rule hay policy của nghiệp vụ cũng như
business workflows.

Đ
ại

- Domain data: Cung cấp/lưu trữ dữ liệu và việc chuyển đổi dữ liệu thành các
dạng khác nhau theo yêu cầu

- View: View hiển thị các thông tin cho người dùng của ứng dụng và được giao

ng

nhiệm vụ cho việc nhận các dữ liệu vào từ người dùng, gửi đi các yêu cầu đến
controller, sau đó là nhận lại các phản hồi từ controller và hiển kết quả cho người

ườ

dùng. Các trang HTML, JSP, các thư viện thẻ và các file nguồn là một phần của thành

Tr

phần View.
Trong các web framework, nó gồm 2 phần chính:
- Template file định nghĩa cấu trúc và cách thức trình bày dữ liệu cho user. Ví

dụ như layout, color, windows …

- Logic xử lý cách áp dụng dữ liệu vào cấu trúc trình bày. Logic này có thể bao
gồm việc kiểm tra định dạng dữ liệu, chuyển đổi định dạng dữ liệu sang một sạng dữ
liệu trung gian, lựa chọn một cấu trúc hiện thị phù hợp.
Sinh viên thực hiện: Nguyễn Trung Lành

17


Khóa luận tốt nghiệp đại học

GVHD: ThS. Nguyễn Thanh Tuấn

- Controller: controller đảm nhiệm việc cập nhật bộ phận hiển thị (View) khi
cần thiết. Bộ điều khiển này nhận dữ liệu nhập từ người dùng, truy xuất các thông tin
cần thiết từ mô hình trong (Model), và cập nhật thích hợp phần hiển thị (View). Giao
diện với người sử dụng phần mềm được thiết lập nhờ sự tương tác qua lại giữa View

uế

và Controller: hai bộ phận này chính là phần trình bày bên ngoài của đối tượng biểu
diễn bên trong.

tế
H

Martin Fowler chia MVC thành hai phiên bản là Passive View và Supervising

họ

cK


in

h

Controller.

Đ
ại

Hình 1. 4. Mô hình của 2 phiên bản MVC

Trong mẫu Passive View, thành phần View được loại bỏ hoàn toàn các xử lý
logic và tương tác đến Model. Thay vì vậy, nó chuyển giao các xử lý cho Controller

ng

đảm trách. Controller đảm nhận tương tác đến Model và cập nhật View khi có thay đổi
từ Model. Controller là thành phần trung gian liên lạc giữa View và Model.

ườ

Trong mẫu Supervising Controller, View đầu tiên bắt lấy các sự kiện và sau đó

chuyển giao cho Controller xử lý. Để cập nhật thay đổi từ Model, View dùng data -

Tr

binding và Observer Pattern cho các xử lý đơn giản còn đối với các xử lý phức tạp sẽ
nhờ đến Controller

* So sánh MVC và 3-layer/tier:
- Giống nhau:
+ Cả hai đều để tách rời programming core/business logic ra khỏi những
phụ thuộc về tài nguyên và môi trường.

Sinh viên thực hiện: Nguyễn Trung Lành

18


×