图书信息管理系统课程设计报告.docx
- 文档编号:4717255
- 上传时间:2022-12-07
- 格式:DOCX
- 页数:36
- 大小:918.29KB
图书信息管理系统课程设计报告.docx
《图书信息管理系统课程设计报告.docx》由会员分享,可在线阅读,更多相关《图书信息管理系统课程设计报告.docx(36页珍藏版)》请在冰豆网上搜索。
图书信息管理系统课程设计报告
经济管理学院()专业
MIS课程设计
(200—200学年)
设计名称:
─────────────
班级:
----------------
姓名:
xxx(组长)、xxx、xxx、xxx
-------------------------------
指导教师:
信管教研室
-----------------
成绩:
----------------
序号:
二00年月日
一、概述
1.1设计背景
20世纪,随着全球经济的蓬勃发展,众多经济学家纷纷提出了新的管理理论。
20世纪50年代,西蒙提出管理依赖于信息和决策的思想。
同时期的维纳发表了控制论,他认为管理是一个过程。
1958年,盖尔写到:
“管理将以较低的成本得到及时准确的信息,做到较好的控制。
”这个时期,计算机开始用于会计工作,出现数据处理一词。
1970年,WalterT.Kennevan给刚刚出现的管理信息系统一词下了一个定义:
“以口头或书面的形式,在合适的时间向经理、职员以及外界人员提供过去的、现在的、预测未来的有关企业内部及其环境的信息,以帮助他们进行决策。
”在这个定义里强调了用信息支持决策,但并没有强调应用模型,没有提到计算机的应用。
1985年,管理信息系统的创始人,明尼苏达大学的管理学教授GordonB.Davis给了管理信息系统一个较完整的定义,即“管理信息系统是一个利用计算机软硬件资源,手工作业,分析、计划、控制和决策模型以及数据库人-机系统。
它能提供信息支持企业或组织的运行管理和决策功能。
”这个定义全面地说明了管理信息系统的目标、功能和组成,而且反映了管理信息系统在当时达到的水平。
1.2需求分析
图书管书籍管理是一个庞大工程,使用传统的方法不仅费时费力,而且不益于数据长期保存。
而科技进步,使得信息化越来越深的融入各行各业。
为简化工作人员工作流程,降低工作强度,特开发此套系统。
本项目的设计目标旨在方便图书管理员的操作,减少图书管理员的工作量并使其能更有效的管理书库中的图书,实现了传统的图书管理工作的信息化建设。
本系统的服务对象为图书馆流通部门的工作人员,用户界面友好,不需计算机专业的专门训练即可使用本系统。
1.3调查情况
调查发现,现在社会中任有大量的图书管理机构还在使用人工管理,效率低,易出错,手续繁琐,而且耗费大量人力物力。
二、系统分析
2.1系统可行性分析
2.1.1管理上的可行性
把建档查询管理等操作拓展到计算机上,建立数据库,实现图书的数字化管理,对图书馆来说,是一种技术进步,更方便管理,而且可以避免很多人为错误。
而且数字化是一种趋势,数据保存更张久。
2.1.2技术上的可行性
开发软件均为开源软件,不需要扩展硬件,只需要计算机。
对技术要求也不会太高,将复杂的步骤转化成了文字输入工作,只需要经过简单培训,工作人员也可以很好的操作。
2.1.3经济上的可行性
基于C/S架构,采用Java等开源工具开发,成本低,效率高,维护难度小,只需要在客户机和服务器上投入较高资金。
系统成功运行以后,可以优化组织架构,精简工作人员,更有利于图书管理结构的运营。
2.1.4可行性结论。
低成本、高效率、使用难度低,维护性好,并且经过其他各方面的可行性分析,该系统可行。
2.2系统组织结构与功能结构分析
2.2.1组织结构图
通过JDBC将管理员与数据库链接,实现对数据的增删改查。
图2.1系统组织图
2.2.2功能结构图
管理员通过管理系统,对书籍信息进行管理。
图2.2系统功能结构图
2.3系统业务流程分析
用户登入管理系统即可实现对书籍的管理。
图2.3系统业务流程分析
2.4系统数据流程分析
图2.4系统数据流程分析
2.5数据字典
编号
标识符
含义
1
id
用户编号
2
userName
用户名
3
password
密码
4
id
书籍类型编号
5
bookTypeName
书籍类型名称
6
bookTypeDesc
书籍类型描述
7
id
书籍编号
8
bookName
书籍名称
9
author
作者
10
sex
作者性别
11
price
价格
12
bookTypeId
书籍类型
13
bookDesc
书籍描述
表2.1数据字典
2.6主要数据加工处理的描述
通过Java类中Book已经User类对数据库数据进行封装,然后传输到管理系统显示。
三、系统设计
3.1系统功能结构设计
用户登陆界面用户登陆处理书籍添加书籍管理书类添加书类管理关于我们访问放大网上图书馆和系统退出。
3.2系统软硬件平台设计
系统平台
详细设计
硬件平台
服务器:
i3及以上CPU,2g内存,硬盘20G,10/100M网络
客户端:
i3及以上CPU,2g内存,硬盘20G,10/100M网络
软件平台
操作系统:
Windows/Linux/OS-X
数据库:
MySQL
JDK:
1.8
表2.2系统硬件平台设计
3.3系统信息处理流程的设计
图2.5系统信息处理流程
3.4代码设计
登陆用户名采用为我们小组四人的学号,密码为******。
如需修改进入MySQLWorkbench修改t_uesr表中的相应数据即可。
且设计有公共的登陆账号和密码(用户名:
admin密码:
admin)。
管理部分采用JDBC对SQL语句进行封装并传送接受数据库处理信息。
3.5输出与输入设计
输出设计为视图结合文字方式。
输入设计为鼠标键盘输入动作。
3.6存储文件格式设计
编号
标识符
所在表
含义
类型
长度
1
id
t_user
用户编号
int
11
2
userName
t_user
用户名
VARCHAR
20
3
password
t_user
密码
VARCHAR
20
4
id
t_booktype
书籍类型编号
in
11
5
bookTypeName
t_booktype
书籍类型名称
VARCHAR
20
6
bookTypeDesc
t_booktype
书籍类型描述
VARCHAR
1000
7
id
t_book
书籍编号
int
11
8
bookName
t_book
书籍名称
VARCHAR
20
9
author
t_book
作者
VARCHAR
20
10
sex
t_book
作者性别
VARCHAR
20
11
price
t_book
价格
float
12
bookTypeId
t_book
书籍类型
int
11
13
bookDesc
t_book
书籍描述
VARCHAR
1000
表2.3存储文件格式设置
3.7系统安全性设计
采用JavaSE对重要数据进行封装,以保证数据安全。
同时采用Swing技术,保证系统稳定,同时采用稳定安全的MySQL数据库保护数据。
四、系统实施部分
4.1源程序代码
4.1.1模型类的编写
4.1.1.1用户类编写
packagecom.mosiqi.model;
/**
*用户实体
*@authorAdministrator
*
*/
publicclassUser{
privateintid;//编号
privateStringuserName;//用户名
privateStringpassword;//密码
publicUser(){
}
publicUser(StringuserName,Stringpassword){
super();
this.userName=userName;
this.password=password;
}
publicintgetId(){
returnid;
}
publicvoidsetId(intid){
this.id=id;
}
publicStringgetUserName(){
returnuserName;
}
publicvoidsetUserName(StringuserName){
this.userName=userName;
}
publicStringgetPassword(){
returnpassword;
}
publicvoidsetPassword(Stringpassword){
this.password=password;
}
}
4.1.1.2书籍类编写
packagecom.mosiqi.model;
/**
*图书实体
*@authorAdministrator
*
*/
publicclassBook{
privateintid;//编号
privateStringbookName;//图书名称
privateStringauthor;//作者
privateStringsex;//性别
privateFloatprice;//图书价格
privateIntegerbookTypeId;//图书类别Id
privateStringbookTypeName;//图书类名名称
privateStringbookDesc;//备注
publicBook(){
}
publicBook(StringbookName,Stringauthor,Stringsex,Floatprice,IntegerbookTypeId,StringbookDesc){
super();
this.bookName=bookName;
this.author=author;
this.sex=sex;
this.price=price;
this.bookTypeId=bookTypeId;
this.bookDesc=bookDesc;
}
publicBook(intid,StringbookName,Stringauthor,Stringsex,Floatprice,IntegerbookTypeId,StringbookDesc){
super();
this.id=id;
this.bookName=bookName;
this.author=author;
this.sex=sex;
this.price=price;
this.bookTypeId=bookTypeId;
this.bookDesc=bookDesc;
}
publicBook(StringbookName,Stringauthor,IntegerbookTypeId){
super();
this.bookName=bookName;
this.author=author;
this.bookTypeId=bookTypeId;
}
publicintgetId(){
returnid;
}
publicvoidsetId(intid){
this.id=id;
}
publicStringgetBookName(){
returnbookName;
}
publicvoidsetBookName(StringbookName){
this.bookName=bookName;
}
publicStringgetAuthor(){
returnauthor;
}
publicvoidsetAuthor(Stringauthor){
this.author=author;
}
publicStringgetSex(){
returnsex;
}
publicvoidsetSex(Stringsex){
this.sex=sex;
}
publicFloatgetPrice(){
returnprice;
}
publicvoidsetPrice(Floatprice){
this.price=price;
}
publicIntegergetBookTypeId(){
returnbookTypeId;
}
publicvoidsetBookTypeId(IntegerbookTypeId){
this.bookTypeId=bookTypeId;
}
publicStringgetBookTypeName(){
returnbookTypeName;
}
publicvoidsetBookTypeName(StringbookTypeName){
this.bookTypeName=bookTypeName;
}
publicStringgetBookDesc(){
returnbookDesc;
}
publicvoidsetBookDesc(StringbookDesc){
this.bookDesc=bookDesc;
}
}
4.1.1.3书籍类型类编写
packagecom.mosiqi.model;
/**
*图书类别实体
*@authorAdministrator
*
*/
publicclassBookType{
privateintid;//编号
privateStringbookTypeName;//图书类别名称
privateStringbookTypeDesc;//备注
publicBookType(){
}
publicBookType(StringbookTypeName,StringbookTypeDesc){
super();
this.bookTypeName=bookTypeName;
this.bookTypeDesc=bookTypeDesc;
}
publicBookType(intid,StringbookTypeName,StringbookTypeDesc){
super();
this.id=id;
this.bookTypeName=bookTypeName;
this.bookTypeDesc=bookTypeDesc;
}
publicintgetId(){
returnid;
}
publicvoidsetId(intid){
this.id=id;
}
publicStringgetBookTypeName(){
returnbookTypeName;
}
publicvoidsetBookTypeName(StringbookTypeName){
this.bookTypeName=bookTypeName;
}
publicStringgetBookTypeDesc(){
returnbookTypeDesc;
}
publicvoidsetBookTypeDesc(StringbookTypeDesc){
this.bookTypeDesc=bookTypeDesc;
}
@Override
publicStringtoString(){
returnbookTypeName;
}
}
4.1.2工具类的编写
4.1.2.1JDBC链接工具类的编写
packagecom.mosiqi.util;
importjava.sql.Connection;
importjava.sql.DriverManager;
/**
*数据库工具类
*@authorAdministrator
*
*/
publicclassDbUtil{
privateStringdbUrl="jdbc:
mysql:
//localhost:
3306/db_book";//数据库连接地址
privateStringdbUserName="root";//用户名
privateStringdbPassword="****";//密码
privateStringjdbcName="com.mysql.jdbc.Driver";//驱动名称
/**
*获取数据库连接
*@return
*@throwsException
*/
publicConnectiongetCon()throwsException{
Class.forName(jdbcName);
Connectioncon=DriverManager.getConnection(dbUrl,dbUserName,dbPassword);
returncon;
}
/**
*关闭数据库连接
*@paramcon
*@throwsException
*/
publicvoidcloseCon(Connectioncon)throwsException{
if(con!
=null){
con.close();
}
}
publicstaticvoidmain(String[]args){
DbUtildbUtil=newDbUtil();
try{
dbUtil.getCon();
System.out.println("数据库连接成功!
");
}catch(Exceptione){
//TODOAuto-generatedcatchblock
e.printStackTrace();
System.out.println("数据库连接失败");
}
}
}
4.1.2.2字符处理类的编写
packagecom.mosiqi.util;
publicclassStringUtil{
/**
*判断是否是空
*@paramstr
*@return
*/
publicstaticbooleanisEmpty(Stringstr){
if(str==null||"".equals(str.trim())){
returntrue;
}else{
returnfalse;
}
}
/**
*判断是否不是空
*@paramstr
*@return
*/
publicstaticbooleanisNotEmpty(Stringstr){
if(str!
=null&&!
"".equals(str.trim())){
returntrue;
}else{
returnfalse;
}
}
}
4.1.3DAO层编写
4.1.3.1用户DAO类的编写
packagecom.mosiqi.dao;
importjava.sql.Connection;
importjava.sql.PreparedStatement;
importjava.sql.ResultSet;
importcom.mosiqi.model.User;
/**
*用户Dao类
*@authorAdministrator
*
*/
publicclassUserDao{
/**
*登录验证
*@paramcon
*@paramuser
*@return
*@throwsException
*/
publicUserlogin(Connectioncon,Useruser)throwsException{
UserresultUser=null;
Stringsql="select*fromt_userwhereuserName=?
andpassword=?
";
PreparedStatementpstmt=con.prepareStatement(sql);
pstmt.setString(1,user.getUserName());
pstmt.setString(2,user.getPassword());
ResultSetrs=pstmt.executeQuery();
if(rs.next()){
resultUser=newUser();
resultUser.setId(rs.getInt("id"));
resultUser.setUserName(rs.getString("userName"));
resultUser.setPassword(rs.getString("password"));
}
returnresultUser;
}
}
4.1.3.2书籍DAO类的编写
packagecom.mosiqi.dao;
importjava.sql.Connection;
importjava.sql.PreparedStatement;
importjava.sql.ResultSet;
importcom.mosiqi.model.Book;
importcom.mosiqi.util.StringUtil;
/**
*图书Dao类
*@authorAdministrator
*
*/
publicclassBookDao{
/**
*图书添加
*@paramcon
*@parambook
*@return
*@throwsException
*/
publicintadd(Connectioncon,Bookbook)throwsException{
Stringsql="insertinto
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 图书 信息管理 系统 课程设计 报告
![提示](https://static.bdocx.com/images/bang_tan.gif)