• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    迪恩网络公众号

快递驿站系统GUI: 跨平台GUI版本

原作者: [db:作者] 来自: 网络 收藏 邀请

开源软件名称:

快递驿站系统GUI

开源软件地址:

https://gitee.com/curriculum-design/express_station_system_gui

开源软件介绍:

快递驿站系统

系统功能

  • 包裹管理:主要包括包裹入库、包裹查询、包裹出库、库存盘点等。
  • 短信发送:可以按照星期进行自动编号(取件码),实物上标记取件码(不写用户名字),按取件码顺序摆放,方便快速找。
  • 快递邮寄:快递邮寄开票、快递邮寄结款、未付款查询、快递邮寄查询等。 差错记录管理:客户对已到达的包裹进行验收时,对有差错问题的包裹填写差错记录。

设计目标

在实现以上业务逻辑的前提下,我们将开发两套用户界面,控制台界面用于测试业务逻辑,GUI界面提供更简洁的操作方便用户使用。因此,程序整体需要实现良好的前后端分离,后端业务逻辑模块与前端界面模块不能有耦合,考虑到快递驿站管理软件将主要在移动端使用,我们将Android作为系统的目标平台之一。

系统功能设计

p1p2p3

类设计与类结构

  • date(时间类),它描述一个日期,可以生成该日期的取件码
  • expressBase(包裹快递基类)
  • package(包裹类),描述驿站代收的快递单件
  • express(快递类),描述驿站发出的快递单件
  • Error(差错类),描述快递差错信息

类间关系(UML图)如下:

uml

模块设计详解

由于要使用户界面与业务逻辑没有耦合,业务逻辑部分首先基于面向对象思想进行抽象,用expresspackage类分别存储驿站中包裹和驿站发出快递的信息。并对其进行封装,生成简洁易用的过程式接口——静态空间dataOperation供给前端界面调用。其中含有保存所有expresspackage对象的两个list。下面将在这个顶层设计的基础上,解析所要实现的每个功能实现逻辑:

包裹模块

  • 包裹入库:功能由静态空间dataOperation实现,它构造package对象,存储到自己的package容器dataOperation::allPackage中。
  • 通过取件码进行包裹查询:功能由静态空间dataOperation实现,它遍历dataOperation::allPackage,逐个比对取件码,找到即返回该对象指针,找不到返回nullptr
  • 包裹出库:功能由packageoutStock方法实现,其置该package.isOutStocktrue。库存盘点:功能由静态空间dataOperation实现,它遍历dataOperation::allPackage,访问所有对象的isOutStock状态,进行统计,返回已取件和未取件数量的二元组。
  • 分配取件码:功能在package构造函数中实现,通过系统日期计算当前取件码。取件码结构为“当前周数-当前星期几-当前分秒-当前在库包裹数”,取件码反应了包裹入库的时间顺序,可以按照该顺序在货架上摆放。

快递模块

  • 邮寄开票:功能由expressgetExpressBill方法实现,该函数返回快递单。在GUI界面中,填写邮寄信息后,会自动弹出快递单。也可以输入快递单号查询快递单。
  • 邮寄结款:功能由expresspay方法实现,其置express.isPaidtrue。未付款查询:功能由静态空间dataOperation实现,它遍历dataOperation::allExpress,将所有isPaid属性为false的对象指针组成一个vector,将其返回。
  • 差错记录管理:每个express都有一个差错信息类(Error)对象作为成员,外部可对其进行设置。如果设置了差错信息,在打印快递单时也会将差错信息输出。

鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
热门推荐
热门话题
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap