软件工程

摘 要:软件工程专业是计算机领域发展最快的学科分支之一,软件工程(SoftwareEngineering,简称为SE)是一门研究用工程化方法构建和维护有效的、实用的和高质量的软件的学科.这一学科包括许多的内容,具体来讲有程序设计语言,数据库,软件开发工具,系统平台,标准,设计模式等.当今社会,网络化迅速发展,软件的应用领域越来越广.现在比较普遍的软件有电子邮件,人机界面,办公套件,操作系统,游戏等.目前,基本上每个行业都会某种程度的运用到计算机软件.这些应用对于推动经济和社会的发展起到了举足轻重的作用,提高了工作效率,改善了人们的生活质量.

关 键 词:软件工程计算机领域程序设计开发工具设计模式生命周期、软件开发

1概述

软件工程是研究和应用如何以系统性的、规范化的、可定量的过程化方法去开发和维护软件,以及如何把经过时间考验而证明正确的管理技术和当前能够得到的最好的技术方法结合起来的学科.这一学科包括许多的内容,具体来讲有程序设计语言,数据库,软件开发工具,系统平台,标准,设计模式等.当今社会,网络化迅速发展,软件的应用领域越来越广.现在比较普遍的软件有电子邮件,人机界面,办公套件,操作系统,游戏等.目前,基本上每个行业都会某种程度的运用到计算机软件.这些应用对于推动经济和社会的发展起到了举足轻重的作用,提高了工作效率,改善了人们的生活质量.


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

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

2软件工程的需求分析

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

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

我们还要注意,软件生命周期包括制定计划、需求分析和定义、软件设计、程序编码、软件测试、运行维护这六个阶段,是指一个计算机软件从功能确定、设计直到不再使用该软件的全过程.

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

3软件工程原则

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

类似论文

基于软件工程的Web开发与应用

[摘 要]介绍了Web工程及其与传统软件工程的显著区别,讨论了一种具体的、切实可行的实。
更新日期:2024-1-24 浏览量:21168 点赞量:5947

计算机软件工程管理

摘 要:随着信息技术的发展,计算机得到广泛的应用 而计算机软件开发项目也向越来越广泛的领域延伸,。
更新日期:2024-9-12 浏览量:116603 点赞量:24902

基于软件工程方法的信息工程监理的

摘 要信息工程监理是指依法设立且具备相应资质的信息工程监理方,受到建设方委托,依据国家有关法律法规、技术标准和信息工程监理合同。
更新日期:2024-6-26 浏览量:83910 点赞量:18998

自动化文翻译软件工程设计

论文格式要求一、总的要求 全文一般不超过8000汉字(约4000英文单词),每篇论文均应有中英文两种文字的标题,作者,姓名,单位和不超。
更新日期:2024-3-23 浏览量:45152 点赞量:10678

关于优化计算机软件工程管理的

【文章摘 要 】 在信息化高度发达的社会,计算机软件应用促进了经济和社会的发展,也提高了工作和生活效率 在计算机专业发展的如火如荼。
更新日期:2024-1-5 浏览量:8162 点赞量:3422

软件工程专业的“双师型”队伍建设

文章编号:1672-5913(2013)21-0019-04中图分类号:G642摘 要:软件工程专业的人才培养目标、软件。
更新日期:2024-10-17 浏览量:132095 点赞量:28817

软件工程省级精品课程

软件工程省级精品课程介绍《软件工程》是的核心课程软件工程技术涉及软件开发的各个阶段 传统《软件工程。
更新日期:2024-8-28 浏览量:106488 点赞量:22914

关于软件工程开发与应用的

【文章摘 要】随着现代科学技术的发展,现代信息化的普及,对计算机硬件、软件的配置要求越来越高 我们需要了解计算机技。
更新日期:2024-2-3 浏览量:8275 点赞量:3189