完整版软件工程毕业课程设计.docx

上传人:b****5 文档编号:14374497 上传时间:2023-06-22 格式:DOCX 页数:19 大小:39.74KB
下载 相关 举报
完整版软件工程毕业课程设计.docx_第1页
第1页 / 共19页
完整版软件工程毕业课程设计.docx_第2页
第2页 / 共19页
完整版软件工程毕业课程设计.docx_第3页
第3页 / 共19页
完整版软件工程毕业课程设计.docx_第4页
第4页 / 共19页
完整版软件工程毕业课程设计.docx_第5页
第5页 / 共19页
完整版软件工程毕业课程设计.docx_第6页
第6页 / 共19页
完整版软件工程毕业课程设计.docx_第7页
第7页 / 共19页
完整版软件工程毕业课程设计.docx_第8页
第8页 / 共19页
完整版软件工程毕业课程设计.docx_第9页
第9页 / 共19页
完整版软件工程毕业课程设计.docx_第10页
第10页 / 共19页
完整版软件工程毕业课程设计.docx_第11页
第11页 / 共19页
完整版软件工程毕业课程设计.docx_第12页
第12页 / 共19页
完整版软件工程毕业课程设计.docx_第13页
第13页 / 共19页
完整版软件工程毕业课程设计.docx_第14页
第14页 / 共19页
完整版软件工程毕业课程设计.docx_第15页
第15页 / 共19页
完整版软件工程毕业课程设计.docx_第16页
第16页 / 共19页
完整版软件工程毕业课程设计.docx_第17页
第17页 / 共19页
完整版软件工程毕业课程设计.docx_第18页
第18页 / 共19页
完整版软件工程毕业课程设计.docx_第19页
第19页 / 共19页
亲,该文档总共19页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

完整版软件工程毕业课程设计.docx

《完整版软件工程毕业课程设计.docx》由会员分享,可在线阅读,更多相关《完整版软件工程毕业课程设计.docx(19页珍藏版)》请在冰点文库上搜索。

完整版软件工程毕业课程设计.docx

完整版软件工程毕业课程设计

软件工程课程设计

学生姓名

学号

院(系)

信息科学与技术

专业

计算机科学与技术

题目

网络论坛系统

 

指导教师

曾宇

 

2010

06

 

目录

1前言1

1.1选题背景和意义1

1.2系统要解决的问题1

2相关技术及运行环境简介1

2.1JSP技术简介1

2.2JAVABEAN技术简介2

2.3JDBC技术简介2

2.4TOMCAT技术简介3

2.5运行环境3

3需求分析3

3.1用户功能需求4

3.2数据需求5

4系统整体设计5

4.1系统模块结构设计5

4.2数据库设计9

4.2.1E-R图分析9

4.2.1.1ER模型9

4.2.1.2联系定义15

4.2.2数据表设计15

4.3系统流程图18

5详细设计19

5.1用户登录模块20

5.2用户注册模块设计21

5.3帖子主题模块设计22

5.4浏览帖子模块设计23

5.5发表帖子模块设计24

5.6其他模块设计25

5.6.1查询用户模块25

5.6.2帖子管理模块25

6系统运行和测试25

6.1测试运行情况25

6.2程序有待改进方面26

结论27

1前言

1.1选题背景和意义

在二十一世纪,地球因为互联网的存在,早已变成一个村落。

人们在互联网世界里尽情的遨游,享受着Internet带来的无限乐趣。

我们习惯了上网看新闻、去论坛看帖、网上购物、撰写自己的网络日志等等。

当然,最离不开的,还是各种搜索引擎,帮我们找到想要的信息。

总之,互联网已经成为我们的一种生活方式,一个巨大的知识库。

本篇设计论文,围绕如何构建网上论坛系统展开研究。

网上论坛系统(BBS)是各种信息交流和传布的场所,它不同于电视报纸等传统的媒体,任何人都可以随便的在BBS上发表自己的言论,不受任何限制。

除了可以发表文字信息外可以上传和转贴图片、音乐、Flash,可以选择字号、颜色,还可以选择有趣的表情图案。

只要花几分种注册(甚至不需要)你就能畅游BBS,从中得到无穷的乐趣。

本系统就是基于以上功能的一个BBS,旨在为广大网民提供了一个交流平台,能够在这里畅所欲言,发表自己的看法、观点,同时能够结交朋友为生活增添乐趣。

1.2系统要解决的问题

本系统要解决网上论坛(BBS)管理的基本功能:

用户注册、用户登录、发表文章、阅读文章、回复文章、分页查找、作者查找、个人资料修改。

版主可以添加版块,修改版块,查看版主信息,修改版主信息。

管理员可以对帖子进行管理,修改管理员自己的信息。

超级管理员可以添加新的管理员以及删除管理员,修改管理员资料,以及对帖子的管理,超级管理员还可以添加版主。

在设计过程中要解决了JSP最常见的中文乱码问题,并针对不同平台总结出了处理乱码的方法,为今后系统的移植做了铺垫。

在数据库连接方面采用数据库连接池技术,数据库连接池负责分配、管理和释放数据库连接,它允许应用程序重复使用一个现有的数据库连接,而再不是重新建立一个。

2相关技术及运行环境简介

2.1JSP技术简介

JSP是服务器端的脚本语言,是以SERVLET为基础开发而成的动态网页生成技术,它的底层实现是JAVASERVLET。

JSP(JAVASERVERPAGES)由HTML代码和潜入其中的JAVA代码所组成。

服务器在页面被客户端请求以后对这些代码进行处理,然后将生产的HTML页面返回客户端的浏览器。

按照脚本语言是服务于某一个子系统的语言这种论述,JSP应当被看作是一种脚本语言。

然而,作为一种脚本语言,JSP又显得过于强大了,在JSP中几乎可以使用全部的Java类。

JSP的特点是面向对象、跨平台、和SERVLET一样稳定、可以使用SERVLET提供的API,同时克服了SERVLET的缺点。

在使用JSP时一般和JAVABEANS结合使用,从而将界面表现和业务逻辑分离。

分开内容和显示逻辑的好处是,更新页面外观的人员不必懂得Java代码,而更新JavaBean类的人员也不必是设计网页的行家里手,就可以用带JavaBeans类的JSP页面来定义Web模板,以建立一个由具有相似的外观的页面组成的网站。

JavaBeans类完成数据提供,这样在模板中就没有Java代码,这意味着这些模板可以由一个HTML编写人员来维护。

当然,也可以利用JavaServlet来控制网站的逻辑,通过JavaServlet调用JSP文件的方式来将网站的逻辑和内容分离。

2.2JAVABEAN技术简介

JAVABEAN是基于JAVA的组建模型,有点类似于MICROSOFT的COM组建。

JavaBean就是JAVA的可重用组件技术。

ASP通过COM来扩充复杂的功能,如文件上载、发送email以及将业务处理或复杂计算分离出来成为独立可重复利用的模块。

JSP通过JavaBean实现了同样的功能扩充。

JSP对于在Web应用中集成JavaBean组件提供了完善的支持。

这种支持不仅能缩短开发时间(可以直接利用经测试和可信任的已有组件,避免了重复开发),也为JSP应用带来了更多的可伸缩性。

JavaBean组件可以用来执行复杂的计算任务,或负责与数据库的交互以及数据提取等。

在JAVA平台中,可以无限扩充JAVA程序的功能,通过JAVABEAN的组合可以快速生产新的应用程序。

JAVABEAN通过JAVA虚拟机(JAVAVIRTUALMACHINE)执行,运行JAVABEAN最小的需求是JDK1.1或者以上的版本。

对于程序员来说,最好的一点就是JAVABEAN可以实现代码的重复利用,另外对于程序的易维护性等等也有很重大的意义。

在实际的JSP开发过程中,读者将会发现,和传统的ASP或PHP页面相比,JSP页面将会是非常简洁的,由于JavaBeans开发起来简单,又可以利用Java语言的强大功能,许多动态页面处理过程实际上被封装到了JavaBeans中。

JAVABEAN传统的应用在于可视化的领域,如AWT下的应用。

自从JSP诞生后,JAVABEAN更多的应用在了非可视化领域,在服务器端应用方面表现出了越来越强的生命力。

2.3JDBC技术简介

