Giáo trình: Phân tích thiết kế hệ thống

Giảng viên: Lê Đắc Nhường

Chương 5

G

Mô hình hóa chức năng hệ thống

5.1. Mô hình hóa hệ thống 5.1.1. Các bước mô hình hóa hệ thống Trong chương 3, chúng ta đã biết về các hoạt động phân tích hệ thống, những hoạt động đó là nhằm mục đích vẽ các mô hình hệ thống. Các mô hình hệ thống đóng vai trò quan trọng trong phát triển hệ thống. Dù là người sử dụng hay người phân tích hệ thống thì bạn đều phải giải quyết những vấn đề phi cấu trúc. Và một cách để cấu trúc vấn đề là vẽ các mô hình. Mô hình là một biểu diễn hình tượng của thực tế. Các mô hình có thể được xây dựng cho các hệ thống hiện có để giúp chúng ta hiểu kỹ hơn về những hệ thống đó. Hoặc cũng có thể xây dựng mô hình cho các hệ thống được đề xuất nhằm tài liệu hóa các yêu cầu nghiệp vụ hoặc thiết kế kỹ thuật. Mô hình hóa chức năng (Process Modeling) với biểu đồ luồng dữ liệu (Data Flow Diagram - DFD) cho biết hệ thống làm gì? Mô hình hóa chức năng là kỹ thuật dùng để tổ chức và tài liệu hóa cấu trúc và luồng dữ liệu xuyên qua các quá trình của một hệ thống và/hoặc các chức năng được thực hiện bởi các quá trình hệ thống. Mô hình hóa dữ liệu (Data Modeling) với biểu đồ quan hệ thực thể (Entity Relationship Diagram - ERD) cho biết hệ thống có những dữ liệu nào? Mô hình hóa dữ liệu là kỹ thuật dùng để tổ chức và mô hình hóa dữ liệu của một hệ thống nhằm xác định các yêu cầu nghiệp vụ cho một cơ sở dữ liệu. Mô hình hóa dữ liệu còn được gọi là mô hình hóa cơ sở dữ liệu. Mô hình hóa đối tượng (Object Modeling) với ngôn ngữ mô hình hợp nhất (Unified Modeling Language - UML) cho biết cái gì và tại sao? (lôgíc của hệ thống) 5.1.2. Mục đích của mô hình hóa hệ thống  Để hiểu rõ hơn về hệ thống: các cơ hội để đơn giản hóa và tối ưu hóa các qui trình được thực hiện bên trong hệ thống (Tái cấu trúc quy trình)  Để liên kết các hành vi và cấu trúc của hệ thống (các yêu cầu nghiệp vụ về: thông tin/dữ liệu và chức năng/quy trình)  Để trực quan hóa và điều khiển kiến trúc hệ thống (thiết kế)  Để kiểm soát những rủi ro trong quá trình phát triển một cách dễ dàng và hệ thống 5.1.3. Các thao tác mô hình hóa chức năng Lập kế hoạch chiến lược hệ thống: Mô hình quá trình nghiệp vụ của tổ chức mô tả các chức năng nghiệp vụ quan trọng của tổ chức. Tái cấu trúc quy trình nghiệp vụ  Mô hình chức năng “As is” làm đơn giản việc phân tích các điểm yếu của hệ thống hiện tại.

Trang 43

Giáo trình: Phân tích thiết kế hệ thống

Giảng viên: Lê Đắc Nhường G

 Mô hình chức năng “To be” làm đơn giản việc cải thiện hệ thống cũ bằng cách đưa ra các tính năng mới trong hệ thống mới được đề xuất. Phân tích hệ thống  Mô hình hóa hệ thống hiện có bao gồm những thiếu sót của nó (DFD lôgíc)  Mô hình hóa các yêu cầu lôgíc (các quá trình và luồng dữ liệu cần có dù hệ thống được xây dựng thế nào – DFD lôgíc) của hệ thống được đề xuất.  Mô hình hóa các giải pháp kỹ thuật đề cử (DFD vật lý)  Mô hình hóa giải pháp được chọn (DFD vật lý) 5.1.4. Khái niệm hệ thống Một hệ thống tồn tại bằng việc lấy đầu vào từ môi trường, biến đổi (xử lý) đầu vào này và tạo ra một đầu ra. Một hệ thống có thể được phân rã thành nhiều hệ thống con. Một hệ thống con có đầu vào và đầu ra của riêng nó. Đầu ra của một hệ thống con có thể trở thành đầu vào của những hệ thống con khác.
Đầu vào Hệ thống Đầu ra

A

B D

C E

Hình 5-1 Hệ thống và các hệ thống con Hệ thống và quá trình:  Một hệ thống là một quá trình. Nó thể hiện một chức năng nghiệp vụ.  Một quá trình là công việc được thực hiện trên hoặc đáp ứng cho các điều kiện hoặc luồng dữ liệu vào  Một quá trình (chức năng) có thể được phân rã thành các quá trình con (các chức năng con, các thao tác). 5.2. Mô hình lôgíc 5.2.1. Phân biệt mô hình lôgíc và mô hình vật lý Mô hình lôgíc cho biết hệ thống là gì và làm gì. Nó độc lập với việc cài đặt kỹ thuật. Nó minh họa bản chất của hệ thống. Mô hình lôgíc còn có thể được gọi là mô hình bản chất, mô hình khái niệmmô hình nghiệp vụ. Mô hình vật lý không chỉ thể hiện hệ thống là gì và làm gì mà còn thể hiện cách thức hệ thống được cài đặt một cách vật lý và kỹ thuật. Nó phản ánh các lựa chọn công nghệ. Mô hình vật lý còn có thể được gọi là mô hình cài đặt hay mô hình kỹ thuật.

Trang 44

Sự cần thiết của mô hình lôgíc Các nhà phân tích hệ thống đã nhận thấy giá trị của việc tách riêng việc nghiên cứu nghiệp vụ với việc nghiên cứu kỹ thuật. tất cả được thể hiện trong sơ đồ. Mỗi chức năng có thể có một hoặc nhiều chức năng con. chính xác và nhất quán. Các mô hình lôgíc làm giảm khả năng bỏ sót các yêu cầu nghiệp vụ trong trường hợp con người bị chi phối quá nhiều vì các kết quả mang tính kỹ thuật. Các mô hình lôgíc cho phép truyền đạt với người dùng cuối dưới dạng ngôn ngữ phi kỹ thuật hoặc ít kỹ thuật hơn. Hai ký pháp sử dụng trong mô hình là: Tên chức năng a) Chức năng b) Liên kết Trang 45 . Chức năng nghiệp vụ được hiểu là tập hợp các công việc mà tổ chức cần thực hiện trong hoạt động của nó.Giáo trình: Phân tích thiết kế hệ thống Giảng viên: Lê Đắc Nhường G 5. Biểu đồ phân rã chức năng BFD 5. Do đó. Khái niệm chức năng chỉ là khái niệm logic tức là chỉ nói đến tên của công việc cần làm và mối quan hệ phân mức (mức gộp và chi tiết) giữa chúng mà không chỉ ra công việc được làm như thế nào? Bằng cách nào? Ở đâu? Khi nào? Ai thực hiện? BFD là sơ đồ phân rã có thứ bậc các chức năng của hệ thống từ tổng thể đến chi tiết. Đó là lý do tại sao họ sử dụng các mô hình hệ thống lôgíc để minh họa các yêu cầu nghiệp vụ và các mô hình hệ thống vật lý để minh họa các thiết kế kỹ thuật.2. Nó cho ta thất được các chức năng nghiệp vụ của tổ chức được phân chia thành các chức năng nhỏ hơn theo một thứ bậc xác định. Khái niệm BFD Một trong những cách thể hiện của mô hình nghiệp vụ là biểu đồ phân rã chức năng. tùy thuộc vào phạm vi nghiên cứu và từng trường hợp cụ thể mà phân chia chức năng thành các mức gộp và mức chi tiết khác nhau.1. 5. Một nhiệm vụ (Task)  Một hành động (Action): thường do một người làm Sự phân chia trên đây chỉ mang tính tương đối.3.3.2. Nhờ việc tách biệt những gì hệ thống phải làm với cách thức hệ thống thực hiện mà chúng ta có thể phân tích tốt hơn các yêu cầu nhằm đảm bảo tính hoàn thiện. Các hoạt động của người phân tích hệ thống tập trung chủ yếu vào các mô hình hệ thống lôgíc vì những lý do sau: Các mô hình lôgíc loại bỏ tư tưởng thiên lệch do ảnh hưởng bởi cách thức cài đặt hệ thống đã có hoặc ý kiến chủ quan của một người nào đó về cách cài đặt cho hệ thống. chúng khuyến khích tính sáng tạo. Chức năng hay công việc được xem xét ở các mức độ từ tổng thể đến chi tiết và được sắp theo thứ tự sau:  Một lĩnh vực hoạt động (Area of Activities)  Một hoạt động (Activity).

5. cung cấp dịch vụ (bán hàng.3.Giáo trình: Phân tích thiết kế hệ thống Giảng viên: Lê Đắc Nhường G Hình chữ nhật có tên chức năng ở bên trong dùng để mô tả một chức năng. Cần đảm bảo tính cân bằng của sơ đồ.3.  Tiếp cận hệ thống về mặt logic nhằm làm rõ các chức năng mà hệ thống thực hiện để phục vụ cho các bước phân tích tiếp theo. Các đường thẳng gấp khúc hình cây dùng để nối các chức năng ở mức trên và các chức năng ở mức dưới trực tiếp phân rã từ chức năng đó. bảo dưỡng). mỗi một chức năng có thể gồm một hoặc nhiều chức năng con thỏa mãn 2 tính chất sau:  Tính thực chất: 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ó. nguồn nhân lực.2. quản lý tài nguyên (tài sản. BFD thường được sử dụng làm mô hình chức năng trong bước đầu phân tích.2.  Là một cơ sở để cấu trúc hệ thống chương trình khi triển khai. Ý nghĩa của BFD:  Giới hạn phạm vi của hệ thống cần phải phân tích. Nguyên tắc phân mức các chức năng BFD được xây dựng theo mô hình phân mức. 5. con người…). 5.1. chức năng chính có thể là một trong các loại sau: lĩnh vực sản xuất sản phẩm. BFD không có tính động. ta đặt nó trong chu kỳ sống Trang 46 . dư thừa. Quá trình phân rã được tiến hành theo từng mức đến khi nào nhận được một biểu đồ với các chức năng ở mức cuối (mức lá) mà ta hoàn toàn nắm được nội dung để thực hiện nó (có thể thực hiện độc lập dễ dàng).2.2 Bố trí sắp xếp sơ đồ phân rã chức năng Chú ý là với một sơ đồ.3.3.2. để xác định các chức năng con thì từ chức năng chính.3. Do đó. Phương pháp xây dựng BFD 5. từ đó lọc bỏ những chức năng trùng lặp. Tiếp theo. Xác định các chức năng Ở mức cao nhất của nghiệp vụ.  Tính đầy đủ: 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 chức năng ở mức trên đã phân rã ra nó. thông thường thì 3 mức là phù hợp với các hệ thống trung bình. Nếu gặp trường hợp có quá nhiều chức năng con thì có thể giải quyết bằng cách tạo thêm mức trung gian để nhóm các chức năng con lại. Với mỗi chức năng không nên có quá 6 chức năng con vì như vậy sẽ làm sơ đồ trở nên phức tạp và khó kiểm soát. không nên có quá 6 mức.  Phân biệt các chức năng và nhiệm vụ của từng bộ phận trong hệ thống. Tuy nhiên. nghĩa là các chức năng thuộc cùng một mức nên có sự tương đương nhau về kích thước và độ phức tạp. Khi đã xác định được loại mà nó thuộc vào thì sẽ đặt tên cho chức năng cao nhất này. nó chỉ cho thấy các chức năng mà không thể hiện trình tự xử lý của các chức năng đó cũng như là sự trao đổi thông tin giữa các chức năng.

Trong đó động từ thể hiện hoạt động. với chức năng Bán hàng thì ở giai đoạn xác định nhu cầu có thể có chức năng con là Quản lý thông tin khách hàng.2. không trùng lặp với chức năng khác. Ví dụ sau mô tả lĩnh vực hoạt động của một tổ chức: Nhiệm vụ đặt ra: Nhận đơn hàng của khách và tổ chức gửi hàng cho khách. tiếp theo ứng với mỗi chức năng sẽ được phân tích ở các trang sau tới chức năng mức thấp nhất thì dừng. 5. “Bảo trì kho”. khi đó sẽ dừng việc phân tích chức năng.3.2. bảo dưỡng. 5. Tuân thủ những nguyên tắc trên sẽ giúp cho việc xây dựng các mô hình dữ liệu tiếp theo được rõ ràng. bảo hành. Ví dụ chức năng “Lập đơn hàng”. có thể trình bày BFD trên nhiều trang. mua bán. Khi xây dựng BFD cần đảm bảo tính đơn giản. trang 1 là BFD mức cao nhất (mức 0). Ví dụ.4 Đặt tên chức năng Mỗi chức năng phải có một tên duy nhất. Thông tin mô tả thường bao gồm các nội dung sau: Trang 47 . rõ ràng và chính xác của sơ đồ. ở giai đoạn mua bán thì có thể là Cập nhật đơn hàng… Người phân tích phải xác định được mức nào là thấp nhất. Tên của chức năng phải là một mệnh đề động từ gồm: Một động từ + Bổ ngữ.3.Giáo trình: Phân tích thiết kế hệ thống Giảng viên: Lê Đắc Nhường G gồm các giai đoạn: xác định nhu cầu. Với các hệ thống lớn. Tên chức năng cần phản ánh được nội dung công việc thực tế mà tổ chức thực hiện và người sử dụng quen dùng. thanh lý hoặc chuyển nhượng… Mỗi giai đoạn có thể có một hoặc nhiều chức năng con. Để nhận biết một chức năng mức thấp nhất bằng cách xét xem có phải chức năng đó chỉ có một nhiệm vụ hoặc một nhóm các nhiệm vụ nhỏ. tên phải thể hiện khái quát các chức năng con của nó. Bộ phân chịu trách nhiệm: Bộ phân bán hàng và quản lý kho (là một lĩnh vực nghiệp vụ được khảo sát trong tổ chức) Sau quá trình phân rã các chức năng ta có được một mô hình chuẩn như sau: Kinh doanh bán hàng Gốc Tiếp nhận đơn hàng Ghi nhận đơn hàng Kiểm tra đơn hàng Kiểm tra khách hàng Giải quyết khách hàng Nhận thông tin KH Thỏa thuận mua hàng Ký kết hợp đồng Xử lý đơn hàng Đối chiếu đơn – kho Gom và gửi hàng Gom hàng theo phiếu Thỏa thuận nhận hàngiểm tra đơn hàng Tổ chức giao hàngiểm tra khách hàng Thỏa thuận bán hàng Lập phiếu giao hàng Lá Hình 5-2 Minh họa cấu trúc sơ đồ phân mức chức năng.5 Mô tả chi tiết chức năng lá Đối với mỗi chức năng lá (mức thấp nhất) trong biểu đồ phân rã chức năng cần mô tả trình tự và cách thức tiến hàng nó bằng lời và có thể sử dụng biểu đồ hay một hình thức nào khác. bổ ngữ thường liên quan đến các thực thể dữ liệu trong phạm vi nghiên cứu. phản ánh thực tế nghiệp vụ mà nó thực hiện.

Một “Biểu đồ gộp” mô tả toàn bộ công ty với các chức năng thuộc mức gộp (từ hai đến ba mức). Trang 48 .  Qui tắc nghiệp vụ cần tuân thủ… Ví dụ: mô tả chức năng lá “kiểm tra khách hàng” trong biểu đồ hình 5. có quá số nợ cho phép không và thời gian nợ có quá thời hạn trong hợp đồng không?” 5.2 Biểu đồ dạng công ty Biểu đồ dạng công ty được sử dụng để mô tả tổng thể toàn bộ chức năng của một tổ chức có qui mô lớn. địa chỉ…).3 Các dạng biểu diễn của biểu đồ phân rã chức năng Biểu đồ phân rã chức năng nghiệp vụ có thể được biểu diễn dưới hai dang: dạng chuẩn và dạng công ty. Biểu đồ dạng chuẩn là biểu đồ hình cây. đó là khách hàng mới.3. Các biểu đồ còn lại là các “Biểu đồ chi tiết” dạng chuẩn để chi tiết mỗi chức năng lá của biểu đồ gộp.3.3. Những chức năng ở mức dưới cùng (mức thấp nhất) gọi là “Chức năng lá”.3.3 Biểu đồ phân rã chức năng của hệ thống quản lý trông gửi xe 5. Nếu không có. Nó tương ứng cới các chức năng mà mỗi bộ phân của tổ chức được thực hiện.2).2 như sau: “Người ta mở sổ khách hàng để xem có khách hàng nào như trong đơn hàng không (tên gọi.1 Biểu đồ dạng chuẩn Biểu đồ dạng chuẩn được sử dụng để mô tả các chức năng cho một miền khảo sát (hay một hệ thống nhỏ).Giáo trình: Phân tích thiết kế hệ thống Giảng viên: Lê Đắc Nhường G  Tên chức năng. Ngược lại là khách hàng cũ thì cần tìm tên khác hàng trong sổ ghi nợ.3.  Dữ liệu ra: các báo cáo hay thống kê cần đưa ra. module) được khảo sát và nghiên cứu. Ví dụ: Hình 5. và xem khách hàng đó có nợ không và nếu nợ thì nợ bao nhiêu. Tùy thuộc vào phạm vi của hệ thống mà chúng ta sẽ lựa chọn cách thức biểu diễn nào? 5. mô hình thường gồm ít nhất hai biểu đồ trở lên. Ở mức cao nhất chỉ gồm một chức năng gọi là “chức năng gốc” hay “Chức năng đỉnh” (ví dụ trong hình 5. Các sự kiện kích hoạt (Khi nào? Cái gì dẫn đến? Điều kiện gì?)  Qui trình thực hiện như thế nào?  Yêu cầu giao diện cần thể hiện ra sau (nếu có)?  Dữ liệu vào (các hồ sơ sử dụng ban đầu)  Công thức tính toán (các thuật toán) sử dụng nếu có. Ở dạng công ty. tức là một miền (phạm vi.

Bộ phận quản lý công nghệ 5. và hai chức năng ở hai mức khách nhàu được sắp ở những cột khác nhau phân biệt với vị trí lề bên trái của nó được sắp thụt vào.1 Tổ chức ký kết hợp dồng 8.2 Theo dõi tình trạng cơ điện 4.1 Lập kế hoạch trang bị. Bộ phận kế hoạch 1. xếp lương 4.3 Quản lý thanh tuyết toán 2.2 Phân tích và đề xuất chính sách 7. kèm cặp 3. Bộ phận quản lý cơ điện 4. sửa chữa 4. ta có một chức năng nghiệp vụ bao trùm toàn bộ tổ chức (có thể là mục tiêu chiến lược) và chức năng gộp do các bộ phân của tổ chức thực hiện.4 Xét cấp phát vật tư.2 Đào tạo.4 là biểu đồ dạng công ty mức gộp dạng bảng.1 Lập kế hoạch chiến lược 1. mỗi chức năng được mô tả trên một dòng.5 Tổng hợp báo cáo 3.3 Lập kế hoạch tác nghiệp (quý.3 Bố trí cán bộ.4 Tổ chức sửa chữa và thay thế 5.4 Tổ chức quảng cáo 8. Khi tổ chức có nhiều bộ phận người ta sử dụng cách biểu diễn ở dạng bảng này. Bộ phận tiếp thị 7.3 An toàn lao động và vệ sinh công nghiệp 7.2 Tổ chức cung ứng sản phẩm Trang 49 . Trong cách biểu diễn này. nâng bậc. Bộ phận tiêu thụ 8.2 Quản lý thu chi 2. Khi mô tả những chức năng này ta được một biểu đồ mức gộp. Hình 5. phụ tùng 2.4 Hạch toàn giá thành 2.2 Xây dựng và quản lý qui trình công nghệ 5. Với cách biểu diễn này.1 Quản lý nhân sự 3. Ví dụ biểu đồ dạng công ty.1 Lập kế hoạch ngân sách 2. ta có thể biểu diễn được số các chức năng ở mỗi cấp không hạn chế. tháng) 1. Bộ phận quản lý chất lượng 6.1 Định danh sản phẩm và chỉ tiêu chất lượng 5.2 Lập kế hoạch hàng năm 1.3 Xây dựng chiến lược sản phẩm 7.Giáo trình: Phân tích thiết kế hệ thống Giảng viên: Lê Đắc Nhường G Khi bắt đầu khảo sát. Bộ phận kế hoạch 2.1 Kiểm tra thực hiện qui trình 6. Hình 5.4 Biểu đồ phân rã chức năng dạng công ty 1.3 Cung cấp giải pháp kỹ thuật 4.1 Thu thập thông tin thị trường 7.3 Nghiên cứu thử nghiệm công nghệ 6.2 Kiểm tra chất lượng sản phẩm 6. Bộ phận lao động tiền lương 3.

3 Công tác đoàn thể 11. Lập biên bản sự cố 12. Giải quyết bồi thường Nhận xe vào bãi Trả xe cho khách Trông gửi xe ở bãi Giải quyết sự cố Hình 5.2 Quản lý các dịch vụ nội bộ 10. tiếp tân 10. cho xe ra 8. Sau đâu trình bày ví dụ về xây dựng biểu đồ phân rã chức năng của hệ thống trông gửi xe theo phương pháp trình bày: Chức năng chi tiết Nhóm lần 1 Nhóm lần 2 1. Hai ma trận được sử dụng trong Trang 50 . Kiểm tra lấy vé xe 6.4 Một cách xác định mô hình phân rã Đối với một lĩnh vực hay một phạm vi nghiên cứu không lớn. ta sẽ không chi tiết hóa ngay tất cả các chức năng ở mức thấp nhất của biểu đồ. Ghi sổ xe ra 9.4 Xác định phạm vi hệ thống Khi phân tích một hệ thống thông tin.2 Ký kết hợp đồng mua nhiên liệu 9.2 Tổ chức huấn luyện và diễn tập 11. Nhận dạng loại xe vào gửi 2. Bằng cách nhóm dần các chức năng nghiệp vụ chi tiết từ dưới lên trên theo từng nhóm một cách thích hợp và gán cho nó những cái tên tương ứng. đôi khi người ta có thể biết ngay đươcj mọi công việc chi tiết. biện pháp an ninh 11. việc xây dựng mô hình có thể đi theo hướng ngược lại từ dưới lên (Bottom . Lý do vì thứ nhất đó là việc làm rất tốn kém. Bộ phận nguyên liệu 9. ta thường sử dụng nhiều ma trận khác nhau phục vụ việc xác định các yếu tố cần thiết khi xây dựng hệ thống. Để chọn những bộ phận tiếp tục kế hoạchảo sát và chi tiết hóa mô hình người ta thường phải nghiên cứu phạm vi miền nghiệp vụ của tổ chức liên quan đến hệ thống cần xây dựng. thứ hai: thật sự không cần thiết phải xây dựng hệ thống thông tin cho mọi bộ phận chức năng của tổ chức.1 Tổ chức lực lượng.5 Quá trình xây dựng biểu đồ phân rã chức năng bằng cách nhóm các chức năng 5. Bộ phận bảo vệ an ninh 11.1 Tổ chức vùng nguyên liệu 9.3. Kiểm tra chỗ trống trong bãi 3. ta có thể có được biểu đồ phân rã chức năng nghiệp vụ phân cấp của hệ thống.Giáo trình: Phân tích thiết kế hệ thống Giảng viên: Lê Đắc Nhường G 8.1 Văn thư.3 Quản lý kho thành phần 9. Bộ phận hành chính 10. Ghi vé cho khách 4.Up). Đối chiếu với xe 7. Thanh toán tiền. Kiểm tra sự cố khách yêu cầu 11. cho xe vào bãi 5.3 Tổ chức phòng. Vào sổ gửi xe.3 Quản lý kho nguyên liệu 10. Trong trường hợp này. Kiểm tra xe sự cố trong sổ gửi xe 10. chữa cháy Trên thực tế. 5.

Bộ phận tiếp thị 8. Bộ phận nguyên liệu 10. Bộ phận quản lý công nghệ 6. các yếu tố đó là: sự chăm sóc bênh nhân chu đáo. Ví dụ về ma trận yếu tố quyết định thành công – chức năng: Các yếu tố quyết định thành công Các chức năng 1. Ở mỗi ô tương giao giữa một chức năng và một yếu tố thành công người ta để trống hoặc đánh dấu bằng chữ E (Essential: quan trọng) hay chữ D (Desiable: không quan trọng) tùy thuộc vào chức năng đó tác động quyết định hay chỉ ở mức nào đó đv yếu tố quyết định thành công cột. Bộ phận tài chính 3. Mức độ đạt được của các yếu tố quyết định thành công phụ thuộc vào việc thực hiện các nhiệm vụ chức năng của tổ chức có liên quan đến nó. Ma trận yếu tố quyết định thành công – chức năng có các dòng là các chức năng gộp (hay bộ phận chức năng). Còn đối với một bệnh viện. 5.4. đảm bảo về chất lượng Giữ vững và mở rộng thị trường tiêu thụ 10% Kiểm soát chi phí. Bộ phận tiêu thụ 9. các yếu tố quyết định sự thành công có thể gồm từ 3 đến 6 yếu tố. Bộ phận kế hoạch 2. các yếu tố quyết định sự thành công có thể là: sự đổi mới sản phẩm. Ma trận yếu tố quyết định thành công – chức năng được xây dựng nhằm xác định các nhiệm vụ chức năng có tầm quan trọng này.1 Ma trận yếu tố quyết định thành công và chức năng Trong khi lập kế hoạch chiến lược phân tích hệ thống thông tin. giá bán không tăng E D D D D D E D E E E Hình 5. Đó là các yếu tố có liên hệ với các hoạt động nghiệp vụ bên trong và bên ngoài có thể đo được và có ảnh hưởng lớn đến việc tổ chức có thể đạt được mục tiêu của nó hay không. Bộ phận quản lý cơ điện 5.6 Ma trận yếu tố quyết định thành công – chức năng 5. Bộ phận bảo vệ an nình Nguyên liệu đủ về số lượng. sản phẩm chất lượng cao và kiểm soát chặt chẽ được giá thành. chức năng này. ta thu được các thực thể dữ liệu của tổ chức. các cột là các yếu tố quyết định sự thành công. ta cần phải xem xét những dữ liệu nào là thực sự cần thiết cho các chức năng của phạm vi đang nghiên cứu và Trang 51 .4. hệ thống cần xây dựng hỗ trợ các nhiệm vụ. Bộ phận Hành chính 11. Bộ phận lao động tiền lương 4.Giáo trình: Phân tích thiết kế hệ thống Giảng viên: Lê Đắc Nhường G việc xác định phạm vi hệ thống là: Ma trận yếu tố quyết định thành công và chức năng và Ma trận thực thể . Trong một tổ chức. sau khi đã xác định được mục tiêu hay các vấn đề mà tổ chức gặp phải. Bộ phận quản lý chất lượng 7. Chẳng hạn. trong một công ty máy tính nhỏ.2 Ma trận thực thể .chức năng. Tiếp đến. Vì vậy. người ta chọn ra tất cả các dòng chức năng chứa ô có chữ E đưa vào các lĩnh vực của tổ chức cần được xem xét để phát triển hệ thống. ta cần phải xác định các yếu tố quyết định đến thành công của hệ thống.chức năng Khi khảo sát. kiểm soát được chi phí và thuê được những bác sỹ có kinh nghiệm. Sau khi đã xét tất cả các ô và đánh dấu được các ô tương ứng của ma trận.

 Ở mỗi ô là giao giữa một chức năng và một thực thể ta đánh dấu bằng một chữ R. J. B. C. Thống kê báo cáo A. D. Các chức năng 1.  Mỗi dòng ứng với một chức năng. Ma trận thực thể-chức năng gồm các dòng và các cột:  Mỗi cột tương ứng với một thực thể. Quản lý điểm rèn luyện của SV 4.  C (Creat): nếu chức năng dòng tạo mới dữ liệu trong thực thể cột. Quản lý chương trình đào tạo 5. Mặt khác. Ví dụ ma trận thực thể . Quản lý điểm học tập của SV 3. U. Vì nếu sử dụng mức là thì số chức năng lá quá nhiều.chức năng cho phép phát hiện những thực thể cô lập hay chức năng cô lập: Trang 52 . F. A U R R B C C C D E C F U G H I R J K C U U R R R U R U R C R R R Hình 5.  U (Update): nếu chức năng dòng thực hiện việc cập nhật (thêm. I. nếu sử dụng các chức năng quá gộp thì khó nhận thấy được tác động của chức năng đối với các thực thể. hay C với ý nghĩa:  R (Read): nếu chức năng dòng đọc dữ liệu thực thể cột. sửa. Quản lý hồ sơ giáo viên 6.7 Ma trận thực thể . K.chức năng hệ thống quản lý đào tạo Trường ĐH Hải Phòng Thông qua ma trận thực thể . H. Quản lý hồ sơ sinh viên 2.Giáo trình: Phân tích thiết kế hệ thống Giảng viên: Lê Đắc Nhường G các chức năng nào có tác động lên các dữ liệu đó. xóa) dữ liệu trong thực thể cột. tức là khó xác định được các ô tương ứng trong bảng cần phải đánh dấu.chức năng Các thực thể Hồ sơ sinh viên Danh sách lớp Thẻ sinh viên Khung CTĐT Danh sách thi hết học phần Bảng điểm học tập Bảng điểm rèn luyện Danh sách bộ môn Danh sách học phần Hồ sơ giáo viên Báo cáo. Các thực thể là các hồ sơ và các tài liệu thu thập được trong quá trình khảo sát. Sự tác động và cách thức tác động lên dữ liệu được mô hình hóa trong ma trận thực thể . E.chức năng. Các chức năng này tường là chức năng ở mức tương đối chi tiết nhưng không phải là mức lá. G.

Một biểu đồ luồng dữ liệu (Data Flow Diagram – DFD) là một công cụ đồ họa để mô tả luồng dữ liệu luân chuyển trong một hệ thống và những hoạt động xử lý được thực hiện bởi hệ thống đó. Khi mà tổ chức nhận thấy rằng hầu hết các hệ thống xử lý dữ liệu đã trở nên lỗi thời. theo cách thức nào (R. hoặc thực thể là không cần thu thập và có thể bỏ đi.1. thiết kế lại và/hoặc cải thiện chúng. đường lối và các thủ tục được thực hiện bởi các quá trình của một hệ thống.5. công nghệ thông tin có thể được áp dụng một cách sáng tạo cho các quy trình nghiệp vụ đã được cải thiện nhằm tối đa hóa giá trị thu về cho tổ chức.chức năng sau khi đã bỏ đi các dòng và các cột khong được đánh dấu sẽ dược sử dụng như một dạng mô tả trong mô hình nghiệp vụ.Giáo trình: Phân tích thiết kế hệ thống Giảng viên: Lê Đắc Nhường G  Nếu một dòng ứng với 1 chức năng không chứa một ô nào được đánh dấu thì chức năng đó hoặc là không phải một tiến trình (do không tác động lên dữ liệu). DFD thể hiện chi tiết sự phụ thuộc lẫn nhau giữa các quá trình của hệ thống. nó có thể bỏ sót những thông tin quan trọng. Vai trò của biểu đồ luồng dữ liệu DFD tài liệu hóa một thao tác/hoạt động/chức năng nghiệp vụ của một hệ thống thành một quá trình. 5. không hiệu quả và rườm rà về thủ tục thì đó là lúc có thể thu lợi ích mới nhờ vào việc tổ chức lại các quy trình nghiệp vụ.  DFD lôgíc: mô tả luồng thông tin của một hệ thống Trang 53 . Nó là đầu vào để xây dựng các luồng dữ liệu trong biểu đồ luồng dữ liệu. loại bỏ những chức năng hay thông tin thừa ứng với các dòng hay cột cô lập của miền khảo sát. biểu đồ biến đổi và mô hình chức năng. hoặc khảo sát sót thực thể dữ liệu.  Nếu một cột nào không chứa một ô được đánh dấu thì hoặc là khảo sát thiếu chức năng.5. Tiếp theo. Những phát hiện đó cho phép ta xem xét. Trong một số trường hợp có thể ta phải phân rã chức năng nhở hơn để tìm ra mối quan hệ của chức năng và thực thể. Tại sao sử dụng DFD? Vì sự mô tả bằng ngôn ngữ hướng tới sự giải thích. Sự mô tả đồ họa minh họa được luồng dữ liệu trong một tổ chức thông qua DFD. Điều này được tiến hành trước tiên bằng việc mô hình hóa các quy trình nghiệp vụ nhằm mục đích phân tích. Biểu đồ luồng dữ liệu (DFD) 5. hoặc đánh dấu xót. các sự dịch chuyển dữ liệu hoặc thông tin giữa các quá trình. bổ sung những khiếm khuyết trong khảo sát.2. U.5. Như trên đã nói. Ma trận thực thể . Một trong các mô hình chức năng phân tích hệ thống chính là sơ đồ luồng dữ liệu. mô hình hóa chức năng là một kỹ thuật để tổ chức và tài liệu hóa cấu trúc và luồng dữ liệu cũng như lôgíc. Mô hình hóa chức năng với biểu đồ luồng dữ liệu Trong phần này. Ma trận cuối cùng cho ta biết mối quan hệ giữa các chức năng được xét và các hồ sơ dữ liệu còn được giữ lại: mỗi chức năng có tác động lên những hồ sơ nào. DFD mô tả cách thức dữ liệu được xử lý trong và tại biên giới của hệ thống. C). hoặc đánh dấu sót. 5. Sơ đồ luồng dữ liệu còn có các tên gọi khác là biểu đồ bọt. ta tập trung vào việc mô hình hóa chức năng lôgíc trong giai đoạn phân tích hệ thống. Biểu đồ luồng dữ liệu đã rất phổ biến hơn 20 năm nay nhưng lợi ích của DFD đã được đổi mới nhờ vào tính ứng dụng của nó trong việc tái cấu trúc quy trình nghiệp vụ (Business Process Redesign – BPR).

Các bộ ký hiệu biểu đồ luồng dữ liệu Có hai loại ký hiệu chuẩn được dùng để biểu diễn biểu đồ luồng dữ liệu là của Gane/Sarson và Demarco/Yourdon. Có thể nhận biết tác nhân là nơi xuất phát (nguồn) hay nơi đến (đích) của dữ liệu từ phạm vi hệ thống được xem xét. “Nhà cung cấp”. bộ ký hiệu Gane & Sarson được sử dụng phổ biến hơn. bằng công cụ nào) 5.Giáo trình: Phân tích thiết kế hệ thống Giảng viên: Lê Đắc Nhường G  DFD vật lý: mô tả cách thức một hệ thống thông tin được cài đặt vật lý (ai làm. Tác nhân (Actor) Tác nhân của một phạm vi hệ thống được nghiên cứu có thể là một người.3. bằng công cụ nào). tiền trình và tác nhân.5. bằng cách nào. một bộ phận. 5. kho dữ liệu.5.8 Các bộ ký hiệu DFD Trong giáo trình này đa số ví dụ đều sử dụng bộ ký hiệu của Gane và Sarson.. Bộ ký hiệu của Gane và Sarson (1979) n Tên tiến trình n Tên tiến trình Người/ phương tiện thực hiện Luồng dữ liệu Tác nhân D Tên kho dữ liệu Tên kho dữ liệu D Bộ ký hiệu của Demarco và Yourdon (1979) Luồng dữ liệu Tên tiến trình Tác nhân Tên kho dữ liệu Hình 5. bên trong có ghi tên tác nhân.  Tên của tác nhân ngoài phải là một danh từ như “khách hàng”. bằng cách nào.1. Trong đó.5. Lưu ý:  Một tác nhân là một nguồn cung cấp hoặc nhận thông tin dữ liệu của hệ thống  Một tác nhân không phải là một phần của hệ thống.2.3. một tổ chức hay một hệ thống khác nằm ngoài phạm vi của hệ thống đang nghiên cứu và có tương tác với nó về mặt thông tin (nhận hay gửi dữ liệu).  Biểu diễn bằng hình chữ nhật. nó thể hiện mối quan hệ giữa hệ thống với môi trường bên ngoài. một nhóm người.3 Các phần tử của biểu đồ luồng dữ liệu 5. Mô tả cách thức một hệ thống thông tin được cài đặt vật lý (ai làm. Trang 54 . Cả hai đều sử dụng bốn ký hiệu để biểu diễn cùng một sự vật là: luồng dữ liệu.

Ví dụ: “Hóa đơn bán hàng”.5. “Đơn hàng”.5. Các kho dữ liệu được mô tả trong một DFD chứa tất cả các thể hiện của các thực thể dữ liệu (được mô tả trong một biểu đồ quan hệ quan hệ ERD).  Kho chứa vật lý là phi vật chất. đăng ký. Một kho dữ liệu cần biểu diễn cho “những thứ” mà tổ chức muốn lưu trữ dữ liệu. nó nói lên nội dung thông tin.  Tên của luồng dữ liệu phải là một mệnh đề danh từ và không trùng lặp với các luồng dữ liệu khác.  Tên của kho dữ liệu phải là một mệnh đề danh từ. giải thưởng. bên trong hình chữ nhật ghi tên kho dữ liệu. Tên phải thể hiện logic của thông tin chứ không phải dạng vật lý của nó và phải bắt đầu bằng danh từ. máy móc. các máy tính khác nhau…). Luồng dữ liệu (Data flow) Luồng dữ liệu là các dữ liệu di chuyển từ một vị trí này đến một vị trí khác trong hệ thống trên một vật mang nào đó.  Kho dữ liệu được biểu diễn bởi hình chữ nhật khuyết một cạnh (bên phải hoặc bên trái). phương tiện vận tải…  Các sự kiện (dữ liệu được thu thập về chúng): như việc bán hàng.Giáo trình: Phân tích thiết kế hệ thống Giảng viên: Lê Đắc Nhường G  Các tác nhân ngoài xác định “biên giới” hay phạm vi của hệ thống đang được mô hình hóa. nó chứa thông tin. Kho dữ liệu (Data Store) Kho dữ liệu là các dữ liệu được lưu giữ tại một vị trí.  Một luồng dữ liệu biểu diễn một sự di chuyển của dữ liệu (thông tin) giữa các quá trình hoặc kho dữ liệu. nó có thể là một tủ hồ sơ. công cụ. chuyến bay. gói phần mềm.3. nguyên liệu thô. lớp học. chi nhánh…  Các đối tượng: như sách. 5. các tác nhân ngoài có thể trở thành các quá trình và ngược lại. Một kho dữ liệu có thể biểu diễn các dữ liệu được lưu trữ ở nhiều vị trí không gian khác nhau (như các thư mục. tài khoản. chất lượng… Có thể xác định các kho dữ liệu với các yếu tố Tài nguyên – Sự kiện – Tác nhân – Địa điểm.  Một luồng dữ liệu không biểu diễn một tài liệu hay một vật thể vật lý: nó biểu diễn sự trao đổi thông tin trong tài liệu hoặc về vật thể. Sát cạnh trái (phải) của hình chữ nhật có một ô dùng để ghi số hiệu kho dữ liệu. tòa nhà. phòng. bản quyền phần mềm. sách hoặc file máy tính. đặt chỗ…  Các khái niệm (dữ liệu về chúng rất quan trọng): như việc giảm giá. phòng.3. sinh viên…  Các địa điểm: như nơi sinh. Lưu ý:  Một kho dữ liệu là một kho lưu trữ dữ liệu. “những thứ” thường là:  Con người: như khách hàng.3. khóa học.4. 5.  Một kho dữ liệu là “dữ liệu tĩnh” khác với luồng dữ liệu là “dữ liệu chuyển động”. hóa đơn. thầy giáo. Trang 55 . đơn hàng. nhân viên. Khi phạm vi thay đổi. sản phẩm.

 Một tiếntrình là một hoạt động được thực hiện trên luồng dữ liệu vào để tạo một luồng dữ liệu ra. Một luồng dữ liệu biểu diễn một đầu vào dữ liệu tới một quá trình hoặc đầu ra dữ liệu từ một quá trình.  Một luồng dữ liệu cũng có thể được dùng để biểu diễn việc tạo. luồng dữ liệu là các dữ liệu được lưu trên vật mang vật lý.5 Tiến trình (Process) Tiến trình là một hay một số cong việc hoặc hành động có tác động lên các dữ liệu làm cho chúng di chuyển. Ví dụ: “tính lương”.  Là chức năng được thực hiện bởi hệ thống để đáp ứng lại các luồng dữ liệu hoặc điều kiện vào. giấy báo giá.  Một luồng dữ liệu ghép (gói) là một luồng dữ liệu chứa các luồng dữ liệu khác.  Điều kiện để tách: nếu các tiến trình này không thực hiện đồng thới hoặc không cùng một nơi hoặc không do một người thực hiện. Trong biểu đồ luồng dữ liệu vật lý. Các tiến trình có thể được tách nếu có một luồng thông tin đi giữa chúng.  Một quá trình phải có ít nhất một luồng dữ liệu vào và ít nhất một luồng dữ liệu ra. ta kiểm tra quá trình tách bằng cách cuối luồng dữ liệu ta đặt câu hỏi:  Tiến trình tiếp theo có thể thực hiện ở thời gian khác được không? Trang 56 . Khi đó.Giáo trình: Phân tích thiết kế hệ thống Giảng viên: Lê Đắc Nhường G  Luồng dữ liệu ký hiệu bằng mũi tên có chiều chỉ hướng dữ liệu di chuyển và tên của dữ liệu được ghi trên đó. phần dưới ghi tên tiến trình.3. thay đổi.5. “lập đơn hàng”…  Tiến trình biểu diễn bằng hình chữ nhật góc tròn và một đường gạch ngang phía trên hình chữ nhật chi thành 2 phần: phần trên ghi số hiệu của tiến trình.  Tên của tiến trình phải là một mệnh đề động từ gồm động từ và bổ ngữ. đọc. ví dụ như ghi tiền thành toán Cách tách các tiến trình  Mỗi hệ thống có thể được chia thành nhiều tiến trình khác nhau với các cách khác nhau. rời rạc được yêu cầu để đáp lại một sự kiện. xóa hoặc cập nhật dữ liệu trong một file hoặc cơ sở dữ liệu (được gọi là kho dữ liệu). ví dụ như việc bán hàng  Sự kiện (hay giao dịch. hoạt động): một công việc phải được hoàn thành toàn bộ (hoặc như một phần của một chức năng). một số thao tác như vậy phải được hoàn thành để đáp ứng một sự kiện. hóa đơn bán hàng… 5. Các loại tiến trình lôgíc:  Chức năng: một tập các hoạt động tiếp diễn liên quan tới một nghiệp vụ. hợp đồng cung ứng. ví dụ như việc thu tiền thanh toán (là một công đoạn trong việc bán hàng)  Tiến trình cơ bản (hay thao tác): một hoạt động hoặc thao tác chi tiết. Thông thường. vì thế tên luồng dữ liệu được chọn là tên của chính vật mang như: đơn hàng. được lưu trữ hay phân phối.

tiến trình là không cần thiết vì nó không tác động gì đến luồng dữ liệu đi qua. Tiến trình:  Không một tiến trình nào chỉ có cái ra mà không có cái vào.  Các luồng dữ liệu đi vào một tiến trình phải đủ để tạo thành một luồng dữ liệu đi ra.5.Giáo trình: Phân tích thiết kế hệ thống Giảng viên: Lê Đắc Nhường G  Tiến trình tiếp theo có thể thực hiện ở nơi khác được không?  Tiến trình tiếp theo có thể được thực hiện bởi người khác được không?  Nếu một trong ba câu hỏi trên là có thì ta tách chúng bằng cách đặt một tệp dữ liệu ở giữa.  Các đối tượng trong một biểu đồ 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. Đối tượng chỉ có cài ra thì chỉ có thể là tác nhân (nguồn).4 Một số qui tắc vẽ biểu đồ luồng dữ liệu Để đảm bảo biểu đồ luồng dữ liệu đúng cần tuân theo các qui tắc sau khi vẽ:  Các “cái vào” của một tiến trình cần khác với “cái ra” của nó.  Không một tiến trình nào chỉ có cái vào mà không có cái ra. Kho dữ liệu  Không có luồng dữ liệu từ một kho đến một kho dữ liệu khác  Dữ liệu không thể di chuyển trực tiếp từ một tác nhân đến một kho dữ liệu và ngược lại. Nguyên tắc này nhấn mạnh rằng các dữ liệu qua một tiến trình phải có thay đổi. Hình 5. Ngược lại. Tuy nhiên. Trang 57 .5 Ví dụ cách tách các tiến trình 5. một số tác nhân ngoài và kho dữ liệu có thể được vẽ lặp lại (nhằm giảm sự rắc rối trong biểu đồ). Đối tượng chỉ có cái vào chỉ có thể là tác nhân (đích).

0: Trả xe.0 Giải quyết sự cố. Một luồng dữ liệu đi ra khỏi một kho có nghĩa là dữ liệu được đọc. tiến trình 1.7: Biểu đồ luồng dữ liệu mức 1 khi phân rã tiến trình 1.0 là mức 0 thì luồng dữ liệu phân rã tiến trình 1. Hình 5.5.5 Phân rã biểu đồ luồng dữ liệu 5.0 gọi là mức 1… . thì 4 tiến trình con sẽ được đánh số lần lượt là: tiến trình 1.1 Định nghĩa Quá trình phân nhỏ mỗi tiến trình của một biểu đồ luồng dữ liệu thành một biểu đồ luồng dữ liệu mới (nếu có thể) gọi là phân rã biểu đồ luồng dữ liệu đã cho. 3.0: Nhận xe.6 Ví dụ: Biểu đồ luồng dữ liệu hệ thống trông xe mức 0 Nếu biểu đồ luồng dữ liệu chứa tiến trình 1.3. Tuy nhiên ở mức này luồng dữ liệu trong hệ thống chưa được rõ.Giáo trình: Phân tích thiết kế hệ thống Giảng viên: Lê Đắc Nhường G Tác nhân: Dữ liệu không thể di chuyển trực tiếp từ một tác nhân đến một khác nhân Luồng dữ liệu  Một luồng dữ liệu không thể quay lại nơi mà nó vừa đi khỏi  Một luồng dữ liệu đi vào một kho có nghĩa là kho dữ liệu được cập nhật.4. 4.0 “Nhận xe” Trang 58 . Hình 5. tiến trình 1.2. nên ta tiếp tục phân rã các tiến trình đó.5.1. 2. 5.0: Nhận xe thành 4 tiến trình con. Ví dụ: Hệ thống quản lý trông gửi sẽ có các tiến trình được đánh số là 1. Giả sử phân rã tiến trình 1. tiến trình 1.5.0 Báo cáo.

3 Hình 5.2.8a: Biểu đồ luồng dữ liệu mức 1 khi phân rã tiến trình 2.1 3.Giáo trình: Phân tích thiết kế hệ thống Giảng viên: Lê Đắc Nhường G Hình 5.2 Biểu đồ phân rã mức 2 2.2.8b Các mức trong quá trình phân rã biểu đồ luồng dữ liệu Trang 59 .0 “Trả xe” 0 mức 0 (mức ngữ cảnh) 3 1 2 Biểu đồ phân rã mức đỉnh 1 2.2 2.1 2.1 2.3 3.2 Biểu đồ phân rã mức 1 ( dưới đỉnh) 2.2.1 2.

Một luồng dữ liệu trên một biểu đồ mức n bao gồm một số luồng con có thể tách ra thành các luồng dữ liệu thành phần trong biểu đồ mức n +1 sao cho mỗi tiến trình nhận luồng dữ liệu thành phần được phân rã là một cái vào của nó.5. Ví dụ hình 5.5.0 “Nhận xe” hình 5.6 đều có mặt trong biểu đồ luồng dữ liệu hình 5. mọi cái vào và cái ra của tiến trình 1.0 a) Luồng dữ liệu phức hợp Đơn hàng X. Cho phép vẽ lặp lại một kho dữ liệu hay một tác nhân ở một vài vị trí.Giáo trình: Phân tích thiết kế hệ thống Giảng viên: Lê Đắc Nhường G 5.0. Tại mức thấp nhất của biểu đồ luồng dữ liệu có thể thêm các luồng dữ liệu mới để biểu diễn những dữ liệu điều khiển được bổ sung: đó là các thông báo lỗi hay một điều khẳng định nào đó. các tác nhân ngoài và kho dữ liệu liên quan với đó phải được bảo toàn (giữ nguyên) trong biểu đồ ở mức sau.5. Nguyên tắc áp dụng được minh họa như sau: Đơn hàng và phiếu thanh toán X.1 Phiếu thanh toán X. Luồng dữ liệu bổ sung được biểu diễn bằng mũi tên nét đứt.7 là mức tiếp theo của phân rã tiến trình 1.2 b) Luồng dữ liệu thành phần Hình 5.9 Phân rã luồng dữ liệu phức hợp Một luồng dữ liệu phức hợp có thể chia nhỏ thành các luồng dữ liệu thành phần ở mức sau sao cho vẫn giữa nguyên số lượng các luồng dữ liệu đã có trong luồng dữ liệu phức hợp. Những qui tắc sau đây là những gợi ý để dừng quá trình phân rã biểu đồ luồng dữ liệu: Trang 60 .3 Biểu đồ luồng dữ liệu sơ cấp Quá trình phân rã luồng dữ liệu sẽ dừng lại khi đạt đến biểu đồ mức thấp nhất – gọi là biểu đồ luồng dữ liệu sơ cấp. Chẳng hạn.2 Đảm bảo sự cân bằng giữa hai mức kề nhau Khi phân rã một tiến trình của một biểu đồ luồng dữ liệu thành một biểu đồ ở mức sau thì mọi luồng dữ liệu vào và ra.5.10 sau: 5.

