FAQs系统概要设计说明书.docx

上传人:b****5 文档编号:6636990 上传时间:2023-01-08 格式:DOCX 页数:23 大小:300.72KB
下载 相关 举报
FAQs系统概要设计说明书.docx_第1页
第1页 / 共23页
FAQs系统概要设计说明书.docx_第2页
第2页 / 共23页
FAQs系统概要设计说明书.docx_第3页
第3页 / 共23页
FAQs系统概要设计说明书.docx_第4页
第4页 / 共23页
FAQs系统概要设计说明书.docx_第5页
第5页 / 共23页
点击查看更多>>
下载资源
资源描述

FAQs系统概要设计说明书.docx

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

FAQs系统概要设计说明书.docx

FAQs系统概要设计说明书

FAQs系统案例研究项目概要设计

第一部分、引言

1.1编写目的

本说明是盼盼安全防盗公司FAQs系统案例研究项目软件产品的总体设计和实现说明,包括程序系统的基本处理流程、程序系统的组织结构、模块划分、功能分配、接口设计、运行设计和出错处理设计等,记录了系统整体实现上技术层面上的考虑,并且以需求说明作为依据,为程序的详细设计提供基础。

同时该文档将作为产品实现、特性要求和控制的依据。

软件开发小组的每一位参与开发成员应该阅读本说明,以清楚产品在技术方面的要求和实现策略,本手册将进行技术评审和技术的可行性检查,同时为下一步的详细设计说明提供框架。

1.2适用范围

本概要设计文档提供给系统设计开发人员,包括详细设计人员和项目组成员,不得提供给公司外人员。

1.3背景

说明:

A、软件系统的名称:

盼盼安全防盗公司FAQs系统案例研究项目

B、任务提出者:

盼盼安全防盗公司

开发者:

北大青鸟Aptech产品开发部

实现完成的系统将在盼盼安全防盗公司的技术支持、产品管理等部门使用,所应用的网络系统是该系统的内部局域网。

该公司的客户可通过互联网以多种方式浏览FAQs。

C、本系统将是独立的系统,目前不与盼盼安全防盗公司的财务系统和其他资料系统提供接口,所产生的输出都是独立的。

本系统将使用Oracle9iRelease2作为数据库存储系统,Oracle9iRelease2企业版将由盼盼安全防盗公司自行购买。

1.4定义

FAQs:

Frequentlyaskedquestions,常见问题解答;

JSP、JSPs:

JavaServerPages;

Servlet:

应用服务器程序;

FrontController:

一种J2EE程序的设计模式。

实现MVC模式的Controller层,通常用Servlet实现。

1.5文档概述

本文档包括以下部分:

总体设计

用例

设计概述

接口设计

系统出错处理设计

系统维护设计

数据库基表结构

1.6参考资料

相关的文件包括:

A、盼盼安全防盗公司的内部文件《FAQs系统案例研究项目》;

B、盼盼安全防盗公司FAQs系统案例研究项目分析会议备忘录;

C、盼盼安全防盗公司《FAQs系统案例研究项目需求说明》;

D、盼盼安全防盗公司系统《FAQs案例研究项目开发计划》;

参考资料:

A、北大青鸟AptechACCP3.0Sem2《基于软件开发项目的毕业设计》;

B、国家标准《概要设计说明书(GB8567——88)》;

C、莱克公司的人力资源管理项目的软件概要设计说明书;

D、《设计模式》

合同:

A、《盼盼安全防盗公司FAQs系统案例研究项目合同-2》;

第二部分、总体设计

2.1需求规定

需求规定的详细内容,请参考独立的文档:

盼盼安全防盗公司《FAQs系统案例研究项目需求说明》;

2.2基本设计理念

1.数据集中存放,以B/S方式实现FAQs数据管理

2.基于J2EE平台架构

2.3运行环境

1、设备:

客户程序硬件要求:

具有PentiumIII处理器且满足以下要求的计算机:

最低64MB内存

最小2.1GB硬盘

鼠标

键盘

服务器硬件需求:

具有PentiumIII处理器且满足以下要求的计算机:

最低256MB内存

最小8GB硬盘

鼠标

键盘

2、支持程序

浏览器客户端:

操作系统:

Windows98/NT/2000或更高版本

浏览器:

IE5.0以上或Netscape同等版本以上;

数据库服务器软件:

操作系统:

WindowsNT/2000Server或更高版本

Web服务器:

IBMHTTPServer、Apache、MSIIS等;

