欢迎来到天天文库
浏览记录
ID:50722673
大小:310.33 KB
页数:13页
时间:2020-03-16
《软件架构设计(5)——软件架构要设计到什么程度.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、郝源春2012年8月29日软件架构设计(五)——软件架构要设计到什么程度无法理解某些“高人”的软件架构设计方案,或者至少是不同人有不同的理解?无法从软件架构设计方案中得到足够的指导,对一些关键部分的实现方法依然一头雾水?投标或市场演讲归来,直接从演示的PPT上拷贝些东西,作为架构设计方案的全部,直接让开发人员去开发?设计很玄妙,但在大规模并行开发时才暴露出一些影响全局的设计决策问题,于是出现程序员碰头临时决定的情况?作为软件开发人员,你是否遇到过以下问题?“架构被用作销售手段,而不是技术蓝图,这屡见不鲜。”——ThomasJMowbray,《WhatisArchitect
2、ure》“我不会认为Coding和Designing是对立的。……而问题在于,那些设计人员的设计又往往是高来高去的扯淡,脱离实际情况,二者的矛盾就必然存在。”——猛禽,《设计不是一件玄事》症状一:缺失重要架构视图由于角色与分工不同,关注点不同;由于项目不同,侧重点不同;片面强调用户描述的功能需求,对非功能需求关注不够;症状二:浅尝辄止,不够深入停留在概念性架构的层面,没有提供明确的技术蓝图遗漏了全局性的设计决策,到大规模开发阶段,由具体开发人员从局部视角考虑并确定下来症状三:名不副实的分层架构仅用分层进行指责划分,没有规划层次之间的交互接口和交互机制“层”已退化成笼统意义
3、上的“职责模块”了高来高去式架构设计的症状高来高去症的对策症结问题对策缺失重要架构视图遗漏了对团队某些角色的指导针对遗漏的架构视图进行设计浅尝辄止,不够深入将重大技术风险遗留到后续开发中设计决策须细化到和技术相关的层面名不副实的分层架构只用分层概念进行指责划分,没有明确层次之间的交互接口和交互机制步步深入,明确各层之间的交互接口和交互机制“分而治之”的两种方式按问题深度分而治之例如,接口和实现分离按问题广度分而治之例如,展现层、业务层和数据层的分层开发架构设计与详细设计先架构设计规划全局,再详细设计明确局部,实现按问题深度分而治之对不同局部分工进行详细设计,实现按问题广度
4、分而治之该方法利于控制复杂性,提高开发效率,常被称为“以架构为中心的开发方法”软件架构要设计到什么程度架构设计详细设计详细设计详细设计详细设计问题的广度问题的深度架构设计要进行到什么程度软件项目不同,架构设计的程度不同开发团队情况不同,架构设计的程度不同一些公共模块会设计得比较深入,具体的业务功能模块往往设计程度不深软件架构要设计到什么程度架构设计详细设计详细设计详细设计详细设计问题的广度问题的深度架构设计详细设计详细设计详细设计详细设计问题的广度问题的深度总结为两句话:由于项目的不同、开发团队情况的不同,软件架构设计的程度会有所不同;软件架构应当为开发人员提供足够的指导
5、和限制。软件架构要设计到什么程度概念性架构设计已在上一章中介绍案例分析:网络管理系统名称职责网络拓扑模块接收状态轮询模块的汇报接收设备发现模块的汇报向设备发现模块发送发现命令状态轮询模块向网络拓扑模块发送设备状态信息设备发现模块向网络拓扑模块发送所发现设备的信息接受网络拓扑模块的发现命令实际架构设计识别各层功能模块实际架构设计明确各层之间的交互接口案例分析:网络管理系统实际架构设计明确各层之间的交互机制案例分析:网络管理系统软件架构到底要设计到什么程度?由于项目不同、开发团队情况不同,软件架构的设计程度会有不同;软件架构应当为开发人员提供足够的指导和限制。总结谢谢!
此文档下载收益归作者所有