xóa. tạo. Thông thường nó được bổ sung thêm các chức năng mới. cập nhật. ghi.  Khi người dùng hệ thống nhận ra hiểu được mọi công việc hoặc nhà phân tích đã lập được tài liệu chi tiết để thực hiện các nhiệm vụ phát triển hệ thống một cách tuần tự. 5. Mô hình logic của hệ thống mới nhận được bằng cách bổ sung thêm vào biểu đồ luồng dữ liệu logic của hệ thống hiện tại những yếu tố cần thiết để đáp ứng được mọi yêu cầu xử lý thông tin đã được xác định cho hệ thống mới.Giáo trình: Phân tích thiết kế hệ thống Giảng viên: Lê Đắc Nhường G  Khi một tiến trình là một quyết định hay một tính toán đơn giản.6 Phát triển các biểu đồ luồng dữ liệu trong ứng dụng 5. hoặc một giao dịch thông tin hiển thị và báo cáo là những luồng dữ liệu đơn hay những tiến trình tách biệt ứng với mỗi lựa chọn trên thực đơn mức thấp nhất. có thể thêm vào một dòng chỉ người thực hiện là “nhân viên bán hàng”. hay tên của công nghệ sử dụng xử lý dữ liệu.  Khi đã chỉ ra được mỗi nhiệm vụ nghiệp vụ. phần thứ 3 trong mỗi tiến trình có thể ghi tên người hay tên của phương tiện thực hiện tiến trình đó. Để mô hình hóa logic của hệ thống hiện thời. Biểu đồ luồng dữ liệu sơ cấp giúp ta dễ dàng kiểm tra được tính nhất quán với các tài liệu tạo ra từ các cách xác định yêu cầu khác và cũng giúp chúng ta dễ dàng chuyển nó sang thiết kế ở mức tiếp theo. Trang 61 .1 Các loại biểu đồ luồng dữ liệu khác nhau Thường có 5 loại biểu đồ luồng dữ liệu khác nhau được sử dụng trong quá trình phát triển hệ thống là:  Biểu đồ ngữ cảnh  Biểu đồ luồng dữ liệu vật lý của hệ thống hiện thời  Biểu đồ luồng dữ liệu logic của hệ thống hiện thời  Biểu đồ luồng dữ liệu logic cho hệ thống mới  Đảm bảo luồng dữ liệu vật lý cho hệ thống mới. Ví dụ. Nhờ vậy mà đặc tả yêu cầu của nó chính xác hơn. Trong biểu đồ luồng dữ liệu vật lý của hệ thống hiện thời. Biểu đồ luồng dữ liệu logic của hệ thống mới có thể giống biểu đồ luồng dữ liệu logic của hệ thống hiện thời nếu không có yêu cầu mới được đưa ra. ta chỉ cần bỏ đi cấc đối tượng vật lý của biểu đồ luồng dữ liệu vật lý hiện thời và chỉ giữ lại những gì là cốt yếu (logic) của hệ thống. trong tiến trình nhận đơn hàng. đó là các dữ liệu. Việc xây dựng mô hình vật lý (biểu đồ luồng dữ liệu vật lý) của hệ thống hiện tại giúp ta nắm và hiểu được hệ thống nghiệp vụ của tổ chức. Các mối quan hệ logic không phục thuộc vào bất kỳ yếu tố vật lý nào do đó ta có thể xem xét và sắp đặt lại một cách hợp lý nhưng phải đảm bảo “logic nghiệp vụ”. một thao tác dữ liệu như đọc. các dữ liệu mới cùng mối quan hệ phát sinh và bỏ đi những gì không cần thiết. các xử lý và mối quan hệ bản chất giữa chúng.6.  Khi mỗi luồng dữ liệu không cần chia nhỏ hơn để chỉ ra rằng các dữ liệu khác nhau đều đã được quản lý.

