图书馆管理系统详细设计说明书.docx

上传人:b****8 文档编号:10861147 上传时间:2023-02-23 格式:DOCX 页数:19 大小:314.45KB
下载 相关 举报
图书馆管理系统详细设计说明书.docx_第1页
第1页 / 共19页
图书馆管理系统详细设计说明书.docx_第2页
第2页 / 共19页
图书馆管理系统详细设计说明书.docx_第3页
第3页 / 共19页
图书馆管理系统详细设计说明书.docx_第4页
第4页 / 共19页
图书馆管理系统详细设计说明书.docx_第5页
第5页 / 共19页
点击查看更多>>
下载资源
资源描述

图书馆管理系统详细设计说明书.docx

《图书馆管理系统详细设计说明书.docx》由会员分享,可在线阅读,更多相关《图书馆管理系统详细设计说明书.docx(19页珍藏版)》请在冰豆网上搜索。

图书馆管理系统详细设计说明书.docx

图书馆管理系统详细设计说明书

组别

组长

组员

创建日期

 

基于SSH框架的图书管理系统

详细设计说明书

 

作者:

递交日期:

验收人:

验收日期:

工作量统计:

作者

内容(章节)

日期

签字

 

1引言

1.1编写目的

 详细设计的主要任务是设计每个模块的实现算法、所需的局部数据结构。

详细设计的目标有两个:

实现模块功能的算法要逻辑上正确和算法描述要简明易懂。

1.2范围

项目名称:

基于SSH框架的图书馆管理系统

项目任务提出者:

徐康(项目经理)

项目开发者:

徐康、谷旷如、严康、费孝喆

项目用户:

使用该图书管理系统的用户

项目运行单位:

软件开发小组

1.3定义

JavaEE应用的分层模型:

DomainObject(领域对象)层:

此层出系列的POJO(PlainOldJavaObject,普通的、传统的Java对象〉组成,这些对象是该系统的DomainObject,往往包含了各自所需要实现的业务逻辑方法。

DAO(DataAccessObject.数据访问对象)层:

此层由系列的DAO组件组成,这些DAO实现了对数据库的创建、查询、更新和删除(CRUD)等原子操作。

业务逻辑层:

此层曲系列的业务逻辑对象组成,这些业务逻辑对象实现了系统所需要的业务逻辑方法。

这些业务逻辑方法可能仅仅用于暴露DomainObject对象所实现的业务逻辑方法,也可能是依赖DAO组件实现的业务逻辑方法。

控制器层:

此层出系列控制器组成,这些控制器用于拦截用户请求,并调用业务逻辑组件的业务逻辑方法,处理用户请求,并根据处理结果转发到不同的表现层组件。

表现层:

此层由系列的JSP页面、Velocity页面、PDF文档视图组件组成,负责收集用户消求,并将显示处理结果。

SSH为struts2+spring+hibernate的一个集成框架,是目前较流行的一种Web应用程序开源框架。

 

Struts2:

Struts是全世界最早的MVC框架,其作者是JSP规范的制定者,并参与了Tomcat开发,所以Struts从诞生的第一天起,就备受JavaEE应用开发者的青睐。

多年来,Struts确实是JavaEE应用中使用最广泛的MVC框架,拥有广泛的市场支持。

Struts框架学习简单,而且是全世界应用最方便的MVC框架,所以互联网上充斥着大量Struts的学习资料,这使得普通学习者可以非常容易地掌握Struts的用法。

从另一方面来看,Struts框架毕竟太老了,无数设计上的硬伤使得该框架难以胜任更复杂的需求,于是古老的Struts结合了另一个优秀的MVC框架:

WebWork,分娩出了全新的Struts2,Struts2拥有众多优秀的设计,而且吸收了传统Struts和WebWork两者的精华,迅速成为MVC框架中新的王者。

Hibernate:

传统的Java应用都是采用JDBC来访问数据库的,但传统的JDBC采用的是一种基于SQL的操作方式,这种操作方式与Java语言的面向对象特征不太一致,所以JavaEE应用需要一种技术,通过这种技术能让Java以面向对象的方法操作关系数据库。

这种特殊的技术就是ORM(ObjectRelationMapping),最早的ORM是Entity四B(EnterpriseJavaBean),EJB就是经典JavaEE应用的核心,从EJB1.0到EJB2.x,许多人觉得EJB非常烦琐,所以导致EJB备受诟病。

在这种背景下,Hibernate框架应运而生,Hibernate框架是一种开源的、轻量级的ORM框架,它允许将普遍的、传统的Java对象(POJO)映射成持久化类,允许应用程序以面向对象的方式来操作POJO,而Hibernate框架则负责将这种操作转换成底层的SQL操作。

再后来,Sun公司果断地抛弃了EJB2.X规范,引入了JPA规范。

JPA规范其实是一种ORM规范,

因此它的底层可以使用Hibernate、TopLink等任意一种ORM框架作为实现。

很明显,如果应用程序面向JPA编程,将可以让应用程序既可利用Hibernate的持久层技术一一因为可以用Hibernate作为实现:

也可以让应用程序保持较好的可扩展性一一因为可以在各种ORM技术之间自由切换。

采用SSH开发模型,不仅实现了视图、控制器与模型的彻底分离,而且还实现了业务逻辑层与持久层的分离。

这样无论前端如何变化,模型层只需很少的改动,并且数据库的变化也不会对前端有所影响,大大提高了系统的可复用性。

而且由于不同层之间耦合度小,有利于团队成员并行工作,大大提高了开发效率。

1.4参考资料

本项目文件:

《需求说明书》

《概要设计》

引用资料:

1.《JavaWeb开发实战经典》李兴华著,陈小平等译;清华大学出版社;2012年8月第一版第一次印刷。

2.《轻量级J2EE企业应用实战——Struts+Spring+Hibernate整合开发》李刚著;机械工业出版社;2007年4月第一版第一次印刷。

2第0层设计描述(Level0DesignDescription)

2.1软件系统上下文定义(SoftwareSystemContextDefinition)

1.spring是一个轻量级的控制反转(loc)和面向切面(aop)的容器框架提供对持久层(Persistence)、事物(Transcation的支持;提供MVCWeb框架的实现,并对一些常用的企业服务API(ApplicationInterface)提供一致的模型封装,是一个全方位的应用程序框架(ApplicationFramework),除此之外,对现存的各种框架(Structs、JSF、Hibernate、Ibatis、Webwork等),Spring也提供了与他们相整合的方案。

spring的loc控制反转和依赖注入可以很好的管理项目中实例。

2.struts框架是用来对web页面会话控制的大致功能有:

(1)获取表单内容,并组织生成参数对象

(2)根据请求的参数转发请求给适当的控制器

(3)在控制器中调用业务接口

(4)将业务接口返回的结果包装起来发送给指定的视图,并由视图完成处理结果的展现

(5)做一些简单校验

3.hibernate框架是用来完成与数据库交互的,主要功能是将数据持久化或者获取数据库中的持久化数据。

系统结构图如下:

2.2设计思路(DesignConsiderations)

2.2.1设计可选方案(DesignAlternatives)

JavaEE应用的分层模型:

DomainObject(领域对象)层:

此层出系列的POJO(PlainOldJavaObject,普通的、传统的Java对象〉组成,这些对象是该系统的DomainObject,往往包含了各自所需要实现的业务逻辑方法。

DAO(DataAccessObject.数据访问对象)层:

此层由系列的DAO组件组成,这些DAO实现了对数据库的创建、查询、更新和删除(CRUD)等原子操作。

业务逻辑层:

此层曲系列的业务逻辑对象组成,这些业务逻辑对象实现了系统所需要的业务逻辑方法。

这些业务逻辑方法可能仅仅用于暴露DomainObject对象所实现的业务逻辑方法,也可能是依赖DAO组件实现的业务逻辑方法。

控制器层:

此层出系列控制器组成,这些控制器用于拦截用户请求,并调用业务逻辑组件的业务逻辑方法,处理用户请求,并根据处理结果转发到不同的表现层组件。

表现层:

此层由系列的JSP页面、Velocity页面、PDF文档视图组件组成,负责收集用户消求,并将显示处理结果。

 

2.2.2设计约束(DesignConstraints)

2.2.2.1遵循标准(Standardscompliance)

系统开发设计符合主流国际、国家的行业标准。

2.2.2.2硬件限制(HardwareLimitations)

建议硬盘空间:

大于等于50GB

建议内存:

大于等于1GB

建议CPU:

Pentium(R)Dual—CoreCPUE53002.60GHz

网络环境:

广域网局域网均可

2.2.2.3技术限制(TechnologyLimitations)

由于本软件系统除PC外无其他硬件设施,也没有嵌入式编程,所以无法实现自动更新学生借书和还书的过程,仍需工作人员手动完成信息的更新和维护。

3第一层设计描述(Level1DesignDescription)

3.1系统结构(SystemArchitecture)

3.1.1系统结构描述(DescriptionoftheArchitecture)

系统结构图如下:

3.1.2业务流程说明(RepresentationoftheBusinessFlow)

用户分成三种类型:

读者、图书管理员和系统管理员。

其中,读者需要通过系统管理员将自己的个人信息注册,才可以登录系统,当读者希望注销自己的信息时,通过系统管理员将自己的个人信息从系统数据库中删除,而图书管理员和系统管理员的用户名和密码是事先预设好的,分别为BookAdministrator123和SystemAdministrator123。

用户的共同操作是登录。

程序流程如下:

开始在登录页面,用户输入用户名和密码进行登录,系统从登录页面读取用户的输入信息,在与后台数据库中的信息进行对比,如果比对有误,则返回登录页面,并提示用户重新登录,比对无误后,根据用户名判断用户身份,如果是普通读者,进入读者页面;如果是图书管理员,则进入图书管理员页面;如果是系统管理员,则进入系统管理员页面。

系统管理员登录成功后,进入系统管理员页面,若有新书到达图书馆,系统管理员将新书的所有信息录入系统数据库中,供读者查阅;当图书馆书籍有遗失时,系统管理员将遗失书籍信息从系统中删除,确保遗失书籍不再被读者查询。

当有新的读者需要注册时,系统管理员将新用户的信息录入系统数据库中,以供新用户日后登录;当有老用户需要注销系统时,系统管理员将老用户的信息从系统数据库中删除。

系统管理员还可以修改自己的登录密码。

图书管理员登录成功后,进入图书管理员页面。

图书管理员根据读者借还书籍的情况动态的更改书籍的状态信息:

(1).若某本书籍已被借出,则将该书的状态从现有或已预订改为已借出,并将该书的持有者改为借书者的用户名;

(2).若某本已借出书籍已归还,则将该书的状态从已借出改为现有,并将该书的持有者改为空。

当然图书管理员也可以修改自己的登录密码。

普通读者成功登陆后,进入读者页面。

读者可以修改个人信息(如密码,年龄等);可以查询信息,其中包括个人信息、已借书籍信息和图书馆藏书信息,读者查询图书馆藏书信息时,需输入查询的图书名或者关键字,系统从页面读取相应的请求,返回相应的查询结果,对于查询结果显示的书籍,读者可以通过书籍的简介对书籍进行预览,对于状态为现有的书籍可以进行预订操作,被预定的书籍不能被其他读者预订或借出,并且预订该书籍的读者应于三天之内前往图书馆借出自己预定的书籍,否则三天后书籍从预定状态返回至现有状态。

3.2分解描述(DecompositionDescription)

本系统分为登录模块、读者模块、图书管理员模块和系统管理员模块。

3.2.1登录模块描述(Module/Subsystem1Description)

1.Overview简介

开始在登录页面,用户输入用户名和密码进行登录,系统从登录页面读取用户的输入信息,在与后台数据库中的信息进行对比,如果比对有误,则返回登录页面,并提示用户重新登录,比对无误后,根据用户名判断用户身份,如果是普通读者,进入读者页面;如果是图书管理员,则进入图书管理员页面;如果是系统管理员,则进入系统管理员页面。

2.Functions功能列表

(1)Login

用户通过Login操作登录系统。

3.2.2读者模块描述(Module/Subsystem2Description)

1.Overview简介

读者可以修改个人信息(如密码,年龄等);可以查询信息,其中包括个人信息、已借书籍信息和图书馆藏书信息,读者查询图书馆藏书信息时,需输入查询的图书名或者关键字,系统从页面读取相应的请求,返回相应的查询结果,对于查询结果显示的书籍,读者可以通过书籍的简介对书籍进行预览,对于状态为现有的书籍可以进行预订操作,被预定的书籍不能被其他读者预订或借出,并且预订该书籍的读者应于三天之内前往图书馆借出自己预定的书籍,否则三天后书籍从预定状态返回至现有状态。

2.Functions功能列表

(1)查询信息

(2)预览书籍

(3)预订书籍

(4)借书

(5)还书

(6)修改个人信息

3.2.3图书管理员模块描述(Module/Subsystem2Description)

1.Overview简介

图书管理员登录成功后,进入图书管理员页面。

图书管理员根据读者借还书籍的情况动态的更改书籍的状态信息:

(1).若某本书籍已被借出,则将该书的状态从现有或已预订改为已借出,并将该书的持有者改为借书者的用户名;

(2).若某本已借出书籍已归还,则将该书的状态从已借出改为现有,并将该书的持有者改为空。

当然图书管理员也可以修改自己的登录密码。

2.Functions功能列表

(1)更新图书信息

(2)修改密码

3.2.4系统管理员模块描述(Module/Subsystem2Description)

1.Overview简介

若有新书到达图书馆,系统管理员将新书的所有信息录入系统数据库中,供读者查阅;当图书馆书籍有遗失时,系统管理员将遗失书籍信息从系统中删除,确保遗失书籍不再被读者查询。

当有新的读者需要注册时,系统管理员将新用户的信息录入系统数据库中,以供新用户日后登录;当有老用户需要注销系统时,系统管理员将老用户的信息从系统数据库中删除。

系统管理员还可以修改自己的登录密码。

2.Functions功能列表

(1)增加书籍记录

(2)删除书籍记录

(3)增加读者账户

(4)删除读者账

(5)修改密码

3.3依赖性描述(DependencyDescription)

1.只有注册过的用户才能登录系统。

2.只有用户名和密码正确才能成功登录系统,从而完成其他的操作。

3.已被他人预订的书籍不能再被预订或者借出。

3.4接口描述(InterfaceDescription)

3.4.1读者模块的接口描述

1.名称:

Inquire

说明:

读者通过Inquire接口获取数据库中的图书信息,包括自己已借书籍信息和图书馆藏书信息。

定义:

Inquire接口以用户输入的图书名或关键字为参数,根据书名或关键字进行检索。

2.名称:

Preview

说明:

读者通过Preview接口获取数据库中的图书简介信息。

定义:

Preview接口的实现基于Inquire接口的实现,只有在查询到的图书中选择

3.4.2系统管理员的接口描述

1.名称:

AddBookItem

说明:

当有新书到达图书馆时,系统管理员通过AddBookItem接口实现数据库中图书信息的添加工作。

定义:

系统管理员调用该接口后,读者可以在图书馆系统中检索到该图书的信息。

2.名称:

DeleteBookItem

说明:

当有书籍遗失时,系统管理员通过调用DeleteBookItem接口,输入遗失的书籍编号,根据书籍编号删除数据库中图书信息。

定义:

系统管理员通过DeleteBookItem接口实现删除图书馆里相关图书信息。

3.名称:

AddUserAccount

说明:

当有用户注册账号时,系统管理员通过AddUserAccount接口将读者的相关信息录入到图书馆系统数据库中。

定义:

系统管理员调用该接口后,读者可以读书管理系统的登录页面上登录。

4.名称:

DeleteUserAccount

说明:

当有用户注销账号时,系统管理员通过DeleteUserAccount接口将读者的信息从系统数据库中删除。

定义:

被删除信息的读者无法登录系统。

3.4.3图书管理员的接口描述

1.名称:

UpdateBookmode

说明:

当有读者借书或还书时,图书管理员通过UpdateBookmode接口更改图书的状态信息。

定义:

图书管理员通过UpdateBookmode接口实时地更新系统数据库中的图书信息。

4第二层设计描述(Level2DesignDescription)

4.1用户模块

4.1.1模块设计描述(DesignDescription)

用户模块可以按照权限的不同分为读者,图书管理员和系统管理员三个子模块。

读者,图书管理员和系统管理员三个子类继承了父类用户类的两个属性(ID和Key)和一个方法(ChangeKey)

4.1.1.1读者

(1)CIIdentification标识

基于SSH框架的图书管理系统_用户_读者

(2)Overview简介

用户登录,系统根据用户输入的用户名和密码判断该用户为普通读者后,系统进入读者页面。

读者可以修改个人信息(如密码,年龄等);可以查询信息,其中包括个人信息、已借书籍信息和图书馆藏书信息,读者查询图书馆藏书信息时,需输入查询的图书名或者关键字,系统从页面读取相应的请求,返回相应的查询结果,对于查询结果显示的书籍,读者可以通过书籍的简介对书籍进行预览,对于状态为现有的书籍可以进行预订操作,被预定的书籍不能被其他读者预订或借出,并且预订该书籍的读者应于三天之内前往图书馆借出自己预定的书籍,否则三天后书籍从预定状态返回至现有状态。

(3)Definition类定义(Optional)

属性:

ID、Key、Name、Sex、CertificateNum

其中CertificateNum为以防读者忘记自己密码时可以申请获得密码

方法:

1.Login

读者通过Login实现登录操作,若读者输入的用户名和密码与数据库中信息比对无误,则表示登录成功,系统进入读者页面,否则,系统再次进入登录页面,提示用户重新登录。

2.Inquire

读者通过Inquire实现查询图书馆现有藏书信息和自己已借书籍的信息。

3.ChangeKey

读者通过ChangeKey实现修改自己的登录密码。

4.Preview

读者对查询到的书籍,可以通过Preview操作查看该书籍的简介,初步了解书籍的内容。

5.Schedule

读者通过Schedule操作,可以对系统中现有的书籍进行预订,自己预定的书籍其他用户不能再次预订也不能借阅,并且预订该书籍的读者应于三天之内前往图书馆借出自己预定的书籍,否则三天后书籍从预定状态返回至现有状态。

6.ChangeInfo

读者通过ChangeInfo实现对自己注册信息的修改。

4.1.1.2图书管理员

(1)CIIdentification标识

基于SSH框架的图书管理系统_用户_图书管理员

(2)Overview简介

用户登录,系统根据用户输入的用户名和密码判断该用户为图书管理员后,系统进入图书管理员页面。

图书管理员根据读者借还书籍的情况动态的更改书籍的状态信息:

(1).若某本书籍已被借出,则将该书的状态从现有或已预订改为已借出,并将该书的持有者改为借书者的用户名;

(2).若某本已借出书籍已归还,则将该书的状态从已借出改为现有,并将该书的持有者改为空。

当然图书管理员也可以修改自己的登录密码。

(3)Definition类定义(Optional)

属性:

Key、ID

方法:

1.Login

图书管理员通过Login实现登录操作,若图书管理员输入的用户名和密码与数据库中信息比对无误,则表示登录成功,系统进入图书管理员页面,否则,系统再次进入登录页面,提示用户重新登录。

2.UpdateBookmode

图书管理员通过UpdateBookmode操作,根据书籍的编号检索系统中书籍信息,随之根据实际借还情况动态地更改书籍的状态信息和持有者信息。

3.ChangeKey

图书管理员通过ChangeKey实现修改自己的登录密码。

4.1.1.3系统管理员

(1)CIIdentification标识

基于SSH框架的图书管理系统_用户_系统管理员

(2)Overview简介

用户登录,系统根据用户输入的用户名和密码判断该用户为系统管理员后,系统进入系统管理员页面。

若有新书到达图书馆,系统管理员将新书的所有信息录入系统数据库中,供读者查阅;当图书馆书籍有遗失时,系统管理员将遗失书籍信息从系统中删除,确保遗失书籍不再被读者查询。

当有新的读者需要注册时,系统管理员将新用户的信息录入系统数据库中,以供新用户日后登录;当有老用户需要注销系统时,系统管理员将老用户的信息从系统数据库中删除。

系统管理员还可以修改自己的登录密码。

(3)Definition类定义(Optional)

属性:

ID、Key

方法:

1.Login

系统管理员通过Login实现登录操作,若系统管理员输入的用户名和密码与数据库中信息比对无误,则表示登录成功,系统进入系统管理员页面,否则,系统再次进入登录页面,提示用户重新登录。

2.AddBookItem

当有新书需要录入系统时,系统管理员通过AddBookItem将新书录入到本系统中。

3.DeleteBookItem

当有书籍遗失时,系统管理员通过DeleteBookItem实现将遗失书籍从数据库中删除。

4.AddUserAccount

当有用户注册账号时,系统管理员将学生的信息录入系统数据库中。

5.DeleteUserAccount

当有用户注销账号时,系统管理员将学生的信息从系统数据库中删除。

6.ChangeKey

系统管理员通过ChangeKey修改自己的登录密码。

4.1.2功能实现说明(FunctionIllustration)

若有新书到达图书馆,系统管理员将新书的所有信息录入系统数据库中,供读者查阅;当图书馆书籍有遗失时,系统管理员将遗失书籍信息从系统中删除,确保遗失书籍不再被读者查询。

当有新的读者需要注册时,系统管理员将新用户的信息录入系统数据库中,以供新用户日后登录;当有老用户需要注销系统时,系统管理员将老用户的信息从系统数据库中删

除。

时序图如下:

用户登录后可以查询信息,其中包括个人信息、已借书籍信息和图书馆藏书信息,读者查询图书馆藏书信息时,需输入查询的图书名或者关键字,系统从页面读取相应的请求,返回相应的查询结果,对于查询结果显示的书籍,读者可以通过书籍的简介对书籍进行预览,对于状态为现有的书籍可以进行预订操作。

时序图如下:

4.2图书模块

4.2.1模块设计描述(DesignDescription)

(1)CIIden

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

当前位置:首页 > 高等教育 > 经济学

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

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