架构设计初探.pptxVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
架构设计初探

软件架构设计初探软件一部 郑志俊目录什么是软件架构如何进行软件架构工具介绍软件架构定义“软件架构代表了系统的组织结构。这包括将系统分解为不同的部分、界定它们之间的连接、确定它们之间的交换机制、并且为后续的设计提供指导性的原则”——UML的著名原创者James Rumbaugh、Grady Booch 及 Ivar Jacobson (即架构界俗称的“三个火枪手”)“软件架构表述了一个系统的一个或一系列组织结构。这包扩了软件构件、这些构件的外部可见特征,以及这些构件之间的关系。”——Bass Len、Paul Clements、Rick Kazman 在2003年出版的经典的《架构的实践》软件架构定义“软件系统架构是根据具有参考意义的实践而定义出来的。主要表述了有一个系统的基本组织结构、基本组成构件和互相的关系,以及构件于外部环境间的关系。同时,软件系统架构为后续的设计和架构演化提供了指导性原则”——IEEE Standard 1471Architecture is the fundamental organization of a system embodied in its components, their relationships to each other, and to the environment, and the principles guiding its design and evolution.软件架构的必要性系统分析,满足需求组件设计,提高复用团队开发,分工协作随机应变,健壮可靠需求变更,从容扩展架构和框架的区别一句话,框架是软件,架构不是软件。框架是一种特殊的软件,它并不能提供完整无缺的解决方案,而是为你构建解决方案提供良好的基础。软件架构不是软件,而是关于软件如何设计的重要决策。软件架构师的定义一个软件系统的架构师是一个要担负起软件系统的定义、架构的实现、系统的实施、系统架构演化和系统演化的人。换句话说,是一个要为系统整个生命周期负责的人。——架构大师Frank Buschmann 主导系统全局分析设计和实施、负责软件架构和关键技术决策的角色架构师的职责领导与协调整个项目中的技术活动(分析、设计和实施等)推动主要的技术决策,并最终表达为软件架构描述确定和文档化系统中对架构而言意义重大的方面,包括系统的需求、设计、实施和部署等“视图”确定设计元素的划分以及这些主要分组之间的接口为技术决策提供规则,平衡各类涉众的不同关注点,化解技术风险,并保证相关决定被有效传达和贯彻理解、评价并接收系统需求评价和确认软件架构的实现架构师与设计员的区别架构师:全局工作设计员:局部的、具体的工作设计员的职责理解、评价并接收系统需求细节理解、评价并接收相关软件架构的结构与机制等依据需求规格分析系统的内部行为,在分析层面识别与定义各系统组成元素的职责、操作识别与定义各设计元素的职责、操作、属性及相互关系保证设计符合软件架构,并足够详细到可以进入实施架构师的技能完成项目的条件从来不是理想的,总是有工期压力,总是存在各种矛盾,客户提供的信息总是不完整,而且总是在变化中,架构师必须面对这些情况技术全面、成熟练达、洞察力强、经验丰富,具备在缺乏完整信息、众多问题交织一团、模糊和矛盾的情况下,迅速抓住问题要害,并做出合理的关键决定的能力具备战略性和前瞻性思维能力,善于把握全局,能够在更高抽象级别上进行思考对项目开发涉及的所有问题领域都有经验,包括彻底地理解项目需求、开展分析设计之类软件工程活动等具备领导素质,以在各小组之间推进技术工作,并在项目压力下做出牢靠的关键决策架构师的技能架构师的设计思想要在项目中得以贯彻,依靠行政手段往往是适得其反的,架构师必须是一个有个人魅力的鼓动能手拥有优秀的沟通能力,用以进行说服、鼓励和指导等活动,并赢得项目成员的信任以目标导向和主动的方式来不带任何感情色彩的关注项目结果,构架师应当是项目背后的技术推动力,而非构想者和梦想家(信仰折衷,而不追求完美)精通构架设计的理论、实践和工具,并掌握多种参考构架、主要的可重用构架机制和模式(例如基于J2EE的参考价购等)具备系统设计员的所有技能,但涉及面更广,抽象级别更高架构师的活动与工件参与的活动 确定用例或需求的优先级、进行架构分析、创建构架的概念验证原型、评估构架的概念验证原型的可行性、组织系统实施模型、描述系统分布结构、描述运行时刻构架、确定构架机制、确定设计元素、合并已有设计元素负责的工件 软件构架文档、参考构架、分析模型、设计模型、实施模型、部署模型、构架概念验证原型、接口、事件、信号与协议设计员的技能掌握需求工程概念和技巧,以准确无误地理解相关系统需求熟悉软件架构模式、概念和技巧,以准确无误地理解相关系统构架精通软件设计理论、实践和工具,包括面向对象的

文档评论(0)

153****9595 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档