菜鸟驿站管理系统

一、绪论

1.1 设计背景

随着社会的发展,互联网的兴起,网络购物渐成为人们购物的新时尚。快递行业也在网络购物的带动下蓬勃发展,成为人们生活中必不可少的一部分。所以一个智能的快递管理系统,会大大的方便人们的生活,提高快递运送的效率。

随着快递数量的不断增多,如何将快递安全、准确的送到每一位消费者手上成为了一个问题。而一个智能的快递管理系统可以提高工作人员的效率,帮助工作人员快速清点货物信息。由于快递会在每个地区都设立站点,所以我们设计了一款名为菜鸟驿站管理系统的快递管理系统,用来帮助工作人员高效的完成工作。

1.2 设计目标

针对快递管理的实际需求,采用 C 语言作为开发语言,使用文件.txt 作为数据库,设计并且开发了一个菜鸟驿站管理系统。系统主要包括用户功能模块和管理员功能模块。用户功能模块包括用户注册、用户快递查询、用户快递领取、用户信息修改等功能。管理员功能模块包括录入用户信息、删除用户信息、查询用户信息、修改用户信息、录入快递信息、删除快递信息、修改快递信息、查询快递信息、统计快递领取情况等功能,实现快递管理的信息化,提高工作效率。

1.3 相关技术介绍

本系统采用 C 语言编写,使用 VS2015 作为编译器编写系统程序代码,整个系统以.txt 作为数据存储的文件。

1.3.1 语言简介

语言是一门通用,广泛应用于底层开发。C 语言的设计目标是提供一种能以简易的方式、处理低级、产生少量的以及不需要任何运行环境支持便能运行的编程语言。尽管 C 语言提供了许多低级处理的功能,但仍然保持着良好跨平台的特性,以一个标准规格写出的 C 语言程序可在许多电脑平台上进行编译,甚至包含一些嵌入式(单片机或称)以及超级电脑等作业平台。二十世纪八十年代,为了避免各开发厂商用的 C 语言语法产生差异,由为 C 语言制定了一套完整的美国国家标准语法,称为,作为 C 语言最初的标准。目前 2011 年 12 月 8 日,国际标准化组织(ISO)和国际电工委员会(IEC)发布的 C11 标准是 C 语言的第三个官方标准,也是 C 语言的最新标准,该标准更好的支持了汉字函数名和汉字标识符,一定程度上实现了汉字编程。

1.4 文档组织结构

本文第一部分绪论主要说明了系统的设计背景,设计目标以及 C 等相关技术;第二部需求分析阐述了系统功能和可行性分析,介绍了系统各个功能模块,并描述了系统的用例图和活动图,可行性分析介绍了系统开发的必要性和可能性;第三部分系统设计则介绍了系统结构设计;第四部分系统实现主要讲了登录模块、管理员模块和用户模块实现的功能;第五部分系统的测试主要介绍了对该系统的测试方法和详细过程。

二、需求分析

2.1 系统功能概述

系统包括两种不同权限的用户:第一种是用户,即普通用户,这类用户能够通过手机了解最新的快递动态信息,修改自己的个人信息、查询快递信息、注册账号等;第二种是管理员用户,管理员可以管理用户信息,管理和审核账户信息,管理和审核快递信息,还负责管理维护系统等。因此系统的设计可以分成三部分,用户模块、管理员模块和登陆模块。

普通用户:

  • 使用手机、电脑来使用该系统;
  • 使用自己的账号注册并登陆系统;
  • 新用户注册成功之后,使用唯一的账号作为 ID 来识别;
  • 登陆系统可以查看个人信息和快递信息、修改个人信息等;
  • 不使用时可以退出登陆系统;
  • 可以根据单号查询和领取快递;

管理员用户:

  • 通过管理员的用户名和密码登陆系统的管理员端;
  • 登陆系统后具有管理系统用户账户信息的功能;
  • 登陆后具有管理用户信息的功能,可以对用户信息进行增、删、改、查等操作;
  • 可以管理用户的快递;
  • 可以统计快递的领取情况,有无滞留时间过长的快递;
  • 可以设置新的管理员;
  • 可以查看快递的其他信息等。

2.2 系统执行流程描述

通过研究快递管理系统的需求分析,可以将系统设计成了三个主要模块,这三个模块是登陆模块,管理员模块,用户模块。

登录模块,可选择用户登录和管理员登录,用户登录界面可以选择新用户注册和老用户登录具体的活动图如图 2-3 所示。

