DFD vật lý vs DFD hợp lý Show
Để hiểu sự khác biệt giữa DFD vật lý và logic, chúng ta cần biết DFD là gì. DFD là viết tắt của sơ đồ luồng dữ liệu và nó giúp thể hiện đồ họa luồng dữ liệu trong một tổ chức, đặc biệt là hệ thống thông tin của nó. DFD cho phép người dùng biết nơi thông tin đến, nơi nó đi vào bên trong tổ chức và cuối cùng nó rời khỏi tổ chức như thế nào. DFD không cung cấp thông tin về việc xử lý thông tin diễn ra tuần tự hay nếu nó được xử lý theo kiểu song song. Có hai loại DFD được gọi là DFD vật lý và logic. Mặc dù cả hai đều phục vụ cùng một mục đích đại diện cho luồng dữ liệu, có một số khác biệt giữa hai mục đích sẽ được thảo luận trong bài viết này. Bất kỳ DFD nào cũng bắt đầu với một DFD tổng quan mô tả một cách ngắn gọn hệ thống sẽ được thiết kế. Một sơ đồ luồng dữ liệu hợp lý, như tên cho thấy tập trung vào doanh nghiệp và cho biết về các sự kiện diễn ra trong một doanh nghiệp và dữ liệu được tạo từ mỗi sự kiện đó. Mặt khác, một DFD vật lý quan tâm nhiều hơn đến cách thức dòng thông tin được thể hiện. Đó là một cách thông thường để sử dụng DFD để thể hiện luồng dữ liệu logic và xử lý dữ liệu. Tuy nhiên, thật khôn ngoan khi phát triển DFD hợp lý sau khi lần đầu tiên phát triển DFD vật lý phản ánh tất cả những người trong tổ chức thực hiện các hoạt động khác nhau và cách dữ liệu chảy giữa tất cả những người này. Sự khác biệt giữa DFD vật lý và DFD logic? Mặc dù không có sự hạn chế nào đối với nhà phát triển để mô tả cách hệ thống được xây dựng trong trường hợp DFD logic, nhưng cần phải chỉ ra cách hệ thống được xây dựng. Có một số tính năng nhất định của DFD logic làm cho nó trở nên phổ biến trong các tổ chức. DFD logic giúp giao tiếp dễ dàng hơn cho các nhân viên của một tổ chức, dẫn đến các hệ thống ổn định hơn, cho phép các nhà phân tích hiểu rõ hơn về hệ thống, linh hoạt và dễ bảo trì và cho phép người dùng dễ dàng loại bỏ các dư thừa. Mặt khác, DFD vật lý rõ ràng về sự phân chia giữa các quy trình thủ công và tự động, đưa ra mô tả chi tiết về các quy trình, xác định các kho lưu trữ dữ liệu tạm thời và thêm nhiều điều khiển để làm cho hệ thống hiệu quả và đơn giản hơn.
Trang 1Câu hỏi - Mô hình hóa qui trình1. Giải thích các khái niệm sau theo ngôn ngữ của bạn: qui trình xử lý (process), dòng dữ liệu (data flow), nơi lưu trữ dữ liệu (data store), thực thể ngoài (external entity). 2. Mỗi một dòng dữ liệu có thể được nối với những thành phần nào (qui trình, nơi lưu trữ dữ liệu, thực thể ngoài)? Giải thích ý nghĩa của việc nối này?3. Hãy cho biết năm qui trình xử lý thông dụng nào thường được nối với các nơi lưu trữ dữ liệu?4. Trình bày nguyên tắc phân mức khi tạo lược đồ dòng dữ liệu (lược đồ DFD)? Nêu ví dụ minh họa nguyên tắc này?5. Trình bày nguyên tắc cân đối khi tạo lược đồ dòng dữ liệu (lược đồ DFD)? Nêu ví dụ minh họa nguyên tắc này?6. Trình bày vai trò của lược đồ dòng dữ liệu (lược đồ DFD)?7. Trình bày sự khác nhau giữa lược đồ DFD vật lý và lược đồ DFD logic? Nêu ví dụ minh họa sự khác nhau này.8. Vẽ và giải thích sự liên hệ giữa bốn lược đồ DFD bao gồm lược đồ DFD vật lý và logic của hệ thống hiện thời và lược đồ DFD vật lý và logic của hệ thống mới.9. Trình bày những nhược điểm của lược đồ DFD.10.Trình bày các công cụ có thể được dùng để mô tả logic xử lý của các qui trình?11.Giải thích sự khác nhau giữa lỗi sai cú pháp (syntax error) và lỗi sai ngữ nghĩa (semantics error) đối với việc tạo lược đồ DFD? Cho biết lỗi sai nào khó tìm và khó sửa? Tại sao?12.Để kiểm tra tính hợp lệ của lược đồ DFD bạn cần phải kiểm tra những gì? Và kiểm tra như thế nào?13.Coi lược đồ ngữ cảnh và DFD mức 0 sau của hệ thống đăng ký môn học tại một trường đại học. Hãy nêu ra những lỗi sai có thể có.Câu hỏi – Mô hình hóa qui trìnhClass RegistrationSystemStudentCourse RequestDepartmentList of CoursesClass ScheduleRoster of ClassesScheduled ClassesPossible Classes0Trang 214. Coi lược đồ DFD sau. Hãy chỉ ra ba lỗi sai trong lược đồ.15.Lược đồ DFD sau mô tả một phần xử lý của hệ thống thông tin quản lý lương. Hãy tìm các lỗi sai trong việc vẽ lược đồ DFD.Câu hỏi – Mô hình hóa qui trìnhDF3DF2DF5DF4List ofCoursesCourseRequestClassScheduleReceiveCourseRequest1Check ForAvailability3ReceiveCourseLists2CourseRequestScheduledClassesTo StudentFrom StudentFrom Department Class RosterPossibleClassesE1E2DF1 DS1 2.0P1DF2DF6 1.0P2Trang 3 16. Lược đồ DFD sau mô tả các quá trình trong hệ thống thông tin quản lý một cửa hàng cho thuê băng video. Hãy chỉ ra các lỗi sai trong việc vẽ lược đồ DFD.Câu hỏi – Mô hình hóa qui trìnhCác khoản khấu trừPhiếu lươngCác khoản khấu trừ 1Tính lương 4In phiếu lươngBưu điệnTiền lương2Tính các khoản khấu trừ Ngày côngNgười quản lý 3Cập nhật lươngLươngKhách hàng1 Xử lý dữ liệu2 Vào tên phim3 Tính tiền thuê5 Kiểm traphim trễ4 In hóa đơn Khách HàngPhimGiá thuêĐịnh mã KHPhimKhách hàngPhimThông tin
Mục đích :
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ức 2. Định nghĩaMô 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 3. Các thành phần3.1. 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… 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ức năng quản lý phương tiện trong hệ thống quản lý bến xe bài tập 1 3.2. 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í dụ: Một người muốn tra cứu một danh sách xử lý vừa cập nhật lại kinhotừ 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àng và 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ồng dữ liệu từ tiến trình tới kho (hình c). Bài tập: Xác định kho dữ liệu trong hệ thống quản lý bến xe 3.3. 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 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 Bài tập: Xác định tác nhân ngoài trong hệ thống quản lý bến xe 3.4. 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: Mô hình luồng dữ liệu cho hệ thống quản lý bến xe khách4. Một số quy tắc vẽ biểu đồ luồng dữ liệu
5. Xây dựng mô hình luồng dữ liệua. Xây dựng mô hình luồng dữ liệu mức khung cảnh (mức 0)
VD: Mô hình dữ liệu mức khung cảnh của hệ cung ứng vật tư 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ính bê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ức năng mức đỉnh. VD: Mô hình luồng dữ liệu mức đỉnh của hệ cung ứng vật tư 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ức nă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 đỉnh của + Chức năng 1 (đặt hàng) 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 3 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
* 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 logic thự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 chi tiết càng tốt. 7. Chuyển từ DFD của hệ thống cũ sang DFD của hệ thống mới.
+ 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
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ống 8. Hoàn chỉnh mô hình DFDKhi đã hoàn thành sơ đồ luồng dữ liệu cần kiểm tra về tính đầy đủ và nhất quá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 : 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ụ 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ì. 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: 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) |