目
录
1 课程设计目的 ………………………………………………… 2
2 课程设计题目描述和要求……………………………………… 2
3 课程设计报告内容……………………………………………… 3
4 调试与分析……………………………………………………… 32
5 心得体会………………………………………………………… 33
-1-
一. 课程设计目的
(1)培养综合应用 PowerBuilder 进行应用程序设计和解决实际问题的能力;
(2)加深对 PowerBuilder 编程环境和编程方法的理解;
(3)发挥各人的想像能力和分析能力,拓展思维空间;
(4)掌握应用程序设计的基本方法;
(5)巩固已经学到的编程技术,学会在编程中学习编程。
二.课程设计题目描述和要求
(1)课程设计题目:图书馆管理和查询系统。
(2)课程设计题目功能描述:
1)图书信息的录入和删除,出版社信息管理等;
2)图书的检索(包括按作者姓名、出版时间、出版社名称、图书类别、书
名、关键宇等);
3)图书的租借(包括借书登记、限借数量控制、还书登记、过期罚款计算
等);
4)借书证件的管理(包括办新证件,挂失、注销等)
5)系统设置(主要是不同类型证件的可借书的总量和借书时间等)
6)统计资料(包括惜出数量与库存数量的比例,各类图书数量与总数量的
比例,热门图书统计数据等各种信息资料的统计);
7)图书测览(包括对图书摘要的测览和新书测览);
8)帮助信息(包括对系统功能的说明、使用说明、使用注意事项以及系统
的版权和版本信息等)。
(3)课程设计实习要求:
1)按照应用程序设计的 4 个阶段进行,熟悉每个阶段需要解决的问题以及
解决的方法;
2)使用 SQL Server 设计数据库和数据表,注意把握数据库的设计原则;
3)要求应用程序有菜单栏,操作方便;
4)必须完成功能 1-5。强调一点:在借书输入证件 ID 时,首先检索是否
在“黑名单”和“挂失表”中,后再校验证件的真伪。在借、还书时要
显示本证件已借书的量和图书信息;证件注销时数据的参照完整性问
题。在系统设置中可随机设置不同借书书证件(如教师和学生)的可借
书数量和借书的时间。
5)应用程序界面和风格不作具体要求,各人按照自己的思路去做,发挥自
己的创造
-2-
三.课程设计报告内容
一 系统设计
1.1 系统功能分析
按照课程设计任务书的要求,本系统主要完成的功能有:
● 书籍信息的录入、删除,包括书籍编号、书籍 ISBN 号,书籍名称、出版日期、
作者、字数、出版社 ID、印刷册数、定价、关键字、摘要。
● 图书信息的检索,包括按书号检索、按书名检索、按关键字检索、以及按作
者检索。
● 出版社信息的录入与删除,包括出版社编号、出版社名称、出版社地址、电
话、传真、邮政编码、网址。
● 证件基本信息的输入以及注销,包括借书证编号、办理证件名称、证件号码、
姓名、部门、身份,以及证件信息的查看、挂失和挂失注销等功能。
● 借书信息的输入和查询,包括借书证号码、所借图书的编号、租借日期、应
归还日期。
● 还书信息的输入和查询,包括所还数目的编号,以及是否已还等。
● 系统设置项,包括对学生身份和老师身份的借书权限的设定,包括最大借书
数目。和最长借书时间。
● 帮助信息以及版本信息。
1.2 系统功能模块设计
按照上面所设计的功能,系统功能模块图见下图:
图书馆管理系统
图
书
管
理
证
件
管
理
新
书
录
入
旧
书
销
毁
办
理
新
证
证
件
挂
失
图
书
检
索
借
阅
管
理
帮
助
信
息
出
版
社
删
除
书
名
,
作
者
等
借
书
还
书
借
书
情
况
查
询
系
统
设
置
证
件
挂
失
注
销
出
版
社
管
理
出
版
社
信
息
录
入
-3-
图
书
证
情
况
查
询
二 数据库设计
2.1 数据库需求分析
●书籍信息表(BookInfo),包括书籍编号、书籍 ISBN 号,书籍名称、出版日期、
作者、字数、出版社 ID、印刷册数、定价、关键字、摘要。
●借书证信息表(CertificateInfo),包括借书证编号、办理证件名称、证件号
码、姓名、部门、身份标记。
●借阅表(Loan),包括借阅书籍编号,借书证号,借书日期,归还日期,以及
是否已还标记。
●证件挂失表(guashicert),包括挂失证件编号。
●系统设置表(xitong),包括身份标记,最大借阅数量,最长借阅时间。
2.2 数据库概念结构设计
实体之间关系 E-R 图
借书证信息
书籍信息
证件信息登记
书籍信息登记
证件信息管理
书籍信息管理
借阅书籍
借阅信息管理
书籍信息表(BookInfo)
图书编号
ISBN 书号
书名
出版日期
数据类型 宽度
numeric
Char
Char
datetime
Char
作者
字数(千字) Integer
-4-
2.3 数据库逻辑结构设计
字段名
意义
BookID
ISBN
Title
Publish
Author
Words
PrimaryKey
√
Null
No
Yse
Yse
Yse
Yse
Yse
8
30
40
8
30
4
PublisherID 出版社 ID
Number
印刷册数
Price
Keyword
Abstract
关键字
定价
摘要
Char
Char
Money
Char
Varchar
4
8
10
30
400
Yse
Yse
Yse
Yse
Yse
借书证信息表(CertificateInfo)
字段名
Cert_id
Cert_name
Cert_value
Name
Depart
flag
字段名
BookID
Cert_id
Loandates
Returndate
flag
意义
数据类型
宽度
借书证书 ID
证件名称
证件号码
姓名
所在部门
标记
意义
图书编号
借书证书 ID
借书日期
还书日期
标记
Char
Char
Char
Char
Char
Tinyint
5
10
18
8
20
借阅表(Loan)
宽度
9
9
数据类型
numeric
numeric
datetime
datetime
Tinyint
Null
No
Yes
Yes
Yes
Yes
Yes
Null
No
No
Yes
Yes
Yes
cert_id
证件编号
numeric
9
NO
证件挂失表(guashicert)
sflag
sdays
Snum
身份标记
权限天数
权限数量
系统设置表(xitong)
1
9
9
Tinyint
numeric
numeric
No
Yes
Yes
PrimaryKey
√
PrimaryKey
√
√
√
√
三 系统的具体实现
3.1 菜单模块设计
在菜单设计画面中设计应用程序主窗口所连接的main 按照功能模块设计方案设
计系统菜单各项,外观如下图;
-5-
分为七个分菜单,每个分菜单下又按不同功能,写入了不同的子菜单,其功能主要是打开每
个子菜单,便于系统的管理与子菜单的修改。
具体代码如下(按上图从上至下顺序)
open(w_newbook)
open(w_deletebook)
open(w_newid)
open(w_certguashi)
open(w_deletecert)
open(w_zhuxiaoguashicert)
open(w_chaxunid)
open(w_publisherinfinput)
open(w_deletepublish)
open(w_bookselect)
open(w_newbk)
open(w_borrowbook)
open(w_returnbook)
open(w_seachstubkid)
open(w_xitong)
messagebox("帮助","欢迎使用图书馆管理系统!")
messagebox("版本信息","图书馆管理系统,版权人:网络 061 班 16 号 张雷 ")
系统登录主界面中按钮设计也按照主菜单的顺序建立,系统主界面预览
-6-
3.2 系统模块设计
3.2.1 书籍管理窗口的设计
书籍管理窗口有两个子窗口,“新书录入”,“旧书销毁”。在新书录入界面中,包
括书籍编号、书籍 ISBN 号,书籍名称、出版日期、作者、字数、出版社 ID、印
刷册数、定价、关键字、摘要,在旧书销毁中,包括要删除的书的编号以及删除
的书编号对应的本书信息的数据窗口。故设计三个窗口如下截图:
图书管理
新书录入
-7-
旧书销毁
书籍管理各个窗口的控件的属性设置表
属性
图书管理(w_bookmanage)
text
text
text
text
新书录入(w_newbook)
属性取值
新书入库
旧书销毁
返回
图书管理
登记入库
text
Text
Text
控件
Cb_1
Cb_2
Cb_3
st_1
Cb_1
St_1---st_11
sle_1---sle_11
按照数据库中 bookinfo 各元素名称
旧书销毁(w_deletebook)
Cb_1
Cb_2
text
Text
-8-
空
查看本书信息
删除