SWE.1 Software Requirements Analysis 軟體需求分析

ASPICE 標準解讀 — 軟體工程流程

David Lin 顧問筆記
ASPICE標準解讀
4 min readJan 28, 2020

--

流程目的(Process Purpose)

The purpose of the Software Requirements Analysis Process is to transform the software related parts of the system requirements into a set of software requirements.

軟體需求分析流程的目的是將系統需求中的軟體相關部分轉換成一套軟體需求。

流程結果(Process Outcome)

成功實作軟體需求分析流程,其相應的結果如下:
1) 能被分配給軟體元件及其相關介面的軟體需求被定義;
2) 軟體需求被分類,並分析其正確性及可驗證性;
3) 軟體需求與操作環境的影響被分析;
4) 軟體需求的實作順序被定義;
5) 軟體需求根據需要被更新的; (保持最新的狀態)
6) 系統需求與軟體需求的一致性與雙向可追溯性被建立; 系統架構設計與軟體需求的一致性與雙向可追溯性被建立;
7) 評估軟體需求的成本、時程及技術等影響
8) 軟體需求已商定,並傳達給所有受影響的成員

基礎實踐(Base Practices)

SWE.1.BP1: Specify software requirements.
SWE.1.BP1: 具體描述軟體需求
[Outcome 1,5,7]

Use the system requirements and the system architecture and changes to system requirements and architecture to identify the required functions and capabilities of the software. Specify functional and non-functional software requirements in a software requirements specification.

運用系統需求和系統架構及這兩者的相關變更去識別軟體所需要的功能及性能;在軟體需求規格書中具體描述功能性及非功能性。

NOTE 1: Application parameter influencing functions and capabilities are part of the system requirements.
NOTE 2: In case of software development only, the system requirements and the system architecture refer to a given operating environment (see also note 5). In that case, stakeholder requirements should be used as the basis for identifying the required functions and capabilities of the software as well as for identifying application parameters influencing software functions and capabilities.

備註1:影響功能及性能的應用參數是系統需求的一部分;
備註2: 在只有軟體的開發情況下,系統需求和系統架構將參照一個給定的運作環境(請同時參見 備註5)。在這種情況下,應以利益相關方需求作為基礎,來識別軟體所需功能、性能及相關應用參數。

SWE.1.BP2: Structure software requirements.
SWE.1.BP2: 結構化軟體需求
[Outcome 2,4]

Structure the software requirements in the software requirements specification by e.g.
• grouping to project relevant clusters,
• sorting in a logical order for the project,
• categorizing based on relevant criteria for the project,
• prioritizing according to stakeholder needs.

以結構化的方式將軟體需求呈現在系統需求規格書中,請參考以下:
• 分組到專案相關集群(clusters)
• 按照專案的邏輯順序排序
• 根據專案相關準則進行分類
• 根據利益相關方要求排定優先順序

NOTE 3: Prioritizing typically includes the assignment of software content to planned releases. Refer to SPL.2.BP1.

備註3: 排定優先順序通常包括將是根據排定的發佈對應相關的軟體內容。請參照SPL.2.BP1

SWE.1.BP3: Analyze software requirements.
SWE.1.BP3: 分析軟體需求

[Outcome 2,7]

Analyze the specified software requirements including their interdependencies to ensure correctness, technical feasibility and verifiability, and to support risk identification. Analyze the impact on cost, schedule and the technical impact.

分析軟體需求(BP.1的產出),包含需求的相互依存關係以確保正確性、技術可行性及可驗證性,並且支援風險識別。分析對於成本、時程及技術的影響。

NOTE 4: The analysis of impact on cost and schedule supports the adjustment of project estimates. Refer to MAN.3.BP5.

備註4: 成本及時程的影響分析可以協助調整專案預估。請參照MAN.3.BP5

SWE.1.BP4: Analyze the impact on the operating environment.
SWE.1.BP4: 分析對操作環境的影響
[Outcome 3,7]

Analyze the impact that the software requirements will have on interfaces of system elements and the operating environment.

分析軟體需求在系統元件的介面與操作環境的影響。

