JAVA综合课程设计

计算机学院

课程设计说明书

 

课 程 名 称: JAVA综合课程设计

题 目: 图书信息管理系统

小 组 成 员: 陈相龙,孙潮,阮路瑜

 

一、设计题目与要求

【问题描述】 设计一个计算机管理系统完成图书管理基本业务。

【基本要求】

(1)每种书的登记内容包括书号、书名、类别、作者、出版社、状态等

(2)对书号建立索引表以提高查找效率;

(3)系统主要功能如下:

①采编入库:新购一种书,确定书号后,登记到图书帐目表中,如果表中已有,则只将库存量增加;

②借阅:如果一种书的现存量大于0,则借出一本,登记借阅者的书证号和归还期限,改变现存量;

③归还:注销对借阅者的登记,改变该书的现存量。

二、小组分工

小组成员:陈相龙、孙潮、阮路瑜

小组分工:

徐鹏飞:查看图书信息、查找图书信息、插入图书信息、删除图书信息、修改图书信息、退出系统、登录系统以及整个系统的完善

孙潮:保存图书信息、读取图书信息、保存读者信息、查看读者信息

阮路瑜:添加图书信息、添加读者信息、借书、还书

三、需求分析

图书管理系统共需要十三个模块,分别是添加图书信息、查看图书信息、查找图书信息、插入图书信息、删除图书信息、保存图书信息、读取图书信息、图书信息保存、修改图书信息、添加读者信息、保存读者信息、查看读者信息、退出系统

明珠负责其中的四个模块,如下所示:

  1. 添加图书

输入每种书的登记内容包括书号、书名、作者、出版日期、类别、借阅标记、借阅次数、库存量。

  1. 添加读者信息

读者信息初始化,输入学号、姓名和借阅书本数量,只有输入学号才能进行借书还书

  1. 借阅书籍

输入学号才能进行借书(只有学号在库里面才能进行借书),然后判断读者的借阅数量是否达到最大数量,如果是最大数量,则不能进行借书否则能够借书。

  1. 还书

输入学号和书名进行还书操作(只有学号在库里面才能进行还书)。

孙潮负责的模板为文件的操作

图书管理系统并保存读者和图书信息。文件的读写操作。

徐鹏飞负责的登录系统、查询图书信息、查询读者信息、打印图书信息、打印读者信息、插入图书信息、删除图书信息、图书的排序以及整个系统的完善。

 

JAVA综合课程设计JAVA综合课程设计JAVA综合课程设计JAVA综合课程设计JAVA综合课程设计

JAVA综合课程设计JAVA综合课程设计

JAVA综合课程设计JAVA综合课程设计JAVA综合课程设计JAVA综合课程设计

JAVA综合课程设计JAVA综合课程设计JAVA综合课程设计JAVA综合课程设计JAVA综合课程设计

 

 

四、概要设计

图书信息和读者信息都采用类保存。

图书信息里面包括:图书编号、图书名称、作者、现有量、出版日期、类别、借阅标记、借阅次数、库存量。

读者信息里面包括:读者编号、读者姓名、借书数量、可借图书数量。

所有图书和读者都分别以结构体数组存储,并以图书编号为唯一主键。采用顺序表的形式便于数据的添加与删改。

主要的操作为:系统初始化、添加图书入库、读者信息登记、图书信息和读者信息文件的保存、查询图书信息、查询读者信息、打印图书信息、打印读者信息、插入图书信息、删除图书信息、图书的排序。

五、详细设计

数据结构的定义:

图书信息:

s package database;

 

import java.sql.Connection;

import java.sql.PreparedStatement;

import java.sql.ResultSet;

import java.sql.SQLException;

 

import javax.swing.JComboBox;

 

public class Book {

    public Book() {

    }

    //图书类别加入下拉框

    public static void findcategory(JComboBox<String> box) {

        Connection con = ConnectDatabase.connectDB();

        PreparedStatement preSql;

        ResultSet rs;

        String sqlStr = "select * from bookcategory";

        try {

            preSql = con.prepareStatement(sqlStr);

            rs = preSql.executeQuery();

            while (rs.next()) {

                String category = rs.getString(1);

                box.addItem(category);

            }

            con.close();

        } catch (SQLException e) {

        }

    }

    

    //添加图书

    public static void addbook(String category,String bookname,String author,String press) {

        Connection con = ConnectDatabase.connectDB();

 

        PreparedStatement preSql;

 

        String sqlStr = "insert into booktable(category,bookname,author,press,state) values (?,?,?,?,?)";

 

        try {

            preSql = con.prepareStatement(sqlStr);

            preSql.setString(1, category);

            preSql.setString(2, bookname);

            preSql.setString(3, author);

            preSql.setString(4, press);

            preSql.setString(5, "在馆");

            int ok = preSql.executeUpdate();

            con.close();

        } catch (SQLException e) {

        }

    }

    

    //添加图书

