中南大学软件工程复习题及参考答案
《软件工程》经典考试例题复习试题,重点知识点[含答案解析]
![《软件工程》经典考试例题复习试题,重点知识点[含答案解析]](https://img.taocdn.com/s3/m/7bd06cf9988fcc22bcd126fff705cc1754275f54.png)
《软件⼯程》经典考试例题复习试题,重点知识点[含答案解析]1.某旅馆的电话服务如下:可以拨分机号和外线号码。
分机号是从7201⾄7299。
外线号码先拨9,然后是市话号码或长话号码。
长话号码是以区号和市话号码组成。
区号是从100到300中任意的数字串。
市话号码是以局号和分局号组成。
局号可以是455,466,888,552中任意⼀个号码。
分局号是任意长度为4的数字串。
要求:写出在数据字典中,电话号码的数据流条⽬的定义即组成。
电话号码=[分机号|外线号码]分机号=7201 (7299)外线号码=9+[市话号码|长话号码]长话号码=区号+市话号码区号=100 (300)市话号码=局号+分局号局号=[455|466|888|552]分局号=4{数字}4数字=[0|1|2|3|4|5|6|7|8|9]2.为以下程序流程图分别设计语句覆盖和判定覆盖测试⽤例,并标明程序执⾏路径。
(1)语句覆盖测试⽤例令x=2,y=0,z=4作为测试数据,程序执⾏路径为abcde。
(2)判定覆盖可以设计如下两组数据以满⾜判定覆盖:x=3,y=0,z=1(1分)(通过路径abce);x=2,y=1,z=2(1分)(通过路径acde)。
或者x=2,y=1,z=1;覆盖路径acdex=1,y=1,z=1;覆盖路径acex=3,y=0,z=1;覆盖路径abce(注意:本题也还可以有其他答案)3.请⽤判定表画出以下问题的⾏为逻辑。
⼈们往往根据天⽓情况决定出门时的⾏装。
天⽓可能下⾬,也可能不下⾬;下⾬或不下⾬天⽓可能变冷,也可能不变冷。
如果天⽓要下⾬,出门时带上⾬伞;如果天⽓变冷,出门时要穿上⼤⾐。
4.对下列⼦程序进⾏调试:procedure example(y,z: real; var x: real)if (y>1) and (z=0) then x:=x/y;if (y=2) or (x>l) then x:=x+l;end.该⼦程序接受x, y, z的值,并将计算结果x的值返回给调⽤程序。
中南大学软件工程纸质作业参考答案

《软件工程》作业参考答案作业一一、1.过程与模型工具和环境消息 2. 33.产品软件合同软件4.由外至内5.三种基本流程控制结构6.软件危机7.尽可能模拟人类习惯的思维方式人类认识世界 8.结构化数据二、三、1.结构化方法:是一种传统的软件开发方法,其总的指导思想是自顶向下、初步求精、单入口、单出口,其基本原则是抽象和功能分解。
2.软件工具:是指为支持计算机软件的开发、维护及相关工作而研制的程序系统。
:是一组工具和方法的集合,可以辅助软件开发生命周期各阶段进行软件开发。
CASE把软件开发技术、软件工具和软件开发方法集成到一个统一而一致的框架中,并且吸收了CAD(计算机辅助设计)、软件工程、操作系统、数据库、网络和许多其他计算机领域的原理和技术。
因而,CASE领域是一个应用、继承和综合的领域。
四、1.软件工程是一门工程性学科,其目标是以较少的代价获取高质量的软件,包括:付出较低的开发成本;达到要求的软件功能;取得较好的软件性能;开发的软件易于移植;需要较低的维护费用;能按时完成开发任务,及时交付使用;开发的软件可靠性高。
2.软件文档的作用有:提高软件开发过程的能见度;提高软件开发效率;作为开发人员阶段工作成果和结束标志;记录开发过程的有关信息便于使用与维护;提供软件运行、维护和培训有关资料;便于用户了解软件功能、性能。
瀑布模型是典型的文档驱动型软件开发模型,其缺点主要有:实际软件开发中,各阶段之间并非完全的自上而下线性顺序展开;在开发过程中,用户看不见系统,而只有在交付使用时系统才能和用户见面;针对需求模糊或变化的情况,瀑布模型不够灵活。
3.软件发展第二阶段的末期,由于计算机硬件技术的进步,计算机运行速度、容量、可靠性有显著的提高,生产成本显著下降,这为计算机的广泛应用创造了条件。
一些复杂的、大型的软件开发项目提出来了,但是,软件开发技术的进步一直未能满足发展的需要。
在软件开发中遇到的问题找不到解决办法,使问题积累起来,形成了尖锐的矛盾,因而导致了软件危机。
软件工程复习题及答案

选择题1.在结构化设计SD方法中全面指导模块划分的最重要的原则是( D )A.程序模块化B.模块高内聚C.模块低耦合D.模块独立性2.软件维护产生的副作用,是指( C )A.开发时的错误B.隐含的错误C.因修改软件而带来的错误D.运行时误操作3.软件详细设计的主要任务是确定每个模块的( A )A.算法和使用的数据结构 B.外部接口 C.功能 D.编程4.为了提高模块的独立性,模块内部最好是( C )A.逻辑内聚B.时间内聚C.功能内聚D.通信内聚5.软件是一种( C )A.程序B.数据C.逻辑产品D.物理产品6.下列那个模型不是面向对象的分析中建立的模型( B )A.对象模型B.瀑布模型C.动态模型D.功能模型7.确认软件的功能是否与需求规格说明书中所要求的功能相符的测试属于A.集成测试B.恢复测试C.验收测试D.单元测试8.采用Gantt图表示软件项目进度安排,下列说法中正确的是( D )A.能够反映多个任务之间的复杂关系B.能够直观表示任务之间相互依赖制约关系C.能够表示哪些任务是关键任务D.能够表示子任务之间的并行和串行关系9.程序的三种基本控制结构是( B )A.过程、子过程和分过程B.顺序、选择和重复C.递归、堆栈和队列D.调用、返回和转移10.软件生存周期中时间最长的是( D )阶段A.总体设计B.需求分析C.软件测试D.软件维护11.为使得开发人员对软件产品的各个阶段工作都进行周密的思考,所以( C )的编制是很重要的。
A.需求说明B.概要设计C.软件文档D.测试计划12.软件部件的内部实现和外部可访问性的分离,是指软件的( C )。
A.继承性B.共享性C.封装性D.抽象性13.单元测试是发现编码错误,集成测试时发现模块的接口错误,确认测试是为了发现功能错误,那么系统测试是为了发现( C )错误。
A.接口错误B.编码错误C.性能、质量不合要求D.功能测试14.软件工程管理对软件项目的开发管理,即对整个软件( B )的一切活动的管理。
软件工程期复习(附答案)

(一)填空题1. 软件生存周期是指软件从可行性分析和项目开发计划、(需求分析)、设计、编码、测试、(维护)直到最终被废弃的全过程。
2. 大型软件测试包括(单元测试)、(集成测试)确认测试和(系统测试)四个步骤。
4. 模块的独立程度可以由两个定性标准度量,这两个标准分别称为(内聚)和(耦合)。
5. 通过执行对象的操作改变对象的属性,但它必须通过(消息)的传递。
6. 人们常用的评价软件质量的4个因素是(功能性)、(可靠性)、(效率)、(可维护性)7. 为了提高软件的可移植性,应注意提高软件的( 设备独立性)8. 为了适应软硬件环境变化而修改软件的过程是(适应性维护)。
9. 瀑布模型的存在问题是(缺乏灵活性)10. 黑盒测试在设计测试用例时,主要研究(需求规格说明和概要设计说明)(二)单项选择题1. 如果某种内聚要求一个模块中包含的任务必须在同一段时间内执行,则这种内聚为(A)。
A. 时间内聚B. 逻辑内聚C. 通信内聚D. 信息内聚2. 选择足够多的测试数据,使得判定表达式中的每个条件都取得各种可能的值,而且每个判定表达式也都取到各种可能的结果。
满足这种测试条件的覆盖是(C)。
A. 判定覆盖B. 条件覆盖C. 判定/条件覆盖D. 条件组合覆盖3. 下列(D )属于详细设计。
A. 分析项目的成本和效益B. 为每个模块确定采用的算法C. 编写代码D. 确定模块结构,划分模块功能4. 某次程序调试没有出现预计的结果,下列(C )不可能是原因。
A.变量没有初始化B.循环控制出错C.变量没有明确的注释D.代码输入有误5. 下列(B)属于不良的编程习惯。
A.尽量不使用GOTO 语句B.从来不使用注释C.每行只写一条语句D.变量命名尽量直观6.下列对于软件测试的描述中正确的是(A)。
A.软件测试的目的是证明程序是否正确B.软件测试的目的是使程序运行结果正确C.软件测试的目的是尽可能多地发现程序中的错误D.软件测试的目的是使程序符合结构化原则7.为了使模块尽可能独立,要求(B)。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
中南大学复习题及参考答案 软件工程 一、选择题: 1.下面哪些UML图描述系统行为 ( A ) A.用例图 B.类图 C.对象图 2.属于概要设计活动的是 ( A ) A.软件结构设计 B.数据结构设计 C.算法设计 3.属行为型设计模式的是 ( C ) A.组合模式 B.工厂方法模式 C.观察者模式 4.下列说法正确的是 ( B ) A.UML是软件开发方法 B.UML是系统描述语言 C.UML是软件开发过程 5. 根据程序流程图划分的模块通常是 ( B ) A. 信息内聚的模块 B. 过程内聚的模块 C.逻辑内聚的模块 6.如果某程序中的比较个数是m,则其McCabe环形复杂度为 ( C ) A.m-1 B.m C.m+1 7.按ISO9000-3的说明,下列属软件配置项的是 ( C ) A.软件开发方法 B.软件开发组织管理制度 C.软件开发合同 8. 软件测试的目的是 ( C ) A.证明软件无错 B.发现软件中的所有错误 C.尽可能发现软件系统中的错误 9.软件重构关注的是 ( B ) A. 软件体系结构 B. 模块细节 C.软件性能 10.软件项目开发计划的内容有 ( B ) A. 数据分析 B.风险分析 C.功能分析 11.在UML的类图中,描述整体与部分关系的有 ( B ) A.泛化关系 B.聚合关系 C.依赖关系 12.软件过程能力成熟度模型CMM用以评价 ( A ) A.软件过程能力 B.组织能力 C.学习能力 13. 因计算机硬件和软件环境的变化而作出的修改软件的过程称为 ( C ) A. 完善性维护 B. 改正性维护 C.适应性维护 14. 对项目软件而言,软件功能需求信息主要由谁提供 ( A ) A.软件用户 B.软件开发人员 C.软件项目管理人员 15. IDEF0图反映不出 ( C ) A.系统做什么 B.系统功能由谁做 C.系统如何做 16. 原型模型是一种什么开发过程模型 ( B ) A.自顶向上 B. 由外至内 C.增量式 17. 系统流程图描述 ( A ) A.物理系统 B.逻辑系统 C.软件体系结构 18.需求规格说明书的内容不应该包括 ( C ) A.软件确认准则 B.软件的性能描述 C.算法过程的详细描述 19.适合需求模糊或需求不确定系统开发的软件开发模型有 ( C ) A. 瀑布模型 B. RAD模型 C.原型模型 20.UML图中描述系统结构的有 ( A ) A. 组件图 B. 顺序图 C.状态图 21.面向对象方法是一种什么软件开发方法 ( B ) A.层次化 B.迭代增量式 C.逐步求精 22.不可以用来衡量软件可维护性的有 ( ) A.可靠性 B.可用性 C.可行性 23. 系统分析员在需求分析最后负责编写 ( ) A.用户手册 B. 概要设计说明书 C.可行性研究报告 24.为了提高软件的可靠性、可维护性等而对软件的修改称为 ( ) A.改正性维护 B.适应性维护 C.预防性维护 25.在结构化方法中,为使需求改变对软件影响较小,应该使软件结构 ( ) A. 与问题结构对应 B. 与问题结构独立 C.与用户界面对应 26.单元测试的计划应该在什么阶段完成 ( ) A. 需求分析 B. 概要设计 C.详细设计 27. 下列属面向对象软件开发方法的有 ( ) A. LCP方法 B. OMT方法 C.IDEF0方法 28.强调信息隐藏的软件工程设计方法有 ( ) A.Jackson方法 B.Parnas方法 C.SA/SD方法 29.描述系统动态行为的模型有 ( ) A.包图 B.软件结构图 C.状态图 30.考虑输入条件组合的测试用例设计方法有 ( ) A.等价分类法 B.语句覆盖法 C. 因果图法 31. 下列能减少支援性维护活动的有 ( ) A.利用软件包 B.进行配置管理 C.对用户进行适当培训 32. 只支持单重继承的程序设计语言有 ( ) A.C++ B.Delphi C. C 33. IDEF0图的顶层图是 ( ) A. A0图 B.A-0图 C.A-1图 34. 在UML的用例图中,扩展关系是一种 ( ) A. 泛化关系 B.依赖关系 C.关联关系 35.独立测试小组开始介入测试是在 ( ) A.模块测试阶段 B.集成测试阶段 C.确认测试阶段 36. 在成本估计中容易低估局部问题的方法是 ( ) A. 基于经验模型的估计 B. 自底向上估计 C. 自顶向下估计 37.在IDEF1X图中,如果子实体与父实体存在联系,则子实体将继承父实体的 ( ) A.全部属性 B.主关键字属性 C.非主关键字属性 38. 结构化分析方法使用的工具有 ( ) A. 数据流图 B.类图 C.软件结构图 39. 白盒测试设计用例的方法是 ( ) A. 等价分类法 B.基本路径覆盖法 C.因果图法 40. 在衡量软件质量时,最重要的标准是 ( ) A. 可维护性好 B. 可用性好 C. 满足用户功能需求 41. 瀑布模型是一种 ( ) A. 演化模型 B. 顺序模型 C. 增量模型 42. 模块的独立程度可以由什么定性标准度量 ( ) A. 耦合度 B. 复杂度 C.可靠性 43.以下选项中,不属于对象的特点有 ( ) A. 继承 B. 多态 C. 封闭 44. 面向数据结构的设计方法有 ( ) A.Parnas方法 B.Jackson方法 C. IDEF0方法 45. 与UML配合最好的软件开发方法是 ( ) A.RUP方法 B.Coad/Yourdon方法 C.IDEF4方法 二、填空题: 1.统一建模语言UML提供了两种描述整体/部分关系的方法,分别是 和 。 2.软件是计算机程序、 及 的完整集合,将其统称为软件配置,这些项称为软件配置项。通过正式复审的软件配置项称为 ,只有通过正式的变化控制过程才能改变它。 3.纯收入是指在整个生存周期之内的 与投资之差。 4.瀑布模型是以 驱动的软件生存周期模型,适合需求明确的软件系统开发。 5.在单元测试期间,应该为被测模块编写相应的测试软件,一般地 模块接收测试数据,并把数据传给被测模块,而 模块则模拟实际模块完成少量数据处理。 6.IDEF0方法用严格的自顶向下、逐层分解的方式进行系统的功能描述,其顶层图 将 图在建模范围内分解成 个主要部分得到。 7.如果一个模块完成多个逻辑上相近或相关的功能,并且每次调用只选择该模块中的一个功能执行,则称此模块为 内聚的模块。 8.程序静态分析的对象是 。常生成各种引用表,如 列出各模块中出现的全部标号。 9.在数据流图中,每个加工至少有一个 和一个 。 10.两个小组独立地测试同一个程序,第一组发现25个错误,第二组发现30个错误,在两个小组发现的错误中有15个是共同的,那么可以估计程序中的错误总数是 。 11.设E为程序图G中边的总数; N 为程序图中结点的总数,则该程序图的环形复杂度为 。 12.汽车有一个发动机。若用UML描述汽车和发动机之间的关系,则它们之间是_____关系。 13.自顶向下结合的渐增式测试法,在组合模块时有两种组合策略,即 策略和 策略。 14.在基本路径测试中,以详细设计为基础,导出控制流程图的拓扑结构: 程序图,在计算了程序图的 之后,确定只包含独立路径的基本路径图,其中独立路径是包括一组 的一条路径。从程序图来看,一条独立路径是至少包含有一条在其他独立路径中未有过的边的路径。 15.在多层次的结构图中,其模块结构的层次数称为结构图的 。结构图中同一层模块的最大模块数称为结构图的 。 16.耦合性是指两个模块之间的 关系,模块之间的联系越复杂,每个模块的独立性就 。 17.可行性研究实质上是进行了一次 过程。 18.需求分析的任务是 。 19.NS图的主要优点是它强制设计人员使用 技术,从而可保证软件设计的质量。 20.结构型模式涉及如何组合类和对象,从而构成更大的对象,一是采用 来组合接口或实现形成更大的结构;另一种方式通过 方式来形成。 21.为了便于对照检查,测试用例应由 和预期的 两部分组成。 22.软件开发时,一个错误发现得越晚,为改正它所付出的代价就 。 23.在UML的用例图中,根据参与者与用例关系的不同,参与者可分为 和次要参与者,参与者之间的关系只有 关系。 24.评价软件质量可以从三个方面进行,即产品或中间产品、 和项目。 25.软件配置管理是一组用于在计算机软件的整个生存周期内管理 的活动。 26.通过抽象,可以确定组成软件的 。通过信息隐蔽,可以定义和实施对模块的过程细节和局部数据结构的 。 27.UML表示法的基础是 ,它描述建模元素的语义。 28.条件覆盖是指设计足够的测试用例,使得 至少出现一次。 29.面向数据流图的结构化分析方法是根据 的原则,按照系统中数据处理的流程,用数据图来建立系统的 模型。 30.评估软件企业的质量管理有两种方法,一种是按照 认证,另外一种是按照 CMM认证。 31.风险估计从两个方面来度量,一是估计 ,二是估计与风险相关的问题出现后将会带来的损失。 三、名词解释题: 1.集成测试 2.设计模式 3.信息隐藏 4.用例 5.结构化方法 6.MVC 四、判断题: 1. 测试计划、测试用例和出错统计等一般不用长期保存。 ( ) 2. 在面向对象方法中,需求分析和设计没有差别。 ( ) 3. 应用设计模式使得软件灵活,可重用性提高,应该尽量多使用。 ( ) 4. UML是一种建模语言,可以被任何面向对象方法使用。 ( ) 5. 任何系统都需要对数据进行处理,因而数据流图可描述任何系统。 ( ) 6. 软件开发就是编写程序代码。 ( ) 7. 面向对象软件开发最适合采用迭代、增量式的开发模型。 ( ) 8. 设计模式是一种可以重用的面向对象软件设计方案。 ( ) 9. 软件测试就是检查程序是否正确。 ( ) 10. 软件项目计划在可行性研究阶段就已定稿。 ( ) 11. 软件工程认为软件设计的最终目标是要取得最佳方案。 ( ) 12. 只要对软件进行严格的测试,就能发现软件中的所有错误。 ( ) 13. 初级技术人员在编码阶段参与软件项目的程度在各类人员中最高。 ( ) 14. 单元测试常常在编码阶段进行。 ( ) 15. CMM描述和分析了软件过程能力的发展与改进的程度。 ( ) 16. 为了加快开发速度,可以一边写程序,一边设计文档。 ( ) 17. 没有发现任何错误的测试是无效的测试。 ( ) 18. 软件结构图中不能有控制信息流动。 ( ) 19. 单元测试常常由独立的测试小组进行。 ( ) 20. 用例建模只能用于面向对象软件系统的开发。 ( ) 21. 数据流建模方法是一种自顶向下的需求分析方法。 ( ) 22. 为了减少程序的长度,最好不要在程序中增加注释。 ( ) 五、简答题: 1. 在需求分析和设计阶段建立原型的好处有哪些? 2. 什么是模块的扇入和扇出? 3. UML的特点是什么? 4.层次图和层次方框图有何区别? 5. 软件测试对象应包括哪些内容? 6. 试简要叙述文档在软件工程中的作用。 7. 为何螺旋模型主要适合开发人员和用户为同一个组织机构成员的软件项目的开发? 8. 软件测试为何需要尽早和不断地进行? 9.简要说明如何实现MVC。 10.试给出一种开源软件框架,并简要说明开源软件存在的问题。 11. IDEF0方法有什么特点? 12. 快速原型模型有几种?各有何特点? 六、综合题: 1.某网络学院决定开发一个管理所有学生和教师信息的交互式网络系统,该系统提供如下服务: (1)浏览学生信息:网络学院的任何人员,包括学生和老师,均可以浏览学院任何学生的信息,包括姓名、学号和专业名称。 (2)浏览教师信息:网络学院的任何人,包括学生和老师,均可以浏览学院任何教师的信息,包括姓名、工号和职称。 (3)登录:网络学院给学院每个人一个账号。拥有授权帐号的学生和老师,可以使用系统提供的页面设置个人密码,并使用该帐号和密码向系统注册。