写点什么

第一周学习总结

用户头像
vitaminc
关注
发布于: 2020 年 09 月 20 日

招聘解读

主要是看职位的要求,就是自己需要掌握的技能



软件架构图



软件架构师的主要职责(如何做软件架构)

架构师的主要职责编写架构设计文档

开发编程框架

重构软件代码

设计系统架构

进行技术选型,解决技术应用中的问题

优化系统性能

模块分解与微服务架构重构

保障系统安全与高可用

大数据应用

技术创新

沟通管理



架构师的主要能力

编程能力

基础技术堂握能力

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

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

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

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

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

快速学习能力

沟通与领导能力



4+1视图模型

软件架构 =(元素,形式,关系/约束)

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



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

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

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

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

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

逻辑视图

相关方∶客户,用户,开发组织管理者。

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

主要元素∶系统,子系统,功能模块,子功能模块,接口。

用途∶开发组织划分,成本/进度的评估。

开发视图

相关者∶开发相关人员,测试人员视角∶系统如何开发实现

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

用途∶指导开发组织设计和开发实现

物理视图

相关者∶系统集成商,系统运维人员。

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

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

过程视图

相关者∶性能优化,开发相关人员。视角∶系统运行时线程,进程的情况。

主要元素∶系统进程,线程以及处理队列等。

场景视图

相关者∶用户,设计和开发人员。

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



UML的使用(统一建模语言)

模型及画图的作用

为什么要建造模型?建造传统模型的目的

为了证明某件事物能否工作

前提∶建造模型的成本远远低于建造实物的成本

为了与它人沟通为了保存软件设计的最终成果

前提∶除非模型比代码更说问题

何时、何处画图?何时画图?

讨论、交流时

最终设计文档只保留少量的、重要的图

避免涉及过多内容和实现细节

何处画图?

白板

绘图工具,如∶Visio、Aastah o draw.io

UML 图的分类-静态图

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

用例图(Use Case Diagrams)

对象图(Object Diagrams)

类图(Class Diagrams)

组件图(Component Diagrams)

包图 (Package DiaOrams)

部署图(Deployment Diagrams)

UML 图的分类-动态图

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

协作图Collaboration Diagrams)

序列图(Sequence Diagrams)

活动图(Activity Diagrams)

状态图(State Diagrams)



通用模型元素





设计文档的编写

参看文档模板

用户头像

vitaminc

关注

还未添加个人签名 2018.09.18 加入

还未添加个人简介

评论

发布
暂无评论
第一周学习总结