架构师训练营第一周总结
这是架构师训练营第一周,本周主题为架构方法。
架构师通过架构设计做架构。
软件架构是有关软件整体结构和组件的抽象描述,用于指导大型软件系统整体架构设计。
架构师是做架构设计、对系统架构负责的那个人。
架构师是一种角色,而不是一个职位;是一顶帽子,而不是一把椅子。
架构师要具有:
编程能力
基础技术掌握能力
常用技术产品的理解与应用能力
性能优化与分析故障的能力
常用架构模式和框架的理解与应用能力
建模以及设计文档的方法与能力
业务理解与功能模块与非功能模块拆解能力
快速学习能力
沟通与领导能力
做一个业务功能简单且少的软件可以不讲求架构设计,所以也就无所谓架构方法。但对于大型软件系统来说,其复杂度远远超出简单软件,则必对其做架构设计。
做架构设计则需要对软件系统进行建模,IBM的4+1视图模型可以很好的从多维度描述系统。为什么需要4+1视图呢,单一的视图无法完整的表达架构,系统相关方来源不同,相关方各有关注点,为了满足不同关注点,则需要不同的视图模型。如开发视图满足开发同学开发需要,场景视图满足客户对软件使用规范。
软件建模语言,UML(Unified Modeling Language)。模型是一个系统的完整的抽象。UML建模分为静态模型与动态模型。常用静态模型有类图、组件图、部署图、用例图,常用动态模型有时序图、活动图、状态图。
软件设计包含需求分析、概要设计、详细设计。
需求分析包含用例图、状态图。
概要设计包含部署图、子系统时序图、子系统活动图、组件图、组件时序图、组件活动图。
详细设计包含类图,类时序图,类方法活动图、状态图。
设计文档的写法是从整体到具体、从大到小的过程。
先部署图,细化有子系统时序图、子系统活动图。
再组件图,细化可有组件时序图,组件活动图。
最后类图,细化有类时序图,类方法活动图,状态图。
以上图示配上文字说明、描述。
评论