写点什么

架构方法之架构设计文档【总结】

用户头像
小叶
关注
发布于: 2020 年 06 月 10 日

1.如何成为架构师

成为架构师一般有两个途径,其一是通过内部晋升,公司把你安排在架构师的职位上或实际上做的是架构师的事情,比如架构设计、软件设计文档编写、技术难点公关等;其二是通过去应聘架构师职位。

2.架构师主要能力

  • 编程能力

  • 基础技术掌握能力

  • 常用技术产品的理解与应用能力

  • 性能优化与分析故障的能力

  • 常用架构模式和框架的理解与应用能力

  • 建模以及设计文档的方法和能力

  • 业务理解与功能模块及非功能模块拆解能力

  • 快速学习能力

  • 沟通与领导能力

3.软件架构的定义

软件架构,是有关软件整体结构与组件的抽象描述,用于指导大型软件系统各个方面的设计。

4 架构设计文档编写

架构师前期产出就是架构文档,根据不同对象编写对应都架构文档。对于老板,架构师要推进一个项目落地,架构师编写都架构文档就没有那么专业化,是那种相对非技术人员通俗易懂的文档或 PPT。对于开发人员设计文档则要编写软件设计文档指导开发人员开发、不偏离架构主体设计

4.1 4+1 视图模型

软件架构 = {元素、形式、关系/约束}

单一的视图无法完整的表达架构,因此需要更加完备的视图集。

  • 逻辑视图(Logical View),设计的对象模型。

  • 过程视图(Process View),捕捉设计的并发与同步特征。

  • 物理视图(Physical View),描述软件到硬件的映射,反映了部署特性。

  • 开发视图(Development View),描述在开发环境中软件的静态组织结构。

  • 场景视图(scenarios),描述用例场景。

4.1.1 逻辑视图

  • 相关方:客户、用户、开发组织管理者。

  • 视角:系统的功能元素,以及它们接口、职责、交互。

  • 主要元素:系统、子系统、功能模块、子功能模块、接口。

  • 用途:开发组织划分、成本/进度的评估。

4.1.2 开发视图

  • 相关方:开发相关人员、测试人员。

  • 视角:系统如何开发实现。

  • 主要元素:描述系统的层、分区、包、框架、系统通用服务、业务通用服务、类和接口、系统平台和相关基础框架。

  • 用途:指导开发组织设计和开发实现。

4.1.3 物理视图

  • 相关方:系统集成商、系统运维人员。

  • 视角:系统逻辑组件到物理节点的物理部署和节点之间的物理网络配置。

  • 主要元素:物理节点以及节点的通信。

4.1.4 过程视图

  • 相关方:性能优化、开发相关人员。

  • 视角:系统运行时线程、进程的情况。

  • 主要元素:系统进程、线程以及处理队列等。

4.1.5 场景视图

  • 相关方:用户、设计和开发人员。

  • 视角:概括了架构上最重要等场景(最典型或最有风险)及其非功能性需求,通过这些场景实现,阐明了架构等广度或众多架构元素的运行方式。


5. 软件建模语言

5.1 什么是模型


模型是一个系统完整的抽象。通常开发计算机系统是为了解决特定领域的问题,问题的求解过程,就是从领域问题到计算机系统的映射。

5.2 为什么要建造模型

建造传统模型的目的:

  • 为了证明某件事情能否工作。

  • 前提:建造模型的成本远远低于建造实体的成本。


建造软件模型的目的:

  • 为了它与人沟通

  • 为了保存软件设计的最终结果

  • 前提:除非模型比代码更说明问题

5.3 UML

5.3.1 UML 概述

  • Unified Modeling Language ,或统一建模语言

  • 以图形方式描述软件概念

  • 可用来描述:

  • 某个问题领域

  • 构思中的软件设计

  • 描述已经完成了的软件设计

5.3.2 UML 图的分类


静态图:通过描述类、对象和数据结构以及它们之间存在的关系,来描述软件要素中不变的逻辑结构。

  • 用例图(Use Case Diagrams)

  • 对象图 (Object Diagrams)

  • 类图(Class Diagrams)

  • 组件图(Component Diagrams)

  • 包图(Package Diagrams)

  • 部署图(Deployment Diagrams)


动态图:通过描绘执行流程或者实体状态变化的方式,来展示软件实体在执行过程中的变化过程

  • 协作图(Collaboration Diagrams)

  • 序列图(Sequence Diagrams)

  • 活动图(Activity Diagrams)

  • 状态图(State Diagrams)


用户头像

小叶

关注

还未添加个人签名 2018.10.21 加入

还未添加个人简介

评论

发布
暂无评论
架构方法之架构设计文档【总结】