软件工程与方法复习
应用题(20题)
1.假设一家工厂的采购部每天需要一张定货报表,报表按零件编号排序,表中列出所有需要再次定货的零件。对于每个需要再次定货的零件应该列出下述数据:零件编号,零件名称,定货数量,当前价格,主要供应者,次要供应者。零件入库或出库称为事务,通过放在仓库中的显示终端把事务报告给定货系统。当某种零件的库存数量少于库存量临界值时就应该再次定货。 要求:(1)画出系统的数据流图(15分);
(2)如果采用面向对象分析方法,请识别可能的类,画出类图,说明可能的属性和操作(15分)。
2.现在有一个医院病房监护系统,用户提出的系统功能要求如下:
在医院病房监护系统中,病症监视器安置在每个病房,将病人的病症信号实时传送
到中央监视系统进行分析处理。
在中心值班室里,值班护士使用中央监视系统对病员的情况进行监控,根据医生的
要求随时打印病人的病情报告,系统会定期自动更新病历。
当病症出现异常时,系统会立即自动报警,通知值班医生及时进行处理,同时立即
打印病人的病情报告和更新病历。 要求:
(1)请画出数据流图(10分),并采用UML建模语言画出用例图(10分)。
(2)以医院病房监护系统为例,分析比较结构化开发方法与面向对象的开发方法的主要特点,结合该实例说明,为什么面向对象的开发方法更加优越(10分)?
3.连锁超市进货操作流程为:厂家持“定货单”及“厂家送货单”送货,库管科检查货物。
如果来货相符,库管科做收货确认,(包括:在“定货单”之“点核数量”栏手工填写收货数量;在电脑中找出“定货单”,在“点核数量”栏输入收货数量;在“收货日报表”上记录该收货;在“定货单”、“厂家送货单”上加盖库管科公章),然后库管科打印商品条码,收送货组与卖场办理移交手续,卖场收货人在“定货单”上签名盖章,日末,库管可将单据汇总,连同“收货日报表”分别送卖场、财会,并自留一份,第二天电脑科打印“验收进货单”,分送卖场、采购、财会。
如果来货不符,通知负责该次定货之采购主任,采购主任填写“定货修正单”,报采购部主管签名同意,“定货修正单”交库管科,库管科从电脑中提出原“定货单”,按“定货修正单”内容进行修改,将修改后之新“定货单”打印(一式三份),和原“定货单”连在一起,最后进行上述来货相符后的工作。 要求:
(1)画出该系统的的数据流图(15分);
(2)给出该系统主要处理、数据存储或外部实体的数据字典(15分)。
4.设计一个简单的学生选课系统,系统能够注册符合要求的学生,学生注册以后就能选课。选课过程如下:
(1)浏览限选课名列表,然后根据课程的任课教师、时间、地点和人数限制决定是否选课成功;
(2)任课教师也可以根据情况,提供新的课程或修改过去课程的说明;
(3)教务管理人员统一管理注册的情况,可以删除、修改学生、教师和课程的权限。 要求:
(1)请设计出功能模型,用用例(use-case)图表示(10分)。 (2)请设计出对象模型,要求画出对象图,标出多重性、角色、限定词和关系(10分); (3)请设计出动态模型,要求画册出学生成功注册后选课的时序图(10分);
5.某铁路售票系统,其相关角色可简化为乘客、售票员和管理人员。业务过程如下: 售票窗口售票,乘客先指名车次和乘车时间,确认有余票后销售。
售票员根据乘客提供的信息查询余票,并卖出车票或取消本次购票,等待下一次的交易。
在购票期间,乘客可以按取消键取消本次购票。 管理人员可以取出钱币,并重置系统余额。 管理人员可以打印每天的交易账单。 其中部分数据结构的组成如下:
购票申请单 = 乘客身份证号 + 姓名 + 目的地 + 价格 购票确认单 = 身份证号 + 姓名 + 目的地 + 是否有余票 每日账单 = 当日初余额 + 当日末余额 + 日期 + 售票张数
要求:
(1)请画出分层数据流图(10分),并写出第一层数据流图的数据字典(5分)。 (2)请采用UML的用例图描述系统功能需求,并识别出可能的类(15分)。
6.某个银行的存取款业务处理系统有以下功能: 其相关角色可简化为储户和银行工作人员;
储户将填好的存/取款单和存折交给银行工作人员输入系统; 系统要求进行以下处理:
(1)业务分类处理:系统审查存/取款单,不合格则退回;合格则确定本次业务的性质(存款或取款);
(2)存款处理:系统将存款单上的存款金额分别记录在存折和账目文件中;记录现金账;打印存款通知单给储户;最后将存折还给储户;
(3)取款处理:系统将取款单上的取款金额记录在账目文件和存折中并修改现金账。 要求:
(1)请画出分层数据流图(10分),并写出第一层数据流图的数据字典(5分)。 (2)请采用UML的用例图(use case diagram)描述系统功能需求,并识别出可能的类(15分)。
7.某公司准备开发公共汽车刷卡计费系统,具体需求如下:
(1)司机在每到达一站时,点击到站按钮,通知系统已到达一站;
(2)乘客上下车时都要刷卡。上车刷卡通知系统该乘客已上车。在下车刷卡时,系统根据该乘客乘坐的站数,计算票价,并从卡中的余额中扣除。
(3)乘务员可查询某乘客的卡是否在上车时刷过,也可查询每个班次的运营情况(如,载客量和运营额)。
(4)管理员可以通过系统调节费率,记费方式等。 要求:
(1)请根据以上对该系统主要需求的描述,并尽可能地考虑一些特殊的情况,进行需求分析,建立该系统完整的用例图,并附用例的文本说明(10分)。 (2)请建立该系统的OOA类图(10分)。
(3)用顺序图描述乘客下车刷卡时,系统中有关的对象的交互序列(10分)。
8.现在有一系统正在进行集成测试,模块A提供的文件接口能够读取txt格式的文本文件,不论该文件是否被其它进程使用。请补充完成如下测试用例中的(1)、(2)、(3)和(4)部分。 测试用途编号 测试项目 测试标题 FILE01_READFILE 测试模块A提供的文件接口 文件B正在被其他进程执行读/写操作,通过A模块的文件接口读取文件B中的数据 重要级别 预置条件 输入 操作步骤 预期输入 高 ( 1 )(5分) ( 2 )(5分) ( 3 )(15分) ( 4 )(5分)
9.依据下面给出的N—S图画出其流程图,在此基础上设计最少测试用例,实现语句覆
盖和条件组合覆盖。
输入A,B,C,D(A>0)And(B>0)TFX=A-BX=A+BF(C>A)Or(D10.有一款8位微机,其十六进制常数定义为:以0x或0X开头的数是十六进制整数,其值的范围是-7f~7f(表示十六进制的大小写字母不加区别),如0X13,0X6A,-0X3c。根据上述条件使用等价划分法设计测试用例。
11.下面是某程序的流程图
(1)计算它的环路复杂性(10分)。
环路复杂性数量=判断节点数+1 = 6+1 = 7
(2)为了完成基本路径测试,求它的一组独立的路径(20分)。
独立路径:至少沿一条新的边移动的路径
路径1:0->1->13->19 路径2:0->2->3->14->19 路径3:0->2->4->5->15->19
路径4:0->2->4->->6->7->16->19 路径5:0->2->4->->6->8->9->17->19
路径6:0->2->4->->6->8->10->11->18->19 路径7:0->2->4->->6->8->10->12
12.某网站开发新的邮件系统供用户使用,现需要做系统测试。请以“输入正确的用户邮件地址和错误的密码”为例,完成如下的测试用例中(1)、(2)、(3)和(4)部分。 测试用例:
测试目标:( 检验客户输入正确邮箱地址和错误密码时候会出现的现象 )(5分); 测试环境:Windows XP 操作系统和浏览器IE8; 输入数据:( 用户名,密码 )(5分); 步骤:( ①输入正确用户邮件地址②输入错误密码③提交观察结果)(15分); 期望结果( 系统反馈输入密码错误提示,不会进入邮箱 )(5分)。
13.下列是一段伪码程序:
START
INPUT (A,B,C)
IF A>5
THEN X=10 ELSE X=1 ENDIF IF B>10
THEN Y=20 ELSE Y=2 ENDIF IF C<15
THEN Z=30 ELSE Z=3 ENDIF
PRINT(X,Y,Z) STOP
问题:(1)画出控制流程图(10分)
(2)采用基本路径测试,给出独立的路径(10分) (3)写出路径覆盖用例(10分) 答:(1)控制流程图:
(2)独立路径
1,2,3,56,8,9,11 1,2,3,5,7,8,10,11 1,2,3,5,7,8,9,11 1,2,4,5,7,8,10,11 1,2,4,5,6,8,9,11 1,2,4,5,6,8,9,11 (3)覆盖用例
A=6,B=11,C=14,X=10,Y=20,Z=30 A=6,B=9,C=14,X=10,Y=2,Z=30 A=6,B=9,C=16, X=10,Y=2,Z=3 A=4,B=9,C=16, X=1,Y=2,Z=3
A=4,B=11,C=16, X=1,Y=20,Z=3 A=4,B=11,C=14, X=1,Y=20,Z=30
14.图书馆管理系统中,读者包括教师、学生(学生中有本科生、研究生、)等等,图书包括杂志、各类书籍,请用UML建立UseCase图(5分),读者和图书的类图(10分),图书的状态图(5分),以及借还书过程的活动图(10分)。
15.由键盘输入一个足够大的数,判断该数是否为素数(除一和本身外不能被其他数整除)。 要求:
(1)画出实现该算法的程序流程图,画出控制流图(5分); (2)写出判定测试和条件测试的测试用例(5分); (3)如果采用基本路径测试法,写出测试用例(10分);
(4)如果对循环进行测试,应考虑那些测试点,写出测试用例(10分)。
答:(1)流程图
控制流图:
(2)判定测试用例: 判定表: 条件 1 能否被1整除? 能否被本身整除? 能否被除了1和本身外的数整除? 动作 是素数 不是素数 2 Y Y Y 3 Y Y N 测试用例: A1=100,能被1整除,能被100整除,能被2、4、5…….整除,不是素数 A2=101,能被1整除,能被101整除,不能被其他数整除,是素数
条件测试用例:A=200,能被1整除,能被200整除,能被2、4、5…整除,不是素数
(3)基本路径测试用例:
①输入A=10001,,10001%2≠0,B=B+1=3,10001%3≠0,B=B+1=4……,10001%10001=0,A=B,结论:A是素数
②输入A=2,2%2=0,结论:A不是素数
③输入A=15,15%2≠0,B+B+1=3,15%3=0,A≠B,结论:A不是素数 (4)循环测试:
应该考虑①B为初始值,A=B的点②B=B+1,A=B的点③B=B +1,A≠B的点
16.某考务处理系统具有以下功能:
输入报名单;自动编制准考证号;输出准考证;输入成绩清单;输出成绩通知单;输出成绩分布表;输入合格标准、输出录取通知单;试题难度分析,并输出试题难度分析表。
其中部分数据流的组成如下所示:
报名单 = 报名号 + 姓名 + 通信地址
考生名册 = 报名号 + 准考证号 + 姓名 + 通信地址
成绩册 = 准考证号 + { 课程号 + 成绩 } (其中{W}表示W重复多次) 准考证 = 报名号 + 姓名 + 准考证号 要求:
(1)画出顶层数据流图和底层数据流图(20分); (2)画出USE/CASE图(10分)。
17.某房屋租赁服务系统主要功能如下:系统对出租的房屋信息、房主信息、需要租房的人员信息,以及租房人和房主的会面情况进行管理和维护。
房主信息包括:房主编码、姓名、地址、电话号码和密码; 房屋信息包括:房主编码、房屋地址、类型(单间/套间)、适合住宿的人数、房租、是否可以出租。
租房人信息包括:编码、姓名、现住址、电话号码、出生日期、性别、密码。
每当房屋信息发生变化时,房主可以通过系统维护信息,但需交纳一定的费用,由系统自动给出费用信息。
租房人可通过系统查询现有的可租用的房屋,但必须先在系统中注册。若租房人希望租用某房屋,则需要发出租房请求,请求中包含房屋的详细信息,系统将安排租房人与房主会面的时间和地点,并将会面信息通知租房人和房主,会面信息包括会面时间、地点以及会面双方的基本信息,系统将记录会面信息。 要求:
(1)画出上述过程的分层的数据流图(顶层和底层,中间层可忽略)。(15分) (2)给出顶层数据流图的数据字典。(5分) (3)应用Use/Case图表达系统的交互。(10分)
18.某医院病人住院与治疗结帐业务处理过程及说明如下:
(1)病人经医生建议提出申请住院治疗,选择住院病房标准,经核查病房档案文件,有相应床位时可办理住院。
(2)办理时由病人填写住院登记卡,内容包括:病历号,姓名,病床号,支付方式和其他内容。支付方式可选择现金支付或银行转帐两种,但每个病人只能选择一种方式。病床租出后在病床档案中作“使用”标志。
(3)病人在住院期间除治疗外医院还提供其他收费服务,如用餐、保健等。所有费用按病床号记入计费文件中,病人出院时一起结算。
(4)病人出院时,医院根据计费文件和住院登记卡的支付方式办理结帐手续。并修改病床档案文件中的标志。 主要文件和档案格式如下:
病床档案:病床号,病床标准,日租金,是否空闲。
住院登记卡:病历号,姓名,病床号,支付方式,入住日期,…。 计费文件:病床号,服务项目,费用,日期。
请画出病人住院与结帐业务的分层数据流图(15分)。
采用面向对象方法,请你给出“计费文件”类的可能操作(只要给出操作名)(5分),并画出“计费文件”的状态图(10分)。
19.某制造企业的物料出入库管理的工作流程叙述如下: 1.出库工作流程
(1)领料人提交领料单(每一种物料有一张领料单); (2)仓库保管员根据领料计划单检验该领料单是否有效;
(3)若经检验没有相应的领料计划,则通知领料人该领料单无效;
(4)若领料单有效,仓库保管员根据领料单上的物料代码核对是否有足够的库存; (5)若没有足够的库存,仓库保管员向领料人发缺货单;
(6)若有足够的库存,仓库保管员在领料单上签字,并登记出库单,修改物料主文件中的现有库存数;相应的物料出库,物料清单交领料人。
2.入库工作流程
(1)采购员提交入库申请单(每一种物料有一张入库申请单); (2)仓库保管员根据采购计划单验收入库申请单;
(3)若验收发现没有相应的采购计划,则仓库保管员向采购员发无效申请单:
(4)若验收合格,则仓库保管员向检验员申请物料检验;检验员根据检验结果填写物料检验单;
(5)如果物料或供货方不合格,则向采购员发出退货单;
(6)如果检验合格,则仓库保管员登记入库单,修改物料主文件中的现有库存数,相应物料入库。 要求:
(1)画出上述业务分层的数据流图。(15分)
(2)如果采用面向对象的方法,画出USE/CASE图(10分),其中“领料单”和“入库申请单”可以定义为两个类,请给出这两个类至少应具有的属性。(5分)
20.某大学校园一卡通管理系统包括以下功能:
(1)办理新卡,新入校的教师、学生或丢失卡者可提交院系盖章的证明申请办理新卡,系统根据人事处和学生处提供的名单核实办理,同时更新持卡基本信息文件。
(2)存款,师生可向卡上存现金或通过指定账户向卡上划拨款,并修改明细账文件和账户文件。
(3)消费,可在校园内用一卡通消费,每次消费记入明细帐文件。 (4)查询对账,师生可查询每次存入或消费时的时间和金额。 (5)挂失,师生可根据证件提出挂失申请,挂失后该卡不能消费 要求:
(1)请根据所述分析业务,并画出数据流图。要求功能完整,逻辑合理(15分);
(2)给出顶层数据流图的数据字典(5分); (3)画出USE/CASE图(10分)。
因篇幅问题不能全部显示,请点此查看更多更全内容