查字典论文网 >> 软件工程发展过程中的问题研究

软件工程发展过程中的问题研究

小编:那兴波

软件工程是研究和应用如何以系统性的、规范化的、可定量的过程化方法去开发和维护软件,以及如何把经过时间考验而证明正确的管理技术和当前能够得到的最好的技术方法结合起来的学科。我们究竟是将软件的开发看成一门科学,还是将其看成是一门工程,关于这个问题已经讨论了很长时间了。事实上,软件的开发具备这两者的特征。但是我们不能将二者混淆了。大多数人认为软件工程基于计算机科学和信息科学就像是传统意义上的工程学之于物理和化学。在世界各个国家,尤其是美国大约有40%的软件工程师都有计算机科学的学位。他们可能不经常运用到计算机科学上的知识,但是会经常运用到软件工程上的知识。许多应用都需要软件工程,在软件开发的许多程序中也需要软件工程。软件工程的主要作用就是指导软件项目的方方面面。在软件工程中,软件开发与各种市场活动紧密相连。软件工程的方法学认为程序员在开发软件的时候是处在一个团队中的,而且在编写程序时要符合软件的需求,设计,以及客户的利益。

伴随着开发技术的不断进步,软件开发过程也在不断的改进。从早期的瀑布式(Waterfall)的开发模型直到最近开始兴起的敏捷开发方法(Agile),表现出来的是随着时代的变化,软件产业对于开发过程的认识也在不断的变化,对于各种类型项目的理解方法也在发生着变化。在美国曾经有权威机构对软件组织的绩效做过评估,所得到结论是:软件工程的专业分工不足,是造成品质低落、时程延误、预算超支的最关键因素。2003年,The Standish Group年度报告指出,在他们调查的13522个专案中,有66%的软件专案失败、82%超出时程、48%推出时缺乏必需的功能,总计约550亿美元浪费在不良的计划、预算或软件估算上。

1软件工程的需求分析

有一种观点认为软件工程是学习怎么做软件的,对吧?我认为,这种观点算对,但不是全对。得到一个软件产品,自然是软件工程的目的所在,但是软件工程所包含的却不仅仅是这些。就拿软件业界比较常见的例子来给大家讲一下,这个例子就是盖房子,我们盖房子,是不是就买块地,然后准备好建材,就哐当哐当地开始建房子了呢?大家明白不是这样,要建好一座房子,先要对土地进行测量勘察,确定可以在上面建房屋,之后还得先规划出整个房子的蓝图来,接下来才是对根据蓝图开始建房子。建好房子后,还得经过一些检测,比如甲醛有没有超标啊,包工头有没有偷工减料啊,这些都合格之后才能交付使用。于是有人入住了,住久了,发现浴室漏水,那就得修补一下。再住久了,住了几十年,房子旧得不成样子了,这时候它的寿命也到了终点了。

软件工程之所以叫软件工程,就是因为它使用了工程学方法来帮助软件开发,建筑也是一门工程学,所以它们之间是会有些共通之处的,不信?请看:首先,我们在对土地进行测量勘察的时候,是在确定它是否适宜建房子,在软件工程上来讲,这个术语叫可行性分析,可行性分析的任务就是确定开发这个软件是否在技术上可以做到,在资金上有充足支持,在市场上能够受欢迎,如果答案是肯定的,那么就可以继续下一步的开发步骤。规划出房子的蓝图,在软件工程上被分为两个过程:需求分析、设计。需求分析就是得到软件需要做什么,需要实现什么功能。而设计就是告诉开发人员怎么实现这些功能。也就是规划出软件的一个蓝图,在编码阶段再对其进行实现,这就对应着建房的关键阶段,就是按照蓝图盖好房子啦。房子在入住前需要检测是否合格,软件在交付给用户使用的时候自然也需要检测是否合格,这个阶段叫做测试。检测合格了,那就可以交付给用户使用,在市场上销售。软件不可能完美无缺,所以在使用过程中,一定会出现某些问题,这时候就要将问题提交给软件开发人员,修复问题,这个阶段就是软件过程中的维护阶段。过了一段时间,这段时间可能很长,也可能很短,这软件已经不适应生产力的发展了,那么就可以正式宣告这软件寿终正寝了,至此,软件的生命周期才正式结束。软件生命周期包括制定计划、需求分析和定义、软件设计、程序编码、软件测试、运行维护这六个阶段,是指一个计算机软件从功能确定、设计直到不再使用该软件的全过程。

软件工程,正是贯穿在一个软件的整个生命周期中的。从开发某个软件的计划被提起或者立项,软件工程就开始发挥着作用,用自己的一套方法体系,来指导软件开发的整个过程。因此软件工程不等于编程,编程只是软件工程整个过程中的一个重要环节而已。据统计,在整个开发周期中,平均编码这个过程只占了整个周期的大约30%的时间。

2软件工程原则

软件工程学主要是用来对软件开发和维护进行指导,是为了经济地获得能够在实际机器上有效运行的可靠软件而建立和使用的一系列完整的工程化原则。它充分的运用计算机科学、数学及管理科学等方面的知识,并借鉴传统工程的原则、方法来完成开发软件的任务,这样就能够最大限度的开发高质量的软件,并且能够减少成本。

3结语

研究传统的软件工程,我们就会发现,传统的软件工程方法曾经给软件产业带来巨大进步,部分的缓解了软件危机,使用这种方法开发的许多中、小规模软件项目都获得了成功。但是随着大型软件产品的不断开发,传统软件工程方法已经不能够满足大型软件产品的开发需求。而目前面向对象方法已经成为人们在开发软件时首选的范型。面向对象技术已经成为当前最好的软件开发工具。

热点推荐

上一篇:关于软件工程管理的现状和创新分析

下一篇:如何对幼儿进行德育教育论文 幼儿园关于德育教育之类的论文

招标策划心得(优秀17篇) 最新科教工作计划和总结八篇(优秀)