当前位置: 首页 > article >正文

UML 建模实验

文章目录

  • 实验一 用例图
    • 一、安装并熟悉软件EnterpriseArchitect16
    • 二、用例图建模
  • 实验二 类图、包图、对象图
    • 类图
      • 第一题
      • 第二题
    • 包图
    • 对象图
      • 第一题
      • 第二题
  • 实验三 顺序图、通信图
    • 顺序图
      • 银行系统
      • 学生指纹考勤系统
      • 饮料自动销售系统
        • “买到饮料”
        • “饮料已售完”
        • “无法找零”
        • 完整版
    • 通信图
  • 实验四 状态机图、活动图
    • 状态机图
    • 活动图


实验一 用例图

一、安装并熟悉软件EnterpriseArchitect16

安装软件可参考本文:《Enterprise Architect 16 下载、安装与无限30天操作》。

二、用例图建模

1.某个学生成绩管理系统的部分参与者和用例总结如下。

教务管理人员:

  1. 登录系统。
  2. 教师、学生名单管理
  3. 学期教学计划管理
  4. 成绩管理
  5. 课程分配,每次课程分配时都必须打印任课通知书

学生:

  1. 登录系统
  2. 选课。

教师:

  1. 登录系统
  2. 成绩管理,并且可以选择是否生成成绩单

请根据以上信息画出该系统的用例图。

在这里插入图片描述

2.某银行储蓄系统需求说明如下:

  1. 开户。客户可填写开立账户申请表,然后交由工作人员验证并输入系统。系统会建立账户记录,并会提示客户设置密码(若客户没做设置,则会有一个默认密码) 。如果开户成功,系统会打印一本存折给客户。
  2. 密码设置。在开户时客户即可设置密码。此后,客户在经过身份验证后,还可修改密码。
  3. 存款。客户可填写存款单,然后交由工作人员验证并输入系统。系统将建立存款记录,并在存折上打印该笔存款记录。
  4. 取款,客户可按存款记录深笔取款,由客户填写取款单,然后交由工作人员验证并输入系统。系统首先会验证客户身份,根据客户的账户,密码,对客户身份进行验证,如果客户身份验证通过,则系统将根据存款记录累计利息,然后注销该笔存款,并在存折上打印该笔存款的注销与利息累计。

请根据以上信息绘制出系统的用例图.

在这里插入图片描述

实验二 类图、包图、对象图

类图

第一题

图书管理系统功能性需求说明如下:
1.图书管理系统能够为一定数量的借阅者提供服务。每个借阅者能够拥有唯一标识其存在的编号。图书馆向每一个借阅者发放图书证,其中包含每一个借阅者的编号和个人信息。提供的服务包括:提供查询图书信息、查询个人信息服务和预定图书服务等。

2.当借阅者需要借说图书、归还书籍时需要通过图书管理员进行,即借阅者不直接与系统交互,而是通过图书管理员充当借阅者的代理和系统交互。

3.系统管理员主要负责系统的管理维护工作,包括对图书、书目、借阅者的添加、删除和修改。并且能够查询借阅者、图书和图书管理员的信息。

4.可以通过图书的名称或图书的ISBN/ISSN号对图书进行查找。
确定该系统中的类,找出类之间的关系并画出类图。
在这里插入图片描述

第二题

根据下面的用例图设计相关类图。
在这里插入图片描述

在这里插入图片描述

包图

在某系统中存在三个逻辑部分,分别是Business包、DataAccess包和Common包,其中Business包需要导入DataAccess包和Common包,DataAccess包需要导入Common包。在类图中试着创建这些包,并绘制其关系。
在这里插入图片描述

对象图

第一题

对于Vehicle (车) 类和Wheel (轮子) 类,存在一个 对多的关联关系。试创建一个Vehicle类的一轮车对象,与一个轮子对象存在链,有一个前轮和两个后轮。用对象图表示一轮车对象与轮了对象之间的关系。
在这里插入图片描述

