潛魚在淵

          Concentrating on Architectures.

          posts - 77, comments - 309, trackbacks - 0, articles - 0
            BlogJava :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理

          What is architecture?

          Posted on 2005-12-26 23:55 非魚 閱讀(3232) 評論(3)  編輯  收藏 所屬分類: 面向對象設計
              關于架構的定義非常多,它們互相接近,但又有細微的差別。這些定義都基于系統來描述的。所以要理解架構,首先要理解系統的定義。

              系統定義為由一組不同的元素相互連接或關聯以提供其單獨不能提供的獨特功能(Eberhardt Rechtin)。IEEE擴展了這個定義:系統是一組組件組織起來完成一個或一組特別的功能(IEEE Std. 610.12-1990)。

              架構是一個系統的基礎組織,包括其組件,組件之間的關系,組件和外界環境之間的關系,以及指導這些 組件設計、演化的原則。(The fundamental organization of a system embodied in its components, their relationships to each other, and to the environment, and the principles guiding its design and evolution. IEEE Std 1471-2000)

              不同的受益人從不同的視點(Viewpoint)看待架構,這導致了架構的描述必定具有不同的視圖。不同的架構方法(如Rose 4+1 View、RM-ODP參考模型)都對不同的視圖提供了支持。而在企業級應用中,也是根據不同的Viewpoint把企業應用架構分成業務架構 (Business Architecture)、IT技術架構(Information Technology Architecture)、信息架構(Information Architecture)和應用架構(Application Architecture)。就其根本來說是一樣的,都是從不同的Viewpoint出發,來描述整個架構。下面是RM-ODP中的不同視圖和企業架構中 的分類對應:

              Enterprise Viewpoint <---> Business Architecture
              Computional Viewpoint <---> Application Architecture
              Information Viewpoint <---> Information Architecture
              Technology Viewpoint <---> Information Technology Architecture               
              Engineering Viewpoint <---> Information Technology Architecture

              上述兩種雖然形式有所差別,但內容上是比較一致的。而且,其基本要求都是各ViewPoint互相之間描述一致,不得有沖突。

              我們通常說到架構時,往往偏向Computional, Information和Technology方面。最近以來,似乎有更加偏向Technology的趨勢,這不是一個好現象。

              關于系統、架構的其他定義:

              系統:

              UML 1.3: A system is a collection of connected units that are organized to accomplish
          a specific purpose. A system can be described by one or more models, possibly from
          different viewpoints.

              架構:

              Dewayne E. Perry and Alexander L. Wolf: software architecture is a set of architectural (or, if you will, design) elements that have a particular form. We distinguish three different classes of architectural element: processing elements; data elements; and connecting elements.

              Garlan and Perry: The structure of the components of a program/system, their interrelationships, and principles and guidelines governing their design and evolution over time.

              Boosch: Software architecture encompasses the set of significant decisions about the organization of a software system
              ? selection of the structural elements and their interfaces by which a system is composed
              ? behavior as specified in collaborations among those elements
              ? composition of these structural and behavioral elements into larger subsystem

              Bass, Clements, and Kazman: The software architecture of a program or computing system is the structure or structures of the system, which comprise
          • software components
          • the externally visible properties of those components,
          • and the relationships among them.”
             

          評論

          # re: What is architecture?  回復  更多評論   

          2005-12-27 11:17 by wfeng007
          我也寒一下。。。。。。。。。。。。。。。看來你學到了模式的精髓了。。。。。

          # re: What is architecture?  回復  更多評論   

          2005-12-27 20:02 by 非魚
          @wfeng007

          不明白。

          # re: What is architecture?  回復  更多評論   

          2007-05-14 08:45 by flyingfish
          這里講的又是更偏向于技術了。
          主站蜘蛛池模板: 确山县| 池州市| 保定市| 孝感市| 瑞金市| 东丽区| 泽普县| 信阳市| 新津县| 武陟县| 郁南县| 隆子县| 城市| 淄博市| 九台市| 四平市| 金坛市| 兰溪市| 闸北区| 太保市| 康马县| 应城市| 甘孜| 成都市| 潜山县| 密云县| 嘉祥县| 海南省| 宁城县| 盐池县| 界首市| 涪陵区| 邳州市| 海口市| 楚雄市| 阜平县| 虎林市| 呼伦贝尔市| 唐海县| 九台市| 盘锦市|