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

上传人:jin****ng 文档编号:53128315 上传时间:2022-02-10 格式:DOC 页数:15 大小:148KB
返回 下载 相关 举报
《软件工程实训》软件项目开发报告_第1页
第1页 / 共15页
《软件工程实训》软件项目开发报告_第2页
第2页 / 共15页
《软件工程实训》软件项目开发报告_第3页
第3页 / 共15页
亲,该文档总共15页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
CHONGQING UNIVERSRY OF ARTS AND SCIENCES20162017学年第1学期软件工程卖钏软件项目开发报告项目名称BBS-电子论坛专业班级XXX级软件工程XX班学号XXXXXX姓名XXXXXX指导教师王宇软件工程学目录1 软件需求分析 11.1 软件项目的综合需求 11.1.1 课题背景 1.1.1.2 课题研究现状 1.1.1.3 课题研究的意义 2.1.2 软件项目的数据要求 31.2.1 需求陈述 3.1.2.2 业务流程 3.1.3 软件项目的逻辑模型 41.3.1 业务用例建模 4.1.3.2 帖子管理业务用例图 4.1.3.3 会员管理业务用例图 4.1.3.4 板块信息业务用例 4.1.3 软件项目的逻辑模型 41.3.1 会员帖子发布概念层类图 4.1.3.2 会员发布帖子说明层类图 5.2 软件设计 62.1 开发类设计 62.1.1 会员发布帖子实现层类图 6.2.1.2 用户发布帖子顺序图 : 6.2.1.3 用户发布帖子活动图 6.2.2 数据设计 7绘制 E-R 图进行概念建模 7.3 软件实现 73.1 系统界面 73.2 其它模块 83.2.1 会员发帖回帖模块 8.3.2.2 会员修改个人信息模块 8.3.2.3 留言模块 8.3.2.4 管理员模块 8.4 软件测试 84.1 测试环境 84.2 测试目的 84.3 测试功能 94.4 具体过程 94.5 解决方案 105 开发总结 105.1 总结与展望 115.2 主要收获 125.3 存在的问题 12参考资料 121 软件需求分析1.1 软件项目的综合需求课题背景电子公告牌系统(Bullet in 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 所示:图11.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 所示会员管理业务用例图如图 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、帖子发布表边界类中含有以下方法 :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开发类设计会员发布帖子实现层类图如图所示Feisfliw iitnirtonW二 - hfL fW -r?w Bt 诃品從冶 屮I?乂七 lUfK41Z fMC厂T 才叶 IfFciK :*?a 匂gat fcr 3* msPltflPoeB &DJT! lfJItor jjftkm DiL*i(*l i|吟 zIkzaSj,: :磅日 1 盜rrD.hAwqItT -1-FfTEtna iithciKV br;H if: bl1;饰w ri-:图会员发布帖子实现层类图用户发布帖子顺序图如图所示图用户发布帖子顺序图用户发布帖子活动图如图所示图用户发布帖子活动图2.2 数据设计221绘制E-R图进行概念建模如图 2.2.1 所示图 (1)admin 数据表,作用是描述后台管理员的信息,如表 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 所示表 SECTION 数据表(6)replies 数据表,作用是描述回帖信息的信息,如表 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 会员修改个人信息模块(13.2.3 留言模块(13.2.4 管理员模块(1(2(34 软件测试4.1 测试环境win7 64位笔记本电脑,xamp集成开发环境+opera浏览器。4.2 测试目的尽可能的发现bbs网站中存在的bug,,并及时修复。测试改软件是否达到预 期的功能需求。4.3测试功能登录,注册,发帖删帖搜帖改帖,修改个人信息4.4具体过程功能名称测试步骤预期结果实际结果Bug影响程度注册在网站首页点击“我要注册”进入注 册页面.1.在用户名框输入字母开 头,字母和数组组合,长度为 5-15 个字符。密码框为任意字符,2次密 码输入一致。并正确输入验证码。然 后点击“我要注册”2.在不符合上述条件下进行注册,如 输入错误验证码,非字母开头的用户 名1. 网页显示“注册成功!”。 跳转到登录页面。2. 网页显示验证码错误,或 非字母开头的用户名。结果符合预期无登录1. 在网站首页点击“用户登录“进 入登录页面,输入止确用户名, 密码和验证码。2. 在不符合上述条件下进行登录, 输入错误验证码,密码或用户名。3. 前台登录成功后,后台未登录却 也显示登录成功。同理后台登录 成功后,前台为登录却也显示登 录成功。4. 后台登录界面尝试SQL注入1. 显示成功登录,并跳到 主页。显示对应的用户 名2. 提示用户名,密码或验 址码错误3. 前台用户和后台用户互 不干扰4. 因提示非法字符或者用 户名或密码错误3. 未显示 任何错误。 但明显逻辑 错误。前后 台 session 变量出现冲 突4. 未提示错 误,SQL注 入成功,不 知道密码和 用户名也能 进入后台3,4均为重大安全bug用户对帖子的增删改1. 登录成功的用户能正常(仅限没 有被封禁的用户)发帖,删帖, 改帖,查询帖子。删除和修改只 能是自己的帖子。2. 尝试在未登录下发帖,评论;尝 试在已登录下删除或修改他人的 帖子用户仅能修改或删除自己 的帖子,发帖必须要登录, 并且未被管理员封禁。结果符合预期无用户修改个人信息1. 用户在登录下和未被封禁下,修 改个人信息。2. 尝试在未登录下或被封禁下,修 改个人信息。1. 提示修改成功2. 提示未登录或已被封禁结果符合预期无搜索1.在主页的搜索框里输入相关帖子 主题的“关键字”。2输入不相关的字符1. 显示对应帖子列表2. 提示未找到结果符合预期无评论1. 在登录状态下评论相关帖子。2. 未登录状态下评论。1. 评论成功,并显示评论2. 提示登录结果符合预期无4.5解决方案上表中:登录测试的第3条,前后台用户发生冲突。通过检查前后台用户登 录的代码发现。Session变量命名,重名了。导致前后台用户登录发生冲突。通 过设置不同的session名称,可避免这个问题。上表中:登录测试的第4条,通过SQL注入(用户登录表单用户名处输入 or?仁1/*,密码处输入*/or仁1),即可绕过登录限制,直接进入后台进行 操作。通过检查后台代码发现,未对表单输入字段进行过滤,导致网站有被入侵 的风险。解决办法:对表单输入数据进行过滤,可采用正则表达式限制用户输入 数据或者使用过滤函数,将/*/等特殊字符进行转义。5开发总结在做在程序设计bbs项目实训中,无论是从技术,职业能力。明白了一个软 件个人是无法实现功能的完善, 团队的力量才是最可观的。 当然,这都是可喜的 改变,很长时间没有这样进步、提高的感觉了,所以很有必要总结一下,以客观 认清事实,巩固,升华这段时间对思想的冲击,承上启下,为将来可以预期的提 高铺平道路,打好基础。通过几周的实训,我们感到自己学到了很多东西,虽说不精,但已经入门, 于世间万物之中,遇见我所遇见的事物;于千万年之中,时间的无涯荒野里,没 有早一步,也没有晚一步,刚巧赶上了,上苍让我有机会接触编程,给了我一条 路。我很清楚以后的路还很长,再长的路,一步步也能走完,再短的路,不迈开 双脚也无法到达。任何业绩的质变都来自于量变的积累,成功不是将来才有的, 而是从决定去做的那一刻起, 持续累积而成, 让我们将事前的忧虑, 换为事前的 思考和计划吧!还有就是在实训中必不可少的部分,就是同学之间的互相帮助。 所谓”当局者迷 , 旁观者清”,有些东西感觉自己做的是时候明明没什么错误, 偏偏程序运行时就是有错误, 让其他同学帮忙看了一下, 发现其实是个很小的错 误。所以说,相互帮助是很重要的一点, 这在以后的工作或生活中也是很关键的。 俗话说:“要想为事业多添一把火,自己就得多添一捆材”。 此次实训,我们 深深体会到了积累知识的重要性。 在实训当中我们遇到了不少难题, 但是经过我 们大家的相互讨论和老师细心的一一指导, 问题得到了解决。 实训结束了, 收获 颇丰,同时也更深刻的认识到要做一个合格的程序员并非我们以前想像的那么容 易,最重要的还是细致严谨。 社会是不会要一个一无是处的人的, 所以我们要更 多更快地从一个学生向工作者转变,总的来说我们对这次实习还是比较满意的, 它使我们学到了很多东西, 为我们以后的学习做了引导, 点明了方向, 我相信在 不远的未来定会有属于我们自己的一片美好天空! ?简而言之,体会的不但是知识的重要性,还有工作时应该有的态度,虽只是 在学校,但更近一步地了解了将来面对的就业事宜。 跟社会相适应就得不断地学 习更多的知识, 现在所学的知识相当有限, 为了更好的掌握知识, 得自觉地学习 更多的知识。 学校只是个启蒙的地方。 计算机专业的技术发展迅速, 知识层出不 穷。5.1 总结与展望这次项目实训,我们小组基本上完成了这个 bbs电子论坛网站,用户登录注册,对帖子的增删改查功能基本实现。但这个网站并不完美,界面普通,而且没有好好利用 ajax 的异步刷新特性, 网站更新部分数据, 依旧采取同步刷新方式。 并且此项目漏洞颇多。今后还需继续学习相关 web技术。力求做一个更加完美, 实用,安全的网站。5.2 主要收获我们学会了如何用PHT+mysql+thi nkPHP框架搭建一个简单的BBS系统。知 道行动习惯性格,这是接受新知识,新概念,新思想,总之进入社 会的学习活动所要遵循的步骤。我们已经有意识的进行训练,并取得一定效果, 在今后的学习中还将按照这个步骤进行。5.3 存在的问题本系统的大部分模块已经实现, 并且也符合以上几个特性。 但是,一个完整 的系统仅仅靠近几个月的分析、 设计来开发室远远不够的, 它需要更长的时间来 测试并完善。 因此,本系统仍然存在着一些需要改进和不足的问题, 比如系统的 整体设计需要进一步的美观, 系统还不够完善还需要进一步的改善和加强, 系统 的内容需要更加丰富和多样化。随着研究的进行,可能还会出现其他一些问题, 我们会继续努力,逐步改善和不断完善本系统。完成这次设计任务总共用了1个月半的时间, 前 1个星期用来收集资料、 学习要用到的各项开发技术、 进行系 统分析,中间几个星期用来设计系统,后几个星期用来测试机修改。回顾这1个多月的系统开发工作, 我们对这次实验还是比较满意的, 当然由于我们知识有 限,我们还是有很多不足,在接下来的时间我们会更加努力。总结起来就是,软 件的开发室相当辛苦的, 但成功以后的喜悦也是美妙的, 而且我们发现其中你投 入的心血越多,成功以后你所获得的快乐与充实感也更多更强。参考资料1 PHP and web 开发原书第 4 版 人民邮电2 PHP 技术手册 PHP 官网3 百度文库
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 办公文档 > 活动策划


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!