<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    迷途書童

    敏感、勤學、多思
    隨筆 - 77, 文章 - 4, 評論 - 86, 引用 - 0
    數據加載中……

    軟件架構設計(一)——軟件架構的概念和表述

    做了好幾年架構設計的事了,一直沒有好好的總結。實在不好,花點時間總結一下,寫出來,有興趣的朋友可以一起探討。

    軟件架構設計的主題狠深狠難,本文打算從架構的概念,架構的表述方法,架構設計的過程三個方面來講一下我的理解。

    一、什么是軟件架構?

          溫昱在《軟件架構設計》一書中,給了下面的定義:

          組合派:軟件系統的架構將系統描述為計算組件及組件之間的交互。
          決策派:架構是一系列重要決策的集合,這些決策與以下內容有關:軟件的組織,構成系統的結構元素及其接口的選擇,這些元素在相互協作中明確表現出的行為,這些結構元素和行為元素進一步組合所構成的更大規模的子系統,以及指導這一組織--包括這些元素及其接口、它們的協作和它們的組合--架構風格。

          在我看來,決策派的定義更為具體和準確,注意決策派用了元素這一詞而沒有用組件,組件是有具體含義的,指一個可獨立替換的物理單元,而架構需要能夠指導涉眾,如開發人員、用戶、部署人員等等,對開發人員來講,開發過程中如何分包、如何將包打包為組件,架構師需不需要提供指導呢,答案是肯定的。因此,如果將架構限定在組件和組件的交互上,是不完整的。

    二、架構的表述方法

         這個現在都有共識,就是4+1視圖表述法:邏輯視圖,實現視圖,進程視圖,部署視圖,用例視圖。 參見下圖RUP 4+1視圖:

    82250175980 

          用例視圖關注系統的人、事、物、規則,人是指系統的Actor,包括業務主角和業務工人,事是指系統用例,物是指業務實體,規則指做事情的前置條件、后置條件,做事情過程中的規則。下面這個圖很精辟:

      image

          用例視圖是4+1視圖中的+1,它定義需求標準,跟其它視圖描述系統某一方面的結構有很大的不同。

          邏輯視圖關注系統的邏輯功能模塊和領域模型,不僅包括用戶可見的功能模塊,還包括實現用戶功能而必須提供的“輔助功能模塊”;它們可能是邏輯層、功能模塊、類等。

          實現視圖關注程序包,不僅包括要編寫的源程序,還包括可以直接使用的第三方SDK和現成框架、類庫,以及開發的系統將運行于其上的系統軟件或中間件。開發架構和邏輯架構之間可能存在一定的映射關系:比如邏輯架構中的邏輯層一般會映射到實現架構中的多個程序包;再比如實現架構中的源碼文件可以包含邏輯架構中的一到多個類(在C++里一個源碼文件可以包含多個類,即使在Java里一個源碼文件也可以同時包含一個類和幾個內部類)。

          進程視圖關注進程、線程、對象等運行時概念,以及相關的并發、同步、通信等問題。

          進程視圖和實現視圖的關系:實現視圖一般偏重程序包在編譯時期的靜態依賴關系,而這些程序運行起來之后會表現為對象、線程、進程,進程視圖比較關注的是這些運行時單元的交互問題。

          物理視圖關注“目標程序及其依賴的運行庫和系統軟件”最終如何安裝或部署到物理機器,以及如何部署機器和網絡來配合軟件系統的可靠性、可伸縮性等要求。物理架構和運行架構的關系:運行架構特別關注目標程序的動態執行情況,而物理架構重視目標程序的靜態位置問題;物理架構還要考慮軟件系統和包括硬件在內的整個IT系統之間是如何相互影響的。

          上面幾個視圖是最典型的視圖,不管你是通信中間件,還是依賴于數據庫的企業應用都需要的。對于依賴數據庫的企業應用,通常還需要數據視圖,數據視圖關注對象如何存儲,如數據庫表等

           4+1視圖不僅僅是軟件架構的表述方法,它們各自從不同的視角去展現架構,因此,還是一種比較好的思維方式,引導我們從不同的視角去思考,從而做出比較系統的架構設計。

    posted on 2012-06-28 23:29 迷途書童 閱讀(1310) 評論(0)  編輯  收藏 所屬分類: 系統設計

    主站蜘蛛池模板: 四虎一区二区成人免费影院网址| 亚洲丁香婷婷综合久久| 浮力影院亚洲国产第一页| 亚洲精品无码专区2| 国产亚洲精久久久久久无码| 久久久久久久尹人综合网亚洲| 亚洲首页在线观看| 亚洲国产精品自在自线观看| 成人黄动漫画免费网站视频 | 色婷五月综激情亚洲综合| 亚洲成AV人影片在线观看| 在线a毛片免费视频观看| 亚洲欧洲自拍拍偷精品 美利坚| 国产亚洲高清在线精品不卡| 光棍天堂免费手机观看在线观看| 麻花传媒剧在线mv免费观看| 四虎影视精品永久免费网站| 久久久久亚洲av无码专区蜜芽| 亚洲av无码专区在线电影 | 一级做a爱片特黄在线观看免费看 一级做a爱过程免费视 | 18禁无遮挡无码网站免费| 亚洲日韩国产精品第一页一区| 中文字幕在线观看亚洲日韩| 一级有奶水毛片免费看| 成人特黄a级毛片免费视频| 狠狠色伊人亚洲综合网站色| 日韩免费一区二区三区| 91嫩草亚洲精品| 成人影片一区免费观看| 亚洲欧洲日产国产综合网| 高清永久免费观看| 国产公开免费人成视频| 精品免费久久久久国产一区| 亚洲精品高清国产一久久| 欧美a级成人网站免费| 一个人免费播放在线视频看片 | 亚洲国产成人综合| 免费国内精品久久久久影院| 亚洲熟女www一区二区三区| 久草视频在线免费| 亚洲va久久久噜噜噜久久狠狠|