校园卡掌上管理系统编码与测试报告-第十组_第1页
校园卡掌上管理系统编码与测试报告-第十组_第2页
校园卡掌上管理系统编码与测试报告-第十组_第3页
校园卡掌上管理系统编码与测试报告-第十组_第4页
校园卡掌上管理系统编码与测试报告-第十组_第5页
已阅读5页,还剩14页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、校园卡掌上管理系统 -编码与测试报告 制作人: 曹 静 崔 文 傅小江 李国明 1、编码1.1部分代码1.1.1数据库实施阶段任务(1)建立数据库(校园卡管理系统)create database campuscard;建立数据表1) 用户信息表的建立 Create table tb_admin (Id int(10) not null primary key, username varchar(32) not null, password varchar(32) not null,type smallint(1) not null,createdate date not null ); 2)

2、校园卡信息表的建立 create table tb_card ( Id int(10) not null primary key, Stuid varchar(10) not null,cardid varchar(13) not null, password varchar(32) not null,balance double(5) not null,status int(1) not null,createdate date not null );3) 消费信息表的建立 Create table tb_consumption (Id int(10) not null primary ke

3、y, cardid varchar(13) not null, money doublae(5) not null,address varchar(32) not null,createdate date not null );4) 转账信息表的建立 Create table tb_recharge (Id int(10) not null primary key, cardid varchar(13) not null, money doublae(5) not null,createdate date not null );5) 学生信息表的建立 Create table tb_stude

4、nt (Id int(10) not null primary key,Stuid varchar(10) not null,Name varchar(32) not null, cardid varchar(18) not null,bankcard varchar(19) not null,createdate date not null );1.1.2实体类CardUsers类源代码package userGUI;public class CardUsers public String UserID;/用户编号 public String UserName;/用户名; public St

