1、With the rapid development of information technology in todays society, the school also has entered the information age. In order to provide university teachers and students a better and more efficient interactive communication platform, I decided to develop a thematic forum for the exchange of teac
2、hers and students.Through a survey of the needs of our students and teachers and the understanding of the structure of existing BBS system, the development process of this system includes three aspects: the technical analysis and design of system, user interface design, maintenance and establishment
3、 of background database. The user interface should be elegant and practical, at the same time, the simple function of the forum should be achieved by the use of the database correctly; the most complicated aspect is the demand analysis of the whole system, design and technology achievement of functi
4、on module. After analysis, SQL Server 2005 was chosen as the system database, using JSP as front display, in addition to the use of the most popular SSH (Struts, Hibernate, Spring).The view layer uses JavaScript and Ajax technology. The system operating environment is Tomcat server. System realizes
5、some necessary functions including forum module management, posting management, user management, and it has simple, user-friendly, more stable operation, which is suitable for learning and communication among university students and teachers.Keywords: Teachers and students thematic system; JSP; SSH
6、; B/S; SQL Server 2005 目 录第1章 绪 论 (1)1.1开发背景及现状 (1)1.2可行性分析 (1)1.3需求分析 (2)第2章 系统分析 (4)2.1功能模块分析 (4)2.2组织/功能关联分析 ( 6)2.3业务流程分析 ( 6)2.4数据流程分析 (8)2.5数据字典 ( 10)第3章 系统设计 (13)3.1系统总体功能结构图 (13)3.2系统数据资源分布 (14)3.3系统运行环境 (14)3.4代码设计 (15)3.5数据库设计 (16)3.6输入、输出及菜单设计 (19)3.7 IPO设计 (21)3.8系统组件设计 (26)第4章 系统实现 (28)
7、4.1系统框架的实现 (28)4.2系统功能的实现 (30)总 结 (33)参考文献 (34)第1章 绪 论1.1开发背景及现状随着我们社会发展,计算机技术也得到了蓬勃发展,使得计算机已广泛应用于各个行业,大学也不例外。对于学生在大学学习的过程中的一个很重要的环节“师生交流”来说,利用计算机来实现学生和老师之间的学术交流,是非常适应当前社会发展的要求,以促进学生的学习和教师了解学生学习的速度及状况有很大的帮助。目前在大学期间,受各方面的因素影响,老师和学生之前的学术交流局限在短暂的课堂之中。对于基础好的学生来说,及时在课堂中提出问题并且在课堂中得到老师的指导固然是好,但是对大部分学生来说,由于
8、大学课堂讲授的知识点比较多,需要一段时间去消化和理解所接受的新知识点,这就导致了当学生课下遇到问题时,就很难再寻求到老师的帮助。在这种情况下,学生的对学习的爱好就会降低,教师的课堂教学效果也降低。这时,一个完善的师生专题讨论系统就可以有效的解决这方面的问题。师生专题讨论系统拥有许多优点,例如:老师和学生之间沟通不受各种现实的条件限制、交流快捷等。这些优点能够极大地提高学生学习效率,提高教师教学质量,达到事半功倍的效果。1.2可行性分析可行性分析也称为可行性研究,它是在根据需求分析人员,针对新的系统去调研,通过收集相关的资料,最后从多个方面(包括技术、经济、法律等)进行分析和专门研究,根本目标就
9、是要避免投资失误,保证新系统的开发出来能够适合企业的使用,真正可以帮助企业解决当前办公效率低下等问题,从而提高办公效率。下面将分别从技术、经济、操作和法律可行性四个方面对师生专题系统的建设进行分析和研究。1.2.1 技术可行性根据师生交流系统的各方面约束条件,决定师生交流系统所需要的技术要求。本系统对硬件方面没有特殊的要求,可以是简单的PC机,也可以是性能比较高的服务器。在软件方面,通常使用的操作系统我们选择微软的Window系列;对于开发工具方面选用当前流行的、免费的Eclipse,避免开发工具的版权问题;后台采用的数据库为微软的Sql Server 2005,该型号的数据库为中型数据库,它
10、有着对数据处理快,管理数据性能好等优势;在整个系统的开发语言上选择的是Java语言,它具有安全性好,易学易用,跨平台等优势,此外Java组织还提供了相当丰富而的开发框架(Struts、Hibernate、Spring等)供开发者使用,这使得我们的师生专题讨论系统更容易实现。因此在技术上是可行的。1.2.2 经济可行性本校已经具有信息化的处理设施,同时也已经拥有支持该系统的应用平台,因此在设备方面无需投入资金。对于开发成本来说,该系统的开发基于本人对程序开发的实践学习而来,本人一方面是以实践为目的来开发当前系统,另一方面处于自愿为学校开发,学校无需资金投入,并且软件开发过程投入的成本不高,因此开
11、发经费完全可以接受。所以经济上也是可行的。1.2.3 操作可行性用户操作方便。即使略懂电脑的初学者也能通过系统的导航条进行相关操作;系统中的一切数据都可以通过管理员来管理,对整个系统的数据维护方面操作简单,此外该系统还具有很强的适应力;容易扩充。所以操作方面也可行。1.2.4 法律可行性本系统纯为个人设计,在开发过程中没有涉及合同、责任、版权等与国家相关法律规定相抵触的方面。因此,本系统在法律上是可行的。1.2.5 分析结论通过以上的分析,技术、经济、运行和法律都具有可行性,故该师生专题讨论系统可以进行设计和实现。1.3需求分析1.3.1 系统功能需求分析经过同老师和学生的需求调研。得出该师生
12、专题讨论系统的实现,重点需要实现如下功能:1)板块管理:该系统是以板块的形式将信息展示出来,板块下可分多个主题,主题下可对应多个消息帖,主贴下可包含多个回帖。通过对板块进行管理,可以将专题讨论的内容结构化,清晰化。普通管理员可以对当前已存在的板块进行修改和删除,如果执行板块删除操作,则隶属于当前板块所有的主题和消息贴将级联被删除。2)主题管理:主题父级元素为板块,下级元素则为消息贴。管理员可以根据需求对某板块下的主题进行增删改。当管理员删除某主题,则该主题下的所有消息贴以及回帖都将会被级联删除。3)发帖管理:师生通过发帖的形式来进行讨论,一张消息贴可有多个回帖,普通管理员通过后台可以实时监控发
13、帖详情,对于发帖和回帖有充分控制的权限,对于不符合要求的消息贴可以给与冻结或者删除,来保证系统的良好运行环境。1.3.2 系统性能需求分析理论上来说,本系统性能需求可分为下面三个方面:(1) 系统的吞吐量系统吞吐量就是系统在单位时间内可以接受和处理的访问请求的数量,请求量越多,说明该系统的运行性能越强。(2) 系统的响应时间系统的响应时间是指当用户充客户端真正发出请求过后,到服务器返回请求资源这过程所需要消耗的时间,响应时间可以用来评价服务器的性能以及网络的性能。(3) 系统的安全性安全性是指计算机系统的数据不受非授权用户访问的能力。整个系统不应由于操作失误,甚至恶意攻击而遭到破坏。系统的安全
14、性能可以通过给用户设置密码,或者对相应的重要数据进行安全上的可逆加密操作。第2章 系统分析2.1功能模块分析通过对系统的需求分析得出,该系统主要分为两个模块:2.1.1 前台模块图1 前台功能模块结构图其中具体功能 叙述如下:1)用户注册:通过用户注册,实现系统识别当前操作人为游客还是普通用户,游客只有浏览权限,没有发帖和回帖的权限。2)用户登陆:用户通过用户名和密码登录,登录通过之后进入系统。3)系统状态:显示当前系统中已存在的用户数量,模块数量,主题数量和帖子数量。4)板块信息:板块为该系统最大的元素,其下含有主题,通过板块信息将系统内容格式化,让用户使用起来更容易、更清晰。5)主题信息:
15、主题信息为帖子的父节点,显示当前主题说明以及含有的帖子数量。6)帖子信息:显示帖子名称,已经发帖人和发帖时间,帖子包含两个模块,分别是发表新帖和回复已经存在的帖子。2.1.1 后台管理模块图2 后台功能模块结构图根据角色不同,各自功能 叙述如下:A.普通用户:1) 个人资料管理:普通用户可以修改自己的密码等个人信息。比如用户的姓名,密码和联系方式等。2)个人发帖查看:普通用户可以通过查看自己的发帖,了解发帖详情,是否通过管理员审核等信息。B.普通管理员:1)用户管理:普通管理员可以对用户进行管理,比如对个人信息的修改和删除和普通用户的修改和删除。个人信息管理主要是对于密码,姓名等信息进行更新。
16、2)板块管理:普通管理员可以添加新的板块和管理当前板块的信息。一个板块主要包括板块名称、板块说明和创建者三个信息,其中板块名称和说明管理员可以进行修改,当管理员删除该板块时,则会级联删除当前板块下的所有信息,包括所有主题和所有帖子。3)主题管理:普通管理员可以修改或者删除当前已经存在的主题,还可以添加新的主题。管理已有主题包括对已有主题的修改与删除等操作。修改主题主要是指修改主题名称和主题说明,对于主题所属的板块,本系统出自安全考虑则不允许修改;当管理员删除当前主题时,则级联删除当前主题下的所有帖子信息。添加新主题主要操作包括选择新主题所属的板块,编辑新主题的名称和主题说明。4)发帖管理:主要
17、包括审核新的发帖、锁定或者解锁帖子和删除帖子。新帖默认的状态为通过审核的状态,当新帖的内容不符合要求,管理员可以通过锁定当前新帖或者直接删除当前帖子。删除当前帖子将会级联删除所有关于该贴的回帖信息。C超级管理员:超级管理员可以修改自己的密码等个人信息,比如用户的姓名,密码和联系方式等。2)管理普通管理员:超级管理员拥有对当前系统已有普通管理员信息的管理权限。对普通管理员管理主要是对普通管理员的资料进行适当的更新。2.2组织/功能关联分析组织/功能联系表2.3业务流程分析流程图也称作输入和输出图。流程图它可以直观地反映一个工作流程的具体过程,它可以很清晰的观察到具体的步骤,可以了解事情是如何进行
18、的,以及决定应如何改进过程极有帮助。数据流程基本组成及符号说明如表1所示:表1 数据流程图符号本系统可以将访问论坛的用户分为已注册用户与未注册用户(即游客),并赋予不同的权限,比如临时用户只能对帖子进行查看,而注册的用户里还分普通用户、普通管理员和超级管理员,普通用户不仅可以查看帖子,还能发表新帖,并且对已有帖子进行回复,同时,还可以更新自己的注册资料;普通管理员还具有更多的权限,比如管理普通用户,管理板块、管理主体和帖子等等;超级管理员具有全部权限,主要权限是管理普通管理员。系统的前台的流程图如下:图3 系统前台业务流程图管理员在进入系统后台时,系统要判断用户是否登录,如果没有登录,则返回到
19、登录界面;对于可以登录的用户还要对权限进行判断,判断该用户是否有权限进入后台。系统后台可进行板块管理、主题管理、发帖管理和用户管理,其后台流程图如下所示:图4 系统后台业务流程图2.4数据流程分析师生专题讨论系统是为了给大学老师和同学之间、同学与同学之间的网上交流的平台,所以论坛的流程是以用户为中心进行的。数据流程图(Data Flow Chart),是描述系统数据流程的工具,它将数据独立抽象出来,通过图形方式描述信息的来龙去脉和实际流程。数据流程图是表示操作或数据的方向。数据流图具有以下两个特性:1)抽象性:表现在它去除了具体的物质,通过剩下的数据的流动、加工处理与存储等描述数据的流程。2)
20、概括性:表现在它把组成信息的各部分不同业务处理过程联系成一个整体。数据流图由以下四种基本元素组成,既外部实体、数据流、处理(功能)、数据存储等,数据流图中所用的符号如下:外部实体 处理 数据流 数据存储2.4.1 顶层数据流程图图5 顶层数据流程图2.4.2 底层数据流程图(1)用户注册数据流程图图6 用户注册数据流程图(2)用户发帖和回帖数据流程图图 7 用户回帖和发帖数据流程图(3)普通管理员板块管理数据流程图图8 板块资料管理数据流程图(4)普通管理员主题管理数据流程图图9 主题管理数据流程图2.5数据字典2.5.1数据项定义表2 数据项定义表2.5.2数据结构定义表3 数据结构定义表2
21、.5.3数据存储定义表4 数据存储定义表2.5.4数据流定义表5 数据流定义表2.5.5处理逻辑定义表6 处理逻辑定义表第3章 系统设计3.1系统总体功能结构图3.1.1总体功能结构图图10 系统总体功能结构图根据系统分析模块中的功能模块分析,师生专题讨论系统的功能分为系统的前台功能结构图和系统后台功能结构图。3.1.2前台功能结构图图11 系统前台功能结构图3.1.3后台功能结构图图12 系统后台功能结构图3.2系统数据资源分布系统中的用户信息分布在服务器上,用户(包括普通用户和管理员)通过浏览器就可以收取注册信息进行审核,从而及时对系统中的注册等信息情况进行处理,对非法操作者进行监督和检查
22、。此外,管理员也只需要在本地通过浏览器来对系统进行管理,例如对当前系统的板块、主题、发帖等管理。3.3系统运行环境3.3.1软件运行平台本系统设计运行在Windows 7 旗舰版操作系统环境下。如果条件允许的情况下,可以使用网络操作系统,例如Windows Server 2008。 服务器类型:Tomcat 6.0。Java环境:Jdk1.7.0_25。数据库类型:Sql Server 2005。3.3.2 硬件运行平台CPU: 主频2GHz以上。内存: 1G以上。硬盘空间:至少需要50G以上的硬盘空间来安装所需的组件。以上为系统建设配置,实际系统运行平台配置建议不低于上述。3.4代码设计表7
23、 代码设计表为了保证代码输入的正确性,我们为系统中的代码新增设计了校验码。下面通过一个例子来说明代码校验的工作方式:例如:某用户的帖子号是1001201404001的说明:原代码:1 0 1 2 0 1 4 0 4 0 0 1位权: 13 12 11 10 9 8 7 6 5 4 3 2乘积之和:26+0+11+20+9+16+7+12+0+0+0+2=102模: 11 102/1193校验位: 3因此代码为:100120140400133.5数据库设计3.5.1概念结构设计(1)系统E-R图图13 系统E-R图(2)实体属性图图14 用户 实体-属性图图15 板块 实体-属性图图16 主题
24、实体-属性图图17 发帖 实体-属性图图18 回帖 实体-属性图3.5.2逻辑结构设计下面的表格是对应数据库中的一个具体的表。表中具体内容及相关设定如下所示。(1) 用户表用户基本资料表存储在用户表的基本信息,或者当用户日志记录了用户的基本信息,包括如登录,密码,和最后登陆时间。用户基本信息表的建立主要是为了记录一些信息,那些信息是用户最常用的。表8 用户表(Users)(2) 板块表表9 板块表(Board)(3) 主题表表10 主题表(Theme)(4) 帖子表表11 帖子表(Note)(5) 回帖表表12 回复表(Message)3.6输入、输出及菜单设计对于系统来说,特别是交互量比较多
25、的系统来说,用户界面设计是十分重要的,只有一个良好的界面,才能够加深浏览者和使用着的印象。界面的设计可以分为两个部分。第一部分是自己在图纸上大体画出的功能模块草图。第二部分是网页制作该部分在工具软件上完成,例如:Eclipse、Dreamweaver等。3.6.1输入设计(1)用户注册模块设计:图19 师生专题讨论系统注册页面设计图(2)添加管理员模块设计:图20 师生专题讨论系统添加管理员设计图3.6.2输出设计(1)首页面模块设计:图21 师生专题讨论系统首页面设计图(2)后台管理页面模块设计:图22 师生专题讨论系统后台管理页面设计图3.7 IPO设计(1) 主控IPO图(2) 用户注册
26、IPO图(3) 用户管理IPO图(4) 发帖管理IPO图3.8系统组件设计在整个系统中,为了解决诸如中文显示乱码,非法访问,网页内容编辑等此类的问题,本系统需要设计一些组件,来解决相关的问题1)权限控制组件在系统的用户经常会遇到关于权限的问题,比如没有登陆的用户只可以查看帖子,而即使登陆的用户,也只能对自己设定好的权限进行操作,不允许操作管理员类似的功能。为了解决该问题,系统中是通过Session中的用户数据来判定用户是否登录,通过Session中已存在的用户信息与数据库中用户权限信息,来判断该用户的真正角色,之后再决定用户的操作权限。系统判断的流程如下:图23 访问权限流程图2)信息加密组件
27、在系统中通常用户的关键信息需要进行加密,特别是用户的密码。该系统中解决此问题的方法是通过MD5进行加密,即定义好一个加密方法,传入原始密码,返回加密后的密码信息,其流程图如下:图24 敏感信息加密流程图3)在线编辑器组件在系统的使用过程中,经常需要对附带图片的文章、新闻、帖子、通告等进行编辑。普通的文本域只能处理普通文字效果,但是无法做到图文并茂的效果。该系统中使用Kindeditor在线编辑器来解决此问题。在线编辑器的处理流程如下:初始化组件KindEditor编辑器图25 在线编辑器使用流程图第4章 系统实现4.1系统框架的实现在系统的整体设计中,我们采取了三层结构.这样结构的优点是灵活,
28、移植和可维护性高,每个层在处理上都有各自不同的功能, 各层之间通过接口来调用,来达到最大程度的解耦作用。系统三层分别是模型(Model)、视图层(View)和控制层(Control),当前IT业存在许多MVC框架,例如SpringMVC,SSH等。本系统使用的是SSH(Struts+Hibernate+Spring)作为系统构架。图26 SSH框架结合使用图4.1.1视图层的建立在视图层上,主要是基于JSP和AJAX异步传输技术来进行建立,这些资源都通过Struts来进行调度。Struts的核心为拦截器,即拦截每一个来自客户端的请求,对请求进行数据包装,之后将请求调度。图27 Struts核心配置文件4.1.2持久层的建立Hibernate是一种使用Java语言创建的对象关系映射,使用GNU宽通用公共许可证发行的自由、开源的软件,为面向对象的领域模型到传统的关系型数据库的映射提供了一个便于使用的框架。该系统的所有ORM映射文件为:com/bbs/domain/Users.hbm.xmlcom/bbs/domain/Board.hbm.xml
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1