Kho mã nguồn - chia sẻ soure code

[Giáo Trình] PhânTích Thiết Kế Hệ Thống Thông Tin Quản Lý


MỤC LỤCMỤC LỤC1LỜI NÓI ĐẦU4CHƯƠNG 1 ĐẠI CƯƠNG VỀ CÁC HỆ THỐNG THÔNG TIN QUẢN LÝ61. KHÁI NIỆM VỀ HỆ THỐNG, HỆ THÔNG TIN QUẢN LÝ.62. VAI TRÒ, NHIỆM VỤ CỦA HỆ THỐNG THÔNG TIN72.1. Vai trò72.2.Nhiệm vụ73. CÁC BỘ PHẬN HỢP THÀNH HỆ THỐNG THÔNG TIN74. CÁC PHƯƠNG PHÁP PHÂN TÍCH VÀ THIẾT KẾ HỆ THỐNG THÔNGTIN.84.1. Phương pháp thiết kế hệ thống cổ điển ( thiết kế phi cấu trúc) 84.2. Phương pháp phân tích thiết kế hệ thống bán cấu trúc104.3. Phương pháp phân tích thiết kế hệ thống có cấu trúc105. CÁC GIAI ĐOẠN PHÂN TÍCH THIẾT KẾ.11CHƯƠNG 2 KHẢO SÁT HIỆN TRẠNG VÀ XÁC LẬP DỰ ÁN.131. MỤC ĐÍCH132. TÌM HIỂU VÀ ĐÁNH GIÁ HIỆN TRẠNG132.1. Quan sát, tìm hiểu hệ thống hiện tại132.2. Tập hợp phân loại thông tin.152. 3. Phát hiện các yếu kém cuả hiện trạng và các yêu cầu trong tương lai.163. XÁC ĐỊNH PHẠM VI KHẢ NĂNG MỤC TIÊU DỰ ÁN.174. PHÁC HOẠ CÁC GIẢI PHÁP CÂN NHẮC TÍNH KHẢ THI185. LẬP DỰ TRÙ VÀ KẾ HOẠCH TRIỂN KHAI DỰ ÁN.215. 1. Hồ sơ về điều tra và xác lập giải pháp215. 2. Dự trù về thiết bị.215. 3. Kế hoạch triển khai dự án.22CHƯƠNG 3 PHÂN TÍCH CHỨC NĂNG CỦA HỆ THỐNG.231. MÔ HÌNH PHÂN Rà CHỨC NĂNG.231.1. Định nghĩa.231.2.Các thành phần 231.3. Đặc điểm và mục đích của mô hình251.4. Xây dựng mô hình251.5. Các dạng mô hình phân rã chức năng.28 1 2. MÔ HÌNH LUỒNG DỮ LIỆU.292.1. Khái quát.292.2. Định nghĩa 292.4. Một số quy tắc vẽ biểu đồ luồng dữ liệu.322.5. Xây dựng mô hình luồng dữ liệu.332.6. Chuyển từ mô hình luồng dữ liệu vật lý sang mô hình luồng dữ liệu logic352.7. Chuyển từ DFD của hệ thống cũ sang DFD của hệ thống mới.362.8. Hoàn chỉnh mô hình DFD.37Tác dụng.382.9.Phân mức .392.10. Hạn chế của mô hình luồng dữ liệu.393.Bài tập ứng dụng.39CHƯƠNG 4 PHÂN TÍCH VÀ THIẾT KẾ DỮ LIỆU.421. TỔNG QUAN421.1. Các khái niệm421.2. Các bước tiến hành phân tích và thiết kế CSDL.422. MÔ HÌNH THỰC THỂ LIÊN KẾT 432.1. Mục đích432.2. Các thành phần .442.3. Xây dựng mô hình thực thể liên kết của hệ thống.473. MÔ HÌNH QUAN HỆ513.1. Khái niệm513.2. Các dạng chuẩn .544. THIẾT KẾ LOGIC CSDL564.1. Chuyển đổi từ mô hình thực thể liên kết thành các bản ghi logic.574.2. Chuẩn hoá quan hệ604.3. Hoàn thiện mô hình CSDL logic.635. THIẾT KẾ VẬT LÝ CSDL655.1. Các vấn đề liên quan khi thiết kế vật lý CSDL.655.2. Xem xét hiệu suất thực thi CSDL665.3. Điều chỉnh thực thi CSDL.685.4. Ví dụ một mẫu thiết kế .68CHƯƠNG 5 THIẾT KẾ GIAO DIỆN GIỮA NGƯỜI VÀ MÁY711 TỔNG QUAN.71 2 1.1. Mục đích .711. 2. Các loại giao diện.711.3. Các nguyên tắc chung khi thiết kế giao diện 712. THIẾT KẾ CÁC MẪU THU THẬP THÔNG TIN722.1. Yêu cầu .722.2. Phương pháp thu thập thông tin722.3. Xác định khuôn mẫu thu thập thông tin724.4.Mã hoá733. THIẾT KẾ CÁC TÀI LIỆU RA, CÁC BÁO CÁO754. THIẾT KẾ MÀN HÌNH VÀ ĐƠN CHỌN764.1. Yêu cầu thiết kế:764.2. Hình thức thiết kế76CHƯƠNG 6 THIẾT KẾ KIỂM SOÁT VÀ CHƯƠNG TRÌNH.871. THIẾT KẾ KIỂM SOÁT871. 1.Mục đích871.2. Kiểm soát các thông tin thu thập và các thông tin xuất.881.3. Kiểm soát các sự cố làm gián đoạn chương trình881.4. Kiểm soát các xâm phạm từ phía con người.892.THIẾT KẾ CHƯƠNG TRÌNH912.1. Mục đích922.2. Lập lược đồ chương trình .93a. Module chương trình93b. Công cụ để diễn tả LCT932.3. Đặc tả các module.972.4. Đóng gói thành module tải972.5. Thiết kế các mẫu thử.97CHƯƠNG 7 LẬP TRÌNH – CHẠY THỬ – BẢO DƯỠNG931. LẬP TRÌNH931.1. Thành lập tổ lập trình931.2. Chọn ngôn ngữ lập trình931.3. Cài đặt các tệp, viết các đoạn chương trình chung931.4. Soạn thảo chương trình cho từng đơn vị xử lý932. CHẠY THỬ VÀ GHÉP NỐI.933.THÀNH LẬP CÁC TÀI LIỆU HƯỚNG DẪN SỬ DỤNG933.1. Đại cương94 3 3.2. Hướng dẫn chung943.3. Giới thiệu chương trình, trình tự khai thác953.4. Đặc trưng các đầu vào: đưa ra các mẫu.953.5. Đặc trưng của các tệp953.6. Đặc trưng của các đầu ra.953.7. Hướng dẫn cho các nhân viên điều hành hệ thống .954. BẢO TRÌ HỆ THỐNG 95CHƯƠNG 8 BÀI TẬP TỔNG HỢP97ĐỀ 1: Hoạt động nhập và xuất sản phẩm của một công ty sản xuất bánh kẹo 97ĐỀ 2: Hoạt động nhập và xuất quạt máy của xí nghiệp điện cơ thống nhất HàNội .98ĐỀ 3: HOẠT ĐỘNG CỦA CÔNG TY CỔ PHẦN HÀ LINH CHUYÊN CHOTHUÊ XE Ô TÔ.99ĐỀ 4: Hoạt động của một trung tâm thư viện102ĐỀ 5: Hoạt động của khách sạn Hoàng Hà được thực hiện như sau:104ĐỀ 6: Hoạt động của một công ty phát hành sách 106ĐỀ 7: Hoạt động kinh doanh của công ty thiết bị gia đình 107ĐỀ 8: Hệ thống hoạt động cho thuê băng đĩa109ĐỀ 9: Hoạt động của công ty sản xuất nước giải khát ABC như sau:112ĐỀ 10: Hoạt động bán hàng của công ty Tomato như sau:114TÀI LIỆU THAM KHẢO116 4 LỜI NÓI ĐẦU Ngày nay trong thời kỳ của công nghệ thông tin, máy tính đã tham gia hỗ trợhầu hết các hoạt động của con người như nghiên cứu khoa học, kinh doanh,quản lý… Để ứng dụng công nghệ thông tin cho việc xây dựng các hệ thốngthông tin quản lý đòi hỏi phải có qui trình, phương pháp để áp dụng. Chính vìvậy một trong những yêu cầu quan trọng của những người làm tin học đó là phảicó tri thức về phân tích thiết kế hệ thống mới có thể và phát triển được các ứngdụng tin học có tính khả thi. Phân tích thiết kế hệ thống được phát triển theo nhiều giai đoạn với cácphwong pháp xây dựng hệ thống khác nhau. Ngoài phương pháp phân tích thiếtkế cổ điển còn có các phương pháp phân tích thiết kế có cấu trúc. Hiện nayphương pháp phân tích thiết kế theo hướng có cấu trúc được sử dụng phổ biến. Hiện nay, ở nước ta đã có rất nhiều sách viết về phân tích thiết kế có cấu trúc,cụ thể được phân theo hai khuynh hướng là: phân tích thiết kế theo hướng chứcnăng và phân tích thiết kế theo hướng đối tượng. Nhưng những cuốn sách nàythường được viết chung cho các đối tượng, đặc biệt là thường dùng cho các sinhviên đại học, cao đẳng và cao hơn. Chúng tôi biên soạn cuốn đề cương này vớimục đích tóm lược những khái niệm cơ bản nhất trong lý thuyết, kỹ thuật ápdụng để xây dựng được một hệ thống cụ thể nhằm giúp sinh viên đại học, caođẳng có thể nắm bắt được kiến thức của môn học. Trong cuốn đề cương này ngoài việc trình bày những kiến thức cơ bảnchúng tôi còn đưa ra các ví dụ cụ thể trong cuộc sống và hệ thống bài tập ứngdụng để các em dễ hiểu và biết cách vận dụng kiến thức vào thực tế. Nội dung cuốn sách được chia thành 8 chương, cuối mỗi chương có các câuhỏi và bài tập. Chương 1- Đại cương về các hệ thống thông tin quản lý: Giới thiệu cáckhái niệm cơ bản về hệ thống, hệ thống thông tin, các thành phần của hệ thốngthông tin, các phương pháp phân tích thiết kế hệ thống. Chương 2- Khảo sát hiện trạng và xác lập dự: Giới thiệu các bước và phương pháp thực hiện trong giai đoạn khảo sát hệ thống như: tìm hiểu hiện trạng, xác định mục tiêu, phạm vi, các giải pháp. Chương 3- Phân tích và thiết kế chức năng nghiệp vụ: Giới thiệu các mô hình: mô hình phân cấp chức năng, mô hình luồng dữ liệu. Chương 4- Phân tích và thiết kế cơ sở dữ liệu nghiệp vụ: Giới thiệu các môhình: mô hình liên kết thực thể, mô hình quan hệ. Chương 5- Thiết kế giao diện giữa người và máy tính: Giới thiệu cách thiếtkế giao diện, báo cáo, thực đơn cho hệ thống. Chương 6- Thiết kế kiểm soát và chương: Giới thiệu cách thiết kế kiểmsoát, bảo mật hệ thống, các modul chương trình. Chương 7- Lập trình- chạy thử và bảo dưỡng: Giới thiệu các lựa chọn ngônngữ, hệ quản trị CSDL để lập trình và viết các tài liệu cho hệ thống. Chương 8- Bài tập tổng hợp: Các hệ thống cụ thể. Mặc dù đã cố gắng tham khảo các tài liệu và các ý kiến tham gia của các thầycũng như các bạn đồng nghiệp đã dạy và nghiên cứu môn Cơ sở dữ liệu, Phântích thiết kế hệ thống song cuốn đề cương có thể vẫn còn thiếu sót. Rất mongnhận được ý kiến đóng góp của bạn đọc. CHƯƠNG 1 ĐẠI CƯƠNG VỀ CÁC HỆ THỐNG THÔNG TIN QUẢN LÝ Trước đây, các phần mềm thường mang đặc tính tính toán khoa học kỹ thuậtvà được thực hiện trên các máy tính lớn (mainframe). Những phần mềm kiểunày ít đòi hỏi lao động tập thể của những người lập trình. Do đó nhu cầu phântích và thiết kế không được đặt một cách tách biệt với công việc lập trình, chưacó sự chuyên môn hoá trong việc phân tích thiết kế và lập trình. Ngày nay với sự thâm nhập của tin học vào nhiều lĩnh vực khác nhau, đặcbiệt trong các ứng dụng quản lý sản xuất, xuất hiện nhu cầu xây dựng các hệthống thông tin lớn với khối lượng thông tin khổng lồ và các quan hệ phức tạp.Nếu không có những cách tiếp cận thích hợp, việc xây dựng các hệ thông tinnhư vậy mang nhiều rủi ro dẫn đến thất bại. Vì thế xuất hiện sự phân công laođộng trong lĩnh vực xây dựng các hệ thống thông tin tin học hoá. Việc phân tíchthiết kế hệ thống được tách khỏi việc lập trình1. KHÁI NIỆM VỀ HỆ THỐNG, HỆ THÔNG TIN QUẢN LÝ - Hệ thống: Là tập hợp các phần tử có những mối quan hệ ràng buộc lẫnnhau cùng hoạt động chung cho một số mục tiêu nào đó. Trong hoạt động cótrao đổi vào ra với môi trường ngoài. - Hệ thống quản lý: Là một hệ thống có một mục đích mang lại lợi nhuậnhoặc lợi ích nào đó. Đặc điểm của hệ thống là có sự tham gia của con người vàcó trao đổi thông tin. Hệ thống quản lý chia thành hai hệ thống con: + Hệ tác nghiệp (trực tiếp sản xuất): gồm con người, phương tiện, phươngpháp trực tiếp thực hiện mục tiêu đã đề ra. + Hệ quản lý (gián tiếp sản xuất): Gồm con người, phương tiện, phương phápcho phép điều khiển hoạt động của hệ thống. Hệ này lại chia thành hai hệ con: - Hệ quyết định : Đưa ra các quyết định - Hệ xử lý thông tin : Xử lý thông tin - Hệ thống thông tin (information system) : Là một hệ thống sử dụng côngnghệ thông tin để thu thập, truyền, lưu trữ, xử lý và biểu diễn thông tin trongmột hay nhiều quá trình kinh doanh. Hệ thông tin phát triển qua bốn loại hình : + Hệ xử lý dữ liệu :lưu trữ và cập nhật dữ liệu hàng ngày, ra các báo cáo theođịnh kỳ (Ví dụ: Các hệ thống tính lương). + Hệ thông tin quản lý (Management Information System - MIS): Một hệthông tin gồm cơ sở dữ liệu hợp nhất và các dòng thông tin giúp con người trongsản xuất, quản lý và ra quyết định. + Hệ trợ giúp quyết định: Hỗ trợ cho việc ra quyết định (cho phép nhà phântích ra quyết định chọn các phương án mà không phải thu thập và phân tích dữliệu). + Hệ chuyên gia: Hỗ trợ nhà quản lý giải quyết các vấn đề và làm quyết địnhmột cách thông minh.2. VAI TRÒ, NHIỆM VỤ CỦA HỆ THỐNG THÔNG TIN2.1. Vai trò Hệ thông tin đóng vai trò trung gian giữa hệ quyết định và hệ tác nghiệptrong hệ thống quản lý.2.2.Nhiệm vụ - Trao đổi thông tin với môi trường ngoài - Thực hiện việc liên lạc giữa các bộ phận và cung cấp thông tin cho các hệtác nghiệp và hệ quyết định.3. CÁC BỘ PHẬN HỢP THÀNH HỆ THỐNG THÔNG TIN - Dữ liệu: là nguyên liệu của hệ thông tin được biểu diễn dưới nhiều dạng :văn bản, truyền khẩu, hình vẽ,. và những vật mang tin :Giấy, bảng từ, đĩa từ. - Các xử lý: Thông tin đầu vào qua các xử lý thành thông tin đầu ra. Có thể diễn tả mối liên hệ giữa các bộ phận cấu thành hệ thống thông tin theohình 1.1 sau: C¸c sù kiÖn H×nh ¶nh cÊu tróc néi bé c¬ tiÕn ho¸ quan C¸c xö lý : C¸c tham sè KÕt qu¶ ra C¸c quy t¾c xö lý C¸c thñ tôc quy tr×nh L­u ®å chu chuyÓn H×nh ¶nh vÒ ho¹t ®éng kinh C¸c sù kiÖn doanh cña c¬ quan hµnh ®éng. Hình 1.1. Các thành phần của hệ thống thông tin4. CÁC PHƯƠNG PHÁP PHÂN TÍCH VÀ THIẾT KẾ HỆ THỐNGTHÔNG TIN4.1. Phương pháp thiết kế hệ thống cổ điển ( thiết kế phi cấu trúc) Đặc điểm: - Gồm các pha (phase) : Khảo sát, thiết kế, viết lệnh, kiểm thử đơn lẻ, kiểmthử trong hệ con, kiểm thử trong toàn hệ thống. - Việc hoàn thiện hệ thống được thực hiện theo hướng “bottom-up” (từ dướilên) và theo nguyên tắc tiến hành tuần tự từ pha này tới pha khác. Nhược điểm: - Gỡ rối, sửa chữa rất khó khăn và phức tạp. Ví dụ trong giai đoạn kiểm thử (test) nếu có lỗi nào đó xuất hiện ở giai đoạncuối pha kiểm thử. Lúc đó, tuỳ theo mức độ nghiêm trọng của lỗi, có thể buộcphải sửa đổi hàng loạt các mođun. Khi một lỗi được phát hiện, khó chẩn đoánmođun nào (trong số hàng trăm, hàng ngàn mô đun) chứa lỗi. - Vì thực hiện theo nguyên tắc tuần tự các pha nên sau khi đã kết thúc mộtpha, người ta có thể không cần phải bận tâm đến nó nữa à Nếu ở pha trước cònlỗi thì các pha sau sẽ phải tiếp tục chịu ảnh hưởng của lỗi đó. Mặt khác hầu hết các dự án thường phải tuân thủ theo một kế hoạch chung đã ấn định từ trước =>kết quả sẽ khó mà được như ý với một thời gian quy định.4.2. Phương pháp phân tích thiết kế hệ thống bán cấu trúc Đặc điểm: - Một loạt các bước “bottom-up” như viết lệnh và kiểm thử được thay thếbằng giai đoạn hoàn thiện “top-down”. Nghĩa là các modun mức cao được viếtlệnh và kiểm thử trước rồi đến các modun chi tiết ở mức thấp hơn. - Pha thiết kế cổ điển được thay bằng thiết kế có cấu trúc. Nhược điểm: Người thiết kế nói chung liên lạc rất ít với phân tích viên hệ thống và cả haichẳng có liên hệ nào với người sử dụng => Quá trình phân tích và thiết kế gầnnhưlà tách ra thành hai pha độc lập.4.3. Phương pháp phân tích thiết kế hệ thống có cấu trúc Đặc điểm - Phương pháp này bao gồm 9 hoạt động: Khảo sát, phân tích, thiết kế, bổsung, tạo sinh, kiểm thử xác nhận, bảo đảm chất lượng, mô tả thủ tục, biến đổicơ sở dữ liệu, cài đặt. - Các hoạt động có thể thực hiện song song. Chính khía cạnh không tuần tựnày mà thuật ngữ “pha” được thay thế bởi thuật ngữ “hoạt động” (“pha” chỉ mộtkhoảng thời gian trong một dự án trong đó chỉ có một hoạt động được tiếnhành). Mỗi hoạt động có thể cung cấp những sửa đổi phù hợp cho một hoặcnhiều hoạt động trước đó. Một số phương pháp phân tích có cấu trúc: Các phương pháp hướng chức năng - Phương pháp SADT (Structured Analysis and Design Technie) của Mỹ dựatheo phương pháp phân rã một hệ thống lớn thành các hệ thống con đơn giảnhơn. - Nó có hệ thống trợ giúp theo kiểu đồ hoạ để biểu diễn các hệ thống và việctrao đổi thông tin giữa các hệ con. Kỹ thuật chủ yếu của SADT là dựa trên sơđồ luồng dữ liệu, từ điển dữ liệu (Data Dictionnary), ngôn ngữ mô tả có cấutrúc, ma trận chức năng. Nhưng SADT chưa quan tâm một cách thích đáng đốivới mô hình chức năng của hệ thống. - Phương pháp MERISE (MEthod pour Rassembler les Idees Sans Effort) của Pháp dựa trên các mức bất biến (còn gọi là mức trừu tượng hoá) của hệthống thông tin như mức quan niệm, mức tổ chức, mức vật lý và có sự kết hợpvới mô hình. - CASE (Computer-Aided System Engineering) - phương pháp phân tích vàthiết kế tự động nhờ sự trợ giúp của máy tính. Từ kinh nghiệm và nghiên cứu trong quá trình xây dựng hệ thống, hãngOracle đã đưa ra một tiếp cận công nghệ mới - Phương pháp luận phân tích vàthiết kế hệ thống CASE*Method. Đây là một cách tiếp cận theo hướng"topdown" và rất phù hợp với yêu cầu xây dựng một hệ thống thông tin trongcác doanh nghiệp sản xuất kinh doanh thương mại. Các phương pháp hướng đối tượng - Phương pháp HOOD (Hierarchical Object Oriented Design) là một phươngpháp được lựa chọn để thiết kế các hệ thống thời gian thực. Những phương pháp này lại yêu cầu các phần mềm phải được mã hoá bằngngôn ngữ lập trình ADA. Do vậy phương pháp này chỉ hỗ trợ cho việc thiết kếcác đối tượng mà không hỗ trợ cho các tính năng kế thừa và phân lớp. - Phương pháp RDD (Responsibility Driven Design) dựa trên việc mô hìnhhoá hệ thống thành các lớp. Các công việc mà hệ thống phải thực hiện được phân tích và chia ra cho cáclớp của hệ thống. Các đối tượng trong các lớp của hệ thống trao đổi các thôngbáo với nhau nhằm thực hiện công việc đặt ra. Phương pháp RDD hỗ trợ cho cáckhái niệm về lớp, đối tượng và kế thừa trong cách tiếp cận hướng đối tượng. - Phương pháp OMT (Object Modelling Technique) là một phương phápđược xem là mới nhất trong cách tiếp cận hướng đối tượng. Phương pháp này đã khắc phục được một số nhược điểm của các phươngpháp tiếp cận hướng đối tượng trước mắc phải. Trên mặt lý thuyết ta thấy cách tiếp cận hướng đối tượng có các bước pháttriển hơn so với tiếp cận hướng chức năng. Nhưng trong thực tế việc phân tíchvà thiết kế hệ thống theo cách tiếp cận hướng đối tượng gặp rất nhiều khó khănvì chưa có nhiều các công cụ phát triển hỗ trợ cho việc thiết kế hướng đối tượng.Chính vì vậy cách tiếp cận này vẫn chưa được phát triển rộng rãi.5. CÁC GIAI ĐOẠN PHÂN TÍCH THIẾT KẾ Các phương pháp phân tích và thiết kế hệ thống dù được phát triển bởi nhiềutác giả khác nhau, có nhiều điểm, thuật ngữ, quy ước khác nhau, nhưng tựutrung lại các phương pháp luận này đều định ra các giai đoạn cơ bản cho quátrình phát triển dự án: 1.Khảo sát hiện trạng và xác lập dự án. 2.Phân tích hệ thống : Phân tích các chức năng và dữ liệu của hệ thống cũ đểđưa ra mô tả của hệ thống mới. 3.Thiết kế hệ thống 4.Xây dựng hệ thống CHƯƠNG 2 KHẢO SÁT HIỆN TRẠNG VÀ XÁC LẬP DỰ ÁN1. MỤC ĐÍCH - Mục đích : Qua quá trình khảo sát từ sơ bộ đến chi tiết hệ thống hiện tại taphải có được các thông tin về hệ thống qua đó đề xuất được các phương án tối ưuđể dự án mang tính khả thi cao nhất. - Khảo sát thường được tiến hành qua bốn bước:+ Bước 1: Khảo sát và đánh giá hiện trạng hoạt động của hệ thống cũ. Tìm hiểucác hoạt động của hệ thống hiện tại nhằm xác định các thế mạnh và các yếu kémcủa nó+ Bước 2 : Đề xuất mục tiêu cho hệ thống mới. Xác định phạm vi ứng dụng vàcác ưu nhược điểm của hệ thống dự kiến. Cần xác định rõ lĩnh vực mà hệ thốngmới sẽ làm, những thuận lợi và những khó khăn khi cải tiến hệ thống+ Bước 3 : Đề xuất ý tưởng cho giải pháp mới có cân nhắc tính khả thi. Phác hoạcác giải pháp thoả mãn các yêu cầu của hệ thống mới đồng thời đưa ra các đánhgiá về mọi mặt ( Kinh tế, xã hội, thuận tiện.) để có thể đưa ra quyết định lựachọn cuối cùng.+ Bước 4 : Vạch kế hoạch cho dự án cùng với dự trù tổng quát. Xây dựng kếhoạch triển khai cho các giai đoạn tiếp theo. Dự trù các nguồn tài nguyên (Tàichính, nhân sự, trang thiết bị.) để triển khai dự án.2. TÌM HIỂU VÀ ĐÁNH GIÁ HIỆN TRẠNG2.1. Quan sát, tìm hiểu hệ thống hiện tại - Việc quan sát tìm hiểu và đánh giá hệ thống theo cách nhìn của nhàtin học. Điều đó có nghĩa là xác định các lĩnh vực nào, công việc nào thì nên tinhọc hoá, lĩnh vực nào thì tin học hoá không có tác dụng hay không có tính khả thi - Việc quan sát chia làm 4 mức khác nhau:+ Mức thao tác thừa hành: Tìm hiểu các công việc cụ thể mà người nhân viênthừa hành trên hệ tin học hiện có.+ Mức điều phối quản lý: Tìm hiểu các nhu cầu thông tin cho mức này. Thamkhảo ý kiến của người thực hiện về khả năng cải tiến hệ thống hiện có.+ Mức quyết định lãnh đạo: Tìm hiểu các nhu cầu thông tin của ban lãnh đạo, cácsách lược phát triển doanh nghiệp nhằm tìm đúng hướng đi cho hệ thống dự kiến. 14 + Mức chuyên gia cố vấn : Tham khảo các chiến lược phát triển nhằm củng cốthêm phương hướng phát triển hệ thống dự kiến.- Các hình thức tiến hành : Có ba phương pháp là quan sát, phỏng vấn và điềutra thăm dòa. Phương pháp quan sát gồm có 2 cách Quan sát trực tiếp: quan sát bằng mắt, tại chỗ tỉ mỉ từng chi tiết công việc của hệ thống cũ, của các nhân viên thừa hành. Quan sát gián tiếp: quan sát từ xa, hay qua phương tiện tổng thể của hệ thống để có được bức tranh khái quát về tổ chức và cách thức hoạt động trong tổ chức đó.Vai trò: giúp cho người quan sát thấy được cách quản lý các hoạt động của tổchức cần tìm hiểu.Ưu điểm:  Dễ thực hiện đối với người quan sát  Theo dõi trực tiếp hoạt động của hệ thống trong thực tếNhược điểm:- Kết quả mang tính chủ quan- Tâm lý của người bị quan sát có những phản ứng nhất định- Sự bị động của người quan sát- Tốn kém thời gian- Thông tin bề ngoài, hạn chế không thể đầy đủb. Phương pháp phỏng vấn- Chuẩn bị rõ nội dung chủ đề cuộc phỏng vấn, các câu hỏi, các tài liệu liên quan,mục đích cần thu được các thông tin gì sau phỏng vấn.- Một số lưu ý khi tiến hành phỏng vấn: + Phải tổ chức tốt cuộc phỏng vấn : Chọn số người phỏng vấn, thống nhấttrước nội dung, chủ đề cuộc phỏng vấn để các bên có thời gian chuẩn bị. + Lựa chọn các câu hỏi hợp lý : Xác định rõ loại câu hỏi sẽ đưa ra, câu hỏimở hay câu hỏi đóng tuỳ theo yêu cầu nội dung phỏng vấn. (Câu hỏi mở có nhiềucách trả lời, câu hỏi đóng các câu trả lời xác định trước). + Luôn giữ tinh thần thoải mái, thái độ đúng mực khi phỏng vấn.Vai trò: cho phép ta nắm được nguồn thông tin chính yếu nhất về một hệ thống 15 cần phát triển trong tương lai và hệ thống hiện tạiƯu điểm:- Thông tin thu thập được trực tiếp nên có độ chính xác cao- Biết được khá đầy đủ các yêu cầu của người sử dụng đối với hệ thống mới- Nếu có nhiều dự án xây dựng hệ thống thông tin khác nhau đối với cùng một tổchức thì qua việc phỏng vấn lãnh đạo có thể xác định được quan hệ giữa các dự ánnày để có thể tận dụng các thành quả đã có hay đảm bảo sự nhất quán cũng nhưtạo được các giao tiếp với hệ đó.Nhược điểm:- Kết quả thu được phụ thuộc nhiều vào các yếu tố khách quan như sự thân thiệngiữa người phỏng vấn và người được phỏng vấn, các yếu tố ngoại cảnh, các yếu tốtình cảm.- Nếu không được chuẩn bị tốt thì dễ dẫn đến thất bại- Bất đồng về ngôn ngữ cũng như các khái niệm được đề cập.- Cần hỏi được trực tiếp người cần có thông tin của học. Phương pháp điều tra thăm dòVai trò : Được thực hiện để nắm những thông tin có tính vĩ mô. Phương pháp nàythích hợp với việc điều tra tần suất trong nghiên cứu khả thi.- Phiếu thăm dò: là câu hỏi có nội dung trả lời sẵn, người trả lời lựa chọn- Có tập các đối tượng cần thăm dò, tuỳ theo mục tiêuƯu điểm:- Bổ sung cho 2 phương pháp trên để khẳng định kết quả khảo sát- Là một phương pháp hiệu quả điều tra tần suất trong nghiên cứu khả thi.Nhược điểm:Việc xây dựng bản hỏi để có thể đáp ứng được nhu cầu thể hiện được các thôngtin cần biết là khó khănNgoài 3 phương pháp trên còn có một phương pháp được sử dụng trong việcnghiên cứu hiện trạng của tổ chức là Phương pháp nghiên cứu tài liệu.2.2. Tập hợp phân loại thông tin- Phân loại thông tin theo tiêu chuẩn+ Hiện tại và tương lai : Thông tin nào cho hệ thống hiện tại và thông tin nào chohệ thống tương lai. 16 + Tĩnh/động/biến đổi  Tĩnh : Thông tin ít có tính thay đổi, biểu diễn các mặt ổn định, bền vững của hệ thống như cơ cấu, tổ chức, khuôn dạng.  Động: Thông tin luôn thay đổi theo thời gian hay không gian. (Theo không gian: Các dòng thông tin di chuyển giữa các tiến trình hay giữa các hệ thống con với nhau. )  Biến đổi : Là các quy tắc nghiệp vụ thực hiện việc biến đổi thông tin.+ Nội bộ/môi trường : Chú ý đánh giá tác động qua lại giữa hệ thống và môitrường xung quanh. Các ảnh hưởng của môi trường xung quanh như điều kiện làmviệc : nhiệt độ, áp suất, độ ẩm lên các máy móc. Các ảnh hưởng ngược lại của hệthống lên môi trường xung quanh, lên điều kiện làm việc.- Tập hợp thông tin+ Các thông tin chung cho hiện tại, thông tin cho tương lai+ Xem xét thông tin đã thu thập ở mức chi tiết nhất có thể được dưới các khíacạnh: tần xuất xuất hiện, độ chính xác, số lượng, thời gian sốngTóm tắt thông tin thu thập được: TT ®· thu thËp TT vÒ HT hiÖn t¹i TT vÒ HT t­¬ng lai TT vÒ m«i tr­êng TT ®­îc ph¸t biÓu râ rµng TT tÜnh TT ch­a râ rµng, ë d¹ng gîi ý TT ®éng TT tù t×m hiÓu, suy diÔn TT biÕn ®æi Hình 2.1. Sơ đồ tổng hợp thông tin thu thập được2. 3. Phát hiện các yếu kém cuả hiện trạng và các yêu cầu trong tương lai Sự yếu kém thể hiện ở các mặt:  Hiệu quả thấp: Hiệu quả công việc ở một số bộ phận hay toàn bộ hệ thống không đáp ứng được yêu cầu phát triển của doanh nghiệp (phương pháp xử 17 lý không chặt chẽ, giấy tờ tài liệu trình bày kém, sự ùn tắc quá tải,)  Sự thiếu vắng : Chức năng xử lý, cơ cấu tổ chức hợp lý, phương pháp làm việc hiệu quả.  Tổn phí cao : Do hiệu quả làm việc thấp, do cơ cấu tổ chức bất hợp lý, do tốc độ cạnh tranh cao dẫn đến các chi phí cao không thể bù đắp được.- Phương hướng phát triển hệ thống cho tương lai:  Trên cơ sở xác định rõ các nguyên nhân yếu kém, đề ra các biện pháp để khắc phục các yếu kém đó. Cụ thể những nhu cầu về thông tin chưa được đáp ứng, các nguyện vọng của nhân viên, dự kiến kế hoạch của lao động.  Nói chung không thể khắc phục ngay mọi yếu kém của hệ thống trong một lần. Cần xác định một chiến lược phát triển lâu dài gồm nhiều bước dựa trên hai nguyên tắc:Thay đổi hệ thống một cách dần dần : Vừa thay đổi được hệ thống cũ nhưng cũngkhông gây ra những thay đổi đột ngột trong hoạt động của doanh nghiệp.Các bước đi đầu phải là nền tảng vững chắc cho các bước đi sau. Các bước đi sauphải thể hiện được sự cải tiến, nâng cao so với bước đi trước, đồng thời kế thừacác thành quả của các bước đi trước đó.3. XÁC ĐỊNH PHẠM VI KHẢ NĂNG MỤC TIÊU DỰ ÁN- Thống nhất các mục tiêu trước mắt và lâu dài trong việc phát triển hệ thống. Căncứ vào kết quả khảo sát, đánh giá hệ thống cũ và các phương hướng phát triển đãđề ra nhà phân tích và nhà quản lý cần xác định rõ mục tiêu chung cần đạt được,từ đó đi đến thống nhất phạm vi của hệ thống tương lai.- Phạm vi : Khoanh vùng dự án cụ thể thực hiện theo các phương pháp: + Khoanh vùng hẹp đi sâu giải quyết vấn đề theo chiều sâu + Giải quyết tổng thể toàn bộ vấn đề theo chiều rộng- Phạm vi của dự án liên quan đến các mặt sau + Xác định các lĩnh vực của dự án : Mỗi lĩnh vực là một bộ phận tương đốiđộc lập của hệ thống.Ví dụ :Bán hàng, mua hàng + Xác định các chức năng: Xác định rõ các nhiệm vụ cho trên từng lĩnh vựccủa dự án.Ví dụ : Trong bán hàng : tăng cường tiếp thị, cải tiến cơ cấu bán hàng. 18 Mục tiêu : Khắc phục các yếu kém hiện tại đáp ứng yêu cầu trong tương lai Hạn chế :Về tài chính, con người, thiết bị, môi trường, thời gian4. PHÁC HOẠ CÁC GIẢI PHÁP CÂN NHẮC TÍNH KHẢ THI Để đạt được mục tiêu đề ra, thường có nhiều giải pháp. Cố gắng tìm ra lượng tối đa các giải pháp. Sau đó sẽ đem ra so sánh, kiểm tra tính khả thi để chọn ra giải pháp tối ưu. Một số tiêu chuẩn so sánh đánh giá+ Mức tự động hoá : có nhiều mức khác nhau  Mức thấp (tổ chức lại các hoạt động thủ công): Không tự động hoá và chỉ cần tổ chức lại hệ thống  Mức trung bình (tự động hoá một phần) có máy tính trợ giúp nhưng không đảo lộn cơ cấu tổ chức: Tự động hoá từng bộ phận, chức năng hay một số lĩnh vực của hệ thống.  Mức cao: Tự động hoá toàn bộ hệ thống, thay đổi toàn diện cơ cấu tổ chức và phương thức làm việc- Hình thức xử lý :+ Xử lý theo mẻ (theo lô) : Thông tin được tích luỹ lại và xử lý một cách định kỳ.Mỗi lần xử lý toàn bộ hay một phần dữ liệu đã tích luỹ được.+ Xử lý trực tuyến (on line) : Dữ liệu được xử lý liên tục, ngay lập tức. Khốilượng dữ liệu để xử lý không lớn lắm và yêu cầu có sự xử lý liên tục.- Phân tích tính hiệu quả và đánh giá tính khả thi:+ Chi phí bỏ ra và lợi ích thu về+ Khả thi về kỹ thuật+ Khả thi về kinh tế+ Khả thi về nghiệp vụ- Lựa chọn cân nhắc tính khả thi.Ví dụ: Hệ cung ứng vật tư- Yếu kém+ Thiếu vắng: Không có sẵn kho hàng chứa các hàng thường sử dụng trong nhàmáy => Khi phân xưởng yêu cầu không thể có hàng ngay. Bộ phận nhận pháthàng còn thiếu việc quản lý kho=>Gây khó khăn cho việc nhận phát hàng+ Sự kém hiệu quả : 19  Cách viết đơn hàng do phải tập hợp phân loại nhiều vật tư đã làm chậm quy trình xử lý.  Cất giữ thông tin về phân xưởng cần mặt hàng nào ở tệp đơn hàng và việc chuyển giao thông tin ở trên giấy tờ.  Tệp đơn hàng không chuyển giao được cho hệ thống phát hàng phải đưa ra giấy tờ để đối chiếu giữa hoá đơn và hàng nhận về.  Quản lý của nhà máy khá phân tán gây nhiều sai sót, phí tổn cao: khâu đối chiếu thủ công- Mục tiêu của hệ thống mới:+ Thêm cho nhà máy một kho hàng thông dụng. Thêm chức năng quản lý khohàng nâng cao việc quản lý hàng hoá, tăng tốc độ giao hàng và nhận hàng.+ Khắc phục hai điều kém hiệu quả bằng cách tổ chức lại để rút ngắn quy trìnhgiải quyết một dự trù hàng hoá. Tự động hoá khâu đối chiếu thủ công tăng tốc độ,giảm sai sót.+ Nhằm tổ chức lại để theo dõi thực hiện đơn hàng chặt chẽ- Phác hoạ giải quyết+ Giải pháp 1: Bỏ hai hệ thống trên máy tính đưa nhiệm vụ về trung tâm máy tínhgiải quyết toàn bộ+ Giải pháp 2: Tạo mới các kênh liên lạc giữa 2 máy tính (Không khả thi về kỹthuật vì 2 máy tính có thể không tương thích)+ Giải pháp 3: Viết thêm một hệ thống đối chiếu hệ thống này nhận thông tin từhệ đặt hàng và phát hàng đưa ra bán. Danh sách phát hàng cùng những thông tinkhông trùng khớp giữa hoá đơn và hàng về.+ Giải pháp 4: Gộp hệ đặt hàng vào phát hàng hoặc ngược lại (Không khả thi vềkỹ thuật và nghiệp vụ)+ Giải pháp 5: Bổ xung việc quản lý kho vào hệ nhận phát hàng và thay thế đốichiếu thủ công bằng hệ thống tự động 20 Ho¸ ®¬n HÖ ®Æt hµng chØ lµm nhiÖm §¬n hµng vô mua hµng Yªu cÇu Ghi nhËn Tån mua hµng hµng vÒ kho HÖ ph¸t hµng: Dù trï tõ Giao hµng cho ph©n x­ëng - Qu¶n lý dù trï ph©n x­ëng - Qu¶n lý kho - NhËn hµng vµ ph¸t Hình 2.2.Sơ đồ hoạt động của hệ thống cung ứng vật tư- Lựa chọn giải phápGiải pháp1:+ Mức độ tự động hoá cao hệ thống cho phép cải thiện rõ rệt hiệu quả cung cấphàng cho các phân xưởng.+ Độ rủi ro cao vì phải bỏ toàn bộ hệ thống cũ thay bằng hệ thống mới.+ Không tận dụng được kết quả của hệ thống cũ đã có hai bộ phận được tự độnghoá mặc dù chưa hoàn chỉnh.+ Chi phí quá lớn => Không có tính khả thi về mặt nghiệp vụ và kinh tếGiải pháp 5 :+ Mức độ tự động hoá vừa phải có tác dụng nêu cao đáng kể hiệu quả cung cấphàng.+ Tận dụng được kết quả của hệ thống cũ.+ Độ rủi ro không lớn lắm có thể chấp nhận được.+ Chi phí ở mức cho phép.+ Tuy nhiên vệc xây dựng hệ thống mới dựa trên hệ thống cũ cũng đặt ra nhiềukhó khăn 21 5. LẬP DỰ TRÙ VÀ KẾ HOẠCH TRIỂN KHAI DỰ ÁN5. 1. Hồ sơ về điều tra và xác lập giải pháp- Tập hợp các kết quả điều tra+ Hồ sơ đầu ra: Mô tả chức năng trả lời cho câu hỏi hệ thống làm gì, mục đíchdùng cho việc gì, thông tin được biểu diễn/đưa ra như thế nào, người sử dụng, tầnsuất, quản lý khi nào và ra sao+ Hồ sơ đầu vào: Mô tả chức năng, mô tả các trường dữ liệu, quan hệ của nó vớiđầu ra.+ Tài nguyên: Phần cứng, chuyên viên kỹ thuật, đội ngũ cán bộ sử dụng, nhu cầuhuấn luyện.- Các ý kiến phê phán đánh giá về+ Thời gian xử lý, thời gian cho phép, trả lời , bảo trì.+ Chi phí thu nhập+ Chất lượng công việc+ Độ tin cậy, tính mềm dẻo+ Khả năng bình quân tối đa của hệ thống.- Các giải pháp đề xuất và các quyết định lựa chọn5. 2. Dự trù về thiết bị- Sơ bộ dự kiến :+ Số lượng dữ liệu cần lưu trữ lâu dài+ Các dạng làm việc+ Số lượng người dùng+ Khối lượng thông tin cần thu thập+ Khối lượng thông tin cần kiết xuất- Thiết bị cần có :+ Cấu hình của thiết bị: tổ chức, hoạt động đơn lẻ trên mạng,+ Thiêt bị ngoại vi+ Phần mềm- Điều kiện mua và lắp đặt:+ Tài chính+ Giao hàng và lắp đặt 22 + Huấn luyện người dùng+ Bảo trì hệ thống5. 3. Kế hoạch triển khai dự án- Lập lịch : Vì các dự án đều bị giới hạn bởi yếu tố thời gian (một trong số cácnhân tố quyết định thành công của dự án) nên phải có kế hoạch phân bổ công việc(thời gian chi tiết và hợp lý) xác định các mốc thờì gian của dự án giúp cho côngtác kiểm tra giám sát tiến độ thực hiện- Tiến độ triển khai dự án+ Các giai đoạn triển khai dự án+ Các kế hoạch lắp đặt+ Các kế hoạch huấn luyện người dùng+ Các mối liên quan đến dự án khác trong tương lai hoặc sự hỗ trợ của các cơquan ngoài.- Người phụ trách: chuyên gia về tin học, về quản lý- Các nhân viên làm việc: các phân tích viên, lập trình viên, những người khaithác. 23 CHƯƠNG 3 PHÂN TÍCH CHỨC NĂNG CỦA HỆ THỐNG1. MÔ HÌNH PHÂN Rà CHỨC NĂNG Xác định chức năng nghiệp vụ là bước đầu tiên của phân hệ thống. Để phântích yêu cầu thông tin của tổ chức ta phải biết được tổ chức thực hiện nhữngnhiệm vụ, chức năng gì. Từ đó tìm ra các dữ liệu, các thông tin được sử dụng vàtạo ra trong các chức năng cũng như những hạn chế, các ràng buộc đặt lên cácchức năng đó.1.1. Định nghĩa Mô hình phân rã chức năng (BFD) là công cụ biểu diễn việc phân rã cóthứ bậc đơn giản các công việc cần thực hiện. Mỗi công việc được chia ra làmcác công việc con, số mức chia ra phụ thuộc kích cỡ và độ phức tạp của hệthống. Ví dụ: QL doanh nghiÖp QL nh©n sù QL tµi chÝnh QL vËt t­ QL b¸n hµng QL ng­êi L§ QL thu chi QL thiÕt bÞ QL ®¬n hµng Tr¶ c«ng L§ H¹ch to¸n QL nguyªn liÖu TiÕp thÞ Hình 3.1. Sơ đồ phân cấp chức năng của hệ thống quản lý doanh nghiệp1.2.Các thành phầna. Chức năng - Chức năng: là công việc mà tổ chức cần làm và được phân theo nhiềumức từ tổng hợp đến chi tiết. - Cách đặt tên : Tên chức năng phải là một mệnh đề động từ, gồm động từvà bổ ngữ. Động từ thể hiện hoạt động, bổ ngữ thường liên quan đến các thựcthể dữ liệu trong miền nghiên cứu. Chú ý: Tên các chức năng phải phản ánh được các chức năng của thế giớithực chứ không chỉ dùng cho hệ thông tin. Tên của chức năng là một câu ngắngiải thích đủ nghĩa của chức năng, sử dụng thuật ngữ nghiệp vụ Ví dụ: Lấy đơn hàng, Mua hàng, Bảo trì kho. - Biểu diễn: Hình chữ nhật Tên chức năng Mua hàngBài tập : Xác định các chức năng trong hệ thống sauViệc quản lý một bến xe khách bao gồm nhiều công việc: Quản lý khách hàng,quản lý trật tự bến bãi, quản lý phương tiện xe máy, quản lý nhân sự của bến xe.Trước mắt hệ thống tập trung quản lý khách hàng và phương tiện xe máy. Kháchhàng có thể gửi yêu cầu xem thông tin hoặc đặt mua vé trực tiếp hay gián tiếpqua điện thoại. Khi nhận được yêu cầu, bến xe phải có thông tin trả lời kháchhàng. Nếu khách hàng muốn đặt mua vé, hệ thống phải có khả năng tìm kiếmnhững điều kiện thuận lợi nhất cho khách hàng (loại xe, chỗ ngồi.) và thực hiệnviệc bán vé.Các phương tiện chuyên chở phải được quản lý chặt chẽ từ khi mới nhập về đếnkhi được thanh lý. Cụ thể khi kiểm tra thấy số lượng phương tiện không đủ đápứng yêu cầu của khách hàng, bến xe sẽ liên hệ với nhà cung cấp đặt mua xe mới.Nhà quản lý căn cứ vào các báo cáo về phương tiện để xem xét. Khi tình trạngmột xe không đảm bảo chất lượng nhà quản lý yêu cầu bộ phận quản lý xe tiếnhành thanh lý. Công việc điều động xe được thực hiện khi có yêu cầu điều độngxe từ nhà quản lý căn cứ vào báo cáo về vé đã bán.Hàng ngày các bộ phận phải có báo cáo cho người quản lý bến về tình trạng củaxe, vé đã bán đồng thời nhận các chỉ thị về điều động xe, thanh lý và nhập mớixe.b. Quan hệ phân cấp - Mỗi chức năng được phân rã thành các chức năng con. Các chức năngcon có quan hệ phân cấp với chức năng cha.− Biểu diễn Mô hình phân rã chức năng biểu diễn thành hình cây phân cấp. Ví dụ: TuyÓn nh©n viªn N hË n ng­êi vµ o lµm viÖ c § ¨ ng th«ng b¸o tuyÓn ng­êi N hË n vµ xe m xÐ t hå s¬ T iÕ n hµ nh p háng vÊ n ho Æ c thi B á c ¸c tr­êng hîp kh«ng tho ¶ m · n G iao viÖ c c ho ng­êi lµm m íi Hình 3.2. Sơ đồ phân cấp chức năng của công việc tuyển nhân viênBài tập : Phân rã các chức năng trong hệ thống quản lý bến xe1.3. Đặc điểm và mục đích của mô hình Đặc điểm  Cung cấp cách nhìn khái quát chức năng  Dễ thành lập  Gần gũi với sơ đồ tổ chức.  Không đưa ra được mối liên quan về thông tin giữa các chức năng. Mục đích  Xác định phạm vi của hệ thống cần phân tích  Cho phép mô tả khái quát dần các chức năng của một tổ chức một cách trực tiếp khách quan. Cho phép phát hiện chức năng thiếu, trùng lặp  Giúp làm việc giữa nhà thiết kế và người sử dụng trong khi phát triển hệ thống.1.4. Xây dựng mô hìnha. Nguyên tắc phân rã các chức năngTrong quá trình tiếp cận một tổ chức theo phương pháp từ trên xuống, ta nhậnđược thông tin về các chức năng từ mức gộp (do lãnh đạo cung cấp) đến mứcchi tiết (do các bộ phận chức năng cung cấp). Cách phân cho này phù hợp với sự phân công các chức năng công việc cho các bộ phận chức năng cũng như chocác nhân viên của một tổ chức. Cách phân chia này thường theo nguyên tắc sau:  Mỗi chức năng được phân rã phải là một bộ phận thực sự tham gia thực hiện chức năng đã phân rã ra nó.  Việc thực hiện tất cả các chức năng ở mức dưới trực tiếp phải đảm bảo thực hiện được các chức năng ở mức trên đã phân rã ra chũngQuy tắc này được sử dụng để phân rã một sơ đồ chức năng nhận được còn đangở mức gộp. Quá trình phân rã dần thường được tiếp tục cho đến khi ta nhậnđược một mô hìnhvới các chức năng ở mức cuối mà ta hoàn toàn nằm được nộidung thực hiện nó.b. Tiến hànhB1: Xác định chức năng  Trong hầu hết các hoàn cảnh, các chức năng cha và chức năng con trong hệ thống có thể được xác định một cách trực giác trên cơ sở thông tin nhận được trong khảo sát.  Ở mức cao nhất, một chức năng chính sẽ làm một trong ba điều sau: + Cung cấp sản phẩm (VD:Phát hàng) + Cung cấp dịch vụ (VD: Đặt hàng) + Quản lý tài nguyên (VD: Quản lý nhân sự, bảo trì kho)  Mỗi chức năng có một tên duy nhất, các chức năng khác nhau phải có tên khác nhau. Để xác định tên cho chức năng có thể bàn luận và nhất trí với người sử dụng.B2: Phân rã các chức năng  Phân rã có thứ bậc  Thực hiện việc phân rã chức năng theo các nguyên tắc phân rã  Khi phân rã một chức năng thành các chức năng con có thể căn cứ vào một số gợi ý:  Xác định nhu cầu hoặc kế hoạch mua sắm.  Mua sắm và/hoặc cài đặt.  Bảo trì và hỗ trợ.  Thanh lý hoặc chuyển nhượngVD: Chức năng "Đặt hàng" :Kế hoạch mua sắm gợi ý:"Chọn nhà cung cấp". Mua sắm gợi ý "Làm đơn hàng", Hỗ trợ :"Cập nhật kết quả thực hiện đơnhàng".  Cách bố trí sắp xếp  Không nên quá 6 mức đối với hệ thống lớn, không quá 3 mức đối với hệ thống nhỏ.  Sắp xếp các công việc trên một mức cùng một hàng đảm bảo cân đối.  Các chức năng con của cùng một mẹ nên có kích thước, độ phức tạp và tầm quan trọng xấp xỉ như nhau.  Các chức năng mức thấp nhất nên mô tả được trong không quá nửa trang giấy, nó chỉ có một nhiệm vụ hoặc một nhóm nhiệm vụ nhỏ do từng cá nhân thực hiện.  Yêu cầu :Mô hình phân rã chức năng cho ta một cái nhìn chủ quan về hệ thống nên cầntạo ra mô hình tốt và đạt được sự thống nhất với người sử dụng.Ví dụ: HÖ cung øng vËt t­ §Æt hµng Ph¸t hµng §èi chiÕu Tr¶ tiÒn Chän NCC Ghi nhËn hµng Khíp §H vµ nhËn hµng Lµm ®¬n hµng LËp phiÕu ph¸t hµng T×m ®Þa chØ ph¸t hµng CËp nhËt KQ thùc hiÖn §H LËp danh s¸ch nhËn hµng Ghi nhËn hµng vÒ theo §H Khíp H§ vµ hµng vÒ Hình 3.3.Mô hình phân cấp chức năng của hệ cung ứng vật tư B3: Mô tả chi tiết chức năng mức lá Đối với mỗi chức năng lá (mức thấp nhất) trong mô hìnhcần mô tả trình tự vàcách thức tiến hành nó bằng lời và có thể sử dụng mô hình hay một hình thứcnào khác. Mô tả thường bao gồm các nội dung sau:  Tên chức năng  Các sự kiện kích hoạt (khi nào? cái gì dẫn đến? điều kiện gì?)  Quy trình thực hiện  Yêu cầu giao diện cần thể hiện (nếu có)  Dữ liệu vào (các hồ sơ sử dụng ban đầu)  Công thức (thuật toán) tính toán sử dụng (nếu có)  Dữ liệu ra (các báo cáo hay kiểm tra cần đưa ra)  Quy tắc nghiệp vụ cần tuân thủ Ví dụ: Mô tả các chức năng lá “kiểm tra khách hàng”: Người ta mở sổ kháchhàng để kiểm tra xem có khách hàng nào như trong đơn hàng không? (họ tên,địa chỉ,…) Nếu không có, đó là khách hàng mới. Ngược lại là khách hàng cũ thìcần tìm tên khách hàng trong sổ nợ và xem khách có nợ không và nợ bao nhiêu,có quá số nợ cho phép b không và thời gian nợ có quá thời hạn hợp đồng không1.5. Các dạng mô hình phân rã chức năng Mô hình phân rã chức năng nghiệp vụ có thể biểu diễn ở hai dạng: dạngchuẩn và dạng công ty. Chọn dạng nào để dùng là tuỳ thuộc vào chiến lược xử lýdữ liệu của công ty và vào tầm quan trọng và độ mềm dẻo của hệ thống.a. Mô hình dạng chuẩn Dạng chuẩn được sử dụng để mô tả các chức năng cho một lĩnh vực khảo sát(hay một hệ thống nhỏ). Mô hình dạng chuẩn là mô hình cây: ở mức cao nhấtchỉ gồm một chức năng, gọi là “chức năng gốc” hay “chức năng đỉnh”; nhữngchức năng ở mức dưới cùng (thấp nhất) gọi là “chức năng lá”b. Mô hình dạng công ty Dạng công ty được sử dụng để mô tả tổng thể toàn bộ chức năng của mộttổ chức có qui mô lớn. ở dạng công ty, mô hình thường gồm ít nhất hai mô hìnhtrở lên. Một “mô hình gộp” mô tả toàn bộ công ty với các chức năng thuộc mứcgộp (từ hai đến ba mức). Các mô hình còn lại các các “mô hình chi tiết” dạngchuẩn để chi tiết mỗi chức năng lá của mô hình gộp. Nó tương ứng với các chứcnăng mà mỗi bộ phận của tổ chức thực hiện, tức là một miền được khảo cứu. Ví dụ: Xö lý ®¬n hµng ChÊp nhËn Gi¸m s¸t Xö lý Göi hµng ®¬n hµng xö lý ®¬n hµng yªu cÇu theo ®¬n hµng NhËn ®¬n hµng KiÓm tra KiÓm tra Gom hµng §ãng gãi hµng Giao nhËn chi tiÕt kh¸ch hµng chi tiÕt mÆt hµng theo ®¬n theo ®¬n theo ®¬n Hình3.4: Sơ đồ chức năng nghiệp vụ dạng chuẩn C«ng ty A Mua L­u kho S¶n xuÊt B¶o tr× kho B¸n hµng Duy tr× vËt t­ vËt t­ hµng tµi kho¶n Hình 3.5: Sơ đồ chức năng nghiệp vụ mức cao nhất Với cách tiếp cận công ty, phân tích toàn bộ công ty, xác định tất cả cácchức năng nghiệp vụ mức cao nhất. Bất cứ dự án nào đang được phát triển đềulà một phần của một trong những chức năng mức cao này. Bài tập: 1. Vẽ mô hình phân rã chức năng cho hệ thống quản lý bến xe. 2. Quan sát thủ thư một thư viện xem làm những việc gì để phục vụ bạn đọc? Hãy lập mô hình phân rã chức năng mô tả các hoạt động của họ.2. MÔ HÌNH LUỒNG DỮ LIỆU2.1. Khái quát Mục đích :  Bổ xung khiếm khuyết của mô hình phân rã chức năng bằng việc bổ xung các luồng thông tin nghiệp vụ cần để thực hiện chức năng.  Cho ta cái nhìn đầy đủ hơn về các mặt hoạt động của hệ thống  Là một trong số các đầu vào cho quá trình thiết kế hệ thống. Phương pháp : Phương pháp phân tích top-down. Hệ thống được mô tả bởi nhiều DFD ở nhiều mức2.2. Định nghĩa Mô hình luồng dữ liệu (DFD - Data Flow Diagram) là một công cụ mô tảmối quan hệ thông tin giữa các công việc . Ví dụ: Mô hình luồng dữ liệu của hoạt động bán hàng 2.3. Các thành phầna. Chức năng (Tiến trình) - Định nghĩa: Là một hoạt động có liên quan đến sự biến đổi hoặc tác động lên thông tin như tổ chức lại thông tin, bổ sung thông tin hoặc tạo ra thông tin mới. Nếu trong một chức năng không có thông tin mới được sinh ra thì đó chưa phải là chức năng trong DFD. - Cách đặt tên: Động từ + bổ ngữ. VD: Chấp nhận nguồn hàng, ghi kho vật liệu. - Biểu diễn : hình chữ nhật góc tròn hoặc hình tròn STT Tên chức Tên chức năng năng Chú ý : Trong thực tế tên chức năng phải trùng với tên chức năng trong môhình phân rã chức năng. Bài tập: Xác định các chức năng trong hệ thống quản lý bến xeb. Luồng dữ liệu : - Định nghĩa: Là luồng thông tin vào hoặc ra khỏi chức năng - Cách đặt tên : Danh từ + tính từ - Biểu diễn : là mũi tên trên đó ghi thông tin di chuyển hoá đơn Ghi nhận hoá đơn hợp lệ hoá đơn  Chú ý: Các luồng dữ liệu phải chỉ ra được thông tin logic chứ không phải tài liệu vật lý. Các luồng thông tin khác nhau phải có tên gọi khác nhau. Ví dụ: Luồng dữ liệu biểu hiện việc trả tiền mang tên là "thanh toán" chứkhông mang tên là "tiền" hay "sec". Bài tập: Xác định luồng dữ liệu của chức năng quản lý khách hàng và chứcnăng quản lý phương tiện trong hệ thống quản lý bến xe bài tập 1c. Kho dữ liệu - Định nghĩa: Là nơi biểu diễn thông tin cần cất giữ, để một hoặc nhiều chức năng sử dụng chúng. - Cách đặt tên : danh từ + tính từ. Chỉ nội dung dữ liệu trong kho - Biểu diễn : cặp đường thẳng song song chứa thông tin cần cất giữ Hoá đơn Quan hệ giữa kho dữ liệu, chức năng và luồng dữ liệu Vào Ra Cập nhậtĐưa thông tin vào kho Lấy thông tin từ kho Vừa lấy thông tin ra xử lý vừa cập nhật lại kho Ví dụ: Một người muốn tra cứu một danh sách giá cả: phải lấy thông tin từkho dữ liệu danh sách giá cả (hình a), còn muốn sửa đổi giá cả thì luồng dữ liệuđi từ tiến trình tới kho dữ liệu (hình b). Để biểu thị việc kiểm tra giá cả mặt hàngvà sửa đổi các giá không phù hợp thì dùng mũi tên hai chiều để biểu thị luồngdữ liệu từ tiến trình tới kho (hình c). Lªn gi¸ HiÖu chØnh KiÓm tra ®¬n hµng gi¸ c¶ vµ söa ®æi gi¸ Danh s¸ch gi¸ Danh s¸ch gi¸ Danh s¸ch gi¸ H×nh a H×nh b H×nh c Bài tập: Xác định kho dữ liệu trong hệ thống quản lý bến xed. Tác nhân ngoài - Định nghĩa: Là một người hoặc một nhóm người nằm ngoài hệ thống nhưng có trao đổi trực tiếp với hệ thống. Sự có mặt của các nhân tố này trên sơ đồ chỉ ra giới hạn của hệ thống, định rõ mối quan hệ của hệ thống với thế giới bên ngoài - Tên : Danh từ - Biểu diễn : hình chữ nhật Khách hàng Nhà cung cấp Bài tập: Xác định tác nhân ngoài trong hệ thống quản lý bến xee. Tác nhân trong - Là một chức năng hoặc một hệ thống con của hệ thống đang xét nhưng được trình bày ở một trang khác của mô hình. Mọi sơ đồ luồng dữ liệu đều có thể bao gồm một số trang, thông tin truyền giữa các quá trình trên các trang khác nhau được chỉ ra nhờ kí hiệu này. - Tên: động từ + bổ ngữ - Biểu diễn: Bán Bán Ví dụ: Vẽ mô hình luồng dữ liệu cho hệ thống quản lý bến xe QL kh¸ch hµng yªu VÐ cÇu KH Thanh TT tr¶ Ph­¬ng tiÖn to¸n lêi §¬n hµng Kh¸ch hµng VÐ b¸n QL ph­¬ng tiÖn Nhµ CC PhiÕu GH Hµng Ph­¬ng tiÖn Hình 3.7. Mô hình luồng dữ liệu cho hệ thống quản lý bến xe khách2.4. Một số quy tắc vẽ biểu đồ luồng dữ liệu  Các luồng dữ liệu vào của một tiến trình cần khác với các luồng dữ liệu ra của nó. Tức là các dữ liệu qua một tiến trình phải có thay đổi. Ngược lại, tiến trình là không cần thiết vì không tác động gì đến các luồng thông tin đi qua nó.  Các đối tượng trong một mô hình luồng dữ liệu phải có tên duy nhất: mỗi tiến trình phải có tên duy nhất. Tuy nhiên, vì lí do trình bày cùng một tác nhân trong, tác nhân ngoài và kho dữ liệu có thể được vẽ lặp lại.  Các luồng dữ liệu đi vào một tiến trình phải đủ để tạo thành các luồng dữ liệu đi ra.  Nói chung tên luồng thông tin vào hoặc ra kho trùng với tên kho vì vậy không cần viết tên luồng. Nhưng khi ghi hoặc lấy tin chỉ tiến hành một phần kho thì lúc đó phải đặt tên cho luồng  Không có một tiến trình nào chỉ có cái ra mà không có cái vào. Đối tượng chỉ có cái ra thì có thể là tác nhân ngoài (nguồn)  Không một tiến trình nào mà chỉ có cái vào. Một đối tượng chỉ có cái vào thì chỉ có thể là tác nhân ngoài (đích)  Không có các trường hợp sau2.5. Xây dựng mô hình luồng dữ liệu - Bước 1: Xây dựng mô hình luồng dữ liệu mức khung cảnh (mức 0)  Mô hình luồng dữ liệu mức khung cảnh gồm một chức năng duy nhất biểu thị toàn bộ hệ thống đang nghiên cứu, chức năng này được nối với mọi tác nhân ngoài của hệ thống.  Các luồng dữ liệu giữa chức năng và tác nhân ngoài chỉ thông tin vào và ra của hệ thống VD: Mô hình dữ liệu mức khung cảnh của hệ cung ứng vật tư Dù trï §¬n hµng Ph©n x­ëng Nhµ CC HÖ cung øng vËt t­ Ho¸ ®¬n + PhiÕu ph¸t hµng PhiÕu giao hµng Hình 3.8. Mô hình dữ liệu mức khung cảnh của hệ cung ứng vật tư b.Xây dựng mô hình luồng dữ liệu mức đỉnh (mức 1)- Với mức đỉnh các tác nhân ngoài của hệ thống ở mức khung cảnh được giữnguyên với các luồng thông tin vào ra.- Hệ thống được phân rã thành các chức năng mức đỉnh là các tiến trình chínhbên trong hệ thống theo mô hình phân rã chức năng mức 1.- Xuất hiện thêm các kho dữ liệu và luồng thông tin trao đổi giữa các chứcnăng mức đỉnh.VD: Mô hình luồng dữ liệu mức đỉnh của hệ cung ứng vật tư §Æt hµng Dù trï d/s §¬n hµng ®¬n hµng §¬n hµng ho¸ ®¬n kh«ng khíp §èi chiÕu Ph©n x­ëng Ho¸ ®¬n Nhµ CC §i¹ Tr¶ tiÒn PhiÕu thanh chØ ph¸t to¸n hµng PhiÕu ph¸t Hµng hµng PhiÕu giao hµng Ph¸t hµng Hình 3.9. Mô hình luồng dữ liệu mức đỉnh của hệ cung ứng vật tư c.Xây dựng mô hình luồng dữ liệu mức dưới đỉnh (mức 2 và dưới 2)- ở mức này thực hiện phân rã đối với mỗi chức năng của mức đỉnh.- Khi thực hiện mức phân rã này vẫn phải căn cứ vào mô hình phân rã chứcnăng để xác định các chức năng con sẽ xuất hiện trong mô hình luồng dữ liệu. - Việc phân rã có thể tiếp tục cho đến khi đủ số mức cần thiết - Khi phân rã các chức năng phải đảm bảo tất cả các luồng thông tin vào ra ở chức năng mức cao phải có mặt trong các chức năng mức thấp hơn và ngược lại. *Chú ý: - Các kho dữ liệu không xuất hiện ở DFD mức khung cảnh. - Nên đánh số các chức năng theo sự phân cấp. - Các kho dữ liệu, các tác nhân ngoài có thể xuất hiện nhiều lần. - Số mức phụ thuộc vào độ phức tạp của hệ thống. Ví dụ: Mô hình luồng dữ liệu của hệ thống cung ứng vật tư mức dưới đỉnhcủa + Chức năng 1 (đặt hàng) Chän nhµ CC Th«ng tin Dù trï NCC Dù trï Nhµ CC Ph©n x­ëng Nhµ CC Lµm §H §¬n hµng §¬n hµng b¶ng ghi tr¶ tiÒn CËp nhËt KQ thùc hiÖn §H Tr¶ tiÒn 3.10. Mô hình luồng dữ liệu mức dưới đỉnh của chức năng Đặt hàng + Chức năng 2 + Chức năng 32.6. Chuyển từ mô hình luồng dữ liệu vật lý sang mô hình luồng dữ liệu logic  Trong thực tế người ta thấy tạo ra một mô hình DFD cho hệ thống thực dưới dạng vật lý không có lợi: Tốn nhiều thời gian và tiêu tốn nguồn tài nguyên phát triển dự án một cách không cần thiết. Có thể xem quá trình này là việc sao chép công việc của kỹ thuật viên điều tra, sao chép tất cả những gì đang thực hiện hiện tại. Khi tạo ra mô hình thì phải tạo ra những điều chỉnh tượng trưng cho nó, xử lý nó như mô hình logic, kết quả là hệ thống mới chỉ đơn thuần là tin học hoá hệ thống cũ với rất nhiều lỗi mà cái ta cần cuối cùng là mô hình DFD logic.  Mô hình logic loại những ràng buộc, các yếu tố vật lý, nó chỉ quan tâm chức năng nào là cần cho hệ thống và thông tin nào là cần để thực hiện cho chức năng đó.  Các yếu tố vật lý cần loại bỏ:  Các phương tiện, phương thức: tự động, thủ công, bàn phím, màn hình,  Các giá mang thông tin: các tệp, chứng từ  Các chức năng xử lý gắn với các công cụ hay cách thức cài đặt cụ thể  Tiến hành các loại bỏ và chỉnh đốn lại cấu trúc. Loại bỏ: loại bỏ các ngôn từ, hình vẽ biểu diễn các phương tiện, giá mang tin, giữ lại các chức năng và nội dung thông tin * Chú ý: + Nên xây dựng mô hình logic cần có bằng cách điều chỉnh mô hình logicthực tại. + Không có sự phân chia rõ rệt giữa logic và vật lý. Mô hình càng phân rã ởmức thấp thì càng thêm nhiều yếu tố vật lý. + Càng giữ cho mô hình của mình được logic nhiều nhất khi đi sâu vào chitiết càng tốt.2.7. Chuyển từ DFD của hệ thống cũ sang DFD của hệ thống mới.  Giai đoạn này có ý nghĩa vô cùng quan trọng ảnh hưởng to lớn đến sự thành công của hệ thống mới.  Trong giai đoạn này nhà quản lý và nhà phân tích phải hợp tác chặt chẽ để tìm cách hoà hợp cơ cấu tổ chức, nhận thức được vai trò của máy tính để thay đổi hệ thống cũ.  Để chuyển từ DFD của hệ thống cũ sang DFD của hệ thống mới trước tiên phải xác định các mặt yếu kém cần cải tiến, thay đổi trong hệ thống cũ.  Các yếu kém chủ yếu do sự thiếu vắng gây ra : thiếu vắng về cơ cấu tổ chức hợp lý, thiếu vắng các phương tiện hoạt động từ đó dẫn đến hiệu quả hoạt động thấp, chi phí hoạt động cao.  Xem lại mô hình luồng dữ liệu + Nếu thiếu vắng thì bổ xung + Nếu thừa thì loại bỏ + Nếu thay đổi bắt đầu từ mức đỉnh  Khoanh vùng vùng sẽ được thay đổi  Giữ nguyên các luồng vào và luồng ra của vùng  Xác định chức năng tổng quát của vùng  Xoá bỏ mô hình luồng dữ liệu bên trong vùng được khoanh, lập lại các chức năng từ mức thấp nhất.  Thành lập kho dữ liệu và luồng dữ liệu cần thiết.  Sửa lại mô hình phân rã chức năng theo mô hình luồng dữ liệu.  Kiểm tra lại các mô hình dữ liệu điều chỉnh lại cho hợp lý. Ví dụ: Hệ cung ứng vật tư - Nhược điểm : thiếu kho hàng thông dụng + Tốc độ chậm vì có khâu đối chiếu thủ công + Theo dõi thực hiện đơn hàng còn nhiều sai sót + Lãng phí do đối chiếu thủ công -Sửa mô hình luồng dữ liệu + Bổ xung : Kho chứa vật tư + Sửa lại DFD của hệ thống2.8. Hoàn chỉnh mô hình DFD Khi đã hoàn thành sơ đồ luồng dữ liệu cần kiểm tra về tính đầy đủ và nhấtquán của nó. Phải làm cho sơ đồ đơn giản, chính xác và logic nhất có thể được. Có thể xảy ra các tình huống sau nên tránh: - Hiệu ứng mặt trời bừng sáng : Một chức năng có quá nhiều dòng vào ra. Khắc phục : Gom nhóm hoặc phân rã tiếp một số chức năng chưa hợp lý. VD: - Thông tin đi qua một chức năng mà không bị thay đổi VD : dự trù dự trù Ghi dự Đặt hàng trù dự trù/đơn hàng Khắc phục xoá bỏ chức năng không biến đổi thông tin. Xuất hiện một chức năng có các chức năng con không có liên quan về dữliệu (không có dòng thông tin nội bộ gắn với nhau hoặc không sử dụng kho dữliệu chung) => Phân bố sơ đồ phân rã chức năng chưa hợp lý cần xem xét lại. Ví dụ QL 1 2 1.1 1.2 1.3 1.4 2.1 2.2 2.3 .1 Kho .2 1 .3 .4  Chú ý khi thay đổi mô hình luồng dữ liệu thì phải sửa lại mô hình phân rãchức năng cho phù hợp.Tác dụng - Xác định nhu cầu thông tin ở mỗi chức năng - Cho một thiết kế sơ bộ về thực hiện chức năng - Là phương tiện giao tiếp giữa người phân tích thiết kế và người sử dụng - Luôn có hai mức diễn tả vật lý và lôgíc. Mức vật lý trả lời câu hỏi như thế nào, mức lôgíc trả lời câu hỏi làm gì. 2.9.Phân mức - Sơ đồ luồng dữ liệu đầy đủ của hệ thống là rất phức tạp không thể xếp gọn trong một trang => Cần dùng tới kỹ thuật phân rã sơ đồ theo một số mức. - Các mức được đánh số thứ tự, mức cao nhất (mức khung cảnh) là 0 sau đó đến mức đỉnh 1, các mức dưới đỉnh 2,3,. Mức 0: Tên chức năng là tên toàn bộ hệ thống. Mức 1: Mỗi chức năng được gắn với một số và sẽ được mang tiếp theo với các chỉ số chỉ mức phụ thuộc, xem như một cách đặt tên theo số cho từng chức năng con của nó. Bắt đầu ở mức 1 mới có các kho dữ liệu. VD: 1 2 1.2 2.1 2.2 1.3.1 1.3.2 1.3.32.10. Hạn chế của mô hình luồng dữ liệu - Không chỉ ra được yếu tố thời gian (Ví dụ:Thông tin chuyển từ tiến trình này sang tiến trình khác hết bao nhiêu thời gian) - Không xác định được trật tự thực hiện các chức năng. - Không chỉ ra được yếu tố định lượng đối với dữ liệu có liên quan (tối đa và tối thiểu những thông tin là cơ bản trong quá trình phân tích)3.Bài tập ứng dụng 1. Lập mô hình luồng dữ liệu cho chức năng quản lý khách hàng và quản lýphương tiện của hệ thống quản lý bến xe 2. Vẽ sơ đồ phân rã chức năng và sơ đồ luồng dữ liệu cho hệ thống sau Hệ thống cung ứng vật tư cho các phân xưởng trong một nhà máy. Cơ cấu hoạt động: Nhà máy tổ chức ba bộ phận để thực hiện việc cung ứngvật tư cho các phân xưởng  Bộ phận mua hàng : Thực hiện việc mua hàng theo dự trù của các phân xưởng. Nó sử dụng một máy tính có cài đặt hệ thống đặt hàng. khi nhận được dự trù từ một phân xưởng, hệ đặt hàng tìm thông tin về nhà cung ứng trên cơ sở dùng tệp nhà cung cấp có chứa thông tin về các nhà cung cấp cùng với vật tư của họ. Sau khi thương lượng với nhà cung cấp, hệ đặt hàng sẽ in ra một đơn hàng để gửi đến nhà cung cấp, một bản sao của đơn hàng được lưu trong tệp đơn hàng. Chú ý : Mỗi mặt hàng trên bản dự trù chỉ do một nhà cung cấp cung ứng . Mỗi đơn hàng có thể chứa nhiều mặt hàng do nhiều phân xưởng dự trù. Trong đơn hàng không có thông tin về phân xưởng dự trù mặt hàng vì vậy hệ đặt hàng cần phải ghi lại mối liên quan giữa các dự trù với các đơn hàng, thông tin đó được đặt trong tệp dự trù/đơn hàng.  Bộ phận phát hàng : Có nhiệm vụ nhận hàng từ nhà cung cấp gửi đến rồi phát hàng cho các phân xưởng. Bộ phận này cũng sử dụng một máy tính riêng có hệ nhận/phát hàng. Hàng hoá được nhà cung cấp gửi tới có kèm theo phiếu giao hàng được xếp vào kho. Nội dung của phiếu giao hàng được lưu vào tệp nhận hàng. Chú ý : Mỗi phiếu giao hàng có thể chứa nhiều mặt hàng khác nhau, được đặt từ nhiều đơn hàng khác nhau cho nhà cung cấp đó. Vì vậy trong phiếu phát hàng phải ghi rõ đơn đặt hàng đã yêu cầu cho mỗi mặt hàng.Thông tin trên phiếu giao hàng không có thông tin về người sử dụng hàng (Phân xưởng), bộ phận phát hàng chưa biết ngay được địa chỉ phát hàng mà phải qua bộ phận đối chiếu đơn hàng và dự trù.  Bộ phận đối chiếu thủ công: Có nhiệm vụ đối chiếu các thông tin để tìm ra địa chỉ phát hàng. Hàng ngày hàng bộ phận phát hàng in ra một danh sách nhận hàng trong ngày gửi cho bộ phận đối chiếu. Đồng thời, hàng ngày bộ phận đối chiếu nhận một danh sách đơn hàng từ bộ phận mua hàng. Bộ phận đối chiếu sẽ khớp hai loại danh sách này để tìm các phân xưởng đã dự trù lượng hàng nhận về. Sau khi đối chiếu, bộ phận lập một phiếu đối chiếu gửi cho bộ phận nhận hàng để bộ phận này tiến hành phát hàng cho các phân xưởng. Ngoài ra bộ phận đối chiếu nhận hoá đơn từ nhà cung cấp, đối chiếu với hàng về và danh sách đơn hàng nếu khớp thông báo cho tài vụ thanh toán tiền, ngược lại nếu không khớp thì trao đổi lại với nhà cung cấp. 3. Cho mô hình phân rã chức năng của hệ thống hoạt động tín dụng trongmột ngân hàng. Hãy vẽ mô hình luồng dữ liệu của hệ thống. Ho¹t ®éng tÝn dôngCho vay Thu nî NhËn ®¬n vay X¸c ®Þnh lo¹i tr¶ DuyÖt ®¬n Ghi nhËn tr¶ ®óng h¹n Tr¶ lêi ®¬n Ghi nhËn tr¶ sai h¹n CHƯƠNG 4 PHÂN TÍCH VÀ THIẾT KẾ DỮ LIỆU1. TỔNG QUAN Tất cả mọi hệ thống đều phải sử dụng một cơ sở dữ liệu của mình, đó có thể làmột cơ sở dữ liệu đã có hoặc một cơ sở dữ liệu được xây dựng mới. Cũng có nhữnghệ thống sử dụng cả cơ sở dữ liệu cũ và mới. Việc phân tích và thiết kế cơ sở dữ liệucho một hệ thống có thể tiến hành đồng thời với việc phân tích và thiết kế hệ thốnghoặc có thể tiến hành riêng. Vấn đề đặt ra là cần xây dựng một cơ sở dữ liệu giảmđược tối đa sự dư thừa dữ liệu đồng thời phải dễ khôi phục và bảo trì.1.1. Các khái niệm  Cơ sở dữ liệu (CSDL): CSDL máy tính là một kho chứa một bộ sưu tập có tổ chức các file dữ liệu, các bản ghi và các trưường.  Hệ quản trị cơ sở dữ liệu (HQTCSDL) là một phần mềm điều khiển mọi truy nhập đối với CSDL. Hệ Người Giao quản Cơ sở dữ sử dụng diện trị liệu CSDL  Các HQTCSDL được phân loại theo mô hình dữ liệu như sau:  Các HQTCSDL phân cấp ứng với mô hình phân cấp (VD: IMS của IBM)  Các HQTCSDL mạng ứng với mô hình mạng (VD: IDMS của Cullinet Software)  Các HQTCSDL quan hệ ứng với mô hình quan hệ (VD: ORACLE của Oraccle, DB2 của IBM, Access và SQL server của Microsoft)  Các HQTCSDL hướng đối tượng ứng với mô hình hướng đối tượng (VD: Jasmine, …)1.2. Các bước tiến hành phân tích và thiết kế CSDL  Phân tích – bước này độc lập với các hệ quản trị CSDL.  Xác định các yêu cầu về dữ liệu: Phân tích các yêu cầu dữ liệu của hệ thống để xác định các yêu cầu về dữ liệu.  Mô hình hoá dữ liệu: Xây dựng mô hình thực thể liên kết biểu diễn các yêu cầu về dữ liệu.  Thiết kế cơ sở dữ liệu quan hệ  Thiết kế logic CSDL: độc lập với một hệ quản trị CSDL.  Xác định các quan hệ: Chuyển từ mô hình thực thể liên kết sang mô hình quan hệ.  Chuẩn hoá các quan hệ: chuẩn hoá các quan hệ về dạng chẩn ít nhất là chuẩn 3 (3NF)  Thiết kế vật lý CSDL: dựa trên một hệ quản trị CSDL cụ thể.  Xây dựng các bảng trong CSDL quan hệ: quyết định cấu trúc thực tế của các bảng lưu trữ trong mô hình quan hệ.  Hỗ trợ các cài đặt vật lý trong CSDL: cài đặt chi tiết trong HQTCSDL lựa chọn.2. MÔ HÌNH THỰC THỂ LIÊN KẾT2.1. Mục đích Mô tả thế giới thực gần với quan niệm, suy nghĩ của ta. Đây là mô hình tốt với lượng thông tin ít nhất, mô tả thế giới dữ liệu đầy đủ nhất Việc xây dựng mô hình nhằm thành lập một biểu đồ cấu trúc dữ liệu bao gồm dữ liệu cần xử lý và cấu trúc nội tại của nó. Ví dụ một mô hình thực thể liên kết Nhà cung cấp Mặt hàng Đơn hàng Nhà CC/Mặt hàng 4.1. Mô hình liên kết thực thể của việc bán hàng 2.2. Các thành phần Mô hình thực thể liên kết 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 dùng bốn kiểu khối xây dựng: thực thể, kiểu thực thể, thuộc tính,liên kếta. Thực thể Một thực thể là khái niệm để chỉ một đối tượng, một nhiệm vụ, một sự kiệntrong thế giới thực hay tư duy được quan tâm trong quản lý. Một thực thể tươngđương với một dòng trong bảng nào đó VD: sinh viên Lê An, Đơn hàng số 123, .b. Kiểu thực thể - Kiểu thực thể là việc nhóm tự nhiên một số thực thể lại, mô tả cho một loạithông tin chứ không phải là bản thân thông tin. Kiểu thực thể thường là tập hợp cácthực thể có cùng bản chất. Tên kiểu thực thể: là một danh từ. - Ví dụ: Lê An là một thực thể, được quan tâm tới vì anh ta đang học tại mộttrường đại học A, tức anh ta là một sinh viên. SINH VIÊN là một kiểu thực thể vì nómô tả cho một số thực thể và dựa trên đó thông tin được lưu giữ. - Kiểu thực thể được biểu diễn dạng hình chữ nhật Tên kiểu thực thể SINH VIÊN Chú ý: Một cách gọi khác của Kiểu thực thể - Thực thể đó là Thực thể - Thể hiện của thực thể.Ví dụ: có thể nói kiểu thực thể SINH VIÊN có các thực thể Lê An, Hoàng Thị Hà Hay thực thể SINH VIÊN có các thể hiện Lê An, Hoàng Thị Hà,… Bài tập: Tìm các kiểu thực thể trong hệ thống quản lý bến xe (Khách hàng, Vé, Phương tiện, Nhà cung cấp, Đơn hàng)c. Liên kết và kiểu liên kết - Liên kết (còn gọi là quan hệ) là sự kết hợp giữa hai hay nhiều thực thể phản ánhsự ràng buộc trong quản lý. Đặc biệt: Một thực thể có thể liên kết với chính nó ta thường gọi là tự liên kết. Giữa hai thực thể có thể có nhiều hơn một liên kết. - Kiểu liên kết là tập hợp các liên kết có cùng bản chất. Các kiểu liên kết cho biếtsố thể hiện lớn nhất của mỗi thực thể tham gia vào liên kết với một thể hiện của mộtthực thể khác. Có ba kiểu liên kết: một - một, một - nhiều, nhiều – nhiều.  Liên kết một – một (1-1): Mỗi thể hiện của thực thể A quan hệ với một thể hiện của thực thể B và ngược lại. Kí hiệu: Ví dụ: Một sinh viên có một luận văn. Một luận văn thuộc về một sinh viên. có Luận văn thuộc SINH VIÊN  Liên kết một – nhiều (1-N) về Mỗi thể hiện của thực thể A quan hệ với nhiều thể hiện của thực thể B. Ngược lại mỗi thể hiện của thực thể B quan hệ với chỉ một thể hiện của thực thể A. Kí hiệu: Ví dụ: Một khoa có nhiều sinh viên. Một sinh viên thuộc về một khoa. thuộc về khoa SINH VIÊN có  Liên kết nhiều – nhiều (N-N) Mỗi thể hiện của thực thể A quan hệ với nhiều thể hiện của thực thể B. Ngược lại mỗi thể hiện của thực thể B quan hệ với nhiều thể hiện của thực thể A. Kí kiệu Ví dụ: Một giáo viên dạy nhiều sinh viên. Một sinh viên được dạy bởi nhiều giáo viên. được dạy bởi Giáo viên SINH VIÊN Dạy - Loại thành viên: là điều kiện một thể hiện của thực thể tham gia vào liên kếtvới một thực thể khác. Nó có thể là bắt buộc hay tuỳ chọn trong quan hệ. Các loạithành viên cho biết số thể hiện nhỏ nhất của mỗi thực thể tham gia vào liên kết vớimột thể hiện của một thực thể khác. Kí hiệu: Tuỳ chọn Bắt buộc Ví dụ:Tuỳ chọn (ít nhất 0) –“một giáo viên có thể dạy không, một hoặc nhiều môn học.” Bắt buộc(ít nhất 1) – “một môn học cần phải được một hoặc nhiều giáo viên dạy.” được dạy bởi Giáo viên Môn học dạy Chú ý : - Mô hình dữ liệu không chỉ là công cụ phân tích thiết kế mà còn như mộtphương pháp kiểm tra chặt chẽ các yêu cầu nghiệp vụ của người sử dụng. Liên kếtmột - nhiều biểu thị ràng buộc là một phần của mô tả yêu cầu nghiệp vụ : Khi chiềumột nhiều là mở, không xác định (khách hàng có thể có nhiều đơn hàng) thì chiều từnhiều sang một là hoàn toàn xác định (một đơn hàng phải thuộc về một khách hàng). - Nếu hai thực thể có quan hệ một - một thường có ít lý do để coi chúng như haibảng tách biệt => người ta thường gộp hai thực thể làm một bảng với mỗi dòng dàihơn. - Nếu hai thực thể có quan hệ nhiều - nhiều thì không có sự khác biệt về bản chấtgiữa các chiều (không nói lên được kẻ thống trị) => ít khi được sử dụng. Tóm lại trong ba kiểu liên kết trên, liên kết một nhiều là quan trọng hơn cả vàhầu như các mối quan hệ trong mô hình thực thể liên kết đều là một nhiều.Bài tập: Xác định các liên kết của các kiểu thực thể trong hệ thống quản lý bến xe Khách hàng - Vé (1-n); Vé - Phương tiện (n-1); Đơn hàng- Nhà cc(n-1); Đơnhàng-Phương tiện (1-n) d. Thuộc tính - Thuộc tính là giá trị thể hiện một đặc điểm nào đó của một thực thể hay mộtliên kết. Mỗi thuộc tính có một tập giá trị gọi là miền giá trị của thuộc tính đó. Kýhiệu miền giá trị của thuộc tính A là D(A). - Ví dụ: Thực thể SINH VIÊN có các thuộc tính như: Mã SV, tên SV, ngày sinh,giới tính, địa chỉ,… - Các kiểu thuộc tính :  Thuộc tính định danh (còn gọi là định danh thực thể, đôi khi còn gọi là thuộc tính khoá): Là một hoặc một số thuộc tính mà giá trị của nó cho phép phân biệt các thực thể khác nhau. Một thực thể bao giờ cũng được xác định một thuộc tính định danh làm cơ sở để phân biệt các thể hiện cụ thể của nó. Ví dụ : Số hiệu khách hàng, Mã mặt hàng, Mã sinh viên,.  Thuộc tính mô tả: Là các thuộc tính mà giá trị của chúng chỉ có tính mô tả cho thực thể hay liên kết mà thôi. Hầu hết các thuộc tính trong một kiểu thực thể đều là mô tả. Một số thuộc tính mô tả đặc biệt:  Thuộc tính tên gọi là thuộc tính mô tả để chỉ tên các đối tượng thuộc thực thể. Thuộc tính tên gọi để phân biệt các thực thể (tách các thực thể).  Thuộc tính kết nối (thuộc tính khoá ngoài): là thuộc tính chỉ ra mối quan hệ giữa một thực thể đã có và một thực thể trong bảng khác. Thuộc tính kết nối giống thuộc tính mô tả thông thường trong thực thể chứa nó nhưng nó lại là thuộc tính khoá của một thực thể trong bảng khác. Ví dụ: Sinh viªn KiÓu thùc thÓ LuËn v¨n M· SV Thuéc tÝnh ®Þnh danh M· luËn v¨n Thuéc tÝnh tªn gäi Tªn luËn v¨n Hä tªn SV GVHD Ngµy sinh M· SV Líp Thuéc tÝnh m« t¶ Quª qu¸n Thuéc tÝnh kÕt nèi2.3. Xây dựng mô hình thực thể liên kết của hệ thống a. Các bước tiến hành B1: Xác định các thực thể và các định danh thực thể  Xác định các thực thể là các mục thông tin cần thiết cho hệ thống và hệ thống cần lưu giữ. Tìm các thực thể từ ba nguồn :  Thông tin tài nguyên: con người, kho bãi, tài sản (VD: nhà cung cấp, mặt hàng, kho.)  Thông tin giao dịch: là các luồng thông tin đến từ môi trường và kích hoạt một chuỗi hoạt động của hệ thống (VD: đơn hàng (mua,bán), dự trù, phiếu yêu cầu,.)  Thông tin tổng hợp: thường ở dưới dạng thống kê liên quan đến các kế hoạch hoặc kiểm soát (VD: dự toán chi tiêu, tính lương.)  Ghi lại các tên đồng nghĩa của thực thể trong từ điển dữ liệu.  Kiểm tra rằng mỗi thực thể thoả mãn:  Tên gọi là danh từ.  Có nhiều thể hiện.  Có duy nhất một định danh.  Có ít nhất một thuộc tính mô tả.  Có quan hệ với ít nhất một thực thể khác. B2: Xác định liên kết giữa các thực thể  Thiết lập sự tồn tại của liên kết (Vẽ đường thẳng và đặt tên quan hệ tại hai đầu)  Xác định loại liên kết (1-1, 1-N, N-N) và loại thành viên (tuỳ chọn hay bắt buộc).  Tách liên kết N-N thành hai liên kết 1-N với một thực thể kết hợp. Khi đó thực thể kết hợp sẽ có định danh được tạo thành từ hai thuộc tính định danh của các thực thể ban đầu. Ví dụ : Hình 4.3. Tách liên kết n-n giữa Giáo viên và Môn họcB3: Xác định các thuộc tính mô tả cho các thực thể  Mỗi thuộc tính chỉ xuất hiện một lần trong thực thể tương ứng.  Nếu không chắc chắn là thuộc tính hay thực thể cần tiếp tục nghiên cứu và phân tích nó.  Chú ý: Khi một thuộc tính của thực thể A có nhiều giá trị ta sẽ mô hình hoá thuộc tính đó là một thực thể B có quan hệ phụ thuộc với thực thể A. Định danh của thực thể B sẽ bao gồm các thuộc tính định danh của thực thể A và một số thuộc tính khác của thực thể B. Liên kết giữa thực thể A và thực thể B được gọi là liên kết phụ thuộc. Ví dụ: Một nhân viên có thể có nhiều trình độ ngoại ngữ với các ngôn ngữ khác nhau. Khi đó trình độ ngoại ngữ của nhân viên không được mô hình hoá là một thuộc tính mà được mô hình hoá là một thực thể như sau: Nhân viên Trình độ nn mã NV mã NV họ tên ngoại ngữ ngày trình độ Định danh của thực thể TRÌNH ĐỘ NN gồm hai thuộc tính mã NV và ngoại ngữ.b. Ví dụ Một công ty thương mại Y chuyên kinh doanh các mặt hàng điện tử. Công tynhập các mặt hàng từ các nhà cung cấp khác nhau. Chi tiết về các mặt hàng gồm có:mã hàng (duy nhất), tên hàng và các mô tả mặt hàng. Công ty cũng cần lưu giữ thông tin về các nhà cung cấp như tên, địa chỉ, điệnthoại, fax. Mỗi nhà cung cấp có một mã duy nhất. Mỗi nhà cung cấp có thể cung cấpnhiều mặt hàng nhưng mỗi mặt hàng chỉ được cung cấp từ một nhà cung cấp. Các mặt hàng được lưu giữ trong các kho. Mỗi kho hàng có một diện tích khácnhau và chỉ chứa một loại mặt hàng. Công ty có nhiều cửa hàng đại lý để bán các mặt hàng. Hàng được cung cấp chocác cửa hàng thông qua các các phiếu xuất. Thông tin trên mỗi phiếu xuất cần có mãsố cửa hàng nhận hàng, ngày xuất, thông tin về các mặt hàng được xuất như tênhàng, số lượng, đơn giá, thành tiền. Yêu cầu: Vẽ mô hình thực thể liên kết của hệ thống.  Xác định các thực thể, định danh thực thể và các thuộc tính mô tả: HÀNG - mã hàng, tên hàng, đơn giá, số lượng, mô tả NHÀ CUNG CẤP – mã NCC, tên NCC, địa chỉ, điện thoại, fax KHO – số kho, diện tích, mô tả PHIẾU XUẤT – số phiếu, ngày xuất, số cửa hàng CỬA HÀNG - số cửa hàng, địa điểm, mô tả  Xác định liên kết giữa các thực thể  Một mặt hàng cần được cung cấp bởi một nhà cung cấp. Một nhà cung cấp cần cung cấp một hoặc nhiều mặt hàng.  Một mặt hàng cần được lưu giữ trong một kho. Mỗi kho lưu giữ 0 hoặc một loại hàng.  Một mặt hàng được xuất trong 0, 1 hoặc nhiều phiếu xuất. Một phiếu xuất có thể xuất 1 hoặc nhiều mặt hàng.  Một cửa hàng nhận được 0, 1 hoặc nhiều phiếu xuất. Mỗi phiếu xuất cần được xuất cho chỉ một cửa hàng.  Vẽ mô hình thực thể liên kết Hình 4.4. Mô hình liên kết thực thể của hệ thống bán hàng trong công ty Y  Quan hệ N-N giữa HÀNG và PHIẾU XUẤT có thể được tách thành 2 quan hệ 1-N với thực thể kết hợp DÒNG PHIẾU XUẤT như sau: Hình 4.5. Tách liên kết nhiều – nhiều giữa Hàng- Phiếu xuất3. MÔ HÌNH QUAN HỆ3.1. Khái niệma. Quan hệ Mô hình CSDL quan hệ hay ngắn gọn là mô hình quan hệ được E.F.Codd phát triển vào đầu những năm 1970. Mô hình này được thiết lập trên cơ sở lý thuyết tập hợp nên nó rất dễ hiểu và được sử dụng rất rộng rãi trong việc tổ chức dữ liệu cho các hệ thống. - Các thành phần trong mô hình quan hệ gồm: Các quan hệ - các bộ - các thuộctính. Tương ứng với các thành phần trong mô hình thực thể liên kết là: Các thực thể –các thể hiện của thực thể – các thuộc tính. Mô hình thực thể liên kết => Mô hình quan hệ => Các bảng trong HQTCSDL. So sánh tương ứng giữa mô hình thực thể liên kết, mô hình quan hệ và hệ quảntrị CSDL chúng ta có bảng sau: Mô hình thực thể liên Mô hình quan hệ Các bảng trong hệ kết QTCSDL Thực thể (kiểu thực thể) Quan hệ Bảng Thể hiện của thực thể Bộ Dòng hay bản ghi (thực thể) Thuộc tính Thuộc tính Cột hay trường Ví dụ:  Mô hình thực thể liên kết: Sinh viên Thực thể mã SV SV01 SV41 họ tên Vũ Thị Lan Đặng Nhật Minh Thể hiện ngày 12/3/1985 1/8/1981 của thực sinh thể Hà Nội Thái Bình quê quán T5_K2 T4_K4 lớp  Biểu diễn quan hệ dưới dạng bản ghi logic: Quan hệ SINH VIÊN (mã SV, họ tên, ngày sinh, quê quán, lớp) Các bộ: (SV01, Vũ Thị Lan, 12/3/1985, Hà Nội, T5_K2) (SV41, Đặng Nhật Minh, 1/8/1981, Thái Bình, T4_K4)  Biểu diễn quan hệ dưới dạng bảng: SINH VIÊN mã SV họ tên ngày sinh quê quán lớp SV01 Vũ Thị Lan 12/3/1985 Hà Nội T5_K2 SV41 Đặng Nhật Minh 1/8/1981 Thái Bình T4_K4Chú ý:  Các bộ trong một quan hệ không được trùng nhau.  Thuộc tính được xác định bởi tên, thứ tự của các thuộc tính trong quan hệ là không quan trọng. Trong một quan hệ, tên các thuộc tính phải khác nhau (các miền giá trị của các thuộc tính không nhất thiết khác nhau)b. Khoá  Khoá chính: Khoá chính của một quan hệ (Primary Key-PK) là một hoặc một nhóm thuộc tính xác định duy nhất một bộ trong quan hệ. Khoá chính của quan hệ là định danh của thực thể tương ứng. Trong quan hệ các thuộc tính thuộc khoá chính được gạch chân và được gọi là các thuộc tính khoá. Ví dụ: SINH VIÊN (mã SV, họ tên, ngày sinh, quê quán, lớp) – mã SV là khoá chính của quan hệ SINH VIÊN. Khi chọn khoá chính cần phải xem xét các tiêu chuẩn sau: khoá chính phải xác định được duy nhất một bộ trong quan hệ, phải có số thuộc tính ít nhất, phải không thay đổi theo thời gian.  Khoá ghép: Khoá ghép là khoá có từ hai thuộc tính trở lên. Ví dụ: GIẢNG DẠY(mã GV, mã MH, ngày bắt đầu, ngày kết thúc) – khoá chính của quan hệ GIẢNG DẠY là một khoá ghép gồm hai thuộc tính mã GV và mã MH.  Khoá ngoài: Một khoá ngoài được sử dụng để thiết lập một mối quan hệ. Đó là thuộc tính mô tả của quan hệ này nhưng đồng thời lại là thuộc tính khoá trong quan hệ khác. Trong quan hệ các thuộc tính khoá ngoài được in nghiêng hoặc gạch chân bằng nét đứt. Ví dụ: LỚP (tên lớp, khoa, phòng học) SINH VIÊN (mã SV, họ tên, ngày sinh, quê quán, tên lớp) – tên lớp là khoá ngoài của quan hệ SINH VIÊN  Khoá giả: Là thuộc tính do con người đặt ra để làm khoá chính. Thuộc tính này không mô tả đặc điểm của các đối tượng quan tâm mà chỉ có tác dụng để xác định duy nhất đối tượng đó. Ví dụ: mã SV, số hoá đơn…Thông thường khi khoá chính có từ 3 thuộc tính trở lên người ta thường đặt ra một khoá giả làm khoá chính để tiện lợi hơn trong việc truy vấn dữ liệu. - Ràng buộc thực thể: là một ràng buộc trên khoá chính. Nó yêu cầu khoá chínhphải tối thiểu, xác định duy nhất và không null. (Giá trị null tức là không có giá trị.Nó khác với giá trị 0 hay dấu cách.) - Ràng buộc tham chiếu (ràng buộc khoá ngoài): liên quan đến tính toàn vẹn củamối quan hệ tức là liên quan đến tính toàn vẹn của khoá ngoài. Một ràng buộc thamchiếu yêu cầu một giá trị khoá ngoài trong một quan hệ cần phải tồn tại là một giátrị khoá chính trong một quan hệ khác hoặc là giá trị null. Ví dụ: trong quan hệ sau: SINH VIÊN mã SV tên SV tên lớp SV01 Đỗ thị Cúc T1-K3 SV52 Vũ Thu Hà SV34 Hoàng Anh T4-K7Bản ghi mồ côi LỚP tên lớp phòng học T1_K3 302 T3_K4 414Tên lớp là T4-K7 trong quan hệ SINH VIÊN không có trong quan hệ LỚP vì vậy nóvi phạm ràng buộc tham chiếu.  Các ràng buộc được định nghĩa bởi người dùng: đây là các ràng buộc liên quan đến miền giá trị của dữ liệu thực tế.3.2. Các dạng chuẩna. Phụ thuộc hàm - Trong một quan hệ R, thuộc tính B phụ thuộc hàm vào thuộc tính A (hay thuộctính A xác định hàm thuộc tính B) ký hiệu AàB nếu với mỗi giá trị của thuộc tính A xác định một giá trị duy nhất của thuộc tính B. Ví dụ: Mã SV->Ngày sinh Mã SV Ngày sinh 1234 1/2/78 1235 15/5/81 1237 30/12/80 1236 1/2/78 - Phụ thuộc hàm giữa nhiều thuộc tính: thuộc tính B phụ thuộc hàm vào cácthuộc tính A1 và A2 ký hiệu{A1,A2} → B nếu với mỗi cặp giá trị của A1 và A2 xácđịnh duy nhất một giá trị của B. Ví dụ: {Số hoá đơn, Mã hàng}-> Số lượng Số hoá đơn Mã hàng Số lượng 1234 P1 50* 1234 P2 70 1235 P1 50* 1235 P2 30 1236 P1 80 Chú ý: A1-> {A2,A3} ≡A1-> A2 và A1-> A3 {A1,A2}-> A3 ≠ A1-> A3 và A2-> A3 - Các loại phụ thuộc hàm  Phụ thuộc hàm đầy đủ: Thuộc tính B gọi là phụ thuộc đầy đủ vào tập thuộc tính A (có từ 2 thuộc tính trở lên) nếu nó chỉ phụ thuộc hàm vào A và không phụ thuộc hàm vào bất cứ tập con nào của A. Ngược lại B gọi là phụ thuộc hàm bộ phận vào tập thuộc tính A.  Phụ thuộc hàm bắc cầu: Nếu có A1 -> A2 và A2 -> A3 thì A1 -> A3. Khi đó A3 được gọi là phụ thuộc bắc cầu vào A1. - Định nghĩa khoá theo quan niệm phụ thuộc hàm : Trong quan hệ R, tập cácthuộc tính K là khoá của quan hệ nếu có K -> Bi với Bi là tất cả các thuộc tính cònlại. b. Các dạng chuẩn - Dạng chuẩn 1 (1NF): Một quan hệ là ở dạng chuẩn 1 nếu toàn bộ các miềnthuộc tính đều là các miền đơn và không tồn tại nhóm thuộc tính lặp. Một thuộc tính A là thuộc tính lặp nếu với một giá trị cụ thể của khoá chính cónhiều giá trị của thuộc tính A kết hợp với khoá chính này. Ví dụ: Khoá chính là Mã SV. Nhóm thuộc tính lặp là Môn học và Điểm. Mã SV Tên SV Môn học Điểm Môn học Điểm 135 Anh SA1 5 SA2 7 136 Bình SA2 6 SD 5 140 Lan SD 8 - Dạng chuẩn 2 (2NF): Một quan hệ ở dạng chuẩn 2 nếu nó đã ở dạng chuẩn 1và không tồn tại phụ thuộc hàm bộ phận vào khoá. Ví dụ: Cho một quan hệ: R (A, B, C, D, E) Khoá chính là A,B Các phụ thuộc hàm: {A,B} -> D; A -> C; (Phụ thuộc hàm bộ phận vào khoá) D -> E * Chú ý: Quan hệ có khoá chính là một thuộc tính luôn ở dạng chuẩn 2 - Dạng chuẩn 3 (3NF): Một quan hệ ở dạng chuẩn 3 nếu nó đã ở dạng chuẩn 2và không tồn tại phụ thuộc hàm bắc cầu vào khoá (hay phụ thuộc hàm giữa cácthuộc tính không khoá). Ví dụ: Cho một quan hệ: R (A, B, D, E) Khoá chính là A,B Các phụ thuộc hàm: {A,B} -> D; D -> E (Phụ thuộc hàm giữa các thuộc tính không khoá)4. THIẾT KẾ LOGIC CSDL Có hai hướng tiếp cận để mô hình hoá dữ liệu:  Vẽ mô hình thực thực liên kết – Cách tiếp cận từ trên xuống (Top - down): Để xây dựng mô hình thực thể liên kết cần xác định một cách trực giác các đối tượng quan trọng mà một hệ thống cần phải lưu trữ như dữ liệu (đó là các thực thể) và xác định các thuộc tính mô tả cho các thực thể đó cùng với quan hệ giữa các thực thể. Nếu áp dụng đúng các luật trong mô hình thực thể liên kết thì ta sẽ có các quan hệ đã được chuẩn hoá.  Chuẩn hoá – Các tiếp cận từ dưới lên (Bottom - up): Để chuẩn hoá cần nhóm tất cả các thuộc tính liên quan của hệ thống vào trong một quan hệ. Áp dụng các luật chuẩn hoá để tách quan hệ đó thành các quan hệ có cấu trúc tốt hơn giảm bớt dư thừa dữ liệu. ** Mỗi cách tiếp cận đều có ưu điểm và nhược điểm riêng vì vậy trong thực tếngười ta thường phối hợp cả hai cách tiếp cận này để có được một mô hình dữ liệuchính xác nhất. Kết quả cuối cùng của phần thiết kế logic CSDL là tập các bản ghi logic biểudiễn các quan hệ trong CSDL.4.1. Chuyển đổi từ mô hình thực thể liên kết thành các bản ghi logica. Các luật chuyển đổi  Mỗi thực thể trong mô hình thực thể liên kết trở thành một quan hệ.  Mỗi thuộc tính trong mô hình thực thể liên kết trở thành một thuộc tính trong quan hệ tương ứng.  Định danh thực thể trong mô hình thực thể liên kết trở thành khoá chính trong quan hệ tương ứng. Nếu khoá chính không đáp ứng được các tiêu chuẩn về tính tối thiểu, tính xác định duy nhất và tính ổn định thì đưa vào một khoá giả làm khoá chính.  Thi hành các liên kết thông qua việc đặt khóa ngoài vào quan hệ  Với liên kết 1-1: đặt khoá chính của một trong hai quan hệ vào quan hệ kia làm khoá ngoài.Ví dụ: Với mô hình thực thể liên kết Công nhân Máy mã CN số máy họ tên mác ngày công Ta có các quan hệ: CÔNG NHÂN (mã CN, họ tên, ngày sinh, số máy) MÁY (số máy, mác, công suất) Hay: CÔNG NHÂN (mã CN, họ tên, ngày sinh) MÁY (số máy, mác, công suất, mã CN)  Với liên kết 1-N: đặt khoá chính của quan hệ đầu một vào quan hệ đầu nhiều làm khoá ngoài. Ví dụ: Với mô hình thực thể liên kết Sinh viên Lớp mã SV tên lớp họ tên phòng ngày họcTa có các quan hệ: SINH VIÊN (mã SV, họ tên, ngày sinh, tên lớp) LỚP (tên lớp, phòng học)  Với liên kết N-N: Cần tách thành quan hệ 1-N rồi mới chuyển thành quan hệ. Khi đó quan hệ tương ứng với thực thể kết hợp sẽ có khoá ghép và mỗi thuộc tính khoá của quan hệ này là một khoá ngoài. Ví dụ: Với mô hình thực thể liên kết Hình 4.6. Mô hình liên kết thực thể giữa Giáo viên – Môn học Ta có các quan hệ: GIÁO VIÊN (mã SV, tên GV, đại chỉ, điện thoại) MÔN HỌC (mã MH, tên MH, số trình) GIẢNG DẠY (mã GV, mã MH, ngày bắt đầu)  Một số liên kết đặc biệt:  Tự liên kết: Ví dụ: Mỗi nhân viên có không hoặc một người quản lý (giám đốc không có người quản lý nào). Mỗi nhân viên có thể quản lý 0, 1 hay nhiều nhân viên. Hình 4.7. Tự liên kết của thực thể của nhân viênTa có một quan hệ: NHÂN VIÊN (mã NV, họ tên, ngày sinh, giới tính, địa chỉ, mã NV quản lý) Trong đó Mã NV quản lý là một mã NV nào đó.  Liên kết phụ thuộc Ví dụ: Một mặt hàng có nhiều giá khác nhau trong những giai đoạn khác nhau. Ta có các quan hệ: MẶT HÀNG (Mã hàng, Tên hàng) GIÁ (Mã hàng, Ngày bắt đầu, đơn giá)b. Ví dụ Chuyển mô hình thực thể liên kết sau thành các bản ghi logic biểu diễn các quanhệ: Hình 4.8. Mô hình liên kết thực thể của hệ thống bán hàng trong công ty Y Các bản ghi logic mô tả các quan hệ trong công ty thương mại Y: NHÀ CUNG CẤP ( mã NCC, tên NCC, địa chỉ, điện thoại, fax) HÀNG (mã hàng, tên hàng, đơn giá, số lượng, mô tả, mã NCC, số kho) KHO (số kho, diện tích, mô tả) PHIẾU XUẤT (số phiếu, ngày xuất, số cửa hàng) DÒNG PHIẾU XUẤT (mã hàng, số phiếu, số lượng xuất) CỬA HÀNG (số cửa hàng, địa điểm, mô tả)4.2. Chuẩn hoá quan hệ a. Các bước tiến hành:  B1. Từ một biểu mẫu (tài liệu xuất: hoá đơn, chứng từ,…) lấy ra một danh sách các thuộc tính cho quan hệ chưưa đưược chuẩn hoá (dạng chuẩn 0).  Mỗi tiêu đề trong biểu mẫu là một thuộc tính.  Bỏ qua phần đầu đề và phần dưưới cùng (một số ghi chú, chữ ký …) của biểu mẫu.  Không lấy các thuộc tính đưược suy diễn từ những thuộc tính khác (như thành tiền = đơn giá x số lượng) và các thuộc tính trình bày nhưư ‘số thứ tự’ nếu có.  Bổ sung thêm một số thuộc tính định danh tương ứng với một số thuộc tính tên gọi chưa có định danh nếu cần thiết.  Xác định nhóm thuộc tính lặp, các phụ thuộc hàm giữa các thuộc tính.  B2. Chuẩn hoá về dạng chuẩn 1 (1NF): Tách nhóm thuộc tính lặp.  Tách các thuộc tính không nằm trong nhóm lặp thành một quan hệ (R1). Xác định khoá chính của quan hệ này.  Các thuộc tính của nhóm lặp và khoá chính của quan hệ trên (R1) tạo thành một quan hệ (R2). Xác định khóa chính cho quan hệ R2 (khoá chính của R2 sẽ là một khoá ghép giữa khoá của R1 và một thuộc tính khác trong R2)  Ví dụ: R{A, B, C, D, E} và khoá là {A}. Tồn tại nhóm thuộc tính lặp {C,D} thì tách thành 2 quan hệ R1{A, B, E} và R2{A,C,D}.  B3. Chuẩn hoán về dạng chuẩn 2 (2NF): Loại bỏ phụ thuộc bộ phận vào khoá (chỉ áp dụng với các quan hệ có khoá ghép.  Tách các thuộc tính tham gia vào phụ thuộc hàm được xác định bởi một phần của khoá vào một quan hệ mới (R3). Khoá chính của quan hệ là thuộc tính xác định hàm.  Phần còn lại với khoá chính của quan hệ trên (R3) là một quan hệ giữ nguyên khoá chính như quan hệ ban đầu.  Ví dụ: R{A, B, C, D} và khoá là {A,B}. Tồn tại phụ thuộc hàm Aà C thì tách thành 2 quan hệ R1{A,C} và R2{A, B, D}.  B4. Chuẩn hoá về dạng chuẩn 3(3NF): Loại bỏ phụ thuộc hàm giữa các thuộc tính không khoá.  Tách các thuộc tính tham gia vào phụ thuộc hàm giữa các thuộc tính không khoá vào một quan hệ mới (R4). Khoá chính của quan hệ là thuộc tính xác định hàm.  Phần còn lại và khoá chính của quan hệ trên (R4) là một quan hệ giữ nguyên khoá chính của quan hệ ban đầu.  Ví dụ: R{A, B, C, D} mà khoá là {A,B}. Tồn tại phụ thuộc hàm Cà D thì tách thành 2 quan hệ R1{C, D} và R2{A, B, C}b. Ví dụ Hãy xây dựng mô hình dữ liệu cho hệ thống từ mẫu phiếu xuất của công tythương mại Y dưới đây. - Danh sách thuộc tính: số PX, ngày, số đại lý, địa chỉ, tên hàng, đơn vị tính, đơngiá, số lượng. - Bổ sung thêm thuộc tính mã hàng. - Phụ thuộc hàm: (quy định giá bán của mặt hàng không thay đổi) số PX -> ngày, mã KH số đại lý -> địa chỉ mã hàng -> tên hàng, đơn vị tính, đơn giá {số PX, mã hàng }-> số lượng - Khoá chính: số PX.− Nhóm lặp (*): mã hàng, tên hàng, đơn vị tính, đơn giá, số lượng. Chuẩn hoá quan hệ: 0NF 1NF 2NF 3NF Tên gọi số PX số PX số PX số đại lý ĐẠI LÝ ngày ngày ngày địa chỉ số đại lý số đại lý số đại lý địa chỉ địa chỉ địa chỉ số PX PHIẾU XUẤT *mã hàng ngày *tên hàng số đại lý *đơn vị tính số PX mã hàng mã hàng HÀNG *đơn giá mã hàng tên hàng tên hàng *số lượng tên hàng đơn vị tính đơn vị tính đơn vị tính đơn giá số PX đơn giá số PX HÀNG XUẤT đơn giá mã hàng mã hàng số lượng số lượng số lượng Các bản ghi logic biểu diễn các quan hệ: ĐẠI LÝ (số đại lý, địa chỉ) PHIẾU XUẤT (số PX, ngày, số đại lý) HÀNG (mã hàng, tên hàng, đơn vị tính, đơn giá) HÀNG XUẤT (số PX, mã hàng, số lượng xuất)4.3. Hoàn thiện mô hình CSDL logica. Một số quy tắc Sau khi tiến hành theo hai hướng khác nhau: xây dựng mô hình thực thể liên kếtvà chuẩn hoá dữ liệu chúng ta sẽ có hai tập bản ghi logic khác nhau của cùng một hệthống. Khi đó cần phải kết hợp lại để có một mô hình CSDL logic thống nhất cho hệthống. Một số nguyên tắc kết hợp:  Kiểm tra sự thống nhất về tên gọi của các quan hệ và các thuộc tính trong hai kết quả. Nếu cùng tên những khác nghĩa thì phải đặt lại tên cho khác nhau. Nếu cùng nghĩa nhưng khác tên thì phải đặt lại tên cho giống nhau.  Lấy tất cả các quan hệ khác nhau từ hai kết quả.  Với hai quan hệ trùng nhau thì lấy tất cả các thuộc tính có trong hai quan hệ từ hai kết quả.b. Ví dụ: Trong ví dụ phần 1 ta thu được tập các bản ghi logic mô tả các quan hệ trong hệthống công ty thương mại Y là: Nhóm 1: NHÀ CUNG CẤP ( mã NCC, tên NCC, địa chỉ, điện thoại, fax) HÀNG (mã hàng, tên hàng, đơn giá, số lượng, mô tả, mã NCC, số kho) KHO (số kho, diện tích, mô tả) PHIẾU XUẤT (số phiếu, ngày xuất, số cửa hàng) DÒNG PHIẾU XUẤT (mã hàng, số phiếu, số lượng xuất) CỬA HÀNG (số cửa hàng, địa điểm, mô tả) Trong ví dụ phần 2 ta thu được tập các bản ghi logic mô tả các quan hệ trong hệthống công ty thương mại Y là: Nhóm 2: ĐẠI LÝ (số đại lý, địa chỉ) PHIẾU XUẤT (số PX, ngày, số đại lý) HÀNG (mã hàng, tên hàng, đơn vị tính, đơn giá) DÒNG PHIẾU XUẤT (số PX, mã hàng, số lượng xuất) Ta thấy  Trong nhóm 1 có thực thể CỬA HÀNG và nhóm 2 có thực thể ĐẠI LÝ là hai thực thể khác tên nhưng cùng nghĩa.  Thuộc tính số phiếu và số PX, thuộc tính ngày xuất và ngày là cùng nghĩa. ** Kết quả thiết kế logic CSDL của hệ thống công ty thương mại Y là: NHÀ CUNG CẤP ( mã NCC, tên NCC, địa chỉ, điện thoại, fax) HÀNG (mã hàng, tên hàng, đơn vị tính, đơn giá, số lượng, mô tả, mã NCC, sốkho) KHO (số kho, diện tích, mô tả) PHIẾU XUẤT (số phiếu, ngày xuất, số đại lý) DÒNG PHIẾU XUẤT (mã hàng, số phiếu, số lượng xuất) ĐẠI LÝ (số đại lý, địa chỉ đại lý, mô tả)5. THIẾT KẾ VẬT LÝ CSDL5.1. Các vấn đề liên quan khi thiết kế vật lý CSDL Phần thiết kế vật lý CSDL sẽ phụ thuộc vào một HQTCSDL mà bạn sẽ sử dụngđể cài đặt CSDL. Chúng ta cần chuyển từ các bản ghi logic với các thuộc tính thànhcác quan hệ được biểu diễn dưới dạng bảng với các trường hay các cột được cài đặttrong một HQTCSDL cụ thể.  Với mỗi bảng cần chỉ rõ:  Khoá chính (có thể gồm một hay nhiều thuộc tính).  Mô tả của tất cả các cột (trường).  Với mỗi cột (trường) cần phải có:  Một tên duy nhất (trong bảng lưu giữ nó).  Một mô tả ngắn gọn.  Một kiểu dữ liệu (ví dụ: integer, char, date, logical,… phụ thuộc vào HQTCSDL cụ thể cài đặt CSDL)  Một kích thước (mặc định hay chỉ rõ tuỳ từng kiểu dữ liệu)  Chú ý: tên của bảng, cột không nên quá dài, cần đủ nghĩa và thường không có dấu.  Các cột (trường) tuỳ chọn và các cột (trường) bắt buộc:  Nếu cột là bắt buộc thì người sử dụng cần phải cung cấp một giá trị cho cột này trong mỗi dòng (bản ghi) thêm vào bảng khi cập nhật CSDL. Cột sẽ cần phải được chỉ rõ là NOT NULL  Nếu cột là tuỳ chọn thì nó có thể nhận giá trị null. Chú ý: có thể lưu trữ một giá trị 0 cho một cột tuỳ chọn khi nó không có giá trị những cách này không phải là cách hay.  Khoá chính và các khoá ngoài  Hầu hết các HQTCSDL hiện đại cho phép chỉ rõ khoá chính, khoá ngoài khi định nghĩa các bảng.  Nếu các HQTCSDL không cho phép định nghĩa tự động thì cần phải chỉ rõ. Khoá chính cần phải duy nhất và not null. Khoá ngoài cần phải liên quan tới một thể hiện của khoá chính đã có hoặc là nhận giá trị null.  Giá trị hợp lệ và giá trị mặc định Ví dụ: Một mã KH được định nghĩa nằm trong khoảng từ 1 đến 1000 (giá trị hợp lệ). Giá trị mặc định cho số lượng bán là 1 (giá trị mặc định).  Thuận lợi của việc chỉ rõ giá trị hợp lệ là nó sẽ được gắn vào trong tất cả các chương trình khi lập trình. Đảm bảo sự thống nhất trong việc kiểm tra tính đúng đắn của dữ liệu.  Giá trị mặc định có thể được sử dụng để giảm bớt việc gõ máy cho người sử dụng. Nó giúp cho việc nhập dữ liệu nhanh hơn và giảm bớt lỗi.  Khoá giả  Để tăng tốc độ tìm kiếm, tiết kiệm không gian nhớ và giảm lỗi các khoá cần phải ngắn. Nếu một vài khoá quá dài cần phải thay chúng bằng một khoá giả.  Có hai vấn đề khi đưa ra một khoá giả: Cần phải thiết lập một kỹ thuật để sinh tự động các giá trị duy nhất cho khoá (sinh khoá tự động) Cần phải cung cấp một ràng buộc duy nhất cho các định danh tự nhiên để ngăn chặn việc lưu trữ một vài bản ghi cho cùng một thực thể có cùng một dữ liệu nhưng chỉ khác nhau về giá trị khoá.  Các quan hệ  Các quan hệ giữa các bảng sẽ được thiết lập bởi các khoá ngoài.  Cần phải đảm bảo là cái ràng buộc khoá ngoài sẽ được cài đặt.5.2. Xem xét hiệu suất thực thi CSDL Cần phải đánh giá việc thực thi CSDL, đó là tính hợp lý của thời gian đáp ứngcác câu hỏi truy vấn.  Chạy thử CSDL với một tập đủ lớn các bản ghi trong môi trường thực tế.  Mô phỏng một số người dùng cùng thực hiện một truy vấn trong CSDL đa người sử dụng.  Chạy trộn lẫn một số chức năng với thời gian quy định.a. Chỉ số - Xác định một số chỉ số trong CSDL là một vấn đề quan trọng cần phải quantâm khi thiết kế CSDL  Theo quy luật chung cần phải có  Một chỉ số duy nhất cho mỗi khoá chính  Một chỉ số trên mỗi khoá ngoài  Những dữ liệu được truy nhập thường xuyên cũng cần phải tạo chỉ số  Với chỉ số ghép trên nhiều cột cần phải cung cấp thứ tự các cột. - Ưu và nhước điểm của chỉ số  ưu điểm  Tăng tốc độ tìm kiếm và khôi phục các bản ghi.  Có hiệu suất cao trong việc truy nhập nhiều bảng.  Tạo các cách sắp xếp khác nhau trên cùng một bảng.  Tạo nhiều mức sắp xếp bằng cách tạo một chỉ số trên một số cột.  Nhược điểm  Cần nhiều không gian nhớ hơn để lưu giữ các chỉ số.  Tốn thời gian cập nhật tất cả các chỉ số khi cập nhật dữ liệu.b. Phá vỡ chuẩn Đôi khi chúng ta cần cân nhắc đưa một số dư thừa dữ liệu vào cơ sở dữ liệu đểtăng tốc độ truy vấn. Khi đó có thể chúng ta đã phá vỡ dạng chuẩn của các quan hệđã được chuẩn hoá. - Phân rã: Căn cứ vào yêu cầu sử dụng nếu có những cột thuộc tính hay dùng và ít dùng hoặc vì một lý do nào đó(ví dụ để bảo mật) thì phân rã chúng ra. Những cột thuộc tính hay dùng cho vào cùng một bảng. Ví dụ: Quan hệ ĐIỂM THI gồm các thuộc tính SBD, Số phách, điểm. Nhưng đểđảm bảo bí mật thường được tách thành hai bảng PHÁCH (SBD, số phách) và BÀI THI (Số phách, điểm) - Gộp hai hay nhiều bảng khi việc sử dụng chúng thường đi liền với nhau. - Lặp lại các cột thuộc tính từ các bảng khác nhau, thêm một số cột thuộc tínhsuy diễn vào bảng(ví dụ: thành tiền, tổng tiền) nếu nó được truy vấn thường xuyên. - Lập các bảng chỉ dẫn căn cứ vào đường truy nhập và theo các cột thuộc tính cótần số sử dụng cao. Thêm một số bảng để lưu trữ các thông tin kết quả truy vấn sẽđược sử dụng lại. Ví dụ: Trong hệ thống tuyển sinh vì yêu cầu xem điểm nhiều nên có thể tạo ra một tệp có các thuộc tính SBD và điểm để giúp cho việc tìm kiếm thông tin được nhanh chóng. Trong hệ thống bán hàng có thể thêm một số bảng hỗ trợ cho việc tính hàng tồn,tính thu chi.5.3. Điều chỉnh thực thi CSDL  Tạo các thủ tục sao lưu và phục hồi CSDL.  Tổ chức bảo trì và bảo mật cho CSDL.  Thiết lập các ràng buộc toàn vẹn cho CSDL.  Xác định không gian nhớ cho các bảng CSDL và các chỉ số.  Thiết lập vùng nhớ đệm cho CSDL  Phân cụm CSDL, tổ chức lưu trữ vật lý tối ưu cho CSDL trên đĩa.  Đảm bảo điều khiển tương tranh trong CSDL đa người sử dụng.  Tạo ra các view của CSDL cho từng đối tượng người dùng.  Xác định sự phân tán dữ liệu và xử lý giữa các client và server trong một hệ thống phân tán.5.4. Ví dụ một mẫu thiết kế NHÀ CUNG CẤP ( mã NCC, tên NCC, địa chỉ, điện thoại, fax) HÀNG (mã hàng, tên hàng, đơn vị tính, đơn giá, số lượng, mô tả, mã NCC, sốkho) KHO (số kho, diện tích, mô tả) PHIẾU XUẤT (số phiếu, ngày xuất, số đại lý) DÒNG PHIẾU XUẤT (mã hàng, số phiếu, số lượng xuất) ĐẠI LÝ (số đại lý, địa chỉ đại lý, mô tả)*Chú ý:  Kiểu dữ liệu và kích thước của các cột khoá ngoài cần phải giống hệt kiểu dữ liệu và kích thước của các cột khoá chính tương ứng.  Khi tạo bảng, nếu bảng A có cột thuộc tính làm khoá ngoài trong bảng B thì bảng A cần phải được tạo trước bảng B.  Khi cài đặt, các đặc tính như khuôn dạng, giá trị hợp lệ , khoá chính, khoá ngoài,…chính là các ràng buộc của CSDL. Các HQTCSDL hiện đại hỗ trợ rất nhiều cho việc cài đặt các ràng buộc này. Nếu một HQTCSDL nào đó mà không hỗ trợ việc cài đặt các ràng buộc này thì cần phải tạo các thủ tục để kiểm tra dữ liệu nhập vào.  Đôi khi trong thực tế người ta không sử dụng ràng buộc khoá ngoài vì một số lý do: ví dụ để biết hoá đơn là do nhân viên nào lập, thuộc tính mã NV được đặt làm khoá ngoài trong bảng HOÁ ĐƠN. Ràng buộc khoá ngoài đòi hỏi thông tin về nhân viên chỉ được xoá khi tất cả các hoá đơn liên quan đến nhân viên đó đã bị xoá hết. Nhưng thực tế người ta lại cần lưu trữ các hoá đơn liên quan đến nhân viên, trong khi nhân viên đó đã rời khỏi công ty. Vì vậy trong trường hợp này phải dùng một thủ tục kiểm tra khác thay cho ràng buộc khoá ngoài. Khoá ngoài Kiểu dữKích Khuôn Giá trịGiá trị hợp Khoá Tên bảng Tên cột Nội dung Not null tham chiếuChỉ số liệu thước dạng mặc định lệ chính bảng Mã nhà Incc_M BNcc MaNcc Text 5 N-AAA x x cung cấp a Incc_Te Tên nhà n TenNcc Text 30 x cung cấp DiaChi Địa chỉ Text 50 x 999-999 Phone Điện thoại Text 15 9999 Fax Fax Text 15 BHang maHang Mã hàng Integer 2 x x IH_Ma tenHang Tên hàng Text 50 x dvt đơn vị tính Text 10 “cái” x donGia đơn giá LongInteger 4 >0 x 0<= x<= soLuong số lượng Integer 2 x 3000 moTa mô tả Text 100 maNcc mã NCC Text 5 x bNcc IH_Ncc soKho Số kho Integer 2 x bKho IH_Kho bKho soKho … dienTich … moTa …5. BÀI TẬP ỨNG DỤNG Thiết kế CSDL cho hệ thống quản lý khoa CNTT. CHƯƠNG 5 THIẾT KẾ GIAO DIỆN GIỮA NGƯỜI VÀ MÁY1 TỔNG QUAN1.1. Mục đíchThiết kế môi trường giao tiếp giữa người sử dụng và máy thoả mãn điều kiện:- Dễ sử dụng : Giao diện dễ sử dụng ngay cả với những người không có kinhnghiệm- Dễ học : Các chức năng gần gũi với tư duy của người sử dụng để họ có thểnắm bắt dễ dàng nhanh chóng.- Tốc độ thao tác : Giao diện không đòi hỏi các thao tác phức tạp hay dàidòng, hỗ trợ các phím tắt, phím nóng.- Dễ phát triển : Giao diện được xây dựng dễ dàng, sẵn sàng đáp ứng các yêucầu thay đổi của người sử dụng.1. 2. Các loại giao diện- Hộp thoại: Là các giao diện phục vụ cho việc kiểm soát hệ thống, trao đổithông tin giữa người sử dụng và hệ thống, kiểm tra quyền truy nhập (Tên, mậtkhẩu), các hướng dẫn sử dụng hệ thống, các thông báo lỗi sử dụng hay lỗi hệthống nếu có.- Màn hình nhập dữ liệu: Đó là các khung nhập liệu cho phép người sử dụngtiến hành nhập dữ liệu cho hệ thống hay cung cấp thông tin cho việc tìm kiếmdữ liệu, đưa ra các báo cáo theo yêu cầu.- Màn hình báo cáo : Đó là các biểu mẫu hiển thị các thông tin được thu thậpvà tổng hợp theo yêu cầu của người sử dụng.1.3. Các nguyên tắc chung khi thiết kế giao diện- Luôn cung cấp thông tin phản hồi về công việc đang tiến hành cho người sửdụng.- Thông tin trạng thái : cung cấp cho người sử dụng thông tin về phần hệthống đang được sử dụng.− Công việc tối thiểu : Hạn chế tối đa sự cố gắng không cần thiết của người sử dụng. Ví dụ : Đặt các giá trị thường xuyên sử dụng hay các giá trị tốt nhất có thể là ngầm định. 72 - Trợ giúp : Sẵn sàng cung cấp các trợ giúp khi người sử dụng cần.− Dễ dàng thoát ra : Cho phép người sử dụng thoát ra khỏi hộp thoại dễ dàng bằng các thao tác quen thuộc. Ví dụ : ấn phím ESC/Alt-F9.- Làm lại : Cho phép huỷ bỏ các thao tác đã tiến hành, tăng tính khoan dungcủa chương trình.2. THIẾT KẾ CÁC MẪU THU THẬP THÔNG TIN2.1. Yêu cầu- Đáp ứng được yêu cầu của người sử dụng- Không có lỗi. (Muốn vậy phải kiểm tra khi nhập)- Trình bày dễ hiểu, dễ dùng- Gõ phím ít nhất.2.2. Phương pháp thu thập thông tin- Trực tuyến (Ví dụ :Bán vé máy bay trực tiếp lấy thông tin và trực tiếp xử lý)- Trì hoãn : Đưa qua trung gian- Từ xa2.3. Xác định khuôn mẫu thu thập thông tin- Mẫu có hai dạng : + Khung để điền Ví dụ: 73 DỰ TRÙ Số hiệu phân xưởng: Tên phân xưởng: Địa chỉ phân xưởng: Yêu cầu các mặt hàng Mã hàng Tên hàng Số lượng 1 2 3+ Câu hỏi :Câu hỏi đóng (chọn) :Tất cả các tuỳ chọn được đưa ra và cho phép chọn mộthoặc nhiều trong số đó.Câu hỏi mở (gợi ý): Đưa ra một số câu hỏi gợi ý yêu cầu trả lời.- Yêu cầu về mẫu + Thuận tiện cho người điều tra + Thuân tiện cho việc mã hoá + Thuận tiện cho việc gõ phím. + Nội dung đơn giản, rõ ràng, chính xác.4.4.Mã hoá- Mã :Tên vắn tắt gắn cho một đối tượng nào đó- Đối tượng có thể là :+ Một ứng dụng tin học + Một chức năng hay nhiệm vụ + Một chương trình + Một tệp + Một thông tin trong các tài liệu, trong các tệp 74 + Các biến hàm dùng trong chương trình.- Chất lượng cơ bản của sự mã hoá + Không nhập nhằng :Không gây nhầm lẫn giữa đối tượng này với đốitượng khác (Có ánh xạ 1-1 giữa tập đối tượng và tập mã hoá) + Thích ứng với phương thức sử dụng  Xử lý bằng tay :Dễ hiểu, dễ giải mã  Xử lý bằng máy phải có cú pháp chặt chẽ. + Có khả năng mở rộng hoặc xen thêm  Mở rộng về phía trên hoặc phía dưới tập mã  Xen thêm ở bên trong tập mã nhưng phải đảm bảo một trình tự nào đó. + Mã phải ngắn gọn + Mã phải có tính gợi ý- Các kiểu mã+ Mã liên tiếp: Dùng các số nguyên liên tiếp để mã hoá đối tượng + Mã theo lát: Vẫn dùng số nguyên nhưng phân ra từng khoảng giá trịcho đối tượng, trong mỗi khoảng dùng mã liên tiếp.Ví dụ: 0001 - 0999 mã y phục gồm0001 - 0099 Sơ mi nam0100 - 0299 Sơ mi nữ0300 - 0349 Quần0350 - 0499 Váy + Mã phân đoạn : Được phân thành nhiều đoạn mỗi đoạn có ý nghĩariêng. Ví dụ: Mã xe máy 29 S2 3219 (Tỉnh-loại phân khối-liên tiếp tronglát) + Mã phân cấp : Mã được phân thành nhiều đoạn, mỗi đoạn trỏ vào mộttập đối tượng.- Lựa chọn mã hoá + Nghiên cứu việc sử dụng sau này + Nghiên cứu số lượng đối tượng được mã hoá 75 + Nghiên cứu sự phân bố thống kê của các đối tượng + Tìm xem đã có những mã nào được dùng + Cần thoả thuận với người sử dụng sau này + Cần thử nghiệm trước khi dùng chính thức3. THIẾT KẾ CÁC TÀI LIỆU RA, CÁC BÁO CÁO- Hình thức tài liệu xuất : Đĩa, màn hình, giấy in,- Dạng tài liệu xuất: + Có cấu trúc :Bảng biểu, phiếu + Không định dạng : Trả lời theo nhu cầu (Người dùng phải hiểu ngônngữ thế hệ 4 hoặc dùng một trung tâm phiên dịch)- Yêu cầu đối với tài liệu xuất + Đầy đủ, chính xác + Dễ hiểu, dễ đọc + Kích thước tài liệu phải phù hợp, các mục phải bố trí hợp lý.- Các hình thức đưa ra + Khung in sẵn + Không có khung in sẵn- Cách trình bày : Bố cục gồm 3 phần + Phần đầu : Các tiêu đề + Phần thân : Chứa nội dung cơ bản thường được gom thành nhóm vàcó mối liên hệ logic với nhau + Phần cuối : ngày tháng, các chữ ký nếu có- Có hai loại đưa ra + Đơn chiếc + Tập thểVí dụ: Một tài liệu xuất của hệ cung ứng vật tư. 76 Công ty PHIẾU PHÁT HÀNG Số hiệu phát hàng  Số hiệu phân xưởng:  Tên phân xưởng :. Địa chỉ :. Các mặt hàng được phát gồm: Mã mặt hàng Tên hàng Số lượng Đề nghị số Cấp chênh lượng lệch Ngày  tháng. năm 2000 Người nhận Người phát Ký Ký4. THIẾT KẾ MÀN HÌNH VÀ ĐƠN CHỌN4.1. Yêu cầu thiết kế:- Sáng sủa :Dễ nhìn, dễ đọc, có trật tự, nhất quán- Chỉ thị rõ cần gì, muốn gì- Diễn đạt rõ cái gì phải thực hiện- Định vị thông tin vào nơi cần thiết theo luật ra vào gần nhau- Thao tác cần tối thiểu khi đối thoại- Thông tin tối thiểu- Ngầm định : Đặt ra những thông số thường dùng- Cung cấp các thông tin trợ giúp :Hướng dẫn thao tác, thông báo lỗi- Cung cấp khả năng thoát ra khi cần thiết : Có hai loại thoát là huỷ bỏ thaotác hoặc hoàn tất thao tác.- Cung cấp các thao tác tương đương: ấn phím số hoặc phím chức năng.4.2. Hình thức thiết kế- Câu lệnh và câu nhắc.- Điền mẫu : Được dùng phổ biến với dữ liệu. 77 - Hỏi đáp : Máy tính tự khởi động và kiểm soát đối thoại.- Biểu tượng : Cần có phần mềm đồ hoạ chuyên dụng.- Đơn chọn (Menu)+ Tổ chức đơn chọn phân cấp+ Thâm nhập nhanh và dễ dàng+ Thoát ra ở bất kỳ chỗ nào (mức trong ra mức ngoài)a. Giao diện hộp thoại- Hỏi đáp : Các câu hỏi sắp xếp theo thứ tự, mỗi câu hỏi sẽ tương ứng với mộtbộ các câu trả lời.Ví dụ: Hình 5.1.Giao diện hộp thoại hỏi đáp- Đơn chọn : Các lựa chọn được hiện lên màn hình như lời gợi ý, ta chỉ đượcphép chọn một trong các mục lựa chọn đó.Ví dụ: 78 Hình 5.2.Giao diện hộp thoại đơn chọn Lưu ý số mục chọn nên < 9. Nếu có quá nhiều mục chọn thì phải tổ chức theokiểu phân cấp.- Thanh công cụ : Các lựa chọn xuất hiện trên màn hình bằng các biểu tượngđồ hoạ. Người ta thường chia các biểu tượng đó thành các nhóm chức năng,mỗi nhóm được chứa trong một thanh công cụ. Trên thanh công cụ này biểudiễn chức năng tổng quát của nhóm các biểu tượng đó.Ví dụ: Hình 5.3.Giao diện hiển thị trên thanh công cụ với các biểu tượng 79 Hình 5.3.Giao diện hiển thị trên thanh công cụb. Biểu đồ mạng đối thoại- Biểu đồ mạng đối thoại thể hiện trình tự và điều kiện thực hiện các hộpthoại. Thường được sử dụng trong các chương trình có cấu trúc giao diệnphức tạp, đòi hỏi nhiều hộp thoại nhất là các xử lý trực tuyến.- Ví dụ: về một mạng đối thoại 80 Kh«ng th©m nhËp Ng­êi sö dông Vµo mËt hiÖu L Sai §óng TB lçi kh«ng ph¶i B¶ng chän chÝnh 1-4 ? Trî gióp Chän 1 Chän 2 Chän 3 Chän 4- Các thành phần + Vòng tròn : Biểu diễn một hộp thoại, mô tả trạng thái máy chờ sự canthiệp của người sử dụng. + Các đường nối (thẳng, cong) có hướng nối từng cặp vòng tròn, chỉ radòng thông tin trao đổi hay điều kiện thực hiện giữa các hộp thoại + Các hình chữ nhật : Biểu diễn các chức năng xử lý.c. Các kiểu màn hình nhập dữ liệu- Mẫu điền: Dữ liệu nhập vào gồm nhiều thành phần gọi là các trường. Mỗithành phần được đưa vào một vị trí xác định trên bản mẫuVí dụ: 81 Hình 5.4.Giao diện nhập thông tin khách hàng- Hộp chọn : Thường sử dụng khi dữ liệu nhập vào nằm trong một tập giá trịhữu hạn xác định trước. VD: Danh sách các tỉnh, danh sách các nước.Thường số lượng các giá trị không quá lớn.Có thể kết hợp hai loại màn hình nhập liệu để thiết kế một màn hình nhạpthông tin cho hệ thống.5. CÁC VẤN ĐỀ KHI THIẾT KẾ GIAO DIỆNCó ba vấn đề khi thiết kế giao diện : Thời gian đáp ứng hệ thống, giải quyếtlỗi, trợ giúp người sử dụng.- Thời gian đáp ứng hệ thống là thời gian kể từ khi người sử dụng bắt đầu yêucầu (gõ lệnh hay nhấn chuột) cho đến khi họ nhận được kết quả của yêu cầuđó. Thời gian đáp ứng có hai đặc trưng: + Độ dài : Khoảng thời gian đáp ứng hệ thống(tính tuyệt đối) không dàiquá. + Độ biến thiên : Khoảng thời gian đáp ứng hệ thống so với khoảngthời gian đáp ứng trung bình. Độ biến thiên cao có thể gây cho người sử dụngsự mất cân bằng(thường nghĩ hệ thống có gì trục trặc hay mình đã gây ra lỗigì đó) 82 - Giải quyết lỗi : Đó là các thông tin hệ thống đưa ra khi nó gặp phải một lỗinào đó (lỗi của hệ thống, lỗi của người sử dụng). Các thông báo lỗi nên : + Dễ hiểu đối với người sử dụng. Có tính xây dựng để người sử dụngcó thể tự khắc phục lỗi. + Nêu các hậu quả tiêu cực có thể xảy ra (biện pháp khắc phục nếu có) + Có kèm theo các tín hiệu nghe thấy được và nên có các dặc trưng vềmàu sắc, biểu tượng. + Có tính "phi đánh giá" : không nên có hàm ý trách móc người sửdụng- Trợ giúp người sử dụng : Nói chung mọi người sử dụng hệ thống đều cầnđến sự trợ giúp khi sử dụng hệ thống mà phần quan trọng nhất là khả năng trợgiúp của chính hệ thống. Khả năng này càng cao thì hệ thống càng thân thiệnvới người sử dụng.Có hai loại trợ giúp : + Trợ giúp theo ngữ cảnh : Khả năng trợ giúp các tình huống có liênquan đến hành động, trạng thái hiện tại của hệ thống. Đây là loại trợ giúpđược ưa chuộng. + Trợ giúp phụ thêm : Có tính chất bổ xung thêm vào phần trợ giúptheo ngữ cảnh. nó thường là các thông tin về cách cài đặt, sử dụng hệ thống,các thành phần chức năng chính,.BÀI TẬP1. Thiết kế tài liệu xuất của hệ thống quản lý thư viện :- Thẻ bạn đọc: Khổ giấy cao 80 x rộng 120Mặt trước thẻ và mặt sau thẻ 83 Thư viện Cộng hòa xã hội chủ nghĩa Vệt Nam Độc lập – Tự do – Hạnh phúc --------------oOo------------ Ảnh Thẻ bạn đọc 3x4 Họ và tên Số thẻ Ngày sinh . Nam/Nữ. Địa chỉ. Hạn dùng Ngày cấp. T/M giám đốc thư viện kí NỘI QUY 1. Bạn đọc mượn sách phải trả đúng hạn, nếu quá hạn sẽ bị phạt tiền bằng 10% giá sách x số ngày quá hạn. 2. Không được cho mượn thẻ. 3. Giữ sách cẩn thận, không làm rách sách. 4. Được phép giữ sách trong thời gian nhiều nhất là 1 tuần kể từ ngày mượn. 5. .Phiếu nhắc trả sách : Khổ giấy A5 84 Thư viện. Cộng hoà xã hội chủ Việt nam Độc lập - Tự do - Hạnh phúc --------------oOo------------ PHIẾU NHẮC TRẢ SÁCH Kính gửi bạn đọc : Số thẻ : Địa chỉ : Chúng tôi xin trân trọng kính báo ông/bà có mượn một số cuốn sách đã quá hạn trả cụ thể là: TT Mã sách Tên sách Hạn trả Đơn giá Khi đến trả sách ông/bà nhớ mang theo số tiền phạt = 10% đơn giá x số ngày quá hạn. Ngày Tháng .Năm  Trưởng phòng ký2. Thiết kế tài liệu nhập của hệ thống quản lý thư viện :- Phiếu yêu cầu mượn : Khổ giấy = 1/2 tờ A5 85 Thư viện. PHIẾU MƯỢN SÁCH Họ và tên Số thẻ : Tên sách Mã sách Ngày Tháng .Năm  Người mượn ký- Thiết kế mã sách : Mã phân cấp XX - XXXX - XXXX (Lĩnh vực -Nhà xuấtbản - Mã số).3. Thiết kế màn hình của hệ thống quản lý thư viện :Bảng chọn chính gồm: Bạn đọc (Thêm bạn đọc, xoá bạn đọc, sửa thông tinbạn đọc, Tìm bạn đọc), Sách (Thêm sách, Xoá sách, Sửa thông tin sách, Tìmsách, Thống kê sách), Mượn sách (Nhập mượn, In phiếu nhắc trả sách),Trợgiúp NHẬP THÔNG TIN Họ tên: Ngày sinh : Địa chỉ : Bằng cấp : Nhập Bỏ 86 BÀI TẬP:1. Hãy thiết kế tài liệu xuất và nhập của hệ thống quản lý bến xe (Vé xe, đơnđặt hàng, giấy điều động xe, phiếu giao hàng).2. Thiết kế tài liệu xuất của hệ cung ứng vật tư (Dự trù, đơn hàng, phiếu giaohàng, phiếu phát hàng, báo cáo đặt hàng, phát hàng, nhận hàng.) 87 CHƯƠNG 6 THIẾT KẾ KIỂM SOÁT VÀ CHƯƠNG TRÌNH1. THIẾT KẾ KIỂM SOÁT1. 1.Mục đích Thiết kế kiểm soát có một vai trò rất quan trọng trong sự tồn tại và pháttriển của hệ thống vì hiện nay có rất nhiều hệ thống máy tính hoạt động trongmôi trường mở. Do đó, rất có thể hệ thống đang xây dựng là một bộ phậntrong một cấu hình hay một mạng cung cấp truy nhập rộng cho nhiều ngườikhác nhau cả trong và ngoài tổ chức. Một trong những quan tâm chính trongthiết kế các hệ thống này là làm sao để cung cấp truy nhập thông tin yêu cầuvà đồng thời bảo vệ được thông tin khỏi những mục đích phá hoại cũng nhưnhững sự cố không mong đợi. Chính vì thế, thiết kế kiểm soát nhằm tránh mộtsố nguy cơ sau:  Sai lỗi từ các thông tin thu thập  Sai lỗi do các sự cố kỹ thuật gây ra  Sự thâm nhập trái phép của người trong và ngoài hệ thống.  Rủi ro về môi trường như: cháy, bão lụt,. Thiết kế kiểm soát là đề xuất các biện pháp nhằm đảm bảo:  Tính chính xác  Tính an toàn  Tính riêng tư Tính chính xác của hệ thống thể hiện trước hết ở chỗ hệ thống làm việcluôn luôn đúng đắn, không đưa ra các kết quả tính toán sai lạc, không dẫn tớicác quyết định kinh doanh sai lạc (chẳng hạn quyết định giao hàng trong khikhách hàng đã có yêu cầu huỷ đơn hàng, và giấy yêu cầu này lại đang tồnđọng đâu đó trong hệ thống). Bên cạnh đó, tính chính xác cũng còn được thểhiện ở chỗ dữ liệu trong hệ thống là xác thực, việc kiểm tra các thông tin thuthập và các thông tin xuất từ hệ thống là nhằm đảm bảo tính xác thực của dữliệu sử dụng. Tính an toàn của hệ thống thể hiện ở chỗ hệ thống không bị xâm hại (hay 88 bị xâm hại không nhiều) khi có sự cố kỹ thuật, hoặc những xâm hại vô tìnhhay cố ý từ phía con người. Tính riêng tư của hệ thống thể hiện ở chỗ hệ thống bảo đảm được cácquyền truy nhập riêng tư đối với mỗi đối tượng sử dụng khác nhau.1.2. Kiểm soát các thông tin thu thập và các thông tin xuất Để đảm bảo tính xác thực của các thông tin thu thập để đưa vào máytính cũng như các thông tin xuất từ máy tính, nhất thiết phải thiết lập các biệnpháp kiểm tra đối với các thông tin đó.  Sự sai lệch thông tin có thể ở: nơi thu thập thông tin đầu vào, trung tâm máy tính hoặc nơi phân phối đầu ra.  Mục đích của việc kiểm tra là phát hiện lỗi và sửa lỗi.  Hình thức kiểm tra có thể lựa chọn giữa nhiều phương án:  Kiểm tra thủ công hoặc kiểm tra tự động (máy kiểm tra).  Kiểm tra đầy đủ hoặc không đầy đủ (chỉ tập trung vào một số thông tin quan trọng để kiểm tra).  Kiểm tra trực tiếp hay gián tiếp. Kiểm tra trực tiếp là sự kiểm tra không cần dùng thông tin phụ. Ví dụ: kiểm tra khuôn dạng của thông tin hay kiểm tra giá trị của thông tin nằm trong một khoảng cho phép. Kiểm tra gián tiếp là sự kiểm tra qua so sánh với các thông tin khác. Vídụ: thông tin tuổi thu thập được có thể kiểm tra lại khi biết năm sinh (Tuổi đãkhai = Năm hiện tại - Năm sinh, .).1.3. Kiểm soát các sự cố làm gián đoạn chương trình Các sự cố làm gián đoạn chương trình có thể do:  Hỏng phần cứng  Giá mang tệp có sự cố  Môi trường  Hệ điều hành 89  Nhầm lẫn thao tác  Lập trình sai Khi một trong các sự cố đó xảy ra thì gây ra hậu quả là mất thì giờ (vìphải chạy lại chương trình) nhưng quan trọng hơn là có thể làm mất hoặc sailạc thông tin, ví dụ như thông tin trên tệp bị sai lạc vì đang cập nhật dở dang. Để khắc phục hậu quả của các sự cố trên chúng ta có thể lựa chọn một sốbiện pháp sau:  Khoá từng phần cơ sở dữ liệu: CSDL được phân hoạch thành các đơn vị để cập nhật. Các đơn vị có thể là trường, bản ghi, tệp hoặc một số phần rộng hơn của CSDL. Khi một bản sao của một đơn vị được cập nhật thì bản gốc phải khoá lại và ngăn mọi truy nhập đến nó. Khi cập nhật kết thúc, phiên bản mới của đơn vị thay thế phiên bản cũ và sự cập nhật được hoàn thành. Nếu trong quá trình cập nhật, hệ thống có sự cố thì bản gốc vần còn nguyên vẹn.  Tạo các tệp sao lục: các tệp sao lục bao gồm các tệp nhật ký và các tệp lưu. Tệp nhật ký là một tệp tuần tự chứa các bản sao (hoặc hình ảnh) của các đơn vị CSDL trước và sau khi chúng được cập nhật. Các tệp lưu gồm các bản sao toàn bộ hoặc một phần của CSDL có thể được thực hiện theo chu kỳ. Ví dụ: một bản sao một phần bảy CSDL có thể được thực hiện hàng ngày nhưng một bản sao toàn bộ CSDL được thực hiện mỗi tuần một lần.  Tạo thủ tục phục hồi: nhằm đưa CSDL trở về trạng thái đúng đắn mà nó có ngay trước khi bị hỏng vì một sự gián đoạn chương trình. Việc tạo thủ tục phục hồi phụ thuộc vào nguyên nhân của sự gián đoạn chương trình. Nguyên tắc của phục hồi: + Khi chạy chương trình bình thường thì định kỳ ghi lại một số biến mốc quan trọng. + Khi gián đoạn thì khởi động lại chương trình với biến mốc gần nhất.1.4. Kiểm soát các xâm phạm từ phía con người 90 Người trong và ngoài hệ thống (có thể là đối thủ cạnh tranh của cơquan chủ quản hệ thống) cố ý hay vô tình làm sai lệch hoặc mất mát hay làmlộ thông tin mật, riêng tư đều gây ra những thiệt hại có thể là rất lớn. Chính vìvậy mà các xâm phạm từ phía con người là rất nguy hại cho cơ quan chủ quanhệ thống. Người phân tích thiết kế hệ thống phải thực hiện phân tích hết sứcchặt chẽ để kiểm soát vấn đề này.a. Xác định những điểm hở của hệ thống Điểm hở của hệ thống là điểm mà tại đó thông tin của hệ thống có khảnăng bị truy cập trái phép, bị sửa chữa, lấy cắp thậm chí phá huỷ thông tin, cóthể gây thiệt hại lớn cho cơ quan chủ quản hệ thống. Trong một hệ thống các điểm hở có thể là:  Luồng dữ liệu đi và đến tác nhân ngoài của hệ thống  Luồng dữ liệu cắt ngang giữa phần thực hiện bằng máy tính và phần thực hiện thủ công.  Các kho dữ liệu hoặc các tệp.  Các đường truyền trên mạng (đối với hệ phân tán), .b. Xác định mức độ đe doạ từ các điểm hở Căn cứ vào hậu quả thiệt hại mà cơ quan chủ quản hệ thống phải chịukhi có sự thâm nhập trái phép hoặc khi có sự cố xảy ra và khả năng phục hồingười thiết kế kiểm soát phải đánh giá được mức độ thiệt hại này và phânđịnh mức độ đe doạ từ đó có những biện pháp phù hợp phòng, tránh, khắcphục các thiệt hại này. Có thể phân chia thành 3 mức độ đe doạ sau:  Mức thấp: có sự sai lệch về dữ liệu nhưng có thể khắc phục được và ít tốn kém.  Mức trung bình: có sự sai lệch hoặc mất mát dữ liệu, khá ảnh hưởng đến cơ quan chủ quản hệ thống song vẫn có thể khắc phục được nhưng rất tốn kém.  Mức cao: khó có thể khắc phục được (có thể mất hết dữ liệu, hoặc sai 91 nhầm một loạt thông tin quan trọng nhưng không thể phục hồi, .). Từ đó gây thiệt hại lớn đến công ty chủ quản hệ thống và có thể dẫn đến phá sản. Lưu ý: khi phân tích các biện pháp kiểm soát cần có sự tham gia của:  Những người có trách nhiệm trong hệ thống  Những người rất am hiểu về hệ thống  Tuỳ từng hệ thống có thể người sử dụng được tham gia hoặc không được tham gia.c. Các biện pháp phòng ngừa, khắc phục Căn cứ vào mức độ đe doạ và dạng đe doạ (có thể là cố ý ăn cắp, pháhoại hoặc vô ý sai sót, .) nhà phân tích thiết kế hệ thống sẽ lựa chọn một sốcác biện pháp (mức bảo mật) phù hợp để thu được hiệu quả cao nhất. Các mức bảo mật:  Bảo mật vật lý: khoá, chuông báo động  Nhận dạng nhân sự  Mật khẩu  Tạo mật mã: mã hoá dữ liệu sang dạng mã không hiểu được. Người hiểu được phải có quy tắc giải mã thích hợp.  Bảo mật bằng gọi lại: sự truy nhập thực hiện một cách gián tiếp, qua một trạm kiểm soát, tương tự như gọi điện thoại qua tổng đài.d. Phân biệt riêng tư Phân biệt riêng tư là việc phân loại các người dùng để:  Gán cho mỗi loại người dùng một số quyền truy nhập nhất định.  Cho phép một số người dùng được phép uỷ quyền tức giao quyền truy nhập cho người khác. Không có một chuẩn thống nhất cho phân biệt riêng tư, để thực hiện nó ta có thể tham khảo trong một số tài liệu khác.2.THIẾT KẾ CHƯƠNG TRÌNH 92 2.1. Mục đích Các kết quả thu được qua các giai đoạn phân tích, thiết kế tổng thể vàthiết kế chi tiết (về các giao diện, kiểm soát và cơ sở dữ liệu) dù là khá phongphú nhưng vẫn còn là chưa đủ để có thể chuyển sang lập trình được. Các yếutố còn thiếu là: Các chức năng xuất hiện trong các BLD chỉ là các chức năng logic (thuộclĩnh vực bài toán) mà chưa có các chức năng phù trợ cần thiết như là:  Các chức năng đối thoại với người dùng  Xử lý lỗi  Xử lý vào, ra  Tra cứu CSDL  Các chức năng điều hành (nhằm liên kết các chức năng khác) Các liên quan giữa các chức năng trong BLD chỉ là các chuyển giao dữliệu mà không phải là chuyển giao điều khiển (tức là chuyển giao sự thực hiệnkhi thi hành). Một đặc trưng không thể thiếu trong một chương trình là đặctrưng điều khiển (sự tuần tự, chọn, lặp và đặc biệt là lời gọi giữa các chươngtrình con). Đặc trưng này chưa hề có trong các BLD. Vì các thiếu sót này mà các BLD thu được từ giai đoạn phân tích còn phảiđược biến đổi, bổ sung thêm chi tiết thì mới trở thành đầu vào thực sự choviệc lập trình được. Vì vậy phải có thêm một giai đoạn thiết kế chi tiết, đó làthiết kế chương trình. Đây cũng chỉ là một giai đoạn của thiết kế, nhằm đưa racác quyết định về cài đặt, chứ chưa phải là cài đặt, chưa phải là lập trình thựcsự.Đầu vào cho việc thiết kế chương trình  BLD của từng hệ thống con (thiết kế tổng thể)  Các giao diện  Các kiểm soát  CSDL.Đầu ra của thiết kế chương trình 93  Lược đồ chương trình (LCT) cho mỗi hệ thống con  Đặc tả nội dung của từng module trong LCT  Phân bổ các module trong LCT thành các chương trình (hay module tải)  Thiết kế các mẫu thử2.2. Lập lược đồ chương trình Lược đồ chương trình còn gọi là lược đồ cấu trúc là một biểu diễn dướidạng đồ thị của một tập hợp các module cùng với các giao diện giữa cácmodule đó (bao gồm sự chuyển giao điều khiển và chuyển giao dữ liệu).a. Module chương trình Định nghĩa: trong định nghĩa lược đồ cấu trúc thì module được hiểu là một chương trình con hoặc một cụm câu lệnh nằm trong chương trình hay trong một số ngôn ngữ lập trình có các UNIT, CLASS, OBJECT thì đây thực chất là các nhóm module chương trình tập hợp xung quanh một cấu trúc dữ liệu.Các thuộc tính cơ bản của module  Thông tin vào, ra: thông tin nhận được từ chương trình gọi nó hoặc thông tin trả lại cho chương trình gọi nó.  Chức năng hàm biến đổi từ vào thành ra.  Cơ chế: phương thức để thực hiện chức năng trên.  Dữ liệu cục bộ: các chỗ nhớ hay cấu trúc dữ liệu dùng riêng cho nó.b. Công cụ để diễn tả LCT- Biểu diễn các module - Module được biểu diễn bằng một hình chữ nhật trên có ghi nhãn là tênmodule. TÊN MODULE - Trường hợp module được định nghĩa sẵn trong hệ thống hay trong thưviện chương trình thì các cạnh bên được vẽ nét đôi. 94 Tên module có sẵnKết nối các module Các module có thể được kết nối với nhau bằng các lời gọi, diễn tả bởi một mũi tên (cung). A - Module A gọi module B - Module B thực hiện xong chức năng của mình rồi trả điều khiển cho A ở vị trí sau lời gọi. B Trường hợp module A gọi hoặc module B hoặc module C (tuỳ thuộc vào điều kiện nào đó) A B C Trường hợp lặp các lời gọi đến D và E A B C D E FThứ tự các module từ trái qua phải là thứ tự mà module A gọi đến module đótrước.Thông tin trao đổi giữa các module Các thông tin được gửi kèm với lời gọi(các tham số) và thông tin trả vềsau khi thực hiện lời gọi được thể hiện bằng các mũi tên nhỏ vẽ dọc theo 95 cung biểu diễn cho lời gọi, có kèm thoe tên của thông tin.  Ví dụ về LCT Tính lương Chỉ số lương lương Tên nhân viên chính số ngày công Phụ cấp Lương chính lương Loại NV chính Phụ cấp Tính lương chính Tính phụ cấp Lên bảng lương lương Phụ Phụ cấp Lương chính lương chính cấp Phụ chính cấpTính phụ cấp cho nhân Tính phụ cấp cho nhân Tính phụ cấp cho nhân viên phụ động viên tạm tuyển viên trong biên chếc. Chất lượng của LCT LCT sau khi được lập ta chưa nên xem xét là dạng cuối cùng để chấpnhận mà chỉ coi đây là phác thảo ban đầu của thiết kế module, ta còn phải tiếptục tinh chỉnh nó bằng cách gộp, tách hay san sẻ lại nhiệm vụ giữa cácmodule để đạt được các tiêu chuẩn về chất lượng sau.- Sự tương liên  Sự tương liên là mức độ ảnh hưởng lãn nhau giữa các modul.  Một LCT tốt thì sự tương liên phải càng lỏng lẻo, càng đơn giản.  Các loại tương liên:  Tương liên về nội dung: ví dụ một module làm thay đổi nội dung (các lệnh) của module khác, rẽ nhánh sang một module khác hay sử dụng dữ liệu của module được gọi. Cần loại bỏ tương liên này.  Tương liên về điều khiển: là trường hợp một module này chuyển điều 96 khiển cho một module khác. Tương liên điều khiển vi phạm nguyên tắc che giấu thông tin. Vì vậy tương liên điều khiển cũng nên tránh.  Tương liên về dữ liệu: đó là trường hợp hai module trao đổi dữ liệu cho nhau. Sự trao đổi dữ liệu càng đơn giản càng tốt.Sự cố kết  Là sự gắn bó giữa các phần bên trong của một module.  Module càng cố kết thì chức năng của nó càng dễ thấy, logic do đó dễ phát hiện lỗi, dễ bảo trì.Hình thái  Phạm vi điều khiển của một module là phần LCT bao gồm module đó và những module phụ thuộc (được gọi) trực tiếp hay gián tiếp từ nó.  Phạm vi ảnh hưởng của một quyết định là phần LCT bao gồm mọi module chịu ảnh hưởng của quyết định đó. Ví dụ: Cho LCT sau Chính A D B C E F G Ta có: + Phạm vi điều khiển của A là B, C + Giả sử trong B có một quyết định q1 và quyết định được dùng trong A, E, F thì khi đó phạm vi ảnh hưởng của q1 là A, E, F.Một LCT tốt thì về mặt hình thái:  Các quyết định có miền ảnh hưởng càng hẹp càng tốt 97  Mỗi phạm vi ảnh hưởng nằm trong phạm vi điều khiển tương ứng.2.3. Đặc tả các module Sau khi lập được LCT cho mỗi hệ thống con, ta phải đặc tả mỗi moduletrong đó, tức là miêu tả rõ nội dung của module. Đặc tả một module ta cần nêu rõ:  Thông tin đầu vào (Input), thông tin đầu ra (Output)  Các thao tác thực hiện trong chương trình: các đối thoại với người dùng, các xử lý lỗi, tra cứu CSDL, các xử lý, .  Các dữ liệu cục bộ của module Lưu ý: để đặc tả một module ta có thểle tải là một nhóm module chương trình được tải vào bộ nhớ trong đồng thời.  Nếu một LCT dùng ngôn ngữ tựa ngôn ngữ lập trình hoặc sơ đồ khối.2.4. Đóng gói thành module tải  Modu hợp thành một module tải: thời gian tiêu tốn cho việc tải chương trình là ít nhất nhưng bên cạnh đó thì dung lượng bộ nhớ đòi hỏi phải lớn, nhiều khi không đáp được. Ngược lại, nếu mỗi module là một module tải thì tiết kiệm bộ nhớ nhưng chi phí thời gian tải chương trình nhiều. Vì vậy chúng ta cần cắt LCT thành các module tải hợp lý.  Thiết kế module tải phải căn cứ vào các yếu tố như:  Kích cỡ bộ nhớ  Kích cỡ các module  Tần suất lần gọi module  Một module tải bao gồm nhiều nhất các module gắn kết với nhau.2.5. Thiết kế các mẫu thử  Mẫu thử có thể được phát sinh ngẫu nhiên hoặc không ngẫu nhiên, tự động hoặc không tự động.  Cách thử chương trình bằng mẫu thử: 98  Thử tính đúng đắn So kết quả thu được với kết quả chờ đợi Nếu trong quá trình thử phức tạp, yêu cầu chương trình in các giá trị trung gian Kiểm tra giá trị trung gian Kiểm tra vệt chương trình Thử hiệu năng: các mẫu thử phải đủ lớn và có thể thử nghiệm trong một thời gian dài. 99 CHƯƠNG 7 LẬP TRÌNH – CHẠY THỬ – BẢO DƯỠNG1. LẬP TRÌNH1.1. Thành lập tổ lập trìnhTổ lập trình là một nhóm tham gia việc viết các modul và được lắp ghép thànhhệ thống. Việc thiết kế hệ thống càng chi tiết bao nhiêu và mang tính hệ thốngcao sẽ giúp cho việc thực hiện cài đặt và phát triển hệ thống hoàn thiện bấynhiêu. -Một chương trình ứng dụng trung bình có từ 8000 đến 15.000 câu lệnh vàtrung bình người ta có thể viết được 30 câu lệnh 1 ngày. -Từ cơ sở trên tạo nhóm lập trình bao gồm bao nhiêu người trong khoảngthời gian bao lâu.1.2. Chọn ngôn ngữ lập trình -Những ngôn ngữ mang tính hệ thống viết được ra môi trường thường dùnglà C, C++, Pascal và môi trường chuyên dùng: Foxpro, Access, Visual Basic,  -Môi trường (hệ quản trị cơ sở dữ liệu) điển hình hiện nay là Oracle1.3. Cài đặt các tệp, viết các đoạn chương trình chung1.4. Soạn thảo chương trình cho từng đơn vị xử lýYêu cầu đối với các chương trình: -Vào ra phải đúng đắn -Dễ đọc, dễ hiểu để còn bảo trì -Dễ sửa, dễ nâng cấp -Chạy phải nhanh, tiết kiệm bộ nhớ có hiệu quả không gian, thời gian -Tối ưu hoá về mã: thể hiện ở thời gian và chỗ chiếm bộ nhớ2. CHẠY THỬ VÀ GHÉP NỐIChạy thử và ghép nối để cho ra một mẫu thử hệ thống3.THÀNH LẬP CÁC TÀI LIỆU HƯỚNG DẪN SỬ DỤNGTài liệu hướng dẫn đóng vai trò quan trọng với người sử dụng 93 3.1. Đại cươngMục đích của người sử dụng là để trao đổi, liên lạc. Nhà phân tích tham gia pháttriển hệ thống cần trao đổi với một số người trước, trogn và sau tiến trình phântích và thiết kế đã được thảo luận ở đây. Thông tin thu được cần phải được ghilại theo khuôn dạng làm thuận tiện cho việc thâm nhập và tìm kiếm. Kết quả củahoạt động phân tích và các ý tưởng được xem xét trong giai đoạn thiết kế (cảnhững ý tưởng được chấp nhận cũng như bị loại bỏ) đều cần được thâu tóm dướidạng văn bản nào đó, trước hết để giúp làm đầy đủ tiến trình phát triển rồi thứnữa để hỗ trợ cho việc chạy và bảo trì hệ thống khi nó đi vào hoạt động. Về cơ bản có hai khuôn dạng tài liệu. Chúng liên quan đến hai nhómngười tham gia trong việc phát triển và các nhu cầu thông tin khác nhau. -Người dùng (Thuật ngữ người dùng ở đây bao hàm cả nhà quản lý, ngườichủ và người vận hành hệ thống). Tài liệu cho những người này phải được chuẩnbị một cách chính thức bởi nhóm phát triển (một số trong họ cũng chính là ngườidùng). Tài liệu này được xem như một phần của việc bàn giao hệ thống. Tài liệubàn giao bao gồm:+ Đặc tả yêu cầu nghiệp vụ+ Đặc tả thiết kế hệ thống+ Người liệu cho người dùng+ Hướng dẫn vận hành -Người phát triển (thuật ngữ người phát triển ở đây bao hàm cả nhà phântích, người thiết kế, người làm bản mẫu, người lập trình, người quản lý dựán, .đã tham gia vào tiến trình phát triển) Tài liệu cho những người này cho suốtthời kỳ nghiên cứu. Các tài liệu này thường được gọi là hồ sơ giấy tờ làm việc3.2. Hướng dẫn chung -Phần cứng và phần mềm ứng dụng -Hướng dẫn về các phương thức khai báo -Về các người sử dụng -Các hướng dẫn dùng khác 94 3.3. Giới thiệu chương trình, trình tự khai thác -Danh sách các chương trình -Mô tả chi tiết -Trình tự khai thác3.4. Đặc trưng các đầu vào: đưa ra các mẫu3.5. Đặc trưng của các tệp -Đặc trưng chung -Cấu trúc tệp -Các tệp chỉ dẫn3.6. Đặc trưng của các đầu ra -Đặc trưng chung -Cấu trúc lúc trình bày3.7. Hướng dẫn cho các nhân viên điều hành hệ thống4. BẢO TRÌ HỆ THỐNG -Song song với quy trình kiểm tra thì ta phải tiến hành bảo trì hệ thống+ Sửa các lỗi+ Điều chỉnh theo yêu cầu mới+ Cải thiện hiệu năng của hệ thống. Muốn vậy ta phải hiểu được chiến tranh từnhững tài liệu để lại, phải lần ngược dấu vết khi phát hiện lỗi -Bảo trì gồm 4 mức:+ Mức 0: Giới hạn trong chương trình+ Mức 1: Bảo trì mức vật lý: liên quan đến phần cứng+ Mức 2: Mức truy nhập tổ chức+ Mức 3: Mức quan niệm, khái niệm hay logic -Các loại bảo trì+ Bảo trì sửa chữa: 17% đến 20%+ Bảo trì thích ứng: 18% đến 25% 95 + Bảo trì hoàn thiện: cải tiến hệ thống để nó chạy tốt hơn, ổn định hơn, nhanhhơn, chiếm từ 50% đến 60%+ Bảo trì sửa chữa: 17% đến 20%+ Bảo trì thích ứng: 18% đến 25%+ Bảo trì hoàn thiện: cải tiến hệ thống để nó chạy tốt hơn, ổn định hơn, nhanhhơn chiếm từ 50% đến 60% 96 CHƯƠNG 8 BÀI TẬP TỔNG HỢP ĐỀ 1: Hoạt động nhập và xuất sản phẩm của một công ty sản xuất bánh kẹo1. Khi có yêu cầu lấy một mặt hàng kẹo nào đó từ các đại lý, bộ phận quản lý việc xuất sản phẩm sẽ kiểm tra số sản phẩm trong kho. Nếu sản phẩm đủ để đáp ứng yêu cầu thì bộ phận này sẽ lập một phiếu xuất để xuất sản phẩm được yêu cầu cho đại lý. Trong phiếu xuất có ghi rõ tên đại lý, địa chỉ đại lý, tên người nhận, ngày xuất, các thông tin về sản phẩm được xuất: tên sản phẩm, đơn giá, số lượng xuất, loại sản phẩm, thành tiền, tổng số tiền, chữ ký của người viết phiếu, người nhận và thủ trưởng đơn vị. Ngoài ra trên phiếu còn ghi rõ số hiệu phiếu. Một bản sao của phiếu xuất được hệ thống lưu lại. Nếu số lượng sản phẩm yêu cầu không đủ thì thông báo từ chối xuất.2. Sản phẩm kẹo từ các xưởng sản xuất sẽ chuyển đến bộ phận nhập sản phẩm. Bộ phận này sẽ kiểm tra chất lượng của sản phẩm trước khi nhập kho. Nếu chất lượng đảm bảo, bộ phận nhập sản phẩm sẽ lập một phiếu nhập sản phẩm trên phiếu có ghi rõ tên xưởng sản xuất, địa chỉ, tên người giao, các thông tin về sản phẩm được nhập. Phiếu nhập được viết thành 2 bản, một bản giao cho xưởng sản xuất, một bản lưu giữ lại sau khi sản phẩm được chuyển vào kho.3. Hàng tháng một bộ phận sẽ thống kê lại lượng sản phẩm xuất, thu tiền từ các đại lý. Bộ phận này cũng thống kê số lượng của từng sản phẩm còn tồn trong kho sau đó làm báo cáo gửi cho bộ phận kế hoạch để lập kế hoạch sản xuất cho tháng sau. Ngoài ra hệ thống cần lưu trữ thông tin về các xưởng sản xuất bao gồm tên,địa chỉ, số điện thoại, những sản phẩm sản xuất.Các thông tin về sản phẩm gồmcó tên sản phẩm, loại sản phẩm, hình thức đóng gói, đơn giá bán.Trong thôngtin lưu trữ về các đại lý cần có thông tin về lượng hàng đã lấy, số tiền đã trả, sốtiền còn nợ để đảm bảo không một đại lý nào được nợ quá số tiền cho phép. Yêu cầu : 1. Lập mô hình phân rã chức năng của hệ thống đến mức 3. 2. Lập mô hình luồng dữ liệu mức khung cảnh và mức đỉnh của hệ thống. 3. Lập mô hình liên kết thực thể của hệ thống. 4. Thiết kế mẫu phiếu xuất bánh kẹo của công ty. 97 ĐỀ 2: Hoạt động nhập và xuất quạt máy của xí nghiệp điện cơ thống nhất Hà Nội1. Khi có yêu cầu xuất một loại quạt máy nào đó từ các đại lý, bộ phận quản lý xuất sẽ kiểm tra số lượng quạt máy được yêu cầu trong kho. Nếu lượng quạt máy đủ đáp ứng thì bộ phận này sẽ lập một phiếu xuất để xuất quạt máy cho đại lý. Trong phiếu xuất có ghi rõ tên đại lý, địa chỉ đại lý, tên người nhận, ngày xuất, các thông tin về quạt máy được xuất: tên quạt, đơn giá, số lượng xuất, loại quạt máy, thành tiền, tổng số tiền, chữ ký của người viết phiếu, người nhận và thủ trưởng đơn vị. Ngoài ra trên phiếu còn ghi rõ phiếu do Bộ công nghiệp phát hành, ngày phát hành và số hiệu phiếu. Một bản sao của phiếu xuất được hệ thống lưu lại. Nếu số lượng quạt máy không đủ để đáp ứng trên 2/3 số lượng yêu cầu thì thông báo từ chối xuất.2. Quạt máy từ các phân xưởng lắp ráp sẽ chuyển đến bộ phận nhập kho. Bộ phận này kiểm tra chất lượng quạt máy trước khi nhập kho. Nếu chất lượng đảm bảo, bộ phận này sẽ lập một phiếu nhập trên phiếu có ghi rõ tên số hiệu xưởng lắp ráp, tên người giao, các thông tin về quạt máy được nhập. Phiếu nhập được viết thành 2 bản, một bản giao cho xưởng lắp ráp, một bản lưu giữ lại sau khi quạt máy được chuyển vào kho.3. Hàng tháng một bộ phận sẽ thống kê lại lượng quạt máy xuất, thu tiền từ các đại lý. Bộ phận này cũng thống kê số lượng của từng loại quạt máy còn tồn trong kho sau đó làm báo cáo gửi cho bộ phận kế hoạch để lập kế hoạch sản xuất cho tháng sau. Ngoài ra hệ thống cần lưu trữ thông tin về các xưởng lắp ráp bao gồm sốhiệu, số điện thoại, loại quạt lắp ráp.Các thông tin về quạt máy gồm có tên sảnphẩm, đơn vị tính, đơn giá bán.Trong thông tin lưu trữ về các đại lý cần cóthông tin về lượng hàng đã lấy, số tiền đã trả, số tiền còn nợ để đảm bảo khôngmột đại lý nào được nợ quá số tiền cho phép.Yêu cầu : Lập mô hình phân rã chức năng của hệ thống đến mức 3. Lập mô hình luồng dữ liệu mức khung cảnh và mức đỉnh của hệ thống. Lập mô liên kết thực thể của hệ thống của hệ thống. 98 ĐỀ 3: HOẠT ĐỘNG CỦA CÔNG TY CỔ PHẦN HÀ LINH CHUYÊNCHO THUÊ XE Ô TÔ- Quản lý danh mục các loại xe: nhập thêm các loại xe mới từ các hãng sản xuất ô tô, xoá bỏ thông tin về loại xe khi các hãng không còn sản xuất, sửa đổi thông tin về loại xe, tìm kiếm thông tin loại xe khi cần. Thông tin về loại xe bao gồm: mã loại xe, tên loại, hãng sản xuất, năm sản xuất, mô tả khác.- Quản lý thông tin xe: nhập thông tin xe mới khi có một xe được mua về. Khi xe không còn phục vụ được nữa thì xoá bỏ thông tin về xe, nhân viên có thể tìm kiếm xe khi khách muốn thuê. Ngoài ra có thể sửa đổi thông tin về xe khi cần thiết. Thông tin về xe bao gồm: biển số xe, mã loại xe, màu sơn, tình trạng và mô tả khác. Các thông tin về loại xe và xe đều do nhân viên của công ty cung cấp.- Khách hàng muốn thuê xe tại công ty lần đầu thì thông tin về họ được lưu trữ lại. Quản lý các khách hàng: thêm mới thông tin của khách gồm: họ tên, giới tính, điện thoại, địa chỉ và các đặc điểm khác để xác nhận như: số chứng minh thư nhân dân hoặc số hộ chiếu hoặc số tài khoản. Mỗi khách hàng được gán một định danh duy nhất là mã khách hàng. Sau khi xác nhận các thông tin về khách hàng hệ thống lưu trữ thông tin của họ. Thông tin của khách hàng thay đổi thì được cập nhật lại, xoá bỏ thông tin của khách hàng khi họ không thuê xe trong vòng 1 năm.- Khi thuê xe tại công ty khách hàng chỉ được thuê không quá 2 chiếc. Trước khi thuê họ phải trình chứng minh thư nhân dân hoặc hộ chiếu và đặt cọc một khoản tiền là 20 triệu đồng/xe. Quản lý cho thuê xe được thực hiện như sau: sau khi kiểm tra chứng minh thư hoặc hộ chiếu và kiểm tra xe mà khách yêu cầu thì sẽ nhận tiền đặt cọc. Nếu công ty không còn xe mà khách yêu cầu thì từ chối cho thuê. Nếu công ty có xe đáp ứng được yêu cầu của khách thì tiến hành lập phiếu cho thuê gửi đến khách. Thông tin trong phiếu cho thuê gồm: Số phiếu thuê, ngày thuê, mã khách hàng, số chứng minh thư nhân dân hoặc hộ chiếu và các thông tin về xe gồm: {biển số xe, loại xe, hãng sản xuất, năm sản xuất, tình trạng, số lượng, số ngày mượn và đơn giá 99 mượn. Khi khách hàng trả xe thì nhân viên cửa hàng sẽ kiểm tra tình trạng xe trả và ghi nhận về việc trả xe của khách. Nếu khách trả muộn so với ngày quy định trên phiếu cho thuê thì họ phải chịu một khoản tiền phạt là 500000/ ngày, còn nếu xe bị hỏng hóc thì khách phải chịu chi phí sửa chữa hoặc thay phụ tùng và tiến hành lập phiếu nộp phạt. Thông tin trong phiếu nộp phạt gồm có: số phiếu phạt, ngày phạt, mã khách hàng, họ tên khách hàng, số chứng minh thư nhân dân hoặc hộ chiếu và danh mục các khoản nộp phạt như: { lý do nộp phạt, số tiền nộp phạt} và tổng số tiền nộp phạt. Mỗi phiếu cho thuê xe do một nhân viên thu tiền. Mỗi nhân viên có thể thu tiền của nhiều phiếu cho thuê xe.- Để theo dõi và quản lý nhân viên làm việc, công ty thực hiện thêm mới vào danh sách khi có nhân viên mới được tuyển, sửa đổi thông tin khi có những biến đổi xảy ra và xoá bỏ nhân viên khi hết hợp đồng hoặc bị sa thải. Các thông tin về nhân viên gồm: mã nhân viên, tên nhân viên, điện thoại liên hệ, các mô tả khác.- Ngoài ra để tiện theo dõi việc kinh doanh của công ty, hàng tháng công ty lập các báo cáo gửi cho ban giám đốc về doanh thu trong tháng, danh sách các xe không còn sử dụng được, báo cáo về loại xe mà khách hay thuê để ban giám đốc có các biện pháp điều chỉnh. Dựa theo mô tả trên đây, anh (chị) hãy thực hiện các yêu cầu sau:1. Vẽ mô hình phân cấp chức năng của hệ thống (1.5 điểm)2. Vẽ mô hình luồng dữ liệu mức khung cảnh và mức đỉnh (3 điểm)3. Xây dựng mô hình liên kết thực thể của hệ thống (trình bày rõ các bước) (3 điểm)4. Xây dựng mô hình quan hệ từ tài liệu xuất (2.5 điểm) 10 CÔNG TY HÀ LINH PHIẾU THUÊ XE Số phiếu Ngày thuêHọ và tên:Địa chỉ………………………………….Số CMTND( Hộ chiếu) .Thông tin về xe thuê STT Biển số Mã loại Hãng Năm sản Tình Màu Số Số Đơn Thành xe xe sản xuất trạng xe sơn lượng ngày giá/ngày tiền xuất mượn 1 2 Khách hàng Nhân viên thu tiền 10 ĐỀ 4: Hoạt động của một trung tâm thư viện Hoạt động của thư viện trong trường Đại học Hà Nội được thực hiện nhưsau: Độc giả muốn mượn sách của thư viện thì trước tiên phải đăng ký làm thẻthư viện. Quản lý độc giả: nhập thông tin độc giả khi độc giả đến đăng ký làmthẻ. Các thông tin về độc giả bao gồm: họ tên, ngày sinh, giới tính, địa chỉ nhàriêng, số điện thoại nhà riêng, cơ quan công tác, mã đối tượng và những thôngtin để xác nhận độc giả như số chứng minh thư hay số hộ chiếu. Mỗi độc giả cómột định danh duy nhất là: mã độc giả. Sau khi xác nhận các thông tin về độc giảhệ thống tạo thẻ độc giả dựa trên các thông tin đó. Trên thẻ độc giả có các thôngtin: mã thẻ, tên độc giả, ngày sinh, địa chỉ, ngày tạo, ngày hết hạn. Các thông tinvề độc giả và thẻ độc giả được lưu trữ lại. Mỗi độc giả chỉ có một thẻ độc giả vàmỗi thẻ độc giả chỉ thuộc một độc giả. Mỗi độc giả thuộc một loại đối tượng ưutiên tuỳ theo công việc và vị trí công tác của họ. Mỗi loại đối tượng ưu tiên có rấtnhiều độc giả. Thông tin về loại đối tượng ưu tiên ngoài mã đối tượng còn có tênđối tượng và các mô tả khác. Khi mượn sách độc giả được phép mượn với số lượng và thời gian hạn chếtuỳ theo loại đối tượng ưu tiên. Nhưng trước khi mượn họ phải trình thẻ độc giảvà không có sách mượn quá hạn. Hoạt động mượn trả sách được thực hiện nhưsau: Sau khi kiểm tra thẻ độc giả và kiểm tra sách quá hạn, nếu đúng là độc giảđã đăng ký và không có sách quá hạn, thì các sách mà họ yêu cầu sẽ được kiểmtra xem sách đó đã được mượn hay chưa nếu sách chưa bị cho mượn thì thôngtin về việc mượn sách được lưu lại trên phiếu mượn. Thông tin về phiếu mượngồm có: số phiếu, ngày mượn, mã thẻ độc giả và các thông tin chi tiết về cácsách mượn: mã sách, số lượng, số ngày được mượn. Khi độc giả trả sách thì nhân viên thư viện kiểm tra tình trạng sách trả, và ghinhận việc trả sách của độc giả. Nếu độc giả trả muộn so với ngày quy định trênphiếu mượn thì họ phải chịu một khoản lệ phí theo từng loại sách. Mỗi thẻ độcgiả có thể có nhiều phiếu mượn, mỗi phiếu mượn chỉ ghi một thẻ độc giả. Trênmỗi phiếu mượn có thể mượn nhiều sách, mỗi đầu sách có thể cho mượn nhiềulần. Mỗi phiếu mượn do một nhân viên lập, một nhân viên có thể lập nhiều phiếumượn. Để theo dõi và quản lý nhân viên làm việc tại thư viện: thực hiện thêm mớivào danh sách khi có nhân viên mới được tuyển, sửa đổi thông tin khi có những 10 biến đổi xảy ra và xoá bỏ nhân viên khi hết hợp đồng hoặc bị sa thải. Các thôngtin về nhân viên gồm: mã nhân viên, tên nhân viên, điện thoại liên hệ, các mô tảkhác. Cuối mỗi tuần làm việc nhân viên thư viện kiểm tra toàn bộ danh sách sáchmượn để phát hiện các độc giả mượn quá hạn. Nếu độc giả mượn quá hạn dưới3 ngày thì họ sẽ nhận được một phiếu nhắc trả sách gồm các thông tin: số phiếu,ngày lập, mã thẻ, họ tên và thông tin về sách {mã sách, tên sách, tác giả, nhàxuất bản, đơn giá phạt}. Ngoài ra vào tuần cuối cùng của tháng thư viện cũng tạo các báo cáo thống kêsố lượng sách mượn trong tháng và báo cáo về loại sách đang được yêu thích, sốlượng độc giả mượn sách. Việc quản lý sách của thư viện như sau: thường xuyên nhập thêm các đầusách dựa trên việc chọn sách từ các danh mục sách mà các nhà cung cấp gửi tới.Khi các sách quá cũ hoặc không còn giá trị sử dụng thì thanh lý sách. Ngoài racó thể sửa thông tin về sách khi cần thiết. Thông tin về sách bao gồm: mã sách,tên sách, thể loại, tình trạng, năm xuất bản, nhà xuất bản, tác giả. Một nhà xuấtbản xuất bản nhiều đầu sách khác nhau. Mỗi đầu sách do một nhà xuất bản xuấtbản. Một tác giả viết nhiều đầu sách, một đầu sách do một tác giả viết (nếu cónhiều tác giả cùng viết thì chỉ cần lưu thông tin người chủ biên). Thông tin vềnhà xuất bản gồm có: mã nhà xuất bản, tên nhà xuất bản, địa chỉ, số điện thoại.Thông tin về tác giả bao gồm: mã tác giả, tên tác giả, cơ quan công tác, địa chỉnhà riêng, số điện thoại. Dựa theo mô tả trên đây, anh (chị) hãy thực hiện các yêu cầu sau: 1. Vẽ mô hình phân cấp chức năng của hệ thống (1.5 điểm) 2. Vẽ mô hình luồng dữ liệu mức khung cảnh và mức đỉnh (2.5 điểm) 3. Xây dựng mô hình liên kết thực thể của hệ thống (2.5 điểm) 4. Xây dựng mô hình quan hệ từ tài liệu xuất (2.5 điểm) 5. Thiết kế phiếu mượn sách (1 điểm). 10 ĐỀ 5: Hoạt động của khách sạn Hoàng Hà được thực hiện như sau: Quản lý thuê, trả phòng: Khi khách hàng đến thuê đặt phòng, bộ phận quản lýthuê phòng sẽ kiểm tra yêu cầu của khách. Nếu yêu cầu không đáp ứng được thìđưa ra thông báo từ chối, nếu đáp ứng được thì lập phiếu thuê cho khách hàng.Thông tin trên phiếu thuê gồm có: Mã phiếu thuê, ngày lập, mã khách hàng, tênkhách hàng, số CMND, địa chỉ khách hàng, số tiền đặt trước, yêu cầu. Phiếu thuêđược lập thành hai bản, một bản giao cho khách, một bản lưu lại. Khách hàng cóthể thuê nhiều lần khi có nhu cầu thuê phòng, mỗi lần thuê sẽ có một phiếu thuêđược lập. Khi khách hàng trả phòng hoá đơn thanh toán sẽ được lập cho kháchhàng. Thông tin trên hoá đơn gồm: Mã hoá đơn, mã phiếu thuê, tên khách hàng,số CMND và thông tin về phòng thuê gồm {số phòng, tình trạng phòng, đơn giáphòng, số ngày ở, thành tiền}, tổng tiền dịch vụ, tổng tiền thanh toán, ghi chú .Hoá đơn được lập thành hai bản, một bản giao cho khách, một bản lưu lại. Quản lý dịch vụ: Khi khách hàng có nhu cầu sử dụng dịch vụ, bộ phận quảnlý dịch vụ sẽ kiểm tra yêu cầu của khách. Nếu yêu cầu không đáp ứng được thìđưa ra thông báo từ chối, nếu đáp ứng được thì cung cấp dịch vụ cho khách. Bộphận này phải lưu đầy đủ thông tin theo dõi quá trình sử dụng dịch vụ của kháchhàng trong hoá đơn dịch vụ: số hoá đơn dịch vụ, ngày lập, mã khách hàng, tênkhách hàng, số CMND, và thông tin về dịch vụ gồm {mã dịch vụ, tên dịch vụ,ngày sử dụng, thời lượng sử dụng, thành tiền}, tổng tiền, ghi chú. Mỗi phiếu thuêcó thể có nhiều hoá đơn sử dụng dịch vụ. Ngoài ra bộ phận này còn phải thêmdịch vụ nếu là dịch vụ mới, xoá dịch vụ nếu dịch vụ đó không dùng nữa và sửachữa thông tin dựa trên các thông tin về các dịch vụ do nhà cung cấp gửi tới từyêu cầu của khách sạn. Thông tin gồm: mã dịch vụ, tên dịch vụ, đơn giá, mô tảkhác. Quản lý khách hàng: trong thời gian lưu lại khách sạn, bộ phận quản lý kháchhàng sẽ nhập và lưu toàn bộ thông tin về khách hàng. Khi cần thiết cũng có thểsửa chữa và xoá thông tin khách hàng. Thông tin khách hàng gồm: mã kháchhàng, tên khách hàng, số CMND, địa chỉ, điện thoại, quốc tịch, số hộ chiếu. 10 Quản lý phòng: nhập mới thông tin phòng, sửa chữa thông tin về phòng, xoábỏ thông tin phòng. Thông tin về phòng do ban quản lý cung cấp và gồm cácthông tin: Số phòng, loại phòng, diện tích, tình trạng phòng, đơn giá phòng. Quản lý tiện nghi: Việc thêm mới tiện nghi được thực hiện khi có tiện nghimới được nhập về từ nhà cung cấp. Nếu một tiện nghi không dùng nữa thì xoáthông tin tiện nghi đó. Thông tin tiện nghi cũng có thể được sửa chữa. Thông tintiện nghi gồm: Mã tiện nghi, tên tiện nghi, tình trạng tiện nghi, số lượng hiện có. Trong một phòng có thể có nhiều tiện nghi, các tiện nghi cũng có thể có trongnhiều phòng Bộ phận báo cáo thống kê lấy thông tin từ các bộ phận khác và có nhiệm vụthống kê khách hàng thuê, thống kê tình trạng phòng, thống kê tình trạng thuêphòng, thống kê doanh thu để đưa lên ban quản lý khi nhận được yêu cầu từ banquản lý. Yêu cầu: 1. Vẽ mô hình phân cấp chức năng của hệ thống (3 điểm) 2. Vẽ mô hình luồng dữ liệu mức khung cảnh và mức đỉnh (3 điểm) 3. Xây dựng mô hình liên kết thực thể của hệ thống (4 điểm) 10 ĐỀ 6: Hoạt động của một công ty phát hành sách1. Khi có yêu cầu nhập sách từ các đại lý một bộ phận quản lý việc phát hành sẽ kiểm tra lượng sách hiện có. Nếu có thể đáp ứng yêu cầu thì bộ phận này sẽ lập một phiếu xuất để xuất sách cho đại lý. Trong phiếu xuất có ghi rõ tên đại lý, địa chỉ đại lý, người nhận sách, ngày xuất, các thông tin về sách. Hệ thống lưu lại một bản sao của phiếu xuất và ghi nợ cho đại lý. Nếu không có đủ số lượng hoặc không có loại sách yêu cầu thì thông báo từ chối xuất.2. Khi có yêu cầu bán sách từ các nhà xuất bản, bộ phận quản lý việc nhập sách sẽ kiểm tra chất lượng sách. Nếu chất lượng sách đảm bảo nhà xuất bản sẽ chuyển sách đến công ty. Bộ phận này sẽ lập một phiếu nhập sách. Trong phiếu nhập có ghi rõ tên nhà xuất bản, địa chỉ nhà xuất bản, điện thoại nhà xuất bản, người giao sách, ngày nhập, thông tin về sách nhập, đơn giá, số lượng xuất, lĩnh vực, thành tiền, tổng số tiền, các chữ ký của người viết phiếu, người giao, thủ trưởng đơn vị. Ngoài ra trên phiếu còn ghi rõ phiếu xuất do công ty phát hành sách phát hành, ngày phát hành, số hiệu phiếu. Một bản phiếu nhập sách giao cho nhà xuất bản, một bản lưu giữ lại và sau đó sách được chuyển vào kho.3. Hàng tháng các đại lý sẽ gửi danh mục những sách đã bán được cho bộ phận thống kê. Bộ phận này sẽ thống kê lại lượng sách đã bán, thu tiền và điều chỉnh sách từ các đại lý. Bộ phận này cũng thống kê lượng sách còn tồn trong kho sau đó gửi thông báo về sách tồn và thanh toán tiền sách đã bán cho các nhà xuất bản. Ngoài ra hệ thống cần lưu giữ các thông tin về sách gồm tên sách, tên tácgiả, lĩnh vực…Các thông tin về nhà xuất bản gồm tên, địa chỉ, số điện thoại, sốtài khoản,…Trong thông tin lưu trữ về các đại lý cần có thông tin về lượng sáchđã lấy, số tiền đã trả, số tiền còn nợ để đảm bảo không một đại lý nào được nợquá số tiền cho phép. Yêu cầu: 1. Vẽ mô hình phân cấp chức năng của hệ thống (3 điểm) 2. Vẽ mô hình luồng dữ liệu mức khung cảnh và mức đỉnh (3 điểm) 3. Xây dựng mô hình liên kết thực thể của hệ thống (4 điểm) 10 ĐỀ 7: Hoạt động kinh doanh của công ty thiết bị gia đình- Quản lý thông tin các đại lý: các đại lý lần đầu tiên liên hệ với công ty để đặt mua sản phẩm thông tin về họ được lưu trữ lại bằng thao tác thêm mới, nếu sai sót được thực hiện bằng thao tác sửa chữa, xoá bỏ các đại lý không còn giao dịch với công ty. Thông tin của các đại lý bao gồm: số hiệu đại lý, tên đại lý, điện thoại, địa chỉ và các đặc điểm khác.- Quản lý thông tin sản phẩm bằng cách thêm mới sản phẩm khi nó được nhập vào kho từ các xưởng sản xuất, sửa chữa các thông tin khi cần thiết và xoá bỏ thông tin về sản phẩm khi không còn sản xuất nữa. Các thông tin về sản phẩm bao gồm: Mã sản phẩm, tên sản phẩm, mô tả về sản phẩm, thời gian bảo hành, số lượng hiện có.- Việc bán sản phẩm của công ty được thực hiện như sau: Khi các đại lý muốn mua sản phẩm, họ gửi đến công ty một phiếu đặt mua sản phẩm. Trên phiếu đặt mua sản phẩm có các thông tin về: các sản phẩm mà họ muốn mua cũng như các thông tin về chính họ. Khi nhận được phiếu đặt mua sản phẩm của các đại lý công ty thực hiện kiểm tra các sản phẩm mà đại lý yêu cầu. Nếu sản phẩm mà đại lý yêu cầu không còn hoặc không đủ số lượng đáp ứng thì đưa ra một thông báo từ chối bán. Nếu các yêu cầu của đại lý được đáp ứng thì viết hoá đơn gửi cho đại lý để họ thanh toán và lưu lại bản sao của hoá đơn. Khi đại lý đã thanh toán xong thì xác nhận đã thanh toán vào hoá đơn và chuyển hoá đơn này cho bộ phận xuất sản phẩm. Bộ phận này xuất theo hoá đơn đã nhận được. Nếu đại lý nhận sản phẩm trực tiếp tại công ty thì sản phẩm được giao ngay cho khách. Nếu cần phải chuyển đến địa chỉ của đại lý, bộ phận này lập một phiếu chuyển sản phẩm gửi cho nhân viên chuyển. Nhân viên chuyển sản phẩm được thực hiện vận chuyển sản phẩm cho đại lý theo phiếu chuyển sản phẩm nhận được. Khi chuyển xong thì báo lại cho công ty biết đã chuyển thành công. Phiếu chuyển sản phẩm được lưu trữ lại. Các thông tin trên hoá đơn gồm: Số hoá đơn, ngày lập hoá đơn, số hiệu đại lý, tên đại lý, điện thoại, địa chỉ, người lập hoá đơn, tổng số tiền cần thanh toán, đã thanh toán hay chưa, ghi chú và các thông tin về sản phẩm được bản gồm: {Mã sản phẩm, tên sản phẩm, mô tả về sản phẩm, số lượng và đơn 10 giá}. Các thông tin trên phiếu chuyển sản phẩm gồm: Số phiếu chuyển, số hiệu người chuyển, ngày chuyển, đã chuyển thành công.- Để theo dõi và quản lý nhân viên vận chuyển công ty có một danh sách các nhân viên chuyển sản phẩm. Việc quản lý này được thực hiện bằng cách thêm mới vào danh sách khi có nhân viên mới được tuyển, sửa đổi thông tin khi có những biến đổi xảy ra và xoá bỏ nhân viên khi hết hợp đồng hoặc bị sa thải. Các thông tin về nhân viên gồm: Số hiệu người chuyển, họ tên, địa chỉ, điện thoại liên hệ, các mô tả khác.- Ngoài ra để tiện theo dõi việc kinh doanh của công ty, hàng tháng công ty lập các báo cáo gửi cho ban giám đốc về doanh thu trong tháng, danh sách các sản phẩm đã bán, báo cáo về sản phẩm tồn kho để ban giám đốc có các biện pháp điều chỉnh. Yêu cầu: 1. Vẽ mô hình phân cấp chức năng của hệ thống (3 điểm) 2. Vẽ mô hình luồng dữ liệu mức khung cảnh và mức đỉnh (3 điểm) 3. Xây dựng mô hình liên kết thực thể của hệ thống (4 điểm) 10 ĐỀ 8: Hệ thống hoạt động cho thuê băng đĩaSài Gòn Video là một công ty chuyên kinh doanh và cho thuê băng đĩa có cửahàng giao dịch đặt tại trung tâm thành phố. Hàng ngày mở của từ 8h đến 21h đểgiao dịch với khách.- Quản lý băng đĩa được thực hiện như sau: thường xuyên nhập thêm các băng đĩa dựa vào việc chọn lựa băng đĩa từ danh mục mà các nhà cung cấp gửi tới. Khi các băng đĩa hỏng thì xoá bỏ thông tin. Ngoài ra có thể sửa đổi thông tin về băng đĩa khi cần thiết. Thông tin về băng đĩa bao gồm: mã băng đĩa, tên băng đĩa, thể loại, tình trạng, hãng sản xuất và ghi chú.- Khách hàng muốn thuê băng đĩa tại cửa hàng lần đầu phải đăng ký trở thành thành viên của hệ thống. Việc quản lý các thành viện được thực hiện như sau: tạo thành viên mới gồm các thông tin: Họ tên, giới tính, điện thoại, địa chỉ và các đặc điểm khác để xác nhận như: Số chứng minh thư nhân dân hay số hộ chiếu hay số tài khoản. Mỗi khách hàng có một định danh duy nhất là mã thành viên. Sau khi xác nhận các thông tin về thành viên hệ thống tạo một thẻ thành viên gửi cho khách. Trên thẻ ghi rõ: mã thẻ, tên thành viên, địa chỉ, ngày tạo, ngày hết hạn. Các thông tin về thành viên và thẻ được lưu trữ lại. Mỗi khách hàng tại một thời điểm chỉ có một thẻ thành viên. Nếu khách hàng bị mất hay hết hạn thì phải xin cấp lại và thẻ cũ sẽ bị huỷ.- Khi thuê băng đĩa tại công ty khách có thể thuê một số lượng bất kỳ. Nhưng trước khi mượn họ phải trình thẻ thành viên và không có băng đĩa thuê quá hạn. Hoạt động thuê băng đĩa được thực hiện như sau: Sau khi kiểm tra thẻ thành viên và kiểm tra băng đĩa quá hạn nếu đúng là thành viên đã đăng ký và không có băng đĩa quá hạn thì các băng đĩa mà khách yêu cầu sẽ được kiểm tra và lập phiếu cho thuê gửi đến khách. Thông tin trong phiếu cho thuê gồm: Số phiếu, ngày thuê, mã thẻ thành viên và các thông tin về băng đĩa gồm: {Mã băng đĩa, tên băng đĩa, thể loại, tình trạng, số lượng, số ngày được mượn và đơn giá. Khi khách hàng trả băng đĩa thì nhân viên cửa hàng sẽ kiểm tra tình trạng băng đĩa trả và ghi nhận về việc trả băng đĩa của khách. 10 Nếu khách trả muộn so với ngày quy định trên phiếu cho thuê thì họ phải chịu một khoản tiền phạt là 40% tiền thuê/băng đĩa. Mỗi phiếu cho thuê băng đĩa do một nhân viên thu tiền. Mỗi nhân viên có thế thu tiền của nhiều phiếu cho thuê băng đĩa.- Để theo dõi và quản lý nhân viên làm việc, công ty thực hiện thêm mới vào danh sách khi có nhân viên mới được tuyển, sửa đổi thông tin khi có những biến đổi xảy ra và xoá bỏ nhân viên khi hết hợp đồng hoặc bị sa thải. Các thông tin về nhân viên gồm: Mã nhân viên, tên nhân viên, điện thoại liên hệ, các mô tả khác.- Ngoài ra để tiện theo dõi việc kinh doanh của công ty, hàng tuần công ty lập các báo cáo gửi cho ban giám đốc về doanh thu trong tuần, danh sách các băng đĩa quá hạn, báo cáo về băng đĩa đang được yêu thích để ban giám đốc có các biện pháp điều chỉnh. Yêu cầu: 1. Vẽ mô hình phân cấp chức năng của hệ thống 2. Vẽ mô hình luồng dữ liệu mức khung cảnh và mức đỉnh 3. Xây dựng mô hình quan hệ từ tài liệu xuất: 11 CÔNG TY SÀI GÒN VIDEO PHIẾU CHO THUÊ BĂNG ĐĨA Số phiếu  Ngày thuê. Mã thẻ thành viên:.Họ và tên: Địa chỉ: .Điện thoại:. Danh sách băng đĩa khách thuê mã băngTên băng Số số ngày đơn ThànhSTT Thể loại Tình trạng đĩa đĩa lượng mượn giá/ngày tiền12…. Tổng số tiền cần thanh toán:.Đã thanh toán:……………………… Số tiền phạt: ………………………………………………………………………. Khách hàng Nhân viên thu tiền 11 ĐỀ 9: Hoạt động của công ty sản xuất nước giải khát ABC như sau:- Quản lý danh mục sản phẩm: nhập thông tin của sản phẩm khi sản xuất ra một loại mới, xoá bỏ thông tin khi không còn sản xuất, sửa đổi thông tin khi cần thiết. Thông tin về sản phẩm bao gồm: mã sản phẩm, tên sản phẩm, loại sản phẩm, số lượng có, đơn giá.- Quản lý thông tin đại lý: nhập thông tin về đại lý khi có một đại lý mới đến mua sản phẩm, xoá bỏ thông tin khi không còn giao dịch, sửa đổi thông tin khi cần thiết. Thông tin về đại lý bao gồm: mã đại lý, tên đại lý, địa chỉ, điện thoại, số tiền còn nợ để đảm bảo không một đại lý nào được nợ quá số tiền cho phép.- Khi có yêu cầu xuất một loại sản phẩm nào đó từ các đại lý, bộ phận quản lý xuất sẽ kiểm tra số lượng sản phẩm được yêu cầu trong kho. Nếu lượng sản phẩm đủ đáp ứng thì bộ phận này sẽ lập một phiếu xuất để xuất sản phẩm cho đại lý. Trong phiếu xuất có ghi rõ tên đại lý, địa chỉ đại lý, tên người nhận, ngày xuất, các thông tin về sản phẩm được xuất: tên sản phẩm, đơn giá, số lượng xuất, thành tiền, tổng số tiền, chữ ký của người viết phiếu, người nhận và thủ trưởng đơn vị. Ngoài ra trên phiếu còn ghi rõ phiếu do Bộ công thương phát hành, ngày phát hành và số hiệu phiếu. Một bản sao của phiếu xuất được hệ thống lưu lại. Nếu số lượng sản phẩm không đủ để đáp ứng trên 2/3 số lượng yêu cầu thì thông báo từ chối xuất. Một đại lý có nhiều phiếu xuất, một phiếu xuất chỉ xuất cho 1 đại lý. Một phiếu xuất có thể có nhiều sản phẩm được xuất, một sản phẩm có thể có hoặc không có trong nhiều phiếu xuất.- Sản phẩm từ các phân xưởng sản xuất sẽ chuyển đến bộ phận nhập kho. Bộ phận này kiểm tra chất lượng sản phẩm trước khi nhập kho. Nếu chất lượng đảm bảo, bộ phận này sẽ lập một phiếu nhập trên phiếu có ghi rõ tên số hiệu xưởng sản xuất, tên người giao, các thông tin về sản phẩm được nhập: tên sản phẩm, đơn giá, số lượng nhập, thành tiền, tổng số tiền, chữ ký của người viết phiếu, người nhận và thủ trưởng đơn vị. Phiếu nhập được viết thành 2 bản, một bản giao cho xưởng sản xuất, một bản lưu giữ lại sau khi sản phẩm 11 được chuyển vào kho. Nếu chất lượng không đảm bảo thì từ chối nhập. Một phiếu nhập được viết cho một phân xưởng, một phân xưởng có thể có nhiều phiếu nhập.- Hàng tháng một bộ phận sẽ thống kê lại lượng sản phẩm đã xuất, thu tiền từ các đại lý. Bộ phận này cũng thống kê số lượng của từng loại sản phẩm còn tồn trong kho sau đó làm báo cáo gửi cho bộ phận kế hoạch để lập kế hoạch sản xuất cho tháng sau.- Ngoài ra hệ thống còn quản lý thông tin về các xưởng sản xuất: thêm mới, sửa, xóa. Thông tin về xưởng sản xuất gồm: số hiệu, số điện thoại, loại sản phẩm sản xuất. Một phân xưởng chỉ sản xuất một loại sản phẩm. Dựa theo mô tả trên đây, anh (chị) hãy thực hiện các yêu cầu sau: Yêu cầu: 1. Vẽ mô hình phân cấp chức năng của hệ thống 2. Vẽ mô hình luồng dữ liệu mức khung cảnh và mức đỉnh 3. Lập mô hình liên kết thực thể 11 ĐỀ 10: Hoạt động bán hàng của công ty Tomato như sau: Quản lý thông tin khách hàng: thêm mới, sửa chữa, xoá bỏ thông tin về kháchhàng. Các thông tin về khách hàng bao gồm: số hiệu khách hàng, họ tên kháchhàng, địa chỉ, điện thoại liên hệ, các đặc điểm khác. Tất cả các thông tin vềkhách hàng đều được lưu trữ lại. Quản lý thông tin hàng: thêm mới hàng khi hàng được đưa về, sửa các thôngtin về hàng khi cần thiết và xoá thông tin về hàng khi không còn kinh doanh nữa.Các thông tin về hàng bao gồm: mã hàng, tên hàng, mô tả hàng, thời gian bảohành, nhà sản xuất, số lượng hiện có. Những thông tin về hàng được nhân viênquản lý kho hàng cung cấp khi hàng được chuyển đến kho. Việc bán hàng của công ty được thực hiện như sau: Khi khách hàng muốnmua hàng, họ gửi cho công ty một phiếu đặt hàng. Trên phiếu đặt hàng có cácthông tin về các mặt hàng mà họ muốn mua cũng như các thông tin về chính họ.Khi nhận được phiếu đặt hàng của khách thì công ty thực hiện kiểm tra các mặthàng mà khách yêu cầu. Nếu mặt hàng mà khách yêu cầu không có bán tại côngty hoặc đã hết hàng thì đưa ra một thông báo từ chối bán hàng. Nếu các yêu cầucủa khách được đáp ứng thì viết hoá đơn gửi cho khách hàng để họ thanh toán vàlưu lại bản sao của hoá đơn. Khi khách hàng đã thanh toán xong thì xác nhận đãthanh toán vào hoá đơn và chuyển hoá đơn này cho bộ phận xuất và chuyểnhàng. Bộ phận này xuất hàng theo hoá đơn đã nhận được. Nếu khách nhận hàngtrực tiếp tại công ty thì hàng được giao ngay cho khách. Nếu cần phải chuyểnhàng tới địa chỉ của khách, bộ phận này lập một phiếu chuyển hàng gửi cho nhânviên chuyển hàng. Nhân viên chuyển hàng thực hiện chuyển hàng cho kháchtheo phiếu chuyển nhận được. Khi chuyển hàng xong thì báo cáo lại cho công tybiết đã chuyển thành công. Phiếu chuyển hàng được lưu trữ lại. Các thông tin trên hoá đơn gồm: số hoá đơn, số hiệu khách hàng, họ tênkhách hàng, địa chỉ khách, điện thoại liên hệ, ngày lập hoá đơn, người lập hoáđơn, tổng số tiền cần thanh toán, đã thanh toán hay chưa, ghi chú và các thôngtin chi tiết về hàng bán bao gồm { mã hàng, tên hàng, mô tả mặt hàng, số lượng, 11 đơn giá}. Các thông tin trên phiếu chuyển hàng bao gồm: số phiếu chuyển, số hoá đơn,số hiệu người chuyển hàng, ngày chuyển, tình trạng chuyển. Mỗi hoá đơn có mộtvà chỉ một phiếu chuyển hàng. Mỗi phiếu chuyển hàng do một nhân viên chuyểnhàng phụ trách. Một nhân viên có thể phụ trách nhiều phiếu chuyển hàng. Để theo dõi và quản lý nhân viên chuyển hàng công ty có một danh sách cácnhân viên chuyển hàng. Việc quản lý này được thực hiện bằng cách thêm mớivào danh sách khi có nhân viên mới được tuyển, sửa đổi thông tin khi có nhữngbiến đổi xảy ra và xóa bỏ nhân viên khi hết hợp đồng hoặc bị sa thải. Các thôngtin về nhân viên chuyển hàng gồm: số hiệu người chuyển hàng, họ tên, địa chỉ,điện thoại liên hệ, các mô tả khác. Ngoài ra, để tiện theo dõi việc kinh doanh của công ty, hàng tháng công ty lậpcác báo cáo gửi cho ban giám đốc về doanh thu trong tháng, mặt hàng đã bán ra,hàng tồn kho để ban giám đốc có các biện pháp điều chỉnh. Yêu cầu: 1. Vẽ mô hình phân cấp chức năng của hệ thống 2. Vẽ mô hình luồng dữ liệu mức khung cảnh và mức đỉnh 3. Lập mô hình liên kết thực thể 11 TÀI LIỆU THAM KHẢO[1] . Phân tích và thiết kế hệ thống quản lý kinh doanh nghiệp vụ- Ngô TrungViệt - Nhà xuất bản Thống kê.[2]. Giáo trình phân tích và thiết kế hệ thống thông tin - Thạc Bình Cường[3]. Đào Kiến Quốc - Phân tích và thiết kế hệ thống tin học hoá - Đại họcquốc Gia Hà nội - Năm 1999 11
Chia sẻ lên Google Plus
[Giáo Trình] PhânTích Thiết Kế Hệ Thống Thông Tin Quản Lý Download mã nguồn
Thời gian: 2014-08-21T17:21:00-07:00
Bài viết:[Giáo Trình] PhânTích Thiết Kế Hệ Thống Thông Tin Quản Lý
Rating: 5 trên 22 lượt xem

No comments:

Post a Comment

Back To Top