网上博客系统 博客系统源码

《软件工程》课程设计

一、目的、要求

通过软件开发的实践训练,进一步掌握软件工程的方法和技术,提高软件开发的实际能力,培养工程设计能力和综合分析、解决问题的能力。

具体如下:

1.学习和实践在分析和设计计算机应用系统所需要的知识,包括面向对象的系统分析 与设计,编码和测试方面的知识;

2.熟悉自动化的软件开发工具Rational Rose,并将其运用于软件开发的全过程;

3.进一步加强和提高软件工程文档的编写能力;

4.培养协作能力和团队精神。

二、主要内容

1.研究现有博客(如新浪博客等)的功能模块,初步分析用户需求。

2.运用面向对象技术、UML及RationalRose完成系统的需求分析与概要设计。

3.小组讨论数据表的结构、功能模块的具体实现,完成详细设计。

4.运用NetBeans开发平台,配合使用Dreamweaver完成编码。

5.测试阶段。

6.编写报告文档。

摘要:

本系统实现了博客的基本功能,包括对博文、相册、留言、评论等的增、改、删等一系列管理。系统利用NetBeans平台进行开发,运用RationalRose建模工具,实现博客系统的动态管理,使得用户可以实时、高效的使用自己的博客。同时还对系统的开发原理、功能特点和设计方案进行了介绍。

关键词:博客,NetBeans,Rational Rose,动态管理

一、课程设计的目的与要求

通过软件开发的实践训练,进一步掌握软件工程的方法和技术,提高软件开发的实际能力,培养工程设计能力和综合分析、解决问题的能力。

具体如下:

1.学习和实践在分析和设计计算机应用系统所需要的知识,包括面向对象的系统分析与设计,编码和测试方面的知识;

2.熟悉自动化的软件开发工具Rational Rose,并将其运用于软件开发的全过程;

3.进一步加强和提高软件工程文档的编写能力;

4.培养协作能力和团队精神。

二、设计正文

1.概述

1.1课题题目:网上博客系统

1.2系统的主要目标:

本系统目标是实现网上博客系统所需的各种基本功能,包括用户对博文、相册、留言板、评论的一系列管理操作,同时还支持游客对博客的浏览和评论功能。

1.3系统的开发环境及运行环境:

操作系统:Windows 7

建模工具:Rational Rose V7.0

数据库系统:MySQL 5.5

开发工具:NetBeans IDE7.0.1 + Dreamweaver CS5.5

Web服务器:Tomcat 7.0.14.0

2.系统需求分析

随着网络技术的迅速膨胀,博客已经成为人们(特别是年轻人)生活中不可或缺的一部分,它给用户提供一个沟通和交流的平台,使用户可以在博客上发表文章、上传图片以及给别人留言等。我们小组开发的是一个个人网上博客系统,模仿目前比较主流的如新浪博客,系统主要可以实现用户管理、博文管理、相册管理、留言及评论管理等功能。

(1)用户管理:本系统的主要用户有注册用户、管理员、游客。注册用户拥有对自己的博文、相册、留言板、评论等的管理;管理员拥有最高管理权限,可以添加和删除用户;游客可以浏览博文、相册,同时可以对博文和相册中的图片进行评论。

(2)博文管理:用户可以发表博文,同时也可以对博文进行修改、删除,另外,还可以删除本博文的某些评论。

(3)相册管理:用户可以创建、修改、删除相册,对相册中的图片也拥有同样的操作。

(4)评论及留言管理:用户可以新增、删除评论和留言。

本系统采用权限划分,管理员享有最高权限,同时,用户登录时的密码都是经过加密处理的,增加了系统的安全性;另外,可以定期更新维护。

2.1用例图

用例图说明:
(1) 说明系统的外部角色有:游客。

(2) 系统的主要用例简介:

1)编辑博文用例:用户可以发表、浏览、修改和删除博文。

2)编辑相册用例:用户可以创建、浏览、修改和删除相册。

3)编辑留言板用例:游客和用户都可以给博主留言,博主可以删除留言。

4)编辑个人资料用例:用户登录后可以修改更新个人资料。

5)编辑评论用例:用户和游客可以对博文和相片进行评论,博主可以删除相关的评论。

6)登录用例:用户依据自己的用户名和密码登录博客系统。

7)浏览用例:用户登录后可以浏览自己的博文、相册、留言板、收到的评论;游客也可以浏览用户的博文、相册、留言板、收到的评论,同时还可以对博文、相册进行评论。

8)注册用例:游客可以通过注册成为博客系统的用户。

(3)系统用例之间的关系:

1)编辑博文用例与发表、修改、删除博文用例之间是包含关系。

2)编辑相册用例与创建、修改、删除相册用例之间是包含关系。

3)编辑留言板用例与删除留言用例之间是包含关系。

4)编辑评论用例与删除评论用例之间是包含关系。

5)编辑个人资料用例与修改个人资料用例之间是包含关系。

6)浏览用例和浏览博文、相册、留言板、评论用例是包含关系。

7)浏览博文和评论博文是扩展关系。

8)浏览相册和评论照片是扩展关系。

(4) 对关键用例的正常事件流和异常事件流的描述:
表 1 修改密码用例的正常事件流图和异常事件流

用例名称

修改密码

参与者

用户

描述

用户进行密码修改

启动

单击“修改密码”链接

前置条件

用户成功登录

主事件流

用户

系统

1.进入用户修改密码界面,输入旧密码一次,新密码两次

2.系统检查密码格式是否相符

3.系统检查旧密码是否正确

4.系统检验输入的两次新密码是否相同

5.如果正确,进行密码修改,转入密码修改成功界面

异常流

异常流1

输入旧密码不正确

系统

返回密码修改界面,提示旧密码不正确

异常流2

输入两次新密码不一致

系统

返回密码修改界面,提示输入的两次密码不一致

异常流3

输入密码的格式不正确

系统

返回密码修改界面,提示密码格式不正确




网上博客系统 博客系统源码

表 2 发表博文用例的正常事件流图和异常事件流

用例名称

发表博文用例

参与者

用户

描述

用户发表已经写好的博文

启动

进入发表博文界面

前置条件

用户成功登录

后置条件

尚未发表过相同标题的博文

主事件流

用户

系统

1.输入博文及博文的题目

2.在文本编辑框内输入要发表的博文

3.单击“提交”按钮

4.系统检测是否有相同题目的博文

5.更新博文列表,提示博文提交成功

异常流

异常流1

用户已经发表过相同题目的博文

系统

提示该标题的博文已经存在,不能再次提交

异常流2

用户要发表的博文标题或内容为空

系统

提示博文的标题或内容不能为空





2.2类图



类的说明:

(1)BlogControlServlet类是一个控制类。它接受web页的Post和Get请求,并根据需求调

用对应的模型类;或者跳转到对应的web页。doReg();接受注册信息的post请求,并调用PersonalInformation的方法向用户表新增一条数据,若成功则跳转到首页。

(2)index类用于显示首页的web页面,reg类用于显示注册的web页面,login类用于显示登录的web页面,article类用于显示博文的web页面,message类用于显示留言板的web页面,edit类用于显示所有的编辑操作的web页面。

(3)PersonalInformation类是系统用户个人资料类,主要属性有:用户名PI_name,密码PI_password,PI_id用户ID、用户头像PI_Avatar、PI_sex用户性别等属性;主要方法有:setPassword设置密码、getPassword获取密码、setName设置用户名、getName获取用户名。

(4)Bowen类是博文类,主要属性有:B_id博文ID、B_title博文标题、B_context博文内容、B_time博文的发表时间、B_hit博文的点击数目等;主要方法有:writeBowen发表博文、modifyBowen修改博文、deleteBowen删除博文。

(5)Album类是相册类,主要属性有:A_id相册ID、A_name相册名称、A_creattime相册创建时间、A_coveraddress相册封面地址、A_dicription对相册的描述;主要方法有:creatAlbum创建相册、deleteAlbum删除相册、modifyAlbumName修改相册。

(6)Message类是留言类,主要属性有:M_id留言ID、M_name留言者名称、M_time留言提交时间、M_context留言内容;主要方法有:deleteMessage删除留言、addMessage新增留言。

(7)Comment类是评论类,主要属性有:C_id评论者的ID、B_id被评论博文的ID、P_id被评论图片的ID、C_context评论的内容、C_time评论时间、C_name评论者的名称;主要方法有:setContext发表评论、getContext获取评论、UpdataSQL更新数据库。

(8)Picture类是图片类,主要属性有:P_id图片的ID、A_id图片所属相册的ID、P_uploadAddress、图片上传路径、P_thumbnailAddress缩略图地址;主要方法有:setUploadAddress设置上传路径、getUploadAddress获取上传路径。

2.3 顺序图

修改密码顺序图如图3所示。

首先,用户向控制类BlogControlServlet发送登录请求,身份验证通过后跳转到主页index、编辑页edit,用户再次向控制类BlogControlServlet发送修改密码请求,控制类把该请求转发给个人资料类PersonalInformation,修改密码成功后发送成功提示跳转到编辑页并显示修改结果。

用户登录成功后,向Servlet发送页面跳转请求,然后跳转至编辑页edit,编辑博文后向Servlet发送提交请求,然后Servlet转发请求至博文操作类,BowenBiz创建博文并返回显示刚发表的博文。

用户向控制类BlogControlServlet发送登录请求,身份验证通过后跳转到主页index,然后再跳转至编辑页edit,用户再次向控制类BlogControlServlet发送创建相册请求,控制类把该请求转发给相册操作类album,创建相册成功后向控制类BlogControlServlet发送成功提示,然后控制类再将创建的相册提交给编辑页edit,编辑页最终给用户一个创建相册成功的相应。

2.4协作图(可选)

用户向控制类BlogControlServlet发送登录请求,身份验证通过后跳转到主页index、编辑页edit,用户再次向控制类BlogControlServlet发送修改密码请求,控制类把该请求转发给个人资料类PersonalInformation,修改密码成功后发送成功提示跳转到编辑页并显示修改结果。

用户向控制类BlogControlServlet发送登录请求,身份验证通过后跳转到主页index,然后再跳转至编辑页edit,用户再次向控制类BlogControlServlet发送创建相册请求,控制类把该请求转发给相册操作类album,创建相册成功后向控制类BlogControlServlet发送成功提示,然后控制类再将创建的相册提交给编辑页edit,编辑页最终给用户一个创建相册成功的相应。

2.5 状态图(可选)

3.系统总体设计

3.1 设计问题域子系统

网上博客系统是实现用户对博文、相册、留言板、评论的管理维护的一个平台,整个系统分为4个模块:登录/注销模块、浏览模块、编辑模块和注册模块,具体说明如图9所示。




3.2 设计数据管理子系统

(1)数据表的设计

表3个人信息表数据表personalinformation

字段名

字段类型

字段说明

备注

PI_id

Int(11)

用户ID,不能为空

主键

PI_name

Varchar(15)

用户名,不能为空

PI_password

Varchar(20)

密码,不能为空

PI_sex

Char(1)

性别,默认为“男”

PI_birthday

Date

出生日期,默认1900-01-01

PI_avatar

Varchar

头像

表4博文数据表Bowen

字段名

字段类型

字段说明

备注

B_id

Int(11)

博文ID,不能为空

主键

B_title

Varchar(30)

博文标题,不能为空

B_context

Longtext

博文内容,不能为空

B_time

Date

博文发表时间,默认1900-01-01

B_hit

Int(11)

博文点击数,默认为0

表5相册数据表Album

字段名

字段类型

字段说明

备注

A_id

Int(11)

相册ID,不能为空

主键

A_name

Varchar(10)

相册名称,不能为空

A_creattime

Date

创建时间,默认1900-01-01

A_coveraddress

Tinytext

相册封面地址

A_discription

Tinytext

对相册的描述

表6图片数据表Picture

字段名

字段类型

字段说明

备注

P_id

Int(11)

图片ID,不能为空

主键

A_id

Int(11)

图片所属相册ID,不能为空

外键

P_name

Varchar(20)

图片名称,不能为空

P_discription

Tinytext

图片描述,默认为NULL

P_address

Tinytext

图片上传地址,不能为空

P_thumbaddress

Tinytext

图片缩略图地址,不能为空

表7留言板数据表Message

字段名

字段类型

字段说明

备注

M_id

Int(11)

留言ID,不能为空

主键

M_name

Varchar(15)

留言者名称,默认为“游客”

M_context

Tinytext

留言内容,不能为空

M_time

Datetime

留言时间,默认为1900-01-01

表8评论数据表Comment

字段名

字段类型

字段说明

备注

C_id

Int(11)

评论的ID,不能为空

主键

B_id

Int(11)

博文ID,不能为空

外键

P_id

Int(11)

图片ID,不能为空

外键

C_name

Varchar(15)

评论者名称,默认为“游客”

C_context

Tinytext

评论内容,不能为空

C_time

Date

评论发表时间,默认“1900-01-01”

(2)数据表之间的关

3.3 设计人机交互子系统

4. 详细设计

网上博客系统是实现用户对博文、相册、留言板、评论的管理维护的一个平台,整个系统分为4个模块:登录/注销模块、浏览模块、编辑模块和注册模块,其中复杂的方法和模块的详细设计流程图如图13所示。

5. 系统实现

本系统采用了三层架构来实现,即表现层、控制层和业务逻辑层。表现层是用来向用户展示各操作页面,如:登录,注册(仅针对游客),个人资料、博文、留言、相册、评论的管理等;控制层接受表现层的get或post请求,调用控制层的方法,将结果回送给表现层;业务层调用数据库,执行具体的增、删、改操作,返回具体的操作结果。

