Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 170 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
170
Dung lượng
1,32 MB
Nội dung
ĐẠI HỌC ĐÀ NẴNG TRƯỜNG ĐẠI HỌC BÁCH KHOA KHOA CÔNG NGHỆ THÔNG TIN GIÁO TRÌNH PHÂN TÍCH VÀ THIẾT KẾ HỆ THỐNG PGS.TS PHAN HUY KHÁNH $ $ $ $ $ $ $ $ $ $ $ ĐÀ NẴNG 8/2007 Mở đầu Trong lĩnh vực ứng dụng công nghệ thông tin, trước không lâu, máy tính điện tử (MTĐT) đóng vai trò người làm công (taskmaster) nay, MTĐT trở thành công cụ (tool) cần thiết cho hầu hết lĩnh vực hoạt động quốc gia Trong tương lai không xa thiên niên kỷ này, MTĐT trở thành người bạn đồng hành (companion) thiếu người liên lạc, giao tiếp việc làm hàng ngày Ở Việt Nam, MTĐT, chủ yếu máy vi tính (PC − Personal Computer) xuất ngày nhiều xí nghiệp, doanh nghiệp, quan hành xã hội , ngày thâm nhập vào hầu khắp mặt hoạt động kinh tế quốc dân Tuy nhiên, MTĐT phục vụ công việc văn phòng soạn thảo văn mà chưa thực đóng vai trò chủ đạo giúp người lĩnh vực quản lý, tự động hoá để tăng suất lao động Một nguyên nhân Việt Nam thiếu nhiều nhà phân tích (analyste) Đó chuyên gia tin học phân tích (tìm hiểu, khảo sát ) hoạt động xí nghiệp, doanh nghiệp, tổ chức hành xã hội để thiết kế hệ thống Tin học phục vụ công tác quản lý lĩnh vực Môn học «Các phương pháp phân tích thiết kế hệ thống thông tin » (Information Systems Analysis and Design Methods), hay gọn hơn, « Phân tích thiết kế hệ thống », đóng vai trò quan trọng trình đào tạo cán phân tích nói Mục lục Mở đầu CHƯƠNG KHÁI NIỆM VỀ HỆ THỐNG THÔNG TIN QUẢN LÝ I I.1 I.2 I.3 I.3.2 I.3.3 I.3.4 I.4 I.5 I.5.1 I.5.2 II II.1 II.1.1 II.1.2 II.2 II.3 III III.1 III.2 III.2.1 III.2.2 III.2.3 III.2.4 III.3 III.4 III.5 CHƯƠNG I I.1 I.2 I.3 II II.1 II.2 II.3 II.3.1 II.3.2 II.3.3 III KHÁI NIệM Về Hệ THốNG Định nghĩa hệ thống Tính chất hệ thống Các thành phần hệ thống Hành vi hệ thống Mục tiêu hệ thống Cấu trúc hệ thống Phân loại hệ thống Nghiên cứu lý thuyết hệ thống Lý thuyết tổng quát hệ thống Quan điểm nghiên cứu hệ thống XÍ NGHIệP VÀ VAI TRÒ CủA XÍ NGHIệP TRONG NềN KINH Tế Xí nghiệp tổ chức bên Liên hệ xí nghiệp với môi trường Phân tích liên hệ với môi trường Hệ thốnglà tổ chức xí nghiệp 10 Ba hệ thống tổ chức xí nghiệp 11 Hệ THốNG THÔNG TIN QUảN LÝ (HTTTQL) 13 Khái niệm HTTTQL .13 Cấu trúc HTTTQL 13 Các phân hệ .13 Dữ liệu 15 Mô hình quản lý 16 Quy tắc quản lý 17 Vai trò chất lượng HTTTQL 17 HTTTQL - công cụ điều phối kiểm soát hệ thống .19 Phân loại hệ thống thông tin 21 CÁC PHƯƠNG PHÁP PHÂN TÍCH VÀ THIẾT KẾ HỆ THỐNG 24 THế NÀO LÀ PHÂN TÍCH Hệ THốNG ? 24 Khái niệm 24 Bản chất yêu cầu phân tích hệ thống 25 Đánh giá phương pháp 26 MộT Số PHƯƠNG PHÁP PTTKHT “Cổ ĐIểN” 27 Phương pháp SADT .28 Phương pháp MERISE 30 PTTKHT theo quan điểm ba trục toạ độ .32 Mô hình phân tích thiết kế HTTT 32 Các giai đoạn phân tích thiết kế hệ thống .34 Tiếp cận ba mức 37 PHƯƠNG PHÁP PHÂN TÍCH THIếT Kế HƯớNG ĐốI TƯợNG, UML 39 CHƯƠNG I I.1 I.2 I.3 I.4 I.5 II II.1 II.2 II.2.1 II.2.2 II.2.3 II.3 II.3.1 II.3.2 II.3.3 II.3.4 II.3.5 III III.1 III.2 III.3 CHƯƠNG I I.1 I.1.1 I.1.2 I.1.3 I.1.4 I.1.5 I.2 I.3 II II.1 II.2 II.2.1 II.2.2 II.2.3 II.2.4 II.3 II.4 II.4.1 II.4.2 II.4.3 II.4.4 III III.1.1 PHÂN TÍCH HIỆN TRẠNG 42 PHƯƠNG PHÁP PHỏNG VấN (INTERVIEW) 42 Nguyên lý phương pháp 42 Phân tích trạng 43 Phỏng vấn lãnh đạo 44 Phỏng vấn vị trí làm việc 44 Củng cố vấn 46 TổNG HợP CÁC KếT QUả PHÂN TÍCH HIệN TRạNG 48 Xác định phân hệ 48 Phân tích liệu 50 Khái niệm liệu sơ cấp 50 Thanh lọc liệu 51 Xây dựng từ điển liệu 51 Sơ đồ dòng liệu 54 Khái niệm 54 Phân biệt DFD với sơ đồ khối 55 Ví dụ : 55 Xây dựng sơ đồ dòng liệu 56 Trình soạn thảo PPP DFD editor 58 VÍ Dụ : XÍ NGHIệP ĐÓNG HộP DANAFOOD 60 Mô tả hoạt động xí nghiệp DanaFood 60 Giao tiếp sở liệu với người sử dụng 61 Phân tích dòng thông tin 62 PHÂN TÍCH Ý NIỆM DỮ LIỆU VÀ CÁC PHƯƠNG PHÁP MÔ HÌNH HOÁ 69 MÔ HÌNH THựC THể - KếT HợP 70 Khái niệm mô hình thực thể - kết hợp 70 Khái niệm thực thể 70 Khái niệm kết hợp 72 16 khả kiểu kết hợp nhị phân 75 Các kiểu kết hợp 77 Các thành phần từ điển liệu 79 Mô hình thực thể - kết hợp mở rộng 79 Chuyển đổi mô hình thực thể kết hợp 81 MÔ HÌNH QUAN Hệ 83 Các định nghĩa 83 Phụ thuộc hàm 86 Khái niệm 86 Các tính chất phụ thuộc hàm 87 Các loại hình phụ thuộc hàm 88 Đồ thị phụ thuộc hàm 88 Các dạng chuẩn lược đồ quan hệ 90 Ví dụ khu du lịch Non Nước 91 Giới thiệu sở liệu 91 Quan sát liệu 93 Mô hình quan hệ tương ứng 95 Mô hình thực thể − kết hợp 96 CÁC CÔNG Cụ BIểU DIễN PTH CHO MÔ HÌNH E−A 98 Ma trận phụ thuộc hàm 98 III.1.2 III.2 III.2.1 III.2.2 III.2.3 III.2.4 III.3 III.4 III.4.1 III.4.2 III.4.3 III.4.4 CHƯƠNG I Đồ thị PTH 100 Ví dụ ứng dụng phụ thuộc hàm 101 Ma trận PTH .101 Ma trận rút gọn PTH 104 Các PTH không sơ cấp 105 Kết luận 106 Đồ thị PTH biểu diễn CSDL nhà máy đóng hộp DanaFood 107 Chuyển đổi mô hình liệu đồ thị PTH 107 PTH có nguồn liệu sơ cấp .107 PTH sơ cấp khoá liệu sơ cấp 107 PTH sơ cấp khoá 108 PTH không sơ cấp 108 MÔ HÌNH HÓA DỮ LIỆU BẰNG PHƯƠNG PHÁP LÙI 111 II.1 II.1.1 II.1.2 II.1.3 II.1.4 II.1.5 II.2 II.2.1 II.2.2 II.2.3 II.3 II.4 II.5 II.5.1 II.5.2 II.5.3 CÁC CấU TRÚC KIểU .111 Cấu trúc kiểu PHIẾU 111 Cấu trúc kiểu CHA-CON 112 Cấu trúc kiểu BẢNG 113 Cấu trúc kiểu HOẠCHĐỊNH 115 Cấu trúc kiểu CÓ-KHÔNG 116 Cấu trúc kiểu PHẢNXẠ 117 Cấu trúc kiểu BÌNHĐẲNG 117 Cấu trúc kiểu THỪA KẾ 118 Cấu trúc kiểu KẾTTỤ .119 ƯNG DụNG PHƯƠNG PHÁP Từ TRÊN XUốNG 121 Giới thiệu công ty xây dựng nhà BKCO 121 Các quy tắc quản lý 121 Hồ sơ 121 Nghiên cứu cấu trúc kiểu 123 Xem xét quy tắc quản lý .125 Hỗn hợp cấu trúc kiểu 127 Hợp thức hoá mô hình ý niệm liệu 134 Từ điển liệu 134 Ma trận rút gọn PTH 135 Quy tắc hợp thức hoá mô hình ý niệm liệu 136 Ràng buộc toàn vẹn 136 Ví dụ : Bài toán quản lý du lịch 138 Các ràng buộc toàn vẹn liệu 141 Các ràng buộc tĩnh quan hệ 141 Các ràng buộc nhiều quan hệ 142 Các ràng buộc toàn vẹn động 142 CHƯƠNG XÂY DỰNG MÔ HÌNH LOGIC DỮ LIỆU 146 I.1 I.2 I.3 I.4 I.5 I.6 I.7 I.8 I.9 II I I.1 I.2 I.3 I.4 I.5 I.6 CHọN PHầN MềM 146 Chuyển đổi cấu trúc liệu 147 Khối lượng liệu xử lý 147 Mức độ tính toán 148 Chuyển đổi quy tắc quản lý 148 Tính độc lập ứng dụng 149 Các kiểu ngôn ngữ khác 149 I.7 II III III.1 III.1.1 III.1.2 III.2 Kết luận 150 CHUYểN ĐổI MÔ HÌNH E−A Về MÔ HÌNH QUAN Hệ 151 Sử DụNG CÁC NGÔN NGữ LậP TRÌNH 154 Chuyển đối MHYNDL thành mô hình logic liệu 154 Các tệp liệu FoxPro 154 Chuyển đổi MHYNDL → MHLGDL 155 Hợp thức hóa mô hình liệu xử lý 158 CHƯƠNG Khái niệm hệ thống thông tin quản lý I Khái niệm hệ thống I.1 Định nghĩa hệ thống Thuật ngữ hệ thống (system) khái niệm rộng định nghĩa nhiều cách khác Trong sống hàng ngày, người tiếp xúc với tượng, kiện, hoạt động , tất nhắc tới, liên quan tới thuật ngữ hệ thống Ví dụ : Hệ thống nước sinh hoạt thành phố, hệ thống điện lưới, hệ thống dịch vụ mua bán hàng, hệ thống điện thoại, hệ thống nhà Hệ thống xã hội, hệ thống tổ chức, hệ thống tư tưởng, hệ thống trị, hệ thống kinh tế, hệ thống xí nghiệp, hệ thống đường sắt Hệ thống thiên nhiên, hệ thống thần kinh, hệ thống triết học, hệ thống máy tính, hệ thống thông tin Có nhiều định nghĩa hệ thống : Từ điển Tiếng Việt 1997 định nghĩa hệ thống : Tập hợp nhiều yếu tố, đơn vị loại chức năng, có quan hệ liên hệ với chặt chẽ, làm thành thể thống Tập hợp tư tưởng, nguyên tắc, quy tắc liên kết với cách logic, làm thành thể thống Từ điển Larousse 1995 định nghĩa hệ thống : Tập hợp có thứ tự tư tưởng khoa học hay triết học Tập hợp quan hay cấu tạo có chất chức Tập hợp thành phần xác định quan hệ qua lại chúng V.v Tuy nhiên, định nghĩa hệ thống tập hợp phần tử tác động qua lại lẫn phổ biến Hệ thống bao hàm ý nghĩa kế hoạch, phương pháp, tổ chức đối tượng cách có trật tự để tạo thành chỉnh thể Với hệ thống, tính chất vượt trội lên tất gọi “tính trồi” (emergence) mà phần tử đứng riêng có Tính trồi hình thức biểu nguyên lý biện chứng : “những thay đổi lượng dẫn đến thay đổi chất” Như đối nghịch với hệ thống hỗn loạn (chaos), trạng thái mà phần tử không tuân theo quy luật Một cách tổng quát : Hệ thống tập hợp phần tử hay đối tượng (M) thực hay nhiều quan hệ (R) cho trước với tính chất (P) định Từ định nghĩa sau, phân loại hệ thống theo nhiều cách khác theo tính chất P, quan hệ R đối tượng M I.2 Tính chất hệ thống Một hệ thống thường có ba tính chất : Tính chất : Mối quan hệ phần tử có tính tác động qua lại ảnh hưởng với Tính chất : Mọi thay đổi lượng hay vế chất phần tử làm ảnh hưởng tới phần tử khác hệ thống Ngược lại, thay đổi lượng hay vế chất hệ thống làm ảnh hưởng đến phần tử hệ thống Tính chất : Khi xếp phần tử hệ thống theo cách đó, hệ thống có tính trồi, khả mà phần tử đứng riêng tạo I.3 Các thành phần hệ thống Một hệ thống biểu diễn nhiều thành phần, gồm : Các phần tử Môi trường hệ thống Các đầu vào đầu Trạng thái hành vi Cấu trúc Mục tiêu Hình mô tả thành phần hệ thống Môi trường Trạng thái, hành vi Cấu trúc hệ thống Quá trình biến đổi Đầu vào Đầu Mục tiêu Phần tử Hình 1.1 Các thành phần hệ thống a) Phần tử hệ thống Phần tử thành phần nhỏ nhất, có tính độc lập tương đối Mỗi phần tử có thuộc tính riêng biểu diễn biến số (hay đại lượng biến thiên) Để hiểu hệ thống cần phải biết trạng thái phần tử mối liên hệ chúng b) Môi trường hệ thống Môi trường hệ thống nằm hệ thống liên quan đến việc thực mục tiêu hệ thống Giữa hệ thống môi trường có tác động tương hỗ ranh giới Nghiên cứu hệ thống kèm theo việc nghiên cứu môi trường Những yếu tố bất lợi môi trường làm ảnh hưởng đến việc thực mục tiêu hệ thống gọi nhiễu c) Đầu vào đầu hệ thống Đầu vào gi mà môi trường tác động vào hệ thống Đầu gi mà hệ thống tác động trở lại môi trường Để làm tăng hiệu hoạt động hệ thống, cần thoả mãn ba yếu tố : Chọn đầu vào đầu hợp lý điều kiện cụ thể Thời gian biến đổi đầu vào thành đầu hợp lý Hình thức hay phương pháp biến đổi hợp lý d) Trạng thái hệ thống Giả sử phần tử hệ thống biểu diễn biến q 1, q 2, , qn, hệ thống biểu diễn vectơ Q : Q = (q1, q 2, , q n) Các biến q i, i = n, thay đổi theo thới gian : q i = qi (t) Khi trạng thái hệ thống biểu diễn giá trị Q giá trị biến thời điểm t : Q(t) = (q1(t), q 2(t), , q n(t)) Tại thời điểm t = trạng thái ban đầu hệ thống Khi t biến thiên, vectơ hàm Q(t) xác định quỹ đạo hành vi hệ thống Nếu tồn số biến không thay đổi, hay thay đổi không đáng kể khoảng thới gian xét, biến gọi tham số hệ thống ký hiệu vectơ : a = (a 1, a 2, , a k) Khi đó, quỹ đạo hành vi hệ thống Q vectơ hàm hai biến Q = Q(a, t) I.3.2.Hành vi hệ thống Hành vi hệ thống tập hợp đầu hệ thống khoảng thới gian xác định Khi hệ thống đóng, có nghĩa hệ thống tách biệt với môi trường bên ngoài, phần tử không biến đổi theo thới gian, hành vi hệ thống xác định trạng thái ban đầu Hành vi hệ thống thay đổi phần tử mối liên hệ chúng thay đổi, vectơ hàm Q(t) xác định sau : Q(t) = f(Q(0), a, t) Bây xét tác động qua lại hệ thống môi trường, gọi X(t) biến đầu vào theo thới gian, hành vi hệ thống mô tả hệ thức : Q(t) = y(Q(0), X(t), a) Trạng thái đầu mô tả hệ thức : Y(t) = F(Q(0), X(t), a) Trong X = (X1, X2, , Xn) biến đầu vào, Y = (Y1, Y2, , Ym) biến đầu I.3.3.Mục tiêu hệ thống Là trạng thái mong đợi, cần đạt hệ thống sau khoảng thới gian thời điểm mhất định Bên hệ thống, phần tử có mục tiêu riêng Những mục tiêu riêng thống không thống với mục tiêu chung hệ thống I.3.4.Cấu trúc hệ thống Cấu trúc yếu tố bất biến hệ thống, liên quan đến hình thức tổ chức hệ thống Đó cách đặt bố trí hay ghép phần tử cách xác định mối quan hệ chúng theo dấu hiệu hay tiêu chuẩn Có nhiều cách tổ chức hệ thống khác Về bản, có cách ghép ghép nối tiếp, ghép song song ghép có mối liên hệ ngược a) Ghép nối tiếp Ghép nối tiếp đầu vào phần tử đầu phần tử ngược lại 2 Hình 1.2 Ghép nối tiếp phần tử Phương pháp ghép nối tiếp đơn giản, rõ ràng độ tin cậy Khi số lượng phần tử tăng lên độ tin cậy giảm xuống Hệ thống làm việc tốt tất phần tử đềulàm việc tốt b) Ghép song song Là cách ghép mà đầu vào phần hay toàn phần tử chung biến số vào mà đầu chúng lại đầu vào phần hay nhiều phần tử khác hệ thống Phần thao tác, xử lý chương trình Người thiết kế phải lường trước khả cần thiết lập trình để đảm bảo tính chặt chẽ, đắn hợp lý sử dụng Đây hệ thống nặng nề, chắn phiền phức cần sửa đổi (vai trò DML) Việc truy tìm liệu đảm bảo chương trình (vai trò DIL) HQLT cho phép phân loại NSD theo quyền hạn trách nhiệm họ nhờ mật mã (keyword) Hệ thống nặng nề, đảm bảo mức độ an toàn (vai trò DCL) c) Hệ quản lý sở liệu Các DDL, DML, DIL DCL có mặt HQLCSDL, đơn giản dễ sử dụng Ví dụ, ngôn ngữ SQL, hay QBE (Query By Exemple), cài vào Paradox, Oracle, FoxPro , cho phép định nghĩa, thao tác, truy vấn điều khiển khai thác liệu tương tác I.7 Kết luận Ba kiểu công cụ phần mềm vừa kể đặc tính, khả mục đích Sau bảng đánh giá tổng hợp (DL “dữ liệu” viết tắt): Bảng tính 1.Cấu trúc liệu Chỉ thích hợp với cấu trúc đơn giản (có vấn đề ràng buộc toàn vẹn) HQLT Xử lý CTDL Thích hợp với cấu phức tạp thao tác trúc phức tạp ràng nặng nề buộc toàn vẹn 2.Khối lượng liệuxử lý Không nhiều Khối lượng DL lớn 3.Mức độ tính toán Thích hợp với tính toán lặp, chuyên nghiệp Chức ngôn ngữ lập trình 4.Chuyển đổi Phù hợp với QTQL Phù hợp với quy tắc quản lý tương đối đơn giản QTQL phức tạp NSD phải có bảng tính Hoàn toàn độc lập biết cách sử dụng Nhiều khả 6.Kiểu ngôn ngữ Hạn chế hệ thống nặng nề 5.Tính độc lập ứng dụng HQLCSDL Không hạn chế khối lượng DL hạn chế thời gian trả lời Khả hạn chế, trừ trường hợp có GA kèm GA kèm QLCSDL xử lý QTQL phức tạp Độc lập có cá Run- Time Nhiều khả mềm dẻo 150 II Chuyển đổi mô hình E− −A mô hình quan hệ Dưới trình bày chín qui tắc chuyển đổi sơ đồ E-A thành lược đồ quan hệ Trước chuyển đổi, sơ đồ E-A phải thiết kế đầy đủ, không dư thừa kết hợp, kiểu đặc tính khóa số hữu hạn Sơ đồ E-A chứa kết hợp nhị nguyên mà hai số cực đại phải Người ta nói sơ đồ E-A chuẩn hóa Từ nói sơ đồ E-A chuẩn hóa, xây dựng lược đồ quan hệ cách đặt tương ứng kiểu thực thể thành sơ đồ quan hệ Thực tiễn cho thấy người phân tích thiết kế hệ thống có kinh nghiệm có khả xây dựng mô hình ý niệm liệu để chuyển thành sở liệu dạng NF a) Qui tắc Kiểm tra kiểu đặc tính có kiểu đơn Thay kiểu đặc tính đa trị thành kiểu thực thể kiểu kết hợp Khi ca đưa vào kiểu đặc tính khóa cho kiểu thực thể xác định lại số kết hợp Trong kiểu thực thể NHÂNVIÊN, đặc tính TuổiConNV danh sách tuổi của nhân viên Thay đặc tính kiểu thực thể CONNV CONNV có đặc tính TuổiConNV NVConThứ (con thứ mấy) Khóa CONNV NVConThứ xác định từ MãNV NHÂNVIÊN NVConThứ nhân viên NHÂNVIÊN MãNV TuổiConNV (a) NHÂNVIÊN 0−n CóCon MãNV 1−1 CONNV NVConThứ TuổiConNV (b) b) Qui tắc Kiểm tra kiểu đặc tính sơ cấp Thay kiểu đặc tính tổ hợp (aggregate) đặc tính thành phần tổ hợp thành kiểu đặc tính Ví dụ kiểu đặc tính Địa thường thay danh sách kiểu thuộc tính Phố (xã), Quận (huyện), ThànhPhố (tỉnh), QuốcGia c) Qui tắc Kiểm tra kiểu thực thể có kiểu đặc tính khóa đơn Đưa vào liệu đồng nghĩa (synonymous) cho khóa tổ hợp Ví dụ qui tắc 1, thay khóa tổ hợp mã NVConThứ thứ liệu đồng nghĩa MãConNV d) Qui tắc Thay tất kiểu kết hợp không nhị nguyên kiểu thực thể nhiều kiểu kết hợp Tạo khóa cho kiểu thực thể xác định lại số cho kiểu kết hợp 151 Ví dụ : BỆNHNHÂN MãBN TênBN 0−n BÁCSỸ MãBS TênBS 1−n Mổ ThờiGianMổ 1−n PHÒNGMỔ PhòngSố NGÀYMỔ NgàyGhiSổ 0−n Thay kiểu kết hợp Mổ kiểu thực thể MỔ kiểu kết hợp số tương ứng tạo thành sau : BỆNHNHÂN BÁCSỸ MãBN MãBS TênBS TênBN 0−n 1−n ThựcHiện BịMổ 1−1 1−1 MổTại 1−n MỔ MãCaMổ ThờiGianMổ 1−1 1−1 XảyRa 0−n PHÒNGMỔ NGÀYMỔ PhòngSố NgàyGhiSổ 152 e) Qui tắc Đưa kết hợp không phân cấp (n:m) kết hợp phân cấp (1:n) : Thay kiểu kết hợp có số (*−n) (*−n), nghĩa quan hệ n:m, kiểu thực thể hai kiểu kết hợp Tạo khóa cho kiểu thực thể xác định số hai kiểu kết hợp Một hai số cực đại phải 1, nghĩa kiểu kết hợp phải tương ứng với PTH khóa hai thực thể Trong ví dụ qui tắc 4, kết hợp TIẾN HÀNH phải thay kiểu thực thể hai kiểu kết hợp 1−2 MỔ 1−n BÁCSỸ ThựcHiện MãCaMổ ThờiGianMổ MãBS TênBS (a) 1−2 MỔ 1−1 THỰCHIỆN MãCaMổ ThờiGianMổ 1−1 1−n BÁCSỸ MãBS TênBS MãSốTH (b) f) Qui tắc Trong trường hợp hai kiểu thực thể có nhiều kiểu kết hợp, thêm vào kiểu thực thể tạo qui tắc 5, kiểu thuộc tính ghép khóa kiểu thực thể liên quan Ví dụ : ví dụ hình 52 chương 4, hai kiểu thực thể CÁNHÂN CĂNHỘ có kiểu kết hợp SỡHữu, Thuê ỞTại Riêng kiểu kết hợp ỞTại không phân cấp Áp dụng hai qui tắc để nhận sơ đồ sau : SỡHữu CÁNHÂN SốCMND HọTên 0−n 1−1 0−n 0−n Thuê 0−1 ỞTẠI 1−1 CưTrúSố SốCMND NghiệpChủSố 1−1 CĂNHỘ NghiệpChủSố ĐịaChỉ 0−n Trong mô hình liệu, chủ sở hữu người thuê nhà (CÁNHÂN) đồng nghĩa với số chứng minh nhân dân (SốCMND) g) Qui tắc Vẽ đồ thị phụ thuộc hàm nối khóa kiểu thực thể tìm kiếm PTH bắc cầu tồn đồ thị Loại bỏ bắc cầu thay đổi lại sơ đồ E-A cần h) Qui tắc 153 Tạo lược đồ quan hệ cho kiểu thực thể Khóa quan hệ khóa kiểu thực thể Các thuộc tính quan hệ tương ứng với kiểu đặc tính kiểu thực thể Như vậy, ví dụ cho qui tắc cho ta lược đồ quan hệ sau : CÁNHÂN (SốCMND, HọTên, ) CĂNHỘ (NghiệpChủSố, ĐịaChỉ, ) ỞTẠI (CưTrúSố, SốCMND, NghiệpChủSố, ) i) Qui tắc Loại bỏ khóa đơn đồng nghĩa tạo từ kiểu khóa tổ hợp kiểm tra quan hệ nhận dạng NF NF Sử dụng phương pháp phân chia cần cho quan hệ dạng chuẩn NF NF, sau sữa đổi lại mô hình E-A III.Sử dụng ngôn ngữ lập trình Các ngôn ngữ lập trình hay quản lý tệp công cụ phần mềm hệ ba Hê quản lý tệp đảm đương mối liên hệ tệp liệu cách tổ chức chúng thiết bị nhớ (mức vật lý) hệ điều hành sử dụng Các tệp liệu tạo NSD, chương trình hay HQLCSDL và/hoặc công cụ tạo sinh ứng dụng (mức logic), Ví dụ “Khu du lịch Non nước” xét chương trước phát triển HQLCSDL quan hệ Tuy nhiên, MHYNDL xây dựng trước không phức tạp, khối lượng liệu không lớn, chức cần xử lý không nhiều tương đối đơn giản, ta sử dụng hệ quản lý tệp Ta chọn FoxPro, phần mềm (phổ biến Việt nam) nằm ngôn ngữ hệ ba HQLCSDL quan hệ thuộc hệ Sử dụng FoxPro, ta thấy tính có mục hệ quản lý tệp này, tương tự DBase III.1.Chuyển đối MHYNDL thành mô hình logic liệu Trước chuyển đổi MHYNDL thành mô hình logic liệu (MHLGDL), ta cần tìm hiểu cách thể tệp liệu FoxPro III.1.1 Các tệp liệu FoxPro Mỗi tệp liệu (DBF − DataBase File) gồm hai yếu tố : thân DBF (hoặc nhiều) tệp mục (Index File) tương ứng Tệp mục không tất yếu, không bắt buộc phải có Nếu tệp mục không tạo thân DBF tổ chức theo kiểu Có hai kiểu mục thường sử dụng : Chỉ mục đơn hay chuẩn (standard index), tương tự khái niệm khoá : ứng với giá trị mục xác định giá trị liệu khác Chỉ mục kết hợp (compound index) ghép nhiều mục đơn (đính mục) Mỗi DBF gồm ghi (Record) Mỗi ghi gồm trường (Field) liệu sở, không chứa cấu trúc Các trường liệu tạo thành ghi thuộc tính thực thể, Mỗi thuộc tính đích PTH mà mục đơn (hay khóa thực thể) nguồn 154 Sau MHYNDL trước chuyển : CHỖ ChỗSố DiệnTích SốNgMax 1−1 1−n CIF KIỂU KiểuChỗ GiáNgàyNgười 0−n CIF 1−1 LƯUTRÚ LưuTrúSố TênKhách NgàyĐến NgàyĐi SốNgười 0−n Thuê SốĐơnVị 0−n THỂTHAO TênThểThao ĐơnVịTính GiáTiền 0−n NGÀY NgàyThuê III.1.2.Chuyển đổi MHYNDL → MHLGDL Để đơn giản hóa việc chuyển đổi, trước tiên ta chuyển MHYNDL cho thành mô hình nhị nguyên, mô hình gồm kết hợp phân cấp hai chiều a Chuyển đổi thành mô hình nhị nguyên Các kết hợp không phân cấp phải đơn giản hóa (hay cá thể hóa) Trong ví dụ MHYNDL đây, có kết hợp Thuê không phân cấp, phải đơn giản hóa MHYNDL sau chuyển đổi thành mô hình nhị nguyên : 155 CHỖ 1−1 ChỗSố DiệnTích SốNgMax CIF 1−n KIỂU KiểuChỗ GiáNgàyNgười 0−n CIF 1−1 LƯUTRÚ LưuTrúSố TênKhách NgàyĐến NgàyĐi SốNgười 0−n CIF 1−1 THUÊ LưuTrúSố + TênThểThao + NgàyThuê SốĐơnVị 1−1 1−n CIF THỂTHAO TênThểThao ĐơnVịTính GiáTiền 1−1 CIF 0−n NGÀY NgàyThuê Như vậy, kết hợp Thuê đơn giản hóa thay : Thực thể THUÊ có khóa khóa kết hợp Thuê, ghép khóa thực thể tham gia vào kết hợp Kết hợp Thuê ba chiều nên phải tạo ba CIF thực thể THUÊ thực thể LƯUTRÚ, THỂTHAO NGÀY 156 Ta nhận thấy mô hình lại CIF, mô hình nhị nguyên b Nguyên tắc chuyển đổi thực thể thành tệp Mỗi thực thể tạo thành hai tệp liệu DBF tệp mục Các thuộc tính thực thể tạo thành trường tin DBF Khóa có vai trò giá trị mục đơn tệp mục Tuy nhiên, mô hình logic tệp không đầy đủ mối liên hệ thực thể (CIF) không chuyển đổi c Nguyên tắc chuyển đổi mối liên hệ thực thể MHYNDL ĐƠNĐHÀNG SốĐĐH NgàyĐĐH 1−1 1−n CIF KHHÀNG KHSố HọTênKH Mô hình logic tệp Các tệp sở liệu (DBF) : ĐƠNĐHÀNG KHHÀNG SốĐĐH KHSố NgàyĐĐH KHSố HọTênKH Các tệp mục (IDX) : CMĐĐH SốĐĐH CMĐĐHKH mục đơn mục đơn CMKH KHSố mục kết hợp KHSố Mối liên hệ CIF hai thực thể chuyển đổi sau : tệp ĐƠNĐHÀNG thêm liệu KHSố khóa thực thể KHHÀNG Trong trường hợp xây dựng tệp mục kết hợp CMĐĐHKH KHSố khoá tệp mục này, từ : − Tìm lại thông tin khách hàng từ đơn đặt hàng, d − Tìm lại tất đơn đặt hàng khách hàng (từ khách hàng số) 157 e Chuyển đổi MHYNDL thành MHLGDL tệp Thực thể KIỂU DBF KIỂU Các trường : KiểuChỗ GiáNgàyNgười Tệp mục CMKIỂU Khoá mục đơn : KiểuChỗ Thực thể CHỖ DBF CHỖ Các trường : ChỗSố KiểuChỗ DiệnTích SốNgMax Tệp mục CMCHỖ Khoá mục đơn : ChỗSố CMCHỖKIỂU Khoá mục kết hợp : KiểuChỗ Thực thể THUÊ DBF THUÊ Các trường : LưuTrúSố TênThểThao NgàyThuê SốĐơnVị Tệp mục CMTHUÊ Khoá mục : LưuTrúSố TênThểThao ghép khoá NgàyThuê Khoá mục tệp THUÊ khoá LưuTrúSố, TênThểThao NgàyThuê ghép lại để từ xác định giá trị liệu SốĐơnVị Thực thể NGÀY Thực thể NGÀY không cần chuyển thành DBF có liệu NgàyThuê nên NgàyThuê đồng thời khoá mục III.2.Hợp thức hóa mô hình liệu xử lý Ta chứng tỏ tệp liệu vừa xây dựng thỏa mãn xử lý cho toán quản lý lưu trú ví dụ Khu du lịch Non Nước sau : − Đăng ký lưu trú khách đến − Đăng ký thuê bao thể thao − Lập hóa đơn toán khách Như vậy, mô hình thực thể - kết hợp chuyển thành MHLGDL tệp hợp thức hoá xử lý a Đăng ký lưu trú 158 Tệp liệu LƯUTRÚ.DBF thêm ghi : SELECT USE LƯUTRÚ INDEX CMLƯUTRÚ && Khoá LưuTrúSố APPEND BLANK SCATTER MEMVAR *INPUT m.LưuTrúSố,m.ChỗSố,m.TênKhách,m.NgàyĐến,m.NgàyĐi,m.SốNgười GATHER MEMVAR USE b Đăng ký thuê thể thao Tệp liệu THUÊ.DBF thêm ghi : SELECT USE THUÊ INDEX CMTHUÊ && Khoá LưuTrúSố+TênThểThao+NgàyThuê APPEND BLANK SCATTER MEMVAR *INPUT m.LưuTrúSố,m.TênThểThao,m.NgàyThuê,m.SốĐơnVị GATHER MEMVAR USE c Lập hóa đơn Đây thủ tục phức tạp cả, tệp liệu mục dùng đến : STORE TO m.LưuTrúSố, m.SốTiền INPUT “Cho biết Lưu Trú Số:” TO m.LưuTrúSố SELECT USE LƯUTRÚ INDEX CMLƯUTRÚ && Khoá LưuTrúSố SEEK m.LưuTrúSố IF FOUND() && Tìm thấy ghi có khoá m.LưuTrúSố *Nhận giá trị ChỗSố,TênKhách,NgàyĐến,NgàyĐi SốNgười SCATTER MEMVAR SELECT USE CHỖ INDEX CMCHỗ && Khoá ChỗSố SEEK m.ChỗSố IF FOUND() && Tìm thấy ghi có khoá m.LưuTrúSố SCATTER MEMVAR && Nhận giá trị m.KiểuChỗ SELECT USE KIểU INDEX CMKIỂU && Khoá KiểuChỗ SCATTER MEMVAR && Nhận giá trị m.GiáNgàyNgười SELECT USE THUÊ *Tạo tệp DBF trung gian khoá LưuTrúSố COPY TO THUÊTG.DBF FOR LưuTrúSố=m.LưuTrúSố *Mở tệp THỂTHAO để lấy GiáTiền tính toán SELECT USE THỂTHAO INDEX CMTHỂTHAO && Khoá TênThểThao SELECT USE THUÊTG *Tạo tệp mục trung gian khoá TênThểThao+NgàyThuê INDEX ON TênThểThao+NgàyThuê TO CMTHUÊTG SCAN 159 SELECT THỂTHAO SEEK THUÊTG.TênThểThao m.SốTiền=m.SốTiền+THỂTHAO.GiáTiền*THUÊTG.SốĐơnVị SELECT THUÊTG ENDSCAN *Tiếp tục tính số tiền lưu trú tổng số tiền phải trả *In hoá đơn toán ELSE ? “Không tìm thấy ghi có chỗ “+STR(m.ChỗSố,4) ENDIF ELSE ? “Không tìm thấy ghi có khoá “+STR(m.LưuTrúSố,4) ENDIF CLOSE DATABASES 160 Bài tập chương Làm lại tập chương với yêu cầu sau : Xây dựng mô hình thực thể − kết hợp Chuyển đổi mô hình thực thể - kết hợp mô hình logic liệu Mô tả tệp CSDL quan hệ chúng (nếu có), tệp chủ (master), tệp tớ (slave) khoá xếp tương ứng Cho ví dụ câu hỏi vấn tin CSDL xây dựng Có thể sử dụng lệnh SQL (select ) để viết câu trả lời Viết lệnh FoxPro : Để chuyển đổi thực thể LƯUTRÚ THỂTHAO ví dụ cho chương thành tệp CSDL (DBF) tệp mục (IDX CDX) tương ứng Quản lý đảng viên đảng sở Y a Sơ đồ dòng thông tin ĐẢNG BỘ CƠ SỞ Y Đảng viên Thường vụ Đảng uỷ Bộ phận Văn thư, Tài vụ Hồ sơ gia nhập Đảng (khoảng 10 mục tin) Hồ sơ gia nhập Đảng vào sổ Đảng + mã số Đảng viên + chức vụ Đảng + Đảng phí phải đóng hàng tháng Phiếu sửa đổi hồ sơ Đảng viên : thông tin Đảng viên cần sửa đối Phiếu xoá bỏ hồ sơ Đảng viên (do khai trừ, thuyên chuyển ) : mã số Đảng viên Danh sách Đảng viên Đảng (thứ tự ABC) Danh sách Ban Thường vụ Đảng uỷ Danh sách đóng Đảng phí Đảng viên Đảng (thứ tự ABC) Giấy biên nhận đóng Đảng phí b Yêu cầu công việc Lập bảng dòng Từ điển liệu quy tắc quản lý Mô hình ý niệm liệu - mô hình logic liệu Sơ đồ xử lý công việc quản lý Đảng viên 161 Quản lý thư viện a Mô tả Để quản lý thư viện trường Đại học, người ta sử dụng thông tin sau : Tác phẩm Tác giả (của tác phẩm) Sinh viên mượn tác phẩm Mượn tác phẩm Gồm thông tin tác phẩm số, tiêu đề, năm xuất bản, tên nhà xuất bản, đơn giá Họ tên tác giả, quốc tịch, nơi làm việc Một tác phẩm viết nhiều tác giả Mã sinh viên, họ tên sinh viên, lớp, ngành chuyên môn Ngày mượn, tác phẩm số ngày trả, mã sinh viên mượn, Thư viện quy định sinh viên mượn không tác phẩm lần Điều có nghĩa sinh viên mượn giữ lại vài tác phẩm (chưa trả) mượn tiếp cho đủ tác phẩm Còn trả hết (hoặc chưa mượn) mượn lúc tối đa tác phẩm b Yêu cầu công việc Anh (hay chị) lập mô hình thực thể − quan hệ (có ghi số − max tương ứng với CIF CIM) cho trường hợp cụ thể sau : Số lượng tác phẩm có Số lượng tác phẩm có nhiều Thư viện muốn quản lý thêm nhà xuất (gồm tên địa nhà xuất bản) Lập ma trận phụ thuộc hàm để hợp thức hoá cho trường hợp vừa nêu Chuyển mô hình liệu cấu trúc liệu FoxPro 162 Thực tập tốt nghiệp a Mô tả Tại trường Đại học, Khoa Công nghệ Thông tin (CNTT) tổ chức cho sinh viên thực tập tốt nghiệp hàng năm thời gian 10 tuần sở sản xuất − nghiên cứu thuộc lĩnh vực Tin học Khoa CNTT báo cho sinh viên danh sách quan đồng ý tiếp nhận sinh viên để họ tự lựa chọn nơi phù hợp với đề tài họ Sinh viên chọn xong, Khoa phân công giáo viên trực tiếp hướng dẫn sinh viên thực tập Sau đó, Khoa đánh định thực tập cho sinh viên Các giáo viên Khoa sau phân công xuống sở thực tế để kiểm tra việc thực tập tốt nghiệp sinh viên Mỗi giáo viên phải hướng dẫn bốn sinh viên Để phân phối giáo viên cho phù hợp, Khoa CNTT cần biết sở thực tế mà giáo viên đến tập năm trước Khoa CNTT cần có thông tin sau : − Với quan : tên quan, địa chỉ, số điện thoại, loại quan (nhà nước, tư nhân, liên doanh ), họ tên người phụ trách nhận quản lý sinh viên thực tập − Với sinh viên : mã số, họ tên, ngày sinh, giới tính, nhóm đề tài, và, thông tin sau nhận định thực tập : tên quan sinh viên đền, ngày ký định thực tập họ tên giáo viên trực tiếp hướng dẫn − Với giáo viên : mã số, họ tên, giới tính, chức danh, số điện thoại, tên quan đến hướng dẫn sinh viên năm tương ứng (gần nhất) Chú ý : Một quan tiếp nhận đồng thời nhiều sinh viên, nhiên, sinh viên có giáo viên hướng dẫn riêng (các sinh viên quan không thiết có giáo viên hướng dẫn) b Yêu cầu công việc Xây dựng mô hình thực thể − quan hệ (có ghi số − max tương ứng với CIF CIM) biểu diễn việc tổ chức thực tập tốt nghiệp Khoa CNTT năm học cho 163 Tài liệu tham khảo [ 1] E M Bennatan, Software Project Management : A Practitioner Approach, McGrawHill 1992 [ ] J Cla viez, Dirig er un Projet Informa tique, Édition J.C.I Inc., Mo ntréal (Québ ec) 1993 [ 3] A Co llo ng ues, J Hugues, B La roche, MERISE phương pháp thiết k ế hệ thống thô ng tin Tin học hoá phục vụ quản lý doa nh ng hiệp, sá ch d ịch Nhà XB Khoa học Kỹ thuậ t, Hà nộ i 1994 [ 4] G Devoivre, La vie d’un pro jet info rmatique en contexte industriel, Cours de ème année, ENSIMAG, 1996 [ 5] O Foucaut, O Thiéry, K Smáli, Conception des Systèmes d’information et Programmation Événementielle, InterEditions, Paris 1996 [ 6] J Gabay, Apprendre et Pra tiquer MERISE, MASSON, Pa ris 1993 [ 7] Harozyszkiewicz, Introduction to System Analysis and Design, Prentice Hall 1989 H Habrias, Introduction la Spécification, MASSON, Paris 1993 J Hugues MERISE vers la Conduit de Projet DUNOD Infomatique, 1990 F Jolivet, G Reboul, Informatique Appliqué la Gestion, DUNOD, Paris 1992 Page-Jones, The Practical Guide to Structured Systems Design, Yourdon Press 1980 Pressaman, Software Engineering, McGrawHill, 1982 C Smart, R Sims, Phân tích, thiết kế, cài đặt hệ thống thông tin quản lý, Viện Công nghệ Thông tin biên dịch xuất bản, Hà nội 1990 Weinberg, Structured Analysis, Prentice Hall 1980 Ngô Trung Việt (sách dịch), Phân tích Thiết kế Tin học - Hệ thống Quản lý, Kinh doanh, Nghiệp vụ, Nhà XB Giao thông vận tải 1995 Các tài liệu internet [ 8] [ 9] [ 10] [ 11] [ 12] [ 13] [ 14] [ 15] [ 16] 164