Bài giảng môn Phân tích thiết kế hệ thống thông tin - Chương 3: Phân tích hệ thống hướng cấu trúc

Nội dung chính

1. Sơ đồ phân rã chức năng (Functional

Decomposition Diagram - FDD)

2. Sơ đồ luồng dữ liệu (Data Flow Diagram -

DFD)

3. Từ điển dữ liệu (Data Dictionary)

4. Đặc tả quá trình và quyết định có cấu trúc

pdf152 trang | Chia sẻ: phuongt97 | Lượt xem: 411 | Lượt tải: 0download
Bạn đang xem trước 20 trang nội dung tài liệu Bài giảng môn Phân tích thiết kế hệ thống thông tin - Chương 3: Phân tích hệ thống hướng cấu trúc, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
ác những gì được thực hiện  Xác nhận tính hợp lệ của thiết kế hệ thống 120 Nguyễn Hoàng Ân - Khoa HTTTQL Các quá trình không đặc tả  Quá trình đại diện cho đầu vào và/hoặc đầu ra vật lý  Quá trình đại diện cho việc xác nhận dữ liệu đơn giản  Quá trình sử dụng mã đã được viết trước (prewritten) như chương trình con 121 Nguyễn Hoàng Ân - Khoa HTTTQL Đặc tả quá trình liên quan đến sơ đồ luồng dữ liệu như thế nào 122 Nguyễn Hoàng Ân - Khoa HTTTQL Thông tin đặc tả quá trình  Mã số của quá trình (process number)  Tên quá trình (process name)  Mô tả những gì quá trình thực hiện  Danh sách các luồng dữ liệu đầu vào  Các luồng dữ liệu đầu ra  Kiểu quá trình  Sử dụng mã lệnh (prewritten)  Mô tả luận lý của quá trình  Phương pháp luận lý tham khảo  Chỉ ra bất kỳ vấn đề gì chưa được giải quyết 123 Nguyễn Hoàng Ân - Khoa HTTTQL 124 Nguyễn Hoàng Ân - Khoa HTTTQL Process Specification Form Number:1.3 Name: Determine Quantity Available Description: Determine if an item is available for sale. If it is not available, create a backordered item record. Determine the quantity available. Input Data Flow Valid item from Process1.2 Quantity on Hand from Item Record Output Data Flow Available item (Item Number + Quantity Sold) to Processes 1.4 & 1.5 Backordered Item to Inventory Control Type of Process  Online†  Batch†  Manual Subprogram / Function Name Process Logic: IF the Order Item Quantity is greater than Quantity on Hand Then Move Order Item Quantity to Available Item Quantity Move Order Item Number to Available Item Number ELSE Subtract Quantity On Hand from OrderItem Quantity giving Quantity Backordered ENDIF Refer to: Name:______________________________________________________  Structured English†  Decision Table†  Decision Tree Unresolved Issues: Should the amount that is on order for this item be taken into account? Would this, combined with the expected arrival date of goods on order, change how the quantity available is calculated? Mã số của quá trình  Phải phù hợp với ID của quá trình trên sơ đồ luồng dữ liệu  Cho phép các nhà phân tích làm việc hoặc xem lại bất kỳ quá trình nào, và để xác định vị trí sơ đồ luồng dữ liệu có chứa quá trình một cách dễ dàng 125 Nguyễn Hoàng Ân - Khoa HTTTQL Tên quá trình  Giống như tên được hiển thị trong ký hiệu quá trình trên DFD 126 Nguyễn Hoàng Ân - Khoa HTTTQL Mô tả những gì quá trình thực hiện Ví dụ: Xác định nếu một sản phẩm có sẵn để bán. Nếu nó không có sẵn, tạo ra một bản ghi các mặt hàng được đặt trước (backordered). Xác định số lượng có sẵn. (Determine if an item is available for sale. If it is not available, create a backordered item record. Determine the quantity available.) 127 Nguyễn Hoàng Ân - Khoa HTTTQL Danh sách các luồng dữ liệu đầu vào và ra  Sử dụng tên được tìm thấy trong sơ đồ luồng dữ liệu và từ điển dữ liệu  Các tên dữ liệu được sử dụng trong các công thức hoặc luận lý nên phù hợp với từ điển dữ liệu để tương thích và trao đổi dễ dàng 128 Nguyễn Hoàng Ân - Khoa HTTTQL Kiểu quá trình  Theo lô (Batch)  Trực tuyến (Online)  Yêu cầu thiết kế màn hình  Thủ công (Manual)  Cần phải có các thủ tục được định nghĩa tốt để nhân viên thực hiện các nhiệm vụ của quá trình 129 Nguyễn Hoàng Ân - Khoa HTTTQL Sử dụng mã lệnh (Prewritten) Bao gồm tên của chương trình con (subprogram) hoặc hàm (function) có chứa mã 130 Nguyễn Hoàng Ân - Khoa HTTTQL Mô tả luận lý của quá trình  Nội dung này nên nêu rõ chính sách và qui tắc nghiệp vụ, không phải mã giả của ngôn ngữ máy  Các quy tắc nghiệp vụ là thủ tục cho phép một công ty vận hành các nghiệp vụ của mình 131 Nguyễn Hoàng Ân - Khoa HTTTQL Các định dạng quy tắc nghiệp vụ phổ biến  Định nghĩa các thuật ngữ nghiệp vụ  Điều kiện và hành động của nghiệp vụ  Các ràng buộc toàn vẹn dữ liệu  Các dẫn xuất về toán học và chức năng  Những suy luận luận lý  Trình tự xử lý  Mối quan hệ giữa các sự kiện về nghiệp vụ 132 Nguyễn Hoàng Ân - Khoa HTTTQL Phương pháp luận lý tham khảo Cần chỉ ra nơi cần tham khảo thêm nếu trên bảng đặc tả không có đủ chỗ để mô tả đầy đủ bằng tiếng Anh có cấu trúc, bao gồm tham khảo đến mô tả tiếng Anh có cấu trúc, bảng quyết định, hoặc cây quyết định mô tả luận lý 133 Nguyễn Hoàng Ân - Khoa HTTTQL Chỉ ra bất kỳ vấn đề nào chưa được giải quyết  Các phần không đầy đủ về mặt luận lý  Những vấn đề này là cơ sở để hình thành nên những câu hỏi được sử dụng sau này trong các cuộc phỏng vấn với người sử dụng hoặc các chuyên gia nghiệp vụ được bổ sung thêm vào nhóm dự án 134 Nguyễn Hoàng Ân - Khoa HTTTQL Cân bằng ngang (horizontal balancing)  Cân bằng ngang: tất cả các phần tử luồng dữ liệu ra phải dựa vào luồng dữ liệu vào hoặc được đặc tả trong luận lý của quá trình  Cân bằng ngang dùng để kiểm tra mỗi quá trình có các mục từ trong từ điển dữ liệu, các công thức hoặc cách tính để tạo luồng dữ liệu ra Nguyễn Hoàng Ân - Khoa HTTTQL 135 Các quy tắc cân bằng ngang  Tất cả các phần tử cơ bản trên một luồng dữ liệu ra phải có trong luồng dữ liệu vào  Tất cả các phần tử dẫn xuất của luồng dữ liệu ra phải:  Có trong luồng dữ liệu vào, hoặc  Được tạo ra bởi quá trình 136 Nguyễn Hoàng Ân - Khoa HTTTQL Tiếng Anh có cấu trúc (Structured English)  Được sử dụng khi quá trình luận lý liên quan đến các công thức hoặc lặp đi lặp lại, hoặc khi quyết định có cấu trúc không phức tạp  Dựa trên luận lý có cấu trúc và các câu lệnh tiếng Anh đơn giản như thêm/cộng (add), nhân (multiply) , và di chuyển (move) 137 Nguyễn Hoàng Ân - Khoa HTTTQL Viết tiếng Anh có cấu trúc  Tất cả các biểu thức luận lý sử dụng: cấu trúc tuần tự, cấu trúc quyết định, các cấu trúc chọn, hoặc lặp  Sử dụng các từ khóa được chấp nhận như IF, THEN, ELSE, DO, và PERFORM  Sử dụng dạng thụt đầu hàng một khối lệnh để cho thấy sự phân cấp (lồng nhau) của các câu lệnh rõ ràng  Gạch dưới các từ hoặc cụm từ đã được định nghĩa trong từ điển dữ liệu  Làm rõ các câu lệnh luận lý 138 Nguyễn Hoàng Ân - Khoa HTTTQL Ví dụ về luận lý được thể hiện trong cấu trúc tuần tự, cấu trúc quyết định, cấu trúc chọn, và lặp 139 Nguyễn Hoàng Ân - Khoa HTTTQL Nguyễn Hoàng Ân - Khoa HTTTQL 140 GET Order Record GET Customer Record Move Order Number to Shipping Statement Move Order Date to Shipping Statement Move Customer Number to Shipping Statement DO format Customer Name (leave only one space between First/Middle/Last) DO format Customer Address lines DO WHILE there are items for the order GET Item Record DO Format Item Line Multiply Unit Price by Quantity Ordered giving Extended Amount Move Extended Amount to Order Item Lines Add Extended Amount to Merchandise Total IF Quantity Backordered is greater than zero Move Quantity Backordered to Order Item Lines ENDIF ENDDO Move Merchandise Total to Shipping Statement Move 0 to Tax IF State is equal to CT Multiply Merchandise Total by Tax Rate giving Tax ENDIF Move Tax to Shipping Statement DO calculate Shipping and Handling Move Shipping and Handling to Shipping Statement Add Merchandise Total, Tax, and Shipping and Handling giving Order Total Move Order Total to Shipping Statement Format the Shipping Statement Ưu điểm của tiếng Anh có cấu trúc  Làm rõ luận lý và các mối quan hệ có trong ngôn ngữ của con người  Là một công cụ giao tiếp hiệu quả, nó có thể được dùng để truyền đạt và được hiểu bởi người dùng trong tổ chức Nguyễn Hoàng Ân - Khoa HTTTQL 141 Từ điển dữ liệu và đặc tả quá trình  Từ điển dữ liệu là điểm bắt đầu cho việc tạo ra tiếng Anh có cấu trúc:  Tuần tự  một trình tự đơn giản của các câu lệnh MOVE, ADD, và SUBTRACT  Tùy chọn [|]  câu lệnh IF ... THEN ELSE  Các mục lặp {}  các phát biểu DO WHILE, DO UNTIL, hoặc PERFORM UNTIL Nguyễn Hoàng Ân - Khoa HTTTQL 142 Bảng quyết định (Decision Tables)  Một bảng gồm các hàng và cột, chia thành 4 phần:  Góc trên bên trái mô tả các điều kiện (condition)  Góc trên bên phải là các giá trị chọn lựa cho các điều kiện (Condition alternatives)  Góc dưới bên trái là các tác vụ (action)  Góc dưới bên phải là các chọn lựa tác vụ Nguyễn Hoàng Ân - Khoa HTTTQL 143 Định dạng tiêu chuẩn cho một bảng quyết định 144 Nguyễn Hoàng Ân - Khoa HTTTQL Xây dựng một bảng quyết định để quyết định xem danh mục nào gửi đến khách hàng 145 Nguyễn Hoàng Ân - Khoa HTTTQL Phát triển bảng quyết định 1. Xác định các điều kiện ảnh hưởng đến quyết định 2. Xác định các tác vụ có thể có 3. Xác định các giá trị chọn lựa cho mỗi điều kiện 4. Tính toán số lượng tối đa các cột trong bảng quyết định 5. Điền các giá trị chọn lựa cho mỗi điều kiện 6. Hoàn thành bảng bằng cách chèn một ký hiệu X vào tác vụ đề nghị cho mỗi quy tắc 7. Kết hợp các quy tắc hiển nhiên 8. Kiểm tra các tình huống không thể có 9. Sắp xếp lại bảng cho dễ hiểu hơn Nguyễn Hoàng Ân - Khoa HTTTQL 146 Kiểm tra tính đầy đủ và chính xác  Bốn vấn đề chính:  Sự không toàn vẹn (Incompleteness)  Các tình huống không thể có (Impossible situations)  Các mâu thuẫn (Contradictions)  Sự dư thừa (Redundancy) Nguyễn Hoàng Ân - Khoa HTTTQL 147 Nguyễn Hoàng Ân - Khoa HTTTQL 148 Kiểm tra mâu thuẫn và dư thừa trong bảng quyết định Nguyễn Hoàng Ân - Khoa HTTTQL 149 Nguyễn Hoàng Ân - Khoa HTTTQL 150 Bảng quyết định nâng cao  Vì số lượng các giá trị lựa chọn và điều kiện làm gia tăng số lượng cột  Ví dụ: Một bảng với bảy điều kiện có hai giá trị lựa chọn sẽ cần 128 cột  Để giảm số lượng các cột  Sử dụng các mục mở rộng  Sử dụng quy tắc ELSE  Xây dựng nhiều bảng 151 Nguyễn Hoàng Ân - Khoa HTTTQL Ưu điểm của bảng quyết định  Giúp nhà phân tích đảm bảo sự đầy đủ  Dễ dàng để kiểm tra các lỗi có thể có  Các tình huống bất không thể có  Các mâu thuẫn  Dư thừa 152 Nguyễn Hoàng Ân - Khoa HTTTQL Cây quyết định (Decision Trees)  Cây quyết định được sử dụng khi sự phân nhánh phức tạp xảy ra trong một quá trình ra quyết định có cấu trúc  Rất hữu ích trong việc lưu giữ lại chuỗi các quyết định theo một trình tự cụ thể Nguyễn Hoàng Ân - Khoa HTTTQL 153 Vẽ cây quyết định  Xác định tất cả các điều kiện và tác vụ cùng với thứ tự và thời gian của chúng (nếu điều này là quan trọng)  Bắt đầu xây dựng cây từ trái sang phải, hãy chắc chắn rằng đã liệt kê tất cả các lựa chọn thay thế có thể có trước khi chuyển sang bên phải Nguyễn Hoàng Ân - Khoa HTTTQL 154 Vẽ một cây quyết định để hiển thị các hành động phê duyệt mua hàng không dùng tiền mặt cho một cửa hàng bách hóa Nguyễn Hoàng Ân - Khoa HTTTQL 155 Nguyễn Hoàng Ân - Khoa HTTTQL 156 Ưu điểm của cây quyết định  Trình tự kiểm tra các điều kiện và tác vụ thực hiện được nhận thấy ngay lập tức  Điều kiện và hành động của cây quyết định được tìm thấy trên một số nhánh nhưng không có trên những nhánh khác  So với các bảng quyết định, cây quyết định dễ hiểu hơn đối với những người khác trong tổ chức 157 Nguyễn Hoàng Ân - Khoa HTTTQL Lựa chọn kỹ thuật phân tích quyết định có cấu trúc  Sử dụng tiếng Anh có cấu trúc khi có nhiều hành động lặp đi lặp lại hoặc khi việc giao tiếp với người dùng cuối là quan trọng  Sử dụng các bảng quyết định khi có sự kết hợp phức tạp của điều kiện, hành động, và các quy tắc hoặc có yêu cầu về một phương pháp hiệu quả tránh các tình huống không thể có, dư thừa và mâu thuẫn  Sử dụng cây quyết định khi trình tự các điều kiện và hành động là rất quan trọng hoặc khi không phải tất cả các điều kiện điều liên quan đến mọi hành động (các nhánh khác nhau) Nguyễn Hoàng Ân - Khoa HTTTQL 158 Hỏi đáp 159 Nguyễn Hoàng Ân - Khoa HTTTQL Nguyễn Hoàng Ân - Khoa HTTTQL 160 Conditions and Actions 1 2 3 4 5 6 7 Reserves a subcompact Y Y Y N Y N N Do not have one for customer Y Y Y N Y N N Company has account Y Y N Y N Y N Frequent flier membership Y N Y N N Y N Get a free upgrade X X X X X X Get a discount X X X Nguyễn Hoàng Ân - Khoa HTTTQL 161 Conditions and Actions 1 2 3 4 5 6 7 8 9 10 11 12 13 14 Book over the Internet Y Y Y Y Y Y Y N N N N N N N Reserves a subcompact Y Y Y N Y N N Y Y Y N Y N N Do not have one for customer Y Y Y N Y N N Y Y Y N Y N N Company has account Y Y N Y N Y N Y Y N Y N Y N Frequent flier membership Y N Y N N Y N Y N Y N N Y N Get a free upgrade X X X X X X X X X X X X Get a discount X X X X X X Receive a 10 percent discount X X X X X X X Nguyễn Hoàng Ân - Khoa HTTTQL 162 Nguyễn Hoàng Ân - Khoa HTTTQL 163 Conditions and Actions 1 2 3 4 5 6 7 Sufficient quantity on hand Y Y Y Y Y Y N Quantity large enough for discount Y Y Y N N N Wholesale customer Y Y N Y Y N Sales tax exemption filed Y N Y N Ship items and prepare invoice X X X X X X Set up backorder X Deduct discount X X Add sales tax X X X X Nguyễn Hoàng Ân - Khoa HTTTQL 164

Các file đính kèm theo tài liệu này:

  • pdfbai_giang_mon_phan_tich_thiet_ke_he_thong_thong_tin_chuong_3.pdf
Tài liệu liên quan