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

上传人:b****5 文档编号:30243435 上传时间:2023-08-13 格式:DOCX 页数:35 大小:555.13KB
下载 相关 举报
图书管理系统详细设计说明书.docx_第1页
第1页 / 共35页
图书管理系统详细设计说明书.docx_第2页
第2页 / 共35页
图书管理系统详细设计说明书.docx_第3页
第3页 / 共35页
图书管理系统详细设计说明书.docx_第4页
第4页 / 共35页
图书管理系统详细设计说明书.docx_第5页
第5页 / 共35页
点击查看更多>>
下载资源
资源描述

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

《图书管理系统详细设计说明书.docx》由会员分享,可在线阅读,更多相关《图书管理系统详细设计说明书.docx(35页珍藏版)》请在冰豆网上搜索。

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

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

 

学年论文(课程设计)

 

题目:

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

 

学院工商学院

学科门类工学

专业软件工程

学号2012484088

姓名李伟

指导教师王思乐

2014年12月22日

 

总版本

V1.0

编号

LMS

版本

LMS1.0

项目名称

图书管理系统

项目代码

(LMS)LibraryManagementSystem

分项名称

详细设计说明书

分项代码

03

分项序号

LMS03

 

组长

梅艳涛

负责人

梅艳涛

参与人

梅艳涛李伟

梁雪山赵博深文鹏徐鹤松

指导教师

王思乐

日期

2014年12月22日

开发单位

2012软件工程

 

河北大学学年论文(课程设计)任务书

(指导教师用表)

学生姓名

李伟

指导教师

王思乐

论文(设计)题目

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

主要研究

(设计)内容

经过这个阶段的详细设计工作,应该得出对目标系统的精确描述,从而在编码阶段可以把这个描述直接翻译成用某种程序设计语言书写的程序。

研究方法

课本《软件工程导论》上面介绍了很多关于项目详细设计的研究方法,通过小组讨论,主要采用程序流程图进行详细设计。

主要任务

及目标

对图书管理系统进行详细设计,根本目标是确定应该怎样具体地实现所要求的系统,也就是说,经过这个阶段的设计工作,应该得出对目标系统的精确描述,从而在编码阶段可以把这个描述直接翻译成用某种程序设计语言书写的程序。

主要参

考文献

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

《软件工程导论》(第5版)张海藩清华大学出版社

《JAVA程序设计实用教程》(第3版)叶核亚电子工业出版社

进度安排

论文(设计)各阶段名称

日期

问题定义

第10周

需求分析、概要设计

第11周-第13周

详细设计

第14周-第15周

实现

第16周

指导教师签字:

河北大学学年论文(课程设计)成绩评定表

学院:

工商学院

学生姓名

李伟

专业年级

2012级软件工程

论文(设计)题目

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

论文(设计)内容提要

此文档是图书管理系统的详细设计说明书,该报告主要是得出对目标系统的精确描述。

首先引言中介绍了设计该系统的目的,背景和所需要的参考资料;接下来用一系列图表列出本程序系统内的每个程序(包括每个模块和子程序)的名称、标识符和它们之间的层次结构关系;然后逐个地给出各个层次中的每个程序的设计考虑,并给出其详细的程序描述、功能、性能、输入项、输出项、算法、流程逻辑、测试计划等说明。

指导教师评语

成绩:

指导教师(签名):

年月日

1引言

1.1编写目的

根据《需求规格说明书》、《概要设计说明书》,经过分析和讨论,我们对《图书馆管理系统》进行了进一步的设计,作为详细设计说明书,为编写代码者提供了设计基础。

1.2背景

图书管理系统软件LMSV1.0;

任务提出者:

2012级软件工程

开发者:

2012级软件工程

用户:

XXX大学图书馆

1.3定义、缩写词、略语

LMS:

LibraryManagementSystem图书管理系统

1.4参考资料

【1】张海藩。

《软件工程导论》(第五版)。

清华大学出版社。

2008。

【2】萨师煊王珊。

《数据库系统概论》(第4版)。

高等教育出版社。

【3】叶核亚。

《JAVA程序设计实用教程》(第三版)。

电子工业出版社。

2011。

2程序系统的结构

2.1总体设计

2.2子系统设计

(1)导借机

