11社区 系统概要设计说明书

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

系统概要设计
说明书
项目名称_________11社区_________ 拟制人____ _
审核人_________ ___________
批准人____ _
编著日期____ ______
目录
目录
1. 引言 (1)
1.1 编写目的 (1)
1.2 预期读者和阅读建议 (1)
1.3 参考资料 (1)
1.4 术语与缩略语 (1)
2. 设计概述 (2)
2.1 限制和约束 (2)
2.2 设计原则和设计要求 (2)
3. 系统的软件架构 (3)
4. 子系统的结构和功能模块 (4)
5. 系统接口、数据库设计规划 (7)
5.1 接口设计 (7)
5.2 数据库设计 (8)
5.2.1 结构设计 (8)
5.2.2 运用设计 (11)
6. 难点及处理方案 (13)
7. 文档历史 (13)
1. 引言
1.1 编写目的
从该阶段考试正式进入软件的实际开发阶段,本阶段完成系统的大致设计并明确系统的数据库与软件结构。

在系统设计阶段主要是把一个软件需求转化为软件表示的过程,这种表示只是描述软件的总的概貌。

本概要设计说明书的目的就是进一步细化软件设计阶段得到的软件总体概貌,把它加工成在程序细节上非常接近于源程序的软件表示。

在完成了“11社区”系统的可行性研究和需求分析的基础上,为了明确软件需求、安排项目规划与进度,组织软件开发和测试,项目小组在考虑了几种可能的解决方案,并对每种方案进行深入探讨后,提出了这份概要设计说明书。

此概要设计说明书对BBS管理系统软件的软件架构、模块细化、程序的总体结构、接口设计以及数据库设计规划等方面做了全面的概括性说明,为“11社区”系统的详细设计奠定了基础。

1.2 预期读者和阅读建议
该文档的预期读者为“11社区”程序开发员、系统设计师以及测试工程师等。

本文档主要针对“11社区”设计概述、软件架构、子系统的结构和模块功能以及系统接口、数据库设计规划等方面进行了详细的说明,笔者建议,在阅读本文档之前,细细阅读“术语与缩略语”部分,这将有利于您对本文档的理解。

对于程序开发员,笔者建议仔细阅读系统的软件架构及子系统的结构和功能模块部分,了解每个功能模块之后,这样对系统的功能及运行模式将有整体的把握,然后阅读后面几部分内容,有利于“11社区”系统的实现。

而测试工程师应把重点放在系统接口、数据库设计规划以及数据库设计上,在系统测试过程中,最容易出错的就是这两方面。

总之,笔者建议读者根据自己阅读本文档的目的选择着重点,这样在满足需求的同时提高效率。

1.3 参考资料
[1] 王宜贵.软件工程[M].北京:机械工业出版社,2002:20-79
[2] 孙卫琴.精通struts[M].北京:电子工业出版社,2004:50-70
[3] 孙卫琴.精通hibernate[M].北京:电子工业出版社,2005:100-120
[4] 张洪斌.java2高级程序设计[M].北京:中科多媒体出版社,2001:85-90
[5] 林信良.spring2.0技术手册[M].北京:电子工业出版社,2006:50-100
[6] 耿祥义编著.JSP基础编程[M].北京:清华大学出版社,2004:55-162
[7] 孙鑫编著.Java Web开发详解[M].北京:电子工业出版社,2006:189-274
1.4 术语与缩略语

2. 设计概述
2.1 限制和约束
1、技术条件:本系统涉及到开发平台的搭建、网站开发的框架设计、html基础、jsp 基础、java基础,我们学习的仅仅是皮毛而已,还需要进一步的学习。

2、资金状况:
3、开发环境(包括:工具和平台);由于是个人电脑,所以硬件设施可能在性能上比较差;软件全部是免费的,功能可能会受到相应的限制;对windows xp比较熟悉,所以开发主要是在这个平台上进行的;
4、时间限制:除了本系统的开发以外,本组成员还有其他的任务,不能将全部精力都放在本系统的开发上。

5、客户需求会经常变更,影响项目的进度。

在上述条件下,应该实现的系统目标为:以水木社区为模板,开发一个更适合师大全体师生交流的社区平台。

实现的主要功能和水木社区相似,为:会员注册、会员登陆、会员管理、论坛版块管理、帖子管理、帖子发表、帖子回复、帖子浏览、帖子检索、意见建议;但是要进行一定的改进,增加投票栏目、资源共享、新生家园、新手上路、版块介绍等这几个板块。

2.2 设计原则和设计要求
“11社区”系统开发过程中的设计原则和设计要求见表 2-1。

表 2-1 设计原则及要求表
设计原则及要求设计详述
命名规则所有数据、模块、功能等命名要见名知意
模块独立性原则高内聚低耦合
边界设计原则边界明确,无模棱两可的说法
灵活性要求①系统运行不响应时间不能超过10秒。

②对系统进行操作时,响应时间在5秒之内。

③多用户操作时,时间和相应的要求同上。

数据库设计规则①数据的共享性。

②数据独立性。

③数据的完整性,即保证数据库存中数据准确。

④灵活性,可在相当短的时间内回答用户的各种各样的复杂而灵活的查询问题。

⑤安全性与保密性,做到对数据指定保护级别和安全控制。

①权限控制
根据不同用户角色,设置相应权限,用户的重要操作都做相应的日志记录以备查看,没有权限的用户禁止使用系统。

普通用户只能删除自己的发帖、跟帖内容;而版主、超级版主、系统管理员可以删除所有人的发帖、跟帖的内容。

安全措施及
安全性和保密原则②重要数据加密
本系统对一些重要的数据按一定的算法进行加密,如用户口令、重要参数等。

③数据备份
允许用户进行数据的备份和恢复,以弥补数据的破坏和丢失。

④记录日志
本系统应该能够记录系统运行时所发生的所有错误,包括本机错误和网络错误。

这些错误记录便于查找错误的原因。

日志同时记录用户的关键性操作信息。

⑤系统安全措施可靠、高效、可维护性好,有权限控制、口令控制、临时锁定控制,其中口令录入界面便于系统识别登录用户
可靠性需求系统运行具有较高的可靠性,提供严格的并发控制,确保数据的一致性和正确性
易操作性要求①界面人性化,方便操作,操作流程合理
尽量从用户角度出发,以方便使用本产品。

如:发帖时,敲入回车键光标的自动跳转、输入法的自动转换,信息检索时输入汉语简拼快速检索到结果等。

可以通过快速键方便用户录入信息,所有操作可仅通过键盘完成。

②支持没有计算机使用经验、计算机使用经验较少及有较多计算机使用经验的用户均能方便地使用本系统。

③控制必录入项
本系统能够对必须录入的项目进行控制,使用户能够确保信息录入的完整。

同时对必录入项进行有效的统一的提示。

④用户可自定义
为了满足业务的不断变化,一些重要的参数应该可以灵活设置。

⑤联机帮助与操作指南。

可维护性要求为了保证系统的可维护性,要求具有详细的文档资料,同时,要求系统在功能设计上考虑可扩展性,以满足业务变动的需求。

从用户的实际需要出发进行系统开发,不盲目追求高新技术的应用
3. 系统总体结构图
根据系统需求说明书,方便网站的开发、维护,切合模块“高内聚、低耦合”思想,特将11社区管理系统分解为3个子系统:会员管理系统、帖子管理系统,后台管理系统。

会员管理系统主要负责用户信息的管理,如用户登录、注册等。

当用户发帖或回复帖子时,将由帖子管理系统进行处理。

若需对用户信息、站内帖子、站内版块进行综合管理,则需由后台管理系统完成。

系统的总体结构图见图3-1。

“11社区”管理系统
会员管理子系统帖子管理子系统后台管理子系统
会员登录























理好











图3-1系统的总体结构图
根据系统的总结结构图,“11社区”子系统划分表见表3-1。

子系统编号英文名称中文名称业务职能
SubSystem1 Member Manager
System
会员管理子系统
实现用户信息的管理,包括用户
注册、登录,用户信息修改。

SubSystem2 Tip Manager
System
帖子管理子系统
实现用户发帖、回复、查找、删
除帖子等功能。

SubSystem3
Back-stage
Manager System
后台管理子系统
实现管理员对会员、帖子、论坛
的管理。

