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

.1引言21.1编写目的21.2背景21.3定义21.4参考资料22图书管理系统的构造23 图书管理系统程序设计说明23.1程序描述33.2功能33.3性能33.4输人项33.5输出项33.6算法33.7流程逻辑33.8接口33.9存储分配43.10注释设计43.11限制条件43.12测试方案43.13尚未解决的问题4优选. -详细设计说明书1引言1.1编写目的图书管理系统详细设计阶段的主要任务是在图书管理系统概要设计书根底上,对概要设计中产生的功能模块进展过程描述,设计功能模块的部细节,包括算法和详细数据构造,为编写源代码提供必要的说明概要设计解决了软件系统总体构造设计的问题,包括整个软件系统的构造、模块划分、模块功能和模块间的联系等详细设计那么要解决如何实现各个模块的部功能,即模块设计具体的说,模块设计就是要为已经产生的图书管理各子系统设计详细的算法但这并不等同于系统实现阶段用具体的语言编码,它只是对实现细节作准确的描述,这样编码阶段就可以将详细设计中对功能实现的描述,直接翻译、转化为用某种程序设计语言书写的程序。
1.2背景本工程的名称:图书管理系统本工程的提出者:"软件工程"课程教师——本工程开发者:宾亚、飞、谭艳本工程的用户:读者、图书管理员1.3定义SQL Server:数据库管理软件DBMS:数据库管理系统Windows 2000/2003/XP:运行环境ASP:软件开发语言Macromedia Dreamweaver 8:开发工具1.4参考资料"软件工程导论"〔第五版〕 海藩编著 清华大学 2021年2月第5版"数据库系统概论"〔第四版〕 王珊 萨师煊 高等教育 2006年5月第4版2程序系统的构造依据软件工程的根本原理,详细设计阶段的根本任务是确定应该怎样具体实现所要求的系统,也就是说,经过这个阶段的设计工作,应该得出对目标系统的准确描述,从而在系统实现阶段可以把这个描述直接翻译成用某种程序设计语言书写的程序具体来说就是把经过总体设计得到的各个模块详细的加以描述由于本系统采用Macromedia Dreamweaver 8作为开发工具,ASP作为开发语言,在此给出软件系统的主程序流程图,如图2.1所示根据以上主程序的流程图,我们可以得出下面的关于各个模块的程序流程图,如以下图所示。
3图书管理系统程序设计说明3.1程序描述本系统主要功能的程序描述如下:- .word.zl. -1.借阅功能的程序描述:<%dim uid,bidbid=request("id")uid=request("userid")if uid=" thenresponse.write ""else'判断是否借过aa="select * from loans where uid="&uid&" and bid="&bidset xgw=server.CreateObject("adodb.recordset")xgw.open aa,db,1,3if not xgw.eof then response.write ""elsesq="select * from u where id="&uidset qq=db.execute(sq)if qq("loan_num")<="8" then'插入数据向loansset rs=server.CreateObject("adodb.recordset")sql="select * from loans"rs.open sql,db,1,3rs.addnewrs("uid")=uidrs("bid")=bidrs("time")=date()rs("loan_")=1rs.update'sql="insert into table loans ([uid],[bid],[time])values('"&uid&"','"&r_id&"','"&date&"')"'db.execute(sql)'更新book表sql1="update book set [num]=[num]-1 where id="&biddb.execute(sql1)'update table usql2="update u set [loan_num]=[loan_num]+1 where id="&uiddb.execute(sql2)response.write ""elseresponse.write ""end ifend ifend if%>2.还书功能程序描述:<%if request("id")<>" and request("uid")<>" thendim id,uidid=request("id")uid=request("uid")'验证输入正确性sql="select * from loans where uid='"&uid&"' and bid='"&id&"'"set rs=server.CreateObject("adodb.recordset")rs.Open sql,db,1,3if rs.EOF or rs.BOF thenresponse.write ""else'table book value of num + 1db.execute("update book set [num]=[num]+1 where id="&id)'u loan_num -1db.execute("update u set [loan_num]=[loan_num]-1 where id="&uid)db.execute("delete from loans where uid="&uid&" and bid="&id ) response.write ""response.End()end ifelse%>3.添加图书分类功能程序描述:<%'图书分类添加 过程:如果请求操作是分类增加,首先判断是否有请求类型,有的话执行添加,没有就执行输入类型if request("query")="type_add" thenif request("booktype")<>" then set rs=server.createobject("adodb.recordset")sql="select * from booktype where booktype='"&request("booktype")&"'"rs.open sql,db,1,3 if not rs.eof or not rs.bof thenresponse.write ""elsers.addnewrs("booktype")=request("booktype")rs.updaters.closeset rs=nothingresponse.redirect ("book.asp"query=all_type")end ifelse'如果分类增加得到确认但是没有数据,提示输入if request("add")="add" thenresponse.write ""end if%>4.删除图书分类程序描述:<%'分类删除 确认该分类下已经没有图书了再删除该分类if request("query")="type_del" thenif request("id")<>" thensql1="select * from booktype where id ="&request("id")set rs1=db.execute(sql1)qq="select * from book where booktype='"&rs1("booktype")&"'"set rq=db.execute(qq)if rq.eof or rq.bof thensql="delete from booktype where id ="&request("id")db.execute(sql)response.write ""else '分类下存在书,跳到该分类下的书,如果还想继续删除该分类的话response.write ""end ifelse%>- .word.zl. -3.2功能 功能需求〔一〕 .1 规格说明 读者登记,即输入读者的具体信息。
.2 引言 为了把读者的具体信息(包括:,密码,状态,借书数,信箱等) 写入读者目录文件中 .3 输入 读者具体信息 .4 处理 通过图书管理系统写入读者目录文件中 .5 输出 读者具体信息 功能需求〔二〕.1 规格说明 输入新书的全部信息 3.2..2.2 引言 为了输入新书的全部信息〔包括:书号、书名、分类、作者、、价格、数量、出版日期等〕 .3 输入 新书的全部信息 .4 处理 通过图书管理系统写入图书目录文件中 .5 输出 新书信息的全部容 功能需求〔三〕 .1 规格说明 查询图书的信息 图书管理系统软件需求分析 .2 引言 为了查找图书的相关信息 .3 输入 图书信息的关键字〔图书分类号和书名〕 .4 处理 利用关键字在图书目录文件中找到此图书分类号或书名图书的相关信息 .5 输出 图书的相关信息 功能需求〔四〕 .1 规格说明 输入读者借书信息 .2 引言 为了把读者借书的相关信息〔包括:图书名、分类、借阅日期等〕写入借书文件中 .3 输入 读者借书信息。
.4 处理 通过图书管理系统写入借书文件中 .5 输出 读者借书信息的全部容 3.3性能 精度需求 在精度需求上,根据使用需要,在各项数据的输入,输出及传输过程中,可以满足各种精度的需求 33.2 时间需求 在软件方面,响应时间,更新处理时间都比较快且迅速,完全满足用户要求 灵活性 当用户需求,如操作方式,运行环境,结果精度,数据构造于其他软件接口等发生变化时,设计的软件要做适当调整,灵活性非常大故障处理 a. 部故障处理 在开发阶段可以随即修改数据库里的相应容 b. 外部故障处理 对编辑的程序进展调试,遇到错误信息,根据错误信息修改程序再调试,直至功能实现为止说明对该程序的全部性能要求,包括对精度、灵活性和时间特性的要求3.4输人项给出对每一个输入项的特性,包括名称、标识、数据的类型和格式、数据值的有效围、输入的方式数量和频度、输入媒体、输入数据的来源和平安条件等等 主模块输入工程:操作系统传递至的各种消息以及用户的输入数据用户管理模块输入工程:与用户管理操作有关的用户输入及系统消息 图书管理模块输入工程:书号 借阅管理模块输入工程:学生学号、书号归还管理模块输入工程:图书号。
3.5输出项 主模块输出工程:用户界面显示 用户管理模块输出工程:操作结果显示 图书管理模块输出工程:相应的界面 借阅管理模块输出工程:学生信息、相关借书信息归还管理模块输出工程:相关学生信息3.6算法本系统是一个B/S模式的管理系统没有涉及到复杂的算法简单的编程就能实现3.7流程逻辑本系统的总体程序流程图如下:登陆模块人机界面设计:系统响应时间:用户或管理人员登陆的响应时间应稳定在1s左右;出错信息处理:假设用户或管理人员输入的和密码不匹配或输入不存在的,系统应友好进展提示,如提示"请重新输入!〞过程设计:盒图:输入输入密码判断密码Y是否正确N显示该用户信息,等待继续操作.提示错误信息,返回登陆界面.判定表:123正确TTF密码匹配TF登陆成功×返回登陆界面××用户登记a) 程序描述实现用户信息登记功能b) 输入项用字符串表示的汉字,字符串最大长度是10;整数类型的数字和时间类型的日期c) 输出项用字符串表示的汉字,字符串最大长度是10;整数类型的数字和时间类型的日期图书添加a) 程序描述 实现图书登记的功能b) 输入项 用字符串表示的汉字或英文,字符串最大长度是20;数值型的数字c) 输出项 用字符串表示的汉字或英文,字符串最大长度是20;数值型的数字3.7.4图书查询程序设计 a〕程序描述 实现查书功能。
b) 输入项用字符串表示的汉字或英文,字符串的最大长度为40个字符输入方式为标准输入c) 输出项用字符串表示的汉字或英文,字符串的最大长度为40个字符输出方式为标准输出3.7.5借阅登记a) 程序描述实现借阅功能b) 输入项用字符串表示的汉字或英文,字符串的最大长度为40个字符输入方式为标准输入c) 输出项用字符串表示的汉字或英文,字符串的最大长度为40个字符输出方式为标准输出3.8接口 外部接口按Windows应用软件用户界面的规来设计,使用以对话框为主的用户界面,便于用户使用 部接口模块间接口采用数据耦合方式,通过参数表传送数据,交换信息用户接口本产品的用户一般需要通过终端进展操作,进入主界面后点击相应的窗口,分别进入相对应的界面(如:输入界面、输出界面)用户对程序的维护,最好要有备份3.9存储分配根据需要,本程序的存储分配情况如下: 图书文件的存储分配用户信息文件的存储分配借书信息文件的存储分配3.10注释设计本程序将在以下情形添加注释,如:a. 在模块首部添加注释;b. 在各分枝点处添加注释;c. 对各变量的功能、围、缺省条件等添加注释;d. 对使用的逻辑添加注释等等3.11限制条件 技术约束 本工程的设计是在汉语程序设计语言的条件下进展的,技术设计采用软硬一体化的设计方法。
环境约束 运行该软件所适用的具体设备必须是奔腾133、存16兆以上的计算机; 标准约束 该软件的开发完全按照企业标准开发,包括硬件、软件和文档规格 硬件限制 奔腾133 、存16兆以上PC机满足输入端条件3.12测试方案测试方案采用黑盒测试方法,整个过程采用自底向上,逐个集成的方法,依次进展,单元测试,组装测试等测试工程测试1:名称:系统操作登录测试目的:测试系统操作界面容:口令输入,合理性检查,合法性检查,系统操作界面显示控制 测试2:名称:出借测试目的:测试出借功能 容:图书信息,合理性检查,合法性检查,借书登记测试3:名称:还书测试 目的:测试还书功能 容:用户号,书号,合理性检查,合法性检查,还书登记测试4:名称:图书管理测试目的:测试图书管理功能容:图书管理界面显示控制,图书浏览,新增图书记录测试5:名称:图书查询测试 目的:测试图书查询功能容:图书查询显示界面控制,输入数据合理性检查,提交,图书查询结果显示3.13尚未解决的问题图书的预览功能因为缺乏实体书的电子版来进展存储,还为能完全实现;设计技术有限,界面美化工作做得还不够完。
教育之通病是教用脑的人不用手,不教用手的人用脑,所以一无所能教育革命的对策是手脑联盟,结果是手与脑的力量都可以大到不可思议 .word.zl。