MỤC LỤC
1 CHƯƠNG 1: TỔNG QUAN. 4
1.1. Thực trạng vềviệc quản lý các tòa nhà cao tầng hiện nay.4
1.1.1. Đặt vấn đề:.4
1.1.2. Phân loại nhà cao tấng:.5
1.1.3. Hệthống quản lý các tòa nhà:.6
1.1.4. Thực trạng các tòa nhà cao tầng hiện nay:.8
1.1.5. Sựcần thiết của hệthống BMS cho các tòa nhà cao tầng:.10
1.2. Nhiệm vụcủa đồán.11
2 CHƯƠNG 2: TÌM HIỂU ENTERPRISE LIBRARY. 12
2.1. Enterprise library.12
2.1.1. Application Block là gì ?.12
2.1.2. Enterprise Library là gì ?.12
2.1.3. Mục tiêu của Enterprise Library:.12
2.1.4. Yêu cầu hệthống:.13
2.1.5. Cấu trúc Enterprise Libary Application Blocks:.13
2.1.6. Phát triển ứng dụng với Enterprise Library:.14
2.2. Giới thiệu các Application Block.15
2.2.1. Caching Application Block:.15
2.2.2. Cryptography Application Block:.16
2.2.3. Giới thiệu Data Access Application Block:.18
2.2.4. Giới thiệu Security Application Block:.20
3 CHƯƠNG 3: GIẢI QUYẾT BÀI TOÁN. 22
3.1. Lưu đồcác qui trình nghiệp vụcủa tòa nhà.22
3.1.1. Quy trình tạo hợp đồng cho bên thuê.22
3.1.2. Quy trình tạo reservation.24
3.1.3. Quy trình tạo hợp đồng và in phiếu thanh toán cho chủnhà (House holder)
3.1.4. Quy trình xửlý căn hộkhông thuộc tòa nhà quản lý.26
3.1.5. Quy trình close day.27
3.1.6. Quy trình close month.28
3.1.7. Quy trình của bộphận house keeping.29
3.1.8. Quy trình xửlý nghiệp vụgym-spa.30
3.1.9. Quy trình post chỉsố điện nước mỗi tháng.31
3.1.10. Quy trình quản lý khách sửdụng dịch vụgiữxe.32
3.1.11. Quy trình post doanh thu sửdụng dịch vụhằng ngày nhưLaundry.33
3.1.12. Quy trình post doanh thu dịch vụlắp đặt phí viễn thông.34
3.1.13. Quy trình nhập và tính tiền các yêu cầu của khách hàng.35
3.1.14. Quy trình tách doanh thu.36
3.1.15. Quy trình xửlý khách thanh toán tiền.37
3.1.16. Quy trình nới Due out.38
3.1.17. Quy trình vận hành kiểm soát quá trình doanh thu, công nợ, yêu cầu
thanh toán39
3.1.18. Quy trình kiểm soát doanh thu, phục vụkhách.40
3.1.19. Quy trình cho thuê phòng.43
3.2. Thiết kếcơsởdữliệu.46
3.2.1. Lược đồthực thểERD.46
3.2.2. Các thực thể.48
4 CHƯƠNG 4: KẾT QUẢXÂY DỰNG HỆTHỐNG PHẦN MỀM BMS.67
4.1. Ngôn ngữvà công cụsửdụng.67
4.2. Yêu cầu cài đặt chương trình.67
4.3. Giới thiệu chương trình.67
5 CHƯƠNG 5: KẾT LUẬN. 78
5.1. Tóm lược vấn đề.78
5.2. Kết quả đạt được.78
5.3. Một sốhạn chế.79
5.4. Hướng phát triển.80
PHỤLỤC. 81
Phụlục hình ảnh.81
Phụlục bảng biểu.82
Thuật ngữ.83
TÀI LIỆU THAM KHẢO. 86
86 trang |
Chia sẻ: netpro | Lượt xem: 2993 | Lượt tải: 1
Bạn đang xem trước 20 trang tài liệu Đề tài Xây dựng phần mềm quản lý văn phòng cao ốc cho thuê, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
dụng lâu tới mức có
thể. Điều này tránh việc lập lại việc tạo mới, xử lý, truyền dữ liệu.
Sự linh hoạt (scalability): lưu trữ dữ liệu trong Cache giúp cho việc tiết kiệm tài
nguyên và nâng cao sự linh hoạt khi nhu cầu trong ứng dụng tăng cao.
Tính sẵn sàng (availability): bằng việc lưu trữ trong Cache cục bộ, ứng dụng có thể
tiếp tục tồn tại khi hệ thống gặp sự cố như: độ trễ mạng, Web Service có vấn đề, hư hỏng
phần cứng.
Việc Caching Application Block thường được áp dụng nếu gặp một trong các
trường hợp sau:
¾ Thường xuyên truy cập dữ liệu hoặc dữ liệu hiếm khi thay đổi.
¾ Việc truy xuất dữ liệu để tạo mới, truyền tải sẽ tiêu tốn thời gian và tài
nguyên.
¾ Dữ liệu luôn trong tình trạng sẵn sàng, dù cho dữ liệu nguồn (ví dụ như ở
máy chủ) không ở trong tình trạng sãn sàng.
Ứng dụng thường dùng với Caching Application Block: Windows Forms, Console
Application, Windows service, COM+ server, ASP.NET Web application hoặc Web
service.
Chúng ta chỉ nên phát triển Caching Application Block trong môi trường ứng dụng
đơn nhất. Mỗi ứng dụng có một hoặc nhiều Cache, có thể có hoặc không có lưu trữ ngược
(backing store).
Caching Application Block được tối ưu cho hiệu suất hoạt động. Chúng ta có thể
mở rộng nó để thêm vào chính sách hết hạn (expiration policies) và lưu trữ ngược của
chính chúng ta.
2.2.2. Cryptography Application Block:
Cryptography Application Block giúp Developer đơn giản hóa việc xây dựng chức
năng mã hóa trong ứng dụng của họ. Ứng dụng có thể sử dụng Application Block cho rất
nhiều tác vụ khác nhau, như là mã hóa thông tin, tạo ra dữ liệu băm (hash data), và so
sánh giữa các giá trị băm (hash value) để xác thực dữ liệu không bị sửa đổi.
Cryptography Application Block có các đặc tính sau:
¾ Giảm việc viết những đoạn mã dư thừa để thực hiện những tác vụ lập lại,
cung cấp phương thức để giải quyết các vấn đề chung nhất trong việc mã
hóa.
¾ Giúp đỡ việc duy trì việc mã hóa trong cả ứng dụng và hệ thống.
¾ Developer dễ dàng sử dụng bằng cách dùng mô hình kiến trúc thích hợp
theo nhiều lĩnh vực mà các Application Block này hỗ trợ.
¾ Cung cấp việc hiện thực những gì mà chúng ta cần để giải quyết những vấn
đề mã hóa chung.
¾ Có tính mở rộng, hỗ trợ việc thêm vào các tính năng mã hóa của hãng thứ
ba.
Các kịch bản thường gặp:
Developer thường viết ứng dụng yêu cầu việc mã hóa và có khả năng băm để đáp
ứng yêu cầu bảo mật của tổ chức. Dữ liệu được tạo ra và duy trì bởi ứng dụng cũng như
thông tin cấu hình thường được mã hóa, mật khẩu cũng được sử dụng để truy xuất vào các
chức năng của ứng dụng hay dữ liệu khi cần thiết.
Cryptography Application Block đơn giản hóa công việc của Developer bằng việc
trừu tượng hóa mã chương trình từ những hãng cũng cấp giải pháp mã hóa cụ thể. Chúng
ta có thể thay đổi nhà cung cấp (provider) thông qua việc thay đổi thông tin cấu hình mà
không cần thay đổi mã ứng dụng.
Cryptography Application Block chỉ hỗ trợ thuật toán đối xứng. Thuật toán đối
xứng sử dụng cùng một khóa cho cả việc mã hóa và giải mã. Application Block không hỗ
trợ việc mã hóa bất đối xứng, thuật toán sử dụng một khóa cho việc mã hóa thông điệp và
khóa khác cho việc giải mã.
2.2.3. Giới thiệu Data Access Application Block:
2.2.3.1 Giới thiệu:
Enterprise Library Data Access Application Block đơn giản hóa tác vụ phát triển
phần mềm bằng cách hiện thực các chức năng truy xuất dữ liệu thường gặp. Các ứng dụng
sử dụng Application Block trong rất nhiều trường hợp: đọc dữ liệu để hiển thị, chuyển dữ
liệu qua các lớp khác ứng dụng, thay đổi dữ liệu trong hệ cơ sở dữ liệu. Application Block
hỗ trợ Store Procedure và in-line SQL. Những tác vụ thường gặp như quản lý kết nối, tạo
và caching các tham số được đóng gói trong các phương thức của Application Block. Nói
một cách khác, Data Access Application Block cung cấp việc truy xuất hầu hết các tính
năng của ADO.net bằng những lớp đơn giản.
ADO.net 2.0 cung cấp những lớp như DbCommand và DbConnection, những lớp
này giúp việc trừu tượng hóa dữ liệu từ những cơ sở dữ liệu của các nhà cung cấp khác
nhau. Data Access Application Block sử dụng ưu điểm của những lớp này và đưa ra một
mô hình hỗ trợ việc bao đóng các đặc tính riêng biệt của mỗi nhà cung cấp cơ sở dữ liệu
như là: khám phá tham số (parameter discovery), chuyển dạng (type convensions). Vì thế
ứng dụng của chúng ta có thể sử dụng các hệ cơ sở dữ liệu khác nhau mà không cần chỉnh
sửa mã. Data Access Application Block bao gồm một lớp trừu tượng định nghĩa các
Interface thường dùng cũng như hiện thực các phương thức truy xuất dữ liệu.
Application Block cũng bao gồm những lớp chỉ dùng cho hệ quản trị cơ sở dữ liệu
SQL Server và Oracle. Những lớp này thực hiện các hoạt động chỉ thích hợp với các cơ
sở dữ liệu này. Tuy nhiên mã chương trình viết cho cơ sở dữ liệu như SQL Server trông
rất giống với mã viết cho cơ sở dữ liệu khác (ví dụ Oracle).
Một tính năng khác của Data Access Application Block là mã chương trình có thể
tham chiếu tới các cơ sở dữ liệu riêng biệt bởi tên chuỗi kết nối của ADO.NET.
Mã chương trình có thể xác định tên cơ sở dữ liệu và chuyển tham số này cho
phương thức Database.Factory.CreateDatabase. Mỗi cơ sở dữ liệu có thông tin kết nói lưu
trong file cấu hình. Bằng việc thay đổi các thiết lập trong file cấu hình, Developer có thể
sử dụng ứng dụng của họ với những cơ sở dữ liệu khác nhau mà không cần biên dịch lại
mã.
2.2.3.2 Những lợi ích khi dùng Data Access Application Block:
¾ Nó sử dụng các tính năng cung cấp bởi ADO.NET 2.0 do đó chúng ta có thể
sử dụng các tính năng của ADO.NET cùng với các tính năng của
Application Block.
¾ Giảm việc viết những mã lập đi lập lại để thực hiện những tác vụ thường
gặp.
¾ Giúp đỡ việc bảo trì, truy xuất dữ liệu nhất quán trong toàn bộ ứng dụng.
¾ Giảm sự khó khăn khi thay đổi các loại cơ sở dữ liệu khác nhau.
¾ Developer sẽ không phải nghiên cứu các mô hình lập trình khác nhau cho
những loại cơ sở dữ liệu khác nhau.
¾ Giảm số lượng mã mà Developer phải viết khi họ chuyển ứng dụng kết nối
với các loại cơ sở dữ liệu khác nhau.
2.2.3.3 Kịch bản thường gặp:
Developer thường viết ứng dụng sử dụng cơ sở dữ liệu. Điều này rất thông dụng do
đó Developer có thể viết mã giống nhau cho mỗi ứng dụng. Dù các tác vụ giống hệt nhau
nhưng mã phải được viết phù hợp cho mỗi mô hình lập trình của các cơ sở dữ liệu khác
nhau. Data Access Application Block giải quyết những vấn đề này bằng cách cung cấp
việc thực thi hầu hết các tác vụ truy xuất dữ liệu. Devloper chỉ cần:
¾ Tạo cơ sở dữ liệu Object.
¾ Cung cấp tham số cho dòng lệnh nếu cấn.
¾ Gọi các phương thức thích hợp, những phương thức này được tối ưu tốc độ.
Chúng cũng rất linh hoạt, có tính linh động cao.
2.2.4. Giới thiệu Security Application Block:
2.2.4.1 Giới thiệu:
Microsoft Enterprise Library Security Application Block giúp đỡ Developer hiện
thực các chức năng xác thực thường gặp trong ứng dụng của họ. Ứng dụng có thể sử dụng
Security Application Block để hỗ trợ việc phân quyền và Cache các quyền, thông tin xác
thực. Chúng có những đặc tính sau đây:
¾ Giảm các yêu cầu viết các đoạn mã dài dòng để thực thi các tác vụ thông
thường.
¾ Giúp việc bảo trì tính nhất quán trong việc bảo mật, trong ứng dụng và toàn
bộ hệ thống.
¾ Cung cấp cách hiện thực giúp chúng ta giải quyết rất nhiều vấn đề bảo mật
thường gặp.
¾ Tính mở rộng, hỗ trợ tùy biến dựa vào các gói của các nhà cung cấp bảo
mật.
2.2.4.2 Những khái niệm thường gặp khi chúng ta sử dụng Security Application
Block:
¾ Authentication: mỗi một cá nhân hay hệ thống tương tác với ứng dụng thì phải
có một số quyền để thực thi các tác vụ nào đó. Authentication là tiến trình xác
thực một cá nhân hay hệ thống đúng là người đã đăng ký quyền sử dụng ứng
dụng. Hầu hết các hệ thống đều sử dụng tên đăng nhập và mật khẩu.
¾ Authorization: sau khi user được xác thực, ứng dụng của chúng ta phải xác
định hoạt động hay tác vụ nào mà user được phép thực thi, điều này được gọi
là Authorization.
¾ Roles: roles được gán cho các user để định trước xem user sẽ dùng ứng dụng
như thế nào. Hệ thống Authorization sẽ kiểm tra các role được gán cho user là
những hoạt động nào hay các hoạt động nào user được phép thực thi.
¾ Profiles: Security Application Block lưu trữ thông tin profile cho mỗi user.
Một profile chứa rất nhiều thông tin gốc, các chuỗi đối tượng hay một từ điển
các thông tin gốc và các chuỗi đối tượng.
2.2.4.3 Các tình huống thường gặp:
Developer thường viết ứng dụng mà việc xác thực các user phải dựa vào một hay
nhiều security provider ví dụ như là dịch vụ thư mục Microsoft Active Directory,
Authorization Manager, Active Directory Application Max (ADAM) và một số nhà cung
cấp Authorization khác. Những ứng dụng này đòi hỏi phải Cache dữ liệu Authentication
hay Authorization trong suốt tiến trình đăng nhập vào hệ thống.
Security Application Block đơn giản hóa các tác vụ này bằng cách xử lý chúng với
cách xử lý thích hợp, nó sẽ trừu tượng hóa mã ứng dụng từ các security provider cụ thể.
Chúng ta có thể thay đổi những provider ở bên dưới thông qua việc thay đổi cấu hình mà
không thay đổi mã ứng dụng.
Security Application Block cung cấp mã giúp chúng ta viết chương trình với
những tình huống sau:
¾ Authorization.
¾ Ủy nhiệm việc caching security.
3 CHƯƠNG 3: GIẢI QUYẾT BÀI TOÁN
3.1. Lưu đồ các qui trình nghiệp vụ của tòa nhà
3.1.1. Quy trình tạo hợp đồng cho bên thuê
Hình 3-1 Quy trình tạo hợp đồng cho bên thuê
3.1.2. Quy trình tạo reservation
Hình 3-2 Quy trình tạo reservation
3.1.3. Quy trình tạo hợp đồng và in phiếu thanh toán cho chủ nhà (House holder)
Hình 3-3 Quy trình tạo hợp đồng và in phiếu thanh toán cho chủ nhà
3.1.4. Quy trình xử lý căn hộ không thuộc tòa nhà quản lý
Hình 3-4 Quy trình xử lý căn hộ không thuộc tòa nhà quản lý
3.1.5. Quy trình close day
Hình 3-5 Quy trình close day
3.1.6. Quy trình close month
Hình 3-6 Quy trình close month
3.1.7. Quy trình của bộ phận house keeping
Hình 3-7 Quy trình của bộ phận house keeping
3.1.8. Quy trình xử lý nghiệp vụ gym-spa
Hình 3-8 Quy trình xử lý nghiệp vụ gym-spa
3.1.9. Quy trình post chỉ số điện nước mỗi tháng
Hình 3-9 Quy trình post chỉ số điện nước mỗi tháng
3.1.10. Quy trình quản lý khách sử dụng dịch vụ giữ xe
Hình 3-10 Quy trình quản lý khách sử dụng dịch vụ giữ xe
3.1.11. Quy trình post doanh thu sử dụng dịch vụ hằng ngày như Laundry
Hình 3-11 Quy trình post doanh thu sử dụng dịch vụ hằng ngày như Laundry
3.1.12. Quy trình post doanh thu dịch vụ lắp đặt phí viễn thông
Hình 3-12 Quy trình post doanh thu dịch vụ lắp đặt phí viễn thông
3.1.13. Quy trình nhập và tính tiền các yêu cầu của khách hàng
Hình 3-13 Quy trình nhập và tính tiền các yêu cầu của khách hàng
3.1.14. Quy trình tách doanh thu
Hình 3-14 Quy trình tách doanh thu
3.1.15. Quy trình xử lý khách thanh toán tiền
Hình 3-15 Quy trình xử lý khách thanh toán tiền
3.1.16. Quy trình nới Due out
Hình 3-16 Quy trình nới Due out
3.1.17. Quy trình vận hành kiểm soát quá trình doanh thu, công nợ, yêu cầu
thanh toán
Hình 3-17 Quy trình vận hành kiểm soát quá trình doanh thu, công nợ, yêu cầu
thanh toán
3.1.18. Quy trình kiểm soát doanh thu, phục vụ khách
Hình 3-18 Quy trình kiểm soát doanh thu, phục vụ khách
Chú thích: KT, Acc là bộ phận kế toán; KH là khách hàng; CS là customer service
b2: Các dịch vụ sử dụng thông thường như laundry, nước uống … post bill hằng
ngày, các dịch vụ đăng ký gói (1 tháng, 3 tháng…) xe, gym post bill theo gói. Các dịch vụ
sử dụng và trả theo tháng khác như điện, nước, TV cáp… post bill cuối tháng một lần.
b3: Phần mềm sẽ nhắc nhở Auditor, với các dịch vụ có đăng ký. Nếu chưa post bill
sẽ không cho qua tháng. Riêng các dịch vụ khách sử dụng thường hằng ngày thì
KT/CS/Recept phải post bill hằng ngày. (Tùy theo nghiệp vụ, auditor có thể kiểm tra hằng
ngày các bill này).
b5: Khách hàng có thể nợ, hoặc không thanh toán ngay. Phần mềm có qui định các
khoản penalty charge để lần request sau sẽ tính vào (theo lãi xuất đã qui định trước)
b7: Tỉ lệ ăn chia với House Holder được qui định cụ thể trước đó. Xem thêm phần
qui trình làm hợp đồng với House Holder.
3.1.19. Quy trình cho thuê phòng
Hình 3-19 Quy trình cho thuê phòng
b1: có thể nhập thông tin khách hàng vào hệ thống để chia sẽ thông tin.
b6: phần mềm có chức năng reminder sẽ thông báo khi gần đến ngày.
b8: tùy trường hợp, có khi in payment request trước hoặc sau khi check in. Thông
thường in sau khi check in.
b9: tham khảo thêm lưu đồ quy trình vận hành phục vụ khách. Bao
gồm nhiều qui trình con khi khách ở và sử dụng các dịch vụ (điện nước,
gym&spa, đăng ký xe…).
Lưu ý các chứng từ phiếu thu phiếu chi, phần mềm này không quản lý.
3.2. Thiết kế cơ sở dữ liệu
3.2.1. Lược đồ thực thể ERD
3.2.1.1 Lược đồ ERD liên quan tới nghiệp vụ reservation
Hình 3-20 Lược đồ ERD liên quan tới nghiệp vụ reservation
3.2.1.2 Lược đồ ERD liên quán tới nghiệp vụ Post Transaction
Hình 3-21 Lược đồ ERD liên quán tới nghiệp vụ Post Transaction
3.2.2. Các thực thể
3.2.2.1 Thực thể Company:
Bảng 3-1 Quản lý thông tin công ty đặt phòng
Tên thuộc tính Kiểu dữ liệu Mô tả
iConpanyID Int(4)
nCompanyName Nvarhcar(50)
nAddress Nvarchar(100)
vPhone varchar(20)
vMobile varchar(20)
vEmail varchar(50)
vFax Varchar(20)
vWebsite Varhcar(50)
vTax varchar(20)
vAccount varchar(20)
nNote Nvarchar(200)
3.2.2.2 Thực thể Availability_Chart:
Bảng 3-2 Thống kê số lượng phòng được đặt
Tên thuộc tính Kiểu dữ liệu Mô tả
iACID Int(4)
iRoomType Int FK_Room_Type table
iRoomRank Int FK_Room_Rank table
iReservationCode Int
iBookStatusID int
iQuanity Int Số lượng phòng
dCheckInDate DateTime
dCheckOutDate DateTime
nNote Nvarchar(200)
3.2.2.3 Thực thể Country
Bảng 3-3 Thông tin nước, quốc tịch của khách.
Tên thuộc tính Kiểu dữ liệu Mô tả
iCountryID Int(4)
nCountry Nvarhcar(50)
nNationality Nvarchar(50)
nNote Nvarchar(200)
3.2.2.4 Thực thể Language
Bảng 3-4 Thông tin ngôn ngữ của khách
Tên thuộc tính Kiểu dữ liệu Mô tả
iLanguageID Int(4)
vLanguage Nvarhcar(50)
vNote Nvarchar(200)
3.2.2.5 Thực thể Room_Status
Bảng 3-5 Quản lý trạng thái phòng hiện tại
Tên thuộc tính Kiểu dữ liệu Mô tả
iRoomStatus Int(4)
nStatusName Nvarhcar(50)
nNote Nvarchar(200)
3.2.2.6 Thực thể Market_Segment
Bảng 3-6 Thống kê booking thuộc đọan thị trường nào
Tên thuộc tính Kiểu dữ liệu Mô tả
iMSID Int(4)
nSegmentName Nvarhcar(50)
nNote Nvarchar(200)
3.2.2.7 Thực thể Market_Chanel
Bảng 3-7 Thống kê booking thuộc kênh thị trường nào
Tên thuộc tính Kiểu dữ liệu Mô tả
iMCID Int(4)
nChanelName Nvarhcar(50)
nNote Nvarchar(200)
3.2.2.8 Thực thể Travel_Agent
Bảng 3-8 Thống kê booking thuộc lữ hành nào
Tên thuộc tính Kiểu dữ liệu Mô tả
iTAID Int(4)
nNameTravel Nvarhcar(50)
nNote Nvarchar(200)
3.2.2.9 Thực thể Book_Status
Bảng 3-9 Quản lý các trạng thái đặt phòng : tentative, definite,...
Tên thuộc tính Kiểu dữ liệu Mô tả
iBookStatusID Int(4)
nName Nvarhcar(50)
nNote Nvarchar(200)
3.2.2.10 Thực thể Payment_Type
Bảng 3-10 Các kiểu thanh toán : tiền mặt, thẻ…
Tên thuộc tính Kiểu dữ liệu Mô tả
iPaymentTypeID Int(4)
nPaymentName Nvarhcar(50)
nNote Nvarchar(200)
3.2.2.11 Thực thể Room_Type
Bảng 3-11 Các loại phòng : 2 bed room, 3 bed room…
Tên thuộc tính Kiểu dữ liệu Mô tả
iRoomType Int(4)
nTypeName Nvarhcar(50)
nNote Nvarchar(200)
3.2.2.12 Thực thể Room_Kind
Bảng 3-12Các kiểu phòng : Apartment, Office…
Tên thuộc tính Kiểu dữ liệu Mô tả
iRoomKind Int(4)
nKinkName Nvarhcar(50)
nNote Nvarchar(200)
3.2.2.13 Thực thể Floor
Bảng 3-13 Quản lý tầng
Tên thuộc tính Kiểu dữ liệu Mô tả
iFloor Int(4)
nFloorName Nvarhcar(50)
nNote Nvarchar(200)
3.2.2.14 Thực thể Folio
Bảng 3-14Quản lý thông tin khách ở và khách đặt phòng
Tên thuộc tính Kiểu dữ liệu Mô tả
iFolioID Int(4)
vFullName Nvarhcar(50)
vGender Varchar(6) Male, Female
bIsChild Bool Default la nguoi lon,
check IsChild la tre con
vTitle Varchar(5) Mr, Mrs….
bVIP Bool
dBirthday Datetime(8)
vIDCard Char(12) Chứng minh nhân dân
nAddress Nvarchar(100)
vPhone varvhar(20)
vMobile varchar(20)
vEmail Nvarchar(50)
vFax Varchar(20)
vWebsite Varhcar(50)
iCompany Navrchar(100) FK_Company table
iCountryID Int(4) FK_ Country table
iNationalityID Int(4) FK_ Country table
iLanguageID Int(4) FK_ Language table
vPassport Varchar(20)
vVisa Varchar(20)
dVisa_Expire_date Datetime
vPostalcode Varchar(20)
iImage Image Hình của khách
vNote Nvarchar(200)
3.2.2.15 Thực thể Reservation
Bảng 3-15Quản lý thông tin đặt phòng của khách
Tên thuộc tính Kiểu dữ liệu Mô tả
iReservationCode int
dReservationDate Datetime Ngày đặt phòng
iFolioID Int(4) FK_Folio ,Folio
khách đặt
iCompanyID Int(4) FK_Company ,
công ty đặt
dCheckIn Datetime Ngày vào ở
dCheckOut Datetime Ngày đi
fRoomPrice Double
iBookStatusID Int(4) FK Room_Status
table; seri_booking,
allotment, wating, out of
order, definite, ..
iAdult_Number Int(4) Số người lớn
trong phòng
iChild_Number Int(4) Số trẻ con trong
phòng
iExtraBed_Adult_Number Int(4) Số giường người
lớn kê thêm
iExtraBed_Child_Number Int(4) Số giường trẻ con
kê thêm
iPaymentTypeID Int(4)
vCreditcardNo Char(20) Mã thẻ tín dụng
iCreditCardType Int(4) Loại thẻ sử dụng
dCreditcard_Expire_date Datetime Ngày hết hạn của
thẻ
iBookType int Loại book
1: khách lẻ
3 : package
vRateCode Varchar(10) Là khóa ngoại
FK của bảng giá
Rate_Code hoặc
Package_Rate tùy theo
loại book khách lẻ,
hoặc gói.
iIsOveridePrice bit Giá tiền nhập
khác nếu không chọn
Rate_Code
fDeposite Float Tiền đặt cọc
fCreditCard Limit Float Số nợ giới han
cua khach
bConfidential bit Bảo mật thông
tin khách
bNoPrintRate bit Không in giá
bFreeOfCharge bit Miễn phí hoàn
toàn
bHoldTranfer Bool Cho phép
checkout khi thiếu 1 số
tiền nhỏ cho phép
iMarketSegmentID Int(4) FK
Market_Segment table
iMarketChannelID Int(4) FK
Market_Channel table
iTravelAgentID Int(4) FK Travel_Agent
table
dArrDate Datetime
dDptDate Datetime
nArrFlt Nvarchar(50)
nArrCarrier Nvarchar(100)
nDptFlt Nvarchar(50)
nDptCarrier Nvarchar(100)
vUserUpdate Varchar(50)
nNote Nvarchar(200)
3.2.2.16 Thực thể Service Type
Bảng 3-16 Dùng để quản lý các loại dịch vụ
Tên thuộc tính Kiểu dữ liệu Mô tả
vServiceTypeID varchar(10) Mã loại dịch vụ (PK)
nServiceTypeName nvarchar(30) Tên loại dịch vụ
nDescription nvarchar(150) Mô tả về loại dịch vụ
3.2.2.17 Thực thể Bill Type
Bảng 3-17 Dùng để quản lý các loại Bill, được sử dụng trong mục đích tách Bill
Tên thuộc tính Kiểu dữ liệu Mô tả
iBillTypeID Int Mã loại Bill (do
chương trình quản lý) -
PK
nBillTypeName nvarchar(30) Tên loại Bill
nDescription nvarchar(150) Mô tả về loại Bill
3.2.2.18 Thực thể Bill
Bảng 3-18 Dùng quản lý Bill sử dụng dịch vụ của khách theo từng ngày và từng loại
dịch vụ
Tên thuộc tính Kiểu dữ liệu Mô tả
iBillID Int Mã Bill (do
chương trình quản lý) –
PK
iReservationCode Int Thuộc tính quan hệ
với thực thể Reservation
(1:N). Thông tin về đặt
phòng
vRoomCode varchar(10) Thuộc tính quan hệ
với thực thể Room (1:N).
Thông tin về phòng
iBillTypeID Int Thuộc tính quan hệ
với thực thể Bill Type
(1:N)
vServiceTypeID varchar(10) Thuộc tính quan hệ
với thực thể Service Type
(1:N)
fDebit Float Tiền sử dụng dịch
vụ tương ứng với mỗi Bill
fCredit Float Tiền thanh toán của
khách quy ra USD
fPayment Float Số tiền thanh toán
của khách
fExchangeRate Float Tỉ giá quy đổi
VND tương ứng với từng
loại tiền tệ khi khách
thanh toán
dDate Datetime Ngày phát sinh Bill
iOriginalBillType Int Thuộc tính này chỉ
Bill gốc khi sử dụng chức
năng tách Bill
vOriginalRoom varchar(10) Lưu số phòng khi
sử dụng chức năng chuyển
các Bill sang phòng
Master
bIsHoldTransfer bit Dùng để phân biệt
Bill có được Hold
Transfer hay không
bFreeOfCharge Bit Dùng để nhận biết
Bill là Free Of Charge hay
không
nDescription nvarchar(150) Mô tả Bill
3.2.2.19 Thực thể Exchange Rate
Bảng 3-19 Quản lý các tỷ giá quy đổi, trong đó tỷ giá chuẩn là USD, được sử dụng
khi khách hàng thanh toán Bill
Tên thuộc tính Kiểu dữ liệu Mô tả
iRateID Int Mã tỷ giá (do
chương trình quản lý) -
PK
nRateName varchar(20) Tên tỉ giá
fExchangeToUSD Float Tỉ giá quy đổi so
với tỷ giá chuẩn (USD)
fExchangeToVND Float Tỉ giá quy đổi so
với việt nam đồng (VND)
nDescription nvarchar(150) Mô tả về tỷ giá
3.2.2.20 Thực thể Service Item
Bảng 3-20 Quản lý các Item trong từng loại dịch vụ
Tên thuộc tính Kiểu dữ liệu Mô tả
iItemID Int Mã dịch vụ (do
chương trình quản lý) -
PK
vServiceTypeID varchar(10) Thuộc tính quan hệ
với thực thể Service Type
(1:N)
nItemName nvarchar(30) Tên dịch vụ
fItemPrice Float Giá của dịch vụ
fTax Float Thuế dịch vụ
dUpdatePrice DateTime Ngày cập nhật giá
lần cuối
nDescription nvarchar(150) Mô tả về dịch vụ
3.2.2.21 Thực thể Item Bill Details
Bảng 3-21 Quản lý chi tiết sử dụng dịch vụ của từng Bill
Tên thuộc tính Kiểu dữ liệu Mô tả
iItemBillID Int Mã ID (do chương
trình quản lý) - PK
iItemID Int Thuộc tính quan hệ
với thực thể Service Item
(1:N)
iBillID Int Thuộc tính quan hệ
với thực thể Bill (1:N)
dUseDate DateTime Ngày sử dụng dịch
vụ
fPrice Float Giá của dịch vụ
iQuantity Int Số lượng sử dụng
fAmount Float Tổng giá trị (số
lượng x đơn giá)
3.2.2.22 Thực thể Package Rate
Bảng 3-22 Quản lý các gói thuê dài hạn của khách
Tên thuộc tính Kiểu dữ liệu Mô tả
iPackageID Int Mã gói dịch vụ (do
chương trình quản lý) -
PK
vRateCode Varchar(10) Thuộc tính quan hệ
với thực thể Rate Code
(1:N)
nPackageName Nvarchar(50) Tên gói dịch vụ
dFromDate DateTime Ngày bắt dầu ở
trong hợp đồng
dToDate DateTime Ngày kết thúc ở
trong hợp đồng
dCreateDate DateTime Ngày tạo hợp đồng
fMinimumStay Float
nUserCreate nvarchar(50) Người tạo hợp
đồng
nAttachFile_Name Nvarchar(50) Ten file attach
iAttachFile_Content Image Đính kèm File hợp
đồng
nDescription Nvarchar(150) Mô tả về gói
3.2.2.23 Thực thể Package Details
Bảng 3-23 Quản lý chi tiết các dịch vụ trong mỗi gói
Tên thuộc tính Kiểu dữ liệu Mô tả
iPackageDetailID Int Mã ID (do chương
trình quản lý) - PK
iPackageID Int Thuộc tính quan hệ
với thực thể Package Rate
vServiceType Varchar(10) Thuộc tính quan hệ
với thực thể Service Type
(1:N)
nSupplyBy Nvarchar(50) Dịch vụ được cung
cấp bởi ai
nIncomeFrom Nvarchar(50) Được thu từ ai
fPrice Float Giá của từng dịch
vụ có trong gói
nRemark Nvarchar(150) Ghi chú
3.2.2.24 Thực thể Rate Code
Bảng 3-24Quản lý giá phòng tương ứng với khách lẻ, khách thuê dài hạn
Tên thuộc tính Kiểu dữ liệu Mô tả
vRateCode Varchar(10) Mã giá - PK
iRoomKind int
dCreateDate DateTime Ngày tạo Rate
Code
nUserCreate nvarchar(50) Người tạo Rate
Code
nDescription Nvarchar(150) Mô tả về giá
3.2.2.25 Thực thể Rate Details
Bảng 3-25 Quản lý chi tiết của từng Rate Code tương ứng với từng loại phòng
Tên thuộc tính Kiểu dữ liệu Mô tả
iRateDetailID Int Mã ID (do chương
trình quản lý) - PK
vRateCode Varchar(10) Thuộc tính quan hệ
với thực thể Rate Code
(1:N)
iRoomType Int Loại phòng, thuộc
tính quan hệ với thực thể
Room Type
iRoomRank Int Hạng phòng, thuộc
tính quan hệ với thực thể
Room Rank
fPrice Float Giá tương ứng với
từng loại phòng, hạng
phòng
nDescription Nvarchar(150)
3.2.2.26 Thực thể Room
Bảng 3-26 Quản lý tất cả các phòng
Tên thuộc tính Kiểu dữ liệu Mô tả
vRoomCode Varchar(10) Mã phòng - PK
nRoomName nvarchar(30) Tên phòng
iRoomType Int Loại phòng, thuộc
tính quan hệ với thực thể
Room Type
iRoomRank Int Hạng phòng, thuộc
tính quan hệ với thực thể
Room Rank
iRoomKind Int Thuộc tính quan hệ
với thực thể Room Kind
(Thuộc kiểu Apartment
hay office…)
iFloor Int Tầng nào, thuộc
tính quan hệ với thực thể
Floor
iViewID Int Thuộc tính quan hệ
với thực thể View (1:N)
vColer Varchar(30) Mô tả màu phòng
iRoomStatus Int Trạng thái phòng
(OOS, Dirty, Clean…).
Thuộc tính quan hệ với
thực thể Room Status
nDescription Nvarchar(200) Mô tả về phòng
3.2.2.27 Thực thể Room Transaction
Bảng 3-27 Quản lý khách ở phòng nào, được sử dụng cho Room Plan. Ngoài ra còn
dùng để Post giá phòng.
Tên thuộc tính Kiểu dữ liệu Mô tả
iRoomTrans Int Mã ID (do chương
trình quản lý) – PK
vRoomCode Varchar(10) Thuộc tính quan hệ
với thực thể Room (1:N)
iReservationCode Int Thuộc tính quan hệ
với thực thể
Reservation(1:N)
iFolioID int Thuộc tính quan hệ
với thực thể Folio
bIsMasterRoom Bit Nhận biết là phòng
Master trong trương hợp
khách đoàn
bIsMasterFolio bit Nhận biết khách
c
Các file đính kèm theo tài liệu này:
Xây dựng phần mềm quản lý văn phòng cao ốc cho thuê (BMS).pdf