Phân tích và đặc tả các yêu cầu hệ thống

Một phần của tài liệu giáo trình ngôn ngữ hóa thống nhất uml (Trang 61 - 195)

- 17

3.2 Phân tích và đặc tả các yêu cầu hệ thống

Khái niệm ca sử dụng, hay trường hợp sử dụng (Use Case) đượcIvan Jacobson đề xuấttừnăm1994nhằmmôtảcácdịchvụcủahệthốngchokháchhàngvàxácđịnh mốiquanhệtươngtácgiữahệthốngphầnmềmvớiNSDtrongnghiệpvụ.

Một cách hình thứchơn, ca sử dụng mô tả tập các hoạt động của hệ thống theo

quan điểm của các tác nhân (Actor). Nó mô tả các yêu cầu của hệ thống vàtrảlờicho

câuhỏi:

Hệthốngphảilàm cái gì(What?).

Casửdụngmôtảmộtquátrìnhtừbắtđầuchođếnkhikếtthúc,gồmdãycácthao tác, cácgiaodịchcần thiếtđể sảnsinh racáigìđó (giátrị,thông tin)theo yêucầucủa một tổchức,củatácnhân,v.v.

Casửdụngđượckýhiệulà:

Hoạtđộng

Hình3-1 Kýhiệucủacasửdụng

-49-

Trongđó,“Hoạt động”làcácchứcnăng,nhiệmvụhaygọi chunglà dịchvụcủa hệthốngvànó thườngđượcmôtảbằngcác động từ,hay mệnh đề động từ đơn, vídụ:

bán hàng, thanh toán, khởi động hệ thống, v.v.

Những ca sử dụng phức tạp sẽ được mô tả chi tiết thông qua các kịch bản (scenario).

Mục tiêucủacasửdụngtrongcảquátrìnhpháttriểnphầnmềm:

 Mô tả các yêu cầu chứcnăng củahệ thống, làkết quả củaquá trìnhkhảo sát, nghiên cứu các yêu cầu của bài toán và những thoả thuận giữa khách hàng, NSDhệthốngvớingườipháttriểnphầnmềm.

 Làmcơsởđểngườiphântíchviênhiểu,ngườithiếtkếxâydựngcáckiếntrúc, ngườilập trìnhcàiđặt các chứcnăng,ngườikiểmduyệtkiểm tracác kếtquả thựchiệncủahệthống.

Các ca sử dụng đóng vai trò rất quan trọng trong cả quá trình phát triển phần mềm, tấtcả cácphaphân tích, thiếtkế saunàyđều dựa vàocác casửdụng.Như vậy, quá trình đượchướng dẫn bởi ca sử dụng (use case driven process) là một cách hữu hiệuđểmôhìnhhoáhệthốngvớiUML.

3.2.2 Tác nhân

Tác nhân ngoài, hay gọi ngắn gọn là tác nhân (External Actor, Actor) là những thực thểbên ngoàicó tương tácvớihệ thống, bao gồm người,vật,thiết bịhaycác hệ thống khác có trao đổi thông tin vớihệ thống. Nói cách khác, tác nhân đại diện cho người hay một bộ phận của tổ chức mong muốn nhận được các thông tin (dữ liệu) hoặccáccâutrảlờitừnhữngcasửdụngtươngứng.

Ví dụ: Khách mua hàng, người bán hànglàhaitácnhâncủaHBH.

Kýhiệucủatácnhânlà hình nhân cùng với tên gọinhưhình3-2.

Kháchhàng

Hình3-2 Kýhiệutácnhân Khách hàng

Tên gọi của tác nhânđượcmô tảbằng cácdanhtừ(chung)vàthườngphải đặctả

đượcvaitròcủanóđốivớihệthống.

Tácnhântraođổi vớihệthống thôngquaviệctươngtác,sửdụngcácdịchvụcủa hệthốnglàcáccasửdụngbằng cáchtrao đổicácthôngđiệp(Message). Nhưvậy,tác nhânsẽcungcấphoặcsửdụngcácthôngtincủahệthốngthôngquacáccasửdụng.

