架构师如何做架构(第 1 周学习总结)
架构是一种思维,一种思考工作、生活的方式,架构无处不在。能把代码写好是根基,会吹牛也很重要。架构师要能说会道,会将PPT。
1. 什么是软件架构?
软件架构,是有关软件整体结构与组件的抽象描述,用于指导大型软件系统各方面的设计。
架构是由元素和元素间的关系组成,通过架构视图反应元素之间的关系。
要用多种视图去展示架构设计,给不同的人展示不同的视图,不同人关注的点是不一样的。
2. 架构是做给谁的?
架构是给相关方做的:老板、运营、产品、开发人员等,需要满足相关方的利益诉求。
架构师:在开发人员还没有到岗的时候,就需要在头脑中对系统有一个完成的抽象。
架构图、模型图好画,重点是要提高抽象能力。
3. 什么是模型?
什么是模型?
模型是一个系统的完整抽象。人们对某个特定问题的求解及解决方案,对它们的理解和认识都蕴含在模型中。
4. 模型元素之间的关系有哪些?
模型元素之间的关系有:关联、泛化、依赖、聚合(可以查查资料,类之间的6中关系,还有实现和组合)
关联:连接模型元素及链接实例
依赖:表示一个元素以某种方式依赖另一种元素
泛化:表示一般与特殊的关系,级“一般”元素是“特殊”关系的泛化
聚合:表示整体与部分的关系。
领域问题—>“分析、抽取”—>概念模型—>“提取”—>系统需求—>“分析、设计”—>解决方案
—>三个阶段:需求分析,概要设计,详细设计
5. 架构设计的呈现方式是什么样的?
架构设计、方案的呈现形式:4+1视图模型
4:逻辑视图,开发视图,物理视图,过程视图
1:场景视图
—> 理念:一个系统有多个方面,从不同的视角去看同一个系统
6. UML统一建模语言类型有哪些?
架构设计与软件建模语言:UML,(重点是达成设计意图)
UML:unified modeling language 统一建模语言,以图形方式描述软件的概念
静态图:通过描述类、对象和数据结构以及它们之间存在的关系,来描述软件要素中不变的逻辑结果。
用例图,一般在需求分析阶段使用(见PPT图)
对象图
类图
组件图
包图
部署图
动态图:通过描述执行流程或者实体状态变化的方式,来展示软件实体在执行过程中的变化过程。
协作图
序列图(时序图?,见PPT图)
活动图
状态图:描述状态变迁
动态图里面常用:UML中的消息
简单消息(图形见PPT)
同步消息(图形见PPT)
异步消息(图形见PPT)
7. 软件架构设计步骤?
架构文档第一张图:系统部署图
(参考架构设计文档模板)
总结:先有深度,在某一个方面有深度,才能更好的有广度。
版权声明: 本文为 InfoQ 作者【李德政】的原创文章。
原文链接:【http://xie.infoq.cn/article/23a70fa768a00fbb8554c1f59】。文章转载请联系作者。
评论