- 註冊時間
- 2012-1-6
- 積分
- 8438
- 精華
- 0
- 帖子
- 1525
- 閱讀權限
- 100
- 最後登錄
- 2024-10-15
- UID
- 5
- 帖子
- 1525
- 主題
- 739
- 記錄
- 1
- 分享
- 0
- 日誌
- 213
- 閱讀權限
- 100
- 最後登錄
- 2024-10-15
- 在線時間
- 2326 小時
|
QKC 檢討會:軟體品質
本帖最後由 hlperng 於 2019-9-27 12:37 編輯
軟體 = 系統,系統 = 軟體
software engineering ⇒ system engineering ⇒ system and software engineering
ES = embedded system ⇒ CPS = Cyber-Physical System
軟體 = 作業系統 (OS) + 應用程式 (AP) + 資料庫 (DB) + 編碼工具 (CT)
系統 = 硬體 (HW) + 軟體 (SW) + 韌體 (FW) + 人體 (HW)
演算法與編程軟體
Fortran, Cobol, PASCAL, Matlab, Ada, C, JAVA, Python, TensorFlow, ...
人工智慧 (AI)、機器學習 (ML)、深度學習 (DL)
軟體特性 = 功能要求 + 非功能要求
軟體品質?軟體 xx 品質,軟體?軟體產品?軟體開發過程?軟體服務供應?
CMM, CMMI, NQA, ISO 9000
CMMI, SPICE, A-SPICE
軟體品質保證:
軟體品質保證的產品評估分為品質模型與評估過程兩部分,ISO 9126 國際標準系列定義軟體產品評估有關的品質模型,ISO 14598 國際標準系列則定義軟體產品的評估過程。後來兩份國際標準合併成為 ISO 25000 國際標準系列,稱為系統與軟體品質要求與評估 (Systems and software Quality Requirements and Evaluation, SQuaRE)。
軟體產品品質 (Software product quality):
依照國際標準 ISO 9126:2001 的定義,軟體品質包括內部品質、外部品質、使用品質。軟體品質指標:分為產品指標、過程指標、和專案指標三類。軟體內部與外部品質的屬性分為六個特性:功能性 (functionality) 、可靠性 (reliability)、使用性 (usability)、效率性 (efficiency)、維護性 (maintainability)、移植性 (portability)。軟體使用品質特性分為四類:效果性、生產性、安全性、滿意性。
ISO 25010:2011 開始整合系統與軟體,將系統與軟體產品品質模型與特性分為 8 類:功能適合性 (functional suitability)、性能效率性 (performance efficiency)、相容性 (compatibility)、使用性 (usability)、可靠性 (reliability)、保密性 (security)、維護性 (maintainability)、和移植性 (portability)。軟體使用品質有五類:效果性、效率性、滿意性、無風險性、狀況覆蓋性。
軟體品質管理系統國際標準- ISO 9001:2008, Quality management systems - Requirements
- ISO/IEC 20000-1:2011, Information technology - Service management - Part 1:Service management system requirements
- ISO/IEC 90003:2013, Software engineering - Guidelines for the application of ISO 9001:2008 to computer software
- ISO/IEC 27001:2013, Information technology - Security techniques - Information security management systems - Requirements
- ISO/IEC 27002:2013, Information technology - Security techniques - Code of practice for information security controls
- ISO 9001:2015, Quality management systems - Requirements
- ISO/IEC 20000-1:2018, Information technology - Service management - Part 1: Service management system requirements
- ISO/IEC 27000:2018, Information technology - Security techniques - Information security management systems - Overview and vocabulary
- ISO/IEC/IEEE 90003:2018, Software engineering - Guidelines for the application of ISO 9001:2015 to computer software
軟體產品品質 ISO 9126 系列國際標準:
- ISO 9126:1981, Information technology - Software product evaluation - Quality characteristics and guidelines for their use
- ISO 9126-1:2001, Software engineering - Product quality - Part 1: Quality model (GB/T 16260-1:2006 IDT) ⇒ 已為 ISO/IEC 25010:2011 所取代。
- ISO/IEC TR 9126-2:2003, Software engineering - Product quality - Part 2: External metrics ⇒ 已為 ISO/IEC 25023:2016 所取代。
- ISO/IEC TR 9126-3:2003, Software engineering - Product quality - Part 3: Internal metrics ⇒ 已為 ISO/IEC 25023:2016 所取代
- ISO/IEC TR 9126-4:2004, Software engineering - Product quality - Part 4: Quality in use metrics ⇒ 已為 ISO/IEC 25022:2016 所取代。
- IEEE STD 730:2014, IEEE Standard for Software Quality Assurance Processes (revision of IEEE STD 730:2002)
軟體產品評估 ISO 14598 系列國際標準:
- ISO 14598-1:1999, Software engineering - Product evaluation - Part 1: General overview (GB/T 18905-1:2002 IDT)
- ISO 14598-2:1999, Software engineering - Product evaluation - Part 2: Planning and management
- ISO 14598-3:2000, Software engineering - Product evaluation - Part 3: Process for developers
- ISO 14598-4:1999, Software engineering - Product evaluation - Part 4: Process for acquirers
- ISO 14598-5:1998, Software engineering - Product evaluation - Part 5: Process for evaluators
- ISO 14598-6:2001, Software engineering - Product evaluation - Part 6: Documentation of evaluation modulus (GB/T 18905-6:2002 IDT)
系統與軟體品質要求與評估 ISO 25000 系列國際標準簡稱為 SQuaRE:
- ISO/IEC 2500n:軟體產品品質管理部分
- ISO/IEC 25000:2014:Systems and software engineering - Systems and software Quality Requirements and Evaluation (SQuaRE) - Guide to SQuaRE
- ISO/IEC 25001:2014, Systems and software engineering - Systems and software Quality Requirements and Evaluation (SQuaRE)
- ISO/IEC 2501n:軟體產品品質模型部分
- ISO/IEC 25010:2011, Systems and software engineering - Systems and software Quality Requirements and Evaluation (SQuaRE)
- ISO/IEC 25011:2017, Information technology - Systems and software Quality Requirements and Evaluation (SQuaRE) - Service quality models
- ISO/IEC 25012:2008, Software engineering - Software product Quality Requirements and Evaluation (SQuaRE) -Data quality model
- ISO/IEC 2502n:軟體產品品質量測部分
- ISO/IEC 25020:2019, Systems and software engineering - Systems and software Quality Requirements and Evaluation (SQuaRE) - Quality measurement framework
- ISO/IEC 25021:2012, Systems and software engineering - Systems and software Quality Requirements and Evaluation (SQuaRE) - Quality measure elements
- ISO/IEC 25022:2016, Systems and software engineering - Systems and software Quality Requirements and Evaluation (SQuaRE) - Measurement of quality in use
- ISO/IEC 25023:2016, Systems and software engineering - Systems and software Quality Requirements and Evaluation (SQuaRE) - Measurement of system and software product quality
- ISO/IEC 25024:2015, Systems and software engineering - Systems and software Quality Requirements and Evaluation (SQuaRE) - Measurement of data quality
- ISO/IEC 25025:2019 (PDTS), Information technology - Systems and software Quality Requiremens and Evaluation (SQuaRE) - Measurement of IT service quality
- ISO/IEC 2503n:軟體產品品質要求部分
- ISO/IEC 25030:2019, Systems and software engineering - Systems and software Quality Requirements and Evaluation (SQuaRE) - Quality requirements framework
- ISO/IEC 2504n:軟體產品品質評估部分
- ISO/IEC 25040:2011, Systems and software engineering - Systems and software Quality Requirements and Evaluation (SQuaRE) - Evaluation process
- ISO/IEC 25041:2012,
- ISO/IEC 2505n:
- ISO/IEC 2506n:
軟體軟體可靠度?
軟體可靠度不是操作時間的函數,軟體可靠度為軟體品質屬性之一,其他的屬性包括:功能性、使用性、性能、服務性、能力、安裝性、維護性、以及文檔。軟體可靠度的面向之一為強健性 (robustness)。軟體可靠度與維護度、安全性、保密性等合稱軟體可恃性。
軟體的 90-10 規則:我們使用軟體的時候,有 90 % 的時間只使用到 10 % 的軟體程式。研究顯示,消除 60 % 軟體錯誤,只改善 3 % 的可靠度。做正確的軟體有效率,比做有效率的軟體正確容易多了。使用軟體時,資料喪失、當機、改正等引起的失效成本,遠超過系統的原始成本。
硬體失效大多數是因為實體失效,亦即設計是正確的,相反地,軟體失效則是因為設計錯誤。軟體可靠度不好是源自於軟體中存在著錯誤 (faults),由於錯誤變得敏感而顯現成為失效,理論上消除錯誤應該會造成可靠度成長,由於錯誤與失效之間的複雜關係,事實上並不一定會如此,這也使錯誤與可靠度的關係變得很複雜,關於這一點在很早之前就引起人們的注意。
任何一項失效都是重要的,只要大於一次,不管多少都一樣,任務無法繼續進行。
- 需要時的失效機率 (probability of failure on demand, POFOD)
- 失效發生率 (rate of occurrence of failure, ROCOF)
- 平均失效發生時間 (mean time to failure, MTTF)
|
|