第九讲 软件复用与构件化软件开发(Software Reuse and Software Design based Component
更新时间:2023-05-19 08:06:02 阅读量: 实用文档 文档下载
第九讲 软件复用与构件化软件 开发(Software Reuse and Software Design based Component)Welcome to Software Engineering Lecture 9 Zhang Jiannan, 2010 jiannanz@
内容软件复用与软构件的基本思想 基于构件的软件开发技术 软构件技术的发展现状
4.1软件复用与软构件的基本思想软件复用的定义 软构件的概念 软件复用的意义
1 软件复用的定义正式提出:1968年,D.Mcllroy在国际上首次讨论软件 工程的国际会议上建议建立生产软组件的工厂,用产 品目录上的软组件构成复杂系统,以作为解决软件危 机的一种的一种可能技术途径。 软件复用是指在两次或多次不同的软件开发过程中重 复使用相同或相似软件元素(通常称为可复用构件、 组件或软部件)的过程。 软件复用通常指复用“为了复用目的而设计的软件” 的过程。
2 软构件的基本概念软构件的类比软件IC !?
软件标准零部件 !?
2 软构件的基本概念构件是为组装服务的! 软件构件是指可以独立生产、获取和部署的、 可以被组装到一个功能性系统中去的可执行单 元。 软构件是标准的 标准的、可以互换的 互换的、经过装配 装配可随 标准的 互换的 装配 时使用的软件模块。
3 软件复用的意义软件复用的出发点是使软件系统的开发不再“一切从 零开始”,能够充分利用已有的知识和经验 充分利用已有的知识和经验。 充分利用已有的知识和经验 软件复用是在软件开发中避免重复劳动 避免重复劳动的解决方案。 避免重复劳动 通过软件复用,能够充分利用已有的开发成果,消除 软件开发个阶段的重复劳动,可以提高开发效率,见 地开发成本。 软件复用还可以避免全新开发可能引入的错误 避免全新开发可能引入的错误,从而 避免全新开发可能引入的错误 提高软件的开发质量。
4 软件复用技术的发展历史1968年的NATO软件工程会议上,Mcllroy在提交会议的论文 《大量生产的软件构件》中,提出了“软件组装生产线” 的思想。 70年代中:软件工厂研究实验 80年代后期: 构件库系统与构件分类技术的研究取得进展的方面:可复用构件的创建与分发、复用支持环境、 公司级复用计划。 问题:复用范围太狭窄,没有达到预期的在 软件生产力和质 量上的重大提高。 提出对软件复用的广义理解。
90年代:系统化复用 :对软件体系结构的认识 对过程的改进 复用业务组织
5 软件复用与过程改进CMM模型与软件复用思想不谋而和, Ivar Jacboson将 软件复用能力与CMM的级别对应起来:复用能力 没有可复用的构件 非标准的代码和模块复用 标准化的模块复用 体系结构及子系统的复用 复用时避免缺陷的复用 CMM级别 CMM
级别 1级 2级 3级 4级 5级
5 软件复用与过程改进级别 1 初始级 2 重复级 特点 软件开发过程是一个偶然的甚至无序的过程 很少有明确的定义 软件开发过程是一个偶然的甚至无序的过程,很少有明确的定义 成功 偶然的甚至无序的过程 很少有明确的定义,成功 完全依赖于个体的能力. 完全依赖于个体的能力 实施基本的项目管理 跟踪软件成本、进度和功能。依照以往项目成 实施基本的项目管理:跟踪软件成本 进度和功能。 基本的项目管理 跟踪软件成本、 功的经验来建立基本的过程规则, 功的经验来建立基本的过程规则,使得其他相似项目能重复以往的 成功。 成功。 软件过程的管理和实行方法都已文档化、标准化, 软件过程的管理和实行方法都已文档化、标准化,使开发商有一个 文档化 开发过程的标准。即所有项目都可以依照标准来开发和维护软件。 开发过程的标准。即所有项目都可以依照标准来开发和维护软件。 定义了评估软件过程和产品质量的度量。 定义了评估软件过程和产品质量的度量。利用此度量对软件过程和 度量 产品做出推断和控制。 产品做出推断和控制。 系统地引导新理念及技术的反馈,从而不断改进软件过程。 系统地引导新理念及技术的反馈,从而不断改进软件过程。
3 定义级 4 管理级 5 优化级
5 软件复用与过程改进CMM每上升一级都是软件复用能力的一大步 提升 CMM强调的是可重复性 可重复性,不止是软件的重用。 可重复性 希望做到:源程序重用模块重用 体系结构重用 专家思想重用
4.2 基于构件的软件开发技术1 软构件技术的产生90年代,基于构件的软件开发方法的研究和应用 开始兴起。 “构件化开发方法的兴起是源于面向对象开发方 法在软件复用方面的受到的挫折。” --------Ian Sommerville
2 软构件的基本形式
构件是可被用来构造其他软件的软件成分,基本形式可以是:
被封装的对象类 类树 功能模块 软件框架(framwork) 软件架构(或体系结构Architecture) 文档 分析件 设计模式等
3 基于构件的软件工程(CBSE)由两部分组成: 由两部分组成:
制造软件构件的技术(属于领域工程)。 使用软件构件的技术,也称“基于构件的软件开发”。 (Component Based Software Development,CBSD)
CBSE过程模型 过程模型领域知识 领域专家经验 现有系统资料 领域构架 领域分析 领域构 件需求
构件生产线构分析
件设计
开编程
发测试
构架细化构件/ 构件/构架库 领域构架 问题域 用户需求 系统 开发
构件提交
领 域 构 件
领域构件
系分析
统设计
组
装编程
系统 测试
专 用
构 件 开 发分析 设计 编程 测试
系统专用构件
应用 系统
系统生产线
CBSE关键技术构件模型; 构件描述语言; 构件分类与检索; 构件复合组装; 标准化; 软件构架。
4 软件构架与框架软件构架或架构都是指软件体系结构 (software Architecture )。体系结构是一个 软件系统从整体到部分的最高层次的划分。一 般包括三个部分:构件,用于描述计算; 连接 器,用于描述构件的连接部分;部署,将构件 和连接器组成一个有机整体。
软件构架与框架软件框架(Software Framework)是指面向某 领域(包括业务领域,如ERP,和计算领域, 如GUI)的、可复用的“半成品”软件,它实 现了该领域的共性部分,并提供一系列定义良 好的可变点以保证灵活性和可扩展性。可以说, 软件框架是领域分析结果的软件化,是领域内 最终应用系统的模板。
软件构架与框架的区别呈现形式不同。体系结构的呈现形式是一个 设计规约,而框架则是物理实现。 目的不同。体系结构的首要目的大多是指导 一个软件系统的实施与开发;而框架的首要 目的是为复用.因此,一个框架可有其体系 结构,用于指导该框架的开发,反之不然。
5 构件化软件开发的作用构件化软件开发是软件复用的有效方式,使 “软件组装生产线”成为可能!
构件化软件开发方法必将带来软件产业的革 命,将极大的提高软件的生产效率和质量!?
6 应用构件化软件开发的成功案例神州数码成功开发深圳国税Ctais2.0系统时间:2002 软件开发经费:1.2亿人民币
- 教学能力大赛决赛获奖-教学实施报告-(完整图文版)
- 互联网+数据中心行业分析报告
- 2017上海杨浦区高三一模数学试题及答案
- 招商部差旅接待管理制度(4-25)
- 学生游玩安全注意事项
- 学生信息管理系统(文档模板供参考)
- 叉车门架有限元分析及系统设计
- 2014帮助残疾人志愿者服务情况记录
- 叶绿体中色素的提取和分离实验
- 中国食物成分表2020年最新权威完整改进版
- 推动国土资源领域生态文明建设
- 给水管道冲洗和消毒记录
- 计算机软件专业自我评价
- 高中数学必修1-5知识点归纳
- 2018-2022年中国第五代移动通信技术(5G)产业深度分析及发展前景研究报告发展趋势(目录)
- 生产车间巡查制度
- 2018版中国光热发电行业深度研究报告目录
- (通用)2019年中考数学总复习 第一章 第四节 数的开方与二次根式课件
- 2017_2018学年高中语文第二单元第4课说数课件粤教版
- 上市新药Lumateperone(卢美哌隆)合成检索总结报告
- Software
- 复用
- 构件
- 软件开发
- Component
- Design
- Reuse
- based
- 软件
- 2011年春季武汉巨人教育七年级尖子班测试卷答题卡
- 计算机网络实验报告
- 教学经费定义、类别、使用及管理
- 九年级物理综合练习1
- 神河建管处监理工作管理办法
- 微生物实验室规范指导原则
- 四川农业大学《建筑构造(本科)》17秋在线作业满分答案
- 从韩企三星电子学习如何在中国成功进行跨文化管理
- 心理咨询师案例分析整理.
- 人教版美术七年级上册第二课_美术是个大家族
- 王明贤—综合性实验报告格式
- 线性代数第二章2-1矩阵的初等变换
- 小学教师学习实践科学发展观心得体会
- 安全检查表分析(SCL)记录表(设备、设施)
- 2.2《我国的干旱、洪涝、寒潮和台风》同步练习1(湘教版选修5)
- 怎么加盟把月儿湾婴儿游泳馆经营好
- 滚筒筛操作维护检修规程
- 财务人员考核制度
- 2015年银行校园招聘考试面试形式
- 浅谈网站在交换友链时三种最有效的方法