可靠性是指軟體有效且高效地進行測試的能力。
「有效地進行測試」指測試有深度且高質量,即通過測試可以全面檢測軟體的質量。「高效地進行測試」指測試所需要的成本和勞力較少,即能夠花費較少的成本快速地檢查軟體的質量。
隨著軟體體積的增大和軟體複雜程度的加深,測試的難度會越來越大,所需成本也會越來越高。因此我們要求軟體架構不僅要保證軟體正常執行,還要有簡化測試的效果。
無論是開發階段還是維護階段,保證修改後的軟體的質量都是乙個非常重大的課題,在軟體的各項需求中,可測試性重要程度相對較高。
簡化軟體的測試需要有軟體架構的支援。使用能夠簡化測試的軟體架構不僅方便除錯**和除錯模組的臨時整合,還可以提高排查及修復故障的效率。
從軟體架構的設計階段開始,我們就要將測試方法納入考慮的範圍。
測試**通常給人一種正式**附屬物的印象,但實際上,正式**中也可以含有測試**。這雖然與固有價值觀相衝突,但從測試的重要程度來看,還是值得我們讓步的。
提高可測試性的關鍵在於消除模組之間的依賴關係。如果存在依賴關係,難以測試的部分就會拖整個軟體的後退。我們要盡量消除模組之間的依賴關係,保證測試能夠較小的單位進行。
軟體架構的非功能需求
非功能需求指功能方面以外的一切需求。要想讓軟體具有高質量,真正服務於使用者,單純滿足功能需求是不夠的,還要滿足非功能需求。非功能需求與功能需求一樣重要。非功能需求包含以下幾種觀點 非功能需求對開發 運維以及計算機資源的高效運用有著很大的影響。另外,在發布後的運維階段,比較大的問題多是由效能 系統宕機...
軟體架構非功能需求 效率性
效率性指軟體在執行過程中使用資源發揮效能的能力。效率性大致分為以下兩種 時間效率性從時間的角度來定義資源的使用效率。時間效率性可以通過一定時間內可以完成的處理數量 通量 從使用者執行輸入操作到應答所花費的時間 響應時間 從使用者開始操作到輸出所需資訊所花費的時間 周轉時間 等來衡量。資源效率性從計算...
軟體開發 非功能需求與功能需求
需求定義 需求 requirement 就是系統 更廣義的說法是專案 必須提供的能力和必須遵從的條件。需求分類 1 在一般使用中,需求按照功能性 行為的 和非功能性 其它所有的行為 來分類。功能性需求是說有具體的完成內容的需求。非功能性需求是指軟體產品為滿足使用者業務需求而必須具有且除功能需求以外的...