这两年开始毕业设计和毕业答辩的要求和难度不断提升,传统的理念缺少创新和亮点,往往达不到毕业答辩的要求,这两年不断有学弟学妹告诉学长自己做的各类系统很难达到老师的要求。
为了大家能够顺利并以最少的精力通过毕设,学长分享优质毕业设计项目,需要的自取。
目录
1.说明
Java论坛管理系统主要是实现在网上进行交流和学习Java语言,本论坛提供用户注册、发帖和回帖等论坛的基本功能,划分J2SE、J2EE、J2ME和开发工具的使用等版块,使用合理的管理方法管理论坛,严格保证帖子质量,为Java爱好者提供一个学习Java的好地方。本系统采用SQL2000作为后台数据库,使用MVC框架,由Servlet负责处理最初的请求转发到jsp页面显示最后的结果,JSP页面使用bean,系统具有很好的移植性和跨平台性。
2.数据库设计
2.1.概念设计
2.1.1目标与任务
目标:将需求分析得到的用户需求抽象为信息结构,设计并生成E_R图。
任务:设计各个分E-R图,并消除局部E-R图存在的冲突,合并成基本E-R图
特点:
- 能真实的反映现实世界,包括事物和事物之间的联系,能满足用户对数据的处理要求。是对现实世界的一个真实模型。
- 易于理解,从而可以用它和不熟悉计算机的用户交换意见,用户的积极参与是数据库的设计成功的关键。
- 易于更改,当应用环境和应用要求改变是,容易对概念模型修改和扩充。
- 易于向关系、网状、层次等各种数据模型转换。
2.1.2概念模型设计
(1)设计分E-R图,即各子模块的E-R图;
用户(用户名,密码,邮箱,等级,发帖数,回帖数)
帖子(帖子id,主题,内容,帖子等级,帖子被访问次数)
发帖(发帖时间)
回帖(回帖id,帖子i d,内容,用户名,回帖时间)
用户(用户名,密码,邮箱,等级,发帖数,回帖数)
版面(版面id号,版面名称,版主名称,版面主题数)
浏览(浏览时间)
管理员信息(管理员名,密码,邮箱)
用户(用户名,密码,邮箱,等级,发帖数,回帖数)
管理(管理行为)
帖子信息:(帖子id,主题,内容,帖子等级,帖子被访问次数)
版面(版面id号,版面名称,版主名称,版面主题数)
从属(所属版面)
版主信息(版主名称,密码,邮箱)
帖子信息:(帖子id,主题,内容,帖子等级,帖子被访问次数)
管理(管理行为)
版面(版面id号,版面名称,版主名称,版面主题数)
管理员信息(管理员名,密码,邮箱)
管理(管理行为)
(2)生成全局E-R图,通过消除冲突等方面
2.2逻辑设计
2.2.1.目标与任务
目标:完成E-R图到数据库模式的转换,优化各个关系模式
任务:把概念结构设计阶段好的基本E-R图转换为与选用DBMS产品所支持的数据模型相符合的逻辑结构。
2.2.2.数据组织
(1)将E-R模型转换为关系模型 (描述转换的原则、转换的结果)。
如图1.7所示:
一、用户和帖子具有两个关系:
(1)用户回帖,因为用户和帖子的关系是m对n的关系,所以将联系类型也转换关系模式,其属性为两端实体类型的键加上联系类型的属性,而键为两端实体键的组合。
用户(用户名,密码,邮箱,用户等级,发帖数,回帖数,精华帖数,是否删除)
帖子(帖子id,主题,内容,帖子等级,帖子被访问次数)
回帖(回帖id,用户名,帖子i d,内容,回帖时间)
(2)用户发帖,用户和帖子的关系是1对多的关系。所以可以联系可以转换为一个独立的模式,也可以与n端对应的模式合并。这里把联系属性合并到n端实体。
用户(用户名,密码,邮箱,用户等级,发帖数,回帖数,精华帖数,是否删除)
帖子(帖子id,主题,内容,帖子等级,帖子被访问次数,发帖时间)
二、 管理员和用户的关系为m对n,所以将联系类型也转换关系模式,其属性为两端实体类型的键加上联系类型的属性,而键为两端实体键的组合。
用户(用户名,密码,邮箱,用户等级,发帖数,回帖数,精华帖数,是否删除)
管理员(管理员名,密码,邮箱)
管理(用户名,管理员名,管理)
三、版主和帖子为m对n的关系,所以将联系类型也转换关系模式,其属性为两端实体类型的键加上联系类型的属性,而键为两端实体键的组合。
版主(版主名称,密码,邮箱)
帖子(帖子id,版主名称,主题,内容,帖子等级,帖子被访问次数)
管理帖子(版主名称,帖子id ,管理行为)
四、管理员和版面是m对n的关系,所以可以转换为一个独立的模式
管理员(管理员名,密码,邮箱)
版面(版面id号,版面名称,版主名称,版面主题数)
管理(管理员名,版面id号,管理行为)
五、版面和用户是多对多的关系。所以将联系类型也转换关系模式,其属性为两端实体类型的键加上联系类型的属性,而键为两端实体键的组合。
版面(版面id号,版面名称,版主名称,版面主题数)
用户(用户名,密码,邮箱,用户等级,发帖数,回帖数,精华帖数,是否删除)
浏览(用户名,版面id号,浏览时间 )
六、版面和帖子是1对多的关系,所以把联系属性合并到n端实体
版面(版面id号,版面名称,版主名称,版面主题数)
帖子(帖子id,版面id号,主题,内容,帖子等级,帖子被访问次数,所属版面)
七、由E_R图转化后得到的关系模式
用户(用户名,密码,邮箱,用户等级,发帖数,回帖数,精华帖数,是否删除)
帖子(帖子id,主题,内容,帖子等级,帖子被访问次数)
帖子(帖子id,主题,内容,帖子等级,帖子被访问次数,发帖时间)
帖子(帖子id,版面id号,主题,内容,帖子等级,帖子被访问次数,所属版面)
回帖(用户名,帖子i d,内容,回帖时间)
管理员(管理员名称,密码,邮箱)
浏览(用户名,版面id号,浏览时间)
管理用户(用户名,管理员名,管理)
管理版面(管理员名称,版面id号,管理行为)
管理帖子(版主名称,帖子id ,管理行为)
版主(版主名称,密码,邮箱)
版面(版面id号,版面名称,版主名称,版面主题数)
八、消除不一致后得:
用户(用户名,密码,邮箱,用户等级,发帖数,回帖数,精华帖数,是否删除)
帖子(帖子id,版面id号,主题,内容,帖子等级,帖子被访问次数,发帖时间,发帖用户)
回帖(回帖id,帖子i d,用户名,内容,回帖时间,帖子等级)
管理员(管理员名称,密码,邮箱)
版主(版主名称,密码,邮箱,版主状态)
浏览(浏览id,用户名,版面id号,浏览时间)
管理用户(管理id,用户名,管理员名,管理行为)
管理版面(管理id,管理员名称,版面id号,管理行为)
管理帖子(管理id,版主名称,帖子id ,管理行为)
版面(版面id号,版面名称,版主名称,版面主题数,版面状态)
(2)模型优化
以上关系都达到了3NF,不需要在分解
(3)完成数据库模式定义,包括各模式的逻辑结构定义、关系的完整性和安全性等内容。
member(u_name,u_password,u_email,u_step,u_post,u_return,jinghucount,u_stat)
u_name为主键,不能为空,而且是唯一的,u_password也不能为空,其它由系统管理员设置。
topic(t_id ,bm_id ,t_theme,t_content,t_step t_count ,t_posttime, l_name )
t_id为主键,bm_id和,l_name为参考外键,都不能为空,t_theme,t_content都不能为空,t_step,t_count,t_posttime由系统设置
reply( r_id, t_id, l_name, r_conten, r_time, r_step)
r_id 为主键,t_id和l_name为参考外键,都不能为空,r_conten也不能为空,r_time, r_step由管理员和系统设置。
minister( m_name,_m_password ,m_email)
m_name为主键,m_name, m_password不能为空
banzhu( bzh_name ,bzh_password, bzh_state)
bzh_name为主键,bzh_password不能为空,bzh_state由管理员设置
browsing(l_id, bm_id ,u_name,l_time);
l_id为主键,bm_id和u_name为外键参考,都不能为空
mini_user( m_id ,m_name, u_name, dowhat);
m_id为主键,m_name和u_name为外键参考,都不能为空,dowhat由管理员设置
mini_topic( mt_id, bzh_name ,t_id, dowhat);
mt_id为主键,bzh_name和t_id为外键参考,都不能为空,dowhat由管理员设置
mini_banmian( mb_id , m_name, bm_id, dowhat );
mb_id为主键,m_name和bm_id为外键参考,都不能为空,dowhat由管理员设置
banmian(bm_id, bm_name, bzh_name, bm_themecount );
bm_id为主键,bm_name和bzh_name为外键参考,都不能为空
rizhi(l_name, l_time)
l_name为主键,不能为空,l_time由系统设置。
其他内容就不一一展示了,如需对应相关资料,可以评论或者下方联系我,私信都可以。.