《最新Web开发技课程设计报告.doc》由会员分享,可在线阅读,更多相关《最新Web开发技课程设计报告.doc(32页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、Four short words sum up what has lifted most successful individuals above the crowd: a little bit more.-author-dateWeb开发技课程设计报告CES安 徽 农 业 大 学课程实践(设计)报告实践项目名称 图书管理系统的设计项目组成人员 院 系 信 年级专业 0指 导 教 师 傅 目录1课程设计背景(包括:现状、研究目的等)32需求分析(包括:功能分析、操作流程分析等)32.1需求分析33设计与实现(包括:前台页面、数据库、业务逻辑等设计)43.1数据库结构设计43.1.1 概念结构设
2、计43.1.2 逻辑结构设计 . 73.2.1物理结构设计. 83.3.1系统功能设计图书管理模块功1134系统界面设计与实现.113.4.1系统登录界面11-1课程设计背景图书馆信息化管理从最初的对图书馆业务管理实行信息化管理发展到对图书馆各个业务流程和网络化管理,并建立大规模的以个体文献目录联机查询为主的资源共享系统;而图书馆的正常运营中总是面对大量的读者信息,图书信息及两者相互作用产生的借书信息,所以要对读者资源,读者资源,借书信息进行管理,本系统的开发就是在于提高图书管理的工作效率!2需求分析(包括:功能分析、操作流程分析等)2.1需求分析一般通用的图书馆借阅管理系统包括系统管理、读者
3、管理、编目、图书流通、统计、查询等功能。比较先进的能够在一个界面下实现图书、音像、期刊的管理,设置假期、设置暂离锁(提高安全性)、暂停某些读者的借阅权、导入导出读者、交换MARC数据、升级辅助编码库等。此外随着Internet应用的发展,一个完善的系统还应该提供无缝接入Internet的功能,通过IE浏览器让读者使用借阅资料查询、更换密码、预约、资料检索等功能。有些系统还能提供读者自助服务,可以开放一些客户机让读者自行管理密码、查询自己的借阅史、预约资料、检索资料等。在构造系统时,首先从需求出发构造数据库表,然后再由数据库结合需求划分系统功能模块。这样,就把一个大的系统分解成了几个小系统。这里
4、把系统的层次划分为了两个部分:一个是一般用户态:即图书有服务子系统;另一个是管理员界面:提供图书的管理和维护功能。对于不同子系统之间的功换,采用了登录功能和用户注销功能。 系统划分了子系统后,下一步的工作是继续划分子系统的小模块。先考虑在进入子系统时应该做什么,进入系统之后又应该做什么,提供那些服务等。例如,对于图书信息服务子系统,在用户进入时首先得调用相关数据库表,找出用户的图书借阅情况;进入系统后,子系统得提供图书查询、图书借阅和还书功能。另外,针对本系统的特殊情况,同时也考虑系统的可移植性,在系统中增加了数据库路径的维护部分。但由于本人技术有限,下面只做了部分设计3设计与实现(包括:前台
5、页面、数据库、业务逻辑等设计) 3.1数据库结构设计3.1.1 概念结构设计(E-R图)概念结构设计是将分析得到的用户需求抽象为概念模型的过程,即在需求分析的基础上,设计出能够满足用户需求的各种实体以及它们之间的相互关系的模型。这样才能更好地、更准确地用某一DBMS实现这些需求,它是整个数据库设计的关键。概念结构的主要特点是能真实、充分地反映现实世界,易于理解,易于更改,易于向关系、网状、层次等各种数据模型转换。描述概念模型的有力工具是E-R模型。 Er图: 图书类型 管理借阅信息属于管理 管理员 图书管理 管理 属于管理图书馆信息书架部分实体ER图: 借阅次数图书编号 图书 价格书架号书类书
6、名作者管理员管理员号密码管理员名 3.1.2 逻辑结构设计逻辑结构设计的任务就是把概念结构设计阶段设计好的基本E-R图转换为与选用DBMS产品所支持的数据模型相符合的逻辑结构。设计逻辑结构时一般要分三步进行,首先是将概念结构转换为一般的关系、网状、层次模型,其次是将转换来的关系、网状、层次模型向特定DBMS支持下的数据模型转换,最后是对数据模型进行优化。基于B/S的简易图书借阅管理系统采用的是将E-R图向关系数据模型转换。以下是由概念模型向逻辑模型转化的关系模式:管理员(管理员编号,管理员名称,管理员密码)图书(图书编码,图书名称,图书类别,书架,作者,价格,借阅次数)3.2.1物理结构设计
7、数据库的物理结构设计是对于给定的逻辑数据模型,选取一个最合适应用环境的物理结构。数据库的物理结构指的是数据库在物理设备上的存储结构与存取方法,它依赖于给定的计算机系统表2.2管理员信息表(new_userlist)字段名注释类型长度允许空默认值userId管理员编号int4自动增长(1,1)userName管理员名称varchar50NulluserPwd管理员密码varchar50Null表2.3图书信息表(new_booklist)字段名 注释 类型长度 允许空 默认值bookid图书编码varchar 50 bookName图书名称varchar 50 null bookType图书类别
8、 int 4 null bookcase书架int 100 nullauother作者varchar 80 nullprice价格money 8nullborrowSum借阅次数int 4 null数据库表:3.3.1系统功能设计图书管理模块功能(时间技术有限目前只有此功能)图书类型管理:是对图书进行分类管理,对图书类型的添加、删除、修改等功能。图书信息管理:管理员对图书信息的详细录入,修改图书信息和删除图书信息等功能。34系统界面设计与实现3.4.1系统登录界面系统首页,同时也是登录界面,在此界面中,管理可以根据自身情况登录到系统中 ,管理员登录界面如下图所示:相关代码:用户登陆界面 管理员
9、登陆: 管理员姓名 管理员密码 用户身份验证 !- -JSPdl-0显示图书列表 图书列表 图书编号 书名 作者 书类 书架号 价格 借阅次数 % new_booklistBean records=conn.getAllRecords(); if(records!=null) for(int i=0;irecords.length;i+) out.println(); out.println(+recordsi.getbookID()+); out.println(+recordsi.getbookName()+); out.println(+recordsi.getauother()+);
10、out.println(+recordsi.getbookType()+); out.println(+recordsi.getbookCase()+); out.println(+recordsi.getprice()+); out.println(+recordsi.getborrowSum()+); out.println(); % 更多操作:添加图书返回删除图书管理员添加图书记录:相关代码:JSPdl-3添加图书记录 添加新记录 图书编号 * 书名 * 作者 书类 书架号 * 价格 * 借阅次数 * % if(book.getbookID()!=0&conn.insertRecord(
11、book) out.println(添加记录成功); % JSPdl-4删除图书记录 图书列表 图书编号 书名 作者 书类 书架号 价格 借阅次数 选择 % new_booklistBean records=conn.getAllRecords(); if(records!=null) for(int i=0;irecords.length;i+) out.println(); out.println(+recordsi.getbookID()+); out.println(+recordsi.getbookName()+); out.println(+recordsi.getauother(
12、)+); out.println(+recordsi.getbookType()+); out.println(+recordsi.getbookCase()+); out.println(+recordsi.getprice()+); out.println(+recordsi.getborrowSum()+); % input type=checkbox name= value= / % out.println(); % % String check=new Stringrecords.length; for(int i=0;icheck.length;i+) checki=request
13、.getParameter(check+i); if(checki=null) checki=; if(checki.equals(+i) if(conn.deleteRecord(recordsi) out.println(删除成功); response.setHeader(refresh,1); % 与系统相关的bean代码:New_booklistBeanpackage beans;public class new_booklistBean private String bookID;/表示书编号; private String bookName;/书名; private String
14、auother;/作者名; private int bookType;/书类; private int bookCase;/书架号; private int price;/书价; private int borrowSum;/书被借的次数; public String getbookID() return bookID; public void setbookID(String bookID) this.bookID = bookID; public String getbookName() return bookName; public void setbookName(String boo
15、kName) this.bookName = bookName; public String getauother() return auother; public void setauother(String auother) this.auother = auother; public int getbookType() return bookType; public void setbookType(int bookType) this.bookType = bookType; public int getbookCase() return bookCase; public void s
16、etbookCase(int bookCase) this.bookCase = bookCase; public int getprice() return price; public void setprice(int price) this.price = price; public int getborrowSum() return borrowSum; public void setborrowSum(int borrowSum) this.borrowSum = borrowSum; ConnBeanpackage beans;import java.sql.*; /导入jdbc;
17、public class ConnBean private String driver=sun.jdbc.odbc.JdbcOdbcDriver;/默认驱动程序为jdbc-odbc驱动; private String jdbcurl=jdbc:odbc:;/jdbcurl private String database=new_booklist;/数据库或数据源 private String userName=root;/用户名 private String password=123456;/密码 private Connection connection=null; public Conne
18、ction getConnection() try Class.forName(driver);/注册驱动程序; connection=DriverManager.getConnection(jdbc:odbc:new_booklist,);/建立连接; catch(ClassNotFoundException e1) e1.printStackTrace(); catch(SQLException e2) e2.printStackTrace(); return connection; public void closeConnection(Connection connection)/关闭
19、连接; try if(connection!=null) connection.close(); connection=null; catch(SQLException e3) e3.printStackTrace(); public void closePstmt(PreparedStatement pstmt)/关闭执行语句; try if(pstmt!=null) pstmt.close(); pstmt=null; catch(SQLException e) e.printStackTrace(); public void closeResultSet(ResultSet rs)/关闭
20、结果集语句; try if(rs!=null) rs.close(); rs=null; catch(SQLException e) e.printStackTrace(); public String getDriver() /获取驱动程序return driver; public void setDriver(String driver) this.driver = driver; public String getDatabase() return database; public void setDatabase(String database) this.database = dat
21、abase; public String getPassword() return password; public void setPassword(String password) this.password = password; public String getJdbcurl() return jdbcurl; public void setJdbcurl(String url) this.jdbcurl = url; public String getUserName() return userName; public void setUserName(String userName) this.userName = userName; New_libraryBeanpackage beans;import java.sql.Connection;import java.sql.PreparedStatement;import java.sql.ResultSet;import java.sql.SQLException;import java.util.ArrayList;import java.util.Collection;public class new_libraryDBean extends ConnBeanprivate Connection
限制150内