软件工程导论(复习资料)_第1页
软件工程导论(复习资料)_第2页
软件工程导论(复习资料)_第3页
软件工程导论(复习资料)_第4页
软件工程导论(复习资料)_第5页
已阅读5页,还剩40页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、精选优质文档-倾情为你奉上精选优质文档-倾情为你奉上专心-专注-专业专心-专注-专业精选优质文档-倾情为你奉上专心-专注-专业软件工程复习资料名词解释:软件:是能够完成预定功能和性能的可执行的计算机程序和使程序正常执行所需要的数据,加上描述程序的操作和使用的文档。软件危机:在计算机软件的开发和维护过程中所遇到的一系列严重问题,长期找不到解决这些问题的方法,使问题逐渐积累起来,形成了尖锐的矛盾,从而导致了软件危机。软件生命周期:一个软件从开始计划起,到废弃不用止。数据词典:是对数据流图中的每个数据规定一个定义条目,并把所有条目按一定的次序排列起来,以便查阅。数据流图:用于描述系统中数据是如何流动

2、和变换的,以及描述使数据流进行变换的功能。加工说明:是对DFD中每个加工所作的说明。SRS:(Software Requirement Specification)软件需求说明,是软件开发人员在分析阶段需要完成的文档。信息隐藏:是指在设计和确定模块时,使得一个模块内包含的信息(过程或数据),对于不需要这些信息的其他模块来说是不能访问的。模块:是一个拥有明确定义的输入、输出和特性的程序实体。模块化设计:把大型软件按照规定的原则划分成一个个较小的、相对独立但又相互关联的模块。模块的作用范围:受这个模块中判定影响的模块。:即结构化分析,是一种面向数据流的需求分析方法,结构化分析模型中主要的描述工具包

3、括:DFD、DD、加工逻辑等。软件结构:是软件系统的模块层次结构,表示了软件的组成模块及其调用关系和模块间接口。结构图:又称SC图,是精确表达软件结构的图形表示方法。内聚:是对软件内部各个成分的联系程度的度量。耦合:是对一个软件结构内不同模块之间互连程度的度量。IPO:输入、处理、输出图,描述模块的具体操作加工,结构图中的每一个模块均可以用一张IPO图来描述。PDL:Program Design Language,一种过程设计的表达工具,用于描述过程设计。测试用例:就是测试数据+期望结果。纠错:找到错误的位置并纠正错误。测试:为了发现程序的错误而执行程序的过程。白盒测试:又称为结构测试。它将程

4、序看成装在一个透明的盒子里,测试者完全知道程序的内部逻辑结构和处理过程。黑盒测试:又称为功能测试。它将程序看成一个黑盒子,完全不考虑程序的内部结构和处理过程,它只检查程序功能是否能按规格说明书的规定正常使用,程序是否能接收输入数据并产生正确的输出信息。程序图:是一种简化的流程图,在路径测试中,它是用来考察测试路径的有用工具。OOA:用例图:用以显示不同的用户角色和这些用户角色如何使用系统的图。对象:是系统中用来描述客观事物的一个实体。状态图:用来描述一个特定对象的所有可能状态及引起状态变化的事件。测试测试是由软件的最终用户在一个或多个用户场所进行,由用户负责记下遇到的所有问题,只有当测试达到一

5、定的可靠程度时,才能开始测试。模块是一个拥有明确定义的输入、输出和我的程序实体。经济可行性进行开发成本的估算以及了解取得效益的评估,确定要开发的项目是否值得投资开发。投资回收期投资回收期就是使累计的经济效益等于最初的投资费用所需的时间。测试用例就是测试数据+期望结果单元?答:是软件设计的最小单元,即程序中最少的独立编译单位。驱动模块?答:代替被测模块父模块的模块称为该模块的驱动模块。桩模块?答:代替被测模块子模块的模块称为该模块的驱动模块。测试软件?答:为了完成单元测试而编写的软件为测试软件。集成测试答:将所有模块按概要设计要求组装系统的时候进行的测试。回归测试答:重新执行以前做过的全部测试或

6、部分测试即为回归测试。经济可行性答:进行开发成本的估算以及了解取得效益的评估,确定要开发的项目是否值得投资开发。投资回收期答:投资回收期就是使累计的经济效益等于最初的投资费用所需的时间。测试用例答:就是测试数据+期望结果模块的作用范围一个模块的作用范围是指受该模块内一个判定影响的所有模块的集程序图是退化的程序流程图。也就是说,把程序流程图中每个处理符号都退化成一个结点,原来连接不同处理符号的流线变成连接不同结点的有向弧,这样得到的有向图就叫程序图。瀑布模型是将软件生存各个活动规定为依线性顺序联接的若干阶段的模型。它包括可行性分析、项目开发计划、需求分析、概要设计、详细设计、编码、测试和维护。它

7、规定了由前至后,相互衔接的固定次序,如同瀑布流水,逐级下落。包含关系当两个或两个以上用例有共同的执行序列片断时,可以将这些执行序列片断抽出来,形成包含关系。二、选择题1. 软件是一种( )。.程序.数据.逻辑产品.物理产品C2.分层DFD是一种比较严格又易于理解的描述方式,它顶层图描述了系统的( )。A 细节 B 输入与输出C 软件的作者 D 绘制的时间B3.在软件需求分析中,开发人员要从用户那里解决的最重要的问题是( )。A 要让软件做什么 B 要给该软件提供哪些信息C 要求软件工作效率怎样 D 要让软件具有何种结构A4.需求分析( ) A 要回答“软件必须做什么?” B 可概括为“理解,分

8、析,表达”六个字 C 要求编写需求规格说明书 D 以上都对D4. 瀑布模型的主要特点是( )。A 将开发过程严格地划分为一系列有序的活动B 将过程分解为阶段C 提供了有效的管理模式D缺乏灵活性A5. 对于分层的DFD,父图与子图的平衡是指( )。A 父图与子图的输入输出数据流必须相同B子图必须继承父图的输入与输出流C 父图与子图相应的输入输出数据流名字保持一致D 子图可以有自己的输入输出数据流B6.SA方法的基本思想是( ) A 自底向上逐步抽象 B 自底向上逐步分解 C 自顶向下逐步分解 D 自顶向下逐步抽象C7 一个模块把一个数值量作为参数传送给另一个模块。这两种模块之间的耦合是()。逻辑

9、耦合数据耦合控制耦合内容耦合B8.模块中的所有成分结合起来完成一项任务,该模块的内聚度是( )的。它具有简明的外部界面,由它构成的软件易于理解、维护。A偶然性 B 顺序性 C通信性 D 功能性D9.模块中所有成分引用共同的数据,该模块的内聚度是( )的。A 逻辑性 B 时间性 C 功能性 D 通信性D10.一个模块直接引用另一模块中的数据,这两个模块之间的耦合是( )。A 公共耦合 B数据耦合 C 控制耦合 D 内容耦合D11.下列有关内聚度由低到高的排列顺序,( )是正确的。A 偶然性、时间性、功能性、通信性、逻辑性、顺序性、过程性B 过程性、时间性、顺序性、功能性、通信性、逻辑性、偶然性C

10、偶然性、逻辑性、时间性、过程性、通信性、顺序性、功能性D时间性、逻辑性、顺序性、功能性、通信性、偶然性、过程性C12.下列有关模块独立性的耦合度从低到高排列,( )是正确的。A 内容耦合、控制耦合、非直接耦合、特征耦合、数据耦合、外部耦合、公共耦合B 非直接耦合、数据耦合、特征耦合、控制耦合、外部耦合、公共耦合、内容耦合C 公共耦合、数据耦合、外部耦合、内容耦合、控制耦合、非直接耦合、特征耦合D控制耦合、特征耦合、数据耦合、非直接耦合、内容耦合、外部耦合、公共耦合B13. 好的软件结构应该是( ) A 高内聚、高耦合 B 高内聚、低耦合 C 低内聚、高耦合 D 低内聚、低耦合B14.为了提高模

11、块( ),当修改和维护模块时减少把一个模块的错误扩散到其他模块中的机会。 A 耦合性 B 独立性 C 内聚性 D 共享性B15. 软件结构图的形态特征能反映程序重用率的是( )。.深度.宽度.扇入.扇出C16.把结构化设计说成是面向数据流的设计,其原因是()。.它定义了从数据流图向模块结构图的变换.数据流的加工对应着模块结构图的模块.从结构化系统分析的着手.基本方法都是自顶向下的分解C17.软件详细设计的主要任务是对( )进行的详细设计。A.算法和数据结构 B.外部接口C.软件编码 D.功能A18.结构化程序设计主要强调的是( )A 程序的规模 B 程序的效率 C 程序设计语言的先进性 D 程

12、序的易读性D19.程序的三种基本控制结构是( )A 过程、子程序和分程序 B 顺序、选择和重复C 递归、堆栈和队列 D 调用、返回和转移B20.黑盒测试在设计测试用例时,主要需要研究()。.需求规格说明与概要设计说明.详细设计说明.项目开发计划.概要设计说明与详细设计说明A21.一般来说,与测试数据无关的文档是( )。 A 需求规格说明书 B 设计说明书 C 源程序 D 项目开发计划D22.以下说法错误的是( )。 A 语句覆盖是比较弱的覆盖标准 B 对于多分支的判定,判定覆盖要使每一个判定表达式获得每一种可能的值来测试 C 语句覆盖较判定覆盖严格,但该测试仍不充分 D 条件组合覆盖是比较强的

13、覆盖标准C23. 对软件是否能达到用户所期望的要求的测试称为( )。A 集成测试 B 有效性测试 C 系统测试 D 验收测试B24.单元测试是发现( )错误,集成测试是发现( )错误,确认测试是发现( )错误,系统测试是发现( )错误。 A 接口错误 B 编码上的错误 C 性能、质量不合要求 D 功能错误 E 需求错误 F 设计错误B A D C25.确认测试计划是在( )阶段制定的。A 可行性研究和计划 B 需求分析 C 概要设计 D 详细设计B26.可维护的特性中,相互矛盾的是( )。A 可维护性和可理解性 B 可测试性和可理解性 C 效率和可修改性 D 可理解性和可读性C27. 软件工程

14、学的目的应该是最终解决软件生产的( )问题。A 提高软件的开发效率 B 使软件生产工程化C 消除软件的生产危机 D 加强软件的质量保证B28.CASE系统所涉及到的技术有两类:一类是支持软件()的技术;另一类是支持软件()的技术。A 开发过程本身 B 开发方法管理 C 开发方法本身 D 开发过程管理A D29.软件生命周期中所话费用最多的阶段是( ) A 详细设计 B 软件编码 C 软件测试 D 软件维护D30.下列选项中,制定项目进度计划的常用工具是( )。 A PERT B 甘特图 C 数据流图 D 系统流程图A B31.软件工程学中除重视软件开发技术的研究外,另一重要组成内容是软件( )

15、。A 工程管理 B成本核算C 人员培训 D工具开发A32描述类中某个对象的行为,反映了状态与事件关系的是( )。 A 对象图 B 状态图 C 流程图 D 结构图B33.对象实现了数据和操作的结合,使数据和操作( )于对象的统一体中。 A 结合 B 隐藏 C 封装 D 抽象C产生软件危机的主要原因之一是( )1. 软件开发组织经费紧张 2.软件开发人员自身的素质所决定的3. 软件的生存期太长 4. 软件产品的价格过高2瀑布模式把软件的开发分为( )1. 八个过程 2. 三个阶段3. 八个阶段 4. 三个过程八个阶段4可行性研究包括技术可行性、经济可行性和( )1. 环境、法律、运行可行性 2.

16、操作、运行、法律可行性3. 资源、方式、环境可行性 4. 配置、方式、操作可行性2在每层数据流图中,加工(处理)的个数不能超过( )1. 34个 2. 5个3. 9个 4. 7个3需求分析阶段使用的图形工具有( )1. 层次方框图、Warnier图 2. 层次图、Warnier图3. IPO图、结构图 4. 层次图、结构图16软件需求验证含( )1. 一致性、完整性 2. 现实性、有效性3. 一致性、完整性、现实性 3. 一致性、完整性、现实性、有效性4事务型结构的DFD图经SD一级分解为( )1. 二叉树 2. 三叉树3. 结点树 4. 平衡树1下面说法正确的是( )1. 在开发一个软件的过

17、程中,随着模块分解数目的加大,模块的成本将上升2. 在开发一个软件的过程中,随着模块分解数目的加大,模块的成本将下降3. 在开发一个软件的过程中,随着模块分解数目的加大,模块的开发成本将下降,连接成本将上升4. 在开发一个软件的过程中,随着模块分解数目的加大,模块的开发成本将上升,连接成本将下降。3通常我们使用的重复结构宏观上分有( )1. WHILE型、UNTIL型 2. IF-GOTO型、UNTIL型3. 计数型、IF-GOTO型 4. WHILE型、UNTIL型、计数型1Warnier程序设计方法是( )1. 面向对象的 2. 面向数据流的3. 面向数据结构的 4. 面向过程的3编辑程序

18、中没有( )1. 行编辑程序 2. 内容编辑程序3. 屏幕编辑程序 4. 字编辑程序4好的书写程序的格式是( )1. 左对齐 2. 右对齐3. 阶梯形 4. 自由式3逻辑覆盖中测试最彻底的是( )1. 条件覆盖 2. 判定覆盖3. 判定/条件覆盖 4. 条件组合覆盖4开发软件所需高成本和产品的低质量之间有着尖锐的矛盾,这种现象称做 ( )1.软件工程2.软件周期3.软件危机4.软件产生3研究开发所需要的成本和资源是属于可行性研究中的研究的一方面( )1.技术可行性2.经济可行性3.社会可行性4.法律可行性2模块的内聚性最高的是 1.逻辑内聚2.时间内聚3.偶然内聚4.功能内聚4在SD方法中全面

19、指导模块划分的最重要的原则是 ( )1.程序模块化 2.模块高内聚3.模块低耦合 4.模块独立性4不适合作为科学工程计算的语言是( )A. Pascal B.cC. FortranD.PrologD黑盒测试在设计测试用例时,主要需要研究( )A.需求规格说明与概要设计说明B.详细设计说明C.项目开发计划D.概要设计说明与详细设计说明A若有一个计算类型的程序,它的输入量只有一个,其范围是现从输入的角度考虑一组测试用例: 设计这组测试用例的方法是( )A.条件覆盖法B.等价分类法C.边界值分析法D.错误推测法C快速原型模型的主要特点之一是( )A.开发完毕才见到产品B.及早提供全部完整的软件产品C

20、.开发完毕后才见到工作软件D.及早提供工作软件D因计算机硬件和软件环境的变化而作出的修改软件的过程称为( )A.教正性维护B.适应性维护C.完善性维护D.预防性维护B软件按照设计的要求,在规定时间和条件下达到不出故障,持续运行的要求的质量特性称为( )A.可用性B.可靠性C.正确性D.完整性B下列模型属于成本估算方法的有( )A.COCOMO模型B.McCall模型C.McCabe度量法D.时间估算法A( )工具在软件详细设计过程中不采用。A判定表 BIPO图CPDLDDFD图D程序的三种基本控制结构的共同特点是( )A不能嵌套使用B只能用来写简单程序C已经用硬件实现D只有一个入口和一个出口D

21、使用白盒测试方法时,确定测试数据应根据( )和指定的覆盖标准。A程序的内部逻辑B程序的复杂结构C使用说明书D程序的功能A用黑盒技术设计测试用例的方法之一为( )因果图逻辑覆盖循环覆盖基本路径测试 D软件测试方法中的( )属于静态测试方法。 A、黑盒法 B、路径覆盖 C、错误推测 D、人工检测 D软件详细设计的主要任务是确定每个模块的( ) A、算法和使用的数据结构 B、外部接口 C、功能 D、编程 A软件结构图的形态特征能反映程序重用率的是() A、深度 B、宽度 C、扇入 D、扇出 C为了提高模块的独立性,模块内部最好是() A、逻辑内聚 B、时间内聚 C、功能内聚 D、通信内聚 C软件结构

22、图中,模块框之间若有直线连接,表示它们之间存在( ) A、调用关系 B、组成关系 C、链接关系 D、顺序执行关系 A需求分析最终结果是产生() A、项目开发计划 B、需求规格说明书 C、设计说明书 D、可行性分析报告 B软件是一种() A、程序 B、数据 C、逻辑产品 D、物理产品C三、填空题软件工程的发展可分为 时期、软件=程序+文档、 时期。(程序 软件产品)在DFD中最低一层的 包含了系统的全部数据和加工,从哪里开始分析呢?W.Davis认为,一般应该从数据的 开始。因为 的数据代表系统的输出,其要求是明确的。由这里开始,沿着 一步步向数据 ,较易看清楚数据流中每一个数据项的来龙去脉,有

23、利于减少错误和遗漏。(数据流图 终点 终点 数据流图 源点回溯)加工说明通常使用 、 或 来描述。(结构化语言 判定表 判定树)耦合越弱,则表明模块的 越强。(独立性)要把数据流图(DFD)转换成软件结构,首先必须研究DFD的类型。各种软件系统,一般可分为 和 两类。(事务型 变换型)模块之间联系越紧密,其耦合性就越 ,模块的独立性就越 。(弱 强 )模块的独立性概括了把软件划分为 时要遵守的准则。(模块)一个模块的作用范围指受该模块内 影响的所有模块的集合,一个模块的控制范围指 及其 的集合。(的判定所 模块本身 下级模块)SD方法的中心任务是把用DFD图表示的系统分析模型转换为 ,使用的主

24、要描述工具是 。(软件结构的设计模型 SC图)详细设计常用的表达工具有 (流程图和N-S图 伪代码和PDL语言 判定表或判定树)要改善程序的清晰度必须从改善每个模块的控制结构入手,结构化的三种控制结构是 、 、 。(顺序结构 、 选择结构 、 循环结构)编码的目的是选定的 ,把模块的 翻译为用 书写的源程序。(程序设计语言 过程性描述)实现源程序的文档化主要包括以下三个方面的内容:它们是: (有意义的变量名 适当的注释 标准的书写格式)运行被测试程序的方法称为 测试。(动态)黑盒测试以程序功能为测试依据,可以采用如下的测试方法 、 、 。(等价分类法 边界值分析法 错误猜测法)语句覆盖是指设计

25、足够的 ,使得被测试程序中 至少执行一次。语句覆盖是比较 的覆盖标准。(测试用例 每条语句 低)判定覆盖是指设计足够的测试用例,使得被测试程序中每个 至少获得一次 和 值,从而使程序中 的每一个 至少都通过一次。(判定条件 真值 假值 分支)条件覆盖指设计足够的测试用例,使得 中的每个条件的 值至少出现一次。(每个判定表达式 各种可能)黑盒法把被测对象看成一个 ,测试人员完全不考虑程序的 和 。只在软件的 处进行测试。(黑盒子 内部结构 处理过程 接口)在单元测试中,测试一个模块时,需要设计 。(驱动模块和桩模块)软件测试依次由 、 、 和系统测试四个层次的测试组成。(单元测试 集成测试 确认

26、测试)资源估算模型包括 资源模型 资源模型 模型。(静态单变量 Putnam COCOMO)Brooks定律说明了,从大量的软件开发实践中得出了另一条结论:向一个已经延晚的项目 ,可能使它完成得 。(增加开发人员 更晚)问题定义阶段的主要任务,是在向用户调查的基础上,编写一个叫做 的文档。(系统目标与范围说明)可行性研究的内容包括 、 、 和 。(经济可行性 技术可行性 运行可行性 法律可行性)系统成本包括 和 。(开发成本 运行维护成本)系统的用例一旦确定,即可开始标识类/对象了。一般的步骤是,考察系统的使用实例,首先将这些实例中的 或 汇总起来,得到 ,然后考察这些 的特征,进而确定哪些

27、应该包含在分析模型中。(名词 名词短语 候选对象 候选对象 对象)OOA总是从理解系统的“使用实例”开始,其基本步骤为:定义系统的用例,在领域分析的基础上建立问题域的 模型,然后建立 模型和 模型。(类/对象 对象/关系 对象/行为)对象具有状态,描述对象的状态用它的 ;对象还具有 ,用于改变对象的状态。对象是 和 的结合。(属性值 行为 属性 操作)L=c是 资源模型(其中L代表源程序的行数,T代表开发时间,K代表全生存期工作量)。它表明了,开发时间的 变化,会引起 相当大的变化。(Putnam 小的 开发工作量)软件维护工作越来越受到重视,其工作内容为纠正与修改软件中含有的错误、 、 ,而

28、软件的可维护性包含 、 、 。(完善性维护 适应性维护 可理解性 可修改性 可测试性)软件开发项目在进度安排上通常用 和PERT图方法。系统分析员可以借助PERT图帮助估算工程进度,为此在PERT图上除有事件号、持续时间外,还应有 、 、 。(甘特图 最早时间、最迟时间、机动时间)在增量式组装测试的自上而下的测试过程中, 是用来代替被测试模块所调用的模块,它的作用是返回被测模块所需的信息。(桩模块)成本/效益分析目的是从 评价开发一个新的软件项目是否可行。(经济角度)可行性研究的任务是要用最小的代价,在 时间内,分析与研究问题的范围,得到问题是否值得去解。(尽可能短的)如图所示的程序有四条不同

29、的路径。分别表示为L1(ace)、L2(abd)、L3(abe) 和L4(acd),或简写为ace、abd、abe及acd。由于覆盖测试的目标不同,逻辑覆盖方法可以分为语句覆盖、判定覆盖、条件覆盖、判定条件覆盖、条件组合覆盖和路径覆盖。 越弱, 越强,则表明模块的独立性越强。(耦合,内聚)两个模块内通过全程变量相互作用,这种耦合方式称为 。(外部耦合)实现源程序的文档化主要包括以下三个方面的内容:它们是: (有意义的变量名,适当的注释,标准的书写格式)层次图中的每个方框代表一个模块,方框间的连线表示关系。(调用)语句覆盖是指设计足够的 ,使得被测试程序中 至少执行一次。语句覆盖是比较 的覆盖标

30、准。(测试用例,每一语句,弱)Brooks定律说明了,从大量的软件开发实践中得出了另一条结论:向一个已经延晚的项目 ,可能使它完成得 。(增加开发人员,更晚)在逻辑覆盖测试中,查错能力最强的是 覆盖。(条件组合)结构化分析方法是一种面向 需求分析方法。(数据流)要覆盖含有循环结构的所有路径是不可能的,一般通过限制_来测试。(循环次数)要把数据流图(DFD)转换成软件结构,首先必须研究DFD的类型。各种软件系统,一般可分为 变换型 和 事物型 两类。纯收入是指在整个生存周期之内的_累计经济效益 (折合成现在值)_与投资之差。管理复审是对软件开发工程进行管理和的主要手段。(控制)系统流程图是描绘的

31、传统工具,它的基本思想是用图形符号以黑盒子形式描绘系统里面的每个部件。(物理系统)数据流图从数据的角度,以图形方式刻画数据处理系统的工作状态。(传送与加工)总体设计一般分为系统设计阶段和设计阶段。(结构)层次图中的每个方框代表一个模块,方框间的连线表示关系。(调用)在工程和科学计算领域主要采用语言,在商业应用方面采用COBOL 语言,在系统程序及实时应用领域采用C语言和Ada语言,在组合论应用方面较多的采用LISP语言,在表达知识和逻辑推理方面采用PROLOG语言。(FORTRAN)按错误的性质和范围,可把错误分为错误、系统错误、过程错误、数据错误和编码错误。(功能性)测试所暴露的是程序中的,

32、调试所定位、诊断和修改的是程序中的故障。(错误)软件维护分为维护、适应性维护、完善性维护和预防性维护。(改正性)现有的调试技术有输出、打印语句和设置断点三类。(存储器内容)瀑布模型是以文档为驱动、适合于_的软件项目的模型。(软件需求明确)纯收入是指在整个生存周期之内的_与投资之差。(累计经济效益 (折合成现在值))数据项是指_不可再分解的_数据单元。软件概要设计的主要任务就是_软件结构的设计_。结构化程序设计方法是使用_三种基本控制结构_构造程序。软件维护的内容包括校正性维持,适应性维护、_完善性维护_和预防性维护。自顶向下结合的渐增式测试法,在组合模块时有两种组合策略:深度优先策略和 宽度优

33、先策略 成本估算模型中,Putnam估算模型是一种 动态多变量 模型。按错误的性质和范围,可把错误分为功能错误、系统错误、过程错误、数据错误和编码错误。结构化分析方法是一种面向 数据流 需求分析方法软件= + + 。程序,数据,文档传统的瀑布模型把软件生存周期划分成问题定义、 、 、 、 、 、 和维护共8个阶段。可行性研究,需求分析,概要设计,详细设计,编码,测试画数据流图的正确做法是:从系统的 开始,逐层地对系统进行 。每 一次,系统的加工数量就增加一些,每个加工的功能也就更具体一些。继而重复这种分解,直到所有的加工都足够简单,不必再分解为止。答案:基本模型,分解,分解结构化分析方法是一种

34、面向 需求分析方法答案:数据流最低一层的 包含了系统的全部数据和加工,从哪里开始分析呢?W.Davis认为,一般应该从数据的 开始。因为 的数据代表系统的输出,其要求是明确的。由这里天始,沿着 一步步向数据 ,较易看清楚数据流中每一个数据项的来龙去脉,有利于减少错误和遗漏。答案:DFD图,终点, 终点, DFD图 , 数据源点回溯 经过需求分析,开发人员已经基本上理解了用户的要求,确定了目标系统的功能,定义了系统的数据,描述了处理这些数据的基本策略。将这些共同的理解进行整理,最后形成文档 。答案:需求规格说明书数据字典有以下四类条目: 、 、 。 是组成数据流和数据存储的最小元素。答案:数据流

35、、数据项、数据文件、基本加工、数据项SA方法利用图形等半形式化的描述方式表达需求,简明易懂,用它们形成需求说明书中的主要部分。这些描述工具是 、 、 、 、 。答案:数据流图,数据字典,描述加工逻辑的结构化语言,判定表,判定树需求分析的基本任务是要准确地定义 ,为了满足用户需要,回答系统必须 的问题答案:新系统的目标、做什么结构化语言是介于自然语言和形式化语言之间的一种半形式语言。它的结构可分成外层和内层两层,外层用来描述 ,采用 、 、 三种基本结构(控制结构,顺序,选择,重复)在软件需求分析阶段,已经搞清楚了软件 的的问题,并把这些需求通过 描述出来,这也是目标系统的 。答案:做什么、需求

36、规格说明书、逻辑模型对象的抽象是 ,类的具体化就是 (类,对象)存在于类之间一般化关系是“ ”关系,有一般化类和具体类之分,一般化类又称 类,具体类又称为 类,各 类继承了 类的性质,各 类的一些共同性质和操作又归纳到 类中。(一般具体,父,子,子,父,子,父)面向对象的三种分析模型是: 模型、 模型和、 模型。(对象,行为,功能)组合是一种 关系。(整体部分)标识事件的一种常用方法是找出用例中的 ,它们是候选的事件。标识了事件之后,应该明确事件 (可能是外部实体,也可能是内部对象)和事件作用于哪个对象,还应该指出事件携带的 以及一些条件的或约束等。(动词和动词短语、是谁发出的、信息)建立对象

37、模型时,首先要确定系统中有 , 需要哪些属性,然后确定 之间的关系。对象模型通常使用类似于 这样的图形工具进行表示。(哪些对象(或类)、每一个对象(或类)、对象(或类)、实体关系图) 和 是模块独立性的两个定性标准,将软件系统划分成模块时,尽量做到 内聚、 耦合,提高模块的 ,为设计高质量的软件奠定基础。(内聚性、耦合性、高、低、独立性)控制耦合中一个模块调用另一个模块时,传递的是 (如开关、标志等),被调模块通过 有选择地执行块内某一功能。因此被调模块内应具有多个功能,哪个起作用受其 控制。(控制变量、该控制变量的值、调用模块) 是最高程度的耦合。这种耦合出现在当一个模块直接使用另一个模块的

38、 ,和通过 转入另一个模块内部。(内容耦合、内部数据、非正常入口)如果一个模块完成多个功能,而每一个功能都有各自的入口点和独立的代码,但功能都依赖于同样的数据结构,则称为 内聚。(信息)功能元素是内聚程度最 的内聚,指模块内所有元素共同完成 ,缺一不可。功能内聚的模块与其他模块的耦合是 的。(强、同一功能、弱)衡量软件独立性的度量标准是 和 。(内聚性、耦合性)软件设计是一个把 转换为 的过程,包括 和 。答案:软件需求、软件表示、概要设计、详细设计进入了设计阶段,要把软件“做什么”的 变换为“怎么做”的 即着手实现软件的需求,并将设计的结果反映在 文档中。答案:逻辑模型、物理模型、设计规格说

39、明书若某个加工将它的输入流分离成许多发散的数据流,形成许多加工路径,并根据输入值选择其中一个路径来执行,这种特征的DFD称为 数据流图,这个加工称为 。(事务型、事务处理中心)数据流图的类型有 和 。(变换型、事务型)只要事先知道一个问题的 ,就可由此导出它的 ,这就是面向数据结构设计方法的根据与基本思想。答:数据结构图,程序结构图需求分析的基本任务是要准确地定义 ,为了满足用户需要,回答系统必须 问题。(新系统的目标,做什么)四、简答题1. 什么叫软件危机?软件危机主要有哪几种表现?软件危机:软件开发和维护过程中遇到的一系列严重问题。(1)产品不符合用户的实际需要;(2)软件开发生产率提高的

40、速度远远不能满足客观需要,使人们不能充分利用现代化计算机硬件提供的巨大潜力;(3)软件产品质量差;(4)对软件开发成本和进度的估计常常不准确;(5)软件的文档资料通常既不完整也不合格;(6)软件的可维护性差。2. 什么叫软件工程?软件工程三要素是什么?软件工程:指导计算机软件开发和维护的一门学科,采用工程的概念、原理、技术和方法来开发与维护软件。软件工程三个要素:方法、工具、过程3软件生命周期分哪几个阶段?各阶段的任务是什么?答:软件生命周期可以分为三大时期:计划阶段、开发阶段和维护阶段,具体可以分为以下几个阶段: 问题定义、可行性研究、需求分析、概要设计、详细设计(或过程设计)、编码、测试、

41、运行与维护。各阶段的任务:(略)4什么是生命周期模型?有哪些主要模型?答:生命周期模型是描述软件开发过程中各种活动如何执行的模型。主要的软件生存周期模型:瀑布模型、快速原型模型、增量模型、螺旋模型、喷泉模型。6在软件开发模型的瀑布模型中谈到瀑布模型具有阶段间的顺序性和依赖性是什么?顺序性:第一,只有等前一个阶段工作完成以后,后一阶段的工作才能开始;第二,前一阶段的输出文档就是后一阶段的输入文档依赖性:想在后阶段获得正确的结果,必须在前阶段有正确的输出。7简述结构化分析的基本步骤(或简述需求分析的步骤)。答:获取用户需求分析用户需求,建立分析模型编写需求文档评审需求文档8、结构化分析的基本步骤?

42、答:(1)由顶向下对系统进行功能分解,画出分层数据流图(2)从最底一层DFD图的数据终点出发,由后向前定义系统的数据和加工,再编制DD和加工说明 (3)编写SRS(软件需求说明书)9如何画分层数据流图?答:总的原则是:从上而下,逐层分解,画分层数据流图。顶层:将整个系统作为一个加工,描述系统边界(输入与输出)。中间层:表示某个加工分解为一组子加工,其中的子加工还需进一步分解。底层:由不再进行分解的基本加工组成。10画分层DFD图应遵循几个指导原则是什么?答:(1)命名合理,DFD中各构成元素的名称必须具有明确的含义。(2)保证分层数据流图中任意对应的父图和子图的平衡(输入/输出数据保持一致)(

43、3)分解速度适中。通常上层分解得快一些,下层应慢一些,同一图中每个加工分解的步子应大致均匀,保持同步扩展。每一加工每次可分解为2-4个子加工,最多不要超过7个。(3)应按层次给每个加工编号。(4)应区分局部文件和局部外部项。11衡量模块独立的两个标准是什么?它们各表示什么含义?答:衡量模块独立性的两个定性的度量标准:耦合性和内聚性。耦合性和内聚性的概念(略)耦合性与内聚性是模块独立性的两个定性的度量标准,将软件系统划分模块时,尽量做到高内聚、低耦合,提高模块的独立性,为设计高质量的软件结构奠定基础。12为了有效地从DFD图到SC图的映射,SD方法规定了哪四个步骤?复审DFD图,必要时可再次进行

44、修改或细化鉴别DFD图所表示的软件系统的结构特征,确定它所代表的软件结构是属于变换型还是事务型。按照SD方法规定的一组规则,把DFD图转换成初始的SC图。按照优化设计的指导原则改进初始的SC图,获得最终的SC图。13变换映射的3点主要步骤(1)划分DFD图的边界。()设计变换结构(顶层、一层)()设计中、下层模块(映射)14简述结构化设计优化原则。(1)改进结构提高模块独立性。(2)模块规模适中。(3)分析评价结构图的深度、宽度、扇入、扇出,改善程序结构的形态特性。(4)模块的作用域应该在控制域内。15对编码风格的要求(1)实现源程序的文档化: 符号名的命名要有意义适当的注释标准的书写格式 (

45、2)使用标准的控制结构 (3)有限制的使用GOTO语句 (4)满足运行工程学的输入输出风格16什么是白盒法?它有哪两类测试法?答:以程序的结构为依据的测试方法包括:逻辑覆盖测试法和路径测试法。其中,逻辑覆盖法包括:语句覆盖、判定覆盖、条件覆盖、判定/条件覆盖和条件组合覆盖。17给出测试分类图18集成测试策略答:(1)自顶向下测试 a.先深后广实施步骤 b.先广后深实施步骤 (2)由底向上测试 (3)混合方法测试19软件测试要经过哪些步骤?这些测试与软件开发各阶段之间有什么关系?它们各自的测试对象是什么?答:软件测试大致要经历单元测试、集成测试、确认测试和系统测试四个阶段。单元测试、集成测试、确

