Dữ liệu được đưa vào phải kiểm tra chuẩn hóa Cơ sở dữ liệu phải đầy đủ thống nhất Cung cấp đầy đủ chính xác thông tin về khách sạn Cho phép khách hàng truy vấn thông tin khách sạ
Trang 1Mục Lục
Lời cảm ơn Error! Bookmark not defined
Mục Lục 1
GIỚI THIỆU 3
Chương 1 TỔNG QUAN 4
1.1 Khảo sát khách sạn Hoa Hồng 4
1.2 Những yêu cầu tính năng đối với hệ thống 6
1.3 Các yêu cầu khác đối với hệ thống 7
Chương 2 TỔNG HỢP CÁC KIẾN THỨC LIÊN QUAN 8
2.1 Một vài nét khái quát về VB.Net 8
2.1.1 Các kiểu dữ liệu 8
2.1.2 Biến – Tính chất, khai báo và khởi tạo 9
2.1.3 Mảng và cấu trúc 10
2.1.4 Các toán tử 11
2.1.5 Cấu trúc điều khiển 12
2.1.6 Hỗ trợ lập trình với cơ sở dữ liệu 13
2.2 Giới thiệu ngôn ngữ ASP 19
2.2.1 Khái niệm ASP 19
2.2.2 Mô hình hoạt động của Active Server Page 20
2.2.3 Các đối tượng được xây dựng sẵn của ASP 20
2.2.4 Truy nhập cơ sở dữ liệu 21
2.2.5 Một số cấu trúc điều khiển 22
Chương 3 PHÂN TÍCH VÀ THIẾT KẾ HỆ THỐNG 25
3.1 phân tích hệ thống 25
3.1.1 Sơ đồ ngữ cảnh của hệ thống 25
3.1.2 sơ đồ phân rã chức năng của hệ thống 26
3.1.2.1 Quản lý tài nguyên 26
3.1.2.2 Quản lý đặt phòng 27
3.1.2.3 Quản lý khách vào 27
3.1.2.4 Quản lý sử dụng dịch vụ 27
3.1.2.5 Quản lý khách ra 27
Trang 23.1.2.6 Báo cáo 28
3.1.2.7 Thông tin về khách sạn 28
3.1.2.8 Đặt phòng qua mạng 30
3.1.3 Biểu đồ luồng dữ liệu của hệ thống 34
3.1.3.1 Biểu đồ luồng dữ liệu mức đỉnh 34
3.1.3.2 Biểu đồ luồng phân rã chức năng quản lý đặt phòng 35
3.1.3.3 Biểu đồ luồng phân rã chức năng quản lý khách vào 35
3.1.3.4 Biểu đồ luồng phân rã chức năng quản lý sử dụng dịch vụ 36
3.1.3.5 Biểu đồ luồng phân rã chức năng quản lý khách ra 37
3.1.3.6 Biểu đồ luồng phân rã chức năng quản lý tài nguyên 37
3.1.3.7 Biểu đồ luồng phân rã chức năng lập báo cáo 38
3.1.4 Phân tích dữ liệu của hệ thống 38
3.1.4.1 Các thực thể của hệ thống 38
3.1.4.2 Mô hình quan hệ giữa các thực thể ER 41
3.2 Thiết kế hệ thống 41
3.2.1 Thiết kế hệ thống dữ liệu 41
3.2.1 Mô hình quan hệ giữa các bảng 47
3.3 Xây dựng chương trình 48
KẾT LUẬN 60
TÀI LIỆU THAM KHẢO 61
Trang 3GIỚI THIỆU
Ngày nay cùng với sự phát triển của khoa học kỹ thuật, ngành công nghệ thông tin đã và đang có sự phát triển vượt bậc, trở thành phương tiện giúp đỡ đắc lực nhất của con người trong mọi lĩnh vực.Vai trò của nó đã không thể thiếu được trong đời sống con người, như trong mỗi cơ quan các tổ chức đơn vị xí nghiệp Chỉ với mới một chiếc máy tính bạn có thể làm được rất nhiều việc như: quản lý thông tin với số lượng lớn, tính toán nhanh chính xác, giải trí, có thể truy cập đươc nhiều thông tin trên thế giới, và sử dụng máy tính vào công việc hàng ngày Trong các ngành công nghiệp thì ngành du lịch tại các nước phát triển hết sức mạnh mẽ và đạt thu nhập cao với sự hỗ trợ đắc lực từ công nghệ thông tin, ngành du lịch nước ta đã có từ lâu đời nhưng mới phát triển nên ứng dụng công nghệ thông tin còn nhiều hạn chế Trong bối cảnh đó việc xây dựng chương trình quản lý khách sạn và quảng bá nét đẹp con người Việt cho bạn bè thế giới là vô cùng cần thiết Quê hương em cũng có rất nhiều khu di tích và địa điểm du lịch hấp dẫn, đặc biệt là khi nghỉ mát Tam Đảo Em đã xây dựng chương trình quản
Trang 4Chương 1 TỔNG QUAN
1.1 Khảo sát khách sạn Hoa Hồng
Khách sạn Hoa Hồng nằm tại số 12, thị trấn Tam Đảo, là khách sạn hoạt động lâu năm Tuy nhiên trong khâu quản lý hoạt động kinh doanh vẫn hoạt động thủ công Mô hình hoạt động của hệ thống như sau:
Quy trình hoạt đông của hệ thống
Trang 5Nhận yêu cầu thuê phòng
Xác nhận các đặt phòng, Xác định khả năng đáp ứng
Trả lời khách
Lập thông tin thuê phòng
Nhận khẳng định từ khách
Tổng hợp tình hình thuê phòng Sửa Đổi
Từ chối
Hủy Bỏ
Quy trình thuê phòng của hệ thống
Quy trình cung cấp dịch vụ của hệ thống
Trang 6Nhận xét: quá trình làm thủ công dựa vào sức người đã bộc lộ những nhược điểm sau đây:
Việc lưu trữ hồ sơ khách hàng cũng như các thông tin khác trong quá trình thanh toán được tiến hành thủ công bằng sổ sách và số lượng chứng từ Sau nhiều năm thì khối lượng sẽ có một số lượng lớn dữ liệu, nên việc thông kê tìm kiếm gặp vô cùng khó khăn, tốn nhiều công sức
Khi lưu trữ thì có nhiều sai sót
Tốn nhiều nhân lực trong khâu quản lý
Mất thời gian trong việc đăng ký với số lượng đông
Khách sạn không thể mở rộng kinh doanh nếu không quảng bá khách sạn
và dịch vụ nhanh tróng thuận tiện
Chính vì những nhược điểm đó nên mục tiêu nâng cao chất lượng dịch vụ khách hàng và quản lý hiệu quả việc kinh doanh khách sạn rất khó thực hiện Vì vậy
ta cần xây dựng hệ thống quản lý khách sạn tích hợp đặt hàng qua mạng dựa trên nhu cầu tin học hóa công việc kinh doanh của khách sạn Hoa Hồng
1.2 Những yêu cầu tính năng đối với hệ thống
Tự động hóa các yêu cầu của hệ thống: tự động đặt phòng, quản lý khách tự động, dịch vụ thanh toán, in hóa đơn…nhằm tăng kết quả kinh doanh
Dữ liệu được đưa vào phải kiểm tra chuẩn hóa
Cơ sở dữ liệu phải đầy đủ thống nhất
Cung cấp đầy đủ chính xác thông tin về khách sạn
Cho phép khách hàng truy vấn thông tin khách sạn và tự động đặt phòng bởi chính khách hàng qua mạng Internet
Tạo ra các báo cáo, thống kế để người quản lý có thể biết được tình hình kinh doanh của khách sạn
Trang 71.3 Các yêu cầu khác đối với hệ thống
- Ngôn ngữ: ASP và VB.NET hiện nay rất phổ biến, nó rất mạnh và linh hoạt nên nó có thể thực hiện đầy đủ các yêu cầu của hệ thống
- FRONTPAGE 2003 với CSS là công cụ thiết kế giao diện nhanh và đẹp, dùng nó để thiết kế giao diện của website sẽ đảm bảo thẩm mỹ cho trang web này
Trang 8Chương 2 TỔNG HỢP CÁC KIẾN THỨC LIÊN QUAN
2.1 Một vài nét khái quát về VB.Net
2.1.1 Các kiểu dữ liệu
Các kiểu dữ liệu xuất phát từ lớp System.Object Ngoài ra các phương thức kế thừa từ lớp này, các biến kiểu dữ liệu còn có các phương thức và thuộc tính đặc thù
Các phương thức chung kế thừa từ lớp System.Object
Equals: hỗ trợ việc so sánh giữa hai Object
Finalize: thực hiện các thao tác xóa bỏ trước khi Object được tự động xóa
bỏ
GetHashCode: phát sinh một số tương ứng với giá trị của Object
Getype: Trả về kiểu Object
Tostring: trả về chuỗi chứa nội dung mô tả một thể hiện của lớp
Các kiểu dữ liệu trong Net được mô tả chi tiết trong một cấu trúc gọi là Common Type System (CTS) CTS định nghĩa các kiểu dữ liệu, cách thức sử dụng, cách thức được quản lý lúc thực thi và cùng với Common Language Specification đóng một vai trò quan trọng trong việc trao đổi giữa các ngôn ngữ lập trình trong Net
Dưới đây là các bảng liệt kê những phương thức và thuộc tính đặc thù của các kiểu dữ liệu Do các phương thức có nhiều kiểu sử dụng khác nhau, nên trong các phần nói về phương thức chỉ mô tả công dụng
Trang 9String Char(i), Length Clone, Compare,
CompareOrdinal, Concat, Copy, Copyto, Endswith, Format, Index, IndexOf, Insert, Joint, LatsIndexOf… Datetime Maxvalue, Minvalue Date,
Day, Second, DayOfWeek, DayOfYear, Hour, Month, Now, Second, Today, year…
Adddays, Addhours, AddYears, Compare, DayInmonth, Subtract, AddMonth
Number Maxvalue, Minvalue C, E , F
2.1.2 Biến – Tính chất, khai báo và khởi tạo
Tính chất: có 6 tính chất của biến
Address: địa chỉ vùng nhớ nơi lưu giữ giá trị của biến Trong chu trình sống, địa chỉ của biến thay đổi
Type: kiểu của biến, còn gọi là kiểu dữ liệu
Value: giá trị của biến
Scope: phạm vi sử dụng của biến
Mỗi biến có một phạm vi sử dụng là phạm vi trong chương trình, nơi biến được nhìn nhận thay đổi với câu lệnh: Phạm vi khối lệnh và phạm vi thủ tục, phạm
vi module và phạm vi project
Dim x as Integer, a, b, c as Long
Các biến a, b, c đều cùng có kiểu Long
Có thể khai báo và khởi tạo giá trị cho biến cùng lúc:
Dim as Integer = 100, y as Integer = 200
Trong cách này, phải khai báo tường minh kiểu dữ liệu cho từng biến Với các biến kiểu đối tượng, cách khai báo cũng như thế
Trang 10Lệnh trên chưa tạo ra biến đối tượng và sau dòng lệnh, obj A vẫn là Nothing Những cách sau đây sẽ khai báo và tạo biến đối tượng:
Dim obja as new myclass()
Hoặc
Dim obja as myclass =new myclass()
Các từ khóa khai báo:
Public: sử dụng toàn cục
Private: sử dụng cục bộ trong phạm vi khai báo dim
Friend: sử dụng trong phạm vi project
Protected: sử dụng trong phạm vi của lớp và các lớp con
Protected Friend: sử dụng trong phạm vi của proctected và friend
VB.Net không có kiểu con trỏ nên chúng ta chị xem xét kiểu trị và kiểu tham chiếu
Khi một biến kiểu trị được khai báo, một vùng nhớ được dành riêng để chứa giá trị thực của biến Ngược lại, khi một biến kiểu tham chiếu được khai báo, trình biên dịch sẽ tạo đối tượng trên vùng nhớ, nhưng sẽ gán cho biến bốn byte chứa địa chỉ của đối tượng Tóm lại, biến kiểu trị chứa giá trị của biến còn biến kiểu tham chiếu chỉ đến nơi chứa giá trị
Cú pháp
Khai báo mảng: dim a() as integer hoặc dim a as integer()
Mảng thuộc lớp System.Array nên có các thuộc tính và phương thức của lớp này Sau đây là một số thuộc tính và phương thức đáng chú ý:
Thuộc tính: Length, Rank
Trang 11Phương thức: Binarysearch, clear, clone, copy, copyto, getlength, getlowerBound, getupperBound, getvalue, indexof, LastIndexOf, Reverse, setvalue, sort
Khác với mảng, Structure kiểu do người dùng định nghĩa (UDT: User Defined Type), là một cấu trúc gồm một hoặc nhiều thành phần có kiểu dữ liệu khác nhau Tuy chúng ta có thể truy xuất riêng lẻ các thành phần nhưng Structure được xem như là một thực thể duy nhất Trong phiên bản trước, UDT được khai báo với từ khóa Type … End Type Trong VB.NET, cú pháp khai báo Structure như sau:
Cú pháp [Public|Private|Protected] Structure <tên strucure>
{Dim|Public|Private|Friend}<tên thành phần> As <kiểu dữ liệu>
{Dim|Public|Private|Friend}<tên thành phần N> As <kiểu dữ liệu> End Structure
Các đặc điểm của Structure
Có các thành phần, kể cả bộ khởi tạo, phương thức, thuộc tính, hằng, sự kiện
Có thể cài đặt các lớp giao tiếp (Interface)
Có thể có các bộ khởi tạo chung, có hoặc không có tham số
Structure là kiểu trị
Tất cả các thành phần của Structure mặc định là Public
Các thành phần của Structure không được khai báo với từ khóa Protected
Structure không thể kế thừa
2.1.4 Các toán tử
Toán tử toán học: +, -, *, /,\, mod, ^
Toán tử nối chuổi: toán tử chỉ dành cho kiểu string là & và +, kết quả là một string gồm các ký tự của toán hạng thứ nhất tiếp theo sau là các ký tự của toán hạng thứ hai
Toán tử gán: =, +=, *=, /=, ^=, &=
Toán tử so sánh: =, >=, <=, >,<, <>, typeof…is, is, like
Toán tử lý luận: Not, And, AndAlso, Or, OrElse, Xor
Trang 122.1.5 Cấu trúc điều khiển
Trang 13Cấu trúc này chia làm các khối sau:
Khối Try: chứa các câu lệnh có khả năng gây lỗi
Khối Catch: các dòng lệnh để bẫy và xử lý lỗi phát sinh trên khối Try Khối này gồm một loạt các lệnh bắt đầu với từ khóa Catch, biến kiểu Exception ứng với một kiểu Exception muốn bẫy và các lệnh xử lý Dĩ nhiên, chúng
ta có thể dùng một lệnh Catch cho các System.Exception, nhưng như thế sẽ không cung cấp thông tin đầy đủ cho người dùng về lỗi đang xảy ra cũng như hướng dẫn cách xử lý cụ thể cho mỗi tình huống Ngoài những lỗi đã xử lý, có thể xảy ra những lỗi ngoài dự kiến, để xử lý các lỗi này, chúng ta nên đưa thêm một lệnh Catch để bẫy tất cả các trường hợp còn lại và xuất thông tin về lỗi xảy ra
Khối Finally: là khối tùy chọn, sau khi chạy qua các khối Try và Catch nếu không có chỉ định nào khác, khối Finally sẽ được thực hiện bất kể có xảy ra lỗi hay không Cuối cùng, cấu trúc bẫy và xử lý lỗi chấm dứt với từ khóa End Try
2.1.6 Hỗ trợ lập trình với cơ sở dữ liệu
Kiến trúc ado.net
Kiến trúc ADO.NET có thể chia làm 2 phần chính:
Managed Provider Component: bao gồm các đối tượng như DataAdapter, DataReader,… giữ nhiệm vụ làm việc trực tiếp với dữ liệu như
Trang 14Content Component: bao gồm các đối tượng như DataSet, DataTable,…đại diện cho dữ liệu thực sự cần làm việc DataReader là đối tượng mới, giúp truy cập dữ liệu nhanh chóng nhưng forward-only và read-only giống như ADO RecordSet sử dụng Server cursor, OpenFowardOnly và LockReadOnly
DataSet cũng là một đối tượng mới, không chỉ là dữ liệu, DataSet có thể coi là một bản sao gọn nhẹ của CSDL trong bộ nhớ với nhiều bảng và các mối quan hệ DataAdapter là đối tượng kết nối giữa DataSet và CSDL, nó bao gồm hai đối tượng Connection và Command để cung cấp dữ liệu cho DataSet cũng như cập nhật dữ liệu từ DataSet xuống CSDL
ADO.NET có nhiều thay đổi so với ADO trước đây dù vẫn giữ lại kiến trúc các đối tượng độc lập với nhau và cố gắng không thay đổi cách thức các lập trình viên đã sử dụng quen thuộc với ADO ADO.NET có nhiều đặc điểm mới, nổi bật:
INTEROPERRABILITY: phương thức đóng gói dữ liệu dưới dạng NetWork
Scalability ( Hỗ trợ nhiều người dùng )
Productivity (Mở rộng khả năng làm việc với cơ sở dữ liệu): Với ADO.NET, có sự tập trung rõ ràng hơn về các chức năng của các đối tượng
Performance ( Hiệu quả trong xử lý dữ liệu): Với các thay đổi trong bản chất cơ chế thực hiện hiệu quả của ứng dụng dùng ADO.NET sẽ cao hơn nhiều
Disconnected data đảm bảo ứng dụng trên Client ít gặp lỗi khi xử lý dữ liệu đồng thời giúp mở rộng ứng dụng tới nhiều người dùng hơn Các managed provider component hỗ trợ tính năng thiết lập connection pooling ngầm định để giảm bớt thời gian tái kết nối
Định dạng XML thay thế cho NDR trong trao đổi dữ liệu giữa Server
và Client giúp cho dữ liệu có thể được xử lý bởi nhiều client hơn dù ứng dụng trên Client có hay không sử dụng COM
Trang 15Các thành phần của ado.net
Content component là các đối tượng đại diện cho dữ liệu cần xử
lý Trong ADO, RecordSet là content component Dữ liệu trong RecordSet ở dạng bảng, bao gồm các Row và Column Trong ADO.NET, dữ liệu được đại diện bởi DataSet nhưng dưới hình ảnh của một CSDL thu gọn, có nhiều table và các mối quan hệ Các class chính giúp tạo nên content component bao gồm:
DataAdapter được ADO.NET cung cấp như một công cụ giúp kết nối dữ liệu của một table trong DataSet với database trên Server
ADO.NET chứa dữ liệu trong DataSet cùng với mối quan hệ giữa các
dữ liệu đó DataSet giống như một hình ảnh về CSDL trong bộ nhớ, có thể có nhiều DataTable và các mối quan hệ giữa chúng đại diện bởi các DataRelation
DataTable là một thành phần trong DataSet, DataTable chứa dữ liệu của một bảng trong DataSet và thuộc lớp DataTable DataTable bao gồm: tập hợp Columns thuộc lớp DataColumnCollection trong đó mỗi cột là một đối tượng
Trang 16thuộc lớp DataColumn Tập hợp Rows thuộc lớp DataRowCollection trong đó mỗi dòng là một đối tượng thuộc lớp DataRow
DataSet bao gồm tập hợp các table đại diện bởi các đối tượng DataTable và quan hệ giữa các table đó đại diện bởi các đối tượng DataRelation
DataView gần giống với khái niệm RecordSet của ADO Trên một DataTable có thể tạo nhiều DataView với các điều kiện lọc, sắp xếp dữ liệu khác nhau Trên DataView ta có thể xem hay thay đổi giá trị các mẩu tin
Hình trên mô tả mô hình phân cấp các class của DataAdapter, cả SQLDataAdapte và OleDBDataAdapter đều thừa kế từ class DbDataAdapter, DbDataAdapter lại thừa kết từ abstract class DataAdapter, đến lượt abstract class này lại implement IDataAdapter interface để hỗ trợ hai phương thức Fill và Update
Để lấy dữ liệu cho một table trong DataSet, sử dụng phương thức Fill(),
để cập nhật dữ liệu cho DataSet, sử dụng phương thức Update()
Để lấy dữ liệu, DataAdapter dùng SELECT query thông qua thuộc tính SelectCommand Để cập nhật dữ liệu, DataAdapter dùng các câu query UPDATE, INSERT, DETETE thông qua các thuộc tính UpdateCommand, InsertCommand và DeleteCommand
Trang 17Ngoài Fill và Update, DataAdapter còn kế thừa thuộc tính TableMappings giúp cung cấp cho người dùng các tên table và tên column dễ đọc hơn các tên thực được sử dụng trong Database
Trong các đối tượng Command của DataAdapter, chỉ có đối SelectCommand là bắt buộc, các đối tượng còn lại đều có thể tự động được phát sinh
Text: (mặc định) một câu lệnh SQL
Storedprocedure: tên một thủ tục nội
TableDirect: tên của một hoặc nhiều bảng Khi CommandType có giá trị này, CommandText là tên của một bảng, hoặc tên của nhiều bảng liên tiếp và cách nhau một dấu phẩy Khi Command thực hiện sẽ trả về đủ các dòng
và các cột, với nhiều bảng kết quả trả về sẽ là kết quả của các bảng nối nhau (chỉ dùng cho OledbCommand)
Trang 18Một số điều khiển thường dùng:
Điều khiển Thuộc tính liên kết dữ liệu
Combobox, listbox, CheckListbox
Sau đây chúng ta sẽ đề cập đến một số điều khiển đặc biệt trong việc hiển thị
dữ liệu Khi được dùng để hiển thị dữ liệu, chúng ta cần quan tâm đến các thuộc tính sau :
_ DataSource: Chỉ ra nguồn dữ liệu để lấy giá trị liệt kê chọn lựa
_ DisplayMember: Cho biết tên cột trên nguồn dữ liệu liệt kê sẽ được hiển thị trên điều khiển
_ ValueMember: Cho biết tên cột trên nguồn dữ liệu liệt kê sẽ được lấy giá trị
để cập nhật
vào nguồn dữ liệu khi chọn một dòng trên điều khiển
_ SelectedValue: Giá trị của dòng được chọn ứng với cột có tên là giá trị của ValueMember
DataGrid
DataGrid là điều khiển cho phép liên kết dữ liệu dạng bảng gồm các dòng và các cột Đặc điểm của DataGrid trong NET là có thể liên kết với DataSet chứa nhiều bảng, quan hệ và có thể hiện thị từng bảng dữ liệu theo từng quan hệ trên lưới Lưới
Trang 19lúc này hiển thị như cây thư mục, chọn bảng nào lưới sẽ chuyển sang liên kết dữ liệu của bảng đó và xuất hiện các nút di chuyển về bảng trước, v.v…
2.2 Giới thiệu ngôn ngữ ASP
2.2.1 Khái niệm ASP
Active server Page (ASP) là một môi trường lập trình script trên server, nó cho phép người lập trình tạo các trang web động có tính bảo mật cao và làm tăng khả năng giao tiếp của chương trình ứng dụng Các ứng dụng xây dựng bằng ASP là các file có phần mở rộng ASP Trong một File ASP có thể trộn lẫn các đoạn mã script, các thẻ của HTML và các đoạn văn bản (text)
Trên mỗi trang ASP có một ngôn ngữ cơ sở script gọi là ngôn ngữ script cơ
sở ngôn ngữ đó có thể là: Jscript, Vbscript, Ngôn ngữ mặc định là Vbscript Để thiết lập ta dùng lệnh sau:
<% LANGUAGE = Tên_Ngôn_ngữ_script %>
Các script này được chạy trên Web Server mà không cần biên dịch riêng Chính điều này đã làm cải thiện đáng kể tới tốc độ thực hiện ứng dụng được xây dựng bằng ASP
Phân loại Script: các ngôn ngữ Script còn được phân loại theo vị trí mà nó được nạp và thực hiện có hai loại như sau:
Sever – side script: là đoạn script nằm trong tệp ASP được thực hiện trên server, không nằm trong kết quả trả về cho web browser của người dùng Nó sử dụng các Active Server Component (COM componet) để truy cập CSDL Cú pháp như sau:
<% Script Language = Tên_script_language Runat = Server %>
Các lệnh script
<% Script %>
Client – side script: là những đoạn script nằm trong tệp ASP mà nó sẽ được thực hiện khi trang web được download về client Những đoạn script này thường dùng để hỗ trợ việc tính toán đơn giản ngay trên client Các Client_side_script được khai báo như sau:
Trang 20<% Script Language = Tên_script_language %>
Các lệnh script
<% Script %>
2.2.2 Mô hình hoạt động của Active Server Page
Cách hoạt động của mô hình ASP được mô tả tóm tắt qua 3 bước sau:
Bước 1: khi Web browser ở máy người dùng gửi một yêu cầu về một tệp ASP cho Web Browser
Bước 2: tệp ASP đó được nạp vào bộ nhớ và thực hiện (tại máy chủ) Các đoạn chương trình script trong tệp ASP đó có thể là mở dữ liệu, thao tác với
dữ liệu để lấy được thông tin mà người dùng cần đến trong giai đoạn này tệp ASP đó cũng xác định xem là đoạn Script nào chạy trên máy chủ, đoạn Script nào là chạy trên máy người dùng
Bước 3: Sau khi thực hiện kết quả đó sẽ được trả về cho Web Browser của người dùng dưới dạng một Web tĩnh
2.2.3 Các đối tượng được xây dựng sẵn của ASP
Gồm có 6 đối tường sau:
Application: được dùng để chia sẻ thông tin giữa các người dùng của một hệ thống ứng dụng một ứng dụng cơ bản ASP được định nghĩa là gồm tất cả các tệp ASP ở trong một thư mục ảo và tất cả thư mục con của thư mục ảo đó Đối tượng Application hỗ trợ các phương thức LOCK và UNLOCK để khóa và bỏ khóa khi chạy ứng dụng đó với nhiều người dùng
Session: dùng lưu trữ những thông tin cần thiết trong phiên làm việc của người dùng, những thông tin lưu trữ trong session khách hàng không bị mất đi khi người dùng di chuyển qua các trang trong ứng dụng
Request: dùng để truy cập những thông tin được chuyển cùng với các yêu cầu HTTP Thường thông tin này gồm có các tham số của Form khi được Submit dùng phương thức POST và Get hay các tham số được ghi cùng với trang ASP trong lời gọi đến các trang đó Dùng đối tượng Request để chia sẻ thông tin qua lại giữa
Trang 21các trang ASP trong một ứng dụng Ngoài ra Request còn được dùng để lấy các giá trị Cookies lưu trên máy Client
Response: đối tượng này được dùng để gửi kế quả cho Web Browser, chuyển Browser đến một URL khách hoặc thiết lập các cookies trên máy client
Server: đối tượng này cung cấp các phương thức cũng như thuộc tính của Server Thường sử dụng phương thức Server.CreateObject để khởi tạo Instance của một Active Object trên trang ASP
ObjectContext: dùng đối tường này để chấp nhận hoặc hủy bỏ các Transaction được điều khiển bởi Microsoft Transaction Server Khi mà các tệp ASP
có chứa từ khóa @TRANSACTION ở trên đầu thì tệp ASP đó sẽ chạy cho đến khi
ma transaction thực hiện thành công hoặc thất bại
2.2.4 Truy nhập cơ sở dữ liệu
Truy nhập dữ liệu trong Visual InterDev rất đơn giản các điều khiển có thể được thêm vào trang, kết nối nguồn dữ liệu vào project, và liên kết dữ liệu với các điều khiển
Để hiển thị dữ liệu từ cơ sở dữ liệu trong một trang ASP cần tiến hành như sau:
Dùng một liên kết tới cơ sở dữ liệu
Dùng một tên nguồn dữ liệu để định danh cơ sở dữ liệu
Dùng một câu lệnh truy xuất dữ liệu…
Sử dụng ADO để truy cập cơ sở dữ liệu
ADO(ACESS DATA OBJECT) là đối tượng Activex truy nhập dữ liệu mới nhất mà Microsoft đưa ra nhằm hỗ trợ tích cực cho việc tương tác với cơ sở dữ liệu qua bất kỳ một nhà cung cấp cơ sở dữ liệu nào (DB Provider) Ado cho phép viết các ứng dụng truy nhập cơ ở dữ liệu từ các nguồn dữ liệu OLEDB, gồm tất cả các nguồn dữ liệu ODBC Nó dựa trên kỹ thuật tự động Khi sử dụng ADO với Active Server Pages, mọi truy xuất dữ liệu và thao tác được thực hiện trên server Mô hình hoạt động như sau:
Trang 222.2.5 Một số cấu trúc điều khiển
a Cấu trúc điều kiện If…then…else….if
%>
Trang 23Ngoài ra có thể sử dụng cấu trúc If then elseif end if
Select Case <tenbien>
Case <gia tri 1>
Trang 25Chương 3 PHÂN TÍCH VÀ THIẾT KẾ HỆ THỐNG
3.1 phân tích hệ thống
3.1.1 Sơ đồ ngữ cảnh của hệ thống
Các khái niệm cơ bản:
Luồng dữ liệu: là dữ liệu di chuyển từ vị trí này đến vị trí khác
Kí hiệu
Kho dữ liệu: là các dữ liệu được lưu tại chỗ
Kí hiệu:
Tiến trình: là một công việc hay hành động tác động lên dữ liệu làm cho chúng di
chuyển được, lưu trữ được, thay đổi hay được phân phối phải là động từ ngắn gọn
và xúc tích
Ký hiệu
Tác nhân: là nơi xuất phát hoặc nơi đến của nguồn dữ liệu
Ký hiệu
Trang 263.1.2 sơ đồ phân rã chức năng của hệ thống
3.1.2.1 Quản lý tài nguyên
Khách sạn Hoa Hồng cần quản lý thông tin tài nguyên về phòng như: Phòng, loại phòng, tiện nghi, các tiện nghi được trang bị cho từng phòng khác nhau
Phòng là tài sản cơ bản của khách sạn, nên cần được quản lý để phục vụ quy trình đặt phòng và khách vào ra Thông tin bao gồm số phòng, loại phòng, giá, tiện nghi thông tin trạng thái phòng cũng phải được cập nhật: rỗi, bận, được đặt
Ngoài ra tài nguyên khách sạn còn có các dịch vụ như: giặt là, thuê xe, điện
Trang 273.1.2.2 Quản lý đặt phòng
Cho phép quản lý thông tin đặt phòng của khách qua điện thoại Thông tin của cuộc đặt phòng bao gồm: Thông tin về khách như tên, điện thoại, địa chỉ…Thông tin về phòng đặt, số phòng, ngày đến, ngày đi
3.1.2.3 Quản lý khách vào
Khách có đặt trước
Khách đưa ra thông tin về cuộc đặt phòng Nhân viên lễ tân tra cứu thông tin trên máy tính, xác nhận lại thông tin checkin và lưu vào cơ sở dữ liệu Thông tin checkin bao gồm thông tin về khách và phòng
Khách không đặt trước
Nhân viên lễ tân cung cấp thông tin về phòng trống bằng truy vào chương trình máy tính, nếu có thể đáp ứng được yêu cầu của khách hang thì khách hàng xác nhận thuê phòng, nhân viên sẽ lưu thông tin vào cơ sở dữ liệu nếu không thì xin lỗi
và từ chối yêu cầu khách hàng
3.1.2.4 Quản lý sử dụng dịch vụ
Tất cả các yêu cầu dịch vụ trong một ngày sẽ được tổng hợp vào 6 giờ tối trong ngày và thông tin khách sử dụng dịch vụ sẽ được cập nhât tính tự động và đồng thời lưu vào cơ sở dữ liệu Khách có thể thanh toán riêng hoặc cùng với tiền phòng
Trang 283.1.2.6 Báo cáo
Báo cáo có thể lọc theo thời gian hoặc một số tiêu trí khác sau:
- Báo cáo tính trạng phòng: rỗi, bận, được đặt, đang dọn dẹp
- Báo cáo khách: số khách đến, số khách đi
- Báo cáo đặt phòng
- Báo cáo doanh thu với mỗi loại phòng
- Báo cáo doanh thu dịch vụ
3.1.2.7 Thông tin về khách sạn
Chức năng này nhằm giới thiệu và quảng cáo về khách sạn như: lịch sử khách sạn,vị trí địa lý, địa chỉ, diện tích, khuôn viên, số điện thoại, fax cho khách hàng dễ liên lạc.Ngoài ra khách sạn còn đưa ra các dịch vụ mà khách sạn cung cấp, các loại phòng mà khách sạn có thể đáp ứng, các quy định, chính sách ưu đãi của khách sạn đối với khách hàng Từ việc truy vấn thông tin về khách sạn, khách hàng
có thể điện thoại, fax hoặc có thể trực tiếp đặt phòng qua mạng để hẹn ngày nhận phòng
Ngoài ra trang web còn cho các bạn biết thêm thông tin thú vị về văn hóa, ẩm thực và con người Việt Nam nói chung và Vĩnh Phúc nói riêng Bên cạnh đó còn có các thông tin tiện ích như: Các thông tin văn hóa người Việt, chuyến bay, các khách sạn nhà hang trên các tỉnh và thành phố trên toàn quốc sau đây là một số giao diện giới thiệu:
Trang 29Giao diện giới thiệu
Các món ăn đặc sản địa phương
Trang 30Các dịch vụ của khách sạn
3.1.2.8 Đặt phòng qua mạng
Sau khi truy vấn trên mạng, khách hàng có thể đặt phòng qua mạng được tiến hành như sau: Khách đưa ra các thông tin liên quan đến việc đặt phòng: số lượng khách đến, số lượng phòng đặt, số lượng phòng đơn, đôi, tập thể, ngày đến, ngày đi Yêu cầu đối với việc đặt phòng là trước ít nhất 1 ngày Các thông tin sẽ lưu vào hệ thống, khi đó hệ thống tự động truy vấn cơ sở dữ liệu và xem khách sạn hiện tại có khả năng đáp ứng hay không Nếu thỏa mãn thì xác nhận đặt phòng và trả lời khách theo email mà khách đã đăng ký, nếu không thì từ chối Vì số phòng của khách sạn
có hạn nên các thông tin đặt phòng được lưu trữ đến 6 giờ tối hàng ngày, nếu có thay đổi thì khách hàng phải điện báo cho nhân viên lễ tân