大工15春《数据库原理》大作业题目及要求答案Word文档格式.docx
- 文档编号:20036683
- 上传时间:2023-01-16
- 格式:DOCX
- 页数:16
- 大小:492.04KB
大工15春《数据库原理》大作业题目及要求答案Word文档格式.docx
《大工15春《数据库原理》大作业题目及要求答案Word文档格式.docx》由会员分享,可在线阅读,更多相关《大工15春《数据库原理》大作业题目及要求答案Word文档格式.docx(16页珍藏版)》请在冰豆网上搜索。
本网站使用JSP+Mysql在MyEclipse系统开发的,从而创建一个更为稳定,高效,安全的运行环境。
本文主要实现了基于B/S模式的一种JSP论坛的设计与实现,主要功能是实现客户端和服务器端的动态交互。
BBS论坛系统最基本的功能首先是发表主题,其次是其他人员根据主题发表自己的看法。
此外,为了记录主题的发表者和主题的加复者信息民,系统还需要提供用户注册和登录的功能。
只有注册的用户登录后才能够发表和回复主题,浏览者(游客)只能浏览主题信息。
根据用户的需求及以上的分析,BBS论坛需要具备以下功能:
显示各论坛类别及版面、查看自己发表的帖子、搜索帖子、查看根帖内容、用户注册、用户登录、用户留言、发表帖子、回复帖子、进入后台、论坛类别管理、版面管理、用户管理和用户注册。
设计BBS论坛系统所要考虑的问题主要有如何通过资源文件显示文字和使用静态代码块。
设计中力求界面友好、简洁,易于操作。
代码部分尽量避免逻辑错误,算法设计简单合理,尽量使程序具有较好的可读性,有利于其他的设计者对程序的阅读;
力求对数据库操作的安全与稳定,尽量避免数据库操作异常,并要保证查询的快速无误。
保证程序的逻辑结构,编程时注意多使用通用方法(函数和过程)。
2系统需求分析
2.1系统总体需求
1.功能性需求
开发BBS论坛系统的目的是提供一个供用户交流的平台,为广大用户提供交流经验、探讨问题的社区。
因此,BBS论坛系统最基本的功能首先是发表主题,其次是其他人员根据主题发表自己的看法。
此外,为了记录主题的发表者和主题的加复者信息,系统还需要提供用户注册和登录的功能。
只有注册的用户登录后才能够发表和回复主题且必须输入验证码,浏览者(游客)只能浏览主题信息。
根据用户的需求及以上的分析,BBS论坛需要具备前台功能和后台功能。
(1)系统前台功能:
显示各论坛类别及版面、查看版面下所有根帖、查看自己发表的帖子、搜索帖子、查看根帖内容、用户注册、用户登录、发表帖子、回复帖子
(2)系统后台功能:
进入后台、论坛类别管理、版面管理、用户管理、用户注册。
2.非功能性需求
(1)平台限制:
基于各种平台,不需要安装其他软件。
(2)操作方式:
全部操作都可以基于浏览器进行。
2.2系统整体功能介绍
2.2.1前台功能结构
用户访问论坛首页面后,可进行查看版面下根贴信息、查看自己发表的帖子、查看精华帖子、搜索帖子、查看根贴信息、用户注册等功能。
用户在此BBS论坛中通过注册成为该网站的真正用户并成功登录系统后,可进行发表帖子、回复帖子、查看自己发表的帖子等操作。
前台功能结构图如图3.1所示。
图3.1BBS前台功能结构图
2.2.2后台功能结构
若用户的权限为管理员,则可进入后台,可进行留言板的管理、帖子管理和通知管理的操作。
后台功能结构图如图3.2所示。
图3.2BBS后台功能结构图
2.3系统元素、实体介绍
系统元素有前台和后台两部分,前台有查看自己跟帖,搜索跟帖,查看跟帖内容,用户登陆,用户注册,用户注销,用户留言,发表帖子,回复帖子,查看自己已发表的帖子,后台有留言版的管理,帖子管理,通知管理和退出管理等。
实体有跟帖实体,回复实体,版面实体和论坛类别实体等。
2.4软硬件平台介绍
在开发此论坛的时候,需要具备下面的软件环境
服务器端:
●操作系统:
WindowsXP,或win7。
●Web服务器:
Tomcat6.0。
●Java开发包:
JDK1.6。
●数据库:
mysql。
●浏览器:
IE8.0。
●分辨率:
最佳效果为1024×
768像素。
客户端:
分辨率:
3系统设计与实现
系统设计与实现包括系统的概念设计、各功能模块的设计、逻辑设计、界面的设计以及数据库的设计等。
3.1概念设计
E-R模型是对现实世界的一种抽象。
它的主要成分是实体、联系和属性。
使用这三种成分,我们可以建立许多应用环境的E-R模型。
现在划出本系统所使用的数据库实体,它们分别为根贴实体、回复贴实体、版面实体、类别实体和用户实体。
下面将介绍几个关键实体的E-R图。
1.根贴实体
根据实体包括编号、所属版面、标题、内容、发布者、发布时间、表情和对贴子进行操作的时间等属性。
根贴实体的E-R图如图2.3.1所示。
图2.3.1根贴实体E-R图
2.回复贴实体
回复贴实体包括编号、根贴ID、标题、内容、回复者、回帖时间和表情属性。
回复贴实体的E-R图如图2.3.2所示。
图2.3.2回复贴实体E-R图
3.版面实体
版面实体包括编号、所属类别ID、版面名称、版主和版面公告属性。
版面实体E-R图如图2.3.3所示。
图2.3.3回复帖子信息实体图
4.论坛类别实体
论坛类别实体包括编号、类别名称和介绍属性。
论坛类别实体的E-R图如图2.3.4所示。
图2.3.4论坛类别实体E-R图
ER模型的“联系”用于刻画实体之间的关联。
一种完整的方式是对局部结构中任意两个实体类型,依据需求分析的结果,考察局部结构中任意两个实体类型之间是否存在联系。
若有联系,进一步确定是1:
n,m:
n,还是1:
1等。
还要考察一个实体类型内部是否存在联系,两个实体类型之间是否存在联系,多个实体类型之间是否存在联系等等。
本系统的ER模型如图2.3.5所示:
图2.3.5ER模型图
3.3系统总体功能
1.BBS论坛的系统管理操作流程图如图3.3所示。
图3.3BBS论坛系统后台流程图
2.BBS论坛的系统前台流程图如图3.4所示。
图3.4BBS论坛的系统前台流程图
3.4逻辑设计
1.tb_bbs(根贴信息表)
根贴信息表用来保存发布的全部根贴信息,该表的结构如表4.1所示。
表4.1tb_bbs表的结构
字段名
数据类型
是否为空
是否主键
默认值
描述
bbs_id
int(4)
No
Yes
帖子ID(自动编号)
bbs_boardID
int
(2)
((-1))
帖子所属版面的ID
bbs_title
varchar(70)
NULL
帖子标题
bbs_content
varchar(2000)
帖子内容
bbs_sender
varchar(20)
帖子的发布者
bbs_sendTime
datetime(8)
帖子的发布时间
bbs_face
varchar(8)
帖子表情
bbs_opTime
对帖子进行操作的时间
bbs_isTop
varchar
(1)
(0)
是否为置顶帖子
bbs_toTopTime
datetime
帖子被置顶的时间
bbs_isGood
是否为精华帖子
bbs_toGoodTime
帖子被置精华帖子时间
2.tb_board(版面信息表)
版面信息表用来保存论坛中的版面信息,该表的结构如表4.2所示。
表4.2tb_board表的结构
board_id
smallint
(2)
版面ID(自动编号)
board_classID
版面所属类别的ID值
board_name
varchar(40)
版面名称
board_master
版面版主
board_pcard
varchar(200)
版面公告
2.tb_bbsAnswer(回复贴子信息表)
回复帖子信息表用来保存回复帖子的信息,该表的结构如表4.3所示。
表4.3tb_bbsAnswer表的结构
bbsAnswer_id
ID(自动编号)
bbsAnswer_rootID
回复帖子根帖ID值
bbsAnswer_title
回复帖子的标题
bbsAnswer_content
回复帖子的内容
bbsAnswer_sender
回复帖子的回复者
bbsAnswer_sendTime
回复帖子的时间
bbsAnswer_face
varchar(10)
回复帖子的表情
4.tb_class(论坛类别信息表)
论坛类别信息表用来保存论坛类别信息,该表的结构如表4.4所示。
表4.4tb_class表的结构
class_id
class_name
论坛类别名称
class_intro
论坛类别介绍信息
5.tb_user(用户信息表)
用户信息表用来保存用户的信息,该表的结构如表4.5所示。
表4.5tb_user表的结构
id
用户ID(自动编号)
user_name
用户名称
user_password
用户密码
user_face
varchar(11)
用户表情
user_sex
varchar
(2)
用户性别
user_phone
varchar(12)
用户电话
user_OICQ
varchar(14)
用户OICQ
user_email
varchar(100)
用户的邮箱
user_from
用户的来源
user_able
用户能力
创建数据表后,还可以创建相关的数据表之间的关系,该关系实际上也反应了系统中各个实体之间的关系。
设置了该关系后,当改变tb_user数据表的user_name字段时,tb_bbs数据表的bbs_sender字段也会级联更新或删除;
当改变tb_board数据表的board_id字段时,tb_bbs数据表的bbs_boardID字段也会级联更新或删除;
当改变tb_class数据表的class_id字段时,tb_board数据表的board_classID字段也会级联更新或删除。
数据表之间的关系图如图4.7所示。
图4.7数据表之间的关系图
3.5界面设计
3.5.1前台页面设计与实现
本系统中所有页面都采用了一种页面框架,该页面框架采用一分栏结构,分为4个区域:
页头、功能栏、内容显示区和页尾。
网站前台首页面的运行结果如图5.1所示。
图3.5.1前台首页面的运行结果
实现前台页面的设计需要分别创建实现各区域的JSP文件,如实现页头的top.jsp、实现功能栏的menu.jsp、页尾文件end.jsp和首页面中需要在内容显示区显示的default.jsp等JSP文件。
3.5.2前台显示概述
论坛的前台显示主要包括:
首页面的论坛类别显示、某版面下根贴的列表显示、我的帖子的列表显示、精华帖子的列表显示、搜索后根帖的列表显示和根贴与回复贴内容的详细显示。
其中在根贴的列表显示系列中,功能的实现是相似的,最终都是生成一个查询SQL语句,并通过执行该SQL语句获取一个符合条件的信息集合,然后返回页面进行显示。
不同的是它们生成SQL语句的方式,列表显示我的帖子,需要获取当前登录用户的用户名,然后生成查询SQL语句;
列表显示列表显示搜索到的根贴,需要从页面表单中获取条件和搜索关键安后,才能生成SQL语句。
不仅如此,这些功能的页面信息显示也是相同的,不同的是通过Struts标签输出信息时所引用的对象不同。
现在介绍首页面论坛类别显示、某版面下根贴的列表显示和根贴与回复贴内容的详细显示。
3.5.3用户登陆
已经注册的用户可以直接登录,新用户可以查看论坛,但要发帖子或者留言必须登录,如图所示。
用户没有登录
3.5.4查看首页面的论坛类别
该页面的实现效果是:
分类显示论坛类别,点击显示属于该论坛类别中所有版面名称并显示当前版面的版主和一些帖子的相关信息(本论坛只制作了Java技术哪一个版面),如图3.5.4所示。
图3.5.4首页面的论坛类别显示效果图
在首页面中显示论坛类别时,首先通过Struts中的logic标签库中的iterate标签遍历存储在session范围的List集合对象,该List集合对象是在处理用户访问论坛首页面时的请求处理类中实现的,其中存储的是封装了论坛类别信息的ActionForm;
然后再使用bean标签库中的write标签输出从难从List集合对象中遍历出的ActionForm中的属性信息,即可实现论坛类别的显示。
3.5.5查看某版面中根贴列表
该显示实现的效果是:
显示某个版面中所有的根贴。
对于帖子的显示,将按照帖子被操作的时间进行降序排列。
每条根贴显示其标题、回复数、发帖人和最后回复时间,如图5.3所示。
3.5.6查看根贴和回复贴内容
该显示方式实现的效果图是:
显示根贴的详细信息,并显示该根贴的所有回复帖,另外对每条帖子都显示发表者的部分信息
对于根帖的发表者的信息可通过从获取的根贴信息中取出根贴的发表者,然后将其作为查询条件查询用户信息数据表来获取,最后存储到session对象内。
对于回复贴的回复者信息可设想通过一个Map对象进行相相存储,该Map对象以加复者的用户名为关键安来存储封装用户信息的ActionForm类。
在获取了存储回复贴的集合对象后,首先对该集合对象进行循环处理,在循环体中获取当前回复帖子的回复者的用户名;
然后判断在存储回复者信息的Map对象中是否已经存在以该用户作为关键字的映射,若不存在,则以该用户名为条件查询用户信息数据表获取用户信息,接下来以该用户名作为关键字存储获取的用户名信息到期Map对象中;
最后返回到JSP页面中通过Struts标签和EL表达式输出。
3.5.7发表帖子模块设计
发表帖子主要是为了互相讨论话题而设置的功能,它是论坛系统中的主要功能。
通常情况下,需要在论坛中注册一个用户名,然后成功登录,用户才能在论坛中发表帖子。
不能评跟帖、发帖
图3.5.7发表帖子页面的运行结果图
用户发表帖子的流程图如图3.5.8所示。
图5.6发表帖子的流程图
3.5.2后台设计
后台管理模块主要包括留言板管理、帖子管理、通知管理、退出管理四个模块,由于各模块功能的实现都比较相似。
3.5.2.1后台页面
后台页面和前台页面一样,只是用户不同,权限不同。
此用户为管理员
3.5.2.2版面管理模块
版面管理模块主要包括浏览版面信息、添加版面、修改版面、删除版面4个功能,版面管理模块的框架如图5.11所示。
图5.11版面管理模块的框架图
在添加版面和修改版面的模块中,其中包含更新版面的版主信息,在Action处理类进行添加和修改之前,会先来判断管理员输入的用户是否存在,若存在,则继续判断该用户是否为版主,若以上条件成立则执行添加或修改的操作。
4系统总结
通过这次的设计,加深了对数据库设计,Java应用的一些理解.对于软件工程方面的设计思想也有了更深一步的理解,明白只有在不断的实践于学习中,才会得到最丰厚的回报。
同时也认识到了小组合作的重要性,成员之间可以相互配合,相互促进,也能更好地激发新创意。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数据库原理 大工 15 数据库 原理 作业 题目 要求 答案