本科毕业论文-基于nodejs的博客系统设计与实现.docx

上传人:聆听****声音 文档编号:1837908 上传时间:2023-05-01 格式:DOCX 页数:39 大小:997.40KB
下载 相关 举报
本科毕业论文-基于nodejs的博客系统设计与实现.docx_第1页
第1页 / 共39页
本科毕业论文-基于nodejs的博客系统设计与实现.docx_第2页
第2页 / 共39页
本科毕业论文-基于nodejs的博客系统设计与实现.docx_第3页
第3页 / 共39页
本科毕业论文-基于nodejs的博客系统设计与实现.docx_第4页
第4页 / 共39页
本科毕业论文-基于nodejs的博客系统设计与实现.docx_第5页
第5页 / 共39页
本科毕业论文-基于nodejs的博客系统设计与实现.docx_第6页
第6页 / 共39页
本科毕业论文-基于nodejs的博客系统设计与实现.docx_第7页
第7页 / 共39页
本科毕业论文-基于nodejs的博客系统设计与实现.docx_第8页
第8页 / 共39页
本科毕业论文-基于nodejs的博客系统设计与实现.docx_第9页
第9页 / 共39页
本科毕业论文-基于nodejs的博客系统设计与实现.docx_第10页
第10页 / 共39页
本科毕业论文-基于nodejs的博客系统设计与实现.docx_第11页
第11页 / 共39页
本科毕业论文-基于nodejs的博客系统设计与实现.docx_第12页
第12页 / 共39页
本科毕业论文-基于nodejs的博客系统设计与实现.docx_第13页
第13页 / 共39页
本科毕业论文-基于nodejs的博客系统设计与实现.docx_第14页
第14页 / 共39页
本科毕业论文-基于nodejs的博客系统设计与实现.docx_第15页
第15页 / 共39页
本科毕业论文-基于nodejs的博客系统设计与实现.docx_第16页
第16页 / 共39页
本科毕业论文-基于nodejs的博客系统设计与实现.docx_第17页
第17页 / 共39页
本科毕业论文-基于nodejs的博客系统设计与实现.docx_第18页
第18页 / 共39页
本科毕业论文-基于nodejs的博客系统设计与实现.docx_第19页
第19页 / 共39页
本科毕业论文-基于nodejs的博客系统设计与实现.docx_第20页
第20页 / 共39页
亲,该文档总共39页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

本科毕业论文-基于nodejs的博客系统设计与实现.docx

《本科毕业论文-基于nodejs的博客系统设计与实现.docx》由会员分享,可在线阅读,更多相关《本科毕业论文-基于nodejs的博客系统设计与实现.docx(39页珍藏版)》请在冰点文库上搜索。

本科毕业论文-基于nodejs的博客系统设计与实现.docx

可修改编辑

本科毕业设计(论文)

基于nodeJS的博客系统设计与实现

BasedonthesystemdesignandimplementationofnodeJSblog

精品doc

可修改编辑

学院(系):

专业:

学生姓名:

学号:

指导教师(职称):

评阅教师:

完成日期:

2017年5月

基于node.js的博客系统设计与实现

[摘 要]本文针对个人博客需求的了解与分析,采取了面向对象的设计方法,开发了个人博客系统。

该系统主要是信息管理系统,并使用node.js进行开发,以mongoDB数据库和Hbuilder编辑器相结合实现了该系统。

该系统分为注册登录模块、博客及文章检索模块、博客页面显示模块、博客管理模块。

在该系统中,不同的用户拥有不同的权限,根据用户的角色来分配用户的权限大小,从而使得博客用户快速,方便的对系统日常信息进行管理和维护。

[关键词]node.jsweb写作

精品doc

可修改编辑

Basedonthesystemdesignandimplementationofnode.jsblog

Abstract:

Aimingatthedemandofpersonalblogunderstandingandanalysis,theobject-orienteddevelopmentmethod,personalblogsystemisdesigned.Thissystemfocusoninformationmanagement,andusethenode.Jsfordevelopment,tomongodatabaseandHbuildereditortoachievethecombinationofthesystem.Thesystemcanbedividedintoregisteredloginmodule,blogsandarticlesretrievalmodule,theblogpagedisplaymodule,personalmaintenancemanagementmodule.Inthissystem,theuser'spermissionsdependontheuser'srole,accordingtothescopeoftheroleofdifferentsetthepermissionstohelpbloggerssafe,effectiveandreasonabledailyinformationformanagementandmaintenancetothesystem.

精品doc

可修改编辑

Keywords:

node.jsWebWriting

精品doc

可修改编辑

1绪论 1

1.1概述 1

1.2系统的开发背景 1

1.3博客发展现状 1

1.4课题研究的意义 3

1.5系统的开发目标 3

2系统分析 4

2.1系统需求分析 4

2.1.1注册博友 5

2.1.2普通用户 6

2.2系统技术分析 7

2.2.1node.js简介 7

2.2.2vue.js简介 8

2.2.3mongoDB数据库简介 8

2.3经济可行性分析 9

2.4开发工具的选择 9

3系统设计 9

3.1系统分析 9

3.1.1系统架构说明 10

3.2开发框架技术介绍 11

3.3数据库设计 11

3.3.1定义(数据词典) 11

3.3.2数据库设计E-R图 12

3.3.3主要表结构如下 14

精品doc

可修改编辑

3.4功能模块介绍 15

3.4.1博客注册登录管理模块 15

3.4.2博客及文章检索查询模块 15

3.4.3博客页面显示模块 16

3.4.4博客个人维护管理模块 17

4主要功能的实现 17

4.1登录控制 17

4.2文章发表功能 18

4.3文章评论功能 19

4.4文章检索功能 19

4.5后台管理模块 20

5系统测试 20

5.1测试概要 20

5.2测试方法 20

5.3测试用例 20

5.4测试结果 21

5.4.1登录测试 21

5.4.2文章发表测试 22

5.4.3评论测试 23

5.4.4文章检索测试 23

5.4.4内容管理测试 24

结论 24

参考文献 24

致谢 25

精品doc

可修改编辑

精品doc

可修改编辑

1绪论

1.1概述

博客,一个可以激发人的创造性的产品,可以让人们自由创作。

从早很之前,博客就已经开始发展了,对于国内来说,各式各样的博客系统也是百家齐放,各家都有各家的优点和缺点。

博客,可以让人们把自己的想法快速的记录下来,并且可以保存在网络上,随处查看,同时也可以选择分享给其他人,与他人实现探讨。

1.2系统的开发背景

及时,有效,个性,开放,自由等等,这些都是博客所传递出来的中心思想。

在没有博客出现之前,人们会选择去论坛,或者去一写聊天室去发表一些自己的想法或者是看法。

个人博客的出现打破了这一现状,通过博客,人们可以随时随地的把自己的想法和感悟记录下来,同时还可以选择分享出去,这样就可以同别人一起分享自己的一些想法。

当然,写作的同时也是在思考的过程,在写作的过程中思想会发生碰撞,或许会与原来的想法有所出入,这时候,修改的便利性也体现出来啦。

写作也是一种生化,通过对生活的思考,我们能够得到一种满足感。

在生活中,有很多事情都会引发我们的思考,及时的记录下来,才不至于忘记这次思考的过程与收获。

把思考转变成自己的观点,让每天都过得不同,这不就是人们写博客的目标吗。

今天的思考反思今天的过程,明天就会避免重蹈覆辙,时光悄悄流逝,通过写博客让自己在每一天都留下一道印记。

1.3博客发展现状

博客刚出现的时候,她的发展势头就非常的迅猛,截止到2006年底,全球的博客数量已经达到了4000万,在这之中,中国所占的比例也达到了38%,中国的博客用户已经超过1000w的数量。

同时,这个数量还在持续的增长,预计到2010年底,这个数量将会超过5000w大关。