Trảtiềnmặt

Thanhtoán Kháchhàng

-50 -

Hình3-3Tácnhân Khách hàngtươngtácvớicasửdụng Thanh toán

Thôngthường trong mỗi hệ thống,khách hàng, NSD, ngườiquản lý, ngườiphụ vụ,v.v.cóthể xemnhư làcáctácnhân củahệthống đó.Chúng tacũngdễ nhận thấy, mộtcasửdụngthìphảiđượckhởiđộngbởi,hayphụcvụchomộthaynhiềutácnhân.

3.2.3Xácđịnhcáccasửdụngvàcáctácnhân

Thôngthườngviệcxácđịnhvàhiểurõcácyêucầuhệthốnglàrấtkhókhăn, phức tạp vìkhốilượngthôngtin liênquanlàrấtnhiều,đượcmôtảlộn xộnvà khôngcócấu trúc.KháiniệmcasửdụngđượcđưarađểbiểuthịcácyêucầutừphíaNSD,xuấtphát từquanđiểmđơn giảnlàhệthốngđượcxâydựngtrướchếtlàchonhữngNSDchúng, làđểphụcvụtốtchokháchhàng.

Như trên đã phân tích, các tácnhân và cácca sửdụng của một hệ thống có mối quan hệchặtchẽvới nhau. Mỗitácnhânphải liênquan đếnítnhấtmột casửdụngvà ngượclạimỗicasửdụnglạiphụcvụtrựctiếphoặcgiántiếpchomộtsốtácnhân.Như vậy, cáctác nhânvàcáccasửdụngcùngmốiquanhệ củachúngmô tảbức tranhkhái quát về hệ thống, đặc tảđầy đủ về các yêu cầu của hệ thống.Do đó,vấnđề rất quan trọng đặt ralà làm thếnào để xácđịnh đượcđầyđủ và chính xáccác tácnhân ngoài, cáccasửdụngcủahệthốngcầnxâydựng.

Xácđịnhcáctácnhân

Tác nhân là một bộ phận bên ngoài hệ thống nhưng cộng tác chặt chẽ với hệ thống. Nó chính là đối tượng màhệ thống phục vụ hoặc cần có để cungcấp dữ liệu. Dođó,nhiệmvụtrướctiêncủangườiphântíchlàxácđịnhcáctácnhân.

Mộttrongcác kỹthuậthỗtrợ để xácđịnhcáctácnhân làdựa trêncác câutrảlời nhữngcâuhỏisau:

 Aisẽsửdụngcácchứcnăngchínhcủahệthống?

 Aicầnsựhỗtrợcủahệthốngđểthựchiệncáccôngviệchàngngày?

 Aiquản trị,bảodưỡngđểđảmbảochohệthốnghoạtđộngthườngxuyên?

 Hệthốngquảnlý,sửdụngnhữngthiếtbịnào?

 Hệthốngcầntươngtácvớinhữngbộphận,hệthốngnàokhác?

 Aihaycáigìquantâmđếnkếtquảxửlýcủahệthống?

Xácđịnhcáccasửdụng

Bướctiếp theo là xácđịnh các casửdụng dựa trênnhững tài liệuđặc tảcác yêu cầu,thôngquacáctácnhân,v.v.Cóhaiphươngpháp chínhhỗtrợgiúptaxácđịnhcác casửdụng:

-51 -

a. Xác định những tác nhân liên quan đến hệ thốnghoặc đến tổ chức, nghĩa là tìm và xác định những tác nhân là NSD hay những hệ thống khác tương tác vớihệthốngcầnxâydựng.

b. Với mỗitác nhân, tìm những tiến trình (chức năng)được khởiđầu, hay giúp cáctácnhânthựchiện,giaotiếp/tươngtácvớihệthống.

2. Phươngphápthứhaiđểtìm cáccasửdụng là dựa vào các sự kiện.

a. Xác định những sự kiện bên ngoài có tác động đến hệ thống hay hệ thống phảitrảlời.

b. Tìmmốiliênquangiữacácsựkiệnvàcáccasửdụng.

