为了更好地发挥本系统的技术优势,根据BBS论坛系统的需求,本文尝试以B/S架构设计模式中的express框架,nodejs语言为基础,通过必要的编码处理、BBS论坛系统整体框架、功能服务多样化和有效性的高级经验和技术实现方法,旨在完成一个快速、高效、便捷的BBS论坛系统。本系统以用户与管理员两类人,作为目标用户,其中用户主要功能包含用户的注册与登录,查看标签、文章、问答、公告栏等,对账号相关信息的修改;管理员主要功能包括了标签、文章、问答、公告栏等;管理员可以实现最高权限级别的全系统管理,
前端技术:nodejs+vue+elementui,
Express 框架于Node运行环境的Web框架,
语言 node.js
框架:Express
前端:Vue.js
数据库:mysql
数据库工具:Navicat
开发软件:VScode
视图层其实质就是vue页面,通过编写vue页面从而展示在浏览器中,编写完成的vue页面要能够和控制器类进行交互,从而使得用户在点击网页进行操作时能够正常。
代码结构讲解
1、 node_modules文件夹(有npn install产生)
这文件夹就是在创建完项目后,cd到项目目录执行npm install后生成的文件夹,下载了项目需要的依赖项。
2、package.json文件
此文件是项目的配置文件(可定义应用程序名,版本,依赖项等等)。node_modules文件夹下的依赖项是从哪里知道的呢?原因就是项目根目录下的这个package.json文件,执行npm install时会去找此文件中的dependencies,并安装指定的依赖项。
3、public文件夹(包含images、javascripts、stylesheets)
这个文件夹做过Web开发的应该一看就知道,为了存放图片、脚本、样式等文件的。
4、routes文件夹
用于存放路由文件。
5、views文件夹
存放视图。本系统为用户而设计制作BBS论坛系统,旨在实现BBS论坛智能化、现代化管理。本BBS论坛自动化系统的开发和研制的最终目的是将BBS论坛的运作模式从手工记录数据转变为网络信息查询管理,从而为现代管理人员的使用提供更多的便利和条件。使BBS论坛系统数字化、智能化,是提高工作效率的重要举措。
目 录
摘要 I
Abstrac II
第1章 绪论 1
1.1 研究背景 1
1.2 国内外研究现状 2
1.3 课题意义 3
第2章 系统相关技术 4
2.1 express框架介绍 4
2.2 Vue简介 4
2.3nodejs编程语言 5
2.4 MySQL数据库 5
2.5 系统开发、运行环境 6
第3章 需求分析 8
3.1 非功能需求分析 9
3.2 技术可行性 9
3.3 经济可行性 10
3.4 操作可行性 10
3.5 系统用例图 11
第4章 系统设计 12
4.1 总体功能设计 13
4.2 系统登录模块设计 14
4.3 数据库设计 15
第5章 系统实现 16
5.1前台系统功能模块实现 18
5.2后台管理员功能模块实现 18
5.3后台用户功能模块实现 18
第6章 系统测试 20
6.1 测试方法与步骤 21
6.2 模块测试 23
6.3 测试用例 24
结论 25
参考文献 26
致谢 30
第1章 绪论
1.1 研究背景
近年来,类似管理类的软件数量正逐渐快速增加,人工的记录和数据统计已经变得不完全能够轻松处理出如此巨量庞大复杂的电子数据[1]。为了能更好快速地实现适应现代化社会要求的高效性,一个利用计算机技术来轻松实现自动化BBS论坛工作的系统也将随之诞生。基于以上这一点,设计完成了此BBS论坛系统,进行规范化管理,方便管理员或用户可以在最短的时间范围内,高效、便捷且准确地去进行对标签、文章、问答的浏览、查询或修改等一系列操作[2]。发现了目前市面上多部分行业还是采用传统的手工记录信息方法进行记录、管理有以下这样方面明显的缺点:信息量大,该相关信息的记录与存储无从下手,且产生大量交互信息,难以及时存档,大量的文章对管理员来说是很大的管理负担[4]。根据以上诸多原因,BBS论坛相关信息的现代化管理需要一个计算机软件来取代传统手工的操作流程来组织、管理这些信息[5]。
电子计算机诞生后,世界因为信息时代的到来发生了翻天覆地的变化。计算机所构成的网络已将整个社会联系起来,整个社会的效率也因此逐步提高,因此当今社会正以前所未有的速度飞速发展着。计算机技术在中国当代企业管理中普遍地被应用,使计算机工具逐渐成为现代人们直接应用掌握现代信息处理技术管理的一项不可或缺的工具[6]。计算机系统能将其原始数据进行分析、加工、储存,工作人员能够在需要补充相关数据时,随时对数据信息进行检索,了解当前BBS论坛系统信息的更新动态情况,从而能够有效准确的组织、处理,完成对BBS论坛信息化的统一管理指导工作,实现标签、文章、问答、公告栏等信息管理流程的自动化,提高工作效率。
根据我对上述知识的深入了解,浏览国内外相关研究资料文件与数据,查阅大量相关研究文献、书籍以及各类技术资料,对BBS论坛系统的用户、数据、需求、特点等多方面内容进行了分析与调研[3]。
1.2 国内外研究现状
随着现代中国社会的不断向前发展,大数据以及信息化时代逐步到来,已经出现了更多的技术与手段来实现BBS论坛工作的提升与发展,尤其是信息处理分析技术更是遍布高科技开发中[7]。用BBS论坛为例,在系统中,标签、文章、问答、公告栏的流程决定了本行业的整体运作,目前BBS论坛存在很多历史遗留问题,比如:对查询文章流程繁琐、工作人员操作不易、容易发生误操作或登入错误信息、工作效率较低等,从而形成查询文章困难,且浪费时间的现状。另外,相关管理很不健全,管理人员也处于匮乏状态,又需要考虑到成本因素,开发一个相对硬件设施不是很高的系统从而管理BBS论坛,是有必要的。综上所述,本文将利用nodejs、VUE、express框架等技开发一个具有功能齐全、便于操作、对电脑配置要求不高的BBS论坛系统[8]。
相较国内,国外的BBS论坛系统已经出现并且使用了更长时间,起步远超于中国,其管理方式也逐渐向自动化、规范化演变[9]。国外的BBS论坛系统飞速发展的阶段是在20世纪90年代后,在这一时期,来自微软的以图形界面显示的操作系统开始问世,科学技术的迅速发展,使得BBS论坛系统的开发者意识到原来开发的系统已不再符合时代的发展,纷纷将最新技术应用到BBS论坛系统的开发。例如在搜索文章时,运用先进的自动索引的成果,结合数据库技术,提高检索的效率性,成就了该系统如今呈现多样化发展的局势。
国外的BBS论坛系统在功能方面几乎囊括了所有教育行业所涉及的领域,可以说是比较健全的,虽然各系统采用的结构有所不同,但是几乎都是使用软件工程的原理,把数据集中存储到数据库中,然后采用分布式操作的方法来操作数据以及实现数据共享。在功能这个领域国外水平显然经过深思熟虑后进行设计[10]。
软件开发是一段漫长的过程,期间需要进行不断地维护与改良,至今国外的BBS论坛系统已几乎接近成熟。
1.3 课题意义
由于电脑的日益广泛与应用,其将逐步演变成为中国工业现代化水平的一重要标志。BBS论坛在整个日常工作流程中总是会出现新的用户信息,文章以及基于信息交互而最终形成的标签、文章、问答、公告栏等。因此,必须全部信息加以管理,实现智能化管理,从而更加快捷地解决用户的需求,并提升工作效率,现对其设置了相关管理办法,以实现上述管理目的[11]。
2.2 Vue简介
VUE是一套用于构建用户界面的渐进式框架。为了实现前后端分离的开发理念,开发前端 SPA(single page web application) 项目,实现数据绑定,路由配置,项目编译打包等一系列工作的技术框架。与其它大型框架不同的是,Vue 被设计为可以自底向上逐层应用。Vue 的核心库只关注视图层,不仅易于上手,还便于与第三方库或既有项目整合。另一方面,当与现代化的工具链以及各种支持类库结合使用时,Vue 也完全能够为复杂的单页应用提供驱动.
2.3 nodejs编程语言
nodejs最大的两个特点就是功能强大和简单易用。Java可以让程序员进行复杂的编程而不必为储存管理对象等问题所烦恼,把精力和时间更多的放在研发与设计上,极大地提高了开发者的工作效率和工作热情。
2.4 MySQL数据库
MySQL 是一种关联数据库管理系统,该系统速度快而且灵活性强,主要原因是它将数据保存在不同的表中,MySQL软件的优点是成本低、体积小、速度快,开放源码,所以一般中小型网站的开发都选择 MySQL 作为网站数据库。
2.5 系统开发、运行环境
预期的物理环境如下:
1)控制系统在正常温度环境条件下运行。
2)控制系统在干净的场所内运行。
预期的生产技术环境条件如下:
1)网络传输速度为1M以上的网络。
2)电脑:CPU双核以上P42.0G及以上,内存二百五十六万M或以上,硬盘大小四十兆G或是以上,10M网卡/一百兆M千兆网卡,Windows2000/2003/NT/XP/Vista/Windows 7以上中文操作系统。
3)数据库BBS论坛系统:Oracle9g或以上。
环境配置如表2.2:
表2.2 环境配置表
序号 配置项 环境要求
1 系统开发工具 Eclipse
2 数据库 Mysql
3 运行环境 Jre tomcat
4 Java主要开发包 Lang util springframework servlet text io
第3章 需求分析
需求的分析中用户需求就是比较的重要,而且可以通过各种的路径,以及各用户对于系统的功能需求,你需要对这些内容做出整理以及分类,然后分析这些需求的现实情况下的可能原因,还需要有认真的分析过程,结合现实的情况下最终做出一系列的需求资料。在有关用户的期望分析中能够明确一些可能实现的情况,BBS论坛功能是许多个可以测试的功能相结合的,正是由于这些功能可以使得用户能够更加积极的提供出需求,让系统功能可以变得更加的完善。这样就可以保证所有设计的功能模块都是可以用到的,而且也是可测试的,对于后续系统的开发能够有比较关键的作用,也能快速完成用户所提供的需求[12]。
3.1 非功能需求分析
3.1.1 可靠性与可用性要求
1)控制系统中的程序能够每日工作二十四小时,每年工作365天。
2)控制系统中的软件故障率不足百分之五。
3.1.2 容错性需求
用户在输入错误信息时,操作系统将提示错误,而不会崩溃。
3.1.3 易用性与易学性
易用性:软件主要适用于十二至七十周岁的,智商、视力、体力和肢体健康并具备有关专业知识的人应用。
易学性:在现在计算机普及的新科技发展阶段,人人都会使用互联网产品,计算机成为了一门必修课,所以我们这个程序的操作会显得特别简单通俗易懂,通过了解或培训的用户可以顺利使用本软件[13]。
3.2 技术可行性
在研究技术可行性的时候,系统的开发环境是可以确定的,所以技术可行性最好与系统功能和性能以及一些实际的情况同时考虑。在可行性研究阶段,结合实际调整开发的内容和选择能够完成的技术体系是一个可用的手段,如果系统进入开发阶段,任何的调整都意味着会耗费更多的经历。需要再次明确的问题是,技术可行性不只是考虑在技术上是否可实现,实际上还包含了在当前的实际的情况下的技术可行性。有很多的因素例如时间不足、预期的开发目标技术难度比较难、不能有充足的技术积累、而且对于技术的掌握不够等这些实际存在的情况,都是要提前部署和认真规划的。
开发BBS论坛系统的技术内容分析,目前的状况是从网络硬件和相关技术上看是可行的。该系统采用了nodejs和 MySQL技术。到现在可以知道,很多的基础知识都是经过学习使用的,在后续的设计中还需要不断的练习,学习更多相关的技术经验来充实自己对于系统的开发。
3.3 经济可行性
此系统是由在校大学生开发的BBS论坛系统。此系统在开发方式上对系统的需求,由于BBS论坛系统是一种无商业利益的,所以系统设计开发的周期要短,在短时间内完成,减少开发成本,提高开发效率,方便、简单、实用是作为系统开发的指导思想。
本系统完全能够在BBS论坛工作中发挥重要作用,而作为个人,能在软件开发能力方面得到锻炼和提高也是十分重要的,本系统在此不注重任何社会经济目标。
基于成本(效益)分析法,本系统所需要的软硬件资料均已掌握,该系统简洁易懂,本系统也具备了生产成本相对较少、效益最高的优点,在经济上可行。
3.4 操作可行性
本系统开发平台的总体开发理念,是以安全、便捷、使用为工作中心。开发成熟后采用的本机操作系统还应具备漂亮、大方、简洁,易于管理、运行、维护等许多优点,就算是完全不懂得电脑操作的人士,也一定能够熟练按照本操作系统的提示正确应用、维护、使用和管理好本系统。它所提供的简便易学的功能特性也能够使本系统真正在用户实际使用、管理中方便可行[14]。
第6章 系统测试
6.1 测试方法与步骤
本系统首先在本地服务器上进行了安装和测试,之后鉴于对系统的结构和处理方法的充分熟悉和对系统特性的充分了解,对系统进行了白盒测试和黑盒试验[15]。
在发展软件系统的整个过程中,人们必须面临错综复杂性的实际问题,所以,在软件系统生存周期的各个过程中都必然地会形成错误。应用软件检测目的在于:出现出错并运行某个程序的步骤,而应用软件检测的最重要目的便是找到其中尚未发生的出错。
为了制定出合理的测试计划,根据以下原则开始了测量;任何测试都要追溯到客户需要;当确定了客户使用模型后就要着手制定测试计划,并在编码以前就对整个软件测试工作做出规划和制定;御用Pareto原理,主要对占出了百分之八十九以上的最易于出错的约百分之二十的模板实施了检测,并从小规模开始逐步实施大量检测,范围一般从主要检测单编程模板再到完全集成的模板;同时精心设计了检测方法,尽可能地全面覆盖所有程序逻辑并使其满足要求的能力[16]。
测试环境,软件和硬件的配置清单见下表。
测试环境表6-1:
表6-1 测试环境表
设备名称 硬件配置 应用程序
服务器端 处理器 1.6GHz 双核 Intel Core i5 (Turbo Boost 最高可达 3.6GHz),配备 4MB 三级缓存 jdk1.8,
tomcat9.0.12,
Mysql8.0
maven3.5
内存 8 GB
主硬盘 128GB PCIe 固态硬盘
网卡 802.11a/b/g/n
客户端 处理器 1.6GHz 双核 Intel Core i5 (Turbo Boost 最高可达 3.6GHz),配备 4MB 三级缓存 macOS
内存 8 GB
主硬盘 128GB PCIe 固态硬盘
显卡 Intel UHD Graphics 617
网卡 802.11a/b/g/n
6.2 模块测试
6.2.1 登录模块测试
进入本系统时,根据不同登录方式区分用户以及管理员的登录。二者登录均需填写用户名和密码。当填写了错误的用户名或密码时,将提示“用户名或密码错误”,按确认按钮返回注册窗口。登录界面简介且高效,输入错误后返回注册窗口也不会卡顿。
6.3 测试用例
本BBS论坛系统在采用单元测试的方法,对系统各模块进行测试,检测流程必须严格遵循检测的标准流程,进行单位检测,子系统检测和控制系统检测。经过单位检测,就检查出了控制系统中各个模块内在的错误;经过子系统检测,发现了模板之间相互协作与沟通上的出错;经过集成测试,发现了流程中出现的错误。通过修正,确定了BBS论坛系统能够实现需求分解中确定的技术要求。根据单元测试对系统进行集成测试,判断各功能组合完成后是否存在逻辑和功能上的错误,保证系统集成后不会出现bug。最后,对系统进行系统测试,确保整个系统的完整性和功能的流通性。
通过管理员和用户两个角色对系统进行完整的系统测试,并对相应的测试进行了详细的测试用例制作,同时记录了详细测试过程,形成了相关的系统测试文档。
具体测试用例如下:
表6-2 注册测试用例表
测试对象 测试案例 操作说明 实际结果 是否通过
注册 用户 未注册用户登录提示请注册 得到相应信息提示 是
表6-3 后台管理员测试用例表
测试对象 测试案例 操作说明 实际结果 是否通过
后台管理员管理权限 添加管理员 点击后台管理员/管理员列表/添加管理员按钮 显示添加管理员弹框 是
点击后台管理员/管理员列表/取消管理员按钮 关闭弹框 是
搜索管理员 在输入框中输入要找的管理员(用户名/手机号/邮箱)点击搜索按钮 显示搜索到的管理员结果 是
编辑管理员权限/信息 点击要编辑的管理员 显示要编辑管理员的弹框 是
删除管理员 点击删除管理员 显示删除管理员弹窗/确认删除 是
结 论
本系统相对于我查阅到的其他BBS论坛系统具有如下优点:其功能全面、易于日后程序更新、数据库管理容易、界面友好、操作方便、效率高、安全性好。
本系统在技术层面具有如下优点:第一,用nodejs实现动态页面,使软件系统具备了很好的可维护性和可复用性。其次,在本系统的编写流程中使用的是express框架,该框架将更有效的把显示功能与逻辑分开,使得模块更易于管理,尤其适用于大型项目的编写。第三,后台使用的MySQL数据库系统,MySQL的数据库系统引擎主要集中在了对XML标准的支持,同时具备可扩充、容易应用和安全性高的优点。
综上所述,通过这次从零开始的毕业设计是一次全新的开始,也期待圆满结束。我也希望这次的设计能通过我后期的自主学习把它趋向于完美,成为我的自主创作经验。
致 谢
时光荏苒,岁月如梭。大学美好的四年学涯生活即将结束,但仔细想想,这四年之间发生了很多故事。曾经与同学、老师、亲朋好友在大学里所有美好的事物都将成为回忆,心中浮满好多不舍。如果让我总结大学四年生活,我会说我成长了,这四年时光非常值得!感谢所有相遇的老师、朋友们!
首先,我要感谢我的指导老师,谢谢您这段时间对我的论文修改,是您的耐心、细心辅助我顺利的完成了论文的编写,也感谢您的奉献精神,让我学习到了职业精神,希望我以后也能对我的工作同样的负责。
其次,我要感谢我的同学,四年里分享我的情感生活,让我们成为了志同道合的朋友,感谢在大学认识你们。
最后,我要感谢我的父母和亲戚,是你们这些年的耐心的陪伴,让我成为了现在能独立思想的个人,有思想、有理想的人。谢谢所有感谢曾经帮助过我的人,谢谢你们,谢谢!