校园论坛系统设计文档格式.docx
《校园论坛系统设计文档格式.docx》由会员分享,可在线阅读,更多相关《校园论坛系统设计文档格式.docx(21页珍藏版)》请在冰豆网上搜索。
你从容不迫的发表你的看法,不被其他人所左右,坚持自己的观点,接受他人善意的批评,笑对调侃,还以幽默,该沉默时不发言,该出手时就出手,我想这就具备了玩网络的正常心态了。
2.项目定义
建立系统的构架,将系统的软件需求分配给软件结构,使设计适应具体的实施环境,给编码人员提供实现依据,使编码人员能够更准确,更高效地完成系统的各功能模块的编码实现,其预期读者为项目小组编码人员。
本论坛主要给我校大学生提供一个思想交流平台,功能上要求能够完成简单的论坛帖子的查看,以及帖子的发表和回复;
管理员能够系统的管理论坛文帖的删除,筛选等基本处理。
在使用上要求贴近生活,靠近校园,界面美观,操作方便和便于维护;
在性能上要求数据处理严谨可靠、有容错措施、安全性。
第一章任务概述
1.1校园论坛平台目标
通过论坛同学之间可以相互沟通和学习,解决一些人生的困惑,不断交流会使理论更成熟,思路更开阔,经验更丰富,用来发表我们身边的好人好事和一些有趣的事的,还可以发表一些自己的意见或介绍自己。
本论坛分为闲聊、情感交流、学习专区、时尚、兼职等版块。
游客只能看帖,不能发帖和回帖;
用户注册登录后可以看帖、回帖、发帖;
版主可以看帖、回帖、发帖,并能够进行删除帖子,删除回帖,将帖子置顶等操作;
各版版主由管理员设定,管理员具有版主的所有功能,并能够删除版主、删除用户。
系统开发的主要任务包括界面设计、数据库的设计与维护,编码实现功能等几个方面,对于前者者则要求程序界面美观友好,功能完备,让用户看着感觉舒适和便捷等,而对于后者要求建立起完整性和一致性良好的数据库(表),且具有一定的数据冗余并标明数据表字段,便于数据库的维护与系统更新。
1.2系统开发环境
1.2.1ASP技术的概述
MicrosoftActiveServerPage即我们所称的ASP。
简单讲,ASP是位于服务器端的脚本运行环境,通过这种环境,用户可以创建和运行动态的交互式Web服务器应用程序,如交互式的动态网页,包括使用HTML表单收集和处理信息,上传与下载等等。
更重要的是,ASP使用的ActiveX技术基于开放设计环境,用户可以自己定义和制作组件加入其中,使自己的动态网页几乎具有无限的扩充能力,这是传统的Web编写工具所远远不及的地方。
使用ASP还有个好处,ASP可利用ADO(ActiveDataObject,微软的一种新的数据访问模型)方便快捷地访问数据库,从而使得开发基于WWW的应用系统成为可能,这也是本文选择ASP作为开发工具最重要的原因之一。
1.2.2ASP内部的特点
ASP提供了6个功能强大的内部对象,每个对象具有各自的属性(Property)、方法(Method),有的还拥有数据集合(Collection)与事件(Event),它们共同完成Web中的一些重要工作。
这6个对象及其功能分别为Request对象从客户端取得信息;
Response对象将信息送给客户端;
Server对象提供一些Web服务器工具;
Session对象储存在一个Session内的用户信息,该信息仅可被该用户访问;
Application对象在一个ASP-Application中让不同的客户端共享信息;
ObjectContext对象配合MicrosoftTransaction服务器进行分布式事务处理。
合理地运用这些对象可以使原本复杂,烦琐的工作变得简捷而条理清晰。
我们可以用以下的语法直接使用这些对象:
对象/属性/方法/数据集合。
1.2.3Access数据库简介
MicrosoftAccess是目前市场上一种优秀的关系数据库注册系统和最好的窗口数据库之一。
Access既可以作为MicrosoftOffice的一个组成部分,也可以作为一个独立的应用于程序产品。
相对于其他数据库而言,Access数据库具有易学、易用、功能强大、面向对象的可视化设计等优点。
目前使用Access数据库的用户越来越多。
事实证明Access是一个非常成功的数据库系统。
1.2.4软件开发环境
系统采用App.Net技术进行开发。
开发及运行的软件环境为:
●数据库SQL2005
●VS2008
第二章系统化可行性分析
2.1需求分析
2.1.1设计分析
不同用户的权限不同,第一次进入系统向管理员申请一个用户名和密码,并填写完整的相关信息,管理员为用户赋予不同的权限,每位用户根据不同权限进入不同的界面,管理员可以实行全部功能,,普通用户只能进行一般查询:
1.普通用户只能查看帖子,不能留言
2.具有普通用户权限,并使注册的用户,可以登录修改个人信息,并发表留言、回复
3.版主对分论坛进行文章管理
4.管理员:
用户信息管理,修改管理员密码
2.1.2系统功能模块分析
论坛一般存在三种用户,分别为注册用户、版主和管理员。
用户的权限是向下覆盖的,既上级权限包含下级权限,在这里的论坛中,管理员是上级权限。
接下来,需要归好类的对象及其方法分配给不同的论坛用户。
具体分配结果如表2-1所示:
表2-1论坛功能和用户权限对应表
功能方法
用户类型
论坛
设置参数
管理员
板块
浏览列表
注册用户
创建板块
管理员、版主
修改板块
删除板块
帖子
查看帖子
发帖
回帖
搜索
编辑(自己所有)
编辑(全部)
删除
置顶
用户
注册用户登录
管理员登录
添加
设置权限
2.1.3软件需求
包括三个不同的层次:
业务需求、用户需求和功能需求(也包括非功能需求)。
1业务需求:
反映了组织机构或客户对系统、产品高层次的目标要求,它们在项目视图与范围文档中予以说明。
随着网络的越来越普及,人们越来越关于这样一种交流平台――论坛。
很多商业网站都开设自己论坛来提供交流和服务,也有很多的个人网站和个人论坛的出现,论坛已经不光是一种交流平台,甚至是成为了实现自我价值的一个舞台。
正因为论坛越来越重要,所以论坛的维护也变成了一种职业,而更好的维护则需要从设计这个层面来了解和进行。
2.q大学生提供一个思想交流平台,论坛可分为闲聊、情感交流、学习专区、时尚、兼职等版块。
注册用户登录后可以看帖、回帖、发帖;
主要则是实现用户的登录、注册,以及进入主页后对页面论坛的查看,评论,发表新帖等,实现版主对用户帖子的删除、置顶,且满足管理员具有版主的所有功能,并能够删除版主、删除用户的功能
2.2技术可行性分析
技术上的可行性分析主要分析技术条件能否顺利完成开发工作,软、硬件能否满足需要。
本系统采用ASP开发出友好美观的人机界面,便于用户理解、操作。
数据库管理系统采用SQL2005,它能够处理大量数据,同时保持数据的完整性、安全性。
本系统主要采取ASP为开发技术,并使用了一些VBScript语言来实现论坛基本功能。
为了简化架设的实现,采取Microsoft公司的Access作为数据库平台,这样在单机上架设一个简单的论坛几乎不需要安装任何程序。
本系统设计的流程是从系统的需求分析开始,确定系统的流程与设计,到模块的划分,再到数据、结构的设计,最后开始每个模块的编程与开发。
2.3结论
通过以上的详细的可行性分析可以看出已经具备此系统的开发条件,按照需求分析和可行性分析的要求就可以完成该系统的设计。
同时,我觉得系统性就是一个系统的灵魂,这决定了用户是否会继续使用我的软件。
在研究开发过程中同学之间的相互帮助也显得格外重要。
第三章数据库设计
3.1数据库分析
数据库设计是开发应用系统中一个非常重要的环节。
数据库设计应该满足数据的存储需求,同时便于访问和查询,它既要保证数据的准确和完整,又要避免过多的数据冗余。
这里采用的是SQLserver2005数据库。
整个系统所包括的信息有用户信息、版主信息、管理员信息。
可将这些信息抽象为下列系统所需要的数据项和数据结构:
用户:
注册、发帖、回帖
版主:
帖子管理
管理员:
管理用户、帖子以及版主
3.1.1系统特点
1.网络环境下的多用户系统
在上述已有的硬件环境下,信息由各用户在规定的权限下在各自的工作站上录入,信息上网后各用户可查询,调用,达到信息共享。
2.数据的完整性,准确性
a.录入数据采用表格方式,限制录入数据类型及取值范围以保证数据的完整性及准确性。
b.统具有部分反悔修改功能,系统备有的修改功能均可反悔。
3.数据安全性
本系统采用二级安全保障
第一级:
依赖于网络本身对用户使用权限的规定。
第二级:
在程序模块中通过使用密码控制功能对用户使用权限加以限制。
3.1.2论文拟解决的关键问题及难点
系统安全性问题:
采用密码保护和验证码双重保护。
密码保护是基本的保护手段,同时增加验证码功能,避免恶意注册登陆。
验证码是随机生成的,当验证码显示不清楚时,可以通过超链接进行更换而无需重新刷新页面,登陆处理对登陆进行了一些限制。
例如输入三次无效用户名后,用Cookie技术禁止该用户继续登陆;
当用户连续三次输入错误密码后,该账户被冻结。
验证码技术中的验证码需要通过rand()函数生成随机数的方式得到。
验证码页面使用gd2技术。
找回密码:
当用户因为各种原因忘记密码时可以通过密码保护问题及答案来找回密码,如果用户输入正确则以电子邮件的形式发到用户的注册邮箱中,反之则无法找回。
分页显示:
当用户搜索一类论坛内容时,面对数据库中的大量数据要输出时,为了美观以及方便快捷,需要运用到分页技术来输出数据库中的数据,而PHP终的分页技术众多,包括PHP超长文本分页、Ajax无刷新分页、分页类分页、PHP上下分页、PHP跳转分页等,需要进一步查阅书籍研究。
3.2数据表设计
3.2.1用户注册
图3-1用户注册窗口
表3-1用户注册表
实体名称:
User
数据库类型:
SQL2005
字段描述
字段名
数据类型
是否为空
初值
键型
备注
用户ID
userID
Int
Notnull
主键
用户名
userName
Varchar(20)
真实姓名
realName
密码
Password
Varchar(50)
生日
Birthday
qq号
Qq
Email
创建注册信息表(user)
Createtableuser(
userIDintnotnullprimarykeyauto-increment,
userNamevarchar(20)notnull,
realNamevarchar(20)notnull,
pwdvarchar(50)notnull,
Brithdayint,
QQint,
EmailVarchar(50)notnull);
3.2.2发帖
图3-2用户发帖图
用户发帖表:
表3-2用户发贴表
实体名称
publish
数据库类型
主题ID
themeID
Notnull
主题名
themeName
主题内容
themeContent
Text
主题分类
typeID
发布人
发布时间
publishDate
Date
状态
status
tinyint
创建发帖表(publish)
Createtablepublish(
themeIDintnotnullprimarykeyauto-increment,
themeNamevarchar(20)notnull,
themeContenttextnotnull,
typeIDintnotnull,
userIDintnotnull,
publishDateDate,
statustinyint);
3.2.3回帖
图3-3用户回帖图
用户回帖表(reply):
表3-3用户回帖表
reply
回帖ID
notnull
回帖内容
replycontent
回帖人
replyDate
date
创建回帖表(reply)
Createtablereply(
Replyintnotnullprimarykeyauto-increment,
themeIDintnotnull,
replycontentintnotnull,
replyDatedate);
3.2.4权限(quanxian)
表3-4用户权限表
quanxian
权限ID
ID
int
身份
shenfen
Varchar(10)
创建用户权限表
Createtableshenfen(
IDintnotnullprimarykeyauto-increment,
Shenfenvarchar(10)notnull);
第四章程序系统的结构
4.1系统模块结构图
论坛系统的要求及相互间关系
下图描述系统功能关联图:
如图4-1,以及它们间的层次关系表:
如表4-1。
图4-1系统功能关联图
表4-1系统功能层次关系
用 户
版 面
公共信息
帖 子
版主
系统参数
用 户
注 册
修 改
浏 览
联 系
发 布
删 除
特殊操作
√
×
版 面
帖 子
添 加
授 权
设置
4.2本系统参与者活动图:
4.2.1用户活动图
图4-2用户活动图
用户活动(如图4-2):
用户进入本系统可以浏览论坛帖子,当用户想对产品信息、个人信息进行管理时必须先登录。
其中信息管理包括:
查看帖子、发布帖子、回复帖子,用户信息管理包括:
更改注册邮箱、更改个人信息。
4.2.2版主活动图
图4-3版主活动图
版主权限(如图4-3):
版主进入系统后可以看帖、回帖、发帖,删除帖子,将帖子置顶等操作
4.2.3管理员活动图
图4-4管理员活动图
管理员权限(如图4-4):
管理员进入系统后可以对各版版主设定,具有版主的所有功能,并能够删除版主、删除用户
用户登录协作图:
图4-5用户登录协作图
论坛搜索协作图:
图4-6论坛搜索协作图
第五章主要模块设计说明
5.1论坛模块
表5-1论坛模块表
论坛软件测试
系统模块
功能模块
前台功能模块
完成情况
测试情况
用户界面
设为首页
网站内容的汇总和索引
收藏本页
快速提取
登陆
进入网站主页界面
注册
拥有一些特权
主页
看帖
查看内容,内容可以包括文字、文件、图片、音频、视频
评论
添加、修改、审阅;
支持文字标题,内容可以包括文字、文件、图片、音频、视频
添加,支持文字标题,内容可以包括文字、文件、图片、音频、视频
添加。
支持文字标题
管理员登陆
帖子的管理
添加、删除、审阅、置顶
对版主的管理
添加、删除、
对用户的管理
对帖子的管理
添加、修改、审阅、置顶
5.2用户注册模块
表5-2用户注册模块表
名称、标识符
用户注册模块
功能描述
1.用户注册后成为本站用户,登录后可以有更高的权限
性能
2.当用户输入用户名时可以检测此用户名是否已使用,查询数据库响应时间<
2s;
当游客点“提交”按钮时更新数据库运行时间<
5s
输入
3.用户基本信息:
用户名、注册邮箱、密码
操作序列
4.点击“注册”按钮进入注册页面。
5.用户进入用户填写信息页面;
6.用户填写个人注册信息,点击“检查用户名”,返回成功页面提示用户继续填写;
返回失败页面提示游客修改用户名。
7.用户正确填写注册资料后,点击“提交”,返回注册成功页面;
否则,返回失败页面,提示返回注册页面。
限制条件
1.必须连接数据库,否则会出现无法连接数据库错误(因为此处需要检查用户名是否可用);
2.用户名不超过18字符,邮箱长度<
24,密码长度<
18。
接口
与主页的联系方式:
在主页中点击“注册”,进入此页面;
也可点击用户管理菜单下的“用户注册”进入此页面
输出
返回主页
5.3用户登录模块
表5-3用户登录模块表
用户登录模块
用户登录后可以管理个人基本信息、管理产品信息
当用户点击“登录”按钮时响应时间<
2s
用户基本信息:
用户名、密码
1.点击“登录”按钮进入用户登录页面。
2.用户进入登录页面;
3.用户填写个人基本信息,点击“登录”按钮,用户名和密码正确时,返回登录成功页面提示用户后将自动跳转至主页;
否则返回登录失败页面提示用户用户名或密码错误,后将自动返回至登录页面。
1.必须连接数据库,否则会出现无法连接数据库错误
2.必须为本站注册用户
在主页中点击“登录”,进入此页面。
5.4论坛主界面模块
表5-4论坛主界面模块表