软件工程导论试题集汇总

上传人:无*** 文档编号:138830110 上传时间:2022-08-22 格式:DOC 页数:25 大小:1.67MB
收藏 版权申诉 举报 下载
软件工程导论试题集汇总_第1页
第1页 / 共25页
软件工程导论试题集汇总_第2页
第2页 / 共25页
软件工程导论试题集汇总_第3页
第3页 / 共25页
资源描述:

《软件工程导论试题集汇总》由会员分享,可在线阅读,更多相关《软件工程导论试题集汇总(25页珍藏版)》请在装配图网上搜索。

1、1. 航空公司“机票预定系统”: 航空公司为给旅客乘机提供方便,需要开发一个机票预定系统。各个旅行社把预定机票的旅客信息(姓名、性别、工作单位、身份证号码(护照号码)、旅行时间、旅行始发地和目的地,航班舱位要求等)输入到系统中,系统根据旅客信息和航班信息为旅客安排航班。当旅客交付了预订金后,系统打印出取票通知和帐单给旅客,旅客在飞机起飞前一天凭取票通知和帐单交款取票,系统核对无误即打印出机票给旅客。 请用结构化分析方法,给出系统的功能模型(DFD描述)。旅行社机票预订旅客预订信息取票通知账单机票取票通知账单/票款 参考答案:(0层,1层DFD) 旅行社旅客录入预订信息安排航班旅客取票账单旅客信

2、息航班信息取票通知机票取票通知机票价格时间等级旅行时间姓名性别旅行地点身份证号旅客工作单位航班机票信息取票通知旅行社账单航空公司订票合适航班机票订票旅客账单售出机票信息可售机票信息2. 一个简化的机票销售系统需求描述如下:售票员根据旅客需要的航班,首先查询有无该航班机票。若有,则负责录入旅客的基本信息,并将指定的机票标志设置为售出;售票部经理可随时查询每一个航班的售票情况,并在当日结算时能计算出日营业额。请画出该系统的0层DFD图和1层DFD图(注:1层分解为查询和录入、统计和计算两个处理)。3. 图书馆的预定图书子系统有如下功能: (1)由供书部门提供书目给订购组(2)订书组从各单位取得要订

3、的书目(3)根据供书目录和订书书目产生订书文档留档(4)将订书信息(包括书目、数量)反馈给供书单位(5)将未订书目通知订书者(6)对于重复订购的书目有系统自动检查,并将结果反馈给订书者 画出数据流图,并转换为软件结构图。4.某单位要研制一个计算机培训管理系统,它的业务是将学员发来的信件收集分类后,按以下几种情况处理: 1)处理报名 如果是报名,则将报名数据送给负责报名事物的职员,他们将查阅课程文件,检查课程是否满额,然后在学生文件、课程文件上登记,并开出报告单较财务部们,财务人员开出发票给学生。2)注销课程;如果是想要注销原来已选修的课程,则有注销人员在课程文件、学生文件和账目文件上做相应的修

4、改,并给学生注销单。3)处理付款如果是付款,则有财务人员在账目文件上登记,也给学生一张收费收据。要求:给出该系统的数据流图和软件结构图。 参考答案:(1)数据流图 (2)结构图5. 假设一家工厂的采购部每天需要一张定货报表,报表按零件编号排序,表中列出所有需要再次定货的零件。对于每个需要再次定货的零件应该列出下述数据;零件编号、零件名称、定货数量、目前价格、主要供应者和次要供应者。零件入库或出库称为事务,通过放在仓库中的CRT终端把事务报告给定货系统。当某种零件的库存数量少于库存量临界值时就应该再次定货。 要求:用结构化方法学对定货系统进行分析与设计,分别完成以下工作:(1) 给出定货系统的功

