整理以前资料,未完待续!
专业介绍模块是向浏览网站的用户提供关于本专业概况,师资队伍建设情况,在本专业学习过的突出学生人才事迹,和同学们在学习期间的校园生活情况。通过本模块,使浏览者可以快速客观的了解本专业的大概。
该平台将用户分为两大类,游客与登录用户。
游客:①未登录的用户,没有登陆账号;②只能浏览页面和检索信息,不能进行写操作;③游客不存在个人中心版块。
登录用户:有账号及密码的用户。在未登录时,作为游客角色使用该平台。
登录用户又分为一般用户与特殊用户。一般用户有:教师、学生,特殊用户有:学生管理员、系统管理员。
教师:①拥有账号及密码;②具有与游客相同的功能;③可以上传下载资源,删除自己上传的资源,发帖,修改和删除自己发布的帖子,发布信息,删除和修改自己发布的信息;④管理个人中心。
学生:除与教师相同的功能外,还受到本班学生管理员的管理,学生管理员可删除本班学生上传的资源及发布的信息。
学生管理员:除与教师相同的功能外,还可删除本班学生上传的资源及发布的信息。
系统管理员:拥有其它角色能使用的功能;还可修改、删除所有信息及增加功能模块,还具有角色授权功能,为每个班级选择一名该班学生作为学生管理员。
故信息交流平台主要包括五大角色:即系统管理员、教师、学生管理员、学生、游客。
专业介绍模块包含专业简况,师资队伍,突出人才和校园生活四个类别模块,它们属于一级类别。专业简况分为学科建设、人才培养和机构设置等二级类别;师资队伍分为概况等二级类别;突出人才分为杰出教师、杰出校友和杰出学生等二级类别;校园生活分为教工活动和学生活动等二级类别。
由于游客、学生、学生管理员只能浏览信息,故分为第一类角色;再将除了第一类角色能操作的功能外还具有发布、修改和删除信息的教师分为第二类角色;然后将除了能操作第二类角色的功能外还能增加专业介绍的类别模块的管理员分为第三类角色。其中第三类角色的增加专业介绍的类别模块分为增加一级类别模块和二级类别模块。
信息交流平台每类角色的具体能操作的功能如下所示:
① 浏览信息
① 浏览信息
② 发布信息
③ 修改自己发布的信息
④ 删除自己发布的信息
① 浏览信息
② 修改所有人发布的信息
③ 删除所有人发布的信息
④ 添加类别模块
专业介绍模块用例图
在专业介绍模块中有4个活动图:
1、登陆活动图
在信息交流平台中,未登录用户(即游客)可随意浏览介绍信息和选择是否登陆,在登陆界面提示用户输入用户名,密码和验证码。当用户点击登录操作后平台会验证用户输入的信息是否正确。如果正确,平台则在数据库表中获取当前用户角色并进入当前用户角色相应操作的界面(已登陆的用户可获得其角色相应的操作);如果错误,则提示错误原因并提示用户重新输入正确的登录信息。
2、第一类角色(除游客)的活动图
在信息交流平台中,以第一类角色进入平台的用户只能浏览与角色相应的介绍信息。当此类用户选择退出登录后,平台则初始化为游客角色信息,可继续浏览与当前角色相应的介绍信息,知道此类用户关闭网页才终止信息交流平台。
3、第二类用户的活动图
在信息交流平台中,以第二类角色进入平台的用户能浏览、发布、修改和删除与角色相应的介绍信息。当发布介绍信息时,平台会显示相关发布介绍信息所需输入的表单信息,通过当前用户点击提交事件,平台将表单信息输入数据库中。当修改和删除与角色相应的介绍信息时,平台会做出相应的判断,通过判断当前登陆者用户名和发布介绍信息的用户名是否相同来决定当前用户是否可进行当前操作。当此类用户选择退出登录后,平台则初始化为游客角色信息,可继续浏览与当前角色相应的介绍信息,知道此类用户关闭网页才终止信息交流平台。
4、第三类用户活动图
在信息交流平台中,以第三类角色进入平台的用户能浏览和删除与角色相应的介绍信息。当此类用户选择退出登录后,平台则初始化为游客角色信息,可继续浏览与当前角色相应的介绍信息,知道此类用户关闭网页才终止信息交流平台。
专业介绍模块具备浏览、发布、修改、删除、增加类别功能,并分为专业简况、师资队伍、突出人才、校园生活四个模块。
1、数据库概念设计
通过对系统学生模块进行的需求分析和平台功能结构的确定,规划出系统中使用的数据库实体对象及实体E-R图。
2、数据库逻辑设计
如ER图有6个实体类型,其结构如下:
专业介绍(介绍编号,介绍标题,介绍内容,更新时间,介绍配图路径,介绍状态,备注)
类别(类别序号,一级类别编号,一级类别名称,二级类别编号,二级类别名称,一级类别路径,二级类别路径,类别状态,逻辑删除,备注)
用户(登陆账号,登录密码,登录状态,账号状态,逻辑删除,备注)
角色(角色编号,角色名称,角色状态,逻辑删除,备注)
菜单(菜单编号,菜单名称,菜单位置编号,菜单路径,菜单状态,逻辑删除,备注)
登陆日志(登陆日志序号,IP地址,登录时间,登陆状态,逻辑删除,备注)
实体间的联系有5个,其中有4个1:N联系,1个N:M联系。联系的属性如下:
菜单角色(菜单角色序号,角色编号,菜单编号,角色功能状态,逻辑删除,备注)
根据转换算法,ER图中有6个实体类型,可转换成6个关系模式,另外ER图中有1个N:M联系,也将转换成1个关系模式,因此图17所示的ER图可转换成7个关系模式,具体如下:
专业介绍(介绍编号,类别序号,介绍标题,介绍内容,更新时间,登陆账号,介绍配图路径,介绍状态,备注)
类别(类别序号,一级类别编号,一级类别名称,二级类别编号,二级类别名称,角色编号,菜单编号,一级类别路径,二级类别路径,类别状态,逻辑删除,备注)
用户(登陆账号,登录密码,登录状态,账号状态,逻辑删除,备注)
角色(角色编号,角色名称,角色状态,逻辑删除,备注)
菜单(菜单编号,菜单名称,菜单位置编号,菜单路径,菜单状态,逻辑删除,备注)
菜单角色(菜单角色序号,角色编号,菜单编号,角色功能状态,逻辑删除,备注)
登陆日志(登陆日志序号,登陆账号,IP地址,登录时间,登陆状态,逻辑删除,备注)
用菜单角色序号将类别信息结构中外键角色编号和菜单编号替换掉,使类别信息结构简单,不冗余。
类别(类别序号,一级类别编号,一级类别名称,二级类别编号,二级类别名称,菜单角色序号,一级类别路径,二级类别路径,类别状态,逻辑删除,备注)
表1 专业介绍表ProIntroTable
字段名称 | 字段说明 | 数据类型 | 是否非空 | 取值 | 备注 |
---|---|---|---|---|---|
ProIntroID | 介绍编号 | Bigint/guid | 是 | 自动增长 | 主键 |
CategoryID | 所属类别 | Bigint/guid | 是 | 关联tblCategory | 外键 |
ProIntroTitle | 介绍标题 | Varchar(50) | 是 | ||
ProIntroText | 介绍内容 | Varchar(4000) | 是 | ||
ProIntroPubTime | 更新时间 | Datetime | 是 | 时间字符串 | |
UserID | 发布者账号 | Varchar(20) | 是 | 关联tblUser | 外键 |
ProIntroImageUrl | 介绍配图路径 | Varchar(100) | 图片路径 | ||
ProIntroStatus | 介绍状态 | Int | 是 | 0-无效,1-有效 | |
Remarks | 备注 | Varchar(100) |
表2 类别表tblCategory
字段名称 | 字段说明 | 数据类型 | 是否非空 | 取值 | 备注 |
---|---|---|---|---|---|
CategoryID | 无关序号 | Bigint/guid | 是 | 自动增长 | 主键 |
CtgryParID | 一级类别编号 | Varchar(10) | 是 | ||
CtgryParName | 一级类别名称 | Varchar(20) | 是 | ||
CtgrySubID | 二级类别编号 | Varchar(10) | 是 | ||
CtgrySubName | 二级类别名称 | Varchar(20) | 是 | ||
RoleMenuID | 无关序号 | Bigint/guid | 是 | 自动增长 | 外键 |
CtgryParUrl | 一级类别路径 | Varchar(100) | 是 | ||
CtgrySubUrl | 二级类别路径 | Varchar(100) | 是 | ||
CtgryStatus | 类别状态 | Int | 是 | 0-无效,1-有效 | |
CtgryDel | 逻辑删除 | bit | 是 | 0-无效,1-正常 | |
Remarks | 备注 | Varchar(100) |
表3 用户表tblUser
字段名称 | 字段说明 | 数据类型 | 是否非空 | 取值 | 备注 |
---|---|---|---|---|---|
UserID | 登陆账号 | Varchar(20) | 是 | 职工号,学好,注册号 | 主键 |
UserPwd | 登录密码 | Varbinary(50) | 是 | MD5加密后的字串 | |
RoleID | 角色编号 | Varchar(10) | 是 | 关联tblRole | 外键 |
UserLogStatus | 登录状态 | Int | 是 | 0-未登录,1-登陆 | |
UserStatus | 账号状态 | Int | 是 | 0-无效.1-正常 | |
UserDel | 逻辑删除 | bit | 是 | 0-无效,1-正常 | |
Remarks | 备注 | Varchar(100) |
表4 角色表tblRole
字段名称 | 字段说明 | 数据类型 | 是否非空 | 取值 | 备注 |
---|---|---|---|---|---|
RoleID | 角色编号 | Varchar(10) | 是 | 1-sysAdmin,2-teacher,3-monitor,4-student | 主键 |
RoleName | 角色名称 | Varchar(20) | 是 | ||
RoleStatus | 角色状态 | Int | 是 | 0-无效,1-正常 | |
RoleDel | 逻辑删除 | bit | 是 | 0-无效,1-正常 | |
Remarks | 备注 | Varchar(100) |
表5 菜单表tblMenu
字段名称 | 字段说明 | 数据类型 | 是否非空 | 取值 | 备注 |
---|---|---|---|---|---|
MenuID | 菜单编号 | Varchar(10) | 是 | 1-首页,2-信息中心,3-资源中心,4-贴吧,5-关于我们 | 主键 |
MnName | 菜单名称 | Varchar(20) | 是 | 对应功能模块 | |
MnPositionNum | 菜单位置编号 | Int | 是 | 1对应菜单在第1位置,对应菜单在第2位置,依此类推 | |
MnUrl | 菜单路径 | Varchar(100) | 是 | ||
MnState | 菜单状态 | Int | 是 | 0-无效,1-有效 | |
MnDel | 逻辑删除 | bit | 是 | 0-无效,1-正常 | |
Remarks | 备注 | Varchar(100) |
表6 角色功能表tblRoleMenu
字段名称 | 字段说明 | 数据类型 | 是否非空 | 取值 | 备注 |
---|---|---|---|---|---|
RoleMenuID | 无关序号 | Bigint/guid | 是 | 自动增长 | 主键 |
RoleID | 角色编号 | Varchar(10) | 是 | 关联tblRole | 外键 |
MenuID | 菜单编号 | Varchar(10) | 是 | 关联tblMenu | 外键 |
RoleMenuState | 角色功能状态 | Int | 是 | 0-无效,1-正常 | |
RoleMnDel | 逻辑删除 | bit | 是 | 0-无效,1-正常 | |
Remarks | 备注 | Varchar(100) |
表7 登陆日志表tblLoginLog
字段名称 | 字段说明 | 数据类型 | 是否非空 | 取值 | 备注 |
---|---|---|---|---|---|
LogID | 无关序号 | Bigint/guid | 是 | 自动增长 | 主键 |
UserID | 登陆账号 | Varchar(20) | 是 | 关联tblUser | 外键 |
LoginIP | IP地址 | Varchar(20) | 是 | IP字符串 | |
LoginTime | 登录时间 | Datetime | 是 | 时间字符串 | |
LoginStatus | 登陆状态 | bit | 是 | 0-无效,1-正常 | |
LoginDel | 逻辑删除 | bit | 是 | 0-无效,1-正常 | |
Remarks | 备注 | Varchar(100) |
1、用户登录的流程图
2、发布信息的流程图
3、增加类别的流程图
其效果图见《项目:信息交流平台系统》