版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
UML系统建模及系统分析与设计软件复用与软件构件技术软件复用与软件构件技术7.1软件复用技术的发展与应用7.1.1软件复用技术的发展1.1968——1978年:萌芽、潜伏期2.1979——1983年:再发现期3.1983——1994年:发展期4.1994年至今:成熟期
7.1.2软件复用的形式按抽象程度的高低,软件的复用可以划分为如下级别,如图7.1所示。
代码构件复用设计结果复用分析结果复用测试信息复用主要包括测试用例的复用和测试过程信息的复用。受实际环境影响小,可复用机会多,所需修改少。针对问题域的某些事物或某些问题的抽象程度更高的解法。针对问题域的某些事物或某些问题的抽象程度更高的解法。抽象程度高低图7.1软件复用的级别7.1.3软件复用的类型与优点1.软件复用的类型软件复用可以分为横向复用和纵向复用两种类型。2.软件复用的优点⑴提高生产率⑵减少维护代价⑶提高互操作性⑷支持快速原型⑸减少培训开销
7.1.4可复用软件构件的生产与使用1.可复用软件构件的开发思路图7.2基于构件的软件开发基本思路构件需求,领域分析构件库构件开发与维护构件设计和实现构件测试采购新构件从已有系统中发掘、提炼构件开发新构件应用系统开发设计软件体系结构检索、获取构件组装应用系统2.可复用软件构件的使用⑴构件分析与设计⑵构件实现及局部测试。⑶基于构件的应用程序组装。⑷应用系统整体测试。3.采用构件编程的优势⑴面向对象编程的重用属于白盒复用,是对源代码的复用,而构件复用可以是黑盒复用,使用者可以不对它进行继承、重载等操作而直接使用。⑵面向对象编程的复用要受到其开发环境的制约,如用C++产生的类很难在以ObjectPascal为开发语言的项目中复用,而构件复用则不然。⑶面向对象编程的复用是基于源代码级的,而很多程序员出于技术保密,不会公开其源代码,这使得研究成果的复用范围很小。采用构件就不一样了,因为构件是一段二进制码,其内部具体实现是无法看到的,可以将成熟的构件当作商品出售,可有效地重用他人已有的劳动成果。7.1.5可复用软件的生产与复用1.可复用软件的生产过程⑴领域分析⑵建立领域中特定的体系结构模型⑶识别将要建立或准备复用的候选构件⑷完成共性/差异分析⑸再造可复用构件⑹构件的封装2.基于复用的应用系统构造领域需求分析领域设计领域实现需求分析应用系统结构设计系统构件分析、设计、编码、测试领域需求领域体系结构、构件原型系统系统需求领域需求应用系统需求库构件库已存在需求领域专家领域用户获取领域可复用需求可复用需求获取领域可复用设计设计方案所需新构件用户需求业务流程需求复用设计复用构件复用可复用构件原型系统开发面向复用开发所需构件获取领域可复用构件应用系统开发使用复用开发图7.3基于软件复用的信息系统开发模型7.1.6面向对象技术与软件复用的关系1.面向对象技术对软件复用的支持面向对象方法对软件复用技术提供了良好的支持。2.复用技术对面向对象的方法的支持面向对象的软件开发和软件复用之间的关系是相辅相成的。7.2软件构件技术7.2.1软件构件技术1.软件构件技术的发展历史2.软件构件技术的发展现状3.基于构件的软件复用的关键技术构件、构架获取构件标准化与描述构件分类、存储与检索获取构件组装领域工程软件再工程软件架构开放系统技术CASE技术图7.4基于构件的软件复用支持技术软件过程非技术因素7.2.2软件架构
1.软件架构的概念图7.6软件架构DSPDSP任务TaskNDSP/BIOSINThandlerMailboxTaskTask12…MPU应用程序SD驱动MTD驱动Keypad驱动USB驱动LCD驱动DSP驱动嵌入式Linux内核INThandlerQtQt/EmbeddedFramebuffer2.软件架构的要素一般而言,软件系统的架构(ArchitECture)有两个要素:
⑴它是一个软件系统从整体到部分的最高层次的划分。⑵建造一个系统所作出的最高层次的、以后难以更改的,商业的和技术的决定。3.软件架构的目标可靠性(Reliable)安全行(Secure)可扩展性(SCAlable)可定制化(CuSTomizable)可扩展性(Extensible)可维护性(MAIntainable)客户体验(CustomerExperience)市场时机(TimetoMarket)4.软件架构的种类⑴逻辑架构⑵物理架构⑶系统架构图7.7逻辑架构表象层
商业层
数据持久层HTML服务Session服务安全服务系统管理流管理多国语言支持权限服务系统整合服务报表服务任务管理缓冲服务表象服务交易服务文件导入服务登录服务DataAccessUserPrcferenceSSO服务主机系统关系数据库消息队列名录服务Servlet服务EJB服务定时服务Transport服务(Email,HTTPS)ApplicationServerWEBServer7.3软件再工程7.3.1软件运行维护遇到的问题1.软件维护费用高2.软件维护难度大3.软件资产数额巨大7.3.2软件再工程的概念再分析再编码再测试7.3.3软件再工程的模型1.传统的软件再工程模型实施实施实施重构重构重构用户需求系统实际需求系统实际需求系统实际需求现存系统逆向工程抽象阶段用户需求系统实际需求系统实际需求系统实际需求目标系统正向工程精化阶段用户需求变更重构描述重构设计重构编码再工程系统(功能、性能化)图7.8软件再工程通用模型系统需求获取功能模块确定函数、变量分离数据、程序分析逆向工程系统功能描述功能模块设定函数、变量设定数据、代码生成正向工程在描述再设计在设定再编码转换过程)图7.9结构化软件再工程模型2.面向对象软件再工程模型功能抽象、获取类、对象、方法确定划分代码分析、切分逆向工程正向工程重新描述重新构建重新编码新功能获取、描述类、对象、方法重新确定新生成代码用户需求变更图7.10面向对象的软件再工程模型3.Web化软件再工程7.3.4实用的重用战略界面重用策略2.逻辑层包装原则3.数据层重用策略7.3.5再工程活动类型级别1.系统级2.数据级3.程序级
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 初高中假期时间规划与安全管控课
- 律师委托代理合同(集合15篇)
- 关于开展生产计划调整的通知6篇范本
- 智能辅助软件开发流程规范指南
- 快乐校园:同学们的精彩瞬间小学主题班会课件
- 2026贵州省支线机场管理有限公司社会招聘24人笔试题库带答案详解AB卷
- 2026广西钦州市生态环境局招聘编外工作人员3人模拟试卷及答案详解(有一套)
- 2026江西南昌大学食品学院科研助理招聘1人模拟试卷含完整答案详解【网校专用】
- 2026年淮南师范学院科研助理招聘1名模拟试卷附答案详解【达标题】
- 广告公司创意设计项目团队协作流程优化手册
- 2026年新社区工作者考试题及完整附答案
- 2026年学法减分题库和答案
- 2026年部编版新教材语文六年级上册全册教案设计(含教学计划)
- 营销策划 -臭宝螺蛳粉X邓超营销方案
- 第一单元 文明的产生和古代亚非文明知识点提纲-2026-2027学年统编版九年级历史上册
- 民办培训机构消防安全教育课件
- 2026年重庆干部网络测试题及答案
- 2026-2030中国白色家电行业深度调研及投资前景预测研究报告
- 宠物美容师职业技能等级认定考试复习题库(附答案)
- 输血科质控小组工作制度
- 医学生求职简历模板
评论
0/150
提交评论