图书管理系统课程设计报告文档格式.docx
- 文档编号:17466137
- 上传时间:2022-12-01
- 格式:DOCX
- 页数:19
- 大小:152.08KB
图书管理系统课程设计报告文档格式.docx
《图书管理系统课程设计报告文档格式.docx》由会员分享,可在线阅读,更多相关《图书管理系统课程设计报告文档格式.docx(19页珍藏版)》请在冰豆网上搜索。
(1)。
借阅人信息维护:
对借阅人信息修改、删除。
管理员信息维护:
可以执行管理员密码修改、信息更新及删除。
第3章总体设计
1、系统软件结构图
图书管理系统登录
借书界面
还书界面
图书信息维护
借阅人信息维护
管理员信息维护
图书证信息维护出系统
退出系统
图3-1【图书管理系统登录】结构图
2、系统边界图
图3-2【系统边界图】结构图
3、安全设计
(1).数据库的安全性
数据库表的完整性设计,如主键和外键的确定。
(2).访问权限的设计
管理员才具有登陆本系统的权限,在管理员登陆的前提下进行借书、还书、信息维护等操作。
密码保护
a.登陆界面时,密码以*形式显示;
b.登录时连续三次密码错误则强制退出;
c。
修给管理员密码时需要输入两次以确认。
第4章数据库设计
§
4。
1概念结构设计
图书管理系统ER图如下:
图4-1图书管理系统的ER图
该系统中所有操作都由图书管理员完成。
因此将管理员设为单独的一个表。
借阅人、借书证分别作为一个实体,也是必不可少的。
首先由管理员对采购的图书进行馆藏号编号,所以有实体图书。
系统红需要图书类别以确定借阅人限购数量,因此创建图书类别表。
便于图书馆内图书信息的统计与查询,因此出版社作为实体存在。
借阅人持借书证借书,产生表借阅,以及显示信息借阅历史。
借阅人所需图书已借出时,可以通过管理员对所需图书预约,因此有表预约
4.2逻辑结构与物理结构设计
1。
逻辑结构设计
逻辑结构设计,将概念模型转化为关系模型。
图书馆的关系模型根据图4-1图书馆管理的ER图设计。
并用关系模式的形式表示。
借阅(借阅证号,馆藏号,借书时间,还书时间,到期时间,罚款金额,实交金额)
借阅人(借阅证号,姓名,借阅人类别号*,联系方式)
借阅人类别(借阅人类别号,类别名,限借数量)
借阅历史(借书证号,馆藏号,借书时间,还书时间,罚款数额)
借阅证(借阅证号,状态编号*,现借数量,密码)
借阅证类别(类别编号,类别名)
出版社(出版社编号,社名,地址)
图书(馆藏号,图书名,在库情况,作者,类型,出版社编号,单价,购书时间,isbn*,备注)
图书类别(isbn,书目名,库存量,剩余数量)
登录人员表(登录帐号,密码)
管理员(编号,姓名,密码)
预约(借阅证号,预约时间,截止时间,isbn*)
2.物理结构设计
实体
属性
说明
备注
借阅人
借阅证号(primarykey)
姓名
借阅人类别号(foreignkey)
联系方式
借阅主体
去图书馆借书的人
借阅证
类别编号
状态编号
借阅数量
密码
借阅的凭证
借书时需要的证件,借书时只认证件不认人.
图书
馆藏号(primarykey)
图书名
在库情况
作者
类型
出版社编号
单价
购书时间
Isbn(foreignkey)
被借阅的主体
图书馆里的物品
管理员
编号(primarykey)
管理图书馆的人
图书馆里的管理人员,负责图书的管理工作。
预约
时间(primarykey)
isbn(foreignkey)
提前预订要借的图书
图书类别
isbn(primarykey)
书目名
库存量
剩余数量
图书的具体属于哪类,已经是具体的一类书
出版社
出版社编号(primarykey)
社名
地址
出版该图书的机构
借阅
借书时间(primarykey)
还书时间
到期时间
罚款
借书的有关信息
借阅历史
罚款数额
之前的借书记录
借阅人类别
借阅人类别号(primarykey)
类别名
限借数量
借阅人主体的分类,决定借书权限。
借阅证状态
状态编号(primarykey)
状态名
是否可用
图书在库情况
在库编号(primarykey)
在库名
是否在库
第5章详细设计
在这次图书管理系统的设计中,我负责借阅人信息维护和管理员信息维护两个模块,两个模块功能类似.现以管理员信息维护为例具体如下.
按编号查询
返回主页面
退出系统
修改信息
修改密码
删除信息
图5-1管理员信息维护的流程图
连接数据库,在窗体中通过各个组件来完成界面的设计。
管理员信息管理,可以进行查询数据并进行相关处理,可以新增数据,删除数据,返回主页面或退出该管理系统。
在借阅人信息维护中,与管理员信息维护功能相似,不同之处是,只能对查询所得数据进行修改,而不能删除或新增.
第6章编码
鉴于两个模块功能及实现方式相似,所以现同样以管理员信息维护模块为例叙述编码过程。
管理员信息维护界面截图如下:
所用控件有:
TDataSource、TADOQuery、TADOConnection、TLabel、TEdit、TButton、TDBGird。
主要程序如下:
void__fastcallTadmisterinfor:
:
Button5Click(TObject*Sender)
{
if(Edit5—〉Text=="
”)
{
ShowMessage("
请输入管理员编号!
"
);
return;
}
else
ADOQuery1->
Active=false;
SQL—>
Clear();
SQL->
Add("
UPDATE管理员SET编号='
+Edit5->
Text+"
’where编号=’”+Edit1-〉Text+”’"
ADOQuery1—〉ExecSQL();
ShowMessage(”编号修改成功!
”);
Edit1->
Text=Edit5—>
Text;
Edit5-〉Text="
;
ADOQuery1—>
ADOQuery1—〉SQL->
select*from管理员where编号='
”+Edit1->
Text+”’"
);
ADOQuery1—〉Active=true;
}
}
:
Button1Click(TObject*Sender)
if(Edit1->
Text==”"
)
{
请输入编号!
Active=false;
ADOQuery1-〉SQL—>
Add(”select*from管理员where编号=”+Edit1—〉Text);
ADOQuery1-〉ExecSQL();
Active=true;
Open();
if(ADOQuery1—>
IsEmpty())
无此管理员!
}
//—---—-——-输入编号并查询数据—————-—-——
Button2Click(TObject*Sender)
{
if(Edit2-〉Text==””)
ShowMessage(”请输入管理员姓名!
ADOQuery1—〉Active=false;
UPDATE管理员SET姓名='
”+Edit2->
’where编号=’"
+Edit1->
Text+”'
ExecSQL();
ShowMessage(”姓名修改成功!
”);
ADOQuery1—〉SQL—〉Clear();
select*from管理员where编号='
Text+”’”);
ADOQuery1-〉ExecSQL();
}
//--——--——修改信息-——----——---——————-———--—---————-———-——-—
Button3Click(TObject*Sender)
if(Edit3—〉Text==”"
||Edit4—>
Text=="
ShowMessage(”请输入密码和确认密码!
return;
if(Edit3-〉Text==Edit4—〉Text)
SQL—〉Clear();
SQL-〉Add("
UPDATE管理员SET密码=’”+Edit3-〉Text+”’where编号=’”+Edit1—>
Text+"
'
密码修改成功!
SQL—〉Clear();
select*from管理员where编号=’”+Edit1—>
ExecSQL();
两次密码输入不一致!
}
//-—-—--—-——-———修改并确认密码--——-—-—-—------—--—————-——-————--———-——
void__fastcallTadmisterinfor:
Button4Click(TObject*Sender)
if(Edit1—>
ShowMessage(”请输入管理员编号!
if(mrYes==MessageDlg("
确定删除?
”,mtWarning,TMsgDlgButtons()〈<
mbYes<
〈mbNo,0))
ADOQuery1-〉Active=false;
Clear();
ADOQuery1-〉SQL-〉Add(”deletefrom管理员where编号='
删除成功!
Edit1—>
Text==””;
//-—----—-—---—--—---—删除信息———---—---———————-——--————————-———--——-—-
Button6Click(TObject*Sender)
if(Edit6-〉Text==”"
||Edit7—〉Text=="
||Edit8->
”||Edit9—〉Text==”"
请输入全部信息!
if(Edit7-〉Text==Edit8-〉Text)
ADOQuery1—〉Active=false;
SQL-〉Clear();
ADOQuery1-〉SQL-〉Add(”select*from管理员where编号='
”+Edit9-〉Text+”'
if(!
ADOQuery1-〉IsEmpty())
此编号已存在!
insertinto管理员(编号,姓名,密码)values(’"
+Edit9->
Text+"
’,’”+Edit6—〉Text+"
’,’”+Edit7-〉Text+"
)”);
新增管理员成功!
ADOQuery1—〉SQL—>
SQL—〉Add(”select*from管理员where编号=’”+Edit9—>
ADOQuery1-〉Active=true;
Edit9—〉Text="
”;
Edit8-〉Text=””;
Edit7—〉Text=”"
Edit6—>
Text=”"
;
ShowMessage(”两次密码输入不一致!
//——--—---—--——-新增管理员———-——-——----—-
设置控件属性如下:
组件名
属性名
属性新内容
admisterinfor
Caption
Edit1
Text
Edit2
…
Edit9
Label1
请输入管理员编号
Autosize
False
Label2
Lable3
Lable4
密码确认
Lable5
编号
Lable6
Lable7
Lable8
Lable9
Button1
查询
Button2
确认修改
Button3
Button4
删除该账号
Button5
Button6
新增管理员
Dbgrid1
Datasource
Datasource1
借阅人信息维护界面截屏如下:
所用控件有:
第7章测试
7。
1测试
1.对管理员信息维护的测试
1)输入2008101点击确定
2)在信息修改处依次输入2008111
黄
123
3)新增
输入123
华
123
4)删除
记录删除
2.对借阅人信息维护测试
与上例相似,略去不举
2发现错误和解决方法
发现错误:
修改信息后,edit中仍显示刚输入信息。
解决方法:
在代码后加一段重复,问题解决。
第8章设计总结
本图书馆管理系统主要实现了基础信息维护、读者管理、图书管理、图书流通管理等功能,建立了包含在图书管理系统主窗体下的六个功能子窗体,即借书、还书、图书信息维护、图书证信息维护、借阅人信息维护以及管理员信息维护,实现了一个图书管理系统的基本维护与实现。
就总体而言,这次课程设计的结果相当满意,但由于数据量比较小、实现功能都比较基础简单,我们的作品还有改进空间
对我个人所做的借阅人信息维护和管理员信息维护,我则找到了和其他组员的差距.虽然要求的功能都能一一实现,但对于控件的使用,界面的设计与规划等都较为稚嫩,有待提高。
学习体会(附录1)
在这次课程设计中,我们不仅组建团队,完成图书管理系统数据库的物理及逻辑结构的设计,同时也分工完成数据库的建立,用户界面设计以及相关功能的实现。
通过这次课程设计,并把所学与实际结合起来,为以后对项目的接手,处理打下基础。
更重要的是,在这次课程设计中,我深深体会到了团队精神的重要性,对于我们团队意识的培养有极大的促进作用。
总之,在这次数据库课程设计中,我受益匪浅。
致谢(附录2)
在此感谢,此次课程设计中给予指导的刘勇老师、赵海霞老师、魏汪洋老师、李冠峰老师,以及黄东华、梁子兴等同学的帮助。
参考文献(附录3)
[1]王珊,萨师煊·
数据库系统概论〔第四版〕·
北京·
高等教育出版社·
2006·
/*中文教材*/
[2]康诺利等著·
何玉洁等译·
数据库设计教程(第二版)·
机械工业出版社·
2005.1·
/*译著*/
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 图书 管理 系统 课程设计 报告
![提示](https://static.bdocx.com/images/bang_tan.gif)