基于Python+SQL Server2008实现(GUI)快递管理系统

news2024/11/25 5:02:53

快递业务管理系统的设计与实现

摘要: 着网络新零售的到来,传统物流在网购的洗礼下迅速蜕变,在这场以互联网为基础的时代变革中,哪家企业能率先转变其工作模式就能最先分得一杯羹,物流管理也不例外。传统的物流管理模式效率低下,不仅耗费大量的人力物力,信息维护也极易出现错误。近年来物流管理系统逐步在全国范围内实施使用,它的实现使用户足不出户即可完成寄件、查件等业务,同时也方便物流公司对海量物流数据的处理,是物流管理发展中一个重要的里程碑。

本文实现的快递业务管理系统管理系统,采用 C/S 网络架构进行设计,客户端发送请求获取功能操作,内部实现则由服务器端完成。开发时选用 Python 语言来提升开发效率。前台页面使用 Tkinter GUI 实现,后台数据库采用 SQL server 2008 R2,使用 Pymssql 连接 SQL server 服务器。该系统包括基本的查件、寄件、用户管理、快递管理、最优路径选择五个模块,可以满足小型快递业务管理的日常运作需求。系统实现后还通过大量的测试用例检验系统的可靠性,以便给用户带来最佳的使用感。

关键词:快递业务管理系统;Python;PyMssql; SQL server;Tkinter

一、绪论

1.1 研究背景及意义

我国国民经济高速发展

我国自改革开放以来,国民经济就走上了持续稳定高速发展的道路,年均增长 8% 以上,而从全国看,发展最快的又是我国东南沿海一些省市,他们利用国家给经济特区等一系列优惠政策,大力改革开放,发展经济,率先实现经济的超常规大幅度增长。

其中出现了一批大型实力企业,像海尔、宝洁、IBM 等。经济的大幅增长,必然导致巨大的物质产品的流动,也就必然导致物流量的增加。这是经济发展的必然规律,也是物流业成长的必然规律。

我国物流学发展的结果

我国第三方物流的发展有一个有趣的现象,就是一旦有了一个第三方物流的样板和模式,社会很快在各个地方推广开来。特别是最近几年,发展特快,上海、北京、天津等城市且不说,武汉就一下子兴起了如中远、长江、中储、武储等好几家大型第三方物流公司。  

出现这种现象,可以说是中国物流学发展的结果,人们已经有了比较好的物流观念和物流学基础。

信息技术发展的结果
20 世纪 90 年代以来,随着因特网技术以及各种信息技术的发展,为企业建设高效率高效率的信息技术网络创造了条件,信息技术实现了数据的快速、准确传递,一方面提高了物流企业在仓库管理、装卸运输、采购、订货、配送发运、认单处理的自动化水平。
促使订货、包装、保管、运输、流通加工一体化,使大规模、高质量、高服务水平处理物流企业与其他企业间的信息沟通交流、协调合作方便快捷,并能有效跟踪和管理物流渠道中的货物,精确计算物流活动的成本,这就使客户企业可以随时跟踪自己的货物。
因而放心地把自己的物流业务交由第三方物流企业处理,这些环境条件都促使了第三方物流企业的产生。

市场竞争的结果
第三方物流的产生是社会分工的必然结果。各企业为增强市场竞争力,而将企业的资金,人力,物力投入到其核心业务上,寻求社会化分工协作带来的效果和效率的最大化。

1.2 结构安排

根据系统研发的背景,结合软件开发的流程和步骤,将分为七个章节对论文进行撰写,各章节内容如下:

  • 第一章:绪论。介绍系统研发背景,对系统研究现状进行分析。
  • 第二章:关键技术介绍。介绍开发过程中用到的工具、框架、技术等。
  • 第三章:系统分析。首先分析系统的开发是否可行即进行可行性分析,评估该系统开发的经济效益。然后确定系统将要实现的功能、性能以及界面的需求。
  • 第四章:系统设计。依据需求分析内容对系统各层和各功能模块进行设计,借助 Python 对系统内部各个模块进行详细设计。在数据库中对系统 E-R 图和各实体的物理表进行设计。
  • 第五章:系统实现。给出各功能模块的界面截图,摘取核心代码,给出系统执行的流程步骤,对复杂模块则用流程图描述其操作过程。
  • 第六章:系统测试。介绍系统测试的方法,设计测试用例对系统各模块的运行情况和性能进行测试。
  • 第七章:总结与展望。分析研究中所遇到的问题和需要改进的模块和功能,并对未来的工作做出展望。

二、关键技术介绍

2.1 SQL SERVER

SQL Server 关系数据库简介:

SQL Server 是由 Microsoft 开发和推广的关系数据库管理系统(DBMS),它最初是由 Microsoft、Sybase 和 Ashton-Tate 三家公司共同开发的,并于 1988 年推出了第一个 OS/2 版本。 SQL Server 近年来不断更新版本,1996 年,Microsoft 推出了 SQL Server 6.5 版本;1998 年,SQL Server 7.0 版本和用户见面;SQL Server 2000 是 Microsoft 公司于 2000 年推出的最新版本。

SQL Server 特点

  • 真正的客户机/服务器体系结构。
  • 2.1.2.图形化用户界面,使系统管理和数据库管理更加直观、简单。
  • 2.1.3.丰富的编程接口工具,为用户进行程序设计提供了更大的选择余地。
  • 2.1.4.SQL Server 与 Windows NT 完全集成,利用了 NT 的许多功能,如发送和接受消息,管理登录安全性等。SQL Server 也可以很好地与 MicrosoftBackOffice 产品集成。
  • 2.1.5.具有很好的伸缩性,可跨越从运行 Windows 95/98 的膝上型电脑到运行 Windows 2000 的大型多处理器等多种平台使用。
  • 2.1.6.对 Web 技术的支持,使用户能够很容易地将数据库中的数据发布到 Web 页面上。
  • SQL Server 提供数据仓库功能,这个功能只在 Oracle 和其他更昂贵的 DBMS 中才有。

2.2 Python

