欢迎来到三一办公! | 帮助中心 三一办公31ppt.com(应用文档模板下载平台)
三一办公
全部分类
  • 办公文档>
  • PPT模板>
  • 建筑/施工/环境>
  • 毕业设计>
  • 工程图纸>
  • 教育教学>
  • 素材源码>
  • 生活休闲>
  • 临时分类>
  • ImageVerifierCode 换一换
    首页 三一办公 > 资源分类 > PPT文档下载  

    《构架与架构师》PPT课件.ppt

    • 资源ID:1393721       资源大小:1.18MB        全文页数:25页
    • 资源格式: PPT        下载积分:16金币
    快捷下载 游客一键下载
    会员登录下载
    三方登录下载: 微信开放平台登录 QQ登录  
    下载资源需要16金币
    邮箱/手机:
    温馨提示:
    用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP免费专享
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    《构架与架构师》PPT课件.ppt

    ,第0章 构架与架构师,构架,起因:17世纪20年代,瑞典和波兰交战。瑞典国王下令建造巨型战舰瓦萨战舰。要求:舰长70m,载员300人,两层甲板装载64门重炮设计师:henrik大师考虑因素:工期、性能、功能、安全性、可靠性、造价等。实现方法:先按单层炮舰设计,在扩充为双层。结果:试航礼炮未放完,就翻入水中。分析原因:比例严重失调(构架存在问题)说明问题:?,软件构架,第0章 构架与架构师,构架,软件构架师技术、商业好社会等诸多因素作用的结果,而软件构架的存在反过来又会影响技术、商业和社会环境,从而影响到未来的构架。这种相互影响的周期称为构架商业周期,软件构架商业周期,办公室里的争论,办公室里,关于什么是软件架构,争论正酣。程序员说,软件架构就是要决定需要编写哪些类,使用哪些现成框架。程序经理笑了;程序经理说,软件架构就是模块的划分和接口的定义。系统分析员笑了;系统分析员说,软件架构就是为业务领域对象的关系建模。配置管理员笑了;配置管理员说,软件架构就是开发出来的以及编译过后的软件到底是个啥结构。数据库工程师笑了;数据库工程师说,软件架构规定了持久化数据的结构,其他一切只不过是对数据的操作而已。部署工程师笑了;部署工程师说,软件架构规定了软件部署到硬件的策略。用户笑了;用户说,软件架构就是决定一个个子系统如何划分。程序员又笑了;大家想了想说,这些架构视图好像我们都需要啊,软家架构师哭了。.上述争论可以总结为一句话:不同涉众看待软件架构的视角是不同的,第0章 构架与架构师,构架,1.构架受系统涉众的影响:,软件构架的产生,开发组织的管理层涉众,客户涉众,维护组织涉众,最终用户涉众,进行市场营销的涉众,成本要低,人人都得有活干,特性突出、很快能投放市场、成本低、有竞争力,行为、性能、安全性、可靠性、易用性,可修改性,成本要低,及时交付、不要改动太频繁,第0章 构架与架构师,构架,2.构架受开发组织的影响Eg:人员技能、开发进度和预算、直接投资和长期投资、子系统的转包等3.构架受设计师的素质和经验的影响4.构架受技术环境的影响Eg:基于web、面向对象、支持中间件等5.其他影响因素Eg:与涉众的交流6.构架对诸影响因素的反作用,软件构架的产生,架构师,架构师这个称呼不是拍脑袋想出来的,是有国际标准(ISO/IEC 42010)可查的。架构师是软件开发活动中的众多角色之一,它可能是一个人、一个小组,也可能是一个团队。微软对架构师有一个分类参考,我们参考一下,他们把架构师分为4种:企业架构师EA(Enterprise Architect)、基础结构架构师IA(Infrastructure Architect)、特定技术架构TSA(Technology-Specific Architect)和解决方案架构师SA (Solution Architect)。,软件架构师,第0章 构架与架构师,架构师,软件架构师- 名人堂,第0章 构架与架构师,架构师,1、确认需求在项目开发过程中,架构师是在需求规格说明书完成后介入的,需求规格说明书必须得到架构师的认可。架构师需要和分析人员反复交流,以保证自己完整并准确地理解用户需求。2、系统分解依据用户需求,架构师将系统整体分解为更小的子系统和组件,从而形成不同的逻辑层或服务。随后,架构师会确定各层的接口,层与层相互之间的关系。架构师不仅要对整个系统分层,进行“纵向”分解,还要对同一逻辑层分块,进行“横向”分解。软件架构师的功力基本体现于此,这是一项相对复杂的工作。,软件架构师主要职责,第0章 构架与架构师,架构师,3、技术选型架构师通过对系统的一系列的分解,最终形成了软件的整体架构。技术选择主要取决于软件架构。Eg:Web Server运行在Windows上还是Linux上?数据库采用MSSql、Oracle还是Mysql?需要不需要采用MVC或者Spring等轻量级的框架?前端采用富客户端还是瘦客户端方式?类似的工作,都需要在这个阶段提出,并进行评估。 架构师对产品和技术的选型仅仅限于评估,没有决定权,最终的决定权归项目经理。架构师提出的技术方案为项目经理提供了重要的参考信息,项目经理会从项目预算、人力资源、时间进度等实际情况进行权衡,最终进行确认。,软件架构师主要职责,第0章 构架与架构师,架构师,4、制定技术规格说明 架构师在项目开发过程中,是技术权威。他需要协调所有的开发人员,与开发人员一直保持沟通,始终保证开发者依照它的架构意图去实现各项功能。 架构师与开发者沟通的最重要的形式是技术规格说明书,它可以是UML视图、Word文档,Visio文件等各种表现形式。通过架构师提供的技术规格说明书,保证开发者可以从不同角度去观察、理解各自承担的子系统或者模块。,软件架构师主要职责,第0章 构架与架构师,架构师,1、架构师就是项目经理架构师不是项目经理。项目经理侧重于预算控制、时间进度控制、人员管理、与外部联系和协调等等工作,具备管理职能。一般小型项目中,常见项目经理兼架构师。2、架构师负责需求分析架构师不是需求分析员。需求分析人员的工作是收集需求和分析需求,并与最终用户、产品经理保持联系。架构师只对最终的需求审核和确认,提出需求不清和不完整的部分,他会跟需求分析员时刻保持联系。架构师是技术专家,不是业务专家。,软件架构师理解误区,第0章 构架与架构师,架构师,3、架构师从来不写代码这是一个尚存争论的问题。目前有两种观点:观点1:架构师不写代码,写代码纯体力活,架构师写代码大材小用。架构师把UML的各种视图交给开发人员,如果有不明确的地方,可以与架构师随时沟通。观点2:架构师本来自于程序员,只是比程序员站的层面更高,比程序员唯一多的是经验和知识,所以架构师也免不了写代码。,软件架构师理解误区,第0章 构架与架构师,架构师,软件架构师基本素质,愿意并有能力进行沟通:确定表述系统设计时的最佳工具和构件,以促进有效的意见交换。具有处理谈判细节方面的经验:优秀的架构师能够有效地评估技术可能性,并能在不损失项目的主要价值的前提下制订开发计划来处理各种利害关系和限制。,第0章 构架与架构师,架构师,软件架构师基本素质,自觉主动;积极解决设计问题:架构师的日常工作目标经常并不明确。会预计各种设计问题并加以解决通常在没有任何具体指示的情况下自觉进行。抽象思维和分析:架构师必须能够理解表述模糊的概念并将其变成相关各方能够理解的项目构件。 开发人员经常具有很强的数学能力,而好的架构师则倾向于表现出更强的口头表达能力。,第0章 构架与架构师,架构师,软件架构师基本素质,假设有三名优秀的程序员:A 尤其擅长沟通与团队管理;B 的编程功底深厚,且对新技术能快速掌握;C 在逻辑思维和抽象能力方面表现优秀。您会重点培养哪位程序员成为架构师?,第0章 构架与架构师,架构师,软件架构师卓越的程序员(1),1.架构师是使用代码作画的大师。一个架构师的价值在于,他不仅能看到系统的美,而且能够在建造系统的时候能够把这些美创造出来。(尊崇“优美”、“简约”)2.不编程的架构师的职业生涯是短暂的 -Fred George“代码就是设计与残酷现实之黄昏的交汇”(Code is when design meets the harsh reality of dawn.) - Kent Beck,第0章 构架与架构师,架构师,软件架构师抽象思维(2),优秀的数学家、物理学家以及软件架构师有着很多相似的素质,甚至往往能够一人精通这好几个领域,其中很重要的原因就是这个抽象思维的能力。Eg: UML之父James Rumbaugh拥有条理清晰的逻辑思维能力的人,“就像稀有动物那样难找” - eBay的Randy Shoup驾驭概念的技能,在我看来是每一个人最高的潜力 - Fred George,第0章 构架与架构师,架构师,软件架构师技术前瞻性(3),铁打的程序员,流水的技术。程序员的开发生涯可能长达几十年,但一门技术的平均寿命却不长。1.作为程序员们的技术领袖,架构师必须有很好的技术前瞻性,要先于大家了解到最新的技术。(英语)2.技术前瞻性还体现在对新技术的选择上。(逻辑思维能力和接受能力),第0章 构架与架构师,架构师,软件架构师问题解决大师(4),透过问题看本质Eg:电子商务站这样大型的系统有两个层面的功能:垂直功能(抽象思维):如买、卖、搜索、付款等。水平功能(本质):如数据库、事件与消息系统、服务基础设施、展示框架等。非功能(本质):功能,性能,可伸缩性,可管理性,安全性,以及可用性。 - eBay架构师Randy Shoup,第0章 构架与架构师,架构师,软件架构师内力(5),内力更多的是一种思考能力,结合技术的思考能力。光有程序开发的能力,不会思考,那只能做个代码狂人。只思考而没有脚踏实地的技术开发能力,那就是忽悠人的表现。1.内功的修炼第一层,自然是开发技术的培养。2.其次是对架构的熟悉,对各种架构做到了熟于心。3.高层次的修炼,就在于不同技术的学习。才能更好地抽象软件的使用环境,选择符合需要的架构以及开发模式。,第0章 构架与架构师,架构师,软件架构师多领域知识(6),架构师:要成为百科全书式的智者1.架构师学习更多跨领域知识,也是为了在接受一个项目时,能更快更准确的找到解决问题的命门2.好的架构师必须参与更大的项目如果多学习跨领域、跨学科的东西,会不会成为什么都懂,但什么都不精的人?,第0章 构架与架构师,架构师,软件架构师权衡取舍(7),架构师:每天要在鱼和熊掌之间做选择1.没有一个人可以建造一个没有缺陷的架构。这个项目可能缺乏时间,缺乏金钱,缺乏人手,或者缺乏合适的技术。2.系统能够承受的范围内做出一些“权衡妥协”(哪些内容是必要的、不可丢弃的;哪些是暂时可以不予考虑的。)“在一个理想的世界中,只存在唯一一个一致模型:在实施一次升级之后,所有观察者都能够看到这个升级。” - Werner Vogels“对于一个共享数据的系统而言,数据持续性、系统可用性、对网络划分的耐受性这三个属性(property)是不可调和的,任何时候只能同时达成两个。” -加州大学的Eric Brewer教授提出了CAP理论,第0章 构架与架构师,架构师,软件架构师沟通能力(8) 架构师的沟通主要在于开发团队内部,一种纯技术上的沟通。,第0章 构架与架构师,软件架构师管控能力(9)架构师所需要的管理与控制,其实是从技术的角度,对一些问题的控制,特别是开发过程中的监控,而不是普通意义上的纯粹管理。,软件架构师艺术气质(10)系统应当是优美的,而这优美体现在系统的伸缩性、安全性、可维护性、可靠性和可移植性等健康因素。一个优美的系统则是可以像有机的生命一样成长的,这是因为从系统开始架构的那一刻起,架构师就考虑到这个系统以后将会面临的挑战,为系统的成长预留好空间。,架构师,软件架构师跟踪生命周期,分析:好的架构师会考虑非技术影响,以便了解需求和将在其中进行开发的环境。架构师可为风险评估任务带来广泛的软件经验供参考。设计:在高级设计期间,好的架构师会收集问题空间的各个抽象元素,并就其进行沟通,将需求谨慎地映射到所得到的系统体系结构的功能。在详细设计期间,对特定模块的元素进行审查。实现:架构师对项目进行引导,以确保其符合系统体系结构。架构师还要密切了解开发人员的进度,特别要跟踪系统中模块间的集成点的状态。测试:架构师对系统集成和用户接受度测试进行指导,并负责评估进度的正确沟通的持续测试结果。寻找理解错误模式且善于将测试复查结果转换为行动计划的开发人员。维护:在维护期间,架构师将发起关于系统集成的讨论。,第0章 构架与架构师,架构师,软件架构师成长路线,第0章 构架与架构师,

    注意事项

    本文(《构架与架构师》PPT课件.ppt)为本站会员(小飞机)主动上传,三一办公仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知三一办公(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    备案号:宁ICP备20000045号-2

    经营许可证:宁B2-20210002

    宁公网安备 64010402000987号

    三一办公
    收起
    展开