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

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

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

本文实现的快递业务管理系统管理系统,采用 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.mzph.cn/diannao/57721.shtml

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

相关文章

同城分类信息网站源码系统 PHP+MySQL组合开发 带完整的安装代码包以及搭建部署教程

系统概述 该系统采用PHP作为后端开发语言,MySQL作为数据库管理系统。PHP是一种广泛使用的开源脚本语言,特别适合于Web开发,具有跨平台、易于学习、性能稳定等优点。MySQL则是一款轻量级的关系型数据库管理系统,具有体积小、速度快…

DHorse v1.6.0 发布,基于 k8s 的发布平台

版本说明 新增特性 支持Codeup(阿里云云效)代码仓库;支持环境的自动部署; 优化特性 管理员角色部署环境部需要审批;优化页面展示; 升级指南 升级指南 DHorse介绍 DHorse是一个轻量级、简单易用的云…

微服务网关Zuul

一、Zuul简介 Zuul是Netflix开源的微服务网关,包含对请求的路由和过滤两个主要功能。 1)路由功能:负责将外部请求转发到具体的微服务实例上,是实现外部访问统一入口的基础。 2)过滤功能:负责对请求的过程…

crc, md5 和 sha的区别

效率不同: 直接看代码 import zlib import hashlib import timewith open(rD:\data., rb) as f:x f.read()s time.time() for i in range(100000):d zlib.crc32(x) print(time.time() - s)s time.time() for i in range(100000):m hashlib.md5()m.update(x)d m.hexdige…

【CSS】纯CSS Loading动画组件

<template><div class"ai-loader-box"><!-- AI loader --><div class"ai-loader"><div class"text"><p>AI智能分析中....</p></div><div class"horizontal"><div class&quo…

idea项目搭建的四种方式: 一(以idea2017为例)

目录 1. 普通java项目 2. 普通JavaWEB项目 3. maven的JavaWEB项目 4. maven的java项目 1. 普通java项目 ①点击“Create New Project”&#xff1b; ②选择“Java”&#xff0c;选择自己安装的jdk&#xff0c;点击“Next”&#xff1b; ③填好项目名称和路径&#xff1b;…

记录一个docker volume映射目录创建文件报错问题

最近用docker-compse做中间件部署。 发现使用volume映射目录后&#xff0c;初始化时创建文件报错导致容器启动失败问题。 提示是没有访问权限。 如下&#xff1a; mariadb 10:07:26.86 INFO > mariadb 10:07:26.86 INFO > Welcome to the Bitnami mariadb contain…

CORS预检请求配置流程图 srpingboot和uniapp

首先要会判断预检请求 还是简单请求 简单请求 预检请求 #mermaid-svg-1R9nYRa7P9Pll4AK {font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}#mermaid-svg-1R9nYRa7P9Pll4AK .error-icon{fill:#552222;}#mermaid-svg-1R9nYRa7P9Pll4…

基于ssm+vue的购物商场的设计与实现

博主介绍&#xff1a;专注于Java&#xff08;springboot ssm 等开发框架&#xff09; vue .net php phython node.js uniapp 微信小程序 等诸多技术领域和毕业项目实战、企业信息化系统建设&#xff0c;从业十五余年开发设计教学工作 ☆☆☆ 精彩专栏推荐订阅☆☆☆☆☆不…

【视频生成大模型】 视频生成大模型 THUDM/CogVideoX-2b

【视频生成大模型】 视频生成大模型 THUDM/CogVideoX-2b CogVideoX-2b 模型介绍发布时间模型测试生成的demo视频生成视频限制 运行环境安装运行模型下载开源协议参考 CogVideoX-2b 模型介绍 CogVideoX是 清影 同源的开源版本视频生成模型。 基础信息&#xff1a; 发布时间 2…

【【自动驾驶】车辆运动学模型】

