Tải bản đầy đủ (.pdf) (36 trang)

CHƯƠNG 3: THU THẬP YÊU CẦU HƯỚNG ĐỐI TƯỢNG pdf

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.73 MB, 36 trang )

Chương 3 THU THẬP YÊU CẦU
HƯỚNG ĐỐI TƯỢNG
Tìm hiểu mối quan hệ
Giới thiệu về Use Case
Chương 3 THU THẬP YÊU CẦU HƯỚNG ĐỐI TƯỢNG
Chương 3 THU THẬP YÊU CẦU HƯỚNG ĐỐI
TƯỢNG
 LÀM VIỆC VỚI MỐI QUAN HỆ
 Mối kết hợp (association)
 Lượng số (multiplicity)
 Các mối kết hợp định tính (qualified association)
 Các mối kết hợp phản hồi (reflexive association)
 Thừa kế và tổng quát hóa (inheritance and generalization)
 Sự phụ thuộc (dependency)
 GIỚI THIỆU VỀ USE CASE
 Use case là gì?
 Cách thức tạo use case
 Các use case bao gồm (including use case)
 Các use case mở rộng (extending use case)
 Khởi động việc phân tích một use case
Mối kết hợp (association)
 Khi các lass kết nối với nhau thì sự kết nối đó được gọi là
mối kết hợp (association). Hãy cùng xem xét mối kết hợp
giữa một cầu thủ (player) và một đội bóng (team).
Mối kết hợp (association)
 Một vài class có
thể kết hợp với
cùng một class cụ
thể.
Mối kết hợp (association)
 Ràng buộc trên các mối kết hợp:


Mối kết hợp (association)
 Một loại ràng buộc khác là quan hệ hoặc (or), ký hiệu bởi
{or} trên một đường đứt nét nối 2 đường association.
Lớp kết hợp (association class)
 Một association có thể có các attribute và operation như
class. Trong trường hợp này, ta có một lớp kết hợp
(association class). Ta trực quan hóa một association class
giống như với class thông thường và dùng một đường
đứt nét nối nó với đường association.
Lượng số (multiplicity)
 Lượng số (multiplicity) giúp đặc tả số lượng object từ 1
class này có thể quan hệ với 1 class từ class kia một mối
kết hợp. Chúng ta đặt các giá trị cho multiplicity ở phía
trên đường association, gần phía class tương ứng
 Lượng số chỉ ra số object của một class có thể quan hệ
với một object của class kết hợp.
Lượng số (multiplicity)
 Có nhiều cách khác nhau biểu diễn cho multiplicity. Một
class có thể quan hệ với class khác theo các loại one-to-
one, one-to-many, one-to-one or more, one-to-zero or one,
one-to-bounded interval (ví dụ,1-to-5 10), one-to-n. UML
dùng dấu * (asterisk) để biểu diễn giá trị “more” và “many”.
Khái niệm “or” được biểu diễn bằng hai chấm, chẳng hạn
“1 *” (one or more). Khái niệm “or” cũng có thể được biểu
diễn bởi dấu phẩy, chẳng hạn “5,10” (5 or 10).
Ví dụ
Các mối kết hợp định tính (qualified
association)
 Khi một multiplicity của một association là one-to-many,
một thách thức đặt ra là: tìm kiếm (lookup). Khi một object

từ một class phải chọn một object trong class khác để
hoàn tất một vai trò trong một mối kết hợp thì class thứ
nhất phải dựa vào một thuộc tính cụ thể để tìm ra object
đúng. Thuộc tính đó được gọi là danh hiệu (identifier),
chẳng hạn như ID number.
qualified association
 Trong UML, thông tin định danh được gọi là qualifier. Biểu
tượng của nó là hình chữ nhật nhỏ kề bên class mà thực
hiện việc tìm kiếm (Hình 4.11). Ý tưởng là nhằm làm tăng
tính hiệu quả bằng cách giảm một multiplicity one-to-many
thành một multiplicity one-to-one.
Các mối kết hợp phản hồi (reflexive
association)
 Đôi khi một class kết hợp với chính nó. Điều này xảy ra khi
trong một class có các object giữ các vai trò khác nhau. Ví
dụ, một người đi xe có thể là tài xế hoặc hành khách. Nếu
trong vai trò tài xế, người đó lái zero or more hành khách
(cũng là người đi xe).
Sự thừa kế và sự tổng quát hóa (inheritance
and generalization)
 Khái niệm thừa kế (inheritance) và tổng quát hóa
(generalization) đi đôi với nhau. Một class (child class hoặc
subclass) có thể thừa kế các attribute và operation từ một
class khác (parent class hoặc superclass). Class cha có tính
tổng quát hơn so với class con
 Sự phân cấp thừa kế (inheritance hierarchy) không buộc
phải dừng ở 2 cấp: một class con có thể là class cha cho
các class con khác
Sự phụ thuộc (dependency)

 Trong một loại mối quan hệ khác, một class này sử dụng
một class khác. Điều này được gọi là sự phụ thuộc
(dependency). Cách dùng phổ biến nhất của một
dependency là chỉ ra dấu hiệu (signature) của operation
trong class này dùng class khác
Kết thúc buổi 2
GIỚI THIỆU VỀ USE CASE
 Use case là gì?
 Cách thức tạo use case
 Các mối quan hệ trong use case
 Các use case bao gồm (including use case)
 Các use case mở rộng (extending use case)
 Khởi động việc phân tích một use case
Use Case là gì?
 Hãy xem use case như một tập hợp các kịch bản
(scenario) về việc sử dụng hệ thống. Mỗi kịch bản mô tả
một chuỗi các sự kiện (event). Mỗi chuỗi được kích hoạt
bởi người, một hệ thống khác, một thiết bị phần cứng
hoặc bởi một thời điểm. Các thực thể (entity) kích hoạt
chuỗi được gọi là tác nhân (actor). Kết quả của chuỗi
phải là cái gì đó sử dụng được cho actor kích hoạt chuỗi
hoặc cho actor khác.
 Use case “Mua soda”
 Actor trong use case này là một khách hàng muốn mua một
lon soda. Khách hàng khởi động kịch bản bằng cách nhét
tiền vào máy. Sau đó anh ta lựa chọn. Nếu mọi việc đều
thuận lợi, máy có ít nhất 1 lon soda bên trong, thì một lon
soda lạnh sẽ được đưa cho khách.
Ví dụ
Withdraw

System or subsystem boundary
Actor
Use case
Communication
association
Client
View
Balance
Các loại quan hệ
Bao gồm một use case (including a use case)
 Trong các use case “Restock” và “Collect”, ta thấy có một
số bước (step) chung. Chẳng hạn hư những bước đầu
gồm mở khóa, mở máy soda và những bước cuối gồm
đóng máy và khóa máy soda lại là giống nhau. Chúng ta có
thể giảm các bước trùng lặp giữa các use case không?
Ex: Include
Client
«include»
get Account
View Balance
Withdraw
«include»
Usually not complete
Usually not complete
print Balance
Quan h

trong use case
Mở rộng một use case (extending a use case)
 Có thể dùng lại một use case theo cách khác ngoài cách bao gồm

(inclusion). Đôi khi, ta tạo một use case mới bằng cách thêm một vài
bước vào một use case sẵn có.
 Trở lại với use case “Restock”. Trước khi đặt một lon soda vào
máy, đại diện nhà cung cấp có thể chú ý đến những nhãn hiệu nào
bán chạy và ngược lại. Thay vì đơn giản là nạp đầy đủ tất cả các
nhãn hiệu, nhà cung cấp có thể thay thế các nhãn hiệu ít người mua
bằng nhãn hiệu bán chạy hơn. Các bước sau đó vẫn như cũ.
 Nếu ta thêm các bước như trên vào use case “Restock”, ta sẽ có
một use case mới mà ta gọi là “Restok according to sales”. Use case
mới này là một sự mở rộng của use case ban đầu và kỹ thuật này
gọi là mở rộng một use case (extending a use case).
Ex: Extends
ATM
Client
View Balance
Print Balance
displays balance
Extension point
Need not to show the
extention points always
user requires
print-out
Need not to put the
condition within brackets
Usually complete
Usually not complete
«extend»

×