chuong3 linh

21
Ch¬ng 3: use case Néi dung: Ph©n tÝch UC UC lµ g×? Actor lµ g×? T×m UC vµ Actor nh thÕ nµo? Luång sù kiÖn trong UC LËp biÓu ®å UC C¸c lo¹i quan hÖ trong biÓu ®å UC C¸ch lËp bÓu ®å UC

Upload: ao-ao

Post on 10-Aug-2015

51 views

Category:

Documents


3 download

TRANSCRIPT

Ch­¬ng­3:­use­caseNéi dung: Ph©n tÝch UC

UC lµ g×? Actor lµ g×? T×m UC vµ Actor nh thÕ nµo? Luång sù kiÖn trong UC

LËp biÓu ®å UC C¸c lo¹i quan hÖ trong biÓu ®å UC C¸ch lËp bÓu ®å UC

i.­Ph©n­tÝch­use­case­(uc)UC­lµ­g×?­

UC­m«­t¶­ai­®ã­sö­dông­HT­nh­­thÕ­nµo,­m«­t¶­t­¬ng­t¸c­gi÷a­NSD­víi­HT­phÇn­mÒm­®Ó­thùc­hiÖn­gi¶i­quyÕt­mét­c«ng­viÖc­cô­thÓ.

UC­lµ­mét­phÇn­cña­vÊn­®Ò­cÇn­gi¶i­quyÕt,­lµ­nÒn­t¶ng­cña­ph©n­tÝch­HT

Mçi­UC­cã­nhiÒu­biÕn­thÓ,­chóng­®­îc­gäi­lµ­c¸c­kÞch­b¶n­(Scenario),­ph¶i­x¸c­®Þnh­chi­tiÕt­c¸c­kÞch­b¶n­®Ó­HT­xö­lý­chÝnh­x¸c

VD:­UC­“Rót­tiÒn”­cã­c¸c­biÕn­thÓ­Rót­thµnh­c«ng,­Kh«ng­rót­®­îc­v×­sai­PIN,­Kh«ng­rót­®­îc­v×­yªu­cÇu­rót­qu¸­sè­tiÒn­theo­qui­®Þnh,...

Mçi­UC­®Òu­thÓ­hiÖn­sù­t­¬ng­t¸c­gi÷a­t¸c­nh©n­(actor)­vµ­HTC¸c­ho¹t­®éng­ph©n­tÝch,­thiÕt­kÕ,­cµi­®Æt,­kiÓm­thö­®Òu­liªn­quan­®Õn­UC

Ch­¬ng­3:­use­caseC¸c bµi to¸n øng dông (case study):1. HT So¹n th¶o v¨n b¶n MS WORD (lµm

vÝ dô)2. Giao dÞch tÝn dông (chñ yÕu Rót

tiÒn) (lµm vÝ dô)3. HT tra cøu s¸ch cña th viÖn (bµi tËp)4. HT qu¶n lý th«ng tin sinh viªn vµ

®iÓm RL (bµi tËp)5. HT b¸n hµng (siªu thÞ, qua m¹ng) (bµi

tËp)

i.­Ph©n­tÝch­use­case­(uc)T×m­actor­vµ­UC

Actor:­thùc­thÓ­bªn­ngoµi­t­¬ng­t¸c­®Õn­HT­cÇn­x©y­dùng.­Cã­thÓ­lµ­con­ng­êi­(®iÓn­h×nh­cña­mçi­HT),­HT­kh¸c­hay­thiÕt­bÞ­phÇn­cøng

Ký­hiÖu­vµ­c¸ch­®Æt­tªn­actorC¸c­c©u­hái­gióp­t×m­actor:

1.Ai­sö­dông­chøc­n¨ng­chÝnh­cña­HT?

2.Ai­gióp­HT­lµm­viÖc­hµng­ngµy?

3.Ai­qu¶n­trÞ,­b¶o­d­ìng­HT?

4.C¸c­HT­nµo­t­¬ng­t¸c­víi­HT­nµy?

i.­Ph©n­tÝch­use­case­(uc)Ký­hiÖu­vµ­c¸ch­®Æt­tªn­actor Actor xác định tập các vai trò khi người sử dụng tương tác với hệ

thống. Người sử dụng có thể là một cá nhân hay một hệ thống khác.

Actor không phải là một con người cụ thể mà mang một nhiệm vụ (sinh viên A,B là người đọc nhưng ko phải là actor)

Ví dụ: Hệ thống thông tin thư viện actor Độc giả

Ký hiệu:

Tên Actor thường là danh từ: Độc giả, thủ thư, khách hàng…

i.­Ph©n­tÝch­use­case­(uc) T×m­UC:­

B¾t­buéc­ph¶i­cã­vai­trß­cña­kh¸ch­hµng.­PP­chÝnh:­pháng­vÊn­NSD­vµ­nghiªn­cøu­tµi­liÖu­cña­hä.

