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)
              
                                            
                                
            
 
            
                 48 trang
48 trang | 
Chia sẻ: phuongt97 | Lượt xem: 643 | Lượt tải: 0 
              
            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 4: Phân tích hệ thống hướng đối tượng (Object-Oriented Analysis), để xem tài liệu hoàn chỉnh 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:
 bai_giang_mon_phan_tich_thiet_ke_he_thong_thong_tin_chuong_4.pdf bai_giang_mon_phan_tich_thiet_ke_he_thong_thong_tin_chuong_4.pdf