1、软件工程课程设计编码与测试淮海工学院计算机工程学院实验报告书课程名: 软件工程 题 目: 图着色理论在仓库系统中的应用 编码和测试 班 级: 网络122 学 号: 2012122683 姓 名: 叶婷 1、实验目的与要求(1)选定项目中以模块,给出详细设计结果与C语言代码,对其使用白盒和黑盒测试技术设计若干测试用例。然后,使用测试用例进行实际测试操作实验,并给出测试结果;(2)了解一些典型的自动化测试软件和方法,建议有条件可下载、安装Mercury Interactive公司的负载测试工具LoadRunner、功能测试工具WinRunner和测试管理工具TestDirector;IBM-Rat
2、ional公司的测试套件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; try int count=0; String sql1=select 员工号 from Users where 员工号=?; Prepar
4、edStatement ps=conn.prepareStatement(sql1); ps.setString(1, (String)id); ResultSet result=ps.executeQuery(); while(result.next() count=result.getRow(); result.close(); ps.close(); if (count0) this.UID=id; flags=true; getInfo(id); return flags; else error.errorDialog(String)id); catch(Exception e) e.
5、printStackTrace(); return flags; /根据工号分别获取对应的的信息 public void getInfo(String uid) try String sql2=select 员工姓名,密码,员工类型,是否员工 from Users where 员工号=?; PreparedStatement pps=conn.prepareStatement(sql2); pps.setString(1,uid); ResultSet result=pps.executeQuery(); while(result.next() name=result.getString(1)
6、.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,String type) boolean
7、isEmploy=false; try if (id.equals(UID) & pwd.equals(password) & type.equals(employtype) isEmploy=true; return isEmploy; else return isEmploy; catch(Exception e) e.printStackTrace(); return isEmploy; /判断用户是否已经通过管理员的审核 public boolean Y_NEmply() boolean isE=false; if (this.emplooy.equals(是) System.out.
8、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() try String sql2=select * from OutStore; Statement st=conn.createStatement(); ResultSet result=st.executeQuery
9、(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).toString().trim(); Sdata2n4=result.getString(5).toString().t
10、rim(); 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; try int count=0; String sql3=select count(商品编号) from StoreMana
11、ge where 商品编号=?; PreparedStatement ps=conn.prepareStatement(sql3); ps.setString(1, gid); ResultSet result=ps.executeQuery(); while(result.next() count+; result.close(); ps.close(); if (count0) flags=true; return flags; else return flags; catch(Exception e) e.printStackTrace(); return flags; /判断库存表中的
12、库存量是否满足出库的笨条件 public boolean lookNumber(String gid,int number) boolean flags=false; try int num=0; String sql4=select 库存量 from StoreManage where 商品编号=?; PreparedStatement ps=conn.prepareStatement(sql4); ps.setString(1, gid); ResultSet result=ps.executeQuery(); while(result.next() num=result.getInt(1
13、); result.close(); ps.close(); if (number0) /如果库存表中存在该商品的商品编号,则调用修改函数 flags=true; return flags; else /若库存表中不存在则调用插入函数新插入一条数据 return flags; catch(Exception e) e.printStackTrace(); return flags; /若库存表中不存在则新建一条信息 public void insertStoreManage(String gid,String gname,int gnum) try String sql5=insert int
14、o StoreManage (商品编号,商品名称,库存量) values(?,?,?); PreparedStatement ps=conn.prepareStatement(sql5); ps.setString(1, gid); ps.setString(2, gname); ps.setInt(3, gnum); ps.executeUpdate(); ps.close(); catch(Exception e) e.printStackTrace(); /如果存在直接修改原有的数量 /1、先获取原有的库存量 public int getStoreNumber(String gid) i
15、nt num=0; try String sql6=select 入库数据 from StoreManage where 商品编号=?; PreparedStatement ps=conn.prepareStatement(sql6); ps.setString(1,gid); /ps.executeQuery(); ResultSet result=ps.executeQuery(); while(result.next() num=result.getInt(1); result.close(); ps.close(); return num; catch(Exception e) e.p
16、rintStackTrace(); return num; /2、再修改库存量 public void updateStoreManage(int count,String gid) try int NUM=getStoreNumber(gid)+count; String sql7=update StoreManage set 库存量=NUM where 商品编号=?; PreparedStatement ps=conn.prepareStatement(sql7); ps.setString(1,gid); /ps.setInt(1, count); /ps.setString(2, gi
17、d); ps.executeUpdate(); ps.close(); catch(Exception e) e.printStackTrace(); /error!没有注意到出库表会存在多条相同的记录 /向入库表模型中添加一条入库记录 public void addStoreOnInStore(String gid) Object newRow=new Object6; try String sql8=select * from InStore where 商品编号=? and 入库编号=(select count(*) from InStore); PreparedStatement ps=conn.prepareStatement(sql8); ps.setStrin
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1