软件项目工程导论试题集.doc
-/1. 航空公司“机票预定系统”: 航空公司为给旅客乘机提供方便,需要开发一个机票预定系统。各个旅行社把预定机票的旅客信息(姓名、性别、工作单位、身份证号码(护照号码)、旅行时间、旅行始发地和目的地,航班舱位要求等)输入到系统中,系统根据旅客信息和航班信息为旅客安排航班。当旅客交付了预订金后,系统打印出取票通知和帐单给旅客,旅客在飞机起飞前一天凭取票通知和帐单交款取票,系统核对无误即打印出机票给旅客。 请用结构化分析方法,给出系统的功能模型(DFD描述)。旅行社机票预订旅客预订信息取票通知账单机票取票通知账单/票款 参考答案:(0层,1层DFD) 旅行社旅客录入预订信息安排航班旅客取票账单旅客信息航班信息取票通知机票取票通知机票价格时间等级旅行时间姓名性别旅行地点身份证号旅客工作单位航班机票信息取票通知旅行社账单航空公司订票合适航班机票订票旅客账单售出机票信息可售机票信息2. 一个简化的机票销售系统需求描述如下:售票员根据旅客需要的航班,首先查询有无该航班机票。若有,则负责录入旅客的基本信息,并将指定的机票标志设置为售出;售票部经理可随时查询每一个航班的售票情况,并在当日结算时能计算出日营业额。请画出该系统的0层DFD图和1层DFD图(注:1层分解为查询和录入、统计和计算两个处理)。3. 图书馆的预定图书子系统有如下功能: (1)由供书部门提供书目给订购组(2)订书组从各单位取得要订的书目(3)根据供书目录和订书书目产生订书文档留档(4)将订书信息(包括书目、数量)反馈给供书单位(5)将未订书目通知订书者(6)对于重复订购的书目有系统自动检查,并将结果反馈给订书者 画出数据流图,并转换为软件结构图。4.某单位要研制一个计算机培训管理系统,它的业务是将学员发来的信件收集分类后,按以下几种情况处理: 1)处理报名 如果是报名,则将报名数据送给负责报名事物的职员,他们将查阅课程文件,检查课程是否满额,然后在学生文件、课程文件上登记,并开出报告单较财务部们,财务人员开出发票给学生。2)注销课程;如果是想要注销原来已选修的课程,则有注销人员在课程文件、学生文件和账目文件上做相应的修改,并给学生注销单。3)处理付款如果是付款,则有财务人员在账目文件上登记,也给学生一张收费收据。要求:给出该系统的数据流图和软件结构图。 参考答案:(1)数据流图 (2)结构图5. 假设一家工厂的采购部每天需要一张定货报表,报表按零件编号排序,表中列出所有需要再次定货的零件。对于每个需要再次定货的零件应该列出下述数据;零件编号、零件名称、定货数量、目前价格、主要供应者和次要供应者。零件入库或出库称为事务,通过放在仓库中的CRT终端把事务报告给定货系统。当某种零件的库存数量少于库存量临界值时就应该再次定货。 要求:用结构化方法学对定货系统进行分析与设计,分别完成以下工作:(1) 给出定货系统的功能模型。 (2) 用数据字典描述该定货系统中主要加工“处理定货”和主要数据存储“定货报表”。(3) 给出定货系统的软件体系结构(用H图或结构图表示)。参考答案:(1)仓库管理员采购员处理入库事务入库事务出库事务定货报表处理定货定货信息处理出库事务产生报表定货信息库存清单库存信息 名字:定货报表别名:定货信息描述:每天需要定货的零件表定义:定货报表=零件编号+零件名称+定货数量+价格+1供应者3 位置:输出到打印机(2)加工名: 处理定货编号:激发条件:接收到定货信息优先级: 普通输入: 库存信息输出: 定货信息加工逻辑: 根据库存记录 IF 零件库存数量 该零件库存临界值 THEN 处理定货 ELSE 处理其他零件定货信息 ENDIF (3)定货系统处理事务产生报表处理定货处理库存处理入库处理出库 6.高考录取统分子系统有如下功能:(1) 计算标准分:根据考生原始分计算,得到标准分,存入考生分数文件;(2) 计算录取线分:根据标准分、招生计划文件中的招生人数,计算录取线,存入录取线文件。要求:用结构化方法学对高考录取统分子系统进行分析与设计,分别完成以下工作:(1) 给出高考录取统分子系统的功能模型(用数据流图表示)。 (2) 给出高考录取统分子系统的软件体系结构(用H图或结构图表示)。 参考答案:(1)数据流图 (2)结构图 7.需求描述如下: 参考答案:8. 参考答案:(1)数据流图 (2)结构图 9.10. 某运动会概括力相同接受来自运动员的包名单、裁判的比赛项目及项目成绩,产生运动员号码单发送给运动员,项目参加者发送给裁判,单项名次发送给发布会。该系统的功能如下:(1) 登记报名单接受报名单、比赛项目,产生运动员号码单、项目参加者,形成运动员名单及团体成绩表两种数据存储。(2) 统计成绩接受项目成绩,查询运动员名单,产生单项名次,填写团体成绩,最后产生团体名次。 11. 现开发一个银行的活期存取款业务的处理系统,系统功能如下:(1) 审查分类:系统首先根据储户所填的存/取款单,确定本次业务的性质,并将存/取款单和存折交下一步处理。(2) 处理存款:系统将存款单上的存款金额分别记录在存折和帐目文件中,并将现金存入现金库;最后将存折还给储户。(3) 处理取款:系统将取款单上的取款金额分别记录在存折和帐目文件中,并从现金库提取现金;最后将现金和存折还给储户。绘制该系统的数据流图和软件结构图。 参考答案:(1)数据流图 顶层 一层(2)系统结构图如下:12. 银行储蓄系统的业务流程: 储户填写的存款单或取款单由业务员键入系统; 如果是存款则系统记录存款人姓名、住址(或电话号码)、身份证号码、存款类型、存款日期、到期日期、利率、密码(可选)等信息,并印出存单给储户; 如果是取款而且开户时留有密码,则系统首先核对储户密码,若密码正确或存款时未留密码,则系统计算利息并印出利息清单给储户。 要求画出分层的数据流图,并细化到2层数据流图。参考答案:0层: 1层: 2层:13. 目前住院病人主要由护士护理,这样做不仅需要大量护士,而且由于不能随时观察危重病人的病情变化,还会延误抢救时机。某医院打算开发一个以计算机为中心的患者监护系统,请分层次地画出描述本系统功能的数据流图。(1)局部监视在医院的病房里,将病症监视器安置在每个病床,对病人进行监护。监视器将病人的病症信号(血压、体温、脉搏等组合)实时地传送到中央监护系统进行分析处理。(2) 中央监视在中心值班室里,值班护士使用中央监护系统对病员的情况进行监控,监护系统实时地将病人的病症信号与标准的病诊信号进行比较分析,根据标准病症信号库中的值,判断是否报警;(3) 更新日志中央监视系统根据分析数据将病人的病症信号进行格式化并加入更新日期、时间,更新病历库中病人的信息,并写入病员日志文件中。(4) 产生报告 根据医生的要求随时打印病人的病情报告,系统还定期自动更新病历。 参考答案:14. 需求陈述:现有某库存管理系统,其主要功能如下:1. 建立物资采购单流水账根据计划部门转来的收货通知单和已存的物资编码文件,建立物资采购单流水账。2. 更新物资台账 根据技术部门的物资验收报告和物资采购单流水账,更新物资台账文件。3. 汇总物资台账对物资台账分类汇总,将结果存储于物资总账文件。 要求:用结构化方法学对库存管理系统进行分析与设计,分别完成以下工作: 给出库存管理系统的功能模型(用数据流图表示)。(10分) 给出库存管理系统的体系结构(用H图或结构图表示)。(10分)参考答案:1.数据流图(15分)(评分标准:基本给出两个数据源、三个功能模块和四个文件12分,少一个扣2分)收货通知单汇总物资台账物资总账文件物资台账文件计划部门建立物资采购单流水账物资编码文件物资编码物资采购单流水账更新物资台账技术部门物资验收报告资采购单流水账2结构图(15分)(评分标准:基本给三个功能模块和主框架的15分,少一个扣3分)库存管理系统建立物资采购单流水账更新物资台账汇总物资台账15. 需求陈述:某大学教学管理系统子系统的功能说明如下:首先接受学生提交的学生证和申请单,根据学生档案文件检验学生证的有效性和申请单是否填写的正确,如果有误则拒绝,如果无误根据学生的注册表文件审查接受学生的申请单。如果是申请注册,则进行注册登记,并将注册信息写入注册表文件。如果是申请选课,则根据课程档案文件检索课程是否有满足申请要求,如果有则进行选课登记,如果没有则通知学生无此课。要求:用结构化方法学对教学管理系统子系统进行分析与设计,分别完成以下工作:1) 给出教学管理系统子系统的功能模型(用DFD-数据流图表示)。(10分) 2) 给出教学管理系统子系统的体系结构(用H图或结构图表示)。(10分)参考答案:1功能模型无此课程拒绝学生检验审查接受申请检索课程注册登记登记课程课程档案注册记录学生档案选课单申请单学生证申请单注册选课选课2结构图审查接受申请教学管理子系统注册登记选课登记检验申请单审查申请面向对象开发技术1. 根据以下描述,使用面向对象的分析方法,分析有那些主要对象和这些对象的主要属性、方法,画出对象图。一个饮料自动售货机可以放置五种不同或部分相同的饮料,可由厂商根据销售状况自动调配,并可随时重新设置售价,但售货机最多仅能放置50罐饮料,其按钮设计在各种饮料样本的下方,若经金额计算器累计金额足够,则选择键灯会亮;若某一种饮料已销售完毕,则售完灯会亮。顾客将硬币投入售货机,经累加金额足额的饮料选择键灯亮,等顾客按键选择。顾客按键后饮料由出物口掉出,并自动结算及找钱。顾客可在按下选择键前任何一个时刻,可以拉动退币杆取消交易收回硬币。 参考答案:类图贩卖机饮料号码价格投币-接受饮料掉出金额显示按纽退币杆售完显示存量计算器饮料号码存量递减售完显示重置选择钮选择钮状态灯亮灯熄售完灯亮按钮顾客姓名硬币投币-置入拿取饮料退币杆退币杆状态拉动金额计算器金额累加找零重置购买选取被拉动属于属于属于属于2. 设计一个简单的学生选课系统,系统能注册符合要求的同学,同学注册以后就能进行选课。选课过程如下:先选课名,然后根据课程的上课老师、时间、地点和人数限制来决定是否成功选课;老师也可以根据情况提供新的课程说明或修改过去课程的说明;教务处的老师统一管理注册的情况,可以有删除、修改学生、老师和课程的权限。请用面向对象方法设计出对象模型(对象类图,标出多重性、角色、限定词和关系:泛化、聚集、关联)、动态模型(学生成功注册后选课的顺序图)、功能模型(用例图)三大模型。 参考答案:(1)类图(2)用例图:(3)顺序图3. 请画出一个用户使用银行ATM的状态转换图。从用户将卡插入卡槽开始,到用户取卡结束(如果用户忘记,ATM应报警),用户可以完成以下几个步骤:登录(卡片进入ATM机后,如果不是可读卡,退卡;如是,等待用户输入密码,三次错,吞卡,正确后进入主菜单),取钱(进入取钱菜单,输入金额,如果帐户余额不足,提示余额,并要求用户重新输入,如果帐上钱够,吐钱币,并询问是否打印凭证,最后返回主菜单),主菜单提供退出取卡选择。5.用例UC1: 预定航班主事件流(主成功场景):1. 顾客向系统提交航班预订信息(出发地、目的地、出发日期和人数)2. 系统检索满足这些条件的航班3. 系统显示满足条件的航班信息4. 顾客选择所要的航班5. 系统检索该航班剩余的座位信息6. 系统显示可预订的座位信息7. 顾客选择所要的座位8. 系统生成一个临时预订记录9. 系统将顾客选择的座位状态从“未预订”修改为“已预订”备选事件流(扩展场景):1a. 顾客撤销购票请求,退出用例2a. 系统检索不到满足条件的航班3a. 系统向用户显示没有满足条件的航班3b.系统建议顾客返回步骤14a. 顾客撤销购票请求,退出用例问题:(1) 系统分析员认为与该用例相关的类至少有Reservation(预定 )、Seat(座位)和Flight(航班),请补充必要的类,建立对应于该用例的主成功场景的顺序图。(2) 请为对象Flight对象建立状态图。用例“预订航班”的顺序图:类图:用例“预订航班”的活动图:航班状态图:6. 需求陈述:下面是大学教学管理系统的子系统的简单说明: 首先接受学生提交的学生证和申请单,根据学生档案情况检验学生证的有效性和申请单是否填写的正确,如果有误则拒绝,如果无误则根据学生的注册情况审查接收学生的申请要求。如果是申请注册,则进行注册登记;如果是申请选课,则先查询课程档案是否有满足申请要求的课程,如果有则进行选课登记,如果没有则通知学生无此课。要求:用面向对象方法学对该系统进行分析与设计,分别完成以下工作:(1) 给出教学管理系统的用例模型,并对主要用例进行简单说明。(10分) (2) 给出教学管理系统中所涉及到的主要类。(10分)(3) 给出教学管理系统的类图。(10分)(4) 给出教学管理系统中注册的顺序图。(10分)参考答案:审查接受申请注册登记登记选课包 含包 含 1)用例图(10分)(基本给出用例模型5分,给出用例说明再5分,其他酌情给分) 学 生注册登记:每学期开学注册时间执行该用例,执行前必须先完成学生审查和接受申请的过程。登记选课:审查和接受申请的过程后,实现学生每学期的选课。2)主要类:课程,选课单,学生,注册记录,本科课程,本科生等。(10分)3)类图如下:(10分)选课单学号姓名课程号课程名选课学期填写接受登记课程课程号课程名学分开课日期开课系任课教师检索本科课程是否必修课研究生课程是否学位课注册记录学号姓名注册日期审查登记学生学号姓名性别系别专业入学日期读入验证修改本科生班级研究生导师类型研究方向 0,m 1 填写1 拥有 0,m 0,m 1 4)注册顺序图如下:(5分):学生:注册界面:注册记录登 录 审 查 审查合格(注册) 登记注册7. 下面是自动售货机系统的需求陈述,试建立它的对象模型、动态模型和功能模型:自动售货机系统是一种无人售货系统。售货时,顾客把硬币投入机器的投币口中,机器检查硬币的大小、重量、厚度及边缘类型。有效的硬币是一元币、五角币、五分币、二分币、一分币。其他货币被认为是假币。机器拒绝接受假币,并将其从退币孔退出。当机器接受了有效的硬币之后,就把硬币送入硬币储藏器中。顾客支付的货币根据硬币的面值进行累加。自动售货机装有货物分配器。每个货物分配器中包含零个或多个价格相同的货物。顾客通过选择货物分配器来选择货物。如果货物分配器中有货物,而且顾客支付的货币值不小于该货物的价格,货物将被分配到货物传送孔送给顾客,并将适当的零钱返还到退币孔。如果分配器是空的,则和顾客支付的货币值相等的硬币将被送回到退币孔。如果顾客支付的货币值少于所选择的分配器中货物的价格,机器将等待顾客投进更多的货币。如果顾客决定不买所选择的货物,他投放进的货币将从退币孔中退出。 参考答案:(1)类图(2)活动图8. 有一房地产销售管理系统,主要功能有房源查询、房源预定、房源签约、退房操作、换房操作、房款管理、销售统计、房款统计,销售人员主要进行房源的销售操作,财务人员负责房款的收取,销售主管能够及时汇总销售情况和房款收取情况。1)请画出房地产管理系统的UML用例图。2)对于一套房源,有三种状态:待售状态、预定状态、已售状态,请用UML状态图给出房源的状态变迁情况,并用文字简单说明。3)采用面向对象的设计思想,试给出该系统应该包含的主要类,并做简单说明。参考答案:(1) 用例图(2) 状态图(3) 类图(略)9. 某银行系统的需求概述如下: 某银行系统为该行的客户提供以下业务:存款、取款、转账和查询。拥有该行账户的客户可以利用该银行系统实现各种银行业务,如客户可以存款,也可以取款,或者将存款从一个账户转到另一个账户。客户还可以随时查询自己账户的情况,并查询以前所进行的存款、取款等交易记录。客户也有权利要求关闭账户。 由上述描述可知这个简化的银行系统至少应该具有如下功能:l 客户可以取款l 客户可以存款l 客户可以在不同的账户之间转账l 客户可以查询自己账户的余额l 银行职员负责系统的维护附: 银行系统的”取款”用例的描述 主事件流: 当客户(Customer)想从自己的账户中取钱时,要向银行职员(Clerk)提交取款单,“取款”用例启动。(1) 系统提示输入用户信息,进行帐户有效性的验证(2) 客户输入有关帐户的信息(帐户信息、密码等)(3) 系统确认账户的有效性。A1:账户验证不合法(4) 系统提示进行取款交易(5) 客户按照系统提示进行取款交易(交易类型,交易金额)。A2:账户余额不足(6) 系统建立取款事件记录,并更新账户的相关信息(7) 用例结束 扩展事件流: A1:账户验证不合法 若账户不存在或无效,显示提示信息,用户可以重新输入或终止该用例。 A2:账户余额不足 账户中的存款金额不足,显示提示信息,用户可以重新输入金额或终止该用例。要求:用面向对象方法学对银行系统进行分析与设计,分别完成以下工作:(1) 画出银行系统的用例图 (2) 画出银行所在的银行系统的类图(3) 画出银行取款顺序图(时序图)(4) 画出银行取款活动图参考答案:1.用例图2. 类与对象模型3.“取款”用例的顺序图4. “取款”用例的活动图10. 需求陈述: 某银行系统为该行的客户提供以下业务:存款、取款、转账和查询。拥有该行账户的客户可以利用该银行系统实现各种银行业务,如客户可以存款,也可以取款,或者将存款从一个账户转到另一个账户。客户还可以随时查询自己账户的情况,并查询以前所进行的存款、取款等交易记录。客户也有权利要求关闭账户。 由上述描述可知这个简化的银行系统至少应该具有如下功能:l 客户可以取款l 客户可以存款l 客户可以在不同的账户之间转账l 客户可以查询自己账户的余额l 银行职员负责系统的维护附:银行系统的”存款”用例的描述。 主事件流: 当客户(Customer)想向自己的账户中存钱时,要向银行职员(Clerk)提交存款单和现金,“存款”用例启动。(1)系统提示Clerk输入用户姓名、用户的id号、账号和所存款项的金额。(2)Clerk输入相关信息后提交,系统确认账户是否存在并有效(当用户名、用户id与账户的户主信息一致,且账户处于非冻结状态时,账户有效。否则转E-1。(3)客户按照系统提示进行存款交易(交易类型,交易金额)。(4)系统建立存款事件记录,并更新账户的相关信息。(5)用例结束 扩展事件流:E-1:账户不存在或无效,显示提示信息,用户可以重新输入或终止该用例。要求:用面向对象方法学对该系统进行分析与设计,分别完成以下工作: 1) 给出银行系统的用例模型 2)给出银行系统的类图3)给出存款用例的顺序图4)给出存款用例的活动图参考答案:1.用例图2. 类与对象模型3.“存款”用例的顺序图4.“存款”用例的活动图6、客户开立账户序列图和协作图 客户开立新账户的基本工作流程如下: (1)客户向银行职员提出开立账户要求。 (2)银行职员在系统主界面请求创建账户操作,系统创建账户界面。 (3)银行职员添加账户信息后,提交至账户类。 (4)账户类确认数据库是否已存在该客户的账户。如不存在,则创建新客户对象。 (5)然后将客户信息保存到数据库中。8、客户修改账户信息序列图和协作图 客户修改账户信息的工作流程如下: (1)客户向银行职员提出修改账户信息的要求。 (2)银行职员在系统主界面请求查询账户操作,系统创建查询界面。 (3)银行职员在查询界面提交账号,从账户类中获得指定账户的信息,同时系统创建账户界面。 (4)银行职员修改账户信息后,提交给账户界面。 (5)账户界面发送消息更新数据库中客户的信息,同时更新账户信息。9、银行账户状态图 在银行系统中,有明确状态转换的类是账户。账户包含以下三种状态:被创建的新账户、被修改后账户、睡眠账户和被删除的账户。它们之间的转化规则是: (1)客户开立账户时,新的账户被创建。 (2)客户要求变更原有账户信息时,账户内容被改变。 (3)账户长期未使用,银行将其定义为睡眠账户的状态。 (4) 客户注销账户,账户被删除。14、创建账户活动图创建账户的活动图,需要创建二个泳道,分别是银行职员对象和系统对象,具体的活动过程描述如下: (1)系统提示输入用户的相关信息和存款金额。 (2)银行职员输入相关信息后提交。 (3)系统为客户创建账户,并将账户信息保存到数据库。15、客户修改账户活动图客户修改账户的活动图,我们创建了二个泳道,分别是银行职员对象和系统对象,具体的活动过程描述如下: (1)系统提示输入用户的账号。 (2)银行职员输入账号后提交。系统查询账户信息并显示。 (3)银行职员修改账户信息后提交,系统更改账户信息。11. 下面是某选课系统的子功能“添加课程”用例的事件流。主事件流:(1) 管理员选择进入管理界面,用例开始。(2) 系统提示输入管理员密码。(3) 管理员输入密码。(4) 系统验证密码。A1:密码错误(5) 进入管理界面,系统显示目前所建立的全部课程信息。(6) 管理员选择添加课程。(7) 系统提示输入新课程信息。(8) 管理员输入信息。(9) 系统验证是否和已有课程冲突。A2:有冲突(10) 系统添加新课程,提示课程添加成功。(11) 系统重新进入管理主界面,显示所有课程。(12) 用例结束。扩展事件流:A1:密码错误(1) 系统提示再次输入。(2) 用户确认。(3) 三次错误,拒绝再次访问。(4) 否则进入添加课程事件流第5步。A2:有冲突(1) 系统提示冲突,显示冲突课程信息。(2) 用户重新输入。(3) 继续验证直到无冲突。(4) 进入添加课程事件流第10步。用面向对象的开发技术分析上述用例,回答下面的问题。(1) 给出该用例的活动图(2) 给出该系统的类图(3) 针对用例中涉及的主要类“Course(课程类)”,建立该类的状态图(4) 给出“添加课程”用例的顺序图参考答案:(1)活动图 (2)类图 (3)状态图 (4)顺序图12. 需求陈述: 银行与我们的生活息息相关。它为每一个人提供了一系列的金融服务。实际生活中的银行业务功能及其复杂,这里所介绍的银行系统只涉及银行中最基本的功能。 本银行系统的功能性需求包括以下内容: (1)客户可以在银行开立一个或多个账户。 (2)客户能够将钱款存入已经开立的账号中。 (3)客户可从自己的账户中进行提款。 (4)客户能够将账户中的存款转账至另一个账户。 (5)客户可以随时查询自己账户的情况包括以前进行的存款、取款等的交易记录。 (6)客户也有权利要求取消账户。经过分析系统拥有:银行职员用例能够通过该系统进行如下活动: (1)登录银行系统。银行职员在登录系统时,必须通过系统的身份验证才能进入银行系统主界面进行下一步的操作。 (2)对客户的账户进行管理,包括为客户创建新的账户、修改账户信息和删除账户。客户与银行职员之间是依赖的关系,客户必须依赖于职员才能完成各种用例。银行职员作为客户的代理完成与用例的交互。客户用例能完成的具体功能如下。 (1)存款。用户通过银行职员将钱款存入的自己的账户中。 (2)取款。用户通过银行职员从自己的账户中将钱款取出。 (3)转账。用户通过银行职员将一个账户中的钱款转至其他的账户。由于转账既可以在同一银行之间进行,也可以在不同的银行之间进行,因此这里用了二个用例,使用本行转账和跨行转账来描述。本行转账和跨行转账是转账的子用例,它们之间是继承的关系。13. 需求陈述: 网上选课系统是一个高等院校用来进行对学生选修课程管理的管理信息系统(MIS)。该信息系统能够为学生提供方便的选课功能,也能够提高高等院校对学生和教学管理的效率。网上选课系统的功能性需求包括以下内容:(1)系统管理员负责系统的管理维护工作,维护工作包括课程的添加、删除和修改,对学生基本信息的添加、修改、查询和删除。(2)学生通过客户机浏览器根据学号和密码进入选课界面,在这里学生可以进行查询已选课程、指定自己的选修课程以及对自己基本信息的查询。满足上述需求的系统主要包括以下几个小的系统模块:(1)基本业务处理模块。基本业务处理模块主要用于实现学生通过合法认证登录到该系统中进行网上课程的选择和确定。(2)信息查询模块。信息查询模块主要用于实现学生对选课信息的查询和自身信息的查询。(3)系统维护模块。系统维护模块主要用于实现系统管理员对系统的管理和对数据库的维护,系统的管理包括学生信息、课程信息等信息的维护。数据库的维护包括数据库的备份、恢复等数据库管理操作。 学生用例能够通过该系统进行如下活动: (1)查询选课信息。学生可以在查询界面了解可供自己选择的各门课程的详细信息。 (2)登录选课系统。学生能够根据自己的学号和密码登录选课系统,如果身份验证失败,不得进行下一步操作。如果通过身份验证才能进入下一个操作界面。 (3)选择所修课程。在选择课程的界面选择自己要选修的课程并确认提交。 (4)查询个人信息。可以通过查询界面查询本人的基本信息。 系统管理员用例能够通过该系统进行如下活动:(1)登录选课系统。系统管理员使用账号和登录密码登陆系统进行本系统的管理和维护工作。(2)添加学生信息。将新入校的新生的个人基本信息录入到本系统,在数据库中保存。(3)修改学生信息。对于个人基本信息发生变化的学生,修改数据库中相关学生的个人基本信息并保存。(4)删除学生信息。将不需要再保存的学生个人基本信息从数据库中删除。(5)查询学生信息。根据学生的学号和姓名对在校学生的个人基本信息进行相关的查询。(6)添加选修课程。将新的课程添加到选课系统并保存到数据库。(7)修改选修课程。对数据库中原有的课程信息进行修改并保存到数据库中。(8)删除选修课程。将不再开设的选修课程从数据库中删除。 根据系统需求,创建静态系统类图。我们可以识别系统中存在的主要实体类:系统管理员,学生,课程。 界面类:Form。 学生登录选课系统的用例:(1)学生希望通过网上选课系统进行某一项操作。(2)学生登录系统,在登录页面LoginFrame输入自己的用户名和密码并提交。(3)系统将学生提交的用户名和密码传递到的Control类中检查用户合法身份的方法中。该方法将用户信息与数据库中的用户信息进行比较,检查用户信息中是否存在此学生的信息。 (5)检查完毕后将验证结果返回到登录界面显示。 (6)学生在登录界面获得验证结果。 登录系统的顺序图和协作图如下:学生查询课程的流程:(1)学生进入查询课程界面Form,发送查询选修课程的请求。(2)界面Form向控制对象Control请求课程信息,控制对象到数据库查询课程信息。(3)选课界面对象从控制对象中取得所查询得到的课程对象信息Course。并返回到选课界面上显示所有的课程信息。(4)学生从Form中获得课程信息。 3、学生选课用例工作流程1)学生进入选择选修课程界面SelectFom,并在界面中确定选修的课程并提交请求。(2)选修课程界面SelectFom将学生所选课程的信息传递到控制对象Control,控制对象将课程信息与数据库中的课程信息比较,判断是否可以选课。(3)如果可以,执行选课操作,将选课结果保存到数据库中。(4)控制对象返回选课成功信息到选课界面SelectFormo。(5)学生从界面得到选课成功的信息。4、学生查询个人信息(1)学生进入查询个人信息界面QueryForm,并在界面中提交查询请求。(2)界面QueryFom将学生查询的信息传递到控制对象Control。(3)控制对象从数据库中得到所查询的个人信息。(4)控制对象Control将得到的信息返回到界面QueryForm并显示。(5)学生从QueryForm获得自己想要的个人信息。 5、系统管理员登录选课系统的工作流程 (1)系统管理员希望通过网上选课系统进行某一项操作。(2)系统管理员登录系统,在登录页面LoginFrame输入自己的用户名和密码并提交。(3)系统将系统管理员提交的用户名和密码传递到的Control类中检查用户合法身份。将用户信息与数据库中的用户信息进行比较,检查用户信息中是否存在此管理员的信息。 (5)检查完毕后将验证结果返回到登录界面显示。 (6)系统管理员在登录界面获得验证结果。如果身份验证未通过,重新登录或退出。否则,继续选择下一步的操作。 6、系统管理员添加选修课程作流程 (1)系统管理员进入添加课程界面AddForm,并在界面中提交添加课程的信息。(2)界面AddForm将管理员提交的课程信息传递给控制对象Control.(3)控制对象向数据库查询课程相关信息并对查询结果进行判断。(4)控制对象Control.向数据库中插入新选修课程的数据。(5)控制对象将添加课程成功的信息返回界面AddForm。(6)系统管理员在界面AddForm获得添加课程成功的信息。
收藏
编号:2560446
类型:共享资源
大小:2.29MB
格式:DOC
上传时间:2020-04-20
10
金币
- 关 键 词:
-
软件
项目
工程
导论
试题
- 资源描述:
-
-/
1. 航空公司“机票预定系统”:
航空公司为给旅客乘机提供方便,需要开发一个机票预定系统。各个旅行社把预定机票的旅客信息(姓名、性别、工作单位、身份证号码(护照号码)、旅行时间、旅行始发地和目的地,航班舱位要求等)输入到系统中,系统根据旅客信息和航班信息为旅客安排航班。当旅客交付了预订金后,系统打印出取票通知和帐单给旅客,旅客在飞机起飞前一天凭取票通知和帐单交款取票,系统核对无误即打印出机票给旅客。
请用结构化分析方法,给出系统的功能模型(DFD描述)。
旅
行
社
机票
预订
旅
客
预订信息
取票通知
账单
机票
取票通知
账单/票款
参考答案:(0层,1层DFD)
旅行社
旅客
录入预订信息
安排
航班
旅客
取票
账单
旅客信息
航班信息
取票通知
机票
取票通知
机票
价格
时间
等级
旅行时间
姓名
性别
旅行地点
身份证号
旅客
工作单位
航班机票信息
取票通知
旅行社
账单
航空公司
订票
合适航班机票
订票旅客账单
售出机票信息
可售机票信息
2. 一个简化的机票销售系统需求描述如下:
售票员根据旅客需要的航班,首先查询有无该航班机票。若有,则负责录入旅客的基本信息,并将指定的机票标志设置为售出;售票部经理可随时查询每一个航班的售票情况,并在当日结算时能计算出日营业额。
请画出该系统的0层DFD图和1层DFD图(注:1层分解为查询和录入、统计和计算两个处理)。
3. 图书馆的预定图书子系统有如下功能:
(1)由供书部门提供书目给订购组
(2)订书组从各单位取得要订的书目
(3)根据供书目录和订书书目产生订书文档留档
(4)将订书信息(包括书目、数量)反馈给供书单位
(5)将未订书目通知订书者
(6)对于重复订购的书目有系统自动检查,并将结果反馈给订书者
画出数据流图,并转换为软件结构图。
4.某单位要研制一个计算机培训管理系统,它的业务是将学员发来的信件收集分类后,按以下几种情况处理:
1)处理报名
如果是报名,则将报名数据送给负责报名事物的职员,他们将查阅课程文件,检查课程是否满额,然后在学生文件、课程文件上登记,并开出报告单较财务部们,财务人员开出发票给学生。
2)注销课程;
如果是想要注销原来已选修的课程,则有注销人员在课程文件、学生文件和账目文件上做相应的修改,并给学生注销单。
3)处理付款
如果是付款,则有财务人员在账目文件上登记,也给学生一张收费收据。
要求:给出该系统的数据流图和软件结构图。
参考答案:(1)数据流图
(2)结构图
5. 假设一家工厂的采购部每天需要一张定货报表,报表按零件编号排序,表中列出所有需要再次定货的零件。对于每个需要再次定货的零件应该列出下述数据;零件编号、零件名称、定货数量、目前价格、主要供应者和次要供应者。零件入库或出库称为事务,通过放在仓库中的CRT终端把事务报告给定货系统。当某种零件的库存数量少于库存量临界值时就应该再次定货。
要求:用结构化方法学对定货系统进行分析与设计,分别完成以下工作:
(1) 给出定货系统的功能模型。
(2) 用数据字典描述该定货系统中主要加工“处理定货”和主要数据存储“定货报表”。
(3) 给出定货系统的软件体系结构(用H图或结构图表示)。
参考答案:(1)
仓库
管理员
采购员
处理入库事务
入库事务
出库事务
定货报表
处理定货
定货
信息
处理出库事务
产生报表
定货信息
库存清单
库存
信息
名字:定货报表
别名:定货信息
描述:每天需要定货的零件表
定义:定货报表=零件编号+零件名称+定货数量+价格+1{供应者}3
位置:输出到打印机
(2)
加工名: 处理定货
编号:
激发条件:接收到定货信息
优先级: 普通
输入: 库存信息
输出: 定货信息
加工逻辑: 根据库存记录
IF 零件库存数量 < 该零件库存临界值
THEN
处理定货
ELSE
处理其他零件定货信息
ENDIF
(3)定货系统
处理事务
产生报表
处理定货
处理库存
处理入库
处理出库
6.高考录取统分子系统有如下功能:
(1) 计算标准分:根据考生原始分计算,得到标准分,存入考生分数文件;
(2) 计算录取线分:根据标准分、招生计划文件中的招生人数,计算录取线,存入录取线文件。
要求:用结构化方法学对高考录取统分子系统进行分析与设计,分别完成以下工作:
(1) 给出高考录取统分子系统的功能模型(用数据流图表示)。
(2) 给出高考录取统分子系统的软件体系结构(用H图或结构图表示)。
参考答案:(1)数据流图
(2)结构图
7.需求描述如下:
参考答案:
8.
参考答案:(1)数据流图
(2)结构图
9.
10. 某运动会概括力相同接受来自运动员的包名单、裁判的比赛项目及项目成绩,产生运动员号码单发送给运动员,项目参加者发送给裁判,单项名次发送给发布会。该系统的功能如下:
(1) 登记报名单
接受报名单、比赛项目,产生运动员号码单、项目参加者,形成运动员名单及团体成绩表两种数据存储。
(2) 统计成绩
接受项目成绩,查询运动员名单,产生单项名次,填写团体成绩,最后产生团体名次。
11. 现开发一个银行的活期存取款业务的处理系统,系统功能如下:
(1) 审查分类:系统首先根据储户所填的存/取款单,确定本次业务的性质,并将存/取款单和存折交下一步处理。
(2) 处理存款:系统将存款单上的存款金额分别记录在存折和帐目文件中,并将现金存入现金库;最后将存折还给储户。
(3) 处理取款:系统将取款单上的取款金额分别记录在存折和帐目文件中,并从现金库提取现金;最后将现金和存折还给储户。
绘制该系统的数据流图和软件结构图。
参考答案:(1)数据流图
顶层
一层
(2)系统结构图如下:
12. 银行储蓄系统的业务流程:
储户填写的存款单或取款单由业务员键入系统;
如果是存款则系统记录存款人姓名、住址(或电话号码)、身份证号码、存款类型、存款日期、到期日期、利率、密码(可选)等信息,并印出存单给储户;
如果是取款而且开户时留有密码,则系统首先核对储户密码,若密码正确或存款时未留密码,则系统计算利息并印出利息清单给储户。
要求画出分层的数据流图,并细化到2层数据流图。
参考答案:0层:
1层:
2层:
13. 目前住院病人主要由护士护理,这样做不仅需要大量护士,而且由于不能随时观察危重病人的病情变化,还会延误抢救时机。某医院打算开发一个以计算机为中心的患者监护系统,请分层次地画出描述本系统功能的数据流图。
(1)局部监视
在医院的病房里,将病症监视器安置在每个病床,对病人进行监护。监视器将病人的病症信号(血压、体温、脉搏等组合)实时地传送到中央监护系统进行分析处理。
(2) 中央监视
在中心值班室里,值班护士使用中央监护系统对病员的情况进行监控,监护系统实时地将病人的病症信号与标准的病诊信号进行比较分析,根据标准病症信号库中的值,判断是否报警;
(3) 更新日志
中央监视系统根据分析数据将病人的病症信号进行格式化并加入更新日期、时间,更新病历库中病人的信息,并写入病员日志文件中。
(4) 产生报告
根据医生的要求随时打印病人的病情报告,系统还定期自动更新病历。
参考答案:
14. 需求陈述:
现有某库存管理系统,其主要功能如下:
1. 建立物资采购单流水账
根据计划部门转来的收货通知单和已存的物资编码文件,建立物资采购单流水账。
2. 更新物资台账
根据技术部门的物资验收报告和物资采购单流水账,更新物资台账文件。
3. 汇总物资台账
对物资台账分类汇总,将结果存储于物资总账文件。
要求:用结构化方法学对库存管理系统进行分析与设计,分别完成以下工作:
给出库存管理系统的功能模型(用数据流图表示)。(10分)
给出库存管理系统的体系结构(用H图或结构图表示)。(10分)
参考答案:
1.数据流图(15分)(评分标准:基本给出两个数据源、三个功能模块和四个文件12分,少一个扣2分)
收货通知单
汇总物资台账
物资总账文件
物资台账文件
计划部门
建立物资采购单流水账
物资编码文件
物资编码
物资采购单流水账
更新物资台账
技术部门
物资验收报告
资采购单流水账
2.结构图(15分)(评分标准:基本给三个功能模块和主框架的15分,少一个扣3分)
库存管理系统
建立物资采购
单流水账
更新物资台账
汇总物资台账
15. 需求陈述:
某大学教学管理系统子系统的功能说明如下:
首先接受学生提交的学生证和申请单,根据学生档案文件检验学生证的有效性和申请单是否填写的正确,如果有误则拒绝,如果无误根据学生的注册表文件审查接受学生的申请单。如果是申请注册,则进行注册登记,并将注册信息写入注册表文件。如果是申请选课,则根据课程档案文件检索课程是否有满足申请要求,如果有则进行选课登记,如果没有则通知学生无此课。
要求:用结构化方法学对教学管理系统子系统进行分析与设计,分别完成以下工作:
1) 给出教学管理系统子系统的功能模型(用DFD-数据流图表示)。(10分)
2) 给出教学管理系统子系统的体系结构(用H图或结构图表示)。(10分)
参考答案:
1.功能模型
无此课程
拒绝
学生
检验
审查接受申请
检索课程
注册登记
登记课程
课程档案
注册记录
学生档案
选课单
申请单
学生证
申请单
注册
选课
选课
2.结构图
审查接受申请
教学管理子系统
注册登记
选课登记
检验申请单
审查申请
面向对象开发技术
1. 根据以下描述,使用面向对象的分析方法,分析有那些主要对象和这些对象的主要属性、方法,画出对象图。
一个饮料自动售货机可以放置五种不同或部分相同的饮料,可由厂商根据销售状况自动调配,并可随时重新设置售价,但售货机最多仅能放置50罐饮料,其按钮设计在各种饮料样本的下方,若经金额计算器累计金额足够,则选择键灯会亮;若某一种饮料已销售完毕,则售完灯会亮。
顾客将硬币投入售货机,经累加金额足额的饮料选择键灯亮,等顾客按键选择。顾客按键后饮料由出物口掉出,并自动结算及找钱。顾客可在按下选择键前任何一个时刻,可以拉动退币杆取消交易收回硬币。
参考答案:类图
贩卖机
饮料号码
价格
投币-接受
饮料掉出
金额显示
按纽
退币杆
售完显示
存量计算器
饮料号码
存量
递减
售完显示
重置
选择钮
选择钮状态
灯亮
灯熄
售完灯亮
按钮
顾客
姓名
硬币
投币-置入
拿取饮料
退币杆
退币杆状态
拉动
金额计算器
金额
累加
找零
重置
购买
选取
被拉动
属于
属于
属于
属于
2. 设计一个简单的学生选课系统,系统能注册符合要求的同学,同学注册以后就能进行选课。
选课过程如下:
先选课名,然后根据课程的上课老师、时间、地点和人数限制来决定是否成功选课;老师也可以根据情况提供新的课程说明或修改过去课程的说明;教务处的老师统一管理注册的情况,可以有删除、修改学生、老师和课程的权限。
请用面向对象方法设计出对象模型(对象类图,标出多重性、角色、限定词和关系:泛化、聚集、关联)、动态模型(学生成功注册后选课的顺序图)、功能模型(用例图)三大模型。
参考答案:(1)类图
(2)用例图:
(3)顺序图
3. 请画出一个用户使用银行ATM的状态转换图。从用户将卡插入卡槽开始,到用户取卡结束(如果用户忘记,ATM应报警),用户可以完成以下几个步骤:登录(卡片进入ATM机后,如果不是可读卡,退卡;如是,等待用户输入密码,三次错,吞卡,正确后进入主菜单),取钱(进入取钱菜单,输入金额,如果帐户余额不足,提示余额,并要求用户重新输入,如果帐上钱够,吐钱币,并询问是否打印凭证,最后返回主菜单),主菜单提供退出取卡选择。
5.用例UC1: 预定航班
………
主事件流(主成功场景):
1. 顾客向系统提交航班预订信息(出发地、目的地、出发日期和人数)
2. 系统检索满足这些条件的航班
3. 系统显示满足条件的航班信息
4. 顾客选择所要的航班
5. 系统检索该航班剩余的座位信息
6. 系统显示可预订的座位信息
7. 顾客选择所要的座位
8. 系统生成一个临时预订记录
9. 系统将顾客选择的座位状态从“未预订”修改为“已预订”
…………
备选事件流(扩展场景):
1a. 顾客撤销购票请求,退出用例
2a. 系统检索不到满足条件的航班
3a. 系统向用户显示没有满足条件的航班
3b.系统建议顾客返回步骤1
4a. 顾客撤销购票请求,退出用例
问题:
(1) 系统分析员认为与该用例相关的类至少有Reservation(预定 )、Seat(座位)和Flight(航班),请补充必要的类,建立对应于该用例的主成功场景的顺序图。
(2) 请为对象Flight对象建立状态图。
用例“预订航班”的顺序图:
类图:
用例“预订航班”的活动图:
航班状态图:
6. 需求陈述:
下面是-大学教学管理系统的子系统的简单说明:
首先接受学生提交的学生证和申请单,根据学生档案情况检验学生证的有效性和申请单是否填写的正确,如果有误则拒绝,如果无误则根据学生的注册情况审查接收学生的申请要求。如果是申请注册,则进行注册登记;如果是申请选课,则先查询课程档案是否有满足申请要求的课程,如果有则进行选课登记,如果没有则通知学生无此课。
要求:用面向对象方法学对该系统进行分析与设计,分别完成以下工作:
(1) 给出教学管理系统的用例模型,并对主要用例进行简单说明。(10分)
(2) 给出教学管理系统中所涉及到的主要类。(10分)
(3) 给出教学管理系统的类图。(10分)
(4) 给出教学管理系统中注册的顺序图。(10分)
参考答案:
审查
接受
申请
注册登记
登记选课
包 含
包 含
1).用例图(10分)(基本给出用例模型5分,给出用例说明再5分,其他酌情给分)
学 生
注册登记:每学期开学注册时间执行该用例,执行前必须先完成学生审查和接受申请的过程。
登记选课:审查和接受申请的过程后,实现学生每学期的选课。
2).主要类:课程,选课单,学生,注册记录,本科课程,本科生等。(10分)
3.)类图如下:(10分)
选课单
学号
姓名
课程号
课程名
选课学期
填写
接受
登记
课程
课程号
课程名
学分
开课日期
开课系
任课教师
检索
本科课程
是否必修课
研究生课程
是否学位课
注册记录
学号
姓名
注册日期
审查
登记
学生
学号
姓名
性别
系别
专业
入学日期
读入
验证
修改
本科生
班级
研究生
导师
类型
研究方向
0,m 1
填写1 拥有 0,m
0,m 1
4.)注册顺序图如下:(5分)
:学生
:注册界面
:注册记录
登 录
审 查
审查合格(注册)
登记注册
7. 下面是自动售货机系统的需求陈述,试建立它的对象模型、动态模型和功能模型:
自动售货机系统是一种无人售货系统。售货时,顾客把硬币投入机器的投币口中,机器检查硬币的大小、重量、厚度及边缘类型。有效的硬币是一元币、五角币、五分币、二分币、一分币。其他货币被认为是假币。机器拒绝接受假币,并将其从退币孔退出。当机器接受了有效的硬币之后,就把硬币送入硬币储藏器中。顾客支付的货币根据硬币的面值进行累加。
自动售货机装有货物分配器。每个货物分配器中包含零个或多个价格相同的货物。顾客通过选择货物分配器来选择货物。如果货物分配器中有货物,而且顾客支付的货币值不小于该货物的价格,货物将被分配到货物传送孔送给顾客,并将适当的零钱返还到退币孔。如果分配器是空的,则和顾客支付的货币值相等的硬币将被送回到退币孔。如果顾客支付的货币值少于所选择的分配器中货物的价格,机器将等待顾客投进更多的货币。如果顾客决定不买所选择的货物,他投放进的货币将从退币孔中退出。
参考答案:
(1)类图
(2)活动图
8. 有一房地产销售管理系统,主要功能有房源查询、房源预定、房源签约、退房操作、换房操作、房款管理、销售统计、房款统计,销售人员主要进行房源的销售操作,财务人员负责房款的收取,销售主管能够及时汇总销售情况和房款收取情况。
1)请画出房地产管理系统的UML用例图。
2)对于一套房源,有三种状态:待售状态、预定状态、已售状态,请用UML状态图给出房源的状态变迁情况,并用文字简单说明。
3)采用面向对象的设计思想,试给出该系统应该包含的主要类,并做简单说明。
参考答案:
(1) 用例图
(2) 状态图
(3) 类图(略)
9. 某银行系统的需求概述如下:
某银行系统为该行的客户提供以下业务:存款、取款、转账和查询。拥有该行账户的客户可以利用该银行系统实现各种银行业务,如客户可以存款,也可以取款,或者将存款从一个账户转到另一个账户。客户还可以随时查询自己账户的情况,并查询以前所进行的存款、取款等交易记录。客户也有权利要求关闭账户。
由上述描述可知这个简化的银行系统至少应该具有如下功能:
l 客户可以取款
l 客户可以存款
l 客户可以在不同的账户之间转账
l 客户可以查询自己账户的余额
l 银行职员负责系统的维护
附: 银行系统的”取款”用例的描述
主事件流:
当客户(Customer)想从自己的账户中取钱时,要向银行职员(Clerk)提交取款单,“取款”用例启动。
(1) 系统提示输入用户信息,进行帐户有效性的验证
(2) 客户输入有关帐户的信息(帐户信息、密码等)
(3) 系统确认账户的有效性。A1:账户验证不合法
(4) 系统提示进行取款交易
(5) 客户按照系统提示进行取款交易(交易类型,交易金额)。A2:账户余额不足
(6) 系统建立取款事件记录,并更新账户的相关信息
(7) 用例结束
扩展事件流:
A1:账户验证不合法
若账户不存在或无效,显示提示信息,用户可以重新输入或终止该用例。。
A2:账户余额不足
账户中的存款金额不足,显示提示信息,用户可以重新输入金额或终止该用例。
要求:用面向对象方法学对银行系统进行分析与设计,分别完成以下工作:
(1) 画出银行系统的用例图
(2) 画出银行所在的银行系统的类图
(3) 画出银行取款顺序图(时序图)
(4) 画出银行取款活动图
参考答案:
1.用例图
2. 类与对象模型
3.“取款”用例的顺序图
4. “取款”用例的活动图
10. 需求陈述:
某银行系统为该行的客户提供以下业务:存款、取款、转账和查询。拥有该行账户的客户可以利用该银行系统实现各种银行业务,如客户可以存款,也可以取款,或者将存款从一个账户转到另一个账户。客户还可以随时查询自己账户的情况,并查询以前所进行的存款、取款等交易记录。客户也有权利要求关闭账户。
由上述描述可知这个简化的银行系统至少应该具有如下功能:
l 客户可以取款
l 客户可以存款
l 客户可以在不同的账户之间转账
l 客户可以查询自己账户的余额
l 银行职员负责系统的维护
附:
银行系统的”存款”用例的描述。
主事件流:
当客户(Customer)想向自己的账户中存钱时,要向银行职员(Clerk)提交存款单和现金,“存款”用例启动。
(1)系统提示Clerk输入用户姓名、用户的id号、账号和所存款项的金额。
(2)Clerk输入相关信息后提交,系统确认账户是否存在并有效(当用户名、用户id与账户的户主信息一致,且账户处于非冻结状态时,账户有效。否则转E-1。
(3)客户按照系统提示进行存款交易(交易类型,交易金额)。
(4)系统建立存款事件记录,并更新账户的相关信息。
(5)用例结束
扩展事件流:
E-1:账户不存在或无效,显示提示信息,用户可以重新输入或终止该用例。
要求:用面向对象方法学对该系统进行分析与设计,分别完成以下工作:
1) 给出银行系统的用例模型
2)给出银行系统的类图
3)给出存款用例的顺序图
4)给出存款用例的活动图
参考答案:
1.用例图
2. 类与对象模型
3.“存款”用例的顺序图
4.“存款”用例的活动图
6、客户开立账户序列图和协作图
客户开立新账户的基本工作流程如下:
(1)客户向银行职员提出开立账户要求。
(2)银行职员在系统主界面请求创建账户操作,系统创建账户界面。
(3)银行职员添加账户信息后,提交至账户类。
(4)账户类确认数据库是否已存在该客户的账户。如不存在,则创建新客户对象。
(5)然后将客户信息保存到数据库中。
8、客户修改账户信息序列图和协作图
客户修改账户信息的工作流程如下:
(1)客户向银行职员提出修改账户信息的要求。
(2)银行职员在系统主界面请求查询账户操作,系统创建查询界面。
(3)银行职员在查询界面提交账号,从账户类中获得指定账户的信息,同时系统创建账户界面。
(4)银行职员修改账户信息后,提交给账户界面。
(5)账户界面发送消息更新数据库中客户的信息,同时更新账户信息。
9、银行账户状态图
在银行系统中,有明确状态转换的类是账户。账户包含以下三种状态:被创建的新账户、被修改后账户、睡眠账户和被删除的账户。它们之间的转化规则是:
(1)客户开立账户时,新的账户被创建。
(2)客户要求变更原有账户信息时,账户内容被改变。
(3)账户长期未使用,银行将其定义为睡眠账户的状态。
(4) 客户注销账户,账户被删除。
14、创建账户活动图
创建账户的活动图,需要创建二个泳道,分别是银行职员对象和系统对象,具体的活动过程描述如下:
(1)系统提示输入用户的相关信息和存款金额。
(2)银行职员输入相关信息后提交。
(3)系统为客户创建账户,并将账户信息保存到数据库。
15、客户修改账户活动图
客户修改账户的活动图,我们创建了二个泳道,分别是银行职员对象和系统对象,具体的活动过程描述如下:
(1)系统提示输入用户的账号。
(2)银行职员输入账号后提交。系统查询账户信息并显示。
(3)银行职员修改账户信息后提交,系统更改账户信息。
11. 下面是某选课系统的子功能“添加课程”用例的事件流。
主事件流:
(1) 管理员选择进入管理界面,用例开始。
(2) 系统提示输入管理员密码。
(3) 管理员输入密码。
(4) 系统验证密码。
A1:密码错误
(5) 进入管理界面,系统显示目前所建立的全部课程信息。
(6) 管理员选择添加课程。
(7) 系统提示输入新课程信息。
(8) 管理员输入信息。
(9) 系统验证是否和已有课程冲突。
A2:有冲突
(10) 系统添加新课程,提示课程添加成功。
(11) 系统重新进入管理主界面,显示所有课程。
(12) 用例结束。
扩展事件流:
A1:密码错误
(1) 系统提示再次输入。
(2) 用户确认。
(3) 三次错误,拒绝再次访问。
(4) 否则进入添加课程事件流第5步。
A2:有冲突
(1) 系统提示冲突,显示冲突课程信息。
(2) 用户重新输入。
(3) 继续验证直到无冲突。
(4) 进入添加课程事件流第10步。
用面向对象的开发技术分析上述用例,回答下面的问题。
(1) 给出该用例的活动图
(2) 给出该系统的类图
(3) 针对用例中涉及的主要类“Course(课程类)”,建立该类的状态图
(4) 给出“添加课程”用例的顺序图
参考答案:
(1)活动图
(2)类图
(3)状态图
(4)顺序图
12. 需求陈述:
银行与我们的生活息息相关。它为每一个人提供了一系列的金融服务。实际生活中的银行业务功能及其复杂,这里所介绍的银行系统只涉及银行中最基本的功能。
本银行系统的功能性需求包括以下内容:
(1)客户可以在银行开立一个或多个账户。
(2)客户能够将钱款存入已经开立的账号中。
(3)客户可从自己的账户中进行提款。
(4)客户能够将账户中的存款转账至另一个账户。
(5)客户可以随时查询自己账户的情况包括以前进行的存款、取款等的交易记录。
(6)客户也有权利要求取消账户。
经过分析系统拥有:
银行职员用例能够通过该系统进行如下活动:
(1)登录银行系统。银行职员在登录系统时,必须通过系统的身份验证才能进入银行系统主界面进行下一步的操作。
(2)对客户的账户进行管理,包括为客户创建新的账户、修改账户信息和删除账户。
客户与银行职员之间是依赖的关系,客户必须依赖于职员才能完成各种用例。银行职员作为客户的代理完成与用例的交互。客户用例能完成的具体功能如下。
(1)存款。用户通过银行职员将钱款存入的自己的账户中。
(2)取款。用户通过银行职员从自己的账户中将钱款取出。
(3)转账。用户通过银行职员将一个账户中的钱款转至其他的账户。由于转账既可以在同一银行之间进行,也可以在不同的银行之间进行,因此这里用了二个用例,使用本行转账和跨行转账来描述。本行转账和跨行转账是转账的子用例,它们之间是继承的关系。
13. 需求陈述:
网上选课系统是一个高等院校用来进行对学生选修课程管理的管理信息系统(MIS)。该信息系统能够为学生提供方便的选课功能,也能够提高高等院校对学生和教学管理的效率。网上选课系统的功能性需求包括以下内容:
(1)系统管理员负责系统的管理维护工作,维护工作包括课程的添加、删除和修改,对学生基本信息的添加、修改、查询和删除。
(2)学生通过客户机浏览器根据学号和密码进入选课界面,在这里学生可以进行查询已选课程、指定自己的选修课程以及对自己基本信息的查询。
满足上述需求的系统主要包括以下几个小的系统模块:
(1)基本业务处理模块。基本业务处理模块主要用于实现学生通过合法认证登录到该系统中进行网上课程的选择和确定。
(2)信息查询模块。信息查询模块主要用于实现学生对选课信息的查询和自身信息的查询。
(3)系统维护模块。系统维护模块主要用于实现系统管理员对系统的管理和对数据库的维护,系统的管理包括学生信息、课程信息等信息的维护。数据库的维护包括数据库的备份、恢复等数据库管理操作。
学生用例能够通过该系统进行如下活动:
(1)查询选课信息。学生可以在查询界面了解可供自己选择的各门课程的详细信息。
(2)登录选课系统。学生能够根据自己的学号和密码登录选课系统,如果身份验证失败,不得进行下一步操作。如果通过身份验证才能进入下一个操作界面。
(3)选择所修课程。在选择课程的界面选择自己要选修的课程并确认提交。
(4)查询个人信息。可以通过查询界面查询本人的基本信息。
系统管理员用例能够通过该系统进行如下活动:
(1)登录选课系统。系统管理员使用账号和登录密码登陆系统进行本系统的管理和维护工作。
(2)添加学生信息。将新入校的新生的个人基本信息录入到本系统,在数据库中保存。
(3)修改学生信息。对于个人基本信息发生变化的学生,修改数据库中相关学生的个人基本信息并保存。
(4)删除学生信息。将不需要再保存的学生个人基本信息从数据库中删除。
(5)查询学生信息。根据学生的学号和姓名对在校学生的个人基本信息进行相关的查询。
(6)添加选修课程。将新的课程添加到选课系统并保存到数据库。
(7)修改选修课程。对数据库中原有的课程信息进行修改并保存到数据库中。
(8)删除选修课程。将不再开设的选修课程从数据库中删除。
根据系统需求,创建静态系统类图。我们可以识别系统中存在的主要实体类:系统管理员,学生,课程。
界面类:Form。
学生登录选课系统的用例:
(1)学生希望通过网上选课系统进行某一项操作。
(2)学生登录系统,在登录页面LoginFrame输入自己的用户名和密码并提交。
(3)系统将学生提交的用户名和密码传递到的Control类中检查用户合法身份的方法中。该方法将用户信息与数据库中的用户信息进行比较,检查用户信息中是否存在此学生的信息。
(5)检查完毕后将验证结果返回到登录界面显示。
(6)学生在登录界面获得验证结果。
登录系统的顺序图和协作图如下:
学生查询课程的流程:
(1)学生进入查询课程界面Form,发送查询选修课程的请求。
(2)界面Form向控制对象Control请求课程信息,控制对象到数据库查询课程信息。
(3)选课界面对象从控制对象中取得所查询得到的课程对象信息Course。并返回到选课界面上显示所有的课程信息。
(4)学生从Form中获得课程信息。
3、学生选课用例工作流程
1)学生进入选择选修课程界面SelectFom,并在界面中确定选修的课程并提交请求。
(2)选修课程界面SelectFom将学生所选课程的信息传递到控制对象Control,控制对象将课程信息与数据库中的课程信息比较,判断是否可以选课。
(3)如果可以,执行选课操作,将选课结果保存到数据库中。
(4)控制对象返回选课成功信息到选课界面SelectFormo。
(5)学生从界面得到选课成功的信息。
4、学生查询个人信息
(1)学生进入查询个人信息界面QueryForm,并在界面中提交查询请求。
(2)界面QueryFom将学生查询的信息传递到控制对象Control。
(3)控制对象从数据库中得到所查询的个人信息。
(4)控制对象Control将得到的信息返回到界面QueryForm并显示。
(5)学生从QueryForm获得自己想要的个人信息。
5、系统管理员登录选课系统的工作流程
(1)系统管理员希望通过网上选课系统进行某一项操作。
(2)系统管理员登录系统,在登录页面LoginFrame输入自己的用户名和密码并提交。
(3)系统将系统管理员提交的用户名和密码传递到的Control类中检查用户合法身份。将用户信息与数据库中的用户信息进行比较,检查用户信息中是否存在此管理员的信息。
(5)检查完毕后将验证结果返回到登录界面显示。
(6)系统管理员在登录界面获得验证结果。如果身份验证未通过,重新登录或退出。否则,继续选择下一步的操作。
6、系统管理员添加选修课程作流程
(1)系统管理员进入添加课程界面AddForm,并在界面中提交添加课程的信息。
(2)界面AddForm将管理员提交的课程信息传递给控制对象Control.
(3)控制对象向数据库查询课程相关信息并对查询结果进行判断。
(4)控制对象Control.向数据库中插入新选修课程的数据。
(5)控制对象将添加课程成功的信息返回界面AddForm。
(6)系统管理员在界面AddForm获得添加课程成功的信息。
展开阅读全文
淘文阁 - 分享文档赚钱的网站所有资源均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。