zoukankan      html  css  js  c++  java
  • 软件架构设计之基础概念

    架构定义

    软件架构的概念分组成派和决策派两类,组成派以软件本身为描述对象,分析软件组成,决策派以人的决策为描述对象,归纳架构决策的类型。

    组成派定义示例:

    软件架构将系统描述为计算组件及组件之间的交互。计算组件是泛指,可进一步划分为处理组件、数据组件、连接组件等,可以指子系统、框架、模块以及类等不同粒度的软件单元。

    决策派定义示例:

    软件架构包括以下一系列问题的重要决策:(1)软件系统的组织;(2)选择组成软件系统的结构元素和它们之间的接口;(3)如何组合这些元素,使它们合成为更大的子系统;(4)架构风格(链接指向常见架构风格);(5)软件系统的其他特性,例如使用、功能性、性能、弹性、重用、可理解性、经济和技术的限制及权衡以及美学等。

    一个更通俗易懂的决策列举:模块如何划分;各模块的职责为何;每个模块的接口如何定义;模块之间采用何种交互机制;开发技术如何选型;如何满足约束和质量属性需求;如何适应可能发生的变化。

    架构设计视图

    为何要架构视图?

    (1)架构涉众多,关注方面不同:用户关注功能性及性能、易使用性等运行期质量属性;客户关注业务目标、上线时间、预算限制、集成需要等;开发人员关注可扩展性、可重用性、可移植性、易测试性等开发期质量属性;管理人员关注架构如何支持项目分工、项目计划等。

    (2)架构设计需要涵盖的内容和决策太多,超过人脑一蹴而就的能力范围,需要采用分而治之的方法来从不同视角分别设计

    (3)为软件架构的理解、交流和归档提供方便。

    最常用的架构视图是逻辑视图和物理视图。

    逻辑视图规定了组成软件系统的逻辑元素及这些元素之间的关系,逻辑元素可以是逻辑层Layer、功能子系统、模块。逻辑视图的核心人物是全面的识别模块、规划接口,并基于此进一步的明确模块之间的使用关系和使用机制。

    物理视图规定了组成软件系统的物理元素及它们之间的关系,以及它们部署到硬件上的策略。物理视图反映的是系统动态运行时的组织情况,物理元素指进程、线程、对象,关系则指进程调度、线程同步、进程或线程通信等,一般使用物理层Tier来指定部署策略。

    参考文献

    温昱,《软件架构设计第2版》


  • 相关阅读:
    Jdbc 事务
    Spring
    【Java集合的详细研究1】Collections类常用方法总结
    Java Number类
    Java中值类型和引用类型的区别
    Java常量池的理解
    Java重写与重载之间的区别
    Java中Animal b = new Dog();Dog c = new Dog();的区别
    java类构造器的理解
    Javascript history pushState onpopstate方法做AJAX SEO
  • 原文地址:https://www.cnblogs.com/lidabnu/p/4319992.html
Copyright © 2011-2022 走看看