图书馆管理系统刘小亮doc.docx
- 文档编号:10169898
- 上传时间:2023-02-09
- 格式:DOCX
- 页数:23
- 大小:198.54KB
图书馆管理系统刘小亮doc.docx
《图书馆管理系统刘小亮doc.docx》由会员分享,可在线阅读,更多相关《图书馆管理系统刘小亮doc.docx(23页珍藏版)》请在冰豆网上搜索。
图书馆管理系统刘小亮doc
东华理工大学信息工程学院
《面向对象程序设计》课程设计报告
图书馆管理系统
指导教师:
谢小林
姓名:
刘小亮
学号:
201140030226
班级:
1140302
2013年1月10日
一、需求分析:
建立一个图书馆管理系统,可以处理以下对象
.图书馆基本信息
.图书馆的书籍
.图书馆管理员
.读者信息
二、程序的主要功能:
1.查询图书馆的总信息
2.查询图书馆管理员的信息
3.查询图书馆藏书信息
4.存入新书(有管理员加入,需进行身份验证)
5.旧书处理
6.存入新的管理员的信息
7.修改管理员的信息(增加工龄,加薪)
8.两所图书馆的最大藏书量之和
9.根据书名检索书刊信息
10.查询读者的借阅信息
11.查询读者信息(包括借书情况,到期时间,罚款情况。
)
12.管理员可以修改用户的欠款和交款的金额
13.读者氛围学生、研究生和教师。
所有学生的租期为1月,所有教师的租期为2月。
3、程序运行平台:
软件环境:
w7
编程软件
VC++6.0
运行平台:
Win32
硬件:
普通个人pc机
4、系统总框架图
五、程序类的说明:
1.系统E-R图
用户
用户ID
权限
用户名
已借书数量
密码
借书上限
图1.2用户实体图
备注
图1.3书籍实体图
图1.4实体属性图
2.数据库表结构
表2.1图书信息表
字段名称
字段类型
长度
是否为空
备注
图书id
数字
4
否
主键
图书名称
数字
4
出版社
文本
50
作者
文本
50
出版日期
时间
4
价格
文本
50
图书总数量
数字
4
否
图书剩余量
数字
4
否
备注
文本
50
表2.2用户借阅表
字段名称
数据类型
长度
是否为空
备注
用户id
数字
4
否
主键
图书id
数字
4
否
主键
借书日期
时间
8
否
还书日期
时间
8
备注
文本
50
是否归还
文本
50
否
表2.3用户信息表
字段名称
字段类型
长度
是否为空
备注
用户id
数字
4
否
主键
用户名
文本
50
否
用户密码
文本
50
否
权限
数字
4
否
已借书数
数字
4
否
借书上限数
数字
4
否
3.用例文档
本系统共设置四个活动者。
分别是TT_People、TT_Registrar、TT_Reader和TT_Database。
其中TT_People泛指与系统发生关系的人;TT_Registrar为系统管理员,负责添加、修改图书信息;TT_Reader为所有读者,读者可能发生借书、续借、还书的行为;TT_Database为存储各种信息的数据库对象。
另:
考虑到现实图书馆中还存在“图书馆管理员”这一角色,但其所起的作用仅为代替读者完成各种系统操作,故没有设置此活动者。
系统中共有五个用例。
TT_Addinfo、TT_Modifyinfo、TT_Borrow、TT_Renew和TT_Return。
TT_Addinfo表示管理员添加图书信息;TT_Modifyinfo表示修改图书信息;TT_Borrow表示读者借阅图书;TT_Renew表示读者续借图书;TT_Return表示读者归还图书。
六、模块分析
静态模型
静态模型图
动态模型
事件流
TT_Addinfo
添加图书事件流:
1.管理员选择进入管理界面,用例开始
2.系统提示输入管理员密码
3.管理员输入密码
4.系统验证密码
A1:
密码错误
5.进入管理界面,系统显示目前全部图书信息
6.管理员选择添加信息
7.系统提示输入信息
8.管理员输入信息
9.系统验证信息
A2:
信息错误
10.系统添加新图书信息,提示添加成功
11.系统重新进入管理主界面,显示所有信息
12.用例结束
A1:
密码错误
1.系统提示输入错误
2.用户确认
3.进入添加图书事件流第2步
A2:
信息错误
1.系统提示修改错误信息
2.管理员修改输入信息
3.进入添加图书事件流第9步
TT_Modifyinfo
修改图书事件流:
1.管理员选择进入管理界面,用例开始
2.系统提示输入管理员密码
3.管理员输入密码
4.系统验证密码
A1:
密码错误
5.进入管理界面,系统显示目前全部图书信息
6.管理员选择要修改的图书信息
7.系统显示原有信息
8.管理员修改信息
9.系统验证信息
A2:
信息错误
10.系统添加新图书信息,提示添加成功
11.系统重新进入管理主界面,显示所有信息
12.用例结束
A1:
密码错误
1.系统提示输入错误
2.用户确认
3.进入添加图书事件流第2步
A2:
信息错误
1.系统提示修改错误信息
2.管理员修改输入信息
3.进入添加图书事件流第9步
TT_Borrow
借书事件流:
1.进入读者主界面,用例开始
2.读者输入借书证号、书号,选择借书
3.系统验证借书证号、书号
A1:
借书证号不存在
A2:
已达到借书数量上限
A3:
书号不存在
A4:
图书流通状态冲突
4.借书成功
5.系统显示读者借书信息
6.读者确认
7.系统重新进入读者主界面
8.用例结束
A1:
借书证号不存在
1.系统提示再次输入
2.读者确认
3.进入借书事件流第2步
A2:
已达到借书数量上限
1.系统提示已达到借书数量上限
2.读者确认
3.进入借书事件流第5步
A3:
书号不存在
1.系统提示再次输入
2.读者确认
3.进入借书事件流第2步
A4:
图书流通状态冲突
1.系统提示图书流通状态冲突
2.读者确认
3.进入借书事件流第2步
TT_Return
还书事件流:
1.进入读者主界面,用例开始
2.读者输入书号,选择还书
3.系统验证书号
A1:
书号不存在
A2:
图书流通状态冲突
A3:
借阅过期
4.还书成功
5.系统重新进入读者主界面
6.用例结束
A1:
书号不存在
1.系统提示再次输入
2.读者确认
3.进入借书事件流第2步
A2:
图书流通状态冲突
1.系统提示图书流通状态冲突
2.读者确认
3.进入借书事件流第2步
A3:
借阅过期
1.系统提示借阅过期,提示缴纳罚金
A4:
读者拒交罚金
2.读者确认并缴纳罚金
3.进入还书事件流第4步
A4:
读者拒交罚金
1.进入借书事件流第5步
TT_Renew
续借事件流:
1.进入读者主界面,用例开始
2.读者输入书号,选择续借
3.系统验证书号
A1:
书号不存在
A2:
图书流通状态冲突
4.续借成功
5.系统重新进入读者主界面
6.用例结束
A1:
书号不存在
1.系统提示再次输入
2.读者确认
3.进入借书事件流第2步
A2:
图书流通状态冲突
1.系统提示图书流通状态冲突
2.读者确认
3.进入借书事件流第2步
TT_Addinfo序列图
TT_Modifyinfo序列图
TT_Borrow序列图
TT_Renew序列图
TT_Addinfo活动图
TT_Modifyinfo活动图
TT_Borrow活动图
TT_Return活动图
TT_Renew活动图
七、比较有特色的函数
八、存在的不足与对策
比如这次设计图书管理系统,首先我考虑是在实际应用时用户一般进行什么操作,对哪些对象进行操作。
很显然我需要建立两个类,包括图书类和读者类,同时考虑到图书和读者不止一个,所以还需两个类,图书库类和读者库类,这两个类分别将其信息传递给图书类和读者类。
确定了类之后,则需要对类的内容进行扩充。
由于我需要这个系统完成对图书管理和读者管理的功能,并能对借阅信息进行管理,要求完成一下功能,图书资料管理,可以添加、修改、删除、查询书籍信息,读者资料管理,可以添加、修改、删除、查询读者信息;借书管理,可以进行添加借书信息;还书管理,可以进行还书信息。
所以在对应的类下建立相应功能函数。
建立功能函数后就是构造主函数。
主函数的作用就是通过向对象发送信息、对象接受信息启动相应的方法来实现相应的操作。
当然在这些过程中要保证面向对象程序设计的抽象、封装、多态和继承的特点。
在设计本系统中虽然综合考虑到了图书管理的各个方面,界面设计简洁,数据库设计合理,但依然还有一些不足。
为了能够较好地完成本次课程设计,我详细阅读教材,以及网上搜索,和到图书馆查找相关资料等。
在做课程设计的过程中,我在利用所学的知识同时,又学到了很多实例化的理论知识和软件工程的一些实践,总结了一些经验和方法强化了我的实际动手能力,同时也找到自己的不足。
九、程序源代码
publicclassFormObject
{
publicTT_ControlObjecttheTT_ControlObject;
publicTT_BooktheTT_Book[];
publicFormObject()
{}
publicvoidDisplayBookInfo()
{}
publicvoidDisplayBookList()
{}
publicvoidShowSuccessInfo()
{}
publicvoidSelectCommand()
{}
publicvoidGetBookInfo()
{}
publicvoidGetReaserInfo()
{}
publicvoidGetBookReaderInfo()
{}
publicvoidGetRegistrarInfo()
{}
publicvoidShowBookInfo()
{}
}
publicclassTT_Book
{
privateDateData;
privateStringId;
privateStringName;
privateStringState;
privateintType;
publicTT_ControlObjecttheTT_ControlObject;
publicTT_Book()
{}
publicvoidCreatBook()
{}
publicvoidDestoryBook()
{}
publicvoidGetBook()
{}
publicvoidGetId()
{}
publicvoidSetId()
{}
publicDateGetDate()
{returnnull;}
publicvoidSetDate()
{}
publicStringGetState()
{returnnull;}
publicvoidSetState()
{}
}
publicclassTT_ControlObject
{
publicFormObjecttheFormObject;
publicTT_BooktheBook[];
publicTT_DatabasetheTT_Database;
publicTT_ControlObject()
{}
publicvoidCanAdd()
{}
publicvoidCanModify()
{}
publicvoidCheckBook()
{}
publicvoidCheckOverTime()
{}
publicvoidCheckReader()
{}
publicvoidCheckPassword()
{}
publicvoidVerifyBook()
{}
publicvoidVerifyReader()
{}
publicvoidVerifyBookReader()
{}
publicvoidVerifyRegistrar()
{}
}
publicclassTT_Database
{
privateStringDBPath;
publicTT_Database()
{}
publicvoidAddBookInfo()
{}
publicvoidModifyBookInfo()
{}
publicvoidModifyReaderInfo()
{}
publicvoidQueryBook()
{}
publicvoidQueryReader()
{}
publicvoidQueryPassword()
{}
publicvoidGetDBPath()
{}
publicvoidSetDBPath()
{}
publicvoidOpenDB()
{}
}
publicclassTT_People
{
publicStringId;
publicStringName;
publicTT_People()
{}
publicvoidGetId()
{}
publicvoidSetId()
{}
publicvoidGetName()
{}
publicvoidSetName()
{}
}
publicclassTT_ReaderextendsTT_People
{
privateIntegerQua;
privateIntegerMaxQua;
publicFormObjecttheFormObject[];
publicTT_Reader()
{}
publicvoidGetMaxQua()
{}
publicvoidSetMaxQua()
{}
publicvoidGetQua()
{}
publicvoidSetQua()
{}
}
publicclassTT_RegistrarextendsTT_People
{
privateStringPassword;
publicFormObjecttheFormObject;
publicTT_Registrar()
{}
publicvoidGetPassword()
{}
publicvoidSetPassword()
{}
}
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 图书馆 管理 系统 刘小亮 doc