ISO 26262安全的軟件開發(fā)流程_第1頁
ISO 26262安全的軟件開發(fā)流程_第2頁
ISO 26262安全的軟件開發(fā)流程_第3頁
ISO 26262安全的軟件開發(fā)流程_第4頁
ISO 26262安全的軟件開發(fā)流程_第5頁
已閱讀5頁,還剩3頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

ISO26262安全的軟件開發(fā)流程

軟件開發(fā)啟動

根據(jù)ISO26262-65.4.6中倡議,在軟件開發(fā)的啟動階段,對于啟動軟件級產品開發(fā),首先需要制定關于整個軟件級開發(fā)的活動和辦法的方案,對于軟件開發(fā)的每個子階段,應該根據(jù)應用標準來選擇對應的辦法和相應的工具。

根據(jù)規(guī)范,SmartSARStudio在選擇建模語言時考慮到了:對于建模語言需要有清晰的定義,我們采用EMF、GMF兩種建模語言搭建給一個建模環(huán)境提供應用戶;建模語言支持模塊化,抽象和結構化的構造,根據(jù)規(guī)范中對于建模和編碼標準中需要包含的問題,我們的工具支持的建模和編碼標準,如下表所示:

問題

ASIL

A

B

C

D

1a

復雜度低

++

++

++

++

1b

語言子集的使用

++

++

++

++

1c

使用強類型

++

++

++

++

1d

防御式編程技術

o

+

++

++

1e

使用清晰的圖形表示

+

++

++

++

1f

使用命名標準

++

++

++

++

Studio的建模辦法非常簡單,每個模型的圖元也不復雜,合乎嵌入式領域軟件開發(fā)人員的常識,同時我們參照了多個領域軟件開發(fā)語言,定義了一套通用的建模語言。本建模語言使用強類型,每個模型有自己特定的類型,需要聲明后才能使用,每個模型在建模工具中都有唯一清晰確定的圖形表示,同時對于默認的模型名稱有合乎意義的命名方式,并且合乎C語言命名標準。由于Studio是屬于基于模型驅動的開發(fā)辦法,同時也是一個多層的開發(fā)架構,不應該由于上層或者外部的輸入錯誤而導致本層次被破壞,這也是將可能出現(xiàn)的錯誤造成的影響控制在最小的范圍內。因此,不僅在編碼構建本工具的過程中,我們采用防御式編程辦法,同時在建模環(huán)境中對用戶的模型也提供最大可能的防御措施,包括各種驗證提示,在代碼級最大可能容忍恢復用戶的建模錯誤,將各種可能的錯誤風險提到最上層等。

圖片

需求分析階段

需求分析階段是軟件項目領域中軟件開發(fā)最開始的階段,它主要是完成對系統(tǒng)整個的定義,確定系統(tǒng)的各種需求,幫忙開發(fā)測試人員理解整個系統(tǒng)的功能,為后續(xù)的工作打下根底。

在ISO26262-4中給出了技術平安需求規(guī)格,用來標準技術平安需求,細化功能平安概念,同時考慮到功能概念和初級的架構若級別上。在開發(fā)周期內,技術平安標準是用來實現(xiàn)功能平安概念的必須技術需求。系統(tǒng)的初級架構若和系統(tǒng)性質,包括:外部接口如通信和用戶接口,系統(tǒng)限制條件如環(huán)境和功能限制,系統(tǒng)配置需求。

在技術平安需求標準中應該有的平安機制包括:

1〕系統(tǒng)自身的錯誤檢查、通知和控制相關的措施,這些包含系統(tǒng)的自我監(jiān)控或者對于隨機硬件錯誤的檢查,也包含對通信通道〔如數(shù)據(jù)接口,通信總線,無線連接〕的失敗模式檢查和監(jiān)控措施。

2〕在和系統(tǒng)交互的外部設備中,對錯誤的檢查、通知和控制相關的措施。其中,外部設備包括:其它電子控制單元,電力提供或者通信設備等。

3〕使能系統(tǒng)達到或者維護一個平安狀態(tài)的措施,包括優(yōu)化平安機制沖突和仲裁邏輯。

4〕細化和實現(xiàn)報警及降級概念。

5〕避免潛在錯誤的措施。

設計階段

在軟件開發(fā)過程中,設計階段是繼需求之后的一個重要階段,在了解系統(tǒng)的需求后,設計階段是決定系統(tǒng)整體質量的重要保證,在系統(tǒng)設計階段,主要關懷的是系統(tǒng)的架構設計,根本的輸入輸出流程,外部交互,組織結構,模塊分配,功能劃分,數(shù)據(jù)結構設計和出錯設計等,為軟件的詳細設計提供基石。

在ISO26262-4和ISO26262-6中都有波及到到設計階段平安的開發(fā)。ISO26262-4主要關注于系統(tǒng)級的設計和平安方面的概念。系統(tǒng)設計應給予功能概念,根底架構若以及技術平安需求,保證各個階段的根底架構若保持一致。

考慮到技術平安需求的實現(xiàn)問題,系統(tǒng)設計應該考慮一下這些問題:

1)

驗證系統(tǒng)設計的能力。

2)

在系統(tǒng)集成期間測試的可執(zhí)行能力。

3)

系統(tǒng)和子系統(tǒng)架構應該在對應的ASIL等級上合乎技術平安需求。

4)

每個元素應從它實現(xiàn)的技術平安需求中繼承最高的ASIL等級。

5)

對于平安相關的元素,應該定義其內部和外部的接口,這是為了防止其它元素影響它們的平安性。

在系統(tǒng)設計階段中,ISO26262-4的7.4.3.7中規(guī)定了為了防止高復雜性引起的失敗,架構設計應該滿足模塊化,足夠的顆粒度和簡單的原那么。其中模塊化的系統(tǒng)設計應該滿足的屬性如下表所示。

屬性

ASIL

A

B

C

D

1

層次設計

+

+

++

++

2

精確定義的接口

+

+

+

+

3

防止軟件組件和硬件組件不必要的復雜度

+

+

+

+

4

防止不必要的接口復雜度

+

+

+

+

在Studio中,RTE運行時環(huán)境層根據(jù)架構層軟件組件的架構設計,定義了軟件組件間通信接口,有明確的通信接口生成規(guī)定,同時也防止了不必要的接口復雜度,減少了依賴關系。系統(tǒng)映射根據(jù)架構層定義的軟件組件架構和ECU拓撲結構,完成軟件和硬件的映射關系,防止了軟硬件的耦合關系,減少了交互的不必要的復雜度,同時也是防止了軟硬件交互的接口復雜度,減少了依賴關系。

在ISO26262-6中規(guī)定了軟件級設計和平安相關的概念。軟件架構設計代表了所有的軟件組件和它們在層次化結構中的交互關系。軟件架構設計提供了可以實現(xiàn)軟件平安需求的辦法以及處理軟件開發(fā)的復雜性。

為了保證軟件架構設計獲得的信息足夠讓后續(xù)的開發(fā)流程正確有效的執(zhí)行,軟件架構設計應該用下表中列出的表示法描述適宜的抽象等級。

辦法

ASIL

A

B

C

D

1a

非正式表示法

++

+

+

+

1b

半正式表示法

+

++

++

++

1c

正式表示法

+

+

+

+

為了防止因高復雜度導致的錯誤,軟件架構設計應該滿足模塊化,封裝性和簡單這三個根本的屬性,下表中給出了軟件架構設計的原那么。

辦法

ASIL

A

B

C

D

1a

軟件組件的層次化結構

++

++

++

++

1b

軟件組件的高內聚性

+

++

++

++

1c

軟件組件間的低耦合性

+

++

++

++

在Studio的層次結構中,支持軟件組件的層次化結構,每個軟件組件通過內部行為表示其軟件組件具體完成的功能,滿足高內聚性和低耦合性。

架構層的設計保證了軟件架構設計開發(fā)到合理的程度使得所有的軟件單元能夠區(qū)別開。軟件架構設計包含了靜態(tài)設計和動態(tài)設計兩局部,其中靜態(tài)設計局部,架構層完成了分級層次的軟件結構,軟件組件的端口實現(xiàn)了規(guī)范中規(guī)定的軟件組件的外部接口。根據(jù)規(guī)范7.4.9中指出,軟件平安需求應該分配到軟件組件上,每個軟件組件應該根據(jù)分配給它的最高等級的ASIL來開發(fā)。

開發(fā)實現(xiàn)階段

開發(fā)實現(xiàn)階段是軟件項目中定義的系統(tǒng)開發(fā)的最中心的工作,它是完成系統(tǒng)實現(xiàn)的主要工作,因此在開發(fā)實現(xiàn)階段的平安保證也是Studio非常重要的工作。軟件的開發(fā)實現(xiàn)包括源碼的生成和轉化為目標代碼。

在ISO26262-6的8.4.4中給出了軟件單元設計和在源碼級實現(xiàn)的屬性,包括:軟件單元的子程序和功能能夠正確執(zhí)行相關步驟;軟件單元間保持接口一致;簡單性;可讀性和易理解性;魯棒性;易于修改和可測試性。如下表給出了我們工具合乎規(guī)范的一些設計原那么。

辦法

ASIL

A

B

C

D

1a

子程序和辦法只有一個入口和出口

++

++

++

++

1b

沒有動態(tài)對象和變量,也沒有在創(chuàng)立時的在線測試

+

++

++

++

1c

變量初始化

++

++

++

++

1d

變量名的屢次使用

+

++

++

++

1e

不使用全局變量

+

+

++

++

1f

盡量不適用指針

o

+

+

++

1g

沒有隱式的類型轉換

+

++

++

++

1h

沒有隱藏的數(shù)據(jù)流或者控制流

+

++

++

++

1i

沒有無條件跳轉

+

++

++

++

1j

沒有遞歸

+

+

++

++

由于Studio的最終目標是生成平安可靠的代碼,包括軟件組件的內部算法,軟件組件間相互通信代碼,ECU配置等代碼,因此也需要合乎規(guī)范中對于編碼的一些標準。

集成和測試階段

集成和測試階段是軟件開發(fā)的最后階段,它是正確高效運行軟件的必要保證。集成是按照系統(tǒng)設計的要求將各個模塊組裝成子系統(tǒng)或者是系統(tǒng),測試驗證軟

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論