毕业设计(论文)J2EE博客系统设计_第1页
毕业设计(论文)J2EE博客系统设计_第2页
毕业设计(论文)J2EE博客系统设计_第3页
毕业设计(论文)J2EE博客系统设计_第4页
毕业设计(论文)J2EE博客系统设计_第5页
已阅读5页,还剩42页未读 继续免费阅读

下载本文档

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

文档简介

1、摘要 mvc技术是现在j2ee中最流行的开发框架,也是j2ee技术领域的研究热点,如何选择一个好的mvc框架技术开发出好的系统是现在研究的热点,本论文采用spring的技术作为mvc的逻辑层,hibernate作为数据层、,struts作为web层开发博客系统。系统主要包括用户管理,日志管理,相片管理,模板管理等五大主要模块。本系统针对传统的mvc架构在层次的耦合度大的不足,采用了spring的依赖注入技术,降低各模块耦合度。再采用hibernate,oscache和多线程并发的缓存技术,解决了传统mvc架构访问数据库效率低的问题。针对传统页面单一和使用者个性选择少的缺点,本系统采用了首页模板

2、定制技术,给用户一个全新的体验,实践证明基于spring,hibernate,struts技术的mvc架构是当今最好的mvc架构关键字:程序开发,博客系统,mvc技术,springkey words: blog system 第1章 绪论1.1课题来源 mvc技术是现在j2ee中最流行的开发框架,但是传统mvc框架也暴露了很多缺点,比如说架构中的各个模块的耦合度比较高,模块见的依赖性比较高,数据库的访问效率比较低,在web 页面上比较单一,用户自主选择的机会比较小。而基于spring的技术的mvc架构就解决了媾和问题,spring技术融合hibernate的技术解决了数据库的访问效率问题,st

3、ruts+javascript解决了web页面单一的问题。 2006年最热门的话题就是web的发展,随着web从web1.0发展到web2.0,web在模式上的单纯的“读”向“写”、“共同建设”发展。 这些web2.0技术主要包括:博客(blog)、rss、百科全书(wiki)、威客、网摘、社会网络(sns)、p2p、即时信息(im)等。而博客是web技术最有代表的技术之一,它以它天生的特性成为web的亮点。下面看一些实例:2006年,拥有独立域名的博客站点,在博客站点总数中占约0.43%,这表明,绝大多数的用户将博客服务商作为他们的博客站点首选。而这一年,中国大陆博客服务商(bsp)持续大幅

4、增长,博客服务商数量达到1460家,与去年同期相比增长近55%;大型网络公司如搜狐、百度纷纷推出相应的博客服务,而新兴的博客服务站点如也开始崭露头角。从上面过去的2006年的数据我们可以看到2007年博客的发展和前景。我顺时代的发展,研究博客的开发设计,这可以增长自己的技术也可以为以后工作奠定基础。1.2 设计的目的和意思1.2设计的主要环节本设计主要分五个模块,即:用户管理,日志管理(文章管理,文章分类管理,评论管理),模板管理,友情连接管理,相册管理(相片分类管理,相片管理)。主要实现的功能为:开通博客,用户登录,博客信息修改和统计;文章的发表,修改,删除;文章分类的增加,修改,删除;评论

5、的发表,删除;模板的上传,显示选择,定制;友情连接的增加,删除;相片分类的增加,修改,删除;相片的上传,删除等。论文基本内容包括: 1、引言包括研究的目的和背景、意义等。 2、需求分析3、系统的体系结构设计包括软件的体系结构,软件的环境,系统重要模块组织结构图。 4、系统详细设计 包括用户模块,文章管理模块,评论管理,分类管理,友情模块等设计。5、进一步的改进与展望第2章 需求分析3.1功能需求3.1.1 用户管理需求 用户可以从别的网页登录到注册的界面,进行用户登录。 用户可以很方面的进行开通自己的博客。 用户可以对自己的信息进行修改。比如对密码的修改,博客站点信息的修改,对用户个人信息的修

