嵌入式系統軟體的全過程質量保證

2021-08-24 17:23:11 字數 3979 閱讀 1402

質量是產品的生命

當今隨著軟、硬體技術的發展,嵌入式系統廣泛應用於航空航天、國防軍事、電子通訊等行業,其中軟體也越來越複雜。而這些領域應用特點,決定了嵌入式系統往往是高安全、任務關鍵的系統,軟體的微小瑕疵就可能嚴重威脅到生命和國家的安全、天文數字的巨額財產損失。這就使得保證嵌入式軟體的質量和可靠性,變得至關重要。而在這些領域,對產品質量從來就保持著高度的重視,有將「質量視為產品的生命」的傳統。這樣,相關行業的高層管理人員和開發人員對於軟體的質量也逐漸提高了重視程度。近年來,在組織上,建立了完善的軟體測試體系;在開發和測試方法上,建立了中國的軟體過程成熟度的評價體系gjb5000;在自動化工具方面,投入了大量的經費和人員在測試裝置的開發、購置和建設方面。應該說,軟體作為嵌入式產品主要的組成部分之一,對其質量的重視是目前相關行業的乙個共識。

ibm rational多年來在軟體工程和質量保證方面積累了豐富的方法和經驗。本文依據部分嵌入式開發機構對軟體質量保證工作的一些理解,分析相應開發機構工作中可能的問題,並提出以rup為核心的全過程質量管理的思想和具體的實現方式,提出不同單位的過程改進方法,以一種漸進的方式,從簡單的工作開始,逐漸深入地改進組織的軟體質量管理水平。

定義質量

對於任何乙個組織,定義共同的對質量的理解是重要的第一步。軟體開發組織經常按照一種不精確的、概括的質量觀念來運轉。

在ibm rational統一過程中,質量定義如下:

在這個定義中,我們首先看需求,ibm rational的軟體質量在使用者需求方面的定義分為五個方面:易用性、可靠性、效能、可支援和功能。

質量保證,歸根結底就是為客戶提供更高品質的產品,更好地滿足客戶的需求。另一方面,這個質量定義中明確指出,質量更體現在軟體開發的整個過程和乙個標準的評價方式上。

軟體開發過程質量就是指為了生成工件而對可接受流程的實施和遵守程度,體現在三個層次:

乙個軟體生產企業的過程質量一般可以用它的軟體過程成熟度等級來評估。

rup全過程質量保證

rational unified process(rup)是乙個可以通過web來使用的軟體工程過程。作為軟體工業事實上的標準,它回答了我們以下問題:在整個軟體開發的各個過程中,誰(角色)應該在什麼時候(詳細工作流程)做什麼(任務)和產生什麼樣的開發結果(工件),以完成整個專案的開發目標。建立有效的工作過程,可以提高團隊的生產效率,控制開發過程中的風險,保證軟體開發進度並且提高軟體產品質量。同時通過為所有重要的開發活動提供全面的指南、模板和示例,使整個軟體開發團隊能夠有效共享成功經驗,提高團隊效率,最終保證軟體開發質量。

全過程質量保證思想

rup把整個軟體開發過程分解成:業務建模、需求管理、分析設計、實施、測試、部署、配置與變更管理、專案管理和環境等九個核心工作流程。每個核心工作規程由多個詳細工作流程組成。rup使用角色、任務和作為輸入/輸出的工件來組織每個詳細工作流程,實現軟體開發組織內部人、資源和流程的融合。rup通過建立完整的軟體開發過程,使得產品的質量由專案團隊的每個成員所代表的角色共同負責,具體體現在:每個工作流程設定相應的工作指南和工作檢查點,每個角色承擔相應的質量任務。

在rup中,整個軟體開發過程如圖1所示,它以指定的工件為輸入,通過軟體開發角色和標準化的軟體開發活動,生產出滿足質量要求的輸出工件。

用正確的過程和平台實現質量

ibm提供乙個完整的方案以幫助開發團隊構建更高質量的軟體。這個開放和標準的平台包括ibm軟體的許多任務具,包括ibm rational統一過程。在開發的每個階段和每個流程都強調關注質量,幫助團隊來識別開發生命週期中的早期問題。以下部分描述了rup和ibm軟體開發平台中的工具如何支援每個工作流程中的質量實踐的。

用於嵌入式系統的靜態度量、**規則檢查、單元測試、覆蓋率分析、記憶體分析、效能分析、**跟蹤、執行緒分析、基於訊息的分布式系統測試的跨平台解決方案。

為了推動團隊溝通、協作和合作,ibm rational還提供多種額外的解決方案選項。

分析

根據統計得知,引起客戶不滿意問題的80%可以追溯到對需求的糟糕理解上。對於任何嵌入式開發專案,不論是新的系統開發,或遺留系統更新整合,質量開始於分析業務,以確保系統需求清晰且準確地反映了業務和客戶需求。

我們可以將被測系統置於其將執行的環境中,採用建模的方式,將最優確認的需求,用條目化的方式管理需求文件,實現從需求、到分析、到設計、到實現、到測試的雙向跟蹤,以實現測試中發現缺陷到各層次的跟蹤,和影響範圍的分析。

