潘老師,你好,最近讀了您的軟體方法,結合自己的專案發現始終有乙個疑問?那就是啟動軟體算不算乙個用例,因為軟體在啟動的時候一般都要例項化一些物件,讀一些配置檔案等等。那啟動軟體或者軟體關閉軟體算乙個用例嗎?是系統用例還是其他用例的擴充套件呢?
不算。用例是需求,需求描述系統作為乙個整體(黑箱)必須有的表現(功能、效能、強加的約束)——「不這樣不行」。
那我們來看:
(1)「啟動軟體」在涉眾看來屬於「不這樣不行」嗎?
其實不是,涉眾要的是我們系統為他提供的核心域相關的價值。如果我們的系統從面對涉眾開始就一直可以使用,讓它計算什麼就計算什麼,不需要啟動,涉眾是很高興的。怎麼做到?這不關需求的事。參見第二章「投幣法」,我們的系統是外星人做的,這點有什麼做不到的?
(2)「軟體在啟動的時候一般都要例項化一些物件,讀一些配置檔案」——這很可能不是需求。
「例項化」、「讀取」、「載入」實際上是從設計角度猜想的一種設計方案。
系統是乙個黑箱,不存在「例項化」、「讀取」、「載入」,把這些刪掉,然後問「為什麼,不這樣可能會怎樣」,回答可能是「不這樣,可能做某個計算的時候,從輸入到輸出的時間會比較長,那就被競爭對手甩下了」——這個才是系統作為乙個整體不得不滿足的。我們的系統是外星人做的,外星人有沒有「例項化」、「讀取」、「載入」我們怎麼知道,外星人能給我做到速度比對手快就行了唄。
(3)和當前系統、當前用例相關嗎?
可能有的人說,不管是誰啟動,系統總得先啟動吧?這是傻子都知道的,和當前系統、當前用例沒有特定關係,不用寫。
但是,就像我在「廢話迷」一文中說的,很多人會樂意把「啟動」當成用例,然後每個專案都寫一遍,不用思考,還可以湊工作量,爽!
當然,如果「啟動」就像是目標系統的核心價值,它就是用例。例如,乙個提供「遠端跨平台啟動應用程式」服務的軟體。
什麼是用例
什麼是用列?用例是系統執行的一系列動作,這些動作將生成特定actor 參與者 可觀測的有價值的結果值。乙個用例定義一組用例例項。通俗一些 actor使用系統達到某個目標.用例是參與者要求系統提供的服務 以使用者的角度描述系統的行為。什麼是系統邊界 系統承擔的責任的邊界 對外部使用者來說 不是物理邊界...
什麼是用例測試?
用例測試是一種技術,可以幫助我們識別從頭到尾按事務處理整個系統的測試用例。ivar jacobson在他的著作 物件導向軟體工程 用例驅動方法 jacobson,1992 中描述了它們。atm pin示例如下圖所示。我們展示了成功和不成功的場景。在該圖中,我們可以看到a 演員 在這種情況下是人類 和...
python是用c寫的嗎 python是用c寫的嗎
python的誕生 1991年,第乙個python編譯器 同時也是直譯器 誕生。它是用c語言實現的,並能夠呼叫c庫 so檔案 從一出生,python已經具有了 類 class 函式 function 異常處理 exception 包括表 list 和詞典 dictionary 在內的核心資料型別,以...