图书管理系统的架构设计大学论文Word文档格式.docx

上传人:b****7 文档编号:22160758 上传时间:2023-02-02 格式:DOCX 页数:30 大小:384.37KB
下载 相关 举报
图书管理系统的架构设计大学论文Word文档格式.docx_第1页
第1页 / 共30页
图书管理系统的架构设计大学论文Word文档格式.docx_第2页
第2页 / 共30页
图书管理系统的架构设计大学论文Word文档格式.docx_第3页
第3页 / 共30页
图书管理系统的架构设计大学论文Word文档格式.docx_第4页
第4页 / 共30页
图书管理系统的架构设计大学论文Word文档格式.docx_第5页
第5页 / 共30页
点击查看更多>>
下载资源
资源描述

图书管理系统的架构设计大学论文Word文档格式.docx

《图书管理系统的架构设计大学论文Word文档格式.docx》由会员分享,可在线阅读,更多相关《图书管理系统的架构设计大学论文Word文档格式.docx(30页珍藏版)》请在冰豆网上搜索。

图书管理系统的架构设计大学论文Word文档格式.docx

实验日期

年月日

一部分:

实验预习报告(包括实验目的、意义,实验基本原理与方法,主要仪器设备及耗材,实验方案与技术路线等)

一实验目的

1、以图书管理系统为例,完成系统的架构设计,了解架构设计的过程和方法,并用UML建模工具正确的表达架构结果。

2、以图书管理系统为例,完成系统的详细设计,了解详细设计的过程和方法,程序运行流程的细节,检验设计的合理性。

二实验内容

第一部分

图书管理系统需求信息如下:

我们曾经在UML建模技术中对图书管理系统建模,本课程的实验是在此基础上对该系统提出更多的要求,并进行架构和详细设计。

在图书馆的图书管理系统中,学生要想借阅图书,必须先在系统中注册一个账号,然后系统为其生成一个借阅证,借阅证可以提供学生的姓名,系别和借阅证号。

持有借阅证的借阅者可以借阅图书,归还图书和查询借阅信息,但这些操作都是通过图书管理员代理与系统交互。

在借阅图书时,学生进入图书馆内首先找到自己要借阅的图书,然后到借书处将借书证和图书交给图书管理员办理借阅手续。

图书管理员进行借书操作时,首先需要输入学生的借书证号,系统验证借阅证是否有效(根据系统是否存在借阅证号所对应的账户),若有效,则系统还需要检验该账户中的借阅信息,以验证借书者借阅的图书是否超过了规定的数量,或者借阅者是否有超过规定借阅期限而未归还的图书;

如果通过了系统的验证,则系统会显示借阅者的信息以提示图书管理员输入要借阅的图书信息,然后图书管理员输入要借阅的图书信息,系统记录一个借阅信息,并更新该学生账户完成借阅图书操作。

学生还书时只需要将所借的图书交给图书管理员,由图书管理员负责输入图书信息,然后由系统验证该图书是否为本馆藏书,若是则系统删除相应的借阅信息,并更新相应的学生账户。

在还书时也会检验该学生是否有超期未归还的图书,学生也可以查询自己的借阅信息。

为了系统能够正常运行和系统的安全性,系统还需要系统管理员进行系统的维护。

通过对上述图书管理系统的分析,可以获得如下的功能性需求:

1学生持有借书证

2图书管理员作为借阅者的代理完成借阅图书,归还图书和查询借阅信息工作

3系统管理员完成对系统的维护,对系统的维护主要包括办理借阅证,删除借阅证,添加管理员,删除管理员,添加图书,删除图书,添加标题信息,删除标题信息

4图书馆服务的对象扩充到老师和学生,学生又分为博士生,研究生,本科生,专科生等,不同类型的对象可以借阅的图书数量和期限都是不同的。

5图书的种类扩充到中外文图书,中外文杂志,论文等。

6学生和老师可以通过网络进行预约,查询

7超期罚款,各种类型的借出物罚款规则不同(超期时间的规定和罚金都不同)

第二部分

1以实验一的结果为基础,设计每个具体类的数据结构,算法和程序运行流程。

2界面元素的设计。

3用代码实现设计结果

界面设计原则:

1.简易性:

界面的简洁是要让用户便于使用、便于了解、并能减少用户发生错误选择的可能性。

2.用户语言:

界面中要使用能反应用户本身的语言,而不是游戏设计者的语言。

3.记忆负担最小化:

人脑不是电脑,在设计界面时必须要考虑人类大脑处理信息的限度。

