Phân tích thiết kế hệ thống - Phân tích chức năng của hệ thống
Bạn đang xem 20 trang mẫu của tài liệu "Phân tích thiết kế hệ thống - Phân tích chức năng của hệ thống", để tải tài liệu gốc về máy bạn click vào nút DOWNLOAD ở trên
Tài liệu đính kèm:
- phan_tich_thiet_ke_he_thong_phan_tich_chuc_nang_cua_he_thong.pdf
Nội dung text: Phân tích thiết kế hệ thống - Phân tích chức năng của hệ thống
- Phân tích và thiết kế hệ thống System Analysis & Design Bài giảng 3: PHÂN TÍCH CHỨC NĂNG CỦA HỆ THỐNG TS Đào Nam Anh 1
- Tham khảo • Systems Analysis and Design, Alan Dennis and Barbara Haley Wixom Fred Niederman John Wiley & Sons, Inc. • Dao Nam Anh, "Systems Analysis And Design", Course Book, University of Power, 201 2
- Nội dung Chương 3. Phân tích chức năng của hệ thống 3.1 Mô hình phân rã chức năng 3.2 Mô hình khung cảnh 3.3 Phân tích trạng thái 3.4 Mô hình dòng dữ liệu 3.5 Một số bài tập hệ thống ứng dụng 3
- 1 Mô hình phân rã chức năng Chương 3. Phân tích chức năng của hệ thống 3.1 Mô hình phân rã chức năng 3.2 Mô hình khung cảnh 3.3 Phân tích trạng thái 3.4 Mô hình dòng dữ liệu 3.5 Một số bài tập hệ thống ứng dụng 4
- 1 Mô hình phân rã chức năng • Functional Decomposition Diagram – FDD • Xác định chức năng nghiệp vụ là bước đầu tiên của phân hệ thống. Cần phải biết tổ chức thực hiện những nhiệ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à đầu ra của chức năng cũng như những hạn chế, các ràng buộc của các chức năng đó 5
- 1 Mô hình phân rã chức năng • Trong FDD, mỗi công việc được chia ra làm cá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. 6
- 1 Mô hình phân rã chức năng • Bảng chức năng 7
- 1 Mô hình phân rã chức năng • Mô hình phân rã chức năng FDD có hai thành phần cơ bản: • 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ều mức từ tổng hợp đến chi tiết. • 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ăng con có quan hệ phân cấp với chức năng cha. 8
- 1 Mô hình phân rã chức năng • Ví dụ phân tích chức năng của một công ty BNM. Bắt đầu vẽ sơ đồ FDD bằng một ô hình chữ nhật: Công ty BNM 9
- 1 Mô hình phân rã chức năng • Xét các chức năng chủ yếu của công ty BNM, ta thêm các nhánh con vào sơ đồ: Công ty BNM Hành chính Kế toán Bán hàng Kho tông hợp 10
- 1 Mô hình phân rã chức năng • Phân tích chức năng Hành chính tổng hợp thành các chức năng nhỏ hơn: Công ty BNM Hành chính Kế toán Bán hàng Kho tông hợp Văn thư Nhân sự IT văn phòng 11
- 1 Mô hình phân rã chức năng • Phân tích cho các chức năng khác tương tự, ta có sơ đồ: Công ty BNM Hành chính Kế toán Bán hàng Kho tông hợp Nguyên liệu Văn thư Thị trường Nhập kho và sản phẩm Đơn hàng và Quan hệ Nhân sự Lưu kho giao hàng khách hàng IT văn phòng Bán hàng Xuất kho 12
- 1 Mô hình phân rã chức năng • Đánh số các chức năng: 13
- 1 Mô hình phân rã chức năng Viết tài liệu, mô tả chi tiết từng chức năng: Ví dụ: • Văn thư (2:1.1): nhận thư, công văn, lưu trữ, chuyển giao cho các bộ phận liên quan. Công văn đi: lưu copy, chuyển đi theo phương thức yêu cầu 14
- 2 Mô hình khung cảnh • Mô hình khung cảnh (System Context Diagram - SCD) nhằm làm rõ biên giới của hệ thống và hỗ trợ việc nghiên cứu các mối quan hệ của hệ thống với thế giới bên ngoài • Từ đó cũng có thể làm rõ các hoạt động của hệ thống. Cùng với các thông tin vao, ra của hệ thống. 15
- 2 Mô hình khung cảnh • Mô hình khung cảnh (System Context Diagram - SCD) nhằm làm rõ biên giới của hệ thống và hỗ trợ việc nghiên cứu các mối quan hệ của hệ thống với thế giới bên ngoài • Từ đó cũng có thể làm rõ các hoạt động của hệ thống. Cùng với các thông tin vao, ra của hệ thống. 16
- 2 Mô hình khung cảnh • Mô hình khung cảnh (System Context Diagram - SCD) nhằm làm rõ biên giới của hệ thống và hỗ trợ việc nghiên cứu các mối quan hệ của hệ thống với thế giới bên ngoài • Từ đó cũng có thể làm rõ các hoạt động của hệ thống. Cùng với các thông tin vao, ra của hệ thống. 17
- 2 Mô hình khung cảnh Các thành phần Mô hình khung cảnh (Context Diagrams) gồm ba nhóm thành phần: • Qui trình (process), biểu diễn như là một hình chữ nhật các góc cong, trong đó cho thấy một qui trình hoặc hoạt động ở mức cao nhất. Qui trình nằm ở vị trí trung tâm của sơ đồ, biểu thị cho toàn bộ hệ thống đang được nghiên cứu. • Xung quanh qui trình trung tâm này là tất cả các phần tử bên ngoài (external entitiy), có quan hệ với hệ thống (tác nhân ngoài). • Tất cả các đường truyền thông tin vào và ra khỏi hệ thống 18
- 2 Mô hình khung cảnh • Bước 1. Đỗi với mỗi qui trình bậc cao hay một hệ thống, ta tạo nên một sơ đồ khung cảnh mới bắt đầu từ một hình chữ nhật với các góc cong tại chính giữa sơ đồ. • Bước 2. Xác định các yếu tố chính bên ngoài của qui trình và biểu diễn bằng hình chữ nhật. Dùng danh từ đặt tên các yếu tố bên ngoài. • Bước 3. Xác định các quan hệ của qui trình với các yếu tố bên ngoài. • Tiếp theo lặp lại các bước cho từng qui trình chính. 19
- 2 Mô hình khung cảnh • Ví dụ với một hệ thống vật tư, sau bước 1 ta có sơ đồ: Hệ thống vật tư 20
- 2 Mô hình khung cảnh • Sau bước 2, các hệ thống bên ngoài của hệ thống vật tư được xác định Hệ thống bán Các nhà cung cấp hàng Hệ thống vật tư Kho hàng Kế toán 21
- 2 Mô hình khung cảnh • Trong bước 3, bắt đầu xét chi tiết quan hệ giữa Hệ thống vật tư và Hệ thống bán hàng: Hệ thống bán Các nhà cung cấp hàng Đặt hàng Hàng trả lại Báo không có hàng Hệ thống vật tư Kho hàng Kế toán 22
- 2 Mô hình khung cảnh • Phân tích các quan hệ khác, ta có Mô hình khung cảnh Hệ thống bán Các nhà cung cấp hàng Đặt hàng Yêu cầu nhập hàng Hàng trả lại Nhận hàng Báo không có hàng Hệ thống vật tư Kiểm tra hóa đơn Giao hàng Kho hàng Kế toán 23
- 3 Phân tích trạng thái • Sơ đồ trạng thái là một loại đồ thị có hướng, trong đó các nút đồ thị đại diện trạng thái và nhãn trên các cạnh đồ thị đại diện cho hành động. • Sơ đồ trạng thái đã được dùng để mô hình câu đố hoặc trò chơi. • Ví dụ, một trong những câu đố nổi tiếng liên quan đến một người nông dân qua sông với một con sói, một con dê, và bắp cải. Để làm điều này, ông phải vượt qua từ phía đông đến phía tây của sông bằng cách sử dụng một chiếc thuyền mà chỉ có thể mang anh ta cộng với một trong ba tài sản của mình. Anh ta không thể để trên bờ con sói và dê, cũng như dê và bắp cải, chúng sẽ ăn nhau 24
- 3 Phân tích trạng thái • Bài toán sói, dê và bắp cải (Wolf, Goat, and Cabbage) 25
- 3 Phân tích trạng thái Ta có thể biểu diễn trạng thái của hệ thống này bằng cách liệt kê các đối tượng đang trên bờ phía đông: • m là người nông dân • w là con sói, • g là con dê, • c là bắp cải, và • b là thuyền 26
- 3 Phân tích trạng thái Ta có thể biểu diễn trạng thái của hệ thống này bằng cách liệt kê các đối tượng đang trên bờ phía đông: • m là người nông dân • w là con sói, • g là con dê, • c là bắp cải, và • b là thuyền Như cw và wgb là được, nhưng wg không phải là một trạng thái tốt. 27
- 3 Phân tích trạng thái 28
- 3 Phân tích trạng thái 29
- 3 Phân tích trạng thái 30
- 3 Phân tích trạng thái 31
- 4 Mô hình dòng dữ liệu • Mô hình dòng dữ liệu (Data Flow Diagram) giải thích qui trình nghiệp vụ và các hoạt động một cách rõ ràng, súc tích, bằng các dòng dữ liệu. • Nó là một kỹ thuật sơ đồ cấu trúc đại diện cho các thực thể bên ngoài, logic lưu trữ, cơ sở dữ liệu và thể hiện dòng chảy trong hệ thống. 32
- 4 Mô hình dòng dữ liệu • Qui trình (Processes): Một qui trình dữ liệu biểu diễn cho việc chuyển đổi dữ liệu trong hệ thống, thay đổi các yếu tố đầu vào trong qui trình, tạo ra các kết quả đầu ra. • Các thực thể bên ngoài (External Entities): Các thực thể bên ngoài là nguồn và điểm đến của đầu vào và đầu ra của hệ thống. • Các thực thể trong (Internal Entity): Các 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. • Dòng dữ liệu (Data Flows): Một dòng chảy dữ liệu là một đường ống dẫn các gói tin chảy qua. • Kho dữ liệu (Data Stores): là một nơi dữ liệu đến để lưu lại tạm thời hoặc lâu dài. 33
- 4 Mô hình dòng dữ liệu Quan hệ giữa qui trình, kho dữ liệu, và dòng dữ liệu được biểu diễn như sau Lưu dữ liệu Đọc dữ liệu Cập nhật dữ liệu 34
- 4 Mô hình dòng dữ liệu Ví dụ trong hệ thống quản lý khách hàng có ba chức năng có thao tác khác nhau trên cùng một dòng dữ liệu: 1 2 3 Kiểm tra, tạo thẻ Thay đổi thông tin Gửi thư đến khách hàng mới của khách hàng khách hàng Danh sách khách hàng 35
- 4 Mô hình dòng dữ liệu • 1. Các qui trình được đặt tên duy nhất và tên cần phản ánh bản chất lưu thông dữ liệu giữa các qui trình. Một qui trình là độc lập với các qui trình khác, nó chỉ phụ thuộc vào đầu vào và đầu ra của nó. Kết quả đầu ra từ một qui trình có thể là một dữ liệu đầu vào cho qui trình khác. • 2. Dữ liệu nào cần thiết để thực hiện qui trình sẽ là đầu vào cho qui trình này Dữ liệu nào đi ra từ một qui trình phải phụ thuộc các dữ liệu đầu vào qui trình này. Dữ liệu qua một tiến trình phải có thay đổi: Dữ liệu đầu vào của một tiến trình cần khác với dữ liệu đầu ra. 36
- 4 Mô hình dòng dữ liệu • 3. Các dữ liệu đi vào một tiến trình phải đủ để tạo thành các dữ liệu đi ra. 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. • 4. Nói chung tên 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. 37
- 4 Mô hình dòng dữ liệu • 5. Không có một tiến trình nào chỉ có đầu ra mà không có đầu vào. Đối tượng chỉ có đầu 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ó đầu vào mà không có đầu ra. Một đối tượng chỉ có đầu vào thì chỉ có thể là tác nhân ngoài (đích). • 6. Không thể xảy ra các trường hợp biểu diễn sau vì thiếu qui trình xử lý: 38
- 5 Một số bài tập hệ thống ứng dụng Chương 3. Phân tích chức năng của hệ thống 3.1 Mô hình phân rã chức năng 3.2 Mô hình khung cảnh 3.3 Phân tích trạng thái 3.4 Mô hình dòng dữ liệu 3.5 Một số bài tập hệ thống ứng dụng 39
- 5 Một số bài tập hệ thống ứng dụng Chương 3. Phân tích chức năng của hệ thống 3.1 Mô hình phân rã chức năng 3.2 Mô hình khung cảnh 3.3 Phân tích trạng thái 3.4 Mô hình dòng dữ liệu 3.5 Một số bài tập hệ thống ứng dụng 40
- 4 Mô hình dòng dữ liệu Phương thức xây dựng • Mô hình dòng dữ liệu có thể được chia thành nhiều cấp độ mà mức cao nhất được gọi là cấp độ ngữ cảnh hoặc cấp đầu. • Mỗi cấp độ hơn nữa có thể được chia ra thành các hệ thống con cho đến khi tất cả các qui trình và hệ thống con được xác định 41
- 4 Mô hình dòng dữ liệu Phương thức xây dựng • Bước 1: Xây dựng mô hình luồng dữ liệu mức mức 0 • Tạo ra một Mô hình khung cảnh với 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. 42
- 4 Mô hình dòng dữ liệu Phương thức xây dựng • Bước 1: Xây dựng mô hình luồng dữ liệu mức mức 0 • Tạo ra một Mô hình khung cảnh với 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. 43
- 4 Mô hình dòng dữ liệu Phương thức xây dựng • Bước 1: Xây dựng mô hình luồng dữ liệu mức mức 0 • Ví dụ với hệ thống vật tư, tới bước 1 ta có Mô hình khung cảnh hay sơ đồ DFD mức 0: Hệ thống bán Các nhà cung cấp hàng Đặt hàng Yêu cầu nhập hàng Hàng trả lại Nhận hàng Báo không có hàng Hệ thống vật tư Kiểm tra hóa đơn Giao hàng Kho hàng Kế toán 44
- 4 Mô hình dòng dữ liệu Bước 2. Xây dựng mô hình luồng dữ liệu mức 1. • Phân rã chức năng trong sơ đồ mức 0 để xây dựng sơ đồ mức 1: • Với mức 1 các tác nhân ngoài của hệ thống ở mức 0 đượ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 1 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. • 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. 45
- 4 Mô hình dòng dữ liệu Bước 2. Xây dựng mô hình luồng dữ liệu mức 1. • Ví dụ sơ đồ DFD mức 1 cho hệ thống vật tư trong hình vẽ sau, trong đó số 1 hàng thập phân ký hiệu mức 1. Hệ thống bán Các nhà cung cấp hàng Hàng trả lại Yêu cầu nhập hàng 2 Đặt hàng Theo dõi tình Nhận hàng Báo không có hàng trạng kho 1 3 Điền đơn đặt hàng Nhận hàng Dữ liệu kho Giao hàng Kiểm tra hóa đơn Kho hàng Kế toán 46
- 4 Mô hình dòng dữ liệu • Bước 3. Xây dựng mô hình luồng dữ liệu mức cao hơn • Mỗi chức năng được phân tích khả năng phân rã. 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. Việc phân rã có thể tiếp tục cho đến khi đủ số mức cần thiết. Ở các mức cao hơn các chức năng được đánh số. 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, cách đánh số như sau: 47
- 4 Mô hình dòng dữ liệu • Bước 3. Xây dựng mô hình luồng dữ liệu mức cao hơn 1 2 3 4 1. 1 1. 2 1. 3 2. 1 2. 2 2. 3 3. 1 3. 2 1.1 .1 1.1 .2 1.1 .3 48
- 4 Mô hình dòng dữ liệu • Các loại DFD • Mô hình dòng dữ liệu vật lý: Mô hình dòng dữ liệu phụ thuộc vào việc triển khai, hiển thị các thiết bị thực tế, các bộ phận, con người tham gia vào hệ thống hiện tại. • Mô hình dòng dữ liệu lôgic: Mô hình dòng dữ liệu lôgic biểu diễn cho nghiệp vụ hoặc các qui trình. Nó mô tả các hệ thống, độc lập với cách thực hiện cụ thể, mà tập trung vào diễn giải xem hoạt động được thực hiện như thế nào. 49
- 4 Mô hình dòng dữ liệu • Thực tế cho thấy DFD vật lý có thể xem như 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. • Việc 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 thời gian và nguồn tài nguyên phát triển dự án một cách không cần thiết. • Do đó cần thiết phải chuyển từ mô hình luồng dữ liệu vật lý sang mô hình luồng dữ liệu logic. 50
- 4 Mô hình dòng dữ liệu • Khi chuyển đổi, cần thiết: • Loại bỏ các yếu tố vật lý: 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ữ lại các chức năng và nội dung thông tin 51
- 4 Mô hình dòng dữ liệu 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 logic nhiều nhất khi đi sâu vào chi tiết càng tốt. 52
- 4 Mô hình dòng dữ liệu 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 quan trọng ảnh hưởng lớn đến sự thành công của hệ thống mới. Nhà quản lý và nhà phân tích phải hợp tác chặt chẽ để tìm cách hòa 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 cơ cấu tổ chức hợp lý, thiếu 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. 53
- 4 Mô hình dòng dữ liệu Chuyển từ DFD của hệ thống cũ sang DFD của hệ thống mới Việc chuyển đổi bao gồm: 1. 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ỏ. 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 • Xóa 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. 54
- 4 Mô hình dòng dữ liệu Chuyển từ DFD của hệ thống cũ sang DFD của hệ thống mới Việc chuyển đổi bao gồm: 2. Sửa lại mô hình phân rã chức năng theo mô hình luồng dữ liệu. 3. Kiểm tra lại các mô hình dữ liệu điều chỉnh lại cho hợp lý. 55
- 4 Mô hình dòng dữ liệu Chuyển từ DFD của hệ thống cũ sang DFD của hệ thống mới Ví dụ: • Hệ cung ứng vật tư 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. • Cần sửa mô hình luồng dữ liệu: Bổ xung kho chứa vật tư, và sửa lại DFD của hệ thống. 56
- 4 Mô hình dòng dữ liệu Hoàn chỉnh mô hình DFD Mô hình dòng dữ liệu cần kiểm tra về tính đầy đủ và nhất quán. Phải làm cho sơ đồ đơn giản, chính xác và logic nhất. Có thể xảy ra các tình huống sau nên tránh: • Hiệu ứng mặt trời: Một chức năng có quá nhiều dòng vào ra. Cần gom nhóm hoặc phân rã tiếp một số chức năng chưa hợp lý. • Thông tin đi qua một chức năng mà không bị thay đổi: Cần xóa 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. Cần xem lại Mô hình phân rã. 57
- 4 Mô hình dòng dữ liệu 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 như giá trị 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. 58
- TÓM TẮT Chương 3. Phân tích chức năng của hệ thống 3.1 Mô hình phân rã chức năng 3.2 Mô hình khung cảnh 3.3 Phân tích trạng thái 3.4 Mô hình dòng dữ liệu 3.5 Một số bài tập hệ thống ứng dụng 59
- Questions areanalysisanddesign 60