架构方法

架构师主要能力
技术能力
编程能力
基础技术掌握能力
性能优化与分析故障的能力
常用架构模式和框架的理解与应用能力
建模以及设计文档的方法和能力
业务理解能力
功能模块及非功能模块拆解
常用技术产品的理解与应用能力
快速学习能力
沟通与领导能力
4+1 架构视图
软件架构 = {元素,形式,关系/约束}
单一的视图无法完整的表达架构,因此需要具备完整的视图集
• 逻辑视图(Logical View),设计的对象模型
• 过程视图(Process View),捕捉设计的并发和同步特征。
• 物理视图(Physical View),描述了软件到硬件的映射,反映了部署特性。
• 开发视图(Development View),描述了在开发环境中软件的静态组织结构。
• 场景视图(scenarios),描述用例场景

案例实践:食堂就餐卡系统设计
系统中每个消费者都有一张卡,在管理中心注册缴费,卡内记着消费者的身份、余额。
使用时将卡插入收款机则显示卡上金额,服务员按收款机上数字键,收款机自动计算并显示消费额及余额。
管理中心的管理员监视每一笔消费,可打印出消费情况的相关统计数据。
系统用例图

组件图

组件时序图

部署图

评论