架构师和软件架构的理解
1、架构师职责和能力
技术深度:编程语言+操作系统+数据结构+数据库+计算机组成+计算机网络+设计模式
思维(产品、分解)+ 领导 + 技术深度
2、软件架构
软件架构,是有关软件整体结构与组件的抽象描述,用于指导大型软件系统各个方面的设计。
满足不同相关方(客户、用户、开发组织管理者、开发相关人员、测试人员、系统集成商、系统运维人员、性能优化)的需求和诉求,架构方案要得到相关人理解和认可。
3、4+1架构视图
软件架构二{元素,形式,关系/约束}
单一的视图无法完整的表达架构,因此需要具备完整的视图集。
逻辑视图(Logical View),设计的对象模型。
过程视图(Process View),捕捉设计的并发和同步特征。
物理视图(Physical View ),描述了软件到硬件的映射,反映了部署特性。
开发视图(Development View ),描述了在开发环境中软件的静态组织结构。
场景视图(scenarios ),描述用例场景。
4、UML语言工具
6、学习体会
1) 架构师的要求:思维方式(全方位的思维)、知识体系(深度和广度)、职责(承上启下)
2) 静态图和动态图再加详细描述来确认技术方案,减少沟通的不一致,前段时间在做方案仅仅将物理架构(部署图)画出来,经过几次沟通发现方案与当面的理解不一致,通过这次的学习,可以结合组件图和时序图补充完成方案,保证方案的完整性。
3)通过例子和知识点学习,总结模式,通过模式,构建知识体系
评论