图4-8-3 快递单查询流程图
该模块的程序思路如下:
(1)使用get属性来访问设置变量,在该界面的Load事件中,使用IDictionary泛型封装“客户基础分类”信息。
(2)在“选择单据类型”文本框的SelectedIndexChanged事件中,根据快递单类型的编码查找对应的单据,若找到此类单据,用户可以根据该单据上的某一信息查找对应的所有信息内容,但如果该单据不存在快递单号,就会弹出“该单据的模板未设置快递单号输入框,无法查询!”的软件提示对话框。
(3)触发toolQuery(查询)按钮,转到“快递单据”窗体,执行该窗体上的“查询”命令按钮。
(4)触发toolPrint(打印)按钮,转到“快递单据”窗体,执行该窗体上的“打印”命令按钮。
(5)触发toolDelete(删除)按钮,若有选中的内容,则会弹出“确定要删除吗?”的软件提示对话框,若单击是,则会连带数据表中的内容一并删除。
4.8.1 条形码的概述
条形码是一种标准符号,它可供电子仪器自动识别,它的应用领域十分广泛,
在工业领域、物流交通领域、商业领域和邮电通信等领域等都可以见到各式各样的条形码。本系统将它运用到快递单上,以便于对庞大的快递单信息量的管理。
本软件中的条形码采用CODE39码,它既可表示数字,也可以表示字母,在管理领域该类条形码应用最广发,它的编码规则是,每五条线表示一个字符,粗线用1表示,细线用0表示,这些线条间间隙较宽的用1表示,较窄的用0表示, 它的每一字符都是由5个条和4个空共9位元素组成,这9位元素中必定有三位是1,所有称为39码,它可以是0~9、A~Z、-、*、%、$、/、+、空格、.,这些表示数字、字母和其他符号的44个字符组成。条形码的结构图如下图4-8-4所示。
图4-8-4 条形码的结构图
●①:静区,静区有两个功能,一、当两个条形码相距距离较近时,静区有助于将它们分开;二、它能使阅读器进入准备阅读的状态。 ●②:位空,避免前一字符与后一字符的条叠在一起。
25
●STOP:终止符,位于条形码的终止位置,包括终止位置的若干条与空。 ●START:起始符,位于条形码的起始位置,包括起始位置的若干条和空组成。 ●③、⑤:条,条形码中反射率较低的部分,印刷的颜色较深。 ●④、⑥:条,条形码中反射率较高的部分,印刷的颜色较浅。 ●“C”“O”“D”“E”:数据符,表示特定信息的条形码符号。
每个快递单号对应的条形码不同,首先在PictureBox控件中绘制条形码图案,然后查找快递单号,本系统根据快递单号自动生成条形码。Code 39条形码的编码规则如表4-8-5所示。
表4-8-5 Code39条形码的编码规则
4.9 快递单打印模块
“单据打印”模块有对单据的保存和打印两个主要功能,操作员可以修改快递单
中的任意信息,选择“保存”按钮,这些信息将会重新被保存到tb_BillText数据表中,选择“打印”按钮后会打印出该快递单同时保存快递单数据,该界面的运行结果如图4-9-1所示。
26
图4-9-1 “快递单打印”窗体
新建一个Windows窗体,命名为FormBillPrint,Text属性为“快递单打印”,在应用小图标(Icon)属性中加载图标 控件类型 ToolStrip ListBox PictureBox 控件ID toolStrip1 。该窗体用到的主要控件如表4-9-2所示。
用途 表4-9-2 “快递单打印”窗体中用到的主要控件
主要属性设置 请查看源程序 IbxBillTypeCode Dock属性设置为Fill pbxBillPicture Dock属性设置为Fill 显示快递单种类 显示快递单图像 把窗体分割成两个大小可调区域 PrintDocument pd 默认设置 设置打印参数并打印快递单 单据打印功能是在快递单查询功能的基础上实现的,操作员首先查询需要打印的快递单,然后在界面上填写或修改单据内容,最后打印快递单,快递单打印流程图如图4-9-3所示。
其Items属性的详情设置制作工具栏 SplitContainer SplitContainer1 Dock属性设置为Fill 27
输入单据信息快递单打印选择单据类型修改单据信息打印并保存单据 图4-9-3 快递单打印流程图 该模块的程序思路如下:
(1)定义CTextBox控件来代替系统中的TextBox控件,将tb_BillTemplate数据表中的内容读入绘制在快递单模板上的文本框中,只有能够读取到快递单号的快递单模板才能打印,否则弹出“当前模板未设置快递单号输入框,所以无法打印”的软件提示对话框。
(2)定义一系列Public对象实现对指定图像的缩放、自行调整窗体大小、获取系统分辨率等功能。
(3)触发toolPrint(单据打印)按钮的Click事件,在快递单号不为空并且单据号位数相符的情况下,查找数据库中的记录,找到相关记录后,设置打印文档的边距,设置打印文档的纸张大小,连接打印机,放入A4纸即可打印出该文本内容。
第五章 系统测试 5.1 系统测试的意义
系统测试是系统开发过程中必不可少的一部分,在每个环节都要进行严格、仔细地审查和测试,以便问题可以更早地暴露出来。本系统是由五个模块组成,各模块之间有着千丝万缕的联系,如果其中一个模块的测试有误,就会导致整个系统的瘫痪,所以要经常进行周期性地测试,确保系统安全、稳定,尽可能地避免系统在投入使用时出现的一系列故障。
系统测试要注意以下几点问题:(1)根据各模块的功能确定预期的输出结果,将实际的输出结果和预期的输出结果进行比较,观察系统的测试情况是否正确。(2)在测试过程中,不能习惯性地只输入合理的输入条件,而忽视不合理,容易出现异常的输入条件,这些很有可能会成为后期系统维护的隐患。(3)测试成功后,还应检查本模块是否有多余的工作,应尽可能地保障代码的准确、精炼,多余的代码不仅影响程序的运行效率,而且也会导致系统潜在的危害。
5.2 测试项目
(1)页面测试:页面的设计不能过于浮夸,当系统被投入使用后,用户看到的一系列页面的跳转,要确保页面上的控件指令能够正常运行,良好的界面设计会使用户有一种舒适、严谨、易懂的感觉,
28
(2)功能测试:最能体现系统价值的就是系统的功能,系统的功能越强大,越 受用户的欢迎,如果系统模块处处受到约束和局限,这样的系统将会很少被投入使用,良好的系统不会存在潜在的错误而且各模块会尽可能地发挥它们的功能。 (3)需求测试:每个系统在开发前,都会进行需求分析,系统开发的目的和最终使命是满足用户各方面的需求。
5.3 系统测试内容
五个模块下各子模块的用例测试如下表5-3所示。
5-3 测试用力表 测试模块 登录模块 测试条件输入 用户编码:mr 登录密码:999 快递单设置中的添单据名称:中通快递 加按钮 单据高度:250 单据宽度:150 单号位数:12 备注:中通快递 状态:启用 选择单据图片:从本机的指定文件夹下添加图片 快递单设置中的修单据名称:中通快递V 改按钮 单据高度:220 单据宽度:120 单号位数:12 备注:中通快递V 状态:禁用 选择单据图片:从本机的指定文件夹下添加图片 快递单设置中的删弹出“确定要删除吗?”的对话除按钮 加按钮 框,选择“是” 保存成功,是否继续添加 操作密码:1234 确认密码:1234 操作员维护中的修操作员名称:明日科技
29
输出结果显示 进入主系统界面 添加成功 修改成功 删除成功 操作员维护中的添操作名称:嗨嗨 修改成功