赢在架构大中型软件架构设计实践体系.ppt_第1页
赢在架构大中型软件架构设计实践体系.ppt_第2页
赢在架构大中型软件架构设计实践体系.ppt_第3页
赢在架构大中型软件架构设计实践体系.ppt_第4页
赢在架构大中型软件架构设计实践体系.ppt_第5页
已阅读5页,还剩29页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

,赢在架构,大中型软件架构设计实践体系,软件架构专家 架构咨询顾问与培训师 软件架构设计作者,温 昱,三个经典难题,一套实践体系 实践体系的三个阶段 Pre-architecture阶段 Conceptual Architecture阶段 Refined Architecture阶段 实践体系如何解决软件企业的问题 ADMEMS方法的十大理念 Q&A,议 程,架构设计,三个经典难题,需求,架构,思维过程乱 不能系统有序进行思维,输出乱 不能错落有致提供设计决策,输入乱 不能深入全面把握需求,架构师:混乱是思维的大敌!,一套实践体系,Pre-architecture阶段:错过 = 过错 Conceptual Arch阶段:大系统成败关键 Refined Arch阶段:团队并行开发基础,PA阶段,需求,CA阶段,RA阶段,架构,三个经典难题,一套实践体系 实践体系的三个阶段 Pre-architecture阶段 Conceptual Architecture阶段 Refined Architecture阶段 实践体系如何解决软件企业的问题 ADMEMS方法的十大理念 Q&A,议 程,第1步: 需求结构化 第2步: 分析约束影响 第3步: 确定关键质量 第4步: 确定关键功能,4,3,2,1,确定关 键功能,确定关 键质量,分析约 束影响,全面有序理解需求,影响架构的 因素多而杂,Pre-architecture:不仅是理解需求,例如,确定关键质量时,理解力:不能“还原”,何谈“模仿”,创造力:用好Pre-architecture阶段,功 能,质 量,约 束,三个经典难题,一套实践体系 实践体系的三个阶段 Pre-architecture阶段 Conceptual Architecture阶段 Refined Architecture阶段 实践体系如何解决软件企业的问题 ADMEMS方法的十大理念 Q&A,议 程,重大需求塑造概念架构,架构决定因素 关键功能 关键质量业务需求与约束,对比:RUP的用例驱动方式,Use Cases,Analysis Classes,Source Code,Exec,Design Classes,两种哲学的优劣分析,驱动力,功能 质量 约束,功能 质量 约束,驱动力,概念架构针对重大需求、特色需求、高风险需求,给出高层次的解决方案,问题1:过于理想化 问题2:未来修改很大,案例:基于Web的PMSys,PMSys例:概念架构理想设计,PMSys例:得到的概念架构,4层架构及每层职责 采用B/S架构 采用Java语言 ORM技术的采用 集成的考虑,细化架构,详设与编程,概念架构,愿景与需求,三个经典难题,一套实践体系 实践体系的三个阶段 Pre-architecture阶段 Conceptual Architecture阶段 Refined Architecture阶段 实践体系如何解决软件企业的问题 ADMEMS方法的十大理念 Q&A,议 程,软件架构设计中一则笑话,程序员说,架构就是要决定需要编写哪些类、使用哪些现成框架,程序经理笑了; 程序经理说,架构就是模块的划分和接口的定义,系统分析员笑了; 分析员说,架构就是为业务领域对象的关系建模,配置管理员笑了; 配置管理员说,架构就是开发出来的、以及编译过后的软件到底是个啥结构,数据库工程师笑了; 数据库工程师说,架构规定了持久化数据的结构,其他一切都不过是对数据的操作而已,部署工程师笑了; 部署工程师说,架构规定了软件部署到硬件的策略,用户笑了; 用户说,架构就是决定一个个功能子系统如何划分,程序员又笑了。,RUP的4+1视图,Design View,Implementation View,Process View,Components,Classes, interfaces, collaborations,Active classes,Deployment View,Use cases,5视图:扩充了经验,补足了技巧,运行架构,数据架构,物理架构,逻辑架构,开发架构,持久数据单元 文件 关系数据库 实时数据库 数据存储格式 文件格式 数据库Schema,程序单元 源文件、配置文件 程序库、框架 目标单元 程序单元组织 Project划分 Project目录结构 编译依赖关系,控制流 进程、线程 中断服务程序 控制流组织 系统启动与停机 控制流通信 加锁与同步,职责划分 逻辑层(Layer) 子系统、模块 关键类 职责间协作 接口 协作关系,物理节点 PC、服务器 单片机、单板机、专用机 软件安装、部署、烧写 系统软件选型 物理节点拓扑 连接方式、 拓扑结构 物理层(Tier ) 冗余考虑,三个经典难题,一套实践体系 实践体系的三个阶段 Pre-architecture阶段 Conceptual Architecture阶段 Refined Architecture阶段 实践体系如何解决软件企业的问题 ADMEMS方法的十大理念 Q&A,议 程,有奖问答,某公司拟以C语言代替C+,重写其电信计费系统,因为开发人员引入了太多抽象,使“可扩展性上去了,性能下来了” 能解决问题 于事无补,因为 用C语言 有会过度设计 问题根源出在Pre-architecture阶段 架构设计中必须分析质量间相互影响,制订权衡取舍策略,内容回顾,确定关键质量时,企业内训时推荐的文档模板,1. 文档简介 1.1 文档目的 1.2 文档范围 1.3 定义、缩写词和缩略语 1.4 参考资料 2. 架构描述方式 2.1 架构视图阅读指南 2.2 图表与模型阅读指南 3. 架构设计目标 3.1 关键功能 3.2 关键质量属性 3.3 业务需求和约束因素,4. 架构设计原则 4.1 架构设计原则 4.2 备选架构设计方案及被否原因 4.3 架构设计对后续工作的限制(详设,部署等) 5. 逻辑架构视图 5.1 职责划分与职责确定 5.2 接口设计与协作机制 5.3 重要设计包,企业内训时推荐的文档模板,6. 开发架构视图 6.1 Project划分 6.2 Project 1 project目录结构指导 程序单元组织 框架与应用之间的关系(可选) 6.3 Project n 7. 运行架构视图 7.1 控制流组织 7.2 控制流的创建、销毁、通信 7.3 加锁设计,8. 物理架构视图 8.1 物理拓扑 8.2 软件到硬件的映射 8.3 优化部署 9. 数据架构视图 持久化机制的选择 持久化存储方案 数据同步与复制策略 10. 关键质量属性的设计原理,有奖问答,有奖问答,许多公司从事嵌入式领域,也需架构设计实践体系的指导,图示的架构中,有几个控制流? 1个 2个 4个 7个,内容回顾,5视图方法 之 运行架构视图,运行架构,控制流 进程、线程 中断服务程序 控制流组织 系统启动与停机 控制流通信 加锁与同步,有奖问答,许多公司困扰于:开发人员不按照架构进行详细设计和编程。如何让开发人员更“拥护”架构? 在架构设计中重视“开发架构视图”,让开发人员看到他最关心的“程序单元”、“源码目录结构”等概念 架构设计不可“高来高去”,能支持并行的详细设计是“架构设计进行到什么程度”的标志 应令HR对开发人员批评、教育 编程一线的程序经理参与架构设计,多管齐下,在架构设计中重视“开发架构视图” 编程一线的程序经理参与架构设计 能支持并行的详细设计是“架构设计进行到什么程度”的标志,三个经典难题,一套实践体系 实践体系的三个阶段 Pre-architecture阶段 Conceptual Architecture阶段 Refined Architecture阶段 实践体系如何解决软件企业的问题 ADMEMS方法的十大理念 Q&A,议 程,业界趋势:方法体系是必由之路,架构与OO:必须弄清谁包含谁 多视图方法:必须贴近实践 大系统架构设计能否成功:要靠概念架构 非功能需求支持能否到位:要靠场景思维 混乱乃思维大敌:但架构设计的混乱存在于何处 需求决定了架构:但不同需求影响架构的原理有何不同 关键需求决定架构:实践 理论 架构设计:单一方法 or 方法体系 时间先后组织方法体系:架构视图 架构层次 技术选择与非功能考虑:歼灭战 or 持久战,三个经典难题,一套实践体系 实践体系的三个阶段 Pre-architecture阶段

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论