2008年11月29日 星期六
2008年11月21日 星期五
流程整合的概念與範例
Activity: Check credit, Check inventory, send a notification, confirm a transaction, calculate total
Process: Add a new customer(open account), place & complete an order, Get a quotation
Business rule samples
1. 地址要包含zip code
1.1 zip使用3碼格式
1.2 未來增加檢查zip code的範圍,例如區分北台灣, 中台灣, 南台灣
1.3 zip code要在地址字串的最前面臨
2008年10月24日 星期五
2008年10月18日 星期六
2008年8月22日 星期五
評估程式設計師的能力
Love to code (動機)
使命必達
Follow process/guidelines
Maintainable
Reuse available asset
Learn new technology
Code quality
User-friendly (使用者導性)
相容性(客戶導向)
2008年8月19日 星期二
SOA References
http://cid-90dadd2e56b02895.skydrive.live.com/browse.aspx/%e5%85%ac%e9%96%8b/SOA?uc=2
http://events.oasis-open.org/home/sites/events.oasis-open.org.home/files/David_Keene_OASIS_Open_Standards_Forum.ppt
http://developers.sun.com/learning/javaoneonline/2008/pdf/TS-4871.pdf?cid=925379
2008年8月16日 星期六
2008年5月23日 星期五
Auction UC - Manage Account
1.1 Brief Description
The Manage Account use case allows the User to update the user information maintained in the User's account, or to deactivate the User's account.
When modifying the account, the entered information is validated and stored in the User's account.
If new credit card information is entered, the system attempts to pay any pending payment notices via the Credit Service Bureau.
If there are any auctions in progress for the account, or the User has any pending payments, the account cannot be deactivated.
A deactivated account is not deleted from the system (it may be needed later for auditing purposes), but it cannot be accessed by the User. Thus, a deactivated account cannot be used to sign in. Deactivated user accounts are removed by a separate archiving process (see the Archive Deactivated Items use case). A new account with the same username cannot be reused until the “old” user account is archived.
The User must be signed in in order to update his/her account. See the Sign In use case.
For information on how a user account is created, see the Create Account use case.
Auction UC - Create Account
1. Create Account
1.1 Brief Description
The Create Account use case allows the User to create and activate an account that contains information for the User.
At the time the user activates the account the user is signed in.
Auction UC - Close Auction
1. Close Auction
1.1 Brief Description
At the expiration of the end of auction timer, this use case closes out an auction. The end of auction timer is set when the Seller specifies a bidding time limit when the auction is created. See the Create Auction use case.
When an auction is closed, the current best bid for the item is accepted (the best bid becomes the purchase price for the item). The system notifies the Buyer and Seller that the auction has completed and provides each with the final purchase price for the item, as well as contact information for the other.
The Seller's credit card (credit card information is maintained with the auction and/or with the user account) is charged the transaction fee.
Auction UC - Cancel Bid
1. Cancel Bid
1.1 Brief Description
A Buyer may bid on an item (see the Bid On Item use case). A bid may be cancelled by the Buyer or Seller.
The Seller can cancel a bid if:
· The Seller cannot verify Buyer’s identity
· They Buyer contacts the Seller and requests the cancellation of his/her bid
· The Seller decides to cancel the auction (see Cancel Auction use case)
The Buyer can cancel their bids if:
· The Buyer’s bid is the highest bid
Every time the Seller cancels a bid, s/he must provide an explanation that will be kept in the auction history.
The Seller must be signed in before s/he can cancel a bid (see the Sign In use case).
Auction UC - Bid on Item
1. Bid on Item
1.1 Brief Description
When browsing an item currently available via auction (see the Browse Auction Catalog use case), a Buyer may opt to place a bid on the item. The entered bid must be greater than the current bid by an amount greater than the minimum bid increment specified by the Seller. Once accepted the entered bid becomes the current bid.
The User must be signed in in order to bid on an item. See the Sign In use case.
If the auction has been closed, the bid is not accepted. See the Close Auction use case.
If the Buyer has any pending payment notices, a message is displayed to the Buyer, reminding the Buyer that payment for the notices must be made (i.e., new credit card information must be entered) before the User can participate in any auction (as either the Buyer or the Seller. New credit card information can be entered via the Manage Account use case.
Auction UC - Browse Auction Catalog
1. Browse Auction Catalog
1.1 Brief Description
This use case allows a User to browse the items currently available for auction. The User may search for a specific item, or may look at all of the items currently available for auction, sorted by category.
The system displays information on the requested item, including, but not limited to the item description, current best bid, minimum bid increment, and bidding history.
Once an auction item is displayed, the User has the option of bidding on the item. See the Bid on Item use case.
The User does not have to be signed on to browse the auction catalog.
Auction UC - Create Auction
1. Create Auction
http://cid-90dadd2e56b02895.skydrive.live.com/self.aspx/%e5%85%ac%e9%96%8b/Create%20Auction%20UC.DOC
1.1 Brief Description
The Create Auction use case allows a Seller to create an online auction. The Seller specifies auction information (including the start and end of the auction), his credit card information (if not provided or during account creation, see the Create Account use case, or different for this auction) and can provide an image of the item, and an online auction is created for the item. Buyers can then bid on the item in the auction (see the Bid on Item use case).
An end of auction timer is set for the entered end of the action day and time. When that auction time expires, the auction is closed (see the Close Auction use case).
The seller can use the credit card information that is stored with her/his account or input credit card information that will be used with this auction only.
The User must be signed in order to create an auction. See the Sign In use case.
If the User has any pending payment notices due, a message is displayed to the User informing him/her that an outstanding balance is due, and the User is not permitted to create an auction. The user must go into his/her account and modify the credit card information (see the Manage Account use case).
2. Flow of Events
2.1 Basic Flow
1. This use case starts when the Seller indicates to the system that he/she wishes to create an auction in order to sell an item.
2. The system prompts the Seller to enter the auction information and indicate if s/he wants to provide an image of the item.
3. The Seller enters the auction information. If the seller indicated that s/he wants to provide an image of the item, the systems prompts the seller to select the file with the item image (.gif or .jpag, …). The system validates the entered auction information.
4. The System displays the auction information and requests that the Seller confirm.
5. The Seller confirms the entered auction information.
6. The system prompts the Seller to enter credit card information to be used for payment of the auction fees. If the Seller provided credit card information when he/she created his/her account (see the Create Account use case), that credit information is displayed as the default values for the credit card information. The Seller can then use that credit card information (the credit card information “on file”), or the Seller can enter new credit card information.
Note: The new credit information is used for the auction being created (instead of the “on file” credit card information). The on file credit card information remains unchanged. The only way to change the on file credit card information is via the Manage Account use case.
Note: Any entered credit card information is not validated at this time since a credit card’s validity can change between when it is entered and when something actually needs to be charged to it. Thus, the credit card will be validated prior to charging something to it.
7. The system creates an auction with the entered information. The auction is now open for bidding.
8. The system sets an EndOfAuction timer to expire on the day and time specified for the auction duration.
9. The system displays an “auction created successfully” screen that the seller can print for his/her record.
10. The use case ends.
2.2 Alternative Flows
2.2.1 Seller Has Pending Payments
If the Seller has any pending payment notices, the following occurs at the start of the use case before the system prompts the Seller to enter the information for the new auction (i.e., before Step 2):
- The System displays a message to the Seller reminding him/her that he/she has pending payments that are due and that, until those payments are made, the Seller cannot participate in an auction, either as a Buyer or a Seller. To settle the payment notices, the Seller must enter new credit card information. Credit card information can be entered via the Manage Account use case.
- The use case ends (no auction is created).
-
2.2.2 Seller Cancels Create Auction Request
At any time, the User may choose to cancel the Create Auction request. In such a case, the use case ends and an auction is not created.
2.2.3 Seller Enters Invalid Auction Information
If the system determines that the Seller entered invalid auction information, the following occurs:
- The system describes which entered data was invalid and presents the Seller with suggestions for entering valid data.
- The system prompts the Seller to re-enter the auction information.
- The Seller re-enters the information and the system re-validates it.
- If valid information is entered, the auction information is stored.
- If invalid information is entered, the Seller Enters Invalid Auction Information alternative flow is executed again. This repeats until valid information is entered or the Seller cancels the create auction request.
3. Special Requirements
None
4. Pre-Conditions
4.1 Seller is Signed In
The Seller must be signed in before the Seller can create an auction. See the Sign In use case.
5. Post-Conditions
5.1 An auction is created.
An auction for the item with the entered auction characteristics has been created. Buyers may now bid on the item.
OR
5.2 An auction is not created because of pending payment notices or the Seller cancels the request
An auction for the item with the entered auction characteristics was not created because the User has pending payment notices (i.e., still owes the system money).
6. Extension Points
Step 2. If the Re-List Previously Listed Item use-case is implemented, the systems shows an potion to re-list as an extension of this use case.
2008年2月1日 星期五
use case sample - Maintain Issue Information
1. Abstract of Maintain Issue Information
1.1 Feature ID:
1.2 Actors: Tester, Developer, Manager
1.3 Description: 問題的追蹤與管理
1.4 Key Abstractions: Issue, Project, Role, Permission
2. Basic Flow
1. 系統顯示使用者可以查看的問題列表, refer 2.2
a. 顯示的欄位為Project name, issue id, description, category, reporter, report Time, priority, status, assign-to
2. 系統根據使用者角色顯示可以操作的功能
3. 使用者選擇功能
a. 新增問題
b. 選擇問題進行檢視
c. 輸入issue id進行檢視
d. 選擇問題進行修改
e. 選擇欄位進行排序
f. 撤銷問題
g. Import問題
h. export問題
4. 使用者登出系統
a. 使用者直接關閉browser
2.1 新增問題
1. 系統顯示輸入畫面
2. 使用者輸入問題報告
3. 系統建立問題,顯示詳細資料編輯功能
4. 使用者編輯詳細資料, refer 2.2
2.2 編輯詳細資料
1. 系統顯示issue id及詳細資料輸入畫面
2. 系統根據使用者角色顯示可以操作的功能
3. 使用者選擇功能
a. Attach file
b. 設定Mail notification list
c. Subscribe Mail notification
d. Send Mail
e. 設定關連的問題, relate to other issues.
f. Print
g. Export
4. 使用者完成動作
3. Alternative Flows
4. Subflows
5. Key Scenarios
6. Pre-Conditions
6.1 使用者已經登入系統
7. Post-Conditions
8. Extension Points
9. Special Requirements
9.1 Performance
9.1.1 每個畫面反應時間3 seconds
a) 上傳檔案另外規範
9.2 Usability
9.3 Security
10. Additional Information
10.1 User Interface
10.1.1 新增問題畫面需求
Description欄位提供textbox
Project欄位提供預設值, 及project listbox
Category欄位提供Category listbox
Priority欄位提供Priority listbox
Status欄位提供Status listbox
AssignTo欄位提供AssignTo listbox (如果是Manager自行submit, 可以指派處理人員)
Comment欄位提供textbox
10.1.2 Data Definition
Issue: Project name, issue id, description, category, reporter, report Time, priority, status, assign-to
Category: bug, enhancement, task, question
Priority: hi, me, lo
Status: new, in progress, checked in, re-opened, closed
2008年1月26日 星期六
2008年1月20日 星期日
UML tools
Netbean UML features
StarUML supports most of the diagram types specified in UML 2.0.
It is currently missing object, package, timing and Interaction overview diagrams
(though the first two can be adequately modeled through the class diagram editor).
StarUML is an open source UML tool, licensed under a modified version of GNU GPL.
Telelogic Modeler is a Unified Modeling Language (UML) 2.1 based environment for systems and software in applications ranging from enterprise IT to embedded device development.s
2008年1月18日 星期五
Software development process - 軟體開發流程
如果要重複很多次做類似的事情, 則應該有較好的程序與技術把事情做好
如果無法預測未來的事情, 那就是風險
RUP introduction in wikipedia
book: "The Rational Unified Process, An Introduction" by Philippe Kruchten
RUP walkthrough: Applying Rational tools to a simple J2EE-based project
use case resources
Use case in Wikipedia
Putting use cases to work from IBM-Rational
Managing use-case detail from IBM-Rational
Use cases best practices: get the pdf from IBM-Rational
Adopting use cases: Understanding types of use cases and artifacts from IBM-Rational
book: "Use Case Driven Object Modeling With UML: A Practical Approach" By: Doug Rosenberg, Kendall Scott
Software Cost Estimation With Use Case Points