1、软件工程复习资料一、选择题,请从四个可选项中选择正确答案。1.软件工程学科出现的主要原因是() 。A. 计算机的发展B. 其他工程科学的影响C. 软件危机的出现D. 程序设计方法学的影响2、 ()是职业软件工程师的必要条件。A.自律、善于沟通、具有一定的软件技能 B.编程速度快C.熟悉众多的软件环境 D.语言天赋3在 E-R 模型中,包含以下基本成分( ) 。A.数据、对象、实体 B.控制、联系、对象C.实体、属性、联系 D.实体、数据、联系4软件需求分析产生一个重要文档是( ) 。A.软件维护说明书 B.需求规格说明书C.可行性报告 D.初步用户手册5内聚程度较低的是( ) 。A.通信内聚
2、B.过程内聚 C.顺序内聚 D.时间内聚6概要设计是软件系统结构的总体设计,以下选项中不属于概要设计的是( )A.把软件划分成模块 B 确定模块之间的调用关系C.确定各个模块的功能 D.设计每个模块的伪代码7、程序流程图与数据流程图的关系() 。A不确定 B数据流程图可以转换成程序流程图C数据调用关系 D程序流程图可以转换成数据流程图8对象实现了数据和操作的结合,使数据和操作()于对象的统一体中。A结合 B隐藏 C封装 D抽象9类有 3 种类型,即( ) 。A.边界类、实体类、控制类 B.实体类、控制类、界面类C.控制类、实体类、虚类 D.界面类、控制类、公共类10.( )是一般化类与特殊化类
3、之间的一种关联形式,设计时应该适当使用这种耦合。A.消息连接 B.参数传递 C.方法重写 D.继承11、软件工程的研究内容具有层次化结构,最底层是质量保证层,中间层是() ,最上层是工具层。A.过程层 B.方法层 C.过程层和方法层 D.系统层12、可行性研究的四大要素是() 。A.经济、技术、法律和社会环境B.经济、技术、开发组织能力和领导者水平C.经济、技术、计算机硬件环境和网络带宽D.经济、技术、软件开发工具和人员的稳定性13、针对需求不确定的软件开发,比较好的模型是() 。A.快速原型化模型 B.瀑布模型 C.软件成熟度模型 D.系统化模型14下面的哪个选项不是软件工程的宗旨() 。A
4、.开发满足用户需求的软件 B.研究算法 C.及时交付软件 D.生产无故障软件15、针对需求不确定的软件开发,比较好的模型是() 。A.快速原型化模型 B.瀑布模型 C.软件成熟度模型 D.系统化模型16、软件结构图中没有()元素。A模块 B调用参数 C返回结果 D判断17、结构化设计方法划分模块的原则是() 。A模块扇出小于 5 B模块扇入小于 5 C低耦合,高内聚 D模块深度小于 718、配置视图体现了系统的实现环境,反映系统的() 。A.逻辑架构 B.物理架构 C.组成结构 D.体系结构19、角色可以有四种类型:系统的使用者,硬件设备,外部系统和() 。A.数据库 B.接口 C.对象 D.
5、时间20、功能模型用于表达系统的需求,为软件的进一步分析和设计打下基础。在面向对象方法中,由( )实现。A.场景描述 B.活动图和场景描述 C.用例图和场景描述 D.交互图和场景描述21结构化程序设计主要强调的是( ) 。A.程序的规模 B.程序效率 C.程序语言的先进性 D.程序易读性22、对用例进行设计,发现实现用例功能的() ,确定类之间的关系。A.算法 B.业务流程 C.数据结构 D.关键类23、框架是一组可用于不同应用的()的集合。A.类 B.数据结构 C.函数 D.过程24、从狭义上讲,软件测试是()的过程。A. 为发现错误而执行程序 B.为了验证程序正确 C.用不同的数据验证程序
6、正确性 D.区分程序员水平25、在设计黑盒测试用例时,主要研究() 。A. 概要设计说明书 B.详细设计说明 C.项目开发计划 D.需求规格说明26、 ()时,测试人员必须接触到程序源代码。A、黑盒测试 B、白盒测试 C、压力测试 D、外观测试27、一般维护程序代码的策略() 。A. 从需求开始重新开发 B.根据维护申请读源程序,并修改C.找一个新的模块替换 D. 不用读源程序,从新编写代码28、Gantt 图直观简明、易学易用,但它不能() 。A.直接反应任务间的依赖关系和关键路径B.反应任务的分解情况C.直接反应任务的起止日期D.反应具体任务的时间段29、 ()针对开发过程中的程序、数据、
7、文档提出使用和管理策略。A组织管理 B过程管理 C风险管理 D软件配置管理30、程序的三种基本控制结构,包括顺序结构、 ()和循环结构。A.判断结构 B.说明结构 C.输入结构 D.输出结构31、在分析模型内表示协调、顺序、事务处理以及控制其他对象的类是() 。A.控制类 B.组件类 C.主函数 D.事务类32、信息隐藏的核心内容是() 。A把数据都放在公共的区域B数据不能被其他模块访问C一个模块的内部信息不允许其他模块直接访问D把信息加密,只能让有密钥的模块访问33、面向过程的方法最关心的是过程,而过程实施的对象是作为过程()传递的。A.参数 B.主体 C.过程 D.数据结构34、测试用例是
8、一组() 。A.测试用的输入数据以及对应的预期结果B.测试驱动程序 C.测试数据 D.测试程序及数据35、由于面向对象中的继承和消息机制,使得软件测试() 。A.更加简单 B.更加复杂 C.没变 D.不确定36、软件维护过程中产生的副作用,一般是由()引起的。A.算法说明 B.修改程序 C.优先级 D.环境要求37、项目计划活动的主要任务是() 。A.估算项目的进度 B.分配工作量 C.计划资源使用 D.以上全部38、如果程序代码的()好,则调试的成本就可以大幅度降低。A.性能比 B.可扩充性 C.可读性 D.可移植性39、两个浮点数 X0 和 X1 比较相等时,应该用()比较。A.X0=X1
9、 B.X1-X0=4) if c15 z=30 else z=3;printf(“d%,d%,d%n”,x,y,z)13、活动图与状态图的区别?14、等价分类法的基本思想是什么?15、请说明判定表的作用及其结构。16、请给出软件工程七条基本原理中的任意三条基本原理。17、结构化程序设计的特征是什么?18衡量模块独立性的两个标准是什么?它们各表示什么含义?19. 活动图与状态图的区别?20设计下列伪程序的判定覆盖测试用例。if (a10) thenx=10elsex=1end ifif(b10)and (t15) thenz=30elsez=3end if三、应用题1.学校教师工资管理系统的需求
10、描述如下:教师每月末将本月的工作量输入到系统中,学院负责人对教师输入的工作量进行审核,财务部门对审核后的工作量计算本月工资,本月工资=基本工资各种补贴工作量奖金税收保险一公积金金。基本工资、各种补贴、保险、公积金信息由人事处负责输入和维护,教师可以查询月工资明细。银行系统每月从本系统读入每位教师的实发工资,并向每位教师的银行卡帐户打入月工资。教师可以查询自己银行卡的金额。请根据要求画出该问题的数据流程图。2.某个学生成绩管理系统的部分功能如下:(1)基本信息管理:教务管理人员输入或修改学期教学计划、学生名单和教师名单;(2)学生选课:学生根据课程和教师信息进行选课;(3)分配任课教师:教务管理
11、人员为符合开课条件的课程分配教师和时间;(4)教师查询并打印课表;(5)成绩管理:每门课程的教师在考试评分结束后将考试成绩录入,学生可查询。请根据要求画出该问题的数据流程图。3. 一个简化的养老院软件需求描述如下:老人来到养老院,接待人员将老人的基本信息录入到系统中,管理员读取老人信息,进行护理级别的评估,根据评估结果分配床位、确定护理方案,床位的分配信息存入床位分配数据表,每位老人的护理方案也要保存到数据库表中。财务人员根据收费标准、床位分配信息、护理方案和老人的日常护理记录计算应收费用,老人的家属可以查询应收费信息和老人的日常护理信息。护士根据老人基本信息、护理方案对老人进行日常护理,并向
12、系统录入每日的护理信息。请你根据以上的描述,画出数据流程图。4. 学校开发的网上作业管理信息系统需求如下:教师使用本系统将作业题输入到数据库中,并且针对不同的学生布置不同的作业。学生在网上查看教师给自己布置的作业,并完成作业,完成的作业放在学生作业表中。教师在网上批阅作业,并可以统计作业完成情况。学生可以查看教师批阅的作业,修改作业中的错误,教师仍然可以查看学生修改作业的情况,并给予批阅。请仔细阅读上面的描述,画出数据流程图。软件工程复习资料答案一、选择题,请从四个可选项中选择正确答案。1. C 2. A 3. C 4.B 5. D 6.D 7.A 8.D 9.B 10.D 11.C 12.D
13、 13.A 14.D 15.A 16.D 17.C 18.B 19. D 20.C 21.D 22.D 23.A 24.D 25.D 26.B 27.B 28.A 29.D 30. A 31.C 32.D 33. D 34.A 35.B 36.B 37.D 38.C 39.C 40.D 41.C 42.A 43.B 44. D 45.C 46.A 47.C 48.A 49.C 50.D 51.D 52.A 53.A 54.A 55. C 56.C 57.D 58.B 59.B 60.D 61.B 62.A 63. D 64.D 65.C 66.C 67.A 68.B 69.A 70.C 71.
14、D 72.B 73. A 74.C 75.C 76.B 77.D 78. C 79.C 80.D二、简答题1、答案1) 软件是一种逻辑实体,具有抽象性,无法看到软件本身的形态,必须通过观察、分析、思考和判断才能了解它的功能和性能。2) 软件对硬件和环境有着不同程度的依赖性,这导致了软件升级和移植的问题。计算机硬件和支撑环境不断升级,为了适应运行环境的变化,软件也需要不断维护,并且维护的成本通常比开发成本高许多。3) 软件生产至今尚未摆脱手工方式,软件开发的手工行为造就了一个致命的问题,就是为应用“量身订做”软件。长期以来,软件给人的感觉是修改几条指令很简单,客户总是强调软件要适应自己的业务需求
15、。因此,软件产品大多是为客户“订做”的,通用性差。4) 软件涉及人类社会的各行各业,常常涉及一些行业知识,这对软件工程师提出了很高的要求。5) 软件是与文学艺术作品相似的精神作品,与体力劳动相比,精神活动过程的特点是“不可见性” ,这大大增加了组织管理上的困难。评分标准:学生只要写出三个特点就给满分,少一个减 2 分。2、答案软件生命周期是一个软件从提出开发要求到废弃为止的整个时期。软件生命周期可分为 8 个阶段:问题定义、可行性分析、需求分析、概要设计、详细设计、编码、系统测试和运行维护评分标准:每个问题给 3 分。3、答案a=4 b=4 b=0a=0c3c=1综合以上条件组合,设计测试用例
16、如下(注意结果不唯一,只要满足上面的组合条件即可):a=4 b=-1 c=3a=4 b=0 c=4a=-1 b=-1 c=0a=2 b=0 c=2评分标准:列出 a,b 四组数据各给 1 分,考虑 c 数据给 2 分。4、答案对象模型:表示静态的、结构化的系统“数据”性质。描述现实世界中实体的对象以及它们之间的关系,表示目标系统的静态数据结构。在面向对象方法中,类图是构建对象模型的核心工具。评分标准:6 分。5、答:(1)在需求分析阶段应该明确维护的范围和责任,检查每条需求,分析维护时这条需求可能需要的支持,对于那些可能发生变化的需求要考虑系统的应变能力。(2)在设计阶段应该做一些表更实验,检
17、查系统的可维护性、灵活性和可移植性,设计时应该将今后可能变更的内容与其他部分分离出来,并且遵循高内聚、低耦合的原则。(3)编码阶段要保持源程序与文档的一致性、源程序的可理解性和规范性。(4)在测试阶段测试人员应该按照需求文档和设计文档测试软件的有效性和可用性,收集出错信息并进行分类统计,为今后的维护打下基础。评分标准:每条 1.5 分。6、答案1)功能模型:表达系统的详细需求,为软件的进一步分析和设计打下基础。在面向对象方法中,由用例图和场景描述组成。2)对象模型:表示静态的、结构化的系统“数据”性质。描述现实世界中实体的对象以及它们之间的关系,表示目标系统的静态数据结构。3)动态模型:描述系
18、统的动态结构和对象之间的交互,表示瞬时的、行为化的系统的“控制”特性。评分标准:功能模型 2 分,对象模型 2 分;动态模型 2 分。7软件工程为什么要强调规范化和文档化?答:(1)软件工程强调规范化和文档化。规范化的目的是使众多的开发者遵守相同的规范,使软件生产摆脱个人生产方式,进入标准化、工程化的生产方式。(2)文档化是将软件的设计思想、设计过程和实现过程完整地记录下来,以便于后人的使用和维护,在开发过程中各类相关人员借助于文档进行交流和沟通。另外,在开发过程中产生的各类文档使得软件的生产过程由不可见变为可见,便于管理者对软件生产进度和开发过程进行管理。在用户最终验收时可以通过对提交的文档
19、进行技术审查和管理审查,保证软件的质量。评分标准:每条 3 分8简述模块独立性,内聚与耦合。答:模块独立性, 是指软件系统中每个模块只涉及软件要求的具体的子功能, 而和软件系统中其它的模块的接口是简单的。一般采用两个准则度量模块独立性。即模块间耦合和模块内聚。耦合是模块之间的互相连接的紧密程度的度量。内聚是模块功能强度(一个模块内部各个元素彼此结合的紧密程度) 的度量。模块独立性比较强的模块应是高内聚低耦合的模块。评分标准:正确说明模块独立性(2 分) ;正确说明内聚概念(2 分) ;正确说明耦合概念(2 分)9简述在项目开发时选择程序设计语言的主要考虑的因素。答: 编程人员的水平和编程经历;
20、 待开发的软件类型; 算法和计算复杂性; 数据结构的复杂性; 软件的开发成本和时间要求; 软件可移植性要求; 可用的软件工具。评分标准:答对其中任意六项,每项 1 分。10、答案条件:a=5 b=5 b0c5,t=0 a10b15c10) thenx=10elsex=1end ifif(b10)and (t15) thenz=30elsez=3end if答:判断覆盖标准为,不仅使条语句都至少执行一次,还要是程序中每个分支都至少执行一次。也就是说,设计的测试用例使每个判定都有一次取“真”和“假”的机会。测试用例(不唯一):a=16 t=0 b=11 c=16; a=5 t=0 b=10 c=1
21、5评分标准:分析 2 分,每个测试用例各占 2 分。三、应用题1.答案教师D S 1工作量记录I P O 2审核学院人事处财务银行I P O 1输入工作量I P O 5基本信息I P O 7计算应减I P O 3计算附加额I P O 4计算工资I P O 9查询卡I P O 8工资入卡D S 2基本信息D S 4工资卡记录D S 3工资明细教师I P O 6查询明细评分标准:只要画出工作量输入、审核、计算工资、工资入卡、基本信息管理和查询明细的基本流程就给满分,缺一个减 1 分;所用符号错误减 2 分,流程不通减 2 分。2. 答案不唯一。参考答案如下:I P O 4教师信息D S 2教师名单
22、教师信息教务人员I P O 7教学计划管理教师教师信息教师学生D S 6教学计划I P O 6分配教师D S 5教师课程表教师课表I P O 1学生信息D S 1学生名单学生信息I P O 2学生选课D S 3学生选课记录选课I P O 5成绩录入D S 4成绩学生成绩I P O 3成绩查询学生信息教学计划教学计划教学计划分配学生查询学生选课信息课程信息学生选课记录录入成绩查询评分标准:考生只要画出教学计划管理、分配教师、学生选课、教师成绩录入的流程就给满分,缺一个减 1 分;所用符号错误减 2 分,流程不通减 2 分。3. 答案 答案不唯一,参考答案如下:I P O 1老人信息录入接待员D
23、S 1老人信息D S 4老人护理方案老人信息查询老人信息财务家属护士管理员I P O 2评审护理级别I P O 3分配床位I P O 4确定护理方案I P O 5计费I P O 7查询I P O 6护理D S 2床位分配记录D S 3收费标准D S 5老人缴费记录D S 6护理日志评审指令老人信息护理信息老人信息护理方案护理日志护理方案老人信息老人信息床位记录床位记录收费标准计费护理信息交费记录护理方案护理日志交费记录评分标准:考生只要画出老人信息录入、评审、床位分配、确定护理方案、计费和护理信息录入的流程就给满分,缺一个减 1 分;所用符号错误减 2 分,流程不通减 2 分。4.答案:教师D S 1作业题I P O 2留作业学生I P O 1输入作业题I P O 5查看作业I P O 7修改作业I P O 3查看批阅I P O 4做作业I P O 9统计D S 2学生名单D S 4完成作业D S 3学生作业I P O 6批阅作业D S 4D S 3批阅的作业修改的作业作业布置作业作业题作业题学生名单学生作业学生作业完成作业做作业查看批阅修改作业修改信息批阅信息作业完成信息统计批阅完成作业修改作业批阅信息做作业评分标准:只要画出作业题输入、布置作业、批阅作业、网上做作业、查看批阅信息、统计作业完成信息的流程就给满分,缺一个减 1 分;所用符号错误减 2 分,流程不通减 2分。