5、能模型。 (2) 用数据字典描述该定货系统中主要加工“处理定货”和主要数据存储“定货报表”。(3) 给出定货系统的软件体系结构(用H图或结构图表示)。参考答案:(1)仓库管理员采购员处理入库事务入库事务出库事务定货报表处理定货定货信息处理出库事务产生报表定货信息库存清单库存信息 名字:定货报表别名:定货信息描述:每天需要定货的零件表定义:定货报表=零件编号+零件名称+定货数量+价格+1供应者3 位置:输出到打印机(2)加工名: 处理定货编号:激发条件:接收到定货信息优先级: 普通输入: 库存信息输出: 定货信息加工逻辑: 根据库存记录 IF 零件库存数量 该零件库存临界值 THEN 处理定货

6、ELSE 处理其他零件定货信息 ENDIF (3)定货系统处理事务产生报表处理定货处理库存处理入库处理出库 6.高考录取统分子系统有如下功能:(1) 计算标准分:根据考生原始分计算,得到标准分,存入考生分数文件;(2) 计算录取线分:根据标准分、招生计划文件中的招生人数,计算录取线,存入录取线文件。要求:用结构化方法学对高考录取统分子系统进行分析与设计,分别完成以下工作:(1) 给出高考录取统分子系统的功能模型(用数据流图表示)。 (2) 给出高考录取统分子系统的软件体系结构(用H图或结构图表示)。 参考答案:(1)数据流图 (2)结构图 7.需求描述如下: 参考答案:8. 参考答案:(1)数

7、据流图 (2)结构图 9.10. 某运动会概括力相同接受来自运动员的包名单、裁判的比赛项目及项目成绩,产生运动员号码单发送给运动员,项目参加者发送给裁判,单项名次发送给发布会。该系统的功能如下:(1) 登记报名单接受报名单、比赛项目,产生运动员号码单、项目参加者,形成运动员名单及团体成绩表两种数据存储。(2) 统计成绩接受项目成绩,查询运动员名单,产生单项名次,填写团体成绩,最后产生团体名次。 11. 现开发一个银行的活期存取款业务的处理系统,系统功能如下:(1) 审查分类:系统首先根据储户所填的存/取款单,确定本次业务的性质,并将存/取款单和存折交下一步处理。(2) 处理存款:系统将存款单上

8、的存款金额分别记录在存折和帐目文件中,并将现金存入现金库;最后将存折还给储户。(3) 处理取款:系统将取款单上的取款金额分别记录在存折和帐目文件中,并从现金库提取现金;最后将现金和存折还给储户。绘制该系统的数据流图和软件结构图。 参考答案:(1)数据流图 顶层 一层(2)系统结构图如下:12. 银行储蓄系统的业务流程: 储户填写的存款单或取款单由业务员键入系统; 如果是存款则系统记录存款人姓名、住址(或电话号码)、身份证号码、存款类型、存款日期、到期日期、利率、密码(可选)等信息,并印出存单给储户; 如果是取款而且开户时留有密码,则系统首先核对储户密码,若密码正确或存款时未留密码,则系统计算利

9、息并印出利息清单给储户。 要求画出分层的数据流图,并细化到2层数据流图。参考答案:0层: 1层: 2层:13. 目前住院病人主要由护士护理,这样做不仅需要大量护士,而且由于不能随时观察危重病人的病情变化,还会延误抢救时机。某医院打算开发一个以计算机为中心的患者监护系统,请分层次地画出描述本系统功能的数据流图。(1)局部监视在医院的病房里,将病症监视器安置在每个病床,对病人进行监护。监视器将病人的病症信号(血压、体温、脉搏等组合)实时地传送到中央监护系统进行分析处理。(2) 中央监视在中心值班室里,值班护士使用中央监护系统对病员的情况进行监控,监护系统实时地将病人的病症信号与标准的病诊信号进行比

