软件工程的框架是由软件工程目标、软件工程活动和软件工程原则三个方面的内容构成的如图19.1所示。
软件工程可定义为三元组:目标、原则和活动。
·给出了软件所涉及软件工程的工程要素。
·给出了各要素之间的关系。
·给出了软件工程学科所研究的主要内容。
生产具有正确性、可用性以及开销适宜的软件产品。
·正确性:软件产品达到预期功能的程度。
·可用性:软件基本结构、实现及文档为用户可用的程度。
·开销适宜:软件开发、运行的整个开销满足用户要求的程度。
这三方面的特性决定了软件过程、过程模型和工程方法的选择。
软件工程有四条基本原则。
(1)选取适宜开发范型。该原则与系统设计有关。在系统设计中,软件需求、硬件需求以及其他因素之间是相互制约、相互影响的,经常需要权衡。因此,必须认识需求定义的易变性,采用适宜的开发范型予以控制,以保证软件产品满足用户的要求。
(2)采用合适的设计方法。在软件设计中,通常要考虑软件的模块化、抽象与信息隐蔽、局部化、一致性以及适应性等特征。合适的设计方法有助于这些特征的实现,以达到软件工程的目标。
(3)提供高质量的工程支持。“工欲善其事,必先利其器”。在软件工程中,软件工具与环境对软件过程的支持颇为重要。软件工程项目的质量与开销直接取决于对软件工程所提供的支撑质量和效用。
(4)重视开发过程的管理。软件工程的管理,直接影响可用资源的有效利用,生产满足目标的软件产品,提高软件组织的生产能力等问题。因此,仅当软件过程得以有效管理时,才能实现有效的软件工程。
软件工程活动是“生产一个最终满足需求且达到工程目标的软件产品所需要的步骤”。主要包括需求、设计、实现、确认以及支持等活动。需求活动包括问题分析和需求分析。问题分析获取需求定义,又称软件需求规约。需求分析生成功能规约。设计活动一般包括概要设计和详细设计。概要设计建立整个软件体系结构,包括子系统、模块以及相关层次的说明、每一模块接口定义。详细设计产生程序员可用的模块说明,包括每一模块中数据结构说明及加工描述。实现活动把设计结果转换为可执行的程序代码。确认活动贯穿于整个开发过程,实现完成后的确认,保证最终产品满足用户的要求。支持活动包括修改和完善。伴随以上活动,还有管理过程、支持过程、培训过程等。归结起来,软件工程活动包括以下基本内容。
1)需求
定义问题,即建立系统模型,包括以下主要任务。
·需求获取:需求定义。
它是系统功能的一个正确的陈述。
·需求规约:系统需求规格说明。
主要成分是系统模型,它是系统功能的一个精确、系统的描述。
·需求验证:对获取的需求进行验证。
2)设计
在需求分析的基础上,给出系统的软件解决方案。
(1)总体设计
·系统的软件体系结构;
·C/S结构、B/S结构:
·以数据库为中心的结构;
·管道结构;
·面向对象的结构;
.其他。
(2)详细设计
·针对总体设计结果,给出每一构件的详细描述。
3)实现
选择可用的构件,或以一种选定的语言,对每一构件进行编码。
4)确认
贯穿软件开发的整个过程。
主要任务是:软件测试
5)支持
·完善性维护;
·纠错性维护。
这一软件工程框架告诉我们,软件工程的目标是可用性、正确性和合算性。实施一个软件工程要选取适宜的开发范型,要采用合适的设计方法,要提供高质量的工程支撑,要实行开发过程的有效管理。软件工程活动主要包括需求、设计、实现、确认和支持等活动,每一活动可根据特定的软件工程,采用合适的开发范型、设计方法、支持过程以及过程管理。根据软件工程这一框架,软件工程学科的研究内容主要包括:软件开发范型、软件开发方法、软件过程、软件工具、软件开发环境、计算机辅助软件工程(CASE )及软件经济学等。
各省软考办 | ||||||||||