请用面向对象方法设计出对象模型(对象类图,标出多重性、角色、限定词和关系:泛化、聚集、关联)、动态模型(学生成功注册后选课的顺序图)、功能模型(用例图)三大模型。
参考答案:(1)类图
学生教师选课系统注册学生*11****课程*(2)用例图:
系统<
(3)顺序图
注册学生选项课系统课程教师选课可选课程教师开课教师是否在要求时间内开此课课程是否可以被选选课成功与否
3. 请画出一个用户使用银行ATM的状态转换图。从用户将卡插入卡槽开始,到用户取卡结束(如果用户忘记,ATM应报警),用户可以完成以下几个步骤:登录(卡片进入ATM机后,如果不是可读卡,退卡;如是,等待用户输入密码,三次错,吞卡,正确后进入主菜单),取钱(进入取钱菜单,输入金额,如果帐户余额不足,提示余额,并要求用户重新输入,如果帐上钱够,吐钱币,并询问是否打印凭证,最后返回主菜单),主菜单提供退出取卡选择。
- 11 -
卡入槽登录主菜单取款不可读卡余额不足吞币退出三次密码不对打印凭条取卡
5.用例UC1: 预定航班
………
主事件流(主成功场景):
1. 顾客向系统提交航班预订信息(出发地、目的地、出发日期和人数) 2. 系统检索满足这些条件的航班 3. 系统显示满足条件的航班信息 4. 顾客选择所要的航班
5. 系统检索该航班剩余的座位信息 6. 系统显示可预订的座位信息 7. 顾客选择所要的座位
8. 系统生成一个临时预订记录
9. 系统将顾客选择的座位状态从“未预订”修改为“已预订”
- 12 -
…………
备选事件流(扩展场景):
1a. 顾客撤销购票请求,退出用例 2a. 系统检索不到满足条件的航班
3a. 系统向用户显示没有满足条件的航班 3b.系统建议顾客返回步骤1
4a. 顾客撤销购票请求,退出用例
问题:
(1) 系统分析员认为与该用例相关的类至少有Reservation(预定 )、Seat(座位)和Flight(航班),请补充必要的类,建立对应于该用例的主成
功场景的顺序图。
(2) 请为对象Flight对象建立状态图。
用例“预订航班”的顺序图:类图:
用例“预订航班”的活动图:
系统航班座位预订 : 顾客1: 提交航班预定信息2: 检索航班信息3: 返回航班信息4: 显示航班信息5: 选择航班6: 检索航班座位信息7: 返回航班座位信息8: 显示座位信息9: 选择座位10: 生成预订11: 返回预订结果12: 显示成功
系统检索航班座位使用生成顾客查询(from Use Case View)预订
- 13 -
顾客系统提交航班预订信息检索航班信息顾客选择航班显示满足条件的航班信息检索座位信息顾客选择座位显示可预订的座位信息生成预订系统修改座位信息
航班状态图: 未预定预订已预订撤销[ 不满足顾客要求 ]退订
6. 需求陈述: 下面是-大学教学管理系统的子系统的简单说明: 首先接受学生提交的学生证和申请单,根据学生档案情况检验学生证的有效性和申请单是否填写的正确,如果有误则拒绝,如果无误则根据学生的注册情况审查接收学生的申请要求。如果是申请注册,则进行注册登记;如果是申请选课,则先查询课程档案是否有满足申请要求的课程,如果有则进行选课登记,如果没有则通知学生无此课。 要求:用面向对象方法学对该系统进行分析与设计,分别完成以下工作: (1) 给出教学管理系统的用例模型,并对主要用例进行简单说明。(10分) (2) 给出教学管理系统中所涉及到的主要类。(10分) (3) 给出教学管理系统的类图。(10分) (4) 给出教学管理系统中注册的顺序图。(10分)
参考答案: 1).用例图(10分)(基本给出用例模型5分,给出用例说明再5分,其他酌情给分)
包 含
注册登记 审查
接受
申请
包 含 登记选课
学 生
注册登记:每学期开学注册时间执行该用例,执行前必须先完成学生审查和接受申请的过程。 登记选课:审查和接受申请的过程后,实现学生每学期的选课。 2).主要类:课程,选课单,学生,注册记录,本科课程,本科生等。(10分) 3.)类图如下:(10分)
- 14 - 0,m 1 课程 选课单 学生 注册记录
课程号 学号 学号 学号
课程名 填写1 姓名姓名 拥有 0,m 姓名 学分 0,m 课程号性别 注册日期 1 开课日期 课程名 系别 审查 开课系 选课学期 专业 登记 任课教师 入学日期
检索 填写 读入
接受 验证
登记 修改
本科课程 研究生课程 本科生 研究生
是否必修课 是否学位课 班级 导师
类型
研究方向
4.)注册顺序图如下:(5分)
:学生 :注册界面 :注册记录
登 录
审 查
审查合格(注册)
登记注册
7. 下面是自动售货机系统的需求陈述,试建立它的对象模型、动态模型和功能模型:
自动售货机系统是一种无人售货系统。售货时,顾客把硬币投入机器的投币口中,机器检查硬币的大小、重量、厚度及边缘类型。有效的硬币是一元币、五角币、五分币、二分币、一分币。其他货币被认为是假币。机器拒绝接受假币,并将其从退币孔退出。当机器接受了有效的硬币之后,就把硬币送入硬币储藏器中。顾客支付的货币根据硬币的面值进行累加。
自动售货机装有货物分配器。每个货物分配器中包含零个或多个价格相同的货物。顾客通过选择货物分配器来选择货物。如果货物分配器中有货物,而且顾客支付的货币值不小于该货物的价格,货物将被分配到货物传送孔送给顾客,并将适当的零钱返还到退币孔。如果分配器是空的,则和顾客支付的货币值相等的硬币将被送回到退币孔。如果顾客支付的货币值少于所选择的分配器中货物的价格,机器将等待顾客投进更多的货币。如果顾客决定不买所选择的货物,他投放进的货币将从退币孔中退出。 参考答案: (1)类图
- 15 -