Bài giảng Phân tích thiết kế hệ thống thông tin - Bài 4: Phân tích hệ thống hướng đối tượng

Tài liệu Bài giảng Phân tích thiết kế hệ thống thông tin - Bài 4: Phân tích hệ thống hướng đối tượng: 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 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) 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 Nguyễn Hoàng Ân - Khoa HTTTQL 4 Tổng quan về Phân tích hướng đối tượng 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) 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 ...

pdf48 trang | Chia sẻ: honghanh66 | Lượt xem: 1070 | Lượt tải: 1download
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 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
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 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) 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 Nguyễn Hoàng Ân - Khoa HTTTQL 4 Tổng quan về Phân tích hướng đối tượng 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) 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 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 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) 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 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 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 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 Nguyễn Hoàng Ân - Khoa HTTTQL 13 Nguyễn Hoàng Ân - Khoa HTTTQL 14 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 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 Nguyễn Hoàng Ân - Khoa HTTTQL 15 Mô hình hóa đối tượng với UML 2 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ơ đồ 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ơ đồ 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) 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) 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) 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 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) 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) 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ơ đồ 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 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 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 Nguyễn Hoàng Ân - Khoa HTTTQL 28 Sơ đồ Use case (Use case diagrams) Nguyễn Hoàng Ân - Khoa HTTTQL 29 3 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 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 Một ví dụ về use-case Student Enrollment Nguyễn Hoàng Ân - Khoa HTTTQL 32 Nguyễn Hoàng Ân - Khoa HTTTQL 33 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) 1. Student logs on to the secure Web server. 2. Student record is read and password is verified. 3. Current student personal information is displayed on the Change Student Web page. 4. Student enters changes on the Change Student Web form and clicks Submit button. 5. Changes are validated on the Web server. 6. Change Student Journal record is written. 7. Student record is updated on the Student Master. 8. Confirmation Web page is sent to the student. Information for Steps 1. Student ID, Password 2. Student Record, Student ID, Password 3. Student Record 4. Change Student Web Form 5. Change Student Web Form 6. Change Student Web Form 7. Change Student Web Form, Student Record 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 Nguyễn Hoàng Ân - Khoa HTTTQL 34 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 1. Thông tin cho các bước 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): Sơ đồ hoạt động (Activity Diagrams) 4 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) 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 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 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 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 Activity Diagram Symbols Sample Activity Diagram Nguyễn Hoàng Ân - Khoa HTTTQL 43 Sơ đồ hoạt động thể hiện 3 swimlane: Client Web Page, Web Server, and Mainframe 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ử Nguyễn Hoàng Ân - Khoa HTTTQL 44 Sơ đồ tuần tự (Sequence diagrams) 5 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 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ự Nguyễn Hoàng Ân - Khoa HTTTQL 47 Sơ đồ tuần tự: Student Admission Nguyễn Hoàng Ân - Khoa HTTTQL 48 Hỏi đáp Nguyễn Hoàng Ân - Khoa HTTTQL 49

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

  • pdfsad_04_934.pdf