Mô hình 3 lớp hay còn được gọi là mô hình Three Layer 3-Layer: - Mô hình này ra đời nhằm phân chia các thành phần trong hệ ống, các ththành phần cùng chức năng sẽ được nhóm lại với nhau
Trang 1BỘ GIÁO DỤC VÀ ĐÀO TẠO
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ TP HỒ CHÍ MINH
ĐỒ ÁN CƠ SỞ
HỆ THỐNG QUẢN LÝ KHÁCH SẠN
Ngành: CÔNG NGHỆ THÔNG TIN Chuyên ngành: CÔNG NGHỆ PHẦN MỀM
Sinh viên thực hiện :
TP Hồ Chí Minh, 2024
Trang 2MỤC LỤC
CHƯƠNG 1: TỔNG QUAN TÀI LIỆU 8
1.1 Cơ sở lý thuyết
1.1.1 Mục đích
1.1.2 Phạm vi đ ề tài
1.1.3 Phương pháp nghiên cứu
1.1.4 ải pháp công nghệ Gi
1.1.5 Ý nghĩa thực tiễn 1
1.2 Cơ sở kỹ thuật
1.2.1 TCP/IP
1.2.2 C#
1.2.3 SQL Server
CHƯƠNG 2: PHƯƠNG PHÁP THỰC HIỆN 22
2.1 Xác định yêu cầu 2
2.1.1 Các yếu tố trực tiếp 2
2.1.2 Tác nhân chính trong hệ thống quản lý khách sạn 22
2.1.2.1 Quản lý khách sạn 2
2.1.2.2 Lễ tân
2.2 Lược đ Use Case 2ồ 2.3 Đặ ả yêu cầuc t
2.3.1 Mục đích
2.4 Lược đ Activity 2ồ 2.4.1 Đăng nhập
2.4.2 Quy trình xử lý yêu cầu khách hàng 29
Trang 32.5 Lược đồ Sequence 3
2.5.1 Đăng nhập
2.5.2 Đặt phòng
2.6 Lược đ Diagram 3ồ CHƯƠNG 3: CÀI ĐẶT THỬ NGHIỆM VÀ KẾT QUẢ 33
3.1 Hướng dẫn chạy chương trình 33
3.1.1 Tạo database 3
Tạo database
3.1.2 Mở phần mềm trong Visual Studio 33
3.2 Quy trình thực hiện chi tiết m t vài chộ ức năng 34
3.2.1 Chức năng Quản lý 3
3.3 Kết qu thực nghiệm 3ả 3.3.1 Giao diện đăng nhập 3
3.3.2 Giao diện dành cho người quản trị 37
3.3.3 Giao diện dành cho khách hàng 40
CHƯƠNG 4 :KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN 42
Những vấn đề đạt được 4
Hạn chế, thiếu sót
Hướng phát triển
DANH MỤC TÀI LI U THAM KHỆ ẢO 43
Trang 5DANH MỤC HÌNH ẢNH
CHƯƠNG 1: TỔNG QUAN TÀI LIỆU 8
1.1 Cơ sở lý thuyết 8
Hình 1.1 Mô hình 3 lớp trong C# 10
1.2 Cơ sở kỹ thuật 11
Hình 1.2 Một số nền tảng NET được phát triển 15
CHƯƠNG 2: PHƯƠNG PHÁP THỰC HIỆN 22
2.1 Xác định yêu cầu 22
2.2 Lược đồ Use Case 23
Hình 2.1 Lược đồ Use Case 24
2.3 Đặc tả yêu cầu 25
Hình 2.2 Sơ đồ use case lễ tân 26
Hình 2.3 Sơ đồ use case kế toán 27
Hình 2.5 Sơ đồ use case quản lý bộ phận kinh doanh 28
2.4 Lược đồ Activity 28
Hình 2.9 Lược đồ Activity: Đăng nhập 28
Hình 2.9 Lược đồ Activity: Quy trình xử lý yêu cầu khách hàng 29
2.5 Lược đồ Sequence 30
Hình 2.10 Lược đồ Sequence: Đăng nhập 36
Hình 2.11 Lược đồ Sequence: Đặt phòng 36
2.6 Lược đồ Diagram 32
Hình 2.12 Lược đồ Diagram 32
CHƯƠNG 3: CÀI ĐẶT THỬ NGHIỆM VÀ KẾT QUẢ 33
3.1 Hướng dẫn chạy chương trình 33
Hình 3.1 Tạo database “” 33
Trang 6Hình 3.2 Mở phần mềm trong Visual Studio 34
3.2 Quy trình thực hiện chi tiết một vài chức năng 34
3.3 Kết quả thực nghiệm 36
Hình 3.3.1.1 Giao diện “Đăng nhâp” 36
Hình 3.3.2 Giao diện “Trang chủ” 36
Hình 3.3.2.1 Giao diện “Quản lý nhận phòng” 37
Hình 3.3.2.2 Giao diện: Quản lý Người quản lý phòng 37
Hình 3.3.2.3 Giao diện: Quản lý hóa đơn 38
Hình 3.3.2.4 Giao diện: Quản lý dịch vụ 38
Hình 3.3.2.5 Giao diện: Quản lý thông tin cá nhân 39
Hình 3.3.2.8 Giao diện: báo cáo danh thu 39
Hình 3.3.3.1 Giao diện: Đặt phòng 40
Hình 3.3.3.2 Giao diện: Nhận phòng 40
Hình 3.3.3.3 Giao diện: quét mã QR 41
Hình 3.3.3.4 Giao diện: Sao khi quét mã QR 41
Trang 7KÝ HIỆU CÁC CỤM TỪ VIẾT TẮT
API: Application Programming Interface GUI: Graphical User Interface
CSDL: Cơ sở dữ liệu
DAL: Data Access Layer
BUS: Business Logic Layer
IoT: Internet of Things
XML: Xtensible Markup Language
Trang 8MỞ ĐẦU
Ngành du lịch đóng vai trò quan trọng trong nền kinh tế, thúc đẩy tăng
tế nói chung
Do lượng kiến thức chuyên môn không nhiều, nên đối với khuôn khổ đề tài này, chúng em chỉ dừng lạ ở việ tạo phần mềi c m nhận dạng cảm xúc đơn giản
Bố cục của đề tài như sau:
Chương 1: Tổng quan tài liệu
Chương 2: Phương pháp thực hiện
Chương 3: Cài đặt thử nghiệm và kết quả
Chương 4: K t luế ận và hướng phát triển
Trang 9Phần mềm có khả năng được triển khai và phát triển rộng rãi.
Giao diện phần mềm dễ sử dụng, phù hợp thị hiếu người dùng
Bên cạnh đó, phần mềm này còn phải dễ dàng đóng gói, vận hành, sử dụng
và bảo trì, cập nhật các phiên bản mới hơn (nếu có)
1.1.2 Phạm vi đề tài
Hiện tại, phần mềm chỉ được xây dựng ở mức độ đồ án cơ sở trên môi trường Windows, phục vụ cho nhu cầu học tập và nghiên cứu
1.1.3 Phương pháp nghiên cứu
Các phương pháp nghiên cứu đượ ử dụng ở c s trong đề tài này như sau:
❖ Phương pháp quan sát:
- Xem và tham khảo một số phần mềm hệ ống quản lý trên Youtube, thGithub
❖ Phương pháp thực nghiệm:
- Tiến hành sử dụng một số ứng dụng, phần mềm thực tế có chức năng quản
lý hệ thống hiện nay Ví dụ như quản lý đơn hàng ở Shoppee, Lazada…
❖ Phương pháp tham khảo, phỏng vấn ý kiến người dùng:
- Phỏng vấn ý kiến từ chính những người thân, bạn bè xung quanh để tìm hiểu nhu cầu sử dụng, tính thuận tiện của các hệ ống quản lý trong đờth i sống
❖ Phương pháp nghiên cứu tài liệu:
- Tìm hiểu, nghiên cứu và ứng dụng các công nghệ kỹ thuật hiện nay: C#
và SQL Server,…
- Sử dụng các thư viện hỗ ợ nhận diện cảm xúc từ tr các mã nguồn mở
❖ Phương pháp lập trình:
Trang 10- Xây dựng phần mềm có khả năng quản lý khách sạn
1.1.4 Giải pháp công nghệ
❖ Sử dụng mô hình 3 lớp trong C#
Mô hình 3 lớp hay còn được gọi là mô hình Three Layer (3-Layer):
- Mô hình này ra đời nhằm phân chia các thành phần trong hệ ống, các ththành phần cùng chức năng sẽ được nhóm lại với nhau và phân chia công việc cho từng nhóm để dữ ệu không bị ồng chéo và chạy lộn xộn.li ch
- Mô hình này phát huy hiệu quả nhất khi xây dựng một hệ ống lớn, việth c quản lý code và xử lý d liữ ệu lỗ ễ dàng hơn.i d
Mô hình 3 lớp gồm có 3 thành phần chính:
- Presentation Layer (GUI): Lớp này có nhiệm vụ chính giao tiếp với người dùng Nó gồm các thành phần giao diện (win form, web form,…) và thực hiện các công việc như nhập liệu, hiển thị dữ liêu, kiểm tra tính đúng đắn dữ ệu trước khi ligọi lớp Business Logic Layer (BLL)
- Business Logic Layer (BLL – hay còn gọi là BUS): Layer này phân ra 2 thành nhi m vệ ụ:
o Đây là nơi đáp ứng các yêu cầu thao tác dữ liệu của Presentation Layer,
xử lý chính nguồn dữ liệu từ Presentation Layer trước khi truyền xuống Data Access Layer và lưu xuống hệ ản trị CSDL.qu
o Đây còn là nơi kiểm tra các ràng buộc, tính toàn vẹn và hợp lệ dữ ệu, lithực hiện tính toán và xử lý các yêu cầu nghiệp vụ, trước khi trả kết quả về Presentation Layer
- Data Access Layer (DAL): Lớp này có chức năng giao tiếp với hệ quản trị CSDL như thực hiện các công việc liên quan đến lưu trữ và truy vấn dữ ệu (tìm likiếm, thêm, xóa, sửa,…)
Trang 11Hình 1.1 Mô hình 3 l p trong C# ớ
Ưu điểm của mô hình 3 lớp:
- Việc phân chia thành từng lớp giúp cho code được tường minh hơn Nhờ vào việc chia ra từng lớp đảm nhận các chức năng khác nhau và riêng biệt như giao diện, xử lý, truy vấn thay vì để tất cả lại một chỗ Nhằm giảm sự kết dính
- Dễ bảo trì khi được phân chia, thì một thành phần của hệ thống sẽ dễ thay đổi Việc thay đổi này có thể được cô lập trong 1 lớp, hoặ ảnh hưởng đến lớp gầc n nhất mà không ảnh hưởng đến cả chương trình
- Dễ phát triển, tái sử dụng: khi chúng ta muốn thêm một chức năng nào đó thì việc lập trình theo một mô hình sẽ dễ dàng hơn vì chúng ta đã có chuẩn để tuân theo Và việc sử dụng lại khi có sự thay đổi giữa hai môi trường (Winform sang Webform) thì chỉ việc thay đổ ại lớp GUI.i l
- Dễ bàn giao Nếu mọi người đều theo một quy chuẩn đã được định sẵn, thì công việc bàn giao, tương tác với nhau sẽ dễ dàng hơn và tiết kiệm được nhiều thời gian
Trang 12- Dễ phân phối khối lượng công việc Mỗi m t nhóm, mộ ột bộ phận sẽ nhận một nhi m vệ ụ trong mô hình 3 lớp Việc phân chia rõ ràng như thế sẽ giúp các lập trình viên kiểm soát được khối lượng công việc của mình
❖ Sử dụng SQL Server để xây dựng và lưu trữ cơ sở dữ liệu
SQL Server không phải là một hệ quản trị cơ sở dữ liệu độc lập mà nó chỉ là một thành phần với vai trò ngôn ngữ là công cụ giao tiếp giữa hệ cơ sở dữ liệu và người dùng Chính vì thế, nó được sử dụng trong các dịch vụ thiết kế web rẻ và chuyên nghiệp SQL Server đi kèm với một bộ công cụ ấn tượng Các thành phần như SQL Server Profiler, SQL Server Management Studio, công cụ BI và Trình tư vấn điều chỉnh cơ sở
dữ liệu có thể giúp bạn tiết kiệm rất nhiều thời gian khắc phục sự cố, phát triển và quản trị Ngoài ra, là một sản phẩm cốt lõi trong kho công nghệ của Microsoft, MS SQL Server có các tài liệu hướng dẫn và hỗ trợ rất phong phú
1.1.5 Ý nghĩa thực tiễn
Phần m m qu n lý khách s n h ề ả ạ ỗ trợ ệc tổ chức và điề vi u hành các hoạt động trong khách s n m t cách hi u quạ ộ ệ ả Người qu n lý có thả ể tiếp c n và qu n lý chi tiậ ả ết thông tin về khách hàng, nhân viên và các d ch v khác trên ph n mị ụ ầ ềm này
Bên cạnh đó, họ cũng có thể quản lý t xa thông qua ph n m m t b t k ừ ầ ề ừ ấ ỳ địa điểm nào miễn là có k t n i internet, thay cho vi c ph i x lý tài li u tr c ti p t i khách ế ố ệ ả ử ệ ự ế ạ
- TCP/IP bao g m hai ph n chính: ồ ầ
Trang 13+ TCP (Transmission Control Protocol): Là một giao thức cung cấp kết nối ổn
định, tin cậy giữa các thiết b trên mạng TCP ch u trách nhiị ị ệm phân đoạn dữ liệu thành các gói nh , gỏ ửi và nhận các gói này giữa các thiết bị, đồng thời
đảm bảo rằng dữ liệu được truyền qua mạng m t cách an toàn và không b ộ ị
mất
+ IP (Internet Protocol): Là một giao thức quản lý địa chỉ ạng và địa chỉ thiế m t
b ị trên mạng IP định địa chỉ ủ c a các thiết bị và hướng d n cách d ẫ ữ liệu được chuyển t nguừ ồn đến đích thông qua việc định tuyến
- TCP/IP được chia thành các lớp hoặ ầc tng:
+ Tầng ng d ng: Bao gứ ụ ồm các giao thức như HTTP, FTP, SMTP, DNS,
Telnet, SSH, v.v Cung cấp các d ch v ị ụ cho ứng d ng m ng ụ ạ
+ Tầng giao v n: Ch u trách nhi m cho vi c thiậ ị ệ ệ ết lập, duy trì và k t thúc kế ết nối
giữa các thiết bị TCP là giao thức phổ ế ở ầ bi n t ng này
+ T ng Internet: ầ Định địa chỉ IP của các thiế ịt b và qu n lý viả ệc định tuy n d ế ữliệu gi a chúng Giao th c IP ch y u hoữ ứ ủ ế ạt động t ng này ở ầ
+ Tầng liên k t dế ữ liệ : Đảu m b o dả ữ liệu được chuy n qua m ng m t cách an ể ạ ộtoàn và tin cậy Bao gồm các giao thức như Ethernet, Wi-Fi, và PPP
+ TCP/IP là m t hộ ệ thống m và linh ho t, cho phép các thi t b t các nhà sở ạ ế ị ừ ản
xuất khác nhau có th giao ti p v i nhau trên Internet và các m ng c c bể ế ớ ạ ụ ộ Điều này đã đóng góp vào sự phát tri n và m r ng c a Internet mể ở ộ ủ ột cách đáng
k ể
❖ Mục tiêu của việc phát triển TCP/IP : xây dựng một hệ thống giao thức mạng mở, linh hoạt và đáng tin cậy, có khả năng hoạt động trên nhi u loề ại mạng khác nhau và cho phép các thiết bị t ừcác nhà sản xu t khác nhau có thấ ể giao ti p vế ới nhau
Trang 14- Tính tiêu chu n và mẩ ở: TCP/IP được thi t kế ế để tuân th các tiêu chu n công ủ ẩcộng và có s n cho cẵ ộng đồng mạng Điều này giúp đảm bảo tính tương thích và
kh ả năng tương tác giữa các thiết bị ừ t các nhà s n xu t khác nhau ả ấ
- Tính di động và linh hoạt: TCP/IP được thi t kế đểế hoạt động trên nhi u loề ại
m ng khác nhau, t m ng cạ ừ ạ ục bộ đế n Internet toàn cầu Điều này cho phép nó được sử d ng bất k nơi nào, từ văn phòng đến các môi trường di độụ ở ỳ ng
- Tính tin cậy và an toàn: TCP/IP cung cấp các cơ chế để đả m b o tính tin c y ả ậ
và an toàn của dữ liệ u trên m ng, bao g m viạ ồ ệc phân đoạn, gửi lại gói tin b mị ất
và mã hóa d u.ữ liệ
- Tính mở r ng và mộ ở: TCP/IP được thiết kế để có kh ả năng mở ộ r ng linh ho t, ạ
với khả năng thêm các tính năng mới và h ỗ trợ cho các ứng d ng và m ng mụ ạ ới
một cách dễ dàng
- Tính kh d ng caoả ụ : TCP/IP được thiết kế để có kh ả năng hoạt động ổn định
và liên t c, ngay c ụ ả trong các môi trường m ng có nhi u biạ ề ến động và kh ả năng
thất bạ i
❖ Ưu điểm:
- Tiêu chuẩn Quốc tế: TCP/IP là tiêu chuẩn được chấp nhận trên toàn cầu cho truyền thông mạng Điều này đảm bảo tính tương thích giữa các thiế ịt b và h ệthống từ các nhà sản xuất khác nhau
- M và Linh ho t: TCP/IP là mở ạ ột bộ giao thức mạng m , cho phép các nhà ởphát triển t o ra các ng d ng và dạ ứ ụ ịch vụ m ng mạ ới m t cách dộ ễ dàng và linh ho t ạ
- Tích h p và Kợ ết nối dễ dàng: TCP/IP cho phép kết nối giữa các thiết bị ạ m ng
một cách dễ dàng, t ừ máy tính cá nhân đến các máy ch l n trên Internet ủ ớ
- Hỗ trợ đa nề ản t ng: TCP/IP hoạt động trên nhi u n n t ng ph n c ng và phề ề ả ầ ứ ần
mềm khác nhau, từ máy tính cá nhân đến điện thoại di động và các thiết bị nhúng
Trang 15- Tính Tin c y và An toàn: TCP/IP cung cậ ấp các cơ chế để đảm bảo tính tin cậy và an toàn của dữ liệu trên mạng, bao gồm việc kiểm soát lỗi, mã hóa và xác thực
- M r ng và M : TCP/IP có kh ở ộ ở ả năng mở ộng để ỗ trợ r h các ng d ng và ứ ụ
m ng mạ ới, đáp ứng được nhu cầu ngày càng tăng về ết nố k i và truy n thông ề
- Tính Kh d ng caoả ụ : TCP/IP được thiết kế để có kh ả năng hoạt động ổn định
và liên t c, ngay c ụ ả trong các môi trường m ng có nhi u biạ ề ến động và kh ả năng thất
b ại
❖ Ứng dụng :
- Truy cập Internet: TCP/IP là b giao thộ ức chính được sử ụng để ết nố d k i các thiết
b cị ủa người dùng v i Internet T t c ớ ấ ả các trình duyệt web, ng d ng email, ng d ng ứ ụ ứ ụtrò chơi trực tuyến và các dịch vụ trực tuyến khác đều sử dụng TCP/IP để gửi và nhận
d u trên Internet ữ liệ
- Email và dịch vụ liên lạc: TCP/IP được sử ụ d ng trong các d ch v ị ụ email như SMTP (Simple Mail Transfer Protocol) để gửi email và POP3 (Post Office Protocol version 3) hoặc IMAP (Internet Message Access Protocol) để nhận email Nó cũng được sử d ng trong các ứng d ng nhắn tin và cu c g i thoại trực tuyến ụ ụ ộ ọ
- Truyền d ữ liệu đa phương tiện: TCP/IP h ỗ trợ truyền d ữ liệu đa phương tiện như video và âm nh c qua Internet thông qua các giao thạ ức như HTTP (HyperText Transfer Protocol), RTSP (Real-Time Streaming Protocol), và RTP (Real-time Transport Protocol)
- M ng nạ ội bộ và doanh nghi pệ : TCP/IP được s d ng trong các m ng cử ụ ạ ục bộ và doanh nghiệp để ết n i các máy tính, máy ch k ố ủ, thiết bị ạ m ng và các dịch vụ Nó h ỗ
tr truyợ ền d ữ ệu trong m ng cli ạ ục bộ thông qua giao thức như DHCP (Dynamic Host Configuration Protocol) và DNS (Domain Name System)
- Truyền thông trực tiếp giữa các thiế ị: TCP/IP cũng được sử ụt b d ng trong các
ứng dụng peer- -peer và truyto ền thông tr c tiếp gi a các thiết bị mạng, cho phép chia ự ữ
s t p tin, in n mẻ ậ ấ ạng và trò chơi mạng
Trang 16- IoT (Internet of Things): TCP/IP đang được tích h p vào các thi t b ợ ế ị IoT để ết k
nối và giao tiếp với Internet, cho phép điều khi n t xa và truy n d u t ể ừ ề ữ liệ ừ các thiế ịt b thông minh
1.2.2 C#
❖ Giới thiệu:
- C#, hay còn được gọi là C Sharp là một ngôn ngữ lập trình cơ bản, được các lập trình viên đánh giá là một loại ngôn ngữ tuy đơn giản nhưng rất hiện đại, hiệu quả và đa năng
- C# lần đầu ra mắt vào năm 2000, do đội ngũ develop của Microsoft phát triển C Sharp chủ yếu được xây dựng và phát triển dựa hai “cây đại thụ” trong đội ngũ ngôn ngữ lập trình là C++ và Java Nó được coi là ngôn ngữ lập trình cân bằng giữa Java, C++, Visual Basic và Delphi, tập hợp nhiều ưu điểm của các loại ngôn ngữ lập trình phức tạp
❖ Các nền tảng NET:
Hình 1.2 M t s n n t ng NET ộ ố ề ả được phát tri n ể
- NET Framework: Là một thư việc class có thể được sử dụng với một ngôn ngữ NET để ực thi việc thao tác chuỗi cho đến phát sinh ra các web động th(ASP.NET), phân tích XML và reflection Framework đượ ổ ức thành các tậc t ch p hợp namespace để nhóm các class có cùng chức năng với nhau
- NET Core: Là một nền tảng phát triển đa mục đích, mã nguồn mở được duy trì bởi Microsoft và cộng đồng NET trên GitHub Đó là nền tảng chéo (hỗ ợ trWindows, macOS và Linux) và có thể được sử dụng để xây dựng các ứng dụng thiết bị, đám mây và IoT
Trang 17- NET 5.0: Là nền tảng mới nhất được kết hợp giữa các phiên bản NET, tập trung vào hiệu suất và đa nền tảng .NET kế ừa các tính năng tốt của các nềth n tảng trước đó (.NET Framework,.NET core,.NET Standard, Mono, Xamarin) để quản lý tập trung 1 framework với một hệ ống API hợp nhất cho các nền tảng thphát triển của.NET Giúp nâng cao hiệu suất và tăng tốc độ phát triển các tính năng mới, Microsoft dự kiến ra mắt NET với chu kỳ 1 năm, phiên bản tiếp theo là.NET 6.0 dự kiến sẽ phát hành vào thánh 11/2021
❖ Mục tiêu của việc phát triển C#: Tiêu chuẩn ECMA liệt kế các mục tiêu của việc thiết kế C# là:
- C# được dự định là ngôn ngữ lập trình đơn giản và hiện đại, hướng đến nhiều mục đích sử dụng Đặc biệt, là ngôn ngữ lập trình hướng đối tượng
- C# đáp ứng các nguyên tắc của ngành kỹ thuật phần mềm như kiểm tra chặt chẽ kiểu dữ ệu, kiểm tra giới hạn mảng, phát hiện các trường hợp sử dụng licác biến chưa có dữ liệu
- Ngôn ngữ này sẽ được sử dụng để phát triển các thành phần của phần mềm theo hướng thích hợp trong việc triển khai môi trường phân tán
- Được phát triển và thiế ế phù hợp vớt k i việc viết các ứng dụng cho cả hai
hệ ống: hosted và embedded system từ các phần mềm quy mô lớn đến các phầth n mềm có chức năng đơn giản
- Dù C# có tính kinh tế đổi với các yêu cầu về bộ nhớ và chế độ xử lý nhưng
nó không có tính cạnh tranh trực tiếp đố ới ngôn ngữ C và Assemblyi v
có diện mạo và công thức, toán tử tương đối tương đồng với C, C++ và Java Các
kỹ sư của Microsoft đã tối ưu và giản lược bớt đi các phần phức tạp, để người dùng
có thể dễ tiếp cận hơn với C# Có lẽ chính bởi thế, C# đã trở nên phổ biến bởi tính đơn giản và đa năng
Trang 18- C# sử dụng rất ít từ khóa: So với các ngôn ngữ khác, bộ từ khóa của C# chỉ giao động trong khoảng 80 từ Hầu hết các từ khóa của C# là để mô tả các thông tin Tuy ít nhưng chất, bộ từ khóa này của C# có thể hỗ ợ developer làm trhầu hết các nhiệm vụ
- C# là một ngôn ngữ lập trình an toàn và tối ưu: C# có các đặc tính tự động như xử lý ngoại lệ, dữ ệu mở rộng, thu gom bộ nhớ tự động Garbage Collector likhi không sử dụng nữa, và đặc biệt chính là bảo vệ mã nguồn C# có khả năng kiểm tra dữ ệu rất chặt chẽ, đồng thời quản lí bộ ớ rất tốt C# cũng không cho li nhphép người dùng chuyển đổi dữ ệu, vì thế hạn chế được các bug có thể xảy ra liKhông dừng lạ ở đó, hệ ống C# còn có thể cảnh báo một số lỗi cơ bản như sai i thcấu trúc, sai tên… ngay trong quá trình code chứ không cần phải chạy thử Các tính năng này khiến loại ngôn ngữ này trở nên hiện đại hơn, đáp ứng được các nhu cầu thực tế một cách dễ dàng hơn, đồng thời cũng an toàn hơn rất nhiều Ngoài ra, các dữ ệu bên trong C# được đánh giá là tương đối linh hoạt hơn so với các ngôn lingữ khác nên cũng sẽ ít xảy ra lỗi hơn
- Hỗ ợ tạo ứng dụng đa nền tảng: C# là một ngôn ngữ đa năng, nó hoạtr t động chính trên 2 nền tảng NET framwork và Windows cùng như các nền tảng open-source Nhưng đồng thời, khi sử dụng C#, developer bắt buộc phải phụ thuộc vào 2 nền tảng này Tuy nhiên, developer còn có thể tái sử dụng các thành phần và chuyển đổi giữa các nền tảng giúp tiết kiệm thời gian Với sự hỗ ợ của NET trFramework, các lập trình viên có thể phát triển game, WPF, ứng dụng Windows Forms hoặ ứng dụng web và mobile với C# nhanh chóng và dễ dàng.c
- C# là một ngôn ngữ lập trình thuần hướng đối tượng với 4 tính chất điển hình: tính đóng gói, tính đa hình, tính trừu tượng và tính kế ừa C# hoàn toàn có ththể hỗ trợ tất cả các đặc tính trên Ngoài ra, C# còn cung cấp những đặc tính hướng thành phần như là Property, Event
- Khả năng tiết kiệm thời gian develop, vì nó được nhập tĩnh, dễ đọc, giảm thiểu thời gian debug C# cũng sở hữu thư viện khổng lồ, cung cấp các chức năng cấp cao so với các ngôn ngữ khác như Java hay C++ Nó có ngân hàng bộ nhớ mở rộng, giảm thời gian develop, mang lại sự đơn giản và hiệu quả Đồng thời còn hỗ trợ các lập trình viên viết các đoạn code phức tạp
- Khả năng mở rộng cao: Phát triển phần mềm yêu cầu ngôn ngữ lập trình
Trang 19dễ dàng bảo trì và có thể mở rộng và C# là một ngôn ngữ như vậy Tính nghiêm ngặt của mã hóa tĩnh làm cho các chương trình nhất quán với nhau Điều này cho phép các developer dễ dàng thực hiện các điều chỉnh cũng như bảo trì.
- Cộng đồng C# tích cực hoạt động bao gồm hàng triệu nhà phát triển nhiệt tình hỗ ợ trên toàn thế giới Kể từ khi gã khổng lồ trong công nghệ tr Microsoft tạo
ra C#, khó có thể bàn cãi về việc nó nhận được sự hỗ trợ rất lớn từ cộng đồng Nếu gặp phả ấn đề, bạn sẽ i v có thể nhận đượ ự hỗ ợ nhanh chóng.c s tr
❖ Ứng dụng:
- Phát triển ứng dụng web: Ngôn ngữ lập trình C# có thể được sử dụng trên bất kỳ nền tảng nào hiện nay Nó có thể được xây dựng các trang web động và ứng dụng web với nền tảng NET hay các nền tảng open-source khác C# có thể làm cho ứng dụng web chạy trơn tru trên một máy chủ
- Ứng dụng Windows: Microsoft đã tạo ra C# cho chính Microsoft Vì vậy, không cần nghi ngờ vì sao C# lại rất phổ biến trong việc xây dựng các ứng dụng Windows
- Lập trình Games: Trong thế giới game, các developer thường ưa thích việc
sử dụng ngôn ngữ lập trình C# Ngôn ngữ này đặc biệt mạnh mẽ trong việc xây dựng các trò chơi “hot” hiện nay Ngoài ra, game engine Unity – một trong những game engine phổ biến nhất hiện nay – cũng được xây dựng bằng C++ và C#
- Các thành phần và điều khiển: Đây là các thư viện có thể được sử dụng để
dễ phân phối và chia sẻ được Ví dụ như thư viện GPS là thư viện có thể được lập trình viên xây dựng và dễ dàng phân phối cho các lập trình viên khác sử dụng
1.2.3 SQL Server
❖ Giới thiệu:
- SQL Server là hệ quản trị cơ sở dữ liệu được phát triển bởi Microsoft
- SQL Server chính là một hệ quản trị dữ liệu quan hệ sử dụng câu lệnh SQL để trao đổi dữ liệu giữa máy cài SQL Server và máy Client Một Relational Database Management System – RDBMS gồm có: databases, datase engine và các chương trình ứng dụng dùng để quản lý các bộ phận trong RDBMS và những dữ
Trang 20liệu khác
- SQL Server đi kèm với một bộ công cụ ấn tượng Các thành phần như SQL Server Profiler, SQL Server Management Studio, công cụ BI và Trình tư vấn điều chỉnh cơ sở dữ liệu có thể giúp bạn tiết kiệm rất nhiều thời gian khắc phục sự
cố, phát triển và quản trị Ngoài ra, là một sản phẩm cốt lõi trong kho công nghệ của Microsoft, MS SQL Server có các tài liệu hướng dẫn và hỗ trợ rất phong phú
❖ Các ấn bản của SQL Server:
- Enterprise: là một ấn bản chứa tất cả các đặc điểm nổ bật của SQL Server như: các công cụ cho tạo và quản lý phân cụm SQL Server, nhân bộ máy cơ sở dữ liệu và một số dịch vụ đi kèm Nó có thể đánh địa chỉ 12 terabytes và quản lý cơ
sở dữ liệu lên tới 524 petabytes
- Standard: Ấn bản này có thể chạy tốt trên hệ thống lên tới 4 CPU và 2 GB RAM rất thích hợp cho các dịch vụ thiết kế web vừa và nhỏ
- Developer: Ấn bản này giới hạn số lượng người kết nối với server nhưng
có đầy đủ các tính năng của Enterprise Edition Đây là phiên bản được sử dụng cho kiểm tra và phát triển ứng dụng phù hợp cho các cá nhân trong lĩnh vực web như: freelancer Việt Nam
- Workgroup: ấn bản SQL Server này có các chức năng lõi cơ sở dữ liệu nhưng không đi kèm các dịch vụ Ở phiên bản 2012 không có ấn bản này
- Express: Ấn bản này dễ dàng sử dụng và quản trị cơ sở dữ liệu đơn giản
❖ Các thành cơ bản trong SQL Server: Tất cả các thành phần kết hợp với nhau tạo thành một giải pháp hoàn chỉnh giúp cho việc phân tích và lưu trữ dữ liệu trở nên
Trang 21dễ dàng hơn
- Database Engine: Đây là một engine có khả năng chứa dữ liệu ở các quy
mô dưới dạng support và table Ngoài ra, nó còn có khả năng tự điều chỉnh ví dụ: trả lại tài nguyên cho hệ điều hành khi một user log off và sử dụng thêm các tài nguyên của máy khi cần
- Integration Services: là tập hợp các đối tượng lập trình và các công cụ đồ họa cho việc sao chép, di chuyển và chuyển đổi dữ liệu Khi làm việc trong một công ty lớn thì dữ liệu được lưu trữ ở nhiều nơi khác nhau như được chứa trong: Oracle, SQL Server, DB2, Microsoft Access,… và chắc chắn sẽ có nhu cầu di chuyển dữ liệu giữa các server này Ngoài ra, muốn định dạng dữ liệu trước khi lưu vào database Chắc chắn Integration Services sẽ giúp giải quyết được công việc này dễ dàng
- Analysis Services: Đây là một dịch vụ phân tích dữ liệu rất hay của Microsoft Dữ liệu khi được lưu trữ vào trong database mà bạn không thể lấy được những thông tin bổ ích thì coi như không có ý nghĩa gì Chính vì thế, công cụ này
ra đời giúp việc phân tích dữ liệu một cách hiệu quả và dễ dàng bằng cách dùng
kỹ thuật khai thác dữ liệu – datamining và khái niệm hình khối nhiều chiều – multi dimendion cubes
- Notification Services: Dịch vụ thông báo này là nền tảng cho sự phát triển
và triển khai các ứng dụng soạn và gửi thông báo Ngoài ra, dịch vụ này còn có chức năng gửi thông báo theo dịch thời đến hàng ngàn người dăng ký sử dụng trên nhiều loại thiết bị khác nhau
- Reporting Services: là một công cụ tạo, quản lý và triển khai báo cáo bao gồm: server và client Ngoài ra, nó còn là nền tảng cho việc phát triển và xây dựng các ứng dụng báo cáo
- Full Text Search Service: là một thành phần đặc biệt trong việc truy vấn
và đánh chỉ mục dữ liệu văn bản không cấu trúc được lưu trữ trong các cơ sở dữ liệu SQL Server
- Service Broker: là một môi trường lập trình cho việc tạo ra các ứng dụng trong việc nhảy qua các Instance
❖ Ưu điểm:
Trang 22- SQL Server không phải là một hệ quản trị cơ sở dữ liệu độc lập mà nó chỉ
là một thành phần với vai trò ngôn ngữ là công cụ giao tiếp giữa hệ cơ sở dữ liệu
và người dùng Chính vì thế, nó được sử dụng trong các dịch vụ thiết kế web rẻ và chuyên nghiệp
- SQL là một ngôn ngữ đòi hỏi có tính tương tác cao: Người dùng có thể dễ dàng trao đổi với các tiện ích thông qua các câu lệnh của SQL đến cơ sở dữ liệu và nhận kết quả từ cơ sở dữ liệu
- SQL là một ngôn ngữ lập trình cơ sở dữ liệu: Các lập trình viên có thể xây dựng các chương trình ứng dụng giao tiếp với cơ sở dữ liệu bằng cách nhúng các câu lệnh SQL vào trong ngôn ngữ lập trình
- SQL là một ngôn ngữ lập trình quản trị cơ sở dữ liệu: Người quản trị cơ
sở dữ liệu có thề quản lý, định nghĩa và điều khiển truy cập cơ sở dữ liệu thông qua SQL
- SQL là một ngôn ngữ lập trình cho các hệ thống chủ khách: SQL được sử dụng như là một công cụ giao tiếp với các trình ứng dụng trong hệ thống cơ sở dữ liệu khách chủ
- SQL là ngôn ngữ truy cập dữ liệu trên Internet: SQL được sử dụng với vai trò tương tác với dữ liệu trong hầu hết các máy chủ web và máy chủ Internet
- SQL là ngôn ngữ cơ sở dữ liệu phân tán: Với vai trò giao tiếp với các hệ thống trên mạng, gửi và nhận các yêu cầu truy xuất dữ liệu với nhau