10、较分析,根据标准病症信号库中的值,判断是否报警;(3) 更新日志中央监视系统根据分析数据将病人的病症信号进行格式化并加入更新日期、时间,更新病历库中病人的信息,并写入病员日志文件中。(4) 产生报告 根据医生的要求随时打印病人的病情报告,系统还定期自动更新病历。 参考答案:14. 需求陈述:现有某库存管理系统,其主要功能如下:1. 建立物资采购单流水账根据计划部门转来的收货通知单和已存的物资编码文件,建立物资采购单流水账。2. 更新物资台账 根据技术部门的物资验收报告和物资采购单流水账,更新物资台账文件。3. 汇总物资台账对物资台账分类汇总,将结果存储于物资总账文件。 要求:用结构化方法学对库

11、存管理系统进行分析与设计,分别完成以下工作: 给出库存管理系统的功能模型(用数据流图表示)。(10分) 给出库存管理系统的体系结构(用H图或结构图表示)。(10分)参考答案:1.数据流图(15分)(评分标准:基本给出两个数据源、三个功能模块和四个文件12分,少一个扣2分)收货通知单汇总物资台账物资总账文件物资台账文件计划部门建立物资采购单流水账物资编码文件物资编码物资采购单流水账更新物资台账技术部门物资验收报告资采购单流水账2结构图(15分)(评分标准:基本给三个功能模块和主框架的15分,少一个扣3分)库存管理系统建立物资采购单流水账更新物资台账汇总物资台账面向对象开发技术1. 根据以下描述,

12、使用面向对象的分析方法,分析有那些主要对象和这些对象的主要属性、方法,画出对象图。一个饮料自动售货机可以放置五种不同或部分相同的饮料,可由厂商根据销售状况自动调配,并可随时重新设置售价,但售货机最多仅能放置50罐饮料,其按钮设计在各种饮料样本的下方,若经金额计算器累计金额足够,则选择键灯会亮;若某一种饮料已销售完毕,则售完灯会亮。顾客将硬币投入售货机,经累加金额足额的饮料选择键灯亮,等顾客按键选择。顾客按键后饮料由出物口掉出,并自动结算及找钱。顾客可在按下选择键前任何一个时刻,可以拉动退币杆取消交易收回硬币。 参考答案:类图贩卖机饮料号码价格投币-接受饮料掉出金额显示按纽退币杆售完显示存量计算

13、器饮料号码存量递减售完显示重置选择钮选择钮状态灯亮灯熄售完灯亮按钮顾客姓名硬币投币-置入拿取饮料退币杆退币杆状态拉动金额计算器金额累加找零重置购买选取被拉动属于属于属于属于2. 设计一个简单的学生选课系统,系统能注册符合要求的同学,同学注册以后就能进行选课。选课过程如下:先选课名,然后根据课程的上课老师、时间、地点和人数限制来决定是否成功选课;老师也可以根据情况提供新的课程说明或修改过去课程的说明;教务处的老师统一管理注册的情况,可以有删除、修改学生、老师和课程的权限。请用面向对象方法设计出对象模型(对象类图,标出多重性、角色、限定词和关系:泛化、聚集、关联)、动态模型(学生成功注册后选课的顺

14、序图)、功能模型(用例图)三大模型。 参考答案:(1)类图(2)用例图:(3)顺序图3. 请画出一个用户使用银行ATM的状态转换图。从用户将卡插入卡槽开始,到用户取卡结束(如果用户忘记,ATM应报警),用户可以完成以下几个步骤:登录(卡片进入ATM机后,如果不是可读卡,退卡;如是,等待用户输入密码,三次错,吞卡,正确后进入主菜单),取钱(进入取钱菜单,输入金额,如果帐户余额不足,提示余额,并要求用户重新输入,如果帐上钱够,吐钱币,并询问是否打印凭证,最后返回主菜单),主菜单提供退出取卡选择。5.用例UC1: 预定航班主事件流(主成功场景):1. 顾客向系统提交航班预订信息(出发地、目的地、出发

15、日期和人数)2. 系统检索满足这些条件的航班3. 系统显示满足条件的航班信息4. 顾客选择所要的航班5. 系统检索该航班剩余的座位信息6. 系统显示可预订的座位信息7. 顾客选择所要的座位8. 系统生成一个临时预订记录9. 系统将顾客选择的座位状态从“未预订”修改为“已预订”备选事件流(扩展场景):1a. 顾客撤销购票请求,退出用例2a. 系统检索不到满足条件的航班3a. 系统向用户显示没有满足条件的航班3b.系统建议顾客返回步骤14a. 顾客撤销购票请求,退出用例问题:(1) 系统分析员认为与该用例相关的类至少有Reservation(预定 )、Seat(座位)和Flight(航班),请补充

