架构师训练营 第一周 学习心得
零. 如何成为架构师
优秀的编程能力,让其他人依赖你的代码。
解决棘手问题的能力
将业务与技术融汇贯通的能力。
建模及文档设计的能力。
快读学习能力。
沟通和领导能力。
生活中处处都是架构。架构师是一个连接点,如何协调各种资源之间的关系,推动项目稳步前进,值得花时间去学习。
一. 如何进行软件架构设计
使用4+1视图模型从5个不同的视角包括逻辑视图、进程视图、物理视图、开发视图和场景视图来描述软件体系结构。 每一个视图只关心系统的一个侧面,5个视图结合在一起才能反映系统的软件体系结构的全部内容。
二. 使用UML进行软件设计
1. 使用UML图的目的
UML(Unified Modeling Language)是一种统一建模语言,为面向对象开发系统的产品进行说明、可视化、和编制文档的一种标准语言;使用UML图的目的就是为了简单清晰的描述出系统设计之间的逻辑关系。
2.几种常用UML图的说明
2.1 用例图(UseCase Diagrams)
用例图主要回答了两个问题:
1、是谁用软件。
2、软件的功能。
从用户的角度描述了系统功能,并指出各个功能的执行者,强调用户的使用者,系统为执行者完成哪些功能。
2.2. 类图(Class Diagrams)
用户根据用例图,通过抽象得到类,包括类内部结构和类之间的关系,是一种静态结构图。
2.3 状态图(State chart Diagrams)
由状态、变迁、事件和活动组成的状态机,用来描述类对象所有可能的状态以及时间发生时状态的转移条件。
2.4 活动图(Activity Diagrams)
状态图的一种特殊情况,这些状态大都处于活动状态。本质是一种流程图,它描述了活动到活动的控制流。
2.5 序列图(Sequence Diagrams)
交互图的一种,描述了对象之间消息发送的先后顺序,强调时间顺序。
2.6 协作图(Collaboration Diagrams)
协作图的一种,描述了收发消息的对象的组织关系,强调对象之间的合作关系。
2.7 组件图(Component Diagrams)
描述了一组代码构件物理结构之间的组织和依赖关系。
2.8 部署图(Deployment Diagrams)
描述了系统运行时进行处理的结点以及在结点上活动构件的配置。强调了物理设备以及之间连接关系。
3.使用场景
3.1 需求分析
用例图,活动图,状态图,时序图。
3.2 概要设计
部署图,组件级的时序图,子系统的时序图,子系统的活动图。
3.3 详细设计
类图,状态图,类时序图,组件时序图。
版权声明: 本文为 InfoQ 作者【李君】的原创文章。
原文链接:【http://xie.infoq.cn/article/1f050d7619cc508ad59235943】。文章转载请联系作者。
评论