




已阅读5页,还剩108页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
软件体系结构 软件体系结构概论 lyy3232312 2 2020年4月21日6时26分 课程内容 软件体系结构概论 软件体系结构建模 软件体系结构风格 软件体系结构描述 动态软件体系结构 Web服务体系结构 基于体系结构的软件开发 软件体系结构的分析与测试 软件体系结构评估 软件产品线体系结构 lyy3232312 3 2020年4月21日6时26分 第1章软件体系结构概论 软件危机 软件危机 softwarecrisis 是指在计算机软件的开发 development 和维护 maintenance 过程中所遇到的一系列严重问题 lyy3232312 4 2020年4月21日6时26分 1 1从软件危机谈起 危机的表现 软件成本日益增长 IBMOS 360 5000多人年 耗时4年 1963 1966 耗资5亿美元 美国空军 1955年软件占总费用 计算机系统 的18 70年60 85年达到85 美国全球军事指挥控制系统 硬件1亿美元 软件高达7 2亿美元 lyy3232312 5 2020年4月21日6时26分 1 1从软件危机谈起 危机的表现 开发进度难以控制 以丹佛新国际机场为例 该机场规模是曼哈顿机场的两倍 宽为希思机场的10倍 可全天侯同时起降三架喷气式客机 投资1 93亿美元建立了一个地下行李传送系统 总长21英里 有4 000台遥控车 可按不同线路在20家不同航空公司柜台 登机门和行李领取处之间发送和传递行李 支持该系统的是5 000个电子眼 400台无线电接收机 56台条形码扫描仪和100台计算机 按原定计划要在1993年万圣节前启用 但一直到1994年6月 该系统还无法正常运行 据研究结果统计 只有15 的项目是按计划完成的 lyy3232312 6 2020年4月21日6时26分 1 1从软件危机谈起 危机的表现 开发进度难以控制 项目延期比比皆是由于进度问题而取消的软件项目较常见只有一小部分的项目能够按期完成 由于软件是逻辑 智力产品 软件的开发需建立庞大的逻辑体系 这是与其他产品的生产不一样的 BROOK曾经说 在已拖延的软件项目上 增加人力只会使其更难按期完成 盲目增加软件开发人员并不能成比例地提高软件开发能力 相反 随着人员数量的增加 人员的组织 协调 通信 培训和管理等方面的问题将更为严重 lyy3232312 7 2020年4月21日6时26分 1 1从软件危机谈起 危机的表现 软件质量差 仍以IBM公司的OS 360操作系统为例 它共有4000多个模块 100万行指令 共投入5000人年 耗资5亿美元 但在交付使用的系统中仍找出2000个以上的错误 一次美国在肯尼迪角发射一枚阿脱拉斯火箭 预定将用这种火箭运载飞往金星的宇宙飞船 火箭飞离地面几十英里高空开始翻转 地面控制中心被迫下令自爆炸毁 后经检查发现是飞行计划程序中漏掉一个连字符 就是这样一个连字符的疏漏造成这枚价值1850万美元的火箭实验失败 lyy3232312 8 2020年4月21日6时26分 1 1从软件危机谈起 危机的表现 软件质量差 据统计数字表明 在大型系统中 约3 4的系统有问题 美国对政府开发的9个软件项目调查的结果 可用系统只占不到5 在 软件作坊 里 由于缺乏工程化思想的指导 程序员几乎总是习惯性地以自己的想法去代替用户对软件的需求 软件设计带有随意性 很多功能只是程序员的 一厢情愿 而已 这是造成软件不能令人满意的重要因素 lyy3232312 9 2020年4月21日6时26分 1 1从软件危机谈起 危机的表现 软件维护困难 软件维护的多样性软件维护的复杂性软件维护的副作用 有资料表明 工业界为维护软件支付的费用占全部硬件和软件费用的40 75 lyy3232312 10 2020年4月21日6时26分 第1章软件体系结构概论 1 1从软件危机谈起 危机的表现 软件成本日益增长 开发进度难以控制 软件质量差 软件维护困难 lyy3232312 11 2020年4月21日6时26分 第1章软件体系结构概论 1 1从软件危机谈起 危机的原因 用户需求不明确 缺乏正确的理论指导 软件规模越来越大 软件复杂度越来越高 lyy3232312 12 2020年4月21日6时26分 第1章软件体系结构概论 1 1从软件危机谈起 如何克服软件危机 人们面临的不光是技术问题 更重要的是管理问题 软件危机 软件工程 是用工程 科学和数学的原则与方法研制 维护计算机软件的有关技术及管理方法 lyy3232312 13 2020年4月21日6时26分 1 1从软件危机谈起 如何克服软件危机 软件工程 方法 工具 过程 技术手段 如何做 的技术 软件支撑环境 将方法和工具综合起来 软件体系结构 脱胎于软件工程 其形成同时借鉴了计算机体系结构和网络体系结构中的思想和方法 计算机科学的一个最新的研究方向和独立学科分支 lyy3232312 14 2020年4月21日6时26分 第1章软件体系结构概论 1 3软件体系结构的兴起和发展 算法数据结构 系统结构设计规格说明 关注 算法数据结构 lyy3232312 15 2020年4月21日6时26分 第1章软件体系结构概论 1 3软件体系结构的兴起和发展 体系结构 在英文里就是 建筑 的意思 主体 基础 装饰 基础设施软件 应用程序 用户界面 软件 楼房 lyy3232312 16 2020年4月21日6时26分 1 3软件体系结构的兴起和发展 体系结构 在英文里就是 建筑 的意思 结构化设计时代 面向对象时代 以砖 瓦 灰 沙 石 预制梁 柱 屋面板盖平房和小楼 以整面墙 整间房 一层楼梯的预制件盖高楼大厦 lyy3232312 17 2020年4月21日6时26分 1 3软件体系结构的兴起和发展 体系结构 在英文里就是 建筑 的意思 软件体系结构是寻求构建最快 成本最低 质量最好的构造方法 土木工程 现代建筑学 传统软件工程 现代面向对象软件工程 lyy3232312 18 2020年4月21日6时26分 1 3软件体系结构的兴起和发展 软件体系结构研究的主要内容 软件体系结构的描述软件体系结构的风格软件体系结构评价软件体系结构的形式化方法 解决好软件的重用 质量和维护问题 是研究软件体系结构的根本目的 重用 reuse lyy3232312 19 2020年4月21日6时26分 1 3软件体系结构的兴起和发展 软件体系结构的定义 虽然软件体系结构已经在软件工程领域中有着广泛的应用 但至今还没有一个被大家公认的定义 书中给出很多专家学者的定义 请大家看书P19 P20的相关定义思考 软件体系结构的众多定义中都提到了的关键词是什么 软件构件 1 2节中详细阐述 lyy3232312 20 2020年4月21日6时26分 1 3软件体系结构的兴起和发展 软件体系结构的定义 我们的定义软件体系结构为软件系统提供了一个结构 行为和属性的高级抽象 由构成系统的元素的描述元素的相互作用 指导元素集成的模式模式的约束组成 lyy3232312 21 2020年4月21日6时26分 1 3软件体系结构的兴起和发展 软件体系结构的定义 我们的定义 续 软件体系结构不仅指定了系统的组织结构和拓扑结构 并且显示了系统需求和构成系统的元素之间的对应关系 提供了一些设计决策的基本原理 lyy3232312 22 2020年4月21日6时26分 1 3软件体系结构的兴起和发展 软件体系结构的意义 体系结构是风险承担者进行交流的手段体系结构是早期设计决策的体现软件体系结构是可传递和可重用的模型 lyy3232312 23 2020年4月21日6时26分 1 3软件体系结构的兴起和发展 软件体系结构的意义 体系结构是风险承担者进行交流的手段 软件体系结构代表了系统的公共的高层次的抽象 这样 系统的大部分有关人员 即使不是全部 能把它作为建立一个互相理解的基础 形成统一认识 互相交流 体系结构提供了一种共同语言来表达各种关注和协商 进而对大型复杂系统能进行理智的管理 这对项目最终的质量和使用有极大的影响 lyy3232312 24 2020年4月21日6时26分 1 3软件体系结构的兴起和发展 软件体系结构的意义 体系结构是早期设计决策的体现 1 软件体系结构明确了对系统实现的约束条件 2 软件体系结构决定了开发和维护组织的组织结构 3 软件体系结构制约着系统的质量属性 4 通过研究软件体系结构可能预测软件的质量 5 软件体系结构使推理和控制更改更简单 6 软件体系结构有助于循序渐进的原型设计 7 软件体系结构可以作为培训的基础 lyy3232312 25 2020年4月21日6时26分 1 3软件体系结构的兴起和发展 软件体系结构的意义 软件体系结构是可传递和可重用的模型 软件体系结构级的重用意味着体系结构的决策能在具有相似需求的多个系统中发生影响 这比代码级的重用要有更大的好处 lyy3232312 26 2020年4月21日6时26分 1 3软件体系结构的兴起和发展 软件体系结构的发展史 无体系结构 设计阶段 lyy3232312 27 2020年4月21日6时26分 1 3软件体系结构的兴起和发展 软件体系结构的发展史 Perry和Wolf认为未来的年代是研究软件体系结构的时代 lyy3232312 28 2020年4月21日6时26分 第1章软件体系结构概论 1 4软件体系结构的应用现状 软件体系结构描述语言体系结构描述构造与表示体系结构分析 设计与验证体系结构发现 演化与重用基于体系结构的软件开发方法特定领域的体系结构框架软件体系结构支持工具软件产品线体系结构建立评价软件体系结构的方法 lyy3232312 29 2020年4月21日6时26分 1 4软件体系结构的应用现状 软件体系结构描述语言ArchitectureDescriptionLanguage ADLADL提供了具体的语法与刻画体系结构的概念框架 ADL使得系统开发者能够很好地描述他们设计的体系结构 以便与他人交流 能够用提供的工具对许多实例进行分析 注 有关ADL的详细内容将在第4章介绍 lyy3232312 30 2020年4月21日6时26分 1 4软件体系结构的应用现状 体系结构描述构造与表示 1 按照一定的描述方法 用体系结构描述语言对体系结构进行说明的结果则称为体系结构的表示 而将描述体系结构的过程称为体系结构构造 lyy3232312 31 2020年4月21日6时26分 1 4软件体系结构的应用现状 体系结构描述构造与表示 2 1 Kruchten提出的 4 1 模型 2 Booch从UML的角度给出了一种由设计视图 过程视图 实现视图和部署视图 再加上一个用例视图构成的体系结构描述模型 3 IEEE于1995年成立了体系结构工作组 起草了体系结构描述框架标准IEEEP1471 4 Rational从资产重用的角度提出了体系结构描述的规格说明框架 lyy3232312 32 2020年4月21日6时26分 1 4软件体系结构的应用现状 体系结构分析 设计与验证 1 体系结构分析可分为结构分析 功能分析和非功能分析 体系结构设计即生成一个满足软件需求的体系结构的过程 体系结构测试着重于仿真系统模型 解决体系结构层的主要问题 lyy3232312 33 2020年4月21日6时26分 1 4软件体系结构的应用现状 体系结构分析 设计与验证 2 体系结构设计 两大类方法 过程驱动方法 问题列表驱动方法 面向对象方法 4 1 模型法 基于场景的迭代方法 动态特点 基本思想 枚举设计空间 并考虑设计维的相关性 以此来选择体系结构的风格 静态特点 lyy3232312 34 2020年4月21日6时26分 1 4软件体系结构的应用现状 体系结构分析 设计与验证 3 体系结构设计 体系结构风格 模式 体系结构设计研究的重点内容之一本质上反映了一些特定的元素 按照特定的方式组成一个特定的结构 该结构应有利于上下文环境下的特定问题的解决 固定术语 参考模型 管道 过滤器 客户 服务器 面向对象 分层对等模型等 顺序参考模型 并行参考模型 信息系统的参考模型等 lyy3232312 35 2020年4月21日6时26分 1 4软件体系结构的应用现状 体系结构发现 演化与重用 体系结构发现解决如何从已经存在的系统中提取软件的体系结构 属于逆向工程范畴 体系结构演化由于系统需求 技术 环境 分布等因素的变化而最终导致软件体系结构的变动 体系结构重用体系结构重用属于设计重用 比代码重用更抽象 lyy3232312 36 2020年4月21日6时26分 1 4软件体系结构的应用现状 基于体系结构的软件开发 问题定义 软件需求 软件体系结构 软件设计 软件实现 系统构造过程 软件体系结构架起了软件需求与软件设计之间的一座桥梁 注 我们将在第5章讨论基于体系结构的软件开发问题 lyy3232312 37 2020年4月21日6时26分 1 4软件体系结构的应用现状 特定领域的体系结构框架 Domainspecificsoftwarearchitecture DSSA CASE体系结构CAD软件的参考模型信息系统的参考体系结构网络体系结构DSSA机场信息系统的体系结构信息处理DSSA lyy3232312 38 2020年4月21日6时26分 1 4软件体系结构的应用现状 软件体系结构支持工具 支持工具 Unicon Aesop等体系结构支持环境C2的支持环境ArchStudio支持主动连接件的Tracer工具等 支持体系结构分析的工具 支持静态分析的工具支持类型检查的工具支持体系结构层次依赖分析的工具支持体系结构动态特性仿真工具体系结构性能仿真工具等 lyy3232312 39 2020年4月21日6时26分 1 4软件体系结构的应用现状 软件产品线体系结构 产品线代表着一组具有公共的系统需求集的软件系统 它们都是根据基本的用户需求对标准的产品线构架进行定制 将可重用构件与系统独有的部分集成而得到的 软件体系结构有利于形成完整的软件产品线 注 我们将在第7章讨论软件产品线有关知识 lyy3232312 40 2020年4月21日6时26分 1 4软件体系结构的应用现状 建立评价软件体系结构的方法 目前 常用的三个软件体系结构评估方法 1 体系结构权衡分析方法 ATAM方法 2 软件体系结构分析方法 SAAM方法 3 中间设计的积极评审 ARID方法 lyy3232312 41 2020年4月21日6时26分 第1章软件体系结构概论 1 4软件体系结构的应用现状 软件体系结构描述语言体系结构描述构造与表示体系结构分析 设计与验证体系结构发现 演化与重用基于体系结构的软件开发方法特定领域的体系结构框架软件体系结构支持工具软件产品线体系结构建立评价软件体系结构的方法 lyy3232312 42 2020年4月21日6时26分 第1章软件体系结构概论 软件危机 工业化生产 lyy3232312 43 2020年4月21日6时26分 第1章软件体系结构概论 如何克服软件危机 技术 管理 采用基于重用的软件生产技术 采用多维的工程管理模式 人们面临的不光是技术问题 更重要的是管理问题 重用 必需的手段 软件构件 核心和基础 lyy3232312 44 2020年4月21日6时26分 第1章软件体系结构概论 1 2构件与软件重用 软件产业形势 权威市场研究及顾问机构Gartner指出 到2005年 至少70 的新的应用软件将会以构件化的方式基于构架 软件体系结构 开发而成 软件本身 麦肯锡在研究了世界上最成功的100家软件企业后 得出结论 一种新的采用了标准化的复用构件技术 最终将会取代昂贵的定制编程和集成 这种方法是未来软件生产力提高的主要来源 也将成为软件行业未来前景中的核心部分 生产方式 lyy3232312 45 2020年4月21日6时26分 第1章软件体系结构概论 1 2构件与软件重用 目前 构件技术在99 的企业中得到了应用 效果极好 被称为是软件开发业中的银弹 软件企业 软件产业形势 普元CEO刘亚东博士在 软件中国的机会 中对比了中美软件业发展的轨迹 提出面向构件的软件开发是中国软件业的机遇 国内形势 lyy3232312 46 2020年4月21日6时26分 第1章软件体系结构概论 1 2构件与软件重用 软件开发中的问题 互联网时代 软件规模上升 给软件开发带来了许多的问题 技术和需求的变化的问题 软件难以维护问题 重复不必要的工作问题 软件质量和成本有效性问题 应用集成的问题 lyy3232312 47 2020年4月21日6时26分 第1章软件体系结构概论 1 2构件与软件重用 软件开发中的问题 而构件技术为解决以上问题的提供了有效途径 可重用的构件 特别是满足大问题空间的可重用构件 在捕获软件变化性 提高软件的可理解性和维护性 增强软件质量属性同时 可大大提高生产率 lyy3232312 48 2020年4月21日6时26分 第1章软件体系结构概论 1 2构件与软件重用 构件模型及实现 构件的定义构件是指语义完整 语法正确和有可重用价值的单位软件 是软件重用过程中可以明确辨识的系统 结构上 它是语义描述 通讯接口和实现代码的复合体 lyy3232312 49 2020年4月21日6时26分 第1章软件体系结构概论 1 2构件与软件重用 构件概念的演化 lyy3232312 50 2020年4月21日6时26分 第1章软件体系结构概论 构件概念的演化 续 可复用软件构件 RSC 可以被重用的软件实体 它可以是设计 代码或软件开发过程中的其它产品 广义理解 有时也被称为软件资产 重用分为 直接重用和间接重用代码件倾向于直接重用 分析件 设计件侧重间接重用 lyy3232312 51 2020年4月21日6时26分 第1章软件体系结构概论 构件概念的演化 续 定义 lyy3232312 52 2020年4月21日6时26分 第1章软件体系结构概论 构件概念的演化 续 构件的特点 二进制代码保护构件开发商的智力投资隐藏了内部实现细节符合构件模型构件接口是复用者理解构件和构件组装的桥梁构件模型是构件制作和组装的基础可插拔性 Plug Play 允许不同构件开发商开发的构件进行组装 lyy3232312 53 2020年4月21日6时26分 第1章软件体系结构概论 构件概念的演化 续 对构件概念的进一步理解狭义的理解 在CBD中的应用 符合三大构件标准的构件广义的理解 系统中可以明确辨识且具有复用价值的构成成分 CBD Component BasedDevelopment基于构件的开发 lyy3232312 54 2020年4月21日6时26分 第1章软件体系结构概论 构件定义的延伸 构件是预先创建的 为什么 原因一 源代码重用代价高 最好预先创建原因二 应用集成中要求以未预料的方式重用原因三 可维护性问题 构件间的界限更明确原因四 易于采用渐进的开发方式 lyy3232312 55 2020年4月21日6时26分 第1章软件体系结构概论 构件定义的延伸 续 构件是黑盒的内部结构进行良好的封装通过接口提供服务 接口的规格说明书 构件是可分离的构件的定义是高内聚和低耦合的构件的封装使得其它构件无需了解其内部知识 lyy3232312 56 2020年4月21日6时26分 第1章软件体系结构概论 构件定义的延伸 续 构件能用于组装和部署构件组装在编译之后构件部署在组装之后 也有在运行时组装 构件是依靠支持技术和工具的构件容器 提供支持构件的运行时环境 提供组装和部署工具 lyy3232312 57 2020年4月21日6时26分 第1章软件体系结构概论 构件定义的延伸 续 一个软件构件是可执行软件的一个可分离的单元只能通过构件的接口来访问它的服务必须能得到其接口的细节可以与其它构件实现互操作需要某种环境的支持在进行了必要的组装和配置过程之后 它才能以接口规定的方式来使用 lyy3232312 58 2020年4月21日6时26分 第1章软件体系结构概论 构件的粒度 示图构件粒度对构件重用价值的影响 lyy3232312 59 2020年4月21日6时26分 第1章软件体系结构概论 构件的理解 实现定义了对象怎样工作 同一类对象共享同一个实现 对象封装了数据和操作的实体 标识每个对象都有一个唯一标记 通过它来访问这个对象 可替换性对象的使用者只关心接口 不关心实现 客户代码可以和具有相同接口而具有不同实现的对象一起工作 接口定义了对象的功能 很多对象可以共享同一个接口 一个对象可以提供很多接口 lyy3232312 60 2020年4月21日6时26分 第1章软件体系结构概论 构件的理解 续 构件环境 构件接口 构件 接口 接口 实现 对象 对象 构件可认为是包装对象实现的简便方法 可以使它们组装成更大的软件系统 lyy3232312 61 2020年4月21日6时26分 第1章软件体系结构概论 构件的理解 续 构件将抽象的程度提到一个更高的层次 它是对一组类的组合进行封装 并代表完成一个或多个功能的特定任务 也为用户提供了多个接口 整个构件隐藏了具体的实现 只对外提供服务 构件接口的组成 lyy3232312 62 2020年4月21日6时26分 第1章软件体系结构概论 构件接口 构件接口是对具有共同目标的服务的划分 客户程序可以使用一个接口中的部分或全部服务 接口描述了客户端如何与构件进行交互 同时隐藏了底层的实现细节接口信息是潜在客户判断构件是否满足需求的主要依据定义良好的接口会促进构件开发商之间的竞争 lyy3232312 63 2020年4月21日6时26分 第1章软件体系结构概论 构件接口 续 接口是构件之间进行交互作用的通道 是与外界交流的唯一的途径它代表构件在不同环境下的交互内容和与外界传递的信息它定义了构件承担的系统责任环境不应对构件作任何与接口无关的假设 如实现细节等 lyy3232312 64 2020年4月21日6时26分 第1章软件体系结构概论 构件接口 续 构件接口可分为两类 功能规约 接入点 构件供外部使用的接口 构件用到的外部接口 lyy3232312 65 2020年4月21日6时26分 1 2构件与软件重用 构件模型及实现 构件模型 构件之间对使用到的接口应有统一和一致的理解 lyy3232312 66 2020年4月21日6时26分 1 2构件与软件重用 构件模型及实现 构件模型 定义什么是构件 找构件的依据 如何使用其它构件提供的服务等 实现构件模型的方法将构件的规格说明和具体实现相分离依靠构件实现的具体模式来推导出构件所提供的服务 研究构件本质特征和构件间的关系 对构件本质特征的抽象描述 lyy3232312 67 2020年4月21日6时26分 1 2构件与软件重用 构件模型及实现 构件模型的三个主要流派OMG ObjectManagementGroup 对象管理集团 的CORBA CommonObjectRequestBrokerArchitecture 通用对象请求代理结构 Sun的EJB EnterpriseJavaBean Microsoft的DCOM DistributedComponentObjectModel 分布式构件对象模型 lyy3232312 68 2020年4月21日6时26分 1 2构件与软件重用 构件模型及实现 基于EJB技术的系统结构模型 lyy3232312 69 2020年4月21日6时26分 1 2构件与软件重用 构件模型及实现 青鸟构件模型 lyy3232312 70 2020年4月21日6时26分 1 2构件与软件重用 构件模型及实现 青鸟构件模型 外部接口 定义了构件本身和其他实体的交互 内部结构 导入接口 接受接口 通过它从外部获取所需功能 导出接口 服务接口 通过该接口向外部系统提供服务 是构件的私有部分 它描述了构件的内部信息和组织结构 是外部接口功能的具体实现 包含内部成员以及内部成员之间的关系 lyy3232312 71 2020年4月21日6时26分 1 2构件与软件重用 构件模型及实现 构件 构件规约 构件实现 构件规约 接口部分 结构部分 接口部分 对外提供的功能集合 对外请求的功能集合 服务集合 服务 对外提供的功能集合 对外请求的功能集合 结构部分 原子构件结构 复合构件结构 原子构件结构 构件实现的引用 复合构件结构 引用的构件类型 实例声明 实例连接 映射 一种构件模型的描述 lyy3232312 72 2020年4月21日6时26分 1 2构件与软件重用 构件模型及实现 编译器复合构件Compiler实例 包括3个成员构件 语法分析器ParserP 语义分析器SemanticizerS 代码生成器CodeGeneratorCCompiler在规约层建立了成员构件之间的连接关系 一个简化的例子 lyy3232312 73 2020年4月21日6时26分 一个简化的例子 componentParseris 语法provides 外界提供的functionInitialize functionFileName returnString requires 外部需要的functionSemantize Tree functionGenerate Tree endcomponent componentSemanticizeris 语义provides functionSemantize Tree functionIncremental Semantize Context Tree Addition Tree requires functionFileName returnString endcomponent lyy3232312 74 2020年4月21日6时26分 一个简化的例子 componentCodeGeneratoris 代码生成provides functionGenerate Tree requires functionSemantize Context Tree Addition Tree endcomponent componentCompilerisprovides functionInitialize endcomponent lyy3232312 75 2020年4月21日6时26分 一个简化的例子 componentbodyCompilerisreference Parser Semanticizer CodeGenerator instance ParserP SemanticizerS CodeGeneratorG connection P SemantizetoS Semantize P GeneratetoG Generate S FileNametoP FileName G SemantizetoS Incremental Semantize mapping InitializetoP Initialize endcomponent lyy3232312 76 2020年4月21日6时26分 1 2构件与软件重用 构件模型及实现 构件模型实例 设计一个打印服务器构件 lyy3232312 77 2020年4月21日6时26分 1 2构件与软件重用 构件模型及实现 构件模型实例 设计一个打印服务器构件 lyy3232312 78 2020年4月21日6时26分 第1章软件体系结构概论 1 2构件与软件重用 构件获取 P5 P6 软件体系结构中的领域指什么 构件获取的途径有哪些 lyy3232312 79 2020年4月21日6时26分 1 2构件与软件重用 构件获取 领域 领域工程 是一组具有相似性或相近软件需求的应用系统所覆盖的功能区域 是一组具有相似性或相近系统的应用工程建立基本能力和基础的过程 lyy3232312 80 2020年4月21日6时26分 1 2构件与软件重用 构件获取 从构件库中获取从市场上购买获取 商业构件 即COTS构件 从遗留系统中获取重新开发获取 构件获取的途径 lyy3232312 81 2020年4月21日6时26分 第1章软件体系结构概论 1 2构件与软件重用 构件管理 对软件复用和软件构件的研究始于60年代后期 40年来人们一直关心两个问题 如何有效地表示可重用软件构件 如何在已有的大量构件中找到所需的构件 lyy3232312 82 2020年4月21日6时26分 1 2构件与软件重用 构件管理 为了给使用者在查询构件时提供方便 同时也为了更好地重用构件 我们必须对收集和开发的构件进行分类并置于构件库的适当位置 lyy3232312 83 2020年4月21日6时26分 1 2构件与软件重用 构件管理 lyy3232312 84 2020年4月21日6时26分 1 2构件与软件重用 构件管理 构件描述 构件分类与组织 人员及权限管理 lyy3232312 85 2020年4月21日6时26分 1 2构件与软件重用 构件管理 构件描述构件模型是对构件本质的抽象描述 主要是为构件的制作与构件的重用提供依据 从管理角度出发 也需要对构件进行描述 例如 实现方式 实现体 注释 生产者 生产日期 大小 价格 版本和关联构件等信息 它们与构件模型共同组成了对构件的完整描述 lyy3232312 86 2020年4月21日6时26分 1 2构件与软件重用 构件管理 构件分类与组织 关键字分类法 刻面分类法 超文本组织方法 lyy3232312 87 2020年4月21日6时26分 1 2构件与软件重用 构件管理 构件分类与组织 关键字分类法 最简单 根据领域分析的结果将应用领域的概念按照从抽象到具体的顺序逐次分解为树状或有向无回路图结构 当加入构件时 库管理员必须对构件的功能或行为进行分析 在浏览关键字分类结构的同时将构件置于最合适的原子级关键字之下 如果无法找到构件的属主关键字 可以引入新的关键字 lyy3232312 88 2020年4月21日6时26分 1 2构件与软件重用 构件管理 构件分类与组织 关键字分类法 lyy3232312 89 2020年4月21日6时26分 1 2构件与软件重用 构件管理 构件分类与组织 刻面分类法 来源于图书馆学 在刻面分类机制中 定义若干用于刻画构件特征的 面 facet 每个面包含若干概念 这些概念表述构件在面上的特征 描述构件的刻面的集合称为刻面描述符 通常 刻面描述被限定不超过7或8个刻面 lyy3232312 90 2020年4月21日6时26分 1 2构件与软件重用 构件管理 构件分类与组织 刻面分类法 来源于图书馆学 使用环境应用领域功能层次表示方法 青鸟构件库就是采用刻面分类方法对构件进行分类的 这些刻面包括 lyy3232312 91 2020年4月21日6时26分 1 2构件与软件重用 构件管理 构件分类与组织 刻面分类法 来源于图书馆学 例 使用 应用领域 和 功能 两个刻面属于描述构件 lyy3232312 92 2020年4月21日6时26分 1 2构件与软件重用 构件管理 构件分类与组织 刻面分类法示例 Component ApplicationEnvironment DataBase Sybase DataBase OperationSystem Windows OperationSystem ApplicationEnvironment Function imagestore Function ApplicationArea MIS ApplicationArea Component 构件的刻面描述 MIS SybaseWindows Imagestore lyy3232312 93 2020年4月21日6时26分 1 2构件与软件重用 构件管理 构件分类与组织 刻面分类法示例 lyy3232312 94 2020年4月21日6时26分 1 2构件与软件重用 构件管理 构件分类与组织 关键字分类法和刻面分类法都是以数据库系统作为实现背景 超文本组织法基于全文检索技术 所有构件必须辅以详尽的功能或行为说明文档 说明中出现的重要概念或构件以网状链接方式相互连接 超文本是一种非线性的网状信息组织方法 它以节点为基本单位 链作为节点之间的联想式关联 lyy3232312 95 2020年4月21日6时26分 1 2构件与软件重用 构件管理 构件分类与组织 超文本组织法 如 Windows环境下的联机帮助系统就是典型的超文本系统 lyy3232312 96 2020年4月21日6时26分 1 2构件与软件重用 构件管理 自学 P9 在工业界 商业化构件可分为几类 构成一个系统的构件可分为哪五类 lyy3232312 97 2020年4月21日6时26分 1 2构件与软件重用 构件管理 人员及权限管理一般来讲 构件库系统可包括五类用户 即注册用户 公共用户 构件提交者 一般系统管理员和超级系统管理员 lyy3232312 98 2020年4月21日6时26分 第1章软件体系结构概论 1 2构件与软件重用 构件管理 小结 lyy3232312 99 2020年4月21日6时26分 第1章软件体系结构概论 1 2构件与软件重用 构件重用 软件开发的目的是重用 为了让构件在新的项目中发挥作用 库的使用者必须完成以下工作 检索与提取构件理解与评价构件修改构件构件组装 lyy3232312 100 2020年4月21日6时26分 1 2构件与软件重用 构件重用 检索与提取构件 1 基于关键字的检索逐级浏览寻找需要的关键字 用户也可直接给出关键字 由系统自动给出合适的候选构件清单 2 刻面检索法构造查询 检索构件 对构件进行排序 3 超文本检索法 lyy3232312 101 2020年4月21日6时26分 1 2构件与软件重用 构件重用 理解与评价构件 构件的开发过程需遵循公共软件工程规范 需说明以下内容 才有助于理解构件 1 构件的功能与行为 2 相关的领域知识 3 可适应性约束条件与例外情形 4 可以预见的修改部分及修改方法 lyy
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年中国钢筋混凝土用钢纤维行业市场分析及投资价值评估前景预测报告
- 第二课 漂亮的纸袋教学设计小学劳动三年级下册粤教版(主编:徐长发)
- 第十四课 求助不丢人教学设计小学心理健康人教版五年级上册-人教版
- 2025年城市污水处理与资源化利用项目建议书
- 2025年中国负载型贵金属催化剂行业市场分析及投资价值评估前景预测报告
- 06 实验六 探究向心力大小与半径、角速度、质量的关系 【答案】作业手册
- 2025年中国风电用有机硅行业市场分析及投资价值评估前景预测报告
- 2024八年级英语下册 Unit 7 Know Our WorldLesson 41 A Class of the World说课稿(新版)冀教版
- 18.周末巧安排(教学设计)三年级心理健康同步备课系列苏科版
- 保养人员培训知识课件
- 长期照护师技能操作考核试卷及答案
- 安全应急预案编制培训课件
- 2025年广西公需科目答案02
- 2024-2025学年九年级化学上册 第二单元 单元测试卷(人教版)
- 2023年云南省昆明市盘龙区中考语文二模试卷(含答案)
- 火龙罐联合耳穴压豆治疗失眠个案护理
- 天津2021年高一外研版英语单词必修一默写版
- 2023麻醉科导管相关性血流感染预防专家共识
- 中国传统文化考试复习题库(带答案)
- 晋升管理制度完整版
- 医院结核菌素试验结果报告单
评论
0/150
提交评论