预览加载中,请您耐心等待几秒...
1/10
2/10
3/10
4/10
5/10
6/10
7/10
8/10
9/10
10/10

亲,该文档总共80页,到这已经超出免费预览范围,如果喜欢就直接下载吧~

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

高级软件工程 构件化软件开发 陈宁江 1 背景软件构件技术 手工作坊式软件开发软件工业化生产 应用应用应用终模 系统系统系统端型随 中间件用驱需 户动即 ●●● 编开取 操作系统 程发 操作系统网 络 裸机裸机裸机 2 软件生产方式的变革工业化生产技术 工程化开发方法 手工作坊式工业化生产 支撑环境与工具 标准规范体系 突破软件工业化生产关键技术 软件复用与软件构件技术软件再工程技术 需求工程技术领域工程技术 可信计算技术面向对象技术 领域特定的语言-终端用户编程技术质量评估与优化技术 协同计算与环境构造技术软件过程技术 标准化与开放系统技术… 3 软件复用的优点 改善软件质量 减少工作量 快速构建系统原型 帮助程序员获得经验和知识 4 影响软件复用成败的因素 管理和组织层面 项目管理者的支持和经验 面向复用特点的软件过程模型 专门的小组搜集、维护和提供可复用的构件 程序员的心理因素 技术层面 支持复用的方法和技术还存在许多困难 需有一个组织和管理良好的构件库 改编已有的软件或者构件,提取可复用的构件 经济层面 开发可复用的构件的代价较高 5 复用的一般过程 软件组织了解和评估实施复用的能力,分析复用所带来的收益 和所付出的代价 复用评估 分析已有软件,寻找、评价和选择可复 用的软件构件 复用启动 了解防碍复用的问题,减少复用的风险和 复用实验代价 确定项目复用过程中各个复用扩展 参与者的职责,扩展或者 整合可复用构件库 建立系统性的复用过程, 领域分析 标识某一领域多个应用的根据复用需要调整组织结 共同需求 构和软件开发过程,建立 制度性的复用复用整合6 复用的层次 复用:应用 (COTS) 复用:框架 (半完成应用) 复用:微结构 (设计模式,协作关系) 复用:类,方法,代码 7 基于构件的软件开发目标 长期以来的软件开发状况 多数软件都是针对某个具体的应用系统从头进行开发的 导致:出现了大量的同类软件重复开发,造成大量人力、财力 的浪费,而且软件的质量也不高 对比:汽车工业的生产模式 在已有的部件基础上通过组装进行生产:有专门的部件生产工 厂,汽车设计者在设计中选择市场上已有的合适的部件 避免了大量的重复劳动,提高了产品质量和生产效率,促进分 工合作 我们的目标:将制造业中的组装式生产模 式引入到软件开发中 8 构件化软件设计的核心思想是如 面面向复用的 向何基于可复用构件设计出满足功能 复软件开发 用和非功能需求的软件体系结构; 的构件化软件实现则是按照软件体 软资产库 件系结构、利用各种语言或中间件机 过制、将可复用构件组装起来。 程 基于复用的特别地,构件化软件不仅复用 软件开发 了构件,还复用了构件运行支 撑平台的若干能力,因此,构 件化软件的实现往往延伸到了 传统软件开发阶段之后的部署 和运营阶段。 从编程语言的发展看构件化软件 客观事物(问题空间) 自然语言与面向对象等软件模型不同,软件构件的目标是解 语空间而不是问题空间。其主旨是通过凝练共性并复用 AgentAspectService 新型语言言之以解决软件开发的效率与质量的问题,而不试图解 鸿 面向对象构沟决语言鸿沟的问题 的语言件 非面向对象模与面向对象范型相比,构件将多个细粒度的对象组 的高级语言型 织成强内聚、松耦合、粒度更大的实体,以提高对象 汇编语言的复用性 机器语言 计算机(解空间)特别地,由于构件没有从认识论的角度提出一套新 的软件模型,因此,构件可以兼容此前的各种编程语 言,即,这些编程语言写出来的程序可以封装/转换成 面面向复用的需求建模 向构件从而得以复用 复构 用 软件体系结构分析与设计件 的从软件工程方法看构件化软件设计与实现 软化 件软构件化软件的设计集中于软件体系结构 过构件组装(含构件开发) 件构件化软件通过组装而不是编程来实现 程设 和实现工作持续到了软件部署和运行管理阶段 资构件化软件部署计 产与 管实 理 构件化软件运行管理 现 10 构件(Component)的典型定义 Pressman:构件是某系统中有价值的、几乎独立的并 可替换的一个部分,它在良好定义的体系结构语境内 满足某清晰的功能 Brown:构件是一个独立发布的功能部分,可以通过 其接口访问它的服务 “计算机科学技术百科全书”:软件构件是软件系统 中具有相对独立功能,可以明确标识,接口由规约指 定,与语境有明显依赖关系,可独立部署,且多由第 三方提供的可组装软件实体;软件构件须承载有用的 功能,并遵循某种构件模型;可复