Thông tin tài liệu
Phân tích thit k h thng hng đi tng bng UML 74 Chng 6 MÔ HÌNH HOÁ USE CASE Mc tiêu Sau khi hc xong sinh viên có th: - Hiu ý ngha ca vic s dng s đ use case trong biu din yêu cu h thng - Xác đnh đc các tác nhân và mi quan h gia các tác nhân ca mt h thng phn mm - Xác đnh đc các use case biu din chc nng phn mm h thng và mi quan h gia tác nhân cà use case nhm xây dng s đ use case mô t yêu c u phn mm h thng - Tinh ch s đ use case nhm làm gia tng tính din đt, tính tái s dng qua vic s dng các liên kt <<extend>>, <<include>> Gii thiu Trong giai đon phân tích, kt qu ca quá trình kho sát yêu cu phn ánh quá trình làm vic ca ngi phát trin vi ngi s dng. Các kt qu này phi nhm đn yu t ca ngi dùng. Có ngha là ngi phát trin trc tiên phi din đt bc tranh ca h thng tng lai theo cách nhìn ca ngi s dng. iu này s giúp cho ngi dùng có th thy đc h thng s làm thoã mãn các yêu cu nh th nào và đó chính là chìa khoá đu vào cho vic phát trin h thng trong các giai đon v sau. Mt công c giúp din đt điu này chính là mô hình use case. Jacobson và cng s ca ông (1992) là nhng ngi tiên phong trong vic s dng mô hình use case đ phân tích yêu cu h thng. Bi vì mô hình use case đt trng tâm đ biu din h thng hin ti làm gì, h thng mi s làm gì và môi trng c a nó. Nó giúp cho ngi phát trin có th hiu rõ v yêu cu chc nng h thng mà không quan tâm đn chc nng này đc cài đt nh th nào. hiu yêu cu ca h thng, chúng ta phi tìm ra ngi dùng s s dng h thng nh th nào. Do đó t mt quan đim ngi dùng chúng ta phát hin các tình hung s dng khác nhau ca ngi dùng, các tình hung này đc thit lp b i các use case, tng hp các use case và tác nhân cùng vi quan h gia chúng s cho ta mt mô hình use case mô t yêu cu ca h thng. Trong chng 5, quá trình mô hình hoá nghip v đc áp dng đi vi các h thng nghip v và kt qu ca nó s cung cp s đ use case t vic thng nht các yêu cu h thng phn mm đ t đng hoá hot đng ca h thng nghi p v đó. Tuy nhiên, trong nhng h thng mà không có hot đng nghip v (ví d: h thng nhúng), hoc các nghip v ca h thng không quá phc tp hoc không quan tâm đ mô hình hoá nghip v thì vic xây dng mô hình use case phn mm s là bc tip cn mô hình hoá đu tiên v h thng. Mt tin trình xây dng s đ use case bao gm các bc sau: - Xác đnh tác nhân h thng o Ai đang s dng h thng? o Hoc trong trng hp phát trin mi thì ai s s dng h thng? - Phát trin use case o Ngi dùng (tác nhân) đang làm gì vi h thng? Phân tích thit k h thng hng đi tng bng UML 75 o Hoc trong trng hp h thng mi thì ngi dùng s làm gì vi h thng? - Xây dng s đ use case o Xác đnh mi quan h gia tác nhân – use case o Xác đnh mi quan h gia các use case - Phân chia s đ use case thành các gói (package) Xác đnh tác nhân Tác nhân (actor) Ý ngha: mt tác nhân là mt đi tng bên ngoài h thng giao tip vi h thng theo mt trong nhng hình thc sau: - Tng tác, trao đi thông tin vi h thng hoc s dng chc nng h thng - Cung cp đu vào hoc nhn các đu ra t h thng - Không điu khin hot đng ca h thng Ký hiu Tên tác nhân: tên tác nhân là mt danh t Quan h gia các tác nhân: Là quan h tng quát hóa và chuyên bit hoá Ví d: Xác đnh tác nhân Xác đnh tác nhân cng đc xem có tm quan trng nh xác đnh class, use case, liên kt,…. Khi xác đnh ngi s dng phn mm h thng, chúng ta đng quan trng vn đ quan sát ngi nào đang s dng h thng mà chúng ta nên xác đnh xem vai trò chu trách nhim trong vic s dng h thng. Ngha là tác đng lên h thng theo ngha cung cp thông tin cho h thng hoc nhn kt qu x lý t h thng. Tác nhân đc hiu là mt vai trò tham gia vào h thng không ging nh mt con ngi c th hoc mt công vic. Mt đi tng có th tham gia vào mt hoc nhiu vai trò Tên tác nhân <<Actor>> <Tên tác nhân> Khách hàng Khách quen Nhân viên Nhân viên bán hàng Th kho Phân tích thit k h thng hng đi tng bng UML 76 Qua quá trình kho sát và phân tích tài liu h thng, chúng ta có th nhn ra các tác nhân thông qua các câu hi sau: - Ai đang s dng h thng? Hoc ai đc tác đng bi h thng? Hoc nhóm đi tng nào cn h thng tr giúp đ làm công vic? (tác nhân chính) - Ai tác đng ti h thng? Nhng nhóm đi tng nào h thng cn đ thc hin hot đng ca nó (hot đng g m chc nng chính và chc nng ph, nh là chc nng qun tr)? - Nhng phn cng hoc h thng bên ngoài nào s dng h thng? Ví d: trong hot đng ca máy ATM ca mt ngân hàng, các tác nhân đc xác đnh là: Trong đó, các tác nhân Khách hàng, Nhân viên ngân hàng là các tác nhân chính (primary actor) ca h thng ATM. Bi vì khách hàng là mc tiêu mà h thng tng tác; Nhân viên ngân hàng s dng h thng đ tr giúp công vic. Trong khi đó, Nhân viên v n hành là tác nhân ph (secondary actor) bi vì tác nhân này đm nhn nhng chc nng ph mà h thng cn có đ thc hin hot đng ca nó. Hoc trong mt th vin ca trng đi hc, các tác nhân ca h thng phn mm qun lý th viên gm: Xác đnh use case Use case Mt Use case đc xem nh mt chc nng h thng t quan đim ngi dùng, nh vy tp hp tt c use case biu din b mt ca h thng bao gm các chc nng cn có đ cung cp cho các đi tng tng tác làm vic vi h thng. Nh vy, use case dùng đ mô t yêu cu Nguyn Vn A Nguyn Th B Trn Vn C Khách hàng NV bán hàng Bán hàng Th kho t mua NGK Ngi dùng Tác nhân Use case Khách hàng Nhân viên ngân hàng Nhân viên vn hành c gi Th th Nhà cung cp Phân tích thit k h thng hng đi tng bng UML 77 ca h thng mi v mt chc nng, mi chc nng s đc biu din nh mt hoc nhiu use case. Ví d: h thng ca hàng NGK ta có mt vài use case Bán hàng, qun tr tn kho,… Ký hiu Xác đnh use case Chúng ta bt đu t tp các tác nhân đã xác đnh trong bc đu tiên. ng vi mi tác nhân: - Tìm các nhim v và chc nng mà tác nhân s thi hành hoc h thng cn tác nhân đ thi hành và mô hình hoá nó nh là use case. Use case s đi din mt dòng s kin dn ti mt mc tiêu rõ ràng (hoc trong mt vài trng hp, dn ti mt vài mc tiêu riêng bit có th là các phng án thay th cho tác nhân hoc cho h thng so v i dòng s kin chính) - t tên cho use case: tên use case nên đt nhm phn ánh mt mô t tng quan v chc nng ca use case. Tên nên dn đt nhng gì xy ra khi mt th hin ca use case đc thi hành. Mt hình thc đt tên use case ph bin là : đng t (do) + danh t (what). - Mô t use case mt cách ngn gn bng vic áp dng các thut ng gn gi vi ngi s dng. iu này s làm cho mô t use case ít m h. Ví d: trong h thng ATM Tác nhân Khách hàng s s dng h thng qua các chc nng: - Gi tin - Rút tin - Truy vn thông tin v tài khon Tác nhân Nhân viên vn hành s s dng các chc nng - Khi đng h thng - óng h thng Gi tin: khách hàng đng nhp vào h th ng và yêu cu gi tin vào tài khon. Khách hàng s xác đnh tài khon và s tin gi, h thng s to mt giao tác gi tin và lu vào h thng. Các bc nh sau: - Yêu cu xác đnh tài khon - H thng hi s tin gi Gi tin Rút tin Truy vn thông tin tài khon Khi đng h thn g óng h thng Tên use case Bán hàng Qun tr kho Phân tích thit k h thng hng đi tng bng UML 78 - Nhp vào s tin gi - Khách hàng đa tin vào bao th và chuyn vào máy ATM Rút tin: khách hàng đng nhp h thng và yêu cu rút tin t tài khon. Khách hàng xác đnh tài khon và lng tin rút. Sau khi kim tra s d tài khon còn đ, h thng s to mt giao tác rút tin và lu vào h thng. Các bc nh sau: - Yêu cu xác đnh tài khon - Yêu cu xác đnh s tin cn rút - Nhp s tin rút - Kim tra s d có đ không - Chuyn tin ra ngoài Truy vn thông tin tài khon: khách hàng đng nhp vào h thng và yêu cu xem thông tin v các giao dch ca tài khon. H thng hin th các thông tin v các giao tác đã to lên màn hình cho khách hàng. Khi đng h thng: h thng đc khi đng khi nhân viên vn hành bt công tc ca máy. Nhân viên vn hành s đc yêu cu nhp vào s tin hin hành ca máy nm trong két đng tin. Sau đó, h thng s thit lp mt kt ni ti ngân hàng và các dch v ca máy ATM bt đu vn hành. óng h thng: h thng đc đóng li khi nhân viên vn hành đm bo rng không có khách hàng nào đang s dng máy. Khi đó, nhân viên vn hành s ly các bao tin gi ra, bô sung l ng tin, giy,… Trong h thng qun lý th vin, các use case đc xác đnh nh sau: Xác đnh mi quan h Quan h tác nhân – use case : quan h này cho bit tác nhân s tng tác vi use case. Mt use case luôn luôn đc khi to bi mt tác nhân và có th tng tác vi nhiu tác nhân. Ký hiu Ví d: Tên use case Tác nhân X lý mn sách X lý tr sách Tra cu sách ng ký thành viên Mua sách Phân tích thit k h thng hng đi tng bng UML 79 Mi quan h gia các use case Vic mô t use case có th s khó hiu nu use case này cha đng nhiu dòng ph hoc dòng ngoi l ch x lý cho nhng s kin trong nhng điu kin đc bit. làm đn gin mô t này chúng ta s dng thêm các mi kt hp <<extend>> và <<include>>. Liên kt m rng (<<extend>> ): đc dùng khi chúng ta có mt use case tng t nh use case khác nhng có nhiu hn mt vài x lý đc bit. Ging nh liên kt tng quát - chuyên bit, trong đó, use case chuyên bit là mt m rng ca use case tng quát bng vic đa thêm vào các hot đng hoc ng ngha mi vào use case tng quát, hoc b qua hot đng ca use case tng quát. Ví d: gi s ng nhp là mt use case c b n. Use case này s đi din cho tt c nhng gì đc xem là thc hin đng nhp mt cách xuyên sut.Tuy nhiên, nhiu vn đ có th tác đng đn dòng s kin chính. Ví d, mã s PIN không hp l, hoc th không đc đc do b h,…. Do đó, chúng ta không phi luôn luôn thi hành các hot đng thng xuyên ca mt use case đc cho và nh vy, cn thit to ra các use case mi đ gii quyt nh ng tình hung mi. Tt nhiên, chúng ta có th đa vào use case c bn các ni dung x lý đc bit đó. Tuy nhiên, điu này có th dn đn s phc tp vi nhiu lun lý riêng bit và s làm gim vai trò ca dòng chính. gii quyt vn đ này chúng ta có th s dng quan h <<extend>>. đây chúng ta gom các x lý c bn hoc bình thng vào trong mt use case (c bn). Các x lý đc bi t vào X lý mn sách X lý tr sách Tra cu sách ng ký thành viên Mua sách c gi Th th Nhà cung cp Truy vn thông tin tài khon Rút tin Gi tin Khách hàng Khi đng h thn g Nhân viên vn hành óng h thng Phân tích thit k h thng hng đi tng bng UML 80 nhng use case (chuyên bit) khác. Ri to mt liên kt <<extend>> gia use case c bn ti các use case chuyên bit đ khai báo rng: ngoài x lý dòng chính (c bn), use case c bn có m rng đn các tình hung x lý đc bit đc gii quyt trong các use case chuyên bit. To mt use case tng quát có tên là Giao dch ca các use case Rút tin, Gi tin và Truy vn thông tin tài khon. To các liên kt <<extend>> t use case Giao dch đn các use case này. Nh vy, mt rút ti n, hoc gi tin, hoc truy vn thông tin tài khon là mt loi giao dch mà khách hàng có th s dng trên máy ATM. Có ngha rng, các x lý trong use case Giao dch s cung cp mt dòng chung và khi khách hàng chn mt loi giao dch đc bit nào đó thì use case này s m rng vic gii quyt thông qua các use case chuyên bit. Giao dch: khách hàng tng tác vi h thng bt đu bng vic đng nhp h thng. Sau khi đ ng nhp, khách hàng có th thc hin các giao dch. Sau đây là các bc: - a th vào máy - Thc hin đng nhp - Yêu cu loi giao dch - Nhp loi giao dch - Thc hin giao dch - y th ra - Yêu cu ly th - Ly th Trong h thng qun lý th vin, use case Mn sách ngoài dòng hot đng chính còn có các dòng ph. Dòng ph này s đc kích hot đ gii quyt vn đ khi mt đc gi đn mn tài liu nhng không có trong th vin và th vin s mn tài liu đó t nhng th vin khác có liên kt. Hoc do đc gi không tho các điu kin đ đc mn (mn sách quá hn cha Giao dch Rút tin Gi tin Khách hàng Khi đng h thn g Nhân viên vn hành óng h thng Truy vn thông tin tài khon <<extend>> <<extend>> <<extend>> Use case Use case <<extend>> ng nhp Gii quyt PIN khôn g hp l <<extend>> Phân tích thit k h thng hng đi tng bng UML 81 tr ca ln mn trc). Do đó, chúng ta tách dòng ph này và use case “Mn sách t th vin thành viên” và “ ”và to mt liên kt <<extend>> t use case này đn use case X lý mn sách. Liên kt s dng (<<include>>): đc thành lp khi chúng ta có các use case mà tìm thy mt vài use case có nhng dòng hot đng chung, và đ tránh mô t dòng hot đng chung đó lp li trên nhng use case này, chúng ta có th tách nhng dòng hot đng chung đó ra thành mt use case. Use case mi này có th s dng bi nhng use case khác. Quan h gia nhng use case vi use case đc trích ra này gi là quan h <<include>>. Quan h s dng giúp chúng ta tránh s trùng lp bng cách cho phép mt use case có th đc chia s. Trong ví d trên, use case mn sách và tr sách đu phi thc hin công vic kim tra th th vin ca đc gi, do đó chúng ta phát sinh mt use case mi là kim tra th bng cách trích ra hot đng kim tra th th vin t hai use case trên và to mt liên kt <<include>> ti use case t hai use case đó ti use case mi. Các use case X lý mn sách và X lý tr sách đu tha hng tt c hot đng ca use case ca use case kim tra th. Trong h thng ATM, use case Giao dch s có mi liên kt <<include>> vi use case đng nhp. ng nhp: khách hàng nhp vào mã s PIN gm bn ký s. Nu mã s PIN hp l, tài khon ca khách hàng s sn sàng cho các giao dch. Các bc nh sau: - Yêu cu password - Nhp password - Kim tra password Gii quyt PIN không hp l: nu mã s PIN không hp l, h thng s hin th mt thông báo ti khách hàng. Giao dch Khách hàng ng nhp Gii quyt PIN khôn g hp l <<extend>> <<include>> X lý mn sách Mn sách t th vi n thành viên <<extend>> X lý t chi m n sách <<extend>> X lý mn sách X lý tr sách Th th Kim tra th <<include>> <<include>> Phân tích thit k h thng hng đi tng bng UML 82 S ging nhau gia liên kt <<extend>> và liên kt <<include>> là tt c đu đc xem nh là mt loi k tha. Khi chúng ta mun chia s mt s hot đng chung trong nhiu use case, dùng liên kt <<include>> bng cách trích các hot đng chia s đó thành mt use case mi. Khi chúng ta mun thêm vào mt ít khác bit cho mt use case đ mô t mt tình hung đc bit trong mt tình hung chung, chúng ta s to mt use case mi có liên kt <<extend>> vi use case chung đ ó. Da vào các liên kt đc thit lp cho các use case chúng ta phân use case thành hai loi: Use case tru tng: là use case cha hoàn ho ngha là không tng tác vi bt k mt tác nhân nào mà đc s dng bi mt use case khác. Use case tru tng cng có th có liên kt <<extend>> hoc liên kt <<include>> trong nhng mc đ khác. Ví d: các use case Kim tra th, X lý t chi mn sách,… là các use case tru tng. Use case c th: là use case có tng tác trc tip vi m t tác nhân. Ví d: các use case X lý mn sách, X lý tr sách, hoc Khi đng máy,óng máy,…. Mô hình use case ca h thng máy ATM Giao dch Rút tin Gi tin Khách hàng Khi đng h thn g Nhân viên vn hành óng h thng Truy vn thông tin tài khon <<extend>> <<extend>> <<extend>> ng nhp Gii quyt PIN khôn g hp l <<extend>> <<include>> Phân tích thit k h thng hng đi tng bng UML 83 Mô hình use case h thng phn mm qun lý th vin Phân chia các use case thành các gói (package) Mi use case minh ho mt kch bn trong h thng. Khi gp nhng h thng tng đi phc tp thì chúng ta nên thu hp tiêu đim ca các kch bn trong h thng bng cách phân chia thành các gói. Mi gói phn ánh mt phm vi ca h thng mà chúng ta ch mun qun lý nó khi chúng ta truy cp gói đó. Ví d, có th chia các se case ca h thng máy ATM thành ba gói: Giao dch, Rút gi và Vn hành Trong đó, gói Giao dch g m các use case: Giao dch, ng nhp, Gii quyt PIN không hp l; gói Rút gi gm các use case: Gi tin, Rút tin, Truy vn thông tin tài khon; và gói Vn hành gm các use case: Khi đng h thng, óng h thng H thng qun lý th vin đc chia thành ba gói nh sau: Mn tr sách, đng ký thành viên, và Mua sách. X lý mn sách X lý tr sách Tra cu sách ng ký thành viên Mua sách c gi Th th Nhà cung cp Kim tra th <<include>> <<include>> Mn sách t th vi n thành viên X lý t chi m n sách <<extend>> <<extend>> Giao dch Rút gi Vn hành . use case t hai use case đó ti use case mi. Các use case X lý mn sách và X lý tr sách đu tha hng tt c hot đng ca use case ca use case. đng chung đó ra thành mt use case. Use case mi này có th s dng bi nhng use case khác. Quan h gia nhng use case vi use case đc trích ra này gi
Ngày đăng: 19/12/2013, 20:46
Xem thêm: Phân tích thiết kế hệ thống hướng đối tượng bằng UML: mô hình hóa use case, Phân tích thiết kế hệ thống hướng đối tượng bằng UML: mô hình hóa use case