高级系统架构师.ppt

上传人:王** 文档编号:506228 上传时间:2023-11-13 格式:PPT 页数:70 大小:1.20MB
下载 相关 举报
高级系统架构师.ppt_第1页
第1页 / 共70页
高级系统架构师.ppt_第2页
第2页 / 共70页
高级系统架构师.ppt_第3页
第3页 / 共70页
高级系统架构师.ppt_第4页
第4页 / 共70页
高级系统架构师.ppt_第5页
第5页 / 共70页
高级系统架构师.ppt_第6页
第6页 / 共70页
高级系统架构师.ppt_第7页
第7页 / 共70页
高级系统架构师.ppt_第8页
第8页 / 共70页
高级系统架构师.ppt_第9页
第9页 / 共70页
高级系统架构师.ppt_第10页
第10页 / 共70页
亲,该文档总共70页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

《高级系统架构师.ppt》由会员分享,可在线阅读,更多相关《高级系统架构师.ppt(70页珍藏版)》请在优知文库上搜索。

1、111高级系统架构师 架构设计思想与原理 常见高层架构 主流架构 小粒度软件架构222高级系统架构师 架构设计思想与原理 常见高层架构 主流架构 小粒度软件架构333V V型软件开发生命周期模型型软件开发生命周期模型定义开发过程生成的产品,应当测试每一个交付结果。444UP统一过程统一过程 架构设计过程分为二个阶段:高层设计阶段和详细设计阶段 哲学555UP中的架构设计和原理中的架构设计和原理 9个核心工作流,代表了所有角色和活动的逻辑分组情况 666这是开发过程沿时间的动态组织结构。软件生命周期被分解为周期,每一个周期工作在产品新的一代上。UP将周期又划分为四个连续的阶段。初始阶段 细化阶段

2、 构造阶段 交付阶段 每个阶段终结于良好定义的里程碑-某些关键决策必须做出的时间点,因此关键的目标必须被达到。阶段和迭代阶段和迭代-时间轴时间轴777初始阶段初始阶段初始阶段的目标是为系统建立商业案例和确定项目的边界初始阶段的目标是为系统建立商业案例和确定项目的边界。本阶段的主要目标如下:明确软件系统的范围和边界条件,括从功能角度的前景分析、产品验收标准和哪些做与哪些不做的相关决定 明确区分系统的关键用例(Use-case)和主要的功能场景 展现或者演示至少一种符合主要场景要求的候选软件体系结构 对整个项目做最初的项目成本和日程估计(更详细的估计将在随后的细化阶段中做出)估计出潜在的风险(主要

3、指各种不确定因素造成的潜在风险)准备好项目的支持环境 888细化阶段细化阶段细化阶段的目标是分析问题领域,建立健全的体系结构基础,编制项目计划,淘汰项目中最高风细化阶段的目标是分析问题领域,建立健全的体系结构基础,编制项目计划,淘汰项目中最高风险的元素险的元素。本阶段的主要目标如下:1.确保软件结构、需求、计划足够稳定;确保项目风险已经降低到能够预计完成整个项目的成本和日程的程度。2.针对项目的软件结构上的主要风险已经解决或处理完成。3.通过完成软件结构上的主要场景建立软件体系结构的基线。4.建立一个包含高质量组件的可演化的产品原型。5.说明基线化的软件体系结构可以保障系统需求可以控制在合理的

4、成本和时间范围内。6.建立好产品的支持环境。999构建阶段构建阶段 在构建阶段在构建阶段,所有剩余的构件和应用程序功能被开发并集成为产品所有剩余的构件和应用程序功能被开发并集成为产品,所有的功能被详尽的测试所有的功能被详尽的测试。本阶段的主要目标如下:通过优化资源和避免不必要的返工达到开发成本的最小化 根据实际需要达到适当的质量目标 据实际需要形成各个版本(Alpha,Beta,and other test release)对所有必须的功能完成分析、设计、开发和测试工作 采用循环渐进的方式开发出一个可以提交给最终用户的完整产品 确定软件站点用户都为产品的最终部署做好了相关准备 达成一定程度上的

5、并行开发机制 101010交付阶段交付阶段 交付阶段的目的是将软件产品交付给用户群体。交付阶段的目的是将软件产品交付给用户群体。本阶段的主要目标如下:进行 Beta 测试以期达到最终用户的需要 进行 Beta 测试和旧系统的并轨 转换功能数据库 对最终用户和产品支持人员的培训 提交给市场和产品销售部门 和具体部署相关的工程活动 协调 Bug 修订/改进性能和可用性(Usability)等工作 基于完整的 Vision 和产品验收标准对最终部署做出评估 达到用户要求的满意度 达成各风险承担人对产品部署基线已经完成的共识 达成各风险承担人对产品部署符合 Vision 中标准的共识 111111统一

6、软件开发过程最佳实践和概念统一软件开发过程最佳实践和概念1.短时间分区式的迭代和适应性开发2.使用对象技术3.在早期迭代中解决高风险和高价值的问题4.不断的让用户参与评估、反馈 5.在早期的迭代中建立内聚的核心架构6.不断的验证质量,提早、经常和实际的测试121212高级系统架构师 架构设计思想与原理 常见高层架构 主流架构 小粒度软件架构131313常见高层架构常见高层架构 客户服务结构客户服务结构C/S141414常见高层架构常见高层架构 多极体系结构多极体系结构151515常见高层架构常见高层架构 流处理体系结构流处理体系结构气象台 大型运算161616常见高层架构常见高层架构 代理体系

7、结构代理体系结构Corba(Common Object Request Broker Architecture,公共对象请求代理体系结构)MQ 银行排队问题:排队系统与客户系统连接171717常见高层架构常见高层架构 聚合体系结构聚合体系结构即时战略游戏 控制权转移181818常见高层架构常见高层架构 联邦体系结构联邦体系结构军方 高层体系结构(HLA)是一个使得仿真再用和相互交互更为容易的通用目的结构体系 191919常见高层架构常见高层架构 基于包图的表示基于包图的表示202020常见高层架构常见高层架构 架构设计方法比较架构设计方法比较1,没有一种方法能够适用于所有的应用领域,所以合理的

8、架构设计,往往应该更应该看重方法和思想的融合,把合适的方法到合适的地方。2,设计“优劣程度”的评定标准,大都建立在不可证明的假设的基础之上,所以“优劣程度”评定本身是没有意义的,这种讨论更多的是给出设计的方向,和改进架构的方向,过分强调某项指标往往会得到一个拙劣的设计。3,“设计”首先是解决问题的活动,而解决问题的过程和办法是因人而异的,架构风格往往和架构师本人的风格有关。4,方法是重要的,但只有在支撑环境中运用它们才能得到成功,因此不同的支撑环境,往往更适应某种方法,但是各种思想的融合,是得到优秀设计的基础。212121高级系统架构师 架构设计思想与原理 常见高层架构 主流架构 小粒度软件架

9、构222222主流架构主流架构 struts232323主流架构主流架构 AJAX242424主流架构主流架构 AJAXXMLHttpRequest对象252525主流架构主流架构 ORM1.Hibernat:全自动,注意性能问题2.Ibatis:半自动262626主流架构主流架构 SOA面向服务的架构(Service-Oriented Architecture SOA)是一种形式化的分离服务的架构风格。面向服务的架构关注的是哪些是服务向用户提供的功能,哪些是需要这些功能的系统,这种分离,使用一种服务合约(Service Contract)的机制来完成的。272727主流架构主流架构 SOAS

10、OA 有以下特性:服务具有明确的接口(合约)与策略。服务通常代表业务功能或者领域。服务拥有模块化的设计。服务被松散的耦合在一起。服务是可以被发现的。服务的位置对客户是透明的。服务是独立于传输层的。服务是独立于平台的。服务粒度的控制SOA系统中的服务粒度的控制是一项十分重要的设计任务。通常来说,对于将暴露在整个系统外部的服务推荐使用粗粒度的接口,而相对较细粒度的服务接口通常用于企业系统架构的内部。构建SOA架构时应该注意的问题服务粒度的控制SOA系统中的服务粒度的控制是一项十分重要的设计任务。通常来说,对于将暴露在整个系统外部的服务推荐使用粗粒度的接口,而相对较细粒度的服务接口通常用于企业系统架