管理员可对会员进行注
册验证,修改会员信息,删除会
员信息;删除、置顶帖子;改善
站内版块功能。

4. 子系统的结构和功能模块
会员管理子系统:在此子系统中,为了降低其复杂度,根据用户的不同操作,再将其分为会员注册、会员登录、好友查找、资料修改四个模块。

其具体分配模块见图4-1。

会员管理子系统
会员登录会员注册好友查找资料修改
图4-1 会员管理子系统模块划分图
会员管理子系统模块划分见表4-1。

表4-1 会员管理子系统模块划分表
模块编号英文名称中文名称业务职能所属子系统Module1-1 Member Login 会员登录实现用户的登录功能SubSystem1 Module1-2 Member Register 会员注册实现用户的注册功能SubSystem1 Module1-3 Member Search 好友查找实现用户对站内会员的查询SubSystem1 Module1-4 MemberInfo 资料修改实现用户对注册个人资料进SubSystem1
Update 行修改
找3个模块,其具体分配模块见图4-2。

帖子管理子系统
帖子发表帖子回复帖子查找
图4-2 帖子管理子系统模块划分图
帖子管理子系统模块划分见表4-2。

表4-2 帖子管理子系统模块划分表
模块编号英文名称中文名称业务职能所属子系统
Module2-1 Tip Post 帖子发表完成用户在站内发表
帖子功能
SubSystem2
Module2-2 Tip Reply 帖子回复完成用户对某帖子进
行回复功能
SubSystem2
Module2-3 Tip Search 帖子查找完成用户对自己需要
的帖子进行查询功能
SubSystem2
操作对象不同,将其分为三个模块:用户管理、帖子管理和版块管理。

其具体分配模块见图4-3。

后台管理子系统
用户管理帖子管理板块管理
图4-3 后台管理子系统模块划分图
后台管理子系统模块划分见表4-3。

表4-3 后台管理子系统模块划分表
模块编号英文名称中文名称业务职能所属子系统
Module3-1 Member
Management 用户管理
实现管理员对于违反站内制度
的会员,可将其禁言或删除其ID SubSystem3
Module3-2 Tip
Management 帖子管理实现管理员根据需要对某些帖
子进行置顶或移动操作。

SubSystem3
Module3-3 Board
Management 版块管理实现管理员对版块根据需要进
行添加新版块、删除旧版块、完
善现有版块功能。

SubSystem3
userDAO
1
0..*
1
+findById() : User +addUser()+deleteUser()+updateUser()+findAll()
<<interface>>UserDAO
+find()+add()+delete()+update()+listAll()
<<interface>>UserService
UserDAOImp
-userDAO : UserDAO
UserServiceImp -boardid : Integer -boardname : String -parentid : Integer
Board
-userid : Integer -username : String -userpassword : String -flag : int
User
-tipid : Integer -title : String -content : String -userid : Integer -boardid : Integer
Tip
-replyid : Integer -content : String -userid : Integer -tipid : Integer
Reply
1
0..*
10..*
0..*
1
1
+delete()
+findById() : Tip +findListByUserId()+findListTip()+save()
<<interface>>
TipDAO
TipDAOImp
-tipDAO : TipDAO
TipServiceImp +delete()+findById()
+findListByUserId()+findListTip()+save()
<<interface>>TipService
1
1
+boardDelete()+boardSave()+boardUpdate()
+findBoard()
+findBoardById() : Board
+findParentBoard()
<<interface>>BoardDAO
BoardDAOImp
+delete()+save()+update()+findBoard()
+findBoardById() : Board +findParentBoard()
<<interface>>BoardService
-boardDAO : BoardDAO BoardServiceImp 1
1
+findById() : Reply +findCountReply()+findListReply()+save()
<<interface>>ReplyDAO
ReplyDAOImp
+findById() : Reply +findCountReply()+findListReply()+save()
<<interface>>ReplyService
-replyDAO : ReplyDAO
ReplyServiceImp 11
replyDAO
boardDAO tipDAO
图 4-4 “11社区”类图
5. 系统接口、数据库设计规划
5.1 接口设计
5.1.1 外部接口
在用户界面部分,根据需求分析的结果,用户需要一个用户友善界面。