人类的短期记忆极不稳定、有限,24小时内存在25%的遗忘率。

所以对用户来说,浏览信息要比记忆更容易。

4.一致性:

是每一个优秀界面都具备的特点。

界面的结构必须清晰且一致,风格必须与游戏内容相一致。

5.清楚:

在视觉效果上便于理解和使用。

6.用户的熟悉程度:

用户可通过已掌握的知识来使用界面,但不应超出一般常识。

7.从用户的观点考虑:

想用户所想,做用户所做。

用户总是按照他们自己的方法理解和使用。

8.排列:

一个有序的界面能让用户轻松的使用。

9.安全性:

用户能自由的作出选择,且所有选择都是可逆的。

在用户作出危险的选择时有信息介入系统的提示。

10.灵活性:

简单来说就是要让用户方便的使用,但不同于上述。

即互动多重性,不局限于单一的工具(包括鼠标、键盘或手柄)。

11.人性化:

高效率和用户满意度是人性化的体现。

应具备专家级和初级玩家系统,即用户可依据自己的习惯定制界面,并能保存设置。

三实验步骤

1采用用例驱动的分析方法,分析业务领域的需求,识别系统中的参与者和用例,写出用例的文本,建立用例模型。

要求正确识别系统的所有角色和用例;

准确描述用例间的关系;

描述系统中重要用例的基本事件流(正常情况),备选事件流和异常事件流。

2根据步骤1的结果,进一步建立领域模型(类图),完成静态模型的建立。

要求正确识别出领域类,并给类增加属性和关联。

3结合某一种具体的框架(比如Java的JavaEE,Spring等)设计系统的架构,要求采用分层的架构和MVC模式,用包图表达架构。

4根据1,2,3的结果以用例或用例的场景为基本单元,设计各层包含的类,接口及其交互(类图,顺序图等)以实现用例或场景,尽可能在设计中体现OO的设计原则,设计模式。

可以选择一步完成或分两步完成设计,如果选择一步完成,就没有分析类图,直接得出设计类图。

两步完成:

第一步不考虑界面和持久化类,只考虑领域类,建立分析类图及分析类之间的交互顺序图。

第二步考虑加入界面类和持久化类,在第一步的基础上增强和完善分析类图和交互图,得到设计类图和更精确的交互顺序图。

5完成图书管理系统的数据库设计。

数据库的设计是以领域模型为基础的,经过分析类图和设计类图的细化,找出需要持久化的类,转化为关系模型。

第二部分:

实验过程记录(可加页)(包括实验原始数据记录,实验现象记录,实验过程发现的问题等)

用例模型

用例文档

登录

SCENARIOS

BasicPath.BasicPath

1.用户进入图书馆的登录页面

2.用户输入用户名和密码

Alternate:

2a.用户输入用户名错误

2b.用户输入的密码错误

3.登陆成功

Alternate.用户输入用户名错误

1.显示用户名错误

2.用户重新输入用户名

Alternate.用户输入的密码错误

1.显示密码错误

借出书目

1.图书管理员请求系统处理借书业务

2.系统显示借书处理界面

3.图书管理员输入借阅证信息

4.系统验证借阅证的有效性

Exception:

4a.借书证不合法

5.图书管理员输入图书信息

6.系统添加新的借阅记录

6a.借阅者借书数量已达到上限

6b.书籍库存为0

7.系统显示借书后的借阅信息,图书管理员重复5-7步,直到结束

Exception.借书证不合法

1.系统显示借书证不合法

2.图书管理员进行确认

Exception.借阅者借书数量已达到上限

1.系统显示借书者借书详细信息并报警

2.图书管理员处理报警并结束借书

Alternate.书籍库存为0

1.显示库存为0

2.管理员结束借书

取消预定

1.借阅者取消预定图书

1a.系统收不到取消预定的信息

2.图书管理员修改借阅者信息

3.取消预定成功

Alternate.系统收不到取消预定的信息

1.取消预定失败

2.提醒借阅者重新取消预定图书

处理超期

1.图书管理员检查到归还图书超期

2.图书管理员根据超出的时间计算罚金

3.图书管理员要求借书证缴纳罚金

4.超期处理完成

处理赔偿

1.图书管理员检查到借阅的图书已损坏

2.图书管理员根据图书的损坏情况要求借阅者赔偿

3.处理赔偿完成

预定

1.借阅者登录图书管理系统

2.借阅者预定图书

2a.该图书库存为0,确定预定时间

2b.该图书库存不为0,确定预定时间

3.预定图书成功

Alternate.图书库存为0

