《图书馆管理系统概要设计报告.doc》由会员分享,可在线阅读,更多相关《图书馆管理系统概要设计报告.doc(28页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、组别组长 组员创建日期基于SSH框架图书管理系统概要设计说明书 作 者: 递交日期: 验 收 人: 验收日期: 工作量统计:作者内容(章节)日期签字 目录 1 引言11.1 编写目11.2 范围11.3 定义11.4 参考资料22 总体设计22.1 需求规定22.2 运行环境22.3 基本设计概念和处理流程32.4 结构62.5 功能需求及程序关系72.6 人工处理过程82.7 尚未解决问题93 接口设计93.1 用户接口93.2 外部接口123.2.1 硬件接口123.2.2 软件接口123.2.3 通信接口123.3 内部接口134 运行设计134.1 运行模块组合134.2 运行控制14
2、4.3 运行时间145 系统数据结构设计155.1 逻辑结构设计要点155.2 物理结构设计要点155.3 数据结构及程序关系156 系统出错处理设计166.1 出错信息166.2 补救措施166.3 系统维护设计171 引言1.1 编写目 概要设计主要任务是根据需求分析,设计软件结构和数据结构。设计软件结构具体任务是:将一个复杂系统按功能进行模块划分、建立模块层次结构及调用关系、确定模块间接口及人机界面等。数据结构设计包括数据特征描述、确定数据结构特性、以及数据库设计。概要设计建立是目标系统逻辑模型,及计算机无关。 1.2 范围项目名称:基于SSH框架图书馆管理系统项目任务提出者:徐康(项目
3、经理)项目开发者:徐康、谷旷如、严康、费孝喆项目用户:东南大学苏州研究院学生项目运行单位:软件开发小组1.3 定义JavaEE应用分层模型:Domain Object (领域对象)层:此层出系列POJO ( Plain Old Java Object,普通、传统Java 对象组成,这些对象是该系统Domain Object, 往往包含了各自所需要实现业务逻辑方法。DAO (Data Access Object. 数据访问对象)层: 此层由系列DAO 组件组成,这些DAO实现了对数据库创建、查询、更新和删除( CRUD ) 等原子操作。业务逻辑层: 此层曲系列业务逻辑对象组成,这些业务逻辑对象实
4、现了系统所需要业务逻辑方法。这些业务逻辑方法可能仅仅用于暴露Domain Object 对象所实现业务逻辑方法,也可能是依赖DAO 组件实现业务逻辑方法。控制器层:此层出系列控制器组成,这些控制器用于拦截用户请求,并调用业务逻辑组件业务逻辑方法,处理用户请求,并根据处理结果转发到不同表现层组件。表现层:此层由系列JSP 页面、Velocity 页面、PDF 文档视图组件组成,负责收集用户消求,并将显示处理结果。SSH 为 struts2+spring+hibernate一个集成框架,是目前较流行一种Web应用程序开源框架。 Struts2: Struts 是全世界最早MVC 框架,其作者是JS
5、P 规范制定者,并参及了Tomcat 开发,所以Struts从诞生第一天起,就备受Java EE 应用开发者青睐。多年来, Struts 确实是Java EE 应用中使用最广泛MVC 框架, 拥有广泛市场支持。Struts 框架学习简单, 而且是全世界应用最方便MVC 框架,所以互联网上充斥着大量Struts学习资料,这使得普通学习者可以非常容易地掌握Struts 用法。从另一方面来看, Struts 框架毕竟太老了,无数设计上硬伤使得该框架难以胜任更复杂需求,于是古老Struts 结合了另一个优秀MVC 框架: WebWork,分娩出了全新Struts 2, Struts 2 拥有众多优秀设
6、计,而且吸收了传统Struts和WebWork 两者精华,迅速成为MVC 框架中新王者。Hibernate:传统Java 应用都是采用JDBC 来访问数据库,但传统JDBC 采用是一种基于SQL 操作方式,这种操作方式及Java 语言面向对象特征不太一致,所以Java EE 应用需要一种技术,通过这种技术能让Java 以面向对象方法操作关系数据库。这种特殊技术就是ORM (Object Relation Mapping) ,最早ORM 是Entity 四B ( Enterprise JavaBean ), EJB就是经典Java EE应用核心,从EJB 1. 0到EJB 2.x,许多人觉得 E
7、JB 非常烦琐, 所以导致EJB 备受诟病。在这种背景下, Hibernate框架应运而生, Hibernate框架是一种开源、轻量级ORM 框架,它允许将普遍、传统Java 对象(POJO) 映射成持久化类,允许应用程序以面向对象方式来操作POJO , 而Hibernate 框架则负责将这种操作转换成底层SQL 操作。再后来,Sun 公司果断地抛弃了EJB 2.X 规范,引入了JPA 规范。JPA 规范其实是一种ORM 规范,因此它底层可以使用Hibernate 、TopLink 等任意一种ORM 框架作为实现。很明显,如果应用程序面向JPA 编程,将可以让应用程序既可利用Hibernate
8、 持久层技术一一因为可以用Hibernate 作为实现:也可以让应用程序保持较好可扩展性一一因为可以在各种ORM 技术之间自由切换。采用SSH开发模型,不仅实现了视图、控制器及模型彻底分离,而且还实现了业务逻辑层及持久层分离。这样无论前端如何变化,模型层只需很少改动,并且数据库变化也不会对前端有所影响,大大提高了系统可复用性。而且由于不同层之间耦合度小,有利于团队成员并行工作,大大提高了开发效率。 1.4 参考资料本项目文件:需求说明书引用资料:1.Java Web开发实战经典李兴华 著,陈小平等译;清华大学出版社;2012年8月第一版第一次印刷。2.轻量级J2EE企业应用实战Struts2+
9、Spring3+Hibernate整合开发李刚著;机械工业出版社;2007年4月第一版第一次印刷。2 总体设计2.1 需求规定本图书馆管理系统可以完成一下几个基本功能性需求:1) 图书信息录入和删除(当图书馆有新书到达时,系统管理员将新书信息录入数据库中,当有图书丢失,则将图书馆中该书相关信息删除);2) 学生信息录入和删除(系统管理员将新注册学生信息录入系统中,当有学生注销时将该学生信息从系统数据库中删除);3) 图书租借(包括借书登记、限借数量控制、还书登记);4) 图书查询(读者成功登录后可以查询图书馆图书信息);5) 图书预览(对查询到图书,读者可以进行预览,大概了解书内容);6) 图
10、书借还处理(图书管理员根据读者借还书情况将系统中书籍信息更新);2.2 运行环境硬件环境:服务器,服务器工作站,终端为PC机。运行环境:Windows XP浏览器:IE8以上版本2.3 基本设计概念和处理流程总体设计思维:图书馆管理系统所管理对象可分为两类:图书和用户。图书图书管理系统里图书都有如下属性: 图书编码 书名 图书类别 作者 出版社 单价 简介 状态信息 持有者其中图书编码,书名,图书类别,作者,出版社,单价和简介是静态信息,由系统管理员在新书到达图书馆时一次新录入。而状态信息和持有者是动态信息,需图书管理员根据读者借还信息不断对其更新。 用户分成三种类型:读者、图书管理员和系统管
11、理员。其中,读者需要通过系统管理员将自己个人信息注册,才可以登录系统,当读者希望注销自己信息时,通过系统管理员将自己个人信息从系统数据库中删除,而图书管理员和系统管理员用户名和密码是事先预设好,分别为BookAdministrator 123和SystemAdministrator 123。用户共同操作是登录。程序流程如下:开始在登录页面,用户输入用户名和密码进行登录,系统从登录页面读取用户输入信息,在及后台数据库中信息进行对比,如果比对有误,则返回登录页面,并提示用户重新登录,比对无误后,根据用户名判断用户身份,如果是普通读者,进入读者页面;如果是图书管理员,则进入图书管理员页面;如果是系统
12、管理员,则进入系统管理员页面。登录流程如下:系统管理员登录成功后,进入系统管理员页面,若有新书到达图书馆,系统管理员将新书所有信息录入系统数据库中,供读者查阅;当图书馆书籍有遗失时,系统管理员将遗失书籍信息从系统中删除,确保遗失书籍不再被读者查询。当有新读者需要注册时,系统管理员将新用户信息录入系统数据库中,以供新用户日后登录;当有老用户需要注销系统时,系统管理员将老用户信息从系统数据库中删除。系统管理员还可以修改自己登录密码。系统管理员操作如下:1. AddBookItem 当有新书需要录入系统时,系统管理员通过AddBookItem将新书录入到本系统中。2. DeleteBookItem当
13、有书籍遗失时,系统管理员通过DeleteBookItem将遗失书籍从数据库中删除。3. AddUserAccount当有用户注册账号时,系统管理员将学生信息录入系统数据库中。4. DeleteUserAccount当有用户注销账号时,系统管理员将学生信息从系统数据库中删除。5. ChangeKey 系统管理员通过ChangeKey修改自己登录密码。系统管理员登录后流程如下:图书管理员登录成功后,进入图书管理员页面。图书管理员根据读者借还书籍情况动态更改书籍状态信息: (1). 若某本书籍已被借出,则将该书状态从现有或已预订改为已借出,并将该书持有者改为借书者用户名; (2). 若某本已借出书籍
14、已归还,则将该书状态从已借出改为现有,并将该书持有者改为空。当然图书管理员也可以修改自己登录密码。图书管理员操作:1. UpdateBookmode图书管理员通过UpdateBookmode操作,根据书籍编号检索系统中书籍信息,随之根据实际借还情况动态地更改书籍状态信息和持有者信息。2. ChangeKey 图书管理员通过ChangeKey修改自己登录密码。图书管理员登录后流程如下:普通读者成功登陆后,进入读者页面。读者可以修改个人信息(如密码,年龄等);可以查询信息,其中包括个人信息、已借书籍信息和图书馆藏书信息,读者查询图书馆藏书信息时,需输入查询图书名或者关键字,系统从页面读取相应请求,
15、返回相应查询结果,对于查询结果显示书籍,读者可以通过书籍简介对书籍进行预览,对于状态为现有书籍可以进行预订操作,被预定书籍不能被其他读者预订或借出,并且预订该书籍读者应于三天之内前往图书馆借出自己预定书籍,否则三天后书籍从预定状态返回至现有状态。读者操作有:读者通过Inquiry可以查询查询图书馆现有藏书信息和自己已借书籍信息。2. Preview读者对查询到书籍,可以通过Preview操作查看该书籍简介,初步了解书籍内容。3. Schedule 读者通过Schedule操作,可以对系统中现有书籍进行预订,自己预定书籍其他用户不能再次预订也不能借阅,并且预订该书籍读者应于三天之内前往图书馆借出
16、自己预定书籍,否则三天后书籍从预定状态返回至现有状态。4. Borrow 读者通过Borrow操作从图书馆借走所需书籍。5. Return读者通过Return操作将所借书籍归还图书馆。读者程序流程如下:2.4 结构 系统 未登录用户主界面 登录读者主界面图书检索 图书预览图书预约信息查询修改个人信息 查看个人信息图书管理员主界面还书处理借书处理 修改密码系统管理员主界面书籍管理书籍信息删除书籍信息添加用户管理用户信息删除用户信息添加修改密码系统层次结构如下:2.5 功能需求及程序关系登录图书检索图书预览图书预约已借书籍信息查询个人信息管理借、还书处理书籍管理用户管理注册注销登录新书到馆书籍遗失
17、修改密码查看个人信息修改个人信息查询图书图书预览图书预订图书借出图书归还查询已借书籍信息2.6 人工处理过程1 .当有新书到达图书馆,系统管理员将新书所有信息录入系统数据库中;2 .当图书馆书籍有遗失时,系统管理员将遗失书籍信息从系统中删除3. 当有新读者需要注册时,系统管理员将新用户信息录入系统数据库中;4 当有老用户需要注销系统时,系统管理员将老用户信息从系统数据库中删除。 5.若某本书籍已被借出,图书管理员将该书状态从现有或已预订改为已借出;6 若某本已借出书籍已归还,图书管理员将该书状态从已借出改为现有。2.7 尚未解决问题在登录页面空余版面显示一些事实消息,本小组成员根据以往高校图书
18、管理系统提议,技术方面还有待学习和讨论,暂时未列入概要设计中。3 接口设计 用户接口登录界面:提供命令:用户输入用户名和密码,登录按钮系统应答信息:点击登录按钮,若用户名和密码及数据库中对比无误,则系统将跳转至相应权限用户主界面,权限将依据登录用户名来进行判断;若用户输入用户名和密码和数据库中对比有误,则系统返回登录页面提示用户重新登录。 3.1.2.1 修改个人信息提供命令:修改个人信息按钮,确认修改按钮,返回主页面按钮系统应答信息:读者点击修改个人信息按钮,进入修改个人信息页面,显示读者个人信息,读者修改完后科点击确认按钮完成修改,返回修改成功;读者点击返回主页面按钮,返回读者页面。 3.
19、1.2.2 查看个人信息提供命令:查看个人信息按钮,确认按钮系统应答信息:读者点击查看个人信息按钮,进入查看个人信息页面,显示读者个人信息,读者修改完后科点击确认按钮,返回读者页面。 3.1.2.3 查询已借书籍信息提供命令:查询已借书籍信息按钮,确认按钮系统应答信息:读者点击查询已借书籍信息按钮,进入查询已借书籍信息页面,显示读者已借书籍信息(书名,图书编码,剩余天数等);读者修改完后科点击确认按钮,返回读者页面。 3.1.2.4 查询图书馆藏书信息提供命令:查询图书馆藏书信息按钮,读者输入想要查询书名或关键字,查询按钮,返回主页面按钮。系统应答信息:读者点击查询图书馆藏书信息按钮,进入查询
20、书籍页面,读者输入想要查询书名或关键字后,点击查询按钮,系统返回图书管理系统中相应图书信息。读者点击返回主页面按钮后,系统返回读者页面。 3.1.2.5 查询图书馆藏书信息提供命令:查询图书馆藏书信息按钮,读者输入想要查询书名或关键字,查询按钮,预定该书按钮,返回主页面按钮。系统应答信息:读者点击查询图书馆藏书信息按钮,进入查询书籍页面,读者输入想要查询书名或关键字后,点击查询按钮,系统返回图书管理系统中相应图书信息。读者选中想要预定且状态为现有书籍,点击预定该书籍按钮,系统返回“请在三天内前往图书馆借得该书”,表示预定成功,读者点击返回主页面按钮,系统返回读者页面。 3.1.2.6 预览图书
21、提供命令:查询图书馆藏书信息按钮,读者输入想要查询书名或关键字,查询按钮,预览书籍按钮,返回主页面按钮。系统应答信息:读者点击查询图书馆藏书信息按钮,进入查询书籍页面,读者输入想要查询书名或关键字后,点击查询按钮,系统返回图书管理系统中相应图书信息,对于有简介书籍,读者可以点击预览按钮,系统显示该书简介信息供读者浏览。读者点击返回主页面按钮后,系统返回读者页面。 3.1.3.1 更新图书状态提供命令:更新图书状态按钮,图书管理员输入需要更改状态图书编号,确定按钮,对图书状态信息进行更改,确认更改按钮,返回主页面按钮。 系统应答信息:图书管理员点击更新图书状态按钮,进入更新图书状态页面,图书管理
22、员输入需要更改状态图书编号,点击确定按钮,系统返回相应图书信息,图书管理员根据实际情况对图书状态信息做出更改(若某本书籍已被借出,则将该书状态从现有或已预订改为已借出,并将该书持有者改为借书者用户名; 若某本已借出书籍已归还,则将该书状态从已借出改为现有,并将该书持有者改为空);然后点击确认更改按钮,系统返回更新成功,图书管理员点击返回主页面按钮,系统返回图书管理员页面。3.1.3.2 修改密码提供命令:修改密码按钮,图书管理员输入新密码,确认修改按钮,返回主页面按钮。系统应答信息:图书管理员点击修改密码按钮,系统进入修改密码页面,图书管理员输入新密码,然后点击确认修改按钮,返回修改成功,图书
23、管理员点击返回主页按钮,系统返回图书管理员页面。 3.1.4.1 添加书籍信息提供命令:添加书籍信息按钮,系统管理员输入新书信息,确认添加按钮,返回主页面按钮。系统应答信息:图书管理员点击添加书籍信息按钮,系统进入添加书籍信息页面,图书管理员输入新书信息,然后点击确认添加按钮,返回添加成功,系统管理员点击返回主页按钮,系统返回图书管理员页面。 3.1.4.2 删除书籍信息提供命令:删除书籍信息按钮,系统管理员输入需要删除图书编码,确定按钮,确认删除按钮,返回主页面按钮。系统应答信息:图书管理员点击删除书籍信息按钮,系统进入删除书籍信息页面,图书管理员输入入需要删除图书编码,然后点击确定按钮,系
24、统返回所需删除书籍所有信息,系统管理员点击确认删除按钮,系统返回添加成功,系统管理员点击返回主页按钮,系统返回图书管理员页面。 3.1.4.3 添加读者信息提供命令:添加读者信息按钮,系统管理员输入新注册读者信息,确认添加按钮,返回主页面按钮。系统应答信息:图书管理员点击添加读者信息按钮,系统进入添加读者信息页面,图书管理员输入新注册读者信息,然后点击确认添加按钮,返回注册成功,系统管理员点击返回主页按钮,系统返回图书管理员页面。 3.1.4.4 删除读者信息提供命令:删除读者信息按钮,系统管理员输入需要注销读者用户名,确定按钮,确认删除按钮,返回主页面按钮。系统应答信息:图书管理员点击删除读
25、者信息按钮,系统进入删除读者信息页面,图书管理员输入入需要注销读者用户名,然后点击确定按钮,系统返回所需注销读者用户所有信息,系统管理员点击确认删除按钮,系统返回注销成功,系统管理员点击返回主页按钮,系统返回图书管理员页面。3.1.4.5 修改密码提供命令:修改密码按钮,系统管理员输入新密码,确认修改按钮,返回主页面按钮。系统应答信息:系统管理员点击修改密码按钮,系统进入修改密码页面,系统管理员输入新密码,然后点击确认修改按钮,返回修改成功,系统管理员点击返回主页按钮,系统返回系统管理员页面。3.2 外部接口3.2.1 硬件接口图书馆要有服务器用户使用可上网终端:PC机3.2.2 软件接口架构
26、:struts2操作系统:Windows XP33.2.3 通信接口TCP/IP3.3 内部接口 该图书馆管理系统采用SSH架构,即Structs、Spring、Hibernate三层架构。页面使用JSP技术,建立在表示层Structs上,传递数据将被Structs截获并通过Spring映射进而传递至底层进行处理。底层调用Hibernate架构功能及数据库进行数据通信及交换并按功能要求对数据进行进一步加工,通过Spring映射返回至Structs并有计划显示在页面上。总而言之,系统元素大致可分为页面元素、Structs元素、Spring元素、底层元素、Hibernate元素和数据库元素,其接口
27、安排如下图所示:。4 运行设计4.1 运行模块组合1 . spring是一个轻量级控制反转(loc)和面向切面(aop)容器框架提供对持久层(Persistence)、事物(Transcation支持;提供MVC Web框架实现,并对一些常用企业服务API(Application Interface)提供一致模型封装,是一个全方位应用程序框架(Application Framework),除此之外,对现存各种框架(Structs、JSF、Hibernate、Ibatis、Webwork等),Spring也提供了及他们相整合方案。 spring loc 控制反转和依赖注入可以很好管理项目中实例。
28、 2 . struts 框架是用来对web页面会话控制大致功能有: (1)获取表单内容,并组织生成参数对象 (2)根据请求参数转发请求给适当控制器 (3)在控制器中调用业务接口 (4)将业务接口返回结果包装起来发送给指定视图,并由视图完成处理结果展现 (5)做一些简单校验 3. hibernate 框架是用来完成及数据库交互,主要功能是将数据持久化或者获取数据库中持久化数据。系统结构图如下:4.2 运行控制 该图书管理系统运行控制方式以按钮点击为主,用户只需点击按钮即可。用户点击按钮时,系统先将判断此次点击操作前置条件是否符合规范要求,若不符合规范则提醒用户前置条件不合格并给出不合格细节,此时
29、系统将不进行任何动作,此时用户将有两种选择:更改前置条件后再次点击或退出该功能。如果符合规范,系统将自动进行数据传递和相应模块功能调用,完成用户希望系统所完成功能。4.3 运行时间 系统运行时间具体计算将由后续详细设计进行,在此提出指导思想为尽量将时间复杂度限制在保持在线性范围内。5 系统数据结构设计5.1 逻辑结构设计要点图书:图书编码、书名、图书类别、作者、出版社、单价、 简介、状态信息、持有者其中图书编码为主键,持有者为外键。读者:用户名(学号),姓名,性别,身份证号,密码其中用户名为主键。5.2 物理结构设计要点 5.3 数据结构及程序关系登录图书检索图书预览图书预约已借书籍信息查询个
30、人信息管理借、还书处理书籍管理用户管理图书编码书名图书类别作者出版社单价简介状态信息持有者用户名姓名性别身份证号密码6 系统出错处理设计6.1 出错信息用一览表方式说朗每种可能出错或故障情况出现时,系统输出信息形式、含意及处理方法。6.2 补救措施说明故障出现后可能采取变通措施,包括:a 后备技术:说明准备采用后备技术,当原始系统数据万一丢失时启用副本建立和启动技术,例如周期性把磁盘信息记录到磁带上去就是对于磁盘媒体一种后备技术;b 降效技术:说明准备采用后备技术,使用另一个效率稍低系统或方法来求得所需结果某些部分,例如一个自动系统降效技术可以是手工操作和数据人工记录;c 恢复及再启动技术:说明将使用恢复再启动技术,使软件从故障点恢复执行或使软件从头开始重新运行方法。6.3 系统维护设计说明为了系统维护方便而在程序内部设计中作出安排,包括在程序中专门安排用于系统检查及维护检测点和专用模块。