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
Bạn đang xem 20 trang mẫu của tài liệu "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", để 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:
- phan_tich_thiet_ke_he_thong_thong_tin_phan_tich_he_thong_huo.pdf
Nội dung text: 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
- 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) 3 Nguyễn Hoàng Ân - Khoa HTTTQL
- 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
- Tổng quan về Phân tích hướng đối tượng 5 Nguyễn Hoàng Ân - Khoa HTTTQL
- 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
- Đố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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 2 Mô hình hóa đối tượng với UML 16 Nguyễn Hoàng Ân - Khoa HTTTQL
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 3 Sơ đồ Use case (Use case diagrams) 29 Nguyễn Hoàng Ân - Khoa HTTTQL
- 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
- 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 32 Nguyễn Hoàng Ân - Khoa HTTTQL
- 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
- 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
- 4 Sơ đồ hoạt động (Activity Diagrams) 35 Nguyễn Hoàng Ân - Khoa HTTTQL
- 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
- 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
- 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
- Đườ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
- 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
- Sơ đồ hoạt động thể hiện 3 swimlane: Client Web Page, Web Server, and Mainframe 43 Nguyễn Hoàng Ân - Khoa HTTTQL
- 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
- 5 Sơ đồ tuần tự (Sequence diagrams) 45 Nguyễn Hoàng Ân - Khoa HTTTQL
- 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
- 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
- Sơ đồ tuần tự: Student Admission 48 Nguyễn Hoàng Ân - Khoa HTTTQL
- Hỏi đáp 49 Nguyễn Hoàng Ân - Khoa HTTTQL