基于C语言开发菜鸟驿站管理系统【100010822】
菜鸟驿站管理系统
一、绪论
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】相关推荐
- java计算机毕业设计vue校园菜鸟驿站管理系统源码+数据库+系统+lw文档
java计算机毕业设计vue校园菜鸟驿站管理系统源码+数据库+系统+lw文档 java计算机毕业设计vue校园菜鸟驿站管理系统源码+数据库+系统+lw文档 本源码技术栈: 项目架构:B/S架构 开发语 ...
- java计算机毕业设计vue校园菜鸟驿站管理系统(附源码、数据库)
java计算机毕业设计vue校园菜鸟驿站管理系统(附源码.数据库) 项目运行 环境配置: Jdk1.8 + Tomcat8.5 + Mysql + HBuilderX(Webstorm也行)+ Ecl ...
- 学校图书管理系统基于c语言源代码,基于C语言的学校图书管理系统参考.doc
基于C语言的学校图书管理系统参考 本科学生毕业论文(设计) 题目(中 文):基于C语言的学校图书管理系统(英 文):School Library Management System Based on ...
- 基于c语言的物业管理系统设计,基于C#语言的小区物业管理系统的设计与实现
摘要: 随着人们生活水平和消费水平的不断提高,人们在追求物质生活的同时,更注重生活的质量,小区物业管理作为一种服务行业,与人们的生活息息相关,是人们生活质量的最基本需求.因此,小区物业管理系统的研究和 ...
- c语言学校系统,基于C语言的学校书管理系统.doc
基于C语言的学校书管理系统 本科学生毕业论文(设计) 题目(中 文):基于C语言的学校图书管理系统(英 文):School Library Management System Based on C L ...
- c语言张宗杰,《基于C语言的学校图书管理系统》.doc
本科学生毕业论文(设计) 题目(中 文):基于C语言的学校图书管理系统(英 文):School Library Management System Based on C Language姓 名 学 号 ...
- java 计算移动平均线_基于Java语言开发的个性化股票分析技术:移动平均线(MA)...
基于Java语言开发的个性化股票分析技术:移动平均线(MA) 基于 Java 语言开发的个性化股票分析技术:移动平均线(MA)移动平均线(MA)是以道·琼斯的"平均成本概念"为理论 ...
- java kdj_基于Java语言开发的个性化股票分析技术随机指数[KDJ].doc
基于Java语言开发的个性化股票分析技术:随机指数(KDJ) KDJ指标又叫随机指标,是由乔治·蓝恩博士(GeorgeLane)最早提出的,是一种相当新颖.实用的技术分析指标,它起先用于期货市场的分析 ...
- go语言打印日期_基于 Go 语言开发在线论坛(八):消息、视图及日期时间本地化...
我们接着上篇在线论坛的进度,由于之前所有页面和消息文本都是英文的,而我们开发的应用基本都是面向中文用户的,所以需要对项目进行本地化,今天正好借着这个入门项目给大家介绍下如何在 Go Web 应用中进行 ...
最新文章
- [异常解决] 安卓6.0权限问题导致老蓝牙程序出现异常解决办法:Need ACCESS_COARSE_LOCATION or ACCESS_FINE_LOCATION permission...
- 看懂此文 你离赚钱就不远了
- linux 系统之三
- mysql 表资源,MySQL 复制表的方法
- Leetcode--289. 生命游戏
- [CMake] find_package 指定路径
- vim粘贴后格式错乱解决办法
- Mac使用zsh导致mvn命令无效的解决方案
- CC2530存储器映射
- 小记 -- cadence安装记录
- java-多线程编程
- PS第三课--套索和魔棒工具
- QLineEdit屏蔽扫描枪输入自带回车的方法
- Blender建模(二)
- QT自定义按钮类(自定义图片,形状,点击特效)
- 上传身份证照片js_web端上传图片,截取证件照
- 科达出征珠海航展,共筑蓝天梦想
- Kali Nethunter 如何刷到任何手机上?(终极教程)
- 优化-处理大量定时任务的思路
- 活用lambda之list函数处理
热门文章
- Oracle的存储过程的练习——以学号为参数修改成绩
- 等额本金和等额本息的区别(含计算公式)
- 升降横移式立体车库设计机械设计毕业设计全套资料
- 如何写好计算机类综述怎么查文献(信息检索与利用基础知识总结一)
- 名编辑电子杂志大师教程 | 用FTP上传电子杂志到网站
- Nosql inject注入
- 2018wordpress主题,插件汉化包持续更新
- python中的choices函数_用choices给命令行参数设置范围
- 未发现任何版本的java 我的世界,没有我的世界Java版的童志们 注意啦!
- Minecraft服务端插件:One_day —— 便捷式轻量化真实世界时间同步插件