复用的图(牢记)

软件复用的好处

  1. 开发加速
  2. 有效的专家利用
  3. 提高可依赖性
  4. 降低开发成本
  5. 降低过程风险
  6. 符合标准

软件复用的缺点

  1. 创建,维护以及使用一个构件库
  2. 查找,理解以及适配可复用构件
  3. 维护成本增加
  4. 缺少工具支持
  5. “不是在这里发明的”综合症

应用框架

现在已经很清楚,在面向对象开发过程中,通过称为框架的更大粒度的抽象来支持面向对象的复用是最好的。
一组软件制品(例如,类、对象、构件)的有机集合,这些制品相互协作来为一系列相关的应用提供一个可复用的体系结构

  1. 框架为很有可能在所有相似类型的应用中使用的通用特性提供支持。
  2. 框架支持设计复用
  3. 框架是特定于语言的

软件产品线

  • 一个软件产品线是具有一个共性体系结构以及共享构件的一组应用

应用框架与软件产品线的区别

  1. 应用框架依赖于面向对象特性(例如,继承和多态)来实现对框架的扩展。软件产品线并不一定要使用面向对象方法进行创建
  2. 大部分应用框架提供了泛化的支持而不是特定领域的支持软件产品线通常包含详细的领域和平台信息
  3. 软件产品线经常是设备的控制应用。这意味着产品线必须为硬件接口提供支持应用框架通常是面向软件的,它们通常并不会包含硬件交互构件
  4. 软件产品线由一系列相关的应用族构成,属于同一个组织软件产品线的开发可以基于应用框架来展开

软件工程---15.软件复用相关推荐

  1. 【软件工程】软件复用

    软件复用 UML将复用定义为:已有人工制品的使用. 记住,除了继承,还可以通过其他方式进行复用,包括代码拷贝.在建模中的最大错误之一就是为了获得复用而强迫使用不适当的泛化,这种做法通常会造成混乱. 软 ...

  2. 软件工程15 个人阅读作业1

    Task1:注册个人博客账号 个人博客地址 https://www.cnblogs.com/bmr666/ Task2:注册码云账号 码云账号 https://gitee.com/bmr666 Tas ...

  3. 软件工程-第1章 绪论

    文章目录 软件工程 第一章 绪论 1.1 软件与软件危机 1.2 软件工程学的范畴 传统的软件工程 结构化开发方法 Jackson方法 原型化方法 HIPO法 面向对象软件工程 两类软件工程方法 1. ...

  4. 考研计算机软件与理论院校排名,计算机软件与理论专业考研院校排名

    以上排名仅供参考 计算机软件与理论专业考研院校排名 来源: 2011-01-20 10:55:06 编辑:sunrain 浏览次数:0 网友评论 0 条 20 转播至: 转播至 计算机软件与理论主要包 ...

  5. 003--北大考研计算机--考研经验贴

    05年硕士学位研究生专业目录 计算机系统结构 (081201) 人数:4801.指令级并行处理与线程级并行处理 02.系统芯片设计方法学 03.微处理器设计技术 04.软硬件协同设计 05.网络信息体 ...

  6. 大二计算机专业可以进实验室吗,计算机科学论坛--关于北大CS报考、复试以及实验室综合答疑,08考生必看[原创]...

    各位师弟,研友: 在我上一届师兄们的帮助下,这次我顺利考入北大计算机,非常感谢给过我关心和鼓励的各位朋友. 最近,很多师弟师妹给我发邮件,很多关于北大实验室和报考的疑惑,我现在就自己的一些经验给大家一 ...

  7. 计算机专业考研方向及院校排名(转)

    计算机考研方向有哪些主要分为下面几个部分: 1  计算机系统结构 计算机系统结构二级学科研究并行分布计算.新型计算机.计算机网络与通信.嵌入式系统.集成电路设计.信息存储.可信计算与容错计算等方向.其 ...

  8. html 第三次作业

    学生信息表 姓名 田英墨 英 墨 年龄 20 地址 北京联合大学 15级 专业 软件工程 15级 ! 自我介绍 1 2 3 4 5 6   7 8 9 转载于:https://www.cnblogs. ...

  9. 东华理工专科计算机应用,计算机专业考研:东华理工大学计算机应用技术专业介绍...

    1.计算机应用技术 分布式数据库与信息系统:基于网络环境下计算资源的布署.管理及应用技术:基于网络的各类大型分布式数据库的理论与应用.并行处理技术以及分布式数据库系统数据交换技术,解决大型信息系统构建 ...

最新文章

  1. Android菜鸟成长记4-button点击事件
  2. 【转】Java里如何实现线程间通信
  3. 【直播预告】如何设计性能更强的CNN模型
  4. 如何向 Microsoft 管理控制台添加证书管理器
  5. 数学的列向量内积计算方法
  6. 牛客第二场 G.League of Legends-单调队列优化dp
  7. Java Platform SE 8(Java™编程语言)
  8. android系统开发实验,基于Android智能手机的实验管理系统的设计与实现
  9. 95-180-040-源码-Watermark-简介
  10. OpenStack常见命令与问题集合
  11. linux小技巧--vim下多行注释和取消多行注释
  12. 说说封杀BT的几个理由
  13. iOS开发UI篇—无限轮播(循环展示)
  14. 爱普生Epson L1118/1119打印机清零步骤
  15. LitJson使用范例
  16. linux佳能打印机驱动下载,佳能lbp2900打印机驱动下载
  17. 英语学术论文简短语句摘抄
  18. 删除用户账户|win7系统怎么删除用户账户
  19. 去中心化身份(DID)赛道——构建Web3的社交通行证
  20. ABAP ALV(LVC)下拉框或者F4搜索帮助

热门文章

  1. django用户认证系统——登录4
  2. js中变量作用域的小理解
  3. maven2 + tomcat6 + eclipse集成配置
  4. 学习总结:机器学习(一)
  5. 您可能不知道的 C++ 关键字
  6. htc g7 android 4.4,HTC G7刷机,从WM手机刷到了安卓,开启了新的刷机体验....
  7. vb在服务器上新建文件夹,vb.net-如果不存在,如何在VB中创建文件夹?
  8. #获得请求来源ip_以太网数据包TCP、IP、ICMP、UDP、ARP协议头结构详解
  9. python求解三元一次方程_北师大版八上数学5.2 求解二元一次方程组 知识点微课精讲...
  10. Finally语句块的执行