数据库系统实验报告图书馆管理系统oraclejava

合集下载

JAVA实训报告 图书管理系统

JAVA实训报告  图书管理系统
二、 实习(实训)内容与过程 我们做的书籍借阅管理系统主要划分为以下七个模块: 1) 操作员管理模块:实现操作员的登录及操作用户的添加,更改密码和删除用户 的管理。 2) 书籍信息管理模块:实现书籍信息的添加和更新。 3) 书籍借出模块:书籍借出管理。 4) 书籍还入模块:书籍还入管理。 5) 信息一览模块:对书籍,读者和书籍借阅情况列表显示。 6) 数据操作模块:封装对数据库的操作。
2.1 数据库结构设计............................................................................................... 4 2.2 主页面模块设计............................................................................................... 5 2.3 与数据库建立连接........................................................................................... 10 2.4 操作员管理设计................................................................................................11 2.5 书籍管理模块设计........................................................................................... 13 3 实习(实训)总结与体会....................................................................................15

图书馆管理系统《Oracle数据库技术》综合设计报告书

图书馆管理系统《Oracle数据库技术》综合设计报告书

《Oracle数据库技术》Oracle综合设计实验报告选题:图书管理信息系统班级:学号:姓名:填写日期: 2010年 12月25日二、数据库分析与设计:2.1数据库的概念设计图书管理信息系统E—R图2.2 数据库的逻辑设计图书(国际标准图书编码,书名,出版社名,作者名,作者号,中南码)图书副本(副本编号,国际标准图书编码)作者(作者号,作者名)分类目录(中南码,目录名)写书(国际标准图书编码,作者号)出版社(出版社名,地址)用户(用户编号,用户名,密码,权限,生日,邮箱,联系电话,籍贯)2.3数据库的物理设计1.以表单的形式给出数据库中的具体表的结构以及字段的说明表2-1 Books表字段数据类型数据长度能否为空中文名备注ISBN Char 20 否国际标准图书编码主码Title Char 30 是书名Pubname Char 30 是出版者名Author Char 30 是作者名Authorno Number 30 是作者号ZNCode Number 30 是中南分校码表2-2 Copies表字段数据类型数据长度能否为空中文名备注CopyNo Number 10 否副本编号主码ISBN Char 20 是国际标准图书编码号。

SQL> create or replace view cx_zj2 as3 select title,author,copyno4from Books,Copies5where Copies.isbn=Books.isbn and PubName='作家出版社';视图已创建。

(3)创建视图“cx_anni”,要求查看作者为安妮宝贝所有的图书信息的视图。

SQL> create or replace viewcx_anni2 as3 select *4 from Books5 where author='安妮宝贝';视图已创建。

3.数据的查询(要求做基础数据的查询,做视图的查询,查询要和系统的功能联系起来)(1)查询图书表中作者号为2的作者所有作品的书名和出版社。

9-实验九-基于Oracle数据库的应用开发(综合实验报告模板)

9-实验九-基于Oracle数据库的应用开发(综合实验报告模板)

网络数据库实验报告题目:图书管理系统数据库设计与开发学生姓名:学号:院(系):专业:指导教师:2015 年月日1 系统简介该实验设计开发一个简单的图书管理数据库系统,包括图书馆内书籍的信息、学校在校师生的信息以及师生的借阅信息。

此系统用户面向图书管理员和借阅读者,图书馆管理员可以完成图书、读者、图书类型、学科类型、读者类型等基本信息的增加、删除和修改,可以制定借阅规则;读者可以进行图书的借阅、续借、归还、预约的确认等操作。

系统开发技术及工具:(说明客户端及服务器端的开发语言及工具、Web服务器和数据库服务器的选择,系统运行的软件环境、硬件环境等。

)2 系统分析2.1 功能模块简介2.2 功能需求描述•借阅功能:图书出借时考虑三个问题:A.读者是否因为超期、罚款等情况被关闭了借阅权限;B.该书是否不在库中;C.读者是否已经借满其限额。

如果不存在以上情况,则可以出借。

•预约功能:读者想借的书如果不在库中(已经被出借),读者可以预约该图书,当该图书被归还时系统给读者发送邮件,提醒他来借阅,此时其他读者也可以借阅该书。

•续借功能:读者还书的时候可以续借该图书,续借的过程包括先执行还书操作,再执行借阅操作。

•发送催还邮件:管理员可以发送邮件提醒读者到期还书。

•读者管理功能:对读者信息进行查看、添加、修改、删除。

将读者分为不同类别,赋以不同权限。

•系统管理功能:对管理员的登录账号、密码进行添加、修改、删除。

•借阅规则管理功能:对图书借阅规则进行查看、添加、修改、删除。

2.3 系统用例图3 系统数据库设计3.1 设计任务本系统共设计9个表、6个序列、4个存储过程、3个函数、4个触发器。

针对一般图书管理信息系统的需求,通过对图书管理工作过程的内容和数据流程分析,设计如下面所示的9个数据项:1)读者信息属性:读者编号,读者姓名,联系电话,邮箱地址,所在系,权限状况,读者类型,备注主键:读者编号2)书籍信息属性:图书编号,ISBN,书名,作者,出版社,出版日期,简介,封面图片,价格,学科类型,藏书类型主键:图书编号3)管理员信息属性:编号,账号,密码主键:编号4)读者类型属性:编号,类型,说明主键:编号5)藏书类型属性:编号,类型,说明主键:编号6)学科类型属性:编号,类型,说明主键:编号7)借阅信息属性:图书编号,读者编号,借阅日期,应还日期主键:图书编号,读者编号8)预约信息属性:图书编号,读者编号,预约日期主键:图书编号,读者编号9)借阅规则属性:图书类型,读者类型,期限,册数,续借次数,逾期罚款主键:图书类型,读者类型6个序列:读者编号、图书编号、读者类型编号、藏书类型编号、学科编号、管理员编号4个存储过程:•检查借阅是否超期的存储过程;•判断读者可否进行借阅的存储过程;•计算超期罚款的存储过程;•将超期未还的读者借阅权限关闭的存储过程;4个函数:•计算图书应归还日期的函数;•计算读者可借阅图书册书的函数;•计算读者已经借阅某类型图书的册数的函数;•计算读者应交欠费的函数。

图书管理系统java课程设计报告报告

图书管理系统java课程设计报告报告

大学信息工程学院《Java实训》报告题目:图书管理系统班级:网络(1)班:辉学号:1003023352011年12 月22日摘要随着信息技术的发展,计算机已被广泛的应用于社会的各个领域,成为推动社会发展的技术动力。

而在计算机应用中,软件的作用十分突出,软件已经发展成为信息技术的核心,主导着信息产品的开发和信息技术市场的进一步的开拓。

软件产业已成为社会信息化进程中的一个战略性产业。

在软件技术的应用中软件的开发技术尤其是应用型软件产品的开发技术成了重中之重。

不断开发适应用户需求、市场需要的新型软件产品。

尤其是在校园里,各种软件的应用无处不在,为我们的学习和生活提供了方便。

学校的图书馆不仅给我们提供看书学习的地方,还给我们提供了一套功能齐全的图书馆系统,方便我们搜索书籍、借阅图书。

我们本次的Java课程设计的最终目标是实现一个图书馆管理系统,使其具有一般图书管理系统所具有的功能,可以实现管理员日志、管理员添加、管理员退出、读者添加、读者修改、读者查询、读者删除、新书入库、书籍查询、书籍借阅与归还等功能。

因为Java是一门很优秀的编程语言,具有面向对象、与平台无关、安全、稳定和多线程等特点,所以用Java 编程为我们本次程序的编写提供了方便。

在设计中我们主要进行了数据库及类的设计,把整系统分成了15个类和5个表。

通过应用awt、swing、sql、util等包,合理的添加了按钮、菜单、文本框、文本区、表格等组件类,还包含窗口、面板等容器类,经过设计者合理的布局,完成了窗体的设计,并通过建立JDBC-ODBC桥接器连接到Access数据库后,向数据库发送SQL语句实现程序与数据库中表间的消息通信,从而实现了相应的图书馆管理系统的功能。

本文主要分为绪论、系统功能介绍、数据库需求分析、系统功能实现、结论、致、参考文献7大块。

在绪论中介绍了本次课设选题的缘由及思想。

系统功能介绍中详细介绍了本图书管理系统的整体思想及其具体功能。

基于Java的图书馆管理系统的设计实习报告

基于Java的图书馆管理系统的设计实习报告

实习报告班级:计算机学号:姓名:一、实习单位简介建昌营初级中学占地面积30000平方米,建筑面积5700平方米,服务范围有22个行政村,人口2.6万人。

现有学生688人,16个教学班,教职工98人(其中中级职称教师16人,专科以上教师63人,学历达标率97%).学校建有物理实验室2个,化学、生物实验室各1个,试验开出率100%。

计算机教室和多媒体教室各2个,省一级图书馆1个,图书馆藏书2。

7万册(另外班级图书角藏书1.47万册),电子图书5.5万册。

综合实验楼正在建设中。

几年来,学校认真贯彻“德育立校、管理强校、科研兴校”的指导思想,全面贯彻教育方针,大力推进素质教育,积极创办“管理特色”学校,树师表形象,兴科研之风,学校办学水平和教育质量得到明显提高。

学校坚持把思想政治工作和学生思想品德教育放在突出重要的位置,强化德育管理,坚持全员育人、全面育人、全程育人的思想,实现了德育工作的科学化、制度化、序列化.通过不断提高教师育人艺术水平,规范教育行为,收到了良好的育人效果;通过《守则》《规范》教育、法制纪律教育、理想信念教育、心理健康教育等系列活动的开展,使学生的精神面貌得到明显改观,思想道德素质显著提高。

学校坚持以教学为中心,贯彻科研兴校原则,不断强化教学管理。

以新课程改革为契机,以贯彻教学常规为切入点,通过科研促教改,充分挖掘教学资源,使教学质量逐年提高.长期以来,学校坚持落实超周备课和教案审批制度,逐步深化课堂教学改革,认真抓好教学每个细节,教学工作管理实现了科学化、规范化.通过大力倡导科研之风,积极探索新课程背景下的教学改革,培养学生勤勉务实、开拓创新的学习精神,形成了良好的学风,学生学习成绩稳步提高。

几年来,学校中考成绩优秀,为重点高中输送了大批优秀生源。

学校先后有几十名教师在全市教学比武中获奖,发表论文近百篇。

学校曾多次荣获“德育管理先进学校”、“学校目标考核先进单位”等荣誉称号。

面对时代的挑战,建昌营初级中学将以健康、有序、和谐、奋发向上的校风,敬业、爱生、进取、优质高效的教风,勤学、慎思、明辨、锐意创新的学风,满怀信心,昂首迈上建设精品名牌学校之路。

java实训报告--图书管理系统

java实训报告--图书管理系统

java实训报告--图书管理系统一、项目介绍本项目是一个基于Java的图书管理系统,主要包括图书类别管理、图书信息管理、读者信息管理以及借阅和归还管理等模块。

实现了对图书馆资源的有效管理,提高了图书馆工作效率,满足了读者的需求。

二、需求分析1.用户权限分级实现用户登陆验证,分为管理员和普通用户两类,管理员有图书信息、读者信息、借阅还书和系统管理四种权限,普通用户只有查询和借还书的权限。

2.图书管理管理员可以对图书进行分类管理、添加书目、查看书目、修改和删除图书信息等操作。

3.读者管理管理员可以对读者进行添加、查看、修改和删除读者信息等操作。

普通用户只能查询自己的借书信息和还书日期。

4.借阅还书管理管理员可以对图书的借阅还书进行处理和管理,包括借书和还书操作,超期处理以及还书日期提醒等。

5.系统管理管理员可以对图书馆系统进行管理,包括用户管理、修改密码等操作。

三、设计实现1.数据库设计采用MySQL数据库进行数据存储,主要包括用户表、图书分类表、图书信息表、读者信息表、借阅信息表等。

2.界面设计采用Swing框架实现界面设计,UI界面简洁美观,与用户交互友好。

3.代码实现代码主要采用Java语言实现,采用MVC模式,将业务和UI 进行分离,提高了灵活性和可维护性。

四、实现效果本系统实现了对图书馆资源的有效管理,对管理员可以方便地进行操作,对普通用户可以快速方便地查询和借阅图书。

五、总结通过该项目的实现,使我深入学习了Java语言的面向对象编程、MVC模式、MySQL数据库的使用、Swing界面设计等技术,并深刻体会到了软件开发的需求分析、系统设计、编码实现、测试等基本流程。

同时,也感受到了信息化技术在实际工作中所带来的效率和便捷。

java图书馆管理系统实验报告

java图书馆管理系统实验报告

java图书馆管理系统实验报告《Java图书馆管理系统实验报告》摘要:本实验报告旨在介绍和分析Java图书馆管理系统的设计与实现过程。

通过本次实验,我们深入了解了Java编程语言的特性和图书馆管理系统的基本功能,同时也锻炼了我们的编程能力和团队合作能力。

本报告将从需求分析、系统设计、系统实现和系统测试等方面进行详细介绍,以期为后续的Java开发工作提供参考和借鉴。

1. 需求分析在需求分析阶段,我们对图书馆管理系统的功能进行了详细的分析和讨论,包括图书的借阅、归还、查询、管理等基本功能,以及读者信息管理、图书信息管理、借阅记录管理等辅助功能。

通过与图书馆管理员和读者的交流,我们明确了系统的需求和用户的期望,为后续的系统设计和实现奠定了基础。

2. 系统设计在系统设计阶段,我们采用了面向对象的思想,将系统划分为图书管理模块、读者管理模块、借阅管理模块等多个子模块,并对各个模块进行了详细的设计和规划。

我们采用UML建模工具进行系统的结构设计和行为设计,包括类图、时序图、用例图等,以便更清晰地表达系统的结构和功能。

3. 系统实现在系统实现阶段,我们采用Java语言进行编码工作,利用Eclipse等集成开发环境进行代码编写和调试。

我们遵循了面向对象的编程原则,将系统的各个模块进行了分工开发,并及时进行了代码的集成和测试。

通过不断地迭代和优化,我们最终完成了整个系统的实现工作,并对系统进行了初步的功能测试和性能测试。

4. 系统测试在系统测试阶段,我们对系统进行了全面的测试工作,包括单元测试、集成测试、系统测试等多个层次的测试。

我们利用Junit等测试工具进行了自动化测试,同时也进行了手工测试和压力测试,以确保系统的稳定性和可靠性。

通过测试,我们发现了一些潜在的问题并进行了及时的修复,最终保证了系统的质量和性能。

结论:通过本次实验,我们深入了解了Java编程语言的特性和图书馆管理系统的基本功能,同时也锻炼了我们的编程能力和团队合作能力。

Oracle数据库图书管理系统实验报告

Oracle数据库图书管理系统实验报告

图书管理系统()1、创建表空间2、(1)创建表(2)创建表(3)创建表(4)创建表(5)创建表3、(1)创建表空间'C:\\\10.2.0\\\' 100M ;(2)创建表((20) ,2(25),2(5),2(30),2(20),() ());向表插入数据(100421101,'张三','男',' ',100421)(100421102,'李四','女',' ',100422)(100421103,'王五','男',' ',100423)对表删除数据100421103——删除表中管理员编号为‘100421103’的一行数据对表查询数据*——按照管理员的号对表进行排列向表修改数据‘王明’100421101——对表中管理员编号为‘100421101’的姓名改为“王明”‘女’100421103——对表中管理员编号为‘3’的性别改为“女”(3)创建表((20) ,2(20),2(10),2(20),2(50),(20),(20),2(8),(20),() ());向表插入数据(100421,'数据库管理','马晓玉','清华大学出版社','2011-11-8',40,'013999',' ',100421203) (100422,'网站设计','唐慧','南京大学出版社','2011-5-18',32,'165923',' ',100421205)(100423,'程序设计','徐元','苏州大学出版社','2011-2-12',28,'265894',' ',100421207)对表删除数据100422——删除表中书籍编号为‘100422’的一行数据向表查询数据——查询表中的的数据根据书籍的编号进行排序向表修改数据‘张敏’100422——对表中书籍编号为‘100422’的作者改为“张敏”(4)创建表((20) ,2(50),2(2),2(10),(15),(20),(10));向表插入数据(100421203,'王逸','男','信电系','','123456','521568') (100421205,'刘娟','女','食品系','','256302','269756')(100421207,'张一凡','男','园林园艺系','139','687456','305621') 对表删除数据‘张一凡’——删除表中学生姓名为‘张一凡’的一行数据向表修改数据‘经贸系’100421205——对表中学生学号为‘100421205’的系部名称改为“经贸系”(5)创建表((20) ,(20),(20),2(50),2(30),() ());向表插入数据(12345,'100421','1360','2012-3-15','还未归还')(21350,'100422','2035','2012-1-6','已经归还')(13056,'100423','1503','2012-3-22','还未归还')向表删除数据‘100423’——删除表中书籍编号为‘100423’的一行数据向表查询数据‘10042%’——查询表中的数据根据书籍编号前五位数位‘10042’进行排序(6)创建表((20) ,2 (20));向表插入数据('4630','文学类')('1623','科普类')('2412','理工科类')向表删除数据‘1623’——删除表中类别编号为‘1623’的一行数据向表修改数据‘计算机类’‘2412’——对表中类别编号为‘2412’的书籍类型改为“计算机类”4、(1)创建索引【1】();—在表的列创建一个名为的索引【2】();—在表的学生姓名列上创建位图索引(2)创建视图;—创建视图,查询表中的,,,,,5、(1)创建匿名块2(50);'程序块示例';();('捕获一个异常'); ;(2)创建存储过程()(100421105,'李凡','男');('重复的编号');('发生其他错误!');;—创建一个存储过程,向表的,和列分别插入数据100421105,李凡和男三个值。

Oracle数据库实验报告

Oracle数据库实验报告

Oracle数据库实验报告第一篇:Oracle数据库实验报告中南林业科技大学实验报告课程名称:Oracle数据库专业班级:姓名:学号:****年**月**日实验一安装和使用Oracle数据库【实验目的】1.掌握Oracle软件安装过程,选择安装组件2.掌握建立Oracle数据库,配置网络连接3.掌握Oracle企业管理器的基本操作4.使用SQL*Plus,登录到实例和数据库5.掌握命令方式的关闭和启动实例及数据库【实验内容】1.查看已安装的Oracle组件2.查看服务,记录下和数据库有关的服务名,将他们设为手动方式,启动相关服务。

3.配置监听器,查看是否在服务中有LISTENER,是否能启动。

4.配置本地net服务,提示:设置正确的服务器地址和端口号。

5.打开SQL*Plus,用SYS和SYSTEM用户名和密码登录。

6.思考题:有几种打开SQL*Plus的方法?分别是什么?7.用命令关闭实例和数据库,记录命令8.用命令以NOMOUNT的方式启动实例,再加载数据库,打开数据库。

【实验结论】1.查看已安装的Oracle组件2.查看服务,记录下和数据库有关的服务名,将他们设为手动方式,启动相关服务。

3.配置监听器,查看是否在服务中有LISTENER,是否能启动。

4.配置本地net服务,提示:设置正确的服务器地址和端口号。

5.打开SQL*Plus,用SYS和SYSTEM用户名和密码登录。

6.思考题:有几种打开SQL*Plus的方法?分别是什么?(1)直接打开 sql plus 即窗口方式(2)cmd 命令行方式(3)WEB 页面中 iSQL*Plus 方式 7.用命令关闭实例和数据库,记录命令 SQL>shutdown immediate8.用命令以NOMOUNT的方式启动实例,再加载数据库,打开数据库。

sql>startup nomount sql>alter database mount;sql>alter database open;sql>startup(1).用SQLplus 命令:show parameters参数名(2).用select [列名] from 表名2.初始化文件有几种?默认的保存位置在哪里?初始化文件有三种:数据文件,日志文件,控制文件;默认的保存位置E:oracleproduct10.2.0oradataorcl4.打开OEM,查看三类物理文件信息三类物理文件:数据文件、控制文件、日志文件数据文件:.DBF 存储表、索引及数据结构信息日志文件:.LOG记录对数据库的所有修改信息,用于恢复控制文件:.CTL二进制文件,记录数据库名、文件标识、检查点5.分别用select命令查询V$parameter动态性能视图,用show 命令查看全局数据库名、实例名、是否启动自动归档、标准数据块大小这四个参数的值,记录命令和结果。

Java实验报告之图书管理系统

Java实验报告之图书管理系统

Java实验报告图书管理系统1.管理员界面<<密码验证<<展示所有图书<<查找图书<<添加书籍<<删除书籍<<修改密码<<返回上一层<<结束2.学生界面<<身份识别<<查找图书<<借阅图书<<归还书籍<<返回上一层<<结束3.退出程序源代码:Main.javapackage pany;import java.util.Date;import java.util.Scanner;public class Main {public static void main(String[] args) {// write your code hereUser U;Library L=new Library("东北大学图书馆");System.out.println("欢迎来到东北大学图书馆");Book b1=new Book("java编程思想","sdhf","554532",new Date(2016,12,13),15);Book b2=new Book("C++编程","nimei","15654",newDate(2017,5,13),5);Students s1=new Undergraduate("黎明","20175821"); Students s2=new Master("狭隘","20164545");b1.BookUser.add(s2);b1.BookUser.add(s1);b2.BookUser.add(s2);b2.BookUser.add(s1);L.addBook(b1);L.addBook(b2);//在以上的代码中都是为了增加图书馆中的藏书Scanner sc=new Scanner(System.in);String order;//命令操作板while(true){System.out.println("命令操作符\n<<AccessADInterface\n<<AccessSTInterface\n<<over");System.out.print("<<");order=sc.next();if(order.equals("AccessADInterface")){Administrators A=new Administrators();if (A.getPassWord() == 1){while(true) {System.out.println("命令操作符\n<<ShowAllBook\n<<SearchBook\n<<AddBook\n<<DeleteBook\n<< ChangePassWord\n<<GoBack\n<<over");System.out.print("<<");order = sc.next();if (order.equals("ShowAllBook")) {L.ShowBook();} else if(order .equals( "SearchBook")) {L.ShowBook(L.SearchBook());} else if(order.equals( "AddBook") ){L.addBook();} else if(order .equals( "DeleteBook")) {L.DeleteBook();} elseif(order.equals("ChangePassWord")){A.changePassWord();} else if (order .equals( "GoBack")) {break;} else if (order .equals( "over")) { System.out.println("已退出图书管理系统");System.exit(0);}}}else{System.exit(0);}} else if(order.equals("AccessSTInterface")){ U=erComing();while (true){System.out.println("<<SearchBook\n<<BorrowBook\n<<ReturnBo ok\n<<GoBack\n<<over");System.out.print("<<");order=sc.next();if(order.equals("SearchBook")) {L.ShowBook(L.SearchBook());}else if(order.equals("BorrowBook")){ L.SearchBook().BookBorrow(U);}else if(order.equals("ReturnBook")){ L.ReturnBook(U);}else if(order.equals("GoBack")){break;}}}else if(order.equals("over")){System.out.println("已退出图书管理系统"); System.exit(0);}else {System.out.println("输入了错误的指令");continue;}}}}Library.javapackage pany;import java.util.Scanner;import java.util.Vector;public class Library {public static final int OK=1;public static final int ERROR=1;Vector<Object> book= new Vector();//用来存储书类丹书类中也存有用户类private String Libraryname;Scanner sc=new Scanner(System.in);Library (String name){this.Libraryname=name;}public User UserComing() {int kind;User U;Scanner sc = new Scanner(System.in);System.out.println("如果你是老师请输入1,若是学生请输入2");while (true) {while(true){kind = sc.nextInt();if (kind == 1) {U = new Teacher();return U;} else if (kind == 2) {System.out.println("如果你是本科生请输入1,若是硕士研究生请输入2");while (true){kind=sc.nextInt();if(kind==1){U = new Undergraduate();return U;}else if(kind==2){U=new Master();return U;}else{System.out.println("输入错误");break;}}} else {System.out.println("输入错误");System.out.println("请重新输入:");break;}}}}public void addBook(Book b){book.add(b);}public void addBook(){int i;i=1;Book b;while(i==1){b=new Book();this.addBook(b);System.out.println("如果要继续输入书本信息就输入1,否则就输入2");i=sc.nextInt();}}public Book SearchBook(){String BookName;Book b;System.out.println("请输入你要借查询的书"); BookName=sc.next();for(int i=0;i<this.book.size();i++){b=(Book)this.book.elementAt(i);if(b.bookName.equals(BookName)){return b;}}return null;}public void ReturnBook(User U){User u;Book b;b=this.SearchBook();for(int i=0;i<b.BookUser.size();i++){u=(User) b.BookUser.elementAt(i);if(u==U){U.numBookBor--;b.BookUser.remove(i);b.surplus++;System.out.println("还书成功");return;}else {System.out.println("您不是这本书的借阅者,不能还书");return;}}System.out.println("找不到你要的书");}public void DeleteBook(){String BookName;Book b;System.out.println("请输入你要删除的书");BookName=sc.next();for(int i=0;i<this.book.size();i++){b=(Book)this.book.elementAt(i);if(b.bookName.equals(BookName)){if(b.BookUser.size()==0){this.book.remove(i);System.out.println("已经成功的删除书籍");}else {System.out.println("还有人尚未还书,不能够删除书籍");}}}}public void ShowBook(){Book b;for(int i=0;i<this.book.size();i++){b=(Book)book.elementAt(i);System.out.println((i+1)+"\t"+b.bookName+"\t"+b.auther+"\t" +b.bookNum+"\t"+b.depositTime.getYear()+"\t"+b.depositTime. getMonth()+"\t"+b.depositTime.getDay()+"\t"+b.surplus);}}public void ShowBook(Book b){System.out.println("\t"+b.bookName+"\t"+b.auther+"\t"+b.boo kNum+"\t"+b.depositTime.getYear()+"\t"+b.depositTime.getMon th()+"\t"+b.depositTime.getDay()+"\t"+b.surplus);}}Book.javapackage pany;import java.util.Scanner;import java.util.Vector;public class Library {public static final int OK=1;public static final int ERROR=1;Vector<Object> book= new Vector();//用来存储书类丹书类中也存有用户类private String Libraryname;Scanner sc=new Scanner(System.in);Library (String name){this.Libraryname=name;}public User UserComing() {int kind;User U;Scanner sc = new Scanner(System.in);System.out.println("如果你是老师请输入1,若是学生请输入2");while (true) {while(true){kind = sc.nextInt();if (kind == 1) {U = new Teacher();return U;} else if (kind == 2) {System.out.println("如果你是本科生请输入1,若是硕士研究生请输入2");while (true){kind=sc.nextInt();if(kind==1){U = new Undergraduate();return U;}else if(kind==2){U=new Master();return U;}else{System.out.println("输入错误");break;}}} else {System.out.println("输入错误");System.out.println("请重新输入:");break;}}}}public void addBook(Book b){book.add(b);}public void addBook(){int i;i=1;Book b;while(i==1){b=new Book();this.addBook(b);System.out.println("如果要继续输入书本信息就输入1,否则就输入2");i=sc.nextInt();}}public Book SearchBook(){String BookName;Book b;System.out.println("请输入你要借查询的书");BookName=sc.next();for(int i=0;i<this.book.size();i++){b=(Book)this.book.elementAt(i);if(b.bookName.equals(BookName)){return b;}}return null;}public void ReturnBook(User U){User u;Book b;b=this.SearchBook();for(int i=0;i<b.BookUser.size();i++){u=(User) b.BookUser.elementAt(i);if(u==U){U.numBookBor--;b.BookUser.remove(i);b.surplus++;System.out.println("还书成功");return;}else {System.out.println("您不是这本书的借阅者,不能还书");return;}}System.out.println("找不到你要的书");}public void DeleteBook(){String BookName;Book b;System.out.println("请输入你要删除的书");BookName=sc.next();for(int i=0;i<this.book.size();i++){b=(Book)this.book.elementAt(i);if(b.bookName.equals(BookName)){if(b.BookUser.size()==0){this.book.remove(i);System.out.println("已经成功的删除书籍");}else {System.out.println("还有人尚未还书,不能够删除书籍");}}}}public void ShowBook(){Book b;for(int i=0;i<this.book.size();i++){b=(Book)book.elementAt(i);System.out.println((i+1)+"\t"+b.bookName+"\t"+b.auther+"\t" +b.bookNum+"\t"+b.depositTime.getYear()+"\t"+b.depositTime. getMonth()+"\t"+b.depositTime.getDay()+"\t"+b.surplus);}}public void ShowBook(Book b){System.out.println("\t"+b.bookName+"\t"+b.auther+"\t"+b.boo kNum+"\t"+b.depositTime.getYear()+"\t"+b.depositTime.getMon th()+"\t"+b.depositTime.getDay()+"\t"+b.surplus);}}User.javapackage pany;import java.util.Date;import java.util.Scanner;class User{public String name;public int numBookBor;//借书的数量//public Date borrowTime;public String Id;public Scanner sc=new Scanner(System.in); User(){}}class Students extends User{}//想想其实也不过如此class Undergraduate extends Students{Undergraduate(String sName,String id){=sName;this.Id=id;}Undergraduate(){System.out.println("请输入你的姓名:");=sc.next();System.out.println("请输入你的学号:");this.Id=sc.next();this.numBookBor=0;}}class Master extends Students{Master(String sName,String id){=sName;this.Id=id;}Master(){System.out.println("请输入你的姓名:");=sc.next();System.out.println("请输入你的学号:");this.Id=sc.next();this.numBookBor=0;}}class Teacher extends User{Teacher(String tName,String id){=tName;this.Id=id;}Teacher(){System.out.println("请输入你的姓名:");=sc.next();System.out.println("请输入你的工号:");this.Id=sc.next();this.numBookBor=0;}}Administrators/javapackage pany;import java.util.Scanner;public class Administrators {; private String passWod;Scanner sc=new Scanner(System.in);Administrators(){this.passWod="neu123";}public int getPassWord(){String passWord;for(int i=0;i<3;i++){System.out.println("请输入密码:");System.out.print("<<");passWord=sc.next();if( passWord.equals(this.passWod)){return 1;}else {System.out.println("密码错误,您还有"+(2-i)+"机会");}}return 0;}public void changePassWord(){String passWord;for(int i=0;i<3;i++){System.out.println("请输入原密码:\n<<");passWord=sc.next();if( passWord.equals(this.passWod)){System.out.println("请输入新密码:\n<<");this.passWod=sc.next();break;}else {System.out.println("密码错误,您还有"+(2-i)+"机会");}}}}。

数据库系统实验报告图书馆管理系统oraclejava修订稿

数据库系统实验报告图书馆管理系统oraclejava修订稿

数据库系统实验报告图书馆管理系统o r a c l e j a v a公司标准化编码 [QQX96QT-XQQB89Q8-NQQJ6Q8-MQM9N]湖南科技大学数学与计算科学学院数据库系统课程设计课程设计题目:图书馆管理系统指导教师:刘*芳学生院系:数学学院学生班级:信计*班学生姓名:黎*文学生学号: **目录一.任务书1.题目:图书馆管理系统2.内容及要求:(1)创建数据库存储信息(2)开发java前端程序,使用数据库。

(3)具有实际应用价值3.实验成员分工:黎*文:主要负责物理结构,数据库实施,数据库与前端的连接处理操作。

沈*杰:主要负责系统界面、概念与逻辑结构的设计,并进行维护调试。

二.相关技术与环境介绍开发工具:oracle 11g,Eclipse开发语言:Java开发环境:JDK运行环境:Windows 10其他辅助工具:PowerDesigner165,edrawmax核心技术:JOBC对数据库的操作,java操作界面的设计,各种布局方式和插件(1)使用JFrame控件进行界面设计(2)使用静态字段实现窗体间的数据传递(3)使用代码方式向容器控件中添加控件(4)数据库连接和前台操作(5)数据库和开发工具之间的编码转换三.需求分析图书馆管理系统是一个高度集成的图书信息处理系统,通过将图书馆的各种功能进行整合,从而达到显示检索信息,提高工作效率,降低管理成本等目的。

一个典型的图书馆管理系统应该能够管理所有的图书种类,图书信息以及读者信息,还需要提供各种图书信息的检索查询功能。

该系统还需要能够对图书的借阅,归还进行管理,并对读者的罚款进行自动计算。

通过该系统的自动化管理,能够大大减少图书馆管理人员,还能减少管理人员的工作任务,从而降低管理开销和成本。

一个完整的图书馆管理系统包括前台和后台,前台主要是显示在计算机屏幕上的显示界面,有各种指令按钮,操作框以及文本框,后台主要是为前台的一些操作提供一些必要的数据,也就是一个相对于系统比较完整的数据库,操作员以及各类图书的信息,借书者的信息等等。

java课程设计图书馆管理系统

java课程设计图书馆管理系统

广西外国语学院信息工程学院面向对象java程序设计实验报告一.实验目的1、掌握Java图形用户设计Swing常用组件。

2、掌握SQL Server 2005数据库、数据表的创建与使用。

3、掌握事件的监听机制。

4、熟悉使用SQL语言操作数据库,如增加、删除、查询和修改等。

5、熟悉应用程序的开发流程。

6、程序的打包与安装。

7、锻炼学生的逻辑思维。

实验设备(仪器、材料、软件等)硬件:计算机软件:JDK、Eclipse三、实验内容本系统将会涉及到图书馆日常管理工作的基本常见细节,诸如新图书的入库登记,图书馆所有书籍的分类管理,图书的查询,图书的借阅、退还手续的登记,费旧图书的清理撤除等,本系统所要实现的这些功能基本上涵盖了图书馆的日常管理工作,基本能够满足校园图书馆的工作人员的管理需要。

在对本系统的具体开发过程当中,将采用Java语言进行开发,以SQLServer实现后台数据库,本系统是完全基于图形化用户界面(GUI)的单机版本。

四、实验步骤请参见教材第20章综合案例——快递打印系统格式来书写,要求有界面和核心代码。

图书馆管理系统要有的信息:用户登录(注册),新图书入库,图书信息查询,图书更新(修改),旧图书删除,办理借阅证登记,图书借阅管理,软件说明及关于作者等。

以下是示例,每个同学可以有自己的功能设计和数据库设计。

系统的功能结构图书入库对应数据库学生信息表对应数据库用户信息表对应数据库(一)图书菜单主菜单源代码如下:package book;import java.awt.Container;import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import javax.swing.AbstractAction; import javax.swing.Icon;import javax.swing.ImageIcon;import javax.swing.JFrame;import javax.swing.JLabel;import javax.swing.JMenu;import javax.swing.JMenuBar;import javax.swing.JMenuItem;import javax.swing.JPanel;import llf.frane.Login;import booksystem.BookDelete;import booksystem.BookQuery;import booksystem.BookUpdate;import booksystem.Dengji;public class MainFrame extends JFrame{ JMenuBar menubar=null;JMenu jm=null;JPanel jp;//图片Icon icon;//图片JLabel jl;//图片public MainFrame(){setSize(558,370);setTitle("广外图书管理系统");setJMenuBar(getJMenuBar1());setLocationRelativeTo(null);setResizable(false);}private JMenuBar getJMenuBar1() {// TODO Auto-generated method stubif(menubar==null){menubar=new JMenuBar();JMenu jm1=new JMenu("菜单");JMenu jm2=new JMenu("选项");JMenu jm3=new JMenu("帮助");menubar.add(jm1);menubar.add(jm2);menubar.add(jm3);JMenuItem bookinsert=new JMenuItem("新图书入库");JMenuItem bookquery=new JMenuItem("图书信息查询");JMenuItem bookupdate=new JMenuItem("图书更新");JMenuItem bookdelete=new JMenuItem("旧图书删除");JMenuItem bookexit=new JMenuItem("退出系统");JMenuItem dengji=new JMenuItem("办理借阅证登记");JMenuItem manage=new JMenuItem("图书借阅管理");JMenuItem denglu=new JMenuItem("用户登陆");JMenuItem introduce=new JMenuItem("软件说明");JMenuItem author =new JMenuItem("关于作者");jm1.add(bookinsert);jm1.add(bookquery);jm1.add(bookupdate);jm1.add(bookdelete);jm1.add(bookexit);jm2.add(dengji);jm2.add(manage);jm2.add(denglu);jm3.add(introduce);jm3.add(author);JPanel jp=new JPanel();//图片Icon iocn=new ImageIcon("C:/Users/Administrator/Desktop/李亮锋135502113/tushuguan.JPG");JLabel jl=new JLabel(iocn);//图片jp.add(jl);//图片this.add(jp);//图片bookinsert.addActionListener(new ActionListener() {public void actionPerformed(ActionEvent arg0) {// TODO Auto-generated method stubBookinsert bi=new Bookinsert();bi.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);bi.setVisible(true);}});bookquery.addActionListener(new ActionListener() {public void actionPerformed(ActionEvent arg0) {// TODO Auto-generated method stubBookQuery bq=new BookQuery();bq.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);bq.setVisible(true);}});bookupdate.addActionListener(new ActionListener() {public void actionPerformed(ActionEvent arg0) {// TODO Auto-generated method stubBookUpdate bu=new BookUpdate();bu.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);bu.setVisible(true);}});bookdelete.addActionListener(new ActionListener() {public void actionPerformed(ActionEvent arg0) {// TODO Auto-generated method stubBookDelete bd=new BookDelete();bd.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);bd.setVisible(true);}});bookexit.addActionListener(new ActionListener() {//退出public void actionPerformed(ActionEvent arg0) {// TODO Auto-generated method stubSystem.exit(1);}});dengji.addActionListener(new ActionListener() {//办理借阅证登记public void actionPerformed(ActionEvent arg0) {// TODO Auto-generated method stubDengji dj=new Dengji();dj.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);dj.setVisible(true);}});introduce.addActionListener(new ActionListener() {//软件说明public void actionPerformed(ActionEvent arg0) {// TODO Auto-generated method stubIntroduce id=new Introduce();id.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);id.setVisible(true);}});manage.addActionListener(new ActionListener() {//图书借阅管理public void actionPerformed(ActionEvent arg0) {// TODO Auto-generated method stubManage ma=new Manage();ma.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);ma.setVisible(true);}});denglu.addActionListener(new ActionListener() {//登陆public void actionPerformed(ActionEvent arg0) {// TODO Auto-generated method stubLogin lg=new Login();lg.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);lg.setVisible(true);}});author.addActionListener(new ActionListener() {//关于作者public void actionPerformed(ActionEvent arg0) {// TODO Auto-generated method stubAuthor at=new Author();at.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);at.setVisible(true);}});}return menubar;}public static void main(String[] args) {// TODO Auto-generated method stubMainFrame mf=new MainFrame();mf.setVisible(true);mf.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);}}(二)登录界面登陆界面源代码如下:package llf.frane;import ponent;import java.awt.Font;import java.awt.GridLayout;import java.awt.event.ActionEvent;import java.awt.event.ActionListener;import javax.swing.JButton;import javax.swing.JFrame;import javax.swing.JLabel;import javax.swing.JPanel;import javax.swing.JPasswordField;import javax.swing.JTextField;public class Login extends JFrame{JPanel jP1,jP2,jP3,jP4;JLabel jl1,jl2,jl3;JTextField tf;JPasswordField pf;JButton b1,b2,b3;public Login(){jl1=new JLabel("广外图书馆");jl1.setFont(new Font("隶书",Font.BOLD,40));jl2=new JLabel("账户:");jl3=new JLabel("密码:");b1=new JButton("登陆");b2=new JButton("取消");b3=new JButton("重置");tf=new JTextField(15);pf=new JPasswordField(15);jP1=new JPanel();jP2=new JPanel();jP3=new JPanel();jP4=new JPanel();setLayout(new GridLayout(4,1));jP1.add(jl1);jP2.add(jl2);jP2.add(tf);jP3.add(jl3);jP3.add(pf);jP4.add(b1);jP4.add(b2);jP4.add(b3);this.add(jP1);this.add(jP2);this.add(jP3);this.add(jP4);setTitle("用户登陆");setSize(500,400);setLocationRelativeTo(null);setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);setVisible(true);b2.addActionListener(new ActionListener() {public void actionPerformed(ActionEvent e) {// TODO Auto-generated method stubSystem.exit(1);}});b3.addActionListener(new ActionListener(){public void actionPerformed(ActionEvent arg0) {// TODO Auto-generated method stubtf.setText("");pf.setText("");}});}public static void main(String[] args) {Login lg=new Login();}}(三)新图书入库新图书入库源代码package book;import java.awt.GridLayout;import java.awt.HeadlessException; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.sql.Connection;import java.sql.PreparedStatement; import java.sql.SQLException;import javax.swing.AbstractButton; import javax.swing.JButton;import javax.swing.JFrame;import javax.swing.JLabel;import javax.swing.JOptionPane;import javax.swing.JPanel;import javax.swing.JTextField;import llf.frane.DAO;public class Bookinsert extends JFrame { JLabel jl1,jl2,jl3,jl4,jl5;JTextField jt1,jt2,jt3,jt4,jt5;JButton jb1,jb2;JPanel jp1,jp2,jp3,jp4,jp5,jp6;public Bookinsert(){setSize(400,300);setTitle("新图书入库");setLocationRelativeTo(null);setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);setVisible(true);setLayout(new GridLayout(6,1));jp1=new JPanel();jp2=new JPanel();jp3=new JPanel();jp4=new JPanel();jp5=new JPanel();jp6=new JPanel();jl1=new JLabel("图书编号");jl2=new JLabel("图书名称");jl3=new JLabel("出版日期");jl4=new JLabel("出版社名称");jl5=new JLabel("图书总数");jt1=new JTextField(15);jt2=new JTextField(15);jt3=new JTextField(15);jt4=new JTextField(15);jt5=new JTextField(15);jb1=new JButton("入库");jb2=new JButton("重置");jp1.add(jl1);jp1.add(jt1);jp2.add(jl2);jp2.add(jt2);jp3.add(jl3);jp3.add(jt3);jp4.add(jl4);jp4.add(jt4);jp5.add(jl5);jp5.add(jt5);jp6.add(jb1);jp6.add(jb2);this.add(jp1);this.add(jp2);this.add(jp3);this.add(jp4);this.add(jp5);this.add(jp6);jb1.addActionListener(new ActionListener() {public void actionPerformed(ActionEvent e) {//System.exit(1);String sname=jt1.getText().trim();String sno=jt2.getText().trim();String sriqi=jt3.getText().trim();String schubanshe=jt4.getText().trim();String szongshu=jt5.getText().trim();String sex;try {if(sname.equals("")||sno.equals("")||sriqi.equals("")||schubanshe.equals("")|| szongshu.equals("")){JOptionPane.showMessageDialog(null,"请输入完整信息");}else{Connection conn=null;PreparedStatement ps=null;conn=DAO.getConn();ps=conn.prepareStatement("insert into inputbook values ('"+sname+"','"+sno+"','"+sriqi+"','"+schubanshe+"','"+szongshu+"')");int i=ps.executeUpdate();if(i==1){JOptionPane.showMessageDialog(null,"入库成功");}else{JOptionPane.showMessageDialog(null,"入库失败");}}} catch (HeadlessException e1) {// TODO Auto-generated catch blocke1.printStackTrace();} catch (SQLException e1) {// TODO Auto-generated catch blocke1.printStackTrace();}}});jb2.addActionListener(new ActionListener(){public void actionPerformed(ActionEvent arg0) {// TODO Auto-generated method stubjt1.setText("");jt2.setText("");jt3.setText("");jt4.setText("");jt5.setText("");}});}public static void main(String[] args) {// TODO Auto-generated method stubBookinsert b=new Bookinsert();b.setVisible(true);b.setResizable(false);}}(四)图书信息查询图书信息查询源代码如下:package booksystem;import java.awt.GridLayout;import java.awt.HeadlessException;import java.awt.event.ActionEvent;import java.awt.event.ActionListener;import java.sql.Connection;import java.sql.PreparedStatement;import java.sql.ResultSet;import java.sql.SQLException;import javax.swing.JButton;import javax.swing.JFrame;import javax.swing.JLabel;import javax.swing.JOptionPane;import javax.swing.JPanel;import javax.swing.JTextField;import llf.frane.DAO;public class BookQuery extends JFrame {JLabel jl1,jl2,jl3,jl4;JTextField jf1,jf2,jf3,jf4;//文本JButton jb1;//按钮JPanel jp1,jp2,jp3,jp4;public BookQuery(){jl1=new JLabel("查询图书的名称:");jl2=new JLabel("图书编号:");jl3=new JLabel("入库日期");jl4=new JLabel("入库总数:");jf1=new JTextField(15);jf2=new JTextField(15);jf3=new JTextField(15);jf4=new JTextField(15);jb1=new JButton("查询");jp1=new JPanel();jp2=new JPanel();jp3=new JPanel();jp4=new JPanel();this.setLayout(new GridLayout(4, 1));jp1.add(jl1);jp1.add(jf1);jp1.add(jb1);jp2.add(jl2);jp2.add(jf2);jp3.add(jl3);jp3.add(jf3);jp4.add(jl4);jp4.add(jf4);this.add(jp1);this.add(jp2);this.add(jp3);this.add(jp4);setTitle("图书查询");setSize(400,300);setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);setLocationRelativeTo(null);setVisible(true);jb1.addActionListener(new ActionListener() {public void actionPerformed(ActionEvent e) {// TODO Auto-generated method stubString bookname=jf1.getText().trim();Connection conn=null;PreparedStatement ps=null;ResultSet rs=null;conn=DAO.getConn();try {if(bookname.equals("")){JOptionPane.showMessageDialog(null,"请输入你要查询的书名");}else{String sql="select * from inputbook wherebookname='"+bookname+"'";ps=conn.prepareStatement(sql);rs=ps.executeQuery();if(rs.next()){jf2.setText(rs.getString(1));jf3.setText(rs.getString(3));}else{JOptionPane.showMessageDialog(null,"你查询的图书不存在");}}} catch (HeadlessException e1) {// TODO Auto-generated catch blocke1.printStackTrace();} catch (SQLException e1) {// TODO Auto-generated catch blocke1.printStackTrace();}}});}public static void main(String[] args) {// TODO Auto-generated method stubBookQuery bc=new BookQuery();}}(五)图书更新图书更新源代码如下:package booksystem;import java.awt.GridLayout;import java.awt.HeadlessException;import java.awt.event.ActionEvent;import java.awt.event.ActionListener;import java.sql.Connection;import java.sql.PreparedStatement;import java.sql.ResultSet;import java.sql.SQLException;import javax.swing.JButton;import javax.swing.JFrame;import javax.swing.JLabel;import javax.swing.JOptionPane;import javax.swing.JPanel;import javax.swing.JTextField;import llf.frane.DAO;public class BookUpdate extends JFrame {JLabel jl1,jl2,jl3,jl4,jl5;JTextField jt1,jt2,jt3,jt4,jt5;//文本JButton jb1,jb2;JPanel jp1,jp2,jp3,jp4,jp5,jp6;public BookUpdate(){jl1=new JLabel("图书名称");jl2=new JLabel("图书编号");jl3=new JLabel("入库日期");jl4=new JLabel("入库日期");jl5=new JLabel("入库总数");jt1=new JTextField(15);jt2=new JTextField(15);jt3=new JTextField(15);jt4=new JTextField(15);jt5=new JTextField(15);jb1=new JButton("查询");jb2=new JButton("修改");jp1=new JPanel();jp2=new JPanel();jp3=new JPanel();jp4=new JPanel();jp5=new JPanel();jp6=new JPanel();setLayout(new GridLayout(6, 1));jp1.add(jl1);jp1.add(jt1);jp2.add(jl2);jp2.add(jt2);jp3.add(jl3);jp3.add(jt3);jp4.add(jl4);jp4.add(jt4);jp5.add(jl5);jp5.add(jt5);jp6.add(jb1);jp6.add(jb2);this.add(jp1);this.add(jp2);this.add(jp3);this.add(jp4);this.add(jp5);this.add(jp6);setTitle("图书更新");setSize(500,350);setLocationRelativeTo(null);setDefaultCloseOperation(DISPOSE_ON_CLOSE);setVisible(true);jb1.addActionListener(new ActionListener() {public void actionPerformed(ActionEvent arg0) {// TODO Auto-generated method stubString bookname=jt1.getText().trim();Connection conn=null;PreparedStatement ps=null;ResultSet rs=null;conn=DAO.getConn();try {if(bookname.equals("")){JOptionPane.showMessageDialog(null,"请输入你要查询的书名");}else{String sql="select * from inputbook wherebookname='"+bookname+"'";ps=conn.prepareStatement(sql);rs=ps.executeQuery();if(rs.next()){jt2.setText(rs.getString(1));jt3.setText(rs.getString(3));}else{JOptionPane.showMessageDialog(null,"你查询的图书不存在");}}} catch (HeadlessException e1) {// TODO Auto-generated catch blocke1.printStackTrace();} catch (SQLException e1) {// TODO Auto-generated catch blocke1.printStackTrace();}}});jb2.addActionListener(new ActionListener() {public void actionPerformed(ActionEvent arg0) {// TODO Auto-generated method stub// jt1.setText("");jt2.setText("");jt3.setText(""); // jt4.setText("");jt5.setText("");}});}public static void main(String[] args) {// TODO Auto-generated method stubBookUpdate bu=new BookUpdate();}}(六)旧图书删除旧图书删除源代码如下:package booksystem;//说明删除界面import java.awt.GridLayout;import java.awt.HeadlessException;import java.awt.event.ActionEvent;import java.awt.event.ActionListener;import java.sql.Connection;import java.sql.PreparedStatement;import java.sql.SQLException;import javax.swing.JButton;import javax.swing.JFrame;import javax.swing.JLabel;import javax.swing.JOptionPane;import javax.swing.JPanel;import javax.swing.JTextField;import llf.frane.DAO;public class BookDelete extends JFrame{JLabel jl1;JTextField jf1;JButton jb1,jb2;JPanel jp1,jp2,jp3;public BookDelete(){jl1=new JLabel("请输入你要删除的图书名称");jf1=new JTextField(18);jb1=new JButton("删除");jb2=new JButton("重置");jp1=new JPanel();jp2=new JPanel();jp3=new JPanel();setLayout(new GridLayout(3, 1));jp1.add(jl1);jp2.add(jf1);jp3.add(jb1);jp3.add(jb2);this.add(jp1);this.add(jp2);this.add(jp3);setTitle("旧图书删除");setSize(400,250);setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);setLocationRelativeTo(null);setVisible(true);jb1.addActionListener(new ActionListener() {public void actionPerformed(ActionEvent arg0) {// TODO Auto-generated method stubString dlname=jf1.getText().trim();try {if(dlname.equals("")){JOptionPane.showMessageDialog(null, "请输入你要删除的图书名称");}else{Connection conn=null;PreparedStatement ps=null;int i;conn=DAO.getConn();String sql="delete * from inputbook wherebookname='"+dlname+"'";//执行sqlps=conn.prepareStatement(sql);i=ps.executeUpdate();if(i==1){JOptionPane.showMessageDialog(null, "删除图书成功");}else{JOptionPane.showMessageDialog(null, "删除图书失败");}}} catch (HeadlessException e) {e.printStackTrace();} catch (SQLException e) {e.printStackTrace();}}});jb2.addActionListener(new ActionListener() {public void actionPerformed(ActionEvent arg0) {// TODO Auto-generated method stubjf1.setText("");}});}public static void main(String[] args) {// TODO Auto-generated method stubBookDelete bd=new BookDelete();}}(七)办理借阅证登记办理借阅证登记源代码如下:package booksystem;import java.awt.GridLayout;import java.awt.HeadlessException;import java.awt.event.ActionEvent;import java.awt.event.ActionListener;import java.sql.Connection;import java.sql.PreparedStatement;import java.sql.SQLException;import javax.swing.ButtonGroup;import javax.swing.JButton;import javax.swing.JFrame;import javax.swing.JLabel;import javax.swing.JOptionPane;import javax.swing.JPanel;import javax.swing.JRadioButton;import javax.swing.JTextField;import llf.frane.DAO;public class Dengji extends JFrame{JRadioButton jrb1,jrb2;JLabel jl1,jl2,jl3,jl4,jl5,jl6;JTextField jt1,jt2,jt3,jt4,jt5;ButtonGroup bg;JButton jb1,jb2;JPanel jp1,jp2,jp3,jp4,jp5,jp6,jp7;public Dengji(){jl1=new JLabel("学生姓名");jl2=new JLabel("学生学号");jl3=new JLabel("学生性别");jl4=new JLabel("所在院系");jl5=new JLabel("所在专业");jl6=new JLabel("所在班级");jrb1=new JRadioButton("男");jrb2=new JRadioButton("女");jb1=new JButton("登记");jb2=new JButton("重置");bg=new ButtonGroup();jt1=new JTextField(15);jt2=new JTextField(15);jt3=new JTextField(15);jt4=new JTextField(15);jt5=new JTextField(15);jp1=new JPanel();jp2=new JPanel();jp3=new JPanel();jp4=new JPanel();jp5=new JPanel();jp6=new JPanel();jp7=new JPanel();setLayout(new GridLayout(8, 1));jp1.add(jl1);jp1.add(jt1);jp2.add(jl2);jp2.add(jt2);jp4.add(jl4);jp4.add(jt3);jp5.add(jl5);jp5.add(jt4);jp6.add(jl6);jp6.add(jt5);jp7.add(jb1);jp7.add(jb2);jp3.add(jl3);bg.add(jrb1);bg.add(jrb2);jp3.add(jrb1);jp3.add(jrb2);this.add(jp1);this.add(jp2);this.add(jp3);this.add(jp4);this.add(jp5);this.add(jp6);this.add(jp7);setTitle("办理借阅证登记");setSize(400, 300);setLocationRelativeTo(null);setDefaultCloseOperation(DISPOSE_ON_CLOSE);jb1.addActionListener(new ActionListener() {public void actionPerformed(ActionEvent arg0) {// TODO Auto-generated method stubString sname=jt1.getText().trim();String sno=jt2.getText().trim();String syuanxi=jt3.getText().trim();String szhuanye=jt4.getText().trim();String sclass=jt5.getText().trim();String sex;if(jrb1.isSelected()){sex="男";}else{sex="女";}try {if(sname.equals("")||sno.equals("")||syuanxi.equals("")||szhuanye.equals("")|| sclass.equals("")){JOptionPane.showMessageDialog(null,"请输入完整信息");}else{Connection conn=null;PreparedStatement ps=null;conn=DAO.getConn();ps=conn.prepareStatement("insert into dengji values sname='"+sname+"'+sno='"+sno+"'+syuanxi='"+syuanxi+"'+szhuanye='"+szhuanye+"'+scla ss='"+sclass+"'");int i=ps.executeUpdate();if(i==1){JOptionPane.showMessageDialog(null,"登记成功");}else{JOptionPane.showMessageDialog(null,"登记失败");}}} catch (HeadlessException e) {// TODO Auto-generated catch blocke.printStackTrace();} catch (SQLException e) {// TODO Auto-generated catch blocke.printStackTrace();}}});jb2.addActionListener(new ActionListener() {public void actionPerformed(ActionEvent arg0) {// TODO Auto-generated method stubjt1.setText("");jt2.setText("");jt3.setText("");jt4.setText("");jt5.setText("");}});}public static void main(String[] args) {// TODO Auto-generated method stubDengji dj=new Dengji();dj.setVisible(true);}}(八)图书借阅管理图书借阅管理源代码如下:package book;import java.awt.GridLayout;import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import javax.swing.ButtonGroup;import javax.swing.JButton;import javax.swing.JFrame;import javax.swing.JLabel;import javax.swing.JPanel;import javax.swing.JRadioButton; import javax.swing.JTextField;public class Manage extends JFrame{ JLabel jl1,jl2,jl3,jl4;JRadioButton jrb1,jrb2;JTextField jt1,jt2,jt3,jt4;ButtonGroup bg;JButton jb1,jb2;JPanel jp1,jp2,jp3,jp4,jp5,jp6;public Manage(){jl1=new JLabel("学生姓名:");jl2=new JLabel("学生学号:");jl3=new JLabel("图书名称:");jl4=new JLabel("图书编号");jrb1=new JRadioButton("借书");jrb2=new JRadioButton("还书");jb1=new JButton("确定");jb2=new JButton("重置");jt1=new JTextField(15);jt2=new JTextField(15);jt3=new JTextField(15);jt4=new JTextField(15);bg=new ButtonGroup();jp1=new JPanel();jp2=new JPanel();jp3=new JPanel(); jp4=new JPanel();jp5=new JPanel();jp6=new JPanel(); setLayout(new GridLayout(6, 1));jp1.add(jrb1);jp1.add(jrb2);jp2.add(jl1);jp2.add(jt1);jp3.add(jl2);jp3.add(jt2);jp4.add(jl3);jp4.add(jt3);jp5.add(jl4);jp5.add(jt4);jp6.add(jb1);jp6.add(jb2);bg.add(jrb1);bg.add(jrb2);this.add(jp1);this.add(jp2);this.add(jp3);this.add(jp4);this.add(jp5);this.add(jp6);setTitle("图书借阅管理");setSize(400, 300);setLocationRelativeTo(null); setDefaultCloseOperation(DISPOSE_ON_CLOSE);jb1.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent arg0) { // TODO Auto-generated method stubSystem.exit(1);}});jb2.addActionListener(new ActionListener() {public void actionPerformed(ActionEvent arg0) {// TODO Auto-generated method stubjt1.setText("");jt2.setText("");jt3.setText("");jt4.setText("");}});}public static void main(String[] args) {// TODO Auto-generated method stubManage ma=new Manage();ma.setVisible(true);}}(九)软件说明软件说明代码如下:package book;import java.awt.Font;import java.awt.GridLayout;import javax.swing.JFrame;import javax.swing.JLabel;import javax.swing.JPanel;import book.Introduce;public class Introduce extends JFrame{JLabel jl1,jl2,jl3,jl4,jl5,jl6,jl7,jl8,jl9,jl10;JPanel jp1,jp2,jp3,jp4,jp5,jp6,jp7,jp8,jp9,jp10;public Introduce(){jl1=new JLabel("本系统通过强大的计算机技术给图书管理人员和读者借、");jl2=new JLabel("还书带来便利。

java图书馆管理系统实验报告

java图书馆管理系统实验报告

java图书馆管理系统实验报告Java图书馆管理系统实验报告一、引言图书馆是一个重要的知识资源中心,为读者提供各种书籍和资料,帮助他们获取知识和信息。

然而,传统的图书馆管理方式存在一些问题,如借阅过程繁琐、图书管理不便等。

为了解决这些问题,我们设计并实现了一个基于Java的图书馆管理系统。

二、系统需求分析1. 用户管理:系统需要提供用户管理功能,包括读者和管理员两种角色。

读者可以注册、登录、查询图书信息、借阅和归还图书等;管理员可以管理图书信息、读者信息、借阅记录等。

2. 图书管理:系统需要提供图书管理功能,包括图书的增加、删除、修改和查询等。

管理员可以根据图书的编号、名称、作者等信息进行查询和操作。

3. 借阅管理:系统需要提供借阅管理功能,包括读者的借阅记录、借阅期限的控制、逾期罚款等。

读者可以查询自己的借阅记录,管理员可以审核借阅申请、处理逾期情况等。

三、系统设计与实现1. 技术选型:我们选择使用Java语言进行系统的设计与实现。

Java具有跨平台性、面向对象的特点,适合用于开发图书馆管理系统这样的应用。

2. 数据库设计:我们使用MySQL数据库来存储系统的数据。

设计了读者表、图书表、借阅记录表等,并建立了相应的关系。

3. 界面设计:系统的界面采用了Java Swing技术来实现。

我们设计了用户登录界面、主界面、图书查询界面、借阅记录界面等。

4. 功能实现:根据系统需求,我们实现了用户管理、图书管理和借阅管理等功能。

通过编写相应的Java代码,实现了用户注册、登录、图书增删改查、借阅和归还等操作。

四、系统测试与评估1. 功能测试:我们对系统的各个功能进行了测试,包括用户注册、登录、图书查询、借阅和归还等。

测试结果显示系统的功能正常,能够满足用户的需求。

2. 性能评估:我们对系统的性能进行了评估,包括响应时间、并发处理能力等。

评估结果显示系统的性能良好,能够满足一般图书馆的需求。

3. 用户反馈:我们邀请了一些用户进行系统的使用,并收集了他们的反馈意见。

数据库系统实验报告图书馆管理系统oraclejava修订稿

数据库系统实验报告图书馆管理系统oraclejava修订稿

数据库系统实验报告图书馆管理系统o r a c l e j a v a公司标准化编码 [QQX96QT-XQQB89Q8-NQQJ6Q8-MQM9N]湖南科技大学数学与计算科学学院数据库系统课程设计课程设计题目:图书馆管理系统指导教师:刘*芳学生院系:数学学院学生班级:信计*班学生姓名:黎*文学生学号: **目录一.任务书1.题目:图书馆管理系统2.内容及要求:(1)创建数据库存储信息(2)开发java前端程序,使用数据库。

(3)具有实际应用价值3.实验成员分工:黎*文:主要负责物理结构,数据库实施,数据库与前端的连接处理操作。

沈*杰:主要负责系统界面、概念与逻辑结构的设计,并进行维护调试。

二.相关技术与环境介绍开发工具:oracle 11g,Eclipse开发语言:Java开发环境:JDK运行环境:Windows 10其他辅助工具:PowerDesigner165,edrawmax核心技术:JOBC对数据库的操作,java操作界面的设计,各种布局方式和插件(1)使用JFrame控件进行界面设计(2)使用静态字段实现窗体间的数据传递(3)使用代码方式向容器控件中添加控件(4)数据库连接和前台操作(5)数据库和开发工具之间的编码转换三.需求分析图书馆管理系统是一个高度集成的图书信息处理系统,通过将图书馆的各种功能进行整合,从而达到显示检索信息,提高工作效率,降低管理成本等目的。

一个典型的图书馆管理系统应该能够管理所有的图书种类,图书信息以及读者信息,还需要提供各种图书信息的检索查询功能。

该系统还需要能够对图书的借阅,归还进行管理,并对读者的罚款进行自动计算。

通过该系统的自动化管理,能够大大减少图书馆管理人员,还能减少管理人员的工作任务,从而降低管理开销和成本。

一个完整的图书馆管理系统包括前台和后台,前台主要是显示在计算机屏幕上的显示界面,有各种指令按钮,操作框以及文本框,后台主要是为前台的一些操作提供一些必要的数据,也就是一个相对于系统比较完整的数据库,操作员以及各类图书的信息,借书者的信息等等。

java数据库课程设计报告图书馆管理系统

java数据库课程设计报告图书馆管理系统

西安郵電大学数据库课程设计报告题目:图书管理系统院系名称:计算机学院专业名称:计算机科学与技术班级:计科1006学生姓名:郑波学号(8位):04101198指导教师:乔平安设计起止时间:2012年10月8日~2012年10月19日一问题的提出一、开发背景很多高校都拥有图书馆,图书馆可以为全校师生提供一个阅读,学习的空间。

近年来,随着生源不断增大,图书馆的规模也随之扩大,图书数量也相应地大量增加,有关图书馆各种信息成倍增加。

面对如此庞大的信息量,校领导决定使用一套合理,有效,规范,实用的图书馆管理系统,对校内图书资料进行统一,集中的管理。

本系统将会涉及到图书馆日常管理工作的基本常见细节,诸如新图书的入库登记,图书馆所有书籍的分类管理,图书的查询,图书的借阅、退还手续的登记,费旧图书的清理撤除等,本系统所要实现的这些功能基本上涵盖了图书馆的日常管理工作,基本能够满足校园图书馆的工作人员的管理需要。

在对本系统的具体开发过程当中,将采用Java语言进行开发,以Sql Server实现后台数据库,本系统是完全基于图形化用户界面(GUI)的单机版本。

本系统的设计是在Windows 7简体中文版操作系统环境下,使用 Java中文版开发成功的。

数据库是MIS中的重要支持技术,在MIS开发过程中,如何选择数据库管理是一个重要的问题,目前,数据库产品较多,每种产品都具有各自的特点和适用范围,因此,在选择数据库时,应考虑数据库应用的特点及适用范围,本系统所使用的后台数据库是MS SQL2005数据库。

本系统选用的开发语言介绍如下:选择了美国SUN公司推出的Java开发工具。

Java 是第一个全面支持面向对象程序设计的数据库语言工具。

Java的主要特点有:1、语言是简单的、小型的、结构中性的2、强大的数据库开发功能3、扩大了对SQL语言的支持4、是面向对象的、高性能的、多线程的5、是分布式的、面向网络6、具有平台无关性7、语言具有可移植性、是动态的二、需求分析图书馆管理系统是图书馆管理工作中补课缺少的部分,对于图书馆的管理者和使用者来说都非常重要,但长期以来,人们使用传统的手工方式或性能较低的图书馆管理系统管理图书馆的日常事务,操作流程比较繁琐,效率相当低。

Java图书管理系统实训报告

Java图书管理系统实训报告

Java图书管理系统实训报告一、项目背景与目的随着信息技术的不断发展和人们对知识的需求日益增长,图书馆成为学校和社会中重要的知识传播和文化交流场所。

然而,传统的图书管理方式已不能满足当代要求,迫切需要一种高效、便捷的图书管理系统来提高图书馆的管理效率和读者服务质量。

本项目旨在开发一款基于Java的图书管理系统,通过计算机技术的应用,对传统的图书管理进行改进和优化,提高图书管理和读者服务的效率。

二、实训内容与环境1. 实训内容本次实训的主要内容包括图书管理系统的需求分析、系统设计、代码编写和测试等环节。

实训过程中,我们将采用面向对象的开发思想,使用Java语言进行编程,并结合数据库技术来存储和管理图书信息。

2. 实训环境为了完成本次实训,我们需要准备以下环境:•操作系统:Windows 10•Java开发工具:Eclipse•数据库管理工具:MySQL Workbench•版本控制工具:Git•Java开发框架:JavaFX三、系统设计与实现1. 系统需求分析根据实际需求,我们对图书管理系统的主要功能进行了分析和定义,主要包括以下几个模块:•图书管理:包括图书录入、图书查询、图书借阅和归还等功能。

•读者管理:包括读者信息录入、查询和修改等功能。

•借阅管理:包括借阅记录查询和图书逾期提醒等功能。

•统计报表:包括图书借阅统计和读者借阅排行等功能。

2. 系统设计在系统设计阶段,我们采用了三层架构的设计模式,将系统划分为前端展示层、业务逻辑层和数据访问层。

前端展示层使用JavaFX技术进行开发,实现了用户界面的设计和交互功能。

业务逻辑层负责处理各种请求和业务逻辑,对用户输入的数据进行验证和处理。

数据访问层使用MySQL 数据库来存储和管理图书和用户的信息。

3. 代码实现在代码编写阶段,我们根据系统设计的要求,使用Java编程语言实现了各个功能模块的代码。

具体实现过程中,我们采用了面向对象的编程方式,使用合适的数据结构和算法来解决实际问题。

Oracle课程设计--图书馆书籍管理系统

Oracle课程设计--图书馆书籍管理系统

课程设计任务书2012 —2013 学年第一学期课程名称:大型数据库应用设计题目:图书馆书籍管理系统完成期限:自2012 年11 月27 日至2012 年12 月22 日共一周指导教师(签字):年月日系(教研室)主任(签字):年月日大型数据库应用课程设计课程设计说明书图书馆书籍管理系统起止日期:2012 年11 月27 日至2012 年12 月25 日学生姓名班级计算机091班学号成绩指导教师(签字)计算机与通信学院2012年12月25 日图书馆书籍管理系统一、课题的介绍和课题的任务图书馆书籍管理系统主要对图书馆中书籍进行管理,包括对书籍的添加,删除,修改,各种方式的查询等操作,用于管理员对图书馆书籍库的管理;采用Oracle作为数据库,应用了Java,Jsp,JavaScript,SQL等编程语言以及Struts2,JDBC等等技术,另外系统采用B/S结构,MVC的设计模式进行设计,在数据库方面,多处应用了存储过程和触发器;二、课程设计的要求1、书籍的添加:通过触发器和索引,使图书的编号按照自动增长的方式进行添加,其他字段还有:书籍名称,作者,出版社,页数,藏书地址等;并且通过定义触发器,使每增加一条图书信息,在图书状态表中给其增加对应的图书状态信息;2、书籍的删除:通过存储过程来实现,如果该书的状态为已借出,就不能删除书籍,并发出提示信息;书籍的删除,通过定义before触发器,假如该书籍能够删除,就在其删除之前,删掉该书籍的状态信息;3、书籍的修改:修改除了书籍主键外的其他信息;4、书籍的查询:可根据图书的索引号进行精确查询,可以根据图书的书名,作者,出版社,藏书地址等进行模糊查询,基于系统的需求,还提供系统中以所有字段作为关键字的模糊查询;5、用户身份验证,管理员通过用户登录,输入验证信息,若经过系统验证后,若正确,则进入图书管理主页,若出现错误,则跳到登录界面,并返回相应的友好的错误提示信息;三、系统的分析和系统中数据库的分析(ER图等)1、系统设计1.1.系统概要设计-流程图系统总体设计如图1.1所示图1-1实现用户的登录,管理员登录后对图书进行书籍的添加,书籍各种方式的查询,书籍的修改,书籍的删除;1.2.系统的详细设计1.2.1.用户的登录图书管理员通过输入管理员和密码进行验证,若验证正确,则进入系统。

Java+Mysql课程设计 图书管理系统 实验报告 需求报告说明书 软件工程

Java+Mysql课程设计 图书管理系统 实验报告 需求报告说明书 软件工程

Java+Mysql课程设计图书管理系统实验报告需求报告说明书软件工程自查报告。

课程名称,Java+Mysql课程设计。

课程性质,软件工程。

课程内容,图书管理系统。

一、需求报告说明书。

在本次课程设计中,我负责设计和实现图书管理系统的需求报告说明书。

在编
写需求报告说明书的过程中,我首先对图书管理系统的功能进行了分析和整理,明确了系统需要实现的基本功能和扩展功能。

其次,我根据用户的需求和系统的特点,设计了系统的用例图和用例描述,明确了系统各个功能模块的具体功能和交互流程。

最后,我对系统的非功能性需求进行了详细的描述,包括性能、安全性、可靠性等方面的要求。

通过编写需求报告说明书,我深入理解了图书管理系统的需求和设计思路,为后续的系统设计和实现奠定了基础。

二、实验报告。

在课程设计的实验阶段,我负责实现图书管理系统的后端功能,包括数据库设计、数据表的创建和管理、后台接口的设计和实现等工作。

在实验过程中,我充分运用了Java和Mysql的知识,熟练掌握了数据库的设计和管理技术,实现了系统
的数据存储和管理功能。

同时,我还结合软件工程的理论知识,采用了模块化和面向对象的设计思想,使系统的代码结构清晰、易于维护和扩展。

通过实验报告的编写,我总结了系统的设计思路、实现过程和遇到的问题,对系统的优化和改进提出了建设性的意见和建议。

通过本次课程设计,我不仅深入学习了Java和Mysql的知识,还加深了对软件工程理论的理解和应用。

我相信这次课程设计的经历将对我的未来学习和工作产生积极的影响。

图书管理系统java课程设计报告

图书管理系统java课程设计报告

图书管理系统java课程设计报告一、课程目标知识目标:1. 掌握Java语言面向对象编程的基本原理,包括类的定义、对象的创建、继承和多态;2. 学会使用Java集合框架,如List、Set等,进行数据存储和管理;3. 理解数据库连接和SQL语句执行过程,掌握JDBC操作数据库的基本方法;4. 了解图书管理系统的业务需求,能运用所学知识分析并实现系统功能。

技能目标:1. 培养学生运用面向对象思想进行问题分析和解决的能力;2. 提高学生使用Java语言编写程序、调试代码和解决问题的实践能力;3. 培养学生运用JDBC技术操作数据库,实现数据增删改查等基本功能;4. 培养学生团队协作、沟通表达和项目组织管理的能力。

情感态度价值观目标:1. 激发学生对计算机编程的兴趣,培养其主动学习和探究的精神;2. 培养学生严谨、踏实的学术态度,注重代码规范和编程习惯;3. 引导学生关注实际应用,体会所学知识在解决实际问题中的价值;4. 培养学生的团队协作意识,使其认识到团队合作的重要性。

本课程针对高年级学生,结合学科特点和教学要求,旨在通过图书管理系统Java课程设计,使学生在掌握Java编程基础和数据库操作技能的同时,培养其实际项目开发和团队协作能力。

课程目标具体、可衡量,为后续教学设计和评估提供明确依据。

二、教学内容1. Java面向对象编程基础:- 类的定义、属性、方法- 对象的创建、使用- 继承、多态、封装- 抽象类、接口2. Java集合框架:- List、Set、Map接口及其实现类- 集合的增删改查操作- 集合的迭代器、增强型for循环遍历3. 数据库基础与JDBC操作:- 数据库概念、SQL语言基础- JDBC驱动加载、数据库连接- PreparedStatement对象执行SQL语句- 结果集处理、事务管理4. 图书管理系统功能实现:- 系统需求分析- 类的设计与实现- 数据库表结构设计- 系统功能模块划分及实现教学内容按照课程目标进行选择和组织,确保科学性和系统性。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

湖南科技大学数学与计算科学学院数据库系统课程设计课程设计题目:图书馆管理系统指导教师:刘*芳学生院系:数学学院学生班级:信计*班学生姓名:黎*文学生学号: **目录一.任务书1.题目:图书馆管理系统2.内容及要求:(1)创建数据库存储信息(2)开发java前端程序,使用数据库。

(3)具有实际应用价值3.实验成员分工:黎*文:主要负责物理结构,数据库实施,数据库与前端的连接处理操作。

沈*杰:主要负责系统界面、概念与逻辑结构的设计,并进行维护调试。

二.相关技术与环境介绍开发工具:oracle 11g,Eclipse开发语言:Java开发环境:JDK运行环境:Windows 10其他辅助工具:PowerDesigner165,edrawmax核心技术:JOBC对数据库的操作,java操作界面的设计,各种布局方式和插件(1)使用JFrame控件进行界面设计(2)使用静态字段实现窗体间的数据传递(3)使用代码方式向容器控件中添加控件(4)数据库连接和前台操作(5)数据库和开发工具之间的编码转换三.需求分析图书馆管理系统是一个高度集成的图书信息处理系统,通过将图书馆的各种功能进行整合,从而达到显示检索信息,提高工作效率,降低管理成本等目的。

一个典型的图书馆管理系统应该能够管理所有的图书种类,图书信息以及读者信息,还需要提供各种图书信息的检索查询功能。

该系统还需要能够对图书的借阅,归还进行管理,并对读者的罚款进行自动计算。

通过该系统的自动化管理,能够大大减少图书馆管理人员,还能减少管理人员的工作任务,从而降低管理开销和成本。

一个完整的图书馆管理系统包括前台和后台,前台主要是显示在计算机屏幕上的显示界面,有各种指令按钮,操作框以及文本框,后台主要是为前台的一些操作提供一些必要的数据,也就是一个相对于系统比较完整的数据库,操作员以及各类图书的信息,借书者的信息等等。

此次的图书馆管理系统有如下几个重要功能:(1)管理员可以方便进行图书管理,用户管理,管理员管理。

图书管理包括图书信息以及图书分类的添加,修改,删除。

用户管理包括用户信息的添加,删除,修改。

管理员管理包括管理员信息的添加,删除,修改等。

(2)管理员可以修改自己的以及用户密码,修改前需先核实自己的原始密码。

(3)实现模糊查询,使用户得到更多的相关记录。

并且考虑使用的方便性,一些经常使用的输入无须用户输入,比如进行图书查询时图书分类只须用户做选择就可以。

(4)如果出现超期未还的情况,能够就做出记录,并作出相应处罚处理。

四.概念结构设计E-R图的设计(1)学生E-R图:(2)管理员E-R 图:(3):图书E-R 图:(4(5)系统逻辑图:4 .2 数据库的设计(1)建立orcl数据库(2)建立LIBRARYTEST表空间(3)在表空间中建立用户libadmin,进行权限的设置,为最高权限(4)登录libadmin用户,创建libstudent用户,只具有查询的权限(5)根据中(4)图建立7个表。

五.逻辑结构设计1 . 图书(BOOK)的逻辑结构:2. 超期图书(ECEEDTIME):3. 丢失图书(LOSERBOOK):4. 管理员权限表(MSANAGER):5. 预约图书:6. 借阅记录:7. 学生用户:以上为各种表的逻辑结构。

六.数据库实施数据库的建立和表空间的建立直接在oracle数据库OEM 企业管理其中直接操作。

界面化操作省略。

6. 2 数据库用户的建立(1)BOOK" TO "LIBADMIN" WITH GRANT OPTIONGRANT DELETE ON "LIBRARYTEST"."BOOK" TO "LIBADMIN" WITH GRANT OPTIONGRANT INDEX ON "LIBRARYTEST"."BOOK" TO "LIBADMIN" WITH GRANT OPTIONGRANT INSERT ON "LIBRARYTEST"."BOOK" TO "LIBADMIN" WITH GRANT OPTIONGRANT REFERENCES ON "LIBRARYTEST"."BOOK" TO "LIBADMIN" WITH GRANTOPTIONGRANT SELECT ON "LIBRARYTEST"."BOOK" TO "LIBADMIN" WITH GRANT OPTIONGRANT UPDATE ON "LIBRARYTEST"."BOOK" TO "LIBADMIN" WITH GRANT OPTION (4)初始数据的插入给出一个学生表的建立和插入代码:create table student(StuNO int primary key,StuName varchar(50),StuAge int,StuSex varchar(50),Class varchar(50),Department varchar(50),Tel char(11),Permitted varchar(50),Password varchar(20));insert into student values(10001,'陈小诗',20,'女','计算机1班','计算机系',2592921,'是','number1');insert into student values(10002,'李飞',21,'女','计算机1班','计算机系',,'是','number2');insert into student values(10003,'孙亚',20,'男','计算机1班','计算机系',,'是','number3');insert into student values(10004,'何二',22,'男','计算机1班','计算机系',2568975,'是','number4');insert into student values(10005,'唐雨',21,'女','计算机1班','计算机系',,'是','number5');insert into student values(10006,'宋江',20,'男','计算机2班','计算机系',1234667,'是','number6');java前端编程数据库连接类DataBase:package ;import .*;import .*;public class DataBase{Connection con=null;etImage();(image);("图书管理系统");etScreenSize();int centerX=4;int centerY=4;intw=800;etLastPathComponent();NodeValue1 cnv=(NodeValue1)();if"学生用户管理系统")){(jp,"root");etImage();(image);("学生管理系统");etScreenSize();int centerX=2;int centerY=2;intw=500;统测试方案和测试报告页面测试:逐个测试每个页面是否可以正确显示,显示页面是否美观,易懂,测试各菜单能否正常运行。

经测试,所有界面均可以正确显示,显示页面比较美观,易懂,各菜单均能正常运行。

功能测试:对每个菜单下的功能逐一测试,尽最大可能发现潜在的错误。

经测试,每个菜单下的功能均能实现,暂未发现其潜在的错误。

需求测试:根据需求分析的内容,测试系统是否和当初的设计一样。

经测试,所设计的图书馆管理系统基本满足当初的设计需求。

其他详情见答辩。

八.系统的主要功能和使用说明功能说明:管理员的权限(1)有关读者种类标准的制定、种类信息的输入、包括种类编号、种类名称、借书数量、借书期限等。

(2)读者有关信息的修改、查询等。

(3)读者基本信息的输入,包括读者编号、读者姓名、班级、院系等。

(4)读者基本信息的查询、修改(5)书籍信息的输入,包括书籍编号、书籍名称、书籍所属类别、作者、出版社、出版日期、在库数、价格。

(6)借书信息包括借书证号、书籍编号、借出日期、拖欠日期、罚款种额(7)图书管理书籍号、管理员编号、销书数量、销书日期。

(8)超级用户可以设置其他管理员,并登记到管理员表中。

学生用户权限:(1)学生能登录学生界面。

并实现相应操作。

(2)查询图书的种类,及其各种信息,本系统不支持模糊查询。

(3)预约图书,对丢失的图书进行挂失登记。

使用说明管理员使用流程:(1)点击可执行文件。

登录名为“1001”(默认为超级管理员)密码为“1001”。

(2)进入管理系统后即可更改超级管理员密码。

然后设置其他管理员,并授予相应的权限。

(3)以管理员用户登陆能使用以下所有功能:学生用户使用流程:(1)在管理员处(由管理者自行设置)进行注册登记。

(2)在登录界面输入相应注册账号和密码即可登录。

(3)以学生用户登陆能使用以下所有功能:图书管理系统数据库安全:数据库的转储和恢复数据库的转储和恢复是系统正式运行后最重要的维护工作之一。

要针对不同的应用要求制定不同的转储计划,以保证一旦发生故障能尽快将数据库恢复到某种一致的状态,并尽可能减少对数据库的破坏。

一周进行使用OEM对数据库进行备份。

数据库的安全性和完整性。

各级环境数据库系统主管单位应保证以下安全保护措施的正常执行:(1)环境数据库系统重要部分的冗余或备份措施。

(2)计算机病毒防治措施。

(3)网络攻击防范、追踪措施。

相关文档
最新文档