小型图书馆管理系统OOA OOD

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 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)

相关文档
最新文档