架构师训练营第一周学习总结
1.什么是软件架构:
软件架构是描述整体结构和组件的抽象描述,用于指导系统各方面设计.
2.如何描述一个软件架构:
通常使用4+1模型 包含(元素,形式,关系约束)
逻辑视图,开发视图,物理视图,过程视图 + 场景视图 [面向不同对象,使用不同图]
3.为啥要有模型?
模型是为了表达设计意图,模型是代表了一个系统完整的抽象
4.建模的过程是怎么进行的?
领域问题--分析--> 概念模型--提取-->系统需求--分析设计-->解决方案
这整个过程是进行业务分析,理解业务的过程
5.软件建模通常使用哪些图来完成?
5.1.分为静态图和动态图
静态图(用例,对象,类,组件,部署)
动态图(协作,时序,活动,状态)
5.2.图中各个对象之间的6种关系
依赖,关联(更强形式的依赖),
继承,实现,
聚合(聚合对象的生命周期结束后,各个子对象还会各自存活
组合(组合对象的生命周期结束后,子对象生命周期会一起结束)
6.常用7种图,这几种图的作用
用例图(用来描述角色,动作,关系,边界)
类图(用来描述核心类之间的关系,类之间的调用一定是同步消息)
状态图(用来描述状态的变化关系)
时序图(用来描述动态交互关系,有时间顺序)
活动图(用来描述活动对象的处理过程和分支流程,表示一个活动)
组件图(用来描述系统内的组件组成部分,可以是一个子系统,模块,物理节点等)
部署图(用来描述系统的部署节点物理空间的逻辑关系)
7.在系统设计的几个阶段分别要产出哪些图
需求分析阶段: 用例图(功能场景),活动图(流程处理),时序图(调用关系),状态图(状态变化)
概要设计阶段: 部署图,时序图(子系统级别,组件级别),活动图(子系统级别,组件级别)
详细设计阶段: 类图, 时序图(类级别时序图),状态图(枚举,布尔来表述) 活动图(方法级别)
总结: 架构是需要现有深度,再触类旁通扩展宽度
架构自身是广度优先,但是前提是要有一定的深度基础;
版权声明: 本文为 InfoQ 作者【刘志刚】的原创文章。
原文链接:【http://xie.infoq.cn/article/14406f4c516f5bf6beedf66c4】。文章转载请联系作者。
评论