1、软件工程期末复习 一、 选择题 1、软件工程的研究者将软件开发和维护过程概括为(c)大活动。A.5 B.7 C.8 D.3 2、(a)是职业软件工程师的必要条件。A.自律、善于沟通、具有一定的软件技能 B.编程速度快C.熟悉众多的软件环境 D.语言天赋3、 计算机病毒是指(b)。A.计算机系统的漏洞 B. 一组自我复制和自动执行的具有破坏能力的代码C.一种细菌 D. 程序中的BUG 4、软件需求具有(d)。A.主观性 B.不确定性 C.多变性 D.以上全部5、描述软件需求通常不用哪个工具(c)。A.数据流程图 B.数据字典 C.模块结构图 D.E-R图6、软件结构图中没有(d)元素。A模块 B
2、调用参数 C返回结果 D判断7、程序流程图与数据流程图的关系(a)。A不确定 B数据流程图可以转换成程序流程图 C数据调用关系 D程序流程图可以转换成数据流程图8、包含关系用于构造多个用例(b)。A. 关系 B.共性的部分 C.角色 D.特殊活动9、如果说用例F被用例T扩展,意思是(a)。A.F是一个一般用例,T是一个特殊用例B.F是一个特殊用户,T是一个一般用例C.都是一般用例D.都是特殊用例10、用(c)对需要长久保存的信息进行建模。A.实体类 B.数据库表 C.E-R图 D.对象类11、美国卡内基梅隆大学制定的SW-CMM是(c)。A.软件工作规范 B.软件工作流描述 C.软件成熟度模型
3、 D.软件描述的一般方法12、螺旋模型是一种将(d)结合起来的软件开发模型。A.原型化模型和增量模型 B.风险判断和瀑布模型C.瀑布模型和原型化模型 D.瀑布模型和增量模型13可行性研究的四大要素是(a)。A.经济、技术、法律和社会环境B.经济、技术、开发组织能力和领导者水平C.经济、技术、计算机硬件环境和网络带宽D.经济、技术、软件开发工具和人员的稳定性14、软件调研报告是在(b)提交的。A. 可行性分析之前 B. 需求分析之前 C.签合同之前 D.设计的时候15、系统流程图的主要作用(a).A.描述系统的物理模型 B.业务流程 C.系统处理过程 D.数据处理过程16、PDL是一种(d)语言
4、。A低级程序设计语言 B建模语言 C高级程序设计语言 D过程设计语言17、结构化设计方法划分模块的原则是(c)。A模块扇出小于5 B模块扇入小于5 C低耦合,高内聚 D模块深度小于718、配置视图体现了系统的实现环境,反映系统的(b)。A. 逻辑架构 B. 物理架构 C.组成结构 D.体系结构19、角色可以有四种类型:系统的使用者,硬件设备,外部系统和(d)。A.数据库 B.接口 C.对象 D. 时间20、功能模型用于表达系统的需求,为软件的进一步分析和设计打下基础。在面向对象方法中,由(c )实现。A. 场景描述 B.活动图和场景描述 C. 用例图和场景描述 D.交互图和场景描述21、下面的
5、哪个选项不是软件工程的宗旨(b)。A.开发满足用户需求的软件 B.研究算法 C.及时交付软件 D.生产无故障软件22、针对需求不确定的软件开发,比较好的模型是(a)。A. 快速原型化模型 B. 瀑布模型 C.软件成熟度模型 D.系统化模型23、可行性分析研究的费用大约是项目总经费的(b)。A.2% B.6% C.20% D.524、业务需求描述的是(d)。A.功能需求 B.用户需求 C.用户的具体业务流程 D.软件的目标、规模和范围25、一个数据流程图中的图形符号有且仅有(c)种。A.3 B.5 C.4 D.726、非直接耦合的模块独立性最强,(a)的模块独立性最弱。A内容耦合 B数据耦合 C
6、控制耦合 D外部耦合27、信息隐藏的核心内容是(c)。A把数据都放在公共的区域B数据不能被其他模块访问C一个模块的内部信息不允许其他模块直接访问D把信息加密,只能让有密钥的模块访问28、面向过程的方法最关心的是(a),而过程实施的对象是作为过程参数传递的。A.参数 B.主体 C.过程 D.数据结构29、(c)用于描述系统的功能集。A. 组件视图 B.逻辑视图 C. 用例视图 D.对象视图30、用(d)模型建立系统组织结构。A.组织 B.CMM C.数据 D.静态31、对象模型描述现实世界中实体的对象以及它们之间的关系,表示目标系统的静态数据结构。在面向对象方法中,由(b)实现。A.顺序图 B.
7、类图 C.状态图 D.组件图32、如果对象之间的耦合是通过(a)来实现的,则这种耦合就是交互耦合。A.消息机制 B.参数 C.方法 D.公共数据区33、定义类的属性类型时尽量使用已有类型,太多自定义类型会降低系统的(c)指标。A.有效性 B.安全性 C. 可维护性 D. 开发效率34、在设计测试用例时,应该包括(d)测试用例。A. 可能产生无效输出的输入情况B.无效的和不期望的输入情况C.有效的和期望的输入情况D.上面所有情况35、(b)属于功能测试方法。A.等价类划分和判定覆盖 B.边值分析和等价类划分C.边值分析和判定覆盖 D.判定覆盖和回归测试36、一个软件项目大约(a)的工作量在开发阶
8、段,()的工作量在维护阶段。A.30%,70% B. 70%,30% C. 30%,30% D. 70%,70%37、软件项目管理的内容不包括(b)。A.人员的组织与管理 B. 技术和算法 C.软件配置管理 D.软件开发进度计划 38、通俗的说,软件项目管理中常说的基线是(d)。A.管理的基本思路 B. 一种软件开发的基本策略C.基本的技术路线 D. 通过正式复审的文档39、科学计算领域一般选择(b)语言。A.HTML B.C C.汇编语言 D.XML40对于嵌套的循环和分支程序,层次不要超过(c)层。A.1 B.2 C.3 D.541、在分析模型内表示协调、顺序、事务处理以及控制其他对象的类
9、是(a)。A.控制类 B.组件类 C.主函数 D.事务类42、继承耦合是(b)之间的一种关联形式,设计时应该适当使用这种耦合。A. 虚类与实体类 B. 一般化类与特殊化类 C.控制类与界面类 D.数据类与处理类43、构架设计的主要目的是(d),这项工作由经验丰富的构架设计师主持完成。A.类图 B.确定系统数据结构 C.处理流程 D. 确定系统总体结构44、测试用例是一组(a)。A.测试用的输入数据以及对应的预期结果B.测试驱动程序 C.测试数据 D.测试程序及数据45、由于面向对象中的继承和消息机制,使得软件测试(b)。A.更加简单 B.更加复杂 C.没变 D.不确定46、软件维护过程中产生的
10、副作用,一般是由(b)引起的。A.算法说明 B.修改程序 C.优先级 D.环境要求47、项目计划活动的主要任务是(d)。A.估算项目的进度 B.分配工作量 C.计划资源使用 D.以上全部48、如果程序代码的(c)好,则调试的成本就可以大幅度降低。A.性能比 B. 可扩充性 C. 可读性D.可移植性49、两个浮点数X0和X1比较相等时,应该用(c)比较。A.X0=X1 B.X1-X0 C. |X0-X1|=4) & (b3) | (c=4 b=4 b=0a4 b0a=0c3c=3c=1综合以上条件组合,设计测试用例如下(注意结果不唯一,只要满足上面的组合条件即可):a=4 b=-1 c=3a=4
11、 b=0 c=4a=-1 b=-1 c=0a=-1 b=0 c=-13、面向对象的分析通常要建立三个模型,请问三个模型的作用?答案1)功能模型:表达系统的详细需求,为软件的进一步分析和设计打下基础。在面向对象方法中,由用例图和场景描述组成。2)对象模型:表示静态的、结构化的系统“数据”性质。描述现实世界中实体的对象以及它们之间的关系,表示目标系统的静态数据结构。3)动态模型:描述系统的动态结构和对象之间的交互,表示瞬时的、行为化的系统的“控制”特性。4、软件工程为什么要强调规范化和文档化?答案软件工程强调规范化和文档化。规范化的目的是使众多的开发者遵守相同的规范,使软件生产摆脱个人生产方式,进
12、入标准化、工程化的生产方式。文档化是将软件的设计思想、设计过程和实现过程完整地记录下来,以便于后人的使用和维护,在开发过程中各类相关人员借助于文档进行交流和沟通。另外,在开发过程中产生的各类文档使得软件的生产过程由不可见变为可见,便于管理者对软件生产进度和开发过程进行管理。在用户最终验收时可以通过对提交的文档进行技术审查和管理审查,保证软件的质量。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:a
13、j);min=(minaj?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 c1
14、5 z=30 else z=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 Y=50马力YNNN=10年NY-N有维修记录-Y-送外本厂本车间二、 应用题1、某企业的设备维修委托给专业的技术公司完成,现在要开发软件对
15、设备维修信息进行管理,具体描述如下:车间主任填写维修申请单,内容有设备名称、型号、故障描述、维护时间要求、预计费用;填好后交给审计人员,审计人员根据企业的审计规定对维修申请单进行审计,填写审计意见和审计结果,审计意见可以修改费用,审计结果是同意或不同意;车间主任可以随时查询审计意见和结果;审计通过的维修申请单送给总经理进行审核,并填写审核意见和结果,审核也是以修改费用,审核结果是同意或不同意。审核通过后,车间把设备送去维修。维修后由车间主任组织对设备维修结果进行验收,企业对每台有设备验收标准。验收通过后,由财务人员进行结算,填写支付单并支付维修费。最后收取发票后,财务人员填写发票记录。请画出设
16、备维修信息管理软件的数据流程图。2、某个学生成绩管理系统的部分功能如下:(1)基本信息管理:教务管理人员输入或修改学期教学计划、学生名单和教师名单;(2)学生选课:学生根据教学执行计划进行选课;(3)分配任课教师:教务管理人员为符合开课条件的课程分配教师;(4)教师查询并打印课表;(5)成绩管理:每门课程的教师在考试评分结束后将考试成绩录入,学生可查询。 请根据要求画出该问题的数据流程图。3、一个简化的养老院软件需求描述如下:老人来到养老院,接待人员将老人的基本信息录入到系统中,管理员读取老人信息,进行护理级别的评估,根据评估结果分配床位、确定护理方案,床位的分配信息存入床位分配数据表,每位老
17、人的护理方案也要保存到数据库表中。财务人员根据收费标准、床位分配信息、护理方案和老人的日常护理记录计算应收费用,老人的家属可以查询应收费信息和老人的日常护理信息。护士根据老人基本信息、护理方案对老人进行日常护理,并向系统录入每日的护理信息。请你根据以上的描述,画出数据流程图。4、学校教师工资管理系统的需求描述如下:教师每月末将本月的工作量输入到系统中,学院负责人对教师输入的工作量进行审核,财务部门对审核后的工作量计算本月工资,本月工资=基本工资各种补贴工作量奖金税收保险一公积金金。基本工资、各种补贴、保险、公积金信息由人事处负责输入和维护,教师可以查询月工资明细。银行系统每月从本系统读入每位教师的实发工资,并向每位教师的银行卡帐户打入月工资。教师可以查询自己银行卡的金额。请针对上面描述的需求画出数据流程图。5、学校开发的网上作业管理信息系统需求如下:教师使用本系统将作业题输入到数据库中,并且针对不同的学生布置不同的作业。学生在网上查看教师给自己布置的作业,并完成作业,完成的作业放在学生作业表中。教师在网上批阅作业,并可以统计作业完成情况。学生可以查看教师批阅的作业,修改作业中的错误,教师仍然可以查看学生修改作业的情况,并给予批阅。请仔细阅读上面的描述,画出数据流程图。