16、必要的类,建立对应于该用例的主成功场景的顺序图。(2) 请为对象Flight对象建立状态图。用例“预订航班”的顺序图:类图:用例“预订航班”的活动图:航班状态图:6. 需求陈述:下面是大学教学管理系统的子系统的简单说明: 首先接受学生提交的学生证和申请单,根据学生档案情况检验学生证的有效性和申请单是否填写的正确,如果有误则拒绝,如果无误则根据学生的注册情况审查接收学生的申请要求。如果是申请注册,则进行注册登记;如果是申请选课,则先查询课程档案是否有满足申请要求的课程,如果有则进行选课登记,如果没有则通知学生无此课。要求:用面向对象方法学对该系统进行分析与设计,分别完成以下工作:(1) 给出教学

17、管理系统的用例模型,并对主要用例进行简单说明。(10分) (2) 给出教学管理系统中所涉及到的主要类。(10分)(3) 给出教学管理系统的类图。(10分)(4) 给出教学管理系统中注册的顺序图。(10分)参考答案:审查接受申请注册登记登记选课包 含包 含 1)用例图(10分)(基本给出用例模型5分,给出用例说明再5分,其他酌情给分) 学 生注册登记:每学期开学注册时间执行该用例,执行前必须先完成学生审查和接受申请的过程。登记选课:审查和接受申请的过程后,实现学生每学期的选课。2)主要类:课程,选课单,学生,注册记录,本科课程,本科生等。(10分)3)类图如下:(10分)选课单学号姓名课程号课程

18、名选课学期填写接受登记课程课程号课程名学分开课日期开课系任课教师检索本科课程是否必修课研究生课程是否学位课注册记录学号姓名注册日期审查登记学生学号姓名性别系别专业入学日期读入验证修改本科生班级研究生导师类型研究方向 0,m 1 填写1 拥有 0,m 0,m 1 4)注册顺序图如下:(5分):学生:注册界面:注册记录登 录 审 查 审查合格(注册) 登记注册7. 下面是自动售货机系统的需求陈述,试建立它的对象模型、动态模型和功能模型:自动售货机系统是一种无人售货系统。售货时,顾客把硬币投入机器的投币口中,机器检查硬币的大小、重量、厚度及边缘类型。有效的硬币是一元币、五角币、五分币、二分币、一分币

19、。其他货币被认为是假币。机器拒绝接受假币,并将其从退币孔退出。当机器接受了有效的硬币之后,就把硬币送入硬币储藏器中。顾客支付的货币根据硬币的面值进行累加。自动售货机装有货物分配器。每个货物分配器中包含零个或多个价格相同的货物。顾客通过选择货物分配器来选择货物。如果货物分配器中有货物,而且顾客支付的货币值不小于该货物的价格,货物将被分配到货物传送孔送给顾客,并将适当的零钱返还到退币孔。如果分配器是空的,则和顾客支付的货币值相等的硬币将被送回到退币孔。如果顾客支付的货币值少于所选择的分配器中货物的价格,机器将等待顾客投进更多的货币。如果顾客决定不买所选择的货物,他投放进的货币将从退币孔中退出。 参

20、考答案:(1)类图(2)活动图8. 有一房地产销售管理系统,主要功能有房源查询、房源预定、房源签约、退房操作、换房操作、房款管理、销售统计、房款统计,销售人员主要进行房源的销售操作,财务人员负责房款的收取,销售主管能够及时汇总销售情况和房款收取情况。1)请画出房地产管理系统的UML用例图。2)对于一套房源,有三种状态:待售状态、预定状态、已售状态,请用UML状态图给出房源的状态变迁情况,并用文字简单说明。3)采用面向对象的设计思想,试给出该系统应该包含的主要类,并做简单说明。参考答案:(1) 用例图(2) 状态图(3) 类图(略)9. 某银行系统的需求概述如下: 某银行系统为该行的客户提供以下

21、业务:存款、取款、转账和查询。拥有该行账户的客户可以利用该银行系统实现各种银行业务,如客户可以存款,也可以取款,或者将存款从一个账户转到另一个账户。客户还可以随时查询自己账户的情况,并查询以前所进行的存款、取款等交易记录。客户也有权利要求关闭账户。 由上述描述可知这个简化的银行系统至少应该具有如下功能:l 客户可以取款l 客户可以存款l 客户可以在不同的账户之间转账l 客户可以查询自己账户的余额l 银行职员负责系统的维护附: 银行系统的”取款”用例的描述 主事件流: 当客户(Customer)想从自己的账户中取钱时,要向银行职员(Clerk)提交取款单,“取款”用例启动。(1) 系统提示输入用

22、户信息,进行帐户有效性的验证(2) 客户输入有关帐户的信息(帐户信息、密码等)(3) 系统确认账户的有效性。A1:账户验证不合法(4) 系统提示进行取款交易(5) 客户按照系统提示进行取款交易(交易类型,交易金额)。A2:账户余额不足(6) 系统建立取款事件记录,并更新账户的相关信息(7) 用例结束 扩展事件流: A1:账户验证不合法 若账户不存在或无效,显示提示信息,用户可以重新输入或终止该用例。 A2:账户余额不足 账户中的存款金额不足,显示提示信息,用户可以重新输入金额或终止该用例。要求:用面向对象方法学对银行系统进行分析与设计,分别完成以下工作:(1) 画出银行系统的用例图 (2) 画

23、出银行所在的银行系统的类图(3) 画出银行取款顺序图(时序图)(4) 画出银行取款活动图参考答案:1.用例图2. 类与对象模型3.“取款”用例的顺序图4. “取款”用例的活动图10. 需求陈述: 某银行系统为该行的客户提供以下业务:存款、取款、转账和查询。拥有该行账户的客户可以利用该银行系统实现各种银行业务,如客户可以存款,也可以取款,或者将存款从一个账户转到另一个账户。客户还可以随时查询自己账户的情况,并查询以前所进行的存款、取款等交易记录。客户也有权利要求关闭账户。 由上述描述可知这个简化的银行系统至少应该具有如下功能:l 客户可以取款l 客户可以存款l 客户可以在不同的账户之间转账l 客

24、户可以查询自己账户的余额l 银行职员负责系统的维护附:银行系统的”存款”用例的描述。 主事件流: 当客户(Customer)想向自己的账户中存钱时,要向银行职员(Clerk)提交存款单和现金,“存款”用例启动。(1)系统提示Clerk输入用户姓名、用户的id号、账号和所存款项的金额。(2)Clerk输入相关信息后提交,系统确认账户是否存在并有效(当用户名、用户id与账户的户主信息一致,且账户处于非冻结状态时,账户有效。否则转E-1。(3)客户按照系统提示进行存款交易(交易类型,交易金额)。(4)系统建立存款事件记录,并更新账户的相关信息。(5)用例结束 扩展事件流:E-1:账户不存在或无效,显

25、示提示信息,用户可以重新输入或终止该用例。要求:用面向对象方法学对该系统进行分析与设计,分别完成以下工作: 1) 给出银行系统的用例模型 2)给出银行系统的类图3)给出存款用例的顺序图4)给出存款用例的活动图参考答案:1.用例图2. 类与对象模型3.“存款”用例的顺序图4.“存款”用例的活动图11. 下面是某选课系统的子功能“添加课程”用例的事件流。主事件流:(1) 管理员选择进入管理界面,用例开始。(2) 系统提示输入管理员密码。(3) 管理员输入密码。(4) 系统验证密码。A1:密码错误(5) 进入管理界面,系统显示目前所建立的全部课程信息。(6) 管理员选择添加课程。(7) 系统提示输入

