【第一周】学习总结——架构方法、软件建模与设计文档
刚参与训练营一周,两次课程,这里记录几个需要记住或者有感悟的几个点。
1. 如何成为架构师
架构师不需要被任命,做架构不一定需要TITLE。
很多项目没有架构师角色,也没有人承担架构职责。你可以有意无意去承担这个职责,去对项目做一些设计,把设计出来的文档发给其他同事,甚至发起评审。不要怕别人的评价,不要怕说三道四,当别人对你的架构进行评论的时候,就已经认可你的角色了。当大家认可你的架构,你就慢慢变成架构师了。
2. 架构的对象图
架构的覆盖面,架构需要关注的角度,需要记住。
每一个系统都有一个架构
架构由架构元素和元素间关系组成的。架构元素指每一个系统的组成部分,比如服务器,模块,类等等。元素间的关系包括静态关系和动态关系,静态关系如组合继承,动态关系如交互协助。
系统有自己相关方,每个相关方都有自己的关注点
架构关联一个架构文档,架构文档由架构视图组成,架构文档是给相关方看的。
3. 通用模型元素关系
通用模型元素关系是做建模的基本认知。
依赖和关联:关联关系强于依赖关系
继承和实现:继承面向父类,实现面向接口
聚合和组合:组合强于聚合,组合关系一般存在一致的生命周期
4. UML建模学习
学习七个UML模型:用例图、部署图、组件图、时序图、状态图、活动图、类图
概要设计
1)架构是至上而下的,架构文档的第一张图是部署图,描述系统的整体。
2)部署图是一张静态图,静态图总要配合动态图才能描述清楚元素之间的关系,部署图通常配合子系统间的时序图。时序图是有场景的,一般是比较重要的关键场景,时序图要说明这些场景是如何完成的。部署图和子系统时序图完成了系统整体的顶层结构设计。
3)之后进入子系统级的设计。每个子系统由若干组件组成,有哪些组件,组件之间的关系是怎样的。组件内部就是类图设计,类之间的时序图也可以画出来。
5)图里面元素不能太多,十几个就行,没有展示的内容用文字在图下方进行补充
各阶段画哪些图
需求分析阶段:用例图,活动图,状态图,时序图(外部系统间关系)
概要设计阶段:部署图,子系统级时序图,子系统级活动图,组件图,组件级序图,组件级活动图,
详细设计阶段:类图,类级时序图,方法级活动图,状态图
5. 面向简历编程,面向老板架构
工作要给自己增加面试砝码,架构要关注相关方
6. 捅破那一层纸
技术资料非常多,掌握知识不等于就能做好架构,需要捅破那一层窗户纸,需要不停的去感悟。
评论