6、改。 当用户忘记密码,可以提供用户找到密码的功能。3.1.2 日志管理管理需求 用户可以对自己博客的文章分类进行添加,修改和删除; 用户可以对自己博客的文章进行发表,修改,删除。 用户可以对自己博客的评论进行回复,删除3.1.3 模板管理需求 管理员可以用ftp把做好的模板传到服务器上, 系统可以在后台显示出各个模板的内容, 用户还可以选择博客首页使用的模板3.1.4 相片管理需求 用户可以对相片的分类进行增加,修改和删除; 用户可以对相片进行上传,删除,显示。3.2界面需求 页面简洁,操作简单。3.2.1前台首页 用户可以自己定制自己的首页,比如定制首页左边模块的个人和顺序。 用户可以自己制

7、定自己的首页的模板。 3.3性能需求3.3.1.时间特性要求响应时间:普通网页响应速度1秒内,如果网页比较复杂,并且关系到很多计算,一般响应时间在35秒。后台管理系统一般在10秒以下,涉及到数据统计和分析的功能在1分钟以下。3.3.2.在线用户数 至少能支持的在线用户数:5000 至少能支持的预期并发用户数:5003.3.3其他性能要求 系统要考虑分布式处理扩展。例如随着用户数的增长,扩展机器时,各 前台数据要一致。 要考虑搜索引擎优化,扩大被搜索引擎收录的机会。 基于j2ee,mysql架构。3.4安全保密需求3.4.1身份认证 系统能识别注册用户和非注册用户。登录用户和非登录用户。 系统能

8、识别管理员和一般注册用户。 系统能对博客后台系统用户和非博客后台系统用户进行认证。3.4.2 访问控制1博客注册用户和非注册用户的功能区别2博客管理员和注册用户的使用功能上的区别3.4.3输入合法性 尽快采用javascript来验证用户输入的合法性。 数据库中的数据结构定义应该和输入的合法性相对应。尽量采用javascript进行验证。 javascript不能验证的可以采取java程序进行验证输入的合法性。 尽量减少用户的键盘输入。3.4.4异常处理提示 程序能预见可以识别的异常,并且进行处理。所有的异常都应该有输出 对于不能预见的异常如运行时异常,能及时被发现并且能及时解决。第3章 概要

9、设计3.1 开发工具的选择 操作系统: window xp 数据库:mysql web server:apache-tomcat6.0 开发工具:eclipse3.2.2+myeclipse5.1.1+tomcat6.0+jdk1.5 源代码管理:cvs3.2程序系统的结构3.2.1软件的框架图3.2.2系统主要模块图本系统主要分五个模块,即:用户管理,日志管理(文章管理,文章分类管理,评论管理),模板管理,友情连接管理,相册管理(相片分类管理,相片管理)。主要实现的功能为:开通博客,用户登录,博客信息修改和统计;文章的发表,修改,删除;文章分类的增加,修改,删除;评论的发表,删除;模板的上传

10、,显示选择,定制;友情连接的增加,删除;相片分类的增加,修改,删除;相片的上传,删除等。整体模块图如下: 3.2 数据库设计3.2.1数据库各表之间的关系(er图)3.2.2数据库各表和字段blog_user表字段名字段类型限制说明useridnumber(10)primary key用户id,自动生成siteidnumber(10)not nullblog站点id,对应于blog_site的siteidssouseridvarchar2(80)not null主站点的用户idnamevarchar2(40)not null姓名emailvarchar2(80)not nullemailres

11、umevarchar2(400)介绍photovarchar2(200)个人照片addtimedatenot null注册时间,为注册时间,默认为sysdatelogincountnumber(10)not null登录次数 默认为0lasttimedatenot null最后登录时间 默认为注册时间userrolenumber(2)not null用户角色,暂时分为管理员0和一般用户1leftconfvarchar2(20)not nulldefault 01234(表示首页左边模块的排列次序)cssfilevarchar2(80)网站的样式文件,defalut “defalt.css”bl

12、og_site表字段名字段类型限制说明siteidnumber(10)primary key博客站点idnamevarchar2(40)not nullblog站点名domainvarchar2(20)not null博客域名addtimedatenot null开通时间,为注册时间,默认为sysdatetotalviewnumber(10)not null 总的浏览量 default 0totalarticlenumber(10)not null总的文章数 default 0blog_category表(文章分类表)字段名字段类型限制说明catidnumber(10)primary key分

13、类idnamevarchar2(80)not null分类名称useridnumber(10)not null 所属用户idstatusnumber(2)not null分类状态 default=0,0为正常,1为隐藏,2为删除addtimedatenot null添加分类时间,默认为sysdatecatindexnumber(10)not null分类排序id,默认和catid相同totalarticlenumber(10)not null 总文章数,默认为0blog_article表(文章表)字段名字段类型限制说明articleidnumber(10)primary key文章idcati

14、dnumber(10)not null分类iduseridnumber(10)not null 所属用户idstatusnumber(2)not null文章状态default=0,0为正常,1为草稿addtimedatenot null发表时间,默认为sysdatetitlevarchar2(100)not null文章标题contentclobnot null 总文章数,默认为0summaryvarchar2(500)not null文章摘要viewcountnumber(10)not null 查看总数,default 0replycountnumber(10)not null回复总数,

15、default 0 keywordsvarchar2(100)关键字,default nullblog_reply表 (文章回复表)字段名字段类型限制说明replyidnumber(10)primary key评论idcontentvarchar2(4000)not null评论内容useridnumber(10)not null 评论用户id,如果用户登录,那么为userid,如果未登录,默认为-1usernamevarchar2(80)not null用户名或者匿名,数据冗余,方便查询statusnumber(2)not null评论状态 default=0,0为正常,1为删除addtim

16、edatenot null发布评论时间,默认为sysdatearticleidnumber(10)not null文章idblog_links表 (友情链接)字段名字段类型限制说明linkidnumber(10)primary key友情连接idlinknamevarchar2(80)not null友联名称urlvarchar2(200)not nullurl连接useridnumber(10)not null用户的idblog_album(相册分类表)列名称类型其他说明albumidinterger主键分类iduseridinterger用户id(与用户表中对应)namestring分类名

17、picsintergerdefault 0分类下的图片数notestring对类别的描述blog_picture(图片表)列名称类型其他说明pictureidinterger主键图片idbidinterger外键pcategory 图片属于的分类iduseridinterger外键用户idpathstring图片的文件路径sizeinterger图片的大小(单位:byte)addtimelong图片添加的时间(时间戳)notestring对图片的描述heightstring图片的高度3.2.3博客系统的整体数据流图第4章 详细设计通过上面的需求分析和概要设计,知道系统基本要实现的功能和实现这样

18、功能要用到那些技术和工具,在这个阶段要确定要实现这些功能的具体方法,为后面的编码阶段提供一个设计“蓝图”。各个模块的具体实现方式如下:4.1用户模块设计说明4.1.1 开通博客1. 程序描述:用户可以开通自己的博客功能。2. 功能及流程 用户输入基本信息和在sso系统的用户id 系统向blog_user和blog_site表分别插入一条记录 如果成功,返回用户id,同时显示开通成功的信息 如果失败,返回失败页面。3. 输人项字段名字段类型限制说明ssouseridvarchar2(80)not null主站点的用户idnamevarchar2(40)not null姓名emailvarchar

19、2(80)not nullemailresumevarchar2(400)不超过字段最大长度介绍namevarchar2(40)not nullblog站点名domainvarchar2(20)数字或者字母,且第一位必须为字母,并且是唯一的,必须验证唯一性。博客域名1. 输出项 如果成功,返回系统成功的用户userid(唯一代码,暂时为数字),并且显示开通成功的信息 如果失败,返回-1,显示开通失败信息2. 算法:无3. 接口:无4.1.2 用户登录1. 程序描述:用户通过用户id和密码登录自己博客。2. 功能及流程 用户输入用户名和密码 如果合法再次在博客系统中验证是否存在此用户的博客,如果

20、不合法,返回验证失败。 如果博客系统中存在此用户,返回验证成功 否则返回验证失败3. 输人项字段名字段类型限制说明ssouseridvarchar2(80)not null主站点的用户idpasswordvarchar2(40)not null主站点的用户密码4. 输出项 如果成功,返回true,同时跳转到登陆时的页面 如果失败,返回false,跳转到登录时的页面,同时显示登录失败信息5. 算法:无6. 接口:系统的用户验证接口4.1.3 博客信息修改1. 程序描述博客信息修改包括两个部分,一部分是用户信息修改,另外一部分是个人博客站点的信息的修改。而用户信息修改又包括用户的基本信息修改和用户