NOTE 5: The operating environment is defined as the system in which the software executes (e.g. hardware, operating system, etc.).

備註5: 這裡要定義的操作環境指的是軟體所執行的系統(包含: 硬體、作業系統,等…)

SWE.1.BP5: Develop verification criteria.
SWE.1.BP5: 制定驗證準則
[Outcome 2,7]

Develop the verification criteria for each software requirement that define the qualitative and quantitative measures for the verification of a requirement.

針對每個軟體需求制定定性與定量的驗證準則。

NOTE 6: Verification criteria demonstrate that a requirement can be verified within agreed constraints and is typically used as the input for the development of the software test cases or other verification measures that should demonstrate compliance with the software requirements.
NOTE 7: Verification which cannot be covered by testing is covered by SUP.2.

備註6: 驗證準則說明軟體需求可以在約束條件下被驗證。驗證準則通常被用來當作開發軟體測試案例(該軟體案例需與軟體需求保持一致性)的輸入資訊;驗證準則通常也被用當作其他驗證量測方法(方法需與軟體需求一致性)的輸入資訊;
備註7: 無法透過測試來進行驗證的軟體需求將透過SUP.2來執行驗證。

SWE.1.BP6: Establish bidirectional traceability.
SWE.1.BP6: 建立雙向可追溯性
[Outcome 6]

Establish bidirectional traceability between system requirements and software requirements. Establish bidirectional traceability between the system architecture and software requirements.

建立系統需求與軟體需求的雙向追溯。建立系統架構與軟體需求的雙向追溯。

NOTE 8: Redundancy should be avoided by establishing a combination of these approaches that covers the project and the organizational needs
NOTE 9: Bidirectional traceability supports coverage, consistency and impact analysis.

備註8: 建立涵蓋專案和組織需求的一套追溯管理方法,該方法應該盡量避免多餘的追溯。
備註9: 雙向追溯支援覆蓋性、一致性和影響分析。

範例:系統需求, 系統架構 對應 軟體需求

SWE.1.BP7: Ensure consistency.
SWE.1.BP7: 確保一致性
[Outcome 6]

Ensure consistency between system requirements and software requirements. Ensure consistency between the system architecture and software requirements.

確保系統需求與軟體需求的一致性。確保系統架構與軟體需求的一致性。

NOTE 10: Consistency is supported by bidirectional traceability and can be demonstrated by review records.
NOTE 11: In case of software development only, the system requirements and system architecture refer to a given operating environment (see also note 2). In that case, consistency and bidirectional traceability have to be ensured between stakeholder requirements and software requirements.

備註10: 可以透過BP6所建立的雙向追溯來確保一致性;審查記錄可以用來作為一致性的證明。
備註11:在只有軟體的開發情況下,系統需求和系統架構將參照一個給定的運作環境(請同時參見 備註2)。在這個情況下,應確保「利益相關方需求」與「軟體需求」間的一致性與雙向追溯性。

SWE.1.BP8: Communicate agreed software requirements.
SWE.1.BP8: 溝通商定的軟體需求
[Outcome 8]

Communicate the agreed software requirements and updates to software requirements to all relevant parties.

溝通商定的軟體需求及其更新給所有相關的成員。

工作產出(Output Work product)

13-04 溝通記錄 [Outcome 8]
13-19 審查記錄 [Outcome 6]
13-21 變更控制記錄 [Outcome 5,7]
13-22 追溯記錄 [Outcome 1,6]
15-01 分析報告 [Outcome 2,3,4,7]
17-08 介面需求規格書 [Outcome 1]
17–11 軟體需求規格書 [Outcome 1]
17–50 驗證準則 [Outcome 2]

感謝閱讀本文章!

如果你對文章內容有任何問題,請隨時與我聯絡。
if you found any question in the article, please feel free to contact me.

mailto: linchewing@gmail.com

--

--

David Lin 顧問筆記
ASPICE標準解讀

現任國際標準輔導顧問及評鑑師;在這裡,分享一些產業新知、趨勢以及標準的解讀與看法。更多資訊請參考:https://linchew.com