3.系統根據該賬戶下的證券幣種讀取相應的結算匯率,把所有證券余額都統一轉換成結算幣種,并通過累加該賬戶下所有證券的余額,計算出以結算幣種表示的客戶資產總額并打印輸出。
擴展流:
2a.讀取證券信息(份數、價格)失敗;
2a1.系統報錯,用例結束。
3a.讀取匯率失敗(某支證券的幣種到結算幣種的轉換匯率不存在):
3a1.系統告知用戶結算匯率不存在,無法計算資產總額,用例結束。
明確需求后,當我們打開軟件系統這只盒子,進入它的內部,把盒子內的一切東西、機關要害都搞清楚、弄明白,也就完成了軟件開發從需求,到分析,到設計,到編程實現的這么一個過程,而我們最終送給客戶的必須是一個高質量的大禮包。
那么,這只盒子內部有何寶物呢?由外而內,由大而小,一個軟件分別由系統,子系統(subsystem)與構件(component),以及對象組成。一個系統由一個或多個子系統組成,而一個子系統可以由一個或更多的子系統(或構件)組成。構件里面裝的則是對象,對象又由屬性和方法(即通常所說的函數)組成。類(對象)正是現代軟件的最小組成單元,就像組成有機人體的基本單元——細胞。
下圖用UML包圖表現了這樣一種軟件系統的嵌套解剖視圖。
層次分明
“分而治之”是工程界對付復雜技術問題最常用的手段。作為一個復雜的系統,軟件也不例外,清晰而嚴謹分層的結構往往是優秀軟件設計的一個主要特征。
分層有橫切、縱切兩種。軟件設計從系統,到子系統和構件,再到類與對象,再到類的內部屬性和方法,以及某個方法的編程實現,既是由外而內,也是從高到低,從高層的架構設計(系統、子系統),到低層的類與類的關系、類內部的設計,就像山脈與山峰、森林與樹葉的關系。
對應著這樣的高、低層關系,在軟件設計中,目前世界上已有大量的架構模式、設計模式、實現模式和各種分層的框架可供我們借鑒、重用。
動靜結合
經常有初學者問:用UML建模的時候,我們到底要畫幾張圖才算表達完整,哪些圖最重要?其實有一個非常簡單的回答:動靜結合?陀^世界是由物質(如微觀粒子)組成的,而物質是運動的。
巧合的是,軟件這個虛擬世界也不例外。因此在我們設計軟件的時候,既要說明有哪些物質(如構件、對象、屬性等)存在,也不要忘了描述物質之間的運動(如交互、狀態變遷等),兩者是相輔相成的。
文章來源于領測軟件測試網 http://www.kjueaiud.com/