天天看點

結合DevOps文化談應用的非功能性需求

  

  衆所周知,随着網際網路和資訊技術的發展,軟體、應用或APP已經進入了爆發式增長的階段。對于他們而言,功能性和非功能性是展現核心競争力的兩個方面,功能性比較容易了解,而非功能性主要指速度、是否高可用、設計是否人性化……今天就結合DevOps來談一談對應用非功能性需求的一些認識。

  關于非功能需求都包括哪些“軟”名額,可以通過ISO/IEC 25010 軟體品質管理模型了解一下。從圖中我們可以看到,除了功能性外,影響軟體産品品質的關鍵因素還包括效率、相容性、易用性、安全性、可靠性、可維護性和可移植性7個次元,每個次元又包括了許多方面,涉及到架構、内容、互動、營運、安全等,這些都屬于非功能需求的範疇。在get了這些需求後,如何去實作他們,又是一個比較頭疼的問題了。

結合DevOps文化談應用的非功能性需求

  ISO/IEC 25010 軟體品質管理模型

  要想實作應用的非功能性需求,就要打穿部門之間的壁壘,讓不同的部門同時參與,互相協作。因為這些需求放在哪裡、哪個部門、哪個階段貌似都不能一勞永逸,高枕無憂,因為有的需求需要的是伺服器資源,如“支援動态使用者1500以上”,有些需求需要的是開發過程解決,比如“系統支援多種浏覽器”,還有的需求是需要應用釋出之後,運維團隊來實作,比如“普通修改一天内完成”,再有甚者,需要多種資源,多個團培配合着來,比如“應用熱點/流量熱點分析”等。

結合DevOps文化談應用的非功能性需求

  多部門協作以實作應用的非功能性需求

  當多個部門共同參與開發應用的非應用型需求,這種文化氛圍與DevOps殊途同歸。在DevOps的文化裡,不緊緊的打通了運維與開發的屏障,更是将各個階段形成了一個生生不息的循環,形成一個持續內建、持續傳遞的生态,如果說DevOps是一種文化,一種氛圍,追求高品質的App是目的,那麼,努力發展非功能需求的實作及優化則是一種行之有效的手段。

  由于實作了非功能需求的服務化,在一個良好的DevOps的氛圍裡,我們甚至可以利用這些服務來做線上BI甚至精準營銷,由營運側提出需求,指定基于App的使用者行為分析圖,然後分析收集的資料,反向推動優化非功能需求的實作甚至是主線功能需求的優化,進而達到提升客戶滿意度,提升市場占有率的目的。由于我們已經打通了應用傳遞服務的關節,是以這些資料和分析與每個部門各自為戰比起來,要精準、快速、高效的多。

結合DevOps文化談應用的非功能性需求

  DevOps提升應用品質

  以上就是我結合DevOps文化對應用非功能性需求的實作的一些想法,在應用同質化加劇的情況下,非功能性需求這個“軟服務”會給使用者提供更好的應用體驗。