




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、1 课程设计说明书 课程名称:课程名称: oracle 实用教程 设计题目设计题目: 图书管理系统 专专 业:业: 计算机科学与技术 班级:班级: 计 0801 学生姓名学生姓名: : xxxx 学学 号号: xxxxxxxxxx 指导教师指导教师: 陶立新 湖南工业大学科技学院教务部 制 2011 年 12 月 9 日 2 目目 录录 1目标目标.1 2运行平台运行平台.1 3系统开发说明系统开发说明.1 4软件结构图软件结构图.1 5项目需求项目需求.1 5.1功能模块.1 5.2功能模块描述.2 6软件模块流程软件模块流程.2 6.1系统登录模块功能分析.2 6.2借阅管理模块.3 6.
2、3系统管理模块及书籍管理模块功能分析.4 7.3.1系统管理模块.4 7.3.2书籍管理模块.5 6.4读者管理模块.6 6.5软件说明模块.7 7软件数据库设计软件数据库设计.7 7.1er 图.7 7.2数据库逻辑结构.9 8用户角色用户角色.10 1 图书馆管理系统图书馆管理系统 1 1 目标目标 建立完善的图书馆管理系统 2 2 运行平台运行平台 windows 平台 3 3 系统开发说明系统开发说明 a、开发小组: b、开发时限:三周 c、本系统使用开发工具:eclipse3.5.1、sql server2005 4 4 软件结构图软件结构图 5 5 项目需求项目需求 5.1 5.1
3、 功能模块功能模块 1、 系统登录模块 2、 借阅管理模块 3、 系统管理模块 4、 书籍管理模块 5、 读者管理模块 2 6、 软件说明模块 5.2 5.2 功能模块描述功能模块描述 一、系统登录模块 主要用于负责系统的登录权限,同时负责与其他模块的连接,方便用户访问所需 要的模块。 二、借阅管理模块 主要用于管理书籍的出借和归还,同时也可以查询书籍是否借出和归还。 三、系统管理模块 主要用于添加系统用户,删除系统用户。 四、书籍管理模块 主要用于管理图书馆图书的新增和删除,同时也可以查询图书的信息。 五、读者管理模块 主要用于管理借阅人员信息,对于借阅人员的信息处理。 六、软件说明模块 主
4、要用于说明软件的信息以及开发团队等。 6 6 软件模块流程软件模块流程 6.1 6.1 系统登录模块功能分析系统登录模块功能分析 登陆界面登陆界面 输入口令和密码登陆管理系统。 主窗体主窗体 主要作用是方便用户访问不同的功能。 包含以下几个功能:1.借阅图书:进入借阅管理界面,处理图书的借阅操作。 2.归还图书:进入归还管理界面,处理图书的归还操作。 3.续借管理:进入续借管理界面,处理图书的续借操作。 4.图书查询:进入图书查询界面,查询图书信息,是否借出或是 否存 在此图书等。 5.系统管理:进入系统管理界面,添加新的系统管理员。 6.书籍管理:进入书籍管理界面,处理图书的新增,清除,修缮
5、 等操 作。 3 7.读者管理:进入读者管理界面,管理读者的借阅资格。 8.关于软件:软件功能说明,开发团队说明等。 9.退出系统:关闭程序,安全退出。 以下是关于主窗体实体流程图: 主窗体实体流程图 借阅管理模块借阅管理模块 方便的查询书籍、归还书籍、续借数据等 借阅图书模块借阅图书模块 借阅图书模块的创建便于借阅,查询书籍。只需在文本框中输入想要的书籍 时,点击查询即可列出此书籍的所有信息。如果想要借阅书籍的话,点击我们 的借阅按钮,便可。在点击借阅按钮时,会弹出一个提示信息对话框告诉用户 是否借阅成功。 列表缩览表: 书刊编号书籍名称作者书刊分类总册数借出册数剩余册数 02flashxx
6、xxxxx321 表 1-1 归还图书模块归还图书模块 归还图书实现了图书归还的直接查询,它的功能模块跟我们的借阅图书有 些相似,同样的,直接在文本框中输入书籍的名称或是编号,点击搜索,列表 框中显示了所有的信息,标注有没有归还,标识为红色的字体是丢失的书籍。 在我们的归还图书导航中又分有:图书丢失,图书被损坏和续借的功能。 主窗体 借阅图书 归还图书 图书查询 系统管理 书籍管理 读者管理 关于软件 退出系统 续借管理 4 下面是基本功能操作的流程 归还图书 导航处的功能 丢失 损坏 输入书名: 续借 归还图书查询功能 e-r 图 归还图书缩览表: 书刊编号书籍名称作者书刊分类总册数归还册数
7、书刊附件 02flashxxxxxxx321 6.2 6.2 系统管理模块及书籍管理模块功能分析系统管理模块及书籍管理模块功能分析 6.2.1 6.2.1 系统管理模块系统管理模块 系统管理是图书管理系统之中的一个关键的模块,具体功能如下: 1:添加管理帐号:主要的内容为系统管理员提供用户帐号添加管理 2:删除帐号:主要用于删除不需要的管理帐号。 如上图,可以从层次结构上说明的系统管理模块与书籍管理模块的大概的操作 内容, 6.2.2 6.2.2 书籍管理模块书籍管理模块 书籍模块则包括四个子功能: 1:书籍添加: 系统管理 书籍管理 添加帐号删除帐号书籍查询 书籍添加 书籍修缮 书籍删除 5
8、 输入图书馆最新的书籍购入信息至图书管理系统,提供显示信息及添加信息等 功能; 2:图书删除: 包括书籍的过时性及书籍的损坏之后从图书管理系统删除与之相关的书籍信息, 提供添加信息与删除信息等功能; 3:书籍的修缮: 修订图书, 4:图书查询 该子功能模块在上图之中没有显示出来,因为该功能模块可以作为管理界面模 块的子功能模块,在与我所说的两个主功能模块是一个并列的关系,在书籍管理模 块之中添加一个指向图书查询的功能按钮,启动图书查询功能模块。 在图书查询模块中有分为了四个小模块: 图书现存数量查询 借出查询 书籍信息 归还查询 图书现存数量的查询图书现存数量的查询实现了各类书籍现存数量的查询
9、和总共书籍数量查 询。它直接统计了图书馆中所剩书籍的各类数量和总数量,分类统计清晰简 洁,明了,效率高,达到一目了然的效果。 借出查询借出查询统计了每天借出书籍的总数量,各类书籍的数量;实现了哪个 用户借出,借出的时间,归还时间,借出用户的信息和是哪个管理员借出此 书给用户的编号的记录。提示借出书籍到期。 书籍信息书籍信息里详细的记录了各种书籍的主办单位,出版社,作者,出版日期, 出版周期,出版次数,书刊语言,书刊类别,书刊名称,书刊附件和价格等。 归还查询归还查询的功能是:实现每天总退还书籍多少的查询,各类书籍归还哪些, 自动统计归还书籍的信息。 图书查询和归还图书,借阅图书模块最大的区别就
10、是,它统计了每天借阅 书籍的总数量,各类书籍借归还了多少;借阅图书和归还图书是直接查询哪 本书是否被借,而没有实现数量上的统计,它显示信息。 以下是图书查询模块及模块各个功能图: 6 图书查询 图书现存数量查询 借出查询 书籍信息 归还查询 总数量 各类书数量 每天借出 分类查询 直接查询 归还统计 各类书借出 一个月借出 各类书借出 6.3 6.3 读者管理模块读者管理模块 读者管理模块流程图: 读者注册读者注册 读者注册就是填写读者的姓名、性别、省份证等基本信息,它的主要功能实 现于读者可以通过注册的信息来借、还书。 删除信息删除信息 删除信息主要对已流失的读者进行删除 查询信息查询信息
11、在查询的读者信息的时候显示所有读者的信息。也可以通过姓名、省份证来 查询独个读者的信息。 6.4 6.4 软件说明模块软件说明模块 说明此软件主要功能和基本信息。 读者管理 读者注册删除信息查询信息 7 7 7 软件数据库设计软件数据库设计 7.1 7.1 e er r 图图 管理帐户表: 图书信息表: 读者信息表: 管理员 姓名 密码 用户名 图书 总册数 书籍名称 书籍编号 备注 出版日期 书籍类别编号 出版社编号 作者编号 作者类别 出版 作者出版社书籍类别 作者编号 作者名 类别 书籍类别编号 出版社编号 出版社 8 借阅信息表: 系统全局 e-r 图: 7.2 7.2 数据库逻辑结构
12、数据库逻辑结构 管理员表: 字段:姓名,用户名,密码 图书信息表: 字段:书籍编号,书籍名称,总册数,作者编号,书籍类别编号,出版社编号,出版日期, 姓名 借书/还书 读者信息 证件号 读者编号 图书 读者编号 联系方式 注册时间 读者 借书日期 借书数目 还书日期 书籍编号 借阅册数 备注 操作员(管理员) 图书管理员 借书/还书 读者 9 备注 作者表: 字段:作者编号,作者姓名 书籍类别表: 字段:书籍类别编号,书籍类别 出版社表: 字段:出版社编号,出版社名称 读者信息表: 字段:读者编号,姓名,证件号,注册日期,联系方式,借书数目,备注 借阅表: 字段:书籍编号,读者编号,操作用户名
13、,借书日期,还书日期,借阅册数 8 8 用户角色用户角色 软件用户角色主要包括:系统管理员:软件的全局管理。 软件使用者:软件主要操作人员。 读者:软件主要服务对象。 总结 由于对软件工程设计方面的不熟悉,致使在系统实现时显得十分难受。查阅了大量的资料 才度过这个难关。还有就是在前台操作界面的设计上也是从未接触过的,所以在这一方面, 我们请教了大四的学长,请他们指导我们要如何进行设计和实现。再次,由于在 sql 语言 方面的欠缺和不完善,导致在设计完成软件的各项操作时十分地吃力。以上这些不足都是 我宝贵的经验,在以后的设计中,我定会以它们为警戒,提高自己的能力,设计出更为完 善和全面的管理系统
14、。在本次实验中,集体合作完成了一个高校教室管理系统,我主要担 任逻辑设计的工作。过程很曲折,但是结果还是令人满意的。从一开始的完全摸不着头脑, 到后来的逐步完善管理系统,期间经历的困难是我从未遇到过的。由于之前未对数据库管 理系统有过任何操作经验,所以在这次课程设计期间,我积极去图书馆查阅各种相关的软 件工程的资料,渐渐地解决了各种关于软件设计方面的疑问。从逻辑设计到最后的系统实 现,让我认识到了团队协作的重要。在如此庞大的工程面前,仅仅靠一个人的力量是基本 上不能够完成一个系统的设计和实现的。 10 源代码(部分) /* * frmdl.java * * created on _date_,
15、 _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.longin_user_dao; /* * * author _user_ *
16、/ 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.setcursor(new cursor(hand_cursor
17、); txtuser.setborder(null); txtpaw.setborder(null); 11 this.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(); jlabel1 = new javax.s
18、wing.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.setborder(j
19、avax.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); jlab
20、el2.settext(u5bc6 u7801uff1a); txtpaw.setfont(new java.awt.font(宋体, 1, 13); btndl.seticon(new javax.swing.imageicon( img/1.png); / noi18n btndl.addactionlistener(new java.awt.event.actionlistener() public void actionperformed(java.awt.event.actionevent evt) btndlactionperformed(evt); ); btntc.setico
21、n(new javax.swing.imageicon( img/2.png); / noi18n btntc.addactionlistener(new java.awt.event.actionlistener() 12 public void actionperformed(java.awt.event.actionevent evt) btntcactionperformed(evt); ); javax.swing.grouplayout layout = new javax.swing.grouplayout( getcontentpane(); getcontentpane().
22、setlayout(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,
23、235) .addgroup( layout.createparallelgroup( 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 .ad
24、dcomponent( txtpaw, 0, 0, short.max_value) .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.group
25、layout.preferred_size) .addgap(80, 80, 80) .addcomponent( btntc, javax.swing.grouplayout.preferred_size, 53, javax.swing.grouplayout.preferred_size) .addcontainergap(196, short.max_value); 14 layout.setverticalgroup(layout .createparallelgroup(javax.swing.grouplayout.alignment.leading) .addgroup( ja
26、vax.swing.grouplayout.alignment.trailing, layout.createsequentialgroup() .addcontainergap(137, short.max_value) .addgroup( layout.createparallelgroup( javax.swing.grouplayout.alignment.trailing) .addgroup( layout.createsequentialgroup() .addcomponent( jlabel1) .addpreferredgap( javax.swing.layoutsty
27、le.componentplacement.related) .addcomponent( jlabel2) .addgroup( layout.createsequentialgroup() .addcomponent( txtuser, javax.swing.grouplayout.preferred_size, javax.swing.grouplayout.default_size, javax.swing.grouplayout.preferred_size) .addpreferredgap( javax.swing.layoutstyle.componentplacement.
28、related) .addcomponent( txtpaw, javax.swing.grouplayout.preferred_size, javax.swing.grouplayout.default_size, javax.swing.grouplayout.preferred_size) 15 .addgap(37, 37, 37) .addgroup( layout.createparallelgroup( javax.swing.grouplayout.alignment.baseline) .addcomponent( btndl, javax.swing.grouplayou
29、t.preferred_size, 25, javax.swing.grouplayout.preferred_size) .addcomponent( btntc, javax.swing.grouplayout.preferred_size, 25, javax.swing.grouplayout.preferred_size) .addgap(44, 44, 44); pack(); / /gen-end:initcomponents private void btndlactionperformed(java.awt.event.actionevent evt) string name
30、=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
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025-2030打孔袋行业市场现状供需分析及重点企业投资评估规划分析研究报告
- 2025-2030废物垃圾处理产业发展分析及发展趋势与投资前景预测报告
- 2025-2030学步车行业行业风险投资发展分析及投资融资策略研究报告
- 2025-2030圣诞树玩具行业市场深度分析及发展策略研究报告
- 2025-2030国内通信电源用电池行业市场现状供需分析及市场深度研究发展前景及规划可行性分析研究报告
- 2025-2030团膳行业行业风险投资发展分析及投资融资策略研究报告
- 2025-2030化学短纤维行业市场深度分析及发展策略研究报告
- 2025-2030动物蛋白胨行业市场现状供需分析及重点企业投资评估规划分析研究报告
- 2025-2030创可贴行业行业风险投资发展分析及投资融资策略研究报告
- 2025-2030再生胶行业行业风险投资发展分析及投资融资策略研究报告
- 《地铁突发大客流应急管理》论文11000字
- 第五章-项目时间管理课件
- 导游人员管理法律制度课件
- 木箱检验作业指导书
- 初中级档案职称《档案事业概论》档案事业题库一
- 美国地图高清中文版
- 《中国特色社会主义理论与实践研究》课程教学大纲
- 金属监督监理实施细则
- DB13T 1606-2012 粮食作物种子 谷子杂交种
- DB33-T1247-2021《城市河道景观设计标准》
- 曲线上梁的平分中矢坐标计算方法解读
评论
0/150
提交评论