21、个人照片上传和修改2. 功能及流程 用户修改博客名称 用户修改昵称或者个人简介 用户上传个人照片或者修改个人照片3. 输人项字段名字段类型限制说明namevarchar2(40)not null姓名resumevarchar2(400)不超过字段最大长度介绍namevarchar2(40)not nullblog站点名photovarchar2(20)可以为null个人照片4. 输出项 如果成功,返回true,同时跳转修改页面 如果失败,返回false,跳转到修改页面,同时显示错误信息5. 算法当上传图片或者修改图片时,图片的名称为userid+图片的后缀,例如userid=1001,图片的后

22、缀为gif,那么存储在系统中的图片名为:1001.gif。图片存放的路径为/images/user/6. 接口:无4.1.4 博客信息统计1. 程序描述:统计个人博客站点的总的游览量和总的文章数2. 功能及流程 统计站点的总的浏览量 统计站点的总的文章数3. 输人项:无4. 输出项 显示总的浏览量 显示总的文章数5. 算法 总的浏览量在查看文章时计算,每点击一次,加1,其他的不计算浏 览量 总的文章数在添加文章或者删除文章时计算,添加加1,删除减16. 接口 添加文章 删除文章4.2 文章管理模块设计4.2.1 发表文章1. 程序描述:个人登录自己的博客就可以发表自己的文章了。2. 功能及流程

23、 用户首先登录个人博客 选择要发表的分类,不选表示默认分类 输入文章标题 编辑文章内容 点击“存为草稿”或者“发表文章” 根据文章内容生成文章摘要 插入到数据库表blog_article中3. 输人项字段名字段类型限制说明catidnumber(10)not null分类id,如果没有选择分类,默认为“默认分类”,向数据库中插入的数据为1useridnumber(10)not null 所属用户id,取cookie中的“userid”,如果没有登录,那么不能发表文章,这个由权限管理判断statusnumber(2)not null文章状态default=0,0为正常,1为草稿,在发表文章时,如

24、果点“发表文章”,值为1,如果点“存为草稿”,则设为1titlevarchar2(100)not null文章标题contentclobnot null 文章内容summaryvarchar2(500)not null文章摘要4. 输出项 如果成功,返回文章的id,同时调整到提示页面,显示成功信息 如果失败,返回-1,同时跳转到提示页面,显示失败信息5. 算法:生成文章摘要:目前只取文章内容的前400个字符6. 接口:权限管理接口,判断用户是否登录。4.2.2 修改文章1. 程序描述如果发表的文章不是很满意或者需要重新补充内容,个人用户可以修改文章内容信息2. 功能及流程 首先用户必须登录 其

25、次用户必须是此文章的author 用户可以修改标题和文章内容 重新生成文章摘要 修改数据库表blog_article中的记录3. 输人项字段名字段类型限制说明catidnumber(10)not null分类暂时不能做修改,如果要修改的话,必须同时修改分类表下的文章数。titlevarchar2(100)not null文章标题contentclobnot null 文章内容4. 输出项 如果成功,返回true,并且跳转到提示页面,显示修改成功。 如果失败,返回false,并且跳转到提示页面,显示修改失败。5. 算法:无6. 接口:权限管理接口,判断用户是否登录。 4.2.3 删除文章1. 程

26、序描述:博客用户可以删除用户自己的文章。2. 功能及流程 用户首先必须登录 判断该文章是否属于此用户,如果是才允许删除 确认确实要删除此文章,如果用户点击是,则删除文章 删除文章并不是实际删除文章,只是将文章的status设置为2,同时将一些相应的统计减1即可3. 输人项字段名字段类型限制说明articleidnumber(10)not null文章唯一iduseridnumber(10)not null 用户唯一id,用来判断用户身份4. 输出项 如果成功,返回true,同时跳转到成功页面,并且显示成功提示信息 如果失败,返回false,同时调整到失败页面,并且显示失败提示信息5. 算法:无

