软件维护:有形与无形代价解析
需积分: 0 100 浏览量
更新于2024-07-13
收藏 3.5MB PPT 举报
软件工程是一门旨在解决软件开发和维护过程中遇到的严重问题的学科,它起源于20世纪60年代末的软件危机。软件危机是指由于软件开发成本估计不准确、产品质量不稳定、维护困难、文档缺乏、成本比例增加以及开发效率跟不上应用发展等多方面问题,导致软件开发过程中的种种挑战。这些问题促使人们开始重视软件工程的方法和技术,将其视为一门结合工程学和数学原理的交叉学科。
在软件生命周期的不同阶段,引入修改的成本差异明显。早期阶段(如需求分析阶段),如果需要改动,代价相对较低;随着软件的逐步发展,中期和后期的修改代价显著增加。因此,软件工程强调了需求分析的重要性,避免随意修改带来的高昂成本,同时也提倡采用成熟的开发技术和工具,如标准化的软件开发流程、项目管理方法以及有效的编程语言和设计模式。
软件工程通过以下途径来应对软件危机:
1. 推广成功的软件开发技术和方法,持续改进,寻找更高效的技术和工具。
2. 强调良好的组织管理和团队协作,确保软件项目的有序进行。
3. 提升软件开发的生产率,通过方法论和工具的创新减少不必要的维护成本。
1968年的NATO会议标志着软件工程这一术语的正式提出,自此,软件工程学科逐渐形成,它不仅关注软件开发,还包括软件维护的有形和无形代价。有形代价包括直接的经济支出,如人力成本、硬件升级等,而无形代价则涉及软件的可维护性、可读性和适应性等非货币成本。通过对这些成本的全面考虑,软件工程的目标是提高软件质量和可靠性,降低维护成本,从而缓解软件危机带来的影响。
2022-05-31 上传
2021-09-23 上传
2009-01-05 上传
2023-06-10 上传
2023-04-27 上传
2023-02-16 上传
2023-07-14 上传
2023-04-25 上传
2023-05-10 上传
![](https://profile-avatar.csdnimg.cn/14fd7a8e7eda49509778fb826742d8c7_weixin_42191359.jpg!1)
我的小可乐
- 粉丝: 25
- 资源: 2万+
最新资源
- Hadoop生态系统与MapReduce详解
- MDS系列三相整流桥模块技术规格与特性
- MFC编程:指针与句柄获取全面解析
- LM06:多模4G高速数据模块,支持GSM至TD-LTE
- 使用Gradle与Nexus构建私有仓库
- JAVA编程规范指南:命名规则与文件样式
- EMC VNX5500 存储系统日常维护指南
- 大数据驱动的互联网用户体验深度管理策略
- 改进型Booth算法:32位浮点阵列乘法器的高速设计与算法比较
- H3CNE网络认证重点知识整理
- Linux环境下MongoDB的详细安装教程
- 压缩文法的等价变换与多余规则删除
- BRMS入门指南:JBOSS安装与基础操作详解
- Win7环境下Android开发环境配置全攻略
- SHT10 C语言程序与LCD1602显示实例及精度校准
- 反垃圾邮件技术:现状与前景