Tươngtựnhưtrên,hãytrả lờinhữngcâuhỏisauđâyđểtìmracáccasửdụng: 1. Nhiệmvụchínhcủacáctácnhânlàgì?

2. Tác nhân cần phải đọc, ghi, sửa đổi, cập nhật, hay lưu trữ thông tin hay không?

3. Nhữngthayđổibên ngoàihệthốngthì tácnhân có cầnphảithông báochohệ thốnghaykhông?

4. Nhữngtácnhânnàocầnđượcthôngbáovềnhữngthayđổicủahệthống? 5. Hệthốngcầncónhữngđầu vào/ranào?,từđâuvàđếnđâu?

Dựavàocácphươngphápnêu trên,chúng tahãyxácđịnhcáctácnhân vàcácca sửdụng củahệthốngHBH.

1. Danhsáchcác tácnhâncủaHBH:

+ Khách hàng (Customer): là những người được hệ HBH phục vụ, là khách hàng.

+ Người bán hàng (Cashier): những người cần sửdụng chức năng bán hàng củahệthốngđểthựchiệnnhiệm vụcủamình.

+ Người quản lý (Manager):nhữngngườiđược phépkhởiđộng(Start Up)hay kếtthúccảhệthống(Shut Down)tạicácđiểmbánhàngđầucuối.

+ Người quản trị hệ thống (System Administrator): có thể bổ sung, thay đổi nhữngNSD.

2. Danhsáchcáccasử dụngcủaHBH

1. Bán hàng, mua hàng (Buy Items)là nhiệm vụ củahệ thống HBH liên quan

trựctiếp tới khách hàng và người bán hàng. Trongtrường hợpnày, haichức năng bán hàng và mua hàng là đồng nghĩa, nên có thể chọn một trong hai chức năng đó. Ca sử dụng này liên quan đến cả người bán hàng và khách

hàng.

2. Thanh toán, trả tiền mua hàng hay thu tiền (Refund Items, Cash Out): là chức năng mà hệ thống phải thực hiện để thanh toán với khách hàng bằng

- 52 -

Tác nhân Ca sử dụng

Ngườibánhàng(Cashier) Đăngnhậphệthống(LogIn) Thutiềnbánhàng(CashOut) Kháchhàng(Customer) Muahàng(BuyItems)

Thutiền,thanhtoán(RefundItems) Ngườiquảnlý(Manager)

Haygianhàngtrưởng

Khởiđộng hệthống(Start Up)đểngười n

hàngcóthểsửdụngđểbánhàng. Đónghệthốngkhihếtgiờ(ShutDown) Quản trị hệ thống

(SystemAdminitrator)

BổsungNSD(AddNewUsers) LoạibỏNSD(DeleteUser)

phươngthứcmàhọ lựachọn: trảtiềnmặt,thẻtíndụng,haytrảbằng séc. Ca sửdụngnàycũngliênquanđếncả người bán hàngvà khách hàng.

3. Đăng nhập hệ thống (Log In): Người bán hàng cần sửdụng đểnhập vào hệ thốngvàsửdụngnóđểbánhàng.

4. Khởi động (Start Up), Đóng hệ thống (Shut Down): Người quản lýthựchiện đểkhởiđộnghaykếtthúchoạtđộngcủahệthống.

5. Bổ sung NSD mới (Add New Users), Loại bỏ NSD (Remove User): Người

quản trị hệ thống cóthể bổsungthêmngườisửdụngmớihayloạibỏ những

NSDkhôngcòncầnsửdụnghệthống.

Sau khi xác định được các tác nhân và các ca sử dụng thì phải đặt lại tên cho chúng.Têncủacáctácnhânvàcasửdụngphảiđơn giản,rõnghĩavàphùhợp vớilĩnh vựccủabàitoánứngdụng.

 Tên củatácnhânphảilà danh từ chungvàbiểuhiện đượcvaitròcủanótrong cácmốiquanhệvớihệthống.

 Tên của ca sửdụng phải bắt đầu bằng động từ, là mệnh đề đơn, ngắn gọnvà môtảđúngnhiệmvụmàhệthốngcầnthựchiện.