Với mỗi luồng ra.3.  Hỏi người sử dụng cuối của hệ thống về những giao dịch nghiệp vụ mà hệ thống phải đáp ứng.6.Giáo trình: Phân tích thiết kế hệ thống Giảng viên: Lê Đắc Nhường G Biểu đồ luồng dữ liệu vật lý cho hệ thống mới (còn gọi là biểu đồ luồng hệ thống) sẽ biểu diễn hệ thống vật lý cần triển khai cho hệ thống mới.11 Biểu đồ ngữ cảnh hệ thống quản lý trông gửi xe 5.1. Nó còn được gọi là mô hình môi trường.6. Với mỗi luồng vào. Vẽ một biểu đồ ngữ cảnh dựa trên tất cả các thông tin đã xử lý. Như vậy với trang phân tích tại mức 0 thì tên của nó chính là tên của hệ thống. xem nó là một chức năng duy nhất và chỉ quan tâm tới phần bên ngoài của nó mà không phải xét tới những hoạt động bên trong. Trang 62 . Chỉ có một tiến trình duy nhất mô tả toàn bộ hệ thống.  Xác định các kho dữ liệu ngoài. cần phải:  Xác định biên giới của hệ thống. cần xác định nguồn tương ứng của nó. Trình tự và quy tắc xây dựng DFD 5.2 Biểu đồ ngữ cảnh của hệ thống Biểu đồ luồng dữ liệu mức ngữ cảnh (Context Data Flow Diagram) là một mô hình chức năng được dùng để tài liệu hóa phạm vi của một hệ thống ở mức cao nhất. xác định đích của nó. Các nguồn sẽ trở thành các tác nhân ngoài trong sơ đồ ngữ cảnh. Rất nhiều hệ thống đòi hỏi truy nhập vào các tệp hoặc cơ sở dữ liệu của hệ thống khác. Dựa theo BFD của hệ thống. Các bước xây dựng DFD Kỹ thuật phổ biến được dùng để xây dựng DFD là kỹ thuật phân mức. Các đích đó cũng sẽ trở thành các tác nhân ngoài. Nó phản ánh quyết định của các nhà phân tích và thiết kế về các phương tiện vật lý được lựa chọn áp dụng cho hệ thống mới. Xác định các tác nhân ngoài  Không chi tiết về các quá trình và kho dữ liệu của hệ thống  Chiến lược cụ thể xây dựng biểu đồ ngữ cảnh:  Coi cả hệ thống là một “hộp đen”. Đó chính là các luồng ra của hệ thống.6.  Hỏi người sử dụng cuối về những đáp ứnh phải được sinh ra bởi hệ thống. chúng ta sẽ xây dựng DFD theo nhiều mức. mỗi mức thể hiện trên một hoặc nhiều trang. Nên đặt tên cho mỗi trang bằng tên của chức năng đang được phân tích trên trang đó. 5. Đó chính là các luồng vào của hệ thống. Hình 5. Để xây dựng biểu đồ ngữ cảnh.3. Chú ý chỉ minh họa những luồng dữ liệu thể hiện những mục tiêu chính của hệ thống nhằm tránh việc biểu đồ ngữ cảnh có quá nhiều luồng dữ liệu vào/ra.

