【架构师训练营】第一周课程总结

用户头像
张明森
关注
发布于: 2020 年 06 月 09 日

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.状态图



用户头像

张明森

关注

还未添加个人签名 2017.10.16 加入

还未添加个人简介

评论

发布
暂无评论
【架构师训练营】第一周课程总结