网上图书管理系统综合设计资料.doc
网上图书管理系统综合设计目 录1.范围1系统概述1文档概述12.引用文档13.体系结构设计2总体结构2系统功能结构2系统终端结构图4功能分配6关键问题及解决方案64.接口设计7用户界面设计75.数据结构设计9公共数据结构设计9数据流分析设计9顶层数据流图9二级数据流图:10数据路E-R图设计13实体联系图设计14数据库设计15数据库表结构设计156.基于UML的详细设计16主模块17基础维护模块18【模块接口】18【内部结构】19借阅管理模块24【模块接口】24【内部结构】24查询模块30【模块接口】30【内部结构】30评分评论管理模块32【模块接口】32【内部结构】33还书提醒管理模块34【模块接口】34【内部结构】34系统管理模块36【模块接口】36【内部结构】36包含的设计图类型:系统结构图、流程图、用例图、次序图、活动图、类图、数据流图、E-R图第 24 页1. 范围1.1 系统概述开发人员通过编写列表的配置文档完成数据源、查询、列表、分页、双击可编辑配置,并保存相应的列表的配置信息到XML文件。运行时传入通用列表配置信息的唯一标识,由通用列表服务根据配置信息生成并返回列表结构与数据信息。前端页面通过解析列表服务传过来的信息,生成列表的HTML代码,并显示。本系统仿照学校的图书管理系统,为读者与图书管理员进行一系列的活动提供方便。由于学校图书管理系统已经相当完善,所以我们再次基础上作出了自己添加的一些功能。在一般图书管理系统处理借书还书等功能的基础上,我们把图书管理系统及网上的一些售书网站的系统结合起来,让图书管理系统具有了能让读者评分与按好评度与热度搜索书籍信息的功能。另外我们为系统设计了手机客户端,使系统的便携性得到了提高。1.2 文档概述本设计说明书详细阐明了通用列表前端与服务器端的功能划分,详细实现以及传递参数的内容与格式,以供开发人员、测试人员、工程人员参考。本设计说明书详细阐明了本图书管理系统的总体结构,功能分配,关键问题及其解决办法,界面设计,内外接口设计与数据库的设计方案。在前面文档的基础上我们详细地阐述了本系统的各项组成部分。2. 引用文档本章应列出本文档引用的所有文档的编号、标题、修订版本与发行日期,也应标识不能通过正常的供货渠道获得的所有文档的来源。引用文档应包括:(1) 项目任务书:(2) 其它文档(如设计文档应引用需求文档)3. 体系结构设计3.1 总体结构用一系列图表给出系统的总体结构,并对图中的相关内容进行说明。可能包括软件体系结构、硬件体系结构、技术体系结构、支撑体系(部署与实施方案)结构等各个方面,可根据实际情况每个方面分为一小节来写。3.1.1 系统功能结构系统功能结构图图:总体功能结构表:结构模块功能基础维护该模块包含图书信息维护与读者信息维护两个子模块。其中图书信息维护模块用于维护图书信息,包括图书的添加,修改与删除操作;读者信息维护模块用于维护读者信息,包括读者的添加,修改与删除操作。借阅管理模块该模块包含借书,还书,预约及续借四个子模块。其中,借书模块用于实现读者借书操作,还书子模块用于实现读者还书操作。预约用于预约相应书籍,续借用于延长归还书的时间。查询管理模块该模块包含图书信息查询与读者信息查询两个子模块。其中,图书信息查询模块用于查询所有的图书信息,并且可以指定条件查询;读者信息查询子模块用于查询所有的读者信息,并且也可以指定条件进行查询。评分评论管理模块该模块包含评论及评分两个子模块。其中,评论子模块主要用于用户对图书评分的管理及记录。评分子模块,主要用于管理用户对于书籍的评分。还书提醒管理模块该模块主要实现对于未归还图书且图书即将到期的用户,登录提醒或离线提醒。系统管理模块该模块包含系统设置与退出系统两个子模块。其中,密码修改子模块用于对当前用户的登录密码进行修改操作;退出系统子模块用于实现系统退出。3.1.2 系统终端结构图结构模块功能PC客户端(主)可为用户提供各项操作图书的活动。图书管理员可用此客户端处理借书/还书,添加/删除图书,添加/删除/修改用户信息,查询图书/用户信息以及修改自己的注册信息。普通用户可通过此客户端查询/修改自己的用户信息,查询图书信息,按热度/好评度搜索图书与对图书进行评分。网页客户端在PC客户端功能的基础上,网页客户端可为普通用户提供更全面的搜索,用户可搜索到近期有书籍将到期的学生的名单并查询自己是否在其中,当然也可直接查询自己是否有快到期的图书。Android手机客户端手机客户端显示内容较少,主要用于信息查询,管理员可以用此客户端来查询个人信息,普通用户信息,与书籍信息(主要是即将到期的与逾期未还的书籍的信息)。普通用户可以用此客户端来查询自己的个人信息以及自己所借书籍的信息(包括应还日期)。次客户端还可自动提醒有即将到期的书籍的读者按时还书。终端结构设计表格3.2 功能分配说明需求文档当中各项功能同总体结构的对应关系。需求文档中的功能总体结构借还书功能(借阅者请求服务)借阅者管理模块多客户端登录功能主模块书籍查询查询管理模块用户查询查询管理模块书籍修改,增加,删除基础维护模块用户修改,增加,删除基础维护模块预约及续借功能借阅者管理模块书评及评分评分评论管理模块系统设置系统管理模块还书提醒还书提醒管理模块3.3 关键问题及解决方案给出系统总体结构中所涉及的关键问题的设计决策与解决思路。关键问题解决思路Android平台上得手机客户端开发查阅相关书籍,学习相关知识各个客户端及服务器的链接统一接口,学习网络方面知识数据库的搭建以及数据库的链接数据库模型设计完善,JDBC管理链接各个模块的接口的统一开发前定义好标准,开发过程多交流4. 接口设计4.1 用户界面设计给出系统用户界面的总体设计决策,与典型的用户界面风格。1、手机客户端用户界面(1)登陆界面使用手机登陆到本系统时,会出现一段动画(另行设计),然后即是登陆界面。在登陆界面中,显示有代表本系统的logo,还显示有当前日期与北京时间(24小时制),星期*。登陆界面还显示有账号与密码的输入栏,输入密码后应显示为*,以防被偷看到。在这两栏下面还有一个勾选栏,显示的内容为“记住账号”。在勾选栏下面便是用户类型选择(管理员或者是普通用户)。整个界面的风格比较偏向于格子式,每一个按钮都是一个格子,会设置一个比较简单的背景(考虑到显示条件的不佳)。由于手机显示信息有限,所以界面会比较简单。(2)管理员界面管理员通过登陆界面登陆之后显示管理员操作界面,该界面显示有两个按钮选项包括“用户信息查询”、“书籍信息查询”。*用户信息查询界面:管理员点选用户信息查询按钮后进入该界面。管理员可以看到自己的各项注册信息(姓名,性别,民族等,甚至包括注册时用的照片)均显示在手机上。在各项信息下面还有一个按钮显示为“修改用户信息”。在用户信息查询界面上的每样信息都是可改写的。*书籍信息查询界面:该界面显示有四个可填写栏,即:按书名查询、按编号查询、按作者查询与按书籍分类查询。界面下方有确定与取消按钮。书籍信息显示界面显示有书名(中英文),作者,书籍编号,出版日期等基本信息,还显示有该书的好评度(星级评分)与热度(近期借阅数量)。该界面的总体风格与登录界面类似,背景与登陆界面一样,在整个手机客户端的各个界面的背景都是一样的。(3)普通用户界面普通用户手机登陆时与管理员登陆所看到的界面基本相同,而比管理员多了一个界面即推荐书籍界面。在普通用户界面,会出现三个按钮包括“用户信息查询”、“书籍信息查询”与“推荐书籍”。*推荐书籍界面:在推荐书籍界面,会向普通用户显示当前好评度与热度最高的一本或者多本书籍的信息,书籍的信息显示包括书名,作者名与好评度,热度,此处只是推荐,不需要太详细的信息显示。2、网页客户端用户界面网页客户端显示的的信息总的来说项目与手机客户端类似,但是显示的信息更加全面具体。(1)登陆界面及手机客户端登陆界面基本相同,只是界面更加美观,显示的信息更加全面与多样化。可以在界面上添加一些广告,还可以将一些通知显示在该界面上。在界面上方会显示“欢迎您,XXX”,此显示项在用户整个注销退出之前都会显示在界面右上方。背景风格为中国风(最终的显示背景待定),背景可做成主题模式,每换一个界面就会显示不同的背景图像(具体能不能实现待定)。(2)管理员界面及手机客户端类似,但是显示多了借书/还书,添加/删除用户/书籍等按钮。*借书/还书界面:该界面显示有书籍名称编号等信息与借阅者的信息,在界面下方有确定与取消按钮。*添加/删除用户/书籍界面:该界面显示用户或者书籍的信息,并在下方显示有“确认删除”与“取消”的按钮。(3)普通用户界面与手机客户端普通用户界面基本差不多,在推荐书籍界面上比手机客户端显示的信息更全面,比如可以显示书籍的封面,还有同一作者的相关作品等。另外,还多了书籍评分界面与按排名搜索书籍的界面。*书籍评分界面:该界面显示有用户所输入的书籍的各项详细信息,在信息的下方便是当前评分(星级评分,最高5星,由普通用户决定),在界面下方有确定评分与取消按钮。*按排名搜索书籍界面:该界面显示有两种选项即“按好评度查询”、“按热度查询”,在相应界面显示有排名从1到100的书籍的书名与作者(显示信息不宜过多)。3、PC客户端用户界面 及网页版客户端的用户界面显示的内容基本相同,只是打开方式不同与界面上各按钮的位置设置不一样,背景也可使用主题模式。因其设计的难度,界面的美观程度不及网页客户端,而且登录界面没有广告的显示.5. 数据结构设计5.1 公共数据结构设计对程序当中所定义的全局变量、常量、全局数据结构或类当中Public数据结构进行定义与说明。5.2 数据流分析设计5.2.1 顶层数据流图在顶层数据流图中,用户与管理员两个实体是对系统进行操作的数据源,而图书管理系统本省被封装起来,在一级数据流图中将把整个系统的主要数据流向展开。5.2.2 二级数据流图:二级数据流图中是讲一级数据流图中带有数字编号的模块二级展开进行数据流的分析处理,以便于更清晰地编码实现。二级数据流图一共有8个5.2.2.1 二层数据流图(用户借书)5.2.2.2 二层数据流图(用户还书)5.2.2.3 二层数据流图(用户个人信息查询)5.2.2.4 二层数据流图(图书评分,图书评论)5.2.2.5 二层数据流图(图书结构管理)5.2.2.6 二层数据流图(图书续借)5.2.2.7 二层数据流图(用户个人信息修改)5.2.2.8 二层数据流图(管理员个人信息修改)5.3 数据路E-R图设计系统中所有实体及其属性的设计。E-R图的设计是基于上文的数据流图设计,从数据流图中得出所有实体的属性以及实体间的联系等,得出E-R图,进而可以得出数据库的基本表5.3.1 实体联系图设计5.3.1.1 用户-管理员实体联系图5.3.1.2 用户-图书实体联系图5.4 数据库设计对程序当中所采用的数据库相关的名称与标识符、在数据库当中的位置、定义、度量单位、格式与值域、敏感程度、数据项名、缩写词与代码,包括用于数据库的规格说明等进行定义。建议给出数据库表结构。5.4.1 数据库表结构设计图书信息表(Book)Book(BookID(primary key),BookName,Author,Publisher,StockNumber,MaxTime,AVGScore,BookNotice,BookCover)图书借阅表(Borrow)Borrow(BorrowID(primary key),UserID,BookID,BorrowDate,BackDate,Is_Back,Is_Renew)图书类型表(Type)Type(TypeID(primary key),TypeName,TypeNumber)图书评分表(Score)Score(BookID,UserID,BookScore) primary key(BookID,UserID)书架信息表(BookShelf)BookShelf(BookShelf(primary key), Floor, Room, Row, Column)用户信息表(User)User( UserId (Primary Key) , UserName , NickName , Sex, Unit , Phone , Email ,Address ,MaxBook, Birthday ) 用户密码表(UserPassword):UserPassword( UserId(Prmary Key , Password)管理员信息表(Admin):Admin( AdminId(Primary Key) , AdminName , Nickname , Sex , Phone , Email , WorkTime)管理员密码表(AdminPassword):AdminPassword(AdminId(Primary Key) , Password)违规记录表 (IllegalLog):IllegalLog(Id(Primary Key) , UserId , Date , DelayDay , BookId)评论记录表(Comment):Comment( Id (Primary Key) , UserId , Date , Content , BookId)预约信息表(Order)Order( Id(Primary Key) ,UserId , Complete , OrderDate , BookId)6. 基于UML的详细设计每一小节给出一个模块(构件)的详细设计方案。包括模块概述、模块的接口说明(即输入、输出)、以及内部结构设计。其中内部结构又可以考虑从静态、动态结构两个方面阐述;静态结构应给出该模块(构件)的类结构(类图),动态结构应给出该模块关键业务流程的交互模型(顺序图),还可根据实际情况给出状态图(某个构件或对象的状态迁移)与活动图(某个算法的实现流程)等内6.1 主模块【模块概述】建立及数据库的链接,获取系统设置,运行主对话框,根据输入调用子模块,退出系统时断开及数据库的链接。【模块接口】输入:用户点击鼠标输入输出:根据输入调用相关的子模块(输出读者信息,读者借阅信息)【内部结构】静态结构:数据库类:说明:图书馆数据库分为:图书馆资源数据库、图书馆读者数据库、图书馆人员数据库。资源数据库即存储了馆藏图书信息;读者数据库存储了读者数目,并可进行搜索、删除、确认等操作;人员数据库存储了读书馆工作人员的数目,除了搜索、确认、删除外还能经行修改与分配权限的功能。动态结构:说明:启动系统后,必须登录后才能操作。没登陆成功会直接退出系统。成功后会显示主菜单,有退出、图书编目、图书入库、读者管理、查询、统计与系统管理这些选项。用户根据选项进行操作。6.2 基础维护模块【模块概述】该模块包含图书信息维护与读者信息维护两个子模块。其中图书信息维护模块用于维护图书信息,包括图书的添加,修改与删除操作;读者信息维护模块用于维护读者信息,包括读者的添加,修改与删除操作。询输入的图书号,登记借书。6.2.1 【模块接口】输入: 鼠标点击输入,读者信息(读者名,读者ID),图书信息(图书编号,图书名)输出:修改,删除,添加成功提示。或调出相应功能模块。6.2.2 【内部结构】静态结构:读者信息维护:说明:读者信息共包含:读者编号、读者姓名、读者性别、出生日期、读者账户与密码、最大可借数、可借天数、地址邮箱 等信息。行使借书、还书、搜索、更改密码、续借、评价等功能。图书信息维护:说明:图书馆资源分为实物书与电子书两类。其中实物书又分为书与杂志两类。所有资源都有图书编号、类型编号、图书名称、图书评分、信息描述、图书封面的信息。实体书除此之外还有库存位置、数量、价格、作者、出版社的信息,能经行删除实书的操作;电子书有价格、大小、地点信息,能进行删除与下载的操作。动态结构:读者信息维护:说明: 如果系统管理员需要增加新的借阅者账户,首先需要登录系统,验证身份成功后,向数据库添加新的借阅者信息等系统检查账户合格后,系统自动初始化新的借阅者信息并返回读者账户信息,然后系统管理员将开设的新账户给读者,完成新的账户注册。图书信息维护:时序图:说明: 当有新的书籍需要添加时,首先系统管理员需要登录系统,完成身份验证,然后向数据库添加新的书籍的数目信息,向书库添加新书籍的信息,等添加成功后系统数据库会自动更新,返回添加新书数目,添加新书成功。说明: 当系统管理员需要删除某本书的数目信息时,先登录系统进行身份验证,然后在数据库里删除此书的数目,并删除此书馆藏信息,等删除信息返回后系统自动更新数目信息,删除成功。流程图:6.3 借阅管理模块【模块概述】该模块包含借书,还书,预约及续借四个子模块。其中,借书模块用于实现读者借书操作,还书子模块用于实现读者还书操作。预约用于预约相应书籍,续借用于延长归还书的时间。6.3.1 【模块接口】输入:用户鼠标输入,图书信息,用户信息输出:成功提示6.3.2 【内部结构】静态结构:图书资源类:说明:图书馆资源分为实物书与电子书两类。其中实物书又分为书与杂志两类。所有资源都有图书编号、类型编号、图书名称、图书评分、信息描述、图书封面的信息。实体书除此之外还有库存位置、数量、价格、作者、出版社的信息,能经行删除实书的操作;电子书有价格、大小、地点信息,能进行删除与下载的操作。动态结构:借阅处理时序图:说明: 当读者从图书管理员处借书时,图书管理员首先登录系统完成身份验证,读者向图书管理员发出借书请求,图书管理员输入读者的信息(ID),记录读者借书,返回读者信息,然后图书管理员再输入读者要借阅的书的信息(ID),系统自动标记此书已被借出,返回该书信息,借阅成功,图书管理员将书籍递于读者。还书处理时序图:说明: 当读者想要归还某本书时,图书管理员需要首先登录系统,完成身份验证,等读者发出还书请求后,图书管理员将所还的书籍的信息(ID)输入系统,系统自动标记此书已还,然后告知读者该书已还,此时系统会自动更新该书此时的状态,还书成功,然后图书管理员将书归还书库,完成还书操作。预约处理时序图:说明: 如果读者想预约某本书籍,首先登录系统,进行身份验证,确认之后读者可在终端机上输入想要预约的书籍的信息(ID),等预约成功后系统会自动返回终端机界面,完成书籍的预约。说明:启动系统后,会显示主菜单。用户选择退出、查询、远程预约、远程续借四个选项其中一个选项。如选择退出,直接退出系统了;如选择查询,在输入查询要求后,系统显示查询结果后会回到主菜单;在选择远程预约或远程续借后,用户输入记录,如果有效系统自动更新库文件回到主菜单,如果无效直接会主菜单。6.4 查询模块【模块概述】该模块包含图书信息查询与读者信息查询两个子模块。其中,图书信息查询模块用于查询所有的图书信息,并且可以指定条件查询;读者信息查询子模块用于查询所有的读者信息,并且也可以指定条件进行查询。6.4.1 【模块接口】输入:图书标号,图书特定信息,读者特定信息输出:图书信息,读者信息6.4.2 【内部结构】静态结构:图书资源类:说明:图书馆资源分为实物书与电子书两类。其中实物书又分为书与杂志两类。所有资源都有图书编号、类型编号、图书名称、图书评分、信息描述、图书封面的信息。实体书除此之外还有库存位置、数量、价格、作者、出版社的信息,能经行删除实书的操作;电子书有价格、大小、地点信息,能进行删除与下载的操作。动态说明: 如果读者想要了解某本书当前的借阅状态,想要查询一些书籍的信息,首先需要登录系统,进行身份验证,身份确认后使用终端机查询相关书籍,系统自动给出相关书籍的信息与馆藏地点,然后读者就可以到相应的馆藏地点找自己想要的书籍了。流程图:说明:用户进入系统登陆,没成功直接退出。成功后进入系统,显示主菜单。能进行退出、录入、修改、删除其中一项操作。如选择录入,用户输入记录,确认成功后更新库文件后回到主菜单,确认失败后直接回主菜单。如选择修改与删除,系统会自动查找并显示记录,用户确定修改或者删除操作,成功后更新库文件回到主菜单,用户取消会直接回主菜单。6.5 评分评论管理模块【模块概述】该模块包含评论及评分两个子模块。其中,评论子模块主要用于用户对图书评分的管理及记录。评分子模块,主要用于管理用户对于书籍的评分。6.5.1 【模块接口】输入:评论,书籍评分输出:评论,评分成功提示6.5.2 【内部结构】静态图:说明:读者信息共包含:读者编号、读者姓名、读者性别、出生日期、读者账户与密码、最大可借数、可借天数、地址邮箱 等信息。行使借书、还书、搜索、更改密码、续借、评价等功能。动态结构:时序图:说明: 当读者阅读完某本书并且想对该书进行评价与评分时,读者首先需要登录系统,进行身份验证,等身份确认之后,读者可进入图书评分与评价界面对相应的图书进行评分与评价,系统在同时会将该书的评分与评价进行自动更新。6.6 还书提醒管理模块【模块概述】该模块主要实现对于未归还图书且图书即将到期的用户,登录提醒或离线提醒。6.6.1 【模块接口】输入:用户信息输出:用户借阅信息,提示还书信息6.6.2 【内部结构】静态结构:说明:读者信息共包含:读者编号、读者姓名、读者性别、出生日期、读者账户与密码、最大可借数、可借天数、地址邮箱 等信息。行使借书、还书、搜索、更改密码、续借、评价等功能。动态结构:时序图:说明: 此项操作是图书管理员与系统自动进行的, 当读者从图书管理员处借书时,图书管理员首先登录系统完成身份验证,读者向图书管理员发出借书请求,图书管理员输入读者的信息(ID),记录读者借书,返回读者信息,然后图书管理员再输入读者要借阅的书的信息(ID),系统自动标记此书已被借出并在同时系统会自动生成该书需要归还的最迟日期,返回该书信息,借阅成功,图书管理员将书籍递于读者。等书籍的归还日期快要到时,如果书籍的归还信息还没有更新则系统会自动向该书读者发出还书提醒,以免读者忘记还书。6.7 系统管理模块【模块描述】该模块包含系统设置与退出系统两个子模块。其中,系统设置子模块用于对及系统参数的设置包括有界面文字设置(包括设置文字大小颜色与字体选择,可仿照Word),主题风格设置(包括设置界面背景,界面切换方式,背景音乐?),模块格局设置(包括各个按钮、板块的位置的移动)与取消显示设置(包括取消某些按钮板块文字的显示);退出系统子模块用于实现系统退出。6.7.1 【模块接口】输入:用户鼠标输入输出:界面文字设置:有四个个下拉框以供选择字体,文字大小,文字颜色,每个下拉框有多个选项,鼠标点选之后界面随之改变(考虑到界面文字粗细与斜体这些没必要设计,故没有采用Word的这些功能)。主题风格设置:可设置界面背景与界面切换方式,也是两个下拉框以供选择,还有预览功能以显示点选的界面背景与切换方式,不点选保存主题风格不会进行改变。(如有背景音乐则还有一个下拉框供选择背景音乐,不设置播放器)模块格局设置:可随意改变各个板块的位置,进行个性化设计。显示为完整的界面,但是各个板块区分开并可进行移动,不点选保存不会做出更改。取消显示设置:可让界面上某些不需要显示的东西不再显示,对界面上的各板块都设置了两个选择(是或者否,是表示显示,否表示不显示),点选之后界面上的板块显示进行相应改变。退出系统模块:点选之后退出系统。6.7.2 【内部结构】动态结构: 该图书管理系统基本实现了图书管理、查询,用户借书、还书、管理等功能。界面简洁美观,但是在某些功能上还有待进一步改善