người nhận thông tin hệ thống của)  Xác định các luồng dữ liệu ngoài (đầu vào. đầu ra)  Chú ý: bản thân toàn bộ hệ thống là một quá trình (nó nhận đầu vào và biến đổi nó thành đầu ra) DFD mức 0  Thay thế tiến trình duy nhất của biểu đồ ngữ cảnh bằng các tiến trình con (tương ứng với các chức năng mức 1 trong biểu đồ phân rã chức năng). các luồng dữ liệu từ các tiến trình đến các kho (dựa vào ma trận thực thể .6.chức năng). Các DFD mức 1: Là các quá trình phân rã biểu đồ luồng dữ liệu tiến trình mức 0 Các DFD mức 2: Là các quá trình phân rã biểu đồ luồng dữ liệu tiến trình mức 1… 5.4.  Giữ nguyên toàn bộ các tác nhân ngoài và các luồng dữ liệu trong biểu đồ ngữ cảnh và chuyển sang biểu đồ luồng dữ liệu mức 0. Các qui tắc xây dựng DFD Qui tắc 1: Mỗi biểu tượng có riêng một tên duy nhất để tránh gây hiểu nhầm Qui tắc 2: Sử dụng một Cụm động từ để gán nhãn cho một tiến trình (vì một quá trình là một hành động!!!) Qui tắc 3: Mỗi luồng dữ liệu phải được liên kết với ít nhất một tiến trình Qui tắc 4: Phải có một góc tô đậm trong tất cả các thể hiện của một biểu tượng lặp trong cùng một biểu đồ Qui tắc 5: Một tiến trình phải luôn có luồng dữ liệu vào và ra Qui tắc 6: Không cần có một luồng dữ liệu (mà không có sự biến đổi) liên kết với một quá trình (vì hoạt động như vậy là vô giá trị) Qui tắc 7: Các quá trình cha và các quá trình con tương ứng của nó phải có các luồng dữ liệu vào ra giống nhau (nhưng các quá trình con có thể có luồng dữ liệu của riêng nó) Qui tắc 8: Các luồng dữ liệu không thể tự phân tách được Qui tắc 9: Một gói dữ liệu có thể gồm nhiều phần tử dữ liệu được truyền đi đồng thời tới cũng một đích Qui tắc 10: Không được sử dụng mũi tên hai chiều vì luồng vào (cập nhật) và luồng ra (trích thông tin) của một kho dữ liệu mang nội dung thông tin khác nhau 5. Vẽ các biểu đồ DFD vật lý dạng top-down để biểu diễn sự cài đặt vật lý hiện tại của hệ thống bao gồm các giới hạn của nó.  Thêm vào các kho dữ liệu tương ứng. Phân tích hướng cấu trúc cổ điển (top-down) 1.Giáo trình: Phân tích thiết kế hệ thống Giảng viên: Lê Đắc Nhường G Biểu đồ ngữ cảnh  Xác định hệ thống và giới hạn của nó (ngữ cảnh)  Xác định các tác nhân ngoài (người cung cấp.6.3. Trang 63 . Tuy nhiên cần đặt lại các đầu mút của các luồng dữ liệu phía hệ thống để phù hợp với các tiến trình con được thêm vào. Vẽ DFD lôgíc dạng top-down của hệ thống hiện có.2.

5. Vẽ các DFD vật lý dạng top-down biểu diễn giải pháp được lựa chọn. đánh dấu các bản sao của DFD lôgíc để biểu diễn các giải pháp vật lý khác nhau. Nếu chỗ dành cho loại xe đó đã hết thì thông báo cho khách hàng. cấp bách) Các quá trình trong flowchart là một phần của một chương trình đơn nhất với thời gian nhất quán 5. quy tắc và thủ tục trong một từ điển dữ liệu.6. 3. 5. So sánh DFD với biểu đồ tiến trình (Flowchart) Các quá trình trong DFD có thể thực hiện song song (vào cùng một thời gian). Kết hợp các DFD sự kiện thành một biểu đồ hệ thống (hay đối với các hệ thống lớn thì là các biểu đồ hệ thống con). hàng tuần.6.6. Chuyển đổi các DFD vật lý thành các DFD lôgíc tương ứng của nó. 6.  Xác định và loại bỏ những phần không hiệu quả  Đơn giản hoá việc giao tiếp giữa các quá trình  Phải xác định chính xác kết cấu dữ liệu của từng luồng dữ liệu.Giáo trình: Phân tích thiết kế hệ thống Giảng viên: Lê Đắc Nhường G 2. 5.5. được biểu diễn dưới dạng các cấu trúc dữ liệu (trong phần Mô hình hoá dữ liệu) 5. Vẽ các DFD lôgíc dạng top-down biểu diễn một hệ thống được cải thiện.7 Ví dụ 1 quá trình mô hình hóa chức năng hệ thống quản lý trông gửi xe 5. Các quá trình trong flowchart thực hiện mỗi cái vào một thời điểm còn DFD thể hiện luồng dữ liệu xuyên suốt hệ thống. Tạo một danh sách các đáp ứng sự kiện hay Use-case cho hệ thống để xác định các sự kiện mà hệ thống phải có đáp ứng. Flowchart thể hiện luồng điều khiển (trình tự và sự chuyển giao điều khiển). Vẽ một DFD sự kiện (hay bộ xử lý sự kiện) cho từng sự kiện. Ngược lại Trang 64 . Người ta chia bãi đỗ xe thành 4 khu dành cho 4 loại xe khác nhau: Xe máy.7 Sự bảo toàn dữ liệu Là việc bảo đảm rằng một luồng dữ liệu chỉ chứa dữ liệu cần thiết cho quá trình nhận nó.6. 5.7. Một cách tuỳ chọn. Vẽ một biểu đồ phân rã chức năng để phân chia hệ thống thành các hệ thống con. Mô tả tất cả các luồng dữ liệu. 2. kho dữ liệu. còn các quá trình trong một DFD có thể có thời gian khác nhau đáng kể (hàng ngày. Khi khách hàng đến gửi xe. 6. người coi xe nhận dạng xe theo bảng phân loại sau đó kiểm tra chỗ trống trong bãi. 7. Vẽ một DFD ngữ cảnh để xác lập phạm vi ban đầu của dự án. 4. Phân tích hướng cấu trúc hiện đại (hướng sự kiện) 1. 4.1 Mô tả bài toán Một bãi trông gửi xe có 2 cổng: Một cổng xe vào. Vẽ các DFD chi tiết cho các bộ xử lý sự kiện phức tạp hơn. xe tài và xe công-ten-nơ. Tài liệu hoá các luồng dữ liệu và quá trình trong từ điển dữ liệu. 3.xe buýt. một cổng xe ra.

Các bảng dữ liệu khảo sát thu được gồm: a. đối chiếu vé với xe. Sơ đồ bãi xe Trang 65 . người coi xe kiểm tra vé xem vé là thật hay giả. Sổ ghi xe ra e. Khi khách đến báo có sự cố thì kiểm tra trong sổ xe vào và sổ xe ra để xác minh xe có gửi không và đã lấy ra chưa? Nếu không đúng như vậy thì không giải quyết. Khi khách lấy xe. Bảng giá và phân loại xe b. Phiếu thanh toán c. tiến hành kiểm tra xe ở hiện trường. đồng thời ghi những thông tin trên vé vào sổ xe vào. Ngược lại thì viết phiếu thanh toán và thu tiền của khách. đồng thời ghi các thông tin cần thiết vào sổ xe ra. Sổ ghi xe vào d. Trong trường hợp ngược lại. Nếu đúng như sự việc xảy ra thì tiến hành lập biên bản giải quyết và trong trường hợp cần thiết thì viết phiếu chi bồi thường cho khách. Nếu vẻ giả hay không đúng xe thì không cho nhận xe.Giáo trình: Phân tích thiết kế hệ thống Giảng viên: Lê Đắc Nhường G thì ghi vé đưa cho khác hàng và hướng dẫn xe vào bãi.

hồ sơ dữ liệu Bước 2: Qua đó ta xác định được các tác nhân chính là Khách và Lãnh đạo công ty. tác nhân. Các hồ sơ dữ liệu được sử dụng là: Ký hiệu A B C D E F G Tên hồ sơ dữ liệu Bảng giá Vé xe Sổ xe vào Sổ xe ra Phiếu thanh toán Biên bản sự cố Báo cáo Bước 3: Xây dựng biểu đồ ngữ cảnh Bước 4: Xây dựng biểu đồ phân rã chức năng Trang 66 .12 Bảng phân tích xác định chức năng. Bảng này sẽ giúp tìm tra các nhân tố để xây dựng lên các thể hiện trong mô hình nghiệp vụ: Hình 5.2 Quá trình mô hình hóa chức năng Bước 1: Trước hết ta lập bảng phân tích trên cơ sở những mô tả của bài toán.7.Giáo trình: Phân tích thiết kế hệ thống Giảng viên: Lê Đắc Nhường G 5.

.Giáo trình: Phân tích thiết kế hệ thống Giảng viên: Lê Đắc Nhường G Mô tả chi tiết các chức năng lá: (1.1) Nhận dạng xe: Khi có khách đưa xe vào.. người trông xe phải xác định đước đó là loại xe gì (trong số các loại xe bãi nhận gửi)? Nếu không phải các loại xe nhận gửi thì từ chối để khách đi.. Bước 5: Xây dựng ma trận thực thể chức năng Bước 6: Xây dựng biểu đồ luồng dữ liệu mức 0 Bước 7: Xây dựng biểu đồ luồng dữ liệu mức 1 a. Biểu đồ luồng dữ liệu mức 1 của tiến trình 1.0 “Nhận xe” Trang 67 . (1.2) Kiểm tra chỗ trống: Xác định xem chỗ dành cho loại xe này còn hay không?.

Mô hình hóa chức năng hệ thống có xét đến các hệ thống cũ Sau khi khảo sát hệ thống quản lý đào tạo tại ĐH Quốc gia Hà Nội ta thu được các sơ đồ trong hệ thống hiện tại (hệ thống cũ đang sử dụng) như sau: Biểu đồ ngữ cảnh hệ thống hiện tại Biểu đồ ngữ cảnh hệ thống mới được đề nghị Trang 68 .0 “Giải quyết sự cố” 5.0 “Trả xe” c. Biểu đồ luồng dữ liệu mức 1 của tiến trình 3.Giáo trình: Phân tích thiết kế hệ thống Giảng viên: Lê Đắc Nhường G b.8 Ví dụ 2. Biểu đồ luồng dữ liệu mức 1 của tiến trình 2.

Chúng ta có thể thấy. C là các tác nhân được ký hiệu trong sơ đồ ngữ cảnh. Trang 69 . B. để giảm thiểu sự rắc rối trong sơ đồ luồng dữ liệu với một hệ thống tương đối phức tạp người ta cho phép các tác nhân xuất hiện nhiều lần và cho phép dùng các ký hiệu tương ứng.Giáo trình: Phân tích thiết kế hệ thống Giảng viên: Lê Đắc Nhường G Sơ đồ luồng dữ liệu mức 0 của hệ thống hiện tại Với A.

Sign up to vote on this title
UsefulNot useful