JDBC是一组API,定义了用来访问数据库源的标准JAVA类库,使用这种类库可以使用一种标准的方法、方便地访问数据库资源。

JDBC是用于执行SQL语句的Java应用程序接口,由一组用Java语言编写的类与接口组成,在JSP中将使用JDBC来访问数据库。

JDBC是一种规范,它让各数据库厂商为Java程序员提供标准的数据库访问类和接口,这样就使得独立于DBMS的Java应用程序的开发工具和产品成为可能。

JDBC的目标是使应用程序开发人员使用JDBC可以连接任何提供了JDBC驱动程序的数据库系统,这样就使得程序员无须对特定的数据库的特点有过多的了解,从而大大简化了和加快了开发过程。

一般的Java开发工具都带有JDBC-ODBC桥驱动程序,这样,只要是能够使用ODBC访问的数据库系统,也就能够使用JDBC访问了。

有趣的是,不同于ODBC是OpenDatabaseConnectivity的简称,JDBC并不是JavaDatabaseConnecivity的简称,而是SUN的注册商标,至少官方说法是这样的。

JDBCAPI为访问不同的数据库提供了一种统一途径,像ODBC一样,JDBC为开发者屏蔽了一些细节问题。

另外,JDBC对数据库的访问也具有平台无关性。

2.4TOMCAT技术简介

在已JAVA技术为的WEB开发领域中,TAMCAT是许多JAVA程序员相当喜爱的开放源代码产品,它附属在APACHESOFTWAREFOUNDATION所主导的JAKART项目内。

由于TAMCT是SERVLET与JSP技术的参考实现(REFERNCEIMPLEMENTATION),所以它不但可以当作独立的WEB服务器,也可以结合其它的WEB服务器,只担任SERVLET容器或JSP容器的角色。

2.5运行环境

为了保证BBS论坛管理系统运行的高效性和可靠性,服务器应具有较高的软硬件配置,客户端的要求不是很高。

此应用程序可广泛运行于国际互联网即Internet,也可适用于内部的局域网。

其运行要求如下:

软件环境:

服务器端:

WindowsNTWindows2000,Tomcat5.0,JDK1.5及其以上版本,IE等;

数据库:

采用MYSQL,运行于服务器端。

硬件环境:

服务器CPU:

PIII500以上,内存:

512M以上。

客户机CPU:

P200MMX以上,内存:

32M以上。

3需求分析

软件的需求分析必须要有对原业务的一个深入了解、提取、抽象、升华的过程,管理软件需求分析尤其如此。

软件的需求分析是从用户的业务中提取出软件系统能够帮助用户解决的业务问题,通过对用户业务问题的分析,规划出我们的软件产品。

这个步骤是对用户业务需求的一个升华,是一个把用户业务管理流程优化,转化为软件产品,从而提升管理而实现的质的飞跃,这一步是否成功,直接关系到开发出来的软件产品能否得到用户认可,顺利交付给客户,客户能否真正运用我们的产品帮助他解决业务或管理问题。

3.1用户功能需求

为了系统的各模块功能够正常使用、系统更加人性化,还为了满足系统的实用性及安全性,本系统包含5个角色:

游客,用户,管理员、超级管理员、版主。

(1)游客的各项功能:

游客可以浏览本论坛,但是不可以发帖,不可以回帖,也不可以看帖,只有注册了以后成为本论坛的用户,才可以执行用户的功能。

(2)用户的各项功能:

一旦成为本论坛的用户后享有以下功能:

1、用户注册

2、用户登录

3、发表文章

4、阅读文章

5、回复文章

6、作者查找

7、个人资料修改

(3)管理员的各项功能:

1、修改管理员自己的信息

2、对帖子进行管理

3、进入前台以及退出后台

(4)超级管理员的各项功能:

超级管理员可以添加新的管理员以及删除管理员,修改管理员资料,以及对帖子的管理,超级管理员还可以添加版主。

(5)版主的各项功能:

版主可以具有的功能如下:

1、添加版块

2、修改版块

3、查看版主信息

4、修改版主信息

3.2数据需求

用户必须先注册后再登录进入系统,系统用户的数据包括用户名、用户密码、用户类型。

用户名在整个系统中是唯一的。

用户浏览帖子时,数据应当包括用户名、帖子序号。

用户根据某一主题可以发表帖子,发表帖子需要的数据包括用户名、版块编号、版块分类名、发表帖子标题、发表帖子内容、发表帖子类型。

用户回复帖子的数据包括用户名、回复帖子序号、回复的内容、版块编号、版块分类名。

管理员进入后台管理时,需要数据包括管理员ID、管理员密码、管理员的类型。

管理员根据权限的不同分为普通管理员和超级管理员。

版主进去后台管理时,需要的数据包括版主名、版主密码、子版块名、版块编号。

4系统整体设计

4.1系统模块结构设计

BBS论坛系统(前台)的主要功能模块及其关系,如图4-1所示:

图4-1BBS论坛系统前台主要功能模块

根据BBS论坛系统前台的模块图可以得到系统的具体功能:

★用户登录管理功能:

新用户注册成功之后,在登录界面输入正确用户名、密码和验证码之后便可以进入本系统。

★用户注册管理功能:

游客可以浏览论坛的主题话题但是不可以发表话题和回复帖子,只有当游客在本论坛注册成为论坛的用户后,才能进行相关操作。

★用户信息资料管理功能:

在用户登录成功之后,可以修改用户自己的信息,进一步完善用户资料和修改注册时用户填写的资料。

★主题帖子管理功能:

为了方便信息交流,用户可以发表话题,更可以根据帖子主题浏览帖子内容和回复帖子。

★查询管理功能:

用户可以按作者名查询帖子序号、标题、发帖的时间、发帖人等信息,方便用户快速的找到自己想要的信息。

根据BBS系统功能分析和论坛管理的特点,需要设计BBS论坛的后台管理系,其主要功能模块如图4-2所示。

图4-2BBS论坛系统后台功能模块

根据BBS论坛系统后台的模块图可以得到系统的具体功能:

一管理员管理:

★管理员信息管理功能:

管理员输入正确用户名、密码之后便可以进入到后台管理系统。

管理员可以查看自己的信息,可以添加管理员,可以修改管理员的资料,还可以删除管理员。

★主题帖子管理功能:

管理员可以对用户发表的帖子进行管理,管理员可以按主题帖子序号,主题名,发表的话题进行看帖,修改帖子和删除帖子等操作。

★版主管理功能:

管理员可以根据版块具体要求的不同,添加这一版块的版主负责管理此版块。

来分担管理员的管理论坛的工作,可以更好的为广大用户服务。

二版主管理:

★版块管理功能:

只有版主输入正确用户名、密码之后便可以进入到版主后台管理。

版主根据版块的分类,可以添加其版块下的子分类,或者修改原有版块下子分类的名称,子分类的描述介绍。

★版主信息管理功能:

可以查看版主自己的信息,可以修改版主的信息资料。

4.2数据库设计

该系统采用MySQL作为后台数据库去存储所有与系统相关的数据。

这些数据表包括用户表(userinfo)、主题帖子表(topicinfo)、回复帖子表(replyinfo)、版块表(foruminfo)以及管理员表(admininfo)。

数据模型的最终目的就是规划能够有效地处理事务,并且保持应用开发的简洁性的关系数据库,并在数据库的规范化、性能优化以及数据的简洁性之间达到平衡。

4.2.1E-R图分析

4.2.1.1ER模型

E-R模型是对现实世界的一种抽象。

它的主要成分是实体、联系和属性。

使用这三种成分,我们可以建立许多应用环境的ER模型。

本系统的实体和属性的定义如下:

用户表(用户ID、用户密码、用户昵称、用户电子邮箱、用户级别、用户留言、用户自述、用户权限)

主题帖子表(主题帖子编号、主题帖子标题、主题帖子作者、帖子内容、发表帖子的时间、回复数、所属版块号、主题类型)

回复帖子表(回复编号、回复帖子编号、回复作者、回复帖子时间、回复内容)

版块表(版块编号、版块名称、版块类型、子版块编号、版主、主题数、文章数、版块描述)

管理员表(管理员ID、管理员密码、管理员电子邮箱、管理员自述、注册时间、管理员留言、管理员权限)

具体实体属性的关系图:

图4-3用户信息实体图

图4-4主题帖子信息实体图

图4-5回复帖子信息实体图

图4-6版块信息实体图

图4-7管理员信息实体图

4.2.1.2联系定义

ER模型的“联系”用于刻画实体之间的关联。

一种完整的方式是对局部结构中任意两个实体类型,依据需求分析的结果,考察局部结构中任意两个实体类型之间是否存在联系。

若有联系,进一步确定是1:

N,M:

N,还是1:

1等。

还要考察一个实体类型内部是否存在联系,两个实体类型之间是否存在联系,多个实体类型之间是否存在联系,等等。

本系统的ER模型如图4-8所示:

图4-8ER模型图

4.2.2数据表设计

在这个数据库管理系统中要建立5张数据表,包括用户表(userinfo)、主题帖子表(topicinfo)、回复帖子表(replyinfo)、版块表(foruminfo)以及管理员表(admininfo)。

在刚刚建立的hello2数据库节点下的“表”节点右击,在弹出的快捷菜单中选择“新增资料表”命令,就可以开始新建各个数据表。

这5张数据表的各个字段意义如下所示。

4.2.2.1      回复帖子表(replyinfo)

字段名

数据类型

字段大小

说明

id

int

11

回复编号(主键)

topicid

int

11

主题号(外键)

replyuserid

varchar

20

回复者(外键)

replytime

datetime

0

 回复时间

replycontent

varchar

300

 回复内容

表4-1回复帖子表

4.2.2.2      主题帖子表(topicinfo)

字段名

数据类型

字段大小

说明

topicid

int

11

主题编号(主键)

topictitle

varchar

60

标题

topicuserid

varchar

20

发帖人(外键)

topiccontent

varchar

 300

 发帖内容

topictime

datetime

 0

 发帖时间

replynum

int

 10

回复数 

forumid

int

 10

 版块号(外键)

groupid

int

2

主题类型

表4-2主题帖子表

4.2.2.3     版块表(foruminfo)

字段名

数据类型

字段大小

说明

mid

int

10

版块编号(主键)

name

varchar

80

版块名

isparent

int

 2

 版块是否分类

sortid

int

 3

 子版块号

adminauthor

varchar

60

版主

totaltopic

int

10

主题数

totalpost

int

11

文章数

description

varchar

160

版块描述

表4-3版块表

4.2.2.4  管理员表(admininfo)

字段名

数据类型

字段大小

说明

admname

varchar

20

管理员ID(主键)

admpwd

varchar

20

密码

admemail

varchar

50

 邮箱

admstate

varchar

50

 自述

admtime

datetime

0

注册时间

admsay

varchar

150

留言

admright

int

10

权限

表4-4管理员信息表

4.2.2.5   用户表(userinfo)

字段名

数据类型

字段大小

说明

userid

varchar

20

用户名(主键)

userpwd

varchar

20

 密码

username

varchar

30

 昵称

useremail

varchar

50

 邮箱

userlevel

int

20

 级别

usersay

varchar

150

留言

userstate

varchar

20

自述

right

int

10

权限

表4-5用户信息表

4.3系统流程图

图4-9主要功能流程图

各模块功能解释如下:

用户登录模块:

新用户注册成功之后,在登录界面输入注册时填写的正确用户名、密码之后,再输入出现的验证码之后便可以进入本系统。

如果用户名和密码正确,但是输入的验证码错误,则不允许进入本系统,跳转到登录界面重新输入。

用户注册模块:

建立账号,如果游客以前没有建立账号,则只可以浏览论坛的主题话题但是不可以发表新话题和回复有关帖子,只有当游客在本论坛注册成为论坛的用户后,才能进行相关操作。

同时在用户创建新账号的时候,必须输入用户名(系统会在提交时检查该用户名是否已存在)。

用户在建立新账号之后就可以具有合法登录系统的身份,可以进行相关的操作。

用户信息资料管理模块:

在用户登录成功之后,可以修改用户自己的信息,进一步完善用户自己的资料和修改注册时用户填写的资料。

主题帖子模块:

为了方便信息交流,首先帖子主题类型分为精华主题(红色)和普通主题(黑色),用户可以根据需要游览自己感兴趣的帖子,获得所需信息。

