3.9 需求建模的模式
軟件模式是獲取領域知識的一種機制,以使得遇到新問題時可以重復使用。在某些情況下,領域知識在同一應用領域中用于解決新問題。在另外一些情況下,通過模式獲取的領域知識可借助模擬用于完全不同的應用領域。
分析模式的最初創作者沒有“創建”模式,但在需求工程工作中發現了模式。模式表示了在某些應用領域中合并一個類、一個功能或一個行為的解決方案,當為某個領域的應用執行需求建模時會重用模式。分析模式都存儲于一個倉庫中,以便軟件團隊的成員能夠使用搜索工具找到并復用。一旦選擇到合適的模式,就可以通過參考模式名稱整合到需求模型中。
需求模型由各種元素組成:基于場景(用例)、基于數據(數據模型)、基于類、基于流和行為。其中每個元素都是從不同的視角檢查問題,并且每一個都提供一種發現模式的機會,可能發生在整個應用領域,或者橫跨不同的應用領域。
在需求模型的描述中最基本的元素是用例,一套連貫用例可以成為服務于發現一個或多個分析模式的基礎。語義分析模式(semantic analysis pattern,SAP)“描述了一小套連貫用例,這些用例一起描述了通用應用的基礎”。
下面來考慮要求控制和監控“實時查看攝像機”和汽車臨近傳感器的軟件用例。
用例:監控反向運動。
描述:當車輛安裝了反向齒輪,控制軟件就能從后向視頻攝像機將一段視頻輸入到儀表板顯示器上。控制軟件在儀表板顯示器上疊加各種距離和方向的線,以便車輛向后運動時駕駛員能保持方向。控制軟件還能監控臨近傳感器,以判定在車后方3米內是否有物體存在。如果臨近傳感器檢測到某個物體在車后方x英尺內就會讓車自動停止,這個x值由車輛的速度決定。
在需求收集和建模階段,本用例包含(在一套連貫用例中)各種將要精煉和詳細闡述的功能。建議用例要簡單,要廣泛地適用于SAP,即具有基于軟件的監控和在一個物理系統中對傳感器和執行器的控制。在本例中,“傳感器”提供臨近信息和視頻信息。“執行器”用于車輛的停止系統(如果一個物體離車輛很近就會調用它)。但是更常見的情況是發現大量的應用模式。許多應用領域的軟件需要監控傳感器和控制物理執行器,所依照的分析模式描述了能廣泛應用的通用需求,這個模式稱為Actuator-Sensor(執行器-傳感器)。
- Core Data應用開發實踐指南
- Spring源碼深度解析
- 高質量軟件構建方法與實踐
- 深度學習訓練營 21天實戰TensorFlow+Keras+scikit-learn
- 軟件需求分析實戰
- Android5.0新特性實戰
- 軟件質量管理指南
- CATIA V5 從入門到精通(第二版)
- Unity手機游戲開發:從搭建到發布上線全流程實戰
- 多面體編譯理論與深度學習實踐
- TensorFlow+Android經典模型從理論到實戰(微課視頻版)
- 火災與逃生模擬仿真:PyroSim+Pathfinder中文教程與工程應用
- Unity 3D游戲開發技術詳解與典型案例
- 微信小程序實戰入門(內含完整實例解析)
- Spring Boot趣味實戰課