11、构的内部。282828高级系统架构师 架构设计思想与原理 常见高层架构 主流架构 小粒度软件架构292929面向对象的设计模式与小粒度软件架构面向对象的设计模式与小粒度软件架构封装变化与面向接口编程303030面向对象的设计模式与小粒度软件架构面向对象的设计模式与小粒度软件架构使用适配器模式(AdapterAdapter)调适接口313131面向对象的设计模式与小粒度软件架构面向对象的设计模式与小粒度软件架构纵向处理:模板方法(Template MethodTemplate Method)323232面向对象的设计模式与小粒度软件架构面向对象的设计模式与小粒度软件架构横向处理:桥接模式(Bri

12、dgeBridge)333333面向对象的设计模式与小粒度软件架构面向对象的设计模式与小粒度软件架构代理模式:软件开发需要协同工作,希望开发进度能够得到保证,为此需要合理划分软件,每个成 员完成自己的模块,为同伴留下相应的接口。343434面向对象的设计模式与小粒度软件架构面向对象的设计模式与小粒度软件架构观察者模式:定义对象一对多的依赖关系,当一个对象发生变化的时候,所有依赖它的对象都得到通知并且被自动更新。353535面向对象的设计模式与小粒度软件架构面向对象的设计模式与小粒度软件架构树状结构:组合模式363636高级系统架构师2架构设计方法学设计方案的选择分工经济学中的机会成本沟通成本文

13、档测试架构设计实践持久化存储表结构设计引入新技术的风险Ejb的缺点Spring简介Eai简介373737架构设计方法学面向过程的方法架构设计方法学面向过程的方法 面向过程方法又称为结构化方法,起源于20世纪70年代,主要由面向过程分析、面向过程设计和面向过程编程三部分组成。面向过程分析:帮助开发人员定义系统需要做什么(处理需求),系统需要什么样的输入和输出,面向过程分析的主要工具是数据流图(DFD),这是一种显示面向过程分析中产生的输入、处理、存储和输出的图形模型。面向过程设计:面向过程设计是为下列事务提供指导:程序集是什么,每个程序应该实现哪些功能能,如何把这些程序组成一张层次图。面向过程设

14、计的主要工具是结构图,这是一种表达程序模块层次的图形模型。面向过程编程:具有一个开始和结束的程序或者程序块,并且程序执行的每一步都由三部分组成:顺序、选择或者循环结构,实现这种思想的最典型的语言就是C。整个面向过程设计的根本目标是:把复杂的系统分解成简单模块的层次图。整个面向过程设计的根本目标是:把复杂的系统分解成简单模块的层次图。383838架构设计方法学面向对象的方法架构设计方法学面向对象的方法 面向对象的方法由面向对象分析(OOA)、面向对象设计(OOD)以及面向对象编程(OOP)三部分组成。面向对象分析(OOA):定义在系统中工作的所有类型的对象,并显示这些对象如何通过相互作用来完成任

15、务,主要工具是统一建模语言(用例图用例图、活动图、状态图活动图、状态图)。面向对象设计(OOD):定义在系统中人机进行通讯所必需的所有类型的对象,并对每种类型的对象进行细化,以便可以用一种具体的语言来实现这些对象。(类图类图)面向对象编程(OOP):用某种具体语言(C+、Java、C#等)来实现各种对象的行为,包括对象间的消息传递。393939架构设计方法学体系结构设计的基本方法架构设计方法学体系结构设计的基本方法 面向过程思想的本质是复杂功能按一定的层级逐级分解子功能模块,始终围绕实现处理功能的“过程”来构造系统。这种金字塔型的架构在需求不变更的情况下是很稳定的;然而用户需求大都会发生变化,

16、因此,这种变化对于基于过程的设计来说是灾难性的。用这种方法设计出来的系统结构常常是不稳定的,用户需求变化往往造成系统结构的较大变化,从而需要花费很大的代价才能实现这种变化。优点:层次清晰、容易理解缺点:应变复杂需求的能力差面向对象设计的思想是以现实世界对象所具有的特点(状态、行为)来思考设计的。同时这些对象具有这些特征:封装、继承、多态;优点:以现实世界的角度思考问题,对于复杂需求有很强的应变能力缺点:以面向对象的思维来设计系统,而现实世界的事物间的层次、关系是很复杂的,这样设计出来的系统架构不清晰,不易理解。404040架构设计方法学体系结构设计的基本方法的应用架构设计方法学体系结构设计的基本方法的应用综合两种设计方法的优略:在总的架构设计方面,我们应该采取面向过程的的设计方法,以保证整个系统架构的稳定性、程序架构的清晰性,而在每个具体的分层,应该采用面向对象的设计方法,以保证能应对复杂的业务需求。典型架构:J2EE架构414141架构设计方法学经济学案例架构设计方法学经济学案例分工1农场主牧场主牛肉24土豆3240农场主牧场主牛肉12土豆1620农场主牧场主牛肉3土豆3210424

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > IT计算机 > 架构

copyright@ 2008-2023 yzwku网站版权所有

经营许可证编号:宁ICP备2022001189号-2

本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!