实验四 面向对象分析与设计——UML类图与时序图

该文详细介绍了面向对象分析的实验,包括理解静态结构模型和动态行为模型,应用UML绘制类图和时序图。在图书管理系统中,识别了Reader、Book、ReaderType和Record等实体类及其属性和关系。另外,通过描述ATM取款过程,展示了对象间交互的时序图绘制过程。
摘要由CSDN通过智能技术生成

一、实验目的:

掌握面向对象分析中静态结构模型与动态行为模型的基本思想。学会识别系统中的类、类的属性和操作以及类之间的关系,掌握UML类图的绘制方法。了解时序图的作用和组成元素,掌握UML时序图的绘制方法。

二、实验仪器及实验环境:

计算机,Windows 7,MS Office Visio

三、实验原理:

    面向对象分析方法中的静态结构模型与动态行为模型。

四、实验内容及结果:

1、根据实验三中某图书管理系统的问题域描述以及所创建的用例模型,从静态结构模型的角度来分析识别系统中可能存在的实体类、类的属性,以及类之间的关系,并绘制类图。

(1)在图书管理系统中,列举出主要的实体类,明确各个类的作用(职责),并列举出类中的一些主要属性:

实体类名称

属性

Reader读者

r_id:借阅账号

r_name:读者姓名

r_type_id:(通过id来判断读者属于哪个类别)

读者类别编号

r_quantity:读者借阅的数量

r_tel:读者联系方式

Book图书

b_id:图书编号

b_name:图书的名称

bt_id:图书的类别

b_publisher:图书的出版社

b_author:图书的作者

b_isbn:图书的ISBN号

b_price:图书单价

b_status:图书的借阅状态(在馆或借出)

ReaderType读者类别

rt_id:读者类别编号

rt_name:读者类别名称

rt_maxquantity:该类读者允许借阅的最大数量

rt_maxdays:该类读者允许的最多借阅天数

rt_fineperday:该类读者图书超期罚款每天缴纳金额

BookType图书类别

bt_id:图书类别编号

bt_name:图书类别名称

Record借阅记录

record_id:借阅记录编号

r_id:借阅账号

b_id:图书编号

outDate:图书借出日期

(2)识别以上实体类之间的关系,绘制类图:

 

2、绘制时序图:

储户使用银行ATM系统进行取款操作:从储户插入银行卡开始,按照提示输入密码,然后选择“取款”,输入取款数额,最后提出现金,退卡。ATM取款看起来是很简单的事情,但是整个过程中各个对象之间要涉及到一系列的消息通信。这里以储户使用ATM系统“取款”为例,以下给出了“取款”的场景描述:

  • 1储户将银行卡插入ATM系统的读卡机insertCard();
  • 2读卡机将信息传给客户管理acceptCard();
  • 3客户管理提出查询密码checkPass();
  • 4显示屏显示给储户需要输入密码inputPassRequest();
  • 5储户输入设备输入密码inputPass();
  • 6输入设备将输入的密码传递给客户管理transPass();
  • 7客户管理请求事务管理确认密码的合法性requestPassLegal();
  • 8事务管理确认密码的合法性(消息返回)返给客户管理PassLegal();
  • 9客户管理通过显示屏询问服务类别queryKind();
  • 10显示屏要求储户输入服务类别请求showServiceRequest();
  • 11储户输入(输入设备)取款请求inputTakeRequest();
  • 12输入设备客户管理发出取款请求takeRequest();
  • 13客户管理提出(显示屏)取款金额queryMoney();
  • 14显示屏储户发出取款数额请求showMoneyRequest();
  • 15储户输入(输入设备)取款数额inputMoney();
  • 16输入设备将储户输入的数额传递给客户管理transMoney();
  • 17客户管理确认取款数额返回给显示屏queryOK();
  • 18显示屏呈现给储户确认信息showOKRequest();
  • 19储户输入确认信息给输入设备inputOK();
  • 20输入设备将确认信息传递给客户管理OKInformation();
  • 21客户管理请求事务管理确认数额的合法性requestMoneyLegal();
  • 22事务管理确认数额的合法性返回给客户管理moneyLegal();
  • 23事务管理点钞机发出出钞请求requestTake();
  • 24点钞机出钞票outMoney();(点钞机自己向自己发出消息请求,消息调用)
  • 25储户取出钞票takeMoney();(点钞机储户发出)
  • 退卡outCard();
  • 26储户向输入设备:输入一个退卡请求inputoutcardrequest()
  • 27输入设备发送给客户管理outcardrequest()
  • 28客户管理向读卡机outcardrequest()
  • 29读卡机出卡(读卡自己向自己发出消息请求,消息调用)outcard()
  • 30读卡机向储户(读卡机提醒储户取卡)takecard()

在以上的“取款”场景中涉及到以下对象:“储户”、“读卡机”、“显示屏”、“输入设备”、“客户管理”、“点钞机”、“事务管理”。它们之间通过消息传递,使功能正常运行,绘制其时序图:

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值