1、61图书管理系统详细设计说明书详细设计说明书1引言1。1编写目的图书管理系统详细设计阶段的主要任务是在图书管理系统概要设计书基础上,对概要设计中产生的功能模块进行过程描述,设计功能模块的内部细节,包括算法和详细数据结构,为编写源代码提供必要的说明。概要设计解决了软件系统总体结构设计的问题,包括整个软件系统的结构、模块划分、模块功能和模块间的联系等。详细设计则要解决如何实现各个模块的内部功能,即模块设计.具体的说,模块设计就是要为已经产生的图书管理各子系统设计详细的算法。但这并不等同于系统实现阶段用具体的语言编码,它只是对实现细节作精确的描述,这样编码阶段就可以将详细设计中对功能实现的描述,直接
2、翻译、转化为用某种程序设计语言书写的程序。1.2背景本项目的名称:图书管理系统本项目的提出者:软件工程课程教师-本项目开发者:宾亚、刘飞、谭艳本项目的用户:读者、图书管理员1。3定义SQL Server:数据库管理软件DBMS:数据库管理系统Windows 2000/2003/XP:运行环境ASP:软件开发语言Macromedia Dreamweaver 8:开发工具1。4参考资料软件工程导论(第五版) 张海藩编著 清华大学出版社 2008年2月第5版数据库系统概论(第四版) 王珊 萨师煊 高等教育出版社 2006年5月第4版2程序系统的结构依据软件工程的基本原理,详细设计阶段的根本任务是确定
3、应该怎样具体实现所要求的系统,也就是说,经过这个阶段的设计工作,应该得出对目标系统的精确描述,从而在系统实现阶段可以把这个描述直接翻译成用某种程序设计语言书写的程序。具体来说就是把经过总体设计得到的各个模块详细的加以描述。由于本系统采用Macromedia Dreamweaver 8作为开发工具,ASP作为开发语言,在此给出软件系统的主程序流程图,如图2。1所示。根据以上主程序的流程图,我们可以得出下面的关于各个模块的程序流程图,如下图所示。3图书管理系统程序设计说明3.1程序描述本系统主要功能的程序描述如下:1.借阅功能的程序描述:%dim uid,bidbid=request(”id)ui
4、d=request(userid)if uid=” thenresponse.write alert(session已经过期,请重新登陆);window.location。href=login.asp/script”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 ”alert(这本书你已经借过了咯);window。locat
5、ion.href=book。asp?query=all_book/script”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。updatesql=insert into t
6、able 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 scriptalert(借书成功);window。location.href=my_borrow。asp?id=”&uid&/script
7、”elseresponse.write ”scriptalert(没有借书余额咯);history。go(-1)end ifend ifend if2.还书功能程序描述:%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 o
8、r rs。BOF thenresponse。write scriptalert(输入错误);history。go(1)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=”&reque
9、st(booktype)&rs。open sql,db,1,3 if not rs.eof or not rs。bof thenresponse。write script language=javascriptalert(已经有这个分类);history。back(-1)/scriptelsers。addnewrs(”booktype”)=request(booktype”)rs.updaters。closeset rs=nothingresponse.redirect (”book。asp?query=all_type”)end ifelse如果分类增加得到确认但是没有数据,提示输入if r
10、equest(add”)=”add thenresponse.write script language=javascriptalert(分类增加得到确认但是没有数据,提示输入);history.back(-1)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 boo
11、k 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 scriptalert(删除成功);window.location.href=book.asp?query=all_typealert(分类下存在书,不能删除);window.location.href=book.asp?query=books_of_typebooktype=&rs
12、1(booktype”)/script”end ifelse3。2功能3。2。1 功能需求(一) 3。2。1。1 规格说明 读者登记,即输入读者的具体信息。 3。2。1.2 引言 为了把读者的具体信息(包括:姓名,密码,状态,借书数,信箱等) 写入读者目录文件中. 3.2。1。3 输入 读者具体信息. 3。2。1.4 处理 通过图书管理系统写入读者目录文件中。 3。2。1.5 输出 读者具体信息.3。2。2 功能需求(二)3.2。2.1 规格说明 输入新书的全部信息。 3.2。2.2 引言 为了输入新书的全部信息(包括:书号、书名、分类、作者、出版社、价格、数量、出版日期等)。 3。2.2.3
13、 输入 新书的全部信息. 3.2.2.4 处理 通过图书管理系统写入图书目录文件中. 3。2。2。5 输出 新书信息的全部内容。3.2.3 功能需求(三) 3.2.3.1 规格说明 查询图书的信息。 图书管理系统软件需求分析 3.2。3.2 引言 为了查找图书的相关信息。 3。2。4。3 输入 图书信息的关键字(图书分类号和书名). 3。2。3。4 处理 利用关键字在图书目录文件中找到此图书分类号或书名图书的相关信息。 3。2。3。5 输出 图书的相关信息。 3。2。4 功能需求(四) 3。2.4.1 规格说明 输入读者借书信息. 3。2。4。2 引言 为了把读者借书的相关信息(包括:图书名、
14、分类、借阅日期等)写入借书文件中。 3.2.4.3 输入 读者借书信息。 3。2.4.4 处理 通过图书管理系统写入借书文件中。 3.2.4.5 输出 读者借书信息的全部内容 3。3性能3.3.1 精度需求 在精度需求上,根据使用需要,在各项数据的输入,输出及传输过程中,可以满足各种精度的需求。 33。2 时间需求 在软件方面,响应时间,更新处理时间都比较快且迅速,完全满足用户要求。 3.3.3 灵活性 当用户需求,如操作方式,运行环境,结果精度,数据结构于其他软件接口等发生变化时,设计的软件要做适当调整,灵活性非常大。3.3。4故障处理 a. 内部故障处理 在开发阶段可以随即修改数据库里的相
15、应内容. b. 外部故障处理 对编辑的程序进行调试,遇到错误信息,根据错误信息修改程序再调试,直至功能实现为止。说明对该程序的全部性能要求,包括对精度、灵活性和时间特性的要求。3.4输人项给出对每一个输入项的特性,包括名称、标识、数据的类型和格式、数据值的有效范围、输入的方式。数量和频度、输入媒体、输入数据的来源和安全保密条件等等.3.3.1 主模块输入项目:操作系统传递至的各种消息以及用户的输入数据。3。3.2用户管理模块输入项目:与用户管理操作有关的用户输入及系统消息。3。3。3 图书管理模块输入项目:书号.3。3.4 借阅管理模块输入项目:学生学号、书号.3。3。5归还管理模块输入项目:
16、图书号。3.5输出项3。5。1 主模块输出项目:用户界面显示。3。5。2 用户管理模块输出项目:操作结果显示.3.5。3 图书管理模块输出项目:相应的界面。3.5.4 借阅管理模块输出项目:学生信息、相关借书信息。3.5。5归还管理模块输出项目:相关学生信息。3。6算法本系统是一个B/S模式的管理系统。没有涉及到复杂的算法。简单的编程就能实现3.7流程逻辑本系统的总体程序流程图如下:3。7。1登陆模块人机界面设计:系统响应时间:用户或管理人员登陆的响应时间应稳定在1s左右;出错信息处理:若用户或管理人员输入的帐号和密码不匹配或输入不存在的帐号,系统应友好进行提示,如提示请重新输入!过程设计:盒
17、图:输入帐号输入密码判断密码是否正确显示该用户信息,等待继续操作提示错误信息,返回登陆界面判定表:帐号正确密码匹配登陆成功返回登陆界面3。7。2用户登记a)程序描述实现用户信息登记功能b)输入项用字符串表示的汉字,字符串最大长度是10;整数类型的数字和时间类型的日期c)输出项用字符串表示的汉字,字符串最大长度是10;整数类型的数字和时间类型的日期3.7.3图书添加a)程序描述 实现图书登记的功能b)输入项 用字符串表示的汉字或英文,字符串最大长度是20;数值型的数字c)输出项 用字符串表示的汉字或英文,字符串最大长度是20;数值型的数字3。7.4图书查询程序设计 a)程序描述 实现查书功能.b
18、) 输入项用字符串表示的汉字或英文,字符串的最大长度为40个字符。输入方式为标准输入。c) 输出项用字符串表示的汉字或英文,字符串的最大长度为40个字符。输出方式为标准输出。3.7.5借阅登记a) 程序描述实现借阅功能b) 输入项用字符串表示的汉字或英文,字符串的最大长度为40个字符。输入方式为标准输入。c) 输出项用字符串表示的汉字或英文,字符串的最大长度为40个字符。输出方式为标准输出。3。8接口3.8.1 外部接口按Windows应用软件用户界面的规范来设计,使用以对话框为主的用户界面,便于用户使用.3.8。2 内部接口模块间接口采用数据耦合方式,通过参数表传送数据,交换信息。3.8。3
19、用户接口本产品的用户一般需要通过终端进行操作,进入主界面后点击相应的窗口,分别进入相对应的界面(如:输入界面、输出界面).用户对程序的维护,最好要有备份。3.9存储分配根据需要,本程序的存储分配情况如下:3.9.1 图书文件的存储分配3.9.2用户信息文件的存储分配3.9.3借书信息文件的存储分配3.10注释设计本程序将在以下情形添加注释,如:a在模块首部添加注释;b在各分枝点处添加注释;c对各变量的功能、范围、缺省条件等添加注释;d对使用的逻辑添加注释等等。3。11限制条件3.11.1 技术约束 本项目的设计是在汉语程序设计语言的条件下进行的,技术设计采用软硬一体化的设计方法。 3.11.2
20、 环境约束 运行该软件所适用的具体设备必须是奔腾133、内存16兆以上的计算机;3.11.3 标准约束 该软件的开发完全按照企业标准开发,包括硬件、软件和文档规格3.11。4 硬件限制 奔腾133 、内存16兆以上PC机满足输入端条件。3。12测试计划3.12。1测试方案采用黑盒测试方法,整个过程采用自底向上,逐个集成的办法,依次进行,单元测试,组装测试等。3.12。2测试项目测试1:名称:系统操作登录测试目的:测试系统操作界面内容:帐号口令输入,合理性检查,合法性检查,系统操作界面显示控制 测试2:名称:出借测试目的:测试出借功能 内容:图书信息,合理性检查,合法性检查,借书登记测试3:名称:还书测试 目的:测试还书功能 内容:用户号,书号,合理性检查,合法性检查,还书登记测试4:名称:图书管理测试目的:测试图书管理功能内容:图书管理界面显示控制,图书浏览,新增图书记录测试5:名称:图书查询测试目的:测试图书查询功能内容:图书查询显示界面控制,输入数据合理性检查,提交,图书查询结果显示3.13尚未解决的问题图书的预览功能因为缺乏实体书的电子版来进行存储,还为能完全实现;设计技术有限,界面美化工作做得还不够完.
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1