精品doc

可修改编辑

目前使用博客的用户大致可以分为两种,第一种就是独立博客用户,而例外一种就是博客服务商用户。

前者就是通过技术自己搭建的博客,他们拥有独立的域名和个性化的博客,而后者是通过博客服务商提供的博客来实现记录,他们拥有统一的域名后缀,所享受的服务也都是由服务商提供的,也就是说在个性化方面没有前者有优势。

但是,就数量上来说,后者的数量要明显高于前者,截止2007年,使用博客服务商的博客用户大概占到了总用户的98%以上,也就是说独立博客用户只有不到2%的占比。

这主要是由于独立博客站点所需要的技术并不是普通大众所能掌握的,这也是博客服务商出现的原因,为那些想写博客却无法自己搭建博客系统人提供一个平台。

在2007年的时候,国内的大多数互联网公司都推出了自己的博客平台,其中包括了腾讯,百度,网易,搜狐等大型互联网公司,各家公司推出的博客系统都有自己的特点,不仅包含了最基础的博客写作功能,还集成自家的一些服务,方便了用户,这也是各家抢占用户的手段。

但是由于博客服务商的数量的激增,导致其中的竞争也非常的激烈,虽然每年增加的博客服务商非常之多,但是每年死掉的博客服务商几乎与之持平啦,只有一些大型公司的产品还能保持下去。

这其中主要的问题就是盈利问题,很多小公司的产品为了盈利加入了广告,这严重影响了用户的体验,使得用户纷纷转移阵地。

其中一些优秀的产品加入了一些其他的功能,比如视频和音乐,以此来吸引用户。

这其中搜狐博客,网易博客等所占的份额已经比较大了。

而现在,博客的意义已经与2007年的时候不同了,并且通过各种方式加入到了我们的日常生活当中。

现在的博客也不在局限于长篇大论的形式。

但是,及时的记录自己的想法与感悟这一思想却始终没有发生变化。

精品doc

可修改编辑

当然,现在博客也存在着一些问题,其中就包括了盗版还有低俗产品等问题,这还得依靠监管方面的制度完善来解决。

1.4课题研究的意义

随着时代的发展,博客的使用人群也在发生着变化,变得更加趋向专业化,不少作者,学者,一些领域的专业人士通过博客,让普通大众和专业的学习者了解到更多更详细的知识,这是一种文化的传递。

这让人们可以随时随地的阅读与思考。

本系统的设计模式为MVC结构,对于系统的开发效率,使用效率,还有维护性都得到了极大地提高,充分发挥了各个组件的优势。

通过博客,让更多的人通过文字,通过视频,通过音乐,通过图片,通过各种方式来分享生活,感悟生活。

也就是说,只要你想法,有精力,随时都可以去通过博客把这些全部记录下来。

1.5系统的开发目标

分为管理员用户和普通用户

管理员用户可以对博客进行管理,普通用户只拥有查看,评论与转发等功能,没有对系统的操作权。

管理员进入后台,可以实现文章的添加,编辑,删除等操作,同时还可以对普用户的管理。

普通用户可以实现查看,评论,分享等功能,通过评论功能可以实现与作者和其他用的交流

因此,博客系统分为以下几个主要模块:

(1)实现注册与登录功能

(2)实现对文章的编辑发表功能。

(3)实现对文章的评论转发功能(4)实现对用户对评论的管理功能。

精品doc

可修改编辑

2系统分析

2.1系统需求分析

使用例图描述系统来与参与者之间的一些关系,这其中的几个概念:

a)角色:

代表该事件的用户,使用一个小人表示。

b)用例:

代表此系统能够实现的一些功能模块,其中,一组功能用一个用例代替,也说明了该系统的整体结构。

c)用例图:

当a和b反生操作关系的时候,使用指示把他们关联起来,这样就实现了用例图。

此次的博客系统提供了三种权限:

第一种是系统管理员,也就是最高权限。