46、认测试与软件开发的关系十分密切。通常,单元测试主要用来发现编码和详细设计中产生的错误;集成测试主要检查模块间接口和通信,发现设计阶段产生的错误;确认测试的任务是检查软件的功能、性能和其他特征是否与用户需求一致。单元测试验证详细设计说明书以及编码的源程序代码的有效性、正确性;集成测试验证概要设计说明书以及详细设计说明书的有效性、正确性;确认测试验证需求分析说明书以及概要设计说明书的有效性、正确性。20、简要说明如何划分等价类?用等价划分法设计测试用例的步骤是什么?答:在进行等价类划分的过程当中,需要同时考虑有效等价类和无效等价类。所谓有效等价类指的是对于程序的规格说明(指功能说明)来说是有意义、

47、合法的输入数据的集合,无效等价类指的是不合理、无意义的或与规格说明中规定不符的输入数据的集合。利用有效等价类可以检测程序是否正确实现了要求的功能和处理能力。利用无效等价类可以测试程序对意外的、不合理的输入数据的处理能力即程序的健壮性。用等价划分法设计测试用例的步骤如下:首先,根据等价划分法的原则,对输入数据进行等价类的划分;然后,根据划分的等价类列出等价类表;接着,根据已列出的等价类表按以下步骤确定测试用例。(1)设计最尽可能少的测试用例,覆盖所有的有效等价类。(2)针对每一个无效等价类,设计一个测试用例来覆盖它。21什么是软件中的回归测试?它有什么好处?答:回归测试是在对软件进行了修改后,重

48、新执行修改前做过的测试,以确保对软件的修改没有引入新的错误。回归测试可以用来保证软件修改的正确性,在集成测试过程中经常要进行回归测试,以确保在增加新的模块的同时没有增加新的错误。单元测试实施的步骤?答:编译静态分析器分析代码评审动态测试23软件维护的种类?纠错性维护 完善性维护 适应性维护 预防性维护24软件的可维护性与哪些因素有关?答:软件的可维护性与可理解性、可修改性、可测试性等因素有关。26终止测试的标准? 规定测试策略和应达目标 规定至少要查出的错误数量27解释阶段间的顺序性与依赖性的含义顺序性有两重含义:第一,只有等前一阶段的工作完成以后,后一阶段的工作才能开始;第二,前一阶段的输出

49、文档,就是后一阶段的输入文档。依赖性表明:想在后一阶段获得正确的结果,必须在前阶段有正确的输出。28画分层数据流图时应该注意哪几个问题?父图和子图的平衡区分局部文件和局部外部项分解的速度不宜太快遵守加工编号的规则29变换型的一组规则是什么?化分DFD的边界;建立初始SC图的框架;分解SC图的各个分支。30详细设计阶段的主要任务是什么为每个模块确定采用的算法。确定每一模块使用的数据结构确定模块接口的细节,包括对系统外部的接口和用户界面,对系统内部其它模块的接口,以及关于模块输入数据、输出数据及局部数据的全部细节。为每一模块设计出一组测试用例。31集成测试的策略?(1)自顶向下的测试深度优先广度优

50、先(2)由底向上测试(3)混合方式测试32什么是穷尽测试?程序的控制流图如下,根据测试时间来判定是否可以实现穷尽测试?(设执行一条路径需一毫秒)。 循环20次 123451161079812 穷尽测试是包含所有可能情况的测试。图中共有5条通路。左边曲线箭头表示执行次数不超过20次循环,这样执行的路径有520个,近似1014个可能的路径。如果每一毫秒完成一个测试,测试这个程序需要3170年。这说明此问题不可能实现穷尽测试。33终止测试的标准? 规定测试策略和应达目标 规定至少要查出的错误数量34某航空公司规定,乘客可以免费托运不超过20公斤的行李。当行李重量超过20公斤时,头等舱国内乘客超重部分

51、每公斤收费4元,其他舱国内乘客超重部分每公斤收费6元,对于国外乘客超重部分每公斤收费比国内乘客多一倍,对于残疾乘客超重部分每公斤收费比正常乘客减少一半,用判定树表示计算行李的算法。35对编码风格的要求?使用标准的控制结构有限制的使用GOTO语句实现源程序的文档化满足运行工程学的输入输出风格年将来值(1+i)n现在值累计的现在值 1 2500 1.12 2232.142232.4 2 2500 1.25 1992.98 4225.12 3 2500 1.40 1779.45 6004.57 4 2500 1.57 1588.80. 7593.37 5 2500 1.76 1418.57 9011

52、.94投资回收期=2+(5000-4225.12)/1779.45=2+0.44=2.44(年)估计投资回收率:40% 软件开发的方法有哪些?传统的软件工程和面向对象的软件工程软件生存周期一般划分为哪几个时期?计划时期、开发时期和运行时期计划时期分成哪几个阶段?问题定义和可行性研究开发时期分成哪几个阶段?需求分析、软件设计、编码和测试运行时时期有哪些阶段?维护软件开发的模型有哪几种?传统软件开发模型瀑布模型和快速原型软件演化模型增量模型和螺旋模型面向对象的模型构件集成模型形式化方法模型转换模型和净室模型瀑布模型的特点有哪些?阶段间的顺序性和依赖性推迟实现的观点质量保证的观点存在的问题解释阶段间

