架构设计学习笔记 1
架构设计的表达
架构文档内容
软件的架构 = 元素 + 形式 + 关系/约束
主要包含架构视图;
4+1架构视图模型
核心观点:通过多种架构视图向不同的相关方描述架构方案;
Logical View
设计的对象模型
For:End-user Functionality
Process View
设计的并发和同步特征
For:Integrators, Performance, Scalability
Physical View
软件到硬件的映射,反映了部署特性
For: System engineers, Topology Communications
Development View
开发环境中软件的静态组织结构
For: Programmers, Software management
Scenarios
用例场景
UML
统一建模语言,用于交流模型设计,以图形的方式描述。
UML有自己的规范语法,建议首先要敢于进行设计的表达;不必纠结于语法、规范、标准;
重点在于能否正确的表达设计意图;
UML建模
How? 如何进行UML建模?
软件开发三个阶段
需求分析
时序图
概要设计
组件图
详细设计
类图
What?
*为UML建模过程中常见图例
静态图
用例图*
对象图
类图*
组件图*
包图
部署图*
动态图
协作图
序列图*(时序图)
活动图*
状态图*
通用模型元素
元素符号
关系
常见关系
关联
连接模型元素及链接实例
泛化
“一般”元素是“特殊”关系的泛化;"is-a kind of";
依赖
聚合
整体与部分的关系,
组合
人是组合起来的"has-a"
用例图Use Case
在需求分析阶段,用于描述系统的功能需求。在宏观上给出模型的整体轮廓。通过对典型用例的分析,使开发者能够有效地了解用户的需求。(5'54'')
可以逐层向下细化,用更细化的用例图描述进一步的细节。
动态图的前提是怎样处理消息。
时序图
用来描述对象之间动态的交互行为,着重体现对象间消息传递的时间顺序。(18'33'')
两个轴:
水平轴表示一组对象
垂直轴表示时间
在软件开发的三个阶段均可以使用;
组件图
组件可以是物理组件或者逻辑组件,是系统中遵从一组接口且提供其实现的物理的、可替换的部分。可以看做包与类对应的物理代码模块,逻辑上与包,类对应,实际上是一个文件。(35'35")
组件之间的依赖关系是指组件之间在编译,链接或者执行时的依赖关系。
部署图
部署图描述开发的组件最终在硬件上的部署情况。一般用在概要设计阶段。
软件设计开始的第一张图。
从概要到详细设计
从上到下的顺序:
部署图
组件图
组件时序图
每个组件的类图
没有设计文档就没有软件设计
没有软件设计就没有技术进步
版权声明: 本文为 InfoQ 作者【Arthur】的原创文章。
原文链接:【http://xie.infoq.cn/article/b6a054be6deffb47cf4465d2e】。文章转载请联系作者。
评论