物聯網軟硬件開發成本-「云平臺開發」
物聯網軟硬件開發異同我們都知道敏捷是什么,物聯網云平臺開發意味著什么,所以讓我們首先定義軟件和硬件開發的含義。“硬件”專門指通常包含固件或嵌入式軟件的電氣或機電設備。例如,網絡設備,電話和其他通信技術;消費類電子產品; 電腦; 醫療設備; ASIC(專用集成電路)等。同樣,“硬件開發”是指要制造的設備的設計開發。硬件和軟件開發之間的相似性他們具有以下行為:用戶以各種方式與產品交互,產品與其他產品交互,并且產品在給定輸入的情況下產生輸出它們具有功能性(面向用戶)和非功能性(非面向用戶)的要求它們很復雜:由于主要特征被分解為更細粒度的特征,因此任何對產品規格的表示都必然會形成樹形結構硬件和軟件開發之間的差異軟件比硬件更容易更改。云平臺的變更成本比軟件的變更成本高得多。通過添加新功能并重寫現有邏輯以支持新功能,軟件產品可以通過多個版本來發展。硬件產品由無法在制造后“重構”的物理組件組成,并且無法添加需要更改云平臺的新功能。新硬件的設計通?;谠缙诋a品,但通常依賴于尚不存在的下一代組件。硬件設計受納入標準零件的約束。與軟件相比,專用硬件組件的交貨時間可能更長。云平臺設計由體系結構決策驅動。與軟件產品相比,必須先完成更多的架構工作。隨著時間的推移,軟件產品的開發成本相對較低。但是,在開發周期結束時,硬件開發的成本迅速上升。測試軟件通常需要開發數千個測試用例。物聯網云平臺測試涉及的測試要少得多。軟件測試由專業的質量保證(QA)工程師完成,而硬件測試通常由創建產品的工程師完成。必須對硬件進行設計和測試,使其能夠在一定的時間和環境條件下工作,而軟件并非如此。硬件開發包含四個并行的同步項目:1)可制造產品的詳細設計2)制造過程和工裝3)測試和檢驗過程及設備;和4),用于購買的備件的供應鏈。
在軟件開發中,詳細設計是產品,生產部署包括將產品移至可以使用的上下文中。由于上述許多因素,有可能在開發中進行計劃中的軟件產品升級的方向發生重大變化,而不會造成重大破壞和浪費。嘗試在物聯網云平臺開發中進行此類更改要付出高得多的代價,這是浪費了沉沒的成本,并推遲了發貨時間。結果,必須將重大更改推遲到將來的產品升級中,或者在評估其影響由收益的大小證明是合理的時進行。準備了解有關用于硬件開發的敏捷的更多信息?今天,每個人都知道什么是敏捷以及什么是軟件開發手段,所以讓我們從定義什么硬件和硬件開發開始。物聯網硬件特別是一種電氣或機電設備,通常包括固件或嵌入式軟件,例如網絡設備,電話和其他通信技術;消費類電子產品; 電腦; 醫療設備; ASIC(專用集成電路)等。此外,“硬件開發”是指要制造的設備的設計開發。硬件和軟件開發之間的共同特點產品行為:三種方式DEF我NE產品行為-用戶的產品以不同的方式進行交互-產品與其他產品交互-產品生產給定的輸入輸出。硬件和軟件開發之間的差異軟件比硬件更容易更改。物聯網硬件的變更成本比軟件的變更成本高得多。通過添加新功能并重寫現有邏輯以支持新功能,軟件產品可以通過多個版本來發展。
物聯網云平臺產品由無法在制造后“重構”的物理組件組成,并且無法添加需要更改硬件的新功能。新硬件的設計通?;谠缙诋a品,但通常依賴于尚不存在的下一代組件。硬件設計受納入標準零件的約束。與軟件相比,專用硬件組件的交貨時間可能更長。物聯網硬件設計由體系結構決策驅動。與軟件產品相比,必須先完成更多的架構工作。隨著時間的推移,軟件產品的開發成本相對較低。但是,在開發周期結束時,物聯網軟硬件開發的成本迅速上升。測試軟件通常需要開發數千個測試用例。硬件測試涉及的測試要少得多。軟件測試由專業的質量保證工程師完成,而硬件測試通常由創建產品的工程師完成。必須對物聯網硬件進行設計和測試,使其能夠在一定的時間和環境條件下工作,而軟件并非如此。物聯網軟硬件開發包含四個并行的同步項目:1)可制造產品的詳細設計2)制造過程和工裝3)測試和檢驗過程及設備;和4),用于購買份將供應鏈。在軟件開發中,詳細設計是產品,生產部署包括將產品移至可以使用的上下文中。由于上述許多因素,有可能在開發中進行計劃中的軟件產品升級的方向發生重大變化,而不會造成重大破壞和浪費。嘗試在物聯網云平臺硬件開發中進行此類更改要付出高得多的代價,這是浪費了沉沒的成本,并推遲了發貨時間。在我看來,與嵌入式編程截然不同的一個特殊特征就是嵌入式軟件與硬件的緊密聯系,這在我看來一直很明顯。由于大多數嵌入式設備都是定制設計,因此硬件平臺是一個未知數。因此,很明顯,硬件和軟件的開發應該以協作的方式進行。
傳統上,軟硬件開發團隊之間存在“我們與他們”的情況。事情正在改善,但是我注意到一些細微的細微差別會影響他們之間的關系:軟件不能等待硬件。從歷史上看,軟件開發將在穩定的硬件可用時開始。如今,開發周期更長,上市時間更短,工作需要更早開始。這意味著軟件開發人員需要訪問硬件設計,這使我們面臨下一個挑戰。軟件和硬件開發人員不會使用相同的工具。期望任何一方改變都不是真正合理的。正如EDA行業的一位高管最近所說:“讓軟件設計師使用物聯網軟硬件設計工具就像要求水管工用電工的線鉗安裝水槽一樣。” 有時,我會談有關實時操作系統性能測量的問題,并建議示波器可能是查看時間延遲的好工具。軟件工程師對于使用這種工具有些緊張。