软件再工程:历史、挑战与重用的重要性
需积分: 15 60 浏览量
更新于2024-07-31
收藏 247KB DOC 举报
软件再工程是一种针对现有软件系统进行深入分析和重构的过程,旨在提高系统的可重用性、可维护性和效率。它的起源可以追溯到1988年,随着“千年虫”问题的暴露,全球范围内开始了大规模的软件修复工作,这也推动了软件再工程的关注和实践。软件再工程的核心目标是通过重用和改进既存系统中的非可重用组件,减少重复劳动,降低开发成本,同时确保系统的兼容性和稳定性。
在软件工程理论的发展中,重用被视为一个重要的里程碑,标志着软件工程进入了再工程时代。最初的再工程活动,如“Y2K”改造,主要是由于技术危机驱动的应急响应,但它们揭示了软件系统的长期维护和升级需求。随着硬件的快速发展,软件生产率的增长速度相比之下显得缓慢,导致新开发与维护任务的比例发生了显著变化,维护活动占据了主导地位。
据统计,发达国家的软件维护开发在90年代末期已经占据了软件开发总量的80%以上,这表明软件系统的持久性和历史积淀的重要性。尽管只有20%的软件受到了“千年虫”影响,但这些遗留系统在关键领域的应用依然广泛,如金融、军事等。此外,硬件和操作系统的快速迭代迫使软件必须具备更高的环境适应性,这也促使了软件再工程的需求。
因此,软件再工程不仅仅是关于代码的简单重写,它涉及系统架构的优化、技术债务的管理、模块化设计的提升,以及确保软件在不断变化的技术环境中保持竞争力。通过再工程,企业能够提高软件的复用价值,降低开发成本,同时提高软件的质量和生命周期内的整体价值。在未来,随着技术进步和业务需求的演变,软件再工程将继续扮演着关键角色,助力软件行业的持续创新和发展。
2012-12-19 上传
2008-11-18 上传
2021-10-07 上传
2022-01-24 上传
2022-11-14 上传
2021-09-21 上传
2022-11-12 上传
2022-11-23 上传
pangpang514
- 粉丝: 1
- 资源: 50
最新资源
- 开源通讯录备份系统项目,易于复刻与扩展
- 探索NX二次开发:UF_DRF_ask_id_symbol_geometry函数详解
- Vuex使用教程:详细资料包解析与实践
- 汉印A300蓝牙打印机安卓App开发教程与资源
- kkFileView 4.4.0-beta版:Windows下的解压缩文件预览器
- ChatGPT对战Bard:一场AI的深度测评与比较
- 稳定版MySQL连接Java的驱动包MySQL Connector/J 5.1.38发布
- Zabbix监控系统离线安装包下载指南
- JavaScript Promise代码解析与应用
- 基于JAVA和SQL的离散数学题库管理系统开发与应用
- 竞赛项目申报系统:SpringBoot与Vue.js结合毕业设计
- JAVA+SQL打造离散数学题库管理系统:源代码与文档全览
- C#代码实现装箱与转换的详细解析
- 利用ChatGPT深入了解行业的快速方法论
- C语言链表操作实战解析与代码示例
- 大学生选修选课系统设计与实现:源码及数据库架构