企業網站建設
介紹關于軟件開發v流程的實施7大步驟解析,如下提供參考,代理開發隨時咨詢。
代理免費咨詢熱線:15656027219(微信同號)
武漢分公司地址:江夏區創星匯科技園A棟468室
即日起,注冊臥濤網,2024年開始高新技術企業認定、復審,十年高企申報經驗,全國代理統一價格19800元,更有持續更新最新各歸口補貼政策,一手政策消息隨時掌握!
(臥濤科技:項目申報、知識產權代理、軟件開發、商業計劃書、工商注冊財稅規劃、可行性研究報告、體系認證等。分公司:南京、安慶、蘇州、宿州、武漢)
1.系統需求分析
這部分為系統需求。需要系統工程師完成。
基于項目的整體需求,以及軟硬件整體定義,對系統邏輯架構進行整體定義,這部分工作包括:硬件功能定義,控制器與其他控制器通信定義,軟件簡要功能定義。這個過程并不會對具體的技術實現做出定義。
通常會使用Doors等流程軟件定義系統需求。
2. 軟件需求分析
這部分為軟件需求,需要系統工程師完成。
系統工程師根據系統相關方需求說明書、軟硬件接口文件、變更通知書等輸入,梳理定義軟件研發需求說明書,包括操作系統需求、電源管理策略、傳感器讀取,執行器控制、信號特性需求、存儲服務、通信服務,網絡管理、故障診斷、標定、程序升級等功能需求和非功能需求。
根據項目規劃,制定軟件開發計劃。
軟件需求分析建立需求追蹤矩陣,將軟件需求映射到系統需求,確保軟件要實現的系統需求全部覆蓋,為了完成這個功能,通常我們也是使用Doors等流程軟件完成。
成功實施這個過程的結果如下:
1) 定義了系統中分配給軟件要素的軟件需求及其接口;
2) 將軟件需求進行分類,并分析了其正確性和可驗證性;
3) 分析了軟件需求對運行環境的影響;
4) 定義了軟件需求實現的優先級;
5) 根據需要更新了軟件需求;
6) 在系統需求與軟件需求之間、在系統架構設計與軟件需求之間建立了一致性和雙向可追溯性;
7) 從成本、進度和技術影響來評估軟件需求;
8) 約定了軟件需求,并與所有受影響方溝通。
3. 軟件架構設計
這部分為軟件架構,需要架構工程師完成。
為了建立清晰的、結構化的軟件設計,應該統一分配軟件需求,然后完成軟件架構設計。根據系統相關需求、軟硬件接口表、軟件需求確定軟件架構。將每條軟件需求合理分配到軟件模塊中,定義每個軟件模塊的輸入輸出接口、動態行為、資源消耗目標等,評估多種軟件架構的優缺點等。
架構工程師需要使用EA等架構軟件畫出整個控制器軟件所有模塊的輸入輸出接口、以及內部動態行為。
如果項目基于AUTOSAR開發,需要架構工程師配置應用層的所有組件,并輸出每個組件的ARXML描述文件。
一般來說,還需要架構工程師輸出架構文檔。
成功實施這個過程的結果如下:
1) 定義了識別軟件要素的軟件架構設計;
2) 將軟件需求分配給軟件的要素
3) 定義了每個軟件要素的接口
4) 定義了軟件要素的動態行為和資源消耗目標
5) 建立了軟件需求與軟件架構設計之間的一致性和雙向可追溯性
6) 約定了軟件架構設計,并與所有受影響方溝通。
4. 軟件單元設計和軟件實現
這部分為軟件單元設計,需要軟件開發工程師完成。
在此階段,需要對每個組件內部的算法邏輯進行詳細的內部設計。組件功能的詳細設計需要與軟件需求建立有效的對應關系。
如果是算法邏輯編碼,建議使用Matlab進行模型開發,如果是接近底層的復雜驅動,一般是使用手寫代碼。
如果項目使用AUTOSAR架構,使用模型開發時需要導入arxml生成模型框架進行開發,使用手寫代碼進行開發時需要使用AUTOSAR工具生成的組件代碼框架進行開發。
需要將代碼經過多次代碼審查和優化之后,將最終版本上傳至代碼庫,以實現最佳的可靠性和性能。
成功實施這個過程的結果如下:
1) 開發了描述軟件單元的詳細設計;
2) 定義了各軟件單元的接口;
3) 定義了軟件單元的動態行為;
4) 建立了軟件需求與軟件單元之間的一致性和雙向可追溯性;建立了軟件架構設計與軟件詳細設計之間的一致性和雙向可追溯性;建立了軟件詳細設計與軟件單元之間一致性和雙向可追溯性;
5) 約定了軟件詳細設計及該設計與軟件架構設計的關系,并和所有受影響
方溝通;
6) 生成了軟件詳細設計所定義的軟件單元。
6. 軟件單元測試
當進行單元測試通過后,將會將軟件編譯成ECU可執行的文件,比如Hex格式的文件,將其刷寫到ECU進行集成測試(或稱HIL測試),如果只是測試底層軟件,那么一般只需要額外的硬件負載箱支持就行,比如用負載箱來模擬一些傳感器信號輸入,或制造一些執行器的短路和開路故障;如果測試包括應用層軟件,那么就還需要物理模型支持才行,比如電機控制就需要電機的物理模型,變速箱控制可能就需要整個動力傳動系統的模型才行。
這部分為組件單元測試,一般需要軟件開發工程師完成,也可以讓測試工程師完成。
單元測試與軟件單元設計對應。
單元測試是根據軟件單元設計,進行代碼級別上進行的測試。
單元測試一般可以通過Matlab和Tessy等工具進行。
成功實施這個過程的結果如下:
1) 制訂了包括回歸策略在內的軟件單元驗證策略,以驗證軟件單元;
2) 根據軟件單元驗證策略,制訂了軟件單元驗證準則,以適于提供軟件單元符合軟件詳細設計及非功能性軟件需求的證據;
3) 根據軟件單元驗證策略及軟件單元驗證準則,驗證了軟件單元并記錄了結果;
4) 建立了軟件單元、驗證準則及驗證結果之間的雙向可追溯性和一致性;
5) 總結了單元驗證結果,并與所有受影響方溝通。
7. 軟件集成測試
這部分為集成測試,需要測試工程師完成。
集成測試與軟件需求對應。
集成測試將各個組成部分整合入一個軟件系統中之后,最后進行軟件的集成測試。根據定義的需求,測試相應的功能是否滿足軟件需求。
成功實施本過程的結果如下:
1) 制訂了與項目計劃、發布計劃和軟件架構設計相一致的軟件集成策略,以集成軟件項;
2) 制訂了包括軟件回歸測試策略在內的軟件集成測試策略,以測試軟件單元之間和軟件項之間的交互;
3) 根據軟件集成測試策略,開發了軟件集成測試規范,以適于提供集成的軟件項符合軟件架構設計(包括軟件單元之間和軟件項之間的接口)的證據;
4) 根據集成策略集成了軟件單元和軟件項直至完整的集成軟件;
5) 根據軟件集成測試策略和發布計劃,選擇了軟件集成測試規范中的測試用例;
6) 使用選定的測試用例測試了集成的軟件項,并記錄了測試結果;
7) 建立了軟件架構設計要素與軟件集成測試規范中的測試用例之間的一致性和雙向可追溯性,并建立了測試用例與測試結果之間的一致性和雙向可追溯性;
8) 總結了軟件集成測試結果,并與所有受影響方溝通。
8. 軟件系統測試
這部分為系統測試,需要測試工程師完成。
系統測試與系統需求對應。
因為軟件給各個ECU提供了相應的功能,因此在集成測試中,需要將軟件燒錄至硬件中。然后ECU要與其他電子系統組件集成起來,比如傳感器和執行器。在接下來的系統綜合測試中,對所有系統設備的交互響應進行評估。