27、6. 接口 权限管理中的判断用户是否登录 权限管理中的判断文章的作者是否为登录用户4.2.4 显示文章1. 程序描述显示当前模块的文章,分为两块1) 显示给用户浏览2) 供博客作者管理操作使用两者在界面显示上可能有所不同,但基本功能相同。可以根据【时间日期】,【文章id】,【状态】,【文章分类】,【用户id】,【站点id】等进行查询或者排序可以对内容进行分页显示文章内容由于比较大,并不在查询中获得值,必须另外一次查询才能获取2. 功能及流程 如果是管理时的显示,那么需要验证用户是否登录 输入时间日期或者文章id,状态、文章分类,用户id,站点id等一个或者多个查询条件 确定排序规则 确定查询的

28、数据范围如020条 生成sql语句并且进行数据库查询 返回article对象,并且根据对象获得输出项 显示输出项到页面上3. 输人项字段名字段类型限制说明articleidnumber(10)primary key文章idcatidnumber(10)not null分类iduseridnumber(10)not null 所属用户idstatusnumber(2)not null文章状态default=0,0为正常,1为草稿addtimedatenot null发表时间,默认为sysdatesiteidnumber(10)not null站点id4. 输出项字段名字段类型限制说明articl

29、eidnumber(10)primary key文章idcatidnumber(10)not null分类iduseridnumber(10)not null 所属用户idstatusnumber(2)not null文章状态default=0,0为正常,1为草稿addtimedatenot null发表时间,默认为sysdatetitlevarchar2(100)not null文章标题summaryvarchar2(500)not null文章摘要viewcountnumber(10)not null 查看总数,default 0replycountnumber(10)not null回复

30、总数,default 0 5. 算法:无6. 接口:在用户对博客里面的文章管理是需要验证用户是否登录。4.3 评论管理模块设计4.3.1 发表评论1. 程序描述评论是博客读者对于文章作者的一种观点和看法,一般显示在文章后面。2. 功能及流程 读者浏览博客上的文章 输入内容 系统判断用户是否登录,如果登录,那么获得userid和username,否则userid=-1,并且username等于“匿名” 插入到blog_reply数据库。3. 输人项字段名字段类型限制说明contentvarchar2(4000)not null评论内容useridnumber(10)not null 评论用户id

31、,如果用户登录,那么为userid,如果未登录,默认为-1usernamevarchar2(80)not null用户名或者匿名,数据冗余,方便查询articleidnumber(10)not null文章id4. 输出项 如果成功,返回true,同时跳转到当前评论的页面,显示评论信息。 如果失败,返回false,同时跳转到当前评论的页面。5. 算法:无6. 接口:权限管理验证用户是否登录。4.3.2 删除评论1. 程序描述文章作者可以删除一些自己写的评论,同时也可以删除其他人评论自己文章的评论。2. 功能及流程 作者首先登录到管理后台 系统查询出作者可以删除的博客,包括自己写的评论和其他人评

32、论自己的文章的评论。 选择某一项或者某几项进行删除 删除时,并不是真正的删除评论,只是将评论的status设置为“删除状态”3. 输人项字段名字段类型限制说明useridnumber(10)not null 当前登录用户的idarticleidnumber(10)not null文章id4. 输出项 如果成功,返回true,同时显示删除成功信息,并且跳转到显示评论的页面。 如果失败,返回false,同时显示删除失败的信息,并且跳转到显示评论到页面。5. 算法:无6. 接口 权限管理验证用户 评论显示模块4.3.3 评论显示1. 程序描述评论显示包括两块: 显示在所评论的文章之后,此时的输入是文

33、章id 博客用户管理评论时,按照条件进行查询,查询条件包括:1)日期 2)文章id 2. 功能及流程 根据文章id,查询出article对象 根据日期查询出article对象的集合。 如果是管理用户评论时,必须判断用户是否登录 需要注意的是:评论在系统中使用了两个cache机制,一个cache的key是文章id,value是评论的id数组,另外一个cache是评论id和评论的对象。3. 输人项字段名字段类型限制说明addtimedatenot null发布评论时间,默认为sysdatearticleidnumber(10)not null文章id4. 输出项字段名字段类型限制说明replyid

34、number(10)primary key评论idcontentvarchar2(4000)not null评论内容useridnumber(10)not null 评论用户id,如果用户登录,那么为userid,如果未登录,默认为-1usernamevarchar2(80)not null用户名或者匿名,数据冗余,方便查询addtimedatenot null发布评论时间,默认为sysdatearticleidnumber(10)not null文章id5. 算法:无6. 接口:权限管理的用户登录模块4.4 分类管理模块设计4.4.1 添加分类1. 程序描述:博客用户可以添加自己文章的分类,

35、方便对于文章的管理和查询。2. 功能及流程 用户首先登录至管理中心 用户输入分类名 插入到数据库表blog_category表中。 显示已插入到分类3. 输人项字段名字段类型限制说明namevarchar2(80)not null分类名称useridnumber(10)not null 所属用户id4. 输出项 如果添加分类成功,返回true,显示添加分类成功信息,同时跳转到显示分类显示页面 如果失败,返回false,显示添加分类失败信息,同时跳转到显示分类显示页面5. 算法:无6. 接口 权限管理到用户登录模块 分类显示模块4.4.2 修改分类1. 程序描述博客用户可以修改分类名。2. 功能

36、及流程 用户登录至管理中心 显示所有已有分类 用户选择某个分类或者某些分类进行修改名称 修改数据库的字段。3. 输人项字段名字段类型限制说明namevarchar2(80)not null分类名称useridnumber(10)not null 所属用户idcategoryidnumber(10)not null 分类id4. 输出项 如果修改分类名成功,返回true,显示修改分类成功信息,同时跳转到显示分类显示页面 如果失败,返回false,显示修改分类失败信息,同时跳转到显示分类显示页面5. 算法:无6. 接口 权限管理到用户登录模块 分类显示模块4.4.3 分类显示1. 程序描述分类显示

37、包括两个部分,一部分是用户博客页面上左边的分类栏,另外一部分是至管理中心的分类管理页面。由于后面的部分已经覆盖栏前面的部分,只是输出的项稍微少点而已。另外的一点区别就是前者的分类显示不需要用户登录,而后者需要用户登录2. 功能及流程 用户登录管理中心 点击显示所有分类 系统根据userid返回category数组对象。3. 输人项 字段名字段类型限制说明useridnumber(10)not null 所属用户id4. 输出项 如果成功,返回一个包含下列字段的category对象字段名字段类型限制说明catidnumber(10)primary key分类idnamevarchar2(80)n

38、ot null分类名称useridnumber(10)not null 所属用户idstatusnumber(2)not null博客域名 default=0,0为正常,1为隐藏,2为删除addtimedatenot null添加分类时间,默认为sysdatecatindexnumber(10)not null分类排序id,默认和catid相同totalarticlenumber(10)not null 总文章数,默认为0 如果失败,则返回null5. 算法:无6. 接口:权限管理的用户登录模块4.5 模板管理模块设计4.5.1 上传模板现在由系统管理直接在系统的发布服务器上上传。可以用户ft

39、p上传工具。对上传文件有下面的要求: 上传博客模板的效果图片文件,必须是gif格式,以便能展示给用户(大图, 缩略图个一张) 文件上传后存储在/css/目录下。 文件名分别为tpl_1.css,tpl_2.css,tpl_3.css,依次递增,对应都图片名称依次为tpl_1_1.gif,tp1_1_2.gif,tpl_2_1.gif,tpl_2_2.gif,tpl_3_1.gif,tp1_3_2.gif等。 注意,一个模板文件对应两个图片文件,一个是大图,一个是缩略图,大图名是tmp_n_1.gif,小图是tmp_n_2.gif4.5.2 模板显示选择1. 程序描述显示系统中所有博客管理员上传

40、的模板。2. 功能及流程 用户登录至管理中心 点击模板显示 系统从/css/文件夹中选择所有的tpl_开始的css文件,然后依次显示出来 点击某一个模板文件的小图可以生成查看该模板的大图效果3. 输人项:无4. 输出项:所有的模板文件及其对应的图片文件5. 算法:无6. 接口:权限管理的用户登录模块4.5.3 模板定制1. 程序描述模板定制的意思就是博客用户可以选择博客管理员上传的模板,以便中页面展示不同的风格。2. 功能及流程 用户登录管理中心 系统显示所有模板并且供用户挑选 用户选择某一个模板 修改blog_user表中的cssfile字段。3. 输人项字段名字段类型限制说明useridn

41、umber(10)not null 所属用户id4. 输出项 如果成功,返回true,同时显示成功信息,并且跳转到模板显示页面 如果失败,返回false,同时显示失败信息,并且跳转到模板显示页面。5. 算法:无6. 接口:权限管理中用户登录模块4.6友情链接管理模块设计4.6.1 添加友情链接1. 程序描述博客用户可以添加友情链接,以便能更好访问和其他博客或者站点2. 功能及流程 用户登录博客 输入链接名和链接url 3) 系统插入到blog_links数据表中3. 输人项字段名字段类型限制说明useridnumber(10)not null 所属用户idlinkname varchar2(4

42、.80)not null链接名urlvarchar2(200)not null 链接地址4. 输出项 如果成功,返回true,同时跳转到原点击添加友情链接页面 如果失败,返回false,跳转回原点击友情链接5. 算法:无6. 接口:权限系统的判断用户是否登录模块4.6.2 删除友情链接1. 程序描述:博客用户可以删除自己的友情链接2. 功能及流程 用户登录博客 选择显示的某个链接 点击删除 系统直接从数据库中删除该条记录。【注意,只能删除自己的友情链接,在删除的时候必须注意,防止修改参数删除】3. 输人项字段名字段类型限制说明useridnumber(10)not null 所属用户idlin

43、ked number(10)not null链接id4. 输出项 如果成功,返回true,同时跳转到原点击添加友情链接页面 如果失败,返回false,跳转回原点击友情链接5. 算法:无6. 接口 权限管理中判断用户是否登录模块 显示友情链接模块4.6.3 显示友情链接1. 程序描述友情链接显示中用户博客的左边的栏。主要显示链接名称,名称的href=链接url2. 功能及流程 获得当前的博客站点的userid 查询数据库,获得一个links对象3. 输人项字段名字段类型限制说明useridnumber(10)not null 博客站点所属用户id4. 输出项 如果成功,返回一个links对象,如

44、下:字段名字段类型限制说明linkednumber(10)primary key友情连接idlinknamevarchar2(4.80)not null友联名称urlvarchar2(200)not nullurl连接useridnumber(10)not null用户的id 如果失败,返回null5. 算法:无6. 接口:权限管理中判断用户是否登录模块4.7相片分类管理模块设计4.7.1 添加相片分类1. 程序描述:博客用户可以添加自己相片的分类,方便对于相片的管理和查询。2. 功能及流程 用户首先登录至管理中心 用户输入分类名 插入到数据库表blog_album表中。 显示已插入到分类3.

45、 输人项字段名字段类型限制说明namevarchar2(80)not null分类名称useridnumber(10)not null 所属用户id4. 输出项 如果添加分类成功,返回true,显示添加分类成功信息,同时跳转到显示分类显示页面 如果失败,返回false,显示添加分类失败信息,同时跳转到显示分类显示页面5. 算法:无6. 接口:权限管理中判断用户是否登录模块4.7.2 修改相片分类1. 程序描述:博客用户可以修改相片分类名。2. 功能及流程 用户登录至管理中心 显示所有已有相片分类 用户选择某个分类或者某些分类进行修改名称 修改数据库的字段。3. 输人项字段名字段类型限制说明na

46、mevarchar2(80)not null分类名称useridnumber(10)not null 所属用户idalbumidnumber(10)not null 分类id4. 输出项 如果修改分类名成功,返回true,显示修改分类成功信息,同时跳转到显示分类显示页面 如果失败,返回false,显示修改分类失败信息,同时跳转到显示分类显示页面5. 算法:无6. 接口:权限管理中判断用户是否登录模块4.8相片管理模块设计4.8.1 添加相片1. 程序描述:博客用户可以添加自己相片.2. 功能及流程 用户首先登录至管理中心 用户选择相片的类别 插入到数据库表blog_picture表中。 显示已

47、插入到相片中3. 输人项字段名字段类型限制说明namevarchar2(80)not null分类名称useridnumber(4.10)not null 所属用户id4. 输出项 如果添加分类成功,返回true,显示添加分类成功信息,同时跳转到显示分类显示页面 如果失败,返回false,显示添加分类失败信息,同时跳转到显示分类显示页面5. 算法:无6. 接口:无4.8.2 修改相片1. 程序描述:博客用户可以修改相片分类名。2. 功能及流程 用户登录至管理中心 显示所有已有相片分类 用户选择某个分类或者某些分类进行修改名称 修改数据库的字段。3. 输人项字段名字段类型限制说明namevarc

48、har2(80)not null分类名称useridnumber(10)not null 所属用户idalbumidnumber(10)not null 分类id4. 输出项 如果修改分类名成功,返回true,显示修改分类成功信息,同时跳转到显示分类显示页面 如果失败,返回false,显示修改分类失败信息,同时跳转到显示分类显示页面5. 算法:无6. 接口:无4. 9权限管理模块设计1. 程序描述权限管理是博客系统比较公用的一块,所有的权限设置都是从这里进行判断。主要有几个部分: 判断用户是否登录 判断某一个对象如文章、评论、分类、友情链接等的作者是否为当前作者 判断某一个用户是否是博客管理员

49、2. 功能及流程 islogin() 判断用户是否登录 isobjauthor(object obj,int curuserid) 判断当前用户是否为对象的作者,这个方法的obj可以以article,reply等替换,根据系统的需要而定 issuperadmin(int userid) 是否为超级管理员3. 输人项:视不同的方法而定4. 输出项 如果是,返回 true 如果否,返回false5. 算法:无6. 接口:无第5章 系统测试5.1测试方法系统测试的根本目标是尽可能多地发现并排除软件中潜藏的错误,最终得到一个高质量的软件系统。测试方法通常包括以下两种,一种方法称为白盒测试,另一种称为黑

50、盒测试。这两种测试途径各有优缺点,互相补充,缺一不可对于软件测试而言,墨盒测试法把程序看作一个黑盒子,完全不考虑程序的内部结构和处理过程。也就是说,墨盒测试是在程序接口进行的测试,神经质只检查程序功能是否能按照规格说明书的规定正常使用,程序是否能适当地接收输入数据并产生正确的输出信息程序运行过程中能否保持外部信息的完整性。因此,黑盒测试又称为功能测试。白盒测试法与墨盒测试法相反,它的前提是可以把程序看成装在一个透明的白盒子里,测试者完全知道程序的结构和处理算法。这种方法按照程序内部的逻辑测试程序,检测程序中的主要执行通路是否都能按预定要求正确工作。白盒测试又称为结构测试。一般来说,程序软件测试

51、大都采用黑盒测试。5.2系统测试及结果本系统采用黑盒测试,因为功能比较简单,且各个模块相互独立性比较强,墨盒测试就能查找出软件问题。首先对各个模块分别进行测试,在系统的工程属性将启动对象设为所要测的子模块。测试数据的选取在测试过程中也很重要,一般先输入正确的测试数据,看是否能得出正确结构。同时还得考虑错误的数据和边界值。第6章 总 结这是本人在大四上学期课程设计做的一个blog系统,大概花了我进一个月的时间。虽然不是很完善,但我心里还是美滋滋的,因为这是我第一次做这样的一个算是比较大型的系统吧,在做之前,我也参考了一些有关书籍,专门做一个系统,我根据书上的步骤,自己写出了本系统的计划书,当时写完后就给我们课程设计老师看了,认为这个计划是可行的。但在做这个系统过程中也遇到了不少问题,除了问同学和上网查资料外,主要是问现在工作的同事,在此我由衷的感谢我的同事,执导老师和同学!站内有几个成功的地方是我自己花了好长时间才

温馨提示

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

评论

0/150

提交评论