首页 理论教育软件工程基础- 考试大纲与考点精要

软件工程基础- 考试大纲与考点精要

【摘要】:软件工程包括3 个要素:方法、工具和过程。软件工程的原则:抽象、信息隐蔽、模块化、局部化、确定性、一致性、完备性和可验证性。软件测试过程分4 个步骤,即单元测试、集成测试、验收测试和系统测试。a.单元测试是对软件设计的最小单位——模块进行正确性检验测试。b.集成测试是测试和组装软件的过程,主要目的是发现与接口有关的错误,主要依据是概要设计说明书。

(1)软件功能基本概念

软件是指与计算机系统的操作有关的计算机程序、规程、规则,以及可能有的文件、文档和数据。软件的特点:软件是逻辑实体,有抽象性;生产没有明显的制作过程;运行使用期间不存在磨损、老化问题;开发、运行对计算机系统有依赖性,受计算机系统的限制,导致了软件移植问题;复杂性较高,成本昂贵;开发涉及诸多社会因素。

软件可务应用软件、系统软件和支撑软件3 类。a.应用软件是特定应用领域内专用的软件;b.系统软件居于计算机系统中最靠近硬件的一层,是计算机管理自身资源,提高计算机使用效率并为计算机用户提供各种服务的软件;c.支撑软件介于系统软件和应用软件之间,是支援其它软件的开发与维护的软件。

软件危机指在计算机软件的开发和维护中遇到的一系列严重问题。

软件工程是应用于计算机软件的定义、开发和维护的一整套方法、工具、文档、实践标准和工序,包括软件开发技术和软件工程管理。软件工程包括3 个要素:方法、工具和过程。方法是完成软件工程项目的技术手段;工具支持软件的开发、管理、文档生成;过程支持软件开发的各个环节的控制、管理。

软件生命周期:软件产品从提出、实现、使用维护到停止使用的过程称为软件生命周期。在国家标准中,软件生命周期划分为8 个阶段:a.软件定义期包括问题定义、可行性研究和需求分析3 个阶段。b.软件开发期包括概要设计、详细设计、实现和测试4 个阶段。c.运行维护期,即运行维护阶段。

软件工程的原则:抽象、信息隐蔽、模块化、局部化、确定性、一致性、完备性和可验证性。

(2)结构化分析方法

需求分析的任务是发现需求、求精、建模和定义需求的过程,可概括为需求获取、需求分析、编写需求规格说明书和需求评审。常用的分析方法:a.结构化分析方法其实质着眼于数据流,白顶向下,逐层分解,建立系统的处理流程;b.面向对象分析方法。

结构化分析常用工具包括数据流图、数字字典(核心方法)、判断树和判断表。

a.数据流图:又称DFD 图,似图形的方式描绘数据在系统中流动和处理的过程,它只反映系统必须完成的逻辑功能,是一种功能模型。符号名称作用:箭头代表数据流,沿箭头方向传送数据的通道;网或椭圆代表加工,输入数据经加T 变换产生输出;双杠代表存储文件,表示处理过程中存放各种数据文件;方框代表源和潭,表示系统和环境接口

b.数据字典:结构化分析方法的核心。数据字典是对所有与系统相关的数据元素的一个有组织的列表,以及精确的、严格的定义,使得用户和系统分析员对于输入、输出、存储成分和中间计算结果有共同的理解。

c.判定树:使用判定树进行描述时,应先从问题定义的文字描述中分清判定的条件和判定的结论,根据描述材料中的连接词找出判定条件之间的从属关系、并列关系、选择关系,根据它们构造判定树。

d.判定表:与判定树相似,当数据流图中的加工要依赖于多个逻辑条件的取值,即完成该加工的一组动作是由于某一组条件取值的组合引发的,使用判定表比较适宜。

(3)软件需求规格说明书

软件需求规格说明书是需求分析阶段的最后成果,是软件开发的重要文档之一。

a.软件需求规格说明书的作用:①便于用户、开发人员进行理解和交流;②反映出用户问题的结构,可以作为软件开发工作的基础和依据;③作为确认测试和验收的依据。

b.软件需求规格说明书的内容:①概述;②数据描述;③功能描述;④性能描述;⑤参考文献;⑥附录。

