首頁  >  文章  >  軟體開發中不容忽視的10個因素

軟體開發中不容忽視的10個因素

DDD
DDD轉載
2023-10-31 10:32:561181瀏覽

靈活性和可擴展性

靈活性是軟體在不損壞目前系統的情況下添加/修改/刪除功能的能力。可擴展性是軟體在不損壞系統的情況下添加功能的能力,因此它可以被認為是靈活性的子集。這些功能變更可能會根據不斷變化的需求而發生,或者如果開發過程是迭代方法之一,則可能會發生這些功能變更。軟體開發中的變更是不可避免的,因此,這是高品質軟體最重要的屬性之一

可維護性和可讀性

可維護性與靈活性有點相似,但它側重於錯誤糾正和次要功能修改的修改,而不是主要功能的可擴展性。它可以得到有用的介面定義、文件和自文檔程式碼和/或程式碼文件的支援。文件越正確、越有用,可維護性就越高。

效能與效率

效能主要與軟體的回應時間有關。該回應時間應該在可接受的間隔內(例如,最多幾秒鐘),如果交易計數增加,則不應增加。而且,資源很昂貴。效率必須由資源利用來支持。舉個誇張的例子,僅使用 32 個處理器的機器或 1 TB 磁碟空間來執行簡單的功能是不可接受的。必須以最佳來源/效能比為目標。 

可擴充性

即使負載增加,可擴充的系統也會在可接受的時間內回應使用者操作。當然,可以添加更多硬體來處理不斷增加的用戶事務,但這樣做時架構不應改變。這稱為垂直可擴展性。在多台、數量不斷增加的機器上運作的能力是多重處理。如果軟體可以執行此類處理,則稱為水平可擴展性。首選的可擴展系統應該適合這兩種方法。

可用性、穩健性、容錯性和可靠性:

即使在大多數故障狀態下,強大的軟體也不應該失去其可用性。即使某些組件發生故障,它也可能繼續運作。此外,即使整個應用程式崩潰,它也可以使用備份硬體和資料以及容錯方法自行恢復。應該總是有 B 甚至 C、D .. 計劃。 可靠性也代表即使在高負載條件下軟體的完整性和一致性。因此它與可用性和可擴展性相關。不可靠的系統也是不可擴充的。

可用性和可訪問性

從使用者的角度來看,使用者介面是軟體唯一可見的部分。因此,簡單性、花更少的時間完成工作、快速學習等在這種情況下非常重要。這個屬性最著名的原則是 KISS(Keep It Simple Stupid)。簡單永遠是最好的。可用的軟體還應該支援殘疾人的不同輔助功能類型的控制。

平台相容性和可移植性

高品質的軟體應該在盡可能多的平台上運行。所以,更多的人可以利用它。在不同的上下文中,我們可能會提到不同的平台,這可能是作業系統平台、瀏覽器類型等。可移植性是指調整可以在不同平台上運行的軟體,以獲得更好的平台相容性。從這個意義上講,便攜性也與靈活性有關

可測試性和可管理性

高品質的軟體需要品質測試。原始程式碼應該以最大的覆蓋範圍和最有效的測試方法進行測試。這可以透過正確使用封裝、介面、模式、低耦合等技術來執行 。除了可測試性之外,合格的軟體還應該在部署後易於管理。它可以監控例如效能或資料使用狀態,或者可以使開發人員能夠輕鬆地配置系統。建立成功的日誌系統是關於可管理性的另一個非常重要的問題。

安全性

安全性是軟體開發中一個非常重要的問題,特別是對於基於網路或行動裝置的軟體開發來說,這些軟體可能擁有數百萬具有遠端存取系統能力的使用者。您應該建立安全策略並透過不留任何入口點來正確應用它。這可能包括授權和認證技術、網路攻擊保護、資料加密等。應考慮所有可能類型的安全漏洞,否則有一天,僅一次攻擊就可能使您的整個應用程式和整個公司崩潰。

功能性與正確性

功能性(或正確性)是指軟體與實際需求和規格的一致性。事實上,這是應用程式的優先屬性,也許不是品質因素,但我們想將其作為最後一個 品質因素,以引起注意:當我們談論無法正常運作的軟體時,品質因素就沒有意義。首先,執行所需的功能並產生正確的軟體,然後對其應用品質因素。如果兩者能夠並行,那就最好了。

以上是軟體開發中不容忽視的10個因素的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文轉載於:dzone.com。如有侵權,請聯絡admin@php.cn刪除