问题归结起来有:
(1) 缺乏软件开发的经验和有关软件开发数据的积累,使得开发工作的计划很难制定。主观盲目地制定计划,执行起来和实际情况有很大差距,致使经费预算常常突破。对于工作量估计不准确,进度计划无法遵循,开发工作完成的期限一拖再拖。
(2) 软件需求,在开发的初期阶段提得不够明确,或是未能得到确切的表达。开发工作开始后,软件人员和用户又未能及时交换意见,使得一些问题不能及时解决而隐藏下来,造成开发后期矛盾的集中暴露。
(3) 开发过程没有统一的、公认的方法论和规范指导,参加的人员各行其事。加之设计和实现过程的资料很不完整;或忽视了每个人工作与其他人的接口,发现了问题修修补补,使得软件很难维护。
(4) 未能在测试阶段充分做好检测工作,提交用户的软件质量差,在运行中暴露出大量的问题。在应用领域工作的不可靠软件,轻者影响系统的正常工作,重者发生事故,甚至造成生命财产的重大损失。
如果这些障碍不能突破,进而摆脱困境,软件的发展是没有出路的。
|
|