MỤC LỤC
LỜI CẢM ƠN 1
Phần I: 2
GIỚI THIỆU SƠ BỘ 2
LÝ DO CHỌN ĐỀ TÀI 3
GIỚI THIỆU ĐỀ TÀI 5
Phần II: 6
Phân tích thiết kế hệ thống thông tin cho khách sạn 6
I. CƠ SỞ LÝ THUYẾT 7
I.1 Hệ thống thông tin quản lý (Management Information System – MIS) 7
I.1.1 Phương pháp phân tích hệ thống có cấu trúc 7
I.1.2 Ký pháp 8
I.2 Khái niệm về cơ sở dữ liệu 13
I.2.1 Khái niệm 13
I.2.2 Cơ sở lý thuyết mô hình dữ liệu quan hệ 14
1) Khái niệm và định nghĩa 14
2) Các dạng chuẩn hoá quan hệ 15
I.2.3 Ngôn ngữ con dữ liệu 17
I.2.4 Ngôn ngữ SQL ( Structured Query Langguage) 18
1) Khái niệm: 18
2) Phép tìm kiếm 18
3. Các phép tính cập nhật 22
4. Các hàm thư viện 25
II. PHÂN TÍCH THIẾT KẾ HỆ THỐNG CHO KHÁCH SẠN 25
II.1 Phân tích hệ thống 25
II.1.1 Sơ đồ dòng dữ liệu đầy đủ 25
II.1.1.1 Sơ đồ ngữ cảnh (CONTEXT DIAGRAM) 25
II.1.1.2 Sơ đồ phân cấp chức năng (BPC) 27
II.1.2 Mô hình dữ liệu (Data Diagrammer) 33
II.1.2.1 Mô hình thực thể 33
II.1.2.2 Các thành phần trong mô hình thực thể (Entity Diagrammer Elements) 34
II.1.2.3 Mô hình dữ liệu ban đầu (Data Diagrammer) 37
II.1.2.3 Mô hình dữ liệu ban đầu (Data Diagrammer) 38
II.1.3 Quá trình phân tích hệ thống 39
II.1.3.1 Từ điển dữ liệu 39
II.1.3.2 Sơ đồ phân rã chức năng 42
II.2 Thiết kế giải pháp tổng thể 50
II.2.1 Yêu cầu phần cứng 50
II.2.2 Thiết kế cơ sở dữ liệu 50
II.2.2.1 Mô hình quan hệ 50
II.2.2.2 Cấu trúc bảng 53
II.3. Hướng phat triển tương lai 57
KẾT LUẬN 58
TÀI LIỆU THAM KHẢO 59
61 trang |
Chia sẻ: maiphuongdc | Lượt xem: 1876 | Lượt tải: 3
Bạn đang xem trước 20 trang tài liệu Báo cáo Phân tích thiết kế hệ thống thông tin cho khách sạn, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
ễn cụ thể của E, ta có thể định nghĩa được:
* X là tối thiểu các biểu hiện tương ứng với E mà R phải có trong thực tế. Giá trị của X như vậy chỉ có thể bằng 0 hoặc bằng 1.
* Y là tối đa các biểu hiện tương ứng với E mà R có thể có trong thực tế. Giá trị của Y có thể bằng 1 hay một số nguyên N lớn hơn 1.
Cặp số (X,Y) được định nghĩa là bản số (cardinality) của đoạn thẳng (E,R) và có thể lấy giá trị sau: (0,1), (1,1), (0,n) hay (1,n) với n > 1.
Trong trường hợp đặc biệt giữa hai môi quan hệ thực thể A và B được liên kết bởi một quan hệ nhị nguyên R, ta có thể phân thành ba loại quan hệ căn bản như sau:
- Quan hệ 1-1 (một – một): Mỗi biểu hiện của thực thể A được kết hợp với 0 hay một biểu hiện của B và ngược lại.
- Quan hệ 1-n (một – nhiều): Mỗi biểu hiện của thực thể A được kết hợp 0,1, hay nhiều biểu hiện của B và mỗi biểu hiện của B được kết hợp với duy nhất của A, đây là quan hệ thông dụng và đơn giản, dễ hiểu nhất.
- Quan hệ n -n (nhiều – nhiều): Mỗi biểu hiện của thực thể A được kết hợp 0, 1 hay nhiều biểu hiện của B và ngược lại.
c) Phụ thuộc hàm
Giả sử X và Y là hai thuộc tính hay nhóm thuộc tính. Ta nói rằng X -> Y (đọc là X xác định hàm Y hoặc Y phụ thuộc vào X) nếu với mỗi giá trị của X tương ứng với một giá trị duy nhất của Y. Hay nói cách khác, nếu hiện hữu một hàm số (ánh xạ) từ tập hợp những giá trị của X đến tập hợp những giá trị của Y. Đôi khi người ta còn gọi X là gốc và Y là ngọn của hàm phụ thuộc.
Mọi thuộc tính của một thực thể đều phụ thuộc hàm vào khoá chính của nó.
Khi X là một thuộc tính hay nhóm thuộc tính của thực thể A và X là khoá chính của một thực thể B ? A, ta gọi X là một khoá ngoại của thực thể A.
2) Các dạng chuẩn hoá quan hệ
Quan hệ được chuẩn hoá là quan hệ trong đó mỗi miền của một thuộc tính chỉ chứa những giá trị nguyên tố, tức là không phân nhỏ được nữa và do đó mỗi giá trị trong quan hệ cũng là nguyên tố. Một quan hệ được chuẩn hoá có thể thành một hoặc nhiều quan hệ chuẩn hoá khác mà không làm mất mát thông tin.
- Dạng 1NF ( First Normal Form): Một lược đồ quan hệ R được gọi là dạng chuẩn 1 (1NF) nếu và chỉ nếu toàn bộ các miền có mặt trong R đều chỉ chứa các giá trị nguyên tố.
- Dạng 2NF (Second Normal Form): Một lược đồ quan hệ R ở dạng chuẩn thứ hai (2NF) nếu nó ở dạng chuẩn thứ nhất và nếu mỗi thuộc tính không khoá của R là phụ thuộc hàm đầy đủ vào khoá chính.
- Dạng 3NF (Third Normal Form): Cho một lược đồ quan hệ R (U), X là một tập con các thuộc tính, A là một thuộc tính độc lập thuộc U, A được gọi là phụ thuộc bắc cầu vào X trên R nếu tồn tại một tập con của R sao cho X -> Y, Y -> A nhưng Y không -> X (và không xác định hàm) với A không thuộc XY.
Với định nghĩa trên, ta nói rằng một lược đồ quan hệ R ở dạng chuẩn 3 (3NF) nếu nó ở dạng chuẩn thứ hai và nếu mỗi thuộc tính không khoá của R là không phụ thuộc bắc cầu vào khoá chính.
- Dạng chuẩn BOYE – CODD (BCNF): Lược đồ quan hệ R với tập các phụ thuộc hàm được gọi là dạng chuẩn Boye – Codd, nếu X -> A thoả trên R, A không thuộc X thì X là một khoá của R
Vậy nếu một lược đồ quan hệ R với tập phụ thuộc hàm F là ở BCNF thì nó ở 3NF.
Kết luận: Các dạng chuẩn được đề ra với mục đích để đảm bảo tính nhất quán và tránh việc trùng lặp thông tin.
I.2.3 Ngôn ngữ con dữ liệu
Ngôn ngữ con dữ liệu là tập các toán tử và hàm có khả năng thao tác lưu trữ, cập nhật, tìm kiếm thông tin trên các cơ sở dữ liệu. Đặc điểm cơ bản của cấu trúc CSDL quan hệ là mối liên kết giữa các bộ được biểu hiện duy nhất bởi các giá trị dữ liệu trong các miền thuộc tính, rút ra từ một miền chung. Như vậy sự biểu diễn dữ liệu một cách thống nhất dẫn đến sự thống nhất tương ứng trong các tập toán tử.
Thông tin được biểu diễn bằng một và chỉ một nên chỉ cần một toán tử cho mỗi chức năng cơ bản mà ta muốn thể hiện. Kết quả của mọi phép tìm kiếm đều là một quan hệ. Phép tính quan hệ chỉ là cú pháp diễn đạt định nghĩa một quan hệ mới (là kết quả của câu hỏi) từ một nhóm quan hệ nào đó. Nói cách khác đó là phương pháp xác định một quan hệ suy ra từ một nhóm các quan hệ cho trước.
Ngôn ngữ con dữ liệu bậc thấp là ngôn ngữ xử lý từng bộ, ngôn ngữ bậc cao là những ngôn ngữ xử lý ở mức tập hợp. Dù là ngôn ngữ bậc thấp hay bậc cao đều có những đặc điểm sau:
- Tính đơn giản: Ngôn ngữ con dữ liệu gần gũi với ngôn ngữ lập trình thủ tục hoặc gần gũi với ngôn ngữ tự nhiên.
- Tính đầy đủ: Đối với các lớp rộng lớn các câu hỏi, người sử dụng không bao giờ phải sử dụng chu trình hay phân nhánh để tìm kiếm dữ liệu.
- Tính không thủ tục: Miêu tả đơn giản ý định của người sử dụng. Làm đơn giản tất cả các khía cạnh cài đặt, tối ưu hoá tìm kiếm, kiểm soát quyền truy nhập, tính toàn vẹn của dữ liệu.
- Dễ dàng mở rộng: Không hạn chế khi mở rộng các hàm thư viện.
- Làm cơ sở cho các ngôn ngữ bậc cao hơn.
Có bốn lớp ngôn ngữ con dữ liệu:
* Ngôn ngữ dựa trên cơ sở các phép toán quan hệ
* Ngôn ngữ dựa trên cơ sở đại số quan hệ
* Ngôn ngữ ánh xạ
* Ngôn ngữ đồ thị
I.2.4 Ngôn ngữ SQL ( Structured Query Langguage)
1) Khái niệm:
Phép toán cơ bản trong SQL là phép ánh xạ, khối chuẩn gồm ba lệnh:
* SELECT X1, …, Xn
* FROM R
* [WHERE F]
trong đó: Xi là thuộc tính của quan hệ R
F là biểu thưc logic trên các Xi
Trường hợp:
SELECT*
FROM R
là lấy toàn bộ thuộc tính của R
2) Phép tìm kiếm
a. Phép kiếm đơn giản:
SELECT UNIQUE
FROM
Phép tìm kiếm tạo ra một quan hệ con có bậc là 1, bằng cách thực hiện phép chiếu trên thuộc tính. Nếu loại bỏ các thuộc tính trùng lặp ta dùng từ khoá UNIQUE
Ví dụ: Liệt kê danh mục các cơ quan, xí nghiệp trên địa bàn Hà Nội được cung cấp các dịch vụ viễn thông trong quan hệ hợp đồng cung cấp R
SELECT UNIQUE thuê bao
FROM R
b. Tìm kiếm theo điều kiện
SELECT
FROM
WHERE
ORDER BY
Tạo một quan hệ bao gồm các thuộc tính thoả mãn điều kiện tân từ xác định điều kiện, sắp xếp thứ tự .
Ví dụ: Tìm tất cả các thuê bao có cước phí dịch vụ viễn thông lớn hơn 1.000.000đ/tháng, sắp xếp thuê bao theo thứ tự A, B, C
SELECT thuê bao, địa chỉ, loại dịch vụ, cước phí
FROM thuê bao dịch vụ
WHERE cước phí > 1.000.000
ORDER BY thuê bao ASC
Tổng quát như sau:
Tên thuộc tính ASC /DESC trong đó ASC là tăng dần, DESC là giảm dần
c. Tìm kiếm sử dụng ánh xạ lồng
c.1: SELECT
FROM
WHERE IS IN (IS NOT IN)
(SELECT
FROM
WHERE )
Ví dụ: Tìm tất cả các thuê bao có dịch vụ nhắn tin và báo thức.
SELECT thuê bao, địa chỉ, các loại dịch vụ
FROM thuê bao dịch vụ
WHERE thuê bao IS IN
(SELECT thuê bao
FROM thuê bao – dịch vụ
WHERE dịch vụ = “nhắn tin” AND dịch vụ = “báo thức”
c.2: SELECT UNIQUE
FROM
WHERE IN
(SELECT
WHERE )
Ví dụ: Cho biết những độc giả nào có đặt mua ít nhất một loại báo hay tạp chí với số tiền > 1.000.000đ/năm.
SELECT tên độc giả, địa chỉ, loại báo, tiền
FROM danh sách độc giả
WHERE tên báo IN
(SELECT tên báo
FROM độc giả - tên báo
WHERE tiền >= 1.000.000)
d. Tìm kiếm có chứa hằng và một bộ liệt kê
d.1 Có chứa hằng:
SELECT UNIQUE
FROM
GROUP BY
HAVING SET CONTAINS
Ví dụ: Cho biết những cửa hàng nào bán xi măng và sắt
SELECT UNIQUE tên cửa hàng, địa chỉ
FROM cửa hàng – mặt hàng
GROUP BY tên cửa hàng
HAVING SET mặt hàng CONTAINS “xi măng, sắt”
d.2 Bộ liệt kê
SELECT
FROM
WHERE IN
(SELECT
FROM
WHERE )
Ví dụ: Tìm tất cả các tuyến cáp có cùng số lượng, chiều dài cùng loại cáp như tuyến cáp A
SELECT tên tuyến cáp
FROM tuyến cáp
WHERE “số lượng, chiều dài, loại cáp” IN
(SELECT số lượng, chiều dài, loại cáp
FROM tuyến cáp
WHERE tên tuyến cáp = “A”)
Chỉ dẫn: GROUP BY chia nhóm sao cho bên trong mỗi nhóm có các dòng đều cùng chứa một giá một giá trị như trong thuộc tính chỉ ra.
HAVING: Mệnh đề đặc biệt cho tập SET, thao tác:
Từng nhóm SET sẽ so sánh với tập trong dấu ngoặc.
3. Các phép tính cập nhật
a. Phép sửa đổi (UPDATE):
Mệnh đề sửa đổi các giá trị của các bản ghi trong bảng của cơ sở dữ liệu theo một điều kiện nào đó có dạng tổng quát là:
UPDATE
SET
WHERE
Ví dụ: Thay đổi giá báo nhân dân từ 500đ thành 600đ trong quan hệ R (danh mục báo).
UPDATE R
SET giá báo = 600
WHERE tên báo = “nhân dân”
b. Sửa đổi một nhóm bản ghi trong nhiều quan hệ
UPDATE
SET
WHERE
(UPDATE
SET
WHERE )
Ví dụ: Sửa đổi giá báo “Nhân dân” thành 600đ trong quan hệ R (danh mục báo) và điều chỉnh “thành tiền” của “ Công ty Phương Đông” trong quan hệ S (danh mục độc giả đặt báo):
UPDATE R
SET giá báo = 600
WHERE tên báo = “Nhân dân”
(UPDATE S
SET thành tiền = 600 x số lượng
WHERE độc giả = “Công ty Phương Đông”)
c. Phép bổ sung (INSERT)
INSERT INTO
INSERT INTO
(SELECT
FROM
WHERE ).
Ví dụ: Sao chép tất cả thông tin về hợp đồng lắp đặt thuê bao quá thời gian 15 ngày chưa được hoàn thành trong quan hệ R và quan hệ S dùng để in ra bản báo cáo có cùng cấu trúc:
INSERT INTO S
(SELECT *
FROM R
WHERE thời gian >= 15 AND chưa hoàn thành)
d. Phép loại bỏ (DELETE)
DELETE
FROM
WHERE
Ví dụ: Loại bỏ hãng S1 khỏi bảng S
DELETE tên bảng
FROM S
WHERE S# = “S1”
4. Các hàm thư viện
Danh sách các hàm thư viện là: COUNT (đếm), SUM (tính tổng), AVG (số trung bình), MAX, MIN, SE.
II. PHÂN TÍCH THIẾT KẾ HỆ THỐNG CHO KHÁCH SẠN
II.1 Phân tích hệ thống
II.1.1 Sơ đồ dòng dữ liệu đầy đủ
II.1.1.1 Sơ đồ ngữ cảnh (CONTEXT DIAGRAM)
Sơ đồ ngữ cảnh cung cấp cho ta một cái nhìn logic về toàn bộ hệ thống, bao gồm những luồng dữ liệu chính vào /ra khỏi hệ thống:
. Vẽ khung của process (tiến trình) ở giữa trang.
Bên trong là tên của hệ thống: Thường tìm tên lấy từ chữ cái đầu của hệ thống sao cho phát âm được.
Ví dụ: Chương trình “Quản lý sinh viên”:
STUDENT TIMETABLE ADMINISTRATION RECORD SYSTEMS
STARS
. Xác định các Terminatorr như: con người, tổ chức, công việc mà cung cấp hay nhận thông tin.
. Luồng dữ liệu: Luồng vào /ra chính của hệ thống.
Điểm tuyển sinh đã xếp loại
0
Manager Enrolment System (MES)
Häc sinh
Giấy báo thi
Giấy báo KQ
Ban tuyển sinh
Phòng ĐT
Danh sách học sinh trúng tuyển
Điểm
Học sinh
Bản đăng ký dự thi
Phòng Đt
Ban tuyển sinh
Điểm tiêu chuẩn đạt
Trong hệ thống quản lý khách sạn, toàn bộ hệ thống bao gồm một khung của process và có hai terminators “KHáCH” và “ Ban Quản Lý” vừa cung cấp và nhận thông tin từ hệ thống. Sơ đồ ngữ cảnh được trình bày ở trang bên
* Nhận xét chung: Ta thấy rằng về tổng quan, hệ thống bao gồm hai terminal là KháCh và Ban quản lý tác động trực tiếp đến đến hệ thống thông qua các yêu cầu hay các đáp ứng yêu cầu. Khác với “KháCh” thì terminator “Ban Quản Lý” có thêm các tác động (yêu cầu) một chiều đến hệ thống, đó là các yêu cầu về xem thông tin về phòng, tiện nghi, trang bị, thông tin dịch vụ.
* Giải thích chi tiết:
“KháCh”: Vì mục đích chính của bất kỳ khách sạn nào cũng nhằm thoả mãn đến mức tối đa các nhu cầu của khách hàng nhằm thu được lợi nhuận càng cao càng tốt. Do vậy, trên sơ đồ ngữ cảnh về phía nửa trái (phần khách hàng tác động lên hệ thống) thường có một “mũi tên đi” tương ứng với “một mũi tên về”. Tức là hệ thống luôn luôn phải trả được các yêu cầu mà khách hàng đưa ra, điều đó nhằm mục đích cung cấp thông tin cho khách hàng về tính hình cho thuê khách sạn. Khách hàng thường xuyên quan tâm đến những vấn đề như sau:
* Yêu cầu đăng ký phòng
* Yêu cầu nhận phòng
* Yêu cầu thuê phòng
* Yêu cầu trả phòng
* Yêu cầu dịch vụ
Tương ứng với từng yêu cầu này hệ thống sẽ phải thực hiện công việc phản hồi lại những thông tin mà được khách hàng yêu cầu.
“Ban Quản Lý”: Về phía ban quản lý yêu cầu từ hệ thống những thông tin hàng ngày về tính hình thuê và cho thuê của khách sạn, bao gồm các thông tin sau:
* Yêu cầu xem đăng ký thuê
* Thông tin phòng
* Thông tin tiện nghi
* Thông tin trang bị
* Thông tin dịch vụ
* Yêu cầu về tài sản
Trong các thông tin trên, ban quản lý sẽ cung cấp các thông tin về phòng, tiện nghi, trang bị, dịch vụ và hệ thống phải trả lời cho họ thông tin về tình hình đăng ký thuê và tình hình tài sản.
II.1.1.2 Sơ đồ phân cấp chức năng (BPC)
Sơ đồ phân cấp chức năng bao là công cụ khởi đầu để mô tả hệ thống qua chức năng do công ty IBM phát triển. Vì vậy, cho đến nay nó vẫn còn được sử dụng. Nó cho phép phân rã dần dần các chức năng mức cao thành chức năng chi tiết nhỏ hơn, và kết quả cuối cùng ta thu được một cây chức năng. Cây chức năng này xác định một cách rõ ràng, dễ hiểu cái gì xảy ra trong hệ thống.
Thành phần của biểu đồ bao gồm:
Các chức năng: Được ký hiệu bằng hình chữ nhật có gắn tên nhãn
Tên
Kết nối: Kết nối giữa các chức năng có tính chất phân cấp được ký hiệu bằng đoạn thẳng.
Ví dụ: Chức năng A phân rã thành các chức năng B, C, D
A
C
D
B
0
HOTEL
MANAGEMENT
SYSTEM-HOMAS
Ban
qu¶n
lý
(mana
gement departement
Kh¸ch hµng (guests)
Yêu cầu đăng ký phòng
Trả lời yêu cầu đăng ký phòng
Yêu cầu nhận phòng
Trả lời yêu cầu nhận phòng
Yêu cầu thuê phòng
Trả lời yêu cầu thuê phòng
Yêu cầu trả phòng
Hóa đơn tính tiền
Yêu cầu dịch vụ
Tr¶ lêi yªu cÇu dÞch vô
Yêu cầu đăng ký thuê
Trả lời xem đăng ký thuê
Thông tin phòng
Thông tin tiện nghi
Thông tin trang bị
Thông tin dịch vụ
Yêu cầu tài sản
Trả lời yêu cầu tài sản
S¬ ®å ng÷ c¶nh cña hÖ thèng homas
Đặc điểm của BPC:
Các chức năng được nhìn một cách khái quát nhất, trực quan dễ hiểu, thể hiện tính cấu trúc của phân rã chức năng (Functionally Decomposed)
Dễ thành lập vì tính đơn giản: Vì nó trình bày hệ thống phải làm gì hơn là hệ thống làm như thế nào.
Mang tính chất tĩnh: Vì bỏ qua các mối liên quan thông tin giữa các chức năng. Các chức năng không bị lặp lại và không dư thừa.
Rất gần gũi với sơ đồ tổ chức nhưng ta không đồng nhất nó với sơ đồ tổ chức: Phần lớn các tổ chức của doanh nghiệp nói chung thường gắn liền với chức năng.
Sơ đồ phân cấp chức năng đối với hệ thống HOMAS được chia làm ba mức:
Mức 0: Bao gồm các chức năng sau:
Đăng ký thuê nhận
Xem khách đăng ký thuê
Trả phòng
Mức 1: Bao gồm các chức năng sau:
Mức 1.1: Bao gồm:
Đăng ký phòng
Nhập khách
Tìm trang bị
Nhận phòng
Thuê phòng
S¬ ®å ph©n cÊp chøc n¨ng
HOMAS
Xem khách đăng ký thuê
Đăng ký thuê nhận
Trả phòng
Đăng ký phòng
Nhập khách
Tìm trang bị
Nhận phòng
Thuê phòng
Kiểm tra đăng ký trùng đăng ký
Đổi phòng đăng ký
Kiểm tra đăng ký trùng thuê
Trả lời đăng ký
Tìm thuê
Tìm đăng ký
Tìm sử dụng
Trả lời xem
Tính tiền dịch vụ
Tính tiền phòng
Lập hóa đơn
Kiểm tra đăng ký trùng đăng ký
Đổi phòng đăng ký
Kiểm tra đăng ký trùng thuê
Trả lời đăng ký
Kiểm tra thuê trùng thuê
Kiểm tra thuê trùng đăng ký
Trả lời thuê
Mức 1.2: Bao gồm:
1.2.1 Tìm thuê
1.2.2 Tìm đăng ký
1.2.3 Tìm sử dụng
1.2.4 Trả lời xem
Mức 1.3: Bao gồm:
1.3.1 Tính tiền dịch vụ
1.3.2 Tính tiền phòng
1.3.3 Lập hoá đơn
Mức 2: Bao gồmn các chức năng sau:
Mức 1.1.1 Bao gồm
Kiểm tra đăng ký trùng đăng ký
Đổi phòng đăng ký
Kiểm tra đăng ký trùng thuê
Trả lời đăng ký
Mức 1.1.4: Bao gồm:
1.1.4.1 Tìm phòng đã đăng ký
1.1.4.2 Kiểm tra đăng ký phòng nhận
1.1.4.3 Đổi phòng đã đăng ký
1.1.4.4 Trả lời phòng nhận
Mức 1.1.5: Bao gồm:
Kiểm tra thuê trùng thuê
Kiểm tra thuê trùng đăng ký
Trả lời thuê
II.1.2 Mô hình dữ liệu (Data Diagrammer)
Phân tích dữ liệu logic nói chung được định nghĩa là một cách tiếp cận bao gồm việc xét dữ liệu được sử dụng trong công tác theo quan điểm trừu tượng thuần tuý không tính đến chức năng kinh doanh thực tại dùng tới nó, nơi nó được sử dụng hoặc khuôn dạng vật lý, tệp hoặc tài liệu chứa nó.
Tóm lại, đây là phương pháp thâu tóm cấu trúc tự nhiên của thông tin có sẵn với tính mở về tiềm năng đầy đủ của nó. Phân tích dữ liệu là một phương pháp xác định các đơn vị (các thực thể) thông tin có ích cho hệ thống, và xác định rõ mối quan hệ hoặc các tham trỏ chéo với nhau giữa chúng. điều này có ý nghĩa rằng đảm bảo mọi phần tử dữ liệu sẽ chỉ lưu một lần trong toàn hệ thống của tổ chức và có thể truy nhập được từ bất kỳ chương trình nào.
II.1.2.1 Mô hình thực thể
Phân tích dữ liệu logic hay có thể nói một cách khác là phân tích dữ liệu lý tưởng. Việc phân tích dữ liệu có nghĩa là lấy một quan điểm lý tưởng về dữ liệu, tìm cách tốt nhất để lưu trữ chúng. Mô hình chuyển tải thông tin trong tổ chức quản lý khách sạn được mô tả một cách lý tưởng như sau
Phòng
Giám đốc
Phòng
Kế toán
D÷ liÖu
(Database)
Phòng Dịch vụ
PhòngThiết bị
Đơn vị nhà bếp
Phòng Quản lý kỹ thuật
Mô hình lý tưởng về chuyển tải thông tin
Ta thấy mô hình này chưa mô tả được cấu trúc và tổ chức dữ liệu cần lưu, ta sẽ xét các chi tiết hơn ở phần tiếp theo sau đây
II.1.2.2 Các thành phần trong mô hình thực thể (Entity Diagrammer Elements)
Mô hình kiểu thực thể hay còn gọi là mô hình dữ liệu logic hoặc sơ đồ tiêu chuẩn, nó được xây dựng cách dùng các kiểu thực thể. thuộc tính và quan hệ theo ký hiệu sau đây.
: Kiểu thực thể
# : Nhận biết duy nhất (Unique Indentifier)
* : Thành phần bắt buộc (Mandotory)
o : Thành phần chọn lựa
Ví dụ dưới đây sẽ mô tả chi tiết hơn các thành phần trong mô hình quan hệ thực thể:
Khối đơn vị
Unique Identifier
Entity
Đơn vị
# Mã đơn vị
* Tên đơn vị
O Địa chỉ
Atributes
Relationship (Quan hệ)
Các thành phần chính trong mô hình thực thể
Việc tổ chức dữ liệu như mô hình lý tưởng hệ thống là điều cần phải làm, nhưng để mô tả cho vùng dữ liệu chung này chúng ta phải xây dựng một mô hình quan hệ thực thể. Trong đó các thực thể được tập hợp lại thành nhóm theo khảo sát ban đầu như sau:
Trước khi đến khách sạn, thông thường việc đầu tiên cần làm đối với khách hàng là phải đăng ký phòng trong một khoảng thời gian nào đó (tuy nhiên ta vẫn có những khách hàng không cần đặt trước phòng). Và việc khách hàng đăng ký trước sẽ được quản lý thông qua thời gian đăng ký của khách hàng đó. Việc sử dụng phòng thuê của khách hàng được quản lý bằng thời gian thuê của người đó. Trong quá trình ở tại khách sạn, khách hàng có nhu cầu sử dụng các loại hình dịch vụ mà khách sạn đó cung cấp, khách hàng có thể sử dụng một hay nhiều loại hình dịch vụ khác nhau và tương ứng với mỗi loại hình đó sẽ được khách hàng sử dụng trong một thời gian nhất định gọi là thời gian sử dụng. Mặt khác, trong mỗi phòng của khách sạn đều được trang bị những thiết bị sinh hoạt nhất định được gọi là tiện nghi và với từng loại phòng (loại 1, loại 2,…) mà có những tiện nghi khác nhau, các phòng cùng loại sẽ có số tiện nghi và loại tiện nghi như nhau. Tuy nhiên việc quản lý loại phòng ta thực hiện thông qua tiện nghi trong phòng đó.
Dựa vào phân tích trên ta có danh sách các thực thể như sau:
Tiện nghi
Khách
Phòng
Thời gian đăng ký
Thời gian thuê
Dịch vụ
Thời gian sử dụng dịch vụ
Bây giờ ta sẽ đi phân tích về mối quan hệ giữa các thực thể này:
Với mỗi phòng trong khách sạn có nhiều loại tiện nghi khác nhau và tương ứng với mỗi loại tiện nghi được trang bị cho nhiều phòng khác nhau. Tức là tồn tại mối quan hệ nhiều nhiều giữa hai thực thể này.
Tương tự như vậy, với một thời gian xác định nào đó, ta có thể có nhiều phòng được đăng ký thuê, nhưng ngược lại với mỗi phòng lại có thể được đăng ký nhiều lần ở từng thời điểm khác nhau. Do vậy cũng tồn tại quan hệ nhiều nhiều giữa các thực thể này.
Với thực thể “thời gian thuê” và “phòng”, “thời gian thuê” và “khách”, “phòng” và “khách”, “khách” và “dịch vụ”, “khách” và “thời gian sử dụng”, “dịch vụ” và “thời gian sử dụng” cũng tồn tại mối quan hệ nhiều nhiều.
Riêng hai thực thể “khách” và “thời gian đăng ký” thì tồn tại mối quan hệ một nhiều. Rõ ràng chúng ta thấy rằng, với mỗi khách hàng có thể thực hiện việc đăng ký tại nhiều thời điểm khác nhau nhưng tại một thời điểm đăng ký không thể tồn tại hơn một khách hàng cùng thực hiện việc đăng ký, điều này để tránh trường hợp có thể có nhiều káhch hàng cùng thuê một phòng tại cùng một thời gian.
Rõ ràng với những thực thể như trên thì việc phân tích như vậy đảm bảo rằng khách sạn sẽ tránh được tình trạng có thể có nhiều khách hàng thuê trùng phòng tại cùng thời điểm và việc quản lý đến từng khách hàng trong từng phòng là đảm bảo đầy đủ thông tin. Tuy nhiên do đây chỉ là một mô hình chung nhất cho hầu hết các khách sạn nên trong với từng khách sạn cụ thể chúng ta có thể có một danh sách các thực thể khác và do đó sẽ có một mô hình thực thể liên kết khác phù hợp.
Dưới đây chúng ta có mô hình thực thể liên kết tương ứng với cách phân tích ở trên hay một mô hình cho một khách sạn chung nhất như sau:
Mô hình thực thể liên kết
TiÖn nghi
Thêi gian thuª
Thêi gian ®¨ng ký
phßng
Kh¸ch
Thêi gian sö dông
dÞch vô
II.1.2.3 Mô hình dữ liệu ban đầu (Data Diagrammer)
dÞch vô
#Msdichvu
*Tendichvu
TiÖn nghi
#Mstiennghi
*Loaitiennghi
Sö dông
#Mskhach
#Msdichvu
#Ngaysudung
*Tiendichvu
Trang bÞ
#Mstiennghi
#Msphong
*Soluong
Kh¸ch
#Mskhach
*So®inhdanh
*Ho
*Ten
o Diachi
*Trongnuoc
phßng
#Msphong
*Loaiphong
*Giatrongnuoc
*Giangoainuoc
Thuª
#Mskhach
#Msphong
#Ngayden
#Gioden
*Ngaydi
*Giodi
®¨ng ký
#Mskhach
#Msphong
#Ngaydkden
#Giodkden
*Ngaydkdi
*Giodkdi
1
n
1
n
n
1
n
1
n
n
n
n
Mô hình dữ liệu đầy đủ
Từ mô hình thực thể liên kết ta xây dựng được một mô hình dữ liệu ban đầu như sau:
II.1.3 Quá trình phân tích hệ thống
II.1.3.1 Từ điển dữ liệu
Quy ước các ký hiệu
Ký hiệu
Nghĩa quy ước
=
Gồm có, cùng cấu trúc
+
Và
|
Hoặc
( )
Tuỳ chọn
{ }
Lập
[ ]
Chọn một trong nhiều
* *
Diễn giải, giải thích
Hoá đơn tính tiền = thông tin phòng + ngày đến + giờ đến + ngày đi + giờ đi + tiền phòng + {thông tin khách } + {thông tin dịch vụ + ngày sử dụng + thời gian sử dụng + tiền dịch vụ }.
Kết quả xem dịch vụ sử dụng = mskhách + thông tin dịch vụ + ngày sử dụng + thời gian sử dụng + tiền dịch vụ
Kết quả xem thuê = thông tin khách + msphòng + ngàyđkđến + giờđkđến + ngàyđkđi + giờđkđi
Kết quả đăng ký trùng đăng ký = msphòng + ngàyđkđến + giờđkđến + ngàyđkđi + giờđkđi + mskhách
Kết quả đăng ký trùng thuê = msphòng + (ngàyđến + giờđến + ngàyđi + giờđi) +mskhách + ngàyđkđến + giờđkđến + ngàyđkđi + giờđkđi.
Kết quả đổi phòng đăng ký = msphòng + ngàyđkđến + giờđkđến + ngàyđkđi + giờđkđi + mskhách + (ngàyđến + giờđến + ngàyđi + giờđi).
Kết quả thuê trùng thuê = msphòng + ngàyđến + giờđến + ngàyđi + giờđi + mskhách
Kết quả thuê trùng đăng ký = msphòng + mskhách + (ngàyđkđến + giờđkđến + ngàyđkđi + giờđkđi) + ngàyđến + giờđến + ngàyđi + giờđi.
Kết quả tìm phòng đã đăng ký = msphòng + (ngàyđkđến + giờđkđến + ngàyđkđi + giờđkđi).
Kết quả kiểm đăng ký phòng nhận = msphòng + (ngàyđkđến + giờđkđến + ngàyđkđi + giờđkđi) + mskhách + ngàyđến + giờđến + ngàyđi + giờđi
Phòng nhận đăng ký đổi = {msphòng} + ngàyđkđến + giờđkđến + ngàyđkđi + giờđkđi + mskhách
Phòng nhận đổi = msphòng + ngàyđkđến + giờđkđến + ngàyđkđi + giờđkđi + mskhách + (ngàyđến + giờđến + ngàyđi + giờđi)
Phòng trang bị tiện nghi = thông tin phòng + { thông tin tiện nghi + số lượng }
Trả lời yêu cầu đăng ký phòng = thông tin phòng + {thông tin tiện nghi + số lượng } + thông tin khách + ngàyđkđến + giờđkđến + ngàyđkđi + giờđkđi
Thông tin khách = mskhách + (số định danh) + họ + tên + (địa chỉ) + phái + trong nước.
Trả lời yêu cầu nhận phòng = thông tin phòng + { thông tin tiện nghi + số lượng } + ngàyđkđến + giờđkđến + ngàyđkđi + giờđkđi + {thông tin khách } + ngàyđến + giờđến + ngàyđi + giờđi.
Thông tin phòng = msphòng + loạiphòng + giá trong nước + giá ngoài nước.
Trả lời yêu cầu thuê phòng = thông tin phòng + { thông tin tiện nghi + số lượng } + ngàyđến + giờđến + ngàyđi + giờđi + {thông tin khách }.
Trả lời yêu cầu xem đăng ký thuê = thông tin khách + msphòng + ngàyđến + giờđến + ngàyđi + giờđi + ngàyđkđến + giờđkđến + ngàyđkđi + giờđkđi + thông tin dịch vụ + ngày sử dụng + thời gian sử sụng + tiền dịch vụ.
Thông tin tiện nghi = mstnghi + loạitnghi.
Thông tin trang bị = msphòng + mstnghi + số lượng
Trả lời yêu cầu xem trang bị tiện nghi = thông tin phòng + thông tin tiện nghi + thông tin trang bị
Trả lời yêu cầu xem thông tin dịch vụ = thông tin dịch vụ + thông tin khách + thông tin sử dụng
Tiền thuê phòng = msphòng + ngàyđến + giờđến + ngàyđi + giờđi + tiền phòng.
Tiền sử dụng dịch vụ = thông tin khách + {thông tin dịch vụ + ngày sử dụng + thời gian sử dụng + tiền dịch vụ }
Thông tin nhận phòng = msphòng + ngàyđến + giờđến + ngàyđi + giờđi + {thông tin khách }.
Yêu cầu đăng ký phòng = {msphòng} + ngàyđkđến + giờđkđến + ngàyđkđi + giờđkđi + thông tin khách
Yêu cầu nhận phòng = {msphòng} + ngàyđkđến + giờđkđến + ngàyđkđi + giờđkđi + ngàyđến + giờđến + ngàyđi + giờđi + thông tin khách
Yêu cầu thuê phòng = msphòng + ngàyđến + giờđến + ngàyđi + giờđi + thông tin khách
Yêu cầu trả phòng = msphòng + ngàyđến + giờđến + ngàyđi + giờđi + thông tin khách
Yêu cầu dịch vụ = {thông tin dịch vụ + ngày sử dụng + thời gian sử dụng + tiền dịch vụ } + thông tin khách
Yêu cầu xem đăng ký thuê = msphòng + mskhách + (họ + tên) + từ ngày + đến ngày.
Yêu cầu xem trang bị tiện nghi = mstnghi | msphòng
Yêu cầu xem thông tin dịch vụ = msdịchvụ | mskhách
Yêu cầu xem dịch vụ sử dụng = mskhách + ngàyđến + giờđến + ngàyđi + giờđi + thông tin khách
II.1.3.2 Sơ đồ phân rã chức năng
S¬ ®å dßng d÷ liÖu møc 0
Kh¸ch
1
®¨ng ký
Thuª nhËn
2
Xem kh¸ch
Yêu cầu đăng ký phòng
Trả lời yêu cầu đăng ký phòng
Yêu cầu nhận phòng
Trả lời yêu cầu nhận phòng
Yêu cầu thuê phòng
Trả lời yêu
Các file đính kèm theo tài liệu này:
- 12109.doc