Java课程设计

上传人:汽*** 文档编号:556869086 上传时间:2023-11-12 格式:DOC 页数:46 大小:775.08KB
返回 下载 相关 举报
Java课程设计_第1页
第1页 / 共46页
Java课程设计_第2页
第2页 / 共46页
Java课程设计_第3页
第3页 / 共46页
Java课程设计_第4页
第4页 / 共46页
Java课程设计_第5页
第5页 / 共46页
点击查看更多>>
资源描述

《Java课程设计》由会员分享,可在线阅读,更多相关《Java课程设计(46页珍藏版)》请在金锄头文库上搜索。

1、 淮 海 工 学 院 计算机工程学院课程设计报告设计名称: 面向对象课程设计 选题名称: 基于C/S的图书查询系统的实现 姓 名: 学 号: 专业班级: 系 (院): 计算机工程学院 设计时间: 2014.3.122014.4.10 设计地点: 软件实验室、教室 成绩:指导教师评语: 签名: 年 月 日面向对象课程设计报告 第 24 页,共 46 页1课程设计目的面向对象程序设计是一门实践性很强的计算机专业基础课程,课程设计是学习完该课程后进行的一次较全面的综合练习。其目的在于通过实践加深学生对面向对象程序设计的理论、方法和基础知识的理解,掌握使用Java语言进行面向对象设计的基本方法,提高运

2、用面向对象知识分析实际问题、解决实际问题的能力。2课程设计任务与要求:课程设计可选用NetBeans、Eclipse、JBuilder等作为开发平台以提高开发效率,尽可能熟练掌握其中一种集成开发环境。建议采用UML建模技术进行系统的分析设计,在Visio中画出系统用例图和类图,并将UML图复制到设计报告中。通过这次设计,要求掌握以下内容:1) 面向对象技术中的继承与多态(重载和覆盖)机制、各种修饰符的使用2) 类、包、接口的定义与使用3) 常用工具类与算法的实现(数组、向量、字符串、链表)4) Java常用标准GUI组件及其事件处理5) Java的异常处理机制6) Java的数据库连接技术7)

3、 Java的多线程技术与动画制作8) Java的网络编程设计选题:基于C/S的图书查询系统的实现 包括客户端程序和服务器端程序。客户端程序向服务器端提出请求:比如提供图书的作者名,服务器端收到后,在数据库系统中查询到相关信息,发回客户端。3课程设计说明书一、 需求分析基于C/S的图书查询系统的开发目的是为了提高查询效率。选用Java开发工具可以提高查询系统的移植性和兼容性。系统主要功能是实现读者对图书信息进行准确、快速查阅。因此系统主要针对以下四方面的需求进行设计:1. 图书信息管理:涉及图书基本信息的添加、删除、修改;读者可以根据书名、作者、出版社、书号等关键字检索所需要的图书2. 读者信息

4、管理:涉及读者基本信息的录入、修改、删除;可以根据读者的证号、姓名等信息查询到读者,读者登录到系统后能够修改自己的联系方式等信息3. 借书还书管理:实现图书的借还功能,根据读者借书证号和书号将图书借给读者,根据图书条形码归还图书。 4. 系统信息管理:涉及管理员用户与系统参数的管理和维护,如设置图书的借期、数量、超期每天罚款金额等 二、概要设计 1、系统结构 基于C/S的图书查询系统分为服务器和客户端两个部分。服务器负责监听客户请求,如提供图书的作者名等,并将查询的结果通过网络发回客户端。而客户端主要负责构建图形用户界面,编写事件处理方法,在事件处理的方法体中发送请求并接收服务器端传来的数据。

5、 系统采用C/S结构,利用服务器和客户端的Socket通信机制完成信息的传递,数据库用来统计图书信息,因为主要涉及信息表格,所以选用Access实现数据库功能。因此系统总共由服务器、客户端和数据库三部分组成。2、各模块设计a)服务器(1)创建一个等待连接的ServerSocket对象。 (2)调用ServerSocket对象的accept()方法侦听接受客户端的连接请求。当侦听到一个客户的请求时,连接成功,并返回一个Socket对象。 (3)创建与Socket对象绑定的输入输出流,并建立相应的数据输入输出流。 (4)通过数据输入输出流与客户端进行数据读写,完成双向通信。 (5)当客户端断开连接

6、时,关闭各个流对象,结束通信。该部分主要由Server、ServerThread和GetConnection3个类组成。b)客户端(1)创建指定服务器上指定端口号的Socket对象。 (2)创建与Socket对象绑定的输入输出流,并建立相应的数据输入输出流。 (3)通过数据输入输出流与服务器端进行数据读写,完成双向通信。 (4)通过调用close()方法关闭与服务器端的连接,并关闭各个流对象,结束通信。 该部分由Client、login、BookRetrieve、SocketIO、add_book、del_book、add_user、view_user、del_user、ManagerFram