Python的创始人为Guido van Rossum。1989年圣诞节期间,在阿姆斯特丹,Guido为了打发圣诞节的无趣,决心开发一个新的脚本解释程序,作为ABC 语言的一种继承。之所以选中Python(大蟒蛇的意思)作为该编程语言的名字,是取自英国20世纪70年代首播的电视喜剧《蒙提.派森干的飞行马戏团》(Monty Python's Flying Circus)。

由于 Python 语言的简洁性、易读性以及可扩展性,在国外用 Python 做科学计算的研究机构日益增多,一些知名大学已经采用 Python 来教授程序设计课程。例如卡耐基梅隆大学的编程基础、麻省理工学院的计算机科学及编程导论就使用 Python 语言讲授。众多开源的科学计算软件包都提供了 Python 的调用接口,例如著名的计算机视觉库 OpenCV、三维可视化库 VTK、医学图像处理库 ITK。而 Python 专用的科学计算扩展库就更多了,例如如下 3 个十分经典的科学计算扩展库:NumPy、SciPy 和 matplotlib,它们分别为 Python 提供了快速数组处理、数值运算以及绘图功能。因此 Python 语言及其众多的扩展库所构成的开发环境十分适合工程技术、科研人员处理实验数据、制作图表,甚至开发科学计算应用程序。

2.3 Tkinter GUI

图形用户界面是一种人与计算机通信的界面显示格式,允许用户使用鼠标等输入设备操纵屏幕上的图标或菜单选项,以选择命令、调用文件、启动程序或执行其它一些日常任务。与通过键盘输入文本或字符命令来完成例行任务的字符界面相比,图形用户界面有许多优点。图形用户界面由窗口、下拉菜单、对话框及其相应的控制机制构成,在各种新式应用程序中都是标准化的,即相同的操作总是以同样的方式来完成,在图形用户界面,用户看到和操作的都是图形对象,应用的是计算机图形学的技术。GUI 即人机交互图形化用户界面设计。Tkinter模块("Tk 接口")是Python的标准Tk GUI工具包的接口.Tk和Tkinter可以在大多数的Unix平台下使用,同样可以应用在Windows和Macintosh系统里.Tk8.0的后续版本可以实现本地窗口风格,并良好地运行在绝大多数平台中.

2.4 PyMssql

在 python 中用 pymssql 模块来对 SQL server 进行操作,该模块本质就是一个套接字客户端软件,使用前需要事先安装
pip3 install pymssql

三、系统分析

3.1 可行性分析

技术可行性

在系统开发之前须熟悉 GUI 开发知识,PYTHON、SQL 语法以及常用的 SQL 语句。这些知识简单易学、容易上手,是所有 Web 开发人员都要掌握的。开发过程中使用的 Visual Studio Code, PYTHON3 等开发工具经过多年的版本更换已经相当成熟,Bug 少,用其开发的项目运行稳定,可靠性强。据此分析,该系统在技术上是可行的。

3.2 经济可行性

传统快递管理依靠手工操作,耗费大量的人力物力财力,数据的存储和查询也经常出现错误。系统上线后,用户和快递系统管理员可直接完成操作,这不仅减少了工作人员的消耗,也能够提升工作效率和服务效益。该系统由个人独立开发,开发成本几乎为零,而且便于后期的维护和修改。据此分析,该系统在经济上是可行的。

3.3 操作可行性

本系统使用简单,只需一部手机或一台电脑,通过指示点按按钮即可执行相应的操作,无需进行培训和专业知识的学习。该系统具有良好的人机交互界面且在操作上是可行的。

四、系统概要设计

4.1 体系架构设计

系统体系架构采用 C/S 架构来设计,将系统分为:客户端 UI 层、业务逻辑层和服务器层

实现用户界面、业务逻辑、后台数据的分离解耦,有利于代码的复用,也便于系统的维护和扩展[10]。

4.2 系统架构设计

在对系统的架构明确后,为了确定系统要解决的具体业务流程,并分析出系统中涉及的主要角色在业务流程中的变化,我们需要对系统进行进一步的概要设计。同时,还需建立对涉及的各种信息有效存储、管理的数据库,并设计便于用户使用的界面。

系统的功能架构图如图所示

4.3 UI 模块设计

4.4 数据库设计

4.4.1 -R 图

4.4.2 数据库表结构设计

用户表

快递表

市表

省份表

邻接表

4.5 业务逻辑设计

4.5.1 登录与注册

4.5.2 主界面

4.5.3 邮寄界面

4.5.4 键查询界面

4.5.5 查询界面

4.5.6 管理界面

五、系统实现

5.1 SQL 命令配置文件

Sql1:用于查询语句 有返回值 sql2: 用于增加 删除 修改 无返回值

5.2 登录界面

5.3 注册界面

5.4 主界面

5.5 邮寄界面

5.6 键查询界面

5.7 查件界面

5.8 管理界面

六、系统测试

6.1 测试方法

系统测试就是通过测试用例对系统进行运行验证,若运行结果与预期结果一致则通过测试,否则该功能测试失败需对其进行改进。通常来说,一个功能模块要设计多个测试用例,测试方法采用白盒测试和黑盒测试结合进行。白盒测试即对系统的业务逻辑进行测试,确保每个功能的业务流与预期一致。黑盒测试即验证系统的功能是否与需求分析阶段的内容一致,能否满足使用要求[14]。

该系统在开发过程中实现了单元测试并对相应的代码块进行断点调试测试。在单元测试的基础上又对各代码块进行了集成测试,验证代码块集成后的功能模块的正确性。最后进行系统测试,对各模块集成后的系统进行测试,包括权限测试、功能测试、备份测试等。

系统在面向大众使用前经过了严格的测试,以确保提交给用户的产品不存在问题,能给用户带来最好的使用感。

6.2 测试环境

客户端环境:惠普 笔记本电脑、16GB 运行内存、256G SSD 硬盘;软件配置采用 window10 操作系统,Python 3.8  模块 PyMssql  (配置 python 环境变量后,在 cmd 窗口输入 pip3 install pymssql 安装)

服务器环境:数据库采用 SQL SERVER 2008 R2,数据库名 kd,用户名 sa 密码 1

6.3 测试结果

该系统目前可正常运行,分别以普通用户和管理员,游客身份对其进行测试.

七、总结与展望

通过对快递业务管理系统研究现状的分析以及实地调研,结合软件设计与开发流程,本文完成了对快递业务管理系统的设计与实现。归纳本文的主要内容体现在:
  • 系统发展现状和可行性的分析。在开发之前必须明确何种系统的开发价值最高,经过多次的比较和分析,最终确定快递业务管理系统。系统的实现不仅要继承前有的功能还要增加自己的创新点,因此在开发之前必须对其发展状况进行详细的了解

  • 在整个开发过程中,需求分析是最核心的内容,后续的设计与实现都是围绕需求分析的内容进行的,当用户的需求发生变化时,系统的实现也要随之变更。为了充分了解各类用户对快递业务管理系统的需求,开发之前我进行了实地调研并借助用例分析对其进行详细描述

  • 系统设计阶段,该阶段要对系统的整体架构进行设计,在此之前必须学习软件开发框架以及运行模式的知识,对执行流程熟悉。除此之外还完成了对数据库中各实体之间的关系和数据库表的设计。

  • 系统实现阶段完成代码的编写以及 GUI 页面的优化设计,系统测试阶段设计测试用例检查系统的运行情况。

    目前本系统运行稳定,系统性能和响应速度都在正常范围内,能够满足小型快递业务管理的基本任务,达到了预期的设计目标。但是由于我能力有限,系统中一些功能的设计还不够全面,在人机交互上也有亟待改进的地方。计划接下来要优化的地方有:

  • gui 页面的美观性,由于系统制作的时间有限,所以页面组件的设计细节较为粗糙。在后期的优化中将对不同用户的系统界面进行区分,调整页面的整体布局

  • 管理员能更改市与市之间是否互通的关系,但最终没能实现,在后期需要对该模块进行完善。

  • 对代码进行审查,简化复杂业务逻辑的代码,提高代码的运行效率和复用率,从而提高系统的响应速度。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2223639.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Git_GitLab

Git_GitLab 安装 服务器准备 安装包准备 编写安装脚本 初始化 GitLab 服务 启动 GitLab 服务 浏览器访问 GitLab GitLab 创建远程库 IDEA 集成 GitLab 安装 GitLab 插件 设置 GitLab 插件 安装 服务器准备 准备一个系统为 CentOS7 以上版本的服务器,使…

日常记录,使用springboot,vue2,easyexcel使实现字段的匹配导入

目前的需求是数据库字段固定,而excel的字段不固定,需要实现excel导入到一个数据库内。 首先是前端的字段匹配,显示数据库字段和表头字段 读取表头字段: 我这里实现的是监听器导入,需要新建一个listen类。 读Excel …

Docker 搭建mysql

拉取mysql镜像 docker pull mysql # 拉取镜像 [rooteason ~]# docker pull mysql Using default tag: latest latest: Pulling from library/mysql 72a69066d2fe: Pull complete 93619dbc5b36: Pull complete 99da31dd6142: Pull complete 626033c43d70: Pull complete 37d…

大数据治理平台建设规划方案(71页WORD)

随着信息化时代的到来,大数据已成为企业管理和决策的重要基础。然而,大数据的快速增长和复杂性给数据的管理和治理带来了巨大挑战。为了有效应对这些挑战,构建一个高效、稳定的大数据治理平台显得尤为重要。 文档介绍: 该平台旨在…

JS无限执行隔行变色

代码&#xff1a; <!DOCTYPE html> <html lang"zh-CN"> <head><meta charset"UTF-8"><meta name"viewport" content"widthdevice-width, initial-scale1.0"><title>Document</title> <…

【算法优化】混合策略改进的蝴蝶优化算法

摘要 蝴蝶优化算法 (Butterfly Optimization Algorithm, BOA) 是一种新兴的智能优化算法&#xff0c;其灵感来自蝴蝶的觅食行为。本文基于经典BOA&#xff0c;通过引入混合策略进行改进&#xff0c;从而提高其在全局寻优和局部搜索中的性能。实验结果表明&#xff0c;改进的蝴…

混个1024勋章

一眨眼毕业工作已经一年了&#xff0c;偶然进了游戏公司成了一名初级游戏服务器开发。前两天总结的时候&#xff0c;本来以为自己这一年没学到多少东西&#xff0c;但是看看自己的博客其实也有在进步&#xff0c;虽然比不上博客里的众多大佬&#xff0c;但是回头看也算是自己的…

鸿蒙到底是不是纯血?到底能不能走向世界?

关注卢松松&#xff0c;会经常给你分享一些我的经验和观点。 2016年5月鸿蒙系统开始立项。 2018年美国开始经济战争&#xff0c;其中一项就是制裁华为&#xff0c;不让华为用安卓。 2019年8月9日华为正式发布鸿蒙系统。问题就出在这里&#xff0c;大家可以仔细看。 安卓一…

Python | Leetcode Python题解之第500题键盘行

题目&#xff1a; 题解&#xff1a; class Solution:def findWords(self, words: List[str]) -> List[str]:ans []rowIdx "12210111011122000010020202"for word in words:idx rowIdx[ord(word[0].lower()) - ord(a)]if all(rowIdx[ord(ch.lower()) - ord(a)]…

运维变更管理流程

概述 变更管理的原则和目的 在最短的中断时间内完成基础架构或服务的任一方面的变更而对其进行控制的服务管理流程。变更管理的目标是确保在变更实施过程中使用标准的方法和步骤&#xff0c;尽快地实施变更&#xff0c;以将由变更所导致的对业务的影响和风险减小到最低。 适用…

使用Python来下一场深夜雪

效果图&#xff1a;&#xff08;真实情况是动态的&#xff09; 完整代码&#xff1a; import turtle import random# 初始化画布 turtle.bgcolor("#001f3f") # 偏深蓝色的背景 turtle.title("下雪的画面") turtle.speed(0) turtle.hideturtle() turtle.t…

深入拆解TomcatJetty——Tomcat生命周期与多层容器

深入拆解Tomcat&Jetty&#xff08;三&#xff09; 专栏地址&#xff1a;https://time.geekbang.org/column/intro/100027701 1 Tomcat组件生命周期 Tomcat如何如何实现一键式启停 Tomcat 架构图和请求处理流程如图所示&#xff1a; 对组件之间的关系进行分析&#xff0c;…

微信小程序canvas 生成二维码图片,画图片,生成图片,将两个canvas结合并保存图片

**需求实现步骤如下 先定义两个canvas一个canvas myQrcode画二维码的图片另一个canvas mycanvas画一个背景图&#xff0c;并把二维码画到这个canvas上&#xff0c;mycanvas这个canvas生成一张图片&#xff0c;返回图片的临时路径最后保存图片到手机** 首先wxml,新版微信小程序…

Redis Search系列 - 第一讲 创建索引

目录 一、引言二、全文检索基本概念三、创建索引 一、引言 Redis Search 是 Redis 的一个模块&#xff0c;用于提供全文搜索和二级索引功能。它允许在 Redis 数据库中执行复杂的搜索查询&#xff0c;并支持多种数据类型和查询操作。以下是 Redis Search 的一些关键特性&#x…

初识Linux · 软硬链接

目录 前言&#xff1a; 见见软硬链接 软硬链接的特征 软硬链接的用处 前言&#xff1a; 前文我们介绍了磁盘系统的理解&#xff0c;并且基于磁盘系统对文件系统的整体框架有了一个简单的理解&#xff0c;我们都是通过“想要见识没有打开的文件”这个话题引出来了以上的两个…

探索Python与Excel的无缝对接:xlwings库的神秘面纱

文章目录 探索Python与Excel的无缝对接&#xff1a;xlwings库的神秘面纱1. 背景介绍&#xff1a;为何选择xlwings&#xff1f;2. xlwings是什么&#xff1f;3. 如何安装xlwings&#xff1f;4. 简单的库函数使用方法打开工作簿创建工作簿读取单元格数据写入单元格数据保存并关闭…

400V交流智能剩余电流监测系统设计与应用

摘要&#xff1a;针对变电站400V交流系统频繁发生剩余电流保护器跳闸的问题&#xff0c;本研究设计了一套智能化的分布式剩余电流监测系统。该系统利用CT传感器采集400V系统各负载端的剩余电流数据&#xff0c;经过运算处理后&#xff0c;将信息传递给交流绝缘监测装置。随后&a…

>甘晴void:小蒟蒻的CCSP2024

小蒟蒻前两天参加了CCSP2024 最终幸运蹭铜&#xff08;蹭着本科的边边捞到了铜牌&#xff0c;没有遗憾了&#xff09;。 评价感受 本来只是来打酱油&#xff08;蹭吃蹭喝&#xff09;的&#xff0c;因为自从推免结束后&#xff0c;已经正好一个月没碰代码了&#xff0c;上一次…

DeepLearn-实现天气的识别

&#x1f368; 本文为&#x1f517;365天深度学习训练营 中的学习记录博客&#x1f356; 原作者&#xff1a;K同学啊 本次使用的数据集有晴天、雨天、多云和日出。 导入基本的包 包括读取文件、图像处理、科学计算和tensorflow的api包layers是层模块&#xff0c;提供了神经网络…

[bug] vllm 0.6.1 RuntimeError: operator torchvision::nms does not exist

[bug] vllm 0.6.1 RuntimeError: operator torchvision::nms does not exist 环境 python 3.10 torch 2.4.0cu118 torchvision 0.19.0cu118 vllm 0.6.1.post2cu118问题详情 if torch._C._d…