c.软件需求规格说明书的特点:①正确性;②无歧义性;③完整性;④可验证性;⑤一致性;⑥可理解性;⑦可修改性;⑧可追踪性。

(4)结构化设计方法

软件设计是一个把软件需求转换为软件表示的过程。软件设计包括软件结构设计、数据设计、接口设计、过程设计。结构设计定义软件系统各主要部件之间的关系;数据设计将分析时创建的模型转化为数据结构的定义;接口设计是描述软件内部、软件和协作系统之间以及软件与人之间如何通信;过程设计则是把系统结构部件转换为软件的过程性描述。(www.chuimin.cn)

软件设计基本原理:抽象、模块化、信息隐藏、模块独立性(度量标准:耦合性和内聚性,高耦合、低内聚)。基本思想是将软件设计成由相对独立、单一功能的模块组成的结构。

软件设计分两步完成:概要设计和详细设计。

概要设计的4 个任务:设计软件系统结构、数据结构及数据库设计、编写概要设计文档、概要设计文档评审。

面向数据流的设计方法:数据流图的信息分为交换流和事物流,结构形式有交换型和事务型。

详细设计的工具包括:图形工具:程序流程图、N-S、PAD、HIPO;表格工具:判定表;语言工具:PDL(伪码)。

(5)软件测试

测试目的:为了发现错误而执行程序的过程。

测试准则:所有测试应追溯到用户需求;严格执行测试计划,排除测试的随意性;充分注崽测试中的群集现象;程序员应避免检查白己的程序;穷举测试不可能;妥善保存设计计划、测试用例、出错统计和最终分析报告。

测试方法:按是否需要执行被测软件的角度,可分为静态测试和动态测试,按功能分为白盒测试和黑盒测试。a.白盒测试是根据程序的内部逻辑设计测试用例,主要方法有逻辑覆盖测试、基本路径测试等;b.黑盒测试是根据规格说明书的功能来设计测试用例,主要诊断方法有等价划分法、边界值分析法、错误推测法、因果图法等,主要用于软件确认测试。

测试实施:软件测试是保证软件质量的重要手段,软件测试是一个过程,其测试流程是该过程规定的程序,目的是使软件测试工作系统化。

软件测试过程分4 个步骤,即单元测试、集成测试、验收测试和系统测试。

a.单元测试是对软件设计的最小单位——模块(程序单元)进行正确性检验测试。单元测试的目的是发现各模块内部可能存在的各种错误。单元测试的依据是详细的设计说明书和源程序。单元测试的技术可以采用静态分析和动态测试。

b.集成测试是测试和组装软件的过程,主要目的是发现与接口有关的错误,主要依据是概要设计说明书。集成测试所设计的内容包括:软件单元的接口测试、全局数据结构测试、边界条件和非法输入的测试等。集成测试时将模块组装成程序,通常采用两种方式:非增量方式组装和增量方式组装。

c.确认测试的任务是验证软件的功能和性能,以及其他特性是否满足了需求规格说明中确定的各种需求,包括软件配置是否完全、正确。确认测试的实施首先运用黑盒测试方法,对软件进行有效性测试,即验证被测软件是否满足需求规格说明确认的标准。

d.系统测试是通过测试确认的软件,作为整个基于计算机系统的一个元素,与计算机硬件、外设、支撑软件、数据和人员等其他系统元素组合在一起,在实际运行(使用)环境下对计算机系统进行一系列的集成测试和确认测试。系统测试的具体实施一般包括:功能测试、性能测试、操作测试、配置测试、外部接口测试、安全性测试等。

(6)程序调试

调试任务:诊断和改正程序中的错误。

调试主要在开发阶段进行。程序调试活动由两部分组成,一是根据错误的迹象确定程序中错误的确切性质、原因和位置;二是对程序进行修改,排除这个错误。

程序调试的基本步骤:a)错误定位,从错误的外部表现形式入手,研究有关部分的程序,确定程序中出错位置,找出错误的内在原因;b)修改设计和代码,以排除错误;c)进行回归测试,防止引进新的错误。

软件调试可分为静态调试和动态调试。静态调试主要是指通过人的思维来分析源程序代码和排错,是主要的设计手段,而动态调试是辅助静态调试的。主要的调试方法:强行排错法、回溯法和原因排除法。