您好,欢迎访问三七文档
®EvolvebycaseEvolvebycaseEvolvebycaseEvolvebycase高级软件架构设计最佳实践课程总结架构设计实际工作之中架构三个经典难题需求架构思维过程乱思维过程乱思维过程乱思维过程乱不能系统有序进行思维……………………输出乱输出乱输出乱输出乱不能错落有致提供设计决策……………………输入乱输入乱输入乱输入乱不能深入全面把握需求……………………�架构师:混乱是思维的大敌!架构的驱动因素————是谁在驱动架构?�功能,质量和商业需求的集合“塑造”了架构。我们把这些塑造需求称为“架构驱动因素”。知道了架构驱动因素后,就可以架构设计了。�LenBass《软件架构实践》软件架构师对架构驱动因素的定义确定关键功能确定系统质量和商业质量属性确定约束条件全面有序理解需求影响架构的因素::::多而杂架构驱动设计的2种哲学�问题1:盲目追求新技术,带来很大风险�问题2:忽略质量属性和约束,导致设计时过于理想化,运行环境无法支持�问题3:忽略质量属性,导致上线时,必须增加大量工作量功能质量属性约束功能和技术质量属性约束软件架构视图�软件架构是一种无法以简单的一维方式进行说明的复杂实体。�PaulClements《软件架构编档》�多重软件架构视图之所以必不可少,是因为各类涉众(用户,客户,开发人员,测试人员,维护人员,内部操作人员,其他人员)需要从各自的角度理解和使用架构。�BarryBoehmStakeholdersStakeholdersStakeholdersStakeholders�软件架构是风险承担者相互交流的手段�软件架构是最初设计的决策的体现�软件架构是系统可重用,可传递的抽象常见软件架构视图类型�功能视图�开发视图�进程视图�部署视图�数据视图�用例视图�实现(模块)视图软件架构设计过程�商业架构分析�概念架构设计�物理架构设计�软件架构评估�软件架构验证�基于架构的开发(保证架构的约束力)�架构的重构�架构的复用软件架构原则、策略、模式�原则(拆分和整合)�针对软件架构质量属性的架构策略�软件架构模式项目的通用分层表示层业务逻辑层DB设计领域模型/值对象业务通用服务系统通用服务系统平台数据存取层客户端框架转换为Framework(应用框架)学和习�所谓学习是由“学”和“习”构成。想到学比较容易,然而,运用起来并非容易-连很多高手都承认并不像想象的那样真正理解架构。�掌握任何一项技能且达到“无人出其左右”的地步,需要至少10000个小时。习之所以难,因为必须经过大量的实践才能做到真正理解。人不做事不会遇到问题,如果做事的时候竟然没有遇到问题-那不是在做事,那是在做梦。不遇到问题就没有解决问题的机会,也就没有机会成长。�MalcolmGladwell心理学家架构师成长模型�ChuckKilmer在2006年提出架构师成长模型�单一的技术经验�广泛的技术经验�商业和流程的经验�社会经验架构师能力模型�2005年澳大利亚墨尔本著名教授KeithFrampton发表论文�专业技术技能�商业经验�沟通技能�平衡决策能力�多任务处理能力�规划能力�驱动能力如何实施????培训之后,我们如何办?�关于架构有统一认识�深入理解架构视图和软件架构文档�是否需要重新梳理架构文档,�是否需要重构�整理和学习软件架构原则,策略,架构模式�各层的基本原则
本文标题:架构师培训 2
链接地址:https://www.777doc.com/doc-980010 .html