第二种是博客管理员,负责管理自己的博客主页。

第三章就是博客的访问者,也就是普通用户。

因此,博客系统只有三种身份:

一是超级管理员,而是博客管理者,三是博客浏览者。

精品doc

可修改编辑

图2.1

2.1.1注册博友

要使用博客,首先需要先注册账号,也就是用户名和密码,执行这个操作之后,才能进行后面的操作。

如果不进行注册,那么将只能作为普通用户进行浏览,而不能进行操作。

注册之后可以实现一些功能,如下图中,各项内容的管理和权限操作。

图2.2博客管理页面的用例图

精品doc

可修改编辑

在文章的编辑模式中,可以选择文字发表的类型,也就是对文章进行分类,这样,可以更加直观方便的管理自己的博客。

同时,可以通过评论系统与普通用户进行交流。

也可以选择添加友情链接,与其他网站分享自己的用户流量。

还可以添加用户统计,浏览统计等一些直观的功能。

博客主页面的用例图如图2.3所示:

图2.3博客主页面的用例图

2.1.2普通用户

要想成为博客用户,必须要通过注册才能实现,如果不进行注册,那么只能作为普通用户进行浏览。

不过普通用户也可以通过评论系统与其他用户进行交流。

当普通用户在浏览文章的时候,可以留下自己的评论或者其他的一些信息,这样就可以被其他用户看到,继而进行交流。

普通用户进入博友的用例图如图2.4所示:

精品doc

可修改编辑

图2.4上网博友在博客主页面的用例图

普通用户也可以通过搜索功能来搜索自己关心的内容。

同样,也可以实现查看和推荐等功能,同时可以通过注册来成为博客用户。

这一模块的用例图如图2.5所示:

图2.5

精品doc

可修改编辑

2.2系统技术分析

在整个系统开发之前,需要先确定一下项目的技术架构,和技术选型等。

在一般的系统开发过程中,在设计的最开始的环节,是需要对系统进行分析的,根据系统的实际需求,选择合适的技术架构。

目前比较主流的模式有Java、PHP、nodeJS等选择,前两种从我个人角度出发的话,在技术掌握方面有所欠缺,因此放弃。

而nodeJS作为新兴的服务端技术,开源,而且性能卓越,因此选择nodeJS作为开发首选。

数据库方面,选用mongoDB来存储数据库信息。

2.2.1node.js简介

node.js是基于js来实现的一个平台式的服务器环境,从原理上来说,nodejs是对谷歌浏览器引擎进行的二次封装,他可以实现类服务器的环境,可以用它来实现可扩展的应用。

Node.js具有高效,快速,易用性高等特点,它很适合用来构建数据密集型实时应用。

在浏览器环境中,js代码是由js引擎来进行解析的。

而node.js就是提供了这么一种类似于js引擎的解析器,用来实现js的解析工作。

也就是相当于一个类浏览器的环境。

Node.js为js提供了类似的接口,用来实现与浏览器相同的功能。

同时,他也是一种特殊的运行环境。

为js提供各种服务接口,为实现服务器环境提供了便利

在浏览器环境中,js的全局对象是window。

而在node.js环境中,js的全局对象是global。

这是node.js与浏览器环境的不同的地方。

2.2.2vue.js简介

vue.js是微软提供的一种动态的网页技术,他可以与普通的静态页面实现混写,实现一些模板功能,为静态页面实现一个动态的服务内容。

Vue.js具有很多优点:

1、将表现层与业务层实现技术分离,使用vue.js技术,可以使得前端人员少写很多重复的html内容,可以实现动态的文件分类和添加。

还可以实现与后端内容动态更新。

精品doc

可修改编辑

2、可以实现跨平台,由于微软作为服务支持,vue.js可以支持绝大多数平台,如windows,linux等等的服务器系统,同时也可以跟各种的数据库实现无缝连接。

3、可以实现组件化开发,各个模块之间互不影响,极大地方便了开发,提升了开发效率,降低了开发难度。

为开发的便利性提供了条件。

4、编写的便利性。

由于跨平台的特点,一次编写,就可以实现各个服务器系统之间互用。

2.2.3mongoDB数据库简介

MondnDB是一种新型的数据库存储技术,是一种处于关系型数据库和菲关系型数据库之间的一种数据库,具有功能丰富的特点,因此他更加像是真正意义上的数据库。

这种数据库所支持的存储类型比较多,比如json类的格式,可以实现一些比较负责的存储类型。

她的特点非常明显,对于存储的内容来说,我们不需要知道她的任何结构和数据类型,也就是说可以将不同的数据内容存储到同一个数据库当中。

同时,他的查询功能也是非常的丰富,他实现了类似于面向对象的的查询方式,可以支持几乎任何查询的方式类型。

MongoDB主要解决的是数据量过大从而导致的效率问题。

由于MongoDB的特点,他巧妙地避免了这种问题的出现,由于她的一些特点,方便的开发人员的同时也提升了数据库的性能和效率,因此,他非常受开发人员的青睐。

2.3经济可行性分析

主要分析经济的可行性。

主要包括一些必要的支出,比如服务器、域名之类的费用。

从现行的角度来看,一个域名的价格大概在50元/年左右,服务器价格大概在200元/年左右。

精品doc

可修改编辑

2.4开发工具的选择

Mong开发工具的选择有很多种,这里选用Hbuilder作为开发工具。

Hbuilder作为一款集成式的web开发IDE,具有开发效率高,稳定性好等特点。

3系统设计

3.1系统分析

此次博客系统采用的是mvc的系统结构,该结构的组成部分主要有以下几个内容:

1. 前端视图层:

主要有jsp编写。

2. MVC层:

使用vueJS框架。

3. 业务逻辑层:

主要是有ioc框架管理服务组成。

4. 数据库服务层:

使用mongoDB进行的复杂的数据库存储。

系统的具体分层如图4.4所示。

精品doc

可修改编辑

图4.4

3.1.1系统架构说明

此次的博客系统是按照mvc模式来设计的,将视图层,控制器层,逻辑层分离。

其中还用到了jsp技术来实现视图层。

import Headerfrom './components/Header'

import Indexfrom './components/Index'

import storefrom './vuex/store'

export default {

    components:

{

        'v-header':

Header,

精品doc

可修改编辑

        Index

    },

    store

}

1.import语句:

声明其使用到的component或者vuex(全局数据容器,我是这样理解的,后面讲)

2.export语句:

导出其组成,components包括Header和Index,而数据容器为store。

3.2开发框架技术介绍

开发框架的选择,我们选择了vueJS+ajax。

vueJS是目前比较火热的mvvm前端框架

1、Vue.js是一种新型的mvvm框架结构,采用数据驱动的形式。

属于轻量级框架。

与以前的重量级框架不同的地方在于,vue.js的重心在于view层,他只关心view层的变化。

同时他还可以结合其他第三方组件来实现一些负责的页面,比如SPA页面。

2、通过ajax,我们可以实现局部刷新,动态更新内容。

精品doc

可修改编辑

3.3数据库设计

3.3.1定义(数据词典)

1、首先是数据库的表名称定义规范:

_tbale的形式作为表的重点字,可以使用很多英文单词的组合,多单词组合时,使用驼峰式命名法,也就是从第二个单词起,每个单词的首字母都是用大写来表示。

命名时最好能使用可视化命名,采用重点字结合的方式,可以显得更加直观。

2、NN表示为空,也就是不填写的时候就是为空。

3、数据库中的数据类型采用大众式类型。

如string型,number型,Boolean型等等。

4、数据表的名称尽量使用规范化的名称,比如table等等,实现可视化,使人一眼可以看明白表的内容。

5、数据表的长度定义需要规定一个范围,比如string型最高5000,number型最高50等等。

6、数据表的输入方式:

由表自动生成,是由数据库索引自动生成的,而不需要去手工填写。

3.3.2数据库设计E-R图

要把用户的数据通过展示图的形式展示出来,首先我们需要新建一个数据库的关系表,可以直接采用面向对象的形式来进行建立。

通过树形的数据存储形式来存储数据。

由于是通过对用户的操作来对收集的数据,因此,可以更加直观的反应出用的需求

精品doc

可修改编辑

这种方法通过er图来描述实体数据,但不设计其中的实现,也就是说是通过概念来展示具体的模块和操作方法。

这样的数据模型称为er模型,在这种数据模型当中,包含了三个最主要的模块,这三个模块为“实体”,“联系”和“属性”。

此次博客系统涉及的“实体”包括:

a)用户:

用户名、性别、注册密码、注册时间、用户分类、用户账号、邮箱或者QQ等。

b)博友:

博友ID、博友昵称、类别描述、用户名、登录密码。

c)日志:

文章标题、评论内容、文章详情、文章发表时间、文章链接、文章作者、浏览量、文章浏览权限、是否公开等等。

结合系统中各个功能模块之间的功能通过分析可以得出:

博客关系表,用户关系表,文章内容表等数据库关系模型。

用户E-R图如图4.1所示。

用户组ID

注册时间

用户email

登录密码

QQ号码

用户性别

用户MSN

用户昵称

精品doc

可修改编辑

用户

图4.1

该E-R图主要是介绍了用户的一些属性。

日志类别E-R图如图4.2所示。

类别描述

登录用户名

博友昵称

博友ID

登录密码

博友

图4.2

该E-R图主要是介绍了博友的属性。

日志E-R图如图4.3所示。

日志内容

日志标题

发表日期

精品doc

可修改编辑

浏览次数

作者ID

所属ID

评论数

日志属性

日志ID

日志

图4.3

该E-R图主要是介绍了日志的相关属性。

3.3.3主要表结构如下

表[blogs]日志数据表

字段名

类型

说明

blogid

Int(10)

日志的ID

title

text

日志标题

pubtime

Int(11)

日志发表时间

authorid

Int(8)

日志作者的ID

replies

Int(8)

日志的评论数

tbs

Int(8)

日志的trackback数

views

Int(8)

日志的查看次数

category

Int(3)

日志所属的分类的ID

精品doc

可修改编辑

content

mediumtext

日志正文内容

property

Int

(1)

日志的属性

0公开日志

1锁定日志

2隐藏日志

3一般草稿

2.表[user]博友登陆信息表

字段名

类型

说明

userid

Int(10)

博友ID

nicheng

Text

博友在博客里的称呼

username

text

登陆时的用户名

password

text

登陆密码

3.表[register]用户数据表

字段名

类型

说明

userid

Int(8)

登陆时需要用到的用户名

username

text

用户昵称

userpwd

Int(8)

登陆密码

regtime

Int(11)

注册时间

usergroup

Int

(2)

所属的用户组ID

email

text

用户email

qq

text

Qq号

msn

text

用户msn

gender

text

用户性别

精品doc

可修改编辑

3.4功能模块介绍

3.4.1博客注册登录管理模块

博客注册登录管理模块,是实现普通用户成为注册用户的渠道,可以使是注册用户实现对博客的管理和内容的维护,同时也是方面数据库对用户的管理。

同时可以将网站的更新动态和相关信息传达给其他的用户

次功能块主要的功能实现为:

(1)新博客在线注册。

(2)博客登录管理。

(3)跳转到博客主页。

必须是通过注册登录的用户,才能实现在个人博客上面实现文章的发表和编辑功能,同时还有对博客的管理,文章的管理以及维护功能。

对于没有注册的用户,只能给于普通用户的权限,其中无法对文章进行发表和编辑功能。

登录注册模块用来实现用户注册登录功能,可以使普通用户通过这一模块成为博客注册用户。

当用户进行博客注册时,会对其中的信息

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 求职职场 > 简历

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2