计算机工程训练报告Word下载.docx
《计算机工程训练报告Word下载.docx》由会员分享,可在线阅读,更多相关《计算机工程训练报告Word下载.docx(23页珍藏版)》请在冰豆网上搜索。
![计算机工程训练报告Word下载.docx](https://file1.bdocx.com/fileroot1/2022-10/26/5094f88f-d9ef-4663-b385-e7a83d158301/5094f88f-d9ef-4663-b385-e7a83d1583011.gif)
发表帖子的权力只能给予特定的人群,否则容易失去秩序,基于同样的考虑,删除修改帖子的权力也只能提供给特定的人群。
因此,用户的划分是设计BBS系统的一个核心,系统将用户划分为游客、普通用户、管理员3类,他们的权限不同,各司其职,其中,管理员拥有最高的权力。
可以对用户、帖子、论坛3大对象进行增加、删除及修改的操作。
2.1.1系统用例图
为了便于系统管理,我们将系统的用户划分为游客、普通用户和管理员。
为了限制各用户的权限,我们只为游客提供浏览帖子的功能;
而普通用户就具备浏览帖子、回复帖子、发表帖子和查看与修改个人信息的功能;
管理员具备帖子管理和用户管理的功能。
系统用例图如下:
图1系统用例图
2.1.2系统业务活动图
1)前台业务活动图
系统前台模块是给用户访问的,提供了用户注册、登录业务,浏览帖子业务,回复帖子业务和发表帖子业务。
图2前台业务活动图
2)后台业务活动图
后台业务的执行者是管理员,系统为管理员提供了用户管理和帖子管理的业务。
其中用户管理包括了用户信息的修改和用户权限的修改。
帖子管理包括了删除帖子的操作。
图3后台业务活动图
2.2建立系统静态结构模型
系统采用User、Manager、Post、Comment四个类来封装用户操作产生的数据,而后通过一些与系统业务逻辑相关的类来将这些实体类中的数据提取出来存储在数据库中。
系统使用了hibernate和Struts框架,这两个框架简化了系统实现。
系统的静态结构模型如下:
图4系统业务相关类图
2.3建立系统动态模型
2.3.1注册用户发帖回帖时序图
已经注册了的用户具有发帖和回帖的权限。
注册用户发帖(回帖)的流程是这样的,注册用户输入账号密码登录系统,系统验证账号信息是否正确。
若正确,则进入论坛主页,用户可以查看贴子列表,选择想浏览的帖子进入其中。
然后可以对该帖进行评论,也即回帖。
用户也可以点击主页上的发表新帖发表帖子。
图5注册用户发帖回帖时序图
2.3.2管理员管理用户时序图
管理员在管理员登录页输入账号和密码进入系统,系统验证管理员信息,管理员查看各个用户的信息,可以针对性的进行修改。
管理员的修改操作将发出指令给数据库,数据库执行指令更新数据库中的数据信息,然后系统反馈修改成功的信息给管理员。
图6管理员管理用户时序图
2.3.3管理员管理帖子时序图
管理员在管理员登录页输入账号和密码进入系统,系统验证管理员信息,管理员查看贴子的内容。
若出现不和谐的内容,可以将该贴子删掉。
管理员的删除操作将发出指令给数据库,数据库执行指令更新数据库中的数据信息,然后系统反馈修改成功的信息给管理员。
图7管理员管理帖子时序图
2.3.4前台模块的状态图
用户输入论坛的URL地址访问论坛主页,登录成功后可以浏览帖子、回复帖子和发表帖子。
图8前台模块的状态图
2.3.5后台用户管理的状态图
管理员成功登录系统后,可以进入用户管理模块,针对某些用户的信息进行修改。
图9后台用户管理的状态图
2.3.6后台帖子管理的状态图
管理员成功登录系统后,可以进入帖子管理模块,然后将某些具有不和谐内容的帖子删除。
图10后台帖子管理的状态图
3绘制系统实现模型
3.1系统构件图
系统构件图描述构件及其之间的相互依赖,构件是逻辑体系结构中定义的概念和功能在物理体系结构中的实现。
下面是BBS论坛系统的构件图:
图11系统构件图
3.2系统部署图
系统部署图又称为系统配置图,部署图由结点与结点之间的联系组成,描述了处理器、设备和软件构件运行时的体系结构。
本系统的部署图如下:
图12系统部署图
4系统实现
4.1准备工程环境
在eclipse中创建web工程,然后创建相关的包,导入Struts和Hibernate相关的jar包以及其他开发中需要用到的工具jar包。
工程需要的jar包清单如下图:
图13工程所需jar包图
4.2准备数据库
由于用到了hibernate框架,所以我们不需要手动完成整个数据库的创建,只需要在mysql中创建出数据库,然后再hibernate编写相关的配置文件,hibernate会完成表的创建。
Hibernate的配置文件hibernate.cfg.xml的主要代码如下:
图14hibernate基本配置图
与表相关的实现如下图:
图15hibernate实体配置图
其中每一个java类代表一个实体,分别与一张表关联,与类名同名的配置文件是生成数据表的关键,hibernate通过读这些配置文件,然后在数据库中根据配置文件的内容生成相应的表。
包括表的约束也能在配置文件中配置。
到这里,我们的准备工作就做好了。
4.3注册功能实现
注册功能是通过以下组件共同实现的。
视图组件:
enroll.jsp和login.jsp
控制器组件:
EnrollAction.java
模型组件:
User.java
验证组件:
EnrollAction-validation.xml
在Struts配置文件中,这几个组件被有机地组织起来,以协同工作,共同完成注册功能.下面是配置文件中组织这几个组件的相关代码:
图16实现注册功能的Struts配置图
在视图组件enroll.jsp中,提交表单将发出enrollAction.action请求。
从配置文件struts.xml可以看到enrollAction.action请求将访问控制器组件action.EnrollAction。
而在Action中配置了与模型组件entity.User将获取的数据传递给这个控制器组件进行处理。
注册部分的验证由struts框架加载EnrollAction-validation.xml配置文件实现,该配置文件内容如下,由于篇幅问题,只列举userName的验证配置:
图17用户注册表单验证配置图
4.4前台用户登录功能实现
前台用户登录功能是通过如下组件来共同实现的。
视图纽件:
login.jsp
LoginAction.Java
LoginAction-validation.xml
在Struts配置文件中,这几个组件被有机地组织起来,以协同工作,共同完成前台用户登录功能。
下面是配置文件中组织这几个组件的相关代码。
图18用户登录功能Struts配置图
在视图组件login.jsp中,提交表单将发出LoginAction.action请求。
从配置文件struts.xml可以看到LoginAction.action请求将访问控制器组件action.LoginAction。
而模型组件User.java将获取的数据传递给这个控制器组件进行处理。
验证由Struts框架加载LoginAction-validation.xml配置文件实现,该文件的内容如下:
图19用户登录表单验证图
后面的功能基本与4.3和4.4的基本一致,就不再赘述,只写出它们的相关配置信息。
4.5浏览所有帖子功能实现
配置文件如下:
图20浏览所有帖子功能Struts配置图
4.6发表帖子功能实现
图21发表帖子功能Struts配置图
4.7回复帖子功能实现
图22回复帖子功能Struts配置图
4.8用户注销功能实现(管理员与用户的注销方式一致)
图23用户注销功能Struts配置图
4.9后台管理员登录功能实现
图24管理员登录功能Struts配置图
验证文件内容如下:
图25管理员登录表单验证配置图
4.10修改用户信息功能实现
管理员修改用户信息由下面的配置完成:
图26管理员修改用户信息功能Struts配置图
用户修改个人信息由下面的配置完成:
图27用户修改个人信息功能Struts配置图
4.11删除帖子功能实现
图28删除帖子功能Struts配置图
5系统测试
在浏览器中输入localhost:
8080/BBS进入系统,界面如下:
图29系统初始界面
5.1测试用户注册
5.1.1输入错误数据
图30错误用户信息注册测试图
从上图可以看出,BBS论坛管理系统对于每个表单项都做了规约,一旦不符合要求,注册就无法继续进行,用户需要输入正确的信息才能完成注册。
5.1.2输入正确的注册信息
图31成功注册反馈页面
成功注册后将转向登录页面。
5.2测试前台用户登录
5.2.1不输入密码登录
图32空密码登录测试页面
5.2.2输入错误密码
图33错误密码登录测试页面
5.2.3输入正确的用户名和密码
图34成功登录反馈页面
成功登录后转向论坛主页。
6计算机系统开发综合训练总结
在这次综合训练中,遇到了许多比较棘手的问题,大多数是出现在基于UML的模型设计中,纠其根本,在于对这门课没有足够的重视,学习过程中抱着一种应付考试的思想。
而在开发的时候,才意识到这门课有多么重要,所以这次综合训练我得到的最大收获就是在对UML理论知识的实践过程中获得的经验。
而在编程方面,出现的问题还算比较好解决,因为在自学javaweb的过程中,做过许多小项目,所以对于程序运行和测试中出现的问题都能够快速的解决,实在解决不了,在与同学的讨论中也能得到解答。
总的来说,我个人对于这次综合训练的结果还算是比较满意的,做出来的项目虽然小,但是自己掌握的知识基本上都运用上了,而对于UML内容是掌握是我在本次综合训练中最大的收货。
参考文献
[1]作者《软件测试技术》地址:
出版时间
[2]《UML系统分析与设计》
[3]《软件需求分析》
[4]《精通javaEE项目开发》
附录
1struts.xml配置文件
<
?
xmlversion="
1.0"
encoding="
UTF-8"
>
!
DOCTYPEstrutsPUBLIC
"
-//ApacheSoftwareFoundation//DTDStrutsConfiguration2.0//EN"
struts.apache.org/dtds/struts-2.0.dtd"
st