小型图书馆管理系统OOA OOD
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
小型图书馆管理系统(OOA+OOD)
组长:×××学号:00008196 贡献度:40%
成员:×××学号:00008184 贡献度:30%
成员:×××学号:00008183 贡献度:30%
内容导读:
●问题叙述●对象层●特征层●结构层
●交互图●数据库设计●系统状态迁移图●类定义
一.问题叙述:
本系统的名称为“小型图书馆管理系统”,它具有以下功能:
1.借书,还书;
2.增书,删书;
3.按作者名或专业领域检索图书;
4.查找被某为读者借走的一批书;
5.查找最近借走某书的读者;
6.查找某管理员的操作记录.
备注:①管理员分四类:借书管理员,还书管理员,采编管理员(增书,删书),馆长助理;
②读者有最大借书量;
③图书未归还前,不能对它进行借书操作.
二. 对象层:
考察系统的问题域和系统责任,发现三类对象:管理员,读者,图书.对象层如下:
三. 特征层:
四. 结构层:
1.一般_特殊结构:管理员和读者具有较多的相似属性,应建立他们的一般类“人
员”.
2.整体_部分结构:(略).
3.实例连接:读者和图书之间存在“借书”关系,不妨在图书类中设立实例连接属性
“借书读者”;管理员和读者,图书之间存在一个三元关系,不妨在管理员类中设立实例连接属性“交割读者”,“经手图书”.
4.消息连接: 管理员类向读者类,图书类发送消息;图书类向读者类发送消息.
结构层如下:
五. 交互图:
1.借书管理员.借书:
输入图书条码,读者编号;
查询读者;若无此读者,则提示且退出;
显示读者信息;显示借书情况;
若读者的借书量已经达到极限,则提示且退出;
若无此图书,则提示且退出;
若图书已经被借出,则提示且退出;
记录借书,操作日志;
若无异常,则重显借书情况;
若操作成功,则与读者交割图书;
2.还书管理员.还书:
输入图书条码;
若无此图书,则提示且退出;
若图书未被借出,则提示且退出;
显示读者信息;显示读者借书情况;
还书(修改借书情况,记录日志);
若无异常,则重新显示借书情况;
若操作失败,则提醒读者;
3.采编管理员.增书:
输入待增图书信息;
若输入不合法,则提示且返回;
否则进行必要的数据转换(Date,int......);
增书,登记日志;
上述事务若有异常,则提示且返回;
标示图书条码于图书;
4.采编管理员.删书:
输入图书条码;
若无此书,则提示且退出;
若图书被借,则提示且退出;
显示图书信息;
若不想删除此书,则退出;
删书,登记日志;
若上述事务有异常,则滚回事务且退出;
5.馆长助理. 查找某管理员的操作记录:
输入管理员编号;
如果没有该管理员,提示并退出;否则输出该管理员的信息;
输出该管理员的操作记录;
6.馆长助理. 查找最近借走某书的读者:
输入图书条码;
若无此图书,则提示且返回;否则显示图书信息;
图书未被借,则提示且返回;否则显示读者信息;
7.读者. 按作者名或专业领域检索图书:
输入主题词和查询值;
显示相关图书信息;
8.读者. 查找自己借走的一批书:
输入读者编号,姓名,密码;
若无此读者,则提示且退出;
显示借书情况;
六. 数据库设计:
1.E_R图:
2.数据表:
(1).admin_type(类型号,类型名);
int,varchar(16);
(2).admin(编号,姓名,类型号,住址,电话,密码);
varchar(10),varchar(20),int,varchar(40),varchar(20),varchar(10);
(3).reader_type(类型号,类型名,最大借书量);
int,varchar(16),int;
(4).reader(编号,姓名,类型号,工作单位,住址,电话,密码);
varchar(10),varchar(20),int,varchar(40),varchar(40),varchar(20),
varchar(10);
(5).book_field(专业领域号,专业领域名);
varchar(4),varchar(40);
(6).book(条码,专业领域号,分类号后部,名称,作者,出版公司,出版时间,
印刷公司,印刷时间,价格);
varchar(16),varchar(4),varchar(16),varchar(50),varchar(20),
varchar(30),smalltime,varchar(30),smalltime,smallmoney;
(7).log_type(操作类型号,操作类型名);
int,varchar(16);
(8).log(管理员编号,图书条码,读者编号,操作类型号,操作时间);
varchar(10),varchar(16),varchar(10),int,smalltime;
(9).count(表序号,记录数); //增书时,方便图书条码的分配
varchar(16),longint;
3.关系图:(Access)