1、电大本科 软件工程期末复习题最新软件工程一、选择题1、软件工程的研究者将软件开发和维护过程概括为(8)大活动。2、(自律、善于沟通、具有一定的软件技能)是职业软件工程师的必要条件。3、计算机病毒是指(一组自我复制和自动执行的具有破坏能力的代码)。4、软件需求具有(D)。A.主观性 B.不确定性 C.多变性 D.以上全部5、描述软件需求通常不用哪个工具(模块结构图)。6、软件结构图中没有(判断)元素。 7、程序流程图与数据流程图的关系(不确定)。8、包含关系用于构造多个用例(共性的部分)。9、如果说用例F被用例T扩展,意思是(F是一个一般用例,T是一个特殊用例)。10、用(E-R图)对需要长久保
2、存的信息进行建模。11、美国卡内基梅隆大学制定的SW-CMM是(软件成熟度模型)。12、螺旋模型是一种将(瀑布模型和增量模型)结合起来的软件开发模型。 13可行性研究的四大要素是(经济、技术、法律和社会环境)。14、软件调研报告是在(需求分析之前)提交的时候。15、系统流程图的主要作用(描述系统的物理模型). 16、PDL是一种(过程设计语言)语言。 17、结构化设计方法划分模块的原则是(低耦合,高内聚)。18、配置视图体现了系统的实现环境,反映系统的(物理架构)。19、角色可以有四种类型:系统的使用者,硬件设备,外部系统和(时间)。 20、功能模型用于表达系统的需求,为软件的进一步分析和设计
3、打下基础。在面向对象方法中,由(用例图和场景描述)实现。21、下面的哪个选项不是软件工程的宗旨(研究算法)。22、针对需求不确定的软件开发,比较好的模型是(快速原型化模型)。23、可行性分析研究的费用大约是项目总经费的(6%)。24、业务需求描述的是(软件的目标、规模和范围)。 25、一个数据流程图中的图形符号有且仅有(4)种。26、非直接耦合的模块独立性最强,(内容耦合)的模块独立性最弱。27、信息隐藏的核心内容是(一个模块的内部信息不允许其他模块直接访问)。28、面向过程的方法最关心的是(参数),而过程实施的对象是作为过程参数传递的。29、(用例视图)用于描述系统的功能集。30、用(静态)
4、模型建立系统组织结构。 31、对象模型描述现实世界中实体的对象以及它们之间的关系,表示目标系统的静态数据结构。在面向对象方法中,由(类图)实现。32、如果对象之间的耦合是通过(消息机制)来实现的,则这种耦合就是交互耦合。33、定义类的属性类型时尽量使用已有类型,太多自定义类型会降低系统的(可维护性)指标。34、在设计测试用例时,应该包括(上面所有情况)测试用例。 35、(边值分析和等价类划分)属于功能测试方法。36、一个软件项目大约()的工作量在开发阶段,()的工作量在维护阶段。(30%,70%)37、软件项目管理的内容不包括(技术和算法)。 38、通俗的说,软件项目管理中常说的基线是(通过正
5、式复审的文档)。 39、科学计算领域一般选择(C)语言。40对于嵌套的循环和分支程序,层次不要超过(3)层。41、在分析模型内表示协调、顺序、事务处理以及控制其他对象的类是(控制类)。42、继承耦合是(一般化类与特殊化类)之间的一种关联形式,设计时应该适当使用这种耦合。43、构架设计的主要目的是(确定系统总体结构),这项工作由经验丰富的构架设计师主持完成。 44、测试用例是一组(测试用的输入数据以及对应的预期结果)。45、由于面向对象中的继承和消息机制,使得软件测试(更加复杂)。46、软件维护过程中产生的副作用,一般是由(修改程序)引起的。47、项目计划活动的主要任务是(D)。A.估算项目的进
6、度 B.分配工作量 C.计划资源使用 D.以上全部48、如果程序代码的(可读性)好,则调试的成本就可以大幅度降低。49、两个浮点数X0和X1比较相等时,应该用(|X0-X1|=4) & (b3) | (c=4 b=4 b=0a4 b0a=0c3c=3c=1综合以上条件组合,设计测试用例如下(注意结果不唯一,只要满足上面的组合条件即可):a=4 b=-1 c=3a=4 b=0 c=4a=-1 b=-1 c=0a=-1 b=0 c=-14、软件工程为什么要强调规范化和文档化?软件工程强调规范化和文档化。规范化的目的是使众多的开发者遵守相同的规范,使软件生产摆脱个人生产方式,进入标准化、工程化的生产
7、方式。文档化是将软件的设计思想、设计过程和实现过程完整地记录下来,以便于后人的使用和维护,在开发过程中各类相关人员借助于文档进行交流和沟通。另外,在开发过程中产生的各类文档使得软件的生产过程由不可见变为可见,便于管理者对软件生产进度和开发过程进行管理。在用户最终验收时可以通过对提交的文档进行技术审查和管理审查,保证软件的质量。5、读懂下面的程序,调整格式,使其更容易理解,并添加注释。int main()int a10;for (int i =0;i10;i+)scanf(“%d”,ai);int max=a0,min=a1;for (int j = 0;jaj?max:aj);min=(min
8、aj?min:aj);printf(max= %d,max);printf(min= %d,min);printf(n);return 0;int main()int a10;/读入10个数据for (int i =0;i10;i+)scanf(%d,ai);/max存放最大值,min存放最小值int max=a0,min=a0;/从10个数中发现最大、最小值for (int j = 0;jaj?max:aj);min=(min=5) & (b5) | (c=5 b=5 b0c11c5 x=10 else x=1;if b10 y=20 else y=2;if c15 z=30 else z=
9、3;printf(“d%,d%,d%n”,x,y,z)参考答案:条件:a5 a10b15c=1)& (B=2) T=T+1;else T=T+2;if (X=90) &(Y=75) T=T+3;else T=T+4; printf(“d%n”,T); T=0;if (A=1)& (B=2) T=T+1;else T=T+2;if (X=90)&(Y=1 B=2;A=1 B2A=2A1 B=90 Y=75X=90 Y75X=75X90 Y75由此获得测试用例:A=1 B=2; A=1 B=1;A=0 B=2;A=0 B=1;X=90 Y=75;X=90 Y=1;X=1 Y=75;X=1 Y=1;
10、其中 X=90 Y=75能够发现错误。15、请举例说明用例之间的包含关系和扩展关系的区别?包含关系用于构造多个用例共同的活动。例如,在ATM系统中,取钱、查询、更改密码等功能都需要验证用户密码。这种情况下应该将密码验证功能独立出来,便于复用、减少冗余。一个用例扩展另一个用例的功能,例如,在图书馆信息管理系统中,读者还书时,系统检查所还图书是否有预订记录,如果有则执行“通知”用例。16、软件设计中的抽象是什么意思?所谓抽象就是将事务的相似方面集中和概括起来,暂时忽略它们之间的差异。或者说,抽象就是抽出事务的本质特性而暂时不考虑它们的细节17、孩子阅读疲倦时,一定要休息。如果不疲倦,但是对所阅读的
11、内容不感兴趣,就跳到下一章;如果不疲倦,对内容有兴趣,理解无困难,则继续阅读;如果不疲倦,对内容有兴趣,但理解有困难,则应该重读。请对上面的描述设计判定表。参考答案:疲倦YYYYNNNN感兴趣YYNNYYNN糊涂YNYNYNYN重读继续跳到一下章休息化简为:疲倦YNNN感兴趣YYN糊涂YN重读继续跳到一下章休息18、活动图与状态图的区别?(1)描述的重点不同:活动图描述的是从活动到活动的控制流;状态图描述的是对象的状态及状态之间的转移。(2)使用的场合不同:在分析用例、理解涉及多个用例的工作流、处理多线程应用等情况下,一般使用活动图;在显示一个对象在其生命周期内的行为时,一般使用状态图。19、
12、试分析结构化方法存在的主要问题是什么?(1) 结构化方法分析和设计阶段所应用的模型之间存在鸿沟。分析阶段的主要模型是数据流程图,设计阶段的主要模型是软件模块结构图,数据流程图和软件模块结构图之间需要进行转换。不同的人转换出的模块图可能不同,有很大的随意性。(2) 需求分析的细化程度没有标准,只能凭借分析人员的经验自己把握;需求分析的过程是在一种瀑布形式,当需求变更时,功能变化就会导致软件模块结构发生变化,造成了软件结构不稳定。(3) 结构化程序设计将数据定义与处理数据的过程相分离,不利于软件复用。(4) 结构化方法设计的软件结构不稳定,缺乏灵活性,可维护性差。20、请说明判定表的作用及其结构。
13、判定表是结构花设计的工具,用于描述多重条件的处理。分为4各部分:条件列表、条件组合、操作列表、特定条件下的操作组合。21、请给出软件工程七条基本原理中的任意三条基本原理。原理1用分阶段的生命周期计划严格管理 原理2坚持进行阶段评审原理3实行严格的产品控制原理4采用现代程序设计技术原理5结果应能清楚地审查原理6开发小组的人员应该少而精原理7承认不断改进软件工程实践的必要性22、结构化程序设计的特征是什么?结构化程序设计的特征如下:程序模块只有一个入口和一个出口、程序中只包含顺序、条件和循环三种控制结构。23、软件需求可以分为业务需求、用户需求、功能需求和非功能需求,请分析业务需求与功能需求的区别
14、?业务需求是用户高层领导机构决定的,它确定软件的目标、规模和范围。业务需求一般在进行需求分析之前就应该确定,需求分析阶段要以此为参照制定需求调研计划、确定用户核心需求和软件功能需求。业务需求通常比较简洁,大约三五页纸就可以描述清楚,也可以将它直接作为需求规格说明书中的一部分。功能需求定义了软件开发人员必须实现的软件功能。用户从他们完成任务的角度对软件提出了用户需求,这些需求通常是凌乱的、非系统化的、有冗余的,开发人员不能据此编写程序。软件分析人员要充分理解用户需求,将用户需求整理成软件功能需求。开发人员根据功能需求进行软件设计和编码。24、对功率大于50马力的机器或已运行 10 年以上的机器,应送到专业的维修公司处理;如果功率小于20马力,并且有维修记录,则在车
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1