người bán, nhưng trong hệ HBH ta có thể sử dụng một tên gọi chung là bán hàng. Tương tự, Thu tiền bán hàng và Thu tiền có thể đồng nhất là Thu tiền hoặc Thanh

toán.

3.2.3 Đặctả cáccasửdụng

Để hiểurõ hơn vềtiến trình xửlý cácyêu cầucủahệ thống, tanên xâydựngcác đặctảchocáccasửdụng.

-53-

Mẫu(Format)đặctảcasửdụngcódạng:

Ca sử dụng: Têncủacasửdụngbắtđầubằngđộngtừ.

Các tác nhân: Danh sách các tác nhân liên quan đến ca sử dụng, chỉ rõ ai bắt

đầuvớicasửdụngnày.

Mô tả:Môtảtómtắttiếntrìnhxửlýcôngviệccầnthựchiện.

Tham chiếu:Cácchứcnăng, casửdụngvànhữnghệthốngliênquan.

Ví dụ:ĐặctảmộtsốcasửdụngtrongHBH:

1.Casửdụng: Mua hay bán hàng(BuyItems)

Tác nhân:Kháchhàng,ngườibánhàng

Mô tả: Kháchhàngsaukhiđãchọnđủ cácmặthàngcầnmuađểởtronggiỏhàng

thìđưahàngđếnquầythutiền. Ngườibán(cashier)lầnlượtghinhậncác mặthàng tronggiỏhàng củakhách và thutiền. Sau khi thanhtoán xong kháchhàngđượcmangsốhàngđãmuađirakhỏicửahàng.

Tham chiếu tới:Cácchứcnăng R1.1,R1.2,2R1.3, R1.6,R1.7,R1.8, R2.1,R2.2,

R2.3.

2.Casửdụng: Thu tiền(thanhtoán)

Tác nhân:Kháchhàng,ngườibánhàng.

Mô tả:Kháchhàngcóthểtrảtiềntheo3phươngthức:

1.Trảtiềnmặt(PaybyCash)

2.Trảbằngthẻtíndụng (PaybyCredit) 3.Trảbằngséc(PaybyCheck)

Ngườibánnhậntiềnmặt,thẻtíndụng,tiềnsécrồi thanhtoántiềnthừachokhách

hàngsaukhithẻtíndụng,sécđãđượckiểmduyệt.

Tham chiếu tới:CácchứcnăngR1.1,R1.2,2R1.3,R1.9,R2.1,R2.2,R2.3.

Tươngtựmôtảtiếpcáccasửdụngcònlại.

Như trongđặc tả casửdụng “Thu tiền” ta thấynó lạiđược phân làmba trường hợp: Thu tiền mặt, thu bằng thẻ tín dụng và thu bằng séc.Do đó, đểhiểu rõ hơn các hoạt động của hệ thống chúng ta có thể bổ sung thêm ba ca sử dụng mới: Thu tiền

mặt, thu bằng thẻ tín dụng và thu bằng séc. Để thành toánđược bằng thẻ tín dụng và

bằng séc thìthẻtíndụng,sécphảiđượckiểmduyệtbởicáctácnhân:

+ Bộ phận kiểm duyệt thẻ tín dụng (Credit Authorization Service): Giúp hệ thốngkiểmtrathẻtíndụng.

-54 -

+ Bộ phận kiểm duyệt séc(Check Authorization Service):Giúp hệ thống kiểm

traséc.

Ngoàinhữngđặctảnêutrên,tacòncóthểxâydựngcác kịch bản (scenario)hành độngđể mô tảcác sự kiệnxảy ratronghệ thống.Mỗi kịchbản có thể mô tảtheo hai luồng: luồngthựchiện của các tácnhân và luồng tương ứngvới hệ thống. Ví dụ:đối vớicasửdụng“Bán hàng”cókịchbảnthựchiệnnhưsau:

Hành động của các tác nhân Hành động của Hệ thống

1. Kháchhàngsaukhichọnđủsốhàngcầnthiếtthìđưa hàngđãchọnđếnchoquầythutiền

