隨后,系統設計分為兩個分支:硬件設計及軟件設計。使用 UML 的 Collaboration 圖和 Component 圖對系統的硬、軟件分別進行系統設計。圖6用 Component 框圖描述了車載 GPS 終端系統的軟件系統架構。
2.5構件設計
接下來對每一個系統構件進行詳細的設計。對于某些大型工程,甚至需要把每一個構件作為一個項目,重新以需求分析、規格說明開始展開構件設計循環。在構件設計中,除了可以使用前文介紹過的各種 UML 框圖外,通常還需要使用 State Chart、Sequence 這兩種框圖描述具體的系統流程細節。
在本例中,GSM 模塊共有四個狀態:待命、有問題、通話中、短消息通訊中。使用 State Chart 框圖描述它們之間的轉換關系,如圖7所示。
Sequence 框圖顯示了一個特定對象進行特定操作時所遇到的流程。圖8顯示了車載終端用戶甲在遇到危險按下報警按鈕后系統的處理過程。
2.6 集成測試和部署
在集成測試時,可以聯合使用所有的 UML 框圖認真分析每個構件的原理,針對每一個系統功能、每一個可能發生錯誤的過程寫出相應的測試程序,進行完整而可靠的程序測試。
利用 UML 和系統的設計方法可以使傳統的嵌入式系統設計告別“手工作坊”的開發方式,大大提高嵌入式系統的開發速度和產品質量,增強設計的可復用性。
但是 UML 是圖形化描述語言,比較適用于面向對象的程序設計;對于精確的規格設計或非面向對象的語言設計來說就不盡如人意了。在具體應用中,靈活應用注釋功能,把框圖對應模塊所需的具體規格要求以注釋的形式寫在框圖中,充分利用 State Chart 和 Sequence 這些框圖來完成面向過程部分的設計