(15分)某厂对部分职工重新分配工作的政策是:年龄在20岁以下者,初中文化程度脱产学习,高中文化程度当电工;年龄在20岁至40岁之间者,中学文化程度男性当钳工,女性当车工,大学文化程度都当技术员;年龄在40岁以上者,中学文化程度当材料员,大学文化程度当技术员。
请用结构化语言、判定表或判定树描述上述问题。
1.(1)结构化语言IF 年龄<20THEN IF 文化程度=初中THEN 脱产学习ELSE 工作为电工ENDIFELSE IF 年龄≤40THEN IF (文化程度=大学)THEN 工作为技术员ELSE IF 性别=男性THEN 工作为钳工ELSE 工作为钳工ENDIFENDIFELSE IF (文化程度=大学)THEN 工作为技术员ELSE 工作为材料员ENDIFENDIFENDIF判定树如下:年龄≤20岁初中脱产学习高中电工高中或初中男性钳工确定职工工作__ 20岁<年龄≤40岁女性车工大学技术员年龄>40岁高中或初中材料员大学技术员2.程序流程图如下:语句覆盖 A=3 B=0东 北 大 学 秦 皇 岛 分 校课程名称: 软件工程 试卷: (B) 考试形式:闭卷授课专业:信息与计算科学、数学与应用数学考试日期:2013年**月**日 试卷:共 5 页一、 某食物订货系统大致工作过程如下:首先,食物订货系统需要接收顾客的食物订单,并在接收后向顾客呈送一个收条,然后将订单转交系统内部的功能处理.其次,食物订货系统要能够将已经接收的食物订单及时转交给厨房.最后,食物订货系统要能够基于一段时间的食物积累,为管理者提供管理报表,反映组织的生产状况.请用数据流图描述该系统.(10分) 解:该系统的数据流图如下图所示:装订二、常见的电梯控制系统如下:一个控制系统控制多个电梯.每个电梯在卷扬电机的作用下做上下运动.每个电梯停靠点有一个传感器,用以感应电梯的实时位置.电梯内部和建筑的每个电梯停靠层都设有指示器,用来告知用户电梯的实时位置和运动状况.电梯内和建筑的每个电梯停靠层都设有按钮了,用户可以通过这些按钮提出服务申请并进出电梯.控制系统调度用户的申请.(10分)解:该系统的数据流图如下图所示:三、三:某学校为研讨班制度如下:研讨班由每个学年开始时开设,持续一学年.每个研讨班针对一个或多个研究方向,可由一位或多位教师主持.学生可根据主持教师的姓名和研讨班的方向来选择和参加某个和研讨班.所有学生必须且只能参加一个研讨班的学习.研讨班会时常开展活动,由教师决定活动时间地点主题和作报告的学生.每次活动时,由一位或多位学生做学习报告,交流学习心得.每个学生在一次活动中做一次报告.教师对每个报告进行点评和指导,提出意见和建议.请根据以上叙述画出实体-联系图. (10分)解:该系统E-R图如下图所示:四、四、邮政包裹单如下图可分割为收件人、寄件人、包裹三部分,请结合实际由图画出E-R图(10分).解:如下图:五、电话系统工作状态如下图,请用自然语言描述之。
(10分)解:没有人打电话时电话处于闲置状态,有人拿起听筒则进入拨号音状态,到打这个状态后,电话的行为是响起拨号并计时;这是如果拿起听筒的人不想打电话,放下听筒,电话重回闲置状态;如果拿起电话长时间不拨号,则进入超时状态,此时响蜂鸣音,挂断电话,进入闲置状态;此时若用户拨号,若号码无效,则播放存储的信息,信息播完进入断线状态或者未播完拨号者挂断电话,系统进入闲置状态;若号码有效,则进入试接通状态,若占线,则响忙音,挂断电话,进入闲置状态;若接通,则振铃,此时若受话人挂断电话,则进入闲置状态,若回话,则进入通话状态;通话状态下挂断电话,则系统进入闲置状态,若受话人挂断电话,则进入断线状态,挂断电话,进入闲置状态。
五、六、图形用户界面具有一个主菜单和一个带有文件打开命令的文件菜单,在每个菜单上都有一条退出命令。
假设每次只有一个文件能够打开。
建立图形用户界面的状态图。
(10分)七、由以下数据流图画出软件结构图。
(10分)解:八、某交易所规定给经纪人的手续费计算方法如下:总手续费等于基本手续费加上与交易中的每股价格和股数有关的附加手续费。
如果交易总金额少于1000元,则基本手续费为交易金额的8.4%;如果交易总金额在1000元到10000元之间,则基本手续费为交易金额的5%,再加34元;如果交易总金额超过10000元,则基本手续费为交易金额的4%加上134元。
当每股售价低于14元时,附加手续费为基本手续费的5%。
当每股售价在14元到25元之间时,附加手续费为基本手续费的2%。
当每股售价超过25元时,附加手续费为基本手续费的1%。
请用程序流图描述总费用的算法。
(10分)九、研究下列伪码,画出程序流图。
(10分)COMMENT: PROGRAM SEARCHES FOR FIRST N REFERENCESTO A TOPIC IN AN INFORMATION RETRIEVALSYSTEM WITH T TOTAL ENTRIESINTPUT NI=OMATCH=0DO WHILE I≤TI=I+1IF WORD=KEYWORDTHEN MATCH=MATCH+1STORE IN BUFFERENDIF MATCH=NTHEN GOTO OUTPUTENDIF N=0THEN PRINT “NO MATCH”OUTPUT:ELSE CALL SUBROUTINE TO PRINT BUFFER INFORMATIONEND解:十、分析以下层次图,确定每个模块的内聚类型。
(10分)解:从图中所示的层次图可以看出,这个程序的功能是计算若干个指定地点的每日平均温度。
变量sum保存某地一天之内在指定的时间取样点的温度之和。
程序运行时首先初始化变量sum并打开文件,然后读取地点、时间和温度等原始数据,创建用于保存这些数据的温度记录,接下来计算特定地点的日平均温度,存储温度记录。
重复调用“读取地点、时间和温度”、“创建新的温度记录”、“计算特定地点的日平均温度”和“存储温度记录”等模块,直至计算出并保存好所有指定地点的日平均温度。
最后,打印平均温度并关闭文件。
从上述叙述可知,“计算多个地点的日平均温度”、“读取地点、时间和温度”、“创建新的温度记录”、“计算特定地点的日平均温度”和“存储温度记录”等5个模块,每个都完成一个单一的功能,模块内所有元素都为完成同一个功能服务,彼此结合的十分紧密,因此,这5个模块的内聚类型都是功能内聚。
初看起来,由于初始化变量sum和打开文件这两个操作都是在程序运行的初始阶段完成的,“初始化变量sum和打开文件”这个模块的内聚类型似乎是时间内聚。
但是,初始化变量sum 是本程序特有的操作,而打开文件是硬件要求的操作,是任何使用文件的程序都包含的一个操作,并非本程序特有的操作。
当可以分配两个或更多个不同级别的内聚类型给一个模块时,规则是分配最低级别的内聚类型给该模块。
因此,“初始化变量sum和打开文件”这个模块的内聚类型都是偶然内聚。
同理,“关闭文件并打印平均温度”这个模块的内聚类型也是偶然内聚。
已知被测试模块流程图如下,按照“条件覆盖”法,在表格中填入满足测试要求的数据。
假设几种可能的条件是:T1: A≠3 F1:A=3 T2: B>1 F2: B<=1 T3: A<1 F3:A>=1 T4:M=1 F4:M≠1填写下表根据下面给出的规格说明,利用等价类划分的方法,给出足够的测试用例。
“一个程序读入三个整数。
把此三个数值看成是一个三角形的三个边。
这个程序要打印出信息,说明这个三角形是三边不等的、是等腰的、还是等边的。
”1.分析三角形应满足:(1)输入3个数(2)a,b,c整数(3)a>0,b>0,c>0(4)a+b>c,a+c>b,b+c>a等腰三角形除了满足三角形的条件外,还应满足:(5)a=b或a=c或b=c等边三角形除了满足三角形的条件外,还应满足:(6)a=b=c2.等价类表覆盖有效等价类的测试用例覆盖无效等价类的测试用例覆盖无效等价类的测试用例等价类编号3,*,* (10)*,3,* (11)*,*,3 (12)3,4,* (13)3,*,4 (14)*,3,4 (15)3,4,5,6,7 (16) 2.1,3,4 (17)3,2.1,4 (18)3,4,2.1 (19)2.1,2.2,4 (20)4,2.1,2.2 (21)2.1,4,2.2 (22)2.1,2.2,2.3 (23) 0,3,4 (24)3,0,4 (25)3,4,0 (26)0,0,3 (27)0,3,0 (28)3,0,0 (29)0,0,0 (30)-1,2,3 (31)2,-1,3 (32)2,3,-1 (33)-1,-2,3 (34)-1,3,-2 (35)3,-1,-2 (36)-1,-2,-3 (37)1,2,4 (38)1,2,3 (39)1,4,2 (40)1,3,2 (41)4,1,2 (42)3,1,2 (43)2,3,4 (44)2,3,3 (45)3,2,3 (46)3,3,2 (47)图书馆的预定图书子系统有如下功能:(1)由供书部门提供书目给订购组;(2)订书组从各单位取得要订的书目;(3)根据供书目录和订书书目产生订书文档留底;(4)将订书信息(包括数目,数量等)反馈给供书单位;(5)将未订书目通知订书者;(6)对于重复订购的书目由系统自动检查,并把结果反馈给订书者。
试根据要求画出该问题的数据流图,并把其转换为软件结构图。
已知被测试模块流程图如下,按照“条件覆盖”法,在表格中填入满足测试要求的数据。
假设几种可能的条件是:T1: A>2 F1:A<=2 T2: B=1 F2: B≠1 T3: A=1 F3:A≠1 T4:Y>1 F4:Y<=1填写下表设计一个简化的网上个人银行查询系统,用户可以通过Internet查询自己帐户的收支明细、余额和修改密码。
采用面向对象方法:1)请画出系统的用例图;2)识别出系统的主要类,并画其中的二个类图(包含主要属性和操作)。
3)画一个UML时序图,描述一次通过网上银行查询余额的具体交互。
(二)采用面向对象方法:8分1)请画出系统的用例图;2分2)识别出系统的主要类2分User、Account、DetailItem主要要包括用户、帐户、收支明细等类。
并画其中的二个类图(包含主要属性和操作)。
2分3)画一个UML时序图,描述一次通过网上银行查询余额的具体交互。
2分用等价类划分方法进行如下测试:城市电话号码有3部分组成:地区:空白或3位数字;前缀:非‘0’或‘1’开头的3位数字;后缀:任意4位。