設計

在設計中,主要的質量集中在構架上,這是軟體的「靈魂」。低質量的構架會引起大範圍的質量問題,包括(軟體)脆弱、缺乏公升級、以及發現缺陷也難以修改。這些問題隨著應用軟體專案不斷發展,變得越來越難以解決;並且隨著應用軟體從設計到開發、測試和部署,糾正缺陷的成本以指數在增長。如果軟體開發人員可以有效地發現、隔離和解決設計和開發期間的結構上的不足,這項工作會在整個專案期間獲得受益。

開發

平均起來,開發人員在他們寫的每千行**中會產生100到150個錯誤。當然,這個數量隨著開發人員和專案的不同而不同。即使只有一小段**,產生10%的錯誤也是很嚴重的。

rup倡導開發人員主動地測試和分析。儘管單元測試和執行分析已經變得更為主流,但是許多管理人員仍然有這樣的誤解,即這些過程使時間表中增加了不必要的時間。事實上,如果不採用這些措施,開發時間表通常會一樣或更加延長,這是由於在質量保證或客戶發現問題後,開發人員在生命週期中除錯**要花費更多的時間。

測試

管理系統級功能和效能測試是持續保證質量的乙個主要部分。乙個開發組織既不應當過分強調,也不應當減少系統測試的重要性。如前所述,保證質量不只是測試團隊的職責,測試也不只是質量保證的唯一領域。某些測試可以並且應當由開發人員來執行,在某些情況下,可以由構架師來執行。大量的質量保證工作,在rup的原則下是由其他開發角色構造的。

支援保證質量的團隊職責

質量是開發團隊中的每個人的職責,但是它也是團隊作為乙個整體的職責。在乙個迭代的過程中,每個迭代確保了每個工件質量的持續的重新評估,這樣,在迭代的方式下,經常可以保證提交質量更高的產品。有效的軟體配置管理和變更管理是保證質量的乙個基本工具;它幫助組織確保軟體在每次構建時是可重複的和可靠的,並且保證缺陷和變更請求得到正確的管理。

質量過程改進的步驟

當我們考慮需要什麼來構建任務關鍵和高安全性的系統軟體,並涉及過程質量改進時,大家往往想到的是乙個複雜的過程。其實,軟體過程質量改進,如軟體開發,可以是乙個迭代的過程。你不需要一步就完成所有的事情。即使是小的變化,包括調整你的組織中對質量的看法,也會產生乙個切實的改進。

我們指出兩條參考的改進的線路圖,遞進式的(或者本質的)和演進式的(反應式的)。遞進式的更多考慮工作流程間的依賴性,做到先改善基礎流程,再基於已有的改善基礎,做進一步改進。而演進式的多來自於工作中感知到的問題和瓶頸,依據問題的表面做反應式的改進。基於改進後再發現新的問題,如此反覆。當然,我們也在努力發現一種可以兼顧工作流程間依賴性,有可以快速顯示改進效果的改進方式。

我們可以把質量保證工作改善劃分為以下幾個方面:配置管理和變更管理、靜態分析和單元測試、整合測試和系統測試、迭代開發和連續測試、全過程質量、組織級質量體系、架構分析、需求管理、專案管理。遞進式和演進式的實施方式如圖2和圖3所示。

獲得軟體高質量的高收益

全過程的質量保證體系總是比忽略質量問題的成本要低。事實上,如果你正確地運用,提高產品質量基本上沒有成本。

在國際上,隨著軟體質量保證理論及應用研究工作的不斷深入,針對軟體質量保證工作的工作重點也經歷了如下發展歷程:

現在高品質軟體,需要完整的軟體開發過程和整合的軟體開發平台來共同鑄就。ibm rational軟體開發平台,就是以各種國際標準和開放平台為基礎,為嵌入式系統軟體產品的開發和生產過程提供了良好的開發速度和質量保證。

嵌入式系統軟體

嵌入式系統軟體特徵 嵌入式系統軟體要求 什麼樣的軟體才是實時軟體?嵌入式系統軟體包括哪些?嵌入式系統軟體對儲存器的需求 前後臺系統 總 量 應用程式 多工系統 總 量 應用程式 核心 核心 大約 1k 到 100k 8 位 cpu 用的最小核心只提供任務排程 任務切換 訊號量處理 延時及超時服務約需...

嵌入式系統軟體 4 2

目標 了解實時系統的基本屬性與效能指標。理解嵌入式作業系統核心的特點與結構。熟悉主流嵌入式作業系統的主要特點與適用領域。1.實時系統 實時系統是必須在有限和確定的時間內對外部事件作出響應的資訊系統。ieee對實時系統的定義 正確性不僅取決於計算的結果,而且取決於產生結果的時間的計算系統。關鍵特性 時...

嵌入式系統軟體 4 3

目標 了解linux作業系統的基礎知識。掌握linux作業系統的組成及其實時化技術。理解android,ios等嵌入式作業系統的特點,組成和應用開發方法。1.linux作業系統的組成 1 初始化元件 2 程序排程器 3 記憶體管理器 4 虛擬檔案系統 5 網路介面 6 程序間通訊 7 可載入模組 8...