第二题

在某出版系统中,存在出版社、图书、作者三个实体类。试对一图书对象创建对象图并在图中表示出其与出版社对象及作者对象之间的关系。
在这里插入图片描述

实验三 顺序图、通信图

顺序图

银行系统

某银行系统的取款用例执行顺序如下:工作人员输人取款单,输人后,银行系统请求银行数据库匹配用户,进行身份验证,验证通过后,数据库注销相应存款,返回注销完成信息,银行系统在存折上打印取款记录。
请根据以上信息绘制顺序图。
在这里插入图片描述

学生指纹考勤系统

在某一学生指纹考勤系统中,有一个用例名为“上课登记”。此用例允许学生在上课前使用系统识别自己的指纹信息进而识别自己的身份,同时系统可以将登录信息存储在数据库中。
“上课登记”用例的主要事件流如下:
● 学生从系统菜单中选择“上课登记”;
● 系统显示指纹识别界面;
● 学生将手指放置于界面上;
● 系统捕获并识别学生的指纹,向学生返回识别的身份信息;
● 学生选择“确认”按钮;
● 系统生成一个关于该登记学生及当前日期、时间的新记录,并将该记录保存到数据库中。
请根据以上描述绘制“上课登记”用例的顺序图。

在这里插入图片描述

饮料自动销售系统

在饮料自动销售系统中,顾客选择想要的饮料。系统提示需要投入的金额,顾客从机器的前端钱币口投入钱币,钱币到达钱币记录仪,记录仪更新自己的选择。正常时记录仪通知分配器分发饮料到机器前端,但可能饮料已售完,也可能用完了找给顾客的零钱而无法销售饮料。先写出“买到饮料”的场景、“饮料已售完”的场景以及“机器没有合适的零钱”的场景,然后根据场景,用UML分别表示出“买到饮料”“饮料已售完”以及“无法找零”的顺序图。

“买到饮料”

在这里插入图片描述

“饮料已售完”

在这里插入图片描述

“无法找零”

在这里插入图片描述

完整版

在这里插入图片描述

通信图

(1)某银行系统存款处理过程如下:
① 系统将存款单上的存款金额分别记录在存折和账目文件中。
②将现金存人现金库。
③ 最后将打印后的存折还给储户。
请分析此交互过程所涉及的系统对象,并结合存款处理流程绘制通信图。
在这里插入图片描述

(2)对于某在线购物系统,主要有以下三个交互过程。
① 登录:用户申请登录系统,系统验证用户身份的有效性。
② 购物:用户浏览系统的搜索页面,搜索到目标商品,并将之添加到购物车。
③ 结算:用户结算购物车内的所有商品,更新库存并创建订单。
绘制通信图来表示这三个交互过程。
在这里插入图片描述

(3)在饮料自动销售系统中,顾客选择想要的饮料。系统提示需要投入的金额,顾客从机器的前端钱币口投入钱币,钱币到达钱币记录仪,记录仪更新自己的选择。记录仪通知分配器分发饮料到机器前端。根据场景,用UML分别表示出“买到饮料”这一操作的通信图。

在这里插入图片描述

实验四 状态机图、活动图

状态机图

(1)医院拟引入一款患者监护系统。基本要求是随时接收每个病人的生理信号(脉搏、体温、血压、心电图等),定时记录病人情况,以形成患者日志。当某个病人的生理信号超出医生规定的安全范围时,向值班护士发出警告信息。此外,护士在需要时还可以要求系统打印出某个指定病人的病情报告。
请根据以上描述,绘制患者监护系统的状态机图。
在这里插入图片描述

(2)当手机开机时,它处于空闲状态,当用户使用电话呼叫某人时,手机进入拨号状态。如果呼叫成功,即电话接通,手机就处于通话状态;如果呼叫不成功,例如对方线路有问题或关机,则拒绝接听。这时手机停止呼叫,重新进入空闲状态,手机在空闲状态下被呼叫,手机进入响铃状态(ringing);如果用户接听电话(pick),手机处于通话状态;如果用户未做出任何反应,可能他没有听见铃声,手机一直处于响铃状态;如果用户拒绝来电,手机回到空
闲状态。请按以上描述绘制出使用手机的状态机图。
在这里插入图片描述

(3)简单的数字手表表面上有一个显示屏和两个设置按钮A和B,有两种操作模式:
显示时间和设定时间。在显示时间模式下,手表会显示小时数和分钟数,小时数和分钟数由闪烁的冒号分隔。设定时间模式有两种子模式:设定小时和设定分钟。按钮A选择模式,每次按下此按钮时,模式会连续前进:设定小时、设定分钟等。在子模式内,每次只要按下按钮B,就会拨快小时或分钟。绘制一个数字手表的状态机图。
在这里插入图片描述

活动图

(1)某学生选课系统的查询课程用例如下:学生首先进入选课系统,然后输入要查询的课程名,系统验证输入的课程名是否存在,若存在,则跳转到对应的显示课程信息的页面;若不存在,则给出提示信息,返回选课页面。
请根据以上描述绘制活动图。
在这里插入图片描述

(2)在机票预订系统中,使用系统的用户必须先注册一个自己的账号,其过程为输人注册信息、验证信息完整、提交信息、系统进行验证(是否重名,等等),如果验证均通过,则注册成功,否则失败。
请根据以上描述,对用户注册用例画出活动图。
在这里插入图片描述

(3)在某在线购物系统中,用户首先搜索商品,进入商品详情页,可以将商品加入购物车。用户可以多次重复这一步骤直至购物结束。购物结束后进入购物车页面,用户付款后,生成购物订单。对于订单中的每个商品,购物系统应当通知对应的商家进行发货。
请根据以上描述绘制用户购物的活动图。
在这里插入图片描述


http://www.kler.cn/a/450796.html

相关文章:

  • 对文件内的文件名生成目录,方便查阅
  • kubeadm搭建k8s集群
  • 软件测试之测试用例
  • 数据库系统原理:数据恢复与备份策略
  • 记录一个SVR学习
  • 用python ollama qwen2.5 开发一个AI修仙游戏
  • 全国硕士研究生入学考试(考研)择校择专业之择校主要因素
  • 【开源】一款基于Vue3 + WebRTC + Node + SRS + FFmpeg搭建的直播间项目
  • 【AI日记】24.12.24 kaggle 比赛 2-12
  • 计算机毕业设计PySpark+Hadoop中国城市交通分析与预测 Python交通预测 Python交通可视化 客流量预测 交通大数据 机器学习 深度学习
  • 【GIS教程】使用GDAL实现栅格转矢量(GeoJSON、Shapefile)- 附完整代码
  • 中职计算机网络技术理实一体化实训室建设方案
  • 把一个Vue项目的页面打包后再另一个项目中使用
  • 怎样配备公共配套设施,才能让啤酒酿造流程高效环保?
  • 【Python】理解Python的__slots__:节省内存和提升性能
  • 【机器学习案列】使用随机森林(RF)进行白葡萄酒质量预测
  • 高级技术文章:使用 Kotlin 和 Unirest 构建高效的 Facebook 图像爬虫
  • Docker Build 命令详解:在 Ubuntu 上构建 Docker 镜像教程
  • 【教程】第十一章 子任务 工时——化繁为简
  • 【es6复习笔记】Spread 扩展运算符(8)
  • STM32 高级 谈一下IPV4/默认网关/子网掩码/DNS服务器/MAC
  • 电脑文件wlanapi.dll有什么用?找不到wlanapi.dll文件四种详细解决方法
  • 结合实例从HCI层分析经典蓝牙连接和配对过程
  • cursor保存更改操作技巧
  • MimicBrush:智能图像编辑新宠,能否革新你的创意设计?
  • Unity-URP设置单独渲染UI相机