《软件复用技术》PPT课件
- 格式:ppt
- 大小:314.50 KB
- 文档页数:20
软件复用硕士研究生课程软件构件技术计算机与信息学院软件复用硕士研究生课程声明软件复用硕士研究生课程主要内容一、软件构件二、软件构件模型三、应用框架四、基于构件的软件开发方法软件复用硕士研究生课程一、软件构件软件复用硕士研究生课程一、软件构件1、构件的概念软件复用硕士研究生课程对软件构件概念的理解狭义的构件广义的构件软件复用硕士研究生课程软件复用硕士研究生课程构件的表现提交的单位。
强调构件是一组单元,可以作为整体被复用;(2)服务角度(Service ):将构件作为功能的提供者,看成向消费者提供服务的软件实体。
同时强调了提供者和消费者之间的协议概念。
(3)完整性角度(Integrity ):将构件看成一组软件共同维护它所操作数据的完整性,独立于其它构件的执行。
这一标准是构件易于更新的必要条件。
这里强调的是软件替换的概念包装包装构件模型元素服务构件独立构件构件规格说明接口**服务完整性***1软件复用硕士研究生课程实例•包装部分是:excel.exe•提供服务的构件:如应用程序、图表、表格。
每一个都是独立的构件,提供了一个包装界限.每个都可独立替换•构件之中还有子构件.如表格构件包括“范围”和“单元”构件,但它们在实现和数据上存在共享,因而不能独立替换软件复用硕士研究生课程构件的分类(1/2)数据库操作系统框架ActiveX 控件Java Applet 应用程序完整的API 函数数据库服务操作系统服务函数库系统实用工具单独的API 函数COM 类文件、文档、目录源代码文件类库模板、表可执行文件动态链接库完整性服务包装软件复用硕士研究生课程构件的分类(2/2)•纯计算构件:具有简单的输入/输出关系,无运行状态的变化。
如数值计算、过滤器、转换器等•存储构件:存放共享的、永久性的数据。
如数据库、文件、符号表、超文本等•管理构件:执行的操作与运行状态紧密耦合。
如抽象数据类型、服务器、对象•控制构件:管理其他构件运行的时间、时机及次序。
软件复用硕士研究生课程复用驱动的软件工程计算机与信息学院软件复用硕士研究生课程声明软件复用硕士研究生课程一、复用驱动的软件工程业务(Business)二、复用要从经济方面考虑三、RSEB的业务特征四、结构组件与应用系统五、软件工程过程六、建立与管理复用业务一、复用驱动的软件工程业务软件复用硕士研究生课程•Reuse-Driven Software Engineering is aBusiness–What does this mean?–15% of software projects fail to deliver anything(Demarco, 1992)从单一项目的开发转向基于复用的开发,会极大地提高公司所面临的复杂性。
新机构不得不被软件复用牵引,复用必须作为业务(Business)运作。
软件复用硕士研究生课程•软件公司(Organizations)面临的压力:–Reduce time to market–Reduce the cost of the product–Improve the productivity of the organization–Improve the predictability of the process–Increase the reliability of the products–Increase the quality of the product软件复用硕士研究生课程•你不一定需要Reuse business:–You construct small programs–You construct programs with limitedsimilarity to other programs–You are buried in an organization withoutmuch hope for software process improvement二、复用要从经济方面考虑软件复用硕士研究生课程1、简单估计复用成本(1)开发典型应用系统成本是:C=开发没有复用的典型应用系统成本无复用(2)引入复用,从一组组件系统导入软件的某部分R 复用率R=被复用组件的规模/应用系统规模(3)复用会比完全从零开发成本低F=复用一个组件的相对成本使用一般为0.1~0.25, 取0.2做默认值。
程软件开发模型及方法计算机与信息学院2010.12程声明•本课件为计算机及信息工程学院2010级硕士研究生课程《软件复用》专用;•本课件为非正式出版物,仅供选课同学参考,不得外传。
如有不当之处,欢迎指正、交流;•在制作本课件的过程中,参阅了大量的学术论文、论著和教材,有些没有一一列举,对它们的作者表示真诚的感谢。
程在大型软件应用系统或特定领域中一族相关的软件应用系统的开发中,如何确定哪些是应以可复用构件形式存在的部分、怎样以一种系统的方式进行处理等问题要比单单写出一个可复用构件要复杂的多,也重要的多,因为这些问题关系到整个应用系统或应用系统族的结构和可维护性,从而影响到软件产品的开发效率和质量。
应用软件复用技术的软件开发方法的研究来解决这个问题.软件——计算机系统中的程序及其文档。
程序是计算任务的处理对象和处理规则的描述;文档是为了便于了解程序所需的阐明性资料。
课程介绍软件复用硕士研究生课程一、软件开发模型二、软件开发方法三、复用驱动的软件开发简介一、软件开发模型软件复用硕士研究生课程软件开发模型是软件开发全部过程、活动和任务的结构框架。
软件开发模型能清晰、直观地表达软件开发全过程,明确规定了要完成的主要活动和任务,用来作为软件开发工作的基础。
最早出现的软件开发模型是1970年W.Royce提出的瀑布模型,而后随着软件工程学科的发展和软件开发的实践,相继提出了原型模型、演化模型、增量模型、喷泉模型等。
软件复用硕士研究生课程1、瀑布模型分析编码50年代末:二级模型“做什么”“编程-实现”需求分析设计编码测试运行瀑布模型雏型程系统需求软件需求需求分析设计编码测试运行1970年,W.Royce 将雏型进一步精化其中:每一阶段具有以下特征:∙从上一阶段接受工作对象,即输入;∙对这一输入实施本阶段的工作∙给出本阶段的结果作为输出。
程系统需求软件需求需求分析设计编码测试运行瀑布模型∙活动如瀑布流水式的组织∙规定每一活动的工作对象和输出∙评审、确认和反馈特点软件复用硕士研究生课程•支持开发结构化软件•阶段的顺序性和依赖性•为软件开发和维护提供有效的管理模式,质量保证•特点:适用于小型系统的开发,不够灵活,不适合需求模糊的系统问题:无法通过开发活动澄清本来不确切的软件需求维护、甚至返工的代价由于顺序固定,前期阶段工作造成差错,越到后期造成的损失越大。