§Ó­t×m­UC­cÇn­t×m­c¸c­hµnh ®éng­cña­HT C¸c­c©u­hái­gióp­t×m­UC

1. Actor­yªu­cÇu­HT­thùc­hiÖn­chøc­n¨ng­nµo?

2. Actor­cÇn­®äc,­t¹o­lËp,­xãa,­l­u­tr÷,­söa­®æi­c¸c­th«ng­tin­nµo­trong­HT?

3. Cã­cÇn­th«ng­b¸o­cho­actor­vÒ­sù­kiÖn­xµy­ra­trong­HT?­Cã­cÇn­actor­th«ng­b¸o­g×­cho­HT?

4. HT­cÇn­vµo/ra­nµo?­Nh÷ng­vµo/ra­®i­®Õn­®©u­hay­tõ­®©u?

Ký­hiÖu­vµ­c¸ch­®Æt­tªn­UC

i.­Ph©n­tÝch­use­case­(uc)Ký­hiÖu­vµ­c¸ch­®Æt­tªn­UCSau khi chỉ ra các UC cần đặt tên cho chúng. Tên

UC nên ngắn gọn, là động từ chỉ hành động tác nghiệp.

Ký hiệu: UC trong UML là một hình elip với tên UC đặt phía dưới.

Ví dụ: Hệ thống thông tin thư viện các chức năng liên quan đến Độc giả là Tìm kiếm tài liệu. Liên quan đến Thủ thư là: Cập nhật, tìm kiếm, quản lý mượn trả.

i.­Ph©n­tÝch­use­case­(uc)

Luång­sù­kiÖn­trong­UC Tµi­liÖu­m«­t¶­chi­tiÕt­NSD­lµm­g×­vµ­HT­lµm­g× Mçi­kÞch­b¶n­chØ­ra­1­luång­sù­kiÖn­trong­1­thÓ­hiÖn­biÕn­thÓ­cña­UC

C¸c­kÞch­b¶n­®i­xuyªn­suèt­UC­theo­nh¸nh­chÝnh,­nh¸nh­phô­hoÆc­nh¸nh­®Æc­biÖt

C¸ch­t¹o­lËp­tµi­liÖu­luång­sù­kiÖn:­th«ng­qua­c¸c­b­íc­sau

1.­M«­t¶­v¾n­t¾t­UC

2.­TiÒn­®iÒu­kiÖn­(liÖt­kª­c¸c­®iÒu­kiÖn­cÇn­tháa­m·n­tr­íc­khi­UC­khëi­®éng)

3.­Luång­sù­kiÖn­chÝnh

4.­Luång­sù­kiÖn­rÏ­nh¸nh

5.­HËu­®iÒu­kiÖn­(liÖt­kª­c¸c­®iÒu­kiÖn­cÇn­tháa­m·n­sau­khi­UC­kÕt­thóc)

i.­Ph©n­tÝch­use­case­(uc) Luång­sù­kiÖn­trong­UC­gåm:

1.UC­khëi­®éng­nh­­thÕ­nµo?

2.C¸c­®­êng­®i­xuyªn­qua­UC

3.Luång­chÝnh,­luång­rÏ­nh¸nh

4.Luång­lçi

5.UC­kÕt­thóc­nh­­thÕ­nµo?

Nh­îc­®iÓm­cña­tµi­liÖu­luång­sù­kiÖn:­víi­nh÷ng­UC­phøc­t¹p­kh«ng­®¶m­b¶o­®­îc­tÝnh­nhÊt­qu¸n,­lµm­cho­ng­êi­ph¸t­triÓn­khã­h×nh­dung

Gi¶i­ph¸p:­kÕt­hîp­m«­t¶­b»ng­v¨n­b¶n­víi­sö­dông­c¸c­biÓu­®å­tr¹ng­th¸i,­ho¹t­®éng,­t­¬ng­t¸c.

ii.­LËp­biÓu­®å­uc M«­h×nh­UC­®­îc­m«­t¶­b»ng­1­hay­nhiÒu­

biÓu­®å­UC BiÓu­®å­UC­chØ­ra­mèi­quan­hÖ­UC-UC,­

actor-UC Quan­hÖ­giao­tiÕp­actor-UC:­actor­(ng­êi)­

kÝch­ho¹t­UC­hoÆc­UC­t¸c­®éng­actor­(HT­ngoµi,­thiÕt­bÞ)

Ký­hiÖu

ii.­LËp­biÓu­®å­ucQuan­hÖ­bao­gåm­(include)­hay­cßn­gäi­lµ­sö­dông­(uses)­gi÷a­c¸c­UC.­Th­êng­dïng­®Ó­m«­h×nh­hãa­nh÷ng­chøc­n¨ng­sö­dông­l¹i

Ký­hiÖu: <<include>>

ii.­LËp­biÓu­®å­uc

