数据库开发与应用课程设计报告.docx
《数据库开发与应用课程设计报告.docx》由会员分享,可在线阅读,更多相关《数据库开发与应用课程设计报告.docx(27页珍藏版)》请在冰豆网上搜索。
数据库开发与应用课程设计报告
经济管理学院本科课程设计论文
数据库开发与应用课程设计
学号:
姓名:
班级:
专业:
信息管理与信息系统
系别:
管理系
指导教师:
孙鸿飞
2012年12月14日吉林
目录
第1章图书馆管理信息系统概述1
1.1图书馆管理信息系统简介1
1.2图书馆管理信息系统功能描述1
第2章需求分析2
2.1系统目标2
2.2业务流程2
2.3数据流程2
2.4数据字典5
第3章系统设计8
3.1系统功能8
3.2系统结构9
第4章数据库设计10
4.1E-R图10
4.1.1系统实体E-R图10
4.1.2读者实体10
4.1.3图书实体11
4.1.4借书实体E-R图11
4.2数据库详细设计11
第5章主窗体设计14
5.1主窗体设计14
5.2功能导航栏设计15
第6章程序设计与编码16
6.1系统登陆窗体的设计16
6.2修改密码窗体设计17
6.3录入窗体设计18
第7章系统测试20
第8章心得总结21
参考文献22
第1章图书馆管理信息系统概述
1.1图书馆管理信息系统简介
随着学校规模的不断扩大,图书数量的急剧增加,有关图书的信息量也在不断成倍增长。
面对庞大的信息量,就需要有图书管理系统来提高图书管理工作的效率。
通过这样的系统,我们可以做到信息的规范管理和快速查询,从而减少了管理方面的工作量。
传统手工的图书管理,管理过程繁琐而复杂,执行效率低,并且易于出错。
通过这样的系统,我们可以做到信息的规范管理和快速查询,实现了图书管理的系统化、规范化和自动化,这样不仅减少了管理工作量,还提高了管理效率,降低了管理成本。
随着科技的飞跃进步,对信息的管理也是越来越规范,越来越精确。
不仅让信息合理规范的管理,同时也方便管理者方便的快速查询,提高了管理的效率。
对图书信息进行图书入库、借阅登记、借阅查询、过期提示等这些日常业务的需要。
高效性的通过系统的实用,能够改变旧的图书管理模式,使对图书的管理、借阅、查询更加方便有效
1.2图书馆管理信息系统功能描述
图书管理系统主要实现以下5方面的功能:
a.图书入库
b.查询
c.修改信息
d.图书借还
e.系统管理
1.书籍管理功能:
包括书籍类别管理和书籍信息管理两部分。
维护书库中的读者信息,能够完成新书入库登记图书信息的查询以及图书丢失处理等功能。
2.读者管理部分:
这一部分包括对读者信息进行管理的功能。
维护读者的相关信息能够完成新读者的信息登录,读者信息的查询以及读者注销功能
3.借阅管理部分:
这一部分包括借书信息管理和还书信息管理两部分。
完成图书的借出登记,归还登记信息以及借书信息和还书信息的查询浏览的相关管理功能。
第2章需求分析
2.1系统目标
在现今信息化发达的社会,图书的发行量与日俱增。
因此需要对书籍资源、读者资源、借书信息、还书信息进行管理,及时了解各个环节中信息的变更,有利用管理效率的提高。
传统的图书馆需要制作有署名与对应编号的书卡,由读者按分类查找再交由图书管理员来处理借书工作,还书也要人工翻阅大量的记录,这样使得工作量大并及其繁琐,效率变得低下。
建立网上电子图书管理系统的目的是实现无纸化图书管理,减轻管理员的工作量,方便读者查阅所需的图书,还可以利用网络实现提醒读者还书的功能。
管理员还可以对各种图书进行分析统计,对过时、损坏的图书进行删除。
达到降低成本提高工作效率的目标。
2.2业务流程
通过对图书馆流通业务过程分析得知,其中的主要业务有用户信息管理、借书管理、还书管理、续借管理和超期图书管理。
其高层业务流程如图2-1所示。
图2-1业务流程图
2.3数据流程
根据对图书馆流通系统的数据分析得知,需要系统处理的主要业务有用户信息管理、还书管理、借书管理、续借管理和超期图书管理。
系统的主要外部实体有两个:
读者和图书。
系统主要的输入和输出数据流如表2-1所示。
表2-1输入/输出数据流
输入
来源
去处
输出
来源
去处
用户信息
读者
用户信息管理
图书证
更新图书证信息
读者
系统有关数据存储如下:
D1,用户信息。
D2,用户借阅信息。
根据上述分析,系统主要数据流程如图2-2所示。
图2-2图书馆系统高层数据流程
用户信息管理的输入和输出数据流如表2-2所示。
表2-2“用户信息管理”的输入/输出数据流
输入
来源
去处
输出
来源
去处
用户信息
读者
用户信息管理
图书证
更新图书证信息
读者
细化后的图书馆管理系统数据流图如图2-3
图2-3细化后的图书馆管理系统数据流图
2.4数据字典
数据字典就是将数据元素、数据结构、数据流、数据存储、处理功能和外部实体等详细情况加以记录,并按照一定的方式进行排列所形成的一部关于数据的字典。
1、数据元素
数据元素是最小的数据组成单位,也就是不可再分的数据单位。
学生学号,姓名,图书编号等如本系统中的数据元素的定义如表2-3所示。
表2-3数据元素的定义
数据元素编号
DE001
数据元素名称
学号
简述
学号
别名
Studentno
长度
20个字节
类型
整形
有关的数据元素或数据结构
学生信息信息
有关的处理功能:
借入管理,学生信息,借出管理
当所有的数据元素都定义完了时,就可以建立一张数据元素一览表,如表2-4所示。
表2-4数据元素一览表
编号
数据元素名称
类型
长度
DE001
学号
字符型
20
DE002
姓名
字符型
20
DE003
性别
字符型
10
DE004
系别
Float
20
DE005
联系电话
Float
20
DE006
借书证号
Int
40
DE007
密码
字符型
8
DE008
图书编号
Datantime
8
DE009
图书名称
字符型
10
DE0010
作者
字符型
10
DE0011
出版社
字符型
10
续上表2-4
DE0012
生产日期
字符型
13
DE0013
定价
字符型
20
DE0014
类别编号
字符型
20
DE0015
状态
字符型
20
DE0016
类别编号
字符型
20
DE0017
图书类别
Datatime
8
DE0018
姓名
Int
200
DE0019
性别
Float
20
DE0020
类别
Datatime
8
DE0021
联系电话
Int
200
DE0022
密码
字符型
8
DE0023
借出编号
字符型
20
DE0024
图书编号
字符型
20
DE0025
借书证号
字符型
20
DE0026
借出日期
字符型
20
DE0027
借出状态
字符型
20
2、数据流
数据流表示数据的流向。
在数据字典中所定义的数据流有两类:
一是从外部实体输入到系统中的数据流,二是从系统输出到外部实体的数据流。
以图书信息单为例来介绍数据流的定义。
如表2-5所示
表2-5数据流的定义
数据流编号
DF001
数据流名称
图书信息单
简述
用户信息
来源
外部项“读者”
去处
处理功能“用户信息管理”
组成
姓名、性别、类型、联系电话、密码
由于数据流定义的很多,在这里就不一一赘述了。
3、数据存储
数据存储是数据结构停留或保存的地方,也是数据流的来源与去向之一,以学生来介绍数据存储的定义。
如2-6所示
表2-6数据存储
数据存储编码
DB001
数据存储名称
学生信息
简述
存储
输入数据流
存储学生的有关信息
输出数据流
学生信息
组成
学生学号、姓名、联系电话、借书证号
立即存储要求
有
由于数据存储定义的很多,在这里就不一一赘述了。
4、外部项也叫外部实体,指的是数据的来源与去向,它不受系统控制,是系统以外的人或者事物。
以客户为例介绍外部实体的定义。
如表2-7所示
表2-7介绍外部实体的定义
外部项编号
E01
外部项名称
学生
简述
读者
输出数据流(去向)
借书证号
输入数据流(来源)
借到的书
由于数据存储定义的很多,在这里就不一一赘述了
第3章系统设计
3.1系统功能
本系统包括的模块主要有如下几个部分:
图书管理模块、借阅管理模块、读者管理模块、系统管理模块、信息查询模块、用户管理模块
具体的功能描述如下:
图书管理:
其功能是管理书库中图书的记录信息,对入库图书信息进行管理,并进行查询。
借阅管理:
其功能是对读者借阅信息进行查询。
读者管理:
其功能是对读者一般信息进行查询以及维护。
系统管理:
其功能是为系统的使用者进行帐户和密码管理以及基础数据维护。
其子系统描述:
1.图书管理包括图书入库功能,主要整理图书的数量、类别和各种相关的信息等。
2.图书借阅,进行借书操作(此操作由管理员完成);当用户要查询自己的借阅情况时,可进行借阅查询。
3.读者管理包括读者登记,读者信息管理,添加读者借书和还书信息。
可以记录新加入的读者的信息,并且可以对已经存在于数据库中的读者的信息进行修改,同时可以进行读者借、还书的管理。
4.用户管理包括修改密码、新增用户、删除用户可执行的系统操作等。
5.信息查询包括图书查询、读者查询和用户查询等功能。
通过这些功能,可以通过不同的关键字来对书库中的图书进行查询,同时也可以查询读者的借阅信息。
6.系统管理是用来完成本系统的基本操作,如修改密码、登录系统、退出登录,还有系统简介等功能。
3.2系统结构
系统结构图如图3-1
图3-1功能模块图
第4章数据库设计
4.1E-R图
4.1.1系统实体E-R图
系统实体E-R图
如图4-1
n
n
图4-1系统实体E-R图
4.1.2读者实体
读者实体如图4-2
图4-2读者实体
4.1.3图书实体
图书实体如图4-3
图4-3图书实体
4.1.4借书实体E-R图
如图4-4借书实体E-R图
图2-3借书实体
图4-4借书实体E-R图
4.2数据库详细设计
由数据模型利用SQLsever2000进行数据库的详细设计,本系统设计的数据库名为shop,其基本表的设计如下:
(1)学生信息表包括的字段有:
学号、姓名、性别、系别、联系电话、借书证号、密码。
如表4-1
表4-1学生信息表
字段名称
数据类型
大小
主键
学号
varchar
50
yes
姓名
varchar
20
性别
varchar
4
系别
varchar
5
联系电话
varchar
50
借书证号
varchar
50
密码
varchar
15
(2)图书明细表字段包括图书编号、图书名称、作者、出版社、出版日期、定价、类别、编码、状态。
如表4-2
表4-2图书明细表
字段名称
数据类型
大小
主键
图书编号
int
50
Yes
图书名称
varchar
20
作者
varchar
4
出版社
varchar
5
出版日期
datatime
50
定价
varchar
50
类别编号
varchar
15
状态
char
6
(3)图书类别表包括类别编号、图书类别。
如表4-3
表4-3图书类别表
字段名称
数据类型
大小
主键
类别编号
smallint
2
图书类别
nvarchar
20
(4)用户表字段包括姓名、性别、类型、联系电话、密码。
如表4-4
表4-4用户表
字段名称
数据类型
大小
主键
姓名
varchar
20
性别
varchar
4
类型
varchar
50
联系电话
varchar
15
密码
varchar
50
(5)借出信息表字段包括借出编号、图书编号、借书证号、借出日期、借出状态。
如表4-5
表4-5借出信息表
字段名称
数据类型
主键
大小
借出编号
int
Yes
4
图书编号
int
4
借书证号
varchar
50
借出日期
smalldatetime
4
借出状态
bit
4
第5章主窗体设计
5.1主窗体设计
程序运行程序以后,就可以看到如图5-1的程序的主界面。
图5-1系统主界面
各组件的设置如表5-1所示。
表5-1属性设置
对象
属性
属性值
说明
Button1
Caption
书目检索
按钮标题
Button2
Caption
修改用户密码
按钮标题
Button2
Caption
退出
按钮标题
Label1
Caption
欢迎进入图书馆
标签标题
Font
宋体
标签字体
Color
ClOlive
标签颜色
MainMenu1
Items
项目
菜单编辑
5.2功能导航栏设计
功能导航栏设计如图5-2
图5-2功能导航栏设计
第6章程序设计与编码
6.1系统登陆窗体的设计
登陆功能
创建好的登陆界面如图6-1所示,这里用户输入帐号和密码后,单击“登陆”按钮,如果通过认证,则用户可以登陆系统。
下面进行代码设计。
如图6-1登陆界面
属性设置
各属性的设置如表6-1所示。
表6-1属性设置
对象
属性
属性值
说明
Table1
Databasename
用户数据库
所连接的数据库
Tablename
用户表2
所连接的表
Active
True
激活数据库
DataSource1
DataSet
Table1
所连接的表
Label1
Caption
用户名
标签标题
Label2
Caption
密码
标签标题
Edit1
Text
空
文本框内容
Edit2
Text
空
文本框内容
续上表6-1
DBEdit1
DataSource
DataSource1
数据资源
Visible
False
运行时不可见
DBEdit2
DataSource
DataSource
数据资源
Visible
False
运行时不可见
SpeedButton1
Caption
登陆
按钮标题
SpeedButton2
Caption
退出
按钮标题
6.2修改密码窗体设计
修改密码窗体设计如图6-2
图6-2修改密码窗体设计
属性设置
各属性的设置如表6-1所示。
表6-1属性设置
对象
属性
属性值
说明
edit1
Caption
空
文本框内容
edit2
Caption
空
文本框内容
edit3
Caption
空
文本框内容
Label1
Caption
修改密码
标签标题
Font
宋体
标签字体
续上表6-2
Color
ClOlive
标签颜色
Label2
Caption
请输入密码
标签标题
Font
宋体
标签字体
Color
ClOlive
标签颜色
Label3
Caption
请输入新密码
标签标题
Font
宋体
标签字体
Color
ClOlive
标签颜色
Label4
Caption
确认新密码
标签标题
Font
宋体
标签字体
Color
ClOlive
标签颜色
Button1
Caption
确认修改
按钮标题
6.3录入窗体设计
录入窗体设计如图6-4
图6-4录入窗体设计
属性设置
各属性的设置如表6-3所示。
表6-3属性设置
对象
属性
属性值
说明
Groupbox
Caption
录入
标题
SpeedButton1
Caption
录入
按钮标题
Label1
Caption
学号
标签的标题
Label2
Caption
借的图书号
标签的标题
Label3
Caption
还书日
标签的标题
Label4
Caption
请输入内容
标签的标题
Edit1
Captain
空
文本内容为空
Edit2
Caption
空
文本内容为空
Edit3
Caption
空
文本内容为空
Memo1
Name
Memo1
名称
第7章系统测试
对程序设计工作的检验是进行系统测试,是保证系统质量和可靠性的关键步骤。
测试就是为了发现程序中得错误而执行程序的过程,测试的目的是为了发现尽可能多的缺陷,不是为了说明软件中没有缺陷。
成功的测试在于发现了迄今尚未发现的缺陷,在于有效地揭示潜伏在软件里的缺陷。
但是发现错误与缺陷不是最终目的,最终的目的是开发出高质量的符合用户要求的系统,所以必须对错误进行改正,并在之后进行相应的测试,最终排除错误在本次课设的系统测试也遇到了不少情况,其中有几个比较典型和重要的问题,现对其进行分析:
1.表间关系建立:
在系统中修改航班信息,则要求其他表中的相同项也进行修改,因此在表间建立关系。
在菜单栏中的视图选择中“关系”,在关系中选中表添加关系,点击实施参照完整性,则在两表间建立了相应的关系。
但由于该设计会影响清空操作的稳定性,故没有采用。
2.删除时没有提示,开始设计代码是忘记了加入提示的代码,刚开始不知道什么情况,很忙乱没有耐心,在他人的指点下加入showmessage(’’),解决了问题。
3.数据库连接问题:
在连接数据库时,总会显示找不到指定的数据库。
在同学的帮助下,才明白在连接之前要先在ODBC资源管理器中添加该数据库,这样才能在系统设计中的Databasename的下拉列表中显示。
4.代码总是有错误,最多的是[Error]:
Undeclaredidentifier。
这个问题直接导致程序不能运行,最后在自己多次查找与修改并求教于同学后,最终找到了问题的根源,对其重新进行了定义并成功解决,运行了。
综合以上的测试结果,本软件具有稳定性较高、功能比较完善等优点,但在一些地方仍然存在缺陷,由于设计者本身能力所限,一些高级复杂的功能不能实现。
第8章心得总结
通过系统的在校学习和对外界的认识,我对软件开发的大致过程有了一些基本的了解,有了一些体会:
程序没有最好,只有更好,程序没有十全十美,只有更完美;在编程的过程中,会遇到各种各样的问题,优秀的编程大师正是在解决了遇到的这些问题而积累经验的成果,提升了编程能力和丰富了编程思维。
深入的体会:
编程总会深入内部,深究根源,一个程序只有不断地测试和修改才能减少错误,才能提高质量,才能做得更好,程序是在不断地壮大的。
编程需要严谨的思维,程序是一个逻辑产品,它存储在磁盘等物理介质中,它看不见,摸不着,它运行时一环接一环,一丝扣一丝,一旦出错,有可能导致难以预料的严重后果。
而严谨的思维能使程序逻辑出错的可能性大大降低,也使程序易于维护。
而且,保持严谨的思维总是一个好的习惯。
在学习的过程中,要学会应用网络上的知识,把它变为自己的知识,应用在实际中来解决问题。
因为在网络上有各种各样的资源可以供你参考。
编程需要良好的编程习惯。
好的编程习惯能给编程人员省去很多不必要的麻烦,提高了代码的清晰度,从而提高了程序的质量。
三人行必有我师:
不管你的编程水平有多高,都有不懂的地方,所以时刻都要虚心向他人学习来提高自己。
参考文献
1刘斌,李文革.Delphi7数据库高级教程.北京:
清华大学出版社,2004
2李军,张桂英,徐波.Delphi7项目开发实践.北京:
中国铁道出版社,2003
3黄明,梁旭,周绍斌.Delphi课程设计.北京:
电子工业出版社,2006
4.付军,Delphi7实例编程100例.北京:
中国铁道出版社,2005
5.王学庆,Delphi6数据库设计实例导航.北京:
科学出版社,2003