-1-第1页共7页教科学院07教育技术学软件工程期终试题A卷(09/10-2)姓名班级学号成绩一二三四总分得分一.项选择题每空格1分,共30分。(只有一个选项是符合题目要求的,请将正确选项填在的括号内)1.以下哪一项不是软件危机的表现形式()。A.开发的软件不满足用户需要B.开发的软件可维护性差C.开发的软件价格便宜D.开发的软件可靠性差2.瀑布模型的关键不足在于()。A.过于简单B.各个阶段需要进行评审C.过于灵活D.不能适应需求的动态变更3.需求分析中开发人员要从用户那里了解()。A.软件做什么B.用户使用界面C.输入的信息D.软件的规模4.结构化设计是一种面向()的设计方法。A.数据流B.模块C.数据结构D.程序5.与确认测试阶段有关的文档是()。A.需求规格说明书B.概要设计说明书C.详细设计说明书D.源程序6.以下说法错误的是()。A.文档仅仅描述和规定了软件的使用范围及相关的操作命令B.文档也是软件产品的一部分,没有文档的软件就不成软件C.软件文档的编制在软件开发工作中占有突出的地位和相当大的工作量D.高质量文档对于发挥软件产品的效益有着重要的意义7.()能够有效地检测输入条件的各种组合可能会引起的错误。A.等价类划分B.边界值分析C.错误推测D.因果图8.火车是一种陆上交通工具。火车和陆上交通工具之间的关系是()关系。A.组装B.整体部分C.hasaD.一般特殊-2-第2页共7页9.软件维护产生的副作用,是指()A、开发时的错误B、隐含的错误C、因修改软件而造成的错误D、运行时误操作10.为了提高模块的独立性,模块内部最好是()。A、逻辑内聚B、时间内聚C、功能内聚D、通信内聚11.软件部件的内部实现与外部可访问性的分离,是指软件的()。A、继承性B、共享性C、封装性D、抽象性12.单元测试是发现编码错误,集成测试是发现模块的接口错误,确认测试是为了发现功能错误,那么系统测试是为了发现()的错误。A、接口错误B、编码错误C、性能、质量不合要求D、功能错误13.系统因错误而发生故障时,仍然能在一定程度上完成预期的功能,则把该软件称为()。A、软件容错B、系统软件C、测试软件D、恢复测试14.在面向对象软件开发方法中,类与类之间主要有以下结构关系()A、继承和聚集B、继承和一般C、聚集和消息传递D、继承和方法调用15.在详细设计阶段,经常采用的工具有()A.PADB.SAC.SCD.DFD16.第一个体现结构化编程思想的程序设计语言是()A.FORTRAN语言B.Pascal语言C.C语言D.PL/1语言17.为了实现递归子程序的正确调用,人们必须用()来保存()及有关信息。A.堆栈B.线性表C.队列D.树E.入口点F.返回地址G.断点18.UNIX操作系统是()研制的,它是用()程序语言书写实现的。A.Bell实验室B.DEC公司C.IBM公司D.PascalE.并发PascalF.CG.MODULA19.软件调试技术包括()A.边界值分析B.演绎法C.循环覆盖D.集成测试-3-第3页共7页20.软件生命周期中所花费用最多的阶段是()A.详细设计B.软件编码C.软件测试D.软件维护21.采用面向对象技术开发的应用系统的特点是()A.重用性更强B.运行速度更快C.占用存储量小D.维护更复杂22.关于模块设计的原则,以下叙述中正确的是()A.模块的内聚性高,模块之间的耦合度高B.模块的内聚性高,模块之间的耦合度低C.模块的内聚性低,模块之间的耦合度高D.模块的内聚性低,模块之间的耦合度低23.结构化程序设计主要强调的是()A.程序的规模B.程序的效率C.程序设计语言的先进性D.程序易读性24.对象实现了数据和操作的结合,使数据和操作()于对象的统一体中。A.结合B.隐藏C.封装D.抽象25.可行性分析是在系统开发的早期所做的一项重要的论证工作,它是决定该系统是否开发的决策依据,因必须给出()的回答。A.确定B.行或不行C.正确D.无二义26.消息传递是对象间通信的手段,一个对象通过向另一个对象发送消息来请求其服务。一个消息通常包括()A.发送消息的对象的标识、调用的发送方的操作名和必要的参数B.发送消息的类名和接收消息的类名C.接收消息的对象的标识、调用的接收方的操作名和必要的参数D.接收消息的类名27.软件的用户界面作为人机接口起着越来越重要的作用,用户界面的()是用户界面设计中最重要的也是最基本的目标。A.灵活性B.风格多样C.美观性D.易操作性28.从供选择的答案中选出应填入下列()中的字句。软件测试的目的是(A)。为了提高测试的效率,应该(B)。使用白盒测试方法时,确定测试数据应根据(C)和指定的覆盖标准。与设计测试数据无关的文档是(D)。软件的集成测试工作最好由(E)承担,以提高集成测试的效果。供选择的答案:-4-第4页共7页A.①评价软件的质量②发现软件的错误③找出软件中的所有错误④证明软件是正确的B.①随机地选取测试数据②取一切可能的输入数据作为测试数据③在完成编码以后制定软件的测试计划④选择发现错误的可能性大的数据作为测试数据C.①程序的内部逻辑②程序的复杂程度③使用说明书④程序的功能D.①该软件的设计人员②程序的复杂程度③源程序④项目开发计划E.①该软件的设计人员②该软件开发组的负责人③该软件的编程人员④不属于该软件开发组的软件设计人员29.由RumBaugh等人提出的一种面向对象方法叫做对象模型化技术(OMT),即三视点技术,它要求把分析时收集的信息建立在三个模型中。第一个模型是(A),它的作用是描述系统的静态结构,包括构成系统的对象和类,它们的属性和操作,以及它们之间的联系。第二个模型是(B),它描述系统的控制逻辑,主要涉及系统中各个对象和类的时序及变化状况。(B)包括两种图,即(C)和(D)。(C)描述每一类对象的行为,(D)描述发生于系统执行过程中的某一特定场景。第三个模型是(E),它着重于描述系统内部数据的传送与处理,它由多个数据流图组成。供选择的答案:A,B,E:①数据模型②功能模型③行为模型④信息模型⑤原型⑥动态模型⑦对象模型⑧逻辑模型⑨控制模型⑩仿真模型C,D:①对象图②概念模型图③状态迁移图④数据流程图⑤时序图⑥事件追踪图⑦控制流程图⑧逻辑模拟图⑨仿真图⑩行为图二、判断题(共20分)1.下面有关软件维护的叙述有些是不准确的,请将它们列举出来。供选择的答案:①要维护一个软件,必须先理解这个软件。②阅读别人写的程序并不困难。③如果文档不齐全也可以维护一个软件。④谁写的软件就得由谁来维护这个软件。⑤设计软件时就应考虑到将来的可修改性。⑥维护软件时一件很吸引人的创造性工作。-5-第5页共7页⑦维护软件就是改正软件中的错误。⑧维护好一个软件是一件很难的事情。2.从供选择的答案中选出同下列关于软件测试的各条叙述关系最密切的字句。(1)对可靠性要求很高的软件,例如操作系统,由第三者对源代码进行逐行检查。(2)已有的软件被改版时,由于受到变更的影响,改版前正常的功能可能发生异常,性能也可能下降。因此,对变更的软件进行测试是必要的。(3)在意识到被测试模块的内部结构或算法的情况下进行测试。(4)为了确认用户的需求,先做出系统的主要部分,提交给用户试用。(5)在测试具有层次结构的大型软件时,有一种方法是从上层模块开始,由上到下进行测试。此时,有必要用一些模块替代尚未测试过的下层模块。供选择的答案:AE:①仿真器②代码审查③模拟器④桩⑤驱动器⑥域测试⑦黑盒测试⑧原型⑨白盒测试⑩退化测试三、分析设计题(共50分)1、建立下述牙科诊所管理系统的对象模型:(6分)王大夫在小镇上开了一家牙科诊所。他有一个牙科助手、一个牙科保健员和一个接待员。王大夫需要一个软件系统来管理预约。当病人打电话预约时,接待员将查阅预约登记表,如果病人申请的就诊时间与已定下的预约时间冲突,则接待员建议一个就诊时间以安排病人尽早得到诊治。如果病人同意建议的就诊时间,接待员将输入约定时间和病人的名字。系统将核实病人的名字并提供记录的病人数据,数据包括病人的病历号等。在每次治疗或清洗后,助手或保健员将标记相应的预约诊治已经完成,如果必要的话会安排病人下一次再来。系统能够按病人姓名和按日期进行查询,能够显示记录的病人数据和预约信息。接待员可以取消预约,可以打印出前两天预约尚未接诊的病人清单。系统可以从病人记录中获知病人的电话号码。接待员还可以打印出关于所有病人的每天和每周的工作安排。2、请建立上题所述牙科诊所管理系统的用例模型。(6分)3、牙科诊所管理系统的脚本如下,请画出牙科诊所管理系统的状态图。(6分)脚本从用户角度描述系统典型的工作过程。根据对牙医诊所管理系统的需求,至少可以设想出下述3个脚本。-6-第6页共7页(1)正常情况病人甲请求预约。系统识别出病人的姓名。系统建议一个就诊时间。病人同意该时间,接待员输入该预约。在预约的就诊日期来到之前两天,系统输出一份包含病人姓名和电话号码等信息的提醒单。接待员打电话提醒病人。病人如约来到。治疗完之后,牙医助手安排该病人的下一次预约。(2)新病人病人乙请求预约。系统不认识该病人的名字,必须把该病人的信息输入到病人记录系统中并为他建立一个记录。(3)多个预约病人丙请求在未来两年内进行16次预约。接待员将其姓名输入到系统中,系统提出建议的预约就诊时间,病人同意后接待员输入病人认可的预约。牙科诊所管理系统的主要功能是实现病人预约,根据需求陈述和在第9题解答中给出的脚本,可以画出图7.5所示的牙科诊所管理系统状态图。图中把除了完成病人预约之外的事务笼统地称为日常事务。4、根据下面逻辑结构,设计足够的测试用例,满足条件组合覆盖.(10分)5、软件测试阶段,使用各种测试方法的综合策略是什么?(10分)6、考务处理系统的顶层数据流图如下图所示(12分)该考务处理系统有如下功能:①对考生送来的报名表进行检查;②对合格的报名表编好准考证号码后将准考证送给考生,并将汇总后的考生名单送给阅卷站;③对阅卷站送来的成绩表进行检查,并根据考试中心指定的合格标准审定-7-第7页共7页合格者;④填写考生通知单(内容包含考试成绩及合格∕不合格标志),送给考生;⑤按地区、年龄、文化程度、职业、考试级别等进行成绩分类统计及试题难度分析,产生统计分析表。请画出其第1层数据流图顶层数据流图考生考试中心阅卷站考务处理系统不合格报名表报名表准考证考生通知单统计分析表合格标准成绩表错误成绩表考生名单