不管我們喜不喜歡,我們都會做出假設,這些假設構成了我們如何思考和設計嵌入式系統的基礎。在許多情況下,我們所做的假設是微不足道的,并且會對我們設計的系統或我們工作的公司產生輕微影響。但有時,我們做出的假設可能很危險,會影響我們的產品甚至我們的公司是否會成功。讓我們來看看我經常看到嵌入式系統行業的嵌入式開發團隊做出的四個危險假設。
假設 1 – 硬件完美運行
軟件工程師懷疑他們開始軟件開發的原型硬件并不罕見。我們都知道,硬件就像軟件一樣,會經歷多次迭代,直到它按照設計工程師的預期工作。但是,一旦硬件進行了可靠的修訂,我們通常會假設硬件不會有任何問題,這是一個危險的假設!即使是設計完美的硬件也可能會遇到閂鎖、單事件干擾和其他潛在問題。在受控條件下的幾十個原型的開發過程中看到這些問題的可能性很小,但是一旦開始在世界各地在各種環境中部署數千甚至數十萬臺設備,系統將經歷的變化要大得多這些問題,然后問題歸結為系統和軟件是否旨在恢復或處理此類事件。
假設 2 – 沒有人對入侵我的設備感興趣
很多大大小小的公司,他們對安全的思考過程是這樣的:
– 誰會對入侵我們的設備感興趣?
– 誰會想要破解我們的設備?
– 我們真的需要花時間在安全上嗎?
– 安全性可能既耗時又昂貴!
– 讓我們通過混淆來嘗試安全性,希望這就足夠了。
事實是,無論嵌入式開發團隊可能覺得他們的設備多么微不足道,都會有人對該設備并將其用于自己的目的感興趣。
假設3 – 開源軟件將降低項目成本
你無法擊敗免費軟件的價格。使用開源軟件的危險,特別是當我們考慮設計在微控制器上運行的軟件時,開發人員認為該軟件已經:
? 測試
? 安全
? 符合他們的目的
? 已與他們正在使用的其他軟件集成
? 無缺陷
? 遵循行業最佳實踐
希望開發人員仔細考慮何時適合使用開源軟件,考慮實際節省與實際成本。許多開發人員忽略了以下成本:
? 一體化
? 技術支援
? 調試
? 質量改進
這些假設是危險的,因為它們會顯著影響項目時間和成本!
假設 4 – 我們沒有時間……
測試、訓練、指標跟蹤,幾乎每個嵌入式開發團隊都沒有足夠的時間做某事,他們找借口說我們沒有時間全面測試我們的產品,那時,質量不能成為優先事項,沒有足夠的時間來訓練和學習新技術,利用新技術減少開發時間和成本絕不能成為優先事項。我已經確信,如果我們沒有足夠的時間來開發我們的產品,那么我們必須把精力集中在錯誤的事情上。整個開發周期中的測試不應該減少調試時間嗎?學習新技術不應該減少做事情的時間,從而給我們更多的時間嗎?
結論
我們在本文中看到的每個假設都有可能是危險的,這種危險可能就像嵌入式開發人員在調試軟件時通過讓公司破產而經歷的思考過程一樣簡單,仔細考慮這些假設和未列出的假設,并確定你所做的假設是否會影響你正在從事的項目的成功甚至公司的成功。