2. Người bán ghi nhận từng mặt hàng. Nếu một mặt 3.Xácđịnhgiávàcácthông hàngmuavớisốlượngnhiềuhơnthìngườibánnhập

vàosốlượngđóvàotừbànphím.

4. Khi đã nhập xong các mặt hàngcủa khách đã chọn muathìngườibánphảichỉchohệHBHbiếtlàđãkết thúc phiên bán hàng bằng cách nhấn phím Enter hoặcnhấnnút“Kếtthúc”phiênbánhàng(EndSale).

6. Người bán thông báo cho khách hàng biết tổng số tiềnphảitrả.

7. Kháchhàngchọnphươ ngthứcthanhtoán:

a) Nếuchọntrả tiềnmặt:xemtiếpkịchbản con

(Sub_scenario)Thu

b) Nếu trảbằngthẻtíndụng:xemkịchbảncon

Thubằngthẻtíndụng.

c) Nếutrảtiềnséc:xemkịchbảnconThubằng Check. - 55 - tin về sản phẩm được hiểnthị. 5. Tính và hiển thị tổng số tiềnbánhàng.

8. Hiển thị số tiền dư phải trảchokháchhàng 9. Kết thúc một phiên giao dịchbánhàng. 10. C ập nhật lại các h àng trongcửahàng. 11. Phát sinh phiếu bán hàng(hoáđơn).

12.Người bántrả tiềnthừa vàđưa phiếubán hàngcho kháchhàng.

13.Kháchhàngrakhỏicửahàngvớihàngđãthanhtoán.

Lưu ý: Nếukháchhàngkhôngtrảđủtiền,hoặckhithẻtíndụng,séckhônghợplệ

thìhuỷbỏphiêngiaodịchđó.

Sau đó xâydựng những kịchbản khác hoặc những kịchbản con để hiểu vànăm bắtđượcmọiyêucầucủahệthống.

Sauđâychúngtaxéttiếpkịchbảncon Thu tiền mặtcủacasửdụng Thu tiền.

Hành động của các tác nhân Hành động của Hệ thống

vàtrảchongườibántiềnmặt.

2. Người bán nhập vào số tiền khách hàng trả (số nàycóthểlớnhơnsốtiềnphảitrả).

3.Hệthốnghiểnthịsố dưphải trảlạichokhách.

4. Ngườibántrảlạitiềndư.

Kịchbảncon“Thu bằng thẻ tín dụng

Hành động của các tác nhân Hành động của hệ thống

1.Kháchhàngtrảbằngthẻtíndụng.

2. Phát sinh yêu cầu trả thẻ tín dụng và gửi nó tới bộ phận kiểmtrathẻtíndụng.

3. Bộ phận kiểm tra thẻ cho phép trả tiền tín dụng saukhiđãkiểmtra.

4. Trừ số tiền phải trả vào tài

-56 -

khoảntíndụng.

3.3 Biểuđồcasửdụng

Biểu đồ ca sử dụng chỉramốiquanhệgiữa cáctácnhân vàcácca sửdụngtrong

hệthống.

Mỗicasửdụngcầnphảibiểudiễntrọnvẹnmộtgiaodịch giữaNSDvàhệthống.

Mốiquanhệgiữacáccasửdụng

Giữacáccasửdụngcóbaquanhệ chính: quan hệ mở rộng (extends), quan hệ sử

dụng (uses)và quan hệ theo nhóm hay theo gói (package).

1. Quan hệ mở rộng

Trongkhixâydựngnhữngcasửdụng,tanhậnthấycónhững casửdụnglạiđược sửdụngnhưlàmộtphầncủa chứcnăngkhác.Trongnhữngtrườnghợp nhưthếtanên xây dựng một casử dụng mớimở rộngmột haynhiều ca sửdụng đã xác định trước. Ca sửdụngmới đượcgọi là ca sử dụng mở rộng củanhững casửdụng cũ.Mốiquan

Một phần của tài liệu giáo trình ngôn ngữ hóa thống nhất uml (Trang 61 - 195)

Tải bản đầy đủ (DOCX)

(195 trang)
w