軟體非功能定能定義
適宜性:軟體支援業務的必要功能必須存在,這些功能應當與其應用的業務場景相適宜,否則軟體就失去了其使用價值。適宜性是軟體最根本的質量屬性,滿足不了它,軟體將一錢不值
正確性:軟體交付是精確的,符合在計算機上執行的所有要求;同時其執行將準確地實現事先所定義的功能規範,從而滿足使用者的需要。正確性包括兩方面:軟體行為正確,不能與規格定義有偏差;軟體編碼正確,否則不能在機器上執行
完備性:軟體提供的功能相對於業務、使用者操作的需要而言,應當是完備和全面的。如果缺少對某些業務環節支援,將影響業務運作效率;而缺少相關的使用者操作途徑,則可能阻礙使用者工作
互用性:目標系統要能和其他系統協同工作
依從性:軟體產品要依從法律法規
安全性:軟體產品要防止未經授權而對程式或者資料的訪問
易用性度量
簡單明瞭:軟體操作坊式應當簡潔,沒有複雜繁瑣步驟;其行為表現直觀明了,讓人容易把握
(風格)一致性:軟體操作的風格、模式,表達的概念以及邏輯關係,應當是一致的。
可理解性:軟體操作方式和行為表現,應當符合常識,不與使用者的認知習慣相衝突。
可學習性:
操作健壯性:軟體對使用者錯誤操作或者外部異常輸入的免疫能力
可見性:好的軟體介面應當讓使用者通過簡單的觀察,就能領會如何進行操作。改善可視性途徑有:提供可視的指示來引導使用者;在介面上對類似的功能與顯示內容進行分組,隨著操作展開逐步啟發使用者
暗示:軟體介面上各類物件的形態,應當直觀地提示使用者其作用和應當如何被使用
自然應對:針對使用者想要完成的任務,軟體提供清晰和自然的對應機制來實現。
約束:軟體在互動設計上,有意識限制使用者操作路線,從而減少使用者為了執行相關任務所需掌握的知識
互動概念模型:軟體的互動過程應當遵循一定的規則;
明確的控制:為了避免軟體的行為失控,軟體互動的設計必須是明確而無二義的
相應:軟體應當及時給使用者的操作以反饋,以便使用者把握任務執行的進度和狀態,防止使用者接下來執行錯誤的行為,使得互動過程陷入混亂和失控。
軟體可靠性要求
有效性:軟體可持續正常執行
成屬性:軟體缺陷造成的故障的頻度
故障承受能力:軟體在遇到故障或者侵害時任燃能夠工作
可恢復性:軟體遇到故障,恢復工作所需時間短
可**性:軟體執行狀態和行為是可以**和把握的
軟體效能與效率要求
時間行為上的效率:相應、處理時間以及執行功能時的吞吐率相關的軟體屬性
資源行為上的效率:系統完成某項任務時,所使用的資源數量及其持續時間相關的軟體屬性。
軟體可支援與維護性要求
可驗證性:驗證軟體代價的質量屬性
可分析性:診斷缺陷、故障,或者確定需要修改索要代價的質量屬性
可變性:與修改、實施需求或者設計變更難易程度的質量屬性
穩定性:未料到的風險
可審計性:
可維護性:
適應性和可擴充套件性要求
適應性:可以在不同環境下執行
一致性/相容性:軟體可以相容
可配置性:為了適應不同環境和應用場景,而進行配置以便實現此目的所付出的努力
可移植性:將軟體通過重新編譯或者改造,從而能夠在新環境下執行
可安裝性
功能可擴充性
效能可伸縮性
開發階段內部質量要求
業務建模質量屬性:業務建模應當準確地反映客戶的業務狀況或者期望狀況;同時還是完備的,能夠反映客戶業務的全域性關係;另外,業務建模必須是可理解的,方便涉眾進行溝通
需求質量屬性:軟體規格定義相對於支援其業務或領域應用應當是適宜的,以滿足業務和使用者操作的需要。它同時還必須是精確的,以避免理解偏差和最終交付的不一致;而需求定義的完備性決定了軟體交付的功能完備性;為了實現軟體易用性,需要互動設計良好,以消除互動邏輯上的缺陷;需求的可理解性往往也決定了軟體操作的可理解性;最後需求必須是可驗證的
架構與分析設計質量屬性:軟體設計必須是正確的,要滿足各類功能與非功能需求;架構設計應當結構良好,模組劃分適合,職責分配自然;軟體架構應當是健壯和可擴充套件,支援方便新增功能,同時不打破
i原來結構;設計的各個模組或者元素本省應當是高內聚的,模組或者元素的關聯應當是低耦合;軟體設計在整體上是低冗餘的;設計的模組應當簡潔優雅、具備較強的可理解性,方便開發人員掌握或者準照實施;最後,軟體架構還應當具備較強的可測試性,大幅減少測試成本,並最終有助提公升軟體交付質量
**質量屬性:**正確實縣功能;同時健壯,可讀性好
測試質量屬性:測試方案可執行;測試覆蓋率要高,測試活動有效
部署質量屬性:易部署、易配置
軟體非功能屬性及策略
大類 可修改性 可用性 效能 安全性 可測試性 易用性 可修改性策略 一 區域性化修改 1 高內聚 低耦合 2 為變更預留介面 針對介面程式設計 3 通過方法和函式 傳入引數 4 限制修改範圍 二 防止連鎖反應 1 資訊隱藏 將變更隔離在乙個模組內,防止變更擴散到其他模組 2 維持現有介面 新增介面...
軟體 非功能性需求
軟體需求分為功能需求和非功能性需求,常常會因為注重功能需求而忽略了非功能性需求,以下是對常見幾類非功能性需求的總結。非功能性需求 1 定義 軟體產品為滿足使用者業務需求而必須具有且除功能需求以外的特性。2 影響 影響著產品是否能夠持續穩定並高效的提供服務。3 常見類別 效能需求 響應時間 吞吐量 資...
軟體架構的非功能需求
非功能需求指功能方面以外的一切需求。要想讓軟體具有高質量,真正服務於使用者,單純滿足功能需求是不夠的,還要滿足非功能需求。非功能需求與功能需求一樣重要。非功能需求包含以下幾種觀點 非功能需求對開發 運維以及計算機資源的高效運用有著很大的影響。另外,在發布後的運維階段,比較大的問題多是由效能 系統宕機...