应用服务器:

WebLogic(7.0以上版本)等企业级应用服务器;

数据库产品:

OracleEE(9iEE以上版本)

2.3约束和假定

本系统基于J2EE架构开发,要求系统运行在支持J2EE的应用服务器中

2.4基本设计概念和处理流程

本系统采用MVC设计模式、Command模式、单子模式。

设计说明:

1、由一个Servlet作为系统的Controller,负责收集用户的输入、调用相应的命令和将命令执行的结果返回适当的页面;

2、独立的存储访问模块,为保证系统共享唯一一个存储访问类,使用了单子模式设计存储访问类;

3、使用交易令牌技术,避免了交易的重复提交,保证交易的一致性;

4、使用Command模式设计业务逻辑,使系统具有良好的结构和可扩展性。

2.5人工处理过程

(不适用)

2.6尚未问决的问题

(不适用)

第三部分、用例

3.1需求用例

3.2系统包结构

注:

更详细的包结构组成将在每个子系统统处说明。

3.3包和用例对照关系

编号

用例

使用的包名

1

浏览FAQs

faqtool

2

管理FAQs

faqtool

3

浏览FAQs

common

4

管理FAQs

common

第四部分、设计概述

4.1简述

本系统完全采用Java语言开发,以B/S方式实现浏览FAQs、管理FAQs等功能,采用Visio2002和RationalRose2003工具完成业务建模和分析工作。

使用UML语言描述了系统的设计思想和业务流程。

4.2系统结构设计

4.2.1体系结构

下面的图例展示了本系统上层的体系结构

4.2.2公用模块设计

系统中存在部分公用模块,其他模块和工程项目也要使用,这部分模块的设计在这里说明。

1、软件配置读取模块

软件配置读取模块,包路径为:

mon,软件配置读取类如下图所示:

PropertiesManager类目前有如下方法:

getProperties()主要实现如下功能:

读取FAQs系统的JDBC配置文件,以Properties对象返回有关的JDBC驱动、用户、密码和连接URL的信息。

4.2.3Web访问FAQs

4.2.3.1Web访问FAQs设计实现

类关系图如下所示:

类的描述如下表:

编号

对象名

说明

1

all.jsp

浏览全部FAQs页面

2

single.jsp

浏览一个FAQ页面

3

toc.jsp

浏览FAQs索引页面

4

plain.jsp

浏览FAQs文本视图

5

FaqServlet

Web访问FAQs子系统的控制Servlet

6

Command

命令接口

7

GetCommand

读取一个FAQ命令

8

GetAllCommand

读取全部FAQs列表命令

9

FaqRepository

FAQs数据库存储管理

1.浏览一个FAQ时序图

使用方法说明:

编号

方法名

功能描述

1

execute()

执行浏览一个FAQ命令

2

getFaq()

调用存储管理模块,读取一个FAQ

3

forward

FaqServlet导向输出页面

2.浏览全部FAQs时序图

使用方法说明:

编号

方法名

功能描述

1

execute()

执行浏览全部FAQs命令

2

getFaqs()

调用存储管理模块,读取全部FAQs列表

3

forward

FaqServlet导向输出页面

3.浏览FAQs索引页面时序图

使用方法说明:

编号

方法名

功能描述

1

execute()

执行浏览FAQs索引页面命令

2

getFaqs()

调用存储管理模块,读取全部FAQs列表

3

forward

FaqServlet导向输出页面

4.浏览FAQs文本视图时序图

使用方法说明:

编号

方法名

功能描述

1

execute()

执行浏览FAQs文本视图命令

2

getFaqs()

调用存储管理模块,读取全部FAQs列表

3

forward

FaqServlet导向输出页面

4.2.4FAQs管理

4.2.4.1FAQs管理设计实现

类关系图如下所示:

类的描述如下表:

编号

对象名

说明

1

menu.jsp

FAQs管理主菜单页面

2

FaqAdminServlet

FrontControllerServlet

3

CommandToken

命令令牌,维护交易的一致性

4

GetCommand

读取一个FAQ命令

5

GetAllCommand

读取全部FAQs列表命令

6

Command

命令接口

7

AddCommand

增加FAQ命令

8

DeleteCommand

删除FAQ命令

9

UpdateCommand

更新FAQ命令

10

AbortCommand

退出命令

11

NullCommand

空命令

12

FaqRepository

FAQs数据库存储管理

用户界面:

1.增加FAQ时序图

使用方法说明:

