大二打卡(12.20)
uml作业:
逻辑视图建模:
[系统边界类与系统控制类]
系统边界类主要是指系统与用户交互界面有关的类。身份识别门禁子系统中涉及与用户交互的界面类有3个:
(1) 待机界面类:
在镜头前没有人脸需要识别时,待机暂停图像信息的录入与识别。
(2) 人脸面部信息录入窗口类:
开启摄像头的信息录入功能,并实时反映摄像头拍摄到的画面,如果被识别人员面部信息不全无法识别则进行提醒,识别成功后给予对应通过绿灯提示。
(3) 校方操作员管理窗口类:
负责相关信息的录入,并在系统运营期,根据需要对系统内信息进行删除、修改、查询等业务,并将相关信息调用给需要的其余子系统。
系统边界类主要是指系统与用户交互界面有关的类。充值消费子系统中涉及与用户交互的界面类有4个:
(1) 充值窗口类:身份认证登陆成功后,在此界面输入充值金额、选择充值方式、输入支付密码后进行充值。
(2) 消费窗口类:校内商户根据用户所购商品,在界面给出对应金额,用户将校园卡与机器接触进行交互,实现消费业务
(3) 账户查询窗口类:校内商户和学生等用户可在此界面查询账户的充值消费记录,每月和每年的账单。
(4) 提现窗口类:校内商户向操作员发送申请,申请内容包括提现金额大小,提现时间,提现方式,银行账户等,操作员进行审批。
系统边界类主要是指系统与用户交互界面有关的类。校方卡片授权管理系统中涉及与用户交互的界面类有2个:
(1) 审批窗口类:用户的申请信息浏览、查询、批准与否决
(2) 数据库页面:对校内人员的信息进行增删改查等操作。
(2)、采用 CRC 卡片标识对象类及其属性、操作
[类的属性与操作]
在身份识别门禁子系统中筛选出4个实体类,。针对这4 个实体类,我们借助 CRC 卡片分析这些对象类的属性和操作,我们可以得到如下类的详细描述如下:
人脸信息:
属性:人脸ID、姓名、身份证号、照片等
方法:比对人脸信息,识别身份等。
门禁门锁:
属性:门禁ID、门锁ID、状态(开启/关闭)等
方法:获得人员的人脸信息并进行身份识别,如果识别成功则开启门禁门锁,否则保持上锁状态。
考勤打卡:
属性:打卡ID、人员ID、打卡时间、状态(已签到/未签到)等
方法:捕获摄像头中的人脸信息并进行身份识别,如果识别成功则在打卡或签到表上留下“已签到”等信息记录。
会议签到:
属性:签到ID、人员ID、会议名称、签到时间等
方法:与考勤打卡类似,捕获摄像头中的人脸信息并进行身份识别,如果识别成功则进行会议签到。
在充值消费子系统中筛选出6个实体类,。针对这6 个实体类,我们借助 CRC 卡片分析这些对象类的属性和操作,我们可以得到如下类的详细描述如下:
用户:
属性:用户ID、姓名、账户信息、密码、个人联系方式等
方法:提交充值申请、查询账户余额、查询交易记录等
校内商户:
属性:商户ID、商户名称、账户信息、提现记录等
方法:发起提现申请、查询账户信息、查询提现记录等
数据库:
属性:卡片信息数据库、交易记录数据库等
方法:验证用户身份和账户信息、获取校园卡相关信息、处理提现申请等
机器:
属性:机器ID、位置信息等
方法:与用户校园卡进行交互、调用校方卡片授权信息管理系统等
校方操作员:
属性:操作员ID、姓名、权限等
方法:审批提现申请、导入金额到指定路径等
银行:
属性:银行接口配置、交易记录等
方法:存款功能,将对应金额导入银行账户内等。
在校方卡片授权信息管理子系统中筛选出3个实体类,。针对这3个实体类,我们借助 CRC 卡片分析这些对象类的属性和操作,我们可以得到如下类的详细描述如下:
申请:
属性:申请ID、申请类型、申请内容、申请状态等
方法:发送给校方卡片授权信息管理系统、等待审批结果等
校内人员:
属性:人员ID、姓名、职务、联系方式等
方法:进行基本信息的批准、认证和添加业务,接收其余系统的调用信息的请求,开放相关信息,进行删除、修改、查询等操作。
校方操作员:
属性:操作员ID、姓名、权限等
方法:对请求进行审批,执行请求等。
[类的 UML 图符表示]
User //用户类 |
《属性描述》 -UserID:String //学生学号或者教师工号 -UserName:String //用户姓名 -UserSex:String //用户性别 -UserFace:String //用户面部信息 -UserCard:String //用户卡内信息 -UserMajor:String //用户主修或职务或商铺 |
《操作描述》 +addUser() //增加用户信息 +amendUser() //编辑修改用户信息 +deleteUser() //删除用户信息 +getUser() //查询用户信息 +showUser() //显示用户信息 +printUser() //打印用户信息 |
用户类的图符表示
Student/Teacher //学生教师类 |
《属性描述》 -UserID:String //学生学号或者教师工号 -UserName:String //用户姓名 -UserSex:String //用户性别 -UserFace:String //用户面部信息 -UserCard:String //用户卡内信息 -UserMajor:String //用户主修或职务或商铺 |
《操作描述》 +shopUser() //消费行为 +MoneyIn() //充值行为 +Check() //身份认证 |
学生或教师类的图符表示
Saler //商户类 |
《属性描述》 -UserID:String //学生学号或者教师工号 -UserName:String //用户姓名 -UserSex:String //用户性别 -UserFace:String //用户面部信息 -UserCard:String //用户卡内信息 -UserMajor:String //用户主修或职务或商铺 |
《操作描述》 +MoneyOut() //提现行为 +Check() //身份认证 |
校内商户类的图符表示
Operator //操作员类 |
《属性描述》 -UserID:String //学生学号或者教师工号 -UserName:String //用户姓名 -UserSex:String //用户性别 -UserFace:String //用户面部信息 -UserCard:String //用户卡内信息 -UserMajor:String //用户主修或职务或商铺 |
《操作描述》 +addUser() //增加用户信息 +amendUser() //编辑修改用户信息 +deleteUser() //删除用户信息 +getUser() //查询用户信息 +showUser() //显示用户信息 +printUser() //打印用户信息 +agree() //申请批准行为 |
校方操作员类的图符表示
Bank //银行类 |
《属性描述》 -CountMoney //账户余额 -CountLawer //账户法人 -CountGrade //账户信誉 |
《操作描述》 +addMoney() //存款 +outMoney() //取款 |
银行类的图符表示
Equipment //设备机器类 |
《属性描述》 -EID //机器ID -Elocation //设备位置 |
《操作描述》 +InforAdd() //信息录入 +JudgeApply() //身份认证申请 +LockOper() //门锁门禁控制 +MeetingCheck() //签到行为 |
设备机器类的图符表示
(3) 对象类间继承关系建模,绘制类图
用户类与学生老师类、操作员类、商户类之间的继承关系:
(4) 对象类间语义关联关系建模,完善类图
学生教师类与商户类与操作员类之间均是多对多的关联关系:
机器设备类与商户类、学生教师类之间存在组合关系:
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 【杭电多校比赛记录】2025“钉耙编程”中国大学生算法设计春季联赛(1)