图 2-3 登录模块的活动图

管理员模块,通过这个模块能够查看,添加,删除以及修改用户信息,能够修改快递、删除快递、增加快递、查询快递等操作。在管理员模块里面,所有的具体操作的是嵌套的,详细的活动图如图 2-4 所示。

图 2-4 管理员模块的活动图

用户模块,用户通过这个模块能够查询或者修改个人信息,能够查询快递信息和领取快递。每一个操作都是平行和嵌套的,该活动图如图 2-5 所示。

图 2-5 用户模块的活动图

三、系统设计

3.1 系统结构设计

根据系统需求分析,可以设计出整个校友信息管理系统的总体结构。由于本系统包含两种不同权限的用户,每种用户进入系统后所能用的功能和权限不一样,因此在对系统结构设计时要分别考虑。

管理员页面结构设计

图 3-1 管理员页面的结构图

校友用户页面结构设计

图 3-2 校友用户页面的结构图

四、系统实现

4.1 登陆模块实现

用户注册模块。打开系统,进入欢迎界面,选择用户,如下图 4-1 所示。还没有账号可以点击注册,注册的时候输入账号、手机号、密码,然后点击注册的时候系统会调用 regs()方法,该方法会给用户注册,然后将注册信息插入用户信息表中,然后就可以使用该账号登陆系统了。

图 4-1 登陆

用户和管理员登陆。输入账号、密码,然后选择用户或者管理员,点击登录时系统会调用 stu_land()方法,该方法会通过查询数据库相应的表来判断输入的信息是否正确;如果账号和密码都成功的在数据库中匹配成功的话,系统就会自动判断输入的账号和密码都正确,然后就会自动跳转至用户界面或者管理员界面;如果账号或者密码中的其中有一个没有在数据库中匹配成功话,管理系统就会弹出提示框,并且会显示相关的错误提示。

4.2 管理员模块实现

首页模块。输入正确的管理员登陆信息之后,系统判断用户名,密码和数据库中的信息匹配之后就会跳转到本系统的管理员首页,如图 4-2 所示。

图 4-2 管理员首页

维护用户信息模块。管理员首页通过后台的 add_student()、display_all_student()和 dele_student()方法查询、修改数据库中的用户信息,如图 4-3 所示。

图 4-3 维护用户信息

​ 录入用户信息。录入用户的账号、手机号等信息,录完之后,输入 y 保存,输入 n 取消,最后按 enter 返回,如图 4-4 所示。

图 4-4 录入用户信息

​ 浏览用户信息。可以浏览到用户的账号、姓名、手机号码和登录密码等基本信息,按 enter 键返回,如图 4-5 所示。

图 4-5 浏览用户信息

​ 删除用户信息。输入要删除的学生账号,系统会自动删除该账号内的所有信息,如果输入账号信息有误,会提示错误,按 enter 键返回,如图 4-6 所示。

图 4-6 删除用户信息

维护货物模块。选择维护货物模块,系统就会跳转到维护货物模块页面。如图 4-7 所示。

图 4-7 维护货物信息

​ 录入货物信息。按单号、手机号,系统会实时录入货物入库时间,并付给货物未领取的状态,录完之后,输入 y 保存,输入 n 取消,最后按 enter 返回,如图 4-8 所示。

图 4-8 录入货物信息

​ 浏览货物信息。可以浏览到用户的快递单号、手机号、入库时间、状态和取货码等信息,按 enter 键返回,如图 4-9 所示。

图 4-9 录入货物信息

​ 删除货物信息模块。如图 4-10 所示。

图 4-10 删除货物信息

​ 修改货物信息模块。如图 4-11 所示。

图 4-11 修改货物信息

​ 未取货物信息模块。如图 4-12 所示。

图 4-12 未取货物信息

4.3 用户模块实现

用户首页模块。以用户身份登录,同时输入的账号和密码都正确就会跳转到图 4-17 所示的校友用户首页,显示用户模块的所有功能。输入对应的功能数字就可以使用相应的功能。操作之后系统就会待用户操作完成后,然后就会全部数据更新到文件中。如果密码或者账号输入不正确的话,系统会提示“请输入正确的账号和密码”。

图 4-13 用户首页

用户使用模块。输入对应的数字,进入对应的功能使用模块,可以完成用户的需求。

​ 查询个人信息。如图 4-14 所示。

图 4-14 查询个人信息