Quan­hÖ­më­réng­(extends)­gi÷a­c¸c­UC Ký­hiÖu

Quan­hÖ­tæng­qu¸t­hãa­gi÷a­c¸c­actor­vµ­c¸c­UC

Ký­hiÖu

<<extend>>

Xác định mối quan hệQuan hệ <<include>> : Sử dụng để chỉ ra rằng một use

case được sử dụng bởi 1 use case khác.Quan hệ <<extend>>: sử dụng để chỉ ra rằng một use case

được mở rộng từ một use case khác bằng cách thêm vào một chức năng cụ thể.

Quan hệ generalization: biểu thị use case này là tổng quát còn use case kia là cụ thể hóa của use case đó.

Quan hệ kết hợp: thường dùng để biểu diễn mối liên hệ giữa actor và các use case (một actor kích hoạt một use case).

Phân rã biểu đồ use caseDựa trên các mối quan hệ trên, biểu đồ use case được

biểu diễn lại thành dạng phân cấp gọi là phân rã biểu đồ use case. Nguyên tắc phân rã biểu đồ use case như sau:

- Xác định sơ đồ use case mức tổng quát: từ tập tác nhân và use case đã được xác định, tìm ra các chức năng chính của hệ thống. Các chức năng này phải có tính tổng quát, dễ dàng nhìn thấy được trên quan điểm của các tác nhân.

+ Các dạng quan hệ thường dùng trong sơ đồ use case mức tổng quát là quan hệ kết hợp, quan hệ tổng quát hóa và quan hệ include.

Phân rã biểu đồ use caseXác định sơ đồ use case mức tổng quát:Ví dụ: Trong bài toán quản lý thư viện, xét trên quan

điểm tác nhân bạn đọc, thủ thư, nếu tạm thời chưa xét đến chức năng mượn và trả sách thì chức năng tổng quát của hệ thống là: đăng nhập, cập nhật và tìm kiếm.

Biểu đồ use case mức tổng quát bài toán quản lý thư viện

Phân rã biểu đồ use case

Phân rã các use case mức cao:Tiến hành phân rã các use case tổng quát thành các use

case cụ thể hơn sử dụng quan hệ extend. Các use case con (mức thấp) được lựa chọn bằng cách thêm vào use case cha một chức năng cụ thể nào đó và thường được mở rộng trên cơ sở chuyển tiếp và phân rã các chức năng của hệ thống.

Phân rã biểu đồ use caseVí dụ: Chức năng “ Cập nhật” trong bài toán quản lý

thư viện được phân rã thành: cập nhật bạn đọc và cập nhật tài liệu.

Biểu đồ phân rã use case Cập nhật

Phân rã biểu đồ use case

Tiếp tục phân rã sơ đồ use case cho đến khi gặp use case ở nút lá:

Các use case ở nút lá thường gắn với một chức năng cụ thể trong đó hệ thống thực sự tương tác với các tác nhân (gửi kết quả đến tác nhân hoặc yêu cầu tác nhân nhập thông tin).Trong sơ đồ use case mức 2 nếu còn có use case nào chưa phải là nút lá thì cần tiếp tục được phân rã.

Phân rã biểu đồ use caseVí dụ: Phân rã use case “ cập nhật bạn đọc” và “ Cập

nhật tài liệu”.

Phân rã use case Cập nhật bạn đọc

Phân rã use case Cập nhật tài liệu

Hoàn thiện biểu đồ use case

Người phát triển tiến hành xem xét tất cả các use case đã được biểu diễn trong biểu đồ (tất cả các mức). Nếu còn có use case chưa có trong biểu đồ nào, người phát triển phải xem xét xem chức năng mà use case đó đại diện đã được thực hiện bởi use case khác chưa để bổ sung thêm hoặc loại bỏ use case đó ra khỏi biểu đồ.

L­u­ý­khi­t¹o­biÓu­®å­UC: Kh«ng­m«­h×nh­hãa­giao­tiÕp­actor-actor Kh«ng­nªn­h×nh­thµnh­quan­hÖ­trùc­tiÕp­UC-UC­(trõ­

quan­hÖ­include­vµ­extends) UC­ph¶i­®­îc­actor­khëi­®éng­(trõ­c¸c­UC­cã­quan­hÖ­

include­vµ­extends) Kh«ng­h×nh­thµnh­luång­th«ng­tin­g÷a­c¸c­UC­(tr­êng­hîp­

cã­CSDL­th×­dïng­2­UC­kh¸c­nhau­®Ó­nhËp­DL­vµ­x©m­nhËp­DL)

XÐt­VD:­Rót­tiÒn,­So¹n­th¶o­VB­(x¸c­®Þnh­actor,­c¸c­UC,­mèi­quan­hÖ­actor-UC­vµ­UC-UC­®Ó­vÏ­biÓu­®å)

ii.­LËp­biÓu­®å­uc