在界面设计上,应做到简单明了,易于操作,并且要注意到界面的布局,应突出重要以及出错信息。

外观上也要做到合理化,考虑到用户多对WINDOS风格较熟悉,应尽量向这一方向靠拢。

总的来说,系统的用户界面应做到可靠性、简单性、易学性和实用性。

5.1.2 内部接口
会员管理子系统接口信息见表 5-1。

子系统编号:SubSystem1
子系统英文名称:Member Manager System
子系统中文名称:会员管理子系统
接口编号接口名称接口类型接口
性质
相关对象
SubSystem1.Login 用户名、密码必填项输入登陆界面SubSystem1.Register.1 有效邮箱、密码、
确认密码、昵称
必填项输入注册界面
SubSystem1.Register.2 生日、性别、所
在地、
选填项输入注册页面SubSystem1.Search.1 好友昵称选填项输入好友查找页面SubSystem1.Search.2 好友地址等选填项输入好友查找页面SubSystem1.Search.3 相关好友信息只读、可加好友输出好友查找成功页面SubSystem1.Update.1 所要修改的信息必填项输入修改个人信息页面SubSystem1.Update.2 修改后信息只读输出修改个人信息成功
后的页面
说明:1、邮箱格式正确;2、密码与确认密码相同;3、在Search中,好友昵称、好友地址等好友信息必须填写一项;
帖子管理子系统接口信息见表5-2。

表5-2 帖子管理子系统接口列表
子系统编号:SubSystem2
子系统英文名称:Tip Manager System
子系统中文名称:帖子管理子系统
接口编号接口名称接口类型接口性质相关对象SubSystem2.Post.1 发帖标题必填项输入发帖页面SubSystem2.Post.2 发帖内容选填项输入发帖页面SubSystem2.Post.3 点击“发表”必须操作输入发帖页面SubSystem2.Post.4 所发帖子内容只读输出发帖成功后页面
SubSystem2.Reply.1 回复内容 必填项 输入 回复页面 SubSystem2.Reply.2 点击“回复” 必须操作 输入 回复页面 SubSystem2.Reply.3
所回复帖子内容
只读
输出 回复成功后页面 SubSystem2.Search.1 帖子主题、关键字、好友昵称等等 选填项(必
填其一) 输入 帖子查找页面 SubSystem2.Search.2 相关帖子信息
只读、可加
回复
输出
帖子查找成功页面
说明:1、发帖标题、发帖内容必须在规定的长度范围内;2、查找帖子时,必须填写一项查询条件;
表5-3 板块管理子系统接口列表 子系统编号:SubSystem3
子系统英文名称:Back-stage Manager System 子系统中文名称:板块管理子系统
接口编号
接口名称 接口类型 接口性质 相关对象 SubSystem3.Member.1 用户ID 必填项 输入 用户禁用页面 SubSystem3.Member.2 用户ID 必填项 输入 用户删除页面 SubSystem3.Tip 发表的帖子 必选想 双向 帖子处理页面 SubSystem3.Board.1 板块ID 必填项 输入 板块删除页面 SubSystem3.Board.2 板块排版
修改项
双向
板块排版修改页面
说明:无
5.2 数据库设计
5.2.1 结构设计
I 、概念结构设计
概念模型的表示方法很多,其中最为著名最为常用的是E-R 图。

简单的说,E-R 图用来分析数据关系的。

下面具体列出“11社区”系统主要的实体图及E-R 图。

根帖实体图如图5-1所示:主要属性有编号、所属版面、标题、内容、发布者、发布时间、表情、对帖子进行操作的时间、是否为置顶帖子、被置顶的时间、是否为精华帖子和被设置为精华帖子的时间。

其中是否为置顶帖子与是否为精华帖子属性分别用来标识帖子是否被设置为置顶或精华帖子,1表示“是”,0表示“否”。

用户信息表实图如图5-2所示:主要有编号、用户名、密码、头像、性别、联系方式、QQ 号码、邮箱、籍贯、权限。

权限分为三种:0表示普通用户,1表示版主,2表示管理员。

图 5-1 跟帖信息实体图
内容
发布者
发布时间
是否顶置 标题
所属版面
顶置时间
精华时间
编号
是否精华 跟 帖
系统概要设计说明书(** ** ** )
回复帖实体图如图5-3所示:主要有编号、根帖ID 、标题、内容、回复者、回帖时间和表情属性。