编号

方法名

功能描述

1

execute()

执行增加FAQ命令和空命令

2

put()

调用存储管理模块,插入FAQ

3

forward

FrontController导向输出的JSP页面

增加FAQ的过程为:

输入FAQs管理主菜单界面,根据显示菜单列表menu.jsp,选择创建新FAQ按钮,前端控制器获得用户输入,调用NullCommand命令的execute()方法。

前端控制器根据NullCommand命令返回的结果:

add.jsp,系统显示页面add.jsp。

用户输入FAQ的信息,提交Form。

前端控制器获得用户输入,调用AddCommand命令,AddCommand命令调用FaqRepository的put()将FAQ增加到数据库中。

前端控制器根据AddCommand命令返回的结果:

menu.jsp,系统返回FAQs管理主菜单界面menu.jsp。

2.删除FAQ时序图

使用方法说明:

编号

方法名

功能描述

1

execute()

执行读取全部FAQ、读取一个FAQ命令和删除一个FAQ命令

2

getFaqs()

调用存储管理模块,读取全部FAQs

3

getFaq()

调用存储管理模块,读取一个FAQ

4

removeFaq()

调用存储管理模块,删除一个FAQ

5

forward

FrontController导向输出的JSP页面

删除FAQ的过程为:

输入FAQs管理主菜单界面,根据显示菜单列表menu.jsp,选择删除FAQ按钮,前端控制器获得用户输入,调用GetAllCommand命令的execute()方法。

GetAllCommand命令调用FaqRepository的getFaqs()读出全部FAQs的Id列表。

前端控制器根据GetAllCommand命令返回的结果:

del-menu.jsp,系统显示页面del-menu.jsp。

用户选择待删除的FAQId,提交Form。

前端控制器获得用户输入,调用GetCommand命令,GetCommand命令调用FaqRepository的getFaq()读出被删除FAQ的详细信息。

前端控制器根据GetCommand命令返回的结果:

delete.jsp,系统显示删除确认页面delete.jsp。

用户点击删除,前端控制器调用DeleteCommand命令,DeleteCommand命令调用FaqRepository的removeFaq()删除FAQ。

前端控制器根据DeleteCommand命令返回的结果:

menu.jsp,系统返回FAQs管理主菜单界面menu.jsp。

3.更新FAQ时序图

使用方法说明:

编号

方法名

功能描述

1

execute()

执行读取全部FAQ、读取一个FAQ命令和更新FAQ命令

2

getFaqs()

调用存储管理模块,读取全部FAQs

3

getFaq()

调用存储管理模块,读取一个FAQ

4

update()

调用存储管理模块,更新FAQ

5

forward

FrontController导向输出的JSP页面

更新FAQ的过程为:

输入FAQs管理主菜单界面,根据显示菜单列表menu.jsp,选择更新FAQ按钮,前端控制器获得用户输入,调用GetAllCommand命令的execute()方法。

GetAllCommand命令调用FaqRepository的getFaqs()读出全部FAQs的Id列表。

前端控制器根据GetAllCommand命令返回的结果:

upd-menu.jsp,系统显示页面upd-menu.jsp。

用户选择待更新的FAQId,提交Form。

前端控制器获得用户输入,调用GetCommand命令,GetCommand命令调用FaqRepository的getFaq()读出被更新FAQ的详细信息。

前端控制器根据GetCommand命令返回的结果:

update.jsp,系统显示更新编辑页面update.jsp。

用户输入信息后,点击更新,前端控制器调用UpdateCommand命令,UpdateCommand命令调用FaqRepository的update()更新FAQ。

前端控制器根据UpdateCommand命令返回的结果:

menu.jsp,系统返回FAQs管理主菜单界面menu.jsp。

第五部分、接口设计

本系统采用集成开发工具JBuilder9.0进行开发,所提供的接口,都具有高度的集成性。

5.1用户接口

本系统提供Browse/Server的操作方式。

使用了MVC设计模式,将业务逻辑与表示逻辑最大程度的分离。

5.2外部接口

本项目是一个独立、完整的项目,目前不提供与其他系统的接口。

5.3内部接口

本系统的“存储管理“子系统为“Web访问“和“FAQs管理“分别提供访问FAQs数据库的接口。

1.API接口

 JavaClass文件:

FaqRepository.class;

具体方法说明,见<>。

第六部分、系统出错处理设计

利用Java异常处理机制,捕获/处理所有异常,并在程序中进行处理成用户可理解形式表现。

异常类

描述

出错提示

CommandException

命令执行异常

根据不同命令的属性来定

FaqRepositoryException

存储管理异常

根据数据库异常的属性来定

UnknownFaqException

FAQ不存在

根据删除、修改不同的属性来定

第七部分、系统维护设计

1.系统的“存储管理“子系统使用配置文件存储有关数据库的连接信息。

可进行灵活的维护修改。

2.数据库的备份和维护采用数据库厂家自身的工具。

第八部分、数据库基表结构

1.faqs详细描述示例格式如下:

表名:

faqs建表时间:

设计人员:

各个字段信息:

列编号

列名

类型

长度(精度)

是否为空

初始值(缺省值)

列说明

可能的取值范围及各值的含义

1

ID

INT

N

标识

2

question

VARCHAR2(255)

N

问题

3

answer

VARCHAR2(2000)

Y

答案

4

modified

DATE

Y

时间戳

主键:

(ID)

(外键:

索引:

约束:

大致存储量:

总记录数*每记录字节数,时间参数。

表定义语法:

修改记录:

2.其他数据库元素设计

数据元素名称:

faqid_seq建立时间:

设计人员:

语法定义:

CREATESEQUENCEfaqid_seq

INCREMENTBY1

STARTWITH1

MINVALUE1;

主要完成的任务(设计目标):

修改记录:

数据元素名称:

建立时间:

设计人员:

语法定义:

主要完成的任务(设计目标):

修改记录:

数据元素名称:

建立时间:

设计人员:

语法定义:

主要完成的任务(设计目标):

修改记录:

数据元素名称:

建立时间:

设计人员:

语法定义:

主要完成的任务(设计目标):

修改记录:

数据元素名称:

建立时间:

设计人员:

语法定义:

主要完成的任务(设计目标):

修改记录:

数据元素名称:

建立时间:

设计人员:

语法定义:

主要完成的任务(设计目标):

修改记录:

数据元素名称:

建立时间:

设计人员:

语法定义:

主要完成的任务(设计目标):

修改记录:

数据元素名称:

建立时间:

设计人员:

语法定义:

主要完成的任务(设计目标):

修改记录:

表名:

ReportStore建表时间:

设计人员:

各个字段信息:

列编号

列名

类型

长度(精度)

是否为空

初始值(缺省值)

列说明

可能的取值范围及各值的含义

1

ID

INT

N

编号

2

Title

VARCHAR(90)

N

报表名称

3

UserID

INT

Y

发布人ID

4

DistTime

TIMESTAMP

Y

发布时间

5

UpdateTime

TIMESTAMP

Y

更新时间

6

FileName

VARCHAR(64)

N

报表文件名称

7

ReportContent

BLOB()

Y

报表内容

8

ReportType

VARCHAR(20)

Y

报表类型

9

Frequency

VARCHAR(8)

N

报表周期

10

ReportNo

INT

N

报表期号

11

Permit

INT

Y

发布许可

12

BussType

INT

Y

业务类型

13

Memo

VARCHAR(128)

Y

备注

主键:

(Title)

(外键:

UserID)

索引:

约束:

大致存储量:

总记录数*每记录字节数,时间参数。

表定义语法:

修改记录:

表名:

XMLDataFile建表时间:

设计人员:

各个字段信息:

列编号

列名

类型

长度(精度)

是否为空

初始值(缺省值)

列说明

可能的取值范围及各值的含义

1

ID

INT

N

编号

2

XMLFileID

VARCHAR(64)

N

文件标示

3

SpecCode

VARCHAR(64)

N

接口编码

4

UserID

INT

N

报送用户ID

5

SendFshTime

TIMESTAMP

N

报送结束时间

6

Content

BLOB()

N

文件内容

7

DataStatus

VARCHAR(8)

N

文件数据状态

是否解压,校验等

8

FileSize

INT

Y

文件大小

9

BussType

INT

Y

业务类型

10

Memo

VARCHAR(60)

Y

备注

主键:

(XMLFileID)

(外键:

SpecCode,UserID)

索引:

约束:

大致存储量:

总记录数*每记录字节数,时间参数。

表定义语法:

修改记录:

设计人员:

语法定义:

主要完成的任务(设计目标):

修改记录:

详细描述其他数据库元素设计,如存储过程,触发器,序列号,视图,函数,同义词,链接,快照等。

其文档格式:

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

当前位置:首页 > 解决方案 > 营销活动策划

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

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