​ 修改个人信息。如图 4-15 所示。

图 4-15 查询个人信息

​ 领取快递。如图 4-16 所示。

图 4-16 领取快递

​ 返回主界面。如图 4-17 所示。

图 4-17 返回主界面

五、系统测试

5.1 系统测试概述

所谓系统测试是根据软件开发各阶段的规约和软件的内部结构,精心设计一批软件测试用例,并利用这些测试用例去运行程序,用来发现软件中不符合软件质量特性要求的过程。

系统测试过程可以看成不断进行排错、测试、修改程序和文档,然后进行回归测试,直到软件达到用户的质量特性要求的一个循环过程。

5.2 系统测试方法

目前主要使用的系统测试方法有白盒测试和黑盒测试[14]:

白盒测试,这个方法可以对程序内部的具体逻辑进行测试,相当于微观的看待事物,详细的说就是根据具体的每一个方法测试它是否运行正确,是否有错误等;

⑵ 黑盒测试,该方法把程序当成一个整体,相当于宏观的看待事物,具体的说就是不看内部具体方法只是根据设计的需求来测试系统,然后判断是否符合设计的要求,是否能够正常使用该系统。

5.3 系统的测试

打开 VS2015,运行程序源码,然后进入系统的欢迎界面了。本系统采用黑盒测试,对每一个模块进行用例测试。

软件中登陆界面的测试

首先,打开菜鸟驿站管理系统登陆界面,如表 5-1 所示。

表 5-1 登陆测试

编号 输入操作 预期结果 测试结果
1 选择老用户,输入账号“1”,密码“student”,登陆 登陆成功,跳转到;用户页面 通过
2 选择管理员,输入账号“admin”,密码“admin”,登陆 登陆成功,跳转到;管理员页面 通过
3 选择新用户,输入账号“2”,密码“student”,注册,登录 登陆成功,跳转到;用户页面 通过
4 不输入任何信息,直接点击登陆 登陆失败,提示输入账号 通过
5 只输入密码“11”,不输入账号,点击登陆 登陆失败,提示输入账号 通过
6 选择老用户,输入账号“100”,密码“student”,登陆 登陆失败,提示输入;账号错误 通过
7 选择老用户,输入账号“1”,密码“stu”,登陆 登陆失败,提示输入;密码错误 通过

用户账户信息管理测试

接下来,对账号信息管理进行测试,如表 5-2 所示。

表 5-2 用户账号信息管理测试

编号 输入操作 预期结果 测试结果
1 打开查询功能 查到个人信息 通过
2 打开修改功能,修改完成后点击保存 可以对个人信息进行修改 通过
3 打开领取快递,输入用户快递的单号 可以领取快递 通过
4 打开返回主菜单 系统返回主菜单 通过

管理员维护用户信息测试

使用管理员模块对用户信息进行管理,如表 5-3 所示。

表 5-3 维护用户信息测试

编号 输入操作 预期结果 测试结果
1 打开录入功能,录入用户信息 提示用户添加成功 通过
2 打开修改功能,修改用户信息 提示用户信息修改完成 通过
3 打开删除功能,删除用户信息 提示用户信息已删除 通过
4 打开浏览功能,浏览用户信息 输出用户信息 通过

管理员维护货物信息

对管理员维护货物信息功能进行测试。

表 5-7 校园新闻、校友活动的修改及审核测试

编号 输入操作 预期结果 测试结果
1 打开录入功能,录入货物信息 提示货物信息添加成功 通过
2 打开修改功能,修改货物信息 提示货物信息修改完成 通过
3 打开删除功能,删除货物信息 提示货物信息已删除 通过
4 打开浏览功能,浏览货物信息 输出货物信息 通过
5 打开统计货物信息 会输出未领取货物的信息 通过

♻️ 资源

大小: 797KB
➡️ 资源下载:https://download.csdn.net/download/s1t16/87453221
注:如当前文章或代码侵犯了您的权益,请私信作者删除!

