Tải bản đầy đủ

Phần mềm quản lý Gia Phả online

TRƯỜNG ĐẠI HỌC KỸ THUẬT CÔNG NGHIỆP

KHOA ĐIỆN TỬ

ĐỒ ÁN TỐT NGHIỆP
NGÀNH KỸ THUẬT MÁY TÍNH

Đề tài : PHẦN MỀM QUẢN LÝ GIA PHẢ ONLINE

SINH VIÊN : NGUYỄN HỮU MẠNH
LỚP : K48 – KMT.01
GIÁO VIÊN HƯỚNG DẪN : THS. ĐỖ DUY CỐP

THÁI NGUYÊN – 2017


TRƯỜNG ĐHKTCN

CỘNG HOÀ XÃ HỘI CHỦ NGHĨA VIỆT NAM

KHOA ĐIỆN TỬ


Độc lập - Tự do - Hạnh phúc

NHIỆM VỤ THIẾT KẾ TỐT NGHIỆP
Sinh viên: Nguyễn Hữu Mạnh ........................................................................................................................................
Lớp: K48KMT-01..............................................................................Khoá: 48 ..................................................................
Ngành học: Kỹ thuật máy tính .......................................................................................................................................
Giáo viên hướng dẫn: ThS. Đỗ Duy Cốp .....................................................................................................
....................................................................................................................................................................

1. Tên đề tài tốt nghiệp : Phần mềm quản lý Gia Phả online ......................................
............................................................................................................................................................................................................................................

2. Các số liệu ban đầu (nếu có)
............................................................................................................................................................................................................................................
............................................................................................................................................................................................................................................

3. Nội dung các phần thuyết minh và tính toán .................................................................................
............................................................................................................................................................................................................................................
............................................................................................................................................................................................................................................
............................................................................................................................................................................................................................................
............................................................................................................................................................................................................................................

4. Số lượng các phần mềm, bảng biểu, bản vẽ (kích thước A0) ............................
............................................................................................................................................................................................................................................

5. Ngày giao nhiệm vụ................................................................................................................................................................
6. Ngày hoàn thành nhiệm vụ .........................................................................................................................................
BCN KHOA

GIÁO VIÊN HƯỚNG DẪN

(Ký và ghi rõ họ tên)

(Ký và ghi rõ họ tên)


TRƯỜNG ĐHKTCN

CỘNG HOÀ XÃ HỘI CHỦ NGHĨA VIỆT NAM



KHOA ĐIỆN TỬ

Độc lập - Tự do - Hạnh phúc

PHIẾU GHI ĐIỂM
HƯỚNG DẪN ĐỒ ÁN TỐT NGHIỆP
Sinh viên: Nguyễn Hữu Mạnh .................................................. Lớp: K48KMT-01. . . . . . . . .
Cán bộ hướng dẫn: ThS. Đỗ Duy Cốp . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Đề tài: Phần mềm quản lý Gia Phả online . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
....................................................................................................................................

Chuyên đề : . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
....................................................................................................................................

NHẬN XÉT CỦA CÁN BỘ HƯỚNG DẪN:
.........................................................................................................................................................................................................................................
.........................................................................................................................................................................................................................................
.........................................................................................................................................................................................................................................
.........................................................................................................................................................................................................................................
.........................................................................................................................................................................................................................................
.........................................................................................................................................................................................................................................

Xếp loại:……………………. Điểm:…………...
Thái nguyên, ngày….tháng…..năm 2017
CÁN BỘ HƯỚNG DẪN

(Ký ghi rõ họ tên)


TRƯỜNG ĐHKTCN

CỘNG HOÀ XÃ HỘI CHỦ NGHĨA VIỆT NAM

KHOA ĐIỆN TỬ

Độc lập - Tự do - Hạnh phúc

PHIẾU GHI ĐIỂM
CHẤM ĐỒ ÁN TỐT NGHIỆP
Sinh viên: Nguyễn Hữu Mạnh ……………………. ……………… Lớp: K48KMT-01 . . .
Cán bộ hướng dẫn: ThS. Đỗ Duy Cốp. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Đề tài: Phần mềm quản lý Gia Phả online . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
....................................................................................................................................

Chuyên đề: . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
....................................................................................................................................

NHẬN XÉT CỦA CÁN BỘ CHẤM:
.........................................................................................................................................................................................................................................
.........................................................................................................................................................................................................................................
.........................................................................................................................................................................................................................................
.........................................................................................................................................................................................................................................
.........................................................................................................................................................................................................................................
.........................................................................................................................................................................................................................................

Xếp loại: … … … … … … … … . Điểm: … … … … . . .
Thái nguyên, ngày…… tháng……năm 2017
CÁN BỘ CHẤM

