开源软件名称:快递驿站系统GUI
开源软件地址:https://gitee.com/curriculum-design/express_station_system_gui
开源软件介绍:
快递驿站系统系统功能- 包裹管理:主要包括包裹入库、包裹查询、包裹出库、库存盘点等。
- 短信发送:可以按照星期进行自动编号(取件码),实物上标记取件码(不写用户名字),按取件码顺序摆放,方便快速找。
- 快递邮寄:快递邮寄开票、快递邮寄结款、未付款查询、快递邮寄查询等。 差错记录管理:客户对已到达的包裹进行验收时,对有差错问题的包裹填写差错记录。
设计目标在实现以上业务逻辑的前提下,我们将开发两套用户界面,控制台界面用于测试业务逻辑,GUI界面提供更简洁的操作方便用户使用。因此,程序整体需要实现良好的前后端分离,后端业务逻辑模块与前端界面模块不能有耦合,考虑到快递驿站管理软件将主要在移动端使用,我们将Android作为系统的目标平台之一。 系统功能设计类设计与类结构- date(时间类),它描述一个日期,可以生成该日期的取件码
- expressBase(包裹快递基类)
- package(包裹类),描述驿站代收的快递单件
- express(快递类),描述驿站发出的快递单件
- Error(差错类),描述快递差错信息
类间关系(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 )对象作为成员,外部可对其进行设置。如果设置了差错信息,在打印快递单时也会将差错信息输出。 |
请发表评论