软件体系结构1软件体系结构发展中的若干重要问题79730150.pptx_第1页
软件体系结构1软件体系结构发展中的若干重要问题79730150.pptx_第2页
软件体系结构1软件体系结构发展中的若干重要问题79730150.pptx_第3页
软件体系结构1软件体系结构发展中的若干重要问题79730150.pptx_第4页
软件体系结构1软件体系结构发展中的若干重要问题79730150.pptx_第5页
已阅读5页,还剩177页未读 继续免费阅读

下载本文档

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

文档简介

软件体系结构 1 软件体系结构发展中的若干重要问题覃征教授 softwarearchitecture 目录 thusagroup 2 课程介绍 授课教师主讲教授 覃征办公室清华大学软件学院208室电话62795399电子邮件qingzh 助教组邢剑宽xjk05 章晋学zhang jx08 thusagroup 3 课程介绍 教材及参考书教材覃征等 软件体系结构 第二版 清华大学出版社 2008qinzhengetal softwarearchitecture springerverlag 2008其它参考资料lenbass paulclements rickkazman softwarearchitectureinpractice2nded addisonwesley 2003paulclements rickkazman markklein evaluatingsoftwarearchitectures 清华大学出版社 2003paulclements lindanorthrop softwareproductline practicesandpatterns 清华大学出版社 2003christinehofmeister robertnord dilipsoni appliedsoftwarearchitecture addisonwesley 2000jacobson softwarereuse architecture process andorganizationforbusinesssuccess addisonwesley 2000 thusagroup 4 教材 thusagroup 5 课程介绍 课程目标掌握软件体系结构的概念 组成和相关领域国内外研究现状 明确软件体系结构划分标准 设计原则 学习软件体系结构构建模型 软件体系结构组态分析方法 软件体系结构形式化描述方法 软件体系结构集成开发环境的设计与实现方法几个方面的知识 并掌握在实际系统开发过程中分析 设计 应用软件体系结构思想的技能 thusagroup 6 课程介绍 课程成绩平时 40 课堂测试 10 课堂提问 课堂考试 课堂报告 平时作业 30 期末考查 60 考试形式 以4 5人为一个小组 共同完成一个规定题目的科技论文 thusagroup 7 课程介绍 课程安排第一讲 软件体系结构发展中的若干重要问题 3 第二讲 软件体系结构风格与模式 9 第三讲 软件体系结构组态分析与应用 2 第四讲 软件体系结构形式化描述 6 第五讲 csp和软件体系结构描述语言 3 第六讲 软件体系结构集成开发环境的设计与实现 3 第七讲 柔性软件体系结构 3 第八讲 软件体系结构研究的展望 3 括号中为课时数 带星的为助教课 thusagroup 8 课程体系 thusagroup 9 什么是软件体系结构 如何利用软件体系结构进行宏观设计 软件体系结构设计案例分析 如何利用形式化基础描述软件体系结构 如何进行软件体系结构开发 什么是柔性软件体系结构 软件体系结构还有什么研究问题 目录 thusagroup 10 研究背景 什么是软件软件一般认为由三部分组成 程序 在运行时 能提供所希望的功能和性能的指令集 数据结构 使程序能够正确运行的数据结构 文档 描述程序研制过程 方法及使用的文档 thusagroup 11 研究背景 软件的特点抽象性 逻辑实体 可记录 但看不到可复制性 与开发成本相比 复制成本很低无折旧受硬件制约未完全摆脱手工工艺开发费用高 thusagroup 12 研究背景 计算机软件发展的三个时期早期时代 60年代中期之前 程序设计阶段硬件通用 软件专用 程序规模小 编写者和使用者为同一人 同组人 第二代 60年代中期 70年代中期 程序系统阶段出现 软件作坊 产品软件 个体化 开发方法 第三代 70年代中期之后 软件工程阶段软件开发成为一门新兴的工程学科 软件工程 thusagroup 13 研究背景 thusagroup 14 计算机软件发展的三个时期及特点 研究背景 thusagroup 15 计算机软件发展的三个时期及特点 研究背景 我们需要的是软件符合质量要求 软件需求是进行 质量 度量的基础 与需求不符就是质量不高 通常有一组 隐含需求 implicitrequirements 是不被提及的 如对维护性的需求 如果软件符合了明确的需求却没有满足隐含需求 软件质量仍然值得怀疑 thusagroup 16 为什么需要软件体系结构 随着社会的巨大进步 计算机系统的整体发展 新技术的不断涌现 使计算机应用的需求迅速增加 而软件费用的增加 高可靠性能下降 维护工作量增大 出现了严重的 软件危机 软件危机已经持续了三十多年 表现为 软件的产品质量难以保障软件的开发效率难以提高 thusagroup 17 为什么需要软件体系结构 thusagroup 18 软件失败的原因 研究背景 解决问题的想法更好的管理 bettermanagement 出众的团队组织 differentteamorganizations 更好的语言和工具 betterlanguages tools 统一的编程规范 uniformcodingconventions 必须意识到 软件 编程 它有自己的生命周期 lifecycle 大型软件系统的开发与其它工程项目如建造桥梁 制造飞机 轮船等的开发是同理的 thusagroup 19 研究背景 thusagroup 20 软件质量问题对经济的影响 美国nist 国家商业标准和技术 报告 由于软件bug的普遍存在 使美国经济每年损失 590 5亿美元 而standish组织的数据是每年2000亿美元改进软件质量已经成为取得高投资回报率的直接途径 质量低的公司只会被遗忘软件质量问题对生命安全的威胁 1963年 美国金星探测火箭飞行失败 造成经济损失达一千万美元 因为控制程序中的一个极小的错误 即将一逗号误写为一小数点 由于着陆系统的高度报警程序问题部分导致了1997年发生在关岛的韩国客机空难 228人遇难 1996年 欧洲耗资高达7亿美元的ariane5火箭发射后解体爆炸 究其原因是惯性参考系统中的一个软件设计错误 并由于认为这个软件不会发生错误而缺乏充分的测试 研究背景 如果有什么东西可以在软件开发之前用于描述软件 并能进行质量分析 从而保证软件质量就好了 软件体系结构 thusagroup 21 软件体系结构起源 thusagroup 22 结构设计师 设计图纸 管理人员 施工计划 施工人员 建造建筑物 软件体系结构思想来源于建筑业 软件体系结构起源 thusagroup 23 建立模型 软件体系结构起源 thusagroup 24 结构设计 软件体系结构起源 thusagroup 25 最终的建筑 鸟巢 更多的建筑源自于体系结构设计 thusagroup 26 玛雅阿兹特克金字塔 瑞士保险公司大楼 如果建筑的复杂度还不够高 那么一个城市呢 thusagroup 27 软件体系结构的本意 thusagroup 28 对于大规模的 分布的 需要协作的 需要交互的 需要监测的 需要扩展的 需要演化的复杂软件系统的规划 软件体系结构发展简史 程序设计语言的进化 抽象级别 abstractlevel thusagroup 29 软件体系结构发展简史 软件开发的进化 关注点 concern thusagroup 30 软件体系结构发展简史 1960年代 软件危机爆发1968年 软件工程被提出natosoftwareengineeringconference1968年 软件体系结构思想被提出 thestructureofthe the multiprogrammingsystem authoredbyedsgerdijkstra 艾德勒戴克斯加 荷兰 1975年 软件体系结构思想被升华 architectureisthecompleteanddetailedspecificationoftheuserinterface byfrederickbrooks 弗兰德里克布鲁克斯 美国 thusagroup 31 edsgerdijkstra frederickp brooks 软件体系结构发展简史 1972 1976年 现代软件开发思想被提出informationhidingandusageofinterface parnas 1972 structureseparation parnas 1974 therelationshipsbetweensoftwarestructureanditsquality parnas 1976 戴维帕纳斯 美国1991年 softwarearchitecture 在正式文献中被使用softwarearchitecture integratingprocessandtechnologyauthoredwalkere royceandwinstonw royce沃克罗伊斯 温斯顿罗伊斯 美国 thusagroup 32 davidparnas walkere royce 软件体系结构发展简史 1993年 softwarearchitecture被定义 此定义成为软件体系结构研究的公认基础anintroductiontosoftwarearchitectureauthoredbydavidgarlanandmaryshaw20世纪90年代 软件体系结构描述语言 adl 兴盛darwin wright c2 rapide metah acme 20世纪90年代 软件体系结构评估方法兴起saam atam 2000年 ieee1471 2000标准ieeerecommendedpracticeforarchitecturaldescriptionofsoftware intensivesystems thusagroup 33 软件体系结构发展简史 2000年 softwarearchitectureproductlinethedesignanduseofsoftwarearchitectureauthoredbybosch2003年 uml2 0发布2000年至今 动态软件体系结构 adl lime dynamicwright thusagroup 34 一些经典的文献列表 m shawandd garlan anintroductiontosoftwarearchitecture v ambriolaandg tortora eds advancesinsoftwareengineeringandknowledgeengineering vol 2 worldscientificpublishing 1993 pp 1 39d e perryanda l wolf foundationsforthestudyofsoftwarearchitecture acmsoftwareeng notes vol 17 no 4 1992 pp 40 52 d l parnas onthecriteriatobeusedindecomposingsystemsintomodules comm acm vol 15 no 12 1972 pp 1053 1058 d l parnas onthedesignanddevelopmentofprogramfamilies ieeetrans softwareeng vol 2 no 1 1976 pp 1 9 d l parnas p clements andd m weiss themodularstructureofcomplexsystems ieeetrans softwareeng vol 11 no 3 1985 pp 259 266 f deremerandh kron programming in the largeversusprogramming in the small proc int lconf reliablesoftware acmpress 1975 pp 114 121 thusagroup 35 一些经典的文献列表 d soni r nord andc hofmeister softwarearchitectureinindustrialapplications proc 17thint lconf softwareeng icse95 acmpress 1995 pp 196 207 p kruchten the4 1viewmodelofarchitecture ieeesoftware vol 12 no 6 1995 pp 45 50 b w lampson hintsforcomputersystemdesign operatingsystemsrev vol 15 no 5 1983 pp 33 48 reprintedinieeesoftware vol 1 no 1 1984 pp 11 28 j a mills apragmaticviewofthesystemarchitect comm acm vol 28 no 7 1985 pp 708 717 w e royceandw royce softwarearchitecture integratingprocessandtechnology trwquest vol 14 no 1 1991 pp 2 15 m shawandp clements afieldguidetoboxology preliminaryclassificationofarchitecturalstylesforsoftwaresystems proc 21stint lcomputersoftwareandapplicationsconf compsac97 ieeecspress 1997 pp 6 13 m shaw thecoming of ageofsoftwarearchitectureresearch proc 23rdint lconf softwareeng icse01 ieeecspress 2001 pp 656 664a thusagroup 36 软件体系结构发展简史 thusagroup 37 maryshaw玛丽娋 frederickbrooks弗兰德里克布鲁克斯 barryboehm拜瑞波姆 carlissbaldwin卡利斯鲍德温 nsf2007scienceofdesignprincipalinvestigators pi meeting 软件体系结构发展简史 thusagroup 38 萌芽期 发展期 成熟期 软件体系结构发展简史 thusagroup 39 那么 thusagroup 40 什么是软件体系结构 汽车传动系统设计 thusagroup 41 xbox360使用的三核处理器设计 thusagroup 42 波音787设计 thusagroup 43 航空母舰设计概念图 thusagroup 44 操作系统体系结构 以ubuntulinux为例 thusagroup 45 软件体系结构lightningframework thusagroup 46 软件体系结构概述 自nato于1968年提出软件工程概念以来 软件工程界已经提出了一系列的理论 方法 语言和工具 解决了软件开发过程中的若干问题 但是 软件固有的复杂性 易变性和不可见性 使得软件开发周期长 代价高和质量低的问题依然存在 大量实践统计表明 大系统软件开发中70 的错误是由需求和软件设计阶段引入的 而且错误在系统中存在的时间愈长则愈难发现 解决这些错误的代价也愈高 为了提高软件需求和软件设计的质量 软件工程界提出了需求分析工程技术和各种软件建模技术 但是在需求与设计之间仍存在一条很难逾越的鸿沟 即缺乏能够反映做决策的中间过程 从而很难有效地将需求转换为相应的设计 为此 软件体系结构概念应运而生 并试图在软件需求与软件设计之间架起一座桥梁 着重解决软件系统的结构和需求向实现平坦地过渡的问题 thusagroup 47 软件体系结构概述 软件体系结构基本概念就体系结构的本意而言 它是指建立系统时的构造范型 构造风格和构造模式 软件体系结构对于软件系统的构造所起的是指导性的作用 它抛开了软件系统的功能细节 着重于讨论软件系统的总体框架 thusagroup 48 开发了5年 投入资金达300多亿美元 历史上代码量最大 达到5000万行 仅核心工程师就有9000人团队的庞大软件开发项目 基于软件体系结构的分析 评估 计划 组织 开发 测试 软件体系结构概述 对于一个软件开发单位来说 选择合适的体系结构是最重要的决策之一 良好的体系结构可以维系软件系统的完整性 使得开发和维护工作不至于杂乱无章 还可以简化软件系统复杂性 让众多的开发单位的软件工程师们能以并行方式开展工作 thusagroup 49 软件体系结构概述 软件体系结构基本概念广义而言 软件系统结构涉及多方面的内容 软件的成份及系统框架 软件成份的选择 各成分之间的相互作用 软件成份的进一步复合以及指导软件复合过程的总体模式 系统的功能 性能 设计以及从多种方案及选项中进行选择的决策 可见 软件体系结构更为关注的是系统结构及其成份 而方法论更关心系统的开发过程 thusagroup 50 软件体系结构概述 perry和wolf根据软件生命周期各阶段相应的实体 属性 关系 主要产品和评估标准 将软件开发过程分为如下阶段 需求分析 主要根据用户的需求 决定软件的功能 体系结构设计 选择构件 构件间相互关系以及对它们的约束 并以此为框架 为详细设计奠定基础 详细设计 主要对系统进行模块化和描述各个构件间的详细接口 算法和数据结构类型等 实现 使用程序设计语言实现设计方案的要求 thusagroup 51 软件体系结构概述 软件体系结构研究与传统软件工程方法学的不同之处在于 所关心的问题不同描述的着眼点不同抽象层次不同 thusagroup 52 从不同角度看太阳 软件体系结构的研究方法 学院派测重于软件体系结构形式化理论研究 注重抽象 规约和演算 实践派将软件体系结构设计 描述与表示同传统的软件系统建模视为一体 以体系结构作为整个软件开发过程的核心 结合派试图将以上二者结合以来 将形式化理论应用于实际项目中 thusagroup 53 软件体系结构定义 长期以来 cmu sei在其网站上公开征集软件体系结构的定义至今已有百余种 最近较有影响力的定义有 卡耐基梅隆大学bass等人于2003年在软件构架实践一书中提出 软件体系结构为系统的结构 structureorstructures 包含软件元素 软件元素外部可见的属性以及这些软件元素之间的关系 软件体系结构定义 软件体系结构定义的发展演变ieee610 12 1990vestal 1993garlan 1993gacek 1995bosch 2000perry 2000ieeestd1471 2000 2000 软件体系结构定义 ieee610 12 1990年 软件工程标准词汇定义 sa component connector environment principle 体系结构是以构件 构件之间的关系 构件与环境之间的关系为内容的某一系统的基本组织结构 以及指导上述内容设计与演化的原理 honeywell实验室的vestal在1993年提出了如下模型 sa component idioms styles commonpatternsofinteraction 软件由构件组成 构件之间通过通用的互操作模式相连 体系结构风格描述了一种通用的设计模式 可满足特定系列的应用需求 软件体系结构定义 卡耐基梅隆大学的garlan于1993年对软件体系结构做出了如下定义 sa components connectors constraints 构件 components 是功能单元 执行预定义的服务并且与其他构件交互 连接器 connectors 定义交互协议与策略 约束 constraints 定义了系统必须服从的规则 软件体系结构定义 而南加州大学的软件工程研究中心的gacek于1995年 提出了如下的概念 sa components connections constraints stakeholderneeds rationale 软件体系结构定义 在此定义中 构件 component 与连接 connection 的设计将依照涉众 stakeholder 的需求 涉众 stakeholder 指参与软件系统项目的人员 包括项目经理 程序员 市场营销人员 消费者与使用者等 理念 rationale 指权衡存在下的策略 该定义反映了对运行时结构的实际影响因素 是为了使软件体系结构研究能将学术与实际应用联系起来 软件体系结构定义 瑞典blekinge技术学院的bosch在2000年则对软件体系结构给出了如下的定义 thearchitectureofasoftwaresystemisconcernedwiththetop leveldecompositionofthesystemintoitsmaincomponents 软件系统的体系结构是对系统从顶层分解为主要构件的考量 decomposition 软件体系结构定义 在该定义中 软件体系结构被认为是系统结构的唯一部署 仅关注单一的静态结构 此外需要注意的是 这里的术语component的涵义有所不同 可以被认为是模块 基本的执行单元 软件体系结构定义 2000年texas大学的perry wolf模型如下 sa elements form rational 软件体系结构定义 该模型中 软件体系结构是由一组元素 elements 构成 这组元素分成3类 处理元素 processingelements 数据元素 dataelements 和连接元素 connectingelements 软件体系结构形式 form 是由专有特性 properties 和关系 relationship 组成 专有特性用于限制软件体系结构元素的选择 关系用于限制软件体系结构元素组合的拓扑结构 在多个体系结构方案中选择合适的体系结构方案往往基于一组准则 rational 软件体系结构定义 同样在2000年发布的ieeestd1471 2000 则对软件体系结构做出了如下定义 软件系统的基本组织 包含构件 构件之间 构件与环境之间的关系 以及相关的设计与演化原则等 不仅如此 该标准还对软件体系结构所涉及的相关概念做出了详细定义 例如需求者 架构师 系统涉众等等 ieeestd1471 2000中的若干概念 获取者 acquirer anorganizationthatprocuresasystem softwareproduct orsoftwareservicefromasupplier theacquirercouldbeabuyer customer owner user orpurchaser 软件系统或软件产品的接收方架构 architecting theactivitiesofdefining documenting maintaining improving andcertifyingproperimplementationofanarchitecture 定义 编档 维护 改进和验证体系结构正确实现的一组活动 ieeestd1471 2000中的若干概念 架构师 architect theperson team ororganizationresponsibleforsystemsarchitecture 负责软件系统体系结构的个人 团队或者组织体系结构描述 architecturaldescription acollectionofproductstodocumentanarchitecture 一组记录软件体系结构的文档体系结构 architecture thefundamentalorganizationofasystemembodiedinitscomponents theirrelationshipstoeachother andtotheenvironment andtheprinciplesguidingitsdesignandevolution 软件系统中构件 构件之间的关系 构件与环境之间的关系 以及指导设计和演化的基本组织 ieeestd1471 2000中的若干概念 生命周期模型 lifecyclemodel aframeworkcontainingtheprocesses activities andtasksinvolvedinthedevelopment operation andmaintenanceofasoftwareproduct whichspansthelifeofthesystemfromthedefinitionofitsrequirementstotheterminationofitsuse 围绕整个软件开发过程进行的一组过程和活动 以周而复始的方式存在软件系统 system acollectionofcomponentsorganizedtoaccomplishaspecificfunctionorsetoffunctions 组织起来完成某些特定功能的一组构件 ieeestd1471 2000中的若干概念 系统涉众 systemstakeholder anindividual team ororganization orclassesthereof withinterestsin orconcernsrelativeto asystem 系统利益相关者视图 view arepresentationofawholesystemfromtheperspectiveofarelatedsetofconcerns 整个系统某个特定角度的表示 如何理解软件体系结构 thusagroup 70 体系结构 模型 视图 软件体系结构视角 thusagroup 71 decompositionperspective runtimeperspective 构件 连接器视图 thusagroup 72 实现视图 thusagroup 73 部署视图 thusagroup 74 行为视图 thusagroup 75 sequencediagram uml 行为视图 thusagroup 76 activitydiagram uml 行为视图 thusagroup 77 statediagram uml 用例视图 thusagroup 78 软件产品生产线 软件工厂是一个以计算机为依托 并由计算机控制的程序编制环境 程序的制作 检查和使用都应当在此环境中 并运用其中的工具来实现 建设软件工厂是软件工程化生产的大趋势 其实现依赖于对体系结构 模型 方法 工具的研究 thusagroup 79 软件产品线 thusagroup 80 软件生命周期 softwarelifecycle 软件生命周期软件从开发启动启动开始到被放弃为止的过程 thusagroup 81 要经过若干迭代的过程 主流软件体系结构描述语言adl一览 thusagroup 82 主流软件体系结构描述语言adl一览 thusagroup 83 主流软件体系结构描述语言adl一览 thusagroup 84 软件体系结构研究中的不足 缺乏统一的软件体系结构的概念 导致体系结构的研究范畴模糊adl繁多 缺乏统一的adl的支持软件体系结构研究缺乏统一的理论模型支持尽管提出了若干体系结构语言与其相应的理论模型 但还不能系统地解释软件体系结构中的重要概念 thusagroup 85 软件体系结构研究中的不足 有关软件体系结构性质的研究尚不充分不能明确给出一个良体系结构的属性或判定标准 没有给出良软件体系结构的设计指导原则 因而对于软件开发实践缺乏有力的促进作用体系结构发现方法研究相对欠缺由于系统维护 系统演进 环境变化等因素 因此有必要从那些尚不在体系结构规格说明的系统中逆向提取和恢复系统的体系结构规格说明 即体系结构逆向发现 thusagroup 86 目录 thusagroup 87 软件体系结构主要分类 4 1dodafmodaftogafzachmanframeworkfearm odpsomf thusagroup 88 软件体系结构的主要分类 4 1由philippekruchten设计主要特色 多视图共同表达不同涉众的观点逻辑视图 logicalview 表示系统功能开发视图 developmentview 表示开发分工和任务管理进程视图 processview 表示系统进程 线程 分布等信息物理视图 physicalview 表示系统物理部署情况场景 scenarios 用一些场景 用例来描述系统各个部分之间 以及与环境之间的交互 thusagroup 89 软件体系结构分类 4 1 thusagroup 90 软件体系结构分类 4 1 逻辑视图 thusagroup 91 软件体系结构分类 4 1 开发视图 thusagroup 92 软件体系结构分类 4 1 进程视图 thusagroup 93 软件体系结构分类 4 1 物理视图 thusagroup 94 软件体系结构分类 4 1 场景 thusagroup 95 软件体系结构分类 dodaf departmentofdefensearchitectureframework由美国国防部使用的体系结构描述标准 最初被称为c4isr command control communications computers intelligence surveillanceandreconnaissance 在此基础之上引伸出naf natoarchitectureframework modaf ministryofdefence unitedkingdom architectureframework 特点围绕共享数据库建立系统描述对系统信息交互分级 thusagroup 96 软件体系结构分类 dodaf概览 thusagroup 97 软件体系结构分类 dodaf视图分类 allview 提供全局概要性信息av 1overviewandsummaryinformationav 2integrateddictionary thusagroup 98 软件体系结构分类 dodaf视图分类operationalview 提供活动和任务的相关信息ov 1highleveloperationalconceptgraphicov 2operationalnodeconnectivitydescriptionov 3operationalinformationexchangematrixov 4organizationalrelationshipschartov 5operationalactivitymodelov 6aoperationalrulesmodelov 6boperationalstatetransitiondescriptionov 6coperationalevent tracedescriptionov 7logicaldatamodel thusagroup 99 软件体系结构分类 dodaf视图分类systemsandservicesview 描述系统和服务交互sv 1systems servicesinterfacedescriptionsv 2systems servicescommunicationsdescriptionsv 3systems systems services systems services servicesmatricessv 4a sv 4bsystems servicesfunctionalitydescriptionsv 5a sv 5b sv 5coperationalactivitytosystemsfunction operationalactivitytosystemsandservicestraceabilitymatrices thusagroup 100 软件体系结构分类 sv 6systems servicesdataexchangematrixsv 7systems servicesperformanceparametersmatrixsv 8systems servicesevolutiondescriptionsv 9systems servicestechnologyforecastsv 10asystems servicesrulesmodelsv 10bsystems servicesstatetransitiondescriptionsv 10csystems servicesevent tracedescriptionsv 11physicalschema thusagroup 101 软件体系结构分类 dodaf视图分类 technicalstandardsview 提供技术标准 规范 规则等信息tv 1technicalstandardsprofiletv 2technicalstandardsforecast thusagroup 102 软件体系结构分类 modaf ukministryofdefencearchitecturalframework衍生于dodaf 但进一步扩展了两个视点 strategic和aquisition包含了能力管理 capabilitymanagement 采用通用技术 如xml2 1 作为描述方法 thusagroup 103 软件体系结构分类 modaf概览 thusagroup 104 软件体系结构分类 togaf theopengrouparchitectureframework描述被分为四个级别 business application data technologybusiness 定义业务策略 管理 组织和关键业务流程application 描述应用系统的部署 交互以及与业务流程之间的关系data 描述组织中数据存储结构和数据管理方案technology 描述了支撑应用的软件 硬件平台和相关技术 thusagroup 105 软件体系结构分类 togaf开发工具 thusagroup 106 软件体系结构分类 zachmanframework由ibm计算机科学家兼首席架构师johna zachman创立 他也是企业体系结构框架的创始人 特点使用类似于元素周期表的方式来描述体系结构此 framework 实际上是 taxonomy 用于将整个系统描述进行分类没有给出体系结构开发的过程 thusagroup 107 软件体系结构分类 zachmanframework中 体系结构描述应满足如下特性 每个体系结构描述制品 文档 规范 模型 设计图 都应当仅仅属于一个单元格的范畴当所有的单元格被填满时 描述被认为是 完备的 同一列的描述内容应当具有相关性 它们是相关内容从不同角度的不同体现 thusagroup 108 软件体系结构分类 zachmanframework thusagroup 109 软件体系结构分类 fea federalenterprisearchitecture由美国行政和管理预算局为迎合卡亨法案 clinger cohenact 和美国联邦政府对于通用it信息处理方案的需求而提出动机 简化联邦政府机构之间信息和资源共享 降低成本 改善面向公民的信息服务特点 定义一整套模型结构来描述it资源 thusagroup 110 软件体系结构分类 fea模型结构performancereferencemodel度量和评测系统性能businessreferencemodel用于描述联邦政府机构业务操作的功能驱动的框架servicecomponentreferencemodel描述服务组件是如何支持性能需求和业务需求的 thusagroup 111 软件体系结构分类 fea模型结构datareferencemodel描述数据结构 数据交互类型和协议technicalreferencemodel描述支持服务组件的技术标准 规范和技术平台 thusagroup 112 软件体系结构分类 rm odp referencemodelofopendistributedprocessing国际组织iso iec itu t共同推出的标准主要针对开放式分布式系统制定的标准主要由四方面组成对象建模规范一组相互独立并且互相关联的视点规范底层分布透明化标准系统一致性评估框架 thusagroup 113 软件体系结构分类 rm odp主要视点enterpriseviewpoint 企业视点 描述企业需求和企业需求实现策略informationviewpoint 信息视点 描述系统管理的信息以及数据结构和类型computationalviewpoint 计算视点 描述系统分解结构是如何实现系统功能的engineeringviewpoint 工程视点 描述系统的分布式对象之间的交互technologyviewpoint 技术视点 描述实现系统的技术决策 thusagroup 114 软件体系结构分类 rm od概要示例 thusagroup 115 软件体系结构分类 som service orientedmodeling将软件看做一组服务的组合特点定义了一门面向服务的设计语言来描述系统结构引入了开发面向服务系统的生命周期易于不同参与者协作和交流想法和观点 thusagroup 116 软件体系结构分类 sof描述框架 thusagroup 117 软件体系结构分类 sof生命周期service orienteddiscovery analysismodelingservice orientedbusinessintegrationmodelingservice orientedlogicaldesignmodelingservice orientedconceptualarchitecturemodelingservice orientedlogicalarchitecturemodeling thusagroup 118 软件体系结构分类 sof描述语言图形符号 thusagroup 119 目录 thusagroup 120 软件体系结构的核心研究问题 如何描述 表示 设计体系结构如何验证一个体系结构是否符合期望的系统需求如何基于体系结构开发实例化的软件系统 thusagroup 121 软件体系结构的研究方向 体系结构描述研究 主要研究体系结构描述语言及其支持环境 体系结构描述规范 体系结构理论模型的研究 体系结构设计研究包括体系结构设计方法 体系结构风格 体系结构设计空间等内容 体系结构分析与验证研究如何将软件的非功能特性转化为体系结构的需求 如何分析体系结构满足望的需求的属性 对体系结构的语法 语义 类型失配等进行检查与验证的研究 thusagroup 122 软件体系结构的研究方向 体系结构演化与复用研究研究产品线中软件体系结构演进的理论与方法 从已有文档 系统设计和代中逆向提取软件体系结构 体系结构复用等 动态体系结构研究研究软件系统由于特殊需要必须在连续运营情况下的体系结构变化与支撑平台 基于体系结构的软件开发研究引入体系结构后的软件开发过程 基于体系结构开发与中间技术集成 于体系结构的程序框架自动生成技术等 thusagroup 123 软件体系结构分析 设计与验证 体系结构是对系统的高层抽象 并只对感兴趣的属性进行建模 由于体系结构是在软件开发过程之初产生的 因此设计优质的体系结构可以减少和避免软件错误的产生和维护阶段的高昂代价 体系结构是系统集成的蓝本 系统验收的依据 体系结构本身需要分析与测试 以确定这样的体系结构是否满足需求 体系结构分析的内容可分为结构分析 功能分析和非功能分析 thusagroup 124 软件体系结构未来发展方向 软件体系结构的发展是与软件系统的开发模式 应用模式同步进行的 当原有的描述方法无法满足需要时 就会出现新的软件体系结构研究热点 thusagroup 125 面向服务的体系结构soa 三位一体的职责构成soa soa应用示例 soa特性 基于标准的互操作性在soa当中 接口 通讯协议 工作流 协作和发布都是由一整套国际标准所定义 包括xml soap wsdl uddi http cpp ebxml bsoa bpel fera owl s等 从而保证不同平台的系统能够无阻碍的交流基于发现的动态组装在soa中的系统所需要的服务均通过运行时发现 运行时加载的方式工作基于策略的动态管理和总控协作soa的各个服务的运行都由策略 policy 进行控制 策略的制定 监测 执行都可在运行时内完成 soa实行总控式协作 即由一个中心控制节点负责控制和调度分布在网络各处的服务 soa实例 microsoftworkflowfoundation thusagroup 129 soa分类标准 结构 structure 应用程序的结构是静态 s 还是动态 d 动态重组能力 runtimere compositioncapability 可以在运行时进行重组 r 不可以进行重组 n 容错能力 faulttolerantcapability 具有容错的骨干通讯机制 fb 具有容错的控制服务 fc 不具有容错能力 fn 软件工程支持 systemengineeringsupport 是否具有系统支持的模型监测 数据收集 部署 代码自动生成 策略实施 一致性检查等机制 有用 sy 表示 无用 sn 表示由此得到一个四元组 structure re composition fault tolerance system engineering 对各种soa进行分类 soa类别及其进化 customercentricsoa 常规soa模式服务提供者向服务代理注册开发出来的服务 由应用程序构建者来寻找需要的服务ccsoa模式在传统soa的基础上 应用程序构建者也可以发布应用程序模板 服务提供者可以根据模板的需要开发新的服务 customercentricsoa 续 customercentricsoa 续 上图的步骤为 应用程序构建者编写应用程序模版 模板内包含工作流信息 需要服务规格信息等应用程序模版在服务代理的库中进行注册并发布一个订阅了应用程序模版库的服务提供者收到有新模版到达的通知 于是查询这个新模版本体和分类技术可以辅助进行被提供模版和目标模版之间的自动匹配 在查询中 服务代理返回给服务提供者关于应用程序模版的详细信息服务提供者依据模版开发新的服务 并提交到服务代理 服务代理依据模版中的信息对新服务进行校验和评估一旦评估通过 服务代理通知应用程序构建者有可用的新服务应用程

温馨提示

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

评论

0/150

提交评论