適應SaaS質量需求的軟件開發流程
SaaS通過互聯網向用戶提供服務,而這基礎是軟件系統的部署。這就要求在軟件需求分析、設計和驗證時,要充分考慮系統部署的需求,包括服務器集群、分布式網絡、故障轉移、系統在線擴充、數據備份和恢復等。所以系統的架構設計是非常重要的,需要投入足夠的時間和資源。
另一方面,由于軟件部署由軟件服務商自己控制,且不會像渠道銷售軟件套裝產品那樣花費很長時間和制造成本,所以SaaS軟件發布周期可以大大縮短,力求在軟件開發過程中做到最簡單和最有效,最優先要做的是通過盡早的、持續的交付有價值的軟件來使客戶滿意。
對于SaaS軟件開發,可以將敏捷方法和RUP過程方法結合起來,敏捷過程能夠保持快速、穩定的開發速度,RUP過程可以保證系統的靈活架構、良好的擴充性和移植性,促進開發過程達到一個最佳的平衡狀態,以獲得很高的滿意度。
軟件服務模式的產品發布程序比一般軟件產品的發布要復雜得多,要涉及到軟件產品部署和實施的前期活動和后期活動,其中增加了“軟件產品的部署(Deployment)規劃、部署設計、部署設計的驗證和實施、監控”等活動。
在開發中,要考慮到網站或數據的遷移、多種升級方式、多版本共存的運行環境等需求,對數據/系統的兼容性要進行充分的討論和分析,保證用戶升級過程中,所獲得服務沒有受到影響,數據受到保護,一切使用正常。
而且,要處理好客戶之間的關系,對于功能變化較大的新版本升級,一般要事先得到用戶的許可或同意。
對于軟件服務模式,當產品發布到運行環境(服務器)中,在用戶開始使用之前,還要進一步驗證。所以,對軟件服務模式的產品發布中最后實施階段,其時間性非常強,一般放在周末或晚上時間(9:00pm~6:00am)。如果提供7x24不間斷的軟件服務,就需要采用DNS、服務器、目錄等快速切換方式來實現無縫升級。
部署的規劃、設計和驗證
軟件部署(Deployment) 是SaaS一個必不可少的、關鍵的環節。軟件部署是通過整合的、虛擬化的或邏輯化的資源和進程的集中管理,對所要運行的程序提供技術和環境的支撐,從而保證軟件系統被部署到合適的運行環境中能具有最優的、最可靠的性能表現,并能對用戶和系統的各種數據進行有效的存儲、備份和恢復等。
在軟件部署的技術分析上,就是以業務目標為出發點,將這些要求轉化為可用來設計部署體系結構的技術規范。而在部署設計中,必須考慮多種質量因素。
邏輯體系結構 它能決定服務分配的最佳方式和系統擴充性、維護性等。
服務質量要求 必須滿足服務質量 (QoS) 要求,建立在邏輯體系結構和QoS要求的映射關系,從而達到性能、可用性、可伸縮性、可維護性等軟件服務的質量目標。
用量分析 有助于通過系統負載的使用模式來隔離性能瓶頸,開發出滿足 QoS 要求的策略,用于部署設計中。
用量分析因素主要有:用戶數量及類型、活動和非活動用戶、管理用戶、使用模式、用戶增長、用戶事務和用戶/歷史數據等。
使用案例 盡管使用案例已包含在用量分析中,但評估部署設計時,應參考使用案例,確保任何案例中所揭示的問題在設計中得到處理或解決。
根據性能指標,對一些關鍵的使用案例進行研究,以確定在系統層次如何保證該要求得到實現的結構、技術或方式。
服務級別協議 指定了最低性能要求以及未能滿足此要求時必須提供的客戶支持級別和程度,相當于設計的底線(Bottom Line)。
成本 有必要設計2-3個軟件部署方案,通過分析、比較,對資源優化,采用平衡策略,能夠在業務約束范圍內達到業務要求,并獲得成本最優化。
業務目標 是軟件部署的最終目標,包括這些目標實現的業務要求或約束。軟件部署設計的質量好壞,最終取決于對滿足業務目標的能力的評估。
除此之外,下面還要著重討論可用性、可伸縮性和安全性的影響因素和規劃策略,保證部署設計成功。對可用性、可伸縮性和安全性等的驗證,也是至關重要的。
文章來源于領測軟件測試網 http://www.kjueaiud.com/