(Ký ghi rõ họ tên


ĐATN – Kỹ thuật máy tính

GVHD: THS. Đỗ Duy Cốp

MỤC LỤC
PHẦN MỞ ĐẦU .......................................................................................................... 5
PHẦN NỘI DUNG ...................................................................................................... 6
CHƯƠNG I: KHẢO SÁT BÀI TOÁN ......................................................................... 6
1.1

Mô tả bài toán và đặc tả đề tài. ............................................................................ 6

1.1.1 Mô tả bài toán. .................................................................................................... 6
1.1.2 Khảo sát dữ liệu đầu vào..................................................................................... 6
1.1.3 Đặc tả đề tài........................................................................................................ 7
1.2

Mục tiêu, hướng giải quyết.................................................................................. 7

1.2.1 Mục tiêu cần đạt được. ........................................................................................ 7
1.2.2 Hướng giải quyết của bài toán. ........................................................................... 8
1.2.3 Giới thiệu môi trường cài đặt. ............................................................................. 8
CHƯƠNG II: PHÂN TÍCH – THIẾT KẾ HỆ THỐNG .............................................. 29
2.1

Phân tích. .......................................................................................................... 29

2.1.1 Dữ liệu vào ra của hệ thống. ............................................................................. 29
2.1.2 Chức năng của hệ thống.................................................................................... 29
2.1.3 Các yêu cầu cuả hệ thống.................................................................................. 29
2.1.4 Các biểu đồcủa hệ thống. .................................................................................. 30
2.2

Thiết kế hệ thống. ............................................................................................. 32

2.2.1 Thiết kế cơ sở dữ liệu. ....................................................................................... 32
CHƯƠNG III: THIẾT KẾ WEBSITE QUẢN LÝ GIA PHẢ ..................................... 35
3.1

Thiết kế trang quản trị: ...................................................................................... 35

3.2

Đưa trang web lên host và vận hành trang web. ................................................. 35

3.3.1 Buid Website và đẩy lên host. ............................................................................ 35
3.3.2 Vận hành trang web. ......................................................................................... 35
Bộ Môn: Tin Học Công Nghệp

Trang 1


ĐATN – Kỹ thuật máy tính

GVHD: THS. Đỗ Duy Cốp

PHẦN KẾT LUẬN .................................................................................................... 42
TÀI LIỆU THAM KHẢO .......................................................................................... 43

Bộ Môn: Tin Học Công Nghệp

Trang 2


ĐATN – Kỹ thuật máy tính

GVHD: THS. Đỗ Duy Cốp

DANH MỤC HÌNH ẢNH
Hình 1.1 – Bảng tổng hợp Gia Phả họ Nguyễn. ............................................................ 7
Hình 1.2 - Các thành phần chính của mô hình MVC. .................................................. 17
Hình 1.3 - Mô hình tuần tự của MVC. ........................................................................ 18
Hình 1.4 - Mô phỏng hoạt động của mô hinhg MVC. ................................................. 19
Hình 2.1 - Mô hình liên kết......................................................................................... 34
Hình 3.1 - Trang đăng ký. ........................................................................................... 36
Hình 3.2 - Trang đăng nhập. ....................................................................................... 37
Hình 3.3 - Cây Gia Phả. .............................................................................................. 38
Hình 3.4 - Bảng hiển thị thông tin chi tiết các thành viên. ........................................... 39
Hình 3.5 - Quản lý thành viên. .................................................................................... 39
Hình 3.6 - Xem Gia Phả bên thông gia. ...................................................................... 40
Hình 3.7 - Tìm mối quan hệ. ....................................................................................... 40

Bộ Môn: Tin Học Công Nghệp

Trang 3


ĐATN – Kỹ thuật máy tính

GVHD: THS. Đỗ Duy Cốp

LỜI CẢM ƠN

Trước tiên em xin được bày tỏ sự trân trọng và lời biết ơn đối với thầy giáo ThS. Đỗ
Duy Cốp – Bộ môn Tin Học Công Nghiệp Trường DHKT Công nghiệp Thái Nguyên.
Trong suốt thời gian làm đồ án vừa qua, thầy đã dành nhiều thời gian quý báu để tận tình
chỉ bảo, hướng dẫn, định hướng cho em thực hiện đề tài.
Em xin chân thành cảm ơn các thầy cô giáo trong Bộ môn Tin Học Công Nghiệp và
các thầy cô giáo khác trong Trường ĐHKT Công Nghiệp Thái Nguyên đã giảng dạy
trong quá trình học tập, thực hành, làm bài tập, giúp em hiểu thấu đáo hơn các nội dung
học tập và những hạn chế cần khắc phục trong việc học tập, nghiên cứu và thực hiện đồ
án tốt nghiệp.
Em xin cảm ơn các bạn bè và nhất là các thành viên trong gia đình đã tạo mọi điều
kiện tốt nhất, động viên, cổ vũ trong suốt quá trình thực hiện đồ án.
Em xin chân thành cảm ơn !
Thái Nguyên, ngày 28 tháng 06 năm 2017
Sinh viên
Nguyễn Hữu Mạnh

Bộ Môn: Tin Học Công Nghệp

Trang 4


ĐATN – Kỹ thuật máy tính

GVHD: THS. Đỗ Duy Cốp

PHẦN MỞ ĐẦU
Với sự phát triển không ngừng của khoa học công nghệ, đặc biệt là sự phát triển của
các lĩnh vực ngành công nghệ thông tin, các ứng dụng tin học ngày càng được sử dụng
rất nhiều trong các cơ quan, tổ chức từ những công ty lớn đến các chi nhánh, cửa hàng…
Việc ứng dụng tin học vào các lĩnh vực quản lý hết sức cân thiết trong quá trình làm
việc để đạt hiệu quả cao nhất, các ứng dụng quản lý ngày càng được quan tâm và sử
dụng, đem lại lợi ích to lớn về mọi mặt. Sự lớn mạnh của ngành công nghệ thông tin đã
giúp đỡ con người rất nhiều đặc biệt là công tác quản lý, nghiên cứu khoa học...
Qua bao nhiêu thế kỉ với các giai đoạn xã hội khác nhau, đối với các dòng họ với sự
quản lý dòng họ của mình qua cuốn Gia Phả và được lưu truyền từ đời này sang đời
khác, từ thế hệ này sang thế hệ khác. Với sự “Quản lý” bằng tay những dữ liệu, những
thông tin về mỗi cá nhân trong dòng họ rất dễ bị sai sót, nhầm lẫn hay thiết sót… điều
này dẫn đến sự sai sót dữ liệu khi ta xem kết quả tra cứu thông tin về ai đó trong họ, hoặc
khi ta muốn tìm kiếm một ai đó trong họ thì việc tra cứu từ cuốn Gia Phả trên lại trở nê
khó khăn và mất thời gian, rất khó tìm kiếm.
Với những “bất tiện” của cuốn Gia Phả từ cha ông để lại, đòi hỏi phải có một “công
cụ” có thể khắc phục được những bất tiện ở trên. Phần mềm Quản lý Gia Phả là kết quả
của việc kết hợp cuốn Gia Phả của dòng họ và công nghệ thông tin hiện nay tạo ra một
phần mềm có thể đáp ứng mọi yêu cầu đặt ra và khắc phục hoàn toàn những nhược điển
của cuốn Gia Phả để lại.

Bộ Môn: Tin Học Công Nghệp

Trang 5


ĐATN – Kỹ thuật máy tính

GVHD: THS. Đỗ Duy Cốp

PHẦN NỘI DUNG

CHƯƠNG I: KHẢO SÁT BÀI TOÁN

Mô tả bài toán và đặc tả đề tài.

1.1

1.1.1 Mô tả bài toán.
Quản lý cuốn Gia Phả là công việc cự kỳ quan trọng, từ trức tới nay chỉ do trưởng họ
(trưởng tộc) quản lý vì cuốn Gia Phả là vật khá linh thiêng trong dòng họ, đòi hỏi bộ
phận Quản lý phải có vị trí cao và được mọi người kính trọng trong dòng họ. Việc quản
lý cuốn Gia Phả cũng không hề đơn giản, người quản lý phải nắm được thông tin của tất
cả những thành viên trong dòng họ, ghi chép một cách chính xác tất cả những thông tin
có liên quan về từng thành viên trong dòng họ.
Đề tài Quản lý Gia Phả online có mục đích làm đơn giản hóa việc quản lý cuốn Gia
Phả truyền thống, thể hiện đầy đủ thông tin của từng thành viên, vẽ cây Gia Phả trên
giao diện web, và một số tình năng khác…
1.1.2 Khảo sát dữ liệu đầu vào.
Trong bất cứ chương trình quản lý nói chung và chương trình quản lý Gia Phả nói
riêng. Việc khảo sát nghiên cứu các dữ liệu đầu vào là cực kỳ quan trọng và trong chương
trình quản lý Gia Phả này cũng không ngoại lệ. Việc quản lý dựa trên thông tin của từng
thành viên trong một dòng họ. Các thông tin cần quản lý bao gồm:
- Họ tên.
-

Ngày sinh.
Giới tình.
Ngày mất.
Họ tên bố.
Họ tên mẹ.

- Họ tên vợ/chồng.
- Thông tin chi tiết.
- Ảnh (nếu có).

Bộ Môn: Tin Học Công Nghệp

Trang 6


ĐATN – Kỹ thuật máy tính

GVHD: THS. Đỗ Duy Cốp

Một số hình ảnh về thông tin các thành viên được thu thập trong quá trình khảo sát:

Hình 1.1 – Bảng tổng hợp Gia Phả họ Nguyễn.
1.1.3 Đặc tả đề tài.
Phần mềm quản lý phải hỗ trợ việc quản lý các thông tin cho các thành viên… Tự
động hóa quy trình quản lý nhằm giảm chi phí nhân công, tăng độ chính xác của công
tác quản lý và cung cấp một giao diện cho người sử dụng có thể sử dụng một cách đơn
giản hiệu quả.
Bộ phận quản lý của phần mềm có toàn quyền thay đổi tất cả các thông tin của thành
viên, có quyền xóa thành viên có trên csdl.
Người quản lý có thế tổng hợp thống kê thông tin các thành viên trong dò họ để phục
vụ những mục đích riêng.
Cuối cùng dữ liệu đầu ra là cây Gia Phả và bảng dữ liệu.
1.2
Mục tiêu, hướng giải quyết.
1.2.1 Mục tiêu cần đạt được.
Chúng ta cần phải thiết kế và cài đặt một chương trình quản lý có các chức năng sau:
- Quản lý thông tin thành viên: thêm, sửa, xóa thông tin cá nhân của thành viên viên.
- Vẽ cây Gia Phả trên nền web.
- Có chức năng tìm mối quan hệ dựa vào tên thành viên.
- Hệ thống có thể hoạt động trên webserver chạy online.
Bộ Môn: Tin Học Công Nghệp

Trang 7


ĐATN – Kỹ thuật máy tính

GVHD: THS. Đỗ Duy Cốp

- Hệ thống dễ sử dụng với người quản trị, người dùng không chuyên về công nghệ
thông tin.
1.2.2 Hướng giải quyết của bài toán.
Hướng giải quyết của phần mềm quản lý Gia Phả:
- Xây dựng mô hình cơ sở dữ liệu cho phần mềm: Xây dựng các bảng, các ràng buộc,
luồng dữ liệu cho phần mềm.
- Thiết kế ứng dụng: xây dựng giao diện người dùng.
- Cài đặt chương trình: nhập dữ liệu chạy thử.
- Viết báo cáo về đề tài.
1.2.3 Giới thiệu môi trường cài đặt.
Để thực hiện được phần mềm quản lý Gia Phả cần phải sử dụng một ngôn ngữ lập
trình để cài đặt và một hệ quản trị cơ sở dữ liệu trong đề tài này em thực hiện trên các
phần mềm và ngôn ngữ sau:
a) Ngôn ngữ lập trình C#.Net Framework:
C# (đọc là "C thăng" hay "C sharp" ("xi-sáp")) 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 theo Microsoft nhưng theo ECMA là C#, chỉ bao
gồm dấu số thường. Microsoft phát triển C# dựa trên C++ và Java. C# được miêu tả là
ngôn ngữ có được sự cân bằng giữa C++, Visual Basic, Delphi và Java. NET Framework
là một thư viện class có thể được sử dụng với một ngôn ngữ.NET để thực thi các việc từ
thao tác chuỗi cho đến phát sinh ra các trang web động (ASP.NET), phân tích XML và
reflection… NET Framework được tổ chức thành tập hợp các namespace, nhóm các
class có cùng chức năng lại với nhau, ví dụ như System.Drawing cho đồ hoạ,
System.Collections cho cấu trúc dữ liệu và System.Windows.Forms cho hệ thống
Windows Forms.
Cấp cao hơn nữa được cung cấp bởi khái niệm này là assembly. Một assembly là
một file hoặc nhiều file được liên kết với nhau (thông qua file al.exe), chứa đựng nhiều
namespace và object. Các chương trình cần các lớp để thực thi một chức năng đặc biệt
nào đó sẽ tham chiếu các assembly chẳng hạn như System.Drawing.dll và
System.Windows.Forms.dll cũng như các core library (lưu trong file mscorlib.dll).
b) Phần mềm Visual Studio 2015:

Bộ Môn: Tin Học Công Nghệp

Trang 8


ĐATN – Kỹ thuật máy tính

GVHD: THS. Đỗ Duy Cốp

Microsoft Visual Studio là một môi trường phát triển tích hợp (IDE) từ Microsoft.
Nó được sử dụng để phát triển chương trình máy tính cho Microsoft Windows, cũng như
các trang web, các ứng dụng web và các dịch vụ web. Visual Studio sử dụng nền tảng
phát triển phần mềm của Microsoft như Windows API, Windows Forms, Windows
Presentation Foundation, Windows Store và Microsoft Silverlight. Nó có thể sản xuất cả
hai ngôn ngữ máy và mã số quản lý.
Visual Studio bao gồm một trình soạn thảo mã hỗ trợ IntelliSense cũng như cải tiến
mã nguồn. Trình gỡ lỗi tích hợp hoạt động cả về trình gỡ lỗi mức độ mã nguồn và gỡ lỗi
mức độ máy. Công cụ tích hợp khác bao gồm một mẫu thiết kế các hình thức xây dựng
giao diện ứng dụng, thiết kế web, thiết kế lớp và thiết kế giản đồ cơ sở dữ liệu. Nó chấp
nhận các plug-in nâng cao các chức năng ở hầu hết các cấp bao gồm thêm hỗ trợ cho các
hệ thống quản lý phiên bản (như Subversion) và bổ sung thêm bộ công cụ mới như biên
tập và thiết kế trực quan cho các miền ngôn ngữ cụ thể hoặc bộ công cụ dành cho các
khía cạnh khác trong quy trình phát triển phần mềm.
Visual Studio hỗ trợ nhiều ngôn ngữ lập trình khác nhau và cho phép trình biên tập
mã và gỡ lỗi để hỗ trợ (mức độ khác nhau) hầu như mọi ngôn ngữ lập trình. Các ngôn
ngữ tích hợp gồm có C, C++ và C++/CLI (thông qua Visual C++), VB.NET (thông qua
Visual Basic.NET), C thăng (thông qua Visual C#) và F# (như của Visual Studio 2010).
Hỗ trợ cho các ngôn ngữ khác như J++/J#, Python và Ruby thông qua dịch vụ cài đặt
riêng rẽ. Nó cũng hỗ trợ XML/XSLT, HTML/XHTML, JavaScript và CSS.
Visual Studio không hỗ trợ cho bất kỳ ngôn ngữ lập trình nào về giải pháp hoặc công
cụ thực chất, thay vào đó nó cho phép cắm chức năng được mã hóa như là một
VSPackage. Khi cài đặt, các chức năng có sẵn như là một dịch vụ. IDE cung cấp ba dịch
vụ: SVsSolution cung cấp khả năng liệt kê các dự án và các giải pháp; SVsUIShell cung
cấp cửa sổ và giao diện người dùng và SVsShell. Ngoài ra, IDE cũng có trách nhiệm
điều phối và cho phép truyền thông giữa các dịch vụ. Tất cả các biên tập viên, nhà thiết
kế, các loại dự án và các công cụ khác được thực hiện theo VSPackages. Visual Studio
sử dụng COM để truy cập VSPackages. Visual Studio SDK cũng bao gồm Managed
Package Framework (MPF) là một tập hợp quản lý bao bọc quanh các COMinterfaces
cho phép các gói được viết bằng bất kỳ ngôn ngữ nào. Tuy nhiên, MPF không cung cấp
tất cả các chức năng bộc lộ trong Visual Studio COM-interfaces. Các dịch vụ có thể
được tiêu thụ để tạo ra các gói khác, để thêm chức năng cho Visual Studio IDE.
Bộ Môn: Tin Học Công Nghệp

Trang 9


ĐATN – Kỹ thuật máy tính

GVHD: THS. Đỗ Duy Cốp

Hỗ trợ cho các ngôn ngữ lập trình được thêm vào bằng cách sử dụng một VSPackage
đặc biệt được gọi là một dịch vụ ngôn ngữ. Một dịch vụ ngôn ngữ định nghĩa giao tiếp
khác nhau mà việc thực hiện VSPackage có thể thực hiện để hỗ trợ thêm cho các chức
năng khác nhau. Các chức năng có thể được thêm vào theo cách này bao gồm cú pháp
màu, hoàn thành báo cáo kết quả, kết hợp đôi, công cụ chú giải tham số thông tin, danh
sách thành viên và đánh dấu lỗi trên nền biên dịch. Nếu giao diện được thực hiện, các
tính năng sẽ có sẵn ngôn ngữ. Dịch vụ ngôn ngữ sẽ được thực hiện trên cơ sở mỗi ngôn
ngữ. Việc triển khai có thể tái sử dụng mã từ phân tích cú pháp hoặc trình biên dịch cho
ngôn ngữ.Dịch vụ ngôn ngữ có thể được triển khai hoặc trong mã nguồn gốc hoặc mã số
quản lý. Đối với mã nguồn gốc, thì cả COM-interfaces gốc hoặc Babel Framework (một
phần của Visual Studio SDK) đều có thể được sử dụng. Đối với mã số quản lý thì các
MPF sẽ bao hàm các dịch vu quản lý văn bản.
Visual Studio không bao gồm bất kỳ Hệ thống quản lý phiên bản hỗ trợ kiểm soát
mã nguồn nhưng nó xác định hai cách thay thế cho các hệ thống kiểm soát mã nguồn để
tích hợp với IDE. Một VSPackage kiểm soát mã nguồn có thể cung cấp giao diện người
dùng tùy chỉnh của riêng mình. Ngược lại, một plugin kiểm soát mã nguồn bằng cách sử
dụng MSSCCI (Microsoft Source Code Control Interface) cung cấp một tập các chức
năng được sử dụng để thực hiện chức năng kiểm soát mã nguồn khác nhau, với một giao
diện người dùng Visual Studio tiêu chuẩn. MSSCCI lần đầu tiên được sử dụng để tích
hợp Visual SourceSafe với Visual Studio 6.0 nhưng sau đó được mở ra thông qua Visual
Studio SDK. Visual Studio.NET 2002 dùng MSSCCI 1.1, và Visual Studio.NET 2003
dùng MSSCCI 1.2. Visual Studio 2005, 2008 và 2010 dùng MSSCCI.
Visual Studio hỗ trợ chạy nhiều cá thể của môi trường (tất cả đều có VSPackages
riêng của mình). Những trường hợp sử dụng các registry hives khác nhau để lưu trữ trạng
thái cấu hình và được phân biệt bởi AppID (Application ID). Các trường hợp được đưa
ra bởi một AppId-specific.exe cụ thể mà lựa chọn AppID, thiết lập các hive gốc và khởi
chạy IDE. VSPackages đăng ký một AppID được tích hợp với VSPackages khác cho
AppID đó. Các phiên bản sản phẩm khác nhau của Visual Studio được tạo ra bằng cách
sử dụng AppIds khác nhau. Các sản phẩm phiên bản Visual Studio Express được cài đặt
với AppIds riêng nhưng với các sản phẩm Standard, Professional và Team Suite chia sẻ
cùng AppID. Do đó, người ta có thể cài đặt các phiên bản Express song song với các
phiên bản khác, không giống như các phiên bản khác cập nhật các cài đặt tương tự. Phiên
Bộ Môn: Tin Học Công Nghệp

Trang 10


ĐATN – Kỹ thuật máy tính

GVHD: THS. Đỗ Duy Cốp

bản Professional bao gồm các VSPackages khổng lồ trong phiên bản Standard và Team.
Hệ thống AppID được thừa hưởng bởi Visual Studio Shell trong Visual Studio 2008.
Giống như bất kỳ IDE khác, nó bao gồm một trình soạn thảo mã hỗ trợ tô sáng cú
pháp và hoàn thiện mã bằng cách sử dụng IntelliSense không chỉ cho các biến, hàm và
các phương pháp mà còn các cấu trúc ngôn ngữ như vòng điều khiển hoặc truy vấn.
IntelliSense được hỗ trợ kèm theo cho các ngôn ngữ như XML, Cascading Style Sheets
và JavaScript khi phát triển các trang web và các ứng dụng web. Các đề xuất tự động
hoàn chỉnh được xuất hiện trong một hộp danh sách phủ lên trên đỉnh của trình biên tập
mã. Trong Visual Studio 2008 trở đi, nó có thể được tạm thời bán trong suốt để xem mã
che khuất bởi nó. Các trình biên tập mã được sử dụng cho tất cả các ngôn ngữ được hỗ
trợ.
Các trình biên tập mã Visual Studio cũng hỗ trợ cài đặt dấu trang trong mã để điều
hướng nhanh chóng. Hỗ trợ điều hướng khác bao gồm thu hẹp các khối mã lệnh và tìm
kiếm gia tăng, ngoài việc tìm kiếm văn bản thông thường và tìm kiếm Biểu thức chính
quy. Các trình biên tập mã cũng bao gồm một bìa kẹp đa mục và một danh sách công
việc. Các trình biên tập mã hỗ trợ lưu lại các đoạn mã được lặp đi lặp lại nhằm để chèn
vào mã nguồn sử dụng về sau. Một công cụ quản lý cho đoạn mã được xây dựng là tốt.
Những công cụ này nổi lên như các cửa sổ trôi nổi có thể được thiết lập để tự động ẩn
khi không sử dụng hoặc neo đậu đến các cạnh của màn hình. Các trình biên tập mã Visual
Studio cũng hỗ trợ cải tiến mã nguồn bao gồm tham số sắp xếp lại, biến và phương pháp
đổi tên, khai thác và đóng gói giao diện các lớp thành viên bên trong những trạng thái
giữa những thứ khác.
Visual Studio có tính năng biên dịch nền (còn gọi là biên dịch gia tăng). Như mã
đang được viết, Visual Studio biên dịch nó trong nền để cung cấp thông tin phản hồi về
cú pháp và biên dịch lỗi, được đánh dấu bằng một gạch dưới gợn sóng màu đỏ. Biên dịch
nền không tạo ra mã thực thi, vì nó đòi hỏi một trình biên dịch khác hơn là để sử dụng
tạo ra mã thực thi. Biên dịch nền ban đầu được giới thiệu với Microsoft Visual Basic
nhưng bây giờ đã được mở rộng cho tất cả các ngôn ngữ.
Visual Studio có một trình gỡ lỗi hoạt động vừa là một trình gỡ lỗi cấp mã nguồn và
là một trình gỡ lỗi cấp máy. Nó hoạt động với cả hai mã quản lý cũng như ngôn ngữ máy
và có thể được sử dụng để gỡ lỗi các ứng dụng được viết bằng các ngôn ngữ được hỗ trợ
bởi Visual Studio. Ngoài ra, nó cũng có thể đính kèm theo quy trình hoạt động và theo
Bộ Môn: Tin Học Công Nghệp

Trang 11


ĐATN – Kỹ thuật máy tính

GVHD: THS. Đỗ Duy Cốp

dõi và gỡ lỗi những quy trình. Nếu mã nguồn cho quá trình hoạt động có sẵn, nó sẽ hiển
thị các mã như nó đang được chạy. Nếu mã nguồn không có sẵn, nó có thể hiển thị các
tháo gỡ. Các Visual Studio debugger cũng có thể tạo bãi bộ nhớ cũng như tải chúng sau
để gỡ lỗi. Các chương trình đa luồng cao cấp cũng được hỗ trợ. Trình gỡ lỗi có thể được
cấu hình sẽ được đưa ra khi một ứng dụng đang chạy ngoài Visual Studio bị treo môi
trường.
Trình gỡ lỗi cho phép thiết lập các breakpoint (mà cho phép thực thi được tạm thời
dừng lại tại một vị trí nhất định) và watch (trong đó giám sát các giá trị của biến là việc
thực hiện tiến bộ). Breakpoint có thể có điều kiện, nghĩa là chúng được kích hoạt khi
điều kiện được đáp ứng. Mã có thể được biểu diễn, tức là chạy một dòng (của mã nguồn)
tại một thời điểm. Nó có hoặc là bước sang các chức năng để gỡ lỗi bên trong nó, hoặc
là nhảy qua nó, tức là, việc thực hiện các chức năng không có sẵn để kiểm tra thủ công.
Trình gỡ lỗi hỗ trợ Edit and Continue, nghĩa là, nó cho phép mã được chỉnh sửa khi nó
đang được sửa lỗi (chỉ có 32 bit, không được hỗ trợ trong 64 bit). Khi gỡ lỗi, nếu con trỏ
chuột di chuyển lên bất kỳ biến, giá trị hiện tại của nó được hiển thị trong phần chú giải
("chú thích dữ liệu"), nơi mà nó cũng có thể được thay đổi nếu muốn. Trong quá trình
viết mã, các trình gỡ lỗi của Visual Studio cho phép một số chức năng được gọi ra bằng
tay từ cửa sổ công cụ Immediate. Các thông số cho phương thức được cung cấp tại các
cửa sổ Immediate.
Windows Forms Designer: được sử dụng để xây dựng GUI sử dụng Windows Forms;
bố trí có thể được xây dựng bằng các nút điều khiển bên trong hoặc khóa chúng vào bên
cạnh mẫu. Điều khiển trình bày dữ liệu (như hộp văn bản, hộp danh sách …) có thể được
liên kết với các nguồn dữ liệu như cơ sở dữ liệu hoặc truy vấn. Các điều khiển dữ liệu
ràng buộc có thể được tạo ra bằng cách rê các mục từ cửa sổ nguồn dữ liệu lên bề mặt
thiết kế. Các giao diện người dùng được liên kết với mã sử dụng một mô hình lập trình
hướng sự kiện. Nhà thiết kế tạo ra bằng C# hay VB.NET cho ứng dụng.
WPF Designer: có tên mã là Cider, được giới thiệu trong Visual Studio 2008. Giống
như Windows Forms Designer, hỗ trợ kéo và thả ẩn dụ. Sử dụng tương tác ngườimáy
nhắm mục tiêu theo Windows Presentation Foundation. Nó hỗ trợ các chức năng WPF
bao gồm kết nối dữ liệu và tự động hóa bố trí quản lý. Nó tạo ra mã XAML cho giao
diện người dùng. Các tập tin XAML được tạo ra là tương thích với Microsoft Expression

Bộ Môn: Tin Học Công Nghệp

Trang 12


ĐATN – Kỹ thuật máy tính

GVHD: THS. Đỗ Duy Cốp

Design, sản phẩm thiết kế theo định hướng. Các mã XAML được liên kết với mã đang
sử dụng một mô hình code-behind.
Web designer/development: Visual Studio cũng bao gồm một trình soạn thảo và thiết
kế trang web cho phép các trang web được thiết kế bằng cách kéo và thả các đối tượng.
Nó được sử dụng để phát triển các ứng dụng ASP.NET và hỗ trợ HTML, CSS và
JavaScript. Nó sử dụng mô hình code-behind để liên kết với mã ASP.NET. Từ Visual
Studio 2008 trở đi, công cụ bố trí được sử dụng bởi các nhà thiết kế web được chia sẻ
với Microsoft Expression Web. Ngoài ra ASP.NET MVC Framework hỗ trợ cho công
nghệ MVC là tải xuống riêng biệt và dự án ASP.NET Dynamic Data có sẵn từ Microsoft.
Class designer: Các lớp thiết kế được dùng để biên soạn và chỉnh sửa các lớp (bao
gồm cả các thành viên và truy cập của chúng) sử dụng mô hình UML. Các lớp thiết kế
có thể tạo ra mã phác thảo C thăng và VB.NET cho các lớp và cá phương thức. Nó cũng
có thể tạo ra sơ đồ lớp từ các lớp viết tay.
Data designer: Thiết kế dữ liệu có thể được sử dụng để chỉnh sửa đồ họa giản đồ cơ
sở dữ liệu bao gồm các bảng, khóa chính, khóa ngoại và các rằng buộc. Nó cũng có thể
được sử dụng để thiết kế các truy vấn từ các giao diện đồ họa.
Mapping designer: Từ Visual Studio 2008 trở đi, thiết kế ánh xạ được dùng bởi
Language Integrated Query để thiết kế các ánh xạ giữa các giản đồ cơ sở dữ liệu và các
lớp để đóng gói dữ liệu. Các giải pháp mới từ cách tiếp cận ORM, ADO.NET Entity
Framework sẽ thay thế và cải thiện các công nghệ cũ.
Ngoài ra còn có các công cụ khác hỗ trợ lập trình như:
Open Tabs Browser: được sử dụng để liệt kê tất cả thẻ đang mở và chuyển đổi giữa
chúng. Được viện dẫn bằng cách sử dụng CTRL+TAB.
Properties Editor: được sử dụng để chỉnh sửa các thuộc tính trong một cửa sổ giao
diện bên trong Visual Studio. Nó liệt kê tất cả các thuộc tính có sẵn (gồm chỉ đọc và
những thuộc tính có thể được thiết lập) cho tất cả các đối tượng bao gồm các lớp, biểu
mẫu, trang web và các hạng mục khác.
Object Browser: là một không gian tên và trình duyệt lớp thư viện cho Microsoft
NET. Nó có thể được sử dụng để duyệt các không gian tên (được sắp xếp theo thứ bậc)

Bộ Môn: Tin Học Công Nghệp

Trang 13


ĐATN – Kỹ thuật máy tính

GVHD: THS. Đỗ Duy Cốp

trong Assembly (CLI). Các hệ thống phân cấp có thể hoặc không có thể phản ánh các tổ
chức trong hệ thống tập tin.
Solution Explorer: theo cách nói trong Visual Studio, một giải pháp là một tập hợp
các tập tin mã và các nguồn khác được sử dụng để xây dựng một ứng dụng. Các tập tin
trong một giải pháp được sắp xếp theo thứ bậc, mà có thể có hoặc không thể phản ánh
các tổ chức trong hệ thống tập tin. Solution Explorer được sử dụng để quản lý và duyệt
các tập tin trong một giải pháp.
Team Explorer: được sử dụng để tích hợp các khả năng của Team Foundation Server,
Revision Control System và là cơ sở cho môi trường CodePlex đối với dự án mã nguồn
mở. Ngoài việc kiểm soát nguồn nó cung cấp khả năng xem và quản lý các công việc
riêng lẻ (bao gồm cả lỗi, nhiệm vụ và các tài liệu khác) và để duyệt thống kê TFS. Nó
được bao gồm như là một phần của một cài đặt TFS và cũng có sẵn để tải xuống cho
Visual Studio. Team Explorer cũng có sẵn như là một môi trường độc lập duy nhất để
truy cập các dịch vụ TFS.
Data Explorer: được sử dụng để quản lý cơ sở dữ liệu trên Microsoft SQL Server.
Nó cho phép tạo ra và sửa đổi các bảng cơ sở dữ liệu (hoặc bằng cách ban hành các lệnh
T-SQL hoặc bằng cách sử dụng các thiết kế dữ liệu). Nó cũng có thể được sử dụng để
tạo các truy vấn và các thủ tục lưu trữ trong T-SQL hoặc trong Managed code thông qua
SQL CLR. Có sẵn gỡ lỗi và hỗ trợ IntelliSense.
Server Explorer: công cụ được sử dụng để quản lý các kết nối cơ sở dữ liệu trên một
máy tính truy cập được. Nó cũng được sử dụng để duyệt chạy Windows Services, quầy
thực hiện, Windows Event Log và hàng đợi tin nhắn và sử dụng chúng như một nguồn
dữ liệu.
Dotfuscator Software Services Community Edition: Visual Studio bao gồm một phiên
bản light của sản phẩm PreEmptive Solutions' Dotfuscator cho mã gây rối và giảm kích
thước ứng dụng. Khởi đầu với Visual Studio 2010, phiên bản này của Dotfuscator sẽ bao
gồm khả năng Runtime Intelligence cho phép tác giả thu thập cách sử dụng của người
dùng cuối, hiệu suất, tính ổn định và các thông tin từ các ứng dụng của họ chạy trong
sản xuất.

Bộ Môn: Tin Học Công Nghệp

Trang 14


ĐATN – Kỹ thuật máy tính

GVHD: THS. Đỗ Duy Cốp

Text Generation Framework: Visual Studio bao gồm một khung tạo văn bản đầy đủ
được gọi là Text Template Transformation Toolkit T4 cho phép Visual Studio tạo ra tập
tin văn bản từ các mẫu hoặc trong IDE hoặc thông qua mã.
ASP.NET Web Site Administration Tool: công cụ quản trị trang web ASP.NET cho
phép cấu hình các trang web ASP.NET.
Visual Studio Tools for Office: Công cụ Visual Studio cho Ofice là một SDK và một
add-in cho Visual Studio bao gồm các công cụ để phát triển cho các bộ Microsoft Office.
Trước đây (với Visual Studio.NET 2003 và Visual Studio 2005) đó là một SKU riêng
biệt mà chỉ hỗ trợ Visual C# Visual Basic.NET hoặc đã được đưa vào Team Suite. Với
Visualof Studio 2008, nó không còn là một SKU riêng biệt nhưng lại kèm trong các
phiên bản chuyên nghiệp và cao hơn. Một thời gian chạy riêng biệt được yêu cầu khi
triển khai các giải pháp VSTO.
Visual Studio cho phép các nhà phát triển viết các phần mở rộng cho Visual Studio
để mở rộng tính năng của nó. Những phần mở rộng "cắm vào" Visual Studio và mở rộng
tính năng của nó. Các phần mở rộng đến ở dạng macro, add-in và các gói. Các macro
đại diện cho các nhiệm vụ lặp đi lặp lại và hành động mà các nhà phát triển có thể ghi
lại theo chương trình để tiết kiệm, phát lại, và phân phối. Tuy nhiên, không thể thực hiện
các lệnh mới hoặc tạo ra các cửa sổ công cụ. Chúng được viết bằng Visual Basic và
không được biên dịch. Các trình bổ sung cung cấp quyền truy cập vào mô hình đối tượng
Visual Studio và có thể tương tác với các công cụ IDE. Các trình bổ sung có thể được
sử dụng để thực hiện các chức năng mới và có thể thêm các cửa sổ công cụ mới. Các
trình bổ sung được cắm vào IDE thông qua COM và có thể được tạo ra trong bất kỳ ngôn
ngữ COM-tuân thủ. Gói được tạo ra bằng cách sử dụng Visual Studio SDK và cung cấp
mức cao nhất của khả năng mở rộng. Chúng có thể tạo ra các thiết kế và các công cụ
khác, cũng như tích hợp các ngôn ngữ lập trình khác. Visual Studio SDK cung cấp các
API không được quản lý cũng như một API quản lý để thực hiện các nhiệm vụ này. Tuy
nhiên, các API quản lý không phải là toàn diện như một không được quản lý. Các phần
mở rộng được hỗ trợ trong phiên bản Standard và cao hơn của phiên bản Visual Studio
2005. Phiên bản Express không hỗ trợ phần mở rộng.
Visual Studio 2008 giới thiệu Visual Studio Shell cho phép phát triển một phiên bản
tùy biến của IDE. Visual Studio Shell định nghĩa một tập hợp các VSPackages cung cấp
các chức năng cần thiết trong bất kỳ IDE. Trên hết, các gói khác có thể được thêm vào
Bộ Môn: Tin Học Công Nghệp

Trang 15


ĐATN – Kỹ thuật máy tính

GVHD: THS. Đỗ Duy Cốp

tùy chỉnh các cài đặt. Các chế độ biệt lập của vỏ tạo ra một AppID mới, nơi các gói được
cài đặt. Những thứ này được bắt đầu với một thực thi khác nhau. Nó nhằm mục đích cho
sự phát triển của môi trường phát triển tùy chỉnh, hoặc cho một ngôn ngữ cụ thể hoặc
một kịch bản cụ thể. Các chế độ tích hợp cài đặt các gói vào AppID của các phiên bản
Professional / Standard / Team System, do đó các công cụ tích hợp vào các phiên bản.
Visual Studio Shell là miễn phí tải về.
Sau khi phát hành Visual Studio 2008, Microsoft đã tạo ra Visual Studio Gallery. Nó
phục vụ như vị trí trung tâm cho đăng tải thông tin về phần mở rộng cho Visual Studio.
Phát triển cộng đồng cũng như phát triển thương mại có thể tải lên thông tin về các phần
mở rộng của họ đến Visual Studio.NET 2002 thông qua Visual Studio 2010. Người sử
dụng trang web có thể đánh giá và xem lại các phần mở rộng để giúp đánh giá chất lượng
các phần mở rộng được đăng. RSS feed thông báo cho người dùng trên bản cập nhật tới
trang web và các tính năng gắn thẻ cũng được lên kế hoạch.
c) Mô hình MVC:
 Khái niệm:
MVC là viết tắt của Model – View – Controller. Là một kiến trúc phần mềm hay mô
hình thiết kế được sử dụng trong kỹ thuật phần mềm. Nói cho dễ hiểu, nó là mô hình
phân bố source code thành 3 phần, mỗi thành phần có một nhiệm vụ riêng biệt và độc
lập với các thành phần khác.
Các thành phần trong MVC gồm:
- Controller: Giữ nhiệm vụ nhận điều hướng các yêu cầu từ người dùng và gọi đúng
những phương thức xử lý chúng… Chẳng hạn thành phần này sẽ nhận request từ url và
form để thao tác trực tiếp với Model.
- Model: Đây là thành phần chứa tất cả các nghiệp vụ logic, phương thức xử lý,
truy xuất database, đối tượng mô tả dữ liệu như các Class, hàm xử lý…
- View: Đảm nhận việc hiển thị thông tin, tương tác với người dùng, nơi chứa tất
cả các đối tượng GUI như textbox, images… Hiểu một cách đơn giản, nó là tập hợp các
form hoặc các file HTML. Luồng đi trong MVC.
 Xuất xứ:
Tất cả bắt đầu vào những năm 70 của thế kỷ 20, tại phòng thí nghiệm Xerox PARC
ở Palo Alto. Sự ra đời của giao diện đồ họa (Graphical User Interface) và lập trình hướng
Bộ Môn: Tin Học Công Nghệp