【自动驾驶】车辆运动学模型 1. 引言2. 以车辆重心为中心的单车模型2.1 模型介绍2.2 滑移角 β \beta β 的推导2.2 航向角 ψ \psi ψ推导过程&#xff1a;2.3 滑移角 β \beta β2.3 Python代码实现2.4 C代码实现 3. 前轮驱动的单车模型3.1 模型介绍3.3 Python代码实现3.4 …

【功能安全】 独立于环境的安全要素SEooC

目录 01 SEooC定义 02 SEooC开发步骤 03 SEooC开发示例 04 SEooC问答 01 SEooC定义 缩写: SEooC:Safety Element out of Context独立于环境的安全要素 SEooC出处:GB/T34590.10—2022,第9章节 SEooC与相关项什么关系? SEooC可以是系统、系统组合、子系统、软件组件、…

EXCELL中如何两条线画入一张图中,标记坐标轴标题?

1&#xff0c;打开excel&#xff0c;左击选中两列&#xff0c; 2&#xff0c;菜单栏>“插入”>”二维折线图”选中一个 3&#xff0c;选中出现的两条线中的一条右击>最下一行&#xff0c;“设置数据系列格式” 4&#xff0c;右测“系列选项中”>点击“次坐标轴” 5…

龙蟠科技业绩压力显著:资产负债率持续攀升,产能利用率也不乐观

《港湾商业观察》施子夫 黄懿 去年十月至今两度递表后&#xff0c;10月17日&#xff0c;江苏龙蟠科技股份有限公司(以下简称&#xff0c;龙蟠科技&#xff1b;603906.SH&#xff0c;02465.HK)通过港交所主板上市聆讯。 很快&#xff0c;龙蟠科技发布公告称&#xff0c;公司全…

低代码开发详解与行业应用指南

低代码开发简化软件开发&#xff0c;助力企业数字化转型。ZohoCreator应用于零售、制造、教育、IT、医疗、房地产等行业&#xff0c;提升效率、降低成本。灵活定价&#xff0c;支持免费试用&#xff0c;助力企业快速实现数字化。 一、低代码开发是什么&#xff1f; 低代码开发…

栈(数据结构)——C语言

1 概念与结构 栈&#xff1a;⼀种特殊的线性表&#xff0c;其只允许在固定的⼀端进⾏插⼊和删除元素操作。进⾏数据插⼊和删除操作 的⼀端称为栈顶&#xff0c;另⼀端称为栈底。栈中的数据元素遵守后进先出LIFO&#xff08;Last In First Out&#xff09;的原则。 压栈&#…

如何动态改变本地的ip

在当今数字化时代&#xff0c;网络连接已成为我们日常生活和工作中不可或缺的一部分。无论是出于隐私保护、突破地域限制&#xff0c;还是为了测试和优化网络应用&#xff0c;动态改变本地IP地址的需求日益增多。本文将详细介绍如何安全、有效地实现这一目标&#xff0c;旨在帮…

Linux巡检利器xsos的安装和使用

一、 一般项目基本完成的时候&#xff0c;后期运维工作的重点就是及时的&#xff0c;合理的频率巡检了&#xff0c;巡检的目的主要是及时发现各种各样的问题 那么&#xff0c;自己编写shell脚本是大部分人的第一选择&#xff0c;这里有个比较麻烦的地方&#xff0c;shell脚本…

Aatrox-Bert-VITS2部署指南

一、模型介绍 【AI 剑魔 ①】在线语音合成&#xff08;Bert-Vits2&#xff09;&#xff0c;将输入文字转化成暗裔剑魔亚托克斯音色的音频输出。 作者&#xff1a;Xz 乔希 https://space.bilibili.com/5859321 声音归属&#xff1a;Riot Games《英雄联盟》暗裔剑魔亚托克斯 …

分布式IO模拟量模块:多领域应用的高效能解决方案

分布式IO模拟量模块是分布式IO系统中的重要组件&#xff0c;用于实现现场设备或过程的模拟量信号的采集、监视和控制。该模块通常与现场总线耦合器配合使用&#xff0c;能够接收来自现场设备的模拟量信号&#xff08;如电流、电压等&#xff09;&#xff0c;并将其转换为数字信…