论文一篇-软件工程未来的发展

摘要:软件是现代科学技术发展的产物,随着其规模和复杂性的提高、适用范围的扩大,需要从技术和管理两方面对软件开发过程进行控制,本质是希望阮籍看系统的开发变得像工程学科中的产品生产一样。通过一系列的标准和规范,利用科学的技术、方法、工具和管理手段,以较低的陈本获得较高的质量,可维护性好的软件产品。

关键词:软件危机;体系结构;中间件

1.软件工程概述

1.1软件危机

最初,计算机应用与军用淋雨,20实际中期开始从军用领域转向民用领域。当时的计算机硬件价格不菲、处理能力有限,编程人员要编写出执行速度快、体积小的程序。程序中充满各种各样让人不解的方面。这是人们需要利用智力解决问题。

高级语言和操作系统的扩大,取决于计算机使用的范围,软件开发急剧增长的变化:因为出现大量数据处理,就导致第一代数据库管理系统的诞生。随着软件系统规模越来越大,复杂度越来越高,可靠性也被集中关注。并且随着软件产量的不断增加,软件维护越来越难,原来的个人设计、个人使用的方式不再能满足要求,迫切需要改变软件生产方式,提高软件生产率,软件危机开始爆发。

为解决软件危机,应该从应用计算机科学理论和技术以及工程管理原则和方法,按照预算和进度,实现满足用户要求的软件产品要求的软件产品的定义、开发、发布和维护的工程。从此也诞生了一门新的学科----软件工程。

1.2软件危机产生原因

软件危机产生的原因是因为计算机不断的发展而产生的,可以从软件危机的表现和特殊性发现,如下:

1)在需求分析阶段用户对软件希求的描写叙述肯呢过有漏洞,不太精细,有二义性,有错误,甚至在开发软件过程中,用户还能提出修改软件功能、界面、支撑环境等方面的要求;

2)用户本来的愿望与开发人员对用户需求的理解有不同吗,这就肯定会出现开发出来的产品与用户要求的不一致的情况;在软件开发出来之前,用户自己也不清楚软件的具体需求,所以用户对软件需求的描述不精确,可能有遗漏、有二义性、甚至有错误,在软件开发过程中;

3)大型软件项目需要组织一定的人力共同完成,多数管理人员缺乏像开发人员能够开发大型软件系统的经验,二对数软件开发人员又缺乏管理人员在管理方面的经验。由于过分地依靠程序设计人员在软件开发过程中的技巧和创造性,加剧软件产品的个性化,也是发生软件危机的一个重要原因;

4)软件项目开发人员不能有效地,独立地处理大型软件的全部事务,其中对于项目经理、工程组、测试组、保证组以及硬件管理组等无法很好的协调、分配,因此容易产生疏漏和错误;

5)软件产品的特殊性和人类智力的局限性,导致有些相对复杂的问题人们无法处理。

1.3软件危机具体表现

1)软件开发进度和软件开发成本不易预测并且不易控制;

2)投资较高,超出预算成本。随着计算机市场化和民用化的发展,代价和成本就成为投资者考虑的最重要的问题之一。未来加快进度和节约成本所采取的一些方法损害了用户的利益,这样必定不被用户接受;

3)用户不能满足产品功能。开发人员和用户之间很难沟通。多数情况是软件开发人员在需求分析阶段不能真正了解用户的需求么人用户有不了解计算机内部的解决问题方法,双方无法用共同熟悉的语言进行交流和描述;

4)软件产品质量无法保证。对于任何一个软件产品都不能说没有错误,俄日是错误很难发现,原因是用了不恰当的检测手段,这些没有被发现的错误往往是造成重大事故的隐患;

5)软件产品难以维护。软件产品本质上是开发人员的代码化的逻辑思维活动,他人难以替代。除非是开发者本人。

1.4软件危机解决方法

1)充分吸收和借鉴长期以来有效的原理、概念、技术方法以及有效的经验教训;

2)进过长期的使用,总结出经验,推广出更好的技术方法;

3)一切方法技术都是有相应的工具支撑,所以想要推广出更好的技术方法,就要有与之配备的工具,这样就需要一个良好的开发运行环境;

2.未来发展

冯·诺依曼模型一直被沿用,没有变化,但是计算机应用能力以明显改变,比如提升CPU计算能力已经越来越困难,未来发展趋势主要集中需求工程、迭代、集成,具体如下:

1)需求工程:专业化的角色,日益复杂的业务创新,这些都对需求获取的正确性和有效性提出了更高的要求。

2)迭代和敏捷,逐渐成为标准:在迭代化的方法中,我们将整个项目的开发目标划分成一些更易于完成和达到的阶段性小目标,随着软件交付周期的日益加快,这些小目标都有一个定义明确的阶段标准。但是迭代对整个团队的架构、需求、及测试能力都提出更高的要求,现在许多开发团队都在试图导入迭代化开发的过程,迭代是敏捷的推动力,掌握迭代,敏捷的大部分事情往往就迎刃而解了。敏捷可是被看成迭代化开发的一种导入方式;

3)保证迭代:通过持续集成可以保证代码质量。持续集成相关的工具成为现在市场上的新热点。

5.结束语

随着软件技术和硬件技术的不断发展,解决软件工程的各种困难、开发软件工程各种新技术已经变得越来越容易,但是随着软件开发的不断扩展,问题也会不断出现,这就需要人们不断的探索,不断思考,这样才会给软件行业带来新天地。

参考文献:

[1]徐顺成,中国软件产业的现状与未来[J].中国科技产业,2001(11)

你可能感兴趣的:(论文一篇-软件工程未来的发展)