版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、本科生毕业设计说明书题目:基于Java的博客管理系统的设计与实现摘 要本文对博客系统的设计与开发过程进行了分析与叙述。依照系统开发的实际操作步骤,文章从系统概述、系统分析、系统设计和系统实现这四大章节对系统开发过程进行分别阐述。系统概述中主要进行了课题背景、课题意义和现状分析;系统分析中主要包括了系统设计前的需求分析、业务流程分析、数据流程分析和数据字典分析;而系统设计则是对系统体系结构、各功能模块、数据库结构设计等具体的系统实现过程进行剖析展示,在系统设计章节中有详细的文字解释并配有表图说明。文章还列举了关键的功能模块实现代码。本文力求可以为博客系统的开发设计找到一种切实可行的解决方案,在分
2、析了目前国内外博客系统的现状的基础上,并经过反复摸索和学习研究后,借助编程语言JSP和SQLServer数据库最终实现了博客系统的开发,并在一系列测试后,达成了人性化、所需功能完善操作清晰的设计目标。关键词:JSP;SQL Server 2005;博客目 录1 系统概述.1 1.1 设计目的.1 1.2 设计思路.1 1.3 系统需求分析.21.4 开发可行性分析.41.4.1 管理上的可行性.41.4.2 技术上的可行性.41.4.3 经济上的可行性.41.4.4 执行可行性.41.5 开发环境.41.6 运行环境.41.7 参考文献.42 总体设计.6 2.1 系统物理结构.62.1.1
3、系统流程图.62.1.2 数据库分析.7 2.2 模块功能设计.112.2.1 系统首页设计.112.2.2 用户注册模块.112.2.3 照片发布模块.132.2.4 添加文章模块.142.2.5 用户修改个人资料模块.142.2.6 管理员登录模块.152.2.7 注册用户管理.162.2.8 公告管理模块界面.163 运行设计.17 3.1 运行代码.173.1.1 用户注册模块界面.173.1.2 照片模块界面.183.1.3 添加文章模块界面.193.1.4 修改个人资料界面.203.1.5 登陆界面.21 3.2 数据库代码.224 系统测试.23 4.1 系统测试.23 4.1.
4、1 测试的目的.234.1.2 测试的准则.234.1.3 测试的方法.23 4.2 功能测试.24 4.3 稳定性测试.24 4.4 安全性测试.24 4.5 系统测试.24 4.6 系统维护.241 系统概述 1.1 设计目的和意义 随着互联网的迅猛发展,网络日益成为人们交流的重要媒介,网络交流方式也日新月异。在没有自己的博客之前,人们会经常进出于论坛发表贴子或者通过即时通信软件聊天,来表达自已的想法,可是这些都是零散的和杂乱的。博客的出现,让人们可以不断的把自己以前的和每天激发的一些想法或者感受整理放在自己的博客上,每次在写文章的时候,可能又会产生新的想法。虽然一些想法一些思考只是皮毛,
5、没有什么深度,但是当下笔去写的时候每次都会对某个小小的问题有了更多的一点点思考,再写博客的时候就感觉到了一种满足感,一种想法得以释放思考得以延伸的满足感。生活中每天的一个小小的事情都会引起人们的思考,甚至是和朋友的聊天中一个小小的火花迸发。督促自己努力、把一时的想法变成观点,争取在生命中的每天里留下点什么,这也是人们写博客的目的之一。这样就能督促自己每一天不要浑浑噩噩,时光流逝无痕无声无息,写博客也是在自己的每一天上留下了一道浅浅的思考和划痕。不仅如此,通过写博客、记录自己的想法可以帮助实现如下这些目的:(1)记录生活,在自己的每一天上留下思考的划痕。 (2)整理思路,固化知识,获得更多更好的
6、想法。 (3)分享,将自己的想法、经验与人分享。(4)交流、提高,通过交流产生更多的思维火花,相互提高。 (5)交友,互相鼓励,一路同行。博客系统的实现,用户轻松注册一个账号后,可以发布照片,个人工作过程、生活故事、思想历程、闪现的灵感等及时记录和发布,发挥个人无限的表达力;更可以以文会友,结识和汇聚朋友,进行深度交流沟通。1.2 设计思路首先是拿到客户的需求,有时候客户的需求很不合理,由于客户对Java不理解和对自己操作简便的最大化给程序员造成了很大的麻烦,对于客户的这种无理的需求,项目经理通常要跟他们解释清楚,同时,有些需求是客户也想不到的,作为有良知的程序员,主动和客户提出来。拿到客户的
7、需求之后,要进行的是需求分析,这是一个很重要的过程,需求分析不好,将直接影响到程序员代码编写,无论是对客户,还是对公司都有很大的损失。需求分析将客户的需求实现模块化,对每个功能具体化,这样编程起来就特别简单。既节省了时间,又能实现代码的优化。需求分析结束,就是代码的编写了,把程序员分成小组,每个小组负责不同的模块,这样分工明确,没有人能逃避自己的责任。有利于项目时间的掌握和对项目的可控性的增强。代码写完后就是个功能模块实现拼接的时候。完成拼接以后就是进入项目的测试阶段,测试通过就是上线了。最后就是系统的维护。1.3 系统需求分析本系统致力于建立灵活、方便的博客系统,主要有三大功能模块:系统管理
8、员模块、注册的会员模块和游客访问模块。系统管理员模块:只有系统管理员才具有该模块的权限。该模块需要实现注册用户和系统用户的管理,另外通过该模块可以浏览文章信息、浏览相册、删除文章、删除相册等,以及系统公告等信息。系统公告参数具体包括标题和内容2个方面的信息。注册用户模块:用户只用通过该网站提供的接口注册后才有的功能。该模块是系统核心的功能模块,要求实现博客文章发表、撰写日志、相册上传、文章评论、删除文章、删除照片、修改个人信息和好友管理的功能。游客模块:用户不需要注册就有的功能。该模块要求实现博客文章信息浏览、相册查看和发表评论等功能。系统功能图如图1-1所示:图1-1 系统功能图1.4 开发
9、可行性分析1.4.1管理上的可行性把博客伸到互联网上,建立起用户、网络、博客一体化的模式,对于商家来说是一大进步,促进网上博客的发展。因此,商家大都不会对此持有反对意见,领导也能够相应的支持。1.4.2技术上的可行性使用MyEclipse作为开发环境,服务器选用Apache,选择Java语言就能有效解决相关的问题,从而确保实现系统功能。1.4.3经济上的可行性 随着经济的发展,人们在网上的交流形式也越来越广泛。相应的各种交流软件的需求就变得越来越大。这样就提供了广阔的市场。人们在网络交流上的消费也越来越高,这样就让商家看到了商机,从而就会加大投资,这样就提供了经济上的支持。从而经济上是可行的。
10、1.4.4执行可行性本系统选用大家所熟知的火狐或者谷歌浏览界面,用户有基本的计算机知识就可以轻松使用。并且整个系统选用友好的交互界面,简明扼要,对数据库的要求也不是很高。因此,该系统的操作是可行的。1.5 开发环境该系统利用Java技术来建构,Java具有语言相容性高、隐密安全性高、容易操作易于学习等特点,它具有很强大的功能、友好的界面、开放的编程技术和完全的站点建设方案。系统的开发工具是MyEclipse,数据库选用SQL SERVER数据库,它能够处理大量数据,同时保持数据的完整性并提供许多高级管理功能。1.6 运行环境系统使用基于Java语言,后台的数据库使用SQL SERVER数据库管
11、理整个联想集团人力资源管理系统的后台数据。系统运行环境是jdk1.7 + Apache Tomcat 7。Tomcat服务器是一个免费的开放源代码的Web应用服务器。Tomcat提供了各种平台的版本供下载,可以从其官方网站上下载其源代码版或者二进制版。由于Java的跨平台特性,基于Java的Tomcat也具有跨平台性。1.7 参考文献1 姜雷. 基于Java技术的实验室管理系统的设计与实现D. 电子科技大学,20142 王添财. 基于Java EE的在线考试系统的设计与实现D. 华南理工大学,20143 张韬. 基于Java Web的材料采购业务管理系统的设计与实现D. 电子科技大学,2014
12、4 闫伟光. 基于Java EE的个人博客管理系统系统的设计与实现D. 内蒙古大学,20135 印旻.Java语言与面向对象程序设计M. 北京:清华大学出版社,20136 桂思强.数据库程序设计M. 北京:中国铁道出版社,20137 王华杰,黄山.数据库编程M. 北京:科学出版社,20138 张洪波,张黎明,单银银. JSP/HTLM编程实作教程M. 北京:北京希望电子出版社,20119 胡社.HTML编程.M. 北京:人民邮电出版社,201210 李廉.Web服务器技术指南M. 北京:机械工业出版社,201311 杨小平、尤晓东 多媒体技术及应用M. 北京:清华大学出版社,201412 刘乃
13、琦、苏畅 Java应用开发与实践M. 北京:人民邮电出版社,201213 张海藩 软件工程导论(第五版)M. 北京:清华大学出版社,201214 马建红、李占波 JSP应用与开发技术M. 北京:清华大学出版社 ,20132 总体设计2.1 系统物理结构本系统的系统结构是按照了自上向下的设计理念完成的。第一层是用户登录界面。第二层是网站首页。第三层主要提供系统管理员功能,也包括用户信息管理,文章管理、相册管理、公告管理等,用户登录成功后可以转至各个管理功能。第四层即各个管理功能的所有功能。2.1.1 系统流程图如图2-1所示。图2-1 系统流程图2.1.2 数据库分析数据库是本系统的核心,系统中
14、所有的信息都存储在数据库中,从而实现需要的功能。本系统中数据库采用SQL SERVER作为数据库工具。如果直接在数据库软件上建立表格,开发出来的数据库多半存在很多弊端,由于没有全面分析用户需求,数据库很可能在网站编写过程中需要多次修改,这将大大降低开发效率。一个良好的数据库开发过程一般是先系统分析,在逻辑设计,然后物理实现。系统分析中分析数据库用户需求,并画出E-R(Entity-Relationship)图直观地表示出数据库系统的需求。逻辑设计中根据系统分析设计一个关系模型。物理设计为逻辑设计中的数据库模型选取一个最适合的应用环境的物理结构,通常选取一个常用的数据库软件,用数据库软件创建与逻
15、辑设计中数据模型对应的数据库。1、数据库需求分析博客系统中,数据库要解决如下需求:(1)保存会员信息,包括员工的姓名、性别、出生日期、民族等员工的信息。(2)保存管理员的信息,包括管理员的姓名、编号等信息。2、数据库概念设计拥有以上的数据项和数据结构以后,就可以设计出能够满足用户需求的各种实体以及它们之间的关系,为后面的逻辑结构设计打下基础。这些实体包含各种具体信息,通过相互之间的作用形成数据的流动。分析本系统的需求,可以得到如下实体间E-R图如图2-2所示:图2-2 系统数据库E-R图3、数据库逻辑设计数据库的概念结构设计完毕后,可以将上面的数据库概念转化成某种数据库系统所支持的实际数据模型
16、,也就是数据库的逻辑结构。利用这个实际数据模型,可以很直观的看出数据库中每个数据表的所储存的信息情况,比如字段的名称,字段的类型,字段是否允许为空以及对字段进行的说明,这其中包括了主键字段不允许为空的这一特性。各个E-R图转换的关系表如下:(1)用户信息表(t_users)用户信息表主要用于存放用户的信息,主要字段包括:用户ID,用户账号,密码,状态,地址,电话,头像等。表3-1 用户信息表(t_users)字段名数据类型字段描述长度主键IDint用户ID4Namevarchar用户账号50Pwdvarchar用户密码50Realnamevarchar 昵称50Sexvarchar性别50Ad
17、dressvarchar住址50Telvarchar联系方式50picpathvarchar头像50(2)文章信息表(t_bowen)文章信息表主要用于存储用户添加的文章信息,主要字段有文章编号、标题、内容。表3-2 文章信息表(t_bowen)字段名数据类型字段描述长度主键IDInt文章编号4TitleVarchar标题50ContentVarchar文章内容5000TimesDate添加时间4User_idInt用户Id4ClicksInt浏览量4(3)相册信息表(t_xiangce)文章信息表主要用于存储用户添加的相册信息,主要字段有相册编号、标题、内容。表3-3 相册类型信息表(t_x
18、iangce)字段名数据类型字段描述长度主键IDInt相册编号4TitleVarchar相册标题50TimesDate添加时间4User_idInt用户Id4(4)评论信息表(t_pinglun)评论信息表主要用于对文章的评论信息,主要字段包括:评论时间,评论内容,评论者姓名。表3-4 评论信息表(t_pinglun)字段名数据类型字段描述长度主键IDInt评论编号4contentVarchar评论内容50shjianVarchar评论时间50bowen_idint文章ID50(5)公告信息表(t_gonggao)公告信息表主要用于网站的公告的信息,主要字段包括:公告标题、公告内容添加日期。表
19、3-5 公告信息表(t_gonggao)字段名数据类型字段描述长度主键Idvarchar编号4Titlevarchar标题50Conentvarchar内容5000timesDatetime发布时间4(6)照片信息表(t_zhaopian)照片信息表主要用于用户的照片信息,主要字段包括:用户ID、照片标题、照片介绍。表3-6 好友信息表(t_zhaopian)字段名数据类型字段描述长度主键IDInt编号4titlevarchar照片标题4fujianvarchar照片路径4jieshaovarchar照片介绍xiangce_idInt相册ID(7)管理员信息表(admin)管理员信息表主要用于
20、系统管理员的信息,主要字段包括:编号、登陆账号、登陆密码。表3-7 管理员信息表(admin)字段名数据类型字段描述长度主键IDInt编号10Namevarchar登陆账号50Pwdvarchar登陆密码502.2 模块功能设计2.2.1 系统首页设计页面的上方显示的是该网站的logo和当前的时间,下方主要部分是信息显示区域,右侧中间部分是通知公告,管理员发布的信息公告都可以在此点击后链接到相应的信息页面查看具体通知公告,右上方是登陆模块,用户必须输入正确的用户名、密码和验证码后才能进入系统,右下方方是一个精美的日立表。首页界面如图2-3所示。 图2-3 系统首页图2.2.2 用户注册模块游客
21、要想使用本系统的功能,并不是仅仅局限于浏览和评论,前台条件是必须先注册一个用户账号,然后凭此账号登陆,才能拥有相册上传、好友管理、文章发布等这些功能。注册界面如图2-4所示。图2-4 用户注册模块界面2.2.3 照片发布模块在这个界面中,用户需要输入照片标题、照片说明信息。这个地方还用到的现在比较流行的富文本编辑器fckEditor。 图2-5 照片发布模板图2.2.4 添加文章模块在该界面中首先输入文章内容。单击“提交”按钮,即可完成归文章发布操作,如图2-6所示。图2-6 添加文章模块界面2.2.5 用户修改个人资料模块点击个人资料链接。跳转到个人资料编辑页面。系统自动赋值数据到个人信息的
22、文框中。可以直接修改文本框的内容,修改完毕,单击“提交”按钮。如图2-7所示。图2-7 用户个人资料编辑模块界面2.2.6 管理员登录模块系统管理员要维护整个系统,必须先登陆到系统中,在登陆页面,首先将从前台页面提交的用户名和密码进行接受,之后在后台进行处理,按照用户名在数据库中进行查询如果查到该用户则将该用户的权限和密码全都取出来分别赋给两个字符串变量,判断从数据库中读出的密码与登录时输入的密码是否配比上,若两个密码相同则根据权限的值进入相应的页面,否则输出密码错误。如图2-8所示。图2-8系统管理员登陆模块界面2.2.7 注册用户管理管理员登陆到系统后。点击上面的菜单“用户管理”,可以浏览
23、注册用的信息,同时也可以删除不合法的用户。以保证系统的纯洁性。如图2-9所示。图2-9注册用户模块界面2.2.8 公告管理模块界面管理员登陆到系统后。点击上面的菜单“公告管理”,可以浏览以前发布的公告信息,同时也可以删除、编辑旧的公告,录入新的公告。如图2-10所示。图2-10 公告管理模块界面3 运行设计3.1 运行代码3.1.1 用户注册模块界面public String userReg()TUser user=new TUser();user.setUserName(userName);user.setUserPw(userPw);user.setUserAddress(userAddr
24、ess);user.setUserTel(userTel);user.setUserRealname(userRealname);user.setUserEmail(userEmail);user.setUserSex(userSex);user.setUserQq(userQq);user.setFujian(fujian.equals()=true?/img/none.gif:fujian);user.setFangwenliang(0);user.setUserDel(no); userDAO.save(user);return successAdd;public String user
25、Edit()TUser user=userDAO.findById(userId);user.setUserName(userName);user.setUserPw(userPw);user.setUserAddress(userAddress);user.setUserTel(userTel);user.setUserRealname(userRealname);user.setUserEmail(userEmail);user.setUserSex(userSex);user.setUserQq(userQq);user.setFujian(fujian);userDAO.getHibe
26、rnateTemplate().update(user);Map request=(Map)ServletActionContext.getContext().get(request);request.put(msg, 修改成功);return msg;3.1.2 照片模块界面public String zhaopianAdd()HttpServletRequest request=ServletActionContext.getRequest();TZhaopian zhaopian=new TZhaopian();zhaopian.setTitle(request.getParameter
27、(title);zhaopian.setFujian(request.getParameter(fujian);zhaopian.setXiangceId(Integer.parseInt(request.getParameter(xiangceId);zhaopian.setDel(no);zhaopianDAO.save(zhaopian);request.setAttribute(msg, 上传图片成功);return msg;public String zhaopianDel()String sql=update TZhaopian set del=yes where id=+id;x
28、iangceDAO.getHibernateTemplate().bulkUpdate(sql);Map request=(Map)ServletActionContext.getContext().get(request);request.put(msg, 照片删除成功);return msg;public String xiangceAll()Map request=(Map)ServletActionContext.getContext().get(request);String sql=from TXiangce where del=no and userId=+userId;List
29、 xiangceList=xiangceDAO.getHibernateTemplate().find(sql);for(int i=0;ixiangceList.size();i+)TXiangce xiangce=(TXiangce)xiangceList.get(i);List zhaopianList=zhaopianDAO.getHibernateTemplate().find(s);xiangce.setZhaopianList(zhaopianList);request.put(xiangceList, xiangceList);TUser user=userDAO.findBy
30、Id(userId);request.put(user, user);return ActionSupport.SUCCESS;3.1.3 添加文章模块界面public String bowenAdd()TBowen bowen=new TBowen();bowen.setTitle(title);bowen.setContent(content);bowen.setShijian(new Date().toLocaleString();bowen.setUserId(userId);bowen.setDel(no);Map request=(Map)ServletActionContext.
31、getContext().get(request);request.put(msg, 博文发布成功);return msg;public String bowenDel()TBowen bowen=bowenDAO.findById(id);bowen.setDel(yes);bowenDAO.getHibernateTemplate().update(bowen);Map request=(Map)ServletActionContext.getContext().get(request);request.put(msg, 博文删除成功);return msg;public String p
32、inglunMana()HttpServletRequest request=ServletActionContext.getRequest();List pinglunList=pinglunDAO.getHibernateTemplate().find(s);request.setAttribute(pinglunList, pinglunList);return ActionSupport.SUCCESS;3.1.4 修改个人资料界面public String userEdit()TUser user=userDAO.findById(userId);user.setUserName(u
33、serName);user.setUserPw(userPw);user.setUserAddress(userAddress);user.setUserTel(userTel);user.setUserRealname(userRealname);user.setUserEmail(userEmail);user.setUserSex(userSex);user.setUserQq(userQq);user.setFujian(fujian);userDAO.getHibernateTemplate().update(user);Map request=(Map)ServletActionC
34、ontext.getContext().get(request);request.put(msg, 修改成功);return msg;public String userEditPre()TUser user=userDAO.findById(userId);Map request=(Map)ServletActionContext.getContext().get(request);request.put(user, user);return ActionSupport.SUCCESS;3.1.5 登陆界面String sql=from TUser where userName=? and
35、userPw=?;Object con=userName,userPw;List userList=userDAO.getHibernateTemplate().find(sql,con);if(userList.size()=0)result=no;else WebContext ctx = WebContextFactory.get(); HttpSession session=ctx.getSession(); TUser user=(TUser)userList.get(0); session.setAttribute(userType, 1); session.setAttribut
36、e(user, user); result=user.getUserId().toString();3.2 数据库代码Create table t_users(IDint(10),Namevarchar(20),Pwdvarchar(20),Realname varchar(30),Sexvarchar(2),Addressvarchar(30),Telvarchar(40),picpathvarchar(50)Create table t_bowen(IDInt(20),TitleVarchar(30),ContentVarchar(20),TimesDate(20),User_idInt(30),ClicksInt(20)4 系统测试4.1 系统测试4.1.1测试的目的软件测试的目标和定义:(1)测试是为了发现程序中的错误而执行程序的过程。(2)好的测试
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 《职业农民培育》课件
- 2024年乡镇组织员个人年终工作总结
- 《旅行社的战略管理》课件
- 协力共赢:团队力量
- 酒店前厅保安执勤要领
- 保险行业销售技巧培训总结
- 2001年天津高考语文真题及答案(图片版)
- 媒体行业客服工作感想
- 景观设计师年终总结7篇
- 2023年项目管理人员安全培训考试题(能力提升)
- 老旧小区改造工程安全管理体系管理制度及措施
- 2024年山西省晋中市公开招聘警务辅助人员(辅警)笔试摸底测试(3)卷含答案
- 2024夏令营项目家长沟通与反馈服务协议3篇
- 文史哲与艺术中的数学知到智慧树章节测试课后答案2024年秋吉林师范大学
- 2024年秋季新人教版七年级上册数学全册教案
- 13485质量管理培训
- 9《复活(节选)》练习 (含答案)统编版高中语文选择性必修上册
- 工程主合同补充协议书范本(2篇)
- 智慧楼宇IBMS整体解决方案
- 《客房服务与管理》课程标准课程内容与要求
- GB 26920-2024商用制冷器具能效限定值及能效等级
评论
0/150
提交评论