您好,欢迎来到小侦探旅游网。
搜索
您的当前位置:首页《软件工程实训》软件项目开发报告

《软件工程实训》软件项目开发报告

来源:小侦探旅游网
2016~2017学年第1学期

项目名称 专业班级 学号 姓名 指导教师 BBS-电子论坛 xxx级软件工程xx班 xxxxxx xxx xxx 王 宇 软件工程学

目录

1 软件需求分析 ......................................................................... 1

1.1 软件项目的综合需求 .............................................................. 1

1.1.1课题背景 ....................................................................................... 1 1.1.2 课题研究现状 .............................................................................. 1 1.1.3课题研究的意义 ........................................................................... 2

1.2软件项目的数据要求 ............................................................... 3

1.2.1需求陈述 ....................................................................................... 3 1.2.2业务流程 ....................................................................................... 3

1.3 软件项目的逻辑模型 .............................................................. 4

1.3.1业务用例建模 ............................................................................... 4 1.3.2帖子管理业务用例图 ................................................................... 4 1.3.3会员管理业务用例图 ................................................................... 4 1.3.4板块信息业务用例 ....................................................................... 4

1.3 软件项目的逻辑模型 .............................................................. 4

1.3.1会员帖子发布概念层类图 ........................................................... 4 1.3.2会员发布帖子说明层类图 ........................................................... 5

2 软件设计.................................................................................. 6

2.1开发类设计 ............................................................................... 6

2.1.1会员发布帖子实现层类图 ........................................................... 6 2.1.2用户发布帖子顺序图: .................................................................. 6

2.1.3用户发布帖子活动图 ................................................................... 6

2.2 数据设计 ................................................................................... 7

2.2.1绘制E-R图进行概念建模 .......................................................... 7

3 软件实现.................................................................................. 7

3.1 系统界面 ................................................................................... 7 3.2 其它模块 ................................................................................... 8

3.2.1会员发帖回帖模块 ....................................................................... 8 3.2.2会员修改个人信息模块 ............................................................... 8 3.2.3留言模块 ....................................................................................... 8 3.2.4管理员模块 ................................................................................... 8

4 软件测试.................................................................................. 8

4.1测试环境 ................................................................................... 8 4.2测试目的 ................................................................................... 8 4.3测试功能 ................................................................................... 9 4.4具体过程 ................................................................................... 9 4.5解决方案 ................................................................................. 10

5 开发总结................................................................................ 10

5.1 总结与展望 ............................................................................. 11 5.2 主要收获 ................................................................................. 12 5.3 存在的问题 ............................................................................. 12

参考资料 .................................................................................... 12

1 软件需求分析

1.1 软件项目的综合需求

1.1.1课题背景

电子公告牌系统(Bulletin Board System,英文缩写BBS)通过在计算机上运行服务软件,允许用户使用终端程序通过Internet来进行连接,执行下载数据或程序、上传数据、阅读新闻、与其它用户交换消息等功能。

在网络发达的今天,论坛系统服务已经是互联网站一种极为罕见的互动式交流服务?。论坛可以向网友提供开放式的分类专题讨论区服务,网友们可以在此发表自己的观点、交流技术、经验乃至生活的点点滴滴。也可以作为用户与教师的沟通渠道,教师可以在此回答学生的问题与疑惑,每个班级可以创建一个虚拟社区,以不同的论坛形式,供学生就相关话题交流意见和张贴发布。班级通过网上社区,可以增强班级的凝聚力,并可以吸纳更多的意见。本文设计的一个具有BBS的基本功能的通用BBS系统,主要强调功能的设计与实现,以达到学习当前网络开发的主流技术和设计思想的目的。

本文讨论的是一个简易的BBS网站,它具有BBS网站应该具有的一些简单功能,包括用户注册、用户登录、发表文章、阅读文章、回复别人的文章、主题查找。

1.1.2 课题研究现状

通过BBS论坛的方式,展示每一个人风采、优点,发布个人对一些事和物的看法,增强个人与个人之间的互动交流,个人与团体之间的交流联系,在Internet上实现信息的传递,提高办事效率。?

随着全球英特网用户逐年增多,可以看出当今社会网络迅速普及,人们交流的方式也层出不穷,随着新时代的进入。人们对信息的需求也不断加大,对不同领域的讨论也越来越多了,因此开发一个专题论坛对人们的交流是非常有必要的。?

虽然现在论坛有很多,但是大部分都是用于各个技术领域或者社会闲聊板块

模式的,还没有真正的引入到人们的行列中,所以,此项目就是做一个大家的论坛系统,使我们有相同志趣的人能够在论坛上进行互动式聊天与解答疑惑。

本系统采用传统的MVC开发模式,即PHT+mysql+thinkPHP框架, MVC 是一种使用 MVC(Model View Controller 模型-视图-控制器)设计创建 Web 应用程序的模式:Model(模型)表示应用程序核心(比如数据库记录列表)。 View(视图)显示数据(数据库记录)。 Controller(控制器)处理输入(写入数据库记录)。MVC 模式同时提供了对 HTML、CSS 和 JavaScript 的完全控制。Model(模型)是应用程序中用于处理应用程序数据逻辑的部分。通常模型象负责在数据库中存取数据。View(视图)是应用程序中处理数据显示的部分。通常视图是依据模型数据创建的。Controller(控制器)是应用程序中处理用户交互的部分。通常控制器负责从视图读取数据,控制用户输入,并向模型发送数据。MVC 分层有助于管理复杂的应用程序,因为您可以在一个时间内专门关注一个方面。例如,您可以在不依赖业务逻辑的情况下专注于视图设计。同时也让应用程序的测试更加容易。MVC 分层同时也简化了分组开发。不同的开发人员可同时开发视图、控制器逻辑和业务逻辑。体系结构图如图1所示:

图1

1.1.3课题研究的意义

个人BBS系统的建立,极大的丰富了人们的课余活动,大家可以去自己学习的论坛上发表自己的看法与建议,其他有相同兴趣的人也可以浏览别人发的帖子,然后发表自己的看法。别人的发帖中,能得到有益的教诲和启发。一些论点能做到各方观点正确公平的显示,具有参考价值。本论坛具有知识性,趣味性,公平性,和谐性等优点。论坛给有相同兴趣的人都提供了交流的平台,为网络的互动性作出了巨大的贡献,通过论坛,人们得以更方便的交流,更便捷的发表自己的观点,而且发布信息都是通过有记录的文字来进行,所以这样也避免了精华内容的流失。通过论坛来征得自己想要的信息,有更高的效率和时效性。也最节约成本和资源,在论坛的交流过程中,无论喜怒哀乐都是在虚拟的环境中进行,也避免的正面的尴尬和冲突等,在论坛中,可以演变成任何角色,变换多种身份,因为网络的特征,我们可以更好的交流,从而促进社会的发展。

1.2软件项目的数据要求

1.2.1需求陈述

通过实现该系统,可以为有相同制取的人们提供一个发布信息和随感的平台。其他人可以通过该平台浏览其他学生发的帖子,大家可以通过该平台同步浏览知识和相关资源。同时可以为论坛发布个人技术供其他人学习交流之用。

1.2.2业务流程

以下讲描述该系统的业务流程:? 1、用户可以注册论坛账号;? 2、用户可以登陆论坛查看帖子;? 3、用户可以回复帖子;? 4、用户可以发布帖子; 5、用户可以删除帖子; 6、用户可以按主题查询帖子;?? 7、管理员可以浏览帖子;? 8、管理员可以删除帖子;? 9、管理员可以发帖;? 10、管理员可以封用户账户;? 11、管理员可以删除用户信息;? 12、管理员可以浏览用户信息;? 13、管理员可以给论坛增加板块;? 14、管理员可以浏览板块;? 15、管理员可以删除板块信息;? 16、管理员可以修改板块信息;?

1.3 软件项目的逻辑模型

