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

Xây dựng hệ thống quản lí thiết bị 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 (1.13 MB, 74 trang )

LỜI CẢM ƠN
Để hoàn thành được đề tài này, tôi xin gửi lời cảm ơn chân thành đến Trường Đại

uế

học Kinh tế - Đại học Huế đã tạo mọi điều kiện tốt nhất, toàn bộ thầy cô giáo đã tạo môi

lực cho tôi thực hiện đề tài này một cách thuận lợi nhất.

tế
H

trường học tập thuận lợi, luôn theo sát hướng dẫn tận tình, bạn bè đã giúp đỡ tạo động

Trước tiên, tôi xin cảm ơn Nhà trường đã tạo điều kiện thuận lợi nhất để tôi hoàn
thành chương trình khóa luận của mình.Đây là cơ hội để tôi có dịp được học hỏi, được

h

tiếp xúc thực tiễn, tìm hiểu và quan trọng nhất là so sánh được sự khác biệt giữa lý thuyết

in

được học ở nhà trường và thực tế.Điều này sẽ giúp cho tôi rất nhiều trong tương lai, khi

cK

tôi ra trường và muốn tìm kiếm nhiều cơ hội để phát huy khả năng.
Tôi cũng xin gửi lời cảm ơn đặc biệt đến thạc sĩ Nguyễn Thanh Tuấn - Giảng viên
Khoa Hệ thống Thông tin Kinh tế đã theo sát tôi trên chặng đường vừa qua.Thầy đã giúp


họ

đỡ tôi rất nhiều từ những bước ban đầu hình thành ý tưởng đến thực hiện ý tưởng sau đó
chỉnh sửa để đề tài được hoàn thành tốt nhất có thể. Nhờ sự giúp đỡ của thầy mà tôi đã

ại

vượt qua nhiều khó khăn khi thực hiện đề tài.
Cuối cùng tôi xin cảm ơn đến tất cả các thầy cô giáo trong Khoa Hệ thống Thông

Đ

tin Kinh tế, đến gia đình người thân và tất cả bạn bè đã đóng góp ý kiến và giúp đỡ cho

ờn
g

đề tài của tôi được hoàn thành tốt đẹp.

Tr
ư

Tôi xin chân thành cảm ơn!

i


Khóa luận tốt nghiệp

MỤC LỤC

DANH MỤC SƠ ĐỒ HÌNH VẼ ......................................................................................... V
MỞ ĐẦU .......................................................................................................................... VII

uế

1.Lý do chọn đề tài ...............................................................................................................1
2.Mục tiêu nghiên cứu ..........................................................................................................2

tế
H

3.Đối tượng và phạm vi nghiên cứu ....................................................................................2
4.Kết quả dự kiến đạt được...................................................................................................3
5.Kết cấu của đề tài...............................................................................................................3

NỘI DUNG NGHIÊN CỨU ................................................................................................4

h

CHƯƠNG 1.CƠ SỞ LÝ LUẬN VỀ XÂY DỰNG HỆ THỐNG QUẢN LÝ THIẾT BỊ

in

TRƯỜNG ĐẠI HỌC KINH TẾ - ĐẠI HỌC HUẾ. ............................................................4

cK

1.1.Lập trình hướng chức năng.............................................................................................4
1.1.1.Giới thiệu .....................................................................................................................4


họ

1.1.2.Các khái niệm ..............................................................................................................5
1.2.Tổng quan về ngôn ngữ lập trình C#..............................................................................8
1.2.1.Khái niệm ....................................................................................................................8

ại

1.2.2.Lịch sử hình thành .......................................................................................................9

Đ

1.2.3.Các đặc điểm cơ bản của ngôn ngữ lập trình C#.........................................................9

ờn
g

1.3.Giới thiệu chung về. Net Framework ...........................................................................10
1.3.1.Khái niệm ..................................................................................................................10
1.3.2.Cấu trúc. Net Framework ..........................................................................................10

Tr
ư

1.4.Giới thiệu về Visual Studio 2012 .................................................................................11
1.4.1.Tổng quan về Visual Studio ......................................................................................11
1.4.2.Một số tính năng mới của Visual Studio 2012 ..........................................................12
1.5.Hệ quản trị cơ sở dữ liệu SQL Server 2008 .................................................................16
1.5.1.Lịch sử hình thành .....................................................................................................16
1.5.2.Các tính năng mới của SQL Server 2008 ..................................................................16


SVTH: Dương Đăng Khoa

ii


Khóa luận tốt nghiệp

1.5.3.Stored Procedures trong SQL Server ........................................................................17
1.5.3.1.Khái niệm ...............................................................................................................17
1.5.3.2.Tính năng của Stored Procedures ...........................................................................17

uế

1.5.3.3.Phân loại .................................................................................................................18
1.6.Mô hình 3 lớp ( 3 –tier ) ...............................................................................................19

tế
H

1.6.1.Khái niệm ..................................................................................................................19
1.6.2.Các đặc điểm của mô hình 3 lớp (3 –tier) .................................................................19
1.6.3.Mô tả về mô hình 3 lớp .............................................................................................20

h

1.7.Phương pháp nghiên cứu ..............................................................................................23

in


CHƯƠNG 2.TỔNG QUAN VỀ CÔNG TÁC QUẢN LÝ THIẾT BỊ TRƯỜNG ĐẠI HỌC
KINH TẾ - ĐẠI HỌC HUẾ ...............................................................................................27

cK

2.1.Tổng quan về công tác quản lí thiết bị trong trường học .............................................27
2.2.Giới thiệu cơ cấu tổ chức của trường Đại Học Kinh Tế - Đại Học Huế ......................27

họ

2.3.Mô tả bài toán ...............................................................................................................29
2.4.Mô tả yêu cầu ...............................................................................................................30
CHƯƠNG 3.PHÂN TÍCH, THIẾT KẾ, CÀI ĐẶT PHẦN MỀM QUẢN LÝ THIẾT BỊ

ại

TRƯỜNG HỌC CHO TRƯỜNG ĐẠI HỌC KINH TẾ - ĐẠI HỌC HUẾ.......................32

Đ

3.1.Phân tích hệ thống ........................................................................................................32
3.1.1.Sơ đồ BFD (BFD – Business Function Diagram) .....................................................33

ờn
g

3.1.2.Mô tả chức năng ........................................................................................................35
3.1.2.1.Quản lí tài khoản ....................................................................................................35

Tr

ư

3.1.2.2.Nhập thiết bị ...........................................................................................................35
3.1.2.3.Mượn trả thiết bị.....................................................................................................36
3.1.2.4.Kiểm kê thiết bị ......................................................................................................37
3.1.3.5.Sửa chữa thiết bị .....................................................................................................38
3.1.3.6.Thanh lí thiết bị ......................................................................................................39
3.1.3.Sơ đồ luồng dữ liệu (DFD – Data Flow Diagram) của quá trình quản lý thiết bị.....41

SVTH: Dương Đăng Khoa

iii


Khóa luận tốt nghiệp