Trang 16


ĐATN – Kỹ thuật máy tính

GVHD: THS. Đỗ Duy Cốp

đối tượng ( Object Oriented Programming) cho phép lập trình viên làm việc với những
thành phần đồ họa như những đối tượng đồ họa có thuộc tính và phương thức riêng của
nó. Không dừng lại ở đó, những nhà nghiên cứu ở Xerox PARC còn đi xa hơn khi cho
ra đời cái gọi là kiến trúc MVC ( viết tắt của Model – Vie w – Controller).
MVC được phát minh tại Xerox Parc vào những năm 70, bởi TrygveReenskaug.
MVC lần đầu tiên xuất hiện công khai là trong Smalltalk-80. Sau đó trong một thời gian
dài hầu như không có thông tin nào về MVC, ngay cả trong tài liệu 80 Smalltalk. Các
giấy tờ quan trọng đầu tiên đƣợc công bố trên MVC là “A Cookbook for Using the
Model-View-Controller User Interface Paradigm in Smalltalk – 80”, bởi Glenn Krasner
và Stephen Pope, xuất bản trong tháng 8 / tháng 9 năm 1988.
 Kiến trúc mô hình MVC:
Trong kiến trúc MVC, một đối tượng đồ họa người dùng(GUI Compone nt) bao gồm
3 thành phần cơ bản: Model, View, và Controller. Model có trách nhiệm đối với toàn bộ
dữ liệu cũng như trạng thái của đối tượng đồ họa. View chính là thể hiện trực quan của
Model, hay nói cách khác chính là giao diện của đối tượng đồ họa. Và Controller điều
khiển việc tương tác giữa đối tượng đồ họa với người sử dụng cũng như những đối tượng
khác.
Luồng đi trong MVC:

Hình 1.2 - Các thành phần chính của mô hình MVC.
Bộ Môn: Tin Học Công Nghệp

Trang 17


ĐATN – Kỹ thuật máy tính

GVHD: THS. Đỗ Duy Cốp

Khi người sử dụng hoặc những đối tượng khác cần thay đổi trạng thái của đối tượng
đồ họa, nó sẽ tương tác thông qua Controller của đối tượng đồ họa. Controller sẽ thực
hiện việc thay đổi trên Model. Khi có bất kỳ sự thay đổi nào xảy ra ở Model, nó sẽ phát
thông điệp (broadcast message) thông báo cho View và Controller biết. Nhận được thông
điệp từ Model, View sẽ cập nhật lại thể hiện của mình, đảm bảo rằng nó luôn là thể hiện
trực quan chính xác của Model. Còn Controller, khi nhận được thông điệp từ Model, sẽ
có những tương tác cần thiết phản hồi lại người sử dụng hoặc các đối tượng khác.

Hình 1.3 - Mô hình tuần tự của MVC.
 Đặc điểm của mô hình MVC:
Cái lợi ích quan trọng nhất của mô hình MVC là nó giúp cho ứng dụng dễ bảo trì,
module hóa các chức năng, và được xây dựng nhanh chóng. MVC tách các tác vụ của
ứng dụng thành các phần riêng lẻ model, view, controller giúp cho việc xây dựng ứng
dụng nhẹ nhàng hơn. Dễ dàng thêm các tính năng mới, và các tính năng cũ có thể dễ
dàng thay đổi. MVC cho phép các nhà phát triển và các nhà thiết kế có thể làm việc đồng
thời với nhau. MVC cho phép thay đổi trong 1 phần của ứng dụng mà không ảnh hưởng
đến các phần khác.
Sở dĩ như vậy vì kiến trúc MVC đã tách biệt (decoupling) sự phụ thuộc giữa các
thành phần trong một đối tượng đồ họa, làm tăng tính linh động (flexibility) và tính tái
sử dụng (reusebility) của đối tượng đồ họa đó. Một đối tượng đồ họa bấy giờ có thể dễ
dàng thay đổi giao diện bằng cách thay đổi thành phần View của nó trong khi cách thức
Bộ Môn: Tin Học Công Nghệp

Trang 18


ĐATN – Kỹ thuật máy tính

GVHD: THS. Đỗ Duy Cốp

lưu trữ (Model) cũng như xử lý (Controller) không hề thay đổi. Tương tự, ta có thể thay
đổi cách thức lưu trữ (Model) hoặc xử lý (Controller) của đối tượng đồ họa mà những
thành phần còn lại vẫn giữ nguyên.
Chính vì vậy mà kiến trúc MVC đã được ứng dụng để xây dựng rất nhiều framework
và thư viện đồ họa khác nhau. Tiêu biểu là bộ thư viện đồ họa của ngôn ngữ lập trình
hướng đối tượng SmallTalk (cũng do Xerox PARC nghiên cứu và phát triển vào thập
niên 70 của thế kỷ 20). Các Swing Components của Java cũng được xây dựng dựa trên
kiến trúc MVC. Đặc biệt là nền tảng ASP.NET MVC Frame work.
 Tìm hiểu về Controler:
Controller có trách nhiệm chính là điều hướng các yêu cầu của người sử dụng. Như
vậy trên toàn ứng dụng của ta, tất cả các request đều sẽ phải đi tới controller. Và tại đây,
ứng với các tham số người sử dụng truyền mà ta đưa họ đến một tác vụ nào đó trên ứng
dụng.
Tại các tác vụ này, chúng sẽ thông qua lớp model để làm việc và trả kết quả trở về
controller. Cuối cùng controller sẽ đẩy dữ liệu thao tác tới view. View là thành phần cuối
cùng mà người sử dụng nhận được khi họ giở request tới ứng dụng.
Có thể hiểu controller, giống với kỹ thuật đa cấp với các tác vụ chạy ứng dụng phân
cấp theo từng nhánh riêng biệt như: Module, action,…

Hình 1.4 - Mô phỏng hoạt động của mô hinhg MVC.

Bộ Môn: Tin Học Công Nghệp

Trang 19


ĐATN – Kỹ thuật máy tính

GVHD: THS. Đỗ Duy Cốp

Qua hình vẽ này, ta hiểu rằng. Để có thể thao tác với các action (hành động) ta cần
phải đi qua file index.php. Lúc này file index đóng vai trò như một controller được dùng
để điều hướng các request.
Ứng với các request thì nó sẽ trả về một controller khác để xử lý tác vụ một cách cụ
thể. Tại controller con, nó sẽ gọi các action riêng biệt.
Ở đó, thông qua các action mà nó gọi tới các file xử lý giản đơn.
 Tìm hiểu Model:
Model là thành phần chủ yếu được sử dụng để thao tác xử lý dữ liệu. Trong các
framework, Model vẫn thường sử dụng theo phương thức Active Record. Một trong
những design pattern. Chúng có tác dụng rút ngắn thời gian viết câu truy vấn cho người
sử dụng. Biến những câu truy vấn phức tạp trở nên gần gũi và thân thiện với người sử
dụng thông qua các thư viện được định nghĩa sẵn.
Model thường sẽ là các phương thức có trách nhiệm xử lý các tác vụ như: select,
insert, update, delete các record trong database. Ứng với các lấy dữ liệu, model thường
sử dụng mảng để gởi trả kết quả về. Vì mảng có thể cho phép model lưu trữ nhiều thông
tin hơn, nên thường các record khi bóc tách chúng sẽ mang các dữ liệu của database một
cách chi tiết.
Khi sử dụng models, ta cũng cần tuân theo nguyên tắc chính của chúng là không xuất
giá trị trực tiếp trong model. Mà tất cả những dữ liệu ấy, phải đưa vào mảng và trả về
theo phương thức. Và tiếp tục ở view ta sẽ sử dụng nó để lấy dữ liệu ra.
 Tìm hiều về View:
View là phần hiển thị thông tin tương phản khi gởi và nhận request. Trước đây, khi
người lập trình chưa nghĩ tới view. Họ thường thao tác xử lý dữ liệu ngay trực tiếp trên
ứng dụng và đổ cả dữ liệu ngay trên file PHP đó. Điều này làm cho ứng dụng trở nên
cồng kềnh, và đặc biệt rất khó cho việc bảo trì nâng cấp sau này. Nhất là đối với designer,
việc thay đổi giao diện của một website luôn làm cho họ cảm thấy đau đầu vì phải vọc
thẳng vào core.
Trước đây, để giải quyết tình huống này. Người ta thường sử dụng template để phân
tách website thành 2 mảng riêng biệt. Một là giao diện và một là core. Việc chỉnh sửa
giao diện trở nên đơn giản hơn đối với họ so với cách viết thập cẩm kia. Tuy nhiên, các
Bộ Môn: Tin Học Công Nghệp

Trang 20


ĐATN – Kỹ thuật máy tính

GVHD: THS. Đỗ Duy Cốp

thư viện này thực chất sẽ làm cho ứng dụng của chúng ta trở nên chậm chạp hơn bao giờ
hết. Bởi chúng phải phiên dịch nhiều lần các kịch bản.
Chẳng hạn: Để dễ thao tác, smarty sẽ dịch ngược các yêu cầu của bạn sang ngôn ngữ
của nó. Sau đó chúng sẽ chuyển ngôn ngữ đó sang PHP và thao tác xử lý trên nó.
Việc này sẽ làm ứng dụng chậm chạp, do cứ phải dịch qua, dịch lại một kịch bản.
Trong khi, với sự kết hợp của PHP thuần, ứng dụng của bạn sẽ nhanh và ổn định hơn
nhiều.
Và view cũng là một phần trong việc nâng cấp những hạn chế ấy. Chúng giúp giảm
thiểu tối đa quá trình biên dịch nhiều lần. Và làm cho ứng dụng trở nên mạnh mẽ và
chuyên nghiệp hơn nhiều so với cách lập trình thuần.
 Ưu khuyết điểm của MVC:
- Ưu Điểm:
MVC làm cho ứng dụng trở nên trong sáng, giúp lập trình viên phân tách ứng dụng
thành ba lớp một cách rõ ràng. Điều này sẽ rất giúp ích cho việc phát triển những ứng
dụng xét về mặt lâu dài cho việc bảo trì và nâng cấp hệ thống.
MVC hiện đang là mô hình lập trình tiên tiến bậc nhất hiện nay, điều mà các
framework vẫn đang nổ lực để hướng tới sự đơn giản và yếu tố lâu dài cho người sử
dụng.
- Khuyết Điểm:
Mặc dù, MVC tỏ ra lợi thế hơn nhiều so với cách lập trình thông thường. Nhưng
MVC luôn phải nạp, load những thư viện đồ sộ để xử lý dữ liệu. Chính điều này làm cho
mô hình trở nên chậm chạp hơn nhiều so với việc code tay thuần túy.
MVC đòi hỏi người tiếp cận phải biết qua OOP, có kinh nghiệm tương đối cho việc
thiết lập và xây dựng một ứng dụng hoàn chỉnh. Sẽ rất khó khăn nếu OOP của người sử
dụng còn yếu.
MVC tận dụng mảng là thành phần chính cho việc truy xuất dữ liệu. Nhất là với việc
sử dụng active record để viết ứng dụng. Chúng luôn cần người viết phải nắm vứng mô
hình mảng đa chiều.
d) Hệ quản trị cơ sở dữ liệu SQL Server:
Bộ Môn: Tin Học Công Nghệp

Trang 21


Tài liệu bạn tìm kiếm đã sẵn sàng tải về

Tải bản đầy đủ ngay

×
x