• 软件架构设计阅读笔记1


    软件架构设计这本书最开始主要讲述了软件架构的概念,以及一些软件结构设计的方法。

    软件架构的概念:

    组成派:软件架构 = 组件 + 交互。

    决策派:软件架构 = 重要决策集。

    软件架构子系统和框架之间的关系:好的架构设计必须把变化点错落有致地封装到软件系统的不同部分。

    软件架构在软件开发过程中有着非常重要的作用,软件架构承接着业务的目标,下接着技术的决策,先进行架构设计,后进行详细设计和编码实现,符合“基于问题深度分而治之”的理念。软件架构方案在小组中间扮演了“桥梁”和“合作契约”的作用。架构设计为增量交付提供了良好的基础,通过软件架构设计可以使软件产品支持批量定制,提高产品的质量,缩短开发产品的周期,因此软件架构设计是十分重要的。

    软件产品线:指具有一组可管理的、公共特性的、软件密集性系统的集合,这些系统满足特定的市场需求或任务需求,并且按照预定义方式从一个公共的核心资产集开发得到。

    软件产品线架构:针对一个公司或组织内的一系列产品而设计的通用架构。

    架构视图:是一种设计架构、描述架构的核心手段。通过“架构视图”作为分而治之的手段,使架构师可以分别专注于架构的不同方面、相对独立地分析和设计不同“子问题”。架构视图分为2设计视图和5设计视图,2设计视图:逻辑视图 + 物理视图;5设计视图:逻辑视图 + 物理视图 + 运行视图 + 数据视图 + 开发视图。每个视图都是从特定角度规划系统的分割与交互,都是(架构的定义)“组件+交互”的一种体现。5视图方法错落有致地将众多技术关注点分成“群落”,“群落”内高聚合,“群落”间松耦合,有利于架构师设计思维的有序展开。

    架构设计中的关键要素及解决策略:

    是否遗漏了至关重要的非功能需求?  全面认识需求。

    能否驯服数量巨大且频繁变化的需求?    关键需求决定架构。

    能否从容地设计软件架构的不同方面?    多视图探寻架构。

    是否及早验证架构方案并作出了调整?    及早验证架构。

    软件架构的设计程度会根据项目和开发团队情况的不同而有所不同,避免出现高来高去式架构设计,比如缺失重要架构视图,不能够深入的去进行架构设计,各层之间的交互接口和交互机制设计严重不足。

    我觉得在软件架构设计的过程中,最重要的还是去关注需求,只有深入的了解需求我们才能更好的去了解产品,了解需求的途径有多种,我们也不能仅仅依靠软件需求规格说明书,因为他往往不够精确,可能会丢失一些重要的需求,我们要从多种途径中去了解需求,了解关键需求是进行架构设计的关键,前期的准备十分重要,一个好的架构设计能够提高软件开发的效率,避免出现更多的错误。

  • 相关阅读:
    子程序的设计
    多重循环程序设计
    汇编语言的分支程序设计与循环程序设计
    代码调试之串口调试2
    毕昇杯模块之光照强度传感器
    毕昇杯之温湿度采集模块
    【CSS】盒子模型 之 IE 与W3C的盒子模型对比
    【css】盒子模型 之 概述
    【css】盒子模型 之 弹性盒模型
    【网络】dns_probe_finished_nxdomain 错误
  • 原文地址:https://www.cnblogs.com/zhang12345/p/13092708.html
Copyright © 2020-2023  润新知