面向对象设计之8图书管理系统.docx

上传人:b****7 文档编号:10679669 上传时间:2023-02-22 格式:DOCX 页数:15 大小:110.87KB
下载 相关 举报
面向对象设计之8图书管理系统.docx_第1页
第1页 / 共15页
面向对象设计之8图书管理系统.docx_第2页
第2页 / 共15页
面向对象设计之8图书管理系统.docx_第3页
第3页 / 共15页
面向对象设计之8图书管理系统.docx_第4页
第4页 / 共15页
面向对象设计之8图书管理系统.docx_第5页
第5页 / 共15页
点击查看更多>>
下载资源
资源描述

面向对象设计之8图书管理系统.docx

《面向对象设计之8图书管理系统.docx》由会员分享,可在线阅读,更多相关《面向对象设计之8图书管理系统.docx(15页珍藏版)》请在冰豆网上搜索。

面向对象设计之8图书管理系统.docx

面向对象设计之8图书管理系统

案例:

“图书管理系统”面向对象分析与设计

 

例如,“图书管理系统”面向对象分析与设计大致过程如下:

1.需求调查分析

需求调查分析的结果一般用文字描述,必要时也可用业务流程图辅助描述。

“图书管理系统”需求陈述如下:

在图书管理系统中,管理员要为每个读者建立借阅账户,并給读者发放不同类别的借阅卡(借阅卡可提供卡号、读者姓名),账户内存储读者的个人信息和借阅记录信息。

持有借阅卡的读者可以通过管理员(作为读者的代理人与系统交互)借阅、归还图书,不同类别的读者可借阅图书的范围、数量和期限不同,可通过互联网或图书馆内查询终端查询图书信息和个人借阅情况,以及续借图书(系统审核符合续借条件)。

借阅图书时,先输入读者的借阅卡号,系统验证借阅卡的有效性和读者是否可继续借阅图书,无效则提示其原因,有效则显示读者的基本信息(包括照片),供管理员人工核对。

然后输入要借阅的书号,系统查阅图书信息数据库,显示图书的基本信息,供管理员人工核对。

最后提交借阅请求,若被系统接受则存储借阅纪录,并修改可借阅图书的数量。

归还图书时,输入读者借阅卡号和图书号(或丢失标记号),系统验证是否有此借阅纪录以及是否超期借阅,无则提示,有则显示读者和图书的基本信息供管理员人工审核。

如果有超期借阅或丢失情况,先转入过期罚款或图书丢失处理。

然后提交还书请求,系统接受后删除借阅纪录,并登记并修改可借阅图书的数量。

图书管理员定期或不定期对图书信息进行入库、修改、删除等图书信息管理以及注销(不外借),包括图书类别和出版社管理。

2.用例建模

(1)确定执行者

通过对系统需求陈述的分析,可以确定系统有两个执行者:

管理员和读者。

简要描述如下:

1)管理员:

管理员按系统授权维护和使用系统不同功能,可以创建、修改、删除读者信息和图书信息即读者管理和图书管理,借阅、归还图书以及罚款等即借阅管理。

2)读者:

通过互联网或图书馆查询终端,查询图书信息和个人借阅信息,还可以在符合续借的条件下自己办理续借图书。

(2)确定用例

在确定执行者之后,结合图书管理的领域知识,进一步分析系统的需求,可以确定系统的用例有:

•借阅管理:

包含借书、还书(可扩展过期和丢失罚款)、续借、借阅情况查询;

•读者管理:

包含读者信息和读者类别管理;

•图书管理:

包含图书信息管理、图书类别管理、出版社管理、图书注销和图书信息查询。

下面是借阅情况查询、读者信息管理、读者类别管理、图书类别管理、出版社管理和图书信息查询等用例的简要描述:

1)借阅情况查询:

读者通过互联网或图书查询终端登录系统后,查阅个人的所有借阅纪录。

2)读者信息管理:

管理员登录后,对读者详细信息进行增、删、改等维护管理。

3)读者类别管理:

管理员登录后,对读者类别进行增、删、改等维护管理。

4)图书类别管理:

管理员登录后,对图书类别进行增、删、改等维护管理。

5)出版社信息管理:

管理员登录后,对出版社详细信息进行增、删、改等维护管理。

6)图书信息查询:

读者或管理员通过互联网或图书查询终端登录后,查询所需要的图书信息。

下面是借书、还书、续借、图书信息管理、图书注销等用例的详细描述:

1)借书

用例名称:

借书

参与的执行者:

管理员

前置条件:

一个合法的管理员已经登录到这个系统

事件流:

A.输入读者编号;

提示超期未还的借阅记录;

B.输入图书编号;

If选择“确定”then

If读者状态无效或改书“已”注销或已借书数>=可借书数Then

给出相应提示;

Else

添加一条借书记录;

“图书信息表”中“现有库存量”-1;

“读者信息表”中“已借书数量”+1;

提示执行情况;

Endif

清空读者、图书编号等输入数据;

Endif

If选择“重新输入”then

清空读者、图书编号等输入数据;

Endif

If选择“退出”then

返回上一级界面;

Endif

返回A.等待输入下一条;

后置条件:

如果是有效借书,在系统中保存借阅纪录,并修改图书库存量和读者借书数量。

2)还书

用例名称:

还书

参与的执行者:

管理员

前置条件:

一个合法的管理员已经登录到这个系统

事件流:

A.输入读者编号;

提示超期未还的借阅记录;

If有超期then

提示,调用“计算超期罚款金额”;

Endif

If丢失then

选择该书借阅记录;

调用“计算丢失罚款金额”+调用“计算超期罚款金额”;

Endif

If选择“确定”还书then入图书编号;

If读者状态无效或该图书标号不在借书记录中then

提示该读者借书证无效或该图书不是该读者借阅的;

Else

添加一条还书记录;

删除该借书记录;

“图书信息表”中“现有库存量”+1;

“读者信息表”中“已借书数量”-1;

提示执行情况;

Endif

清空读者、图书编号等输入数据;

Endif

If选择“重新输入”then

清空读者、图书编号等输入数据;

Endif

If选择“退出”then

返回上一级界面;

Endif

返回A.等待输入下一条;

后置条件:

如果是有效还书,在系统中删除借阅纪录,并修改图书库存量和读者借书数量。

3)续借

用例名称:

续借

参与的执行者:

管理员、读者

前置条件:

一个合法的管理员或读者已经登录到这个系统

事件流:

A.输入读者编号;

提示超期未还的借阅记录;

If有超期then

提示,调用“计算超期罚款金额”;

Endif

选择该书借阅记录;

Endif

If选择“确定”续借then

If该图书已超期或该图书续借次数>=可续借次数then

提示该读者该图书已超期或该图书续借次数>可续借次数,不能续借;

Else

修改该书借阅记录中的“应归还日期”;

图书续借次数+1;

提示执行情况;

Endif

清空读者、图书编号等输入数据;

Endif

If选择“重新输入”then

清空读者书编号等输入数据;

Endif

If选择“退出”then

返回上一级界面;

Endif

返回A.等待输入下一条;

后置条件:

如果是有效续借,在系统中修改借阅纪录。

4)图书信息管理

用例名称:

图书信息管理

参与的执行者:

管理员

前置条件:

一个合法的管理员已经登录到这个系统

事件流:

(参见附录D“图书管理系统软件设计规格说明书”中“书籍信息管理”模块详细设计,这里略)

后置条件:

如果是有效操纵,在系统中增加、修改、删除图书信息纪录。

5)图书注销

用例名称:

图书注销

参与的执行者:

管理员

前置条件:

一个合法的管理员已经登录到这个系统

事件流:

A.查询要注销的图书信息;

B.选择要注销的图书信息记录;

If选择“确定”注销then

