Wednesday, November 25, 2009

軟工隨想:User Login is not a Use Case.

以前在學校的時候上過一門軟體工程的課,課堂最後有個期末專題。專題內容就是要我們親自跑一次Project。我記得那時候做了一個線上聊天室系統,在台上Demo系統Login的時候,被助教問了個問題:為什麼User Login不在你們的Use Case中?

對呀,為什麼我忘記把Login/Logout放進Use Case中呢?當時我一直覺得一定是自己的粗心大意,忽略了這個功能。不過,最近閱讀到Karl的書,作者指出User Login並不適合放進Use Case中,也解答了為何從需求的角度來看待系統,很容易就會忽略User Login的Use Case

Karl首先定義Use Case的涵義:

Describes how an actor uses a system to achieve a goal and what the system does for the actor to achieve that goal. It tells the story of how the system and its actors collaborate to deliver somthing of value for at least one of actors.

這也就是為何User Login不算是User Case。對於我們的聊天室系統,使用者的目標就是選擇一個聊天室,然後開始打字聊天。連線到伺服器,或者是User Login都不算是使用者想要做的事情(做個簡單的憶想,我們是可以用生物辨識的方式登入,使用者完全感受不到登入的過程)。我想這也難怪從需求的角度來畫Use Case Diagram,就不會在一開始就把登入這件事情放入Use Case中。

 

延伸閱讀:

“More About Software Requirement”, Karl E. Wiegers.

No comments: