今天和大家來聊聊 嵌入式系統(tǒng)需求分析與體系結構設計的一些基礎知識:
1.1軟件需求分析
1.1.1 關于選擇裸機開發(fā)還是基于實時操作系統(tǒng)
一是采用在裸機上直接開發(fā)的方式隘蝎,且關鍵部分采用匯編語言編寫,可以保證該控制系統(tǒng)的實時性陕悬;
二是由于該軟件系統(tǒng)由多種周期的處理任務組成却盘,采用商用嵌入式實時操作系統(tǒng)開發(fā)方式可以保證系統(tǒng)的可靠性勃救。
三是對于軟實時系統(tǒng)迈套,選擇基于優(yōu)先級調度的算法可以滿足軟實時系統(tǒng)的需求宏榕,而且可以提供高速的響應和大的系統(tǒng)吞吐量拓诸;而對于硬實時系統(tǒng)來說,需要使用調度算法簡單麻昼,反應速度快的實時調度算法奠支。
1.1.2 實時操作系統(tǒng)優(yōu)點
嵌入式實時操作系統(tǒng)首先要完成的4個主要任務是進程管理、內存管理涌献、進程間通信和同步和I胚宦、O資源管理。
一是提供的任務調度功能能夠調度一切資源保證多周期任務的完成;
二是提供的事件枢劝、信號和任務間的通信機制井联,可以有效保證資源共享時出現(xiàn)的互斥問題;
三是采用商品化的軟件不僅可以提高軟件的可靠性您旁,還可以簡化軟件開發(fā)成本烙常,提高開發(fā)效率。
1.1.3 實時操作系統(tǒng)的時間性能評估
一是系統(tǒng)開銷時間一般不大于整個控制系統(tǒng)運行時間的20%鹤盒;
二是保證所有任務在規(guī)定的時間期限內完成蚕脏;
三是任務的上下文切換時間和中斷響應時間。
1.2體系結構設計
1.2.1系統(tǒng)需求
分為功能性需求和非功能性需求侦锯。
功能性需求:系統(tǒng)名稱驼鞭、目的、功能尺碰、輸入挣棕、輸出、性能亲桥、操作方式等洛心;
非功能性需求:功耗、物理尺寸题篷、重量词身、生產成本。
1.2.2 規(guī)格說明書
它描述了系統(tǒng)“做什么“的問題番枚。對輸入數(shù)據(jù)法严、輸出數(shù)據(jù)、操作方式葫笼、數(shù)據(jù)庫等的具體內容的表述渐夸。
1.2.3 體系結構設計
它描述了系統(tǒng)“怎么做“的問題。
1.3項目進度管理
1.3.1 快速原型開發(fā)法的優(yōu)缺點
1.3.2 項目管理的內容
? ? ? 包括項目進度管理渔欢、項目范圍管理、項目成本管理瘟忱、項目配置管理奥额、項目質量管理、項目風險管理访诱、開發(fā)人員管理等7個方面的管理垫挨,其貫穿開發(fā)的整個階段。
1.3.3 PERT圖及關鍵路徑
包括最理想情況和保守情況触菜;
關鍵路徑指PERT圖中最長的路徑九榔;
在兩種情況下的關鍵路徑的交集工作就是要著重抓住的共同環(huán)節(jié)。
1.4 UML(統(tǒng)一建模語言)建模技術
1. 符合人類的思維習慣;
2. 由于系統(tǒng)開發(fā)基于問題模型哲泊,其穩(wěn)定性好剩蟀;
3. 由于對象固有的封裝和繼承性,其可重用性好切威;
4. 由于系統(tǒng)開性發(fā)的模塊化育特,其可維護性好。
1.4.2類圖概念及六種關系
類圖用于描述系統(tǒng)的結構化設計先朦,即用來表示概念模型缰冤,它最基本的元素是類或接口,表達了類喳魏、接口以及它們之間的靜態(tài)結構和關系棉浸。當對系統(tǒng)的靜態(tài)設計視圖建模時,通常以對系統(tǒng)的詞匯建模刺彩、對簡單協(xié)作建模迷郑、對邏輯數(shù)據(jù)庫模式建模這三種方式之一使用類圖。
1.4.3序列圖概念
序列圖是場景的圖形化表示迂苛,描述了以時間順序為組織的對象之間的交互活動三热,即顯示了一組對象和由這組對象發(fā)送和接收的消息。
1.4.4基于UML嵌入式軟件開發(fā)環(huán)境
從應用的角度看三幻,當采用面向對象技術設計系統(tǒng)時就漾,首先是描述需求;其次是根據(jù)需求建立系統(tǒng)的靜態(tài)模型念搬,以構造系統(tǒng)的結構抑堡;第三步是描述系統(tǒng)的行為。前兩歩中建立的模型都是靜態(tài)的朗徊,包括用例圖首妖、類圖、對象圖爷恳、組件圖和配置圖這五種圖形有缆,是標準建模語言UML的靜態(tài)建模機制。第三步中所建立的模型或者可以執(zhí)行温亲,或者表示執(zhí)行時的時序狀態(tài)或交互關系棚壁,它包括狀態(tài)圖、活動圖栈虚、順序圖和協(xié)作圖這四種圖形袖外,是動態(tài)建模機制。
************************************************
**獲取更多知識魂务,請點擊關注:**
[嵌入式Linux&ARM](http://www.reibang.com/c/42d33cadb1c1)
[CSDN博客](https://blog.csdn.net/liangzc1124)
[簡書博客](http://www.reibang.com/u/d5f9a4725546)
************************************************