• 什么是软件架构


        首先,架构很难被定义.
        Martin Fowler是敏捷开发方法的创始人之一,被开发者们尊为"教父"级人物.
        软件业的人乐于做这样的事--找一些词汇,并将它们引申到大量微妙而有相互矛盾的含义中.一个最大的受害者就是"架构"这个词.

        其次,组成派.
        Mary Shaw,卡耐基梅隆大学软件工程研究所,是软件架构领域的先驱.
        以Mary Shaw为代表的组成派,对架构是这样定义:软件架构是将系统描述成计算组件及组件之间的交互.
        架构=组件+交互

        第三,决策派.
        Grady Booch,James Rumbaugh和Ivar Jacobson是UML的创始人,均为软件工程界的权威,三人被合称为"UML三友".
        架构是一系列重要决策的集合.
        这些决策与以下内容有关:
        a.软件的组织;
        b.构成系统的结构元素及其接口的选择;
        c.这些元素在相互协调中明确表现出的行为;
        d.这些结构元素和行为元素进一步组合所构成的更大规模的子系统;
        e.以及指导这一组织,包括这些元素及其接口,它们的协作和它们的组合--架构风格.

        架构 = 重要决策集

        第四,组成派 vs 决策派
        组成派的观点更关注软件,倾向于组件+交互的思想
        决策派的观点更关注人,倾向于重大决策集合的思想,除了结构和行为,还关注一些非功能的因素.   

       

       

       

       22-06-18

  • 相关阅读:
    工作的价值
    面对伤害该不该回击
    建议
    利用私有的API获得手机上所安装的所有应用信息(包括版本,名称,bundleID,类型)
    你必须知道的HTTP错误
    静态库制作
    MDM证书申请的流程
    IOS客户端实现RSA加密
    获得appstore里面app的最新的版本信息,进行版本更新
    C语言实现简单php自定义扩展
  • 原文地址:https://www.cnblogs.com/zhtzyh2012/p/16329168.html
Copyright © 2020-2023  润新知