7、e10个类组成。c)Access数据库 建立Access数据库“图书信息”,在其中建立数据表“图书信息表”、“user” 等表,分别用于存放图书信息、用户信息等。 向表中录入适量数据,然后配置ODBC数据源“bookinfo”,与图书信息数据库建立关联,以便在程序中通过JDBC-ODBC桥来访问数据。登录删除图书添加图书查询图书管理员一般用户删除图书增加用户查询用户描述系统功能的用例图二、 详细设计由于本系统将通过具有各功能的类来实现各方面需求以及各模块的作用,所以接下来先介绍各类的详细设计。1、各类设计1)Server类 服务器模块主要通过这个类来实现,因此Server类为服务器端的主控类,

8、包括main()方法。为了能更好地与客户端建立连接和进行通信,需要在main()方法中创建ServerSocket对象,来监听来自客户端的连接和通信请求。类图: 2)ServerThread类 即线程类Thread的子类,主要负责服务器端与客户端的通信连接和数据传输,必要时保存数据查询结果。A. ServerThread类的主要成员变量a) s为Socket类的对象,其值从Server对象传入,该变量负责与客户端的通信连接。b) in为DataInputStream的对象,用其readUTF()方法接受来自客户端的数据。c) out为DataOutputStream的对象,用其writeUTF

9、()方法将数据发回客户端。d) con为Connection的对象,用于建立与数据源的连接。e) rs为ResultSet的对象,用于保存服务器端的数据查询结果。B. ServerThread类的主要方法a) ServerThread()为构造方法,用来初始化s,并创建in、out和con成员变量。b) run()方法为ServerThread类实现多线程的方法。通过Socket对象s,借助于输入、输出流对象in、out,完成接收客户端的数据请求,并在服务器端进行JDBC数据访问,然后将处理结果发送给客户端。 类图: 3)GetConnection类 利用该类对与数据源的连接信息进行封装。主要

10、负责通过JDBC来建立数据库的连接。A. GetConnection类的成员变量a) url是字符串变量,保存JDBC协议的URL信息。b) Driver是字符串变量,保存JDBC驱动程序名称的信息。c) con是Connection的对象,用于建立数据库的连接。B. GetConnection类的方法a) GetConnection()是构造方法,用来创建con对象。b) getConnection类是成员方法,用来返回con对象。类图: 4)SocketIO类 通过该类完成在客户端程序中与服务器端进行数据传输。A. SocketIO类的成员变量a) s是Socket的对象,用于和服务器端进

11、行套接字连接。b) in是DataInputStream对象,用于读取服务器端发来的数据。c) out是DataOutputStream对象,用于向服务器端发送数据。B. SocketIO类的方法a) SocketIO()是构造方法,用来创建s、in、out对象。b) getIn()是成员方法,用来返回in对象。c) getOut()是成员方法,用来返回out对象。类图:5)Client类该类是客户端的主控类,其中包括main()方法,在main()方法中创建login对象类图:6)login类 该类为JFrame的子类,实现ActionListener和ItemListener接口。主要实现

12、用户登录的交互界面。A. login类的成员变量a) lbl-pic是用于显示图像的标签,lbl-uid、lbl-pwd分别是提示输入账号和密码的标签。b) txt-uid和txt-pwd分别用于输入账号和密码。c) btn-ok和btn-cannel分别是“确定”和“取消”按钮。d) rb-user、rb-manager是用于表示用户类型的单选钮,rb-group用于对这两者进行成组。e) in和out分别用于输入,输出流操作。f) userType用来表示拥护的类型,即一般用户或管理员。B. login类的方法a) login()是构造方法,用来创建成员变量,并注册监听器。b) itemS

13、tateChanged()是rb-user和rb-manager的事件处理方法。c) actionPerformed()用来将登陆请求发送到服务器端验证,并接受服务器端的返回结果。类图: 7)BookRetrieve类 该类为JFrame的子类并实现ActionListener和ItemListener接口。主要负责图书信息的查询,如提供图书的作者名等。A. BookRetrieve类的成员变量a) lbl-opt和lbl-info用于显示提示信息。b) choice是Choice类型的对象,用于存放查询选项,如“书名”、“作者”、“出版社”等。c) showResult是JTextArea类

14、型的对象,用于显示服务器端返回的查询结果。d) choiceName用于返回choice中的选中项。e) in和out分别用于输入、输出流操作。f) send按钮用于触发actionPerformed事件处理方法。B. BookRetrieve类的方法a) BookRetrieve()是构造方法,用来创建成员变量,并注册监听器。b) itemStateChanged()是choice对象的事件处理方法。c) actionPerformed()是用来向服务器端发送图书查询请求,并接收服务器端的返回结果。类图:8)ManagerFrame类 该类是JFrame的子类并实现ActionListener接口 。用来实现交互界面的菜单栏。 A. ManagerFrame类的成员变量a) lbl-pic是用于显示图像的标签。b) menubar是窗口的菜单条。c) menu-book和menu-user是包含下级菜单项

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 办公文档 > 工作计划

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号