版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、安徽农业大学课程实践(设计)报告实践项目名称图书管理系统的设计项目组成人员院系_信年级专业0指导教师傅目录TOC o 1-5 h z1课程设计背景(包括:现状、研究目的等)32需求分析(包括:功能分析、操作流程分析等)32.1需求分析33设计与实现(包括:前台页面、数据库、业务逻辑等设计)43.1数据库结构设计43.1.1概念结构设计43.1.2逻辑结构设计7物理结构设计.8系统功能设计图书管理模块功113.4系统界面设计与实现11系统登录界面11- - -1课程设计背景图书馆信息化管理从最初的对图书馆业务管理实行信息化管理发展到对图书馆各个业务流程和网络化管理,并建立大规模的以个体文献目录联
2、机查询为主的资源共享系统;而图书馆的正常运营中总是面对大量的读者信息,图书信息及两者相互作用产生的借书信息,所以要对读者资源,读者资源,借书信息进行管理,本系统的开发就是在于提高图书管理的工作效率!2需求分析(包括:功能分析、操作流程分析等)2.1需求分析一般通用的图书馆借阅管理系统包括系统管理、读者管理、编目、图书流通、统计、查询等功能。比较先进的能够在一个界面下实现图书、音像、期刊的管理,设置假期、设置暂离锁提高安全性)、暂停某些读者的借阅权、导入导出读者、交换MARC数据、升级辅助编码库等。此外随Internet应用的发展,一个完善的系统还应该提供无缝接入ternet的功能,通过IE浏览
3、器让读者使用借阅资料查询、更换密码、预约、资料检索等功能。有些系统还能提供读者自助服务,可以开放一些客户机让读者自行管理密码、查询自己的借阅史、预约资料、检索资料等。在构造系统时,首先从需求出发构造数据库表,然后再由数据库结合需求划分系统功能模块。这样,就把一个大的系统分解成了几个小系统。这里把系统的层次划分为了两个部分:一个是一般用户态:即图书有服务子系统;另一个是管理员界面:提供图书的管理和维护功能。对于不同子系统之间的功换,采用了登录功能和用户注销功能。系统划分了子系统后,下一步的工作是继续划分子系统的小模块。先考虑在进入子系统时应该做什么,进入系统之后又应该做什么,提供那些服务等。例如
4、,对于图书信息服务子系统,在用户进入时首先得调用相关数据库表,找出用户的图书借阅情况;进入系统后,子系统得提供图书查询、图书借阅和还书功能。另外,针对本系统的特殊情况,同时也考虑系统的可移植性,在系统中增加了数据库路径的维护部分。但由于本人技术有限,下面只做了部分设计3设计与实现(包括:前台页面、数据库、业务逻辑等设计)3.1数据库结构设计3.1.1概念结构设计农R图)概念结构设计是将分析得到的用户需求抽象为概念模型的过程,即在需求分析的基础上,设计出能够满足用户需求的各种实体以及它们之间的相互关系的模型。这样才能更好地、更准确地用某一DBMS实现这些需求,它是整个数据库设计的关键。概念结构的
5、主要特点是能真实、充分地反映现实世界,易于理解,易于更改,易于向关系、网状、层次等各种数据模型转换。描述概念模型的有力工具是-R模型。Er图:部分实体ER图:图书编图书书名书类作者 #- -3.1.2逻辑结构设计逻辑结构设计的任务就是把概念结构设计阶段设计好的基本R图转换为与选用DBMS产品所支持的数据模型相符合的逻辑结构。设计逻辑结构时一般要分三步进行,首先是将概念结构转换为一般的关系、网状、层次模型,其次是将转换来的关系、网状、层次模型向特定BMS支持下的数据模型转换,最后是对数据模型进行优化。基于B/S的简易图书借阅管理系统采用的是将次图向关系数据模型转换。以下是由概念模型向逻辑模型转化
6、的关系模式:管理员(管理员编号管理员名称,管理员密码)图书(图书编码,图书名称,图书类别书架,作者,价格,借阅次数)- - -3.2.1物理结构设计数据库的物理结构设计是对于给定的逻辑数据模型,选取一个最合适应用环境的物理结构。数据库的物理结构指的是数据库在物理设备上的存储结构与存取方法,它依赖于给定的计算机系统表2.2管理员信息表new_userlist)类型长度允许空默认值int4自动增长(11)varchar50Nullvarchar50Null字段名注释管理员userid编号管理员userName名称管理员userPwd密码字段名bookidbookNamebookTypbookcas
7、eauotherpriceborrowSum表2.3图书信息表(new_booklist)注释图书编图书名图书类书架作者价格借阅次varcharvarcharintintvarcharmoneyint长度505010080许空nullnullnullnullnullnull默认值数据库表:TablesEHnew_hoolclistElnewjeaderlistHDnew_uerlistViewsRo-utinesnew.library亍冉Tables4new_booklist-Fnew_readerlistnevuuserliEA?userIDuserNameuserPwOverviewOut
8、putSnippetsQuery1Result寓唏com|辽圍更鼎I由I諂国旺鬱瞬IPbookIDbookNamebokCaseauQitherpricebezhetianchendon4512HULLMULLNULLNULLNULLHULLOverviewOutputttOCOOiluserIDSnippetsQueryI至iffisa|馴諂二userNameuserPw33Dwei123MULLHULLNULL - - 3.3.1系统功能设计图书管理模块功能(时间技术有限目前只有此功能)图书类型管理:是对图书进行分类管理,对图书类型的添加、删除、修改等功能。图书信息管理:管理员对图书信息的
9、详细录入,修改图书信息和删除图书信息等功能。34系统界面设计与实现3.4.1系统登录界面系统首页,同时也是登录界面,在此界面中,管理可以根据自身情况登录到系统中,管理员登录界面如下图所示:PlCo-nnEeanjavaQJSPdl-O.jspQJSPdl-ljsp|jJS-Pdl-S.jsp/涕加圏书记最(Bl&http:/-!caIhott:S089/wet/JSPdl-O.j匚pSessionIE:03605812F27F0194B9D723EB9AC10556管理员登陆:相关代码:管理员姓剂wei管理员密列提交vtitle用户登陆界面管理员登陆:管理员姓名管理员密码vtitle用户身份验
10、证!-JSPdl-0vtitle显示图书列表vcaption图书列表图书编号书名作者书类书架号价格借阅次数%new_booklistBeanrecords=conn.getAllRecords();if(records!=null)for(inti=0;irecords.length;i+)out.println();out.println(+recordsi.getbookID()+);out.println(+recordsi.getbookName()+);out.println(+recordsi.getauother()+);out.println(+recordsi.getbook
11、Type()+);out.println(+recordsi.getbookCase()+);out.println(+recordsi.getprice()+);out.println(+recordsi.getborrowSum()+);out.println();- #- -%更多操作:添加图书返回删除图书管理员添加图书记录:- - -相关代码:JSPdl-39vtitle添加图书记录添加新记录/caption图书编号/td*vtd书名*vtd作者v/td书类/td书架号*如价格*vr借阅次数/刃*vtdxinputtype=submitvalue=增加Tvinputtype=reset
12、value=重写7%if(book.getbookID()!=0&conn.insertRecord(book)out.println(添加记录成功丿;%GjSPdl-49删除图书记录:/title图书歹U表:/caption图书编号/th书名vth作者v/th书类/thvth书架号价格- #- - -vM借阅次数/也vM选择/也%new_booklistBeanrecords=conn.getAllRecords();if(records!=null)for(inti=0;irecords.length;i+)out.println();out.println(+recordsi.getbo
13、okID()+);out.println(+recordsi.getbookName()+);out.println(+recordsi.getauother()+);out.println(+recordsi.getbookType()+);out.println(+recordsi.getbookCase()+);out.println(+recordsi.getprice()+);out.println(+recordsi.getborrowSum()+);%inputtype=checkboxname=value=/%out.println();%vinputtype=submitva
14、lue=提交%Stringcheck=newStringrecords.length;for(inti=0;i删除成功力response.setHeader(refresh,1);%与系统相关的bean代码:New_booklistBean- - #-packagebeans;publicclassnew_booklistBeanprivateStringbookID;/表示书编号;privateStringbookName;/书名;privateStringauother;/作者名;privateintbookType;/书类;privateintbookcase;/书架号;privatei
15、ntprice;/书价;privateintborrowSum;/被借的次数;publicStringgetbookID()returnbookID;publicvoidsetbookID(StringbookID)this.bookID=bookID;publicStringgetbookName()returnbookName;publicvoidsetbookName(StringbookName)this.bookName=bookName;publicStringgetauother()returnauother;- - #- -publicvoidsetauother(String
16、auother)this.auother=auother;publicintgetbookType()returnbookType;publicvoidsetbookType(intbookType)this.bookType=bookType;publicintgetbookCase()returnbookCase;publicvoidsetbookCase(intbookCase)this.bookCase=bookCase;publicintgetprice()returnprice;publicvoidsetprice(intprice)this.price=price;publici
17、ntgetborrowSum()returnborrowSum;publicvoidsetborrowSum(intborrowSum)this.borrowSum=borrowSum;ConnBeanpackagebeans;importjava.sql.*;/导入jdbc;publicclassConnBeanprivateStringdriver=sun.jdbc.odbc.JdbcOdbcDriver;/默认驱动程序为dbc-odbc驱动;privateStringjdbcurl=jdbc:odbc:;/jdbcurlprivateStringdatabase=new_booklist
18、;/数据库或数据源privateStringuserName=root;用户名privateStringpassword=123456;/密码privateConnectionconnection=null;publicConnectiongetConnection()tryClass.forName(driver);注册驱动程序connection=DriverManager.getConnection(jdbc:odbc:new_booklist,);/建立连接;catch(ClassNotFoundExceptione1)e1.printStackTrace();catch(SQLExc
19、eptione2)e2.printStackTrace();- #- -returnconnection;publicvoidcloseConnection(Connectionconnection”/关闭连接;tryif(connection!=null)connection.close();connection=null;catch(SQLExceptione3)e3.printStackTrace();publicvoidclosePstmt(PreparedStatementpstmt)/关闭执行语句;tryif(pstmt!=null)pstmt.close();pstmt=null
20、;catch(SQLExceptione)e.printStackTrace();publicvoidcloseResultSet(ResultSetrs)关闭结果集语句;tryif(rs!=null)rs.close();- - -rs=null;catch(SQLExceptione)e.printStackTrace();publicStringgetDriver()/获取驱动程序returndriver;publicvoidsetDriver(Stringdriver)this.driver=driver;publicStringgetDatabase()returndatabase;
21、publicvoidsetDatabase(Stringdatabase)this.database=database;publicStringgetPassword()returnpassword;publicvoidsetPassword(Stringpassword)this.password=password;publicStringgetJdbcurl()returnjdbcurl;publicvoidsetJdbcurl(Stringurl)this.jdbcurl=url;publicStringgetUserName()returnuserName;publicvoidsetU
22、serName(StringuserName)this.userName=userName;New_libraryBeanpackagebeans;importjava.sql.Connection;importjava.sql.PreparedStatement;importjava.sql.ResultSet;importjava.sql.SQLException;importjava.util.ArrayList;importjava.util.Collection;publicclassnew_libraryDBeanextendsConnBeanprivateConnectionco
23、nnection=null;publicnew_booklistBeangetAIIRecords()/获取所有记录ResultSetrs=null;PreparedStatementpstmt=nuII;CoIIectionIist=newArrayList();tryconnection=getConnection();pstmt=connection.prepareStatement(select*fromnew_booklist);/数据表new_bookIistrs=pstmt.executeQuery();while(rs.next()new_booklistBeannew_boo
24、klist=newnew_booklistBean();new_booklist.setbookID(rs.getString(1);new_booklist.setbookName(rs.getString(2);new_booklist.setauother(rs.getString(3);new_booklist.setbookType(rs.getInt(4);new_booklist.setbookCase(rs.getInt(5);new_booklist.setprice(rs.getInt(6);new_booklist.setborrowSum(rs.getInt(7);li
25、st.add(new_booklist);catch(SQLExceptione)e.printStackTrace();finallyclosePstmt(pstmt);closeConnection(connection);new_booklistBeanrecords=(new_booklistBean)list.toArray(newnew_booklistBean0);returnrecords;publicnew_booklistBeanqueryARecord(StringsqlStr)查询一条记录ResultSetrs=null;PreparedStatementpstmt=n
26、ull;new_booklistBeannew_booklist=newnew_booklistBean();tryconnection=getConnection();pstmt=connection.prepareStatement(sqlStr);rs=pstmt.executeQuery();if(rs.next()new_booklist.setbookID(rs.getString(1);new_booklist.setbookName(rs.getString(2);new_booklist.setauother(rs.getString(3);new_booklist.setb
27、ookType(rs.getInt(4);new_booklist.setbookCase(rs.getInt(5);new_booklist.setprice(rs.getInt(6);- - #-new_booklist.setborrowSum(rs.getInt(7);catch(SQLExceptione)e.printStackTrace();finallycloseResultSet(rs);closePstmt(pstmt);closeConnection(connection);returnnew_booklist;publicbooleaninsertRecord(new_
28、booklistBeanrecord)/插入记录PreparedStatementpstmt=null;StringinsStr=insertintonew_booklistvalues(?,?,?,?,?);if(record=null)returnfalse;tryconnection=getConnection();pstmt=connection.prepareStatement(insStr);pstmt.setString(1,record.getbookID();pstmt.setString(2,record.getbookName();pstmt.setString(3,re
29、cord.getauother();pstmt.setInt(4,record.getbookType();pstmt.setInt(5,record.getbookCase();pstmt.setInt(6,record.getprice();pstmt.setInt(7,record.getborrowSum();- #- -pstmt.execute();catch(SQLExceptione)e.printStackTrace();finallyclosePstmt(pstmt);closeConnection(connection);returntrue;publicbooleandeleteRecord(new_booklistBeanrecord)/除记录;PreparedStatemen
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025-2026学年译林版八年级英语上册期末测试卷(含答案)
- 视光师助理岗位技能考试试卷及答案
- 砂型铸造造型工岗位技能考试试卷及答案
- 风机装配调试工岗前技术改进考核试卷含答案
- 固碱工创新应用能力考核试卷含答案
- 炼钢工岗前技术理论考核试卷含答案
- 钽铌精炼工岗前岗位安全责任制考核试卷含答案
- 锻造工岗中竞争分析考核试卷含答案
- 玻璃制品模具工岗前实践评估考核试卷含答案
- 压雪车驾驶员岗中安全技能测试考核试卷含答案
- (零模)苏州市2027届高三年级9月阳光调研试卷 生物试卷(含答案)
- 电梯更新改造工程监理规划
- 2026年托育机构生活照护员职业技能等级认定题库
- 2026年龙游经开高新控股集团有限公司及其子公司公开招聘合同制员工11人的笔试备考试题及答案详解
- 2026年江苏省泰州市抗震办公室(审图中心)招聘1人易考易错模拟试题(共500题)试卷后附参考答案
- 2026年世界职业院校技能大赛“智能网联汽车技术组”参考试题及答案
- 正确使用酒精灯的方法
- 广州医科大学2024年临床医学(呼吸内科)内科学试题及答案
- DB52∕T 1401.26-2020 山地旅游 第26部分:景区最大承载量核定指引
- 童年第九章题目和答案
- 中风偏瘫中医护理查房
评论
0/150
提交评论