软件工程试题2B附答案.docx
- 文档编号:15744636
- 上传时间:2023-07-07
- 格式:DOCX
- 页数:16
- 大小:187.03KB
软件工程试题2B附答案.docx
《软件工程试题2B附答案.docx》由会员分享,可在线阅读,更多相关《软件工程试题2B附答案.docx(16页珍藏版)》请在冰点文库上搜索。
软件工程试题2B附答案
-------------------------------------------------------------------装-----------------------------------------订--------------------------------------线--------------------------------------------------------
--------------------------------------------------------------------
班级:
学号:
班内序号:
姓名:
北京邮电大学2006——2007学年第二学期
《软件工程》期末考试试题B卷
考试注意事项
一、学生参加考试须带学生证或学院证明,未带者不准进入考场。
学生必须按照监考教师指定座位就坐。
二、书本、参考资料、书包等与考试无关的东西一律放到考场指定位置。
三、学生不得另行携带、使用稿纸,要遵守《北京邮电大学考场规则》,有考场违纪或作弊行为者,按相应规定严肃处理。
四、学生必须将答题内容做在专用答题纸上,做在试卷、草稿纸上一律无效。
考试课程
考试时间
年月日
题号
一
二
三
四
五
六
七
八
总分
满分
得分
阅卷教师
一、填空题(共11空,每空1分,共11分)
1、软件是一种(逻辑实体),而不是具体的物理实体,因而它具有抽象性。
2、需求分析研究的对象是软件项目的(用户/客户/功能+性能/功能)要求。
3、需求分析的任务就是借助于当前系统的(逻辑模型)导出目标系统的(逻辑模型),解决目标系统的(“做什么”)的问题。
4、结构化需求分析方法由对软件问题的(信息/数据)和(功能)的系统分析过程及其表示方法组成。
5、确认测试包括:
有效性测试和(软件配置审查,文档审查)。
6、白盒测试的逻辑覆盖方法包括语句覆盖、(判定/判断覆盖)、条件覆盖、(判定/判断-条件覆盖)、条件组合覆盖、(路径覆盖/路径测试/基本路径测试)。
注:
次序无关
二、单项选择题(共5题,每题2分,共10分)
1、为了提高模块的独立性,模块之间最好是(B)
A.控制耦合B.数据耦合
C.内容耦合D.公共耦合
2、下列关于功能性注释不正确的说法是(B)
A.功能性注释嵌在源程序中,用于说明程序段或语句的功能以及数据的状态
B.注释用来说明程序段,需要在每一行都要加注释
C.可使用空行或缩进,以便很容易区分注释和程序
D.修改程序也应修改注释
3、在UML状态图中,与转移上的事件联系在一起的瞬时操作是(C)
A.过程B.活动
C.动作D.加工
4、测试的关键问题是(D)
A.如何组织对软件的评审B.如何验证程序的正确性
C.如何采用综合策略D.如何选择测试用例
5、以下说法不正确的是(A)。
A.原型思想是在研究概要设计阶段的方法和技术中产生的。
B.探索型和实验型原型采用的是抛弃策略。
C.进化型原型采用的是追加策略。
D.快速原型方法是利用原型辅助软件开发的一种思想。
三、判断题(共5题,每题2分,共10分)
1、数据词典包括数据流词条、数据元素词条、数据文件词条以及数据加工逻辑词条四个部分。
(错,缺外部实体描述)
2、用例代表的视角色的目标,而不是达到角色目标过程中的一个步骤(对)
3、状态图之间不能够发送消息。
(错,可以)
4、软件测试只需要测试计划、测试用例和测试工具就可以进行。
(错,还需要软件配置)
5、项目开发计划不属于软件开发类文档。
(错,属于)
四、简答题(共3题,每题5分,共15分)
1、请说明软件文档的作用?
软件文档的作用是:
提高软件开发过程的能见度;提高开发效率;作为开发人员阶段工作成果和结束标志;记录开发过程的有关信息便于使用与维护;提供软件运行、维护和培训有关资料;便于用户了解软件功能、性能。
【评分标准:
提高软件开发过程能见度2分,提供软件运行、维护和培训有关资料2分,其他1分】
2、简述用例描述的组成内容:
1)用例的目标
2)用例是如何被启动的
3)角色和用例之间的消息流
4)用例的执行的多个分支
5)用例的前置和后置条件
【评分标准:
名称和角色2分,前置后置条件1分,事件流2分】
3、简述单元测试、集成测试以及确认测试所对应的测试对象。
单元测试:
代码和详细设计文档
集成测试:
详细设计和概要设计文档
确认测试:
概要设计和需求规格说明
【评分标准:
单元测试1分,集成2分,确认2分,如果只是回答了各种测试的含义,每个扣1分】
五、应用题(共四题,每题9分,共36分)
1、下图是一个选择排序的程序流程图,利用McCabe度量方法计算程序复杂度,并根据列出所有的独立路径。
⑨
⑧
⑦
⑥
⑤
④
③
②
①
【程序控制流程图评分标准:
没有条件汇聚,一个扣0.5分,条件返回错误,一个扣1分,扣完3分为止】
(1)McCabe环路复杂性=5
(2)独立路径有5条:
①③
①②⑤⑧……
①②⑤⑨……
①②④⑥……
①②④⑦……
【评分标准:
一条路径0.6分,错一条扣0.5,错两条扣1分,错三条扣2分,错4条口2.5分,全错0分】
2、“一个程序读入三个整数。
把此三个数值看成是一个三角形的三个边。
这个程序要打印出信息。
”根据这个三角形是三边不等的、是等腰的、还是等边的三个输入条件划分有效和无效等价类。
设三角形的三条边分别为A,B,C。
如果它们能够构成三角形的三条边,必需满足:
A>0,B>0,C>0,且A+B>C,B+C>A,A+C>B。
如果是等腰的,还要判断是否A=B,或B=C,或A=C。
对于等边的,则需判断是否A=B,且B=C,且A=C。
列出等价类表:
输入条件
有效等价类
无效等价类
是否三角形的三条边
(A>0)
(1),(B>0)
(2),
(C>0)(3),(A+B>C),(4)
(B+C>A)(5),(A+C>B)(6)
【评分标准:
1.5分】
A0(7),B0(8),C0(9),
A+BC(10),A+CB(11),
B+CA(12)
【评分标准:
1.5分,应该分开作为无效测试用例,没有分开扣0.5分】
是否等腰三角形
(A=B)(13),(B=C)(14),
(A=C)(15)
【评分标准:
1.5分】
(AB)and(BC)and(AC)(16)
【评分标准:
1.5分,应该是与的关系,否则扣0.5分】
是否等边三角形
(A=B)and(B=C)and(A=C)
(17)
【评分标准:
1.5分】
(AB)(18),(BC)(19),
(AC)(20)
【评分标准:
1.5分,应该是或的关系,否则扣0.5分】
3、有一个程序用来计算用户每月应缴税额。
该程序接收用户输入每月收入,按照缴税规则计算每月应缴税额,并按照大写和小写形式输出该用户每月的税后收入。
其数据流图如下:
请给出:
⑴该DFD是变换分析还是事务分析类型?
⑵给出该DFD转换后的结构图。
参考答案:
【评分标准:
没有“取得税则”扣1分,不能成为模块的一个扣0.5分,加工对应的模块,缺一个扣1.5分】
4、有一个算术表达式,有“+、-、×、∕”和“()”五种算符,其中前四种是二元算符,后一种是一元算符,表达式中可以包含常量和变量,请用类图描述一个算术表达式,并给出表达式“(x+2)×(y/3-2)”的对象图。
参考答案:
【评分标准:
类图5分,找到类3分,其中算术表达式1分,常量和变量1分,一元和二元表达式1分,关联中概括1分,聚集1分】
【评分标准:
对象图4分,顶层和第一层的对象3分,其余1分】
六、综合题(共一题,共18分)
1、一所医院根据要求要实现一个电子化的就诊管理系统,其中主要涉及挂号、就诊和交费取药三个环节。
挂号:
挂号处的挂号人员接受病人的就诊请求,根据门诊科室各医生的病人的排队情况,分配合适科室和医生,记录并打印挂号凭据,收取挂号费完成挂号请求。
问诊:
医生根据挂号的次序对病人进行病情诊断,根据挂号单据及病历号获取该病人的历史病历,然后将问诊结果记录在病历当中并开具相应的处方(处方中可根据系统提供的药品进行选择),打印处方交给病人完成一次问诊。
交费取药:
病人在收费处根据挂号单据和处方所列出的药品种类和数量进行交费,取得相应的药品完成一次看病流程。
请任意选择结构化或者面向对象方法对该系统进行分析与设计,具体要求如下:
结构化方法要求:
⑴给出“挂号”的DFD,要求具有顶层、一层和二层DFD;(6分)
⑵给出“挂号”第二层的数据字典(DD)。
(6分)
⑶给出软件系统中“挂号”的模块结构图(6分)
参考答案:
第一小题:
(6分)
系统的顶层数据流图
评分说明:
(2分)
1)外部实体的名称可以是“病人”或者“挂号人员”;
2)外部实体与系统之间的数据流必须有“挂号请求”和“挂号费”和“挂号凭据”(或意思相同的数据流名称);
3)数据存储文件“科室医生排队信息”、“病例”、“挂号凭据”中至少要有“挂号凭据”
系统的第一层数据流图
评分说明:
(2分)
1)在第一层的DFD中要体现出系统的其他两个子系统“问诊”和“交费取药”;
2)如果根据题目只给出了“挂号”子系统的情况下,必须将“问诊”子系统作为“挂号”子系统的外部实体
3)给出“挂号”与“问诊”之间的数据流
4)保证父图与子图之间的平衡关系
系统的第二层数据流图
评分说明:
(2分)
1)外部实体要给出“病人或挂号人员”以及“医生或问诊”;
2)子系统的加工有“确定病例号”、“选择科室和医生”、“确定挂号费用”以及“记录并打印挂号凭据”,至少给出两个加工。
3)明确加工之间的数据流
第二小题:
(6分)
评分说明:
给出两个或以上的规范数据词典的说明,且至少要有一个加工的数据词典描述
第三小题:
(6分)
评分说明:
有两种参考答案,但无论哪种结构需要在结构图中体现出“选择科室和医生”、“计算挂号费”以及“记录并打印挂号单”这三个功能及相应的子功能。
具体的三个功能名称只要能表明以上三个意思的不予扣分。
面向对象方法要求:
⑴建立“挂号”用例模型,包括用例说明、SSD和操作契约;(6)
⑵建立领域模型;(6分)
⑶针对“挂号”用例中的“分配合适的科室和医生”完成对象职责分配。
(6分)
参考答案:
第一小题:
(6分)
1、用例图
评分说明:
【评分标准:
1分】
只要给出挂号人员作为用例的角色以及挂号用例就可以,如果有后面的包含用例更好。
2、用例说明:
用例名称:
挂号
主要角色:
挂号员
前置条件:
挂号员必须已经登陆到系统中
后置条件:
为病人分配合适的科室和医生;生成挂号单;收取挂号费。
主要成功场景:
1.病人来到挂号处,申请挂号,开始挂号用例;
2.根据病人提供的病例号,检验有效性并在系统中填写病例号;
3.根据病人的病情基本信息或者提供的科室和医生的请求,确定科室和医生及相应的排队号;
4.确定本次挂号的费用,并提示给病人,收取病人的挂号费用;
5.打印挂号单,并将挂号单交给病人;
6.系统记录本次挂号的信息;
7.系统返回到下一个挂号处理状态。
备选场景:
2.1。
如果有效性检查没有通过或者病人没有提供病例号,挂号人员将给病人建立新的病例号;
3.1.如果病人请求的科室或者医生已经达到当前最大的排队数,则询问病人是否有其他选择,再进行科室和医生的选择。
3.2.如果科室和医生的排队情况已经达到当天的最大数,则退出本次挂号请求,返回到7。
A*。
在收取挂号费之前的任何时刻,病人都有权利请求退出本次挂号。
评分说明:
【评分标准:
2分】
要求写出主要的成功场景。
备选场景写出任意一个即可。
3、SSD
评分说明:
【评分标准:
1分】
要求至少写出2个系统外部事件,系统事件的名称只要能够理解即可。
4、操作契约
操作名称
启动挂号
交叉引用
挂号
前置条件
挂号人员登录到系统
后置条件
1、创建挂号实例
2、建立挂号单之间的关联
3、建立与病例之间的关联(可选)
操作名称
选择科室和医生请求
交叉引用
挂号
前置条件
挂号人员登录到系统
后置条件
1、建立与科室和医生的排队关联
2、修改排队信息
操作名称
交费
交叉引用
挂号
前置条件
挂号人员登录到系统
后置条件
1、创建交费实例
2、建立与挂号单的关联(如果前面没建立,在此建立关联也可以)
3、修改交费实例中金额的属性
4、修改并记录挂号信息
5、完成一次挂号实例
评分要求:
【评分标准:
2分】
写出上面任意两个的操作契约即可
第二小题:
(6分)
评分说明:
【评分标准:
组织结构方面的类:
病人、医生、挂号员等1分,凭证类2分,支付及规则1分,关联2分】
以上模型中,必须给出病人、挂号员、挂号单、病例、医生及科室,医院、挂号支付、挂号规则及处方可选。
其中各实体之间的关系只要能够理解就可以,不要求实体之间的复数关系。
第三小题
评分说明:
【评分标准:
对象2分,消息序列4分】
1、必须给出挂号员、科室对象
2、只需要给出正常的分配科室和医生的流程和条件
3、对象之间的名称和参数只要能够理解即可,其中参数可有可无。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 软件工程 试题 答案
![提示](https://static.bingdoc.com/images/bang_tan.gif)