Phân tích chức năng hệ thống
Các mô hình và phương tiện mô tả chức năng Phương pháp phân tích có cấu trúc (SA)
Bạn đang xem trước 20 trang tài liệu Phân tích chức năng hệ thống, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
Click to edit Master title style Click to edit Master text styles Second level Third level Fourth level Fifth level 10/15/2013 SGU - Khoa CNTT - PTTK HTTT ‹#› Phân tích chức năng hệ thống ThS. Hoàng Mạnh Hà hoangha84@gmail.com https://sites.google.com/site/hoangha84 Nội dung Các mô hình và phương tiện mô tả chức năng Phương pháp phân tích có cấu trúc (SA) SGU - Khoa CNTT - PTTK HTTT 2 Các mô hình và phương tiện mô tả chức năng SGU - Khoa CNTT - PTTK HTTT 3 Nội dung Các mức độ mô tả chức năng Các biểu đồ phân cấp chức năng Các lưu đồ hệ thống Biểu đồ luồng dữ liệu Các phương tiện đặc tả chức năng SGU - Khoa CNTT - PTTK HTTT 4 Các mô hình và phương tiện mô tả chức năng Các mức độ mô tả chức năng SGU - Khoa CNTT - PTTK HTTT 5 Các mức độ mô tả chức năng Chức năng: chức năng xử lý thông tin Tùy theo hoàn cảnh và yêu cầu, có thể thực hiện ở các mức khác nhau: Vật lý và logic Tổng thể và chi tiết SGU - Khoa CNTT - PTTK HTTT 6 Mô tả vật lý Nói rõ được cả mục đích và cách thực hiện của quá trình xử lý “Làm gì?” và “Làm như thế nào?” “Làm như thế nào?” thể hiện ở các khía cạnh: Dùng phương pháp gì? Biện pháp gì? Dùng công cụ gì? Ai làm? Ở đâu? Lúc nào? SGU - Khoa CNTT - PTTK HTTT 7 Mô tả logic Chỉ tập trung trả lời câu hỏi “Làm gì?” Diễn tả mục đích, bản chất của quá trình xử lý, bỏ qua yếu tố về thực hiện, cài đặt (yếu tố vật lý) Các yếu tố vật lý thường che khuất bản chất của hệ thống, làm ta khó phát hiện các bất hợp lý của hệ thống Để thấy rõ bản chất, sự bất hợp lý, cần loại bỏ mọi yếu tố vật lý. SGU - Khoa CNTT - PTTK HTTT 8 Trình tự mô hình hóa HT (1)(2): Giai đoạn phân tích (3): Giai đoạn thiết kế SGU - Khoa CNTT - PTTK HTTT 9 Diễn tả HT cũ làm như thế nào? Diễn tả HT mới làm gì? Diễn tả HT cũ làm gì? Diễn tả HT mới làm như thế nào? Mức vật lý Mức logic (1) (2) (3) Mô tả tổng thể Các chức năng được mô tả dưới dạng “hộp đen”. Nội dung bên trong “hộp đen” không được chỉ rõ. Các thông tin vào/ra thì được chỉ rõ. SGU - Khoa CNTT - PTTK HTTT 10 Mô tả chi tiết Nội dung của quá trình xử lý phải được chỉ rõ Chức năng con Mối liên hệ về thông tin giữa những chức năng con đó. Các chức năng còn thường vẫn phức tạp Cần diễn tả chúng chi tiết hơn thông qua các chức năng nhỏ hơn Sự phân cấp trong mô tả chức năng. Ở mức cuối, các chức năng là đơn giản, có thể mô tả trực tiếp quá trình xử lý của nó - Đặc tả chức năng. SGU - Khoa CNTT - PTTK HTTT 11 Các mô hình và phương tiện mô tả chức năng Biểu đồ phân cấp chức năng SGU - Khoa CNTT - PTTK HTTT 12 Biểu đồ phân cấp chức năng Biểu đồ phân cấp chức năng (Bussiness Function Diagram – BFD) là biểu đồ diễn tả sự phân rã dần các chức năng từ tổng thể đến chi tiết. Mỗi nút là một chức năng, quan hệ giữa các chức năng là quan hệ bao hàm, diễn tả bởi các cung nối các nút. SGU - Khoa CNTT - PTTK HTTT 13 Biểu đồ phân cấp chức năng BFD là một cấu trúc cây. Ví dụ: SGU - Khoa CNTT - PTTK HTTT 14 Đặc điểm của BFD Cho một cái nhìn tổng quát, dễ hiểu, từ tổng quát đến chi tiết các chức năng, nhiệm vụ cần thực hiện (thường mô tả ở mức logic). Dễ xây dựng bằng cách phân rã chức năng từ trên xuống. Mô hình tĩnh - chỉ cho thấy chức năng, không cho biết trình tự xử lý. Thiếu sự trao đổi thông tin giữa các chức năng. SGU - Khoa CNTT - PTTK HTTT 15 Đặc điểm của BFD Do các đặc điểm của BFD, người ta thường dùng BFD để mô hình chức năng trong bước đầu phân tích, hoặc cho các hệ thống đơn giản. Phân biệt BFD với sơ đồ tổ chức của cơ quan: Đều có cấu trúc dạng cây Có sự tương ứng, nhưng không nhất thiết là 1-1 Tên chức năng – Tên bộ phận. SGU - Khoa CNTT - PTTK HTTT 16 Các mô hình và phương tiện mô tả chức năng Lưu đồ hệ thống SGU - Khoa CNTT - PTTK HTTT 17 Lưu đồ hệ thống Diễn tả quá trình xử lý thông tin của một hệ thống: Sự diễn tả là ở mức vật lý Chỉ rõ các công việc phải thực hiện Chỉ rõ trình tự các công việc và các thông tin trao đổi giữa các công việc đó. Hiện nay ít được sử dụng SGU - Khoa CNTT - PTTK HTTT 18 SGU - Khoa CNTT - PTTK HTTT 19 Các mô hình và phương tiện mô tả chức năng Biểu đồ luồng dữ liệu SGU - Khoa CNTT - PTTK HTTT 20 Biểu đồ luồng dữ liệu Data Flow Diagram – DFD. Diễn tả quá trình xử lý thông tin: Ở mức logic (“Làm gì?”) Chỉ rõ các chức năng con phải thực hiện để hoàn tất quá trình xử lý cần mô tả. Chỉ rõ các thông tin trao đổi giữa các chức năng đó Không thể hiện cách làm, địa điểm, thời gian, tác nhân xử lý… SGU - Khoa CNTT - PTTK HTTT 21 Các khái niệm trong DFD Khái niệm Kí hiệu (Demarco & Yourdon) Kí hiệu (Gane & Sarson) Ý nghĩa Tiến trình Một hoạt động xử lý bên trong hệ thống. Dòng dữ liệu Sự di chuyển thông tin. Kho dữ liệu Nơi chứa dữ liệu trong hệ thống. Tác nhân Đối tượng bên ngoài hệ thống. SGU - Khoa CNTT - PTTK HTTT 22 Tiến trình (Process) Là một hoặc một số công việc, hành động bên trong hệ thống thông tin tác động lên dữ liệu: Tạo mới, Sử dụng, Cập nhật, Hủy bỏ, Chuyển đổi dữ liệu đầu vào thành dữ liệu đầu ra. Quá trình xử lý dữ liệu trong một hệ thống thường gồm nhiều tiến trình khác nhau Mỗi tiến trình thực hiện 1 phần chức năng nghiệp vụ nào đó SGU - Khoa CNTT - PTTK HTTT 23 Tiến trình (Process) Biểu diễn bởi hình chữ nhật có góc tròn và 1 đường gạch ngang chia hình chữ nhật thành 2 phần: Số hiệu của tiến trình Tên tiến trình: động từ + bổ ngữ Động từ: làm gì. Bổ ngữ: cái gì. Ví dụ: Lập hóa đơn, tính lương… SGU - Khoa CNTT - PTTK HTTT 24 Số hiệu Tên tiến trình Luồng dữ liệu Biểu diễn sự di chuyển dữ liệu, thông tin từ thành phần này đến thành phần khác trong mô hình DFD. Các thành phần: tiến trình, kho dữ liệu, tác nhân. Tên dòng dữ liệu: nội dung dữ liệu di chuyển, thường là cụm danh từ. Ví dụ: SGU - Khoa CNTT - PTTK HTTT 25 Tên dòng dữ liệu Hóa đơn Thông tin khách hàng Kho dữ liệu Dùng để biểu diễn vùng chứa thông tin, dữ liệu bên trong hệ thống thông tin. Nhiều hình thức: sổ sách, hồ sơ, bảng biểu, tập tin lưu trữ, cơ sở dữ liệu… Biểu diễn bởi hình chữ nhật khuyết 1 cạnh Số hiệu Tên kho dữ liệu: cụm danh từ. Ví dụ: SGU - Khoa CNTT - PTTK HTTT 26 Tên kho DL Hóa đơn Danh sách KH Tác nhân Biểu diễn thực thể bên ngoài giao tiếp với hệ thống. Do đó thông thường tác nhân biểu diễn các thực thể môi trường của hệ thống thông tin Con người: khách hàng, nhà cung cấp… Tổ chức khác: ngân hàng, công ty… Hệ thống khác Tên tác nhân: cụm danh từ Ví dụ: SGU - Khoa CNTT - PTTK HTTT 27 Tên tác nhân Khách hàng Nhà cung cấp Một số quy tắc vẽ DFD Dữ liệu vào phải khác với dữ liệu ra của 1 tiến trình: Các dữ liệu qua một tiến trình phải được xử lý, ngược lại tiến trình là không cần thiết. Các đối tượng trong DFD phải có tên duy nhất ngoại trừ tác nhân và kho dữ liệu có thể vẽ lặp lại. Các dòng dữ liệu đi vào tiến trình phải đủ để tạo thành các luồng dữ liệu đi ra: mọi tiến trình là có thể thực hiện được về mặt dữ liệu. SGU - Khoa CNTT - PTTK HTTT 28 Một số quy tắc vẽ DFD Tiến trình: Mọi tiến trình phải có cả dòng dữ liệu vào và ra Ngược lại: tác nhân hoặc kho dữ liệu Tác nhân: Không cần luồng dữ liệu từ tác nhân tác nhân Dòng dữ liệu: 1 dòng dữ liệu không thể quay lại nơi nó vừa đi khỏi. Dòng dữ liệu đi vào kho: kho được cập nhật Dòng dữ liệu đi ra khỏi kho: kho được đọc Không có dòng dữ liệu từ kho kho khác Không đi trực tiếp từ tác nhân đến kho và ngược lại. SGU - Khoa CNTT - PTTK HTTT 29 Các tình huống liên quan Dòng dữ liệu và kho dữ liệu Dòng dữ liệu đi vào: biểu diễn việc cập nhật dữ liệu kho Dòng dữ liệu đi ra: biểu diễn việc khai thác dữ liệu của kho SGU - Khoa CNTT - PTTK HTTT 30 D d2 d1 Các tình huống liên quan Dòng dữ liệu và tác nhân Dòng dữ liệu xuất phát từ tác nhân: là nguồn cung cấp dữ liệu, thông tin cho hệ thống. Dòng dữ liệu đi đến tác nhân: mô tả nguồn dữ liệu, thông tin đầu ra của hệ thống SGU - Khoa CNTT - PTTK HTTT 31 T T d1 d2 Các tình huống liên quan Dòng dữ liệu và tiến trình: một tiến trình phải có ít nhất 1 dòng dữ liệu vào và 1 dòng dữ liệu ra. Nếu không nó phải biểu diễn bằng khái niệm tác nhân SGU - Khoa CNTT - PTTK HTTT 32 d1 d1 d2 d1 d3 Các tình huống liên quan Kho dữ liệu: dữ liệu không thể di chuyển từ kho dữ liệu này sang kho dữ liệu khác Dữ liệu di chuyển giữa 2 kho phải được xử lý bởi 1 tiến trình trung gian nào đó. SGU - Khoa CNTT - PTTK HTTT 33 D1 D2 d1 D1 D2 P d1 d2 Các tình huống liên quan Dữ liệu không thể đi trực tiếp từ một tác nhân đến kho và ngược lại. Tất cả phải thông qua 1 tiến trình xử lý nhận dữ liệu từ tác nhân và lưu vào kho SGU - Khoa CNTT - PTTK HTTT 34 D2 d1 T D P d1 d2 T Các tình huống liên quan Dữ liệu không thể di chuyển trực tiếp từ tác nhân này đến tác nhân khác mà phải thông qua một tiến trình xử lý của hệ thống nếu tác nhân đó liên quan đến phạm vi hệ thống đang xét. Nếu không thì dòng dữ liệu không được đưa vào mô hình. SGU - Khoa CNTT - PTTK HTTT 35 T1 T2 d T1 T2 d1 P d2 Các tình huống liên quan Dòng dữ liệu: chỉ có một hướng duy nhất. Trong trường hợp dữ liệu 2 hướng phải biểu diễn thành 2 dòng dữ liệu khác nhau. SGU - Khoa CNTT - PTTK HTTT 36 P D d P D d1 d2 Các tình huống liên quan Tình huống phân nhánh của dòng dữ liệu: nội dung dữ liệu là cùng một nội dung. Tương tự: dòng dữ liệu kết hợp mô tả chính xác cùng một nội dung dữ liệu nhưng cùng đến từ 2 nơi khác nhau. SGU - Khoa CNTT - PTTK HTTT 37 P1 P2 D d1 d2 P1 P2 D d1 d1 Hạn chế của DFD Không mô tả được sự đồng bộ trong xử lý. SGU - Khoa CNTT - PTTK HTTT 38 P1 d1 d2 P3 P2 Không mô tả được P3 chỉ thực hiện khi P1 và P2 hoàn tất. Hạn chế của DFD Không biểu diễn được các yếu tố thời gian, không gian. Không mô tả được biến cố trong hệ thống. Ví dụ: cuối tháng tính lương, cuối ngày kiểm tra tồn kho… Không biểu diễn được vai trò của thành phần tham gia xử lý. SGU - Khoa CNTT - PTTK HTTT 39 Quá trình phân tích xử lý Quá trình phân tích xử lý có mục tiêu là xây dựng một lược đồ tổng thể cho hệ thống thông tin đang xét. Công việc này thường phức tạp và là quá trình lặp nhiều lần. Mỗi lần lặp thực chất là quá trình bổ sung, tinh chỉnh, điều chỉnh. SGU - Khoa CNTT - PTTK HTTT 40 Các luật cơ bản khi phân tích 1. Phân rã tiến trình với dòng dữ liệu ở giữa. Phân tích một xử lý thành hai xử lý con: Xử lý đầu chuyển tiếp dữ liệu, xử lý sau tiếp tục xử lý thông tin được chuyển tiếp đó. VD: Xử lý đơn đặt hàng Tiếp nhận + Giải quyết. SGU - Khoa CNTT - PTTK HTTT 41 P P2 d1 P1 Các luật cơ bản khi phân tích 2. Phân rã tiến trình với kho dữ liệu ở giữa. Luật này áp dụng khi ta muốn tách 1 tiến trình thành 2 tiến trình có thời điểm khác nhau do đó dữ liệu chuyển tiếp phải lưu lại trong kho dữ liệu. VD: Xử lý lương Xử lý chấm công + bảng chấm công + Tính lương. SGU - Khoa CNTT - PTTK HTTT 42 P P2 D d2 d1 P1 Các luật cơ bản khi phân tích 3. Phân rã tiến trình không có kết nối. Dùng khi 2 tiến trình không được kết nối ngay hoặc không có nhu cầu trao đổi thông tin với nhau. VD: Xử lý đặt và mua hàng Xử lý đặt hàng + xử lý mua hàng. SGU - Khoa CNTT - PTTK HTTT 43 P P2 P1 Các luật cơ bản khi phân tích 4. Phân rã dòng dữ liệu. Dùng để tách 1 dòng dữ liệu tổng hợp thành các dòng dữ liệu có nội dung thông tin riêng biệt. VD: Hóa đơn và phiếu giao hàng Hóa đơn + Phiếu giao hàng. SGU - Khoa CNTT - PTTK HTTT 44 d d1 d2 Các luật cơ bản khi phân tích 5. Hoàn chỉnh dòng dữ liệu. Xử lý các dòng dữ liệu có khả năng chuyển đổi nội dung thông tin. SGU - Khoa CNTT - PTTK HTTT 45 P d1 d d2 Các luật cơ bản khi phân tích 6. Phân rã kho dữ liệu. Dùng khi dữ liệu có thể chia thành tập con mà mỗi phần có thể kết nối đến các tiến trình hoặc tác nhân khác nhau. VD: Đơn đặt hàng của khách hàng Đơn đặt hàng + Khách hàng SGU - Khoa CNTT - PTTK HTTT 46 D D1 D2 Các luật cơ bản khi phân tích 7. Hoàn chỉnh kho dữ liệu. Dùng khi tách 1 kho dữ liệu thành 2 kho mà trong đó 1 phần dữ liệu được tạo lập từ việc xử lý kho dữ liệu trước. SGU - Khoa CNTT - PTTK HTTT 47 D D1 D2 P d1 d2 Các mô hình và phương tiện mô tả chức năng Các phương tiện đặc tả chức năng SGU - Khoa CNTT - PTTK HTTT 48 Đặc tả chức năng Sự đặc tả chức năng – Process Specification Khi các chức năng “hộp đen” được phân rã đến mức đơn giản nhất có thể, ta cần phải có sự đặc tả chức năng đó (nếu không nó vẫn là “hộp đen”). Không nên sử dụng ngôn ngữ tự do trong việc đặc tả chức năng. SGU - Khoa CNTT - PTTK HTTT 49 Đặc tả chức năng Trình bày ngắn gọn, gồm 2 phần: Phần đầu đề: Tên chức năng Các dữ liệu vào Các dữ liệu ra Phần thân: mô tả nội dung xử lý, thường dùng Các phương trình toán học Các bảng quyết định hoặc cây quyết định Các sơ đồ khối Các ngôn ngữ cấu trúc hóa SGU - Khoa CNTT - PTTK HTTT 50 Phương pháp phân tích có cấu trúc (SA) SGU - Khoa CNTT - PTTK HTTT 51 SGU - Khoa CNTT - PTTK HTTT 52