(2)借阅机

(3)管理机

3导借机子系统设计说明

3.1程序描述

导借机子系统主要完成导借机功能,该子系统主要包括两个模块:

书刊检索和查询。

使用书刊检索模块实现书刊检索功能;使用查询模块实现对借阅情况以及学生信息的查询。

3.2功能

导借机子系统需要实现的功能主要包括:

使用书刊检索模块实现书刊检索功能;使用查询模块实现对借阅情况以及学生信息的查询。

3.3性能

完成书刊检索以及查询借阅信息和学生信息

3.4算法

3.4.1书刊检索模块

(1)按条形码号检索子模块

输入项:

条形码号BookID;

输出项:

Struct图书信息

{

条形码号BookID;

图书类别Class;

书架号BookshelvesNo;

书名BookName;

作者Author;

出版社Publisher;

借阅状况BookStatus;

};

连接数据库;

按条形码检索()

{

Get(BookID);//接收用户输入的条形码

IF数据库存在此书

显示该书信息

Else

提示错误信息;

}

(2)按书名首字母检索子模块

输入项:

书名首字母;

输出项:

Struct图书信息

{

条形码号BookID;

图书类别Class;

书架号BookshelvesNo;

书名BookName;

作者Author;

出版社Publisher;

借阅状况BookStatus;

};

连接数据库;

按图书首字母检索()

{

Get(图书首字母);//接收用户输入的图书首字母

IF数据库存在此书

显示该书信息

Else

提示错误信息;

}

(3)按书名检索子模块

输入项:

书名BookName;

输出项:

Struct[图书信息=条形码号BookID+图书类别Class+书架号BookshelvesNo+书名BookName+作者Author+出版社Publisher+借阅状况BookStatus];

连接数据库;

按书名检索()

{

Get(BookName);//接收用户输入的内容

IF数据库存在此书

显示该书信息

Else

提示错误信息;

}

(4)按作者检索子模块

输入项:

作者Author;

输出项:

Struct[图书信息=条形码号BookID+图书类别Class+书架号BookshelvesNo+书名BookName+作者Author+出版社Publisher+借阅状况BookStatus];

连接数据库;

按作者检索()

{

Get(Author);//接收用户输入的内容

IF数据库存在此书

显示该书信息

Else

提示错误信息;

}

(5)按出版社检索子模块

输入项:

出版社Publisher;

输出项:

Struct[图书信息=条形码号BookID+图书类别Class+书架号BookshelvesNo+书名BookName+作者Author+出版社Publisher+借阅状况BookStatus];

连接数据库;

按出版社检索()

{

Get(Publisher);//接收用户输入的内容

IF数据库存在此书

显示该书信息

Else

提示错误信息;

EndIF

}

3.4.2查询模块

(1)查询借阅情况子模块

输入项:

借书卡号CardNo=“0000001”----“10000000”;

输出项:

Struct[借阅情况=借书卡号CardNo+借阅书籍BookID+借书日期OutDate+还书日期InDate+赔偿钱数Compensation];

连接数据库;

Search_borrow()

{

Get(CardNo);

IF借书卡号存在;

Show(借阅信息);

ElseFalse;

EndIF

}

(2)查询学生信息子模块

输入项:

借书卡号CardNo=“0000001”----“10000000”

输出项:

Struct[学生信息=卡号CardNo+学号ReaderID+姓名Name+年级Grade+专业Major+卡内余额Balance+是否注销Status];

连接数据库;

Search_stu()

{

Get(CardNo);

IF借书卡号存在

Show(学生信息);

ElseFalse;

EndIF

}

3.5流程逻辑

 

3.5.1书刊检索模块

3.5.2查询模块

3.6接口

3.6.1用户接口

向用户提供命令软件回答对应信息

书刊检索图书信息查询

学生查询借阅情况学生信息

3.6.2外部接口

接口传递信息

数据库接口图书信息学生信息

3.6.3内部接口

接口

传递信息

图书信息录入

图书信息:

(条形码号、图书类别、书架号、书名、作者、、借阅状况)

学生信息录入

学生信息:

(卡号、学号、、年级、专业、是否注销、卡内余额)

3.7注释设计

●加在模块首部的注释