53、的顺序性与依赖性的含义顺序性有两重含义:第一,只有等前一阶段的工作完成以后,后一阶段的工作才能开始;第二,前一阶段的输出文档,就是后一阶段的输入文档。依赖性表明:想在后一阶段获得正确的结果,必须在前阶段有正确的输出。何为推迟实现的观点?编码开始的越早,完成所需要的时间反而越长在建立快速原型时采取什么作法?原型系统仅包括未来系统的主要功能,以及系统的重要接口。为了尽快向用户提供原型,开发原型 系统时应尽量使用能缩短开发周期的语言和工具。最终系统的形成可以采用原型废弃不用,另一方法是补充修改模型获得最终系统。五、分析设计题1、某学校计算机教材购销系统有以下功能:学生买书,首先填写购书单,计算机根据

54、计算机根据教材库存表判断书库是否有书;若有书,把领书单返回给学生,学生凭领书单到书库领书。对脱销的教材,系统用缺书单的形式通知书库,新书购进库后,也由书库将进书通知返回给系统。请就以上系统功能画出分层的DFD图。答:教材购书系统的顶层数据流图(DFD)如下图所示:领书单缺书单学生购书单教材购销系统书库保管员进书通知教材购书系统的第二层数据流图如下图所示:F1 教材存量表缺书单进书通知进书通知领书单购书单学生销售1采购1书库保管员F2 缺书登记2、某培训中心要研制一个计算机管理系统。它的业务是将学员发来的信件收集分类,按以下几种不同的情况处理。如果是报名的,则将报名数据送给负责报名事务的职员,他

55、们将查阅课程文件,检查该课程是否满额,然后在学生文件、课程文件上登记,并开出报名单交财务部门,财务人员开出发票给学生。如果是想注销原来已选修的课程,则由注销人员在课程文件、学生文件和帐目文件上做相应的修改,并给学生注销单。如果是付款的,则由财务人员在帐目文件上登记,也给学生一张收费收据。要求:(1)对以上问题画出数据流图。(2)画出该培训管理的软件结构图的主图。答:1)数据流图收费收据发票报名单注销单付款数据报名数据注销数据函电事务课程文件帐目文件学生文件学员收集分类注销报名产生发票学生文件付款帐目文件学员2)软件结构图的主图报名数据注销数据事务事务函电函电培训计算机管理得到事务分类处理输入函

56、电收集事务注销处理报名处理付款处理付款数据3。读入代表三角形边长的3 个整数,判断它们能否组成三角形。如果能够,则输出三角形是等边、等腰或任意三角形的信息,根据问题给出下列问题的解答。给出此问题详细设计的N-S图输出分类信息答: 输入边长A,B,C的值T A+BC and A+CB and B+CAFT A=B F输出“不是一个三角形” A=C A=CT F T F 输出“是等边 输出“是 输出 T B=C F三角形” 等腰三角形”“是等 输出“是输出“是 腰三角 等腰三角任意三 形” 形” 角形”结束4、一个二变量函数,变量的取值为0或1,输出为两个变量的和,用等价分类法设计测试用例。(1)

57、划分等价类,形成等价类表输入条件有效等价类无效等价类变量个数变量个数为2变量个数1变量个数3变量的取值变量的取值为0或1有一个变量取值0且1(2)设计测试用例(参考答案)有效等价类:a)输入测试数据:a=0,b=1 预期结果:有效 给出以下2个以上测试数据b) )输入测试数据:a=1 预期结果:无效 测试范围:(变量个数1个)c)输入测试数据:a=1,b=1,c=1 预期结果:无效 测试范围:(变量个数3个)d)输入测试数据:a=2,b=1 预期结果:无效 测试范围:(变量取值非零且非1)5、根据下列条件使用等价分类法划分有效等价类和无效等价类。假定我校学生学号从2004年开始定为前四位为所在

58、年级,后四位为学生在同年级的学生序号,如.输入数据有效等价类无效等价类数字个数8位数字字符有非数字字符少于8个数字字符多于8个数字字符数据范围-6、对下图按给定步骤采用基本路径测试法设计测试用例入口X1且B0 ?X=2且Y5 ?出口A=A2ny第一步:导出程序图第二步:计算环形复杂度第三步:确定基本路径第四步:生成测试用例12345671089第一步:导出程序图第二步:计算环形复杂度因为有5个判定结点,故环形复杂度为6第三步:确定基本路径由于环形复杂度为6,故有基本路径6条path 1: 12867path 2: 123867path 3: 1234567path 4: 1234967path

59、 5: 12345967path 6: 123456107第四步:生成测试用例path 1: 输入X=1 A=2 B=1 Y=1预期结果:A=4path 2: 输入X=2 A=2 B=-1 Y=1预期结果:A=4path 3: 输入X=2 A=2 B=-1 Y=-1预期结果:A=2path 4: 输入X=1.5 A=2 B=-1 Y=1预期结果:A=4.5path 5: 输入X=2 A=2 B=-1 Y=1预期结果:A=5path 6: 输入X=2 A=6 B=-1 Y=-1预期结果:A=47使用基本路径测试方法测试以下程序段: void ss(int p,int q)1 2 int x=0;

60、3 int y=0;4 while(p 1)5 6 if(q= =1)7 break;8 else9 if(q= =2)10 x=x+5;11 else12 y=y+10;13 14 说明:程序段中每行开头的数字(114)是对每条语句的编号。要求:画出程序图。计算上述程序段的环形复杂度。导出基本路径集,列出程序的独立路径。根据(3)中的独立路径,设计测试用例的输入数据和预期输出。答:(1)程序图如下:2,3469710121314(2)程序段的环形复杂度V(G)=4因为有3个判定结点,故环形复杂度为4(3)程序段的基本路径集中有4条独立路径。路径1: 4 14路径2: 4 6 7 14路径3:

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论