浅谈计算机应用软件开发技术
计算机硬件和软件组成了计算机使用的统一整体。因此,计算机资源应该既考虑硬件资源又考虑软件资源。软件资源包括系统软件和应用软件。系统软件是管理、监控、维护计算机的软件,如自检程序、操作系统等。应用软件是主要解决某些具体问题的软件,如学习管理软件、人事管理软件等。从功能上可以认为软件是利用计算机本身提供的逻辑功能,合理地组织计算机工作,简化或代替人们在使用计算机过程中的工作环境。因此,不论是支撑计算机工作还是支持用户应用的程序都是软件。在20世纪50、60年代人们是基于手工方式进行软件开发的,人们认为计算机软件就是程序。随着使用化、商品化、通用化、大型化软件的开发,软件设计者逐渐感到要有一定规范的文档以保证程序从设计、调试到运行的成功。这样,从20世纪70年代开始,认为软件不仅是程序还包括开发、使用、维护这些程序所需要的一切文档。到了20世纪80年代,国际标准化组织从软件工程的概念上更为全面地给软件定义为:计算机程序、实现此程序功能所采用的方法、规则以及与其关联的文档和在计算机上运行它所需要的数据都是计算机软件。
1.软件工程的概念
1.1软件工程概念提出
20世纪50、60年代开发大型系统软件用手工方式进行,其生产效率低、出错率高。这种状态不能满足日益增长的软件生产的需要,产生以下四个方面的问题。a.软件复杂性飞速增长;b.软件成本高;c.开发周期长;d.维护工作量大。即出现了软件危机现象。为了摆脱软件生产的这种局面,在1968年北大西洋公约组织的学术会议上,第一次提出了软件工程这个概念。
软件工程是开发和维护软件的规范化方法,它的指导思想是以处理工程问题(如建筑工程、机械工程等)一样的方法处理软件生产的全过程。为了指导这种软件生产的整个过程,产生了软件工程学。
1.2什么是软件工程学
软件工程学是研究和探讨如何利用当代的科学理论和技术指导软件的开发,以达到利用较少的投资获得高质量软件产品的目的科学。软件工程学既是边缘℉学科,又是一种综合性学科。它包括计算机科学、系统工程学、管理学、经济学、人体工程学和心理学等。
2.软件工程的发展
软件工程的发展,大体经历了三个时代,即程序设计时代、软件时代、软件工程时代。
2.1软件开发的三个阶段
ฬ 前面讲过用软件工程的方式生产软件的过程类似于机械、建筑工程生产产品的过程。如一个建筑工程(如立交桥、宾馆大厦等)从开始到结束,经历设计、施工和验收三个阶段。软件产品的生产也要经过定义、开发、维护的软件开发三个阶段。
2.2软件工程与其他工程科学不同之处
从上面建筑工程与软件二种产品开发阶段比较,可以看出:a.建筑工程流程图中,设计蓝图产生之后,往下的每一步没有回溯问题。
但在软件开发工程中,每一步都可能经历不只一次的修改和适应的回溯问题。b.软件交付使用后,还有一个运行维护问题,如运行后发现有隐藏错误、运行环境有变化、用户要求的变更等。
3.应用软件开发方法
一个大型的应用软件、如计算机辅助设计软件,大型仿真训练软件等,需要多人共同完成。为保证大型应用软件系统的开发质量,必须严格按照软件工程的思路和原则,采用软件的开发方法,使用软件工程提供的图示工具,组织软件人员协调一致地完成设计与开发任务。
现应用的软件开发方法主要有三种:软件生命周期法、原型化方法、自动形式的系统开发方法。
3.1软件开发的生命周期法
生命周期方法是从时间角度对软件的定义、开发和维护的复杂问题进行分解,分成若干个阶段。每个阶段的开始和结束都有严格的标准(前一阶段的结束就是后一阶段的开始。标准就是每个阶段都应该交出高质量的文档。软件生命周期一般分为六个时期,即六个阶段。
3.2原型化方法
✉ 传统的生命周期法的理论 ﭢ基础较为严密。一般说来,在软件开发过程中,首先要经过严格的定义或预先说明,并要求软件开发人员和用户在系统的开发初期就要对整个的功能和信息需求做出全面、准确而深刻地认定。通常用户给出概括性的软件目标而无法描述详细的输入、处理或输出需求。而软件开发人员也可能尚 ッ未确定处理算法的效果、操作系统的适用性及即将使用的人机界面形态。在这种情况下,对事务只有边干边认识,原型化方法就是基于这一主导思想。
3.3原型的三种形态
(1)纸上原型。这种纸张和墨水的模型解释了软件上的一些特征。
(2)工作原型。制作所需软件中的一部分功能,让其在计算机上执行,可使用户和开发者在一定程度上了解即将被开发的程序。
(3)现有原型。利用一个可运行的现成程序,完成所需功能的部分或全部,但是有一部分必须在新开发的基础上加以改善。
3.4原型法开发过程
利用原型法开发软件大致经过可行性研究阶段、确定系统的基本要求阶段、建造原始系统阶段、用户和开发人员的评审阶段、开发人员修改系统阶段。
3.5自动形式的系统开发方法
这种方法的特点是采用第四代技术(4GT)包含的大量软件开发工具,使软件开发者只需说明软件所要实现的内容,而不必说明如何去实现。4GT软件工具根据系统要求确定规范,进行分析,自动设计,自动编码。结束语在软件工程中,不应武断地选择某种方法,应当由应用特性来决定所要采用的方法。往往采用以上方法相结合的模式,可加快软件开发的进度。