5、ring UserSex; public String UserPwd; public String UserType; public CardUsers(String UserID) this.UserID = UserID; public CardUsers(String UserID, String UserName, String UserSex, String UserPwd, String UserType) throws PwdShortException if(UserPwd.length()<6) throw (new PwdShortException(); else

6、 this.UserID = UserID; this.UserName = UserName; this.UserSex = UserSex; this.UserPwd = UserPwd; this.UserType = UserType; public String getUserID() return UserID; public void setUserID(String UserID) this.UserID = UserID; public String getUserName() return UserName; public void setUserName(String U

7、serName) this.UserName = UserName; public String getUserPwd() return UserPwd; public void setUserPwd(String UserPwd) throws PwdShortException if(UserPwd.length()<6) throw(new PwdShortException(); else this.UserPwd = UserPwd; public String getUserSdx() return UserSex; public void setUserSdx(String

8、 UserSdx) this.UserSex = UserSex; public String getUserType() return UserType; public void setUserType(String UserType) this.UserType = UserType; Override public String toString() return "用户编号=" + UserID + ", 姓名=" + UserName + ", 性别=" + UserSex + ", 密码=" + Use

9、rPwd + ", 身份=" + UserType ; CardUseRecords类源代码package operationGUI;public class CardUseRecords private long CardNo; private String UseItems; private double money; private String UseTime; public CardUseRecords(long cardNo, String item, double money, String time) this.CardNo = cardNo; this.U

10、seItems = item; this.money = money; this.UseTime = time; public long getCardNo() return CardNo; public String getUseItems() return UseItems; public String getUseTime() return UseTime; public double getMoney() return money; Override public String toString() return "卡号=" + CardNo + ", 名

11、目=" + UseItems + ", 费用=" + money + ", 时间=" + UseTime; SchoolCard类源代码package cardGUI;import javax.swing.JOptionPane;public class SchoolCard public int cardNo;/卡号 static int NextCardNo=111003200;/起始卡号 private String UserID;/卡所属的用户编号 private String password; private double bala

12、nce; private boolean isUsing; public SchoolCard() this.cardNo=NextCardNo+; public SchoolCard(String UserID, String password) this(); this.UserID = UserID; this.password = password; this.balance=0; this.isUsing=true; public static void setNextCardNo(int newStartNo) /设置起始卡号 SchoolCard.NextCardNo = new

13、StartNo; public int getCardNo() return cardNo; public String getUserID() /差卡的用户号 return UserID; public void setUserID(String uid) /设置卡的用户号 this.UserID = uid; public double getBalance() /查询余额 return balance; public String getPassword() return password; public void setPassword(String upwd) throws UseS

14、tateException if(check() this.password = upwd; else throw (new UseStateException(); public void deposit(double money) throws UseStateException if(check() this.balance=balance+money; else throw (new UseStateException(); public void consume(double money) throws UseStateException if(check() if(this.bal

15、ance>=money) this.balance=balance-money; else JOptionPane.showMessageDialog(null,"卡上余额不够消费,请先充值!"); else throw (new UseStateException(); public boolean getCardState() return isUsing; public void setState(boolean state) this.isUsing = state; public boolean check() if(this.isUsing) return

16、 true; else return false; Override public String toString() return "卡号=" + cardNo + ", 用户号=" + UserID + ", 密码=" + password + ", 余额=" + balance + ", 是否可用=" + isUsing ; 1.1.3实现数据库连接 package operationGUI;import java.sql.*;public class DBAccess private C

17、onnection conn=null; private Statement stmt=null; public ResultSet rs=null; private PreparedStatement prestmt=null; private String driver="sun.jdbc.odbc.JdbcOdbcDriver" private String url="jdbc:odbc:CardConn"/自定义数据源名 private String user="jane" private String pwd="1

18、23456" public String notes="数据库操作提示" /实例方法:实现数据库连接 public void dbconn() try Class.forName(driver); conn=DriverManager.getConnection(url, user, pwd); stmt=conn.createStatement(); catch (ClassNotFoundException ec) System.out.println(ec); catch (SQLException es) System.out.println(es); c

19、atch (Exception ex) System.out.println(ex); /实现数据库查询并返回查询记录 public ResultSet dbSelect(String selString) try rs=stmt.executeQuery(selString); catch (SQLException es) System.out.println(es); notes="数据库查询出现异常" return rs; /数据库更新 public String dbUpdate(String updateString) try prestmt=conn.prep

20、areStatement(updateString); prestmt.executeUpdate(); notes="记录更新成功" catch (SQLException es) System.out.println(es); notes="数据库更新出现异常" return notes; /插入数据 public String dbinsert(String insertString) try prestmt=conn.prepareStatement(insertString); prestmt.executeUpdate(); notes=&q

21、uot;插入记录成功" catch (SQLException es) System.out.println(es); notes="数据库插入出现异常" return notes; /删除 public String dbDelete(String delString) try prestmt=conn.prepareStatement(delString); prestmt.executeUpdate(); notes="删除成功" catch (SQLException es) System.out.println(es); notes=

22、"数据库删除现异常" return notes; /关闭数据库 public void dbclose() if(conn!=null) try rs.close(); stmt.close(); conn.close(); catch (Exception e) 1.2 系统主界面的截图。校园卡管理界面校园卡管理主要功能是对校园卡信息进行查询,开户销户等功能的操作。图1登录界面1.3系统部分功能界面的截图。图2 个人信息查询界面图3 修改密码界面图4 开户界面图5销户界面图6 丢失界面图7 补办界面图8 校园卡信息查询界面2、测试2.1测试分析用户登录界面/确定

23、按钮代码private void jBtnOKActionPerformed(java.awt.event.ActionEvent evt) if(jRadioButtonp.isSelected() chtype="普通用户" else chtype="管理员" db.dbconn(); sql="select * from CardUsers" db.dbSelect(sql); try while(db.rs.next() System.out.println("b");/如果用户号,密码,身份相符 if(t

24、xtUID.getText().equals(db.rs.getString("UserID") && String.valueOf(txtPWD.getPassword().equals(db.rs.getString("UserPwd") && chtype.equals(db.rs.getString("UserType") /显示用户名,并新建当前用户对象,存储有关信息。 currentuser=new CardUsers(txtUID.getText(); currentuser.UserPw

25、d= String.valueOf(txtPWD.getPassword(); currentuser.UserID=txtUID.getText(); currentuser.UserType=chtype; currentuser.UserName=db.rs.getString("UserName"); jlbnote.setText("欢迎你:"+currentuser.UserName+"!");System.out.println("b"); new SchoolCardMainGUI(currentu

26、ser).setVisible(true);System.out.println("c");/主界面 this.dispose(); db.dbclose(); else jlbnote.setText("账号,密码,身份不符,请检查输入信息是否正确!"); catch (SQLException e) System.err.print(e.toString(); db.dbclose(); 主界面用户信息录入界面/添加用户代码 private void jbtnAddActionPerformed(java.awt.event.ActionEvent

27、evt) try Connection con=DriverManager.getConnection("jdbc:odbc:CardConn","jane","123456"); java.sql.Statement sql=con.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE); ResultSet rs=sql.executeQuery("SELECT * FROM CardUsers"); while(r

28、s.next() if(rs.getString(1).equals(jtxtUserID.getText() break; if(rs.isAfterLast()=false) JOptionPane.showMessageDialog(this,"已经添加此用户!"); else m.removeAllElements(); CheckValiddate ck=new CheckValiddate(jtxtUserID); if(ck.check(0) String uid=jtxtUserID.getText(); String uname=jtxtUserName.

29、getText(); String upwd=jtxtPwd.getText(); try user=new CardUsers(uid,uname,usex,upwd,utype); /userlist.add(user); m=new DefaultListModel(); catch(PwdShortException e) userlist.add(user); for(int j=0;j<userlist.size();j+) m.addElement(userlist.get(j); jlistUser.setModel(m); /*数据库操作* sqls="ins

30、ert into CardUsers values ('"+uid+"','"+uname+"','"+usex+"','"+upwd+"','"+utype+"')" dbo.DBoperation(sqls, 2); catch (SQLException ex) Logger.getLogger(DBUserEditnew.class.getName().log(Level.SEVERE, null,

31、 ex); 修改密码 /确定按钮响应事件代码 private void jbtnOKActionPerformed(java.awt.event.ActionEvent evt) CheckValiddate ck=new CheckValiddate(txtPwdnew); if(ck.check(0) && txtPwdnew.getText().length()>=6) if(txtPwdnew.getText().equals(txtPwdNA.getText() db.dbconn(); String sql="update CardUsers set

32、 UserPwd='"+txtPwdnew.getText()+"'where UserID='"+currentuser.UserID+"'" db.dbUpdate(sql); db.dbclose(); jlbnote.setText("修改密码成功!"); / JOptionPane.showMessageDialog(this, "chenggong", "tishi",JOptionPane.WARNING_MESSAGE); else jl

33、bnote.setText("两次输入密码不一致!"); 2.2黑盒测试void mima()char a7,b="533159"int i,j;for (j=1;j<=3;j+)/for循环来控制密码登陆次数,次数为三次printf("tt请输入密码:");for (i=0;i<6;i+)ai=getch();if(ai=8) i=i-2;printf("b b");elseif (ai=13)break;printf("*");ai='0'printf("n");if (strcmp(a,b)=0)/比较两个字符串的大小,两个字符串相同时返回0.printf("密码正确n");break;elseprintf("tt输入密码错误!请重新输入:n");本程序代码功能

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论