欢迎来到天天文库
浏览记录
ID:19662945
大小:64.12 KB
页数:7页
时间:2018-10-04
《计算机应用软件工程的提出与方法》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、计算机应用软件工程的提出与方法摘要:目前比较认可的一种定义认为:软件工程是研究和应用如何以系统性的、规范化的、可定量的过程化方法去开发和维护软件,以及如何把经过时间考验而证明正确的管理技术和当前能够得到的最好的技术方法结合起来。关键词:计算机;应用软件;工程;提出;方法软件作为计算机的灵魂,从计算机诞生之日起就主宰着计算机产业的发展。从二进制的指令到最先进的语音及图像识别系统,勾勒出了软件发展的趋势,即面向用户,方便用户,赢得用户。微软公司的成功有力地说明了这一指导思想在软件开发中的重要性。1软件工程的概念1.1“软件工
2、程”概念提出20世纪50、60年代开发大型系统软件用手工方式进行,其生产效率低、出错率高。这种状态不能满足日益增长的软件生产的需要,产生以下四个方面的问题。(1)软件复杂性飞速增长;(2)软件成本高;(3)开发周期长;(4)维护工作量大。即出现了“软件危机”现象。为了摆脱软件生产的这种局面,在1968年北大西洋公约组织的学术会议上,第一次提出了“软件工程”这个概念。1.2软件工程学概念软件工程学是研宄和探讨如何利用当代的科学理论和技术指导软件的幵发,以达到利用较少的投资获得高质量软件产品的目的科学。软件工程学既是边缘学科
3、,又是一种综合性学科。它包括计算机科学、系统工程学、管理学、经济学、人体工程学和心理学等。2软件工程的发展软件工程的发展,大体经历了三个时代,即程序设计时代、软件时代、软件工程时代。2.1软件开发的三个阶段前面讲过用软件工程的方式生产软件的过程类似于机械、建筑工程生产产品的过程。如一个建筑工程从开始到结束,经历设计、施工和验收三个阶段。软件产品的生产也要经过定义、开发、维护的软件开发三个阶段。2.2软件工程与其他工程科学不同之处从上面建筑工程与软件二种产品开发阶段比较,可以看出:(1)建筑工程流程图中,设计蓝图产生之后,
4、往下的每一步没有回溯问题。但在软件开发工程中,每一步都可能经历不只一次的修改和适应的回溯问题。(2)软件交付使用后,还有一个运行维护问题,如运行后发现有隐藏错误、运行环境有变化、用户要求的变更等。3应用软件开发方法一个大型的应用软件、如计算机辅助设计软件,大型仿真训练软件等,需要多人共同完成。为保证大型应用软件系统的开发质量,必须严格按照软件工程的思路和原则,采用软件的开发方法,使用软件工程提供的图示工具,组织软件人员协调一致地完成设计与开发任务。现应用的软件开发方法主要有三种:软件生命周期法、原型化方法、自动形式的系统
5、开发方法。3.1软件开发的生命周期法生命周期方法是从时间角度对软件的定义、幵发和维护的复杂问题进行分解,分成若干个阶段。每个阶段的开始和结束都有严格的标准(前一阶段的结束就是后一阶段的开始。标准就是每个阶段都应该交出高质量的文档。软件生命周期一般分为六个时期,即六个阶段。3.2原型化方法传统的生命周期法的理论基础较为严密。一般说来,在软件开发过程中,首先要经过严格的定义或预先说明,并要求软件开发人员和用户在系统的开发初期就要对整个的功能和信息需求做出全面、准确而深刻地认定。通常用户给出概括性的软件目标而无法描述详细的输入
6、、处理或输出需求。而软件开发人员也可能尚未确定处理算法的效果、操作系统的适用性及即将使用的人机界面形态。在这种情况下,对事务只有边干边认识,原型化方法就是基于这一主导思想。4软件工程开发的目标4.1可修改性容许对系统进行修改而不增加原系统的复杂性。它支持软件的调试与维护,是一个难以达到的目标。4.2有效性软件系统能最有效地利用计算机的时间资源和空间资源。各种计算机软件无不将系统的时/空开销作为衡量软件质量的一项重要技术指标。4.3可靠性对于实时嵌入式计算机系统,可靠性是一个非常重要的目标。因为软件要实时地控制一个物理过程
7、,一旦出现问题可能是灾难性的,后果将不堪设想。因此在软件开发、编码和测试过程中,必须将可靠性放在重要地位。4.4可理解性系统具有清晰的结构,能直接反映问题的需求。可理解性有助于控制软件系统的复杂性,并支持软件的维护、移植或重用。4.5可维护性软件产品交付用户使用后,能够对它进行修改,以便改正潜伏的错误,改进性能和其他属性,使软件产品适应环境的变化,等等。由于软件是逻辑产品,只要用户需要,它可以无限期的使用下去,因此软件维护是不可避免的。4.6可重用性可重用的软部件有的可以不加修改直接使用,有的需要修改后再用。可重用软部件
8、应具有清晰的结构和注解,应具有正确的编码和较低的时/空开销。4.7可适应性软件在不同的系统约束条件下,使用户需求得到满足的难易程度。适应性强的软件应采用广为流行的程序设计语言编码,在广为流行的操作系统环境中运行,采用标准的术语和格式书写文档。适应性强的软件较容易推广使用。4.8可移植性软件从一个计算机系统或环境搬到另
此文档下载收益归作者所有