软件详细设计说明书实例.docx

上传人:b****7 文档编号:9512300 上传时间:2023-02-05 格式:DOCX 页数:50 大小:89.31KB
下载 相关 举报
软件详细设计说明书实例.docx_第1页
第1页 / 共50页
软件详细设计说明书实例.docx_第2页
第2页 / 共50页
软件详细设计说明书实例.docx_第3页
第3页 / 共50页
软件详细设计说明书实例.docx_第4页
第4页 / 共50页
软件详细设计说明书实例.docx_第5页
第5页 / 共50页
点击查看更多>>
下载资源
资源描述

软件详细设计说明书实例.docx

《软件详细设计说明书实例.docx》由会员分享,可在线阅读,更多相关《软件详细设计说明书实例.docx(50页珍藏版)》请在冰豆网上搜索。

软件详细设计说明书实例.docx

软件详细设计说明书实例

软件详细设计说明书实例

1.1

编写目的.

1.2

项目背景.

1.3

定义.

1.4

参考资料.

2总体设计

2.1需求概述.

2.2软件结构.

3程序描述

3.1

01登陆模块

3.2

02管理模块

3.3

031图书信息查询模块

3.4

032学生信息查询模块

3.5

021入库管理模块...

3.6

022学生借书模块...

3.7

023学生还书模块...

3.8

024图书注销模块...

3.9

接口设计.

3.10

测试要点

文档名称:

详细设计规格说明书

项目名称:

图书馆管理系统

项目负责人:

陈新光

编写TEST年__

___月__

__日

校对所有小组成员__

___年__

___月___

__日

审核所有小组成员__

___年__

___月___

__日

批准XXX年___

__月___

__日

开发单位

组员:

TEST1TEST2TEST3

1引言

1.1编写目的

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

概要设计解决了软件系统总体结构设计的问题,包括整个软件系统的结构、模块划分、模块功能和模块间的联系等。

详细设计则要解决如何实现各个模块的内部功能,即模块设计。

具体的说,模块设计就是要为已经产生的图书管理各子系统设计详细的算法。

但这并不等同于系统实现阶段用具体的语言编码,它只是对实现细节作精确的描述,这样编码阶段就可以将详细设计中对功能实现的描述,直接翻译、转化为用某种程序设计语言书写的程序。

1.2项目背景

根据XX学校希望能够充分利用现代科技来提高图书管理的效率,在原有的办公系统基础上进行扩展,

1.3定义

Mysql:

数据库管理软件

DBMS数据库管理系统

Windows2000/2003/XP:

运行环境

JSP:

软件开发语言

Myeclipse:

开发工具

1.4参考资料

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

《实用软件工程》LeszekA.MaciaszekBrucLeeLiong着

机械工业出版社

2总体设计

2.1需求概述

按照需求分析文档中的规格要求,使用条形码扫描器进书、借书、还书,使得信息传递准确、流畅

同时,系统最大限度地实现易安装,易维护性,易操作性,运行稳定,安全可靠。

2.2软件结构

系统由3大模块,6小模块组成:

序号编号名称

1,01登陆模块

2,02管理模块

3,031图书信息查询模块

4,

032

学生信息查询模块

5,

021

入库管理模块

6,

022

学生借书模块

7,

023

学生还书模块

8,

024

图书注销模块

9,

040

基础信息设置

3程序描述

3.101登陆模块

具体格式见下表:

功冃匕编号

01

功能名称

登陆模块

内容

功能流程图

所属业务

图书馆管理

所属项目

图书馆管理

系统

编写人

陈新光

完成时间

2007-11-26

页码

第5页

3.1.1功能流程图

功能流程图如下图所示

需要说明的问题:

(1)录入项检测使用javascript实现(各项必须非空)

(2)登陆.jsp页面也包含查询按钮,在此的登陆.jsp提交的数据只

是用户名和密码。

3.1.2

功能描述

(1)

功能类型:

查询数据

(2)功能描述:

提高系统的安全性

(3)

前提业务:

 

(1)基础信息处理

动作说明:

动作编号

动作名称

动作描述

A01

登陆

点击登陆按钮提交数据到登

陆数据处理.jsp页面

A02

重至

点击退重至按钮将当前信息

恢复原先状态

A03

图书信息查询

点击将页面转至到图书信息

查询.jsp页面

A04

学生信息查询

点击将页面转至学生信息查

询.jsp页面

A05

基础信息

点击将显示基础信息

(2)数据要求

(1)功能类型:

数据查询

(2)数据描述:

页面显示录入字段如下:

字段名称

长度

录入方式

是否非空项

数据检验

默认显示

管理员ID

10

文本框

Y

N

3.1.4登陆数据处理.jsp的内部逻辑

登陆数据处理:

关键点两点:

1,数据库连接;2,记录登陆信息及信息处理;

1,数据库连接:

如下:

publicclasslib_system_ConnextendsObject{

publiclib_system_Conn(){

}

privateConnectionconn=null;

privateResultSetrs;

Stringre="";

//设置你的数据库ip

Stringdbip=;

//设置你的数据库用户名和密码:

Stringuse="root";

Stringpass="860409";

//设置您的数据库名

StringdbName="lib_system";

publicgetConn(){

try{

Class.forName().newlnstance();

Stringurl=+dbip+":

3306/"+dbName+"user="+use+"&password="+pass+"&u

seUnicode=true&characterEncoding=GBK";

conn=DriverManager.getConnection(url);

}

catch(Exceptione){

e.printStackTrace();

}

returnthis.conn;

}

}

//在Mysql建立lib_system数据库,之后将与数据操作相关数据与该数据库相连;

2,记录登陆信息及信息处理:

当用户点击“登陆”按钮之后,数据将提交到登陆数据处理.jsp页面。

取得帐号密码这两个从页面传入的值,然后跟数据库当中管理员表中的账号和密码比较。

如果正确的话,在JSP的SESSION中存入一个标记属性,表示当前已经有管理员登陆了。

处理完毕后,跳转到管理页面,如果失败,则提示登陆失败,并重新进入到登陆页面。

具体的逻辑如下:

<%

Stringusername=ParamUtil.getString(request,"admin_ID");

//取得用户名

Stringpassword=ParamUtil.getString(request,"admin_password"

);

//取得密码

StringerroMsg="";

//错误码

if(username!

=null&&password!

=null)

try

{

SkinUtil.login(request,response,admin_ID,admin_password);

//在JSP的session中存如一个标记属性,表示当前已经有管理员登陆了

response.sendRedirect("login_process.jsp");}

catch(UserNotFoundExceptione)

{

erroMsg="错误的用户名和密码";

response.sendRedirect("login_process.jsp"+response.encodeURL(erroMsg));

}

else{

out.println("请填写好你的个人信息门;

}

%>

3.1.5存储分配

管理员表:

(admin)

序号

字段名

类型

长度

精度

小数

位数

默认

允许

主键

说明

1

(admin_ID)管理员

ID

Int

10

V

2

(admin_password)

管理员密码

Char

15

3

(admin_quanxian)

Nvarchar

15

3.202管理模块

具体格式见下表

功冃匕编号

02

功能名称

管理模块

内容

功能流程图

所属业务

图书馆管理

所属项目

图书馆管理

系统

编写人

陈新光

完成时间

2007-11-26

页码

第8页

3.2.1功能流程图

功能流程图如下所示:

需要说明的问题:

在选择相应的业务时,需要在当前的页面显示;并且在管理页面内,

默认显示图书查询页面。

3.2.2功能描述

(1)功能类型:

其他

(2)功能概述:

总体归纳图书馆管理功能

(3)前提业务:

登陆模块(01)

(4)后续业务:

021,022,023,024,03

(5)功能约束:

权限约束

(6)约束描述:

(7)操作权限:

图书馆管理人员

323界面设计

(1)基本信息处理

动作说明如下:

动作编号

动作名称

动作描述

A01

入库管理

点击按钮将页面转至入库管

理.jsp页面

A02

学生借书

点击按钮将页面转至学生借

书.jsp页面

A03

学生还书

点击按钮将页面转至学生还

书.jsp页面

A04

图书注销

点击按钮将页面转至图书注

销.jsp页面

A05

图书查询

点击按钮将页面转至图书查

询.jsp页面

(2)数据要求

功能类型:

其他

3.3031图书信息查询模块

具体格式如下:

功冃匕编号

031

功能名称

图书信息查

询模块

内容功能流程图

所属业务

图书馆管理

所属项目

图书馆管理

系统

3.3.1功能流程图

功能流程图如下图:

需要说明的问题:

录入项检测使用javascript来实现(各项非空);

操作权限:

面向所有用户

332功能描述

(1)

功能类型:

查询数据

(2)

功能概述:

显示查询结果

(3)

前提业务:

(4)

后继业务:

(5)

功能约束:

没有约束;

(6)

约束描述:

(7)

操作权限:

面向所有用户

333界面设计

(1)基础信息处理

F表是动作说明:

动作编号

动作名称

动作描述

A01

确定

点击按钮提交数据到图书查询数据处理.jsp页面

A02

学生信息查询

点击按钮将页面转至学生信

息查询.jsp页面

(2)

数据要:

(1)

功能类型:

数据查询

(2)

数据描述:

页面显示字段见下表

字段名称

长度

录入方式

是否非空项

数据检验

默认显示

请选择查询

类型

20

下拉列表

Y

N

请输入查询

200

文本框

Y

N

内容

(3)图书信息查询的输出项

书名图书类型作者译者

ISBN岀版社价格书架名称现存量简介书名图书类型

3.3.4模块内部逻辑

1,Search.jsp用于显示界面的内容,给用户显示一个查询接

2,Lib_query.jsp用来调度所有的页面,它根据传入的参数来

决定包含哪一个jsp页面来显示内容;

在lib_query.jsp页面中,

它根据传入的参数来决定包含哪一个jsp页面来显示内容;

则可以通过

includepage二”<%=%>/>,禾V用

jsp:

include标签来被动态加载发送到相应页面;

3,chuli.jsp用来处理数据查询和显示查询到的结果列表。

在这个页面中,数据要求是以列表的形式显示到输出页面。

由于查询到的结果可能过多,所以采用分页形式显示;对于分页功能的内部逻辑:

4,View.jsp用来显示查询到的图书的各项属性。

3.3.5存储分配

图书目录文件(Book):

字段名

类型

小数位

默认

允许

主键

说明

1

(BookID)图书编号

Int

10

1

V

自动编

2

(TXM)条形码

nvarchar

20

3

(Title)书名

nvarchar

200

4

仃SLX)图书类型

Nvarchar

50

V

5

(Author)作者

Nvarchar

20

V

6

(Translator)译者

Nvarchar

20

V

7

(ISBN)ISBN

Nvarchar

20

8

(CBS)出版社

Nvarchar

30

V

10

(SJMC)书架名称

Nvarchar

20

V

11

(XCL)现存量

Smallint

2

V

12

(KCZL)库存总量

Smallint

2

V

13

(RKSJ)入库时间

Datatime

V

14

(CZY)操作员

Nvarchar

10

V

15

(JJ)简介

Nvarchar

200

V

16

(JCCS)借出次数

Smallint

2

V

17

(SFzhuxiao)是否注

Nvarchar

2

V

18

(BookZT)图书状态

nvarchar

50

借书文件表(JSWJB):

序号

字段名

类型

长度

精度

小数

位数

默认

允许

主键

外键

说明

1

(JYID)

借阅编号

Int

10

1

V

自动

编号

2

(BookID)

图书编号

Int

10

V

3

(StuID)

学生编号

Int

10

V

4

(JYSJ)借

阅时间

Datatime

8

V

5

(DQSJ)到

期时间

Datatime

8

V

6

(XJCS)续

借次数

Smallint

2

V

7

(CZY)操

作员

Nvarchar

10

V

8

(ZT)状态

navarchar

50

V

3.4032学生信息查询模块

具体格式如下:

功冃匕编号

032

功能名称

学生信息查

询模块

内容

功能流程图

所属业务

图书馆管理

所属项目

图书馆管理

系统

编写人

陈新光

完成时间

2007-11-26

页码

第12页

3.4.1功能流程图

功能流程图如下图:

需要说明的问题:

录入项检测使用javascript来实现(各项非空);

操作权限:

面向所有用户

3.4.2功能描述

(8)功能类型:

查询数据

(9)功能概述:

显示查询结果

(10)

前提业务:

(11)

后继业务:

(12)功能约束:

没有约束;

(13)约束描述:

(14)操作权限:

面向所有用户

3.4.3界面设计

(4)基础信息处理

下表是动作说明:

动作编号

动作名称

动作描述

A01

确定

点击按钮提交数据到图书查询数据处理.jsp页面

A02

图书信息查询

点击按钮将页面转至图书信

息查询.jsp页面

(5)

数据要:

(3)

功能类型:

数据查询

(4)

数据描述:

页面显示字段见下表:

字段名称

长度

录入方式是否非空项

数据检验

默认显示

请输入学号

10

文本框Y

N

(6)学生信息查询的输出项

学生学号

姓名

性别

生日

证件号码

联系电话

登记日期

有效期至

已借书数

344模块内部逻辑

5,Search.jsp用于显示界面的内容,给用户显示一个查询接口

6,Index.jsp用来调度所有的页面,它根据传入的参数来决定

包含哪一个jsp页面来显示内容;

在index.jsp页面中,

它根据传入的参数来决定包含哪一个jsp页面来显示内容;

则可以通过

includepage二”<%=%>/>,禾V用

jsp:

include标签来被动态加载发送到相应页面;

乙List.jsp用来显示查询到的结果列表。

8,View.jsp用来显示查询到的学生的各项属性。

★★注释:

学生信息查询模块与图书查询模块属于同一类功能。

实现可以完全类似。

3.4.5存储分配

学生文件:

序号

字段

字段名

类型

长度

精度

小数

位数

默认

允许

主键

说明

1

XSID

学生编号

Int

10

1

V

自动

编号

2

Name

姓名

nvarchar

10

3

Sex

性别

nvarchar

2

V

4

ZJH

证件号码

nvarchar

25

V

5

LXDH

联系电话

nvarchar

40

V

6

DJRQ

登记日期

datetime

8

V

7

YXQZ

有效期至

datetime

8

8

YJSS

已借书数

smallint

2

V

9

RulelD

学生规则

ID

int

10

10

ZT

是否挂失

nvarchar

2

V

借书文件:

序号

字段

类型

长度

精度

小数

位数

默认

允许

主键

外键

说明

1

借阅

编号

Int

10

1

V

自动

编号

2

图书

编号

Int

10

V

3

学生

编号

Int

10

V

4

借阅

时间

Datatime

8

V

5

至U期

时间

Datatime

8

V

6

续借

次数

Smallint

2

V

7

操作

Nvarchar

10

V

8

状态

navarchar

50

V

3.5021入库管理

具体格式如下:

功冃匕编号

021

功能名称

入库管理模

内容功能流程图

所属业务

图书馆管理

所属项目

图书馆管理

系统

编写人陈新光完成时间

2007-11-27页码

第16页

3.5.1功能流程图

(1)执行数据库操作的时候要验证权限

(2)录入项检验用javascript

来实现(选项非空)

3.5.2功能描述

(1)

功能类型:

添加数据

(2)

功能描述:

增加图书目录文件中的图书信息

(3)

前提业务:

管理模块

(4)

后继业务:

(5)

功能约束:

权限约束

(6)

约束描述:

(7)

操作权限:

图书馆管理人员

3.5.3界面设计

1,基础信息处理

动作说明如下表:

动作编号

动作名称

动作描述

A01

保存

点击按钮提交数据到入库数

据处理.jsp页面

A02

退出

点击按钮将当前页面关闭

2,数据描述

(1)功能类型:

数据增加

(2)

数据描述:

页面录入字段见卜表:

字段名称

长度

录入方式

是否非空项

数据检验

默认显示

书号

30

文本框

Y

N

条形码

20

文本框

Y

N

书名

200

文本框

Y

N

作者

20

文本框

Y

N

出版社

30

文本框

Y

N

版次

50

文本框

Y

N

图书类别

20

文本框

Y

N

单价

8

文本框

Y

N

录入时间

默认系统时年月日

只需程序记

显示在入库

间,格式:

界面

录入人

默认系统登

只需程序记

显示在入库

陆人员

界面

3,入库数据处理内部逻辑:

图书入库采用表格进行多行添加:

利用javaBean来编写一个BookBean来管理图书。

在BookBean类中增加记录的公共接口来实现入库数据的添加。

具体的类设计如下:

Publicintinsert(Hashtablehash){

intintID二makelD("Book","BooklD","","",true);

Vectorvect二newVector();

vect.add("Book");

vect.add(addVector("BooklD",String.valueOf(intID),"

NUM"));

vect.add(addVector("Title",ds.toString((String)hash.get("TITLE")),"CHAR"));

vect.add(addVector("Author",ds.toString((String)has

h.get("AUTHOR")),"CHAR"));

vect.add(addVector("ISBN",ds.toString((String)hash.

get("ISBN")),"CHAR"));

returninsertRecord(vect);

}

在insert方法的最后,调用ParentBean中的insertRecord方法,insertRecord可以根据传入的参数自动的生成增加记录的SQL语句并通过JDBC发送到数据库。

正对ParentBean类:

主要是实现对数据库的各种操作:

与数据库的连接,对数据库的操作

3.5.4存储分配

图书目录文件:

1

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

当前位置:首页 > 初中教育 > 学科竞赛

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

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