3.1.3.1.Biều đồ DFD mức 0................................................................................................44
3.1.3.2.Sơ đồ phân rã mức 1 cho chức năng 1.0 ( Quản lí tài khoản ) ...............................45
3.1.3.3.Sơ đồ phân rã mức 1 cho chức năng 2.0 ( Quản lí nhập thiết bị ).........................46
3.1.3.4.Sơ đồ phân rã mức 1 cho chức năng 3.0 ( Mượn trả thiết bị ) ...............................46

uế

3.1.3.5.Sơ đồ phân rã mức 1 cho chức năng 4.0 (Kiểm kê thiết bị ).................................47

tế
H

3.1.3.6.Sơ đồ phân rã mức 1 cho chức năng 5.0 (Sửa chữa thiết bị )................................48
3.1.3.7.Sơ đồ phân rã mức 1 cho chức năng 6.0 (Thanh lí thiết bị ) ..................................50

3.1.3.8.Sơ đồ phân rã mức 1 cho chức năng 7.0 (Thống kê, báo cáo ) ..............................51
3.2.Thiết kế hệ thống ..........................................................................................................52

h

3.2.1.Sơ đồ thực thể - Mối quan hệ ....................................................................................52

in

3.2.2.Mô hình cơ sở dữ liệu mối quan................................................................................56

cK

3.3.Thiết kế thuật toán ........................................................................................................57
3.3.1.Đăng nhập..................................................................................................................57
3.3.2.Đổi mật khẩu .............................................................................................................57

họ

3.3.2.Cập nhật thông tin .....................................................................................................58
3.3.4.Xóa thông tin .............................................................................................................59

ại

3.3.5.Tìm kiếm thông tin ....................................................................................................60

Đ

3.4.Thiết kế giao diện .........................................................................................................61
KẾT LUẬN ........................................................................................................................64


ờn
g

1.Kết quả đạt được..............................................................................................................64
2.Hạn chế của đề tài............................................................................................................64
3.Hướng nghiên cứu trong tương lai ..................................................................................64

Tr
ư

PHỤ LỤC ...........................................................................................................................65
TÀI LIỆU THAM KHẢO ..................................................................................................65

SVTH: Dương Đăng Khoa

iv


Khóa luận tốt nghiệp

DANH MỤC SƠ ĐỒ HÌNH VẼ
Hình 1.1. Biểu tượng của ngôn ngữ C#................................................................................8
Hình 1.2. Cấu trúc. Net Framework ..................................................................................11

uế

Hình 1.3. Giao diện mới của Visual Studio 2012...............................................................14
Hình 1.4. Cấu trúc mô hình 3 lớp ( 3- tier).........................................................................20


tế
H

Hình 1.5. Phân tầng chức năng mô hình 3 lớp ...................................................................20
Hình 1.6. Tầng giao diện trong mô hình 3 lớp ( 3-tier ).....................................................21
Hình 1.7. Tầng trung gian trong mô hình 3 lớp..................................................................22

h

Hình 1.8. Tầng kết nối trong mô hình 3 lớp ( 3-tier)..........................................................23

in

Hình 1.9. Mô hình thác nước (waterfall model).................................................................25
Hình 2.1. Cơ cấu tổ chức của trường Đại Học Kinh Tế Huế .............................................28

cK

Hình 3.1. Sơ đồ BFD (BFD – Business Function Diagram) ..............................................34
Hình 3.2. Chức năng quản lí tài khoản ...............................................................................35

họ

Hình 3.3. Quản lí nhập thiết bị ...........................................................................................35
Hình 3.4. Mượn trả thiết bị.................................................................................................37
Hình 3.5. Kiểm kê thiết bị ..................................................................................................37

ại

Hình 3.6. Sữa chửa thiết bị .................................................................................................38


Đ

Hình 3.7. Thanh lí thiết bị ..................................................................................................39

ờn
g

Hình 3.8. Báo cáo thống kê ................................................................................................40
Hình 3.9. Sơ đồ ngữ cảnh ...................................................................................................41
Hình 3.10. Sơ đồ phân rã mức 0........................................................................................44

Tr
ư

Hình 3.11. Sơ đồ phân rã chức năng mức 1 của chức năng quản lí tài khoản ...................45
Hình 3.12. Sơ đồ phân rã chức năng mức 1 của chức năng quản lí nhập thiết bị ..............46
Hình 3.13. Sơ đồ phân rã chức năng mức 1 của chức năng mượn trả thiết bị ..................47
Hình 3.14. Sơ đồ phân rã chức năng mức 1 của chức năng kiểm kê thiết bị ....................48
Hình 3.15. Sơ đồ phân rã chức năng mức 1 của chức năng sửa chữa thiết bị..................49
Hình 3.16. Sơ đồ phân rã chức năng mức 1 của chức năng thanh lí thiết bị....................50

SVTH: Dương Đăng Khoa

v


Khóa luận tốt nghiệp

Hình 3.17. Sơ đồ phân rã chức năng mức 1 của chức năng thống kê báo cáo ...................51

Hình 3.18. Sơ đồ thực thể - Mối quan hệ cho chức năng quản lý thiết bị..........................53
Hình 3. 19. Sơ đồ ERD......................................................................................................56

uế

Hình 3.20. Sơ đồ thuật toán đăng nhập ..............................................................................57
Hình 3.21. Sơ đồ thuật toán đổi mật khẩu ..........................................................................58

tế
H

Hình 3.22. Sơ đồ thuật toán cập nhật thông tin .................................................................59
Hình 3.23. Sơ đồ thuật toán xóa thông tin..........................................................................60
Hình 3.24. Sơ đồ thuật toán tìm kiếm thông tin ................................................................61

h

Hình 3.25. Giao diện đăng nhập .........................................................................................62
Hình 3.26. Giao diện chính.................................................................................................62

in

Hình 3.27. Giao diện nhập thiết bị .....................................................................................63

Tr
ư

ờn
g


Đ

ại

họ

cK

Hình 3.28. Giao diện phiếu nhập thiết bị............................................................................63

SVTH: Dương Đăng Khoa

vi


Khóa luận tốt nghiệp

TÓM TẮT
Hiện nay, với sự đầu tư cho giáo dục được đặt lên hàng đầu, cơ sở vật chất, trang
thiết bị dành cho các trường học ngày càng tăng về số lượng nên việc quản lý trang thiết

uế

bị của nhà trường gặp nhiều khó khăn. Số lượng nhân viên quản lí thiết bị không quản lí
được các thông tin của trang thiết bị một cách chính xác, cũng như thông tin thiết bị

tế
H

không được lưu trữ lại hoặc được lưu trữ thông tin rời rạc gây rất nhiều khó khăn trong

việc tìm kiếm và thực hiện các nghiệp vụ liên quan.

Đối với trường Đại Học Kinh Tế - Đại Học Huế việc quản lí thiết bị càng trở nên

h

khó khăn bởi vì số lượng trang thiết bị của nhà trường rất nhiều nhưng người quản lí thiết

in

bị không đủ khả năng quản lí hết tất cả thiết bị nên cần một phần mềm quản lí thiết bị
nhằm thực hiên các nghiệp vụ đối với thiét bị, tìm kiếm được các thông tin thiết bị để

cK

