4.1 计算机软件开发
计算机各种软件的数量在以惊人的速度膨胀的同时,软件规模也变得越来越大:数百万行代码、耗时几千人年投入开发出来的软件产品已经是司空见惯。面对如此庞大的软件开发工作,软件技术的提高也已成为计算机业致力开发的重心。
(1)软件开发演变
软件开发从其诞生之日起,就是针对人类所遇到的各种问题的。计算机发展初期,由于计算机硬件价格昂贵,计算机只为人们分担科学计算任务——计算速度快——这也是计算机的本质优点。这一时期,人们编写的计算机软件表现在纸带上——人们通过纸带上的针孔及其排列表达数据及机器指令,计算机的计算结果也通过纸带或信号灯展现出来。计算机用户需要编制从数据输入、数据读出、数据计算到计算结果输出一整套的程序。渐渐地,一些针对输入/输出、计算内部调度的标准化操作从软件开发中分离出来,也就形成了我们今天使用的操作系统,从而人们使用计算机的时候不再需要对硬件进行编程了。随着硬件的价格不断下降,人们交给计算机越来越多的工作,例如数据管理:在计算机中保存大量数据,在需要的时候可以快速找到。计算机为人类做的事情越来越多,从软件开发领域分离出来的标准化操作也就越来越多,从而形成了各种系统软件,例如数据库管理系统、工作流程管理系统、各种编程环境等。
在各种半成品软件层出不穷的同时,软件开发方法方面也有极大的进步,目前广泛采用了面向对象技术。面向对象技术通过类的继承和封装技术,使得大量代码可以重用,减少了软件开发的重复性劳动,为软件开发的发展起到巨大推动作用。
同时,为了更加方便软件开发,许多软件商提供图形化的软件生成工具。开发者通过图形化的方法开发设计软件,软件生成工具自动把开发者的设定转化为代码。开发者只需要针对一些特殊应用修改、调整编码即可。这样的工具很多,例如微软的网页编制工具FrontPage就是这样,模型分析工具Rational Rose的建模工具UML也可以将部分设计自动转换为数据库编码。
(2)软件测试与评价
对于成品软件,需要进行软件性能的测试与评价。
软件测试是软件开发过程的重要组成部分,是用来确认一个程序的品质或性能是否符合开发之前所提出的一些要求。软件测试就是在软件投入运行前,对软件需求分析、设计规格说明和编码的最终复审,这是软件质量保证的关键步骤。软件测试是为了发现错误而执行程序的过程。软件测试在软件生存期中横跨两个阶段:通常在编写出每一个模块之后就对它做必要的测试(称为单元测试)。编码和单元测试属于软件生存期中的同一个阶段。在结束这个阶段后对软件系统还要进行各种综合测试,这是软件生存期的另一个独立阶段,即测试阶段。
目前,企业大量使用计算机软件支撑业务系统,软件性能至关重要,渐渐形成第三方的软件测试个体。独立第三方的软件测试个体,通过对软件的测试,给予软件以公正的评价,作为软件资产评估、交付使用的重要依据。
通常,软件性能评价有以下几个参考指标:
①可靠性评价:可靠性通常包括软件的正确性和软件的健壮性两方面。软件的正确性是指软件系统本身没有错误,并满足功能说明书的要求;软件的健壮性是指当系统万一遇到意外时,如硬件发生故障或者输入数据不合理等,软件能按照某种预定方式做出适当处理的能力。
②维护性评价:维护性通常是指一个软件容易阅读,是发现和纠正错误、容易修改和容易扩充的程序。
③易理解性评价:易理解性评价通常包括这样两种含义:一是指系统的内部结构清晰,文档齐全,易于理解和阅读;二是指软件系统具有友好的人机界面,使用户容易使用。
④效率指软件系统能否有效地利用计算机的各种资源,例如硬件资源、网络资源等。
⑤标准化指所开发的程序是否遵照一个统一的标准,以便于阅读、检查错误,以及程序员之间的交流和联合调试等。企业对计算机程序(软件)的要求是功能可靠,使用方便,对操作中的错误有相应的处理能力,有足够快的响应时间,维修方便,数据有安全措施,可以有效地利用设备。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。