用户可以发表话题,还可以根据帖子主题浏览帖子内容和回复帖子。

查询模块:

用户只要输入想查询的用户ID,点击查询按钮,便可以查询出该用户发表的所有帖子以及该用户发表的帖子序号、标题、发帖的时间、发帖人等详细信息,方便用户快速的找到自己想要的信息。

管理员信息管理模块:

管理员输入正确用户名、密码之后便可以进入到后台管理系统。

管理员可以查看自己的信息,可以添加管理员,可以修改管理员的资料,还可以删除管理员。

主题帖子管理模块:

管理员可以对用户发表的帖子进行管理,管理员可以按主题帖子序号,主题名,发表的话题进行看帖,修改帖子和删除帖子等操作。

版主管理模块:

管理员可以根据版块具体要求的不同,添加这一版块的版主负责管理此版块,来分担管理员的管理论坛的工作,可以更好的为广大用户服务。

版主还可以修改自己的资料,添加本版块的子版块。

5详细设计

5.1用户登录模块

当游客注册成为本BBS论坛系统的用户后,便跳转到系统登录界面,在系统登录界面(图5-1所示)输入正确用户名、密码和验证码之后便可以进入本系统。

图5-1用户登陆界面

5.2用户注册模块设计

游客如果要在本BBS论坛系统发表帖子和回复帖子,游客必须在本论坛注册成为论坛的用户后,才能进行相关操作。

系统注册界面(图5-2所示)

图5-2用户注册界面

5.3帖子主题模块设计

帖子主题界面(图5-3所示),帖子主题类型分为精华主题(红色)和普通主题(黑色),用户可以根据需要游览自己感兴趣的帖子,获得所需信息。

用户可以发表话题,还可以根据帖子主题浏览帖子内容和回复帖子,以及根据用户ID查询主题帖子。

5.4浏览帖子模块设计

用户根据回复帖子的ID,可以查看该主题帖子的所有用户的回复内容,并可以根据该主题帖子添加自己的回复内容。

浏览帖子的界面(图5-4所示)。

图5-4浏览帖子界面

5.5发表帖子模块设计

用户点击发表帖子按钮便进入了发表帖子界面,用户可以选择发表帖子的主题类型,用户填写要发表主题帖子的标题和内容。

发表帖子的界面(图5-5所示)。

图5-5发表帖子界面

5.6其他模块设计

5.6.1查询用户模块

用户点击导航栏上搜索按钮便进入了查询用户的界面,用户只要输入想查询的用户ID,点击查询按钮,便可以查询出该用户发表的所有帖子。

5.6.2帖子管理模块

管理员登录到后台管理界面,首先可以修改管理员自己的资料,其次可以添加管理员来一同管理本系统,更可以对所有帖子进行管理。

6系统运行和测试

6.1测试运行情况

任何一个系统的正确运行都是建立在多次测试基础上的,只有经过多次测试才可以发现系统存在的不足或逻辑错误。

本文的BBS论坛系统在不断的调试过程中也或多或少地遇到一些问题,但最终基本一一解决,主要归纳为以下5点:

1、实时性问题,由于本系统是BS模式的,所以系统的响应速度是很重要的,当有大量的用户同时访问时,这样系统的响应速度必然下降。

本系统在设计阶段就考虑了这方面的问题,其中最主要的解决方法就是尽量减少客户端和服务器间的通信,把一些能在客户端完成的验证都放在客户端验证,尽可能多的使用本地的脚本语言,这样客户端和服务器端的通信量就会大大减少,服务器的响应效率会提高很多。

在本系统中开始时把一些验证信息放在了服务器端,这样每点一个按钮就向服务器发出一次请求,从而使服务器响应速度很慢,后来把一些控件的验证都放在了客户端,这样就减少了客户端和服务器端的通信,服务器的响应速度大大提高。

2、系统的安全性问题,后台管理界面不能让一些不具有管理员身份的人登陆,在本系统中应用了Session机制来验证用户,只有登陆了系统的管理员才能对系统后台进行操作,没有登陆的管理员是不能够登陆后台管理界面的。

即使有

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 工程科技 > 能源化工

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2