Bài giảng Lập trình hướng đối tượng – Bài 10: Biểu đồ use case và biểu đồ hoạt động (2017)
lượt xem 4
download
Những nội dung chính được trình bày trong chương này gồm có: Biểu đồ use case và biểu đồ hoạt động; nắm được các thành phần chính của Biểu đồ use case: Actor, Use case, Relationship; biết cách xác định các actor, use case và relationship; hiểu được mục đích và các ký hiệu sử dụng trong Biểu đồ hoạt động. Mời các bạn cùng tham khảo bài giảng để biết thêm nội dung chi tiết.
Bình luận(0) Đăng nhập để gửi bình luận!
Nội dung Text: Bài giảng Lập trình hướng đối tượng – Bài 10: Biểu đồ use case và biểu đồ hoạt động (2017)
- 12/27/17 Mục tiêu Bộ môn Công nghệ Phần mềm n Mô tả được mục đích và lợi ích của Biểu đồ Viện CNTT & TT use case om Trường Đại học Bách Khoa Hà Nội n Nắm được các thành phần chính của Biểu đồ use case: Actor, Use case, Relationship .c n Biết cách xác định các actor, use case và LẬP TRÌNH HƯỚNG ĐỐI TƯỢNG relationship Bài 10. Biểu đồ use case và ng n Hiểu được mục đích và các ký hiệu sử dụng Biểu đồ hoạt động trong Biểu đồ hoạt động co an th Nội dung Nội dung 1. Tổng quan về biểu đồ use case o ng 1. Tổng quan về biểu đồ use case du 2. Các thành phần chính trong biểu đồ 2. Các thành phần chính trong biểu đồ use case use case u Biểu đồ hoạt động Biểu đồ hoạt động cu 3. 3. 3 4 1 CuuDuongThanCong.com https://fb.com/tailieudientucntt
- 12/27/17 1.1. Tổng quan về biểu đồ use case 1.1. Tổng quan về biểu đồ use case (2) n Mỗi hệ thống tương tác với con người hoặc c n Biểu đồ mô tả các yêu cầu chức năng của hệ ác hệ thống khác để thực hiện nhiệm vụ thống dưới dạng các use case. om n Các hành vi của hệ thống có thể được mô tả n Bao gồm các chức năng mong đợi của hệ th trong các use case. ống (use case) và môi trường (actor) của nó. .c n What, not How n Các use case mô tả các tương tác giữa hệ thống View Report Card và môi trường của nó ng à Biểu đồ use case Register for Courses co Student 5 Login 6 an th 1.2. Lợi ích của biểu đồ use case 1.2. Lợi ích của biểu đồ use case (2) n o Giống như một bản hợp đồng giữa người phát triển phần mềm và ng n Giao tiếp khách hàng. du n Là công cụ mạnh mẽ cho việc lập kế hoạch à Được dùng trong tất n Xác định Use Case cả các giai đoạn trong quy trình phát triển hệ thống n Khách hàng của bạn phải phê chuẩn biểu đồ use-case n Kiểm chứng u Identification n Sử dụng biểu đồ use case để thảo luận với khách hàng. Communication Verification cu n Các thành viên tham gia vào dự án, sử dụng mô hình này để hiểu rõ hơn về hệ thống End User Domain Expert Users 7 8 2 CuuDuongThanCong.com https://fb.com/tailieudientucntt
- 12/27/17 Nội dung 2.1. Tác nhân (actor) 1. Tổng quan về biểu đồ use case n Tác nhân là bất kỳ thứ gì tương tác vớ i hệ thống, có sự trao đổi dữ liệu với h Các thành phần chính trong biểu ệ thống om 2. đồ use case n Là một lớp/loại người dùng chứ không ph ải một người cụ thể Biểu đồ hoạt động .c 3. n Một người dùng cụ thể có thể đóng vai tr ò là các tác nhân khác nhau, có nghĩa là người đó có nhiều vai trò khác nhau trong Actor ng hệ thống n Không phải là một phần của hệ thống Actors are EXTERNAL. co n 9 10 an th Ví dụ về tác nhân Tìm kiếm tác nhân của hệ thống o ng -Tác nhân KHÔNG phải là n Đặt các câu hỏi sau để tìm ra tác nhân: du một phần của hệ thống!!! n Nhóm người nào yêu cầu hệ thống làm việc giúp họ? - Giúp giới hạn hệ thống n Nhóm người nào kích hoạt chức năng của hệ thống? n Nhóm người nào sẽ duy trì và quản trị hệ thống hoạt u Tác nhân có thể là: động? cu • Người dùng, • Thiết bị phần cứng n Hệ thống có tương tác với các thiết bị hay phần mềm • Hệ thống phần mềm khác ngoại vi nào khác hay không? n Thông tin về tác nhân: n Tác nhân trao đổi thông tin với hệ thống: n Tên tác nhân phải mô tả vai trò của tác nhân đó một n Gửi thông tin tới hệ thống cách rõ ràng n Nhận thông tin từ hệ thống n Tên nên là danh từ 11 n Cần mô tả khái quát khả năng của tác nhân đó 12 3 CuuDuongThanCong.com https://fb.com/tailieudientucntt
- 12/27/17 2.2. Use case Tìm use case của hệ thống n Use case mô tả chức năng của hệ thống, là n Xem các yêu cầu chức năng để tìm ra các UC Đối với mỗi tác nhân tìm được, đặt các câu hỏi: một chuỗi các hành động của hệ thống thực n Các tác nhân yêu cầu những gì từ hệ thống om n hiện nhằm thu được một kết quả dễ thấy tới n Các công việc chính mà tác nhân đó muốn HT thực thi? một tác nhân nào đó. n Tác nhân đó có tạo ra hay thay đổi dữ liệu gì của HT? Tác nhân đó có phải thông báo gì cho HT? Một use case mô hình hóa một hội thoại giữa n .c n n Tác nhân đó có cần thông tin thông báo gì từ HT? một hoặc nhiều tác nhân với hệ thống n Thông tin về use case: n Một use case mô tả hành động của hệ thống Tên của UC nên chỉ rõ kết quả của quá trình tương tác với tác ng n thực hiện nhằm mang đến một giá trị nào đó cho nhân tác nhân. n Tên nên là động từ Mô tả ngắn gọn về mục đích của UC co n Use Case 13 14 an th Những điều nên tránh khi tạo UC 2.3. Mối liên hệ (relationship) n Tạo ra các UC quá nhỏ o ng n Mối liên hệ giữa các actor với nhau Hành động quá đơn giản mà chỉ cần mô tả bởi vài dòng du n n Tạo ra quá nhiều Use case (hàng chục) n Khái quát hóa (Generalization) n Nhóm các Use case liên quan thành một Use case tổng quát (mức 1) n Giao tiếp Mô tả các Use Case tổng quát ở một sơ đồ khác (mức 2) Mối liên hệ giữa actor và use case u n n n Ví dụ: “Quản lý sách” bao gồm “Nhập sách”, “Xuất sách”, “…” cu n Sử dụng các Use-case quá cụ thể, hoặc làm việc với dữ liệu n Giao tiếp quá cụ thể. Ví dụ: n Mối liên hệ giữa các use case với nhau n “Tìm sách theo tên” (nên là “Tìm sách”) n “Nhập Pin vào máy ATM” (nên là “Nhập PIN”) n Generalization: Khái quát hóa n “Thêm sách” (nên là “Quản lý sách” bao gồm “Thêm sách”) n Include: Bao hàm n Extend: Mở rộng 15 16 4 CuuDuongThanCong.com https://fb.com/tailieudientucntt
- 12/27/17 2.3.1. Mối liên hệ giữa các actor với nhau 2.3.2. Mối liên hệ giữa actor với use case n Khái quát hóa (Generalization) n Thiết lập quan hệ giữa Tác nhân và Use Case n Tác nhân con kế thừa tính chất và hành vi của n Chúng tương tác bằng cách gửi các tín hiệu cho nhau om tác nhân cha n Một use case mô hình hóa một hội thoại giữa các tác nhân và hệ thống .c n Giao tiếp n Một use case được bắt đầu bởi một tác nhân để n Xét sự khác nhau giữa hai biểu đồ sau gọi một chức năng nào đó trong hệ thống. ng Use Case co Association 17 Actor 18 an th 2.3.2. Mối liên hệ giữa actor với use case (2) 2.2.3. Mối liên hệ giữa các use case n o Chiều của quan hệ chính là chiều của tín hiệu gửi đi ng n Generalization du n Từ tác nhân tới Use Case n Kích hoạt Use case n n Hỏi thông tin nào đó trong hệ thống n always use Thay đổi thông tin nào đó trong hệ thống u n n Thông báo cho UC về một sự kiện đặt biệt nào đó xảy ra với hệ cu n thống n sometime use n Từ Use Case tới tác nhân: n Nếu như có một điều gì đó xảy ra với HT và tác nhân đó cần được biết sự kiện đó n UC đôi khi cần hỏi thông tin nào đó từ một tác nhân trước khi UC đó đưa ra một quyết định 19 20 5 CuuDuongThanCong.com https://fb.com/tailieudientucntt
- 12/27/17 a. Quan hệ generalization b. Quan hệ n Được sử dụng để chỉ ra n Cho phép một UC sử dụng chức năng của UC khác một vài tính chất chung của n Chức năng của UC Inclusion sẽ được gọi trong UC Base om một nhóm tác nhân hoặc n Sử dụng stereotype là UC Sử dụng khái niệm kế thừa .c n n Mô tả hành vi chung (chia sẻ) trong UC cha ng n Mô tả hành vi riêng trong (các) UC con co 21 22 an th c. Quan hệ Đọc biểu đồ use case n Cho phép mở rộng chức năng của một UC o ng View Report Card du n Chèn hành vi của UC Extension vào UC Base Course Catalog Maintain Professor n Chỉ chèn khi điều kiện extend đúng (mở rộng, phát sinh) Register for Courses Information n Chèn vào lớp cơ sở tại điểm phát sinh (extension point) Student u n Sử dụng stereotype là Login Maintain Student cu Information Registrar Select Courses to Teach Close Registration Professor Submit Grades Billing System 23 24 6 CuuDuongThanCong.com https://fb.com/tailieudientucntt
- 12/27/17 Đọc biểu đồ use case Nội dung n Trả lời các câu hỏi sau: 1. Tổng quan về biểu đồ use case n Mô tả các chức năng của hệ thống Các thành phần chính trong biểu đồ om n Sinh viên có thể tác động lên những use-case nào? 2. n Giáo viên có thể tác động lên những use-case nào? use case Nếu A vừa là sinh viên vừa là giáo viên, anh ta có thể n Biểu đồ hoạt động .c 3. thực hiện được những use-case nào? n Sơ đồ này không nói lên được những gì? Những use-case nào cần thiết thực hiện đầu tiên? ng n n Biểu đồ use case có thể mô tả hết được không? co 25 26 an th 3. Biểu đồ hoạt động 3. Biểu đồ hoạt động (2) n Biểu đồ hoạt động (Activity Diagram – AD) được sử dụng để o ng n Hoạt động mô tả các hoạt động và các hành động được thực hiện du n Đặc tả cho hành vi được diễn tả như một luồng thực thi thông qua trong một use case sự sắp xếp thứ tự của các đơn vị nhỏ hơn. n Biểu đồ luồng (flow chart): Chỉ ra luồng điều khiển từ hoạt động/hành n Các đơn vị nhỏ hơn bao gồm các hoạt động lồng nhau và các động này đến hoạt/hành động khác. hành động riêng lẻ cơ bản u Flow of Events n Có thể chứa các ràng buộc biểu thức logic khi hoạt động cu This use case starts when the Registrar requests that the được gọi hoặc kết thúc system close registration. Activity 2 Activity 2 1. The system checks to see if registration is in progress. If it is, then a message is displayed to the Registrar and the Activity 4 use case terminates. The Close Registration processing cannot be performed if registration is in progress. Boolean constraint Activity 1 Activity 3 2. For each course offering, the system checks if a professor has signed up to teach the course offering and at least three students have registered. If so, the system commits the course offering for each schedule that contains it. Activity 5 Boolean constraint 27 28 7 CuuDuongThanCong.com https://fb.com/tailieudientucntt
- 12/27/17 AD for Register for course use case Initial activity Decision Concurrent Threads Select Course Activity/Action (Tiến trình song song) Gọi một AD khác om [ delete course ] Delete Course [ add course ] Synchronization Bar (Fork) Guard Condition Check Check Thanh đồng bộ (phân nhánh) .c Schedule Pre-requisites (Điều kiện ràng buộc) [ checks completed ] [ checks failed ] Synchronization Bar (Join) ng Thanh đồng bộ (Kết hợp) Assign to Resolve Transition Course Conflicts (Chuyển dịch) co Update Schedule Final activity 29 30 an th Phân chia (Partition) n Biểu đồ hoạt động chỉ mô tả điều gì xảy ra o ng du chứ không mô tả ai làm gì n Nếu muốn chỉ ra ai làm gì thì có thể phân chia thành các phần bao gồm các hoạt động u do ai làm cu n Có thể phân chia theo một chiều (hàng hoặc Phân chia một chi cột) hoặc hai chiều (cả hàng và cột) ều hay còn gọi là swim lane 31 32 8 CuuDuongThanCong.com https://fb.com/tailieudientucntt
- 12/27/17 Bài tập Bài tập n Cho: n Cho: n Các tác nhân: Người mua, Hệ thống E-mail, Hệ thống cho vay và Hệ n Các trạng thái hành động: thống báo cáo tín dụng Chọn hồ sơ om n n Các use case: Tìm người môi giới, Quản lý hồ sơ cá nhân, Tìm kiếm n Tìm hồ sơ người mua nhà và Yêu cầu vay n Tạo hồ sơ mới n Các mối liên kết: n Đăng nhập Từ người mua tới Tìm người môi giới .c n n Từ người mua tới Quản lý hồ sơ cá nhân n Luồng hoạt động: n Từ người mua tới Tìm kiếm nhà n Bắt đầu từ Chọn hồ sơ tới Tìm hồ sơ người mua rồi đi từ n Từ người mua tới Yêu cầu vay Tìm hồ sơ người mua đến Tạo hồ sơ mới nếu hồ sơ không Quản lý hồ sơ cá nhân tới Hệ thống e-mail tồn tại. Nếu hồ sơ tồn tại thì có thể Đăng nhập ng n n Tìm kiếm nhà tới Hệ thống e-mail n Hãy vẽ: Yêu cầu vay tới Hệ thống e-mail, Hệ thống cho vay n Yêu cầu vay tới Hệ thống báo cáo tín dụng n Biểu đồ hoạt động co n n Hãy vẽ: n Biểu đồ use-case 33 34 an th o ng du u cu 9 CuuDuongThanCong.com https://fb.com/tailieudientucntt
CÓ THỂ BẠN MUỐN DOWNLOAD
-
Bài giảng Lập trình hướng đối tượng: Chương 1 - TS. Trần Công Án
57 p | 89 | 13
-
Bài giảng Lập trình hướng đối tượng: Chương 2 - Nguyễn Sơn Hoàng Quốc, ThS. Nguyễn Tấn Trần Minh Khang
14 p | 174 | 12
-
Bài giảng Lập trình hướng đối tượng - Chương 1: Phương pháp lập trình hướng đối tượng
9 p | 141 | 9
-
Bài giảng Lập trình hướng đối tượng C++ - Chương 2: Lập trình hướng đối tượng
53 p | 46 | 8
-
Bài giảng Lập trình hướng đối tượng (dùng Java): Chương 1 - Trần Minh Thái (2017)
55 p | 80 | 8
-
Bài giảng Lập trình hướng đối tượng - Bài 1: Tổng quan lập trình hướng đối tượng
53 p | 120 | 8
-
Bài giảng Lập trình hướng đối tượng (Dùng C#): Chương 2 - Trần Minh Thái
35 p | 104 | 8
-
Bài giảng Lập trình hướng đối tượng: Chương 1 - Trần Thị Anh Thi
7 p | 197 | 7
-
Bài giảng Lập trình hướng đối tượng 1: Chương 1 - ThS. Thái Kim Phụng
39 p | 102 | 7
-
Bài giảng Lập trình hướng đối tượng: Bài 1 - ThS. Trịnh Thành Trung
53 p | 90 | 7
-
Bài giảng Lập trình hướng đối tượng: Chương 1 - Trần Minh Thái
40 p | 116 | 6
-
Bài giảng Lập trình hướng đối tượng – Bài 01: Tổng quan về OOP
47 p | 63 | 5
-
Bài giảng Lập trình hướng đối tượng (dùng JAVA): Chương 1 - Trần Minh Thái
40 p | 99 | 5
-
Bài giảng Lập trình hướng đối tượng và C++: Chương 1
15 p | 105 | 4
-
Bài giảng Lập trình hướng đối tượng: Nhập môn - Trần Phước Tuấn
15 p | 140 | 4
-
Bài giảng Lập trình hướng đối tượng: Bài 1 - Tổng quan về lập trình hướng đối tượng
47 p | 11 | 4
-
Bài giảng Lập trình hướng đối tượng: Chương 1 - Các khái niệm cơ bản trong lập trình hướng đối tượng
36 p | 16 | 3
-
Bài giảng Lập trình hướng đối tượng: Bài 1 - Nguyễn Khanh Văn
0 p | 83 | 2
Chịu trách nhiệm nội dung:
Nguyễn Công Hà - Giám đốc Công ty TNHH TÀI LIỆU TRỰC TUYẾN VI NA
LIÊN HỆ
Địa chỉ: P402, 54A Nơ Trang Long, Phường 14, Q.Bình Thạnh, TP.HCM
Hotline: 093 303 0098
Email: support@tailieu.vn