chuong3 linh
TRANSCRIPT
Ch¬ng3:usecaseNé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©ntÝchusecase(uc)UClµg×?
UCm«t¶ai®ãsödôngHTnhthÕnµo,m«t¶t¬ngt¸cgi÷aNSDvíiHTphÇnmÒm®ÓthùchiÖngi¶iquyÕtmétc«ngviÖccôthÓ.
UClµmétphÇncñavÊn®ÒcÇngi¶iquyÕt,lµnÒnt¶ngcñaph©ntÝchHT
MçiUCcãnhiÒubiÕnthÓ,chóng®îcgäilµc¸ckÞchb¶n(Scenario),ph¶ix¸c®ÞnhchitiÕtc¸ckÞchb¶n®ÓHTxölýchÝnhx¸c
VD:UC“RóttiÒn”cãc¸cbiÕnthÓRótthµnhc«ng,Kh«ngrót®îcv×saiPIN,Kh«ngrót®îcv×yªucÇurótqu¸sètiÒntheoqui®Þnh,...
MçiUC®ÒuthÓhiÖnsùt¬ngt¸cgi÷at¸cnh©n(actor)vµHTC¸cho¹t®éngph©ntÝch,thiÕtkÕ,cµi®Æt,kiÓmthö®Òuliªnquan®ÕnUC
Ch¬ng3:usecaseC¸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©ntÝchusecase(uc)T×mactorvµUC
Actor:thùcthÓbªnngoµit¬ngt¸c®ÕnHTcÇnx©ydùng.CãthÓlµconngêi(®iÓnh×nhcñamçiHT),HTkh¸chaythiÕtbÞphÇncøng
KýhiÖuvµc¸ch®ÆttªnactorC¸cc©uháigiópt×mactor:
1.Aisödôngchøcn¨ngchÝnhcñaHT?
2.AigiópHTlµmviÖchµngngµy?
3.Aiqu¶ntrÞ,b¶odìngHT?
4.C¸cHTnµot¬ngt¸cvíiHTnµy?
i.Ph©ntÝchusecase(uc)KýhiÖuvµc¸ch®Ættªnactor 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©ntÝchusecase(uc) T×mUC:
B¾tbuécph¶icãvaitrßcñakh¸chhµng.PPchÝnh:phángvÊnNSDvµnghiªncøutµiliÖucñahä.
§Ót×mUCcÇnt×mc¸chµnh ®éngcñaHT C¸cc©uháigiópt×mUC
1. ActoryªucÇuHTthùchiÖnchøcn¨ngnµo?
2. ActorcÇn®äc,t¹olËp,xãa,lutr÷,söa®æic¸cth«ngtinnµotrongHT?
3. CãcÇnth«ngb¸ochoactorvÒsùkiÖnxµyratrongHT?CãcÇnactorth«ngb¸og×choHT?
4. HTcÇnvµo/ranµo?Nh÷ngvµo/ra®i®Õn®©uhaytõ®©u?
KýhiÖuvµc¸ch®ÆttªnUC
i.Ph©ntÝchusecase(uc)KýhiÖuvµc¸ch®ÆttªnUCSau 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©ntÝchusecase(uc)
LuångsùkiÖntrongUC TµiliÖum«t¶chitiÕtNSDlµmg×vµHTlµmg× MçikÞchb¶nchØra1luångsùkiÖntrong1thÓhiÖnbiÕnthÓcñaUC
C¸ckÞchb¶n®ixuyªnsuètUCtheonh¸nhchÝnh,nh¸nhphôhoÆcnh¸nh®ÆcbiÖt
C¸cht¹olËptµiliÖuluångsùkiÖn:th«ngquac¸cbícsau
1.M«t¶v¾nt¾tUC
2.TiÒn®iÒukiÖn(liÖtkªc¸c®iÒukiÖncÇntháam·ntríckhiUCkhëi®éng)
3.LuångsùkiÖnchÝnh
4.LuångsùkiÖnrÏnh¸nh
5.HËu®iÒukiÖn(liÖtkªc¸c®iÒukiÖncÇntháam·nsaukhiUCkÕtthóc)
i.Ph©ntÝchusecase(uc) LuångsùkiÖntrongUCgåm:
1.UCkhëi®éngnhthÕnµo?
2.C¸c®êng®ixuyªnquaUC
3.LuångchÝnh,luångrÏnh¸nh
4.Luånglçi
5.UCkÕtthócnhthÕnµo?
Nhîc®iÓmcñatµiliÖuluångsùkiÖn:víinh÷ngUCphøct¹pkh«ng®¶mb¶o®îctÝnhnhÊtqu¸n,lµmchongêiph¸ttriÓnkhãh×nhdung
Gi¶iph¸p:kÕthîpm«t¶b»ngv¨nb¶nvíisödôngc¸cbiÓu®åtr¹ngth¸i,ho¹t®éng,t¬ngt¸c.
ii.LËpbiÓu®åuc M«h×nhUC®îcm«t¶b»ng1haynhiÒu
biÓu®åUC BiÓu®åUCchØramèiquanhÖUC-UC,
actor-UC QuanhÖgiaotiÕpactor-UC:actor(ngêi)
kÝchho¹tUChoÆcUCt¸c®éngactor(HTngoµi,thiÕtbÞ)
KýhiÖu
ii.LËpbiÓu®åucQuanhÖbaogåm(include)haycßngäilµsödông(uses)gi÷ac¸cUC.Thêngdïng®Óm«h×nhhãanh÷ngchøcn¨ngsödôngl¹i
KýhiÖu: <<include>>
ii.LËpbiÓu®åuc
QuanhÖmëréng(extends)gi÷ac¸cUC KýhiÖu
QuanhÖtængqu¸thãagi÷ac¸cactorvµc¸cUC
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 đồ.
Luýkhit¹obiÓu®åUC: Kh«ngm«h×nhhãagiaotiÕpactor-actor Kh«ngnªnh×nhthµnhquanhÖtrùctiÕpUC-UC(trõ
quanhÖincludevµextends) UCph¶i®îcactorkhëi®éng(trõc¸cUCcãquanhÖ
includevµextends) Kh«ngh×nhthµnhluångth«ngting÷ac¸cUC(trênghîp
cãCSDLth×dïng2UCkh¸cnhau®ÓnhËpDLvµx©mnhËpDL)
XÐtVD:RóttiÒn,So¹nth¶oVB(x¸c®Þnhactor,c¸cUC,mèiquanhÖactor-UCvµUC-UC®ÓvÏbiÓu®å)
ii.LËpbiÓu®åuc