java隨記

          堅持就是勝利!

           

          架構設計過程分析小結

          架構設計過程簡單總結:架構設計的驅動力=功能+質量+約束.功能即系統要滿足的業務需求。質量包括運行期質量和開發期質量. 常見的運行期質量屬性包括軟件系統的易用性、性能、可伸縮性、持續可用性、魯棒性、安全性等。開發期質量屬性是開發人員最為關心的,要達到怎樣的目標應根據項目的具體情況而定。約束可能是商業預算,運行環境,使用人員水平,開發團隊水平等。架構設計過程如下:

          一,需求收集,分析。

          此處省略2000字。。。 見前篇 《需求收集、分析小結http://www.aygfsteel.com/fool/archive/2017/04/28/432489.html

          二,概念架構/概念模型

          從需求中找出關健、重大需求,進行概念建模.下面三個圖稱之魯棒圖。其中控制對象理解為mvc模式中的控制器和model。使用魯棒圖可以建立概念模型,約等于初步設計。初步設計并不關心細節。

           

           魯棒圖建立概念模型語法:

          概念設計舉例:


          上次談到超市小票如何分析實體對象,本次接著舉例如何對收銀進行概念建模



          如上圖:具備基本收銀功能的概念模型。概念模型建??梢允窃隽康?。比如商品折扣或其它

          促銷活動等。


          概念架構的用途:

          1) 可以幫助我們找出領域模型中的實體對象。

          2) 檢查需求用例是否正確和完善。

          3)初步設計,魯棒圖是一種初步設計技術。

          4)根據用例和概念設計劃分系統、子系統、模塊或者包。借助魯棒圖,初步識別功能背后的職責,規劃切分系統的方式。

           

          三,關注非功能性需求,包括運行期質量和開發期質量。

          運用目標場景決策表對非功能性需求作出決策.小舉例:

          目標

          場景

          決策

          易用性

          銷售員需要輸入條碼檢索商品,繁瑣且速度慢

          根據條碼,品名模糊匹配檢索商品,提供輔助錄入。

          性能

          長時間穩定運行

          數據庫集群,服務應用集群                                        

                  技術選型                             需要管理錢箱、打印機、響應速    pos系統使用c/s
                                                          度快

           

           

           

          四,細化架構。RUP 4+1視圖法則將架構需要關注的不同的點使用不同的視圖表示.從不同的維度對系統進行解讀,從而形成統一軟件過程架構描述。

          運行架構:

          關心進程、線程、同步的相關設計,捕捉并發和同步特征

          邏輯架構:

          關心邏輯層(layer)的劃分,系統/子系統的劃分,劃分模塊及其接口的定義。功能組劃分也屬于邏輯架構.功能:不僅包括用戶可見的功能,還包括為實現用戶功能而必須提供的"輔助功能模塊";它們可能是邏輯層、功能模塊等。

          物理架構:

          關心服務器選型,物理層劃分(tier)。 描述如何部署機器和網絡來配合軟件系統的可靠性、可伸縮性等要求.layer就運行在tier上。Tier反映系統伸縮能力。

          開發架構:

          描述了在開發環境中軟件的靜態組織結構。即開發工具下的開發視圖,描述文件編譯及其依賴關系。而使用maven管理開發的項目編譯及依賴關系結構更加分明。

          數據架構:

          關心數據的存儲、分布和文件的存放及數據的復制,傳遞,同步。數據的存放包括sql,內存數據庫,nosql數據庫等.

           

          邏輯架構設計舉例:

          還是用收銀系統簡單舉例,收銀系統邏輯架構圖如下:



          整個系統劃系統為系統,切為兩個系統,一個收銀員角色處理的業務,收銀系統。

          一個后臺管理系統。后臺管理系統包括用戶管理模塊,基礎資料模塊(產品資料等)

          銷售模塊(本例對銷售單)。另外,因為收銀系統需要和后臺系統交互,把收銀系統需要使用到的相關的各模塊封裝成一個接口模塊,專門處理和收銀系統交互的模塊。系統、模塊之間的通訊方式應當盡量避免雙向。相互依賴可能會引發很多問題。

           

          物理架構設計舉例:

          物理架構和邏輯架構可以相互印證。描述軟件系統的物理布署。



          如果考慮運行期質量比如長時間運行布署圖可能應用做集群。數據庫做集群等。邏輯層layer運行在物理層tier之上

           

          運行架構和數據架構視圖根據實際情況可選設計



          posted on 2017-04-28 14:22 傻 瓜 閱讀(1165) 評論(0)  編輯  收藏 所屬分類: 雜項

          導航

          統計

          常用鏈接

          留言簿(7)

          我參與的團隊

          隨筆分類

          隨筆檔案

          文章分類

          友情鏈接

          搜索

          積分與排名

          最新評論

          閱讀排行榜

          評論排行榜

          主站蜘蛛池模板: 秦安县| 项城市| 南充市| 苗栗市| 金阳县| 卓尼县| 慈溪市| 疏附县| 布尔津县| 龙陵县| 塘沽区| 响水县| 锡林郭勒盟| 丘北县| 旬邑县| 斗六市| 年辖:市辖区| 松桃| 格尔木市| 丹棱县| 长岭县| 南木林县| 江陵县| 诸暨市| 鄢陵县| 清涧县| 若羌县| 章丘市| 年辖:市辖区| 通许县| 陇西县| 陈巴尔虎旗| 东莞市| 五常市| 马鞍山市| 元谋县| 浦县| 东兰县| 星子县| 南靖县| 右玉县|