计算机软件与软件工程

时间:2022-10-10 12:52:24

计算机软件与软件工程

摘 要:计算机从诞生至今,就一直与社会的发展和科技的进步密切相关,到今天其重要性也愈发突出。从PC到笔记本式计算机,从Internet到移动电话,从先进的武器到家电,计算机应用和计算机软件几乎无处不在。而随着计算机技术的发展,计算机应用以及软件产业也逐渐成为社会的支柱产业,软件工程师也成为最受青睐的一种职业。因此有了计算机软件的研究和开发,以至于发展软件工程的编程调试及应用管理。本文主要针对计算机软件与软件工程做相关论述。

关键词:计算机软件;软件工程;开发软件;软件发展

中图分类号:TP311.5

随着软件产业的不断发展,计算机应用逐步渗透到社会的各个角落,使各行各业都发生了很大的变化。传统的计算机学科逐步上升到计算科学。这同时也促使人们对软件的品种、数量、功能和质量等提出了越来越高的要求。软件的规模越大、越复杂,软件开发越显得力不从心。于是,业绩开始重视软件开发过程、方法、工具和环境的研究,软件工程应用而生。20世纪90年代以来,软件重用和软件构件技术成为研究热点,面向对象方法和技术成为软件开发的主流技术。软件工程知识为开发高品质的产品提供了理论和科学支撑,强调采用工程化的方式开发软件。这些知识支持以精确地方式描述软件工程产品,为产品及其相互关系的建模和推理提供了基础,并为可预测的设计过程提供了依据。

1 计算机软件

“软件”这个词汇于20世纪60年代被首次提出。一个完整的计算机系统由软件和硬件组成。它们相互依存,缺一不可。IEEE给软件定义为是计算机程序、规划以及运行计算机系统可能需要的相关文档和数据。其概念是随着计算机的发展而得出进一步完善的,最先人们认为软件就是程序,到了20世纪70年代,人们认为软件不仅包括程序,还包括开发、使用、维护这些程序所需要的文档。到了80年代,较为全面的软件的定义才出现,包括计算机程序、实现程序所使用的方法、规则、相关联的文档、运行所需的数据等都是程序。

计算机的应用和功能的正常使用离不开硬件和软件,只有硬件和软件得到很好的组合,计算机才能正常工作,完成相应的任务。在计算机的资源配置上,既要考虑硬件资源又要考虑软件资源。就软件资源来看,它包括系统软件和应用软件。系统软件的主要目的是实现对计算机的管理、监控和维护,包括自检程序、操作系统等等。而应用软件的主要目的是解决计算机当中的某些具体问题,实现对计算机的管理等功能,包括学习管理软件、人事管理软件等等。从软件功能的角度来看,我们可以认为,软件就是通过利用计算机本身提供的逻辑功能,合理组织计算机的工作,简化或者替代人们在使用计算机过程中的工作环境。因此,对于计算机的各种程序来说,不管是支持计算机工作的程序,还是支持用户使用的程序,它们都是软件,如职场生存攻略提高工作效率的一些必备软件:Photoshop、word、Excel、Dreamweaver等。

软件特点有:(1)复杂性;(2)一致性;(3)可变性;(4)不可见性。软件类型一是通用软件,另一是定制软件,是根据软件服务对象的范围,将其划分为两个类型。软件危机是:(1)软件维护费用急剧上升,直接威胁计算机应用的扩大;(2)软件生产技术进步缓慢,是加剧软件危机的重要原因。软件生存周期是指一个软件从提出需求开始直到该软件报废为止的整个时期,通常包括可行性分析和项目开发计划、需求分析、概要设计、详细设计、编码、测试、维护等活动,它们将以适当地方式分配到不同阶段去完成。

软件开发是一个过程,是指软件工程人员未获得软件产品在软件工具支持下实施的一系列软件工程活动。其开发过程包括获取过程、供应过程、开发过程、操作过程、维护过程、管理过程和支持过程。其开发模型有:(1)瀑布模型;(2)快速原型模型;(3)喷泉模型;(4)增量模型;(5)螺旋模型;(6)形式化方法模型;(7)基于构件的开发模型。其开发方式是一种使用定义好的技术集及符号表示组织软件生产的过程,包括:(1)结构化方式;(2)Jackson方法;(3)维也纳开发方法;(4)面向对象开发方法。其开发工具一般指为了支持软件人员开发和维护活动而使用的软件。有RUP、RequisitepRro、Rose及Robot。

2 软件工程

“软件工程”自1968年首次提出软件工程概念以来,已经40多年了。编程范型已经经历了三次演变,软件工程也从第一展到第三代。其概念提出那个年代就开发大型系统软件用手工方式进行,其生产效率低、出错率高。这种状态不能满足日益增长的软件生产的需要,产生以下四个方面的问题:(1)软件复杂性飞速增长;(2)软件成本高;(3)开发周期长;(4)维护工作量大。即出现了“软件危机”现象。软件工程定义为将系统性的、规范化的、可定量的方法应用于软件得开发、运行和维护,即将工程化应用到软件上。

其有一个相似的概念,出现上个世纪70年代,是开发和维护软件的规范化方法,其指导思想是以处理工程问题的方法处理软件生产的全过程。其发展大致经过三个阶段,包括程序设计时代、软件时代、软件工程时代。而软件开发也大体经过三个阶段,定义、开发、维护三个阶段。随着软件工程的发展,软件工程学出现,它是计算机科学、系统工程学、管理学、经济学等等,既是边缘学科,又是综合性学科。

软件工程目标有:(1)支付较低的开发成本;(2)达到要求的软件功能;(3)取较好的软件性能;(4)开发的软件易于移植;(5)需要较低的维护费用;(6)能按时完成开发任务,及时交付使用;(7)开发的软件可靠性高。其标准主要有三:一是FIPS 135是美国国家标准局的《软件文档管理指针》;二是NSAC--39是美国核子安全分析中心的《安全参数显示系统的验证与确认》;三是ISO 5807是国际标准化组织(现在已经成为中国国家标准)的《信息处理--数据流程图、程序流程图、程序网络图和系统资源图的文件编制符号及约定》。

其标准层次有五个,从顶层到低层依次是国际标准、国家标准、行业标准、企业规范及项目(课题)规范。其标准级别也是五个,即国际标准、国家标准、行业标准、企业(机构)标准和项目(课题)标准。这是根据软件工程,其标准制定的机构和标准适用的范围有所不同分出的级别。软件工程包括软件开发技术和软件工程项目管理两大部分。第三代软件工程:基于构件的软件工程是以软件服用为目标、领域工程为基础,其开发过程一般包括四个阶段,依次是领域分析和测试计划定制、领域设计、建立可复用构件库、按“构件集成模型”查找与集成构件。

今后,计算机软件工程的不断发展,给克服软件危机带来了希望。随着面向对象编程力度的增大,软件工程师技术再不断进步,特别是构件开发的规范化与市场化,已经把软件开发推进到一个新的阶段,出现了“开发伴随软件复用,开发为了软件复用”以及“软件就是服务”等新思想。这些突出的成绩,让我们对计算机软件方向的发展拭目以待。

参考文献:

[1]史济民,顾春华,郑红.软件工程--原理?方法与应用[M].北京:高等教育出版社出版社,2009.

[2]刘冰,赖涵,瞿中,等.软件工程实践教程[M].北京:机械工业出版社,2009.

[3]麦中凡.计算机软件技术基础[M].北京:高等教育出版社,1999.

[4]钱乐秋,赵文耘.软件工程[M].北京:清华大学出版社,2007.

作者简介:张宇(1992-),女,黑龙江哈尔滨人,在读学生,研究方向:计算机科学与技术。

作者单位:齐齐哈尔工程学院,黑龙江齐齐哈尔 161005

上一篇:论医院计算机网络源管理 下一篇:基于复杂网络的电信大数据处理研究