Oracle实用教程课程设计图书管理系统_第1页
Oracle实用教程课程设计图书管理系统_第2页
Oracle实用教程课程设计图书管理系统_第3页
Oracle实用教程课程设计图书管理系统_第4页
Oracle实用教程课程设计图书管理系统_第5页
已阅读5页,还剩13页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、1课程设计说明书 课程名称:课程名称: oracle 实用教程 设计题目设计题目: 图书管理系统 专专 业:业: 计算机科学与技术 班级:班级: 计 0801 学生姓名学生姓名: : xxxx 学学 号号: xxxxxxxxxx 指导教师指导教师: 陶立新 湖南工业大学科技学院教务部 制2011 年 12 月 9 日2目目 录录1目标目标.12运行平台运行平台.13系统开发说明系统开发说明.14软件结构图软件结构图.15项目需求项目需求.15.1功能模块.15.2功能模块描述.26软件模块流程软件模块流程.26.1系统登录模块功能分析.26.2借阅管理模块.36.3系统管理模块及书籍管理模块功

2、能分析.47.3.1系统管理模块.47.3.2书籍管理模块.56.4读者管理模块.66.5软件说明模块.77软件数据库设计软件数据库设计.77.1er 图.77.2数据库逻辑结构.98用户角色用户角色.101图书馆管理系统图书馆管理系统1 1 目标目标建立完善的图书馆管理系统2 2 运行平台运行平台windows 平台3 3 系统开发说明系统开发说明a、开发小组: b、开发时限:三周c、本系统使用开发工具:eclipse3.5.1、sql server20054 4 软件结构图软件结构图5 5 项目需求项目需求5.1 5.1 功能模块功能模块1、 系统登录模块2、 借阅管理模块3、 系统管理模

3、块4、 书籍管理模块5、 读者管理模块26、 软件说明模块5.2 5.2 功能模块描述功能模块描述一、系统登录模块主要用于负责系统的登录权限,同时负责与其他模块的连接,方便用户访问所需要的模块。二、借阅管理模块主要用于管理书籍的出借和归还,同时也可以查询书籍是否借出和归还。三、系统管理模块主要用于添加系统用户,删除系统用户。四、书籍管理模块主要用于管理图书馆图书的新增和删除,同时也可以查询图书的信息。五、读者管理模块主要用于管理借阅人员信息,对于借阅人员的信息处理。六、软件说明模块主要用于说明软件的信息以及开发团队等。6 6 软件模块流程软件模块流程6.1 6.1 系统登录模块功能分析系统登录

4、模块功能分析登陆界面登陆界面输入口令和密码登陆管理系统。主窗体主窗体主要作用是方便用户访问不同的功能。包含以下几个功能:1.借阅图书:进入借阅管理界面,处理图书的借阅操作。2.归还图书:进入归还管理界面,处理图书的归还操作。3.续借管理:进入续借管理界面,处理图书的续借操作。4.图书查询:进入图书查询界面,查询图书信息,是否借出或是否存在此图书等。5.系统管理:进入系统管理界面,添加新的系统管理员。6.书籍管理:进入书籍管理界面,处理图书的新增,清除,修缮等操作。37.读者管理:进入读者管理界面,管理读者的借阅资格。8.关于软件:软件功能说明,开发团队说明等。9.退出系统:关闭程序,安全退出。

5、以下是关于主窗体实体流程图: 主窗体实体流程图借阅管理模块借阅管理模块方便的查询书籍、归还书籍、续借数据等借阅图书模块借阅图书模块 借阅图书模块的创建便于借阅,查询书籍。只需在文本框中输入想要的书籍时,点击查询即可列出此书籍的所有信息。如果想要借阅书籍的话,点击我们的借阅按钮,便可。在点击借阅按钮时,会弹出一个提示信息对话框告诉用户是否借阅成功。列表缩览表:书刊编号书籍名称作者书刊分类总册数借出册数剩余册数02flashxxxxxxx321表 1-1归还图书模块归还图书模块归还图书实现了图书归还的直接查询,它的功能模块跟我们的借阅图书有些相似,同样的,直接在文本框中输入书籍的名称或是编号,点击

6、搜索,列表框中显示了所有的信息,标注有没有归还,标识为红色的字体是丢失的书籍。在我们的归还图书导航中又分有:图书丢失,图书被损坏和续借的功能。主窗体借阅图书归还图书图书查询系统管理书籍管理读者管理关于软件退出系统续借管理4下面是基本功能操作的流程 归还图书 导航处的功能 丢失 损坏 输入书名: 续借 归还图书查询功能 e-r 图归还图书缩览表:书刊编号书籍名称作者书刊分类总册数归还册数书刊附件02flashxxxxxxx3216.2 6.2 系统管理模块及书籍管理模块功能分析系统管理模块及书籍管理模块功能分析6.2.1 6.2.1 系统管理模块系统管理模块系统管理是图书管理系统之中的一个关键的

7、模块,具体功能如下:1:添加管理帐号:主要的内容为系统管理员提供用户帐号添加管理2:删除帐号:主要用于删除不需要的管理帐号。如上图,可以从层次结构上说明的系统管理模块与书籍管理模块的大概的操作内容,6.2.2 6.2.2 书籍管理模块书籍管理模块书籍模块则包括四个子功能:1:书籍添加:系统管理书籍管理添加帐号删除帐号书籍查询书籍添加书籍修缮书籍删除5输入图书馆最新的书籍购入信息至图书管理系统,提供显示信息及添加信息等功能;2:图书删除:包括书籍的过时性及书籍的损坏之后从图书管理系统删除与之相关的书籍信息,提供添加信息与删除信息等功能;3:书籍的修缮:修订图书,4:图书查询该子功能模块在上图之中

8、没有显示出来,因为该功能模块可以作为管理界面模块的子功能模块,在与我所说的两个主功能模块是一个并列的关系,在书籍管理模块之中添加一个指向图书查询的功能按钮,启动图书查询功能模块。在图书查询模块中有分为了四个小模块:图书现存数量查询借出查询书籍信息归还查询 图书现存数量的查询图书现存数量的查询实现了各类书籍现存数量的查询和总共书籍数量查询。它直接统计了图书馆中所剩书籍的各类数量和总数量,分类统计清晰简洁,明了,效率高,达到一目了然的效果。 借出查询借出查询统计了每天借出书籍的总数量,各类书籍的数量;实现了哪个用户借出,借出的时间,归还时间,借出用户的信息和是哪个管理员借出此书给用户的编号的记录。

9、提示借出书籍到期。书籍信息书籍信息里详细的记录了各种书籍的主办单位,出版社,作者,出版日期,出版周期,出版次数,书刊语言,书刊类别,书刊名称,书刊附件和价格等。归还查询归还查询的功能是:实现每天总退还书籍多少的查询,各类书籍归还哪些,自动统计归还书籍的信息。图书查询和归还图书,借阅图书模块最大的区别就是,它统计了每天借阅书籍的总数量,各类书籍借归还了多少;借阅图书和归还图书是直接查询哪本书是否被借,而没有实现数量上的统计,它显示信息。以下是图书查询模块及模块各个功能图:6图书查询 图书现存数量查询 借出查询 书籍信息 归还查询总数量 各类书数量 每天借出 分类查询 直接查询 归还统计 各类书借

10、出 一个月借出 各类书借出6.3 6.3 读者管理模块读者管理模块读者管理模块流程图:读者注册读者注册读者注册就是填写读者的姓名、性别、省份证等基本信息,它的主要功能实现于读者可以通过注册的信息来借、还书。删除信息删除信息删除信息主要对已流失的读者进行删除查询信息查询信息在查询的读者信息的时候显示所有读者的信息。也可以通过姓名、省份证来查询独个读者的信息。6.4 6.4 软件说明模块软件说明模块说明此软件主要功能和基本信息。读者管理读者注册删除信息查询信息77 7 软件数据库设计软件数据库设计7.1 7.1 e er r 图图管理帐户表:图书信息表: 读者信息表:管理员姓名密码用户名图书总册数

11、书籍名称书籍编号备注出版日期书籍类别编号出版社编号作者编号作者类别出版作者出版社书籍类别作者编号作者名类别书籍类别编号出版社编号出版社8借阅信息表:系统全局 e-r 图:7.2 7.2 数据库逻辑结构数据库逻辑结构管理员表:字段:姓名,用户名,密码图书信息表:字段:书籍编号,书籍名称,总册数,作者编号,书籍类别编号,出版社编号,出版日期,姓名借书/还书读者信息证件号读者编号图书读者编号联系方式注册时间读者借书日期借书数目还书日期书籍编号借阅册数备注操作员(管理员)图书管理员借书/还书读者9备注作者表:字段:作者编号,作者姓名书籍类别表:字段:书籍类别编号,书籍类别出版社表:字段:出版社编号,出

12、版社名称读者信息表:字段:读者编号,姓名,证件号,注册日期,联系方式,借书数目,备注借阅表:字段:书籍编号,读者编号,操作用户名,借书日期,还书日期,借阅册数8 8 用户角色用户角色软件用户角色主要包括:系统管理员:软件的全局管理。 软件使用者:软件主要操作人员。 读者:软件主要服务对象。总结由于对软件工程设计方面的不熟悉,致使在系统实现时显得十分难受。查阅了大量的资料才度过这个难关。还有就是在前台操作界面的设计上也是从未接触过的,所以在这一方面,我们请教了大四的学长,请他们指导我们要如何进行设计和实现。再次,由于在 sql 语言方面的欠缺和不完善,导致在设计完成软件的各项操作时十分地吃力。以

13、上这些不足都是我宝贵的经验,在以后的设计中,我定会以它们为警戒,提高自己的能力,设计出更为完善和全面的管理系统。在本次实验中,集体合作完成了一个高校教室管理系统,我主要担任逻辑设计的工作。过程很曲折,但是结果还是令人满意的。从一开始的完全摸不着头脑,到后来的逐步完善管理系统,期间经历的困难是我从未遇到过的。由于之前未对数据库管理系统有过任何操作经验,所以在这次课程设计期间,我积极去图书馆查阅各种相关的软件工程的资料,渐渐地解决了各种关于软件设计方面的疑问。从逻辑设计到最后的系统实现,让我认识到了团队协作的重要。在如此庞大的工程面前,仅仅靠一个人的力量是基本上不能够完成一个系统的设计和实现的。1

14、0源代码(部分)/* * frmdl.java * * created on _date_, _time_ */package view.chengxi;import java.awt.cursor;import java.awt.graphics;import java.awt.image;import javax.swing.icon;import javax.swing.imageicon;import javax.swing.joptionpane;import javax.swing.jpanel;import bean.longin_user_bean;import dao.lon

15、gin_user_dao;/* * * author _user_ */public class frmdl extends javax.swing.jframe private paldl dl = new paldl();/* creates new form frmdl */public frmdl() this.setcontentpane(dl);this.setundecorated(true);initcomponents();init();public void init() btndl.setcursor(new cursor(hand_cursor);btntc.setcu

16、rsor(new cursor(hand_cursor);txtuser.setborder(null);txtpaw.setborder(null);11this.setsize(646, 283);this.setlocationrelativeto(null);this.setresizable(false);this.settitle(登录);this.setvisible(true);/gen-begin:initcomponents/ private void initcomponents() txtuser = new javax.swing.jtextfield();jlabe

17、l1 = new javax.swing.jlabel();jlabel2 = new javax.swing.jlabel();txtpaw = new javax.swing.jpasswordfield();btndl = new javax.swing.jbutton();btntc = new javax.swing.jbutton();setdefaultcloseoperation(javax.swing.windowconstants.exit_on_close);txtuser.setfont(new java.awt.font(微软雅黑, 1, 13);txtuser.se

18、tborder(javax.swing.borderfactory.createetchedborder();jlabel1.setfont(new java.awt.font(微软雅黑, 1, 14);jlabel1.setforeground(new java.awt.color(255, 255, 255);jlabel1.settext(u7528u6237u540duff1a);jlabel2.setfont(new java.awt.font(微软雅黑, 1, 14);jlabel2.setforeground(new java.awt.color(255, 255, 255);j

19、label2.settext(u5bc6 u7801uff1a);txtpaw.setfont(new java.awt.font(宋体, 1, 13);btndl.seticon(new javax.swing.imageicon(img/1.png); / noi18nbtndl.addactionlistener(new java.awt.event.actionlistener() public void actionperformed(java.awt.event.actionevent evt) btndlactionperformed(evt););btntc.seticon(n

20、ew javax.swing.imageicon(img/2.png); / noi18nbtntc.addactionlistener(new java.awt.event.actionlistener() 12public void actionperformed(java.awt.event.actionevent evt) btntcactionperformed(evt););javax.swing.grouplayout layout = new javax.swing.grouplayout(getcontentpane();getcontentpane().setlayout(

21、layout);layout.sethorizontalgroup(layout.createparallelgroup(javax.swing.grouplayout.alignment.leading).addgroup(layout.createsequentialgroup().addgroup(layout.createparallelgroup(javax.swing.grouplayout.alignment.leading).addgroup(layout.createsequentialgroup().addgap(235,235,235).addgroup(layout.c

22、reateparallelgroup(javax.swing.grouplayout.alignment.leading).addcomponent(jlabel1).addcomponent(jlabel2).addpreferredgap(javax.swing.layoutstyle.componentplacement.related).addgroup(layout.createparallelgroup(javax.swing.grouplayout.alignment.leading,false)13.addcomponent(txtpaw,0,0,short.max_value

23、).addcomponent(txtuser,javax.swing.grouplayout.preferred_size,134,javax.swing.grouplayout.preferred_size).addgroup(layout.createsequentialgroup().addgap(282,282,282).addcomponent(btndl,javax.swing.grouplayout.preferred_size,56,javax.swing.grouplayout.preferred_size).addgap(80, 80,80).addcomponent(bt

24、ntc,javax.swing.grouplayout.preferred_size,53,javax.swing.grouplayout.preferred_size).addcontainergap(196, short.max_value);14layout.setverticalgroup(layout.createparallelgroup(javax.swing.grouplayout.alignment.leading).addgroup(javax.swing.grouplayout.alignment.trailing,layout.createsequentialgroup

25、().addcontainergap(137, short.max_value).addgroup(layout.createparallelgroup(javax.swing.grouplayout.alignment.trailing).addgroup(layout.createsequentialgroup().addcomponent(jlabel1).addpreferredgap(javax.swing.layoutstyle.componentplacement.related).addcomponent(jlabel2).addgroup(layout.createseque

26、ntialgroup().addcomponent(txtuser,javax.swing.grouplayout.preferred_size,javax.swing.grouplayout.default_size,javax.swing.grouplayout.preferred_size).addpreferredgap(javax.swing.layoutstyle.componentplacement.related).addcomponent(txtpaw,javax.swing.grouplayout.preferred_size,javax.swing.grouplayout

27、.default_size,javax.swing.grouplayout.preferred_size)15.addgap(37, 37, 37).addgroup(layout.createparallelgroup(javax.swing.grouplayout.alignment.baseline).addcomponent(btndl,javax.swing.grouplayout.preferred_size,25,javax.swing.grouplayout.preferred_size).addcomponent(btntc,javax.swing.grouplayout.p

28、referred_size,25,javax.swing.grouplayout.preferred_size).addgap(44, 44, 44);pack();/ /gen-end:initcomponentsprivate void btndlactionperformed(java.awt.event.actionevent evt) string name=txtuser.gettext().trim();string password=txtpaw.gettext().trim();if(name.length()=0)joptionpane.showmessagedialog(this, 请输入用户名!);return;else if(password.length()=0)joptionpane.showmessagedialog(this, 请输入密码!);return;longin_user_dao dao=new longin_user_dao();longin_user_bean bean=dao.getbyuser(name);if(bean=null)joptionp

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论