    public static void modifybook(int bookid,String category,String bookname,String author,String press,String state) {

        Connection con = ConnectDatabase.connectDB();

 

        PreparedStatement preSql;

 

        String sqlStr = "update booktable set category = ? ,bookname = ? ,author = ?,press = ? ,state = ? where bookid = ?";

 

        try {

            preSql = con.prepareStatement(sqlStr);

            preSql.setString(1, category);

            preSql.setString(2, bookname);

            preSql.setString(3, author);

            preSql.setString(4, press);

            preSql.setString(5, state);

            preSql.setInt(6, bookid);

            int ok = preSql.executeUpdate();

            con.close();

        } catch (SQLException e) {

        }

    }

    

    //删除图书

    public static void deletebook(int bookid) {

        Connection con = ConnectDatabase.connectDB();

 

        PreparedStatement preSql;

 

        String sqlStr = "delete from booktable where bookid = ?";

 

        try {

            preSql = con.prepareStatement(sqlStr);

            preSql.setInt(1, bookid);

            int ok = preSql.executeUpdate();

            con.close();

        } catch (SQLException e) {

        }

    }

}JAVA综合课程设计算法描述:

JAVA综合课程设计进入系统后首先进行图书初始化,输入图书的信息。

JAVA综合课程设计

JAVA综合课程设计JAVA综合课程设计

JAVA综合课程设计JAVA综合课程设计JAVA综合课程设计

JAVA综合课程设计根据登录可选择任意系统

JAVA综合课程设计进入系统,显示功能列表

JAVA综合课程设计JAVA综合课程设计

JAVA综合课程设计

JAVA综合课程设计JAVA综合课程设计JAVA综合课程设计JAVA综合课程设计JAVA综合课程设计

 

JAVA综合课程设计JAVA综合课程设计JAVA综合课程设计JAVA综合课程设计JAVA综合课程设计JAVA综合课程设计JAVA综合课程设计JAVA综合课程设计JAVA综合课程设计JAVA综合课程设计JAVA综合课程设计JAVA综合课程设计

JAVA综合课程设计JAVA综合课程设计JAVA综合课程设计JAVA综合课程设计JAVA综合课程设计JAVA综合课程设计JAVA综合课程设计JAVA综合课程设计JAVA综合课程设计JAVA综合课程设计

JAVA综合课程设计JAVA综合课程设计JAVA综合课程设计JAVA综合课程设计JAVA综合课程设计JAVA综合课程设计

JAVA综合课程设计JAVA综合课程设计JAVA综合课程设计

JAVA综合课程设计JAVA综合课程设计JAVA综合课程设计JAVA综合课程设计JAVA综合课程设计

JAVA综合课程设计

JAVA综合课程设计JAVA综合课程设计JAVA综合课程设计JAVA综合课程设计

 

JAVA综合课程设计JAVA综合课程设计是    

JAVA综合课程设计JAVA综合课程设计JAVA综合课程设计JAVA综合课程设计JAVA综合课程设计JAVA综合课程设计JAVA综合课程设计JAVA综合课程设计JAVA综合课程设计JAVA综合课程设计JAVA综合课程设计JAVA综合课程设计JAVA综合课程设计    

JAVA综合课程设计JAVA综合课程设计

JAVA综合课程设计JAVA综合课程设计JAVA综合课程设计JAVA综合课程设计JAVA综合课程设计

JAVA综合课程设计JAVA综合课程设计JAVA综合课程设计JAVA综合课程设计JAVA综合课程设计JAVA综合课程设计

JAVA综合课程设计JAVA综合课程设计

 

JAVA综合课程设计JAVA综合课程设计JAVA综合课程设计

 

  1. JAVA综合课程设计JAVA综合课程设计程序源代码

    详见附带源码文件

    图示:

    JAVA综合课程设计

  2. 运行结果和调试分析

    管理员界面:

    JAVA综合课程设计

    非管理员界面

    JAVA综合课程设计

    可以正确的以借阅者以及管理者的身份登录,以及可以对应的注册,管理者root具有所有权限,并且可以赋予其他用户权限,所有用户均可以进行正确的借阅图书操作,管理者可以增加,删除,修改,查找等更多权限操作

    八、课程设计总结

    通过这次的课设设计,我们了解了图书管理系统的流程,之前以用户的角度去认识图书管理,现在站在设计者的角度去考虑问题,并且根据实际情况设计了图书管理系统的模块,对此有了更深刻的理解。对数据的管理、存储、完整性约束等也有了全面的认识。

    在设计过程中,出现了一些问题,主要是功能的划分,后来将图书管理系统的功能进行一一细分,归纳安排,才使整个系统的结构完善且冗余小。在这次的课设设计还让我们复习了JAVA的一些知识,如类,包、javabean、还知道了如何使用eclipse连接数据库。

上一篇:C3P0连接演示


下一篇:PHP有关数据库的连接