软件工程——原理、方法和工具 教学课件 ppt 作者 李东生 Ch16

上传人:E**** 文档编号:89326158 上传时间:2019-05-23 格式:PPT 页数:46 大小:392.50KB
返回 下载 相关 举报
软件工程——原理、方法和工具 教学课件 ppt 作者 李东生 Ch16_第1页
第1页 / 共46页
软件工程——原理、方法和工具 教学课件 ppt 作者 李东生 Ch16_第2页
第2页 / 共46页
软件工程——原理、方法和工具 教学课件 ppt 作者 李东生 Ch16_第3页
第3页 / 共46页
软件工程——原理、方法和工具 教学课件 ppt 作者 李东生 Ch16_第4页
第4页 / 共46页
软件工程——原理、方法和工具 教学课件 ppt 作者 李东生 Ch16_第5页
第5页 / 共46页
点击查看更多>>
资源描述

《软件工程——原理、方法和工具 教学课件 ppt 作者 李东生 Ch16》由会员分享,可在线阅读,更多相关《软件工程——原理、方法和工具 教学课件 ppt 作者 李东生 Ch16(46页珍藏版)》请在金锄头文库上搜索。

1、软件工程 原理、方法和工具 Ch.16软件工程新技术,第 16章 软件工程新技术,16.1 软件复用技术 16.2 中间件技术 16.3 组件技术 16.4 计算机辅助软件工程技术(CASE) 16.5 软件产品线技术 16.6 软件过程与标准化,16.1 软件复用技术,16.1.1 软件复用概念及分类 16.1.2 软件复用的关键技术和复用粒度,16.1.1 软件复用概念及分类,软件复用:指重复使用“为了复用目的而设计的软件”的过程。 软件复用分类: 1.按复用的对象:产品复用过程复用。 2.按对可复用信息进行复用的方式,可以将软件复用区分为黑盒复用和白盒复用。 3.按复用的组织方式,将复用

2、区分为系统化的(或有计划的)复用和个别的复用。 4.按所应用的领域范围,软件复用可以划分为横向复用和纵向复用。,16.1.2 软件复用的关键技术和复用粒度,实现软件复用的关键技术因素主要包括: 软件组件技术、领域工程、软件构架技术、软件再工程技术、开放系统技术、软件过程、CASE技术等。 软件复用的粒度包括:代码和设计拷贝、源代码复用、设计和软件体系结构复用、应用程序生成器的使用、领域特定的软件体系结构的复用等。,16.2 中间件技术,16.2.1 中间件概念及特点 16.2.2 中间件的分类,16.2.1 中间件概念及特点,中间件是一种独立的系统软件或服务程序,分布式应用软件借助这种软件在不

3、同的技术之间共享资源;中间件位于客户机/服务器的操作系统之上,管理计算资源和网络通信。,16.2.1 中间件概念,16.2.1 中间件在应用系统中的位置,中间件,中间件,操作系统,操作系统,16.2.1 中间件概念及特点,中间件特点: 1.满足大量应用的需要 2.运行于多种硬件和操作系统平台 3.支持分布式计算 4.提供跨网络、硬件和操作系统平台的透明性上透明的应用或服务的交互交互功能 5.支持标准的协议和接口,16.2.2 中间件的分类,根据中间件具有的功能和所提供的服务可将其分为:面向对象中间件、面向消息中间件、容错中间件和反射中间件。,16.2.2 中间件的分类,基于IDC分类方法,按照

4、中间件在系统所起的作用和所采用的技术的不同分为: 终端仿真屏幕转换 数据访问中间件 远程过程调用中间件 消息中间件 交易中间件 基于对象请求代理中间件,16.3 组件技术,16.3.1 组件与组件化 16.3.2 组件模型及描述语言 16.3.3 组件的检索与组装,16.3.1 组件与组件化,组件是一些可执行单元,可以通过独立的开发、购买和配置,组合进一个功能系统中去,是软件系统内被标识、符合某种标准要求并可复用的软件组成成份。 组件化方法在很大程度上借鉴了硬件技术的成就,它是组件技术、软件体系结构研究和应用软件开发技术三者发展结合的产物。,16.3.2 组件模型及描述语言,组件模型:3C模型

5、和REBOOT 模型。 3C模型: Component=(Concept, Content, Context)。3C模型的命名主要来自该模型描述组件所采用的3个C特征,即概念(concept)、内容(content)和语境(context)。,16.3.2 组件模型及描述语言,REBOOT模型: REBOOT模型是一个基于已有软组件的一种刻面分类和检索模型,从各个角度,即刻面(Facet)来刻画软件组件的属性。一组典型的刻面可能包括:对象、功能、算法、类型、语言和环境。,16.3.2 组件模型及描述语言,组件描述语言中典型的有: 1.CORBA规范中的接口描述语言IDL 2.UML规范中的对象

6、约束语言OCL 3.北大青鸟组件系统中的青鸟组件描述语言JBCDL 4.加州理工大学提出的组件描述语言CDL等。,16.3.3 组件的检索与组装,W.Frakes从组件表示出发,将现有方法分为:人工智能方法、超文本方法和信息科学方法3类。 H.Mili则按照复杂度和检索效果的递增,将其分为:基于正文的、基于词法描述符的、基于规约的分类和检索3类。,16.3.3 信息科学的编目方法,16.3.3 组件的检索与组装,常用的分类方式: 枚举分类 属性值分类 正文检索 关键词分类 刻面分类,16.3.3 组件的检索与组装,组件组装技术组件组装是用从属于某个问题领域的组件,系统地构造应用软件的过程。 组

