软件工程及过程的初步认识
1. 概述
一个可用的计算机系统离不开软件,
20 世纪 40 年代,随着世界上第一台计算机的诞生,产生了
软件的概念。计算机硬件的高速发展和计算机的应用领域的不断拓展,促进了软件技术的不断发展,出
现了与软件相关的专业和领域。随着信息社会的到来,软件在人类社会中越来越重要。
什么是软件?
早期,人们认为软件就是源程序,开发软件就是编写程序,那些被人们认为是优秀的程序,通常
充满了编程技巧,常常很难看懂。随着人们对软件及其特性的更深层的研究,现在人们普遍的认为优秀
的程序除了工能正确、性能优良之外,还应该容易看懂、容易使用、容易修改和扩充,并且软件不仅包括
程序,还包括其他相关的内容。
1983 年 IEEE 为软件下的定义是:计算机程序、方法、规则和相关的文
档资料以及在计算机上运行时所必需的数据。目前,对软件通俗的解释为:
软件
=程序+数据+文档资
【
1】
其中,程序是完成特定功能和满足性能要求的指令序列;数据在程序运行的基础和操作的对象;
文档是与程序开发维护和使用有关的图文资料。
软件工程主要是培养从事软件工程开发和研究的专门人才,能从事软件开发、软件技术管理和软件
项目管理。软件工程的特色在于跟踪国际软件先进技术,以适应软件技术快速发展的需要;同时注重培
养实用技能,以适应社会对软件工程开发人员的需要。
软件工程是计算机软件、硬件和网络相结合,注重软件理论和软件开发能力的培养。要求学生掌握
计算机系统的软硬件的基础知识以及计算机系统的设计、研究、开发及综合应用的知识和技能,接受从
事软件研究和开发的基本训练,了解计算机系统设计技术,掌握计算机网络技术并具备应用能力,具
备系统软件和应用软件的分析、设计、测试和维护能力。
2. 软件工程过程基本概念和思想
2.1 软件过程的基本概念
软件工程过程是开发或维护软件及其相关产品的一系列活动。软件工程过程通常包括四种基本的过
程活动:
(1) 软件规格说明:规定软件的功能、性能及其运行限制。
(2) 软件开发:产生满足规格说明的软件,包括设计与编码等工作。
(3) 软件确认:确认软件能够满足客户提出的要求,对应于软件测试。
(4) 软件演进:为满足客户的变更要求,软件必须在使用的过程中演进,以求尽量延长软件的生命
周期。
“
”
此外,在一个良好的软件过程中,还应当包括一些 保护性 的活动。
在具体的工程过程中,可以根据实际需要,采用不同的过程模型来实现上述的基本活动和保护活
动。一个良好的软件工程过程应当具备如下特点:
(1) 易理解性。
(2) 可见性:每个过程活动都以得到明确的结果而告终,保证过程的进展对外可见。
(3)
可支持性 :容易得到
CASE 工具的支持。
(4) 可接受性:比较容易被软件工程师接受和使用。
(5) 可靠性:不会出现过程错误,或者出现的过程错误能够在产品出错之前被发现。
1