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