版面实体图如图5-4所示:主要有编号、所属类别ID 、版面名称、版主、版面公告。

论坛类别实体图如图5-5所示:主要有编号、类别名称、介绍。

II 、逻辑结构设计
用户表设计见表 5-4。

表5-4 User 表
回复帖
回复者
内容
根帖ID 表情
编号
回帖时间
标题
版面
版主
版面名称
编号
版面公告
所属类别
图5-2 用户信息实体图
图5-3 回复帖实体图
图5-4 版面实体图
类别名称
介绍 编号 论坛类别
图 5-5 论坛类别实体图
帖子表设计见表5-5。

表5-5 Tip表
版块表设计见表5-6。

表5-6 Board表
回帖表设计见表5-7。

表5-7 Reply表各表之间的关系见图5-7。

图5-7 表之间的关系图
III、物理结构设计
A.缓存区设计:对于不经常发生变化的数据,采用缓存机制,将数据缓存在内存中,以提高系统的访问性能;
B.外存设备及外存空间的组织:无;
C.数据库访问方式:JDBC。

5.2.2 运用设计
根据E-R图可以对数据库进行设计,以下列出详细的数据库运用设计。

论坛用户信息表用来保存论坛所有用户的详细信息,其具体信息见表5-8。

表5-8 用户信息表(User)
域名数据类型说明主要属性
userid int用于自动存储用户ID
主键Not null
name Varchar(200)用于存储用户名称Null password Varchar(200)用于存储用户密码Null face Varchar(200)用于存储用户头像Null sex Varchar(20)用于存储用户性别Null phone Varchar(50)用于存储用户联系方式Null qq Varchar(50)用于存储用户QQ号码Null email Varchar(100)用于存储用户邮箱Null region Varchar(200)用于存储用户籍贯Null able int0表示普通用户Null
1表示版主2表示管理员
表5-9 根帖信息表(Tip)
域名数据类型说明主要属性
tipid Int 用于自动存储帖子ID 主键
Not null
title varchar(100)用于存储帖子标题((-1)) content varchar(8000)用于存储帖子内容 null publishtime varchar(100)用于存储帖子发布时间 null userid int用于存储帖子发布者id null boardid int用于存储帖子所属版块id null
bbs_isTop int
1表示置顶帖子
0表示非置顶帖子
(0)
bbs_isTopTime varchar(100)在显示置顶帖子时,
按该字段降序排列
null
bbs_isGood int
1表示精华帖子
0表示非精华帖子
(0)
bbs_isGoodTime varchar(100)在显示精华帖子时,
按该字段降序排列
null
版面信息表用来保存论坛中版面信息,其具体信息见表5-10。

域名数据类型说明主要属性
boardid int用于自动存储版面ID
主键not null
boardname varchar(100)用于存储版面名称 null parentid int用于存储版面所属版块id null 回复帖子信息表用来保存回复帖子的信息,其具体信息见表5-11。

域名数据类型说明主要属性
replyid Int ID值(自动编号)
主键not null
title Varchar(100)用于存储回复帖子的标题 Null content Varchar(8000)用于存储回复帖子的内容 Null userid int用于存储回复帖子的回复者ID Null publishtime Varchar(100)用于存储回复帖子的时间 Null tipid int用于存储回复帖子的根帖ID Null 在数据库的设计中,我们将通过用户的“able”属性值来判断访问者,able="0"表示为普通用户;able="1"表示为版主;able="2"表示为管理员。

通过able的值来判断访问的类型以确定他们的权限,从而保证数据库的安全性和保密性。

6.难点及处理方案

7. 文档历史
版本修改内容修改日期修改人审阅人V1.0 整合全文2012.11.18 ** ** V1.1 修改全文2012.11.19 ** ** V1.2 修改格式2012.11.19 ** ** V1.3 结构设计、修改表名及图名2012.11.24 ** ** V1.4 接口设计、运用设计2012.11.25 ** ** V1.5 修改格式2012.11.26 ** ** V1.6 系统总体结构图、全文格式2012.11.27 ** **。

相关文档
最新文档