架构师训练营第一周学习总结

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

第一课

首先,老师就本期架构师训练营的目的做了深入的介绍,告诉我们这个训练营能提供什么,能够解决我们的什么问题:我们应该采取什么样的思维方式去解决架构问题,去领悟架构问题后面的本质是什么,怎样才能从不懂到懂,去领悟问题的精髓。

然后讨论了成为架构师的方式,包括了跳槽、内部晋升以及面对一个项目或系统,自己主动去做架构,邀请其他同事做评审。从被动到主动,交代了什么是架构师,架构师就是为一个系统或项目做架构的人,这不是一个职业或title,而是一个角色。

然后讲解架构师的主要职责是:设计系统架构、进行技术选型、编写架构设计文档、解决应用中的问题、优化系统性能。对架构师而言,夸夸其谈能帮你带来掌声,解决棘手问题能帮你带来名声,但是奠定架构师地位的,是让别人依赖你写的代码即负责核心的代码。所以优秀的架构师必须是软件开发的全才:卓越的编程能力、解决棘手问题的能力、广阔的知识面、洞悉技术背后的本质和规律,以及沟通和打动人心的能力。

最后讲解了软件架构

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

架构的构成有哪些?



架构有架构元素和元素之间的关系构成,架构本身包含各个系统,对外体现的是架构文档——相关方,内容有架构视图,体现了架构的关注点。

架构的详细程度,是根据架构的目的来衡量的,针对的是相关方,也就是人。人搞清楚了,那架构就算完成了。

  • 架构师需要协调、满足各方的(客户、老板、开发、测试、运维等)诉求

  • 架构师要面对不同的受众,用不同的方式,展现系统不同的侧面

第二课

首先,讲解了软件的生命周期:问题定义——需求分析——软件设计——程序编码——软件测试——运行维护。架构是给人做的,满足相关方的诉求。架构文档的体现也就是架构生命周期的体现。从这个角度来看,架构的生命周期也就是软件的生命周期,贯穿整个软件生命周期的始终。架构文档,最重要的一项便是画图,没有任何语言比图更能给人视觉的冲击,让人更加直观形象的表达设计的意图,一图胜千言。当然图文并茂更好。

架构的视图模型包括了4+1视图:逻辑视图、开发视图、过程视图、物理视图,围绕着场景视图进行展开。

这个也是一个问题解决的过程,由领域问题->概念模型->系统需求->解决方案。

构建传统模型的目的是为了证明某件事物能否工作 ,前提模型的成本远远低于构建实物的成本

构建软件模型的目的是:在模型比代码更能说明问题的前提下,为了和他人沟通和为了保存软件设计的最终成果

画图的时机:1.交流讨论的时候、2.最终设计文档的时候、3.少量且重要的图、4.避免过早的涉及内容和实现细节

UML是一种的面向对象系统的产品进行说明、可视化和编制文档的一种标准语言,软件设计的过程就是一个持续建模的过程,把问题反映出来的过程,在不同的设计阶段,画不同的uml视图,达成设计意图,

图画出来了,设计文档也就出来了。

uml本身画图不难,难的是要表达清楚作者的意图,让相关方容易明白。

UML 包括静态图和动态图两类。

静态图:通过类、对象和数据结构以及它们存在的关系,来描述软件要素不变的逻辑结构。包含用例图、对象图、类图、组件图、包图、部署图。

动态图:时序图、活动图、状态图、合作图(可由时序图产生)

在需求分析的时候,采用用例图,部署图,时序图,活动图,状态图

在概要分析的时候,采用框架图,部署图,组件图,时序图,活动图

在详细设计的时候,类图,时序图,活动图,状态图

UML图是需要画到相关方看懂并且突出相关方所关注的重点。

对象之间的关系:依赖、关联、聚合、组合、继承和依赖6种关系。

用户头像

fenix

关注

还未添加个人签名 2018.03.02 加入

还未添加个人简介

评论

发布
暂无评论
架构师训练营第一周学习总结