ICode9

精准搜索请尝试: 精确搜索
首页 > 编程语言> 文章详细

JAVA综合课程设计

2020-12-22 18:32:13  阅读:204  来源: 互联网

标签:课程设计 JAVA String 信息 综合 读者 preSql 图书 con


计算机学院

课程设计说明书

 

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

题 目: 图书信息管理系统

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

 

一、设计题目与要求

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

【基本要求】

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

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

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

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

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

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

二、小组分工

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

小组分工:

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

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

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

三、需求分析

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

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

  1. 添加图书

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

  1. 添加读者信息

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

  1. 借阅书籍

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

  1. 还书

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

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

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

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

 

 

 

四、概要设计

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

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

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

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

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

五、详细设计

数据结构的定义:

图书信息:

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) {

        }

    }

}算法描述:

进入系统后首先进行图书初始化,输入图书的信息。

根据登录可选择任意系统

进入系统,显示功能列表

 

 

是    

    

 

 

  1. 程序源代码

    详见附带源码文件

    图示:

  2. 运行结果和调试分析

    管理员界面:

    非管理员界面

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

    八、课程设计总结

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

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

标签:课程设计,JAVA,String,信息,综合,读者,preSql,图书,con
来源: https://www.cnblogs.com/cxl862002755/p/14174543.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有