代码拉取完成,页面将自动刷新
在实现以上业务逻辑的前提下,我们将开发两套用户界面,控制台界面用于测试业务逻辑,GUI界面提供更简洁的操作方便用户使用。因此,程序整体需要实现良好的前后端分离,后端业务逻辑模块与前端界面模块不能有耦合,考虑到快递驿站管理软件将主要在移动端使用,我们将Android作为系统的目标平台之一。
类间关系(UML图)如下:
由于要使用户界面与业务逻辑没有耦合,业务逻辑部分首先基于面向对象思想进行抽象,用express
和package
类分别存储驿站中包裹和驿站发出快递的信息。并对其进行封装,生成简洁易用的过程式接口——静态空间dataOperation
供给前端界面调用。其中含有保存所有express
和package
对象的两个list
。下面将在这个顶层设计的基础上,解析所要实现的每个功能实现逻辑:
dataOperation
实现,它构造package
对象,存储到自己的package
容器dataOperation::allPackage
中。dataOperation
实现,它遍历dataOperation::allPackage
,逐个比对取件码,找到即返回该对象指针,找不到返回nullptr
。package
的outStock
方法实现,其置该package.isOutStock
为true
。
库存盘点:功能由静态空间dataOperation
实现,它遍历dataOperation::allPackage
,访问所有对象的isOutStock
状态,进行统计,返回已取件和未取件数量的二元组。package
构造函数中实现,通过系统日期计算当前取件码。取件码结构为“当前周数-当前星期几-当前分秒-当前在库包裹数”,取件码反应了包裹入库的时间顺序,可以按照该顺序在货架上摆放。express
的getExpressBill
方法实现,该函数返回快递单。在GUI界面中,填写邮寄信息后,会自动弹出快递单。也可以输入快递单号查询快递单。express
的pay
方法实现,其置express.isPaid
为true
。
未付款查询:功能由静态空间dataOperation
实现,它遍历dataOperation::allExpress
,将所有isPaid
属性为false
的对象指针组成一个vector
,将其返回。express
都有一个差错信息类(Error
)对象作为成员,外部可对其进行设置。如果设置了差错信息,在打印快递单时也会将差错信息输出。此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。