欢迎来到天天文库
浏览记录
ID:52526012
大小:134.12 KB
页数:4页
时间:2020-03-28
《优秀架构师必读.pdf》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、优秀架构师必读在软件产品的开发组织中,系统架构师是软件项目的总设计师,是软件企业新产品、新技术体系的构建者,是目前软件开发中急需的高层次技术人才。一名合格的架构师,要站在系统的高度,从什么是设计、为什么要设计、怎样进行设计三个层面深入研究。1、任何设计的依据都是目标,良好的架构可以根据目标形成一个有远见的设计。如果没有架构支撑,项目很可能会发展到一个无法预测的方向,而为了正确的设计就需要有一整套理念、思想、方法和原则来支撑,如果思想是匮乏的,设计也就无从谈起了。当我们面对一个抽象需求的时候,设计中应该有哪些关注点?良好架构设计的特征又是什么?我们必须在设计中避免哪些关键性
2、的缺陷?解决这些问题都需要站在系统的角度思考问题。2,设计的要义是发现问题并解决问题,通过分析所面临的重点问题,找到解决方案。没有解决问题的设计不是好设计,而通过识别和分析风险,可以帮助我们发现问题。架构设计思想中最有价值的策略,莫过于用风险分析来驱动架构设计。因为一个产品设计中要考虑的问题很多,但只有通过发现风险与消除风险的过程,发现和抓住了高风险的部分,才可以针对潜在的威胁抓住重点提出设计解决方案,从而设计出更加良好的产品。3,软件架构设计并不是类似于传统的概要设计,它是一个由问题驱动从整体到细部不断精化、优化并确定解决方案的过程。换句话说,每个不同层面都有架构设计问
3、题。我们如何在架构设计中考虑关键质量风险要素?我们如何在设计中考虑影响进度的风险要素?我们如何从顶层架构到组件设计等不同的细节层面上,通过发现问题到解决问题形成良好的设计风格?我们如何通过细节层次的设计反馈发现上层设计的问题并优化系统方案?这都是在设计中需要考虑的问题。4,在今天的企业环境下,变化就意味着胜出。随着人们对软件本质理解越来越深入,在现代软件开发思想中,人们已经不再把软件看成固态的一成不变的东西,而是把它看成一个可培育可成长的活物,设计的理念变成了“拥抱着变化而设计”。那么架构设计如何为这种设计理念提供更好的支持?如何把业务的共性和变化性这两个非常重要的特征探
4、寻并挖掘出来,为构建可维护、易扩展、可移植的软件寻求更好的设计策略?5,现代软件生态环境中,变化带来了竞争优势,但需求变更又会影响到软件质量水平,这就形成了一对矛盾。如何通过架构设计来平衡这种矛盾?如何让变化的哲学以及由此带来的设计思想变成可实现的设计理念?变化如何通过问题域的互相配合而得到最合适的解决方案?基于变化的设计理念为传统方法注入了新的思想,但我们该如何去想如何去做呢?6,架构师并不是一个普通的技术人员,思维空间要由纯技术转向团队和组织,要关注经验总结和团队指导。事实上只凭经验进行设计很危险,因为每一次遇到的情况都不一样。没有经过归纳总结的经验不能反映自然规律,
5、其作为指导的价值也是要打折扣的。如何把已有的经验总结出来,形成能够指导他人的模式?如何让智力资产不断丰富并真正发挥作用?7,模式是一个经验系统,但如果这个系统是琐碎和散乱的,那它的指导意义也是有限的。把模式嵌入到过程中去,成为在每个设计节点上的指导建议,通过过程使模式体系化,这就是模式语言。模式语言帮助我们从整体上考虑问题,它超越了经验,更有利于提炼、交流以及分享架构层次上的知识。那么,如何在系统设计中根据模式语言重新审视最初的设计直觉?如何在实践中跳出现有模式实现更完美的设计?如何通过构建模式语言拉动整个组织的设计思想向更高层次蜕变?这些都是架构师应该考虑的问题。8,面
6、向服务的架构是在业务易变环境下的一种IT解决方案,云计算是面向服务架构的一种更加宽阔的延伸,它集成了多种新技术,发展极为迅速。云计算正向着提高生产率、更好的协同工作、促进信息共享以及降低资源消耗这个目标发展。那么,在这个背景下我们的设计思想会发生什么样的变化?我们如何站在服务提供者或使用者的不同角度去设计,如何利用云计算架构的思想来提升产品的综合水准。希望软件架构师不但能掌握软件系统设计方法论,更要根据组织所处领域的不同,通过总结历史形成的经验、教训、方法、模式,通过归纳整理,形成具有本组织领域特色的系统设计方法,并最终形成对本组织有价值的智力资产。中科院计算所培训中心为
7、国内上百家优秀企事业机构做过高级系统架构师培训及咨询,我们认为,一名优秀的架构师必须具备下列知识:一、软件架构设计的方法论1、系统思考:软件架构设计方法学软件系统架构与架构师软件架构方法学基础用风险分析驱动架构设计2、架构阶段的风险消除策略质量风险对架构设计的影响进行关键质量属性分析从“可行走骨架”开始设计3、构建阶段的风险消除策略进度风险对架构设计的影响软件结构的优化与重构尽早发现软件的腐化4、拥抱着变化而设计面向对象分析与设计的本质关注特征:共性和可变性分析分析矩阵:与客户一起讨论变化在行为分析中发现共性和变化性对变化建模
此文档下载收益归作者所有