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

Tài liệu Bài giảng Phân tích thiết kế hệ thống thông tin - Bài 3: Phân tích hệ thống hướng cấu trúc: Phân Tích Thiết Kế Hệ Thống Thông Tin Phân tích hệ thống hướng cấu trúc 1 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 2 Tài liệu tham khảo  [01] Kendall and Kendall, “System Analysis and Design”, 8th Edition, Prentice Hall, 2011. • Chapter 7, 8, 9 3 Sơ đồ phân rã chức năng 4 Phân rã chức năng là gì?  Phân rã là quá trình bắt đầu ở một mức độ cao và phân chia các thực thể thành nhỏ hơn và các bộ phận nhỏ hơn có liên quan.  Phân rã chức năng là một kỹ thuật phân tích nghiệp vụ để phá vỡ một "hoạt động nghiệp vụ” (business operation) vào các thành phần chức năng.  Sơ đồ phân rã chức năng (FDD) cho thấy một tổ chức thứ bậc của các chức năng nghiệp vụ bao gồm các hoạt động nghiệp vụ. Nó không hiển thị chuỗi các sự kiện.  FDD là khác biệt với một sơ đồ l...

pdf152 trang | Chia sẻ: honghanh66 | Lượt xem: 4566 | Lượt tải: 0download
Bạn đang xem trước 20 trang mẫu tài liệu Bài giảng Phân tích thiết kế hệ thống thông tin - Bài 3: Phân tích hệ thống hướng cấu trúc, để tải tài liệu gốc về máy bạn click vào nút DOWNLOAD ở trên
Phân Tích Thiết Kế Hệ Thống Thông Tin Phân tích hệ thống hướng cấu trúc 1 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 2 Tài liệu tham khảo  [01] Kendall and Kendall, “System Analysis and Design”, 8th Edition, Prentice Hall, 2011. • Chapter 7, 8, 9 3 Sơ đồ phân rã chức năng 4 Phân rã chức năng là gì?  Phân rã là quá trình bắt đầu ở một mức độ cao và phân chia các thực thể thành nhỏ hơn và các bộ phận nhỏ hơn có liên quan.  Phân rã chức năng là một kỹ thuật phân tích nghiệp vụ để phá vỡ một "hoạt động nghiệp vụ” (business operation) vào các thành phần chức năng.  Sơ đồ phân rã chức năng (FDD) cho thấy một tổ chức thứ bậc của các chức năng nghiệp vụ bao gồm các hoạt động nghiệp vụ. Nó không hiển thị chuỗi các sự kiện.  FDD là khác biệt với một sơ đồ luồng xử lý (PFD - process flow diagram), trong đó cho thấy trình tự của các sự kiện của một hoạt động nghiệp vụ hoặc chức năng. 5 Tại sao sử dụng phân rã chức năng?  Mục đích chính của sự phân rã chức năng là để phá vỡ hoạt động kinh doanh hoặc chức năng lớn hoặc phức tạp thành nhỏ hơn và những phần dễ quản lý hơn. Vì vậy, tạo điều kiện cho sự hiểu biết về hoạt động nghiệp vụ hoặc chức năng và do đó là một công cụ hữu ích trong việc tiến hành phân tích và thiết kế.  Phân rã chức năng được sử dụng trong việc xác định các yêu cầu chức năng của một giải pháp và trong việc xác định những điều này trong tài liệu các yêu cầu chức năng  Một chức năng lớn hoặc phức tạp dễ hiểu hơn khi được chia nhỏ bằng cách sử dụng phân rã chức năng.  Phân rã chức năng có thể được sử dụng để chia nhỏ hoạt động nghiệp vụ lớn hay phức tạp thành các thành phần nhỏ hơn trước khi phát triển các sơ đồ luồng xử lý. 6 Khi nào sử dụng phân rã chức năng?  Phân rã chức năng được sử dụng phổ biến nhất trong giai đoạn phân tích của một dự án để tạo ra các sơ đồ phân rã chức năng như là một phần của tài liệu các yêu cầu chức năng.  Nó cũng có thể được sử dụng trong các giai đoạn lập kế hoạch, phân tích và thiết kế của một dự án để giúp làm rõ hoạt động nghiệp vụ 7 Làm thế nào để thực hiện phân rã chức năng?  Tổ chức một cuộc họp với các chuyên gia, những người quản lý và làm việc với những hoạt động nghiệp vụ.  Xác định và đặt tên cho hoạt động nghiệp vụ được phân rã  Đối với mỗi hoạt động nghiệp vụ, bắt đầu từ cấp cao nhất và hỏi: “Hoạt động nghiệp vụ này bao gồm những gì?”. Vẽ các thành phần ở cấp độ đầu tiên.  Phân rã các thành phần cấp độ đầu tiên với chức năng của mình và tiếp tục phân rã đến mức thấp hơn cho đến khi đạt được đủ mức độ chi tiết.  Vẽ bằng tay phân rã chức năng ban đầu trước các chuyên gia, để họ xác nhận các thành phần.  Hỏi các câu hỏi để xác định mục đích của từng chức năng và ghi lại thông tin này. 8 Làm thế nào để thực hiện phân rã chức năng?  Kiểm tra cho sự đầy đủ:  Toàn bộ hoạt động nghiệp vụ đại diện?  Có phải tất cả các thành phần được hiển thị?  Các kết nối giữa các thành phần chính xác không?  Tinh chỉnh là cần thiết.  Xem xét với các chuyên gia  Làm một kết thúc để kết thúc việc đi qua các hoạt động nghiệp vụ, kiểm tra từng chức năng để xác nhận rằng nó là chính xác.  Hãy hỏi nếu có bất kỳ lĩnh vực khác của hoạt động nghiệp vụ đã không được bao gồm. 9 13 Course Administration Course Enrolment Course Attendance Course Completion Course Assessment Course Certification Course Application Course Payment Mức độ nào để phân rã chức năng?  Sơ đồ phân rã chức năng có thể có nhiều cấp độ của các chức năng được chia thành các thay đổi từ từ tốt hơn.  Số lượng các mức độ mà phân rã được thực hiện sẽ phụ thuộc vào kích thước của các hoạt động chức năng hoặc nghiệp vụ ban đầu được phân tích, mức độ định nghĩa yêu cầu và mức độ thấp nhất của phân rã có ý nghĩa. 14 Sơ đồ luồng dữ liệu 16 Sơ đồ luồng dữ liệu (DFD - Data Flow Diagrams)  Mô tả các quy trình xử lý và các luồng dữ liệu trong một hệ thống nghiệp vụ dưới dạng ký hiệu đồ họa  Mô tả:  Các yếu tố đầu vào của hệ thống  Các quy trình xử lý  Các kết quả đầu ra 17 19 Ưu điểm của phương pháp tiếp cận luồng dữ liệu  Tự do đưa ra các cam kết thực thi về kỹ thuật ngay từ đầu  Giúp hiểu về mối tương quan giữa hệ thống và các hệ thống con  Truyền đạt cách hoạt động của hệ thống hiện tại cho người sử dụng  Phân tích về hệ thống đề xuất 20 Các ký hiệu cơ bản 23 Các thực thể bên ngoài (External Entities)  Đại diện cho một bộ phận, một doanh nghiệp, một người, hay một cỗ máy  Một nguồn hoặc đích đến của dữ liệu nằm bên ngoài ranh giới của hệ thống  Nên được đặt tên với một danh từ 24 Luồng dữ liệu (Data Flow)  Chỉ ra sự di chuyển của dữ liệu từ nơi này đến nơi khác  Mô tả với một danh từ  Đầu mũi tên chỉ hướng di chuyển của luồng dữ liệu  Biểu diễn cho dữ liệu về một người, địa điểm, vật hoặc một điều gì đó  Ví dụ: Thông tin khách hàng, phiếu chi 25 Quá trình xử lý (Process)  Chỉ ra một sự thay đổi hoặc chuyển đổi dữ liệu  Đại diện cho công việc được thực hiện trong hệ thống  Quy ước đặt tên:  Là tên của hệ thống khi là quá trình ở mức cao nhất  Đặt theo tên của các hệ thống con chính  Dùng hình thức danh-động-tính (verb-adjective noun) từ cho quá trình ở mức chi tiết 26 Kho dữ liệu (Data Store)  Nơi lưu trữ dữ liệu cho hoạt động kiểm tra, bổ sung và truy xuất dữ liệu  Đặt tên bằng một danh từ mô tả dữ liệu  Mỗi kho dữ liệu thường có một số tham chiếu duy nhất, chẳng hạn như D1, D2, D3  Đại diện cho một:  Tủ đựng hồ sơ  Cơ sở dữ liệu (Database)  Tập tin máy tính 27 Các bước trong phát triển sơ đồ luồng dữ liệu 1. Liệt kê các hoạt động nghiệp vụ, từ đó xác định các: thực thể ngoài, luồng dữ liệu, quá trình và kho dữ liệu. 2. Tạo sơ đồ ngữ cảnh 3. Vẽ sơ đồ mức 0 4. Tạo các sơ đồ con cho mỗi quá trình có trong sơ đồ mức 0 5. Kiểm tra lỗi và đảm bảo tên đặt cho mỗi quá trình và luồng dữ liệu là có nghĩa 6. Phát triển DFD vật lý từ DFD luận lý 7. Phân vùng DFD vật lý 28 Các nguyên tắc cơ bản  DFD phải có ít nhất một quá trình  Không có đối tượng đứng một mình  Không có đối tượng kết nối đến chính nó  Một quá trình phải có cả hai dòng dữ liệu vào và ra  Mỗi kho dữ liệu phải kết nối đến ít nhất một quá trình  Các thực thể ngoài không được kết nối đến các thực thể ngoài khác. 29 Tạo sơ đồ ngữ cảnh (Context Diagram)  Mức cao nhất trong một sơ đồ luồng dữ liệu  Chỉ chứa một quá trình, đại diện cho toàn bộ hệ thống  Quá trình này được đánh số là 0  Tất cả các thực thể bên ngoài, cũng như các luồng dữ liệu chính được hiển thị 30 Vẽ sơ đồ mức 0 (Diagram-0)  Là sơ đồ phân rã của sơ đồ ngữ cảnh  Có thể có đến chín quá trình  Mỗi quá trình được đánh số (1,2,3,4,)  Bao gồm các kho dữ liệu chính và tất cả các thực thể ngoài  Bắt đầu với luồng dữ liệu từ một thực thể bên phía đầu vào  Làm ngược lại với luồng dữ liệu phía đầu ra  Kiểm tra luồng dữ liệu đến hoặc đi ra từ một kho dữ liệu  Phân tích một quá trình, xem đã được xác định tốt ?  Hãy lưu ý về các khu vực mờ (fuzzy) bất kỳ 31 Chú ý đến các chi tiết hơn trong sơ đồ mức 0 (Diagram 0) 32 Các cấp của DFD (Data Flow Diagram Levels)  Các DFD được xây dựng trong các lớp  Cấp cao nhất là mức ngữ cảnh  Mỗi quá trình có thể phân rã xuống một cấp thấp hơn  Số của sơ đồ cấp thấp hơn giống như số số của quá trình cha  Các quá trình không tạo ra một sơ đồ con được gọi là nguyên tố (primitive) 33 Tạo các sơ đồ con (Creating Child Diagrams)  Mỗi quá trình trong sơ đồ 0 có thể được phân rã để tạo ra một sơ đồ con  Một sơ đồ con không thể tạo ra đầu ra hoặc nhận đầu vào nếu quá trình cha không tạo ra hoặc nhận  Quá trình con được đánh số như quá trình cha  Quá trình số 3 sẽ phân rã Sơ đồ số 3 (Diagrams 3)  Các thực thể thường không được hiển thị trên các sơ đồ con dưới sơ đồ 0  Nếu quá trình cha có luồng dữ liệu kết nối với một kho dữ liệu, sơ đồ con cũng có thể có kho dữ liệu như thế.  Khi một quá trình không được phân rã nữa nó được gọi là một quá trình nguyên tố (primitive process) 34 Sự khác nhau giữa sơ đồ cha (ở trên) và sơ đồ con (bên dưới) 35 Kiểm tra các lỗi cho các sơ đồ Không có luồng dữ liệu hoặc vẽ mũi tên theo hướng sai Kết nối kho dữ liệu và các thực thể ngoài trực tiếp với nhau 36 Kiểm tra các lỗi cho các sơ đồ  Ghi nhãn không chính xác cho các quá trình hoặc luồng dữ liệu  Có nhiều hơn chín quá trình trên một sơ đồ luồng dữ liệu  Bỏ sót các luồng dữ liệu  Tạo phân rã (hoặc phân cấp) không cân bằng trong các sơ đồ con 37 Các lỗi điển hình có thể xảy ra trong một DFD 38 Sơ đồ luồng dữ liệu luận lý và vật lý  Luận lý  Tập trung vào các nghiệp vụ và cách nghiệp vụ vận hành như thế nào  Không quan tâm đến hệ thống sẽ được xây dựng như thế nào  Mô tả các sự kiện nghiệp vụ diễn ra và các dữ liệu cần đến và được tạo ra bởi mỗi sự kiện  Vật lý  Cho biết hệ thống sẽ được hiện thực như thế nào  Mô tả hệ thống 39 Sơ đồ luồng dữ liệu luận lý và vật lý 40 Các đặc điểm nổi bật phổ biến của sơ đồ luồng dữ liệu luận lý và vật lý 41 Tính chất Luận lý Vật lý Mô hình mô tả cái gì Các nghiệp vụ vận hành như thế nào Hệ thống được thực thi như thế nào (hoặc hệ thống hiện tại vận hành như thế nào) Các quá trình thể hiện gì Các hoạt động nghiệp vụ Chương trình, mô-dun chương trình và các thủ tục thủ công Các kho dữ liệu thể hiện gì Tập hợp các dữ liệu thu thập về cách dữ liệu được lưu trữ Các file và cơ sở dữ liệu vật lý, các hồ sơ thủ công Các kiểu kho dữ liệu Cho thấy tính lâu dài của dữ liệu Master files, transaction files Kiểm soát hệ thống Chỉ ra các kiểm soát nghiệp vụ Kiểm chứng dữ liệu vào Tiến trình của các mô hình từ luận lý sang vật lý 42 Phát triển sơ đồ luồng dữ liệu luận lý: Thuận lợi  Truyền thông tốt hơn với người sử dụng  Hệ thống ổn định hơn  Cho thấy sự hiểu biết tốt hơn của các nhà phân tích về nghiệp vụ  Khả năng linh hoạt và bảo trì  Xoá bỏ sự dư thừa và giúp tạo ra mô hình vật lý dễ dàng hơn 43 Phát triển sơ đồ luồng dữ liệu vật lý  Làm rõ các quá trình nào được thực hiện bởi con người và được tự động hóa  Mô tả quá trình chi tiết hơn DFD luận lý  Trình tự quá trình phải được thực hiện theo một thứ tự cụ thể  Xác định các nơi lưu trữ dữ liệu tạm thời  Đặc tả tên thực tế của các tập tin, các bảng trong cơ sở dữ liệu và bản in  Thêm các điều khiển để đảm bảo các quá trình thực hiện đúng 44 Biểu đồ luồng dữ liệu vật lý có chứa nhiều mục không tìm thấy trong biểu đồ luồng dữ liệu luận lý  Contents of Physical Data Flow Diagrams  Manual processes  Processes for adding, deleting, changing, and updating records  Data entry and verifying processes  Validation processes for ensuring accurate data input  Sequencing processes to rearrange the order of records  Processes to produce every unique system output  Intermediate data stores  Actual file names used to store data  Controls to signify completion of tasks or error conditions 45 Mô hình hóa sự kiện (Event Modeling) và Sơ đồ luồng dữ liệu (Data Flow Diagrams)  Một luồng đầu vào từ một thực thể ngoài đôi khi được gọi là một kích hoạt (trigger) bởi vì nó bắt đầu các hoạt động của một quá trình  Các sự kiện là nguyên nhân để hệ thống thực hiện một việc nào đó và hành động như là một kích hoạt cho hệ thống  Cách tiếp cận để tạo ra DFD vật lý là tạo ra một phân mảnh DFD cho mỗi một sự kiện hệ thống duy nhất 46 Các bảng đáp ứng sự kiện (Event Response Tables)  Bảng sự kiện được sử dụng để tạo ra một DFD bằng cách phân tích từng sự kiện và dữ liệu được sử dụng và tạo ra bởi sự kiện  Mỗi hàng trong một bảng sự kiện đại diện cho một phân mảnh DFD và được sử dụng để tạo ra một quá trình đơn lẻ trên DFD 47 Một bảng đáp ứng sự kiện cho một cửa hàng Internet 48 Các sơ đồ luồng dữ liệu cho ba dòng đầu tiên của bảng đáp ứng sự kiện cửa hàng Internet 49 Các Use Case và Sơ đồ dòng dữ liệu (Data Flow Diagrams)  Mỗi Use case định nghĩa cho một hoạt động và kích hoạt, đầu vào và đầu ra của nó  Cho phép các nhà phân tích làm việc với người sử dụng để hiểu được bản chất của các quá trình và các hoạt động, sau đó tạo ra một phân mảnh sơ đồ luồng kiện dữ liệu đơn lẻ 50 Phân vùng Sơ đồ luồng dữ liệu (Partitioning Data Flow Diagrams)  Phân vùng là quá trình kiểm tra một sơ đồ luồng dữ liệu và xác định cách để phân chia nó vào các tập hợp: các thủ tục vận hành thủ công và các chương trình máy tính  Dùng một đường nét đứt bao quanh một quá trình hoặc nhóm các quá trình cần được đặt trong một chương trình máy tính riêng lẻ 51 52 Các lý do để phân vùng  Các nhóm người dùng khác nhau  Thời gian (Timing)  Các nhiệm vụ tương tự  Hiệu quả (Efficiency)  Tính nhất quán (Consistency)  Bảo mật (Security) 53 Phân vùng các trang Web (Partitioning Web Sites)  Cải thiện cách con người sử dụng các trang web  Cải thiện tốc độ xử lý  Dễ duy trì các trang web  Giữ giao dịch an toàn 54 Truyền thông dùng DFD  Sử dụng DFD chưa phân cấp sớm khi biết chắc các yêu cầu thông tin  Ghi nhãn có ý nghĩa cho tất cả các thành phần dữ liệu 55 Tóm tắt  Các sơ đồ luồng dữ liệu (DFD)  Công cụ phân tích và thiết kế có cấu trúc cho phép các nhà phân tích hiểu về hệ thống và các hệ thống con theo cách trực quan như là một tập hợp các luồng dữ liệu liên quan với nhau  Các ký hiệu của DFD  Hình chữ nhật có góc tròn  Hình vuông có viền đôi  Mũi tên  Hình chữ nhật đóng-mở 56 Tóm tắt  Tạo DFD luận lý  Sơ đồ luồng dữ liệu mức ngữ cảnh  Sơ đồ luồng dữ liệu luận lý cấp 0  Các sơ đồ con  Tạo DFD vật lý  Tạo ra từ sơ đồ luồng dữ liệu luận lý  Phân vùng để tạo điều kiện thuận lợi cho lập trình 57 Tóm tắt  Phân vùng các sơ đồ luồng dữ liệu  Cho biết quá trình được thực hiện bởi các nhóm người dùng khác nhau  Các quá trình thực hiện cùng lúc  Các quá trình thực hiện nhiệm vụ tương tự  Nhiều quá trình có thể được kết hợp để tăng hiệu quả về dữ liệu  Các quá trình có thể được phân chia vào các chương trình khác nhau vì lý do bảo mật 58 Bài tập Phân tích thiết kế hệ thống môi giới cho công ty ABC: 1. Chỉ ra các nghiệp vụ chính 2. Xác định các thực thể ngoài, dòng dữ liệu chính, kho dữ liệu chính 3. Vẽ sơ đồ phân rã chức năng 4. Vẽ sơ đồ ngữ cảnh 5. Vẽ DFD-0 59 Từ điển dữ liệu 61 Từ điển dữ liệu (Data Dictionary)  Giúp tham khảo dữ liệu về dữ liệu (metadata)  Thu thập và kết hợp các thuật ngữ dữ liệu, và giúp những người khác nhau trong tổ chức có cùng cách hiểu về mỗi thuật ngữ 64 Nhu cầu để hiểu về từ điển dữ liệu  Cung cấp tài liệu  Loại bỏ dư thừa  Kiểm chứng sơ đồ luồng dữ liệu  Cung cấp một điểm khởi đầu cho việc phát triển các màn hình và báo cáo  Xác định các nội dung của dữ liệu được lưu trữ trong các tập tin  Để phát triển các quá trình của DFD hợp lý  Tạo XML 65 Kho chứa dữ liệu (Data Repository)  Một kho chứa dữ liệu là một tập hợp lớn các thông tin về dự án  Nó bao gồm:  Thông tin về các dữ liệu được duy trì bởi hệ thống  Thủ tục luận lý và các Use case  Thiết kế màn hình và báo cáo  Các quan hệ dữ liệu  Các yêu cầu của dự án và các chuyển giao hệ thống cuối cùng  Thông tin quản lý dự án 66 Từ điển dữ liệu liên quan đến sơ đồ luồng dữ liệu như thế nào 67 Danh mục từ điển dữ liệu  Các luồng dữ liệu (Data flows)  Các cấu trúc dữ liệu (Data structures)  Các phần tử (Elements)  Các kho dữ liệu (Data stores) 68 Lập tài liệu cho luồng dữ liệu 1. ID – số định danh 2. Tên mô tả duy nhất 3. Một mô tả chung về luồng dữ liệu 4. Nguồn gốc của luồng dữ liệu 5. Điểm đến của các luồng dữ liệu 6. Loại luồng dữ liệu 7. Tên của cấu trúc dữ liệu mô tả các phần tử 8. Dung lượng trên một đơn vị thời gian 9. Vùng ghi chúvà ký hiệu thêm 69 Lập tài liệu cho luồng dữ liệu 70 DATA FLOW DESCRIPTION Name: Customer Order Description: Contains customer order information and is used to update the customer master and item filesand to produce an order record. Source: Customer Destination: Process 1 Type of data flow Table/File  Screen Report Form Internal Data Flow Composition (elements): Order Information Volume/Time 10 / hour Comments An order record information for one customerorder. The order may be received by mail, by FAX, or bythe customer telephoning the order processing department directly. Mô tả các cấu trúc dữ liệu  Các cấu trúc dữ liệu (data structure) được tạo thành từ nhiều cấu trúc và các phần tử nhỏ hơn  Dùng ký hiệu đại số để mô tả các cấu trúc dữ liệu 71 Bộ ký hiệu đại số (Algebraic Notation)  Dấu bằng =, có nghĩa là "bao gồm" (is composed of)  Dấu cộng +, có nghĩa là “và” (and)  Dấu ngoặc {} có nghĩa là yếu tố lặp đi lặp lại  Dấu ngoặc [] để chọn một trong các yếu tố  Ngoặc đơn () cho một phần tử tùy chọn 72 Ví dụ về cấu trúc dữ liệu Customer Order = Customer Number + Customer Name + Address + Telephone + Catalog Number + Order Date + {Order Items} + Merchandise Total + (Tax) + Shipping and Handling + Order Total + Method of Payment + (Credit Card Type) + (Credit Card Number) + (Expiration Date) 74 Các bản ghi có cấu trúc (Structural Records)  Là một cấu trúc có thể bao gồm nhiều phần tử hoặc các bản ghi có cấu trúc  Đây là một nhóm các phần tử, chẳng hạn như:  Tên khách hàng (Customer Name)  Địa chỉ (Address)  Điện thoại (Telephone)  Mỗi một trong số này cần phải được định nghĩa cho đến khi chúng được chia thành các yếu tố thành phần của chúng 75 Các bản ghi có cấu trúc được sử dụng trong các hệ thống khác nhau  Các bản ghi có cấu trúc và các phần tử được sử dụng trong nhiều hệ thống khác nhau được đặt tên không có hệ thống cụ thể (non-system-specific), chẳng hạn như tên đường (street), thành phố (city), và mã bưu điện (zip)  Các tên không phản ánh một lĩnh vực chức năng  Điều này cho phép các nhà phân tích định nghĩa chúng khi cần và sử dụng trong nhiều ứng dụng khác nhau 76 Ví dụ về bản ghi có cấu trúc 77 Các cấu trúc dữ liệu luận lý và vật lý  Cấu trúc dữ liệu luận lý (Logical Data Structures)  Cho thấy các dữ liệu nghiệp vụ cần cho hoạt động hàng ngày  Cầu trúc dữ liệu vật lý (Physical Data Structures)  Bao gồm các yếu tố bổ sung cần thiết cho việc thực hiện hệ thống 78 Các cấu trúc dữ liệu vật lý  Các lĩnh vực quan trọng được sử dụng để xác định vị trí các bản ghi / mẫu tin  Mã số để xác định tình trạng bản ghi  Mã số giao dịch để xác định các loại bản ghi / mẫu tin khác nhau  Các nhóm mục lặp đi lặp lại  Giới hạn về các mục trong một nhóm lặp đi lặp lại  Mật khẩu 79 Mô tả phần tử dữ liệu (Data elements)  Các đặc tính chung trong mô tả phần tử dữ liệu: 1. Mã (ID) của phần tử 2. Tên của phần tử 3. Bí danh 4. Mô tả ngắn gọn về phần tử 5. Phần tử là cơ sở hoặc dẫn xuất 6. Độ dài của phần tử 7. Kiểu dữ liệu 8. Định dạng đầu vào và đầu ra 9. Các tiêu chuẩn xác nhận 10. Giá trị mặc định 11. Vùng nhận xét hoặc chú thích thêm 80 Các đặc tính phần tử dữ liệu (Data Element Characteristics) 81 Phần tử dữ liệu Mã của phần tử (Element ID)  Mục nhập tùy chọn (Optional entry)  Cho phép các nhà phân tích xây dựng các mục từ điển dữ liệu tự động 82 Phần tử dữ liệu Tên của phần tử:  Phải:  Có tính mô tả (Descriptive)  Duy nhất (Unique)  Dựa theo tên của phần tử thường được sử dụng trong hầu hết các chương trình hoặc người sử dụng chính của phần tử 83 Phần tử dữ liệu Bí danh (Aliases):  Từ đồng nghĩa hoặc tên khác cho các phần tử  Tên được sử dụng bởi người dùng khác nhau trong các hệ thống khác nhau  Một MÃ KHÁCH HÀNG (CUSTOMER NUMBER) cũng có thể được gọi là MÃ TÀI KHOẢN THU (RECEIVABLE ACCOUNT NUMBER) hoặc một SỐ HIỆU KHÁCH HÀNG (CLIENT NUMBER) 84 Phần tử dữ liệu Mô tả ngắn gọn về phần tử:  Ví dụ mô tả ngắn cho phần tử Customer Number: xác định duy nhất một khách hàng đã thực hiện bất kỳ giao dịch kinh doanh trong vòng năm năm qua 85 Mô tả ngắn gọn về phần tử Phần tử là cơ sở hoặc dẫn xuất:  Phần tử cơ bản (base element) là một phần tử được nhập trước vào hệ thống  Phần tử dẫn xuất (derived element) là một phần tử được tạo ra bởi một quá trình, thường là kết quả của một phép tính hoặc một chuỗi các biểu thức quyết định 86 Phần tử dữ liệu Độ dài của phần tử:  Một số phần tử có độ dài tiêu chuẩn như: chữ viết tắt của tên tiểu bang, mã bưu điện, hoặc số điện thoại  Đối với các phần tử khác, chiều dài có thể khác nhau và nhà phân tích và người dùng phải quyết định dựa vào:  Độ rộng của kiểu số (Numeric amount lengths)  Các trường tên và địa chỉ (Name and address fields)  Các trường khác (Other fields) 87 Ví dụ chiều dài của Tên và Địa chỉ Trường (Field) Độ dài % dữ liệu phù hợp (USA) Last Name 11 98 First Name 18 95 Company Name 20 95 Street 18 90 City 17 99 88 Rút gọn dữ liệu (Data Truncation)  Nếu phần tử quá nhỏ, dữ liệu sẽ được rút ngắn  Các nhà phân tích phải quyết định điều này sẽ ảnh hưởng đến kết quả đầu ra hệ thống như thế nào  Nếu tên một người được rút gọn, thư vẫn có thể được chuyển đến  Nhưng nếu địa chỉ email hoặc địa chỉ Web bị rút gọn thì không thể sử dụng được 89 Phần tử dữ liệu Kiểu dữ liệu (Type of Data):  Dữ liệu dạng văn bản (text) hoặc chữ số  Các định dạng  Máy tính lớn (Mainframe): đóng gói (packed), nhị phân (binary), hiển thị (display)  Các định dạng trên máy vi tính (PC - Microcomputer)  Các định dạng PC, chẳng hạn như Tiền tệ (Currency), Số (Number), hoặc Khoa học (Scientific), phụ thuộc vào các dữ liệu sẽ được sử dụng 90 Một số ví dụ về các định dạng dữ liệu được sử dụng trong các hệ thống PC 91 Data Type Meaning Bit A value of 1 or 0, a true/false value Char, varchar, text Any alphanumeric character Datetime, smalldatetime Alphanumeric data, several formats Decimal, numeric Numeric data that are accurate to the least significant digit; can contain a whole and decimal portion Float, real Floating-point values that contain an approximate decimal value Int, smallint, tinyint Only integer (whole digit) data Binary, varbinary, image Binary strings (sound, pictures, video) Cursor, timestamp, uniqueidentifier A value that is always unique within a database Autonumber A number that is always incremented by one when a record is added to a database table Currency, money, small Monetary numbers accurate to four decimal places Phần tử dữ liệu: Định dạng các mã ký tự 92 Phần tử dữ liệu Các tiêu chuẩn xác nhận (Validation Criteria):  Đảm bảo rằng các dữ liệu chính xác đã được nắm bắt bởi hệ thống  Các phần tử có thể là:  Rời rạc (Discrete), có nghĩa là chúng đã cố định giá trị  Liên tục (Continuous), với một dải các giá trị liên tiếp 93 Phần tử dữ liệu Giá trị mặc định (Default Value):  Bao hàm giá trị mặc ​​định bất kỳ mà phần tử có thể có  Giá trị mặc định được hiển thị trên màn hình nhập liệu  Giảm thiểu việc nhập từ bàn phím  Các giá trị mặc ​​định trên màn hình giao diện đồ họa người dùng (GUI) • Hiển thị ban đầu trong các danh sách thả xuống (drop-down lists) • Được lựa chọn sẵn khi một nhóm các nút radio được sử dụng 94 Phần tử dữ liệu Vùng nhận xét hoặc chú thích thêm (Comment or Remarks Area): Có thể được dùng để chú thích thêm về định dạng ngày, điều kiện kiểm tra tính hợp lệ đặc biệt khi được yêu cầu, phương pháp kiểm tra chữ số được sử dụng, v.v.. 95 Mô tả kho dữ liệu (Data Stores)  Kho dữ liệu được tạo ra cho mỗi thực thể dữ liệu khác nhau được lưu trữ  Khi các phần tử cơ bản của luồng dữ liệu được nhóm lại với nhau để tạo thành một bản ghi có cấu trúc (structural record), một kho dữ liệu được tạo ra cho mỗi bản ghi có cấu trúc duy nhất  Bởi vì mỗi luồng dữ liệu có thể chỉ thể hiện cho một phần của tập hợp dữ liệu mà một bản ghi có cấu trúc chứa đựng, nên có thể cần nhiều cấu trúc luồng dữ liệu khác nhau để xem xét để có được một mô tả hoàn chỉnh về kho dữ liệu 96 Mô tả kho dữ liệu  Mã kho dữ liệu (Data Store ID)  Tên tên kho dữ liệu (Data Store Name)  Bí danh ​​(alias) cho bảng (table)  Mô tả ngắn gọn  Kiểu tập tin  Định dạng tập tin 97 Mô tả kho dữ liệu 98 Mô tả kho dữ liệu  Số lượng các bản ghi tối đa và trung bình vào tập tin cũng như sự tăng trưởng hàng năm  Tên tập tin hoặc tập dữ liệu (data set) xác định tên tập tin, nếu biết  Cấu trúc dữ liệu nên dùng tên được ghi trong từ điển dữ liệu. Các phần tử dữ liệu có thể được mô tả theo mẫu định sẵn hoặc CASE tool.  Các khóa chính và khóa thứ cấp  Các ghi chú 99 Mô tả kho dữ liệu 100 Mô tả kho dữ liệu dùng Visible Analyst Tạo từ điển dữ liệu  Các mục của từ điển dữ liệu  Được tạo ra sau khi các sơ đồ luồng dữ liệu đã hoàn thành hoặc đang được phát triển.  Tạo ra theo cách tiếp cận từ trên xuống (top-down) 101 Hai sơ đồ luồng dữ liệu và các mục từ điển dữ liệu tương ứng cho quá trình Employee Paycheck 102 Phân tích đầu vào và đầu ra  Tên mô tả cho đầu vào hay đầu ra  Liên hệ với người sử dụng chịu trách nhiệm  Bất kể dữ liệu là đầu vào hay đầu ra  Định dạng của luồng dữ liệu  Các phần tử cho thấy trình tự của các dữ liệu trên báo cáo hoặc màn hình  Danh sách các phần tử 103 Phân tích đầu vào và đầu ra 104 Phát triển kho dữ liệu  Chỉ ra các dữ liệu còn lại  Chứa thông tin có tính chất ổn định hoặc tạm thời  Khi kho dữ liệu được tạo ra chỉ cho một báo cáo hoặc màn hình thì nên tham chiếu đây là “theo người sử dụng" (user views) 105 Sử dụng từ điển dữ liệu  Để có hiệu quả tối đa, từ điển dữ liệu nên được gàn buộc vào một số chương trình hệ thống  Có thể được sử dụng để  Tạo các màn hình (Screens), các báo cáo (Reports), và các biểu mẫu (Forms)  Tạo mã nguồn ngôn ngữ máy tính  Phân tích thiết kế hệ thống, phát hiện sai sót và các lĩnh vực cần làm rõ 106 Tạo các màn hình (Screens), các báo cáo (Reports), và các biểu mẫu (Forms)  Sử dụng định nghĩa phần tử và độ dài của chúng  Sắp xếp các phần tử sau cho thuận lợi và theo chức năng bằng cách sử dụng các nguyên tắc thiết kế và ngữ cảnh thông thường  Các nhóm lặp đi lặp lại trở thành các cột  Các bản ghi có cấu trúc được nhóm lại với nhau trên màn hình, báo cáo, hoặc biểu mẫu 107 Phân tích thiết kế hệ thống, phát hiện sai sót và các lĩnh vực cần làm rõ  Tất cả các phần tử cơ bản trên một luồng dữ liệu đầu ra phải có mặt trên luồng dữ liệu đầu vào cho quá trình tạo ra đầu ra  Một phần tử được dẫn xuất nên được tạo ra bởi một quá trình và phải là đầu ra từ ít nhất là một quá trình mà nó không phải là đầu vào  Các phần tử có mặt trong một luồng dữ liệu đi vào hoặc đi ra của một kho dữ liệu phải được chứa trong kho dữ liệu 108 Sử dụng các từ điển dữ liệu để tạo XML  XML được sử dụng để trao đổi dữ liệu giữa các nghiệp vụ  XML giải quyết vấn đề chia sẻ dữ liệu khi những người sử dụng có hệ thống máy tính khác nhau và phần mềm hoặc các hệ thống quản lý cơ sở dữ liệu khác nhau  Tài liệu XML có thể được chuyển đổi thành các định dạng đầu ra khác nhau  XML là cách để xác định, sắp xếp, lọc, và chuyển đổi dữ liệu vào một ngôn ngữ dữ liệu phổ quát có thể được sử dụng bởi bất cứ ai  XML có thể được tạo ra từ cơ sở dữ liệu, một biểu mẫu, các chương trình phần mềm, hoặc được nhập trực tiếp vào tài liệu, trình soạn thảo văn bản, hoặc chương trình nhập XML 109 Sử dụng các từ điển dữ liệu để tạo XML...  Từ điển dữ liệu là điểm bắt đầu lý tưởng để phát triển nội dung XML  Một định nghĩa tiêu chuẩn của dữ liệu được tạo ra bằng cách sử dụng một tập hợp các thẻ (tag) được thêm vào trước và sau mỗi phần tử hoặc cấu trúc dữ liệu  Các phần tử XML cũng có thể chứa các thuộc tính  Các tài liệu XML có xu hướng dùng để phản ảnh cấu trúc từ điển dữ liệu 110 Định nghĩa kiểu tài liệu XML (XML Document Type Definitions-DTD)  Được dùng để xác định xem nội dung tài liệu XML có hợp lệ hay không  DTD có thể được tạo ra bằng cách sử dụng dữ liệu từ điển  DTD có thể được sử dụng để xác nhận tính hợp lệ của tài liệu XML 111 Các ví dụ về sử dụng các từ điển dữ liệu để tạo XML Sử dụng một mục nhập từ điển dữ liệu để phát triển nội dung XML. Các tài liệu XML phản ánh cấu trúc từ điển dữ liệu Một loại tài liệu định nghĩa cho tài liệu XML khách hàng 112 XML Schemas  Một cách chính xác hơn để xác định nội dung của tài liệu XML  Bao gồm số lượng chính xác số lần một yếu tố có thể xuất hiện  Bao gồm các loại dữ liệu bên trong các phần tử 113 Đặc tả quá trình và quyết định có cấu trúc 114 Nguyễn Hoàng Ân - Khoa HTTTQL Mục tiêu  Hiểu được mục đích của đặc tả quá trình  Dùng tiếng Anh có cấu trúc, bảng quyết định, và cây quyết định để phân tích, mô tả và lập tài liệu các quyết định có cấu trúc  Chọn lựa một phương pháp phân tích quyết định phù hợp để phân tích các quyết định có cấu trúc và đặc tả quá trình Nguyễn Hoàng Ân - Khoa HTTTQL 115 Nội dung chính  Đặc tả quá trình (Process specifications)  Tiếng Anh có cấu trúc (Structured English)  Bảng quyết định (Decision tables)  Cây quyết định (Decision trees) Nguyễn Hoàng Ân - Khoa HTTTQL 116 Tài liệu tham khảo  [01] Kendall and Kendall, “System Analysis and Design”, 8th Edition, Prentice Hall, 2011. • Chapter 9 117 Nguyễn Hoàng Ân - Khoa HTTTQL Đặc tả quá trình  Đôi khi được gọi minispecs  Dùng để mô tả cho các quá trình nguyên tố cũng như đối với một số quá trình cấp cao hơn trong sơ đồ luồng dữ liệu  Được tạo ra cho các phương pháp lớp (class) trong thiết kế hướng đối tượng và các bước trong một use case 119 Nguyễn Hoàng Ân - Khoa HTTTQL Các mục tiêu của việc đặc tả quá trình  Giảm sự nhập nhằng của quá trình  Mô tả chính xá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:

  • pdfsad_03_743.pdf