6. 测试

在测试中,我们首先对各个子模块进行单元测试,保证每个模块作为一个独立单元能正确运行。然后在完成所有模块后,我们将各子模块集成起来,再对它进行集成测试,找出系统设计或编码上的错误,以及验证系统是否实现了指定的功能。下面是一些具体的测试用例;

6.1 关于用户登录的测试

(1)测试用例:用户名不存在或密码错误,登录失

(2)测试用例:【’all’a’=’a,’all’a’=’a】,未注册用户直接登录博客。

6.2 关于博文管理的测试

测试用例:成功发表博文。

6.3 关于留言的测试:测试用例:用户输入1<br></br>

三、课程设计总结或结论

1.通过为期2周的软件工程课设,进一步掌握了软件工程的方法和技术,提高了软件开发的实际能

力,全面地培养了自己在工程设计、综合分析和解决问题的能力。

1.1加深了对面向对象系统的分子与设计、编码测试方面知识的认识。

1.2更加熟练的掌握了Rational Rose软件开发工具。

1.3小组各成员进一步加强和提高了工程文档的编写能力。

1.4加深掌握了J2EE、JSP等编程开发技术。

1.5培养了自己有效沟通的能力和团队协作的精神。

2.此次课设实现了网上博客所拥有的对博文、相册、留言、评论及个人资料一系列管理操作的功能

模块,在功能上基本上满足了用户的需求。但是由于时间紧张,本博客系统只是针对单用户及游客开放。不过,我们在设计数据库的时候特意保留了用户身份这一属性,便于在以后对系统进行扩展。

3.在短短的2周时间内,我们小组4人共同完成了网上博客系统的模拟实现。虽然在课设期间我们

遇到了各种各样的困难,但是我们小组成员齐心协力,互帮互助,顺利的解决了一个个问题。尽管我们做的博客系统和实际的不能相提并论,但通过此次课设,我们掌握了如何同小组的其他成员有效沟通的方法,并进一步了解了软件开发的方法和技术,为今后走上工作岗位打下了坚实的基础。

四、参考文献

[1] 郑人杰.马素霞.殷人昆《软件工程概论》机械工业出版社 2010.3 第一版

[2] 郞波 《Java语言程序设计》清华大学出版社 2011.2 第二版

[3] 郝玉龙.姜韡 《JavaEE编程技术》清华大学出版社·北京交通大学出版社2008.6 第一版

[4] 王珊.萨师煊《数据库系统概论》高等教育出版社 2006.5 第四版

[5] 邱加永.卞志城.郑经煜 《JSP基础与案例开发详解》 清华大学出版社2009.8 第一版

[6] 陈争航 《PHP5 + MySQL5 Web应用开发宝典》电子工业出版社 2008.1 第一版

 

  

爱华网本文地址 » http://www.413yy.cn/a/25101015/256246.html

更多阅读

网域高科 OA办公系统源码--破解版 tripscms源码 破解版

管理员:admin 登陆密码:admin888网络办公OA系统源码OA自动化系统免费版下载是一套适用于公司,企业,政府行政,事业单位的通用型网络办公软件,该系统是网络办公环境下程序的最佳解决方案。采用领先的B/S(浏览器/服务器)操作方式,使得网络办公

基于CTP的程序化交易系统开发一 ctp高频交易系统源码

自从综合交易平台(CTP)的API开放以来,很多人开始编写自己的程序化交易系统,今天我想说说自己的一些看法。首先解读一下CTP的接口说明,CTP的API使用建立在TCP协议之上FTD协议(《期货交易数据交换协议》)与交易托管系统进行通讯,而交易托管

OA 办公自动化 oa办公自动化系统源码

OA-办公自动化(Office Automation)这是一个多义词,它还有其它义项:(共9个义项展开义项)添加义项办公自动化(Office Automation)开放存取(Open Access)油酸(Oleic Acid)审定通知行为(Office Action)电影《绿灯侠》中全宇宙绿灯军团的故乡五月天的

天津网上报税系统申报流程 国税零申报报税流程

天津网上报税系统申报流程一、地方税务局:1、 先进入“易税门户”填写个人所得税申报表点击“易税门户”用户代码:“admin”密码:12345登录(回车)需要自动导入……向导吗?从已录入月份导入生成确定(点纳税人信息可增加人员)填写有关数据

声明:《网上博客系统 博客系统源码》为网友灬借綃僽分享!如侵犯到您的合法权益请联系我们删除