If该书有借阅记录then

提示该书有人已借阅,不能注销;

Else

添加一条注销记录;

“图书信息表”中设定该书“已”注销;

提示执行情况;

Endif

Endif

If选择“退出”then

返回上一级界面;

Endif

返回A.等待选择下一条或重新查询;

后置条件:

如果是有效注销,在系统中保存注销纪录,并对图书信息做标记。

(3)确定用例之间的关系

确定执行者和用例之后,进一步确定用例之间的关系,如图7-35所示。

图7-35“图书管理系统“用例图

图书管理系统

图书信息管理

续续

借书

还书

借阅情况查询

《包含》

《包含》

《包含》

《包含》

丢失

罚款

读者

管理

借阅

管理

图书类别管理

管理员

过期罚款款

《扩展》

《扩展》

读者

出版社信息管理

图书信息查询

读者信息管理

《包含》

《包含》

读者类别管理

图书

管理

《包含》

《包含》

《包含》

《包含》

 

3.静态建模

首先使用本章介绍的CRC或OMT技术,通过寻找系统需求陈述中的名词,结合图书管理的领域知识,首先给出候选的对象类,经过筛选、审查,可确定“图书管理系统”的类有:

读者、图书、借阅记录、图书注销记录、读者类别、图书类别、出版社等。

然后,经过标识责任、标识协作者和复审,定义类的属性、操作和类之间的关系。

这里仅以“读者”类为例列出该类的属性和操作,其它类的属性可参阅附录D“图书管理系统软件设计规格说明书”中“数据表结构”,操作与“读者”类的类似。

“读者”类

•私有属性

读者编号(借书证号码和用户名与此同):

文本

读者姓名:

文本

读者类别编号:

文本

读者性别:

文本

出生日期:

时间/日期

读者状态:

文本

办证日期:

时间/日期

已借图书数量:

数值

证件名称:

文本

证件号码:

文本

读者单位:

文本

联系地址:

文本

联系电话:

文本

EMAIL:

文本

用户密码:

文本

办证操作员:

文本

备注:

文本

•公共操作

永久写入读者信息

永久读取读者信息

新增读者

删除读者

修改读者信息

获取读者信息

查找读者信息

返回借阅数量

类之间的关系如图7-36所示。

借阅记录

图书

图书类别

图书注销记录

读者类别

读者

图7-36“图书管理系统”类图

出版社

1

0..*

0..1

0..1

*

*

0..*

1..*

 

4.系统设计

“图书管理系统”系统设计用包图描述,如图7-37所示。

 

5.对象设计

对象设计主要有两个任务:

一是对类的属性和操作的实现细节进行设计。

如上面“读者”类的属性“联系电话”有多个时,决定用一个链表或数组来存放,也可能需要增加属性和操作,如“读者”类中增加属性“相片”,操作增加“打印与发生过期通知书”,而后设计每一个操作的算法。

二是分别从人机交互、数据管理、任务管理和问题域方面考虑,以实现的角度添加一些类,或优化类的结构。

如从数据管理方面,需要添加一个“永久数据”类作为需要永久保存数据类的父类,承担读写数据库的责任;从人机交互方面,需要添加一个“对话框”类(其父类是“窗口”类)来实现人机交互的功能,则图7-36可改进为图7-38。

 

6.动态建模

必要时,可针对系统的某一功能画出完成此功能的对象之间交互消息的顺序图,如“借书”功能的消息交互顺序如图7-39所示。

 

必要时,可针对系统的某一类对象画出表示该对象在系统中的状态变化过程,如“图书”对象的状态变化如图7-40所示。

归还

借阅

丢失或严重损坏

增加一次借阅计数

已外借

Out=1

Out=0

可外借

图7-40“图书”对象状态图

注销

激活

(取消注销)

不外借

 

7.物理建模

“图书管理系统”物理结点分布如图7-41所示。

 

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 解决方案 > 营销活动策划

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1