2011年计算机二级公共基础知识教程汇总(7)

2019-01-12 11:23

? 反映用户问题的结构,可以作为软件开发工作的基础和依据 ? 作为确认测试和验收的依据 2)内容

在软件计划中确定的软件范围加以展开,制定出完整的信息描述、详细的功能说明、恰当的检验标准以及其他与要求有关的数据。 3)特点

软件需求规格说明书是确保软件质量的措施,它的内涵是: ? 正确性 ? 无歧义性 ? 完整性 ? 可验证性 ? 一致性 ? 可理解性 ? 可修改性 ? 可追踪性 (三)结构化设计方法 1.软件设计的基本概念 1)软件设计的基础

软件设计包括软件结构设计、数据设计、接口设计、过程设计。其中,结构设计是定义软件系统各主要部件之间的关系;数据设计是将分析时创建的模型转化为数据结构的定义;接口设计是描述软件内部、软件和协作系统之间以及软件与人之间如何通信;过程设计是把系统结构部件转换成软件的过程性描述。

软件设计的一般过程:软件设计是一个迭代的过程;先进行高层次的结构设计;后进行低层次的过程设计;穿插进行数据设计和接口设计。 2)软件设计的基本原理

(1)抽象 抽象的层次从概要设计到详细设计逐渐降低。在软件概要设计中的模块分层也是由抽象到具体逐步分析和构造出来的。

(2)模块化

模块是指把一个待开发的软件分解成若干小的简单的部分。

模块化是指解决一个复杂问题时自顶向下逐层把软件系统划分成若干模块的过程。 (3)信息隐蔽

在一个模块内包含的信息(过程或数据),对于不需要这些信息的其他模块来说是不能访问的。

(4)模块独立性

独立性是指每个模块只完成系统要求的独立的子功能,并且与其他模块的联系最少且接口简单。

衡量软件的模块独立性的标准:

? 内聚性:一个模块内部各个元素间彼此结合的紧密程度的度量

? 耦和性:模块间相互连接的紧密程序的度量

3)结构化设计方法

即将软件设计成相对独立、单一功能的模块组成结构。 2.概要设计 1)概要设计的任务

① 设计软件系统结构

即将系统划分成模块以及模块的层次结构。 ② 数据结构及数据库设计

数据设计是实现需求定义和规格说明过程中提出的数据对象的逻辑表示。 数据设计的具体任务是:

? 确定输入、输出文件的详细数据结构

? 结合算法设计,确定算法所必须的逻辑数据结构及其操作 ? 确定对逻辑数据结构所必须的那些操作的程序模块,限制和确定各个数据设计决策

的影响范围

? 需要与操作系统或调度程序接口所必须的控制表进行数据交换时,确定其详细的数

据结构和使用规则

? 数据的保护性设计:防卫性、一致性、冗余性设计 ③ 编写概要设计文档 需要编写的文档有: ? 概要设计说明书 ? 数据库设计说明书 ? 集成测试计划 ④ 概要设计文档评审

需要评审的内容:设计部分是否完整地实现了需求中规定的功能、性能等要求,设计方案的可行性,关键的处理及内外部接口定义的正确性、有效性,各部分之间的一致性等

软件结构设计工具是结构图,描述软件系统的层次和分块结构关系,它反映了整个系统的功能实现以及模块与模块之间的联系与通讯,是未来程序中的控制层次体系。

结构图的元素:

? 矩形表示一个模块,在矩形内注明模块的功能和名字 ? 箭头表示模块间的调用关系。带实心圆的箭头表示传递的是控制信息,带空心圆的

箭头表示传递的是数据 结构图中常有的模块类型: ? 传入模块 ? 传出模块 ? 变换模块 ? 协调模块 2)面向数据流的设计方法

① 数据流类型

? 变换型。将数据流分成三个部分:输入数据、中心变换和输出数据三个部分。 ? 事务型。在事务中心接收数据,分析数据以确定它的类型,再选取一条活动的通路

② 面向数据流设计方法的实施要点与设计过程

3)设计的准则

? ? ? ? ? ? ?

提高模块的独立性 模块规模适中

深度、宽度、扇出和扇入适当

使模块的作用域在该模块的控制域内 应减少模块的接口和界面的复杂性 设计成单入口、单出口的模块 设计功能可预测的模块

3.详细设计

详细设计,即为软件结构图中的每一个模块确定实现算法和局部数据结构,用某种工具表示算法和数据结构的细节。

常用的设计工具有:

? 图形工具:程序流程图,N-S,PAD,HIPO ? 表格工具:判定表

? 语言工具:PDL(伪码) (四)软件测试 1.软件测试的目的

使用人工或自动手段来运行或测定某个系统的过程,其目的在于检验它是否满足规定的需求或是否弄清预期的结果与实际结果之间的差别。 2.软件测试的准则

? ? ? ? ? ?

所有测试应追溯到需求

严格执行测试计划,排除测试的随意性 充分注意测试中的群集现象 程序员应避免检查自己的程序 穷举测试不可能

妥善保存测试计划、测试用例、出错统计和最终分析报告,为维护提供方便

3.软件测试技术与方法综述 1)静态测试与动态测试

静态测试包括:代码检查、静态结构分析、代码质量度量等。 动态测试是基于计算机的测试,根据软件需求设计测试用例,利用这些用例去运行程序,以发现程序错误的过程。 2)白盒测试方法与测试用例设计

白盒测试也称结构测试或逻辑驱动测试。 白盒测试的原则:保证所有的测试模块中每一条独立路径至少执行一次;保证所有的判断分支至少执行一次;保证所有的模块中每一个循环都在边界条件和一般条件下至少各执行

一次;验证所有内部数据结构的有效性

主要的方法有:逻辑覆盖(包括语句覆盖、路径覆盖、判定覆盖、条件覆盖和判断—条件覆盖)、基本路径测试等 3)黑盒测试方法与测试用例设计

黑盒测试方法也称功能测试或数据驱动测试,是对软件已经实现的功能是否满足需求进行测试和验证。

黑盒测试主要诊断功能不对或遗漏、界面错误、数据结构或外部数据库访问错误、性能错误、初始化和终止条件错。

黑盒测试方法主要有:等价类划分法(包括有效等价类和无效等价类)、边界值分析法、错误推测法、因果图等,主要用于软件确认测试。 4.软件测试的实施 1)单元测试

对模块进行测试,用于发现模块内部的错误 2)集成测试

测试和组装软件的过程,主要用于发现与接口有关的错误。

集成测试包括的内容:软件单元的接口测试、全局数据结构测试、边界条件和非法输入的测试等。

集成测试分为:增量方式组装(包括自顶而下、自底而上、自顶向下和自底向上的混合增量方式)与非增量方式组装。 3)确认测试

验证软件的功能和性能及其他特征是否满足了需求规格说明中确定的各种需求,以及软件配置是否完全、正确。 4)系统测试

将经过测试后的软件,与计算机的硬件、外设、支持软件、数据和人员等其他元素组合在一起,在实际运行环境中进行一系列的集成测试和确认测试。 (五)程序的调试 1.基本概念

程序调试活动包括:根据错误的迹象确定程序中错误的确切性质、原因和位置;对程序进行修改,排除错误。 1)基本步骤

错误定位?修改设计和代码,以排除错误?进行回溯测试,防止引进新的错误。 2)程序调试的原则

(1)确定错误的性质和位置 ? 分析与错误有关的信息 ? 避开死胡同

? 调试工具只是一种辅助手段,只能帮助思考,不能代替思考 ? 避免用试探法 (2)修改错误的原则

? 在出现错误的地方,有可能还有别的错误,在修改时,一定要观察和检查相关的代

码,以防止其他的错误

? 一定要注意错误代码的修改,不要只注意表象,而要注意错误的本身,把问题解决 ? 注意在修正错误时,可能代入新的错误,错误修改后,一定要进行回归测试,避免

新的错误产生

? 修改错误也是程序设计的一种形式 ? 修改源代码程序,不要改变目标代码 2.软件调试方法 1)强行排错法

通过内存全部打印来排错

在程序特定部位设置打印语句—即断点法 自动调试工具。 2)回溯法

适合小规模程序的排错。发现错误,分析错误表象,确定位置,再回溯到源程序代码,找到错误位置或确定错误范围。 3)原因排除法

原因排除法包括:演绎法、归纳法和二分法。 演绎法:是一种从一般原理或前提出法,经过排除和精化的过程来推导出结论的思考方法。

归纳法:从一种特殊推断出一般的系统化思考方法。其基本思想是从一些线索着手,通过分析寻找到潜在的原因,从而找出错误。

二分法:如果已知每个变量在程序中若干个关键点的正确值,则可以使用定值语句在程序中的某点附近给这些变量赋值,然后运行程序并检查程序的输出。 三、例题分析

1.选择题

1)软件开发的需求活动,其主要任务是

A)给出软件解决方案 B)给出系统模块结构

C)定义模块算法 D)定义需求并建立系统模型 【答案】D

2)软件可用性意指

A)用户界面友好的程度 B)软件结构、实现及文档为用户可用的程度 C)修改软件错误的难易程度 D)符合用户使用习惯的程度 【答案】B 3)软件过程是


2011年计算机二级公共基础知识教程汇总(7).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:阿奇霉素说明书修订要求

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: