第一范文网 - 专业文章范例文档资料分享平台

BBS论坛的设计与实现毕业论文

来源:用户分享 时间:2025/7/23 12:08:17 本文由loading 分享 下载这篇文档手机版
说明:文章内容仅供预览,部分内容可能不全,需要完整文档或者需要复制内容,请下载word后使用。下载word有问题请添加微信号:xxxxxxx或QQ:xxxxxx 处理(尽可能给您提供完整文档),感谢您的支持与谅解。

BBS论坛的设计与实现毕业论文

目 录

摘 要 ......................................................................................... Ⅰ Abstract ....................................................................................... Ⅱ 第1章 绪论 .................................................................................. 1

1.1 背景 .................................................................................. 1 1.2 目的及意义 ....................................................................... 2 1.3 系统设计思想 .................................................................... 2 第2章 可行性分析 ....................................................................... 5

2.1系统总体目标 .................................................................... 5 2.2技术可行性分析 ................................................................. 5 2.3经济可行性分析 ................................................................. 5 2.4系统流程图 ........................................................................ 7 2.5本章小结 ........................................................................... 8 第3章 需求分析 ........................................................................... 9

3.1 需求分析 ........................................................................... 9

3.1.1 编写目的.................................................................. 9 3.1.2 任务目标................................................................ 10 3.2 数据流图 ......................................................................... 11 3.3 数据字典 ......................................................................... 12 3.4本章小结 ......................................................................... 17 第4章 总体设计 ......................................................................... 18

4.1 系统功能模块设计 .......................................................... 18 4.2 功能模块描述 .................................................................. 19 4.3 数据库设计 ..................................................................... 20

4.3.1 数据分析................................................................ 20 4.3.2 数据库表设计 ........................................................ 21 4.3.3 E-R图设计 ........................................................... 23

I

4.4数据库连接 ...................................................................... 24 4.5本章小结 ......................................................................... 25

第5章 详细设计与实现 .............................................................. 26

5.1 系统开发平台介绍 .......................................................... 26 5.2 系统开发环境 .................................................................. 28

5.2.1 Microsoft Visual Studio 2005介绍 ............................ 28 5.2.2 Microsoft SQL Server 2005介绍 .............................. 28 5.3 系统主界面设计与实现 ................................................... 29 5.4 系统程序流程图 .............................................................. 38 5.5本章小结 ......................................................................... 39 第6章 系统测试 ......................................................................... 40

6.1 测试的任务和目的 .......................................................... 40

6.1.1 测试目的................................................................ 40 6.1.2 测试任务................................................................ 40 6.3 本系统测试 ..................................................................... 41

6.3.1 用户登录模块测试 ................................................. 41 6.3.2 帖子回复管理模块测试 .......................................... 42 6.4本章小结 ......................................................................... 43 结 论 ......................................................................................... 44 致 谢 ......................................................................................... 45 参考文献 ..................................................................................... 46 附录1 译文 ................................................................................. 47 附录2 英文参考资料 ................................................................... 49 附录3 核心代码 .......................................................................... 51

第1章 绪论

1.1 背景

随着社会的发展,人们之间的交往越来越密切。现今的社会是一个信息飞速发达的社会,其中在信息的交流当中,互联网占据着一个非常重要的位置。人们可以通过在互联网上收到最新的消息,也可以通过互联网进行信息的交流。而论坛就是大家进行信息交流的其中一个渠道。网友们可以在此发表自己的某些观感,交流某些技术、经验乃至人生的感悟与忧欢,已经成为师生之间一条很好的交流的渠道,提供了更大的交流的空间,可以在此空间上谈论各方面的知识,这是在课堂上远远作不到的,也在很大程度促进了师生之间的感情。

现如今科技日益发达,计算机技术迅速向着网络化、集成化方向发展。传统的单机版应用软件正在逐渐退出舞台,取而代之的是支持网络、支持多种数据信息(多媒体)的新一代网络版应用软件,而目前网络版软件中似乎存在着两种不同的趋势,一种称为客户端——服务器的C/S结构应用系统,这类软件具有结构严谨,运行效率高,服务器压力小,安全性好等优点,被广泛运用于局域网中。而另一种,也是本毕业设计所采用的,称为浏览器——服务器的B/S结构应用系统,它的特点是在客户端直接采用了功能强大的浏览器软件作为界面,其优点在于软件开发效率高,客户端不受操作平台的限制、也不受地域的限制,网络传输量少,即适用于局域网,更适用于Internet,而且投资小、见效快,用户可以不必进行服务器方面的投资,而是去租用,甚至是免费使用ISP的服务器资源,因而受到越来越多中小型单位的青睐。本文讨论的是一个基于C#的BBS网站,它具有BBS网站应该具有的所有功能。

论坛系统是互联网是的一种应用服务模式,通过这种服务,互联网用户可以在上面浏览到其他用户在网站发表的各种主题、文章、问题等具有各种表现形式的文字,并且用户可以在上面针对某个具体的内容即时地发表自己的回答、看法、议论等,或者直接发表自己的文章、问题或其它内容。由于BBS的这种特点,使得全球的用户都

1

可以随时随地进行交流,从而真正的做到全球信息的交流。论坛具有多种表现形式,各网站可以按照自己的服务特点设计出适合自身的论坛形式,例如,各类论坛、在线问答、各种供求信息、网上订购等,都可以是论坛的表现形式。

论坛目前在互联网上得到非常广泛的应用,而且反应非常活跃。由于论坛可以使网上信息交流变得非常方便、广泛、及时,因而对于加深网站的服务深度、提高网站的知名度、拓展网站的交流范围、激活网站的人气都有不小的作用,并且可以建立单独的论坛网站因此在互联网的服务中,论坛将是一个重要的内容。

1.2 目的及意义

当今社会正处在网络时代,信息化大潮席卷全球,网络正以前所未有的速度在我国普及开来。网站以其独特的优势在信息化的过程中占有重要的一席。为了方便信息的交流,在结合C#和SQLServer 技术之下开发了这个快捷、界面友好的交流系统,实现了一个功能相对齐全的论坛系统,网友可以自由地提出问题以及帮助他人解决问题,或者交流经验。

论坛在前人功能完善的基础上,用当今主流的网站开发技术C#语言进行开发。论坛将采用B/S体系结构,人们通过浏览器就可以访问教学网站的主页,保证的服务器的安全。数据库采用免费,小巧,易用的Microsoft SQLServer 2005数据库。该论坛功能较齐全,在这里可以自由地发表自己的观点和对论坛的主题发表意见,我们还可以对网友的问题及时地解决,获取对自己有用的知识。该论坛还有一些特殊的功能,如在线人员显示、强大的搜索功能。本网站严格按照软件项目开发的流程进行开发,对于网站开发的可行性分析、需求分析、概要设计、详细设计以及对网站的测试与维护都有详细的论述和实现过程。

本论坛系统的优点在于,它具有强大的可扩展性和可维护性,非常适合中国的广大网民创建自己的中小型BBS论坛。

1.3 系统设计思想

对于社区类网站设计,第一件事情要做的是选主题,究竟你的网站作出来是什么样子的,主题就是你想做什么事,比如说天涯社

2

区,她就是一个以文会友的社区,虽然她也有blog,个人面板之类的东西,但是她更是一个BBS;我们再看看联络家,她的主题就是为商务人士得人脉扩展服务,虽然概念相对狭小,但是主题很鲜明。

社区类网站除了你本身围绕主题展开的服务之外,最重要的一块就是如何设计用户与用户之间的关系,当然这一块设计的最主要目的就是如何更好的把你的服务衔接好,更好的帮助你得服务推广。这个关系很多时候取材于线下,其实就是人与人之间的关系,这些关系归纳起来,按结构性质来分,应该有紧密型,松散型,紧密型的关系是你平时接触最多得,按现在SNS理论来说,就是你的一度关系,而松散型的关系很多时候就建立在二度和二度以上的关系,同时二度关系又是最有可能发展到一度的。

因为在关系上,一度关系是最需要去维护的,很多时候一些关于你的信息,你都会希望其中的某些人在第一时间知道,而二度以上的关系是用来发展的,但是在设计二度关系的时候就需要在隐私设计上花更大得功夫,还有就是二度关系究竟通过一种什么样的形式来维系。在社区中,信息的扩散始终需要遵循一定的规则,信息的扩散是一个逐步的过程,只有这样信息才能真正得起到一个沟通和展示自我的作用。

1.智能性:设计系统时,系统运行的智能性是重中之重,在系统运行一段时间后,要求系统适应于任何网络。

2.安全性:我们总是说安全第一,那么系统的安全性也是非常重要的,将充分利用网络软、硬件提供的各种安全措施,保证用户安全使用资源,同时也可保证数据的可靠。

3.可维护性和可扩展性:系统的设计要求方便维护,包括硬件的维护、软件的维护和网络的维护;系统的设计以方便未来业务的扩展和系统延展为目标,系统要求能够方便的升级。

论文结构:

文章开始主要阐述了BBS论坛的目的和意义,还有论坛的总体结构,到底要实现哪些功能,论坛主要是用来为广大的教育爱好者和计算机爱好者进行交流讨论的,在这个网站上能做什么。

然后,分别对系统进行了可行性分析、需求分析、总体设计、详细设计与实现、系统测试等,那么可行性分析主要针对技术和经济可行性进行分析,最后分析的结果将支持下一步需求分析的完成,

3

前面的分析工作完成之后,便开始着手于设计与实现,在设计阶段主要就是系统的功能设计和数据库的设计,都是比较重要的步骤马虎不得,所以在这个阶段是工作量最大的,最后完成系统的全部功能后,测试也是必不可少的,白盒、黑盒测试让系统变的完美无暇,只有完善的测试思想、测试方法、测试用例才能让你的系统不至于那么脆弱,想要设计实现一个系统这些步骤都是必不可少的,这就是论文的大体结构。

最后,总结出分析、设计阶段遇到的种种问题,汇总成为一个结论就是这次设计中的收获,这次设计的经验也让我们真正的感受到了独立完成作品的喜悦,那份激动,最后致谢我的指导老师和帮助过我的同学。

4

第2章 可行性分析

可行性研究(Feasibility Study),是指在调查的基础上,通过市场分析、技术分析、财务分析和国民经济分析,对各种投资项目的技术可行性与经济合理性进行的综合评价。

可行性研究的基本任务,是对新建或改建项目的主要问题,从技术经济角度进行全面的分析研究,并对其投产后的经济效果进行预测,在既定的范围内进行方案论证的选择,以便最合理地利用资源,达到预定的社会效益和经济效益。

2.1 系统总体目标

本系统主要是为了给那些对教育方面感兴趣的朋友提供一个交流的平台,对有话可说的朋友,你在这里可以进行注册成为会员,参与有关话题的讨论,或提出新的话题,还可以修改个人资料。非注册会员你可以浏览论坛里的帖子,获取对自己有用的信息。 另外假如你对某些版面很感兴趣,你还可以向管理员申请成为某一版面的斑竹,去管理本版面的帖子,对于那些不健康的帖子你可以把它们给删除掉,起到对论坛的维护作用。

对于管理员拥有最高权限,可以授予别人为某个版面的斑竹等等。

2.2 技术可行性分析

本论坛是基于web来开发的,主要运用C#等相关技术语言实现的,以SQLServer 2005为后台数据库。这些应用软件(Photoshop、Dreamweaver 等)都可以在网络上免费下载得来,并且这些软件都是些最常用的网页开发工具,都能够快和好的掌握,并且也学了有关网页设计的课程,所以一些最常用的技术能够比较好的实现,所以对于本系统在技术上是可以达到的。

2.3 经济可行性分析

预计论坛网的开发费用和今后的运行、维护费用,系统可以让论坛的管理更加便捷,大大减少了管理方面的费用支出。

5

网站初期主要以推广获得用户量,处于发展状态,在发展状态中基本获得不到赢利,目标要放到长远的将来;等到用户了积累到一定的程度时,可以和一些商家协商,在论坛上发布一些广告赚钱和提供一些增值服务。

论坛网预计初期投资如表2-1所示。

表2-1 论坛网预计初期投资

序号 1 2 3 4 5 7 8 9 10 项目 需求分析 总体设计 详细设计 数据库实现 编码实现 单体测试 系统集成测试 说明手册编制 人工(人/日) 10 30 20 10 50 20 20 10 合计 单价(元) 1000 1500 1000 1000 1000 1000 1500 1500 合计(元) 10 000 45 000 20 000 10 000 50 000 20 000 30 000 15 000 200 000 货币的时间价值的计算:

假设将来一年的收益为10万元,i为当前的年利率,n为年数 网站货币时间价值如表2-2所示。

表2-2 论坛网货币时间价值 年份 1 2 3 4 5 将来值(万) 10 10 10 10 10 (1+i)n 1.05 1.1025 1.1576 1.2155 1.2763 现在值(万) 9.523 9.070 8.639 8.227 7.835 累计的现在值(万) 9.523 18.593 27.232 35.459 43.294 投资回收期的计算:

在论坛网运营两年后,可以节省18.59万元,比最初投资还少1.406万元。第三年可以节省8.639万元。

即:1.4/8.64=0.162 2+0.162=2.162(年) 育梁论坛网的收入计算:43.294-20=23.294(万元)

想要在五年后得到预计的纯收入,那么投资是必不可少的,没

6

有投入就没有收获,而且考虑到开发本网站将为以后带来的利益,拿出20万来进行教育论坛的开发,是绝对必要可行的。

经过以上分析,论坛网的效益可以从用户效益方面考虑。对于论坛网则应着重分析其用户效益。经计算,该系统可行。

2.4 系统流程图

用户在登录进入BBS系统后进行操作:发表文章和发表评论。对于用户,主要在BBS系统中的操作有浏览文章,发表文章和对已有文章进行回复。如下图2-1:

用户 游客 权限验证 已登陆用管理个人信管理留言 管理评论 管理帖子 发布留言 个人信息台 留言簿 发布评论 帖子目录 评论板 浏览个人信浏览留言 浏览评论 浏览帖子

图2-1 论坛网用户系统流程图

在本系统中管理员权限应为最大,主要权限是对帖子的信息进行审核,对于帖子文章等的管理,还有对用户的管理,对不文明用

7

户还可以对其进行屏蔽等权限。具体如下图2-2所示。

管理员 查看用户查看留言 查看评论 查看帖子 管理用户管理留言 系统维护 管理评论 管理帖子 用户信息留言簿 评论板 帖子信息表 图2-2 论坛网管理员系统流程图

2.5 本章小结

可行性研究是编制设计任务书的重要依据,也是进行初步设计和工程建设管理工作中的重要环节。可行性研究不仅对拟议中的项目进行系统分析和全面论证,判断项目是否可行,值得投资,要进行反复比较,寻求最佳建设方案,避免项目方案的多变造成的人力、物力、财力的巨大浪费和时间的延误。通过综上可行性分析,本系统技术成熟、功能完善具有开发前景。

8

第3章 需求分析

在软件工程中,需求分析指的是在建立一个新的或改变一个现存的电脑系统时描写新系统的目的、范围、定义和功能时所要做的所有的工作。需求分析是软件工程中的一个关键过程。在这个过程中,系统分析员和软件工程师确定顾客的需要。只有在确定了这些需要后他们才能够分析和寻求新系统的解决方法。需求分析阶段的任务是确定软件系统功能。

3.1 需求分析

经过以上对系统的调研及可行性分析后,下面对系统在功能上和性能上进行进一步的需求分析。

1.功能需求

本系统应该具有查阅文章、发表文章、回复文章、会员注册、会员管理、论坛分类主题管理、文章管理、管理员等功能。

2.性能需求 硬件环境

?处理器:Intel 酷睿i5 760或更高 ?内 存:512MB ?硬盘空间:350GB 软件环境

?操作系统:Windows XP

开发工具:Microsoft Visual Studio 2005 ?数据库:Microsoft SQLServer 2005 ?客户端:IE5.0或以上版本 ?开发语言:C#

3.1.1 编写目的

在网络技术逐渐渗入社会生活各个层面的今天,以前网站上的论坛管理系统要用户登陆以后才能进行相关浏览。而随着网络互联技术的进步,现在的网站投票只需打开网页就可进行论坛留言。论坛对象是很多的,各个层次都可进行论坛访问,大至国家领导,小

9

至一个普通干部,访问和留言从到指定用户进行表格到现在通过网络直接就可以进行。网上论坛管理系统可解决游客访问及留言,致使现在几乎各个网站都有各种类型网站论坛管理系统,用户可选择自己的看法。所以我提出了本课题的研究。

3.1.2 任务目标

1.基本性能

系统包括主要的功能:新用户的注册,会员密码取回,会员登录,用户自己修改信息,管理员删除用户,游客浏览留言,会员新增留言,会员留言回复,管理员删除留言这些功能,可以应付一般的用户需要。论坛分类索引为默认的BBS首页,可以根据用户的选择更换为相应论坛的页面或定制的页面。用户进行可以加入新帖子,回答帖子,刷新贴息等操作。

最新/热门话题区显示由管理员挑选出来的人气指数最高或内容最新的精华帖子,供广大读者阅读。 文章查找功能,在BBS系统中可以根据用户的需要进行文章的查询。可以按主题、按作者用户名、ID号、发表时间查询。 BBS后台必须具备安全保障系统,保护系统不受攻击或能使系统从攻击或崩溃中快速的恢复服务。

BBS后台具备管理员工具,可以警告网友注意自己的行为,将捣乱的网友驱出系统,进行系统数据备份、删除和恢复等。

2.开发目标

这个系统预期的目的是为了做成交互式的网页,方便客户端和浏览器端之间进行交流。通过论坛,人们能够相互交流沟通,把疑惑在论坛里公布,大家献计献策,共同学习,共同进步。

3.应用目标

网上论坛系统是一个会员登录留言系统。论坛浏览者能够浏览论坛上的帖子,并且能够注册成为用户。论坛注册会员能够修改自己的资料信息,发表帖子,让大家积极参与讨论。论坛管理员能够便于管理论坛,包括浏览游客留言,审核留言,对于不健康或是不利于社会稳定的留言能进行删除操作,会员管理以及论坛版主管理等等。

10

3.2 数据流图

数据流图(Data Flow Diagram):简称DFD,它从数据传递和加工角度,以图形方式来表达系统的逻辑功能、数据在系统内部的逻辑流向和逻辑变换过程,是结构化系统分析方法的主要表达工具及用于表示软件模型的一种图示方法。

数据流图从数据传递和加工的角度,以图形的方式刻画数据流从输入到输出的移动变换过程。数据流是一组数据。在数据流图中数据流用带箭头的线表示,在其线旁标注数据流名。在数据流图中应该描绘所有可能的数据流向,而不应该描绘出现某个数据流的条件。

本系统主要功能为会员注册、会员登陆、修改密码、忘记密码、帖子浏览、帖子发布、帖子回复、帖子修改、等功能。详细请看下面数据流图3-1:

搜索帖子D1-14帖子用 户D1-15帖子信息D1-01会员信息P1-06收藏夹F1-03帖子信息D1-12帖子F1-04热帖目录D1-10热帖信息D1-09帖子P1-01会员注册D1-02会员注册信息D1-07回复P1-04会员回复D1-13搜索信息F1-02回复信息D1-07回复P1-02登 录F1-01会员注册信息P1-05浏览热帖D1-06会员资料信息D1-03用户登录信息D1-04会员登录信息会员用户P1-03会员资料修改D1-05会员信息图3-1论坛网前台数据流图

11

后台的管理体现了管理员的重要性,只有熟悉系统的流程才能让系统发挥更大的作用,本系统管理员主要对帖子和用户进行管理,权限的管理。具体后台数据流程图如下图3-2:

P1-11帖子回复管理D1-23回复信息F1-02回复信息F1-01会员注册信息D1-21会员信息P1-10会员管理D1-22回复信息管理员D1-20会员信息D1-17帖子D1-15版面信息D1-18帖子信息P1-08帖子管理D1-19帖子详细信息F1-03主题信息D1-16主题信息P1-09主题管理F1-04帖子信息F1-05帖子详细信息图3-2论坛网后台数据流图

数据流图是结构化分析方法中使用的工具,它以图形的方式描绘数据在系统中流动和处理的过程,由于它只反映系统必须完成的逻辑功能,所以它是一种功能模型。数据流图是描绘信息流和数据从输入移动到输出的过程中所经受的变换。

3.3 数据字典

数据字典是指对数据的数据项、数据结构、数据流、数据存储、处理逻辑、外部实体等进行定义和描述,其目的是对数据流程图中的各个元素做出详细的说明。

数据字典(Data dictionary)是一种用户可以访问的记录数据库和应用程序源数据的目录。主动数据字典是指在对数据库或应用程序结构进行修改时,其内容可以由DBMS自动更新的数据字典。被

12

动数据字典是指修改时必须手工更新其内容的数据字典。

系统数据项如下表3-1:

表3-1系统数据项定义

编号 I01-01 I01-02 I01-03 I01-04 I01-05 I01-06 I01-07 I01-08 I01-09 I01-10 I01-11 I01-12 I01-13 I01-14 I01-15 I01-16 I01-17 I01-18 I01-19 I01-20 I01-21 I01-22 I01-23 I01-24 I01-25 I01-26

名称 block_id block_name block_Visible id use_id title_id TimeDate fold CreatTime kind_id kind_name kind_image kind_describe TitleCount mannage_id kind_Visible DayTitleCount End_TitleTime name Password RegeditTime Email age sex birthday 别名 版面编号 版面名 版面可见 回复编号 用户编号 主题编号 日期 内容 创建时间 分类编号 分类名称 分类图片 分类描述 点击量 管理编号 分类可见 日期数 结束时间 用户名 密码 注册时间 邮箱 年龄 性别 生日 类型 Int Varchar Varchar bigint bigint bigint Varchar Varchar Varchar Int Varchar Varchar Varchar Int Int Varchar Int Int Varchar Varchar Varchar Varchar Varchar Varchar Varchar Varchar 长度 4字节 50字节 1字节 8字节 8字节 8字节 50字节 20字节 20字节 4字节 200字节 20字节 200字节 4字节 4字节 1字节 4字节 15字节 50字节 50字节 100字节 20字节 20字节 20字节 20字节 20字节 MaxDayTitleCount 最大日期 13

1.数据流定义:

数据流编号:D1—01 数据流名称:会员信息 数据流来源:用户 数据流去向:P1-01

数据流组成:I01-01+I01-02+I01-03

数据流编号:D1—02

数据流名称:会员注册信息 数据流来源:P1-01 数据流去向:F1-01

数据流组成:I01-24+I01-25+I01-26+I01-27+I01-28

数据流编号:D1—03

数据流名称:用户登录信息 数据流来源:F1-01

数据流去向:P1-02

数据流组成:I01-24+I01-25+I01-26

数据流编号:D1—04

数据流名称:会员登录信息 数据流来源:会员 数据流去向:P1-02

数据流组成:I01-24+I01-25+I01-26

数据流编号:D1—05

数据流名称:会员信息 数据流来源:会员 数据流去向:P1-04

数据流组成:I01-24+I01-25+I01-26

数据流编号:D1-06

数据流名称:会员资料信息

14

数据流来源:P1-04 数据流去向:F1-01

数据流组成:I01-24+I01-25+I01-26

数据流编号:D1-07 数据流名称:回复 数据流来源:登录

数据流去向:P1-05

数据流组成:I01-05+I01-06+I01-07+I01-08+I01-09

数据流编号:D1-08

数据流名称:会员回复 数据流来源:P1-05 数据流去向:F1-02

数据流组成:I01-05+I01-06+I01-07+I01-08+I01-09

数据流编号:D1-09 数据流名称:帖子 数据流来源:用户 数据流去向:P1-06

数据流组成:I01-10+ I01-11+I01-12+I01-13+I01-14+ I01-15+I01-16+I01-17+I01-18+I01-19+I01-20+I01-21

数据流编号:D1-10 数据流名称:帖子信息 数据流来源:P1-06 数据流去向:F1-03

数据流组成:I01-10+ I01-11+I01-12+I01-13+I01-14+ I01-15+I01-16+I01-17+I01-18+I01-19+I01-20+I01-21

2.加工说明:

加工编号:P1-01 加工定义:会员注册

15

加工描述:当用户选择注册功能,输入准确的用户信息后即可完成用户注册操作。

加工编号:P1-02 加工定义:登录

加工描述:用户进入登录界面,填写用户名和密码即可登录。 加工编号:P1-03

加工定义:会员信息修改

加工描述:当用户的基本信息有变动时,可以使用此功能进行修改。

加工编号:P1-04 加工定义:用户留言

加工描述:当用户要对某论坛进行评价或有建议时,可以使用此功能进行留言。

加工编号:P1-05 加工定义:帖子浏览

加工描述:当用户进入论坛后,就可以浏览本论坛网站中所有帖子,并选择查看。

加工编号:P1-06 加工定义:收藏夹

加工描述:当用户选择到自己需要的帖子后,就可以将该收藏到收藏夹中。

加工编号:P1-07 加工定义:搜索帖子

加工描述:当用户进入论坛网站后,可以使用此项功能快速的找到自己想要浏览的日志。

16

3.4 本章小结

需求分析报告是对系统需求的全面分析,是软件生存周期中最关键的一步,是建立软件开发的基础。本章在可行性分析的基础上根据用户的需求做了本网站的需求分析,制订了系统实施规划,确定了软件系统各模块间的关系及模块功能,根据数据之间的关系绘制了网站的数据流图并描述了数据字典,为以后的程序设计奠定的基础。通过对系统框架及数据库的选择,和总体的需求分析,完成了前期对系统模块的划分,数据的流程,以及一些可行性的分析。在此基础上,可以系统的数据库和功能模块进行概要设计。

17

第4章 总体设计

总体设计的主要任务是把需求分析得到的DFD转换为软件结构和数据结构。设计软件结构的具体任务是:将一个复杂系统按功能进行模块划分、建立模块的层次结构及调用关系、确定模块间的接口及人机界面等。在这一阶段中将根据前一阶段逻辑分析的结果,在系统分析报告的基础上,按照逻辑模型的要求,科学合理地进行新系统的设计。

4.1 系统功能模块设计

本系统采用结构化设计的方法来实现系统总体功能,提高系统的各项指标,即将整个系统合理的划分成各个功能模块,正确地处理模块之间和模块内部的联系以及它们之间的调用关系和数据联系,定义各模块的内部结构,通过对模块的设计和模块之间关系的系统来实现整个系统的功能。

忘记密码 访问注登录 退出 删除 审核 统计 统计 计 理 理 理 子 审 子 面 面 面 量册 量统管管管帖核帖版版版点击量题目论改帖除建改除线主栏评修发删创修删在用户管理 统计 权限管理 帖子管理 版面管理 论坛

图4-1 论坛网系统功能结构图

18

4.2 功能模块描述

论坛网主要实现的功能:

游客可以查看帖子、注册新用户。

注册用户需要注册个人身份,登录论坛,登录成功后可以修改自己的注册信息;浏览版面列表,选择某版面,浏览其下的主题贴列表,查看帖子内容;可以发表新帖子,也可以回复已有的帖子,同时可以编辑自己写的帖子内容。

管理员需要负责整个论坛的正常运转,具备注册用户的所有功能,因为管理员也是论坛用户,可以参与论坛中的讨论;管理帖子对论坛的帖子有监督的权利,好的帖子要奖励,捣乱的帖子要删除;管理版面,对于论坛中的版面需要进行创建、管理版面信息,这些这对版面的操作,设计成管理版面模块;管理用户是指用户注册成功后,需要管理员赋予权限,才能使用论坛的相关功能,同时管理员可以自主添加、删除用户,这些针用户信息的操作,设计成管理用户模块。

根据权限的不同,用户的操作范围也不相同,系统管理员可以维护此版面的所有帖子的相关信息;注册用户可以发布新帖子、回复帖子、编辑自己发的帖子和浏览版面中的所以帖子;而普通游客只有浏览帖子的权限。

每个模块功能,真实反映需求,通过对需求的认真分析,可以设计出符合要求的单独模块。对于论坛系统来说,联系各个模块的主线是使用者的权限,用户能使用论坛的哪些功能是由用户决定的。论坛的每个功能都与相应的权限对应。管理版面模块与浏览模块关联,是由帖子与版面的父子关系决定的,帖子依附于版面先有版面,后有帖子,帖子必须发表在某各版面中。根据上面功能的介绍,我们可以将论坛的制作分为四大部分:

1.会员注册和登陆模块:这个模块的功能,就是新来网友可以填写注册资料,通过审核后便成为本论坛的正式会员,并可以以会员身份登陆论坛。

2.版面及文章显示模块:显示论坛的各大版面和所有会员最新发表的一些文章主题。

3.发表文章模块:为会员提供发表文章的地方,以及回复主题

19

等。

4.论坛管理模块:管理员职务可以进行对文章处理,置顶,加精华,删除等,可以对论坛进行综合管理。

根据系统的入口不同,可分为前台系统和后台系统,前台包括注册登录模块、浏览模块、发贴回贴模块、管理帖子模块;后台包括管理用户模块、管理版块。本系统设计过程是将后台部分与前台部分的入口放在主页面上,以方便系统管理人员的通用化管理。当系统管理员登录系统首页时,在系统后台和前台的设计上,系统采用了共同的页面开发模式和组件调用模式。

BBS系统就是提供给注册用户一个平台,会员用户可以通过Internet接入,登录本系统,在这个平台上发表文章、阅读文章、回复文章等等。了解了具体的功能需求后,就可以按模块的开始论坛的设计了。当然,这些模块的只是在功能上对论坛结构的划分,实际上并不能够完全的把他们独立出来进行设计。对于这种较小的应用,也没有必要进行完全的模块化设计,在良好的规划下直接写程序代码会更为简单一些。

4.3 数据库设计

4.3.1 数据库设计思想

概念模型设计的一种常用方法为IDEF1X方法,它就是把实体-联系方法应用到语义数据模型中的一种语义模型化技术,用于建立系统信息模型。

现在需要将上面的数据库概念结构装化为SQL Server2005数据库系统所支持的实际数据模型,也就是数据的逻辑结构。

将概念结构转换为某个DBMS所支持的数据模型(例如关系模型),并对其进行优化。设计逻辑结构应该选择最适于描述与表达相应概念结构的数据模型,然后选择最合适的DBMS。

将E-R图转换为关系模型实际上就是要将实体、实体的属性和实体之间的联系转化为关系模式,这种转换一般遵循如下原则:

1.一个实体型转换为一个关系模式。实体的属性就是关系的属性。实体的码就是关系的码。

2.一个m:n联系转换为一个关系模式。与该联系相连的各实体

20

的码以及联系本身的属性均转换为关系的属性。而关系的码为各实体码的组合。

3.一个1:n联系可以转换为一个独立的关系模式,也可以与n端对应的关系模式合并。如果转换为一个独立的关系模式,则与该联系相连的各实体的码以及联系本身的属性均转换为关系的属性,而关系的码为n端实体的码。

4.一个1:1联系可以转换为一个独立的关系模式,也可以与任意一端对应的关系模式合并。

5.三个或三个以上实体间的一个多元联系转换为一个关系模式。

6.同一实体集的实体间的联系,即自联系,也可按上述1:1、1:n和m:n三种情况分别处理。

7.具有相同码的关系模式可合并。

8.为了进一步提高数据库应用系统的性能,通常以规范化理论为指导,还应该适当地修改、调整数据模型的结构,这就是数据模型的优化。确定数据依赖。消除冗余的联系。确定各关系模式分别属于第几范式。确定是否要对它们进行合并或分解。

4.3.2 数据库表设计

管理员基本信息表用来保存用户权限信息民,包括管理员ID、管理权限ID和权限名称。

管理员基本信息表如表4-1所示。

表4-1 管理员基本信息表

列名 管理员ID 管理员注册员 登录密码 数据类型 文本 文本 文本 长度 30 30 30 允许为空 否 否 否 该表用于存放所有用户基本信息,包括用户ID号、用户姓名、登录密码、用户邮箱地址等相关信息。每个用户都有唯一的用户ID号。用户基本信息是BBS系统正常操作的基础,如果没有用户记录,后面的操作就很难完成。

用户表基本信息表如表4-2所示。

21

表4-2 用户表基本信息表

列名 用户ID 用户注册名 登录密码 邮箱地址 数据类型 文本 文本 文本 文本 长度 30 30 30 30 允许为空 否 否 否 是 该表用来存储用户在论坛的帖子和回复信息,包括帖子ID号、发表和回复内容,及发表时间等相关信息。

帖子基本信息表如表4-3所示。

表4-3 帖子基本信息表 列名 帖子ID 主题 内容 用户ID 发表时间 帖子类型 数据类型 数字 文本 文本 数字 日期/时间 数字 长度 30 30 30 30 30 30 允许为空 否 否 否 否 否 否 该表用来存储用户在论坛的留言信息,包括留言编号、留言作者、留言主题、留言时间。

帖子基本信息表如表4-4所示。

表4-4帖子基本信息表

列名 帖子编号 帖子标题 帖子内容 帖子时间 数据类型 数字 文本 文本 数字 长度 30 30 30 30 允许为空 否 否 否 是 留言回复版块基本信息表用来存储用户对留言的回复信息,包括留言回复信息编号、回复内容、回复时间。

留言回复版块基本信息表如表4-5所示。

22

表4-5 留言回复版块基本信息表

列名 回复帖子编号 回复内容 回复时间 数据类型 数字 文本 数字 长度 30 30 30 允许为空 否 否 否 4.3.3 E-R图设计

通过对用户需求进行综合、归纳与抽象,形成一个独立于具体DBMS的概念模型,可以用E-R图表示。概念模型用于信息世界的建模。概念模型不依赖于某一个DBMS支持的数据模型。概念模型可以转换为计算机上某一DBMS支持的特定数据模型。

概念模型特点:

1.具有较强的语义表达能力,能够方便、直接地表达应用中的各种语义知识。

2.应该简单、清晰、易于用户理解,是用户与数据库设计人员之间进行交流的语言。

图4-2实体与实体之间的E-R图

实体属性如下

23

1.管理员:(帐号,密码) 2.帖子:(帖子编号,帖子内容,是否置顶,发帖人,发帖时间) 3.会员:(帐号,密码,姓名,年龄,性别,电子邮箱) 上述实体中存在如下联系:

1.一个管理员可以管理多个帖子; 2.一个管理员可以管理多个会员; 3.一个管理员可以管理多个回复信息;

4.一个管理员可以管理多个公告; 5.一个会员可以发表多个帖子;

6.一篇帖子可以由多个会员浏览,一个会员可以浏览多篇帖子。

4.4 数据库连接

ADO.NET有许多对象,我们先看看最基本的也最常用的几个。首先看看ADOConnection。和ADO的ADODB.Connection对象相对应,ADOConnection维护一个到数据库的链路[10]。为了使用ADO.NET对象,我们需要引入两个NameSpace:System.Data和System.Data.ADO,使用ASP.NET的Import指令就可以了:

key=\

Source=.;Initial

Catalog=BBS;User

ID=sa;pwd=;\ent\

24

4.5 本章小结

总体设计部设计的是系统的总体,系统的总体方案和实现它的技术途径,并通过可行性研究和技术经济论证,确保项目在规划、设计、制造和运行各个阶段,总体性能最优。这样可以避免因规划、研制和运用的缺陷造成人力、物力和财力的浪费。

25

第5章 详细设计与实现

详细设计与实现的主要任务是设计每个模块的实现算法、所需的局部数据结构。详细设计与实现的目标有两个:实现模块功能的算法要逻辑上正确和算法描述要简明易懂。

5.1 系统开发平台介绍

Visual Studio 是微软公司推出的开发环境。是目前最流行的 Windows 平台应用程序开发环境。目前已经开发到 9.0 版本,也就是 Visual Studio 2005。Visual Studio 可以用来创建 Windows 平台下的 Windows 应用程序和网络应用程序,也可以用来创建网络服务、智能设备应用程序和 Office 插件。

2002 年,随着 .NET 口号的提出与 Windows XP / Office XP 的发布,微软发布了 Visual Studio .NET(内部版本号为 7.0)。在这个版本的 Visual Studio 中,微软剥离了 Visual FoxPro 作为一个单独的开发环境以 Visual FoxPro 7.0 单独销售,同时取消了 Visual InterDev。与此同时,微软引入了建立在 .NET 框架上(版本1.0)的托管代码机制以及一门新的语言 C# (读作 C Sharp,意为 C++++)。C# 是一门建立在 C++ 和 Java 基础上的现代语言,是编写 .NET 框架的语言。

.NET 的通用语言框架机制(Common Language Runtime, CLR),其目的是在同一个项目中支持不同的语言所开发的组件。所有 CLR 支持的代码都会被解释成为 CLR 可执行的机器代码然后运行。

Visual Basic、Visual C++ 都被扩展为支持托管代码机制的开发环境,且 Visual Basic .NET更是从 Visual Basic 脱胎换骨,彻底支持面向对象的编程机制。而 Visual J++ 也变为 Visual J#。后者仅语法同 Java 相同,但是面向的不是 Java 虚拟机,而是 .NET Framework。

2005 年,微软发布了 Visual Studio 2005。.NET 字眼从各种语言的名字中被抹去,但是这个版本的 Visual Studio 仍然还是面向 .NET 框架的(版本2.0)。它同时也能开发跨平台的应用程序,如开发使用微软操作系统的手机的程序等。总体来说是一个非常庞

26

大的软件,甚至包含代码测试功能。这个版本的 Visual Studio 包含有众多版本,分别面向不同的开发角色。同时还永久提供免费的 Visual Studio Express 版本。

随着即将发布的 Windows Vista (内部名称:Longhorn) 和 Office 2007,Visual Studio 9 也渐渐浮出水面。Visual Studio 9 目前可以确定的是支持建立于 DHTML 基础上的 AJax 技术,这种微软在 Visual InterDev 时代提出的基于异步的客户端动态网页技术在当年并没有像微软预期中的那么流行起来,反而随着 GMail 等应用而东山再起,渐渐成为主流网络应用之一。同时 Visual Studio 9 会强化对于数据库的支持以及微软新的基于工作流(Workflow)的编程模型。预计为了保持与 Office 系列的统一,Visual Studio 9 的名称为 Visual Studio 2005。

2005年,Visual Studio9也就是Visual Studio 2005将和Windows Server 2005同时发布创建满足关键性要求的多层次的智能客户端、Web、移动或基于Microsoft Office的应用程序。使用Visual Studio 2005, 专业开发人员能够:使用改进后的可视化设计工具、编程语言和代码编辑器,享受高效率的开发环境;在统一的开发环境中,开发并调试多层次的服务器应用程序;使用集成的可视化数据库设计和报告工具,创建SQL Server 2005解决方案;使用Visual Studio SDK创建可以扩展Visual Studio IDE的工具。

Microsoft为单独工作或在小型团队中的专业开发人员提供了两种选择,Visual Studio 2005 Professional Edition和用于Microsoft Office系统的Visual Studio 2005工具。每种版本都在标准版的特性上进行了扩展,包括用于远程服务程序开发和调试、SQL Server2005开发的工具,以及完整的、没有限制的开发环境。每种产品都可以单独购买或打包定购。专业开发人员喜欢自由的使用.NET Framework 2.0,它是一种稳健的、功能齐备的开发环境,支持创建扩展Visual Studio集成开发环境的工具。

Microsoft Visual Studio 2005是面向Windows Vista、Office 2007、Web 2.0的下一代开发工具,代号“Orcas”,是对Visual Studio 2005一次及时、全面的升级。VS2005引入了250多个新特性,整合了对象、关系型数据、XML的访问方式,语言更加简洁。使用Visual Studio 2005可以高效开发Windows应用。设计器中可以实时反映变

27

更,XAML中智能感知功能可以提高开发效率。同时Visual Studio 2005支持项目模板、调试器和部署程序。Visual Studio 2005可以高效开发Web应用,集成了AJAX 1.0,包含AJAX项目模板,它还可以高效开发Office应用和Mobile应用。

5.2 系统开发环境

5.2.1 Microsoft Visual Studio 2005介绍

一个好的开发环境可以让开发工作事半功倍,微软公布了最新版Visual Studio Shell的预览,一起来看一下:我们可以发现新版VS的开发界面分为两个版本:整合模式和孤立模式,分别对基于语言的开发和基于特别工具的开发作了优化。并将Iron Python引入了Visual Studio,该界面将在Visual Studio 2005的Beta2版本中出现。

Visual Studio 2005 提供了高级开发工具、调试功能、数据库功能和创新功能,帮助在各种平台上快速创建当前最先进的应用程序。Visual Studio 2005 包括各种增强功能,例如可视化设计器(使用 .NET Framework 3.5 加速开发)、对Web开发工具的大量改进,以及能够加速开发和处理所有类型数据的语言增强功能。Visual Studio 2005 为开发人员提供了所有相关的工具和框架支持,帮助创建引人注目的、令人印象深刻并支持 AJAX 的 Web 应用程序。

开发人员能够利用这些丰富的客户端和服务器端框架轻松构建以客户为中心的 Web 应用程序,这些应用程序可以集成任何后端数据提供程序、在任何当前浏览器内运行并完全访问 ASP NET 应用程序服务和 Microsoft 平台。

微软的合作伙伴会议上还宣布,其Software Licensing and Protection Services产品将于10月份发布。它包含帮助ISV在内的开发人员保护知识产权、开发和许可产品版本、跟踪产品和特性使用、与后端过程整合的工具。

5.2.2 Microsoft SQL Server 2005介绍

Microsoft SQL Server 2005提供完整的企业级技术与工具,帮助您以最低的总拥有成本获得最有价值的信息。您可以充分享受高

28

性能,高可用性,高安全性,使用更多的高效管理与开发工具,利用自服务的商业智能实现更为广泛深入的商业洞察。

SQL Server 2005引进了一系列新功能帮助各种规模的业务从信息中获取更多价值。经过改进的SQL Server 2005增强了开发能力,提高了可管理性,强化了商业智能及数据仓库。两个新版本可用于大规模数据中心和数据仓库:SQL Server 2005数据中心版和 SQL Server 2005 R2 并行数据仓库版。这两个豪华版本增强了企业级的伸缩性,例如它们为最苛刻的工作负荷提供了更有力的支持,为应用程序和数据中心的服务器提供更有效率的管理。

5.3 系统主界面设计与实现

1.注册、登录界面

此部分是实现用户的注册、登录功能。用户先阅读注册协议,同意协议后,通过填写注册资料,正确填写后,点击注册按钮后便可注册成为正式的会员,如图5-2所示。

29

图5-2首页

登录界面,管理员、用户通过自己的编号、密码进入本系统,来进行他们权限以内的操作。本窗口是和后台数据库中的login表相连接的,只有输入正确的密码后才可以成功进入系统,从而保证了数据库的安全性。只有当管理员在登录时需要选上“管理员登录”选项,才能进入系统。

如果用户还不是会员需要先进行注册才可以浏览更信息,在论坛里发表,回复帖子,下图为我们显示了如何进行注册信息,如图5-3所示。

30

图5-3注册界面

注册资料分必填资料和选填资料,用户只要把必填资料填写正确就可以注册了。用户名最多不能超过16个字符,而且不允许注册重复的用户名,当用户输入想要注册的用户名后,可以点击后面的检测按钮检验是否该用户名已经被注册过。

性别只能选择男或女其中一个。密码最多不能超过16位,必须输入密码,否则不可以注册。E-mail必须输入有效的邮箱地址,以便日后能使用到论文的各种功能。

验证码是系统随即产生的,只要用户按照出现的数字输入进去就可以了。选填资料在注册时可以不用填写,等注册成功后,可以在修改用户资料里随便修改。用户注册成功后就可以使用会员所拥有的一切功能了。

在注册成功后就可以进行登录了,如图5-4所示。

31

图5-4登录界面

在输入信息时,除了按照登录要求外,管理员与用户在登录时是有区别的,管理员需要选中右下角的管理员登录的选项,如果输入密码或用户名错误时会出现,如图5-5所示。

图5-5 登录提示错误界面

在登录成功后就会出现下图,然后就可以查看论坛的帖子信息了,如图5-6所示。

32

图5-6帖子列表信息

登录进入系统后就可以看到里面各方面的信息了,在这里可以选择自己喜欢的话题,发表自己的评论。

会员浏览、发布帖子界面,此部分实现会员的发帖以及回帖等功能。登陆的会员可以在允许会员发帖的版块进行发帖,还可以在普通版块进行回复主题帖子。游客只能浏览帖子,不能发表帖子和回复帖子,如图5-7所示。

33

图5-7发表帖子界面

会员在开放的版块里如果想发表新的主题,便可直接点击发表帖子按钮。进到发表帖子页面后,首先要写自己想发表的主题,主题字数不能超过100汉字,主题可以选择话题类型,例如分享、原创、灌水、推荐、转发帖子等等。接下来可以选择帖子的表情,这个是放在帖子的前面。

