6[1].图书管理系统详细设计说明书

6[1].图书管理系统详细设计说明书

1引言 (3)

1.1编写目的 (3)

1.2背景 (3)

1.3定义 (4)

1.4参考资料 (4)

2图书管理系统的结构 (4)

3 图书管理系统程序设计说明 (4)

3.1程序描述 (7)

3.2功能 (10)

3.3性能 (16)

3.4输人项 (17)

3.5输出项 (18)

3.6算法 (18)

3.7流程逻辑 (19)

3.8接口 (23)

3.9存储分配 (24)

3.10注释设计 (25)

3.11限制条件 (25)

3.12测试计划 (26)

3.13尚未解决的问题 (27)

详细设计说明书

1引言

1.1编写目的

图书管理系统详细设计阶段的主要任务是在图书管理系统概要设计书基础上,对概要设计中产生的功能模块进行过程描述,设计功能模块的内部细节,包括算法和详细数据结构,为编写源代码提供必要的说明。

概要设计解决了软件系统总体结构设计的问题,包括整个软件系统的结构、模块划分、模块功能和模块间的联系等。详细设计则要解决如何实现各个模块的内部功能,即模块设计。具体的说,模块设计就是要为已经产生的图书管理各子系统设计详细的算法。但这并不等同于系统实现阶段用具体的语言编码,它只是对实现细节作精确的描述,这样编码阶段就可以将详细设计中对功能实现的描述,直接翻译、转化为用某种程序设计语言书写的程序。

1.2背景

本项目的名称:图书管理系统

本项目的提出者:《软件工程》课程教师——

本项目开发者:宾亚、刘飞、谭艳

本项目的用户:读者、图书管理员

1.3定义

SQL Server:数据库管理软件

DBMS:数据库管理系统

Windows 2000/2003/XP:运行环境

ASP:软件开发语言

Macromedia Dreamweaver 8:开发工具

1.4参考资料

《软件工程导论》(第五版)张海藩编著清华大学出版社2008年2月第5版

《数据库系统概论》(第四版)王珊萨师煊高等教育出版社2006年5月第4版

2程序系统的结构

依据软件工程的基本原理,详细设计阶段的根本任务是确定应该怎样具体实现所要求的系统,也

就是说,经过这个阶段的设计工作,应该得出对目标系统的精确描述,从而在系统实现阶段可以把这个描述直接翻译成用某种程序设计语言书写的程序。具体来说就是把经过总体设计得到的各个模块详细的加以描述。

由于本系统采用Macromedia Dreamweaver 8作为开发工具,ASP作为开发语言,在此给出软件系统的主程序流程图,如图2.1所示。

根据以上主程序的流程图,我们可以得出下面的关于各个模块的程序流程图,如下图所示。

3图书管理系统程序设计说明3.1程序描述

本系统主要功能的程序描述如下:

1.借阅功能的程序描述:<%

dim uid,bid

bid=request("id")

uid=request("userid")

if uid="" then response.write

"" else

'判断是否借过

aa="select * from loans where uid="&uid&" and bid="&bid

set

xgw=server.CreateObjec t("adodb.recordset") xgw.open aa,db,1,3 if not xgw.eof then response.write

""

else

sq="select * from u where id="&uid

set qq=db.execute(sq)

if

qq("loan_num")<="8" then

'插入数据向loans

set

rs=server.CreateObject( "adodb.recordset")

sql="select * from loans"

rs.open sql,db,1,3

rs.addnew

rs("uid")=uid

rs("bid")=bid

rs("time")=date()

rs("loan_")=1

rs.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="&bid

db.execute(sql1)

'update table u

sql2="update u set [loan_num]=[loan_num] +1 where id="&uid db.execute(sql2) response.write

""

else

response.write

" "

end if

end if

end if

%>

2.还书功能程序描述:<%

if request("id")<>"" and request("uid")<>"" then

dim id,uid

id=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,3

if rs.EOF or rs.BOF then response.write

" "

else

'table book value of num + 1

db.execute("update book set [num]=[num]+1 where id="&id)

'u loan_num -1

db.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 if

else

%>

3.添加图书分类功能程序描述:

<%'图书分类添加过程:如果请求操作是分类增加,首先判断是否有请求类型,有的话执行添加,没有就执行输入类型if

request("query")="type _add" then

if

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 then

response.write ""

else '分类下存在书,跳到该分类下的书,如果还想继续删除该分类的话response.write

"