7、件组装的目的是利用现有的组件组装成新的系统,其本质是在组件之间建立关联,根据这种关联,协调它们的行为,把它们组织成为一个有机的整体。 组件组装的研究内容包括两部分:对复合组件形成过程的研究和面向体系结构(或者组装框架)的研究。,16.3.3 组件的检索与组装,组件组装的实现方法 (灰盒组装 ): 以框架为基础的方法 以连接子为基础的方法 以胶合代码为基础的方法 基于总线的方法,16.4 计算机辅助软件工程技术(CASE),16.4.1 CASE基本概念 16.4.2 CASE工具与集成CASE环境,16.4.1 CASE基本概念,从学术研究角度讲,CASE是多年来在软件开发管理、软件开发方法、

8、软件开发环境和软件工具等方面研究和发展的产物。 从产业角度讲,CASE是种类繁多的软件开发和系统集成的产品及软件工具的集合。 CASE的目标是通过统一的数据操纵手段和系统,从多个方向,在多个阶段(覆盖软件生命的全周期)辅助软件开发人员提高软件产品的质量和数量。,16.4.2 CASE工具与集成CASE环境,16.4.2 CASE工具与集成CASE环境,CASE 工具的分类及选择: 支持软件开发过程的工具:如需求分析工具、需求跟踪工具、设计工具、编码工具、排错工具、测试和集成工具等; 支持软件维护过程的工具:版本控制工具、文档工具、开发信息库工具、再工程工具(包括逆向工程工具、代码重构与分析工具

9、)等; 支持软件管理和支持过程的工具:项目计划工具、项目管理工具、配置管理工具、软件评价工具、度量和管理工具等。,16.4.2 CASE工具与集成CASE环境,CASE集成的概念: CASE工具的集成主要包括数据共享、用户界面一致性、功能部件组合控制以及过程模型,也即是数据集成、界面集成、控制集成和过程集成。,16.4.2 CASE工具与集成CASE环境,典型的集成CASE环境构成: 一个集成的CASE环境的构成如下图16.5所示,主要包括支撑环境、支撑方法、中心数据库以及各阶段所使用的具体工具。,16.4.2 CASE工具与集成CASE环境,16.5 软件产品线技术,16.5.1 软件产品线

10、基本概念 16.5.2 软件产品线方法 16.5.3 北大青鸟工程,16.5.1 软件产品线基本概念,典型的产品线开发过程如图16.6所示,包括两个关键过程:领域工程和应用工程。,16.5.1 软件产品线基本概念,软件产品线的三大基本活动: 核心资产的开发、利用核心资产的产品开发以及技术和组织管理。,16.5.1 软件产品线基本概念,16.5.1 软件产品线基本概念,软件产品线工程区别于其他复用方法主要在: 软件产品线工程涉及的是一系列相关的软件产品集。软件产品线的演进会影响到所有公用的架构和复用的组件。 软件产品的开发基于公共的复用资产,产品线中每一个产品的生产都充分利用了分析、设计、编码、

11、计划、培训等已为生产其他产品所做的活动,和仅复用代码不同,复用对象范围大大扩展了。,16.5.1 软件产品线基本概念,16.5.2 软件产品线方法,产品线方法下开发系统的过程主要体现在: 根据标准构架来开发 利用产品线组件来开发,16.5.3 北大青鸟工程,青鸟工程简介,16.6 软件过程与标准化,16.6.1 软件过程及其改进 16.6.2 ISO9000标准 16.6.3 软件能力成熟度模型(CMM),16.6.1 软件过程及其改进,软件过程改进就是在软件过程活动中,为了更有效地达到优化软件过程的目的所实施的改善或改变其软件过程的系列活动,是提高组织软件能力最重要、最直接的途径,它以软件过

12、程管理为基础,借鉴组织积累的丰富经验,改进组织现有的软件过程,逐步提高组织的软件能力成熟度。,16.6.2 ISO9000标准,16.6.3 软件能力成熟度模型(CMM),16.6.3 软件能力成熟度模型(CMM),习题,16.1 软件复用的概念、目标是什么?软件复用的方法有哪些? 16.2 软件复用的粒度有哪些? 16.3 什么是中间件?IDC给出的分类方法中,主要包括哪几类中间件? 16.4 当前的主流中间件技术有哪些,各自有什么特点? 16.5 典型的组件模型及描述语言有哪些?组件检索方法有哪些? 16.6 组件组装的实现方法有哪些,各有什么特点,适用于什么领域的软件开发? 16.7 计算机辅助软件工程CASE指的是什么?目前的发展趋势是什么? 16.8 CASE集成的目的是什么?典型的CASE集成环境包括哪些组成元素? 16.9 软件产品线的概念是什么?软件产品线包含的三大基本活动是什么,三者的关系如何? 16.10 北大青鸟软件产品线生产系统主要包含哪些组成成分? 16.11 ISO9000和CMM指的是什么?两者有什么联系和区别? 16.12 CMM的实施中应注意哪些问题?,Q & A,

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 高等教育 > 大学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号