架构学习小结


架构基本原则

第一部分描述了基本概念(架构,架构描述,利益相关者,质量属性,观点),比较系统的讲述了关于架构的几块概念。

软件架构概念

主要说明了架构定义的静态结构、动态结构、外部可见行为等几个后续章节涉及到的几个概念术语,相当于是这本书的基础,其中着重要理解这几个概念之间的联系,这里引用一个原文中的UML图来说明

视点和视图

视图主要用于在管理复杂情况下为整个架构或者其中的一部分创建用于特定方面的的展现。而视点则是用于具体描述一个特定视图中利益相关者的关注点。而之所以使用视点和视图是为了提高效率,让关注点分离,同时方便合作人员一起沟通。

架构视⻆

这一章承接上一章视点和视图将架构分解后所需要对功能性需求的完整性余正确性评估时所遇到的问题。这个时候就需要引入一个新的概念:视角。视角区别于视点和视图,视角把可能涉及的很多或者所有视点分离出来但是又用使用某种联系将其联系起来。这里我可以理解成编程中的面向对象编程。抽离多个相关的属性,同时用公共约束聚合他们。

软件架构师的⻆色

非常系统地介绍了架构师的角色。清楚地明确定义架构师应该考虑什么,角色包括什么以及输出应该是什么。对于进入第一个架构角色的人来说,可以很快了解到一个架构师的责任以及应该拥有的技能点。

架构过程

第二部分展示了如何为系统定义架构,同时考虑业务目标,关注点,驱动因素和架构原则。它还提供了一些关于如何生成体系结构描述以及如何评估它的指针

架构定义过程

从一章开始就开始具体到项目实践中的架构过程了,首先要确定架构需要遵循的原则(利益相关者驱动),同时还要结合实际与已有的软件开发生命周期相契合。

关注点原则和定义

学习这一章首先要理解什么是关注点。关注点包含的内容很广泛,只要能够影响架构整体的塑形的因素以及范围都可以是关注点。例如业务、目标、需求、现实生活中的约束等都可以叫做关注点。在架构过程中这些关注点可以在整体方向上做出决定性影响。

确定并引⼊入利利益相关者

要学会本书的标题中与利益相关者合作,那就得先理解什么是利益相关者,利益相关者着又有哪些?书中给出了在开发过程中的一系列利益相关者类型:出资方、评估者、沟通者、开发人员、维护人员、生产工程师、供应商、支持人员、系统管理员、测试人员、用户。我们需要理解这几个利益相关者的责任以及他们之间的联系。

识别并使⽤用场景

场景分为功能性场景系统质量场景,其中功能性场景用于在系统中用特定方式做出响应的一系列外部事件方面定义的。系统质量场景是指系统在环境中变换做出的反应。

使⽤用样式和模式

这章主要说明了软件设计知识的几种方式(架构样式、设计模式、语言惯用法)在架构过程中起到的作用。

创建架构模型

这一部分是整个架构过程中最重要的部分,也是唯一产物,广义上定义了三种模型(定性模型、定量模型、示意图)。模型是对真实情况的模拟,而架构必须总是变现出简化和近似的情况。

创建架构描述

架构描述是为了架构师与其他所有利益相关者有效沟通的保证,这里可能需要针对不同人群创建对应的读者能够理解的架构描述

评估架构

整个架构过程都是分块的,我们无法像软件开发那样取给架构debug,我们需要用别的方式去评估架构的是否存在缺陷。这个过程就是架构评估


阶段小结

我发现本书中的建议非常有用并且说明的很浅显易懂。有很多小例子,用平常的小例子来说明一些观点。一个项目的一开始,如果可以拥有一个科学的系统的架构,对于整个项目的后续开发维护都是事半功倍的。

《软件系统架构:使用观点和观点与利益相关者合作》阅读小结——一相关推荐

  1. 业务架构 -- 序列4 -- 圈定边界(利益相关者分析)

    做1个系统,跟做1个产品一样,首先要问的是你的用户是谁.在架构里面,称为利益相关者. 有兴趣朋友也可以进一步关注公众号"架构之道与术", 获取原文. 或扫描如下二维码: 什么是利益 ...

  2. 商业模式是利益相关者的交易结构

    分享一下我老师大神的人工智能教程!零基础,通俗易懂!http://blog.csdn.net/jiangjunshow 也欢迎大家转载本篇文章.分享知识,造福人民,实现我们中华民族伟大复兴! A享受了 ...

  3. 利益相关者在敏捷项目管理中有什么用?

    利益相关者被定义为对项目的成功完成感兴趣或将受其影响的任何人.在 Scrum 中,他们在产品团队之外,由产品负责人代表. 利益相关者是创造产品的原因.他们有需要项目团队满足的愿望和需求. 然而,他们的 ...

  4. IEEE 1471的软件系统架构描述

    IEEE 1471的软件系统架构描述 关于1471 IEEE 1471发布于2000年,其目标在于方便体系结构的表达与交流,并通过体系结构要素及其实践标准化,奠定质量与成本的基础.什么是密集型系统呢? ...

  5. 笔记-信息系统开发基础-架构设计-软件系统架构视图

    软件系统架构视图是从特定的视角出发,专注于该视角系统的结构,模块划分,基本组件职责和主要的控制流(协作接口). Kruchten(克鲁奇顿)在1995年提出了一个"4+1"的视图模 ...

  6. 软件系统架构~视点和视图

    即使是对于非常简单的系统来说,也不可能在单一的模型中描述整个架构的要素和细节.如果你试图那么做,最终就会得到"弗兰克斯坦怪物"一样的模型,而且根本无法管理,也无法向任意一位利益相关 ...

  7. 软件系统架构~软件架构概念

    1.系统的架构定义了它的静态结构.动态结构.外部可见行为.质量属性以及应该引导其设计和发展的原则: 2.系统的候选架构是有可能展现出系统所需要的外部可见行为和质量属性的架构.选择最佳方案则是架构师的职 ...

  8. 软件系统架构设计的六大原则

    软件系统架构设计的六大原则 1.单一职责原则(SRP) 2.开放封闭原则(OCP) 3.里氏替换原则(LSP) 4.最少知识原则(LKP) 5.接口隔离原则(ISP) 6.依赖倒置原则(DIP) 1. ...

  9. 软件系统架构评估方法SAAM 介绍

    SAAM(软件系统架构分析方法),它也是一种基于场景的评估方法,最早用于分析体系结构的可修改性,后来也用于其他质量属性的评估,主要包括如下6个步骤: 1. 形成场景 2. 描述体系结构 3. 对场景进 ...

  10. 分布式架构设计之基础软件系统架构

    分布式架构设计之基础软件系统架构 原创文章来之不易,转载请注明出处: http://blog.csdn.net/why_2012_gogo/article/details/74137631 一个好的系 ...

最新文章

  1. linux文本处理常用命令
  2. 常见拒绝服务攻击行为特征与防御方法
  3. LinkServer--服务器选项
  4. postgresql数据表增删改:使用pgadmin和SQL的方式实现
  5. Linux部署动态网页,Nginx发布支持动态配置的开源Web服务器
  6. 浮点数计算机的表示案例,计算机中的数据及其应用案例.docx
  7. Elasticsearch--进阶-term_keyword查询---全文检索引擎ElasticSearch工作笔记015
  8. 一网打尽!每个程序猿都该了解的黑客技术大汇总
  9. ssh autologin REMOTE HOST IDENTIFICATION HAS CHANGED处理
  10. 六自由度机械手正逆运动学
  11. 计算机设置启动恢复出厂设置密码,bios怎么恢复出厂设置方法
  12. 【重磅】DeepMind开源史上最全强化学习框架OpenSpiel(附安装方法)
  13. 使用PHP的http请求客户端guzzle如何添加请求头
  14. 域名防红直连防封怎么布置?
  15. 计算机基础知识赏花主观题,春光无限好,正是花开时 快收好这份赏花指南!...
  16. mysql下载32位安装教程_MySQL下载安装教程
  17. 全球首位AI评委亮相“83行代码挑战赛”,评分“快准狠”
  18. mac下Preferences丢失的问题
  19. 【学习】蓝桥杯嵌入式--按键输入
  20. kotlin(java) 文件压缩

热门文章

  1. php发送邮件的方式,php 发送邮件几种方式
  2. 应届生面试的5大技巧,附600字自我介绍范文
  3. graphpad做柱状图_轻松搞定各种柱状图
  4. Parcelable encountered IOException
  5. 985高校计算机专业炉气分数,【原创】外地985高校专业录取分数解析(一)
  6. 计算机网络故障提出问题,列控系统及其计算机网络的故障诊断与故障容错研究...
  7. Android系统开机时间优化
  8. 多线程测速软件带宽叠加设置
  9. win10怎么还原成win7系统
  10. java closed_有关Java中isClosed()和isConnected()的一些误解