您好,欢迎访问三七文档
淮海工学院计算机工程学院课程设计报告设计名称:面向对象课程设计选题名称:校园卡管理系统姓名:学号:专业班级:软件工程软件102系(院):计算机工程学院设计时间:2012.6.11~2009.6.28设计地点:软件实验室、教室指导教师评语:签名:年月日成绩:面向对象课程设计报告第2页,共20页1.课程设计目的《面向对象程序设计》是一门实践性很强的计算机专业基础课程,课程设计是学习完该课程后进行的一次较全面的综合练习。其目的在于通过实践加深学生对面向对象程序设计的理论、方法和基础知识的理解,掌握使用Java语言进行面向对象设计的基本方法,提高运用面向对象知识分析实际问题、解决实际问题的能力。2.课程设计任务与要求:基本任务是使得学生通过课程设计掌握利用java进行底层的网络应用程序设计、多媒体应用设计、JDBC编程的基本方法,学会综合利用awt包和Swing组件包进行图形用户界面的设计,同时,对java的事件委托模型、异常处理机制、包和接口的概念及多线程技术有比较熟练的把握。本课程设计的选题:校园卡管理系统,模拟了校园卡系统的一些功能.课程设计可选用Eclipse、JBuilder、NetBeans等作为开发平台以提高开发效率,尽可能熟练掌握其中一种集成开发环境。建议采用UML建模技术进行系统的分析设计,在Visio中画出系统用例图和类图,并将UML图复制到设计报告中。(1)每位同学通过智能教学平台需提交可独立运行的应用程序,要求程序书写规范,源程序需加必要的注释;(2)每位同学需独立提交书面设计报告书(每人一份),要求编排格式统一、规范、内容充实,同时通过教学平台提交设计报告电子版;设计报告书封面和正文格式要符合淮海工学院课程设计报告书封面与正文标准格式要求,设计报告内容不少5000字。其正文一般应包括需求分析、概要设计、详细设计、调试分析、运行界面(附主要代码)、测试结果、附录或参考资料、心得体会等内容。(3)提交日期:第20周周一(2009年6月29日)之前。3.课程设计说明书1、需求分析(用例图)课题:校园卡管理系统(1)。选题意义近年来,由于国家在教育方面的投入越来越大,而且越来越多的人意识到教育的重要性,以及高校扩招。导致在校学生越来越多,这就意味着校园卡的是用越来越多,加大了校园卡的管理难度,那么设计一套能够行之有效的对管理校园卡进行管理的校园卡管理系统是非常有必要的。所以,我觉得做校园卡管理系统非常有意义。(2)。功能介绍校园卡管理系统主要有两类用户,一是系统管理员,负责对校园卡系统信息进行管理,可以实现用户信息维护,办理新卡,卡挂失/卡重置,修改密码,冲值统计,消费统计,查询信息等操作。二是普通用户,可以实现修改密码,冲值,消费,余额查询,查询个人消费和冲值记录等操作。(3)。根据系统分析画出如下用例图面向对象课程设计报告第3页,共20页校园卡管理系统管理员普通用户身份验证用户管理办理新卡修改密码充值消费查询余额挂失重置信息查询2、概要设计(类图)用户类CardUsers的类图校园卡类SchoolCard类的类图面向对象课程设计报告第4页,共20页校园卡使用记录类CardUserRecords的类图3、详细设计(类的设计,数据库)数据库设计根据UML图,写出Java程序的代码举例面向对象课程设计报告第5页,共20页实体类CardUsers类源代码packageuserGUI;publicclassCardUsers{publicStringUserID;//用户编号publicStringUserName;//用户名;publicStringUserSex;publicStringUserPwd;publicStringUserType;publicCardUsers(StringUserID){this.UserID=UserID;}publicCardUsers(StringUserID,StringUserName,StringUserSex,StringUserPwd,StringUserType)throwsPwdShortException{if(UserPwd.length()6)throw(newPwdShortException());else{this.UserID=UserID;this.UserName=UserName;this.UserSex=UserSex;this.UserPwd=UserPwd;this.UserType=UserType;}}publicStringgetUserID(){returnUserID;}publicvoidsetUserID(StringUserID){this.UserID=UserID;}publicStringgetUserName(){returnUserName;}publicvoidsetUserName(StringUserName){this.UserName=UserName;}publicStringgetUserPwd(){returnUserPwd;}面向对象课程设计报告第6页,共20页publicvoidsetUserPwd(StringUserPwd)throwsPwdShortException{if(UserPwd.length()6)throw(newPwdShortException());elsethis.UserPwd=UserPwd;}publicStringgetUserSdx(){returnUserSex;}publicvoidsetUserSdx(StringUserSdx){this.UserSex=UserSex;}publicStringgetUserType(){returnUserType;}publicvoidsetUserType(StringUserType){this.UserType=UserType;}@OverridepublicStringtoString(){return用户编号=+UserID+,姓名=+UserName+,性别=+UserSex+,密码=+UserPwd+,身份=+UserType;}}CardUseRecords类源代码packageoperationGUI;publicclassCardUseRecords{privatelongCardNo;privateStringUseItems;privatedoublemoney;privateStringUseTime;publicCardUseRecords(longcardNo,Stringitem,doublemoney,Stringtime){this.CardNo=cardNo;this.UseItems=item;this.money=money;this.UseTime=time;}面向对象课程设计报告第7页,共20页publiclonggetCardNo(){returnCardNo;}publicStringgetUseItems(){returnUseItems;}publicStringgetUseTime(){returnUseTime;}publicdoublegetMoney(){returnmoney;}@OverridepublicStringtoString(){return卡号=+CardNo+,名目=+UseItems+,费用=+money+,时间=+UseTime;}}SchoolCard类源代码packagecardGUI;importjavax.swing.JOptionPane;publicclassSchoolCard{publicintcardNo;//卡号staticintNextCardNo=111003200;//起始卡号privateStringUserID;//卡所属的用户编号privateStringpassword;privatedoublebalance;privatebooleanisUsing;publicSchoolCard(){this.cardNo=NextCardNo++;}publicSchoolCard(StringUserID,Stringpassword){this();this.UserID=UserID;this.password=password;this.balance=0;this.isUsing=true;}publicstaticvoidsetNextCardNo(intnewStartNo){//设置起始卡号SchoolCard.NextCardNo=newStartNo;}面向对象课程设计报告第8页,共20页publicintgetCardNo(){returncardNo;}publicStringgetUserID(){//差卡的用户号returnUserID;}publicvoidsetUserID(Stringuid){//设置卡的用户号this.UserID=uid;}publicdoublegetBalance(){//查询余额returnbalance;}publicStringgetPassword(){returnpassword;}publicvoidsetPassword(Stringupwd)throwsUseStateException{if(check())this.password=upwd;elsethrow(newUseStateException());}publicvoiddeposit(doublemoney)throwsUseStateException{if(check())this.balance=balance+money;elsethrow(newUseStateException());}publicvoidconsume(doublemoney)throwsUseStateException{if(check()){if(this.balance=money)this.balance=balance-money;elseJOptionPane.showMessageDialog(null,卡上余额不够消费,请先充值!);}elsethrow(newUseStateException());}publicbooleangetCardState(){returnisUsing;}publicvoidsetState(booleanstate){this.isUsing=state;}publicbooleancheck(){if(this.isUsing)面向对象课程设计报告第9页,共20页returntrue;elsereturnfalse;}@OverridepublicStringtoString(){return卡号=+cardNo+,用户号=+UserID+,密码=+password+,余额=+balance+,是否可用=+isUsing;}4.编程实现实现数据库连接packageoperationGUI;importjava.sql.*;publicclassDBAccess{privateConnectionconn=null;privateStatementstmt=null;publicResultSetrs=null;privatePreparedStatementprestmt=null;privateStringdriver=sun.jdbc.odbc.JdbcOdbcDriver;privateStringurl=jdbc:odbc:CardConn;//自定义数据源名privateStringuser=jane;privateStringpwd=123456;publicStringnotes=数据库操作提示;//实例方法:实现数据库连接publicvoiddbconn(){try{Class.for
本文标题:校园卡管理系统
链接地址:https://www.777doc.com/doc-4374451 .html