基于C语言开发菜鸟驿站管理系统【100010822】相关推荐

  1. java计算机毕业设计vue校园菜鸟驿站管理系统源码+数据库+系统+lw文档

    java计算机毕业设计vue校园菜鸟驿站管理系统源码+数据库+系统+lw文档 java计算机毕业设计vue校园菜鸟驿站管理系统源码+数据库+系统+lw文档 本源码技术栈: 项目架构:B/S架构 开发语 ...

  2. java计算机毕业设计vue校园菜鸟驿站管理系统(附源码、数据库)

    java计算机毕业设计vue校园菜鸟驿站管理系统(附源码.数据库) 项目运行 环境配置: Jdk1.8 + Tomcat8.5 + Mysql + HBuilderX(Webstorm也行)+ Ecl ...

  3. 学校图书管理系统基于c语言源代码,基于C语言的学校图书管理系统参考.doc

    基于C语言的学校图书管理系统参考 本科学生毕业论文(设计) 题目(中 文):基于C语言的学校图书管理系统(英 文):School Library Management System Based on ...

  4. 基于c语言的物业管理系统设计,基于C#语言的小区物业管理系统的设计与实现

    摘要: 随着人们生活水平和消费水平的不断提高,人们在追求物质生活的同时,更注重生活的质量,小区物业管理作为一种服务行业,与人们的生活息息相关,是人们生活质量的最基本需求.因此,小区物业管理系统的研究和 ...

  5. c语言学校系统,基于C语言的学校书管理系统.doc

    基于C语言的学校书管理系统 本科学生毕业论文(设计) 题目(中 文):基于C语言的学校图书管理系统(英 文):School Library Management System Based on C L ...

  6. c语言张宗杰,《基于C语言的学校图书管理系统》.doc

    本科学生毕业论文(设计) 题目(中 文):基于C语言的学校图书管理系统(英 文):School Library Management System Based on C Language姓 名 学 号 ...

  7. java 计算移动平均线_基于Java语言开发的个性化股票分析技术:移动平均线(MA)...

    基于Java语言开发的个性化股票分析技术:移动平均线(MA) 基于 Java 语言开发的个性化股票分析技术:移动平均线(MA)移动平均线(MA)是以道·琼斯的"平均成本概念"为理论 ...

  8. java kdj_基于Java语言开发的个性化股票分析技术随机指数[KDJ].doc

    基于Java语言开发的个性化股票分析技术:随机指数(KDJ) KDJ指标又叫随机指标,是由乔治·蓝恩博士(GeorgeLane)最早提出的,是一种相当新颖.实用的技术分析指标,它起先用于期货市场的分析 ...

  9. go语言打印日期_基于 Go 语言开发在线论坛(八):消息、视图及日期时间本地化...

    我们接着上篇在线论坛的进度,由于之前所有页面和消息文本都是英文的,而我们开发的应用基本都是面向中文用户的,所以需要对项目进行本地化,今天正好借着这个入门项目给大家介绍下如何在 Go Web 应用中进行 ...

最新文章

  1. [异常解决] 安卓6.0权限问题导致老蓝牙程序出现异常解决办法:Need ACCESS_COARSE_LOCATION or ACCESS_FINE_LOCATION permission...
  2. 看懂此文 你离赚钱就不远了
  3. linux 系统之三
  4. mysql 表资源,MySQL 复制表的方法
  5. Leetcode--289. 生命游戏
  6. [CMake] find_package 指定路径
  7. vim粘贴后格式错乱解决办法
  8. Mac使用zsh导致mvn命令无效的解决方案
  9. CC2530存储器映射
  10. 小记 -- cadence安装记录
  11. java-多线程编程
  12. PS第三课--套索和魔棒工具
  13. QLineEdit屏蔽扫描枪输入自带回车的方法
  14. Blender建模(二)
  15. QT自定义按钮类(自定义图片,形状,点击特效)
  16. 上传身份证照片js_web端上传图片,截取证件照
  17. 科达出征珠海航展,共筑蓝天梦想
  18. Kali Nethunter 如何刷到任何手机上?(终极教程)
  19. 优化-处理大量定时任务的思路
  20. 活用lambda之list函数处理

热门文章

  1. Oracle的存储过程的练习——以学号为参数修改成绩
  2. 等额本金和等额本息的区别(含计算公式)
  3. 升降横移式立体车库设计机械设计毕业设计全套资料
  4. 如何写好计算机类综述怎么查文献(信息检索与利用基础知识总结一)
  5. 名编辑电子杂志大师教程 | 用FTP上传电子杂志到网站
  6. Nosql inject注入
  7. 2018wordpress主题,插件汉化包持续更新
  8. python中的choices函数_用choices给命令行参数设置范围
  9. 未发现任何版本的java 我的世界,没有我的世界Java版的童志们 注意啦!
  10. Minecraft服务端插件:One_day —— 便捷式轻量化真实世界时间同步插件