Bài giảng Phân Tích Thiết Kế Hệ Thống Thông Tin - Chương 4: Phân tích hệ thống hướng đối tượng

pdf 48 trang huongle 3570
Bạn đang xem 20 trang mẫu của tài liệu "Bài giảng Phân Tích Thiết Kế Hệ Thống Thông Tin - Chương 4: Phân tích hệ thống hướng đối tượ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:

  • pdfbai_giang_phan_tich_thiet_ke_he_thong_thong_tin_chuong_4_pha.pdf

Nội dung text: Bài giảng Phân Tích Thiết Kế Hệ Thống Thông Tin - Chương 4: Phân tích hệ thống hướng đối tượng

  1. Phân Tích Thiết Kế Hệ Thống Thông Tin Phân tích hệ thống hướng đối tượng (Object-Oriented Analysis) Nguyễn Hoàng Ân - Khoa HTTTQL
  2. Nội dung chính Tổng quan về Phân tích hướng đối tượng. Phân tích hướng đối tượng với UML  Sơ đồ use case (Use case diagrams)  Sơ đồ hoạt động (Activity Diagrams)  Sơ đồ tuần tự (Sequence diagrams) 3 Nguyễn Hoàng Ân - Khoa HTTTQL
  3. Tài liệu tham khảo [01] Kendall and Kendall, “System Analysis and Design”, 8th Edition, Prentice Hall, 2011.  Chapter 10 4 Nguyễn Hoàng Ân - Khoa HTTTQL
  4. Tổng quan về Phân tích hướng đối tượng 5 Nguyễn Hoàng Ân - Khoa HTTTQL
  5. Các khái niệm hướng đối tượng Đối tượng (Objects) Lớp (Classes) Sự thừa kế (Inheritance) 6 Nguyễn Hoàng Ân - Khoa HTTTQL
  6. Đối tượng (Objects) Người, nơi chốn, hoặc những thứ có liên quan đến hệ thống đang được phân tích Có thể là khách hàng, mặt hàng, đơn đặt hàng Có thể là màn hình giao diện đồ họa người dùng (GUI) hoặc các vùng văn bản trên màn hình 7 Nguyễn Hoàng Ân - Khoa HTTTQL
  7. Lớp (Classes) Xác định tập hợp các thuộc tính và hành vi có trong mỗi đối tượng thuộc lớp Có một tên để phân biệt một lớp với các lớp khác Khởi tạo (Instantiate) là khi một đối tượng được tạo ra từ một lớp Mỗi thuộc tính mô tả một số đặc tính (property) có trong tất cả các đối tượng của lớp Phương thức (method) là một hành động mà có thể được yêu cầu từ bất kỳ đối tượng nào của lớp 8 Nguyễn Hoàng Ân - Khoa HTTTQL
  8. Một ví dụ của một lớp UML. Một lớp được mô tả như là một hình chữ nhật bao gồm tên lớp (class name), các thuộc tính (attributes), và các phương thức (methods) 9 Nguyễn Hoàng Ân - Khoa HTTTQL
  9. Sự thừa kế (Inheritance) Khi một lớp được dẫn xuất (derived class) thừa hưởng tất cả các thuộc tính và hành vi của lớp cơ sở (base class) Giảm công việc lập trình bằng cách sử dụng các đối tượng phổ biến một cách dễ dàng Đây là tính năng chỉ có trong các hệ thống hướng đối tượng 10 Nguyễn Hoàng Ân - Khoa HTTTQL
  10. Một sơ đồ lớp hiển thị thừa kế Xe hơi và xe tải là những ví dụ cụ thể của xe và kế thừa các đặc tính lớp xe 11 Nguyễn Hoàng Ân - Khoa HTTTQL
  11. Các thẻ CRC (CRC Cards) và tư duy theo đối tượng (Object Think) CRC  Class: Lớp  Responsibilities: các trách nhiệm  Collaborators: các lớp cộng tác Các thẻ CRC được dùng để mô tả các trách nhiệm của các lớp và sự tương tác giữa các lớp 12 Nguyễn Hoàng Ân - Khoa HTTTQL
  12. Bốn thẻ CRC cho các đề xuất khóa học cho thấy cách các nhà phân tích điền vào các chi tiết cho các lớp, các trách nhiệm, và các lớp cộng tác, cũng như cho các phát biểu tư duy đối tượng và các tên thuộc tính 13 Nguyễn Hoàng Ân - Khoa HTTTQL
  13. Class Name: Item Superclasses: Subclasses: Responsibilities Collaborators Object Think Property Add Item I know my item information. Item Number Description Cost Price YTD Sold Quantity On Hand Quantity On Order Change Item I know my changes. Item Number Description Cost Price YTD Sold Quantity On Hand Quantity On Order Backorder Item Backorder Item I know how many are on order. Item Number Backordered Amount 14 Nguyễn Hoàng Ân - Khoa HTTTQL
  14. Tương tác trong một phiên CRC Xác định tất cả các lớp có thể Tạo kịch bản (scenarios) Xác định và tinh chỉnh các trách nhiệm 15 Nguyễn Hoàng Ân - Khoa HTTTQL
  15. 2 Mô hình hóa đối tượng với UML 16 Nguyễn Hoàng Ân - Khoa HTTTQL
  16. Các khái niệm và sơ đồ UML Things: các đối tượng (thực thể) Relationships: các mối quan hệ Diagrams: các sơ đồ 17 Nguyễn Hoàng Ân - Khoa HTTTQL
  17. Các đối tượng (Things) Các đối tượng có cấu trúc (Structural things)  Lớp (classes), giao diện (interfaces), use cases và các phần tử khác cung cấp cách để tạo ra mô hình  Chúng cho phép người dùng mô tả các mối quan hệ Các đối tượng về hành vi (Behavioral things) Mô tả cách các đối tượng làm việc  Tương tác (Interactions) và máy trạng thái (state machines) Các đối tượng nhóm (Group things)  Được dùng để xác định phạm vi Các đối tượng chú thích (Annotational things)  Có thể thêm ghi chú cho các sơ đồ 18 Nguyễn Hoàng Ân - Khoa HTTTQL
  18. Các mối quan hệ (Relationships) Các quan hệ cấu trúc (Structural relationships)  Liên kết các đối tượng với nhau trong các sơ đồ cấu trúc (structural diagrams) Các quan hệ hành vi (Behavioral relationships)  Được sử dụng trong các sơ đồ hành vi (Behavioral diagrams) 19 Nguyễn Hoàng Ân - Khoa HTTTQL
  19. Các quan hệ cấu trúc (Structural Relationships) Phụ thuộc (Dependencies) Hợp (Aggregations) Hội (Associations) Tổng quát (Generalizations) 20 Nguyễn Hoàng Ân - Khoa HTTTQL
  20. Các quan hệ hành vi (Behavioral Relationships) Giao tiếp (Communicates) Bao gồm (Includes) Mở rộng (Extends) Khái quát hóa (Generalizes) 21 Nguyễn Hoàng Ân - Khoa HTTTQL
  21. Các sơ đồ (Diagrams) Các sơ đồ cấu trúc (Structural diagrams)  Dùng để mô tả mối quan hệ giữa các lớp Các sơ đồ hành vi (Behavior diagrams)  Dùng để mô tả sự tương tác giữa các tác nhân (actors) và use case • Cách các tác nhân sử dụng hệ thống 22 Nguyễn Hoàng Ân - Khoa HTTTQL
  22. Các sơ đồ cấu trúc (Structural Diagrams) Sơ đồ lớp (Class diagrams) Sơ đồ đối tượng (Object diagrams) Sơ đồ thành phần (Component diagrams) Sơ đồ triển khai (Deployment diagrams) 23 Nguyễn Hoàng Ân - Khoa HTTTQL
  23. Các sơ đồ hành vi (Behavioral Diagrams) Sơ đồ use case Sơ đồ tuần tự (Sequence diagrams) Sơ đồ cộng tác (Collaboration diagrams) Sơ đồ trạng thái (Statechart diagrams) Sơ đồ hoạt động (Activity diagrams) 24 Nguyễn Hoàng Ân - Khoa HTTTQL
  24. Một cái nhìn tổng thể về UML và các thành phần của nó: các thực thể, các mối quan hệ, và các sơ đồ 25 Nguyễn Hoàng Ân - Khoa HTTTQL
  25. Các sơ đồ UML thường được sử dụng Sơ đồ use case  Mô tả cách hệ thống được sử dụng  Điểm khởi đầu cho mô hình hóa UML Kịch bản use case (scenario)  Một cách phát biểu rõ ràng các ngoại lệ về hành vi chính được mô tả bởi use case chính Sơ đồ hoạt động (Activity diagram)  Minh họa luồng tổng thể của các hoạt động 26 Nguyễn Hoàng Ân - Khoa HTTTQL
  26. Các sơ đồ UML thường được sử dụng Sơ đồ tuần tự (Sequence diagrams)  Chỉ ra tuần tự các hoạt động và mối quan hệ lớp Sơ đồ lớp (Class diagrams)  Thể hiện các lớp và các mối quan hệ Sơ đồ trạng thái (Statechart diagrams)  Thể hiện sự dịch chuyển trạng thái 27 Nguyễn Hoàng Ân - Khoa HTTTQL
  27. Tổng quan về sơ đồ UML cho thấy cách mỗi sơ đồ dẫn đến sự phát triển của sơ đồ UML khác 28 Nguyễn Hoàng Ân - Khoa HTTTQL
  28. 3 Sơ đồ Use case (Use case diagrams) 29 Nguyễn Hoàng Ân - Khoa HTTTQL
  29. Mô hình hóa use-case (Use Case Modeling) Mô tả hệ thống làm gì, không mô tả cách hệ thống thực hiện Dựa vào sự tương tác và mối quan hệ của các use-case riêng lẻ Mô tả use-case  Tác nhân (Actor)  Sự kiện (Event)  Use-case 30 Nguyễn Hoàng Ân - Khoa HTTTQL
  30. Business Process Identification With Use-Cases Elements of Use-Case Diagrams  Actors: users or other interacting systems  Associations: lines to connect actors and use-cases • Interactions, inclusions, extensions or generalizations  Use-case: a major process in the system that gives a benefit to the users  Subject boundary: a named box that depicts the scope of the system
  31. Một ví dụ về use-case Student Enrollment 32 Nguyễn Hoàng Ân - Khoa HTTTQL
  32. Use case name: Change Student Information UniqueID: Student UC 005 Area: Student System Actors: Student Description: Allow student to change his or her own information, such as name, home address, home telephone, campus address, campus telephone, cell phone, and other information using a secure Web site. Triggering Event: Student uses Change Student Information Web site, enters student ID and password, and clicks the Submit button. Trigger Type:  External Temporal Steps Performed (Main Path) Information for Steps 1. Student logs on to the secure Web server. 1. Student ID, Password 2. Student record is read and password is verified. 2. Student Record, Student ID, 3. Current student personal information is Password displayed on the Change Student Web page. 3. Student Record 4. Student enters changes on the Change Student 4. Change Student Web Form Web form and clicks Submit button. 5. Change Student Web Form 5. Changes are validated on the Web server. 6. Change Student Web Form 6. Change Student Journal record is written. 7. Change Student Web Form, 7. Student record is updated on the Student Master. Student Record 8. Confirmation Web page is sent to the student. 8. Confirmation Page Preconditions: Student is on the Change Student Information Web page. Postconditions: Student has successfully changed personal information. Assumptions: Student has a browser and a valid user ID and password. Requirements Met: Allow students to be able to change personal information using a secure Web site. Outstanding Issues: Should the number of times a student is allowed to logon be controlled ? Priority (optional): Medium Risk (optional): Medium 33 Nguyễn Hoàng Ân - Khoa HTTTQL
  33. Tên use case: Mã: Lĩnh vực: Tác nhân: Mô tả: Sự kiện kích hoạt: Loại kích hoạt:  Bên ngoài  Bên trong Các bước thực hiện chính Thông tin cho các bước 1. 1. Điều kiện tiên quyết: Kết quả tạo ra: Giả định: Mục tiêu đạt được: Các vấn đề nổi bật: Độ ưu tiên (tùy chọn): Rủi ro (tùy chọn): 34 Nguyễn Hoàng Ân - Khoa HTTTQL
  34. 4 Sơ đồ hoạt động (Activity Diagrams) 35 Nguyễn Hoàng Ân - Khoa HTTTQL
  35. Sơ đồ hoạt động (Activity Diagrams) Chỉ ra tuần tự các hoạt động trong một quá trình bao gồm các hoạt động tuần tự và song song, và quyết định được thực hiện Các ký hiệu  Hình chữ nhật với các góc tròn  Hình mũi tên  Hình kim cương  Hình chữ nhật phẳng, dài  Vòng tròn tô kín bên trong  Vòng tròn đen được bao quanh bởi một vòng tròn trắng  Đường phân chia (Swimlanes) 36 Nguyễn Hoàng Ân - Khoa HTTTQL
  36. Các ký hiệu chuyên dùng được sử dụng để vẽ một sơ đồ hoạt động 37 Nguyễn Hoàng Ân - Khoa HTTTQL
  37. Tạo sơ đồ hoạt động Được tạo ra bằng cách hỏi những gì xảy ra đầu tiên, những gì xảy ra thứ hai, và cứ tiếp tục như vậy Phải xác định những hoạt động nào thực hiện tuần tự hoặc song song Chuỗi các hoạt động có thể được xác định từ sơ đồ luồng dữ liệu vật lý Có thể được tạo ra bằng cách kiểm tra tất cả các kịch bản cho một use-case 38 Nguyễn Hoàng Ân - Khoa HTTTQL
  38. Đường phân chia (Swimlanes) Cho thấy cách dữ liệu được truyền đi hoặc chuyển đổi Hỗ trợ việc nhóm các hoạt động lại với nhau Làm cho sơ đồ hoạt động trở thành phương tiện giao tiếp 39 Nguyễn Hoàng Ân - Khoa HTTTQL
  39. Activity Diagram Syntax • Action or Activity – Represents action or set of actions • Control Flow – Shows sequence of execution • Initial Node – The beginning of a set of actions • Final Node – Stops all flows in an activity • Decision Node – Represents a test condition
  40. Activity Diagram Symbols
  41. Sample Activity Diagram
  42. Sơ đồ hoạt động thể hiện 3 swimlane: Client Web Page, Web Server, and Mainframe 43 Nguyễn Hoàng Ân - Khoa HTTTQL
  43. Sơ đồ tuần tự và kế hoạch kiểm thử (Test Plans) Sơ đồ hoạt động có thể được dùng để xây dựng kế hoạch kiểm thử Mỗi sự kiện phải được kiểm thử nếu hệ thống chuyển đến trạng thái kế tiếp Mỗi quyết định phải được kiểm thử 44 Nguyễn Hoàng Ân - Khoa HTTTQL
  44. 5 Sơ đồ tuần tự (Sequence diagrams) 45 Nguyễn Hoàng Ân - Khoa HTTTQL
  45. Sơ đồ tuần tự Minh họa cho một chuỗi các tương tác giữa các lớp hoặc thực thể đối tượng theo thời gian Thường dùng để diễn tả hoạt động xử lý được mô tả trong các kịch bản use-case Được dùng để diễn tả các mô hình tổng thể về các hoạt động hoặc các tương tác trong use-case 46 Nguyễn Hoàng Ân - Khoa HTTTQL
  46. Các ký hiệu đặc biệt được sử dụng để vẽ sơ đồ tuần tự 47 Nguyễn Hoàng Ân - Khoa HTTTQL
  47. Sơ đồ tuần tự: Student Admission 48 Nguyễn Hoàng Ân - Khoa HTTTQL
  48. Hỏi đáp 49 Nguyễn Hoàng Ân - Khoa HTTTQL