《图书管理系统详细设计说明书(共33页).doc》由会员分享,可在线阅读,更多相关《图书管理系统详细设计说明书(共33页).doc(33页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、精选优质文档-倾情为你奉上 学年论文(课程设计) 题目:图书管理系统详细设计说明书学 院 工商学院 学科门类 工学 专 业 软件工程 学 号 姓 名 李伟 指导教师 王思乐 2014年12月22日总版本V 1.0编号LMS版本LMS 1.0项目名称图书管理系统项目代码(LMS)Library Management System分项名称详细设计说明书分项代码03分项序号LMS 03组长梅艳涛负责人梅艳涛参与人梅艳涛 李伟 梁雪山 赵博深 文鹏 徐鹤松指导教师王思乐日期2014年12月22日开发单位2012软件工程河北大学学年论文(课程设计)任务书(指导教师用表)学 生 姓 名李伟指 导 教 师王
2、思乐论文(设计)题目图书管理系统-详细设计说明书主要研究(设计)内容 经过这个阶段的详细设计工作,应该得出对目标系统的精确描述,从而在编码阶段可以把这个描述直接翻译成用某种程序设计语言书写的程序。 研究方法课本软件工程导论上面介绍了很多关于项目详细设计的研究方法,通过小组讨论,主要采用程序流程图进行详细设计。主要任务及目标对图书管理系统进行详细设计,根本目标是确定应该怎样具体地实现所要求的系统,也就是说,经过这个阶段的设计工作,应该得出对目标系统的精确描述,从而在编码阶段可以把这个描述直接翻译成用某种程序设计语言书写的程序。主要参考文献数据库系统概论(第4版) 萨师煊 王珊 高等教育出版社软件
3、工程导论(第5版) 张海藩 清华大学出版社JAVA程序设计实用教程(第3版) 叶核亚 电子工业出版社进度安排论文(设计)各阶段名称日期问题定义第10周需求分析、概要设计第11周-第13周详细设计第14周-第15周实现第16周 指导教师签字:河北大学学年论文(课程设计)成绩评定表学院:工商学院 学生姓名李伟专业 年级2012级 软件工程论文(设计)题目图书管理系统详细设计说明书论文(设计)内容提要此文档是图书管理系统的详细设计说明书,该报告主要是得出对目标系统的精确描述。首先引言中介绍了设计该系统的目的,背景和所需要的参考资料;接下来用一系列图表列出本程序系统内的每个程序(包括每个模块和子程序)
4、的名称、标识符和它们之间的层次结构关系;然后逐个地给出各个层次中的每个程序的设计考虑,并给出其详细的程序描述、功能、性能、输入项、输出项、算法、流程逻辑、测试计划等说明。指导教师评语成绩: 指导教师(签名): 年 月 日1 引言1.1 编写目的根据需求规格说明书、概要设计说明书,经过分析和讨论,我们对图书馆管理系统进行了进一步的设计,作为详细设计说明书,为编写代码者提供了设计基础。 1.2 背景l 图书管理系统软件LMS V1.0;l 任务提出者:2012级软件工程开发者:2012级软件工程用 户:XXX大学图书馆 1.3 定义、缩写词、略语LMS:Library Management Sys
5、tem 图书管理系统1.4 参考资料【1】张海藩。软件工程导论(第五版)。清华大学出版社。2008。【2】萨师煊 王珊。数据库系统概论(第4版)。高等教育出版社。【3】叶核亚。JAVA程序设计实用教程(第三版)。电子工业出版社。2011。 2 程序系统的结构2.1总体设计2.2子系统设计(1)导借机(2)借阅机(3)管理机3 导借机子系统设计说明3.1 程序描述导借机子系统主要完成导借机功能,该子系统主要包括两个模块:书刊检索和查询。使用书刊检索模块实现书刊检索功能;使用查询模块实现对借阅情况以及学生信息的查询。3.2 功能导借机子系统需要实现的功能主要包括:使用书刊检索模块实现书刊检索功能;
6、使用查询模块实现对借阅情况以及学生信息的查询。3.3 性能完成书刊检索以及查询借阅信息和学生信息3.4 算法3.4.1 书刊检索模块(1)按条形码号检索子模块输入项:条形码号BookID;输出项: Struct图书信息 条形码号BookID; 图书类别Class; 书架号Bookshelves No; 书名BookName; 作者Author; 出版社Publisher; 借阅状况BookStatus; ;连接数据库;按条形码检索()Get(BookID);/接收用户输入的条形码IF 数据库存在此书显示该书信息Else提示错误信息;(2)按书名首字母检索子模块输入项:书名首字母;输出项:Str
7、uct图书信息 条形码号BookID; 图书类别Class; 书架号BookshelvesNo; 书名BookName; 作者Author; 出版社Publisher; 借阅状况BookStatus;连接数据库;按图书首字母检索()Get(图书首字母);/接收用户输入的图书首字母IF 数据库存在此书显示该书信息Else提示错误信息;(3)按书名检索子模块输入项:书名BookName;输出项:Struct 图书信息=条形码号BookID+图书类别Class+书架号Bookshelves No +书名BookName+作者Author+出版社Publisher+借阅状况BookStatus;连接数
8、据库;按书名检索()Get(BookName);/接收用户输入的内容IF 数据库存在此书显示该书信息Else提示错误信息;(4)按作者检索子模块输入项:作者Author;输出项:Struct 图书信息=条形码号BookID+图书类别Class+书架号Bookshelves No +书名BookName+作者Author+出版社Publisher+借阅状况BookStatus;连接数据库; 按作者检索()Get(Author);/接收用户输入的内容IF 数据库存在此书显示该书信息Else提示错误信息;(5)按出版社检索子模块输入项:出版社Publisher;输出项:Struct图书信息=条形码号
9、BookID+图书类别Class+书架号Bookshelves No +书名BookName+作者Author+出版社Publisher+借阅状况BookStatus;连接数据库;按出版社检索()Get(Publisher);/接收用户输入的内容IF 数据库存在此书显示该书信息Else提示错误信息;End IF3.4.2 查询模块(1)查询借阅情况子模块输入项:借书卡号Card No=“”-“”;输出项:Struct 借阅情况=借书卡号Card No+借阅书籍BookID+借书日期OutDate+还书日期InDate+赔偿钱数Compensation;连接数据库;Search_borrow()
10、Get(Card No);IF 借书卡号存在;Show(借阅信息);Else False;End IF(2)查询学生信息子模块输入项:借书卡号Card No=“”-“”输出项:Struct 学生信息=卡号Card No+学号ReaderID+姓名Name+年级Grade+专业Major+卡内余额Balance+是否注销Status;连接数据库;Search_stu()Get(Card No);IF 借书卡号存在Show(学生信息);Else False;End IF3.5 流程逻辑3.5.1 书刊检索模块3.5.2 查询模块3.6 接口3.6.1 用户接口向用户提供命令 软件回答对应信息书刊检
11、索 图书信息查询 学生查询 借阅情况 学生信息3.6.2 外部接口接口 传递信息数据库接口 图书信息 学生信息3.6.3 内部接口 接口 传递信息图书信息录入图书信息:(条形码号、图书类别、书架号、书名、作者、出版社、借阅状况)学生信息录入学生信息:(卡号、学号、姓名、年级、专业、是否注销、卡内余额)3.7 注释设计l 加在模块首部的注释/书刊检索模块,包括按条形码号检索子模块、按书名首字母检索子模块、按书名检索子模块、按作者检索子模块、按出版社检索子模块;/查询模块,包括查询借阅情况子模块、查询学生信息子模块; l 加在各分枝点处的注释/输入条形码号BookID;/输入书名首字母;/输入书名
12、BookName;/输入作者Author;/输入出版社Publisher;/输入借书卡号Card No;/输出图书信息;/输出借阅情况;/输出学生信息;l 对各变量的功能、范围、缺省条件等所加的注释;/图书信息=条形码号BookID+图书类别Class+书架号Bookshelves No +书名BookName+作者Author+出版社Publisher+借阅状况BookStatus;/借阅情况=借书卡号Card No+借阅书籍BookID+借书日期OutDate+还书日期InDate+赔偿钱数Compensation;/学生信息=卡号Card No+学号ReaderID+姓名Name+年级G
13、rade+专业Major+卡内余额Balance+是否注销Status;/借书卡号Card No=“”-“”;/条形码号BookID=“”-“”;3.8 限制条件书刊检索过程中,每次只能选择一种检索方式;进入查询时,验证卡号是否存在。3.9 测试计划进入书刊检索模块,按照不同的检索方式一一进行检索,测试是否出现某种方式无法进行检索,能否连接数据库,能否检索成功;预期结果:数据库连接正确,各个检索方式都能正常运行,能够成功地检索图书信息。进入查询模块,分别查询借阅情况和学生信息,测试借阅情况信息是否完整,是否正确,以及能否连接数据库,学生信息是否完整,是否正确;预期结果:数据库连接正确,能够显示
14、完整的、正确的借阅情况信息和学生信息。3.10 尚未解决的问题书刊检索过程中,每次只能选择一个检索方式,不能进行多条件检索。4 借阅机子系统设计说明4.1 程序描述借阅机子系统主要完成借阅机功能,该子系统主要包括三个模块:查询、借书和还书。使用查询模块实现查询学生信息和图书信息的功能;使用借书模块实现借书的功能;使用还书模块实现还书的功能。4.2 功能导借机子系统需要实现的功能主要包括:使用查询模块实现查询学生信息和图书信息的功能;使用借书模块实现借书的功能;使用还书模块实现还书的功能。4.3 性能完成查询学生信息和图书信息,以及借书和还书。4.4 算法4.4.1 查询模块(1)查询学生信息子
15、模块输入项:借书卡号Card No=“”-“”;输出项:Struct学生基本信息=卡号Card No+学号ReaderID+姓名Name+年级Grade+专业Major+卡内余额Balance+是否注销Status,借阅情况=借书卡号Card No+借阅书籍BookID+借书日期OutDate+还书日期InDate+赔偿钱数Compensation;连接数据库; Search_stu()Get(Card No);IF 借书卡号存在Show(学生信息);Else False;End IF(2)查询图书信息子模块与导借机子系统书刊检索模块的子模块和功能相同;4.4.2 借书模块输入项:借书卡号Ca
16、rd No、条形码号BookID、借书日期OutDate;输出项:Bool true/false;连接数据库;获取借阅情况信息;Borrow()Get(Card No,BookID,OutDate);IF借书证未登记入库THENReturn false;Else IF图书未登记入库THEN Return false; Else If 已借阅书籍=最大可借阅书籍数 Then Return false; Else If 卡内余额最大可借阅天数赔偿钱数=(还书日期-借书日期)最大可借阅天数每天的赔偿钱数;卡内余额=卡内余额-赔偿钱数;Show(赔偿钱数,卡内余额);Else return True;
17、/借书成功,更新数据库End If4.5 流程逻辑4.5.1 查询4.5.2 借书4.5.3 还书4.6 接口4.6.1 用户接口从用户接收命令 软件回答对应信息卡号 学生信息(学生基本信息、借阅情况信息) 图书信息 条形码号 借阅情况信息4.6.2 外部接口接口 传递信息数据库接口 图书信息 借阅情况信息 学生基本信息4.6.3 内部接口 接口 传递信息卡号借书卡号Card No=“”-“”条形码号条形码号BookID=“”-“”借书登记借书登记:(图书条形码号、学生学号、图书名称、借书卡号、借书时间、学生姓名)还书登记还书登记:(图书条形码号、图书名称、归还时间、借书卡号、学生学号、学生姓
18、名、是否异常)4.7 注释设计l 加在模块首部的注释/查询模块,包括查询学生信息子模块、查询学生信息子模块;/借书模块;/还书模块;l 加在各分枝点处的注释;/输入借书卡号Card No;/输入借书卡号Card No、条形码号BookID、借书日期OutDate;/输入借书卡号Card No、条形码号BookID、还书日期InDate;/输出学生基本信息;/输出借阅情况;/输出图书信息;/输出提示消息;l 对各变量的功能、范围、缺省条件等所加的注释;/借书卡号Card No=“”-“”;/条形码号BookID=“”-“”;/学生基本信息=卡号Card No+学号ReaderID+姓名Name+
19、年级Grade+专业Major+卡内余额Balance+是否注销Status;/借阅情况=借书卡号Card No+借阅书籍BookID+借书日期OutDate+还书日期InDate+赔偿钱数Compensation;4.8 限制条件因为条件不允许,只能通过手工操作来完成刷卡工作4.9 测试计划进入查询模块,输入一个符合条件的卡号,进行查询,测试能否正常连接数据库,显示信息是否完整、正确;预期结果:连接数据库正常,输入一个符合条件的卡号,显示的信息完整、正确。进入借书模块,扫描条形码号,测试能否正常连接数据库,是否能够显示完整的、正确的借阅情况信息,能否正常更新数据库;预期结果:连接数据库正常,
20、能够显示完整的、正确的借阅情况信息,并正常地更新数据库。进入还书模块,扫描条形码号,测试能否正常连接数据库,是否能够显示完整的、正确的借阅情况信息,能否正常更新数据库;预期结果:连接数据库正常,能够显示完整的、正确的借阅情况信息,并正常地更新数据库。4.10 尚未解决的问题刷卡工作因为条件不允许只能通过人工操作来模拟5 管理机子系统设计说明5.1 程序描述管理机子系统主要完成管理机功能,该子系统主要包括四个模块:管理员,图书上架,图书下架,一卡通。使用管理员模块实现注册管理员信息、删除管理员信息和修改管理员信息的功能;使用图书上架模块实现录入图书信息的功能;使用图书下架模块实现删除图书信息的功
21、能;使用一卡通模块实现办卡、退卡、充值和打印凭证的功能。这个子系统把所有的管理任务结合到一起,可以更加有效的组织和管理,使得管理更加的便捷和系统化。5.2 功能管理机子系统需要实现的功能主要包括:(1)对管理员的管理。此模块可以实现当有新的管理员入馆工作时添加管理员信息,当有管理员辞职或调离时完成对此管理员信息的删除操作,期间还可以对当前的管理员信息做修改操作。(2)图书的上下架。当图书入库,出库时完成对图书信息的更新。(3)办卡。此模块完成办卡,退卡,卡内充值业务,同时更新学生的个人信息。5.3 性能1数据精确度 添加数据信息时保证准确率,添加的信息能准确的添加到后台数据库中。 删除时能保证
22、准确率,所有删除能正确存入数据库中。2时间特性 一般操作的响应时间应在23秒内,删除时间应根据所删除内容尽量缩短 时间。3适应性满足运行环境在允许操作系统之间的安全转换和与其它应用软件的独立运行要求。4 数值需求 管理员数目 15; 图书的存储量做不限制; 已注册办卡的学生数量不做限制;5其它需求有一定的安全性,防止人为地破坏数据库,防止他人利用非法手段盗取数据信息,设置一定的权限,防止非法操作。5.4 算法登陆模块Login()Get (Worker ID,Password);IF 管理员信息验证正确Main();Else False;5.4.1 管理员模块(1)注册子模块输入项:管理员=姓
23、名Worker Name+工号Worker Id+密码Password+权限Level;输出项:Bool True/False;连接数据库;Sign in()Get(管理员信息);IF 输入信息=NULLReturn false;Else Return true;/更新数据库信息(2)删除子模块输入项:管理员=姓名Worker Name+工号Worker Id+密码Password+权限Level;输出项:Bool True/False;连接数据库;Delete()Get (需要删除的管理员信息);IF 管理员信息不存在Return FalseElse Return true;/完成删除(3)
24、修改子模块输入项:管理员=姓名Worker Name+工号Worker Id+密码Password+权限Level;输出项:Bool True/False;连接数据库;Modify()Get(管理员信息);IF 管理员信息不存在Return FalseElse Return true;/更新数据库,完成修改5.4.2 图书上架模块输入项:管理员=姓名Worker Name+工号Worker Id+密码Password+权限Level,图书信息=条形码号Book ID+图书类别Class+图书名称Book Name+书架号Bookshelves No+作者Author+出版社Publisher;
25、输出项:Bool True/False;连接数据库;图书上架()Get(图书信息);Return True;/更新数据库信息5.4.3 图书下架模块输入项:管理员=姓名Worker Name+工号Worker Id+密码Password+权限Level,图书信息=条形码号BookID+图书类别Class+图书名称BookName+书架号Bookshelves No+作者Author+出版社Publisher;输出项:Bool True/False;连接数据库;图书下架()Get (要删除的图书信息);IF 此书不存在Return False;Else Return True;/更新数据库5.4
26、.4 一卡通模块(1)办卡子模块输入项:学生信息=卡号+姓名+学号+年级+专业+卡内余额+押金;输出项:bool True/False;连接数据库;办卡()Get(学生信息);Return true;/更新数据库信息(2)退卡子模块输入项:退卡信息=卡号+卡内余额+注销操作;输出项:bool True/False;连接数据库;注销( )Get(退卡信息);IF 此卡不存在Return false;Else return True;/更新数据库(3)充值子模块输入项:充值信息=卡号+充值金额Recharge Money+充值时间Recharge Time;输出项:Bool True/False;
27、连接数据库;充值()Get(充值信息);Return True;/更新数据库Print()/打印信息;5.5 流程逻辑5.6项目运行架构退卡办卡查询充值管理员查询学生管理员管理管理员浏览还书借书图书上下架5.7 接口5.7.1 用户接口向用户提供命令 软件回答对应信息学生信息 办卡成功,退卡成功,充值成功,打印凭证5.7.2 外部接口接口传递信息硬件接口与打印机接口充值信息软件接口与数据库接口图书信息,学生信息5.7.3 内部接口 接口 传递信息添加管理员信息管理员信息:(姓名、编号、密码、权限)修改管理员信息管理员信息:(姓名、编号、密码、权限)删除管理员信息管理员信息:(姓名、编号、密码、
28、权限)办卡学生信息:(学号、姓名、专业、年级、借书卡号、卡内余额、卡状态)退卡学生信息:(学号、姓名、专业、年级、借书卡号、卡内余额、卡状态)充值充值信息:(条形码号、充值金额、充值时间)5.8 注释设计l 加在模块首部的注释/管理员模块,实现管理员信息的添加,删除,修改操作;/图书上架模块,实现图书信息的添加操作;/图书下架模块,实现图书信息的删除操作;/一卡通模块,实现办卡,退卡,充值操作;l 加在各分枝点处的注释;/输入管理员工号和密码;/添加管理员信息;/删除管理员信息;/修改管理员信息;/添加图书信息;/删除图书信息;/办卡;/退卡;/充值;/打印凭证;l 对各变量的功能、范围、缺省
29、条件等所加的注释;/管理员=姓名Worker Name+工号Worker Id+密码Password+权限Level;/图书信息=条形码号BookID+图书类别Class+图书名称BookName+书架号Bookshelves No+作者Author+出版社Publisher;/学生信息:学号+姓名+专业+年级+借书卡号+卡内余额+卡状态;/充值信息=条形码号BookID+充值金额Recharge Money+充值时间Recharge Time;5.9 限制条件由于条件和技术不支持,收取押金和退还押金需要人工操作;同一台管理机,每次只能允许一个管理员进入;5.10 测试计划进入管理员模块,输入
30、一个正确的工号和密码,依次进行注册、修改、删除管理员信息,测试能否正常连接数据库,操作能否成功;预期结果:连接数据库正常,输入一个正确的工号和密码,注册、修改和删除管理员信息均能操作成功。进入图书上架模块,输入一个正确的工号和密码,添加一本图书的图书信息,测试能否正常连接数据库,能否正常更新数据库;预期结果:连接数据库正常,成功添加图书信息,并正常地更新数据库。进入图书下架模块,输入一个正确的工号和密码,删除一本图书的图书信息,测试能否正常连接数据库,能否正常更新数据库;预期结果:连接数据库正常,成功删除图书信息,并正常地更新数据库。进入办卡模块,输入一个正确的工号和密码,依次进行办卡、退卡以及充值操作,测试能否正常连接数据库,以上操作能否成功,能否成功地打印凭证。预期结果:连接数据库正常,输入一个正确的工号和密码,办卡、退卡和充值均能操作成功,并能成功地打印凭证。5.11尚未解决的问题由于条件和技术不支持,收取押金和退还押金需要人工操作;同一台管理机,每次只能允许一个管理员进入;专心-专注-专业