wwwwwwwww

西瓜米 2014-02-20 05:55:27

四川大学
毕 业 论文








题 目: 图书管理系统
专 业: 计算机科学与技术
学生姓名: 牟峻锋
班 级: 12 春
学 号: DD112158001
指导教师: 李 军






2014年02月20日



摘 要
随着科学的进步,计算机的发展,计算机信息管理将会越来越广泛的应用到很多的行业中去,图书管理就是其中的一个,在系统中解决了以前用手指记录的所有许多的问题以及统计的相关工作。
此系统是C/S架构,是浏览器/服务器架构,浏览器充当了界面的角色,服务器这充当了数据管理的角色,用户可以在浏览器(界面)中查阅和修改个人信息,以及可以对图书的查阅,借阅等操作,管理员可以进行图书的查询,添加,删除,修改以及用户的查询,添加,删除,修改等操作,此论文描述了图书管理系统的5大功能,分别为用户登录,图书添加,图书管理,图书查阅,用户信息管理功能并简单的介绍了编程中的相关知识,重点阐述了各模块的设计思想和难点。
本系统采用了java环境进行编写,使用了html , jsp 等开发界面,SQL SERVER开发数据库开发工具使用的是eclipse
关键词: 图书管理系统,信息管理,JAVA


目 录

四川大学 1
摘 要 I
Abstract II
第1章 课题背景与意义 5
1.课程背景 5
1.2 图书管理系统简介 5
1.3图书管理系统可行性分析 5
第2章 开发环境 6
2.1 Java开发环境 6
2.1.1 java的简介 6
2.1.2 java语言特点 7
2.2 SQL SERVER 2005简介 7
2.2.1 SQL Server 特点 7
2.2.2 SQL Server 2005新特性 8
第3章 系统分析 9
3.1 处理对象 9
3.1.1 对象的分析 9
3.1.2 分析对象的属性 9
3.2 业务分析 9
3.3 系统功能模块图 10
第4章 数据库实施 12
4.1 数据库的设计 12
4.1.1 数据库E-R图 12
4.1.2 逻辑结构设计 12
4.2创建数据库 14
第5章 系统流程设计 16
5.1系统操作流程图 16
5.2 数据增删改查流程 17
5.2.1数据添加 17
5.2.2数据修改 18
5.2.3数据删除 18
5.2.4数据查询 19
第6章 系统设计 21
6.1 用户登陆 21
6.2 添加图书信息 22
6.3 图书类别管理 22
6.4 图书借阅管理 23
6.5 用户信息管理 23
结束语 25
致 谢 27
参考文献 27

第1章 课题背景与意义
1.课程背景
在这个信息化社会日趋成熟的时代,在采用计算机进行管理之前图书管理中对图书和用户的管理是非常繁琐和复杂的,图书的借阅完全依赖与手工的统计和管理,这样不仅是浪费时间而且非常容易出错,在用户借书的时候,工作人员要把图书和用户的信息或者要把图书和借书证等手工记录,效率非常低,而且工作量大还容易丢失,这就是缺乏信息化处理信息的手段,从而信息化管理的方式油然而生。
随着现在的图书馆的规模曾大,图书的类别增大,图书总类增多,面对着巨大的信息,使用人工来管理是一件巨大的工程,因此就诞生了一套专业的图书管理系统对图书信息进行管理。
1.2 图书管理系统简介
1.3图书管理系统可行性分析
可行性分析是在进行初步调查后,进行的对系统开发必要性和可能性的研究因此也被称为可行性研究。信息系统也应该从技术可行性,经济可行性和社会可行性三方面来论证。通过长时间的观察与实践,图书馆管理系统的可行性分析如下:
1、技术可行性分析
技术上的可行性分析主要分析现有技术条件能否顺利完成开发工作,硬件、软件配置能否满足开发者的需要,各类技术人员的数量,水平,来源等。图书馆管理系统的工作主要是在读者和图书馆之间架起一座桥梁,能相互沟通信息和处理信息。这一特点非常适合计算机特点,通过网络internet技术,发挥计算机的信息传输速度快、准确度高的优势。计算机硬件和软件技术的飞速发展,为系统的建设提供了技术条件。
2、经济可行性分析
作为图书馆这样的商业性质较小的场所,其经济成分比重相对较少,主要是支出的费用:其中包括设备购置费、软件开发费用、管理和维护费、人员工资和培训费等。由于各个图书馆实行统一操作,系统共享,其设备购置,人员工资,维护费用相对较少,前期的资金投入主要集中于购置图书上。建立信息中心,可将来自各方面的信息集中管理,提高图书管理的计划性和预见性,快速地反馈市场信息。
3、社会可行性分析
社会可行性有时也称为操作可行性,主要论证新系统在企业或机构开发和运行的可能性以及运行后可能一起的对企业或机构的影响,即组织内外是否具备接受和使用新系统的条件。在当前信息技术飞速发展的大环境下,计算机技术和软件技术的更新是图书馆完全有可能也有能力采用这样先进的管理技术。
第2章 开发环境
本系统采用面向对象语言java和数据库SQL SERVER 2005进行开发
2.1 Java开发环境
2.1.1 java的简介
java是由Sun Microsystems公司于 1995年5月推出的Java面向对象程序设计语言(以下简称Java语言)和Java平台的总称。由James Gosling和同事们共同研发,并在1995年正式推出。用Java实现的HotJava浏览器(支持Java applet)显示了Java的魅力:跨平台、动态的Web、Internet计算。从此,Java被广泛接受并推动了Web的迅速发展,常用的浏览器均支持Javaapplet。另一方面,Java技术也不断更新。(2010年Oracle公司收购了SUN)
2.1.2 java语言特点
Java编程语言的风格十分接近C语言、C++语言。Java是一个纯粹的面向对象的程序设计语言,它继承了 C++语言面向对象技术的核心。Java舍弃了C语言中容易引起错误的指针(以引用取代)、运算符重载(operator overloading)、多重继承(以接口取代)等特性,增加了垃圾回收器功能用于回收不再被引用的对象所占据的内存空间,使得程序员不用再为内存管理而担忧。在 Java 1.5 版本中,Java 又引入了泛型编程(Generic Programming)、类型安全的枚举、不定长参数和自动装/拆箱等语言特性。
Java不同于一般的编译执行计算机语言和解释执行计算机语言。它首先将源代码编译成二进制字节码(bytecode),然后依赖各种不同平台上的虚拟机来解释执行字节码。从而实现了“一次编译、到处执行”的跨平台特性。不过,每次的执行编译后的字节码需要消耗一定的时间,这同时也在一定程度上降低了 Java 程序的性能。
2.2 SQL SERVER 2005简介
SQL是英文Structured Query Language的缩写,意思为结构化查询语言。SQL语言的主要功能就是同各种数据库建立联系,进行沟通。按照ANSI(美国国家标准协会)的规定,SQL被作为关系型数据库管理系统的标准语言。SQL语句可以用来执行各种各样的操作,例如更新数据库中的数据,从数据库中提取数据等。绝大多数流行的关系型数据库管理系统,如Oracle,Sybase,Microsoft SQL Server,Access等都采用了SQL语言标准。虽然很多数据库都对SQL语句进行了再开发和扩展,但是包括Select,Insert,Update,Delete,Create,以及Drop在内的标准的SQL命令仍然可以被用来完成几乎所有的数据库操作。
2.2.1 SQL Server 特点
1.真正的客户机/服务器体系结构。
2.图形化用户界面。 丰富的编程接口工具。
3.SQL Server与Windows NT完全集成。
4.具有很好的伸缩性。
5.对Web技术的支持。
6. SQL Server提供数据仓库功能。

2.2.2 SQL Server 2005新特性
1.支持XML(Extensive Markup Language,扩展标记语言)
2.强大的基于Web的分析
3.支持OLE DB和多种查询
4.支持分布式的分区视图


第3章 系统分析
3.1 处理对象
3.1.1 对象的分析
在图书管理系统中,存在用户(图书的借用者)对象, 用户(图书的借用者)借用的图书对象。图书馆图书的对象。图书的类别对象,和管理员的对象。
一下是分析的对象
(1)图书对象
(2)用户对象
(3)借阅对象
(4)类别对象
3.1.2 分析对象的属性
我们通过这些对象来分析下对象中会含有的属性
(1) 图书对象:书籍编号,书名,类型,作者,出版商,出版时间,价格,图书类别编号,存储量。
(2) 用户对象:编号,姓名,性别,电话,地址 ,身份证号,是否为管理员。
(3) 借阅对象:读者编号,书籍编号,借阅日期,还书日期,借阅时间,是否还书。
(4) 图书类别对象:编号,类别名。

3.2 业务分析
此图书管理系统涉及图书信息,用户信息,管理员信息,借阅信息等多种信息进行管理,具体的业务分析为以下部分:
(1) 管理员对用户实施管理:
a.管理员能增加用户
b.管理员有权限直接修改用户的资料
c.管理员能直接删除用户
d.管理员能查看用户的借书情况,用户资料等信息
(2)管理员能对图书信息进行管理
a.管理员能够添加新的图书
b.管理员能对已有的图书进行修改,删除等操作。
c.管理员能查看所有图书的状况
(3)管理员能对用户借阅的信息进行管理
a.管理员能对用户借阅的书籍信息进行添加和删除
b.管理员能对用户借阅的数据信息进行修改和查看状态等操作。
(4)管理员能对自己的信息进行管理
a.管理员能查看自己的信息
b.管理员能修改自己的密码和其它信息

3.3 系统功能模块图
系统的功能模块图设计如下:



第4章 数据库实施
4.1 数据库的设计
4.1.1 数据库E-R图

系统的E-R图如图所示。


4.1.2 逻辑结构设计
通过E-R图。分析数据库的表名和字段名为以下:
图书信息(书籍编号,书名,类别,作者,出版商,出版时间,价格,存储量)
读者信息(编号,姓名,密码 ,电话,地址 ,性别,身份证,是否超级用户)
借阅信息(读者编号,书籍编号,借阅日期 ,归还日期,是否还书)
类别信息(编号,类别名)
下图显示了数据库的逻辑结构:
图书表
字段 类型 长度 是否为空 描述
书籍编号 int 3 否 主键
书名 varchar 100 否
类别 Int 5 是 外键
作者 Varchar 100 是
出版商 Varchar 1024 是
出版商 Varchar 50 是
出版时间 Datetime 8 是
价格 decimal(10,2) 是
存储量 int 10 是
读者
字段 类型 长度 是否为空 描述
编号 Int 3 否 主键
姓名 Varchar 50 否
密码 Varchar 50 是
性别 varchar 2 是
电话 Varchar 11 是
地址 Varchar 100 是
身份证 Varchar 18 是
是否超级用户 Int 1 是
借阅表
字段 类型 长度 是否为空 描述
编号 Int 3 否 主键
读者编号 Int 3 否 外键
书籍编号 Int 3 否 外键
借阅日期 Datetime 8 是
归还日期 Datetime 8 是
是否还书 Int 1 是

类别表
字段 类型 长度 是否为空 描述
编号 Int 3 否 主键
类别名 Varchar 50 是

4.2创建数据库
根据以上分析,建立数据库、数据表:
首先建立数据库,代码如下:
create database myuser

创建图书表
create table book(
id int identity(1,1) not null primary key,
bookName varchar(50) not null,
type_id int not null,
author varchar(50) not null,
printName varchar(50) not null,
printTime Date not null,
price decimal(10,2) not null,
bookNum int
)
用户表
CREATE TABLE user(
id int,
name varchar(50) DEFAULT NULL,
password varchar(50),
sex varchar(2) CHECK(sex IN('男','女'))DEFAULT NULL,
phone varchar(11) not null,
address varchar(50) not null,
id_card varchar(18) not null,
is_superName varchar(2) check(is_superName in ('是','否')) DEFAULT NULL,
PRIMARY KEY (id)
)
借阅表
CREATE TABLE borrow (
id int not null primary key,
is_back smallint DEFAULT NULL,
back_date datetime,
borrow_date datetime DEFAULT NULL,

book_id int,
user_id int,
PRIMARY KEY (book_id,user_id),
foreign key(book_id) references book(id),
on delete cascade,
on update cascade,
foreign key(user_id) references reader(id)
on delete cascade,
on update cascade
)
类型表
CREATE TABLE type (
id int not null primary key,
type_name varchar(50) DEFAULT NULL,
)
第5章 系统流程设计
5.1系统操作流程图


图5.1
5.2 数据增删改查流程
5.2.1数据添加
在数据添加时,会判断输入的数据是否合法,如果是合法的数据,我们就是添加到数据库中,如果是非法数据,我们会要求重新输入。如图5.2.1所示:


图5.2.1


5.2.2数据修改
在修改数据时,我们也会判断修改后的数据是否合法,如不合法,我们将不会更改数据库中的数据,如果合法,我们才会更改数据库中的数据,修改数据和添加数据处理的流程很相似。如图5.2.2所示。

图5.2.2


5.2.3数据删除
当删除数据时,用户必须选择需要指定数据进行删除,删除时,当用户点击删除,我们会有提示框提示用户是否要删除此数据,这样减少误操作。流程图如图5.2.3所示。



图5.2.3

5.2.4数据查询

在查询数据的时候,用户必须制定是查询什么数据,当指定查询的时候后选择查询,就会将数据数据的结果返回给用户。如图5.2.4所示:


图5.2.4

第6章 系统设计
6.1 用户登陆
当系统登陆时,首先出现的是一个用户权限登陆的界面, 权限设置主要是维护系统的安全性和完整性。拥有管理员权限的操作员能对其他操作员进行相应的权限设置,没有权限的操作员不能对相应的窗口进行操作。如下图所示:

这是进入系统时的身份验证,用户首先要从软件开发者那里申请用户名和密码,才可以进入。该过程的流程图如下图:


















6.2 添加图书信息
身份验证通过以后,点击可以使用系统的基本信息管理界面,这是管理员主要的输入信息部分,它即可以对数据进行输入。填写好各项信息后,单击保存按钮,系统将对这些信息进行处理。界面见下图:


6.3 图书类别管理
点击可以使用系统的基本信息管理界面,这是管理员主要的输入信息部分,它即可以对数据进行输入。填写好各项信息后,单击保存按钮,系统将对这些信息进行处理。界面见下图:



6.4 图书借阅管理
该模块可以实时显示借阅状态,借阅日期已经产生的借阅费用,并可进行还书和修改操作,用户号还可链接到用户详细信息页面。


6.5 用户信息管理
直观、形象的展示用户个人详细资料,可以删除、修改用户操作。
结束语
几个月来忙碌紧张而又有条不紊的毕业设计,使我有机会对本专业的基本理论、专业知识和基本技术有了更深入的了解和体会,使我在四年中所学到的知识得到了系统和升华,真正达到了学以致用。
对管理信息系统的体会
管理信息系统是一门融管理科学、信息科学、系统科学、计算机科学与现代通信技术为一体的一门综合性边缘学科。它是运用系统的方法以计算机和现代通信技术为基本信息处理手段和工具的,能为管理决策提供信息服务的人—机系统.它可以实现数据处理功能、预测功能、计划功能、控制功能和辅助决策功能。管理信息系统的开发是一项复杂的系统工程,必须严格的按照系统规划、系统分析、系统设计、系统实施、系统运行与评价的开发步骤来进行。
在系统开发之前,必须了解该系统的特点、适用范围以及使用者需要一个什么样的系统,以此作为基础为开发系统准确定位,然后对使用者所需实现的功能进行分析总结,根据使用者的实际要求来给系统设计一个初步方案。系统的开发不仅是要实现对数据处理的及时与正确,而且要考虑系统是否具有控制功能,及时将数据反馈给操作者,以进行监测和协调,保证系统的正常运行;也要考虑是否具有预测功能,运用一定的数学方法利用历史的数据对未来进行预测的工作。
设计实践上的体会
在设计的过程中,我掌握了很多JAVA的编程知识,并对这种成熟并广泛应用的技术进行了深入的学习。设计的过程也是一个再学习的过程,在遇到问题的时候我尽量自己想办法解决,这在很大程度上激发了我们的自学能力;在没有办法解决的情况下,认真的向老师请教,从老师那里我学到了很多的知识,老师对我的指导起到了画龙点睛的作用。
以往我们曾经有过多次设计的体会,但只是设计一个模块或一个小系统,而这一次毕业设计是综合所学的管理和计算机的知识来设计一个适合运行管理的进销存系统软件。要想设计使用户满意,就需要我们付出更多的努力。我在设计中经常出现一些问题不知该如何解决,在此时许多同学给予了我们帮助。在设计的过程中增加了于实际接触的机会,不仅培养了我的自学和编程能力,让我在即将离开学校进入社会之前有了一定的资本,提高了我与人沟通的能力。
程序设计中的体会
在我的程序设计过程中,我充分的体会到了“实践出真知”这一点,书本上的知识是不够的,只有把理论与实践相结合才能够真正的学到知识。一个管理信息系统的设计,不可能一步到位,还需要不断的完善和补充。同时,系统中还存在许多问题,有待在日后的使用中发现和解决。编程前的深思熟虑是减少程序调试工作量的重要方法,只有进行充分考虑,才会减少调试过程中的工作量。虽然在开始写程序之前我们做了多的准备工作,但在真正的写程序时仍然发现许多问题,有些问题是分析时的疏漏,有些则是如果不做无论如何也想不到的。


致 谢
在本次毕业设计过程中,得到了指导老师的指导与支持。在此特别感谢李军老师的大力帮助。指导老师的悉心指导和大力支持,在总体结构、功能的把握上给予了非常大的帮助,同时根我们提供了非常优越的设计环境,并对我在编程、数据库设计等细节工作上给予了耐心的指导,对于我们小组顺利完成这次毕业设计起到了关键性的作用。
另外和我同组同学大家始终团结协作,努力拼搏,增强了我的团队意识,并且我们接下了深厚的友谊,我们自始至终在一种愉快的气氛中学习工作。此次毕业设计对提高我的编程技术、协调团队成员的关系等方面都由许多益处。在此我一并向他表示感谢。我还要感谢我的母校——安徽科技学院,以及在大学四年生活中给予我关心和帮助的老师和同学,是他们教会了我专业的知识和做人的道理。通过这次毕业设计我还明白了作为一名计算机专业的大学毕业生,我们要会的不仅仅是编写代码,更重要的是要有整体把握系统设计的能力。我会在以后的工作和学习中不断完善自己,为我最热爱的母校争光,为自己翻开辉煌的新篇章。
转眼间,大学生活即将结束,回首过去四年的大学生活,真是有苦也有乐,然而更多的则是收获,感谢母校的各位老师不但无私地传授给我们知识,也教会了我们如何做人。计算机科学与技术专业的毕业设计任务繁重,但正是在这几个月紧张而充实的设计中,我感到自己的知识得到了一次升华,我相信:我的毕业设计会给我的四年大学画上一个圆满的句号。
21世纪已经到来了,在新的世纪里,人们自然对未来有许多美好的愿望和设想。现代科学技术的飞速发展,改变了世界,也改变了世界的生活。作为新世纪的大学生,应当站在世界的发展前列,掌握现代科学技术知识,调整自己的知识结构和能力结构,以适应社会发展的要求。新世纪需要具有丰富现代科学知识、能够独立解决面临任务、有创新意识的新型人才。

参考文献
[1]BruceEckel,《Java编程思想》.,机械工业出版社,2003年10月
[2] 王珊,萨师煊,《数据库系统概论》,高等教育出版社,2006年5月
[3] 李伟红,《SQL Server 2005实用教程》,中国水利水电出版,2008年6月
[4]FLANAGAN,《Java技术手册》.,中国电力出版社,2002年6月
[5]孙一林,彭波,《Java数据库编程实例》.,清华大学出版社,2002年8月
[6] 张帆,《java范例开发大全》,清华大学出版社,2010年6月
[7] 唐红亮,《SQL Server 数据库设计与系统开发教程》,清华大学出版社,2011年6月
[8] Stephens,《数据库设计》,机械工业出版社,2009年10月
[9] 马军 ,李玉林,《SQL语言与数据库操作技术大全》,电子工业出版社,2010年3月
[10]孙涌,《现代软件工程》,北京希望电子出版社,2003年8月
[11]赛奎春,.《JSP工程应用与项目实践》.,机械工业出版社,2002年8 月

...全文
1406 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
西瓜米 2014-02-21
  • 打赏
  • 举报
回复
引用 2 楼 ncepu307 的回复:
牛逼的川大
千万别看,我就是无聊弄的
西瓜米 2014-02-21
  • 打赏
  • 举报
回复
引用 1 楼 xietinghmily 的回复:
楼主你想干嘛
就是闲的无聊
niekangshibendan 2014-02-21
  • 打赏
  • 举报
回复
不明觉厉
依然绿茶 2014-02-21
  • 打赏
  • 举报
回复
牛逼的川大
  • 打赏
  • 举报
回复
楼主你想干嘛

786

社区成员

发帖
与我相关
我的任务
社区描述
移动平台 非技术区
android小程序微信小程序 技术论坛(原bbs)
社区管理员
  • 非技术区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