Báo cáo Phân tích thiết kế hệ thống thông tin cho khách sạn

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

 

 

doc61 trang | Chia sẻ: maiphuongdc | Lượt xem: 1876 | Lượt tải: 3download
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:

  • doc12109.doc