• 读Software Entity Architektur收获


    假期看了软件实体架构这本书并结合博客园大佬的总结了解了软件架构的如下内容

      1、一个软件体系结构有4种截然不同的视图:概念视图、模块视图、执行视图、代码视图。

      2、不同视图强调的不同工程关注点:

    不同视图强调的不同工程关注点:

    在概念视图中,问题和解决方案主要通过领域术语来考虑的。对于特定的软件及硬件技术,它们应当是相对独立的。概念视图的工厂关注点包括:

    系统如何满足需求?

    商用构件怎样组装成整体,怎样在功能层上与系统的其他部分交互?

    领域特定的硬件和软件如何融入系统?

    功能是如何被分割并进入产品个版本的?

    系统如何与之前版本的产品合并?它如何支持未来的版本?

    如何支持产品线?

    如何将由需求或领域中所做的变动引起的影响最小化?

    在模块视图中,概念视图中的构件和连接子被映射为子系统和模块。在这里,架构师强调的是如何用现有的软件平台以及技术实现概念的解决方案。主要的工程关注点有如下几点:

    产品是如何映射到软件平台的?

    使用了什么样的系统支持或系统服务?具体是在什么地方?

    怎么支持测试?

    如何降低模块间的依赖性?

    如何将模块与子系统的复用最大化?

    当商用软件、软件平台或标准发生变动时,采用何种技术在封装产品时可以将它们与产品进行隔离?

    执行视图描述模块如何映射到运行时平台说提供的元素,以及这些又如何映射到硬件体系结构。执行视图定义系统的执行时实体及其属性,比如内存使用和硬件分配。对于执行视图,其工程关注点如下:

    系统如何满足性能、恢复及重新配置方面的需求?

    如何平衡资源的使用(例如:负载平衡)?

    如何达到必需的并发、复制及分布,而不过度增加控制算法的复杂度?

    如何使运行时平台的改变所引起的影响到达最小?

    在代码体系结构视图中,架构师决定执行视图中的执行时实体如何映射到部署构件(例如:可执行构件),决定模块视图中的模块如何映射到源构件,以及部署构件如何从源构件生成。代码视图中重要的工程关注点如下:

    如何降低产品升级的时间和费用?

    如何管理产品版本及发布?

    如何降低构造时间?

    需要什么工具支持开发环境?

    如何支持集成与测试?

  • 相关阅读:
    [HAOI2016]食物链
    [TJOI2011]序列
    P2548 [AHOI2004]智能探险车
    [JSOI2008]最大数
    模板之dinic
    Excim的NOIP2017游记
    数列排序
    Car的旅行路线
    [HAOI2006]均分数据
    [luogu2210] Haywire
  • 原文地址:https://www.cnblogs.com/yang-qiu/p/13097517.html
Copyright © 2020-2023  润新知