1.显示该图书库存为0

Exception.该图书库存为0,确定预定时间

1.显示该图书的预定时间

Exception.该图书库存不为0,确定预定时间

1.按规定显示预定时间

返还书目

1.学生携带图书借阅证,进入图书馆

2.学生归还图书

3.图书管理员检查学生所借阅图书的情况

3a.学生借阅的图书超期

3b.学生借阅的图书已损坏

3c.图书是否超期

3d.图书是否损坏

3e.学生是否缴纳罚金

3f.图书是不是本馆的藏书

4.系统删除学生借阅信息

Alternate.学生借阅的图书超期

1.显示借阅的图书超期

2.图书管理员根据规定和图书的超期情况向学生收取相应的罚金

Alternate.学生借阅的图书已损坏

1.显示图书已损坏

2.图书管理员根据规定及图书的损坏情况向学生收取相应的罚金

Exception.图书是否超期

1.图书管理员检查学生所借阅的图书是否超期

Exception.图书是否损坏

1.图书管理员检查学生所借阅的图书是否损坏

Exception.学生是否缴纳罚金

1.图书管理员判断学生是否缴纳罚金

Exception.图书是不是本馆的藏书

1.图书管理员输入图书信息

2.系统验证该图书是不是本馆藏书

类图(领域模型)

包图(三层架构)

数据库设计

数据库概念数据模型CDM对象如下图,该图显示了各实体的属性及各实体之间的关系。

由PDM对象自动生成的数据库脚本文件代码如下:

ifexists(select1

fromdbo.sysreferencesrjoindbo.sysobjectsoon(o.id=r.constidando.type='

F'

wherer.fkeyid=object_id('

books'

)ando.name='

FK_BOOKS_管理书籍_ADMIN'

altertablebooks

dropconstraintFK_BOOKS_管理书籍_ADMIN

go

borrow_information'

FK_BORROW_I_BORROW_IN_BOOKS'

altertableborrow_information

dropconstraintFK_BORROW_I_BORROW_IN_BOOKS

FK_BORROW_I_BORROW_IN_READER'

dropconstraintFK_BORROW_I_BORROW_IN_READER

login'

FK_LOGIN_LOGIN_ADMIN'

altertablelogin

dropconstraintFK_LOGIN_LOGIN_ADMIN

FK_LOGIN_LOGIN2_READER'

dropconstraintFK_LOGIN_LOGIN2_READER

reversation'

FK_REVERSAT_REVERSATI_BOOKS'

altertablereversation

dropconstraintFK_REVERSAT_REVERSATI_BOOKS

FK_REVERSAT_REVERSATI_READER'

dropconstraintFK_REVERSAT_REVERSATI_READER

fromsysindexes

whereid=object_id('

admin'

andname='

权限_FK'

andindid>

0

andindid<

255)

dropindexadmin.权限_FK

fromsysobjects

andtype='

U'

droptableadmin

管理书籍_FK'

dropindexbooks.管理书籍_FK

图书类型_FK'

dropindexbooks.图书类型_FK

droptablebooks

booktype'

droptablebooktype

Association_2_FK'

dropindexborrow_information.Association_2_FK

Association_1_FK'

dropindexborrow_information.Association_1_FK

droptableborrow_information

login2_FK'

dropindexlogin.login2_FK

login_FK'

dropindexlogin.login_FK

droptablelogin

reader'

用户权限_FK'

dropindexreader.用户权限_FK

droptablereader

reversation2_FK'

dropindexreversation.reversation2_FK

reversation_FK'

dropindexreversation.reversation_FK

droptablereversation

createtableadmin(

admin_idintnotnull,

admin_namechar(20)null,

admin_passwordchar(16)null,

loginsintnull,

last_loginchar(10)null,

"

right"

intnull,

constraintPK_ADMINprimarykeynonclustered(admin_id)

createindex权限_FKonadmin(

createtablebooktype(

type_idintnull

createtablebooks(

book_idintnotnull,

admin_idintnull,

titlechar(20)null,

type_idintnull,

authorchar(40)null,

pricemoneynull,

bookconcern"

char(50)null,

addtimedatetimenull,

amountintnull,

remainintnull,

constraintPK_BOOKSprimarykeynonclustered(book_id),

constraintFK_BOOKS_管理书籍_ADMINforeignkey(admin_id)

referencesadmin(admin_id),

constraintFK_BOOKS_BOOKTYPE_BOOKTYPEforeignkey()

referencesbooktype

createindex图书类

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

当前位置:首页 > 解决方案 > 学习计划

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

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