//书刊检索模块,包括按条形码号检索子模块、按书名首字母检索子模块、按书名检索子模块、按作者检索子模块、按出版社检索子模块;

//查询模块,包括查询借阅情况子模块、查询学生信息子模块;

●加在各分枝点处的注释

//输入条形码号BookID;

//输入书名首字母;

//输入书名BookName;

//输入作者Author;

//输入出版社Publisher;

//输入借书卡号CardNo;

//输出图书信息;

//输出借阅情况;

//输出学生信息;

●对各变量的功能、范围、缺省条件等所加的注释;

//图书信息=条形码号BookID+图书类别Class+书架号BookshelvesNo+书名BookName+作者Author+出版社Publisher+借阅状况BookStatus;

//借阅情况=借书卡号CardNo+借阅书籍BookID+借书日期OutDate+还书日期InDate+赔偿钱数Compensation;

//学生信息=卡号CardNo+学号ReaderID+姓名Name+年级Grade+专业Major+卡内余额Balance+是否注销Status;

//借书卡号CardNo=“0000001”----“10000000”;

//条形码号BookID=“000000001”---“999999999”;

3.8限制条件

书刊检索过程中,每次只能选择一种检索方式;

进入查询时,验证卡号是否存在。

3.9测试计划

进入书刊检索模块,按照不同的检索方式一一进行检索,测试是否出现某种方式无法进行检索,能否连接数据库,能否检索成功;

预期结果:

数据库连接正确,各个检索方式都能正常运行,能够成功地检索图书信息。

进入查询模块,分别查询借阅情况和学生信息,测试借阅情况信息是否完整,是否正确,以及能否连接数据库,学生信息是否完整,是否正确;

预期结果:

数据库连接正确,能够显示完整的、正确的借阅情况信息和学生信息。

3.10尚未解决的问题

书刊检索过程中,每次只能选择一个检索方式,不能进行多条件检索。

4借阅机子系统设计说明

4.1程序描述

借阅机子系统主要完成借阅机功能,该子系统主要包括三个模块:

查询、借书和还书。

使用查询模块实现查询学生信息和图书信息的功能;使用借书模块实现借书的功能;使用还书模块实现还书的功能。

4.2功能

导借机子系统需要实现的功能主要包括:

使用查询模块实现查询学生信息和图书信息的功能;使用借书模块实现借书的功能;使用还书模块实现还书的功能。

4.3性能

完成查询学生信息和图书信息,以及借书和还书。

4.4算法

4.4.1查询模块

(1)查询学生信息子模块

输入项:

借书卡号CardNo=“0000001”---“10000000”;

输出项:

Struct[学生基本信息=卡号CardNo+学号ReaderID+姓名Name+年级Grade+专业Major+卡内余额Balance+是否注销Status,借阅情况=借书卡号CardNo+借阅书籍BookID+借书日期OutDate+还书日期InDate+赔偿钱数Compensation];

连接数据库;

Search_stu()

{

Get(CardNo);

IF借书卡号存在

Show(学生信息);

ElseFalse;

EndIF

}

(2)查询图书信息子模块

与导借机子系统书刊检索模块的子模块和功能相同;

4.4.2借书模块

输入项:

借书卡号CardNo、条形码号BookID、借书日期OutDate;

输出项:

Booltrue/false;

连接数据库;

获取借阅情况信息;

Borrow(){

Get(CardNo,BookID,OutDate);

IF 借书证未登记入库 THEN

       Returnfalse;

ElseIF 图书未登记入库 THEN

       Returnfalse;

ElseIf已借阅书籍>=最大可借阅书籍数

ThenReturnfalse;;

ElseIf卡内余额<0

ThenReturnfalse;

Elsereturntrue;//借书成功更新数据库

EndIf

EndIf

EndIf

EndIf

}

4.4.3还书模块

输入项:

借书卡号CardNo、条形码号BookID、还书日期InDate;

输出项:

Booltrue/false;

连接数据库;

Back()

{

Get(CardNo,BookID,InDate)//获取借阅情况信息;

IF借阅天数>最大可借阅天数

赔偿钱数=[(还书日期-借书日期)-最大可借阅天数]×每天的赔偿钱数;

卡内余额=卡内余额-赔偿钱数;

Show(赔偿钱数,卡内余额);

ElsereturnTrue;//借书成功,更新数据库

EndIf

}

