Puppetlover
随着社会的发展,互联网的兴起,网络购物渐成为人们购物的新时尚。快递行业也在网络购物的带动下蓬勃发展,成为人们生活中必不可少的一部分。所以一个智能的快递管理系统,会大大的方便人们的生活,提高快递运送的效率。
随着快递数量的不断增多,如何将快递安全、准确的送到每一位消费者手上成为了一个问题。而一个智能的快递管理系统可以提高工作人员的效率,帮助工作人员快速清点货物信息。由于快递会在每个地区都设立站点,所以我们设计了一款名为菜鸟驿站管理系统的快递管理系统,用来帮助工作人员高效的完成工作。
针对快递管理的实际需求,采用C语言作为开发语言,使用文件.txt作为数据库,设计并且开发了一个菜鸟驿站管理系统。系统主要包括用户功能模块和管理员功能模块。用户功能模块包括用户注册、用户快递查询、用户快递领取、用户信息修改等功能。管理员功能模块包括录入用户信息、删除用户信息、查询用户信息、修改用户信息、录入快递信息、删除快递信息、修改快递信息、查询快递信息、统计快递领取情况等功能,实现快递管理的信息化,提高工作效率。
本系统采用C语言编写,使用VS2015作为编译器编写系统程序代码,整个系统以.txt作为数据存储的文件。
C语言是一门通用计算机编程语言,广泛应用于底层开发。C语言的设计目标是提供一种能以简易的方式编译、处理低级存储器、产生少量的机器码以及不需要任何运行环境支持便能运行的编程语言。尽管C语言提供了许多低级处理的功能,但仍然保持着良好跨平台的特性,以一个标准规格写出的C语言程序可在许多电脑平台上进行编译,甚至包含一些嵌入式处理器(单片机或称MCU)以及超级电脑等作业平台。二十世纪八十年代,为了避免各开发厂商用的C语言语法产生差异,由美国国家标准局为C语言制定了一套完整的美国国家标准语法,称为ANSI C,作为C语言最初的标准。目前2011年12月8日,国际标准化组织(ISO)和国际电工委员会(IEC)发布的C11标准是C语言的第三个官方标准,也是C语言的最新标准,该标准更好的支持了汉字函数名和汉字标识符,一定程度上实现了汉字编程。
本文第一部分绪论主要说明了系统的设计背景,设计目标以及C等相关技术;第二部需求分析阐述了系统功能和可行性分析,介绍了系统各个功能模块,并描述了系统的用例图和活动图,可行性分析介绍了系统开发的必要性和可能性;第三部分系统设计则介绍了系统结构设计;第四部分系统实现主要讲了登录模块、管理员模块和用户模块实现的功能;第五部分系统的测试主要介绍了对该系统的测试方法和详细过程。
系统包括两种不同权限的用户:第一种是用户,即普通用户,这类用户能够通过手机了解最新的快递动态信息,修改自己的个人信息、查询快递信息、注册账号等;第二种是管理员用户,管理员可以管理用户信息,管理和审核账户信息,管理和审核快递信息,还负责管理维护系统等。因此系统的设计可以分成三部分,用户模块、管理员模块和登陆模块。
普通用户:
使用手机、电脑来使用该系统;
使用自己的账号注册并登陆系统;
新用户注册成功之后,使用唯一的账号作为ID来识别;
登陆系统可以查看个人信息和快递信息、修改个人信息等;
不使用时可以退出登陆系统;
可以根据单号查询和领取快递;
管理员用户:
通过管理员的用户名和密码登陆系统的管理员端;
登陆系统后具有管理系统用户账户信息的功能;
可以管理用户的快递;
可以统计快递的领取情况,有无滞留时间过长的快递;
可以设置新的管理员;
可以查看快递的其他信息等。
通过研究快递管理系统的需求分析,可以将系统设计成了三个主要模块,这三个模块是登陆模块,管理员模块,用户模块。
根据系统需求分析,可以设计出整个校友信息管理系统的总体结构。由于本系统包含两种不同权限的用户,每种用户进入系统后所能用的功能和权限不一样,因此在对系统结构设计时要分别考虑。
用户注册模块。打开系统,进入欢迎界面,选择用户,如下图4-1所示。还没有账号可以点击注册,注册的时候输入账号、手机号、密码,然后点击注册的时候系统会调用regs()方法,该方法会给用户注册,然后将注册信息插入用户信息表中,然后就可以使用该账号登陆系统了。
用户和管理员登陆。输入账号、密码,然后选择用户或者管理员,点击登录时系统会调用stu_land()方法,该方法会通过查询数据库相应的表来判断输入的信息是否正确;如果账号和密码都成功的在数据库中匹配成功的话,系统就会自动判断输入的账号和密码都正确,然后就会自动跳转至用户界面或者管理员界面;如果账号或者密码中的其中有一个没有在数据库中匹配成功话,管理系统就会弹出提示框,并且会显示相关的错误提示。
首页模块。输入正确的管理员登陆信息之后,系统判断用户名,密码和数据库中的信息匹配之后就会跳转到本系统的管理员首页,如图所示。
维护用户信息模块。管理员首页通过后台的add_student()、display_all_student()和dele_student()方法查询、修改数据库中的用户信息,如图所示。
录入用户信息。录入用户的账号、手机号等信息,录完之后,输入y保存,输入n取消,最后按enter返回,如图所示。
浏览用户信息。可以浏览到用户的账号、姓名、手机号码和登录密码等基本信息,按enter键返回,如图所示。
删除用户信息。输入要删除的学生账号,系统会自动删除该账号内的所有信息,如果输入账号信息有误,会提示错误,按enter键返回,如图所示。
维护货物模块。选择维护货物模块,系统就会跳转到维护货物模块页面。如图所示。
录入货物信息。按单号、手机号,系统会实时录入货物入库时间,并付给货物未领取的状态,录完之后,输入y保存,输入n取消,最后按enter返回,如图所示。
浏览货物信息。可以浏览到用户的快递单号、手机号、入库时间、状态和取货码等信息,按enter键返回,如图所示。
删除货物信息模块。如图所示。
修改货物信息模块。如图所示。
未取货物信息模块。如图所示。
用户首页模块。以用户身份登录,同时输入的账号和密码都正确就会跳转到图所示的校友用户首页,显示用户模块的所有功能。输入对应的功能数字就可以使用相应的功能。操作之后系统就会待用户操作完成后,然后就会全部数据更新到文件中。如果密码或者账号输入不正确的话,系统会提示“请输入正确的账号和密码”。
用户使用模块。输入对应的数字,进入对应的功能使用模块,可以完成用户的需求。
查询个人信息。如图所示。
修改个人信息。如图所示。
领取快递。如图所示。
返回主界面。如图所示。
所谓系统测试是根据软件开发各阶段的规约和软件的内部结构,精心设计一批软件测试用例,并利用这些测试用例去运行程序,用来发现软件中不符合软件质量特性要求的过程。
系统测试过程可以看成不断进行排错、测试、修改程序和文档,然后进行回归测试,直到软件达到用户的质量特性要求的一个循环过程。
目前主要使用的系统测试方法有白盒测试和黑盒测试:
白盒测试,这个方法可以对程序内部的具体逻辑进行测试,相当于微观的看待事物,详细的说就是根据具体的每一个方法测试它是否运行正确,是否有错误等;
黑盒测试,该方法把程序当成一个整体,相当于宏观的看待事物,具体的说就是不看内部具体方法只是根据设计的需求来测试系统,然后判断是否符合设计的要求,是否能够正常使用该系统。
打开VS2015,运行程序源码,然后进入系统的欢迎界面了。本系统采用黑盒测试,对每一个模块进行用例测试。
首先,打开菜鸟驿站管理系统登陆界面,如表所示。
编号 | 输入操作 | 预期结果 | 测试结果 |
---|---|---|---|
1 | 选择老用户,输入账号“1”,密码“student”,登陆 | 登陆成功,跳转到 用户页面 | 通过 |
2 | 选择管理员,输入账号“admin”,密码“admin”,登陆 | 登陆成功,跳转到 管理员页面 | 通过 |
3 | 选择新用户,输入账号“2”,密码“student”,注册,登录 | 登陆成功,跳转到 用户页面 | 通过 |
4 | 不输入任何信息,直接点击登陆 | 登陆失败,提示输入账号 | 通过 |
5 | 只输入密码“11”,不输入账号,点击登陆 | 登陆失败,提示输入账号 | 通过 |
6 | 选择老用户,输入账号“100”,密码“student”,登陆 | 登陆失败,提示输入 账号错误 | 通过 |
7 | 选择老用户,输入账号“1”,密码“stu”,登陆 | 登陆失败,提示输入 密码错误 | 通过 |
接下来,对账号信息管理进行测试,如表所示。
编号 | 输入操作 | 预期结果 | 测试结果 |
---|---|---|---|
1 | 打开查询功能 | 查到个人信息 | 通过 |
2 | 打开修改功能,修改完成后点击保存 | 可以对个人信息进行修改 | 通过 |
3 | 打开领取快递,输入用户快递的单号 | 可以领取快递 | 通过 |
4 | 打开返回主菜单 | 系统返回主菜单 | 通过 |
使用管理员模块对用户信息进行管理,如表所示。
编号 | 输入操作 | 预期结果 | 测试结果 |
---|---|---|---|
1 | 打开录入功能,录入用户信息 | 提示用户添加成功 | 通过 |
2 | 打开修改功能,修改用户信息 | 提示用户信息修改完成 | 通过 |
3 | 打开删除功能,删除用户信息 | 提示用户信息已删除 | 通过 |
4 | 打开浏览功能,浏览用户信息 | 输出用户信息 | 通过 |
对管理员维护货物信息功能进行测试。
编号 | 输入操作 | 预期结果 | 测试结果 |
---|---|---|---|
1 | 打开录入功能,录入货物信息 | 提示货物信息添加成功 | 通过 |
2 | 打开修改功能,修改货物信息 | 提示货物信息修改完成 | 通过 |
3 | 打开删除功能,删除货物信息 | 提示货物信息已删除 | 通过 |
4 | 打开浏览功能,浏览货物信息 | 输出货物信息 | 通过 |
5 | 打开统计货物信息 | 会输出未领取货物的信息 | 通过 |
通过对这个系统的设计和实现,我对该系统的了解更加深了。本系统主要是完成了用户信息管理、快递信息的管理以及信息统计分析等功能。通过本次学年设计,我对软件项目的开发流程以及所运用的知识如C语言等有了更多的自己的理解,锻炼了自己解决工程问题的能力以及提升了自己系统分析和设计能力。另一方面,本系统的实现,仍存在不足,如本人对于统计分析这个模块理解不足,以致在实现功能时没有考虑到具体的情况,造成某些功能设计的不是很合理。