软件开发的四大危机及避免方法
2015-06-23 15:33:08 访问:
从软件开发危机的种种表现和软件开发作为逻辑产品的特殊性可以发现软件开发危机的原因:
(1)用户需求不明确
在软件开发过程中,用户需求不明确问题主要体现在四个方面:
在软件开发出来之前,用户自己也不清楚软件开发的具体需求;
用户对软件开发需求的描述不精确,可能有遗漏、有二义性、甚至有错误;
在软件开发过程中,用户还提出修改软件开发功能、界面、支撑环境等方面的要求;
软件开发人员对用户需求的理解与用户本来愿望有差异。
(2)缺乏正确的理论指导
缺乏有力的方法学和工具方面的支持。由于软件开发不同于大多数其他工业产品,其开发过程是复杂的逻辑思维过程,其产品极大程度地依赖于开发人员高度的智力投入。由于过分地依靠程序设计人员在软件开发过程中的技巧和创造性,加剧软件开发产品的个性化,也是发生软件开发危机的一个重要原因。
(3)软件开发规模越来越大
随着软件开发应用范围的增广,软件开发规模愈来愈大。大型软件开发项目需要组织一定的人力共同完成,而多数管理人员缺乏开发大型软件开发系统的经验,而多数软件开发人员又缺乏管理方面的经验。各类人员的信息交流不及时、不准确、有时还会产生误解。软件开发项目开发人员不能有效地、独立自主地处理大型软件开发的全部关系和各个分支,因此容易产生疏漏和错误。
(4)软件开发复杂度越来越高
软件开发不仅仅是在规模上快速地发展扩大,而且其复杂性也急剧地增加。软件开发产品的特殊性和人类智力的局限性,导致人们无力处?复杂问题"。所谓"复杂问题"的概念是相对的,一旦人们采用先进的组织形式、开发方法和工具提高了软件开发效率和能力,新的、更大的、更复杂的问题又摆在人们的面前。
3 如何克服软件开发危机
人们在认真地研究和分析了软件开发危机背后的真正原因之后,得出了"人们面临的不光是技术问题,更重要的是管理问题。管理不善必然导致失败。"的结论,便开始探索用工程的方法进行软件开发生产的可能性,即用现代工程的概念、原理、技术和方法进行计算机软件的开发、管理和维护。于是,计算机科学技术的一个新领域--软件开发工程诞生了。
软件开发工程是用工程、科学和数学的原则与方法研制、维护计算机软件开发的有关技术及管理方法。软件开发工程包括三个要素:
(1)方法。软件开发工程方法为软件开发提供了"如何做"的技术,是完成软件开发工程项目的技术手段;
(2)工具。软件开发工具是人类在开发软件开发的活动中智力和体力的扩展和延伸,为软件开发工程方法提供了自动的或半自动的软件开发支撑环境;
(3)过程。软件开发工程的过程则是将软件开发工程的方法和工具综合起来以达到合理、及时地进行计算机软件开发的目的。
迄今为止,软件开发工程的研究与应用已经取得很大成就,它在软件开发方法、工具、管理等方面的应用大大缓解了软件开发危机造成的被动局面。