FAQs系统概要设计说明书Word文档格式.docx
《FAQs系统概要设计说明书Word文档格式.docx》由会员分享,可在线阅读,更多相关《FAQs系统概要设计说明书Word文档格式.docx(23页珍藏版)》请在冰豆网上搜索。
![FAQs系统概要设计说明书Word文档格式.docx](https://file1.bdocx.com/fileroot1/2023-1/8/b23a0883-b4d3-47ac-af7a-1ca6ea5c3f22/b23a0883-b4d3-47ac-af7a-1ca6ea5c3f221.gif)
系统维护设计
数据库基表结构
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硬盘
鼠标
键盘
服务器硬件需求:
最低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
3
common
4
第四部分、设计概述
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设计实现
类关系图如下所示:
类的描述如下表:
对象名
说明
all.jsp
浏览全部FAQs页面
single.jsp
浏览一个FAQ页面
toc.jsp
浏览FAQs索引页面
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时序图
执行浏览全部FAQs命令
getFaqs()
调用存储管理模块,读取全部FAQs列表
3.浏览FAQs索引页面时序图
执行浏览FAQs索引页面命令
4.浏览FAQs文本视图时序图
执行浏览FAQs文本视图命令
4.2.4FAQs管理
4.2.4.1FAQs管理设计实现
类关系图如下所示:
menu.jsp
FAQs管理主菜单页面
FaqAdminServlet
FrontControllerServlet
CommandToken
命令令牌,维护交易的一致性
AddCommand
增加FAQ命令
DeleteCommand
删除FAQ命令
UpdateCommand
更新FAQ命令
10
AbortCommand
退出命令
11
NullCommand
空命令
12
用户界面:
1.增加FAQ时序图
执行增加FAQ命令和空命令
put()
调用存储管理模块,插入FAQ
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时序图
执行读取全部FAQ、读取一个FAQ命令和删除一个FAQ命令
调用存储管理模块,读取全部FAQs
getFaq()
4
removeFaq()
调用存储管理模块,删除一个FAQ
5
删除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命令返回的结果:
3.更新FAQ时序图
执行读取全部FAQ、读取一个FAQ命令和更新FAQ命令
update()
调用存储管理模块,更新FAQ
更新FAQ的过程为:
输入FAQs管理主菜单界面,根据显示菜单列表menu.jsp,选择更新FAQ按钮,前端控制器获得用户输入,调用GetAllCommand命令的execute()方法。
upd-menu.jsp,系统显示页面upd-menu.jsp。
用户选择待更新的FAQId,提交Form。
前端控制器获得用户输入,调用GetCommand命令,GetCommand命令调用FaqRepository的getFaq()读出被更新FAQ的详细信息。
update.jsp,系统显示更新编辑页面update.jsp。
用户输入信息后,点击更新,前端控制器调用UpdateCommand命令,UpdateCommand命令调用FaqRepository的update()更新FAQ。
前端控制器根据UpdateCommand命令返回的结果:
第五部分、接口设计
本系统采用集成开发工具JBuilder9.0进行开发,所提供的接口,都具有高度的集成性。
5.1用户接口
本系统提供Browse/Server的操作方式。
使用了MVC设计模式,将业务逻辑与表示逻辑最大程度的分离。
5.2外部接口
本项目是一个独立、完整的项目,目前不提供与其他系统的接口。
5.3内部接口
本系统的“存储管理“子系统为“Web访问“和“FAQs管理“分别提供访问FAQs数据库的接口。
1.API接口
JavaClass文件:
FaqRepository.class;
具体方法说明,见<
<
FAQs系统项目详细设计说明书>
>
。
第六部分、系统出错处理设计
利用Java异常处理机制,捕获/处理所有异常,并在程序中进行处理成用户可理解形式表现。
异常类
描述
出错提示
CommandException
命令执行异常
根据不同命令的属性来定
FaqRepositoryException
存储管理异常
根据数据库异常的属性来定
UnknownFaqException
FAQ不存在
根据删除、修改不同的属性来定
第七部分、系统维护设计
1.系统的“存储管理“子系统使用配置文件存储有关数据库的连接信息。
可进行灵活的维护修改。
2.数据库的备份和维护采用数据库厂家自身的工具。
第八部分、数据库基表结构
1.faqs详细描述示例格式如下:
表名:
faqs建表时间:
设计人员:
各个字段信息:
列编号
列名
类型
长度(精度)
是否为空
初始值(缺省值)
列说明
可能的取值范围及各值的含义
ID
INT
N
标识
question
VARCHAR2(255)
问题
answer
VARCHAR2(2000)
Y
答案
modified
DATE
时间戳
主键:
(ID)
(外键:
)
索引:
约束:
大致存储量:
总记录数*每记录字节数,时间参数。
表定义语法:
修改记录:
2.其他数据库元素设计
数据元素名称:
faqid_seq建立时间:
语法定义:
CREATESEQUENCEfaqid_seq
INCREMENTBY1
STARTWITH1
MINVALUE1;
主要完成的任务(设计目标):
建立时间:
设计人员:
ReportStore建表时间:
Title
VARCHAR(90)
报表名称
UserID
发布人ID
DistTime
TIMESTAMP
发布时间
UpdateTime
更新时间
FileName
VARCHAR(64)
报表文件名称
ReportContent
BLOB()
报表内容
ReportType
VARCHAR(20)
报表类型
Frequency
VARCHAR(8)
报表周期
ReportNo
报表期号
Permit
发布许可
BussType
业务类型
13
Memo
VARCHAR(128)
备注
(Title)
UserID)
XMLDataFile建表时间:
XMLFileID
文件标示
SpecCode
接口编码
报送用户ID
SendFshTime
报送结束时间
Content
文件内容
DataStatus
文件数据状态
是否解压,校验等
FileSize
文件大小
VARCHAR(60)
(XMLFileID)
SpecCode,UserID)
详细描述其他数据库元素设计,如存储过程,触发器,序列号,视图,函数,同义词,链接,快照等。
其文档格式: