UML在嵌入式系統設計中的應用
2.3 規格說(shuō)明
規格說(shuō)明比需求分析更詳細,通過(guò)UML設計可以使規格說(shuō)明更直觀(guān)、更清晰。首先,使用 Class 框圖描述系統處理的數據結構。例如在車(chē)載GPS終端的規格說(shuō)明設計時(shí)可以使用 Class 框圖描述需要接收的 GPS 衛星信號,如圖3所示。
第二,在規格說(shuō)明階段,還需要識別出系統的對象。首先以功能塊劃分,廣泛地找出系統的主要對象;然后使用 Collaboration 框圖描述它們之間的關(guān)系。圖4描述了車(chē)載 GPS 終端的主要對象,根據框圖可以進(jìn)行進(jìn)一步的細化。
最后,在規格說(shuō)明階段進(jìn)行系統的業(yè)務(wù)描述。即規范系統完成一定功能的主要流程。這可以利用 Activity 框圖進(jìn)行。圖5顯示了 GPS 數據到達時(shí),車(chē)載 GPS 終端系統所進(jìn)行的處理流程。
2.4 系統設計
規格說(shuō)明完成后,需要對系統的各個(gè)模塊及模塊之間的關(guān)系仔細地分析,從而確定哪些部分使用硬件完成,哪些部分使用軟件實(shí)現。在本例中,需要硬件實(shí)現的模塊有:GPS 接收模塊、電源模塊、用戶(hù)控制模塊、LCD 顯示模塊和 GSM 通訊模塊。
所有的控制邏輯和數據計算全部由主控制器的軟件實(shí)現。
隨后,系統設計分為兩個(gè)分支:硬件設計及軟件設計。使用 UML 的 Collaboration 圖和 Component 圖對系統的硬、軟件分別進(jìn)行系統設計。圖6用 Component 框圖描述了車(chē)載 GPS 終端系統的軟件系統架構。
2.5構件設計
接下來(lái)對每一個(gè)系統構件進(jìn)行詳細的設計。對于某些大型工程,甚至需要把每一個(gè)構件作為一個(gè)項目,重新以需求分析、規格說(shuō)明開(kāi)始展開(kāi)構件設計循環(huán)。在構件設計中,除了可以使用前文介紹過(guò)的各種 UML 框圖外,通常還需要使用 State Chart、Sequence 這兩種框圖描述具體的系統流程細節。
在本例中,GSM 模塊共有四個(gè)狀態(tài):待命、有問(wèn)題、通話(huà)中、短消息通訊中。使用 State Chart 框圖描述它們之間的轉換關(guān)系,如圖7所示。
Sequence 框圖顯示了一個(gè)特定對象進(jìn)行特定操作時(shí)所遇到的流程。圖8顯示了車(chē)載終端用戶(hù)甲在遇到危險按下報警按鈕后系統的處理過(guò)程。
2.6 集成測試和部署
在集成測試時(shí),可以聯(lián)合使用所有的 UML 框圖認真分析每個(gè)構件的原理,針對每一個(gè)系統功能、每一個(gè)可能發(fā)生錯誤的過(guò)程寫(xiě)出相應的測試程序,進(jìn)行完整而可靠的程序測試。
利用 UML 和系統的設計方法可以使傳統的嵌入式系統設計告別“手工作坊”的開(kāi)發(fā)方式,大大提高嵌入式系統的開(kāi)發(fā)速度和產(chǎn)品質(zhì)量,增強設計的可復用性。
但是 UML 是圖形化描述語(yǔ)言,比較適用于面向對象的程序設計;對于精確的規格設計或非面向對象的語(yǔ)言設計來(lái)說(shuō)就不盡如人意了。在具體應用中,靈活應用注釋功能,把框圖對應模塊所需的具體規格要求以注釋的形式寫(xiě)在框圖中,充分利用 State Chart 和 Sequence 這些框圖來(lái)完成面向過(guò)程部分的設計。
linux操作系統文章專(zhuān)題:linux操作系統詳解(linux不再難懂)
評論