广东金融学院 本科毕业论文——企业进销存管理信息系统的设计与开发
开始 商品管理界面 显示商品信息 输入查询条件 单击“查询” 单击“添加” 单击“修改” 单击“删除” 单击“返回” 商品编辑界面 确定? 输入商品名称,类型,规格型号等基础信息 N Y 删除商品表选中信息 名称是否己存在? 结束 N Y 添加新商品信息? Y N 添加商品表信息 修改选中商品信息 图5.7 用户管理模块流程图
4.商品管理模块具体功能的实现采用MFC消息映射机制,对不同消息作不同的消息响应处理,处理函数功能说明如表5.3所示,具体代码请参见源程序。
- 28 -
广东金融学院 本科毕业论文——企业进销存管理信息系统的设计与开发
表5.3 商品管理模块部分消息响应函数
控件ID IDC _ALL_BUTTON (全部) IDC _QUERY_BUTTON(查询) IDC_ADD_BUTTON (添加) IDC_MODIFY_BUTTON(修改) IDC_DELETE_BUTTON(删除) IDC_EXIT_BUTTON (返回) 消息 消息处理函数 BN_CLICKED OnAllButton () BN_CLICKED OnQueryButton () BN_CLICKED OnAddButton() 函数功能说明 显示所有的商品信息 根据查询条件进行商品模糊查询 添加新商品信息 BN_CLICKED OnModifyButton() 根据选择修改商品信息 BN_CLICKED OnDeleteButton() 根据选择删除商品信息 BN_CLICKED OnExitButton() 退出商品管理模块,返回到主界面 5.5报表管理的设计与实现
本系统报表管理包括采购订单查询统计,销售订单查询统计,采购入库查询
统计,销售出库查询统计四个模块。下面仅以采购入库查询统计模块作分析。
5.5.1 报表管理的功能简述
在实际应用中,用户可以在一个界面里,输入多个条件,形成统一的查询SQL后,提交给数据库,进行组合查询。这样就可以大大提高用户的灵活性和方便性,而且大大减少开发工作量。组合查询的核心思想就是拼接SQL,形成查询条件SQL来实现的。
在采购入库查询统计模块中,用户可从日期控件中选择一个时间段对采购入库单作查询统计,也可以根据供应商名称,经手人,商品名称,库房名称,审核状态作组合查询统计,然后可以将查询统计的结果输出到Excel报表。
5.5.2 报表管理的功能实现
1.在应用程序工程中新建一个对话框,类名为:CSumBuyInDlg。 2.根据5.5.1简述的功能设计商品管理模块的界面,如图5.8所示。
- 29 -
广东金融学院 本科毕业论文——企业进销存管理信息系统的设计与开发
图5.8 采购入库查询统计界面设计图
3.将数据库中的数据导出到Excel报表中,这是一个非常实用的技术,它可以充分利用Excel的排版和统计功能,提高系统的通用性。在采购入库查询统计模块中,当用户单击“输出到Excel”按钮时,将触发执行CSumBuyInDlg::OnExcelButton()函数,该函数的程序流程图如图5.9所示,核心代码如下:
int ss,nn; // 用于存放取得结果集中记录个数,列数
CString cc;
nn = m_Adodc.GetRecordset().GetRecordCount(); // 得到结果集中记录个数 CColumns cls; // 定义列对象 cls = m_Datagrid.GetColumns();
ss = cls.GetCount(); //得到结果集中的列数 // 双层循环取得所有数据放入Excel表中 for(int i=0;i m_Datagrid.SetRow(i); // 设定数据所在行 for(int j=0;j m_Datagrid.SetCol(j); // 设定数据所在列 cc = m_Datagrid.GetText();// 取得指定列的值 - 30 - 广东金融学院 本科毕业论文——企业进销存管理信息系统的设计与开发 objRange.SetItem(_variant_t((long)(i+2)),_variant_t((long)(j+1)),_variant_t(cc)); // 把列值放入Excel指定单元格 } } 开 始 连接—初始数据库 定义操作Excel必要的对象 创建Excel对象 打开指定Excel文件 定义第一个Sheet为对象 取得结果集中记录个数,列数 Y 大于记录个数? N Y 大于列数? N 把列值放入Excel指定单元格 设置Excel为可见 释放句柄 结 束 图5.9 输出到Excel报表的程序流程图 - 31 - 广东金融学院 本科毕业论文——企业进销存管理信息系统的设计与开发 6. 系统测试 系统测试是本系统开发过程的重要组成部分,是为了发现错误而执行程序的过程,目的就是希望能以最少的人力和时间发现潜在的各种错误和缺陷。测试方法一般分为两大类:动态测试和静态测试。动态测试又根据测试用例的设计方法不同,分为黑盒测试和白盒测试。 6.1 系统测试举例 测试一:登录系统能否正常实现登录 测试步骤: 1)多次输入正确的用户名和密码点确定按钮 2)多次输入错误的用户名或密码点确定按钮 预期效果:在步骤一中,点确定按钮后进入了系统主界面, 在步骤二中,点确定按钮后,弹出用户名或密码错误的提示信息。 测试结果:达到预期效果,登陆系统能否正常实现登录功能。 测试二:商品管理功能模块测试(黑盒测试)---按等价类划分 1)有效等价类 a.输入不为空的产品名称,填写必要的数据 2)无效等价类 b.商品名称为空 c.输入己存在的商品名称 d.库存上下限输入一个不是整数的数字 e.没有选择商品类型 f.没有选择商品计量单位 3)测试结果: a.输入不为空的产品名称,填写必要的数据---添加成功,返回 b.商品名称为空---商品名称不能为空 c.输入己存在的商品名称---输入商品己存在 d.库存上,下限输入一个不是整数的数字---请健入一个整数 e.没有选择商品类型---请选择商品类型 - 32 -