phục vụ cho nhu cầu dạy và học của sinh viên và giảng viên. Từ cơ sở đó, tôi đã xây dựng
một phần mềm có thể quản lí các nghiệp vụ liên quan đến thiết bị mang tính khả thi cao

họ

khi áp dụng vào trường của chúng ta..

Phần mềm dựa trên các thao tác cơ bản đối với thiết bị từ việc nhập thiết bị, mượn

ại

trả thiết bị, kiểm kê thiết bị, sửa chữa thiết bị, thanh lí thiết bị. Hệ thống này có thể đảm
bảo quản lí được số lượng của các thiết bị trong hiện tại và tình trạng thiết bị để lấy căn

Đ


cứ cho việc thực hiện các quy trình nghiệp vụ. Phần mềm với giao diện dễ sử dụng nên

Tr
ư

ờn
g

thực hiện các thao tác trở nên nhanh chóng hơn.

SVTH: Dương Đăng Khoa

vii


Khóa luận tốt nghiệp

MỞ ĐẦU
1. Lý do chọn đề tài
Ngày nay, với sự phát triển bùng nổ của công nghệ trên thế giới là sự phát triển

uế

nhanh chóng của các ứng dụng phục vụ cho mọi khía cạnh của đời sống nhằm quản lý
thông tin, giải trí, ứng dụng vào sản xuất,...Khoảng 10 năm trở lại đây, sự phát triển của

tế
H


phần mềm ở Việt Nam diễn ra nhanh chóng.

Các ứng dụng phần mềm được sử dụng ngày càng rộng rãi cùng với quá trình tin
học hóa trong công việc.Trong các loại phần mềm ứng dụng thì phần mềm quản lí đang
được sử dụng rộng rãi ở các cơ quan, tổ chức, doanh nghiệp và cá nhân. Sự ra đời của các

hơn, giảm được thời gian thao tác, tìm kiếm.

in

h

phần mềm quản lí đã giúp cho công việc quản lí trở nên dễ dàng hơn, độ chính xác cao

cK

Ngày nay, cùng với sự đầu tư cho cơ sở hạ tầng, trang thiết bị cho các cơ quan, tổ
chức, doanh nghiệp ngày một đa dạng về chủng loại, nhiều về số lượng nên việc quản lí,

họ

tìm kiếm thông tin, theo dõi tình trạng thiết bị,…thực hiện rất khó khăn, tốn nhiều thời
gian, công sức. Khi quá trình tin học hóa chưa được áp dụng vào công việc quản lí, mọi
thao tác đều được lưu trữ trên các loai giấy tờ, dữ liệu lưu trữ rời rạc, rất khó tìm kiếm sau

ại

một khoảng thời gian không sử dụng đến. Khi quá trình tin học hóa được áp dụng vào

Đ


việc quản lí, nhiều tổ chức có thói quen sử dụng các phần mềm thông dụng như Excel,
Access,…Các phần mềm này cũng đã có bước tiến lớn trong việc tìm kiếm và lưu trữ

ờn
g

thông tin, nhưng dữ liệu lưu trữ vẫn còn rời rạc và việc thao tác đòi hỏi người dùng phải
có kiến thức mới thao tác thành công được. Điều này đặt ra cách giải quyết là một phần
mềm quản lí mới có thể giải quyết được các vấn đề đặt ra như trên. Chính vì vậy đề tài “

Tr
ư

Xây dựng hệ thống quản lí thiết bị trường Đại học Kinh Tế-Đại học Huế ” được thực
hiện có thể khắc phục các vấn đề trong quá trình quản lí thiết bị là công cụ giúp giảm thời
gian thao tác, tìm kiếm chính xác, đạt hiệu quả trong việc quản lí thiết bị ở trường Đại học
Kinh Tế - Đại học Huế.

SVTH: Dương Đăng Khoa

1


Khóa luận tốt nghiệp

2. Mục tiêu nghiên cứu

uế


Mục tiếu tổng quát :
Trên cơ sở tìm hiểu và nghiên cứu các nghiệp vụ trong quy trình quản lí thiết bị để

tế
H

xây dựng một hệ thống quản lý thiết bị cho trường Đại học Kinh Tế - Đại học Huế và mục
tiêu chủ yếu là đạt được hiệu quả cao trong công việc quản lí thiết bị.
Mục tiêu cụ thể :

h

- Khảo sát, làm rõ về các yêu cầu của người dùng trong một hệ thống quản lí thiết

in

bị trường học.

cK

- Hiểu được các quy trình nghiệp vụ trong việc quản lí thiết bị của một trường học.
- Tạo một ứng dụng demo dùng để quản lí thiết bị trong trường học với
WindowForm.

họ

- Đề xuất các tính năng mới nhằm tạo ra một phần mềm hoàn thiện.
- Giải quyết được các vấn đề đặt ra khi phần mềm hoạt động.

ại


- Thiết kế phần mềm thân thiện với người dùng, thao tác đơn giản và hiệu quả.

Đ

- Quản lí được sự thay đổi số lượng thiết bị theo thời gian và theo người dùng.
- Đảm bảo tính năng bảo mật, quyền hạn cho người dùng.

ờn
g

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

Tr
ư

- Lý thuyết xây dựng phần mềm.
- Quy trình quản lí thiết bị trường Đại Học Kinh Tế - Đại Học Huế.
- Các công cụ hỗ trợ, phương pháp ứng dụng trong việc lập trình phần mềm.
Phạm vi nghiên cứu :
- Địa điểm : Trường Đại Học Kinh Tế - Đại Học Huế.
- Thời gian : Từ 10/02/2014 đến 18/05/2014.

SVTH: Dương Đăng Khoa

2


Khóa luận tốt nghiệp


4. Kết quả dự kiến đạt được
Xây dựng thành công phần mềm quản lí thiết bị của trường Đại Học Kinh Tế - Đại
Học Huế để việc quản lí thiết bị của đơn vị trở nên dễ dàng và đơn giản.

uế

5. Kết cấu của đề tài
Chương I : Cơ sở lý luận về xây dựng hệ thống quản lý thiết bị trường Đại Học

tế
H

Kinh Tế - Đại Học Huế.

Chương II : Tổng quan về công tác quản lý thiết bị trường Đại Học Kinh Tế - Đại
Học Huế.

Tr
ư

ờn
g

Đ

ại

họ


cK

in

cho trường Đại Học Kinh Tế - Đại Học Huế.

h

Chương III : Phân tích, thiết kế và cài đặt phần mềm quản lý thiết bị trường học

SVTH: Dương Đăng Khoa

3


Khóa luận tốt nghiệp

NỘI DUNG NGHIÊN CỨU
CHƯƠNG 1. CƠ SỞ LÝ LUẬN VỀ XÂY DỰNG HỆ THỐNG QUẢN LÝ
THIẾT BỊ TRƯỜNG ĐẠI HỌC KINH TẾ - ĐẠI HỌC HUẾ.

uế

1.1. Lập trình hướng chức năng
1.1.1. Giới thiệu

tế
H

Lập trình hướng chức năng (Procedure – Oriented Programming, viết tắt là POP).


Khi máy tính được phát minh lần đầu tiên, chúng cần được lập trình một cách rõ ràng với
những cấu trúc đơn giản và "phần mềm" chỉ đơn thuần là một tập hợp của các lệnh rất

h

đơn giản này kết hợp với nhau mà có thể chạy theo trình tự.

in

Ban đầu, những mã máy theo yêu cầu bằng văn bản - di chuyển "bit" này từ bộ nhớ
này đến vị trí này, và thực hiện một cách logic toán tử "and" với những bit này. Đó là khái

cK

niệm đầu tiên của lập trình Basic. Kể từ khi ngôn ngữ thủ tục được viết tuần tự từng dòng,
nó trở nên dễ dàng cho con người làm nắm bắt được những gì diễn ra trong chương trình.

họ

Phương pháp lập trình thủ tục chính là cách thực hiện phương pháp hướng chức
năng kể trên. Phương pháp thủ tục chia một chương trình (chức năng) lớn thành các khối
chức năng hay hàm (thủ tục) đủ nhỏ để dễ lập trình và kiểm tra. Mỗi hàm có một điểm bắt

ại

đầu và một điểm kết thúc và có dữ liệu và logic riêng. Trong một hệ thống chương trình,

Đ


các biến có các phạm vi nhìn thấy nhất định. Trong chương trình, các hàm làm việc độc
lập với nhau. Dữ liệu được chuyển đổi qua lại thông qua các tham số gọi hàm. Việc chia

ờn
g

chương trình thành các hàm cho phép nhiều người có thể tham gia vào việc xây dựng
chương trình. Mỗi người xây dựng một hay một số các hàm độc lập với nhau.Phương
pháp này dẫn đến một khái niệm mới – sự trừu tượng hóa. Sự trừu tượng hóa có thể xem

Tr
ư

như khả năng quan sát một sự việc mà không cần xem xét đến các chi tiết bên trong của
nó. Trong một chương trình thủ tục, chúng ta chỉ cần biết một hàm nào đó có thể làm
được những công việc cụ thể gì là đủ. Còn làm thế nào để thực hiện công việc đó là
không quan trọng, chừng nào hàm còn tin cậy được thì còn có thể dùng nó mà không cần
phải biết nó thực hiện đúng đắn chức năng của mình như thế nào. Điều này gọi là sự trừu

SVTH: Dương Đăng Khoa

4


Khóa luận tốt nghiệp

tượng hóa theo chức năng (functional abstraction) (hay còn gọi là sự chuyên môn hóa) và
là nền tảng của lập trình thủ tục.
1.1.2. Các khái niệm


uế

Trong phương pháp lập trình thủ tục, chương trình là một hệ thống các thủ tục,
hàm.Tức là, khi viết chương trình, ta phải xác định chương trình làm những công việc

tế
H

(thao tác) nào ?. Mỗi thao tác gồm những thao tác con nào? Từ đó mỗi thao tác sẽ tương

ứng với một hàm. Như vậy, lập trình theo phương pháp thủ tục là xác định các hàm, định
nghĩa các hàm và gọi các hàm này để giải quyết vấn đề được đặt ra.

Với lập trình thủ tục hay hướng thủ tục chúng ta có thể nhóm các câu lệnh thường

h

xuyên thực hiện trong chương trình chính lại một chỗ và đặt tên đoạn câu lệnh đó thành

in

một thủ tục. Một lời gọi tới thủ tục sẽ được sử dụng để thực hiện đoạn câu lệnh đó. Sau

cK

khi thủ tục thực hiện xong điều khiển trong chương trình được trả về ngay sau vị trí lời
gọi tới thủ tục trong chương trình chính. Với các cơ chế truyền tham số cho thủ tục chúng
ta có các chương trình con. Một chương trình chính bao gồm nhiều chương trình con và

họ


các chương trình được viết mang tính cấu trúc cao hơn, đồng thời cũng ít lỗi hơn. Nếu
một chương trình con là đúng đắn thì kết quả thực hiện trả về luôn đúng và chúng ta

ại

không cần phải quan tâm tới các chi tiết bên trong của thủ tục. Còn nếu có lỗi chúng ta có

Đ

thể thu hẹp phạm vi gỡ lỗi trong các chương trình con chưa được chứng minh là đúng
đắn.

ờn
g

Dữ liệu được chuyển đổi qua lại thông qua các tham số gọi hàm. Việc chia chương
trình thành các hàm cho phép nhiều người có thể tham gia vào việc xây dựng chương
trình. Mỗi người xây dựng một hay một số các hàm độc lập với nhau.

Tr
ư

Phương pháp này dẫn đến một khái niệm mới – sự trừu tượng hóa. Sự trừu tượng

hóa có thể xem như khả năng quan sát một sự việc mà không cần xem xét đến các chi tiết
bên trong của nó.
Trong một chương trình thủ tục, chúng ta chỉ cần biết một hàm nào đó có thể làm

được những công việc cụ thể gì là đủ. Còn làm thế nào để thực hiện công việc đó là

không quan trọng, chừng nào hàm còn tin cậy được thì còn có thể dùng nó mà không cần

SVTH: Dương Đăng Khoa

5


Khóa luận tốt nghiệp

phải biết nó thực hiện đúng đắn chức năng của mình như thế nào.Điều này gọi là sự trừu
tượng hóa theo chức năng (functional abstraction) (hay còn gọi là sự chuyên môn hóa) và
là nền tảng của lập trình thủ tục.

uế

- Trừu tượng : Khái niệm trừu tượng là sự cho phép tập trung vào vấn đề ở mức
tổng quát nào đó, không xét tới các chi tiết mức thấp hơn không liên quan. Việc dùng trừu

tế
H

tượng hoá cho phép ta làm việc với khái niệm và thuật ngữ quen thuộc trong môi trường
vấn đề mà không phải biến đổi chúng thành một cấu trúc không quen thuộc.

Khi xét vấn đề cho việc tìm ra giải pháp module, chúng ta có thể đặt ra nhiều mức
độ trừu tượng. Tại mức trừu tượng cao nhất: phát biểu bằng ngôn ngữ môi trường của vấn

h

đề. Tại mức trừu tượng thấp hơn, thường lấy khuynh hướng thủ tục; tại mức thấp nhất,


in

giải pháp được phát biểu theo cách có thể cài đặt trực tiếp.

cK

Trong mỗi bước của tiến trình đều là sự làm mịn cho một mức trừu tượng của giải
pháp. Khi chuyển qua các mức trừu tượng khác nhau, chúng ta làm việc để tạo ra các trừu
tượng thủ tục, trừu tượng dữ liệu và trừu tượng điều khiển. Trừu tượng thủ tục: là một dãy

họ

các lệnh có tên, có một chức năng xác định và giới hạn. Trừu tượng dữ liệu: là tập hợp
các dữ liệu có tên mô tả cho một sự vật dữ liệu. Đối tượng dữ liệu này thực chất là một

ại

tập hợp nhiều mẫu thông tin khác nhau và ta có thể tham khảo tới bằng cách nói tên của

Đ

trừu tượng dữ liệu. Trừu tượng dữ liệu làm cho người thiết kế có thể xác định một sự vật
dữ liệu trong hoàn cảnh các thao tác (thủ tục) có thể áp dụng vào nó. Trừu tượng điều

ờn
g

khiển: áp dụng cho cơ chế điều khiển chương trình mà không xác định các chi tiết bên
trong.


- Chương trình con : Một chương trình con (còn được gọi là hàm, thủ tục, hay thủ

Tr
ư

tục con) là một chuỗi mã để thực thi một thao tác đặc thù nào đó như là một phần của
chương trình lớn hơn. Đây là các câu lệnh được nhóm vào một khối và được đặt tên và
tên này tùy theo ngôn ngữ có thể được gán cho một kiểu dữ liệu. Những khối mã này có
thể được tập trung lại làm thành các thư viện phần mềm. Các chương trình con có thể
được gọi ra để thi hành (thường là qua tên của chương trình con đó). Điều này cho phép
các chương trình dùng tới những chương trình con nhiều lần mà không cần phải lặp lại

SVTH: Dương Đăng Khoa

6


Khóa luận tốt nghiệp

các khối mã giống nhau một khi đã hoàn tất việc viết mã cho các chương trình con đó chỉ
một lần.Chương trình con có các đặc tính như sau :
- Mỗi chương trình con có một điểm vào duy nhất.

uế

- Chương trình gọi tạm ngừng việc thực hiện trong quá trình thực hiện chương
trình con của chương trình.

kết thúc.


tế
H

- Ðiều khiển luôn được trả về chương trình gọi khi sự thực hiện chương trình con

Khi nói đến chương trình con, chúng ta quan tâm đến hai khía cạnh: sự định nghĩa

h

chương trình con và lời gọi thực hiện chương trình con.

in

Ðịnh nghĩa chương trình con là một đoạn chương trình nguồn được viết ra bởi
người lập trình.

cK

Lập trình module : Trong lập trình module các thủ tục có cùng một chức năng
chung sẽ được nhóm lại với nhau tạo thành một module riêng biệt. Một chương trình sẽ

họ

không chỉ bao gồm một phần đơn lẻ. Nó được chia thành một vài phần nhỏ hơn tương tác
với nhau qua các lời gọi thủ tục và tạo thành toàn bộ chương trình.
Chương trình chính là sự kết hợp giữa các lời gọi tới các thủ tục trong các module

ại


riêng biệt với các dữ liệu thích hợp. Mỗi module có dữ liệu riêng của nó.Điều này cho

Đ

phép các module có thể kiểm soát các dữ liệu riêng của nó bằng các lời gọi tới các thủ tục
trong module đó. Tuy nhiên mỗi module chỉ xuất hiện nhiều nhất một lần trong cả chương

ờn
g

trình.

Lập trình cấu trúc : Là một tập con của lập trình thủ tục. Trong một chương trình

máy tính, các khối chức năng có thể được thực hiện không chỉ theo trình tự mà còn có thể

Tr
ư

theo các tình huống và lặp lại nhiều lần.Phương pháp lập trình cấu trúc được dựa trên các
mô hình toán học của Bohm và Guiseppe, theo đó, một chương trình máy tính có thể được
viết dựa trên ba cấu trúc: trình tự, quyết định và vòng lặp.Trình tự nghĩa là các câu lệnh
được thực hiện theo trình tự nhất định: trên xuống. Quyết định là sự qui định sẽ thực hiện
chương trình như thế nào phụ thuộc vào sự thoả mãn các điều kiện nhất định. Vòng lặp

SVTH: Dương Đăng Khoa

7



Khóa luận tốt nghiệp

thể hiện sự thực hiện có tính lặp một số đoạn lệnh của chương trình khi các điều kiện nào
đó vẫn được thỏa mãn. Qua các cấu trúc trên, mã chương trình trở nên sáng sủa và dễ đọc.
Phương pháp lập trình thủ tục hay lập trình cấu trúc thường đi đôi với phương pháp

uế

phân tích trên xuống (top-down). Theo phương pháp này, người thiết kế hệ thống chia các
chức năng (hàm) chính của hệ thống thành các chức năng nhỏ hơn, đến lượt mình, các

tế
H

chức năng nhỏ này lại được chia tiếp thành các chức năng nhỏ hơn nữa cho đến khi được
các khối (hàm) chương trình đủ nhỏ. Việc này được thể hiện trực quan theo sơ đồ khối.

1.2. Tổng quan về ngôn ngữ lập trình C#

h

1.2.1. Khái niệm

in

C# đọc là gì? Chắc chắn không phải là C “thăng” hay C “khác”, mà họ tên chính
xác của ngôn ngữ này là C Sharp.Ngôn ngữ này được xây dựng và kiến trúc bởi Anders

cK


Hejlsberg, người đã viết nên trình biên dịch Pascal và có nhiều đóng góp cho Delphi cũng
như Java.Vì vậy dù mang họ nhà C nhưng C# là một ngôn ngữ hướng đối tượng hiện đại

Đ

ại

họ

và dễ học, chịu ảnh hưởng và học hỏi nhiều tính ưu việt từ Java, C++ và các ngôn ngữ

ờn
g

Hình 1.1. Biểu tượng của ngôn ngữ C#

khác.

Tr
ư

C# là một trong rất nhiều ngôn ngữ lập trình được hỗ trợ bởi. NET Framework

(như C++, Java…). Có thể hiểu đơn giản đây là một trung tâm biên dịch trong đó tất cả
các ngôn ngữ được hỗ trợ bởi. NET Framework sẽ được chuyển đổi ra MSIL (một dạng
mã trung gian) rồi từ đấy mới được biên dịch tức thời (Just in time Compiler – JIT
Compiler) thành các file thực thi như exe. Một thành tố quan trong nữa trong kiến trúc.
NET Framework chính là CLR (.NET Common Language Runtime), khối chức năng

SVTH: Dương Đăng Khoa


8


Khóa luận tốt nghiệp

cung cấp tất cả các dịch vụ mà chương trình cần giao tiếp với phần cứng, với hệ điều
hành.
1.2.2.Lịch sử hình thành

uế

C# là một ngôn ngữ lập trình hướng đối tượng được phát triển bởi Microsoft, là
phần khởi đầu cho kế hoạch. NET của họ. Tên của ngôn ngữ bao gồm ký tự thăng theo

tế
H

Microsoft nhưng theoECMA 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.

in

với các sản phẩm Turbo Pascal, Delphi, J++, WFC.

h

C# được thiết kế chủ yếu bởi Anders Hejlsberg kiến trúc sư phần mềm nổi tiếng


1.2.3. Các đặc điểm cơ bản của ngôn ngữ lập trình C#

cK

Ngôn ngữ C# là một ngôn ngữ được dẫn xuất từ Java, VB, C và C++, nhưng nó
được tạo từ nền tảng phát triển hơn.Microsoft bắt đầu với công việc trong C và C++ và

họ

thêm vào những đặc tính mới để làm cho ngôn ngữ này dễ sử dụng hơn. Nhiều trong số
những đặc tính này khá giống với những đặc tính có trong ngôn ngữ Java. Không dừng lại
ở đó, Microsoft đưa ra một số mục đích khi xây dựng ngôn ngữ này. Những mục đích này

ại

được được tóm tắt như sau:

Đ

- C# là ngôn ngữ đơn giản
- C# là ngôn ngữ hiện đại

ờn
g

- C# là ngôn ngữ hướng đối tượng
- C# là ngôn ngữ mạnh mẽ và mềm dẻo

Tr
ư


- C# là ngôn ngữ có ít từ khóa
- C# là ngôn ngữ hướng module
- C# sẽ trở nên phổ biến
C# loại bỏ một vài sự phức tạp và rối rắm của những ngôn ngữ như Java và C++,

bao gồm việc loại bỏ những macro, những template, đa kế thừa, và lớp cơ sở ảo (virtual
base class). Chúng là những nguyên nhân gây ra sự nhầm lẫn hay dẫn đến những vấn đề

SVTH: Dương Đăng Khoa

9


Khóa luận tốt nghiệp

cho các người phát triển C++. Nếu chúng ta là người học ngôn ngữ này đầu tiên thì chắc
chắn là ta sẽ không trải qua những thời gian để học nó. Nhưng khi đó ta sẽ không biết
được hiệu quả của ngôn ngữ C# khi loại bỏ những vấn đề trên.

uế

Ngôn ngữ C# đơn giản vì nó dựa trên nền tảng C và C++. Nếu chúng ta thân thiện
với C và C++ hoặc thậm chí là Java, chúng ta sẽ thấy C# khá giống về diện mạo, cú pháp,

tế
H

biểu thức, toán tử và những chức năng khác được lấy trực tiếp từ ngôn ngữ C và C++,


nhưng nó đã được cải tiến để làm cho ngôn ngữ đơn giản hơn. Một vài trong các sự cải
tiến là loại bỏ các dư thừa, hay là thêm vào những cú pháp thay đổi. Đối với người mới

1.3.Giới thiệu chung về. Net Framework

in

1.3.1. Khái niệm

h

học thì điều này và những việc cải tiến khác làm bớt nhầm lẫn và đơn giản hơn

cK

.NET Framework của Microsoft là một nền tảng lập trình tập hợp các thư viện lập
trình có thể được cài thêm hoặc đã có sẵn trong các hệ điều hành Windows. Nó cung cấp
những giải pháp thiết yếu cho những yêu cầu thông thường của các chương trình điện

họ

toán như lập trình giao diện người dùng, truy cập dữ liệu, kết nối cơ sở dữ liệu, ứng dụng
web, các giải thuật số học và giao tiếp mạng.Ngoài ra,. NET Framework quản lý việc thực

ại

thi các chương trình được viết dựa trên. NET Framework do đó người dùng cần phải cài.

Đ


NET Framework để có thể chạy các chương trình được viết trên nền. NET.
Về chức năng,. NET Framework có 3 khối chức năng là: Trình diễn (Presentation);

ờn
g

Dữ liệu (Data); Giao tiếp (Communication).
Về kỹ thuật, hiện tại Microsoft giới thiệu 4 kỹ thuật mới và nổi bật nhất là:

Windows CardSpace (InfoCard), Windows Presentation Foundation (Avalon), Windows

Tr
ư

Communication Foundation (Indigo), Windows Workflow Foundation (Workflow).
1.3.2. Cấu trúc. Net Framework
.NET Framework gồm ba phần là bộ thực thi ngôn ngữ chung (Common Language

Runtime), các lớp lập trình hợp nhất hay còn gọi là các thư viện lớp cơ sở (Base Class
Libraries) và một phiên bản cấu thành của Microsoft Active Server Pages gọi là Microsoft
ASP.NET. Trên thực tế, ASP.NET và Windows Forms là hai thành phần nằm trong các
SVTH: Dương Đăng Khoa

10


Khóa luận tốt nghiệp

thư viện lớp cơ sở ( Base Class Libraries ), nên có thể xem. NET Framework bao gồm 2
phần chính là ngôn ngữ thực thi ( Common Language Runtime – CLR ) và thư viên lớp .

NET Framework (. NET Framework Class Library – FCL ).Một trong các thành phần này

uế

đều có vai trò cực kỳ quan trọng trong việc phát triển các dịch vụ và các ứng dụng. NET.
Thư viện ( Library –FCL ). Một trong các thành phần này đều có vai trò cực kỳ

ại

họ

cK

in

h

tế
H

quan trọng trong việc phát triển các dịch vụ và các ứng dụng. NET.

Đ

Hình 1.2. Cấu trúc. Net Framework

ờn
g

1.4. Giới thiệu về Visual Studio 2012

1.4.1. Tổng quan về Visual Studio

Tr
ư

Visual Studio thể hiện tầm nhìn rộng của Microsofl về các ứng dụng máy khác

bằng cách cho phép các chuyên gia phát triển phần mềm có thể nhanh chóng tạo ứng dụng
kết nối chất lượng cao và những kinh nghiệm người dùng phong phú. Với visual studio
cách tổ chức sẽ thấy dễ hơn so với các phiên bản trước trong việc capture và phân tích dữ
liệu, điều đó có nghĩa họ có thể đưa ra được các quyết định hiệu quả trong công việc.
Visual Studio cho phép mọi tổ chức có thể nhanh chóng tạo được các ứng dụng tin cậy

SVTH: Dương Đăng Khoa

11


Khóa luận tốt nghiệp

Visual studio ra mắt nhữn ưu điểm chính cho các chuyên gia phát triển phần mềm
để thể hiện trong 3 lĩnh vực chính:
- Cải thiện khả năng sản xuất

uế

- Quản lý chu trình phát triển ứng dụng
- Triển khai các công nghệ mới nhất

tế

H

Các phiên bản của Visual Studio

- Phiên bản Express: đây là phiên bản miễn phí và phù hợp với các cá nhân, tổ
chức sử dụng với mục đích nghiên cứu.

h

- Phiên bản Standard: phiên bản này có nhiều tính năng hơn so với phiên bản

in

Express và với giá thành thấp, phù hợp với các tổ chức nhỏ.

- Phiên bản Professional: phiên bản này có đầy đủ tất cả các tính năng tuy nhiên hỗ

cK

trợ số lượng người dùng hạn chế phù hợp với các tổ chức vừa.

- Phiên bản Team System: đây là phiên bản có đầy đủ tính năng nhất và hỗ trợ tối

họ

đa cho việc phát triển ứng dụng nhóm, có giá thành cao nhất.
1.4.2. Một số tính năng mới của Visual Studio 2012

ại


Trong vài năm trở lại đây, việc xây dựng các ứng dụng ngày càng trở nên khó khăn
hơn do sự phát triển ngày càng nhanh của công nghệ thông tin cùng với sự phát triển của

ờn
g

khác nhau.

Đ

các công cụ lập trình IDE khác nhau tạo nên các ứng dụng mang phong cách hoàn toàn

Người dùng đang thay đổi cách nhìn mong muốn đối với ứng dụng. Họ mong đợi

sẽ các ứng dụng sẽ ngày càng đơn giản hơn và chạy trên nhiều loại thiết bị khác

Tr
ư

