OOD實(shí)例閱讀筆記(二)
Use case 圖包括的內(nèi)容
Use case圖是用于需求分析的工具。他和實(shí)現(xiàn)技術(shù)沒有任何關(guān)聯(lián)。他的目的寫出特定情況下的需求。
首先就是要有一定的場(chǎng)景。場(chǎng)景包括特定的環(huán)境(case 發(fā)生的條件),參與的人(action)和系統(tǒng)所做的響應(yīng)。
一般情況下回采用黑箱的use
case(blak – box
use case)。黑箱的use case不關(guān)心具體的實(shí)現(xiàn)。只是確定系統(tǒng)的責(zé)任。
下面就提供一個(gè)use
case的描述。
USE
CASE 5
|
Buy Goods
|
Goal
in Context
|
Buyer issues request directly to our
company, expects goods shipped and to be billed.
|
Scope
& Level
|
Company, Summary
|
Preconditions
|
We know Buyer, their address, etc.
|
Success
End Condition
|
Buyer has goods, we have money for the
goods.
|
Failed
End Condition
|
We have not sent the goods, Buyer has not
spent the money.
|
Primary,
Secondary
Actors
|
Buyer, any agent (or computer) acting for
the customer.
Credit card company, bank, shipping
service
|
Trigger
|
purchase request comes in.
|
DESCRIPTION
|
Step
|
Action
|
|
1
|
Buyer calls in with a purchase request
|
|
2
|
Company captures buyer’s name, address,
requested goods, etc.
|
|
3
|
Company gives buyer information on goods,
prices, delivery dates, etc.
|
|
4
|
Buyer signs for order.
|
|
5
|
Company creates order, ships order to
buyer.
|
|
6
|
Company ships invoice to buyer.
|
|
7
|
Buyers pays invoice.
|
EXTENSIONS
|
Step
|
Branching
Action
|
|
3a
|
Company is out of one of the ordered
items:
3a1.
Renegotiate order.
|
|
4a
|
Buyer pays directly with credit card:
4a1.
Take payment by credit card (use case 44)
|
|
7a
|
Buyer returns goods:
7a.
Handle returned goods (use case 105)
|
SUB-VARIATIONS
|
|
Branching
Action
|
|
1
|
Buyer may use
phone
in,
fax
in,
use
web order form,
electronic
interchange
|
|
7
|
Buyer may pay by
cash
or money order
check
credit
card
|
RELATED
INFORMATION
|
5. Buy Goods
|
Priority:
|
top
|
Performance
|
5 minutes for order, 45 days until paid
|
Frequency
|
200/day
|
Channel
to actors
|
not yet determined
|
OPEN
ISSUES
|
What if we have part of the order?
What is credit card is stolen?
|
Due
Date
|
release 1.0
|
...any
other
management
information...
|
|
Superordinates
|
Manage customer relationship (use case 2)
|
Subordinates
|
Create order (use case 15)
Take payment by credit card (use case 44)
|
這個(gè)例子是http://alistair.cockburn.us/usecases/usecases.html
中的template的一個(gè)很整是的例子。
下面我在舉一個(gè)修改密碼的case.
Change Password
該case在用戶選這修改密碼是觸發(fā)。Check輸入的兩個(gè)密碼是否相同。Check當(dāng)前用戶然后更新數(shù)據(jù)庫。
Purpose
允許用戶修改自己的密碼。
Overview
這個(gè)case是為了給用戶提供修改密碼的可能。用戶可以通過點(diǎn)擊“Change My Pasword”菜單項(xiàng)來觸發(fā)。系統(tǒng)會(huì)彈出一個(gè)對(duì)話框供用戶輸入他的新密碼。用戶可以按“OK”或“Cancel”來選擇保存或放棄修改。系統(tǒng)這時(shí)會(huì)檢驗(yàn)用戶輸入的信息是否正確。如果用戶輸入正確,保存用戶信息,返回主窗體。否則給用戶重來的機(jī)會(huì)。
Typical Course of Events
|
Line
|
Actor Action
|
System Response
|
1
|
用戶點(diǎn)擊”Chang My Password”菜單項(xiàng)。
|
|
2
|
|
系統(tǒng)顯示一個(gè)可以讓用戶輸入新密碼和Comfirm的對(duì)話框。
|
3
|
用戶輸入信息并點(diǎn)擊”O(jiān)K”按鈕.
|
|
4
|
|
系統(tǒng)Check輸入的信息。
|
5
|
|
把用戶輸入的信息更新到數(shù)據(jù)庫。
|
6
|
|
關(guān)閉對(duì)話框。顯示修改成功或失敗的提示信息。結(jié)束當(dāng)前case.
|
Alternative courses
|
3
|
用戶不點(diǎn)”O(jiān)K”而點(diǎn)擊”Cancel”。關(guān)閉對(duì)話框,結(jié)束該case.
|
4
|
系統(tǒng)監(jiān)測(cè)到下列三種情況的一個(gè):(1)舊的密碼不正確。(2)兩次輸入的新密碼不相同。(3)新密碼格式不正確。系統(tǒng)顯示一個(gè)錯(cuò)誤信息。清除當(dāng)前對(duì)話框中的內(nèi)容。允許用戶重試。返回到第3步。
|
5
|
系統(tǒng)保存出錯(cuò)。顯示錯(cuò)誤信息。結(jié)束當(dāng)前case.
|
|