版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、精选优质文档-倾情为你奉上淮海工学院计算机工程学院实验报告书课程名: 软件工程 题 目: 图着色理论在仓库系统中的应用 编码和测试 班 级: 网络122 学 号: 姓 名: 叶婷 评语:成绩: 指导教师: 批阅时间: 年 月 日专心-专注-专业1、实验目的与要求(1)选定项目中以模块,给出详细设计结果与C语言代码,对其使用白盒和黑盒测试技术设计若干测试用例。然后,使用测试用例进行实际测试操作实验,并给出测试结果;(2)了解一些典型的自动化测试软件和方法,建议有条件可下载、安装Mercury Interactive公司的负载测试工具LoadRunner、功能测试工具WinRunner和测试管理工
2、具TestDirector;IBM-Rational公司的测试套件Rational Suite TestStudio的Rational Robot、Rational TestManagerhe、Rational Quantify等工具。2、实验内容 一、编码 1. 1系统界面设计描述当用户启动程序后真接显示主界面,在主界面中有用户管理,商品入库,商品出库,库存管理以及退出系统。当用户在未登录的状态下执行任何操作时系统会自动判断是否已经登录,若用户还没有登录则显示登录界面,让用户进行登录。若登录的帐号不存在则表示该用户还不是员工,故需要用户重新申请新的用户,新用户的类型为普通员工,当普通用户已经
3、通过管理员审核,并且分配了相关的权限后就可以登录系统。若用户是管理员则该用户可以对普通用户进行相关的修改和删除,而且还可以修改、查询、删除库存表及商品出入库表中的相关信息。若用户是普通员工则只能进行商品的出入库及查询。 1.1.1登录界面设计用户通过输入登录的账号和密码及类型系统进行验证1.1.2商品出入库界面设计1.1.3库存界面设计 1.2编码1.2.1登录界面(主要代码)public boolean isExistsEmply(String id)boolean flags=false;tryint count=0;String sql1="select 员工号 from Us
4、ers where 员工号=?"PreparedStatement ps=conn.prepareStatement(sql1);ps.setString(1, (String)id);ResultSet result=ps.executeQuery();while(result.next()count=result.getRow();result.close();ps.close();if (count>0)this.UID=id;flags=true;getInfo(id);return flags;elseerror.errorDialog(String)id);catc
5、h(Exception e)e.printStackTrace();return flags;/根据工号分别获取对应的的信息public void getInfo(String uid)tryString sql2="select 员工姓名,密码,员工类型,是否员工 from Users where 员工号=?"PreparedStatement pps=conn.prepareStatement(sql2);pps.setString(1,uid);ResultSet result=pps.executeQuery();while(result.next()name=re
6、sult.getString(1).toString().trim();password=result.getString(2).trim();employtype=result.getString(3).toString().trim();emplooy=result.getString(4).toString().trim();result.close();pps.close();catch(Exception e)e.printStackTrace();/对登录的'工号'进行密码验证public boolean login(String id,String pwd,Str
7、ing type)boolean isEmploy=false;tryif (id.equals(UID) && pwd.equals(password) && type.equals(employtype)isEmploy=true;return isEmploy;elsereturn isEmploy;catch(Exception e)e.printStackTrace();return isEmploy;/判断用户是否已经通过管理员的审核public boolean Y_NEmply()boolean isE=false;if (this.emplooy
8、.equals("是")System.out.println("员工号:"+UID+"已经通过了审核.");main.showMainFarme();isE=true;return isE;else if (this.emplooy.equals("否")error.noEmplo0y(UID);return isE;return isE;1.2.2出库界面(主要代码)public Object setSdata2()tryString sql2="select * from OutStore"
9、Statement st=conn.createStatement();ResultSet result=st.executeQuery(sql2);Sdata2=new ObjectRow2Column2;int n=0;while(result.next()Sdata2n0=result.getString(1).toString().trim();Sdata2n1=result.getString(2).toString().trim();Sdata2n2=result.getString(3).toString().trim();Sdata2n3=result.getString(4)
10、.toString().trim();Sdata2n4=result.getString(5).toString().trim();Sdata2n5=result.getString(6).toString().trim();n+;result.close();st.close();return Sdata2;catch(Exception e)e.printStackTrace();return Sdata2;/先判断库存表中是否存在要出库的商品编号public boolean isExistsGid(String gid)boolean flags=false;tryint count=0
11、;String sql3="select count(商品编号) from StoreManage where 商品编号=?"PreparedStatement ps=conn.prepareStatement(sql3);ps.setString(1, gid);ResultSet result=ps.executeQuery();while(result.next()count+;result.close();ps.close();if (count>0)flags=true;return flags;elsereturn flags;catch(Exceptio
12、n e)e.printStackTrace();return flags;/判断库存表中的库存量是否满足出库的笨条件public boolean lookNumber(String gid,int number)boolean flags=false;tryint num=0;String sql4="select 库存量 from StoreManage where 商品编号=?"PreparedStatement ps=conn.prepareStatement(sql4);ps.setString(1, gid);ResultSet result=ps.execute
13、Query();while(result.next()num=result.getInt(1);result.close();ps.close();if (number<=num)flags=true;else flags=false;return flags;catch(Exception e)e.printStackTrace();return flags;/商品出库向出库表写入一条数据的出库记录public void newStoreOuput(String outgid,String outgname,int outgnum)tryString sql5="insert
14、 into OutStore (商品编号,商品名称,出库数量,出库人,出库时间) values(?,?,?,?,getdate()"PreparedStatement ps=conn.prepareStatement(sql5);ps.setString(1, outgid);ps.setString(2, outgname);ps.setInt(3, outgnum);ps.setString(4, outpeople);ps.executeQuery();ps.close();catch(Exception e)e.printStackTrace();/这是要修改库存表中的库存量
15、public void updateStoreManage(String outgid ,int num)tryString sql6="update StoreManage set 库存量=(select 库存量 from StoreManage where 商品编号=?)-? where 商品编号=?"PreparedStatement ps=conn.prepareStatement(sql6);ps.setString(1,outgid);ps.setInt(2, num);ps.setString(3, outgid);ps.executeQuery();ps.c
16、lose();catch(Exception e)e.printStackTrace();/向出库表模型中添加一条新一出库记录public Object addOutStoreToTable(String outgid)tryString sql7="select * from OutStore where 商品编号=? and 出库编号=(select count(*) from OutStore)"PreparedStatement ps=conn.prepareStatement(sql7);ps.setString(1, outgid);ResultSet resu
17、lt=ps.executeQuery();while(result.next()newStoreOfOut0= new Integer(result.getInt(1);newStoreOfOut1=result.getString(2).toString().trim();newStoreOfOut2=result.getString(3).toString().trim();newStoreOfOut3=new Integer(result.getInt(4);newStoreOfOut4=result.getString(5).toString().trim();newStoreOfOu
18、t5=result.getString(6).toString().trim();result.close();ps.close();return newStoreOfOut;catch(Exception e)e.printStackTrace();return newStoreOfOut;1.2.3入库界面public Object setSdata()tryString sq2="select * from InStore"Statement st=conn.createStatement();ResultSet result=st.executeQuery(sq2)
19、;Sdata=new ObjectRowColumn;int n=0;while(result.next()Sdatan0=result.getString(1).toString().trim();Sdatan1=result.getString(2).toString().trim();Sdatan2=result.getString(3).toString().trim();Sdatan3=result.getString(4).toString().trim();Sdatan4=result.getString(5).toString().trim();Sdatan5=result.g
20、etString(6).toString().trim();n+;result.close();st.close();return Sdata;catch(Exception e)e.printStackTrace();return Sdata;/向入库表中插入新的数据 public void goodsInserData(String gid,String gname,int gnum)tryString sql3="insert into InStore (商品编号,商品名称,入库数量,入库人,入库时间) values(?,?,?,?,getdate()"Prepare
21、dStatement ps=conn.prepareStatement(sql3);ps.setString(1, gid);ps.setString(2, gname);ps.setInt(3, gnum);ps.setString(4, inpeople);ps.executeUpdate();ps.close();catch(Exception e)e.printStackTrace();/判断库存表中是否有相同商品编号的商品存在public boolean isExistsGood(String gid)boolean flags=false;tryString sql4="
22、select * from StoreManage where 商品编号=?"PreparedStatement ps=conn.prepareStatement(sql4);ps.setString(1, gid);ResultSet result=ps.executeQuery();int i=0;while(result.next()i+;result.close();ps.close();if (i>0)/如果库存表中存在该商品的商品编号,则调用修改函数flags=true;return flags;else/若库存表中不存在则调用插入函数新插入一条数据return f
23、lags;catch(Exception e)e.printStackTrace();return flags;/若库存表中不存在则新建一条信息public void insertStoreManage(String gid,String gname,int gnum)tryString sql5="insert into StoreManage (商品编号,商品名称,库存量) values(?,?,?)"PreparedStatement ps=conn.prepareStatement(sql5);ps.setString(1, gid);ps.setString(2,
24、 gname);ps.setInt(3, gnum);ps.executeUpdate();ps.close();catch(Exception e)e.printStackTrace();/如果存在直接修改原有的数量/1、先获取原有的库存量public int getStoreNumber(String gid)int num=0;tryString sql6="select 入库数据 from StoreManage where 商品编号=?"PreparedStatement ps=conn.prepareStatement(sql6);ps.setString(1,
25、gid);/ps.executeQuery();ResultSet result=ps.executeQuery();while(result.next()num=result.getInt(1);result.close();ps.close();return num;catch(Exception e)e.printStackTrace();return num;/2、再修改库存量public void updateStoreManage(int count,String gid)tryint NUM=getStoreNumber(gid)+count;String sql7="
26、update StoreManage set 库存量=NUM where 商品编号=?"PreparedStatement ps=conn.prepareStatement(sql7);ps.setString(1,gid);/ps.setInt(1, count);/ps.setString(2, gid);ps.executeUpdate();ps.close();catch(Exception e)e.printStackTrace();/error!没有注意到出库表会存在多条相同的记录/向入库表模型中添加一条入库记录public void addStoreOnInStore(
27、String gid)Object newRow=new Object6;tryString sql8="select * from InStore where 商品编号=? and 入库编号=(select count(*) from InStore)"PreparedStatement ps=conn.prepareStatement(sql8);ps.setString(1,gid);ResultSet result=ps.executeQuery();while(result.next()newRow0= new Integer(result.getInt(1);n
28、ewRow1=result.getString(2).toString().trim();newRow2=result.getString(3).toString().trim();newRow3=new Integer(result.getInt(4);newRow4=result.getString(5).toString().trim();newRow5=result.getString(6).toString().trim();result.close();ps.close();/向表模式中添加一行新数据dtm1.addRow(newRow);catch(Exception e)e.p
29、rintStackTrace();1.2.4库存管理界面public Object setSData()tryString sql2="select * from StoreManage"Statement st=conn.createStatement();ResultSet result2=st.executeQuery(sql2);Sdata=new ObjectRowColumn;int n=0;while(result2.next()Sdatan0=result2.getString(1).toString().trim();Sdatan1=result2.get
30、String(2).toString().trim();Sdatan2=result2.getInt(3);n+;result2.close();st.close();return Sdata;catch(Exception e)System.out.println(e.getMessage();return Sdata;public void init()/先调用方法获得表头和二维表的表数据/this.setSData();/this.setHeader();this.setTitle("天涯仓库管理");this.setSize(700,300);this.setLoc
31、ation(300, 150);this.setLayout(new GridLayout(2,1);dtm1=new DefaultTableModel(Sdata,Sheader);jtable=new JTable(dtm1);pane1=new JScrollPane(jtable);jtable.setRowHeight(30);jtable.setGridColor(Color.blue);jp1.add(jlbl1);jp1.add(jtxt1);jp1.add(jlbl2);jp1.add(jtxt2);jp1.add(jlbl3);jp1.add(jtxt3);jp1.add
32、(btnupdate);jp1.add(btndel);btnupdate.addActionListener(this);btndel.addActionListener(this);jtable.addMouseListener(this);/dtm1.addTableModelListener(jtable);this.add(pane1);this.add(jp1);this.show();public boolean UpdateStoreDate1(String goodid,String goodname,int goodnum)boolean flags=false;trySt
33、ring Sql3="update StoreManage set 商品名称=?,库存量=? where 商品名称='goodid'"PreparedStatement ps=conn.prepareStatement(Sql3);ps.setString(1, goodname);ps.setInt(2, goodnum);ps.executeUpdate();flags=true;catch(Exception e)System.out.println(e.getMessage();return flags;/更新数据public boolean Upd
34、ateStoreDate(String goodid,String goodname,int goodnum)boolean flags=false;tryString Sql3="update StoreManage set 商品名称=?,库存量=? where 商品名称=?"PreparedStatement ps=conn.prepareStatement(Sql3);ps.setString(1, goodname);ps.setInt(2, goodnum);ps.setString(3, goodid);ps.executeUpdate();ps.close()
35、;flags=true;catch(Exception e)System.out.println(e.getMessage();return flags;/删除选中的数据public boolean DelStoreDate(String goodid)boolean flags=false;tryString sql4="delete from StoreManage where 商品编号=?"PreparedStatement ps=conn.prepareStatement(sql4);ps.setString(1, goodid);ps.executeUpdate(
36、);ps.close();flags=true;catch(Exception e)System.out.println(e.getMessage();return flags;/判断是否缺货public boolean IsDeletio()boolean flags=false;tryString sql5="select count(商品编号) from StoreManage where 库存量<=50"Statement st=conn.createStatement();ResultSet result=st.executeQuery(sql5);int
37、m=0;while(result.next()m+; /判断是否有商品缺失if (m>0)flags=true;catch(Exception e)System.out.println(e.getMessage();return flags;二、测试 1.1引言1.1.1编写目的 本软件是用来有效的管理超市仓库货物数量及种类,以方便超市工作人员可以全面的了解超市仓库库存货物数量和种类来方便高效的管理超市仓库。该项目可行性研究报告也是对超市仓库管理系统的全面考虑,是项目分析员进行进一步工作的前提,是软件开发人员成功的开发项目的前提.此分析研究报告可以使软件开发团体尽可能早的估计研制课题的可
38、行性,可以在定义阶段较早的认识到系统方案的缺陷,可以节省时间、财力和精力,并且避免了专业方面的困难.及早地预测项目的可行性,在可行的前提下获得最好的实施方案。1.1.2背景 本测试计划从属于商品存储管理系统。用户为中、小规模超市、商场。执行本测试前,应完成软件计划,需求分析,设计及编码工作。 1.1.3参考资料 需求分析文档,概要设计文档,详细设计文档,测试计划文档,程序清单。 李东生、崔冬华等编著的软件工程原理、方法和工具1.2测试结果及发现 本次测试采用黑盒法。主要依据需求分析文档和测试计划文档,以需求分析文档中的功能模块为单位,对编码人员提
39、交的成型系统进行测试。综合使用等价类划分法和其它方法。 1.2.1测试步骤身份验证。功能为:(1)对登录系统的用户进行身份合法性检查,要求输入帐号和密码。禁止身份信息不正确的用户登录;(2)当输入密码错误次数超过一定限制时(初定为3次)将自动关闭系统,以防止非法穷举入侵;(3)将成功的登录操作记入操作日志文件 1有效等价类:输入为用户信息表中保存的用户名和对应的密码。测试用例为:等价类编号用户名密码输出1曹冰洁cbj“登录正确”2李媛媛lyy“登录正确”3罗曼lm“登录正确”4熊婷xt“登录正确”5詹求芝zqz“登录正确”6系统管理员a705“登录正确”符合预期结果。通过“查询”功能检查操作日
40、志,发现已登记以上“登录数据库”操作及相应用户名密码。符合预期结果。2无效等价类:(1)用户名不在用户信息表中,密码在用户信息表中。测试用例为:用户名:曹冰密码: cbj点“确定”后,弹出“用户名和密码错误”对话框。符合预期结果。(2)用户名在用户信息表中,密码不在用户信息表中。测试用例为:用户名:曹冰洁密码: cb点“确定”后,弹出“用户名和密码错误”对话框。符合预期结果。(3)用户名和密码均在用户信息表中,但两者不匹配。测试用例为:用户名:曹冰洁密码: zqz点“确定”后,弹出“用户名和密码错误”对话框。符合预期结果。连续输入错误达3次时,登录对话框自动关闭。符合预期结果。商品入库登记。功
41、能为:(1)由条形码检测设备读入商品包装上的条形码,系统根据条形码搜索数据库中的商品信息文件,检查该商品基本信息是否已作登记;(2)若该商品信息未作登记,则填写该商品详细信息单,并提交给数据库,写入商品信息文件,再填写入库单;(3)若该商品信息已作登记,则直接填写入库单;(4)检查入库单的合法性:即检查表单中的输入信息是否具有非法字符,商品来源(供应商信息)是否合法;(5)若检查结果不合法,提示操作员重新输入;若检查结果合法,则根据申请内容对商品库存信息文件和入库文件进行更新,打印入库凭证,完成商品入库操作;(6)将成功的入库操作写入操作日志文件; 相关操作说明:在主界面点“入库”按钮后,弹出
42、“入库信息”对话框。“时间”框中将自动显示当前的系统时间,作为商品入库时间。“商品号”框待输入信息。其它框均为不可编辑状态。现向“商品号”框中输入一长度为12的数字字符串,模拟由条码读取设备读入的商品条码。假设实际使用环境中条码设备不会出错,即总是读出12位数字串,所以不必检查(模拟读入的)商品号的有效性。此时若点“添加”按钮,弹出对话框“请先运行查询操作!”,表示应先检查此商品基本信息是否已登记。因此测试中越过这一步,直接点“查询”按钮。按商品信息是否已登记,分两种情况:情况一:(模拟)读入的商品号已在商品信息表中,弹出对话框:“该商品已存在,请输入入库时的必要信息!”。“供应商号”,“类型
43、”,“商品名”,“存放地点”框中将显示此商品号在商品信息表中对应的属性值。“最大量”,“最小量”框中将显示此商品号在库存信息表中对应的属性值。余下的“入库量”,“有效期”,“采购员”由用户填写。测试用例:商品号:1,点“查询”按钮,可得以上相关信息。经检查,各显示属性与数据库中的值一致。1有效等价类: “入库量”为正整数,“有效期”为yyyy-mm-dd格式的日期,“采购员”为任意字符串(采购员名)。对上面的测试用例(商品号1),输入信息为:入库量:10; 有效期:2006-01-01; 采购员:李输出:“添加成功”经检查,数据库相关表都正确更新。符合预期结果。 2 无效等价类:(1)“入库量
44、”不是正整数。输出:“入库量应为正整数!”。符合预期结果。(2)“入库量”为空。输出:“入库量不可为空!”。符合预期结果。(3)“入库量”是正整数,但大于“最大量”框中的值。输出:“入库量不能大于最大量!”。符合预期结果。(4)“入库量”是正整数且小于“最大量”框中的值。但“采购员”和(或)“有效期”为空。输出:“入库信息不能有一项为空!”符合预期结果。(5)“入库量”是正整数且小于“最大量”框中的值。“采购员”非空。但“有效期”格式错。输出:“有效期应为yyyy-mm-dd格式!”符合预期结果。情况二:(模拟)读入的商品号不在商品信息表中,弹出对话框:“该商品为新商品,请输入入库时的必要信息
45、!”因是新商品,数据库中尚无相关信息。除“商品号”和“时间”以外的所有框都需用户填写。1 有效等价类:“入库量”为正整数且小于“最大量”;“供应商号”为供应商表中的“供应商号”(长度为4的数字串);“ 最大量”为长整形数; “有效期”为yyyy-mm-dd格式的日期;“类型” 在规定集合中取值(衣、食、用); “商品名”为任意字符串; “采购员”为任意字符串(采购员名); “最小量” 为长整形数;“存放地点”在规定集合中取值(0120);输出:“入库操作成功!”2 无效等价类:等价类(1)(3)与情况一中等价类(1)(3)输入输出相同。(4) “存放地点”不是规定集合中的值输出:“不可识别的存放地点!”(5) “有效期”格式错或为空输出:“有效期格式错!”(6)“供应商号”不是供应商表中的“供应商号”输出:“非法供应商号!”(7) “最大量”不是正整数输出:“最大量应为正整数!”(8) “类型”不是规定集合中的值输出:“不可识别的类型!”(9) “商品名”超长输出:“商品名”超长!”(10) “最小量”不是正整数输出:“最小量应为正整数!”(11) “存放地点”不是规定集合中的值输出:“不可识别的存放地点!”以上符合预期结果。入库操作后,经检查,入库信息表,商品信息表,库存信息表已正确更新。检查操作日志文件,发现成功的入库操作已登记。符合预期结果。商品出库登记。功能为:(1
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026无导游证领队人员导游资格考试历年参考题库含答案详解
- 2026新疆事业单位招聘考试(预防医学)历年参考题库含答案详解
- 超声波测距报警毕业设计课程设计
- 生物特征身份认证系统开发教程课程设计
- 图像灰度化与边缘检测程序图像解密课程设计
- 在线学习行为评估方法课程设计
- 边缘计算数据传输性能优化课程设计
- 垃圾邮件检测机器学习项目课程设计
- 抽样技术课程设计课题
- 车站调车工作课程设计
- 2026广东湛江市遂溪发展集团有限公司招聘15人(第二批)考试备考题库及答案详解
- 2026年重庆市部编版高一语文一轮复习第五单元文言文阅读测试题库试卷
- 2025秋新版道德与法治二年级上册教学工作计划及教学进度表
- 2026 年秋季开学:新时代教师师德师风建设专题培训
- GB/T 12008.3-2026塑料聚氨酯生产用聚醚多元醇第3部分:羟值的测定
- 电梯困人应急演练总结报告
- 2026年幼儿园新生家长会后勤园长
- 20S515 钢筋混凝土及砖砌排水检查井
- 西方园林史智慧树知到答案章节测试2023年内蒙古农业大学
- 生活垃圾焚烧发电厂项目施工组织设计
- TEERT 018-2021 金属抛光打磨用湿式除尘一体机
评论
0/150
提交评论