本论坛还提供很多内容的表情,从而丰富了文章的活力。特殊内容是变相保护会员的发帖子权益,发表人可以设置内容为等级可见,即会员必须到达指定的等级才可以阅读;回复可见,即会员必须回复该主题才可以阅读;积分可见,即会员必须达到指定的积分才能阅读;登陆可见,即游客和没登陆的会员是不能阅读的,必须

34

会员登陆后方可阅读等等。

正文还可以设置投票选项,用于调查一下大家对某某的一些见解。或是统计一下某某数据等等。正文写完后可以先点击预览,觉得不满意可以在不满意的地方再修改一下,直到满意后,便可点击发表了。回复帖子只针对会员开放,游客不可以回复主题。

回复帖子即简单的回复几句话,不能设置字体,没有表情,也不能上传文件等,可以像发表主题那样设置特殊内容回复可见,等级可见,积分可见等。如果发表成功会出现,如图5-8所示。

图5-8发表帖子成功提示界面

2.管理帖子界面

此部分主要是版主对论坛的帖子进行综合管理,删除、编辑、等锁定、置顶、加精华等等。普通会员是不可以进行此操作的。

35

图5-9管理模块界面

此部分实现管理员对管理模块内容的修改、添加、删除的管理功能,例如:新闻、计算机,体育等各方面的内容,如图5-10所示。

图5-10管理帖子界面

36

此部分使得管理回帖的功能更加详细具体,并且也能清楚的看到帖子的具体信息,并且能修改和删除回帖信息。

图5-11管理回帖界面

在这里添加论坛的分类和管理论坛的分类信息。界面如下图5-12,图5-13。

图5-12添加分类

后台的管理员可以对分类进行管理,假如那个分类的主题受欢迎程度不足,系统便提醒管理员,这样管理员收到通知后,对此分类进行更改或者删除。如图5-13所示。

37

图5-13管理分类

核心代码如下:

protected void btnAdd_Click(object sender, EventArgs e) {

string name = txtname.Text; string Isshow = \ if (CheckBox1.Checked) {

Isshow = \\ } else {

Isshow = \\ }

data.RunSql(\

block(block_name,block_Visible)values('\

Alert.AlertAndRedirect(\添加分类成功!\aspx\

}

38

在这里添加论坛的分类和管理论坛的版面信息。界面如下图5-14。

图5-14添加论坛版面

对于论坛的管理,主要针对版面和主题等的管理,这样便可以使论坛的扩展性变得很突出,自由的增加版面以适应时代的需要,下图为版面管理界面,如图5-15所示。

39

图5-15管理论坛版面

在这里管理注册用户的基本信息。界面如下图5-16:

图5-16管理会员信息

在这里管理后台管理员用户的基本信息以及修改管理员的密码等。界面如下图5-17所示:

图5-17管理员修改密码

在这里可以备份论坛的数据库达到数据库的安全。界面如下图5-18所示。

40

图5-18备份数据库

5.4 系统程序流程图

系统流程图(System Flowchart)是描绘系统物理模型的传统工具。它的基本思想是用图形符号以黑盒子形式描绘系统里面的每个部件,表达信息在各个部件之间流动的情况。

在使用系统前,对于权限的认证才是最重要的,首先登录进来的用户要满足用户信息,假如不满足的话,系统将提示其进入注册阶段,填写信息完成注册的步骤,便可以进入系统进行相关操作。如下图5-19。

41

登录Y填写用户信息验证N添加基本信息N提交信息验证信息Y注册成功结束

图5-19用户注册程序流程图

前台登录信息的匹配,后台的管理体现了管理员的重要性,只有熟悉系统的流程才能让系统发挥更大的作用,本系统管理员主要对帖子和用户进行管理,权限的管理。

42

登陆系统 后台管理 前端显示 登陆界面 用户数据库 用户管理 查询数据库 信息输入 提交 信息修改 新建用户 用户删除 帖子查看 确认身份 图5-2前台、后台登录操作的程序流程图

5.5 本章小结

详细设计必须遵循概要设计来进行。详细设计方案的更改,不得影响到概要设计方案;如果需要更改概要设计,必须经过项目经理的同意。详细设计,应该完成详细设计文档,主要是模块的详细设计方案说明。和概要设计一样,每个模块的详细设计文档都应该独立成册。

第6章 系统测试

系统测试,英文是System Testing。是将已经确认的软件、计

43

算机硬件、外设、网络等其他元素结合在一起,进行信息系统的各种组装测试和确认测试,系统测试是针对整个产品系统进行的测试,目的是验证系统是否满足了需求规格的定义,找出与需求规格不符或与之矛盾的地方,从而提出更加完善的方案。

6.1 测试的任务和目的

6.1.1 测试目的

软件测试的目的,第一是确认软件的质量,其一方面是确认软件做了你所期望的事情,另一方面是确认软件以正确的方式来做了这个事件。

第二是提供信息,比如提供给开发人员或程序经理的反馈信息,为风险评估所准备的信息。

第三软件测试不仅是在测试软件产品的本身,而且还包括软件开发的过程。如果一个软件产品开发完成之后发现了很多问题,这说明此软件开发过程很可能是有缺陷的。因此软件测试的第三个目的是保证整个软件开发过程是高质量的。

软件质量是由几个方面来衡量的:一、在正确的时间用正确的的方法把一个工作做正确。二、符合一些应用标准的要求,比如不同国家的用户不同的操作习惯和要求,项目工程中的可维护性、可测试性等要求。三、质量本身就是软件达到了最开始所设定的要求,而代码的优美或精巧的技巧并不代表软件的高质量。四、质量也代表着它符合客户的需要。作为软件测试这个行业,最重要的一件事就是从客户的需求出发,从客户的角度去看产品,客户会怎么去使用这个产品,使用过程中会遇到什么样的问题。

6.1.2 测试任务

测试的任务是非常艰巨的,常常一个系统的好坏完全取决于测试的完善程度,假如一个测试活动并未让程序得到很多的补充,那么这个测试任务算是失败的,因为没有Bug的程序是不存在的,只有不完美的测试,没有完美程序。下面来看看测试任务都有哪些。 1.负责贯彻和执行系统测试活动; 2.总结系统测试的执行状况;

44

3.系统测试活动遵循文档化的标准和过程;

4.向外部用户提供经系统测试验收通过的预部署及技术支持; 5.建立相应项目的(BUG)缺陷库,用于系统测试阶段项目不同生命周期的缺陷记录和缺陷状态跟踪;

6.定期的对系统测试活动及结果进行评估,提供项目的产品质量信息及数据。

6.2 本系统测试

每个模块都能单独工作,但这些模块集成在一起之后却不能正常工作。主要原因是,模块相互调用时接口会引入许多新问题。

例如,数据经过接口可能丢失;一个模块对另一模块可能造成不应有的影响;几个子功能组合起来不能实现主功能;误差不断积累达到不可接受的程度;全局数据结构出现错误,等等。

综合测试是组装软件的系统测试技术,按设计要求把通过单元测试的各个模块组装在一起之后,进行集成测试以便发现与接口有关的各种错误。

6.2.1 系统登录模块测试

当用户在登录模块中输入正确的登录用户名密码,登录系统时,将用户登录信息表登记登录用户名和登陆时间,登录界面主要从不同的输入用例进行测试,于是我对每个相应的用例进行特别选择。

白盒测试方法把测试对象看做一个透明的盒子,它允许测试人员利用程序内部的逻辑结构及有关信息,设计或选择测试用例,对程序所有逻辑路径进行测试。通过在不同点检查程序的状态,确定实际的状态是否与预期的状态一致。因此白盒测试又称为结构测试或逻辑驱动测试。软件人员使用白盒测试方法,主要想对程序模块进行如下的检查;对程序模块的所有独立的执行路径至少测试一次;对所有的逻辑判定,取“真”与取“假”的两种情况都至少测试一次;在循环的边界和运行界限内执行循环体;测试内部数据结构的有效性等。下面为登录模块的测试用例如表6-1:

45

表6-1登陆测试用例

测试用例描述 按不同的输入格式输入个人信息,进行注册。 用户名有重名的 邮箱按邮箱有效地址输入,其它按规定输入,进行注册。 输入为空时,进行注册。 操作过程及数据 预期结果 用例类型 进入注册界面,按提示的输入格式输入个人信息,进行注册。 注册成功,显示注册成功。居民信息保存到数据库。 功能点 进入注册界面,用户名输注册失败,不能注入,其它按提示的输入格式册。 输入个人信息,进行注册。 进入注册界面,输入例如:fdfd.com其它按提示的输入格式输入个人信息,进行注册。 进入注册界面,输入为空,进行注册。 注册失败,不能注册。 无法注册 功能点 功能点 界面校 验 对登录模块进行登陆测试,只有匹配于数据库的用户帐号信息,才能允许登录系统进行操作。对于不匹配的登录用户便进行注册或者是以用户的身份进行浏览不具备任何权限。

6.3.2 帖子回复管理模块测试

帖子具有相应的回复功能,主要测试还是在录入信息为主。 分别对帖子各种功能模块进行测试,对于回复栏的测试和工具栏的测试,测试主要任务就是发现系统内不容易发现的隐患,导致系统崩溃或者漏洞百出,防止恶意进攻。

在黑盒测试完成的情况下,进行模块接口测试, 模块接口测试是单元测试的基础。只有在数据能正确流入、流出模块的前提下,其他测试才有意义。

测试接口正确与否应该考虑的因素:

1.输入的实际参数与形式参数的个数是否相同; 2.输入的实际参数与形式参数的属性是否匹配;

3.调用其他模块时所给实际参数的个数是否与被调模块的形参个数相同;

4.调用其他模块时所给实际参数的属性是否与被调模块的形

46

参属性匹配;

5.是否把某些约束作为参数传递;

6.是否存在与当前入口点无关的参数引用; 7.是否修改了只读型参数;

8.对全程变量的定义各模块是否一致。

表6-2发贴测试用例

模块 测试用例描述 操作过程及数据 预期结果 发贴成功,发贴成功信息转到管理员。 发贴失败。 无法发贴。 按要求输入帖子的相关信息 发贴 没输入标题 输入为空 进入发贴界面,输入帖子内容,标题,内容,再提交。 进入发贴界面,没输入标题,再提交 进入发贴界面,输入为空,再提交。 6.4 本章小结

系统测试是基于系统整体需求说明书的黑盒类测试,应覆盖系统所有联合的部件。系统测试是针对整个产品系统进行的测试,目的是验证系统是否满足了需求规格的定义,找出与需求规格不相符合或与之矛盾的地方。

系统测试的对象不仅仅包括需要测试的产品系统的软件,还要包含软件所依赖的硬件、外设甚至包括某些数据、某些支持软件及其接口等。因此,必须将系统中的软件与各种依赖的资源结合起来,在系统实际运行环境下来进行测试。经测试本系统满足开发要求。

47

结 论

论坛是我独立完成的第一个比较完善的项目,我实现了论坛的功能包括:用户注册、发帖子、回复信息、帖子加精华,不过该论坛还有待完善的问题还很多,比如翟老师提到的申诉问题,当管理员对用户进行惩罚性的删除之后,用户是否能对该操作进行申诉索取理由等,我会继续努力把现有的这个网站做得更加完美。本系统服务器端采用SQL Server 2005数据库系统和ASP.NET组件来构成论坛系统;客户端采用浏览器来完成系统维护和管理。在这次的设计中,我也了解到了很多自身的不足之处,在今后的日子里我会加以改正的。

经过这二个多月的毕业设计和对相关资料的收集,让我懂得了很多,然而在这期间,我也遇到了很多问题,比如平台组件的使用受限,技术的插件引入使用比较局限,对此我不断的上网查找相关资料,终于在老师的帮助和自身的努力下克服了这些问题,让我真正的学习到了很多书本上不曾有过的东西。

在教育越来越受重视的21世纪,随着学生学习类型的不断增加和交流方式的不断提高,技术方面的工作量将会越来越大,在这样的情况下有一个实用的平台让老师和学生从中受益是有其必然性的,如果能做出一个完善的论坛交流系统就会使学生能更好的去学习。我相信我的设计会是一个出色的设计,在这次的毕业设计中虽然时间紧迫,但我学会了很多,也感到自身知识的贫乏,希望在日后的努力中能做出更完善的系统。

48

致 谢

时光荏苒,岁月如梭,大学的学习生活已接近尾声,在校园里生活了十几年的我们即将踏入社会。我们将面临着新的学习和环境,社会不同于校园,充满着激烈的竞争,回想往事,展望未来,心中感慨万分。

经过毕业设计,锻炼了我的动手能力。通过大量的上机,使我对所学的理论知识得以实践,对知识的掌握更深入,更熟练,并且学会了许多书本上学不到的东西,拓展了知识面,在一定程度上提高了我的软件设计能力,为今后的工作打下坚实的基础。 此外,通过与本组人员的合作,我深刻的体会到了软件制作过程中合作精神的可贵,从思想上确立了团结协作的意识,这些对我走向社会有很大的帮助。此次毕业设计中,我也遇到了很多难以解决的问题,但通过张老师和同学们的帮助、合作得以解决,感谢老师和各位同学提出的宝贵建议。

最后,我对指导老师在毕业设计期间给予我帮助表示由衷的感谢,对小组成员表示深深的谢意!祝愿每个人在以后的生活工作中事事顺心。

49

参考文献

1 Jon Galloway and Phil Haack and Brad Wilson and K. Scott Allen.

Professional ASP.NET MVC 3. Wiley,2013:4-240

2 马俊. ASP.NET程序设计教程.人民邮电出版社,2013:5-100 3 王姝.网络数据库技术与应用.科学出版社,2009:3-10 4 5 6 7

张景峰.数据库高级教程.清华大学出版社,2013:2-27

余松.ASP.NET基础教程C#案例版.高等教育出版社,2005:8-67 谢日星. ASP.NET 4应用程序开发.人民邮电出版社,2013:45-170 朱立才. ASP.NET Web程序设计.清华大学出版社,2013:8-69

8 张保通.数据库系统概论.高等教育出版社第四版,2006:5-101 9 石志国.ASP.NET应用教程.北京交通出版社,2006:8-37

10 李军.Visual C#程序设计实用教程.机械工业出版社,2007:17-29 11 谢维成.SQL Server 2005实例精讲.清华大学出版社,2005:2-48 12 江广顺.ASP.NET2.0+SQLServer.人民邮电出版社,2005:9-100 13 Bill.Wagner.Effective C#: 50 Specific Ways to Improve Your C#.

人民邮电出版社,2013:47-49

14 Jim Arlow and IIa Neustadt UML 2 and the UnifiedProcess :

PracticalObject-Oriented Analysis and Design,Second Edition. 人民邮电出版社,2006:58-69

15 Solid Quality Learning.SQL Server 2005从入门到精通.王为.清华

大学出版社,2010:30-56

50

附录1 译文

Asp.net技术

asp.net的前身ASP技术,是在IIS 2.0上首次推出(Windows NT 3.51),当时与 ADO 1.0 一起推出,在IIS 3.0 (Windows NT 4.0)发扬光大,成为服务器端应用程序的热门开发工具,微软还特别为它量身打造了Visual 标识

InterDev开发工具,在1994年到2000年之间,ASP技术已经成为微软推展Windows NT 4.0平台的关键技术之一,数以万计的ASP网站也是这个时候开始如雨后春笋般的出现在网络上。它的简单以及高度可定制化的能力,也是它能迅速崛起的原因之一。不过ASP的缺点也逐渐的浮现出来:意大利面型的程序开发方法,让维护的难度提高很多,尤其是大型的ASP应用程序。直译式的VBScript或JScript语言,让效能有些许的受限。延展性因为其基础架构扩充性不足而受限,虽然有COM元件可用,但开发一些特殊功能(像文件上传)时,没有来自内置的支持,需要寻求第三方软件商开发的元件。

1997年时,微软开始针对ASP的缺点(尤其是意大利面型的程序开发方法)准备开始一个新项目来开发,当时asp.net的主要领导人Scott Guthrie刚从杜克大学毕业,他和IIS团队的Mark Anders经理一起合作两个月,开发出了下一代ASP技术的原型,这个原型在1997年的圣诞节时被发展出来,并给予一个名称:XSP,这个原型产品使用的是Java语言。不过它马上就被纳入当时还在开发中的CLR平台,Scott Guthrie事后也认为将这个技术移植到当时的CLR平台,确实有很大的风险(huge risk),但当时的XSP团队却是以CLR开发应用的第一个团队。

为了将XSP移植到CLR中,XSP团队将XSP的内核程序全部以C#语言重新撰写,并且改名为ASP+,作为ASP技术的后继者,并且也会提供一个简单的移转方法给ASP开发人员。ASP+首次的Beta版本以及应用在PDC 2000中亮相,由Bill Gates主讲Keynote(即关键技术的概览),由富士通公司展示使用COBOL语言撰写ASP+应用程序,并

51

且宣布它可以使用Visual Basic.NET、C#、Perl与Python语言(后两者由ActiveState公司开发的互通工具支持)来开发。

在2000年第二季时,微软正式推动.NET策略,ASP+也顺理成章的改名为asp.net,经过四年的开发,第一个版本的asp.net在2002年1月5日亮相(和.NET Framework 1.0),Scott Guthrie也成为

asp.net的产品经理(到现在已经开发了数个微软产品,像asp.net AJAX和Microsoft Silverlight)。目前最新版本的 asp.net 4.0 以及 .NET Framework 4.0 已经在VS2010平台内应用。

因为asp.net是基于通用语言的编译运行的程序,所以它的强大性和适应性,可以使它运行在Web应用软件开发者的几乎全部的平台上。通用语言的基本库,消息机制,数据接口的处理都能无缝的整合到asp.net的Web应用中。asp.net同时也是

language-independent(语言独立化)的,所以,你可以选择一种最适合你的语言来编写你的程序,或者把你的程序用很多种语言来写,现在已经支持的有C#(C++和Java的结合体),VB,Jscript , C++、F++。将来,这样的多种程序语言协同工作的能力保护您现在的基于COM+开发的程序,能够完整的移植向asp.net。

52

附录2 英文参考资料

Asp.net technology

The predecessor of the asp.net ASP, is on IIS 2 ( Windows NT 3.51 ) was first introduced, then with ADO 1 launch, in IIS 3 ( Windows NT 4 ) carry forward, a server-side application popular development tools, Microsoft also especially for its tailored Visual logo

The InterDev development tool, in 1994 to 2000, ASP technology has become the promotion of Microsoft Windows NT 4 platform is one of the key technologies, tens of thousands of ASP website also is the beginning like bamboo shoots after a spring rain \appeared on the internet. It's simple and highly customized ability, but also one of the reasons it can rise abruptly quickly. But the shortcomings of ASP gradually emerged: Italy area program development method, make the maintenance difficulty to improve a lot, especially large-scale ASP applications. The literal translation of type VBScript or JScript language, let efficiency some limited. Malleable because its infrastructure expansion and restriction, although there are COM components are available, but the development of some special functions (like file upload ), not from the built-in support, need to seek the third party software developers element.

In 1997, Microsoft started aiming at the shortcoming of ASP ( especially Italy area program development method ) is ready to begin a new project to develop, at that time the main leaders of the asp.net Scott Guthrie graduated from Duke University, he and IIS Mark Anders team managers work together for two months, to develop the next generation of the ASP prototype in 1997, the prototype of Christmas are developed, and given a name: XSP, the prototype is the use of Java language. But soon he was incorporated at that time is still in the development of CLR platform, Scott Guthrie afterwards that the transplant technology to the CLR platform, indeed there is a substantial

53

risk of ( huge risk ), but the XSP team is in the development and application of CLR first team.

In order to porting XSP to CLR, XSP team will the XSP kernel program entirely in C# language to write, and changed the name to ASP+, as ASP 's successor, and will also provide a simple transfer methods ASP developer. The first version of Beta ASP+ and its application in PDC 2000 by Bill Gates debut, the Keynote ( namely the key technical overview ), by the Fujitsu Corporation to demonstrate the use of COBOL language to write the ASP+ application, and declared that it can use the Visual Basic.NET, C#, Perl and Python language (both developed by ActiveState communication tools to support ) development of.

In the second quarter of 2000, Microsoft officially promote.NET strategy, ASP+ also logical renamed asp.net, after four years of development, the first version of the asp.net in January 5, 2002 debut ( and.NET Framework 1 ), Scott Guthrie asp.net has also become a product manager ( until now has developed a number of Microsoft products, like asp.net AJAX and Microsoft Silverlight ). The latest version of the asp.net 4 and.NET Framework 4 is already in the VS2010 platform application.

Because asp.net is based on common language compiler running programs, so it's powerful and adaptability, can make it run in Web application software developers in almost all of the platform. Language basic library, message mechanism, data interface processing can be seamlessly integrated into the asp.net Web application. Asp.net is also language-independent ( language independent ), so, you can choose one that best suits your language to write your program, or put your program with many languages to write, now support C# ( C++ and Java combined ), VB, Jscript, C++, F++. In the future, such a variety of programming language ability to work to protect your present based on the COM+ development of procedures, be able to complete transfer to asp.net.

54

附录3 核心代码

版面的设计是进入论坛后,视觉效果的最终体现,管理版面信息也是系统可扩展性的体现,而实现其功能的代码也是比较核心的技术。

核心代码如下:

private void FenleiBinder()

{

fenlei.DataSource = data.GetDataReader(\* from block\

fenlei.DataTextField = \ fenlei.DataValueField = \ fenlei.DataBind(); }

protected void btnAdd_Click(object sender, EventArgs e) {

string name = txtname.Text; string Isshow = \

string ds = kind_describe.Text;

int block_id = int.Parse(fenlei.SelectedValue); if (CheckBox1.Checked) {

Isshow = \} else {

Isshow = \ }

data.RunSql(\

kind(block_id,kind_name,kind_describe,kind_Visible)values(\block_id + \ Alert.AlertAndRedirect(\\

into + \

55

}

核心代码如下:

protected void gvFilms_PageIndexChanging(object sender, GridViewPageEventArgs e) {

gvFilms.PageIndex = e.NewPageIndex; Get_Article();

}

protected void gvFilms_RowDataBound(object sender, GridViewRowEventArgs e) {

if (e.Row.RowType == DataControlRowType.DataRow) {

e.Row.Attributes.Add(\

\#f6f6f6',this.style.fontWeight='';\

e.Row.Attributes.Add(\

\ }

if (e.Row.RowType == DataControlRowType.DataRow) {

e.Row.Attributes.Add(\\

this.style.color='buttontext';this.style.cursor='default';\ } }

protected void btnDel_Click(object sender, EventArgs e) {

for (int rowIndex = 0; rowIndex < gvFilms.Rows.Count; rowIndex++) {

if

(((CheckBox)gvFilms.Rows[rowIndex].Cells[0].FindControl(\

56

t\ {

if

(DelCode(Convert.ToInt32(gvFilms.DataKeys[rowIndex].Value))) { } } }

Get_Article(); }

关于实现管理会员信息的功能模块,其实现代码也是此模块的精髓,尽管代码的难易性差别不大,但是要想熟练掌握用法对于开发者也是有难度的。下面所示即为具体的实现代码。 核心实现代码:

public bool DelCode(int id) {

bool isOK = false;

string sql = \ SqlConnection con = new SqlConnection(SqlHelper.connstring);

SqlCommand cmd = new SqlCommand(sql, con); try {

con.Open();

if (cmd.ExecuteNonQuery() > 0) isOK = true;

}

catch (SqlException ex) {

throw ex; }

finally {

57

con.Close(); }

return isOK; }

public DataSet GetCodeBy(int iCount) {

SqlHelper date = new SqlHelper();

string strTop = \ if (iCount > 1) {

strTop = \ }

string sql = \ \ * from [loginuser] where identityed !='2'\

SqlConnection con = new SqlConnection(SqlHelper.connstring);

SqlCommand cmd = new SqlCommand(sql, con); SqlDataAdapter da = new SqlDataAdapter(cmd); DataSet ds = null; try {

con.Open();

ds = new DataSet(); da.Fill(ds);

if (ds.Tables[0].Rows.Count == 0) { }

Label1.Text = \没有符合条件的记录\} else {

Label1.Text = \}

58

catch (SqlException ex) {

throw ex; }

catch (Exception ex) {

throw ex;

}

finally { con.Close(); }

return ds;

}

protected void InitData()

{

SqlHelper mydata = new SqlHelper();

GridView1.DataSource = mydata.GetDataReader(\* from loginuser where identityed='2'\ GridView1.DataBind(); }

protected void GridView1_RowDeleting(object sender, GridViewDeleteEventArgs e)

{

SqlHelper mydata = new SqlHelper(); string ID

GridView1.DataKeys[e.RowIndex].Values[0].ToString(); try {

mydata.RunSql(\ from loginuser

=

where

59

use_id='\

Label4.Text = \删除成功!\ GridView1.EditIndex = -1; InitData(); } catch {

Label4.Text = \删除失败!\ } }

protected void GridView1_RowUpdating(object GridViewUpdateEventArgs e) {

SqlHelper mydata = new SqlHelper(); string ID

sender,

=

GridView1.DataKeys[e.RowIndex].Values[0].ToString(); try {

mydata.RunSql(\loginuser set name ='\+ ((TextBox)GridView1.Rows[e.RowIndex].FindControl(\xt + \ where use_id=\

Label4.Text = \修改成功!\ GridView1.EditIndex = -1; InitData(); }

catch {

Label4.Text = \修改失败!\ } }

60

在这里可以备份论坛的数据库达到数据库的安全。 核心代码如下:

protected void Button1_Click1(object sender, EventArgs e) {

string newname = \+ DateTime.Now.Year.ToString() + DateTime.Now.Month.ToString() + DateTime.Now.Day.ToString() + DateTime.Now.Hour.ToString() + \

SqlConnection cn = new SqlConnection(SqlHelper.connstring);

string nepath = Server.MapPath(\ string sql = \+ \

SqlCommand cmd = new SqlCommand(sql, cn); try {

cn.Open();

cmd.ExecuteNonQuery();

HyperLink1.Text = \已成功备份到服务器路径:\+ nepath + \请点击下载到本地!\

HyperLink1.NavigateUrl = \ HyperLink1.Visible = true; }

catch (Exception ex) {

string exm = ex.Message; \

Label1.Text = \备份数据库出错,该文件可能不存在!

Label1.Visible = true; finally {

cmd.Dispose(); cn.Close();

cn.Dispose();}}

61

搜索更多关于: BBS论坛的设计与实现毕业论文 的文档
BBS论坛的设计与实现毕业论文.doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.diyifanwen.net/c8updw8670e5nrap1rg1l036aw5tvxo00xpt_1.html(转载请注明文章来源)
热门推荐
Copyright © 2012-2023 第一范文网 版权所有 免责声明 | 联系我们
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:xxxxxx 邮箱:xxxxxx@qq.com
渝ICP备2023013149号
Top