軟件質量
軟件質量屬性是功能性、可用性、可靠性、效能、可維護性、安全性和可擴展性的總和。
軟件質量在過去幾十年甚至更久的時間裡得到了發展,但是仍然存在許多缺陷和失敗,例如遺漏或誤解需求、設計錯誤、超出預算、性能不佳等。它也可能是用戶在測試階段未被發現的故障。
這就是軟件質量發揮作用的地方。開發系統的方法必須與軟件的質量屬性相關,這將有助於實現成功的軟件。此外,隨著互聯網上的快速變化和發展,例如在商業環境中電子郵件和網絡的演進,軟件質量都需要適應這些變化。
然而,由於有這麼多不同的屬性,並非所有的屬性都可以應用於所有產品。以下部分描述了大多數屬性如何對軟體的成功實施產生影響。
功能性
功能性是指產品執行要求和規範的能力,它是軟件根據商定的用戶要求提供和執行滿足規定條件的功能的能力,這是任何產品或服務的基本目的。一個產品的功能越多,定義其功能就越複雜。軟件質量的基本屬性對於複雜的軟件可能會出現問題。優質軟件的主要目標必須能夠提供滿足用戶需求的功能。因此,需求階段是確定其後續階段是否正確運行的初始和關鍵階段。
可用性
用戶友好性是可用性的目標,沒有人喜歡翻閱一大堆手冊和幫助頁面,只是為了找出如何使用一個功能。一般來說,可用性是指能夠輕鬆使用軟件並以用戶友好的方式進行維護的能力。例如,完成一項任務應該需要較少的時間,學習一個新功能應該是容易並且易於記憶。
可靠性
可靠性是關於系統是否可以在需求、設計、編碼、測試和運行時每個階段都滿意地執行其預期功能。這是軟件質量的一個重要方面,因為它應該始終保持在無故障狀態。當軟件能有效運行,我們就必須確保所提供的信息準確可靠。可靠性還必須在規定的時間內保持其性能水平。
效能
效能是指軟件相對於使用的資源量能夠提供適當的性能的能力。這個特性涉及在提供所需功能時使用的系統資源。磁盤空間、內存、網絡和處理時間的使用是這一特性的良好指標。
時間行為
它是軟件產品在規定條件下執行其功能時提供適當回應時間、處理時間和吞吐率的能力。這是一個可以測量系統每個功能的屬性。
資源管理
這是在執行功能時使用的資源量和類型以及使用這些資源的時間。它涉及大小(用於使用資源的空間和使用資源的時間)的度量計算的屬性複雜性。被認為是高效的軟件產品不應允許過度使用資源, 例如額外的內存和處理器速度。
可維護性
可維護性是軟件產品被修改的能力。修改可能包括對軟件的修正、改進或適應環境的變化以及需求和功能規範的變化。如果軟件產品易於理解、增強和糾正,則該產品被認為具有很高的可維護性,可供用戶和開發人員使用。
一般來說,應用程式系統必須不時得到支援和維護。優質軟件能夠讓用戶可輕鬆管理系統資源,提供有效的功能,甚至自動進行系統管理。因此,可維護性良好的軟件產品應該有詳細的文檔記錄,並且能讓不同層次的用戶和系統人員都易於理解。
安全性
安全性是企業應用程式中至關重要的部分。保護軟件產品免受安全威脅是軟件質量的關鍵屬性之一。一次的攻擊可能導致系統或整個網絡受破壞。今天,我們都在一個方便溝通的網絡中。然而,安全漏洞的可能性也在增加。因此,軟件產品必需要有強大的安全保護。
其他需要考慮的因素有:安全策略、安全機制、安全實施和安全測試。
可擴展性
可擴展性具有使系統能夠在不中斷的情況下輕鬆進行升級的能力。例如,可擴展的在線交易處理系統或數據庫管理系統可以通過添加新的處理器、設備和存儲來升級以處理更多交易項目,並且可以在不中斷的情況下輕鬆進行升級。
可延展性
可延展性是在實施階段應該考慮的因素之一,以便考慮未來的增長。例如,是否已為將來的擴展預留了記憶體和存儲容量?如果是,那麼在一定期限內應該保留多少?
業務環境不斷變化,業務流程不斷添加新的元素以進行改進。軟件產品必須具有高水平的靈活性和可延展性,以便輕鬆訂製以滿足需求變化。