1.2 软件危机与软件工程的产生
软件危机的表现
重要程度:8 分
<h2>软件危机的表现</h2>
<ul>
<li><strong>需求定义不明确:</strong> 项目开始时,用户的需求描述模糊不清或频繁变动。<br>
<em>例题说明:</em> 某软件开发团队接到一个开发在线教育平台的任务,但用户在初期仅表示希望有一个网站能提供课程视频和在线测试。随着项目的推进,用户不断提出新需求,如社交功能、个性化推荐等,导致开发进度严重滞后。</li>
<li><strong>成本和进度估计不准确:</strong> 开发成本和完成时间常常超出预期。<br>
<em>例题说明:</em> 一家公司计划开发一款财务管理软件,最初预计需要6个月和30万元人民币。但由于技术难度高于预期,实际开发周期延长至1年,总成本达到50万元。</li>
<li><strong>软件质量差:</strong> 产品中存在大量错误,可靠性低。<br>
<em>例题说明:</em> 一款手机应用程序在发布后不久就收到大量用户反馈,指出应用经常崩溃,数据丢失等问题。这些问题严重影响了用户体验和软件的市场口碑。</li>
<li><strong>软件维护困难:</strong> 维护工作复杂且成本高。<br>
<em>例题说明:</em> 一个企业资源规划系统在上线后,由于代码结构混乱,每当需要增加新功能或修复现有问题时,都需要花费大量的时间和人力,导致维护成本持续上升。</li>
<li><strong>用户需求变更频繁:</strong> 用户需求频繁变化,导致软件难以满足用户期望。<br>
<em>例题说明:</em> 一家医院希望开发一套病人管理系统,但在系统开发过程中,由于医疗政策的变化,用户不断提出新的需求,使得系统不得不多次修改设计,增加了开发难度和成本。</li>
</ul>