【基于SSM的开源软件技术博客系统设计12000字】_第1页
【基于SSM的开源软件技术博客系统设计12000字】_第2页
【基于SSM的开源软件技术博客系统设计12000字】_第3页
【基于SSM的开源软件技术博客系统设计12000字】_第4页
【基于SSM的开源软件技术博客系统设计12000字】_第5页
已阅读5页,还剩40页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

绪论问题定义随着经济的快速发展与科技的日益进步,人们的生活压力也逐渐增大,固有的知识存储已经无法再满足工作的需要,人们需要汲取更多的知识,学习更多的技术。同时,由于人们与计算机网络的联系日加紧密,人们生活、工作以及学习的方式也逐渐发生了变化,但是传统的信息管理方式却没有改变。传统的在线论坛网站相关信息管理方式一般都采取人工的方式,信息的处理效率十分低下。同时这种方式不仅需要花费大量的人力、物力,而且还会消耗大量的金钱。尽管如此,使用人工方式处理数据进行交互仍然是比较困难的,而且会很浪费时间;从另一方面来说,使用人工方式对用户进行信息的管理,尤其是随着用户数量的递增,最终管理起来会特别的困难,因此如何进行有效的信息管理,才是本系统最终想要探讨的。现状与发展近年来,很多学者使用不同的技术实现博客管理系统,为博客管理系统的开发提供了宝贵的经验[2]。在2012年,方志斌首先采用S2SH框架来设计博客管理系统,实现了高效、快速的开发博客管理系统[3]。2013年,闫伟光采用JSP(JavaServerPages)和MVC(ModelViewController)结构实现了博客管理系统[4]。同年,肖春明采用ASP(ActiveServerPages)技术和SOA(ServiceOrientedArchitecture)技术,使得博客管理系统的界面更加简单明了和清晰[5]。2015年,徐安令在WAMP(WindowsApacheMysqlPHP)环境下开发了博客管理系统,为博客系统的开发提供了一个新的环境,同时也给了开发人员更多的选择[6]。在2016年,胡雅丽系统地分析了使用Java和PHP两种技术开发博客管理系统各自地优势和缺点[7]。研究目的为了解决博客发展中出现的问题以及满足人们的需要,所以设计了此基于SSM的开源软件技术博客系统。该系统主要包括用户和管理员两大模块。用户可以通过发表博客将本身已经掌握的技术或者是技术中的重难点存储到该系统中,以便用户可以随时随地的查看。同时用户还可以查阅其他人的博客,与其他用户进行技术上的交流。当用户在学习或工作中遇到问题时,也可以通过该系统与其他用户进行交流。管理员主要负责监督用户,管理用户的信息以及管理整个系统。研究意义从一方面来说,本系统主要根据管理人员的需求做出分析,让管理人员更好的进行博客信息管理、关注管理、点赞管理、相册管理、违规处理管理等,让用户更好的了解自己的信息而设计的本系统。从系统的操作上来说:能够有效的进行信息的添加、修改、查询、删除等操作,在一定的程序上能够实现了自动化。设计该系统的主要目的是为实现通过网络来减少人力和财力的投入,不断提高工作效率。从另一方面来说,基于SSM的开源软件技术博客系统是为了用户分享知识传播知识而存在。旨在于让每个用户可以通过该系统丰富自身知识,提高技术水准,同时,被上传的博客会被其他用户查阅,评论,点赞和收藏,优秀的博主也会被更多其他用户所关注,这样就会给用户带来更多的动力,从而加快知识的传播。可行性分析经济可行性我在设计该系统的时候主要是从节约成本出发,然后进行具体的系统的设计,在系统的设计过程中由于采用的所有工具以及技术支持全部都是免费的,因此不需要有任何的成本就可以进行该系统的设计。所用到的所有资源都是免费的,只要有网络就可以进行下载使用,没有额外的费用,因此该项目在经济方面是完全可以实行的[8]。本基于ssm的开源软件技术博客系统的设计与实现采用的软件都是可以通过一般浏览器下载的免费版本,这样就能够降低很多成本。同时因为开发本系统因功能较为简单,所以从经济的角度考虑,该系统可开发[9]。技术可行性技术可行性分析的主要工作是考虑开发系统所使用的技术条件能否能够满足系统开发的需求从而让开发人员顺利的进行系统的开发工作。在挑选软件时,我选择了功能强大的IntellijIDEA为开发工具,同时与MYSQL数据库相结合进行本系统的开发工作[10]。由于IDEA开发平台使用起来非常方便非常智能,功能也很强大,因此,开发本基于ssm的开源软件技术博客系统的软件开发平台是完全可行的[11]。对于这个系统来说它主要是采用了jsp技术和mysql数据库来进行开发的,而且对程序上的开发主要是应用比较完整的功能和简单的使用特点,并且我们可以建立一个安全的数据库,同时在技术上我也掌握了所有的开发技术,所以系统开发具有可行性。社会环境可行性由于网络技术的快速发展,用户们对常用的博客管理系统也有了新期待,简洁明了的界面,完善的功能,安全的信息管理方式等都是用户所需要的。传统的论坛式的博客已经无法满足用户的需求,老旧的信息管理方式和管理系统也都已经不适用于广大用户群体。在这种环境下,一种全新的博客管理系统的诞生就是必然的。需求分析功能需求以市面上已存在的博客网站以及系统开发的目的为参照,本系统应具备的功能如下:本系统分为管理员与用户两大模块,以下首先是用户模块具备的功能。用户注册:注册成为新用户博客信息管理:发表博客,查询已发表过的博客博文论坛管理:发表博问,已发表博问记录查询,博问回复查询相册管理:添加相册,上传图片,查看图片关注管理:查询已经关注的博主点赞管理:查询曾点赞过的博客评论管理:查询评论记录在线留言管理:进行在线留言或者在线留言记录查询个人中心:查看个人博客博问信息记录,修改隔热资料,修改账号密码,查看个人收藏,查看个人评论点赞记录等以下为管理员模块具备的功能:用户管理:添加用户和用户查询博客信息管理:添加博客分类,查看博客分类,添加博客信息和查看博客信息博问管理:添加博问分类,查询博问分类,添加/查询博问,查询博问回复关注管理:查询关注的用户点赞管理:查询点赞过的博客违规处理管理:查看被违规处理的用户相册管理:添加相册分类,查询相册分类,添加相册,查询相册在线留言管理:查看用户的在线留言评论管理:查看评论过的博客账号管理:添加管理员账号,管理管理员账号,修改密码系统管理:添加友情链接,添加轮播图,查询轮播图性能需求为了确保基于ssm的开源软件技术博客管理系统能够长期、稳定、高效的运行,必须要保证此博客管理系统的开发性能[12]。同时也要保证在基于ssm的开源软件技术博客管理系统的开发过程中,要用充分的方法确保该系统的安全性和有效性[13]。基于ssm的开源软件技术博客管理系统在性能上应具备操作简单、界面友好、完全框架式的页面布局,使得信息的录入、查询、修改等操作更简便,同时跟踪出现的提示信息也让用户随时清楚自己的操作情况[14]。为了保证系统的稳定性、可靠性、安全性以及高效性,本系统的开发应满足以下的性能需求:系统处理数据的准确性与及时性[15]系统处理数据的准确性与及时性是系统的必要性能。查询时应保证查询的效率与准确率,查到的记录应满足查询条件并与数据表中的数据一致。在系统设计和开发过程中,还需要开发人员充分考虑此博客管理系统当前和将来可能承受的工作量,使系统的处理能力和响应时间能够一直满足用户和管理员对信息处理的需求。系统的开放性和系统的可扩充性该系统在开发过程时应充分考虑以后是否拥有良好的横向和纵向可扩充性。例如用户对查询的需求也会不断的增大,对博客信息管理的需求也要不断完善,必须保证系统的可扩充性[16]。系统的响应速度基于ssm的开源软件技术博客管理系统在日常处理应达到实时要求,一般操作的响应时间应尽量确保在1~2秒内,确保用户的使用体验,同时对于软磁盘的操作,以及数据的导入和导出也应在可接受的时间内完成。安全性需求对于基于ssm的开源软件技术博客管理系统的安全性需求,一是保证对数据库的合法访问权限:在访问数据库时,只有通过身份验证的管理人员才有权限进入系统后台,防止非法用户进入后台肆意篡改数据。使用该系统的用户必须通过身份验证,这样可有效地保证数据的完整性、一致性和有效性。二是故障处理能力:正常使用时不应该出错,对于用户输入错误应给予适当的改正提示[17]。软件设计概要设计软件设计一般分为概要设计和详细设计。概要设计阶段的主要工作是根据上面需求分析的结果,对整个博客管理系统进行设计分析,如需要进行系统框架设计,数据库设计等等。此外,系统概要的设计工作应该自顶向下地进行。本基于ssm的开源软件技术博客系统的设计与实现选择采用B/S结构也就是浏览器/服务器结构,该结构具有开发简单、共享性强、维护简单方便等诸多方面的优点,是一个非常适用于Internet环境下的模型结构。只要用户能够与连接上网络,便可以在任何时间、任何地点使用[18]。经过对系统的分析阶段工作以后我们明确的了解到了系统具体实现的功能,接下来的工作它是对这些功能来做具体的功能实现的,也是这个设计的主要设计思想工作。对于这个设计总体来说它是根据最初的设计主要任务来做出具体的需求方案。最后根据所需的目标来做比较和概括的方式最后做出具体的任务,也就是说如果想要实现系统最高的效果,我们就从软件方面来做出最佳的方案。具体表现有以下几个特点:第一首先要根据最初指定的工作要求、功能和性能来做出具体的要求。第二要根据软件的可维护性和安全性来做出保障。第三就是保证这个软件的代码和系统文档配置保持一致,来做出这个设计的最佳方案。总体的软件设计和开发阶段是由上游阶段来完成的,该阶段在后续的开发上做了很好的铺垫。所以在整个设计上我们做出的种种决策来做了软件上的质量决策,从而做好设计的稳定性,同时也保证了软件方便维护。详细设计系统的架构设计本节论述基于ssm的开源软件技术博客管理系统的结构。基于ssm的开源软件技术博客管理系统是博客管理经常使用的系统,可以实现对博客信息进行控制和管理。使用基于ssm的开源软件技术博客管理系统的用户不一定会在一起登录,所以这就要求基于ssm的开源软件技术博客管理系统必须要基于B/S结构,只有采用这样的结构才能够让用户不受地域和人员的限制可以随时使用本系统[19]。采用B/S(Broswer/Server,浏览器/服务器)程序架构打破了时间和地域的限制,用户在使用基于ssm的开源软件技术博客管理系统的时候变得非常方便。图4-1就非常明白的展现了基于ssm的开源软件技术博客管理系统的网络系统结构。图4-1基于ssm的开源软件技术博客管理系统架构设计图系统结构设计系统架构的整体设计的主要工作是将一个庞大的任务分为多个细小的任务,然后再将这些细小的任务分段完成,最后再组合在一起形成一个完整的任务。本基于ssm的开源软件技术博客系统的设计与实现的主要功能模块可分为用户功能模块和管理员功能模块两大部分,如图4-2所示。图4-2系统结构图系统顺序图设计顺序图的主要功能是表示交互,其本质上是一个进行交互的序列,在多个分类器之间进行交互的目的是为了获得一个期望的结果登录模块顺序图如果用户想要对本系统进行操作,那么首先就需要用户进行系统的登录操作,系统登录模块的主要功能是进行系统管理员的权限登录。该模块的顺序图如图4-3所示。图4-3登录模块顺序图添加信息模块顺序图管理员在登陆之后才可以对系统进行添加信息的操作,添加信息模块顺序图如图4-4所示。 图4-4添加信息模块顺序图数据库设计数据库是本博客管理系统的重中之重。在对信息进行操作之前,必须保证该管理系统获得了数据库管理系统的支持。就目前来说,电脑系统的关键与核心就在于数据库。数据库开发的性能能够直接影响到整个系统的质量和与速度。数据库的设计主要分为4个步骤:即分析需求、设计概念、设计逻辑以及设计物理。一个好的数据库能够影响到整个程序开发的优劣,数据库的设计包含了表结构的设计,表与表之间的关系设计,此外还有数据表内容的设计等。要想得到与程序配套的数据库,就必须在进行程序设计前进行足够的考虑。数据库设计原则在数据库的设计中,通常我们会采用四种方法,分别是自顶向下、自底向上、逐步扩张、混合策略。在物理结构设计阶段首先要分两步走:(1)确定数据库的物理结构(2)选取正确的关系模式存取方法数据库的概念结构设计通常采用实体—联系也就是E-R图模型设计方法。E-R模型的组成元素包含:实体、属性以及联系,E-R模型用E-R图表示,是提示用户工作环境中所涉及的事物,属性则是对实体特性的描述。在系统设计当中数据库起着决定性的因素。下面设计出这几个关键实体的实体—关系图。数据库E-R图设计E-R图是描述显示数据类型之间关系的数据描述方法。E-R图可以完全映射真实模型之间的关系。实体关系模型反映了现实世界中实体之间的关系,是数据库设计过程中用来表达数据库系统结构的一种方法。其思路是利用现有的数据模型来展现目前项目实体之间的现实关系。E-R图可以表达实体之间相互关系的含义,直接反映实体之间的关联。为实体设计属性和关联时,可以确定实体之间的主键和外键之间的关系以及实体的可扩展性。这些都可以在E-R图中直观的显示出来。像这样将数据分类成组后,会产生不同于相关组的置信度,便于用户观察和分析。概念模型主要基于数据需求分析。它通常使用概念数据模型来表达各种数据之间的关系,并处理和管理系统用户的信息。同时建立E-R图来表达具体实体、属性和连接之间的关系。下面设计出这几个关键实体的实体关系图:博客信息(bokexinxi)实体E-R图如图4-5所示。图4-5博客信息(bokexinxi)实体E-R图博客回复(bokehuifu)信息实体E-R图如图4-6所示。图4-6博客回复(bokehuifu)信息实体E-R图用户信息(yonghu)实体E-R图如图4-7所示。图4-7用户信息(yonghu)实体E-R图相册信息(xiangce,xiangcefenlei)实体E-R图如图4-8所示。图4-8相册信息(xiangce,xiangcefenlei)实体E-R图管理员(admins)理实体E-R图如图4-9所示.图4-9管理员(admins)实体E-R图数据库表设计每个数据库的使用都是隔开的,当它们在程序中运行时,他们就会与自己相关的协议和用户端进行通讯。而且系统会自动将这些数据进行连接。如果想要对某个数据库进行了解,那么就应选择该桥段,然后就会自动讲解。在点击完成按钮之后就会自动在对话框内弹出数据源的名称,然后进行下一步操作,输入正确的密码和账号进行登录。根据系统功能设计的要求和功能模块的划分,大学生学习生活跟踪平台的设计与实现的设计与实现一共涉及到多个数据表。基于ssm的开源软件技术博客系统的设计与实现使用MYSQL数据库来做数据存储的工作,下面列举部分表的详细信息。bokexinxi表如表4-1所示,bowenhuifu表如表4-2所示,yonghu表如表4-3所示,xiangce表如表4-4所示,admins如表4-5所示。表4-1bokexinxi博客信息表列名字段类型长度是否主键说明bianhaovarchar50是编号biaotivarchar255否标题fenleiint10否分类tupianvarchar255否图片neironglongtext否内容yueduliangint11否阅读量faburenvarchar50否发布人shifoujingxuanvarchar255否是否精选addtimetimestamp否添加时间表4-2bowenhuifu博问回复表列名字段类型长度是否主键说明bowenluntanidint10是博问论坛idbianhaovarchar50否编号biaotivarchar255否标题fenleiint10否分类faburenvarchar50否发布人huifuneirongtext否回复人addtimetimestamp否添加时间表4-3yonghu用户信息表列名字段类型长度是否主键说明yonghumingvarchar50是用户名mimavarchar50否密码xingmingvarchar50否姓名xingbievarchar255否性别shoujivarchar50否手机youxiangvarchar50否邮箱shenfenzhengvarchar50否身份证touxiangvarchar255否头像zhuangtaivarchar50否状态addtimetimestamp否添加时间表4-4xiangce相册信息表列名字段类型长度是否主键说明xiangcebianhaovarchar50是相册编号xiangcebiaotivarchar50否相册标题fenleiint10否分类tupiantext否图片faburenvarchar50否发布人addtimetimestamp否添加时间表4-5admins管理员信息表列名字段类型长度是否主键说明idint10是序号usernamevarchar50否账号pwdvarchar50否密码addtimetimestamp添加时间系统流程分析用户需求可以采用系统流程图来描述,基于ssm的开源软件技术博客管理系统设计时应该充分考虑到现实生活中对博客管理管理进行的各种经营活动,并对其所出现的问题提出改进的办法。系统流程图的设计会直接影响到系统设计,所以在进行设计本系统之前需要把总体框架先搭好,然后再逐步细化。在确保系统基本功能要求的前提下,需要结合系统新的业务流程并确定系统所必须具备的所有功能。根据实际需求确定的系统流程图如图4-10所示。图4-10系统流程图注册流程用户在注册账号之前,需要先进入到系统注册界面,根据页面要求填写用户信息,包括用户名、密码、姓名、姓名等,若账号信息存在的话,提示返回填写账号,账号不存在,则填写密码,在数据库中添加用户信息,注册成功。用户注册流程图如图4-11所示。图4-11注册流程图添加信息流程管理员有对博客信息、博客分类以及其他信息进行添加的权限,在输入信息后,系统会根据开发人员给出的逻辑进行自行验证输入的信息和数据,如果信息符合要求,就可以将其添加到数据库内,如果信息不符合规则,就会提示用户进行重新输入信息的操作,添加信息流程如图4-12所示。图4-12添加信息流程图修改信息流程管理员有对博客信息、博客分类以及其他信息进行修改的权限,首先需要先进入到修改信息界面,然后根据页面要求输入修改信息的数据,系统会根据预先给出的逻辑对输入的数据进行判断验证,修改的信息符合逻辑则修改成功,然后信息会被更新到数据库,如果信息不符合逻辑则修改失败,需要用户进行重新输入。修改信息流程图如图4-13所示。图4-13修改信息流程图删除信息流程管理员有对博客信息、博客分类以及其他信息进行删除的权限,首先需要选择需要删除的数据,然后点击删除按钮,此时系统会询问用户是否确定删除信息,如果用户点击确定,那么系统会删除掉选中的信息,并且对数据库内信息进行更新,删除信息流程图如图4-14所示。图4-14删除信息流程图登录流程当用户需要想进行博客管理、留言等操作时,必须进行登录系统,同时为了保证系统的安全性,要对本系统进行管理必须要先进行管理员登录,然后才有权限进行操作。用户登录流程图如图4-15所示。图4-15登录流程图编码拦截器[20]Java里的拦截器是动态拦截动作调用的对象。它为开发人员提供了一种机制来定义在执行操作之前和之后要执行的代码,这里是通过从session中获取用户名,并判断是否为空,为空则重新进入登录界面。原理图如图5-1所示。图5-1拦截器原理图管理员管理员模块功能的设计是本博客管理系统的一个主要模块,其所包含的功能如图5-2所示。图5-2管理员模块功能图用户用户模块的功能设计是本博客管理系统的另一个主要模块,其所包含的功能如图5-3所示。图5-3用户模块功能图数据库操作类获取前台提交的数据,方便写入数据库实现代码:publicstaticHashMapgetParameterStringMap(HttpServletRequestrequest){Map<String,String[]>properties=request.getParameterMap();//把请求参数封装到Map<String,String[]>中HashMapreturnMap=newHashMap<String,String>();Stringname="";Stringvalue="";for(Map.Entry<String,String[]>entry:properties.entrySet()){name=entry.getKey();String[]values=entry.getValue();if(null==values){value="";}elseif(values.length>1){for(inti=0;i<values.length;i++){//用于请求参数中有多个相同名称value=values[i]+",";}value=value.substring(0,value.length()-1);}else{value=values[0];//用于请求参数中请求参数名唯一}returnMap.put(name,value);}returnreturnMap;}构建插入语句实现代码:publicStringbuildInsert(Queryquery,booleanreplace){HashMapdata=query.getData();if(data.isEmpty()){return"";}//没数据不允许插入HashMapformatData=parseData(query,data,true);//经过格式化的数据ArrayListfields=getHashMapKeys(formatData);Collectionvalues=formatData.values();//insertSql="%INSERT%INTO%TABLE%(%FIELD%)VALUES(%DATA%)";returninsertSql.replace("%INSERT%",replace?"REPLACE":"INSERT").replace("%TABLE%",parseTable(query)).replace("%FIELD%",StringUtil.join(",",fields)).replace("%DATA%",StringUtil.join(",",values));}根据字段类型获取对应的默认数据实现代码:protectedStringgetFieldDefault(Stringtype){Stringt=type.toUpperCase();if(t.equals("DATE")){return"'0000-00-00'";}elseif(t.equals("DATETIME")){return"'0000-00-0000:00:00'";}elseif(t.equals("TIME")){return"'00:00:00'";}elseif(t.equals("TIMESTAMP")){return"'"+Info.getDateStr()+"'";}elseif(t.equals("FLOAT")||t.equals("DOUBLE")||t.equals("DECIMAL")||t.indexOf("INT")!=-1){return"0";}return"''";}获取字段值以及字段信息实现代码:protectedStringgetFieldValue(Stringtype,Stringvalue){Stringt=type.toUpperCase();if(value==null||value.equals("")){//等于空值,就写入默认值returngetFieldDefault(type);}if(t.equals("FLOAT")||t.equals("DOUBLE")||t.equals("DECIMAL")||t.indexOf("INT")!=-1){returnvalue;}return"'"+value.replace("'","\\'")+"'";}protectedStringgetTableFind(Stringname){returnString.format("SELECT*FROM%sWHERE1=1LIMIT1",name);}解析条件查询语句实现代码:publicStringparseWhere(Queryquery){ArrayListwhereList=(ArrayList)query.getOption().get("where");if(whereList==null||whereList.size()==0){return"";}StringBufferbuffer=newStringBuffer("WHERE");for(inti=0;i<whereList.size();i++){HashMapmap=(HashMap)whereList.get(i);if(i!=0){//每一个的连接符buffer.append("");buffer.append(map.get("connect")==null?"AND":map.get("connect"));buffer.append("");}Stringwhere=(String)map.get("where");if(where!=null){buffer.append("").append(where).append("");}else{Stringkey=(String)map.get("name");Stringexp=(String)map.get("exp");Objectval=map.get("value");if(-1!=key.indexOf("|")){String[]keys=key.split("\\|");buffer.append("(");for(intj=0;j<keys.length;j++){if(j!=0){buffer.append("OR");}parseWhereItem(buffer,keys[j],exp,val);}buffer.append(")");}else{parseWhereItem(buffer,key,exp,val);}}}returnbuffer.toString();}解析条件子语句实现代码:protectedvoidparseWhereItem(StringBufferbuffer,Stringkey,Stringexp,Objectval){List<String>exps=Arrays.asList("eq,neq,lt,elt,gt,egt".split(","));intindex=exps.indexOf(exp);String[]exps2="=,!=,<,<=,>,=>".split(",");if(index!=-1){exp=exps2[index];}exp=exp.toLowerCase().trim();if(exp.equals("in")||exp.equals("notin")){ListinArrayList=getParseWhereValueArray(val);buffer.append("");buffer.append(key);buffer.append(""+exp+"("+StringUtil.join(",",inArrayList)+")");}elseif(exp.equals("between")||exp.equals("notbetween")){buffer.append("").append(key).append("").append(exp).append("");if(valinstanceofString){buffer.append(val);}else{Liststr=getParseWhereValueArray(val);buffer.append(str.get(0)).append("AND").append(str.get(1));}}else{buffer.append(""+key);buffer.append(""+exp+"");buffer.append(formatString(String.valueOf(val)));buffer.append("");}}软件测试测试定义系统开发的到最后需要进行系统测试,系统测试是整个系统设计过程中十分重要的一个环节,测试的结果会直接影响到产品的发展。软件的质量、性能以及可靠性等是否能够满足用户的需求就需要通过测试来确定。测试过程需要测试人员遵循严谨性、完善性以及规范性的原则,其主要目的是观察在系统运行时,是否会出现漏洞,如果出现漏洞,就需要对出现的漏洞进行调试,直到程序能够符合要求地运行。但是软件测试只是能减少bug,从理论上来说是无法达到消除bug地目的地。但实际上是bug越少,系统出错的概率就越低,用户的使用体验也就更好。系统测试的意义伴随着信息技术的日趋成熟,网络信息技术已经在社会各个领域被广泛应用,所以,软件的质量也就越来越受到用户的重视。同时一个软件的质量决定了这款软件在市场上的生存能力,因此高质量的软件是必须的。同时对于用户来说,在选用软件之前,软件的质量已经成为用户考量该软件的一个重要标准。图6-1就是纠错测试流程。图6-1测试与纠错信息流程测试的重要性基于ssm的开源软件技术博客系统的设计与实现设计是为了方便用户使用,所以就需要测试人员从用户的角度去测试该软件,原则上是希望能够尽快的发现系统内部存在的漏洞。因此,在进行测试之前,需要测试人员认真的编写测试用例,同时要将规划好的功能点都罗列出来,以便在测试进行时,能够快速有效地进行测试工作。测试用例管理员登录功能测试,如表6-1所示。表6-1登录测试用例表用例编号TEST测试名称注册测试前提条件未登录时打开首页界面步骤操作描述数据期望结果测试结果1点击登录按钮无跳转到登录页面正确2填写用户名和验证码,点击登录按钮用户名、验证码提示“密码不能为空”正确3填写密码和校验码,点击登录按钮密码、验证码提示“用户名不能为空”正确4填写用户名和密码,点击登录按钮用户名、密码提示“验证码不正确”正确5填写错误的用户名和密码以及验证码用户名、密码、校验码输入框清空并提示“用户名或密码错误”正确6填写正确的用户名,密码和验证码用户名、密码、验证码跳转到首页,右上角显示用户姓名正确测试说明无博客添加功能测试,如表6-2所示。表6-2博客添加功能测试用例表用例名称测试功能操作操作过程预期结果测试结果博客添加模块测试正确输入博客信息,完成博客的添加博客添加按要求填写博客标题,分类以及内容后点击提交保存成功,博客信息界面有新添加的博客正确博客信息界面测试,如表6-3所示。表6-3博客信息界面测试用例表用例名称测试功能操作操作过程预期结果测试结果博客信息显示功能模块测试博客信息显示情况查看博客在博客信息界面选择某博客,点击查看详情进入博客,查看博客内容及其他信息正确测试方法具体测试方法分为黑盒测试和白盒测试两种。黑盒测试又被称为系统功能测试,通常在程序的接口处做一些测试的工作。它一般根据程序功能的使用做一些数据的接收和输出,保证输出信息与外部信息的完整性。白盒测试又被称为结构测试,在整个程序的结构和处理中,通过程序中的逻辑测试和检查程序来完成一些正确的工作。具体功能测试包括:系统的适用性、准确性、安全性等功能测试。用户使用说明一般用户使用说明一般用户在使用本系统时若未登录,只支持查看博客内容以及查看博问功能,其他功能暂不提供。想要使用完整功能需要一般用户先进行注册,在进入系统后点击用户注册,则会出现如图7-1所示的内容。图7-1用户注册说明图在注册成功之后,普通用户需要进行登录操作,即使用刚注册的账号信息进行登录操作,用户登录界面如图7-2所示。图7-2用户登录说明图用户在使用账号密码登入系统后,首先进入的是系统首页部分。系统首页部分展示的是精选博客、热门博客以及部分博问信息。用户可自行查看。系统首页图如图7-3所示。图7-3系统首页图在用户查看完首页后,可自行选择进入博客信息或者是博问论坛部分。博客信息将会给当前用户展示系统内存储的博客内容,当前用户可自行对博客内容进行自主选择和查看,同样操作对博问论坛界面亦可使用。在查看期间,用户可自行决定是否对该博客进行点赞或是收藏或是评论。点赞收藏操作如图7-4所示。图7-4点赞收藏说明图图7-5和图7-6分别为系统博客信息界面图与某博客查看图。图7-5博客信息界面说明图数码世界博客查看说明图如图7-6所示。图7-6数码世界博客查看说明图图7-7展示的是博问论坛界面图,用户可以在博问论坛界面对已有博问信息进行查看,通过点击对应博问信息区域可以进入到如图7-9所示的博问详细信息界面,在此界面,用户可以查看博问信息以及博主与其他用户之间的对话,也可以发表自己的看法,同时,如果你对该博主感兴趣,可以选择关注博主,关注界面如图7-8所示。图7-7博问论坛使用说明图图7-8关注博主使用说明图图7-9博问论坛使用说明图当用户在使用本系统遇到困难时可以通过在线留言给作者留言,或是提出对该系统的建议。在线留言使用说明图如图7-10所示。图7-10在线留言使用说明图本系统的主要界面已经展示完毕,但是功能并没有展示完全。请当前用户移步至右上角,点击个人中心。个人中心模块主要是用于用户发表博客或是博问,查看自己已发表的博客或是博问,添加相册,或者是对自己曾经进行过的点赞,收藏,关注或是评论操作进行查询。由于查询操作近似度较高,所以只列举某一项查询,同样,博客的发表和博问的发表也类似,这里只列举博客发表,如有疑问,请用户通过在线留言给作者留言,作者会进行及时回复。个人中心界面图如图7-11所示。图7-11个人中心界面图发表博客如图7-12所示。图7-12发表博客使用图博客信息查询如图7-13所示。图7-13博客信息查询图 发表博问如图7-14所示。图7-14发表博问图此外,如果用户对刚开始注册信息时填写的信息不满意,或者是有信息错误,想要对信息进行修改,这时就可以通过个人资料修改界面进行个人资料的修改操作。修改个人资料如图7-15所示,修改密码如图7-16所示。图7-15修改个人资料图图7-16修改密码图管理员使用说明由于本系统在开发时主要分为两个模块进行,即用户模块和管理员模块,以上介绍了用户模块的使用说明,以下则是介绍管理员模块的使用说明。和用户模块一样,在刚进入系统后需要我们进行登录才能够使用管理员的功能,这里我们在首页点击后台登录,就可以进入到后台的登录入口,如图7-17所示。图7-17管理员登录界面图值得注意的是,管理员的主页界面图与用户的主页界面图是一样的,不同之处在个人中心之处,这里只列举管理员独有的功能图,当然,类似的图将会被省略。管理员主要的职责就是对用户进行管理,包括用户的增删改查以及用户数据的增删改查。与用户注册不同的是,管理账号不是注册得到的,管理员账号在开发时由开发人员先赋予一个初始账号和密码,其他账号密码皆由初管理员账号进行添加得到。管理员在本系统中所独有的功能包括对博客、博问或是相册进行分类的增删改查,或是对友情链接或是轮播图进行增删改查。以下列举部分使用说明图。添加用户如图7-18所示。图7-18添加用户使用说明图用户查询如图7-19所示。图7-19用户查询使用说明图博客分类添加如图7-20所示。图7-20博客分类添加图友情连接查询如图7-21所示。图7-21友情链接查询图总结与展望其实博客管理系统目前在市面上也十分的常见,像我们在平时遇常用的CSDN,或者是在博客园或者简书。这些都是一些已存在于市面上的非常棒的博客系统,我也是在使用这些系统的过程中慢慢喜欢上了博客这种玩意儿。同样我也是借此次机会完成了拥有自己博客的心愿。我相信任何一个系统设计的目的之初都是为了方便,本系统也不例外。本基于SSM的开源软件技术博客系统设计的主要目的是帮助用户存储技术性文章,方便用户对自己写的文章或者是转载的文章进行管理,当然用户也可以用来记录自己的生活点滴。不过这仅是本系统的主要功能之一,另外一个主要功能就是为了帮助用户解决问题,本系统提供了博问论坛,用户可以在博问论坛进行疑问的发表,再由其他用户进行答疑,我相信这些用户在提出疑问和解答疑问的过程中都可以获得较大的进步。当然,用户能够获得的进步是在使用本系统时才能够获得。而对于我来说,获得的进步是在从事整个毕业设计的过程中获得的进步。我的专业是计算机科学与技术,嵌入式方向,但是在做毕业设计之前我都没有接触过java以及jsp更不用说Java的框架SSM了。这份毕业设计从某种程度上来说,一直在敦促我进行学习,敦促我进步,这也使得我后来能够有机会进行实习。可以说正是此次的毕业设计,才让我有了后来的经历。对于我来说此次的毕业设计不仅让我在能力上有了提高,还让我懂得了一直学习的重要性。尤其是在我在开发时遇到的一个又一个难题,它们都在催促我学习的更多,这也让我一次又一次的坚定了完成此次开发的决心。由于本人是第一次做这种大型项目,所以本系统仍然有很多不合理的地方需要改进,这也成为了我日后继续学习的推动力,感谢本次毕业设计为我带来的诸多惊喜。参考文献常佳宁,李阳齐.基于Django的个人博客系统设计开发[J].中国科技信息,2021(02):75-77.赵岩.博客管理系统的设计与实现[D].吉林大学,2016.方志斌.基于S2SH框架的博客管理系统设计[J].湖南农机:学术版,2012(1):79-80.闫伟光.基于JavaEE的个人博客管理系统的设计和实现[D].内蒙古大学,2013.肖春明.基于ASP技术博客管理系统的设计与实现[D].电子科技大学,2013徐安令.基于WAMP架构的博客系统管理分析与设计[J].电脑编程技巧与维护,2015(1):63-65.胡雅丽.浅析PHP博客管理系统的设计与实现[J].山西青年职业学院学报,2016,29(1):107-109KasatkinaAlexandra.Hopkins,Julian.2019.Monetisingthedividualself.Theemergenceofthe

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论