110831127倪现军软件081班.doc_第1页
110831127倪现军软件081班.doc_第2页
110831127倪现军软件081班.doc_第3页
110831127倪现军软件081班.doc_第4页
110831127倪现军软件081班.doc_第5页
已阅读5页,还剩14页未读 继续免费阅读

下载本文档

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

文档简介

淮 海 工 学 院 计算机工程学院课程设计报告设计名称: 面向对象课程设计 选题名称: 图书信息管理 姓 名: 倪现军 学 号: 110831127 专业班级: 软件工程 软件081 系 (院): 计算机工程学院 设计时间: 2010.6.212010.7.2 设计地点: 软件实验室、教室 成绩:指导教师评语: 签名: 年 月 日面向对象课程设计报告 第 19 页,共 19 页1课程设计目的面向对象程序设计是一门实践性很强的计算机专业基础课程,课程设计是学习完该课程后进行的一次较全面的综合练习。其目的在于通过实践加深学生对面向对象程序设计的理论、方法和基础知识的理解,掌握使用Java语言进行面向对象设计的基本方法,提高运用面向对象知识分析实际问题、解决实际问题的能力。2课程设计任务与要求:课程设计可选用NetBeans、Eclipse、JBuilder等作为开发平台以提高开发效率,尽可能熟练掌握其中一种集成开发环境。建议采用UML建模技术进行系统的分析设计,在Visio中画出系统用例图和类图,并将UML图复制到设计报告中。通过这次设计,要求掌握以下内容:1)面向对象技术中的继承与多态(重载和覆盖)机制、各种修饰符的使用2)类、包、接口的定义与使用3)常用工具类与算法的实现(数组、向量、字符串、链表)4)Java常用标准GUI组件及其事件处理5)Java的异常处理机制6)Java的数据库连接技术7)Java的多线程技术与动画制作8)Java的网络编程 (1) 每位同学通过智能教学平台需提交可独立运行的应用程序,要求程序书写规范,源程序需加必要的注释;(2) 每位同学需独立提交书面设计报告书(每人一份),要求编排格式统一、规范、内容充实,同时通过教学平台提交设计报告电子版;设计报告书封面和正文格式要符合淮海工学院课程设计报告书封面与正文标准格式要求,设计报告内容不少5000字。其正文一般应包括需求分析、概要设计、详细设计、调试分析、运行界面(附主要代码)、测试结果、附录或参考资料、心得体会等内容。 (3) 提交日期: 2009年7月5日 之前。3课程设计说明书1、需求分析(用例图) 功能分析: 2、概要设计(类图)3、详细设计(类的设计,数据库) 个人信息表:用户编号,姓名,性别,密码,类型图书表:图书编号,书名,作者,类型,出版社,入库时间,是否借出图书借阅表:用户编号,图书编号,借出时间,结束地点,还书时间,超期罚款。4编程实现核心代码摘录: /数据库连接类/package tsxxgl;import java.sql.*;public class AccessConnection public AccessConnection() static Connection getCon()/数据库连接Connection con = null;String url=jdbc:odbc:MS Access Database;DBQ=H:javaKECHENGSHEJItushuguanli.mdb;try Class.forName(sun.jdbc.odbc.JdbcOdbcDriver);con=DriverManager.getConnection(url);/try/Class.forName(sun.jdbc.odbc.JdbcOdbcDriver);/con=DriverManager.getConnection(jdbc:odbc:Database,gxy,123);catch(Exception e)System.out.println(连接数据库出错;+e);return con;/数据库操作类package tsxxgl;import java.sql.*;import java.util.Vector;import javax.swing.*;/import javax.swing.JOptionPane;public class ConnectionOperation private static Connection con = null; private static Statement sql = null; private static ResultSet rs = null; public static void update(String update)/数据表更新 try con = AccessConnection.getCon(); sql = con.createStatement(); sql.executeUpdate(update); con.close(); / JOptionPane.showMessageDialog(null,成功!); catch(SQLException e)System.out.println(更新出错:+e); / public static Object getRecord(String str) /返回数据集的对象数组 Object record = null;/定义数组对象 Vector v = new Vector();申请向量 / 保存结果集的列数和行数 int col = 0; int row = 0; try con = AccessConnection.getCon(); sql = con.createStatement(); rs=sql.executeQuery(str); / 从ResultSet对象的元数据中的获得列数信息 col = rs.getMetaData().getColumnCount();/返回记录集的列 while(rs.next() Object vx = new Objectcol; for (int c = 0; c col; c+) / 据字段索引获取该字段的内容(索引从1开始) vxc = rs.getObject(c + 1); v.add(vx); / 获得结果集中的记录数 row = v.size();/行 / 初始化二维数组的大小 record = new Objectrowcol; / 引用二维数组 record = v.toArray(record); con.close(); catch(SQLException e) System.out.println(更新出错:+e); return record; / JOptionPane.showMessageDialog(null,已经被从图书信息中删除!); / public static String query(String str) /查询数据表获取字符串数据 String anwser1=new String1010;/anwser2=new String1010; int i=0 ; try con = AccessConnection.getCon(); sql = con.createStatement(); rs=sql.executeQuery(str); while(rs.next() i+; anwser1i1=rs.getString(1); anwser1i2=rs.getString(2); anwser1i3=rs.getString(3); anwser1i4=rs.getString(4); anwser1i5=rs.getString(5); con.close(); catch (SQLException e4)System.out.println(查询 出错; + e4); return anwser1; / JOptionPane.showMessageDialog(null,查成功!); /public static boolean f_isTrue(String str)/查询数据表,判断是否存在记录 boolean m=false; try con = AccessConnection.getCon(); sql = con.createStatement(); rs=sql.executeQuery(str); if(rs.next() m=true; /JOptionPane.showMessageDialog(null,查成功!); con.close(); catch (SQLException e4)System.out.println(查询 出错; + e4); return m; /计算两个时间的相隔天数package tsxxgl;import java.util.*;public class jiSuanTianShu public static long tianShu(String s1,String s2) /计算两个时间的相隔天数;StringTokenizer fenxi=new StringTokenizer(s1,);int str=new int4;int i=0;while(fenxi.hasMoreTokens() String m= fenxi.nextToken(); stri=Integer.parseInt(m);/将每个字符储存在字符数组中 System.out.println( stri); i+; StringTokenizer fen=new StringTokenizer(s2,);int str2=new int4; int i2=0; while(fen.hasMoreTokens() String m= fen.nextToken(); str2i2=Integer.parseInt(m); 将每个字符储存在字符数组中 System.out.println( str2i2); i2+; / System.out.println( str20+ +str21+ +str22); Calendar calendar=Calendar.getInstance();获得日历对象 calendar.set(str0,str1,str2);设计时间 long time1=calendar.getTimeInMillis();/得到秒数 calendar.set(str20,str21,str22); /设计时间 long time2=calendar.getTimeInMillis();/得到秒数 long tianshu=(time2-time1)/(1000*60*60*24);/计算相隔天数 System.out.println(+s2+与+s1+相隔天数:+tianshu); return tianshu; 全部的程序结果文件见“4课程设计成果”5、用户使用说明首先进入denglu.java登陆界面,管理员:倪现军,密码:23 读者:小丽 ,密码:1。然后进入图书系统主界面,进行各种操作。6、附录或参考资料 Java 2 使用教程(第三版)耿祥义 张跃平 编著; JDK6API中文参考手册沈东良制;施郡老师的课件。4课程设计成果 管理员进入界面 点击图片,变换图片1点击读者信息维护菜单,进入增加用户增加此用户就显示更新11831102如果更新11用户编号删除110831102 点击是就删除了点击返回按钮,返回主界面;2点击图书信息维护菜单,进入,增加图书更新图书删除旧书点击是删除图书3点击返回按钮到主界面,然后点击密码修改菜单写入现在的密码,修改过去的密码,比如24 点击返回按钮到主界面,进入借书界面选择书名,借书地点点击确定借书成功返回主界面,进入还书界面 返回主界面,进入按编号查询个人信息按编号查询个人借阅信息按姓名查询个人信息返回主界面,进入图书检索界面按书编号查询:1按书名查询 大学英语按作者 张三按书名和作者 :日语,张三按书名和出版社;java,清华出版社按书名模糊查询;语按是否在馆查询:1按是否在馆:0点击返回到主界面,进入关于菜单下面登陆读者界面读者界面少了图书信息维护和读者信息维护,其他基本一样!5.课程设计心得 这个课程设计开始,我就开始设计用例图,分析读者和管理员的各种功能,在施老师帮助下,自己对问题理解,分析更加清楚。然后我就设计三张表,图书表,用户表,图书借阅表,下面就是进行界面设计阶段,感觉我在这阶段花了不少了时间,开始实现各种功能。然后就是美工了啊,我增加图片和颜色使界面迅速漂亮起来,简直美极了! 我使用NetBeans设计界面,经过这次课程设计,边学NetBeans边编程,开始不容易,在完成一个数据库连接后就是豁然开朗,逐渐学会了NetBeans的使用和操作。 我在这次课程设计中最自豪的是:自己编写了计算两个时间的相隔天数的类方法(jiSuanTianS

温馨提示

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

评论

0/150

提交评论