【架构师训练营】第一周课程总结
1. 软件架构
软件架构是描述软件整体与组件的抽象描述。
1).系统需要架构,但架构是做给人看的;明确架构设计的相关方,针对相关方的关注点进行架构设计;并且针对不同相关方提供不同的架构设计。相关方可以是老板、研发、测试、产品、运维等等。
2).架构设计中最重要的是关注点,关注相关方的关注点。
3).架构设计要有抓住(把握)关键的能力。
2. 4+1视图模型
通过多种视图完成架构设计,每种视图的关注面不同;不同场景选择不同视图,给不同的人看。
软件架构 = {元素,形式,关系/约束}
逻辑视图(Logical View),设计的对象模型。
过程视图(Process View),捕捉设计的并发和同步特征。
物理视图(Physical View),描述了软件到硬件的映射,反应了部署特征。
开发视图(Development View),描述了在开发环境中软件的静态组织结构。
场景视图(scenarios),描述用例场景。
3. UML
建模:在软件开发完成之前,系统用抽象的模型表达出来。
抽象:现实业务(要解决的问题)的抽象、系统的抽象,使用模型表达出来就是架构设计。
画图建模:沟通、保存成果
1.静态图
通过描述类、对象和数据结构以及它们之间存在的关系,来描述软件要素中不变的逻辑结构。
1.静态关系
依赖、关联:依赖(方法的传入参数)、关联(成员变量);关联是更强的依赖
继承、实现:继承(父类)、实现(接口)
聚合、组合:聚合(生命周期不一致)、组合(生命周期一致)
2.用例图
描述功能需求,需求分析阶段使用,设计:功能、使用者、及使用者与功能之间的关系。
3.类图
类的关系、类之间的关系,详细设计阶段使用,核心的类及类间关系的设计。
4. 组件图
一个人的工作量;
5.部署图
第一个要画的图
2.动态图
通过描绘执行流程或者实体状态变化的方式,来展示软件实体在执行过程中的变化过程
1.消息
简单消息
同步消息:类之间、方法调用
异步消息
2.时序图
需求分析阶段、概要设计、详细设计阶段都可以使用。不同阶段关注元素不同。
3.活动图
4.状态图
评论