架構與非功能性需求
非功能性需求
什麼叫非功能性需求
非功能性需求包括效能、可修改性、可用性、易用性、複用性、環境要求等,在最初的需求方案分析階段很容易被忽略,而這些內容的考慮往往會影響到產品的實現,包括功能架構、詳細設計都會用到。
非功能性需求為何與架構相關
-
合適性 :正確性 類定義剛好覆蓋所有需求;
-
複用性 :千分之8的冗餘 pclint sonar工具可以檢查;
-
擴充套件性 :新增新功能不修改老功能;
-
配置性: 配置項定義 讓資料或程式碼可配置;
-
解耦 :老功能修改對其他功能影響很小或不影響;
-
可維護性:無法量化,滿足以上5點,那麼就是高可維護性;
以上六點不難看出直接決定了架構設計與詳細設計的框架
值得注意
本人認為合適性尤為關鍵,不要為了滿足某個特性而強迫自己去做擴充套件性或者配置性等設計。
合適需求和使用者故事為最大優先的基礎上再向優良特性靠攏。
******過度設計比不設計更為致命******
相關推薦
架構與非功能性需求
非功能性需求 什麼叫非功能性需求 非功能性需求為何與架構相關 值得注意 什麼叫非功能性需求 非功能性需求包括效能、可修改性、可用性、易用性、複用性、環境要求等,在最初的需求方案分析階段很容易被忽略,而這些內容的考慮往往
功能性需求和非功能性需求
需求定義:需求(requirement)就是系統(更廣義的說法是專案)必須提供的能力和必須遵從的條件。 需求分類: (1) 在一般使用中,需求按照功能性(行為的)和非功能性(其它所有的行為)來分類。 功能性需求是說有具體的完成內容的需求。 例如:比如客戶登入、郵箱網站的收發收發郵件、論壇網站的發帖留言
DevOps研習社:品質決定成敗——漫談非功能性需求本期看點
本篇文章主要分析了應用的非功能性需求,F5如何幫助應用實現業務邏輯之外的功能。例如:高可用性、安全性、可維護性等等。
結合DevOps文化談應用的非功能性需求
眾所周知,隨著網際網路和資訊科技的發展,軟體、應用或APP已經進入了爆發式增長的階段。對於他們而言,功能性和非功能性是體
大白話聊聊Java併發面試問題之公平鎖與非公平鎖是啥?【石杉的架構筆記】
歡迎關注個人公眾號:石杉的架構筆記(ID:shishan100) 週一至週五早8點半!精品技術文章準時送上! 一、寫在前面 上篇文章(大白話聊聊Java併發面試問題之談談你對AQS的理解?)聊了一下java併發包中的AQS的工作原理,也間接說明了ReentrantLock的工作原理。 這篇文章接著來聊一個話
HRMS(人力資源管理系統)-從單機應用到SaaS應用-架構分析(功能性、非功能性、關鍵約束)-上篇
一、開篇 上一篇《HRMS(人力資源管理系統)-從單機應用到SaaS應用-系統介紹》我們已經詳細的分析了HRMS系統具備的功能,並且從HRMS系統的概念、系統功能、HR行業管理現狀及痛點、發展趨勢及行業前景、行業內的服務提供商情況、HRMS系統的建設意義及價值等方面進行了系統化的分析梳理。我想大家
HRMS(人力資源管理系統)-從單機應用到SaaS應用-架構分析(功能性、非功能性、關鍵約束)-下篇
一、開篇 本篇主將具體結合HRMS系統進行架構概要分析,按照上篇的理論指導,開展具體的架構分析過程實踐,通過分析找到關鍵功能、關鍵非功能性需求(關鍵質量及約束)等。 在闡述具體的架構工作方法之前,請大家先檢視以下三方面的內容: 1、HRMS系統的介紹?(涵蓋哪些功能
微服務理論與實踐(一)----架構的背景及需求
一。背景 業務架構是戰略,應用架構是戰術,技術架構是裝備。 在開發服務端企業應用時,需要支援各種客戶段,包括PC桌面瀏覽器,移動瀏覽器及原生移動應用,應用還需要向第三方提供可訪問的API,並通過WebSevice或者訊息代理與其他應用進行整合。應用通過業務邏輯,訪問資料庫
Java靜態方法 與 非靜態方法(實例方法)的區別
外部類 允許 靜態成員 靜態 成員 訪問 靜態成員變量 ava 實例方法 靜態方法與實例方法的異同 1.在外部類 調用靜態方法時,有兩種方式:(1)類名.靜態方法()(2)類的對象.靜態方法() ;也就是說調用靜態方法時可以不用創建對象。 調用實例
微服務架構與實踐及雲原生等相關概念
定時 服務器端 body 內容 開放封閉原則 logs 方法 服務架構 binding 微服務架構與實踐 筆記:《微服務架構與實踐》 王磊 著 一 單塊架構 1 定義:對於這種功能集中、代碼和數據中心化、一個發布包、部署後運行在同一進程的應用程序,我們通常稱之為單塊架構
jQuery源碼解析(架構與依賴模塊)
源碼 cto and click dom元素 ack bsp 性能 selector 回溯處理 jQuery對象棧:jQuery內部維護著一個jQuery對象棧。每個遍歷方法都會找到一組新元素(一個jQuery對象),然後jQuery會把這組元素推入到棧中。 而每個jQue
Verilog堵塞賦值與非堵塞賦值
解決 ont mark con 原理 inpu 特點 全部 cal verilog設計進階 時間:2014年5月6日星期二 主要收獲: 1.堵塞賦值與非堵塞賦值; 2.代碼測試; 3.組合邏輯電路和時序邏輯電路。
《大數據日知錄:架構與算法》讀書筆記(多圖)
打通 導論 ges wid 技術分享 二次 思維 知識點 很好 第二次讀這本書,這次是精讀,畫了思維導圖。書很好,完整的知識結構和由淺入深的介紹,非常全面以至於知識點都梳理了三天。 作為導論式的總覽,對大數據領域有了個總體的認識,接下來可以更針對性地加強和實踐。 總體上
駱駝命名法和模態對話框與非模態的對話框
混合 evel 置頂 ring int 字節 適合 函數庫 unix 駱駝式命名法(Camel-Case)又稱駝峰命名法,是電腦程式編寫時的一套命名規則(慣例)。正如它的名稱CamelCase所表示的那樣,是指混合使用大小寫字母來構成變量和函數的名字。程序員們為了自己的代碼
【數據結構與算法】二叉樹遞歸與非遞歸遍歷(附完整源碼)(轉)
style stack gravity text 一個 eat 遞歸遍歷 deb 雙向 轉自:http://blog.csdn.net/ns_code/article/details/12977901 二叉樹是一種非常重要的數據結構,很多其他數據機構都是基於二叉樹的基礎
(轉)異步與非阻塞之間的區別(看到的最清晰的說明)
ron 啟動 同步與異步 我們 任務 nis pro 沖突 mission Asynchronous I/O, or non-blocking I/O, is a form of input/output processing that permits other proc
Skype for Business邊緣架構與設計課程筆記
business skype 文章 課程 文章鏈接:http://yangqs.com/?p=26 本文出自 “強生的博客” 博客,請務必保留此出處http://yangqs.blog.51cto.com/127876/1934724Skype for Business邊緣架構與設計課程筆記
【BZOJ2728】[HNOI2012]與非 並查集+數位DP
mark 題解 div mes 一行 strong amp name += 【BZOJ2728】[HNOI2012]與非 Description Input 輸入文件第一行是用空格隔開的四個正整數N,K,L和R,接下來的一行是N個非負整數A1,A2&h
C#靜態方法與非靜態方法比較
使用 特殊 his 差異比較 method 分配內存 成員方法 關鍵字 ted c#靜態方法與非靜態方法比較: 一、靜態方法:使用static修改的方法就是靜態方法,否則就是非靜態方法。 二、差異比較: 第一:C#靜態成員:(1)靜態成員屬於類所有,非靜態成員屬於類的實
二叉樹的前序、中序、後序、層次遍歷的遞歸與非遞歸實現
不為 sta logs 結束 nod 遞歸實現 inorder count site 二叉樹的遍歷有前序遍歷、中序遍歷、後序遍歷、層次遍歷等,筆者在這裏總結一下各種遍歷的實現。 一.前序遍歷。 前序遍歷訪問節點順序為:根節點->左子節點->右子節點。 遞歸實現如