要点为什么开发软件是困难的 |
软件开发 / 2012/10/1 8:19:09 |
[核心提示] 1.应用领域的复杂性。2.不同的背素知识和不同的职业术语使人与人之间的有效交流变得困难。3.自然语言固有的歧义性。4.深刻领会大系统的细节比较困难。 |
 |
就开发软件困难洛阳软件开发顾问有些不同的看法:如下:
1.应用领域的复杂性。
2.不同的背素知识和不同的职业术语使人与人之间的有效交流变得困难。
3.自然语言固有的歧义性。
4.深刻领会大系统的细节比较困难。
一个软件从定义、开发、使用和维护,直到最终被废弃,要经历一个漫长时期,通常把软件经历的这个漫长的时期称为软件生存周期。软件开发最初的工作应是问题定义,也就是确定要求解决的问题是什么;然后要进行可行性研究,决定该问题是否存在一个可行的解决办法;接下来进行需求分析,即深入具体地了解用户的要求,在所要开发的目标系统必须做什么这个问题上和用户取得完全一致看法。
经过上述软件定义时期的准备工作才能进入开发时期,而在开发时期首先需要对软件进行设计(分总体设计和详细设计、然后才能进入编写程序的阶段。程序编写完之后还必须经过大量的测试工作(需要的工作量通常占软件开发全部工作量的40%-50%才能最终交付使用。
编写程序只是软件开发过程中的一个阶段,在典型的软件开发工程中,编写程序所需的工作量只占软件开发全部工作量的10%-20%。
另一方面,还必须认识到程序只是完整的软件产品的一个组成部分,在上述软件生存周期的每个阶段都要得出最终产品的一个或几个组成部分(这些组成部分通常以文档资料的形式存在、软件是程序以及开发、使用和维护程序需要的所有文档。一个软件产品必须由一个完整的配置组成,应该清除只重视程序而忽视软件配置其余成分的糊涂观念。
作好软件定义时期的工作,是降低软件成本,提高软件质量的关键。如果软件开发人员在定义时期没有全面正确地理解用户需求,直到测试阶段或软件交付使用后才发现“已完成的”软件不完全符合用户的需要,这时再修改就为时已晚。
在软件开发的不同阶段进行修改需要付出的代价是很不相同的。在早期引入变动,涉及的面较少,因而代价也比较低;而在开发的中期软件配置的许多成分已经完成,引入一个变动要对所有已完成的配置成分都做相应的修改,不仅工作量大,而且逻辑上更复杂,因此付出的代价剧增;在软件“已经完成”时再引入变动,当然需要付出更高的代价。图1.3是美国贝尔实验室统计得出的定量结果。
通过上面论述不难认识到,轻视维护是一个非常大的错误。许多软件产品的使用寿命长达10年甚至20年,在这样漫长的时期中不仅必须改正使用过程中发现的每一个潜伏的错误,而且当环境变化时(例如硬件或系统软件更新换代)还必须相应地修改软件以适应新的环境,特别是必须经常改进或扩充原来的软件以满足用户不断变化的需要。所有这些改动都属于维护工作,而且是在软件已经完成之后进行的,因此维护是极端艰巨复杂的工作,需要花费很大代价。统计数据表明,实际上用于软件维护的费用占软件总费用的55%- 70%。
软件工程学的一个重要目标就是提高软件的可维护性,减少软件维护的代价。了解产生软件危机的原因,澄清错误认识,建立关于软件开发和维护的正确概念,仅仅是解决软件危机的开始,全面解决软件危机需要一系列综合措施。
|
|
除非特别声明,伟创科技所有均为伟创原创报道,转载请注明原文链接。
原文地址:http://www.lywhy.com/SoftWare/View.asp?id=46
所属类别:软件开发 |
|
|
相关内容 |
|
猜你喜欢 |
|