JAVA程序设计-第十二章-图书管理系统开发

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

Java程序设计实例与操作第十二章图书管理系统开发12.1系统详细设计12.2公共模块设计12.3主模块设计Java程序设计实例与操作图书管理系统会因为图书的数量、种类、提供的操作等不同而具有不同的复杂度。基本信息的维护、图书借阅、归还及查询等操作通常是图书管理系统的基本功能。在规模较大、业务较多的图书馆还需要图书的库存管理、销售管理等更加复杂的功能。Java程序设计实例与操作12.1系统详细设计一、开发环境操作系统:WindowsXP数据库系统:Access编程语言:Java6.0开发工具:Eclipse3.4Java程序设计实例与操作二、数据库设计本例采用的数据库类型为Access,数据库名为“图书管理.mdb”,其中包含了3个表,分别是图书信息表book,读者信息表reader,借阅信息表borrow。Java程序设计实例与操作图书信息表(book)列名数据类型(精度范围)必填字段索引默认值说明id文本(8)是√(不允许重复)AA0000001图书编号bookname文本(100)否图书名称booktype文本(50)否科技图书类别author文本(50)否图书作者translator文本(50)否译者publisher文本(100)否出版社publish_time日期/时间否出版时间price单精度否28定价stock整型否1库存数量Java程序设计实例与操作读者信息表(reader)列名数据类型(精度范围)必填字段索引默认值说明id文本(8)是√AA000001读者编号readername文本(50)否读者姓名readertype文本(20)否读者类型sex文本(2)否读者性别max_num整型否最大可借数days_num整型否可借天数Java程序设计实例与操作借阅信息表(borrow)列名数据类型(精度范围)必填字段索引默认值说明id长整型是√自动编号借阅流水号book_id文本(8)否图书编号reader_id文本(8)否读者编号borrow_date日期/时间否借阅时间back_date日期/时间否还书时间if_back文本(2)否是否归还Java程序设计实例与操作用户信息表(user)列名数据类型(精度范围)必填字段索引默认值说明id长整型是√自动编号用户流水号username文本(50)否用户姓名password文本(50)否用户密码is_admin文本(2)否是否为管理员Java程序设计实例与操作三、系统模块设计(1)MainPro包:主要包括了登录程序、系统主程序、图书和读者信息维护程序、图书借阅管理程序,以及图书和读者信息查询程序等。Java程序设计实例与操作类名功能描述设计要点Login.java用户登录模块要将用户登录名和密码与用户信息表中内容对比,如果正确无误,则进入系统主操作画面,否则提示错误信息ShowMain.java系统主画面主要是菜单设计,并通过为各子菜单增加事件侦听器以调用其他功能模块UpdatePassword.java修改用户密码修改密码,并将修改结果保存到用户信息表中BookAdd.java录入图书信息保存记录时要检查数据的有效性,①图书编号必须唯一,不能重复;②出版时间格式必须正确、有效;③定价、库存数量必须为有效数字BookUpdate.java修改图书信息按图书编号查询记录,然后修改图书的其余信息。同样,此时也应确保出版时间、定价、库存数量等数据的有效性BookDelete.java删除图书信息按图书编号查询记录,确认无误后可删除所选记录BookQuery.java查询图书信息可按图书名称、作者、出版社、出版时间组合查询,结果将显示在一个表格中ReaderAdd.javaReaderUpdate.javaReaderDelete.javaReaderQuery.java录入、修改、删除和查询读者信息这四个模块的功能与图书相关模块的功能完全相似Borrow借图模块输入参数为图书编号和读者编号,有几个判断:①图书必须有库存;②每个读者只能借阅自己未借过的图书。即使已经借过,但必须已经归还;③每种书最多只能借一本;④每个读者都有允许最大可借图书数量,因此,读者已借未还的图书数量不能超出此限制Back还书模块输入参数同样为图书编号和读者编号,主要判断该读者已借过此书,且未归还Java程序设计实例与操作(2)PublicModule包:其中包含了一组供MainPro包中各类使用的公共类。类名功能描述设计要点GlobalVar.java定义用户名称变量记录登录系统的用户名,主要用于密码修改模块Book.java定义图书信息和图书信息表中各表项一一对应,用来保存查询结果Reader.java定义读者信息和读者信息表中各表项一一对应,用来保存查询结果DbOp.java数据库操作其构造方法用来创建数据库连接,即打开数据库;其他几个方法分别用来查询、修改记录,以及关闭数据库BookSelect.java按图书编号查询按图书编号查询图书信息表,结果保存在Book对象中ReaderSelect.java按读者编号查询按读者编号查询读者信息表,结果保存在Reader对象中IfBorrowBack查询读者是否借过某本图书且未归还查询指定读者是否借过指定图书,且未归还Java程序设计实例与操作12.2公共模块设计一、DbOp.java该类用于完成基本的数据库操作,包括加载数据库驱动,创建数据库连接,执行Sql语句等。其中,其构造方法用于加载数据库驱动程序和创建数据库连接(即打开数据库);用于查询记录的方法为executeQuery();用于插入、删除、修改记录的方法为executeUpdate();用于关闭数据的方法为Close()。Java程序设计实例与操作二、BookSelect.java与ReaderSelect.java这两个类分别用于按图书编号和读者编号查询记录,查询结果将分别保存在Book和Reader对象中。三、IfBorrowBack.java该类中的findbook()方法用于查询指定读者是否借阅过指定图书。如果已经借阅且未归还,返回true,否则,返回false。四、公共模块中的其他类(1)GlobalVar.java(2)Book.java(3)Reader.javaJava程序设计实例与操作12.3主模块设计一、Login.java登录模块用于实现用户登录功能,也是进入系统的入口。进行系统登录时,需要输入用户名和密码,系统会查询数据库中的user表,验证用户名和密码是否正确。Java程序设计实例与操作成功登录系统后即进入系统的主界面。需要注意的是,系统会根据登录的用户类型(普通用户和管理员),决定“系统维护”和“借阅管理”菜单是否可用。二、ShowMain.javaJava程序设计实例与操作三、BookAdd.java该模块用于输入图书信息。其设计要点主要有:①为确保图书编号的唯一性,图书编号不能重复;②当出版时间、定价、库存数量无效时,可通过捕捉异常来处理;③正常输入并保存记录后,要给出提示信息;④输入并保存一个记录后,应清空文本框,让用户能够继续输入下一个记录。Java程序设计实例与操作四、BookUpdate.java该模块用来修改图书信息。使用该功能模块时,用户应首先在“图书编号”编辑框中输入要修改图书的图书编号,然后单击“查询”按钮,将所选图书的其他数据显示出来,接下来就可以对这些数据进行修改了。Java程序设计实例与操作五、BookDelete.java该模块用于根据图书编号删除所选图书。执行删除操作时,用户应首先在“图书编号”编辑框中输入要删除的图书编号,然后单击“查询”按钮,调出该图书的相关信息,供用户进行确认。如果确认无误,即可单击“删除”按钮删除所选图书。Java程序设计实例与操作六、BookQuery.java该模块用于根据图书名称、作者、出版社、出版时间等信息进行图书查询。这四个条件之间的关系为逻辑与关系。如果在某个编辑框中不输入内容,则忽略该条件。如果在四个编辑框中均不输入任何内容,表示显示全部图书信息。Java程序设计实例与操作七、读者信息的录入、修改、删除和查询模块读者信息的录入、修改、删除和查询模块与图书相关模块在功能和设计上完全类似。Java程序设计实例与操作八、Borrow.java该模块用于执行借书操作。用户应首先输入图书编号和读者编号,然后做如下几个判断:①所选图书是否存在,是否有库存;②读者是否借过此书且未归还;③读者当前已借且未归还的图书是否超出了允许其最大可借数。如果上述条件都满足,“借出”按钮才有效,单击之可由程序填写借书记录。Java程序设计实例与操作九、Back.java该模块用于完成还书操作,此时只需判断该读者是否曾经借过此书且未归还就可以了。Java程序设计实例与操作十、UpdatePassword.java该模块用来更该当前用户的密码。

1 / 23
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功