发布时间 : 星期二 文章安徽大学软件工程导论期末复习考点试卷汇总更新完毕开始阅读
展。
内聚分类:
内聚使用原则:设计时力求高内聚,设计时应该力求做到高内聚,通常中等程度的内聚也是可以采用的,
而且效果和高内聚相差不多;但是,低内聚很坏,不要使用。
(3)耦合和内聚两者关系:耦合与内聚都是模块独立性的定性标准,都反映模块独立性的良好程度。其中
内聚更重要。内聚与耦合密切相关。同其它模块强耦合的模块意味着它自己是弱内聚的;强内聚模块意味着与其它模块间松散耦合。所以设计的目标应该是力争高内聚、低耦合。
第6章 详细设计
1结构化程序设计
1结构化程序设计的原则
结构化程序设计方法的主要原则可以概括为自顶向下,逐步求精,模块化,限制使用goto语句。 2结构化程序的基本结构与特点 1. 顺序结构
2. 选择结构:选择结构又称为分支结构。 3. 重复结构:重复结构又称为循环结构。 2、什么是过程设计的工具?分类?基本要求? 过程设计工具的定义:描述程序处理过程的工具
过程设计工具的分类:它们可以分为图形、表格、和语言3类。
过程设计工具的基本要求:不论是哪类工具,对它们的基本要求都是能提供对设计的无歧义的描述。
3、软件详细设计描述工具的概念和使用:程序流程图、N-S图、PAD图、PDL语言:是什么,基本符号和表示的意义,画法;各种工具描述结果间的转换。
(1)程序流程图的定义:又称为程序框图,它是历史最悠久、使用最广泛的描述过程设计的方法,然而它
也是用得最混乱的一种方法。
程序流程图的基本符号:
(2)盒图(N-S图)的定义:出于要有一种不允许违背结构程序设计精神的图形工具的考虑,Nassi和
Shneiderman提出了盒图。
它有下述特点:
(1) 功能域(即,一个特定控制结构的作用域)明确,可以从盒图上一眼就看出来。 (2) 没有箭头,不可能任意转移控制。 (3) 很容易确定局部和全程数据的作用域。
(4) 很容易表现嵌套关系,也可以表示模块的层次结构。
盒图(N-S图)的基本符号:
(a)顺序;(b)IF_THEB_ELSE型分支;(c)CASE型多分支;(d)循环;(e)调用子程序
(3)PAD(问题分析图)的定义: 1973年由日本日立公司发明。它用二维树形结构的图来表示程序的控
制流,将这种图翻译成程序代码比较容易。
PAD(问题分析图)的基本符号:
(a)顺序;(b)选择(IF C THEN P1 ELSE P2);(c)CASE型多分支;(d)WHILE型循环(WHILE C DO
P);(e)UNTIL型循环(REPEAT P UNTIL C);(f)语句标号;(g)定义
(3)过程设计语言(PDL)的定义:也称为伪码,PDL是一种“混杂”语言,它使用一种语言的词汇,同时
却使用另一种语言(某种结构化的程序设计语言)的语法。
过程设计语言(PDL)的举例:
第7章 实现
1、软件测试的目的是什么?软件测试方法的种类?
为了发现程序中的错误而执行程序的过程,测试阶段的根本目标是尽可能多地发现并排除软件中潜藏的错误,最终把一个高质量的软件系统交给用户使用。
2、软件测试与软件开发阶段的关系?
软件开发过程是一个自顶向下、逐步细化的过程,而测试则是依相反的顺序安排的,自底向上、逐步集成的过程。低一级为上一级测试准备条件。 3、软件测试的步骤,过程。
模块测试----单元、子系统测试----局部、系统测试----全局、验收测试----用户参与、平行运行----新旧共存
4、软件测试的三大阶段:单元测试、集成测试(组装测试)、确认测试(验收测试)的主要任务(目的)是什么?测试的内容主要有哪些?测试计划分别在什么时候制定?测试计划的内容有哪些?
模块测试(单元测试)
目的:是保证每个模块作为一个单元能正确运行。在编写出源程序代码并通过了编译程序的语法检查
之后,就可以用详细设计描述作指南,对重要的执行通路进行测试,以便发现模块内部的错误。 内容: 1.模块接口测试----检测数据能否正确无误地进入和流出模块
2.路径测试
3.出错处理测试----测试程序中包含的出错处理是否有效 4.边界条件测试----检测在数据边界处,模块能否正常工作 单元测试计划的时间:在详细设计结束时制定,主要使用白盒测试技术
集成测试
任务:在单元测试的基础上,需要将所有模块按照设计要求组装成为系统,发现并排除在模块连接
的接口中可能出现的问题,最终构成所要求的软件系统。
内容:
(1)把各个模块连接起来后,考察穿越模块接口的数据是否会丢失或产生错误 (2)各个子功能组合起来,能否达到预期要求的主要功能
(3)一个模块的功能是否会对另一个模块的功能产生不利的影响 (4)全局数据结构是否有错误
(5)单个模块的误差累积起来,是否会被放大,从而达到不能被接受的程度
集成测试计划的时间:在总体设计结束时制定,详细设计结束时补充 确认测试
目的:也称为称验收测试。它的主要目标是验证软件的有效性。证实软件功能与用户需求是否一致,
即测试软件能否按照软件需求规格说明书(合同)的要求运行。
内容:有效性测试、软件配置复查、验收测试
确认测试计划的时间:在需求分析时制定,后续阶段补充,通过黑盒测试技术。
5、什么是白盒测试?典型的白盒测试技术有哪几个,含义如何?简单的逻辑覆盖测试用例设计。 白盒测试的定义:也称结构测试或逻辑驱动测试,它是按照程序内部的结构测试程序,通过测试来检测产
品内部动作是否按照设计规格说明书的规定正常进行,检验程序中的每条通路是否都能按预定要求正确工作。
应用时间:白盒测试在测试过程的早期阶段进行
白盒测试技术:1、逻辑覆盖:语句覆盖、判定覆盖、条件覆盖、判定/条件覆盖、条件组合覆盖、点覆盖、
边覆盖、路径覆盖;
2、控制结构测试:基本路径测试、条件测试、循环测试。
逻辑覆盖测试的5种标准 发现错误的能力 1(弱) 标准 语句覆盖 含义 每条语句至少执行一次 A=2,B=0,X=4 每一判定的每个分支至少执行一次 A=3,B=0,X=3 A=2,B=1,2 判定覆盖 X=1 每一判定中的每个条件,分别按“真”、“假”至少各执行一次3 条件覆盖 A=2,B=0,X=4 A=1,B=1,X=1 同时满足判定覆盖和条件覆盖的要求A=2,B=0,X=4 A=1,B=1,4 判定/条件覆盖 X=1 求出判定中所有条件的各种可能组合值,每一可能的条件组合至5(强) 条件组合覆盖 少执行一次 ·条件覆盖不一定包含判定覆盖;判定覆盖也不一定包含条件覆盖。 ·条件组合覆盖是前述几种覆盖标准中最强的。但是,满足条件组合覆盖标准的测试数据并不一定能使程序中的每条路径都执行到。
例子:
第8章 维护
1、什么是软件维护、维护分哪四种类型、其含义分别是什么、在维护工作中占得比例如何? 软件维护定义:就是在软件已经交付使用之后,为了改正错误或满足新的需要而修正软件的过程。 维护分为四种类型:(1)改正性维护:把整断和改正错误的过程称为改正性维护(2)适应性维护:为了和变化的环境适当的配合而进行的修改软件的活动,(3)完善性维护:在使用软件的过程中用户常常提出新增功能或修改已有功能的建议,为了满足这类要求的活动(4)预防性维护:为了改进将来的可维护性或可