nhau.Việc Microsoft phát hành phiên bản Visual Studio 2012 đã đóng góp thêm cho giới
lập trình về một công cụ để xây dựng một loạt các ứng dụng ngày càng nhanh hơn.Việc
phát triển thêm các công cụ kiểm thử cũng giúp người lập trình tạo ra các ứng dụng chất
lượng cao.
Trong phiên bản mới này điểm thu hút lớn nhất của Visual Studio 2012 là khả
năng xây dựng các ứng dụng dành cho Windows 8. Và điều chắc chắn lớn nhất đó chính

SVTH: Dương Đăng Khoa

12



Khóa luận tốt nghiệp

là phát triển ứng dụng cho Windows 8 chính là cái đích lớn nhất của việc phát hành
Visual Studio 2012, nhưng đó không phải là tất cả.Visual Studio 2012 là phiên bản phát
hành với rất nhiều tính năng. Một trong những thay đổi rõ ràng nhất chính là việc thiết lập
hoàn toàn mới của Visual Studio. Bây giờ chúng ta sẽ đi sâu vào các tính năng mới mà

uế

chúng ta sẽ thấy ở Visual Studio 2012.

tế
H

Giao diện mới

Nếu chúng ta đã từng sử dụng những phiên bản trước đây của Visual Studio, thì
một trong những điều đầu tiên dễ thấy về Visual Studio 2012 chính là giao diện người
dùng mới.Giao diện mới của Visual Studio tương đối bằng phẳng và hơi tối. Điều này làm

h

cho người lập trình khó có thể phân biệt được các biểu tượng so với các phiên bản trước

in

đây. Đối với một sản phẩm được cho là theo giao diện Windows 8 (trước đây gọi là

cK


Metro) thì cũng hiểu rõ ý tưởng cho việc thiết kế giao diện này chính là làm nổi bật trọng
tâm vào các mã lệnh. Các biểu tượng có sự khác biệt nhỏ và các lệnh đều là các chữ cái
viết hoa. Đối với vị trí các lệnh thì hầu hết giống với phiên bản trước. Nếu bạn muốn sử

theo bước sau :

ại

- Mở regedit.

họ

dụng các lệnh trên thanh thực đơn có chữ cái kết hợp chữ hoa và thường thì bạn hãy làm

Đ

- Điều hướng đến mục HKEY_CURRENT_USER \ Software \ Microsoft \
VisualStudio \ 11.0 \ General.

ờn
g

- Tạo một giá trị kiểu DWORD mới với tên là SuppressUppercaseConversion.
- Đặt giá trị cho nó là 1.
Mặc dù có nhiều tính năng mới như tốt như việc ghim các tab, nhưng giao diện

Tr
ư


chính là điểm yếu lớn nhất trong phiên bản này.

SVTH: Dương Đăng Khoa

13


in

h

tế
H

uế

Khóa luận tốt nghiệp

cK

Hình 1.3. Giao diện mới của Visual Studio 2012

họ

Phát triển ứng dụng Windows 8

Với việc phát hành Windows 8, Microsoft thông báo một nền tảng mới là WinRT,

ại


làm cho Windows có thể chạy trên các thiết bị chạy bộ vi xử lý ARM. Một thế hệ mới của
Windows 8 và Windows RT là các thiết bị máy tính bảng, bao gồm cả máy tính bảng

Đ

Microsoft Surface.Visual Studio 2012 là công cụ để phát triển ứng dụng cho thế hệ mới
của các thiết bị máy tính bảng - bao gồm cả thiết bị Windows 8 x86 vả Windows RT

ờn
g

ARM.

Visual Studio 2012 cho phép bạn tạo các ứng dụng Windows 8 bằng cách sử dụng

Tr
ư

nhiều ngôn ngữ như : C++, Extensible Application Markup Language (XAML) với C#
hoặc Visual Basic, HTML 5 với JavaScript và Cascading Style Sheets (CSS).
Để tạo ra ứng dụng Windows 8, Visual Studio 2012 bao gồm tập hợp các dự án

mẫu như Blank App (XAML), Grid App (XAML), Split App (XAML), Class Library
(Windows Store apps), Windows Runtime Component, và Unit Test Library (Windows
Store apps).

SVTH: Dương Đăng Khoa

14



Khóa luận tốt nghiệp

Một điều có thể bạn không mong muốn đó chính là để phát triển các ứng dụng
Windows 8, bạn cần phải có giấy phép cho nhà phát triển ứng dụng. May mắn là ngay tại
màn hình khởi động của Visual Studio 2012 có một liên kết để khởi động trình thuật sĩ để

uế

giúp bạn có giấy phép tạo ứng dụng Windows 8.
Sau khi bạn có giấy phép dành cho nhà phát triển, bạn có thể bắt đầu dùng ứng

tế
H

dụng mẫu nào đó để tạo ứng dụng cho Windows 8. Thiết lập dự án để xem ứng dụng có

thể chạy trên Windows 8 hay trên WinRT. Một trong những tính năng tuyệt vời trong
phát triển Windows 8 là bao gồm một trình mô phỏng mới dành cho máy tính bảng. Giả
lập máy tính bảng tương tự gần như với tính năng giả lập điện thoại trong các phiên bản

h

trước của Visual Studio. Giả lập máy tính bảng cho phép bạn kiểm tra các ứng dụng chạy

in

trên máy tính bảng dùng Windows 8 mà không cần phải chạy chúng trên một thiết bị

Expression Lend


cK

riêng biệt.

Studio 2012 bao gồm một phiên bản khá hạn chế tên là Expression Lend. Nó là

họ

một công cụ thiết kế mạnh mẽ, cho phép lập trình viên thay đổi thiết kế về giao diện của
ứng dụng, mà không yêu cầu dùng XAML. Các phiên bản của Expression Lend đi kèm

ại

với Visual Studio 2012 chỉ làm việc với các dự án Windows Store, mà không làm việc

Đ

trên các loại dự án khác. Khi Expression Lend chạy, nó bắt đầu bằng cửa sổ riêng của nó
ngoài Visual Studio 2012, nhưng nó không nhận các tập tin từ các solution đang mở. Khi

ờn
g

bạn quay trở lại với Visual Studio 2012, IDE sẽ nhắc nhở bạn các tập tin đó vừa chỉnh
sửa.

Web Development

Tr

ư

Mặc dù các nhà phát triển Windows 8 sẽ quan tâm đến Visual Studio 2012, nhưng

các lập trình viên web sẽ cũng thú vị với phiên bản này.Visual Studio 2012 có nhiều tính
năng mới cho việc lập trình web, chẳng hạn :
- HTML 5: Visual Studio 2012 hỗ trợ đầy đủ HTML5. Ngoài ra nó có thể nhận

dạng phiên bản HTML mà bạn đang dùng để điều khiển IntelliSense và khả năng kiểm tra
lỗi cho phù hợp.

SVTH: Dương Đăng Khoa

15


Khóa luận tốt nghiệp

- IntelliSense cho JavaScript và jQuery : một tính năng tuyệt vời mới đó chính là
việc IntelliSense bây giờ đã hỗ trợ đầy đủ cho JavaScript và jQuery.
- Page Inspector : có thể nói đây là tính năng mới quan trọng nhất của các nhà phát

uế

triển web.Page Inspector sẽ cung cấp cho bạn số dòng code đã được kết xuất trên máy
chủ.Di chuyển chuột trên các khu vực khác nhau để làm nổi bật các đoạn code sẽ được