4.5流程逻辑

4.5.1查询

4.5.2借书

4.5.3还书

4.6接口

4.6.1用户接口

从用户接收命令软件回答对应信息

卡号学生信息(学生基本信息、借阅情况信息)图书信息

条形码号借阅情况信息

4.6.2外部接口

接口传递信息

数据库接口图书信息借阅情况信息学生基本信息

4.6.3内部接口

接口

传递信息

卡号

借书卡号CardNo=“0000001”---“10000000”

条形码号

条形码号BookID=“000000001”---“999999999”

借书登记

借书登记:

(图书条形码号、学生学号、图书名称、借书卡号、借书时间、学生姓名)

还书登记

还书登记:

(图书条形码号、图书名称、归还时间、借书卡号、学生学号、学生姓名、是否异常)

4.7注释设计

●加在模块首部的注释

//查询模块,包括查询学生信息子模块、查询学生信息子模块;

//借书模块;

//还书模块;

●加在各分枝点处的注释;

//输入借书卡号CardNo;

//输入借书卡号CardNo、条形码号BookID、借书日期OutDate;

//输入借书卡号CardNo、条形码号BookID、还书日期InDate;

//输出学生基本信息;

//输出借阅情况;

//输出图书信息;

//输出提示消息;

●对各变量的功能、范围、缺省条件等所加的注释;

//借书卡号CardNo=“0000001”---“10000000”;

//条形码号BookID=“000000001”---“999999999”;

//学生基本信息=卡号CardNo+学号ReaderID+姓名Name+年级Grade+专业Major+卡内余额Balance+是否注销Status;

//借阅情况=借书卡号CardNo+借阅书籍BookID+借书日期OutDate+还书日期InDate+赔偿钱数Compensation;

4.8限制条件

因为条件不允许,只能通过手工操作来完成刷卡工作

4.9测试计划

进入查询模块,输入一个符合条件的卡号,进行查询,测试能否正常连接数据库,显示信息是否完整、正确;

预期结果:

连接数据库正常,输入一个符合条件的卡号,显示的信息完整、正确。

进入借书模块,扫描条形码号,测试能否正常连接数据库,是否能够显示完整的、正确的借阅情况信息,能否正常更新数据库;

预期结果:

连接数据库正常,能够显示完整的、正确的借阅情况信息,并正常地更新数据库。

进入还书模块,扫描条形码号,测试能否正常连接数据库,是否能够显示完整的、正确的借阅情况信息,能否正常更新数据库;

预期结果:

连接数据库正常,能够显示完整的、正确的借阅情况信息,并正常地更新数据库。

4.10尚未解决的问题

刷卡工作因为条件不允许只能通过人工操作来模拟

5管理机子系统设计说明

5.1程序描述

管理机子系统主要完成管理机功能,该子系统主要包括四个模块:

管理员,图书上架,图书下架,一卡通。

使用管理员模块实现注册管理员信息、删除管理员信息和修改管理员信息的功能;使用图书上架模块实现录入图书信息的功能;使用图书下架模块实现删除图书信息的功能;使用一卡通模块实现办卡、退卡、充值和打印凭证的功能。

这个子系统把所有的管理任务结合到一起,可以更加有效的组织和管理,使得管理更加的便捷和系统化。

5.2功能

管理机子系统需要实现的功能主要包括:

(1)对管理员的管理。

此模块可以实现当有新的管理员入馆工作时添加管理员信息,当有管理员辞职或调离时完成对此管理员信息的删除操作,期间还可以对当前的管理员信息做修改操作。

(2)图书的上下架。

当图书入库,出库时完成对图书信息的更新。

(3)办卡。

此模块完成办卡,退卡,卡内充值业务,同时更新学生的个人信息。

5.3性能

1.数据精确度

添加数据信息时保证准确率,添加的信息能准确的添加到后台数据库中。

删除时能保证准确率,所有删除能正确存入数据库中。

2.时间特性

一般操作的响应时间应在2-3秒内,删除时间应根据所删除内容尽量缩短时间。

3.适应性

满足运行环境在允许操作系统之间的安全转换和与其它应用软件的独立运行要求。

4.数值需求

管理员数目<15;

图书的存储量做不限制;

已注册办卡的学生数量不做限制;

5.其它需求

有一定的安全性,防止人为地破坏数据库,防止他人利用非法手段盗取数据信息,设置一定的权限,防止非法操作。

5.4算法

登陆模块

Login()

{

Get(WorkerID,Password);

IF管理员信息验证正确

Main();

ElseFalse;

}

5.4.1管理员模块

(1)注册子模块

输入项:

管理员=姓名WorkerName+工号WorkerId+密码Password+权限Level;

输出项:

BoolTrue/False;

连接数据库;

Signin()

{

Get(管理员信息);

IF输入信息=NULL

Returnfalse;

Else

Returntrue;//更新数据库信息

}

(2)删除子模块

输入项:

管理员=姓名WorkerName+工号WorkerId+密码Password+权限Level;

输出项:

BoolTrue/False;

连接数据库;

Delete()

{

Get(需要删除的管理员信息);

IF管理员信息不存在

ReturnFalse

Else

Returntrue;//完成删除

}

(3)修改子模块

输入项:

管理员=姓名WorkerName+工号WorkerId+密码Password+权限Level;

输出项:

BoolTrue/False;

连接数据库;

Modify()

{

Get(管理员信息);

IF管理员信息不存在

ReturnFalse

Else

Returntrue;//更新数据库,完成修改

}

5.4.2图书上架模块

输入项:

管理员=姓名WorkerName+工号WorkerId+密码Password+权限Level,

图书信息=条形码号BookID+图书类别Class+图书名称BookName+书架号BookshelvesNo+作者Author+出版社Publisher;

输出项:

BoolTrue/False;

连接数据库;

图书上架()

{

Get(图书信息);

ReturnTrue;//更新数据库信息

}

5.4.3图书下架模块

输入项:

管理员=姓名WorkerName+工号WorkerId+密码Password+权限Level,

图书信息=条形码号BookID+图书类别Class+图书名称BookName+书架号BookshelvesNo+作者Author+出版社Publisher;

输出项:

BoolTrue/False;

连接数据库;

图书下架()

{

Get(要删除的图书信息);

IF此书不存在

ReturnFalse;

Else

ReturnTrue;//更新数据库

}

5.4.4一卡通模块

(1)办卡子模块

输入项:

学生信息=卡号++学号+年级+专业+卡内余额+押金;

输出项:

boolTrue/False;

连接数据库;

办卡()

{

Get(学生信息);

Returntrue;//更新数据库信息

}

(2)退卡子模块

输入项:

退卡信息=卡号+卡内余额+注销操作;

输出项:

boolTrue/False;

连接数据库;

注销()

{

Get(退卡信息);

IF此卡不存在

Returnfalse;

ElsereturnTrue;//更新数据库

}

(3)充值子模块

输入项:

充值信息=卡号+充值金额RechargeMoney+充值时间RechargeTime;

输出项:

BoolTrue/False;

连接数据库;

充值()

{

Get(充值信息);

ReturnTrue;//更新数据库

Print()//打印信息;

}

5.5流程逻辑

 

5.6项目运行架构

退卡办卡

查询

充值

管理员查询学生

 

管理员管理

管理员浏览

 

还书

借书

图书上下架

5.7接口

5.7.1用户接口

向用户提供命令软件回答对应信息

学生信息办卡成功,退卡成功,充值成功,打印凭证

5.7.2外部接口

接口

传递信息

硬件接口

与打印机接口

充值信息

软件接口

与数据库接口

图书信息,学生信息

5.7.3内部接口

接口

传递信息

添加管理员信息

管理员信息:

(、编号、密码、权限)

修改管理员信息

管理员信息:

(、编号、密码、权限)

删除管理员信息

管理员信息:

(、编号、密码、权限)

办卡

学生信息:

(学号、、专业、年级、借书卡号、

卡内余额、卡状态)

退卡

学生信息:

(学号、、专业、年级、借书卡号、

卡内余额、卡状态)

充值

充值信息:

(条形码号、充值金额、充值时间)

5.8注释设计

●加在模块首部的注释

//管理员模块,实现管理员信息的添加,删除,修改操作;

//图书上架模块,实现图书

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 求职职场 > 简历

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1