01 学习论坛系统设计说明书.docx
- 文档编号:23425203
- 上传时间:2023-05-17
- 格式:DOCX
- 页数:42
- 大小:686.48KB
01 学习论坛系统设计说明书.docx
《01 学习论坛系统设计说明书.docx》由会员分享,可在线阅读,更多相关《01 学习论坛系统设计说明书.docx(42页珍藏版)》请在冰豆网上搜索。
01学习论坛系统设计说明书
“学习论坛”系统设计说明书
文件状态:
[√]草稿
[]正式发布
[]正在修改
文件标识
当前版本
1.0.0
作者
完成日期
2014年03月20日
版本历史
版本/状态
修订人
修改日期
备注
第一部分、概述
1.1文档说明
本文档描述“学习论坛”系统的设计文档,系统使用面向对象的设计方法,首先设计系统的总体结构,再设计各个用例的实现。
1.2系统需求概述
“学习论坛”系统的:
管理员、用户。
系统的用例图如图1所示:
图1“学习论坛”系统的用例图
第二部分、系统总体结构
系统设计时基于分层设计模型,采用三层架构,如图2所示。
图2“学习论坛”系统的体系结构
系统的功能结构如图3所示。
图3“学习论坛”系统的功能结构图
第三部分、系统设计
3.1关键抽象
从需求中可以得出系统的如下关键抽象:
用户、帖子、回复、个人消息、用户类型等。
这些实体可以设计为类,例如登录具有这些属性:
登录编号、登录名、密码、登录类型、注册日期等。
每个用户拥有一个登录,每个登录对应一个用户;每个用户对应一个专业,每个专业有多个用户。
图4描述了系统的关键抽象类,登录类的类图。
图4类图
3.2用例的设计
使用面向对象设计时,关键在于描述那些对象如何交互完成用例的功能,通常将对象发送消息的相互调用过程画成时序图。
下面将逐一解释用例的时序图。
3.2.1注册
A、时序图
B、描述
编号
类名或方法名
功能描述
1
Register.jsp
显示注册界面,接受用户输入的登录信息:
登录名,姓名,密码,性别,生日,电子邮箱等。
2
UserBLL
通过输入验证信息方法判断注册信息是否正确。
3
UserDAL
通过获取注册信息的方法,从数据库中写入注册的登录名和系统信息。
4
Deafult.aspx
如果注册信息正确跳转页面。
3.2.2登录
A、时序图
B、描述
编号
类名或方法名
功能描述
1
Login.aspx
显示登录界面,接受用户输入的登录名和密码,同时进行输入信息验证。
登录名由字母、数字和下划线组成,不得超过20个字符;密码可以是除控制字符外的任何字符。
2
UserBLL
通过IsLogin()方法判断登录名和密码是否匹配。
3
UserDAL
通过GetUserByLoginName方法,从数据库中获取对应登录名的系统信息。
4
Deafult.aspx
显示系统主界面,如果登录信息验证正确,跳转到本页。
3.2.3注销
A、时序图(无需时序)
B、描述
编号
类名或方法名
功能描述
1
Deafult.aspx
Session.Remove()
用户登录后,登录信息处有“注销”功能按钮,用户点击该按钮,可以安全退出本系统。
3.2.4密码修改
A、时序图
B、描述
编号
类名或方法名
功能描述
1
ChangePassword.aspx
显示密码设置界面,接受用户输入的原始密码
2
UserBLL
通过输入验证密码方法判断是否修改密码,并输入新密码。
3
UserDAL
通过获取新密码的方法,从数据库中写入新密码。
4
Deafult.aspx
如果密码修改成功跳转页面。
3.2.5找回密码
A、时序图
B、描述
编号
类名或方法名
功能描述
1
FindPassword.aspx
进入主页无需登录选择找回密码
2
UserBLL
通过输入验证密码方法判断是否找回密码,并找回密码信息。
3
UserDAL
通过获取找回密码信息的方法,返回找回密码信息方法。
4
Deafult.aspx
如果密码找回成功跳转页面,给用户回复电子邮件。
3.2.6浏览帖子
A、时序图
B、描述
编号
类名或方法名
功能描述
1
UserDefault.aspx
显示该用户所在专业板块的帖子列表,并显示帖子的标题、内容概要、发布人、发布时间、被浏览次数等。
2
MessageBLL
通过SelectMessages()方法按条件查询帖子。
3
MessageDLL
SelectMessages()方法负责访问Mseeage表返回帖子内容。
4
ShowMessage.aspx
查找成功后,主页可以显示发布人、发布时间、修改时间、阅读次数,并以列表形式显示。
3.2.7发布帖子
A、时序图
B、描述
编号
类名或方法名
功能描述
1
PublishMessage.aspx
显示发布帖子界面,接受用户输入的标题和内容,同时进行输入信息验证,标题不能为空,内容不能为空。
2
MessageBLL
通过AddMessage()方法进行帖子内容验证。
3
MessageDAL
InsertMessage()方法负责访问Mseeages表,并返回发布的帖子内容。
4
UserDefault.aspx
帖子发布成功后,主页可以显示发布人信息、发布时间、所属板块等信息。
3.2.8删除、修改帖子
A、时序图
B、描述
编号
类名
功能描述
1
Default.aspx
在UI层调用业务逻辑层方法,点击修改帖子,修改成功后;保存修改后的帖子。
2
UserBLL
在业务逻辑层(BLL),查询帖子的验证;
3
Default.aspx
在数据访问层(DAL),根据ID查询帖子,数据库执行操作;传递修改后的ID,数据库执行操作;刷新表单,显示修改后的帖子信息。
3.2.9回复帖子
A、时序图
B、描述
编号
类名
功能描述
1
Default.aspx
在UI层调用业务逻辑层的方法,管理员回复帖子
2
UserBLL
在业务逻辑层(BLL),进行回复内容验证
3
UserDAL
在数据访问层(DAL),获取回复内容,数据库开始执行操作,操作成功后,系统跳转回帖子浏览页。
3.2.10修改、删除回复
A、时序图
B、描述
编号
类名或方法名
功能描述
1
Login.aspx
显示登录界面,接受用户输入的登录名和密码,同时进行输入信息验证。
登录名由字母、数字和下划线组成,不得超过20个字符;密码可以是除控制字符外的任何字符。
2
LoginDAL
判断登录名和密码是否匹配后。
可以查看首页信息。
3
Reply.aspx
用户可以修改,删除回复
3.2.11浏览个人消息
A、时序图
B、描述
编号
类名或方法名
功能描述
1
UserDefault.aspx
显示所有该用户收到的个人消息,并区别已读消息和未读消息。
用户单击消息标题的超链接可以跳转到消息详细显示界面。
2
NoteBLL
通过SelectNotes()方法获取查询消息的条件。
3
NoteDAL
其SelectNotes()方法从数据库中Note获取要浏览的个人消息。
4
ShowNote.aspx
消息查找成功后,该页可以显示消息的标题、发送人、发布时间、是否被阅读、详细内容等信息。
3.2.12发送个人消息
A、时序图
B、描述
编号
类名或方法名
功能描述
1
PublishNote.aspx
显示个人消息发送界面,接受用户输入的标题和内容,同时进行输入信息验证,标题不能为空,内容不能为空。
2
NoteBLL
通过AddNote()方法进行消息内容验证。
3
NoteDLL
InsertNote()方法负责访问Notes表返回发布信息。
4
UserDefault.aspx
消息发送成功后,接收人可以显示发送人信息、发送时间等。
3.2.13删除个人信息
A、时序图
B、描述
编号
类名或方法名
功能描述
1
ManageUserMessage.aspx
在UI层选中要删除个人消息。
调用了业务逻辑层的RemoveUserMessageByNoteID方法,当用户点击删除按钮时该方法响应。
2
UserMessageBLL
在业务逻辑层对用户删除的个人消息请求进行验证。
调用数据访问层的DeleteUserMessageByNoteID的方法,删除的个人消息不为空时,则删除个人消息。
3
UserMessageDAL
在数据访问层获取删除个人消息并返回删除个数。
3.2.14回复个人信息
A、时序图
B、描述
编号
类名或方法名
功能描述
1
UserDefault.aspx
对页面上的稳重可以随意浏览
2
ShowMessage.aspx
显示评论列表
3
MessageBLL
jsp页面,用户退出后,显示登录界面
4
MessageDAL
回复别人评论自己的信息
3.2.15查询登录信息
A、时序图
B、描述
编号
类名或方法名
功能描述
1
Login.aspx
在UI层要输入查询的条件,并显示登录信息列表。
2
LoginBLL
在业务逻辑层处理获取到的登录信息。
3
LoginDAL
在数据访问层查询登录信息,并通过查询到的信息返回登录信息。
3.2.16登录权限审批
A、时序图
B、描述
编号
类名或方法名
功能描述
1
ManagerUser.aspx
在UI层选择所要赋予权限的用户,作出权限分配选择,然后调用业务逻辑层中ModifyGradeToAdminByLoginIDs方法,执行该方法并在UI层做异常处理时,会在界面中把异常显示出来给管理员。
2
LoginBLL
在业务逻辑层,对管理员赋予权限的信息进行权限验证,调用数据访问层的UpdateLoginsForGradeByLoginIDs方法,若出现异常,向界面显示抛出异常。
3
LoginDAL
在数据访问层连接数据库,使用UpdateLoginsForGradeByLoginIDs方法抛出异常给BLL层。
3.2.17修改登录信息
A、时序图
B、描述
编号
类名或方法名
功能描述
1
Login.aspx
在UI层选择要修改的登录信息,显示待修改的登录信息,输入修改内容,显示修改成功
2
LoginBLL
在业务逻辑层获取到登录信息后,当查询到登录信息后返回登录信息并对修改的登录信息进行处理。
3
LoginDAL
在数据访问层查询到被选择的登录信息,在BLL层进行修改后更新登录信息,修改成功后返回修改情况。
3.2.18添加、修改、删除专业版块信息
A、时序图
B、描述
编号
类名或方法名
功能描述
1
登录系统
显示登录界面,接受用户输入的登录名和密码,同时进行输入信息验证。
登录名由字母、数字和下划线组成,不得超过20个字符;密码可以是除控制字符外的任何字符。
2
专业版块信息管理模块
管理员的名和密码验证正确后,可以显示帖子信息。
3
相关处理
管理员提交想要增加,删除,修改的帖子信息的用户名。
4
数据库模块
连接到数据库,数据库开始处理并且更新管理员发出的更改请求,更新成功后跳转回相关处理页面。
3.2.19增删改查帖子
A、时序图
B、描述
编号
类名或方法名
功能描述
1
ManagerMessage.aspx
在UI层做出增加、删除、修改和查询帖子选择,然后调用业务逻辑层中各个功能所负责的方法,执行该方法并在UI层做异常处理时,会在界面中把异常显示出来给用户。
2
MessageBLL
在业务逻辑层,增加、删除、修改和查询帖子,若出现异常,向界面显示抛出异常。
3
MessageDAL
在数据访问层连接数据库,使用各个功能所负责的方法抛出异常给BLL层。
3.2.20查看登录日志
A、时序图
B、描述
编号
类名或方法名
功能描述
1
Login.aspx
显示登录界面,接受用户输入的登录名和密码,同时进行输入信息验证。
登录名由字母、数字和下划线组成,不得超过20个字符;密码可以是除控制字符外的任何字符。
2
UserBLL
通过验证方法判断登录名和密码是否匹配。
3
UserDAL
通过获取登录名方法,从数据库中获取对应登录名的系统信息。
4
Deafult.aspx
显示系统主界面,如果登录信息验证正确,跳转到主页,选择获取登录日志。
5
LoginLog.aspx
获取登录日志返回给用户。
3.2.21查看密码修改日志
A、时序图
B、描述
编号
类名或方法名
功能描述
1
Login.aspx
显示登录界面,接受用户输入的登录名和密码,同时进行输入信息验证。
登录名由字母、数字和下划线组成,不得超过20个字符;密码可以是除控制字符外的任何字符。
2
UserBLL
通过验证方法判断登录名和密码是否匹配。
3
UserDAL
通过获取登录名方法,从数据库中获取对应登录名的系统信息。
4
Deafult.aspx
显示系统主界面,如果登录信息验证正确,跳转到主页,选择获取登录日志。
5
ChangePasswordLog.aspx
获取密码修改日志返回给用户。
3.2.22在线人数统计、访问量统计
A、时序图
B、描述
编号
类名或方法名
功能描述
1
Login.aspx
在UI层显示在线人数和访问总量
2
LoginBLL
在业务逻辑层验证登录信息,显示在线人数和访问总量
3
LoginDAL
在数据访问层获取在线人数和访问总量
第四部分、数据库设计
4.1逻辑设计
系统的E-R图如下:
(待完成)
4.2表设计
表名
功能说明
Logins
登录信息表(系统逻辑信息)
LoginLogs
登录日志表(用来记录用户登录情况)
LoginStates
登录状态表(用来记录用户登录状态)
Users
用户信息表(用户人文信息)
ChangePasswordLogs
修改密码日志表(用来记录密码修改情况)
Notes
个人消息表
Replys
回复表
Messages
帖子表
Professions
专业板块表
4.2.1Logins表
表名
Logins
列名
数据类型
空/非空
约束条件
其它说明
LoginID
Bigint
NOTNULL
IDENTITY(1,1)PRIMARYKEY
登录编号
LoginName
Varchar(30)
NOTNULL
UNIQUE
登录名
Password
Varchar(32)
NOTNULL
密码
ProfessionID
Smallint
(2)
NULL
FOREIGNKEY
专业板块
NickName
Varchar(32)
NULL
昵称
RegistDateTime
Datetime(23)
NOTNULL
注册时间
RegistIP
Varchar(32)
NOTNULL
注册IP
LastLoginDateTime
Datetime(23)
NOTNULL
登录时间
LastLoginIP
Varchar(32)
NOTNULL
登录IP
LoginTime
Bigint(8)
NOTNULL
登录次数
State
Smallint
(2)
NULL
FOREIGNKEY
登录状态
Grade
Smallint
(2)
NULL
等级
Varchar(64)
NOTNULL
UNIQUE
电子邮箱
补充说明
4.2.2LoginLogs表
表名
LoginLogs
列名
数据类型
空/非空
约束条件
其它说明
LoginID
Bigint
NOTNULL
PRIMARYKEY
LastLoginDateTime
Datetime(23)
NOTNULL
PRIMARYKEY
LastLoginIP
Varchar(32)
NULL
补充说明
4.2.3LoginStates表
表名
LoginStates
列名
数据类型
空/非空
约束条件
其它说明
StateID
Smallint
(2)
NOTNULL
IDENTITY(1,1)PRIMARYKEY
StateName
Nvarchar(4)
NOTNULL
UNIQUE
StateDescription
Nvarchar(16)
NOTNULL
补充说明
4.2.4Users表
表名
Users
列名
数据类型
空/非空
约束条件
其它说明
LoginID
Bigint(8)
NOTNULL
PRIMARYKEY
UserName
Nvarchar(20)
NOTNULL
Gender
Varchar
(2)
NULL
CHECK
Birthday
Smalldatetime(4)
NULL
CardID
Varchar(18)
NULL
UNIQUE
Phone
Varchar(20)
NULL
Address
Varchar(50)
NULL
Remark
Varchar(500)
NULL
补充说明
4.2.5ChangePasswordLogs表
表名
ChangePassword
列名
数据类型
空/非空
约束条件
其它说明
LoginID
Bigint(8)
NOTNULL
PRIMARYKEY
OldPassword
Varchar(32)
NOTNULL
UpdateTime
Datetime
NOTNULL
PRIMARYKEY
LoginIP
Varchar(32)
NULL
补充说明
4.2.6Messages表
表名
Messages
列名
数据类型
空/非空
约束条件
其它说明
MessageID
bigint
NOTNULL
IDENTITY(1,1)PRIMARYKEY
Title
nchar(32)
NOTNULL
[Content]
nchar(437)
NOTNULL
Publisher
bigint
NULL
FOREIGNKEY
PublishDateTime
datetime
NOTNULL
PublishIP
Varchar(32)
NOTNULL
LastModifyDateTime
datetime
NULL
LastModifyIP
Varchar(32)
NULL
AccessTime
bigint
NULL
Type
smallint
NULL
ProfessionID
smallint
NULL
FOREIGNKEY
补充说明
4.2.7Replys表
表名
Replys
列名
数据类型
空/非空
约束条件
其它说明
ReplyID
bigint
NULL
IDENTITY(1,1)PRIMARYKEY
PublisherDateTime
datetime
NULL
Publisher
bigint
NULL
FOREIGNKEY
PublishIP
Varchar(32)
NULL
[Content]
nvachar(250)
NULL
MessageID
bigint
NULL
FOREIGNKEY
补充说明
4.2.8Notes表
表名
Notes
列名
数据类型
空/非空
约束条件
其它说明
NoteID
bigint
NOTNULL
IDENTITY(1,1)PRIMARYKEY
Title
nchar(32)
NOTNULL
[Content]
nchar(437)
NOTNULL
[From]
bigint
NOTNULL
FOREIGNKEY
[To]
bigint
NOTNULL
FOREIGNKEY
PublishDateTime
datetime
NOTNULL
PublishIP
Varchar(32)
NOTNULL
State
Bit
NULL
补充说明
4.2.8Professions表
表名
Professions
列名
数据类型
空/非空
约束条件
其它说明
ProfessionID
SMALLINT
NOTNULL
IDENTITY(1,1)PRIMARYKEY
ProfessionName
VARCHAR(32)
NOTNULL
UNIQUE
补充说明
第五部分、界面设计
5.1界面设计
5.1.1登录界面
系统的首页左侧登录页面,如下图所示:
用户成功登录之后,实现问好功能,设计界面如图所示:
5.1.2密码修改界面
5.1.3登录日志
5.1.4登录修改日志
5.1.5注册界面
用户若没有登录信息,则用户可以注册,以下是注册页面:
5.1.6密码找回
如果用户密码遗忘或丢失,用户可以找回密码,以下是找回密码界面:
5.1.7浏览帖子内容
5.1.8发布、回复个人消息
5.1.9删除个人消息
5.1.10查询帖子
5.1.11发布、回复帖子
5.1.12删除、修改帖子界面设计
5.1.13浏览帖子列表
当用户点击“用户主页”之后,出现如下界面:
5.1.14浏览个人消息
当用户点击“用户主页”之后,出现如下界面:
5.1.15发布帖子
当用户点击“发布帖子”之后,出现如下界面:
5.1.16回复帖子
当用户浏览帖子的详细信息的同时,帖子下方出现如下界面:
5.1.17发送个人消息
当用户点击“发送个人消息”时,出现如下界面:
5.1.18登录权限审批
5.1.19专业板块信息管理
5.1.20在线人数与访问量统计
5.2功能设计
Ø登录
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 01 学习论坛系统设计说明书 学习 论坛 系统 设计 说明书