26、新课程信息。(8) 管理员输入信息。(9) 系统验证是否和已有课程冲突。A2:有冲突(10) 系统添加新课程,提示课程添加成功。(11) 系统重新进入管理主界面,显示所有课程。(12) 用例结束。扩展事件流:A1:密码错误(1) 系统提示再次输入。(2) 用户确认。(3) 三次错误,拒绝再次访问。(4) 否则进入添加课程事件流第5步。A2:有冲突(1) 系统提示冲突,显示冲突课程信息。(2) 用户重新输入。(3) 继续验证直到无冲突。(4) 进入添加课程事件流第10步。用面向对象的开发技术分析上述用例,回答下面的问题。(1) 给出该用例的活动图(2) 给出该系统的类图(3) 针对用例中涉及的主

27、要类“Course(课程类)”,建立该类的状态图(4) 给出“添加课程”用例的顺序图参考答案:(1)活动图 (2)类图 (3)状态图 (4)顺序图12.算法描述:1. 给出一组数从小到大的排序算法,分别用下列工具描述其详细过程:(1) 流程图;(2)NS图;(3)PAD图;(4)PDL语言。 PDL语言略2.下面是程序流程图,试分别用N-S图和伪代码(类C语言描述)表示。STARTABENDFFTQTP3. 阅读下面算法的PDl(伪代码)描述,请给出该算法的流程图和n-s盒图。(共20分,每题10分)STARTIF ( p ) THEN WHILE (q) f ELSE g n STOP参考答

28、案:1.n-s盒图(10分,能正确n-s描述的循环和分支的10分,否则酌情给分) 2.程序流程图(10分,能正确给出循环和两个分支的10分,否则酌情给分)StartpTFgnfwhile q测试试题:1. 阅读下面C语言函数,回答后面的问题: /求取数组arr中的最大数据,并返回该元素在数组中的位置。 int getMax( int n ,int arr ) / n是数组a的长度 int k = 0; for ( int i = 1; i arrk ) k = i; return k; 要求:请用基本路径的测试技术完成该函数的测试。(1)给出程序的有向流图,并算该函数的环形复杂度。 T FT

29、F(2)给出基本路径集和测试用例。参考答案:1).控制流图如下,McCabe环路复杂性为3。(2) 1.基本路径:(少一个最多3分)Path1: ath2: Path3: 2.测试用例: (少一个最多3分)Path1: 取n=1,a0 = 1, 预期结果:k=0 Path2: 取n=2,a0 = 3,a 1 = 1, 预期结果:k=0 Path3: 取n=3,a 0 = 0,a1 =1, a2=5预期结果:k=22. 阅读下面的程序流程图,回答后面的问题: 1) 画出上述程序的有向流图,并计算该函数的环形复杂度。 2) 给出基本路径集。参考答案:(1)如下图所示。程序复杂度为43)(2)基本路

30、径1:1-11 基本路径2:1 - 2, 3 - 4, 5 - 10 - 1 - 11基本路径3:1- 2, 3 - 6 - 7 - 9 - 10 - 1 11基本路径4:1- 2, 3 - 6 - 8 - 9 - 10 - 1 - 11 3. 阅读下面用伪代码编写的程序段,回答后面的问题:start input (a,b,c,d) if (a 0)& (b 0)x = a + belse x =endif if (c a)| (d b)y = c + d else y = c d endif print(x , y) stop (1) 画出上述程序的有向流图,并计算该函数的环形复杂度。(2)请用基本路径的测试技术完成该函数的测试。要求给出基本路径和测试用例。4. - 25 -

展开阅读全文
温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!