1.3.1业务用例建模

如图2.3.1所示业务用例(大系统)

图2.3.1业务用例图

帖子管理业务用例图

如图2.3.2所示

1.3.3会员管理业务用例图

如图2.3.3所示

1.3.4板块信息业务用例

如图2.3.4所示

1.3 软件项目的逻辑模型

1.3.1会员帖子发布概念层类图

如图1.3.1所示

图1.3.1会员帖子发布概念层类图

概念图中包含8个类 1.人员信息类 2.会员类 3.管理员类

4.帖子发布表边界类? 5.帖子发布表控制类 6.提示信息类? 7.帖子发布表类

1.3.2会员发布帖子说明层类图

如图1.3.2所示

图1.3.2会员发布帖子说明层类图

功能如下:

1、帖子发布表边界类中含有以下方法:

1.请求新的帖子发布信息方法 2.展示新的帖子发布信息方法 3.输入帖子发布信息方法 4.提交帖子信息方法 5.验证未通过提示方法 6.验证成功提示方法

2、帖子发布表边界类中含有以下方法:

1.请求新的帖子发布表方法 2.提交帖子信息表方法 3.验证提交的帖子表方法 3、管理员类中有以下方法:

1.通知管理员方法

4、提示信息类中有以下方法:

1.获取错误提示信息方法 2.获取成功提示信息方法 5、人员表类中有以下属性:

1.登录名 2.登录密码 3.用户名 4.用户权限 5.性别 6.邮箱

6、帖子表类中有以下属性:

1.标题 2.内容 3.发布日期 4.发布人

5.所属板块

7、正常人员表分出两张外表关联,分别是状态表和权限表 状态表有如下性: 1.封禁 2.正常

权限表有如下属性: 1.会员 2.管理员

会员、管理员继承于人员表

2 软件设计

2.1开发类设计

2.1.1会员发布帖子实现层类图

如图2.1.1所示

图2.1.1会员发布帖子实现层类图

2.1.2用户发布帖子顺序图:

如图2.1.2所示

图2.1.2用户发布帖子顺序图

2.1.3用户发布帖子活动图

如图2.1.3所示

图2.1.3用户发布帖子活动图

2.2 数据设计

2.2.1绘制E-R图进行概念建模

如图2.2.1所示

图2.2.1

(1)admin数据表,作用是描述后台管理员的信息,如表2.2.1.1所示

表2.2.1.1 ADMIN数据表 (2)users数据表,作用是描述会员状态的信息,如表2.2.1.2所示

表2.2.1.2 USERS数据表 (3)posts数据表,作用是描述帖子的信息,如表2.2.1.3所示

表2.2.1.3 POSTS数据表

(4)advice数据表,作用是游客和会员提供建议的信息,如表2.2.1.4所示

表2.2.1.4 ADVICE数据表

(5)section数据表,作用是描述板块的信息,如表2.2.1.5所示

表2.2.1.5 SECTION数据表 (6)replies数据表,作用是描述回帖信息的信息,如表2.2.1.6所示

表2.2.1.6 REPLIES数据表

3 软件实现

3.1 系统界面

(1)用户登录模块

论坛登录是必不可少的一项,只有登录后才可以进入论坛,游客可以通过注册成为会员,注册会员期间必需格式正确否则会提示您错误信息。如图3.1

图3.1 用户登录模块图

(2)用户登录时出现的错误

若登录成功进入论坛首页,若登录不成功,将返回到系统的登录界面,如图3.2

图3.2用户登录时出现的错误图

(3)新用户注册模块

如果是新用户则先注册才能登录,注册后在登录便可进入论坛,如图3.3

图3.3新用户注册模块图

A、用户进行注册,系统对确认密码与密码不符进行提示界面,如图3.4:

图3.4 用户已注册,重新注册图

3.2 其它模块

3.2.1会员发帖回帖模块

(1

(4)

3.2.2会员修改个人信息模块

(1

3.2.3留言模块

(1

3.2.4管理员模块

(1 (2 (3

4 软件测试

4.1测试环境

win7 64位笔记本电脑,xamp集成开发环境+opera浏览器。

4.2测试目的

尽可能的发现bbs网站中存在的bug,,并及时修复。测试改软件是否达到预期的功能需求。

4.3测试功能

登录,注册,发帖删帖搜帖改帖,修改个人信息

4.4具体过程

功能名称 注册 在网站首页点击“我要注册”进入注1.网页显示“注册成功!”。结果符合预无 册页面.1.在用户名框输入字母开跳转到登录页面。 头,字母和数组组合,长度为5-152.网页显示验证码错误,或个字符。密码框为任意字符,2次密非字母开头的用户名。 码输入一致。并正确输入验证码。然后点击“我要注册” 2.在不符合上述条件下进行注册,如输入错误验证码,非字母开头的用户名 登录 1. 在网站首页点击“用户登录“进1. 显示成功登录,并跳到3. 未显示3,4均为重入登录页面,输入正确用户名,密码和验证码。 主页。显示对应的用户任何错误。大安全bug 名 但明显逻辑期 测试步骤 预期结果 实际结果 Bug影响程度 2. 在不符合上述条件下进行登录,2. 提示用户名,密码或验错误。前后输入错误验证码,密码或用户名。 证码错误 台session3. 前台登录成功后,后台未登录却3. 前台用户和后台用户互变量出现冲也显示登录成功。同理后台登录不干扰 突 成功后,前台为登录却也显示登4. 因提示非法字符或者用4.未提示错录成功。 4. 后台登录界面尝试SQL注入 户名或密码错误 误,SQL注入成功,不知道密码和用户名也能进入后台 用户对帖子的增删改 1. 登录成功的用户能正常(仅限没用户仅能修改或删除自己结果符合预无 有被封禁的用户)发帖,删帖,的帖子,发帖必须要登录,期 改帖,查询帖子。删除和修改只并且未被管理员封禁。 能是自己的帖子。 2. 尝试在未登录下发帖,评论;尝试在已登录下删除或修改他人的帖子 用户修改个人信息 1. 用户在登录下和未被封禁下,修1. 提示修改成功 改个人信息。 2. 尝试在未登录下或被封禁下,修改个人信息。 结果符合预无 2. 提示未登录或已被封禁 期 搜索 1. 在主页的搜索框里输入相关帖子1. 显示对应帖子列表 主题的“关键字”。 2. 输入不相关的字符 2. 提示未找到 结果符合预无 期 评论 1. 在登录状态下评论相关帖子。 2. 未登录状态下评论。 1. 评论成功,并显示评论 结果符合预无 2. 提示登录 期 4.5解决方案

上表中:登录测试的第3条,前后台用户发生冲突。通过检查前后台用户登录的代码发现。Session变量命名,重名了。导致前后台用户登录发生冲突。通过设置不同的session名称,可避免这个问题。

上表中:登录测试的第4条,通过SQL注入(用户登录表单用户名处输入'or?1=1/*,密码处输入*/or 1=’1),即可绕过登录限制,直接进入后台进行操作。通过检查后台代码发现,未对表单输入字段进行过滤,导致网站有被入侵的风险。解决办法:对表单输入数据进行过滤,可采用正则表达式限制用户输入数据或者使用过滤函数,将/**/等特殊字符进行转义。

5 开发总结

在做在程序设计bbs项目实训中,无论是从技术,职业能力。明白了一个软

件个人是无法实现功能的完善,团队的力量才是最可观的。当然,这都是可喜的改变,很长时间没有这样进步、提高的感觉了,所以很有必要总结一下,以客观认清事实,巩固,升华这段时间对思想的冲击,承上启下,为将来可以预期的提高铺平道路,打好基础。

通过几周的实训,我们感到自己学到了很多东西,虽说不精,但已经入门,于世间万物之中,遇见我所遇见的事物;于千万年之中,时间的无涯荒野里,没有早一步,也没有晚一步,刚巧赶上了,上苍让我有机会接触编程,给了我一条路。我很清楚以后的路还很长,再长的路,一步步也能走完,再短的路,不迈开双脚也无法到达。任何业绩的质变都来自于量变的积累,成功不是将来才有的,而是从决定去做的那一刻起,持续累积而成,让我们将事前的忧虑,换为事前的思考和计划吧!还有就是在实训中必不可少的部分,就是同学之间的互相帮助。所谓”当局者迷,旁观者清”,有些东西感觉自己做的是时候明明没什么错误,偏偏程序运行时就是有错误,让其他同学帮忙看了一下,发现其实是个很小的错误。所以说,相互帮助是很重要的一点,这在以后的工作或生活中也是很关键的。 俗话说:“要想为事业多添一把火,自己就得多添一捆材”。 此次实训,我们深深体会到了积累知识的重要性。在实训当中我们遇到了不少难题,但是经过我们大家的相互讨论和老师细心的一一指导,问题得到了解决。实训结束了,收获颇丰,同时也更深刻的认识到要做一个合格的程序员并非我们以前想像的那么容易,最重要的还是细致严谨。社会是不会要一个一无是处的人的,所以我们要更多更快地从一个学生向工作者转变,总的来说我们对这次实习还是比较满意的,它使我们学到了很多东西,为我们以后的学习做了引导,点明了方向,我相信在不远的未来定会有属于我们自己的一片美好天空!?

简而言之,体会的不但是知识的重要性,还有工作时应该有的态度,虽只是在学校,但更近一步地了解了将来面对的就业事宜。跟社会相适应就得不断地学习更多的知识,现在所学的知识相当有限,为了更好的掌握知识,得自觉地学习更多的知识。学校只是个启蒙的地方。计算机专业的技术发展迅速,知识层出不穷。

5.1 总结与展望

这次项目实训,我们小组基本上完成了这个bbs电子论坛网站,用户登录注册,对帖子的增删改查功能基本实现。但这个网站并不完美,界面普通,而且没

有好好利用ajax的异步刷新特性,网站更新部分数据,依旧采取同步刷新方式。并且此项目漏洞颇多。今后还需继续学习相关web技术。力求做一个更加完美,实用,安全的网站。

5.2 主要收获

我们学会了如何用PHT+mysql+thinkPHP框架搭建一个简单的BBS系统。知道——行动——习惯——性格,这是接受新知识,新概念,新思想,总之进入社会的学习活动所要遵循的步骤。我们已经有意识的进行训练,并取得一定效果,在今后的学习中还将按照这个步骤进行。

5.3 存在的问题

本系统的大部分模块已经实现,并且也符合以上几个特性。但是,一个完整的系统仅仅靠近几个月的分析、设计来开发室远远不够的,它需要更长的时间来测试并完善。因此,本系统仍然存在着一些需要改进和不足的问题,比如系统的整体设计需要进一步的美观,系统还不够完善还需要进一步的改善和加强,系统的内容需要更加丰富和多样化。随着研究的进行,可能还会出现其他一些问题,我们会继续努力,逐步改善和不断完善本系统。完成这次设计任务总共用了1个月半的时间,前1个星期用来收集资料、学习要用到的各项开发技术、进行系统分析,中间几个星期用来设计系统,后几个星期用来测试机修改。回顾这1个多月的系统开发工作,我们对这次实验还是比较满意的,当然由于我们知识有限,我们还是有很多不足,在接下来的时间我们会更加努力。总结起来就是,软件的开发室相当辛苦的,但成功以后的喜悦也是美妙的,而且我们发现其中你投入的心血越多,成功以后你所获得的快乐与充实感也更多更强。

参考资料

[1]PHP and web 开发原书第4版 人民邮电 [2]PHP 技术手册 PHP官网 [3]

因篇幅问题不能全部显示,请点此查看更多更全内容

Copyright © 2019- xiaozhentang.com 版权所有 湘ICP备2023022495号-4

违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务