tế
H


thực thi.

- ASP.NET Web API : bao gồm ASP.NET MVC 4 và ASP.NET Web
Forms.ASP.NET Web API mới có thể giúp bạn xây dựng và sử dụng các dịch vụ HTTP.

h

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

in

1.5.1. Lịch sử hình thành

Năm 1989, Microsoft hợp tác với công ty Sybase và Ashton-Tate để cho ra một

cK

sản phẩm thuộc loại hệ quản trị cơ sở dữ liệu có tên là SQL Server 1.0 for OS/2.Sau đó
một thời gian, Sybase SQL Server 3.0 được phát triển để thực thi trên môi trường hệ điều

họ

hành UNIX và VMS.Microsoft SQL Server 4.2 được giới thiệu năm 1992.Và sau đó,
Microsoft SQL Server 4.21 for Windows NT được ra đời cùng thời gian với Windows NT
3.1.Microsoft SQL Server 6.0 là phiên bản đầu tiên mà Microsoft phát triển độc lập không

ại

có sự hợp tác với các hãng khác.


Đ

Các phiên bản SQL Server tiếp theo là: 6.5, 7.0, 2000, 2005, 2008 và mới nhất là
SQL Server 2012.

ờn
g

1.5.2. Các tính năng mới của SQL Server 2008
Mã hóa – Mã hóa dữ liệu trong suốt, cho phép mã hóa toàn bộ một cơ sở dữ

Tr
ư

liệu.Mã hóa sao chép dự phòng cho việc bảo trì an toàn cơ sở dữ liệu.Và cuối cùng là
quản lý khóa mở rộng.
- Thẩm định những thay đổi của dữ liệu
- Nén dữ liệu để giảm kích thước Fact Table
- Điều chỉnh tài nguyên - Resource Governor - có thể được sử dụng để kích hoạt
một sự kiện hoặc dừng một quá trình cần nhiều tài nguyên.

SVTH: Dương Đăng Khoa

16


Khóa luận tốt nghiệp

- Dữ liệu hiệu suất – Công cụ mới Performance Dashboard có thể đọc để lưu dữ
liệu về hiệu suất.Thêm vào đó là các báo cáo mới, việc kiểm tra và các tùy chọn cho việc

điều chỉnh và xử lí.

uế

1.5.3. Stored Procedures trong SQL Server
1.5.3.1. Khái niệm

tế
H

Stored Procedures (thủ tục dựng sẵn) là một nhóm câu lệnh Transact – SQL đã
được biên dịch (compiled) và chứa trong SQL Server dưới một tên nào đó và được xử lý
như một đơn vị (chứ không phải nhiều câu SQL riêng lẻ).

h

1.5.3.2. Tính năng của Stored Procedures

in

Trình bày ( Performance )

Khi thực thi một câu SQL thì SQL Server phải kiểm tra quyền hạn (permission)

cK

xem người sử dụng (user) gởi câu lệnh đó có được phép thực hiện câu lệnh hay không,
đồng thời kiểm tra cú pháp rồi mới tạo ra một execute plan và thực thi. Nếu có nhiều câu

họ


lệnh như vậy gởi qua mạng (network) có thể làm giảm đi tốc độ làm việc của server. SQL
Server sẽ làm việc hiệu quả hơn nếu dùng Stored procedures vì người gửi chỉ cần gửi một
câu lệnh đơn và SQL Server chỉ kiểm tra một lần sau đó tạo ra một execute plan và thực

ại

thi. Nếu stored procedures được gọi nhiều lần thì execute plan có thể được sử dụng lại

Đ

nên sẽ làm việc nhanh hơn. Ngoài ra cú pháp của các câu lệnh SQL đã được SQL Server
kiểm tra trước khi lưu (save) nên nó không cần kiểm tra lại khi thực thi.

ờn
g

Môi trường lập trình ( Programming Framework)
Một khi Store procedures được tạo ra thì nó có thể được sử dụng lại. Điều này sẽ

làm cho việc bảo trì dễ dàng hơn do việc tách rời business rules (những logic được thể

Tr
ư

hiện bên trong stored procedure) và dữ liệu (database). Ví dụ, nếu có một sự thay đổi nào
đó về mặt logic thì ta chỉ việc thay đổi code bên trong stored procedure mà thôi. Những
ứng dụng sử dụng stored procedure có thể không cần thay đổi mà vẫn tương thích với
business rule mới. Cũng giống như các ngôn ngữ lập trình khác, stored procedure cho
phép ta đưa vào các tham số (Input parameters) và trả về các Output parameters, đồng

thời nó cũng có khả năng gọi các stored procedure khác.
SVTH: Dương Đăng Khoa

17


Khóa luận tốt nghiệp

Bảo mật tốt (Security)
Giả sử, chúng ta muốn giới hạn việc truy xuất dữ liệu trực tiếp của một User nào
đó vào một bảng dữ liệu (Tables), ta có thể viết một stored procedure để truy xuất dữ liệu

uế

và chỉ cho phép user đó được sử dụng stored procedure đã viết sẵn mà thôi chứ không thể
đụng đến các tables đó một cách trực tiếp. Ngoài ra, stored procedure còn có thể được mã

tế
H

hóa (encrypt) để tăng cường tính bảo mật.
1.5.3.3. Phân loại

Stored procedures có thể được phân thành 5 nhóm như sau:

System Stored Procedure: là những stored procedure chứa trong Master database

in

h


và thường bắt đầu bằng tiếp ngữ sp_. Các stored procedure này thuộc loại built – in và
chủ yếu được dùng trong việc quản lý database (Administrator) và bảo mật. Ví dụ bạn có

Administrator bạn có thể dùng:

cK

thể tìm thấy tất cả các tiến trình (processes) đang được sử dụng bởi user Domain Name \

họ

sp_who @loginname=’DomainName\Administrator’
Local Stored Procedure: đây là loại thường dùng nhất. Chúng được chứa trong
user database và thường được viết để thực hiện một công việc nào đó. Thông thường

ại

người ta nói đến stored procedure là nói đến loại này. Local stored procedure thường

Đ

được viết bởi DBA (Database Administrator) hoặc người tự quyết định giải pháp
(Programmer).

ờn
g

Temporary Stored Procedure: là những stored procedure tương tự như Local


stored procedure nhưng chỉ tồn tại cho đến khi các kết nối (connections) đã tạo ra chúng
bị đóng lại hoặc SQL Server tắt đi (shut down). Các stored procedure này được tạo ra trên

Tr
ư

TempDB (Database hệ thống) của SQL Server nên chúng sẽ bị xóa khi các kết nối cắt đứt
hoặc SQL Server tắt đi.Temporary stored procedure được chia làm 3 loại:
Local (bắt đầu bằng #): loại này chỉ được sử dụng bởi kết nối đã tạo ra chúng và bị

xóa khi ngắt kết nối (disconnect).
Global (bắt đầu bằng ##): là loại có thể được sử dụng bởi bất kì kết nối
nào.Permission dành cho loại này là public (dành cho mọi người) và không thể thay đổi.
SVTH: Dương Đăng Khoa

18


×