Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (1.25 MB, 7 trang )
<span class='text_page_counter'>(1)</span><div class='page_container' data-page=1>
GV: Lê Thị Minh Nguyện
Email:
Phân tích thiết kế hướng đối tượng 1
Phân tích thiết kế hướng đối tượng 2
Phân tích thiết kế hướng đối tượng 3
Phân tích thiết kế hướng đối tượng 4
Phân tích thiết kế hướng đối tượng 5
Phân tích thiết kế hướng đối tượng 6
Giả sử tơi quyết định mua một chiếc máy fax mới
Loại máy nào sẽ được chọn đây?
Tơi tự hỏi thật chính xác mình muốn làm gì với chiếc máy fax sẽ mua?
Tơi muốn có những tính năng nào?
Tơi muốn dùng bằng giấy thường hay giấy thermal?
Tơi muốn copy bằng cái máy đó?
Tơi muốn nối nó với máy tính của mình?
Tơi muốn dùng nó vừa làm máy fax vừa làm scanner?
Tơi có cần phải gởi fax thật nhanh đến mức độ cần một chức năng chọn số tăng tốc?
Liệu tơi có muốn sử dụng máy fax này để phân biệt giữa một cú điện thoại gọi tới và một
bản fax gởi tới ?.
Phân tích thiết kế hướng đối tượng 7
Giả sử tôi quyết định mua một chiếc máy fax mới
Loại máy nào sẽ được chọn đây?
Tơi tự hỏi thật chính xác mình muốn làm gì với chiếc máy fax sẽ mua?
Tơi muốn có những tính năng nào?
Tơi muốn dùng bằng giấy thường hay giấy thermal?
Tôi muốn copy bằng cái máy đó?
Tơi muốn nối nó với máy tính của mình?
Tơi muốn dùng nó vừa làm máy fax vừa làm scanner?
Tơi có cần phải gởi fax thật nhanh đến mức độ cần một chức năng chọn số tăng tốc?
Liệu tơi có muốn sử dụng máy fax này để phân biệt giữa một cú điện thoại gọi tới và một
bản fax gởi tới ?.
•Tác nhân (actor) biểu diễn bất cứ thứ gìtương tác
với hệ thống.
•Là đối tượngbên ngồitương tác với hệ thống theo 3
hình thức:
•Tương tác trao đổi thơng tin với hệ thống hoặc sử dụng
chức năng.
•Cung cấp đầu vào hoặc nhận thông tin đầu ra từ hệ thống.
•Khơng điều khiển hoạt động của hệ thống<i>.</i>
•Có thể làngười, máy móchoặchệ thống khácmà
chúng ta khơng phải xây dựng
• Ví dụ như các thiết bị ngoại vi, thậm chí là database
9
Actor
KhachHang
•Đặt các câu hỏi sau để tìm ra tác nhân:
•Nhóm người nào u cầu hệ thống làm việc giúp họ?
nào khác khơng?
•Hệ thống đang xây dựng tương tác với hệ thống khác nào?
•Thơng tin về tác nhân:
•Tên tác nhân phải mơ tả vai trị của tác nhân đó một cách rõ ràng
•Tên nên là danh từ
•Cần mơ tả khái qt khả năng của tác nhân đó
10
<b>Tìm kiếm tác nhân của hệ thống</b>
•Use case (Chức năng): Mơ tảchức năng mà hệ thống có
•Mỗi Use-Case biểu diễn cho một chức năng của hệ thống
•Use-Case là một chuỗi bao gồm nhiều hành động
•Mỗi Use-Case có thể mở rộng (extext) thành nhiều Use-Case
khác
•Mỗi Use-Case có thể bao hàm (include) nhiều Use-Case khác
•Use-Case được đặt bên trong phạm vi hệ thống
•Ký hiệu: hình elip + tên Use-Case (động từ)
Phân tích thiết kế hướng đối tượng 11
Mượn sách
Use Case
•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 sau để tì ra các Use
case hệ thống.
•Các tác nhân yêu cầu hệ thống thực hiện chức năng nào
•Các cơng việc chính(đọc, ghi, tạo lập, bãi bỏ, sửa đổi) mà tác nhân đó muốn
HT thực thi?
•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?
•Tác nhân đó có cần thơng tin thơng báo gì từ HT?
•Thơng tin về use case:
•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 nhân
•Tên nên là động từ
•Mơ tả ngắn gọn về mục đích của UC
•Hành động q đơn giản mà chỉ cần mơ tả bởi vài dịng
•Tạo ra q nhiều Use case (hàng chục)
•Nhóm các Use case liên quan thành một Use case tổng qt
(mức 1)
•Mơ tả các Use Case tổng qt ở một sơ đồ khác (mức 2)
•Ví dụ: “Quản lý sách” bao gồm “Nhập sách”, “Xuất sách”, “…”
•Sử dụng các Use-case quá cụ thể, hoặc làm việc với dữ liệu quá cụ
thể. Ví dụ:
•“Tìm sách theo tên” (nên là “Tìm sách”)
•“Nhập Pin vào máy ATM” (nên là “Nhập PIN”)
•“Thêm sách” (nên là “Quản lý sách” bao gồm “Thêm sách”)
Phân tích thiết kế hướng đối tượng 13
Phân tích thiết kế hướng đối tượng 14
Subject/System boundary:
Chỉ ra ranh giới (boundary) giữa system và thế giới thực.
Actor thường nằm bên ngoài system, use cases thường
nằm trong system
•Khách hàng đăng ký tài khoản và mua sản phẩm
•Chủ cửa hàng duyệt các đơn hàng và đăng ký sản phẩm
•Hệ thống website có chức năng xuất báo cáo ra tập tin excel sử dụng phần
mềm MS Excel
•Hệ thống hỗ trợ khách hàng trực tuyến bằng cách trao đổi trực tiếp bằng âm
thanh của micro
•Hệ thống có khả năng giao tiếp với thiết bị đọc mã vạch để phục vụ cho việc
nhập thông tin sản phẩm
•Hệ thống hỗ trợ thanh tốn trực tuyến thơng qua việc kết nối với Hệ thống
thanh tốn Paypal
Phân tích thiết kế hướng đối tượng 15
Phân tích thiết kế hướng đối tượng 17
<b>Phân loại Actor</b>
Phân tích thiết kế hướng đối tượng 18
•Khách hàng đăng ký tài khoản và mua sản phẩm
•Chủ cửa hàng duyệt các đơn hàng và đăng ký sản phẩm
•Hệ thống website có chức năng xuất báo cáo ra tập tin excel sử dụng phần
mềm MS Excel
•Hệ thống hỗ trợ khách hàng trực tuyến bằng cách trao đổi trực tiếp bằng âm
thanh của micro
•Hệ thống có khả năng giao tiếp với thiết bị đọc mã vạch để phục vụ cho việc
nhập thơng tin sản phẩm
•Hệ thống hỗ trợ thanh tốn trực tuyến thơng qua việc kết nối với Hệ thống
thanh tốn Paypal
Phân tích thiết kế hướng đối tượng 19
• Là mối liên hệ giữa<i>actors và</i>
<i>use cases</i>
• Thể hiện tương tác giữa
actors và use cases
• Đơi khi có mũi tên (thể hiện
hướng thực thi)
• Một use case được bắt đầu
bởi một tác nhân để gọi một
chức năng nào đó trong hệ
thống.
Phân tích thiết kế hướng đối tượng
21
Phân tích thiết kế hướng đối tượng 22
Phân tích thiết kế hướng đối tượng 23
1.Gọi UC xác thực KH
2.Hiển thị menu
3.KH chọn chức năng rút tiền
2. Kiểm tra thẻ
1. Đưa thẻ vào máy
3. KH nhập pin
4. Hệ thống kiểm tra pin
E1: Thẻ sai.
E2: sai pin
•Tránh việc mơ tả hành vi đó nhiều lần trong các UC
•Đảm bảo nhưng hành vi chung đó được thống nhất
•Tách hành vi khơng phải là chính của UC đó (hành vi ít quan trọng)
•Cho phép mở rộng chức năng của một UC
•Chèn hành vi của UC Extension vào UC Base
•Chỉ chèn khi điều kiện extend đúng (mở rộng, phát sinh) (Khi
thực hiện thực hiện UC Base thì thực hiện UC extension ở một
số tình huống nào đó, chứ khơng bắt buộc)
•Chèn vào lớp cơ sở tại điểm phát sinh (extension point)
•Sử dụng stereotype là <<extend>>
Phân tích thiết kế hướng đối tượng 25
•Tách ra hành vi ngoại lệ, đặc biệt
hoặc khơng bắt buộc
•Chỉ được thực thi trong điều kiện
cụ thể
•Tách ra để làm đơn giản luồng
chính
•Thêm một hành vi mở rộng đối
với UC cơ sở.
•Phát triển hành vi đó độc lập
• Extension use case <i>khơng</i> <i>bắt</i>
<i>buộc</i>phải xảy ra
Phân tích thiết kế hướng đối tượng 26
một số cái chung, giống nhau.
•Khơng nhất thiết hình thành quan
hệ này cho các tác nhân.
•Khi mộtloại tác nhân kích hoạtmột
hay vàiUC màloại tác nhân khác
khơng kích hoạt-> nên hình thành
quan hệ khái qt hóa
•Khi cảhai loại tác nhâncùng sử dụng
các UC -> khơng cần mơ hình hóa
quan hệ khái qt hóa
Phân tích thiết kế hướng đối tượng 27
Phân tích thiết kế hướng đối tượng 28
Nếusố lượng UC quá lớncó thể chia chúng vào các nhóm
• Dễ hiểu mơ hình tổng thể hơn
• Dễ bảo trì mơ hình UC
• Dễ giao việc cho các thành viên
Xem xét khả nănggộp nhóm
• Tương tácvớicùng một tác nhân