资源描述
湖南工业大学
课程设计说明书
博客系统
院 (系): 计算机与通信学院
专 业: 计算机科学与技术
班 级: 073
学 生: 邹校江 学号: 07408100327
指导教师: 何频捷
设计日期: 2010 年 12 月 27 日
至 2010 年 1 月 4 日
2010 年 1 月 4 日
设计任务书
一、目的
《软件开发新技术》课程设计是计算机科学与技术专业集中实践性环节之一,是学习完《软件开发新技术》课程后进行的一次全面的综合练习,涉及的深度广些并更加接近实用,要求学生利用所学知识分析、设计并实现一个较复杂的软件系统。通过课程设计,使学生综合使用所学过的软件工程知识,掌握软件工程的基本思路和方法,利用所学的基本知识和技能,发挥自学能力和查找资料的能力,通过一个实例,运用软件开发中各个环节,加深对所学知识的理解与掌握,增强学生利用自己所学知识解决实际问题的能力,为后续各门计算机课程的学习打下坚实基础。
二、任务
本课程设计要用到系统可行性分析、需求分析、系统设计、系统实现、系统维护、软件测试及如何在实际应用中运用软件工程的技术和方法,及运用关系型数据库管理系统,实现博客系统。具体任务如下:
1. 注册,登录,退出;
2. 博主对个人资料,博文,心情,留言,博友的管理功能;
3. 访客可留言,评论博文,评论心情,加博友等功能。
三、结果形式
(1)课题描述:包含课题的主题、背景、设计目的。
(2)设计环境:包括课题设计开发所需要的软件和硬件,软件包括如操作系统、建模工具、编程语言、数据库管理系统等。
(3)问题的解决方案
a) 软件开发计划以及可行性分析
b) 需求分析文档
c) 软件设计文档
d) 软件测试文档
(4)结论:对本系统作一个全面的评价:包括有何特点、设计结论、存在的问题、改进意见等。
课程设计报告
院(系):计算机与通信学院 专业:计算机科学与技术
班 级
073
姓 名
邹校江
学号
07408100327
指导教师
何频捷
课题名称
博客系统
课 题 描 述
主题
我们小组的信息系统开发课程设计题目是:博客系统开发。系统开发的总的设计目标是通过为博客提供优质的互动交流平台,提高网站的知名度和访问量,从而获得为企业提供更多的产品介绍及发展的机会,提升自己的网络价值。
本系统主要实现一个简易的博客系统,主要功能是实现一些博客的基本功能。本系统结构分为注册登录模块,博客资料管理模块,博文管理模块,博友管理模块,访客统计模块,心情管理模块,留言管理模块。可见,本系统并不复杂,主要解决的问题是利用关键字对数据库进行查询。
背景
随着互联网的快速发展与运用,很多网络用户希望在网络平台上更多地发展现自己的个性,更方便地与人互动交流,博客已经成为写网络日志必不可少的一种工具,也是一种简单有效的提供网络用户之间进行在线交流的网络平台,通过其可以结交更多的朋友,表达更多的想法,它随时可以发布日志,方便快捷。个人博客的发展,也已经成为广告商业务拓展的重要领域。
目的
通过课程设计,使理论与实际相结合,更好地掌握软件工程设计的基本思路,初步掌握软件工程的开发方法和步骤。
设计环境
(1)硬件环境:PC机
(2)软件环境:WINDOWS XP操作系统
Rational Software建模工具
MyEclipse编程工具
Tomcat
MySQL数据库管理系统
Visio绘图工具
问 题 的 解 决 方 案
开发计划
一 项目概述:
本程序大致有两大部分组成,即博主管理和访客操作。
博主管理包括:
1. 博主资料的管理,包括修改用户名,修改博客显示名称,修改个性签名,头像,修改密码。
2. 博文管理,包括发表博文,删除博文,转载博文,回复博文评论,删除评论。
3. 博友管理,包括添加博友,删除博友。
4. 心情管理,发表心情,删除心情,回复心情评论,删除心情评论。
5. 留言管理,回复留言评论,删除留言评论。
访客操作包括:踩博客,评论博文,评论心情,加博友,留言。
二 实施计划:
总时间:1周
可行性分析以及用户需求分析:1天
系统需求分析:1天
总体及详细设计:2天
原型系统实现与测试:1天
整理文档:1天
三 人员组织及分工:
邹校江:整体结构的设计,博主管理大部分。
贺志雄:访客操作
黄振宏:博主资料模块等
伍龙:博文管理模块等
四 交付期限:
2011年1月4日星期二
问 题 的 解 决 方 案
可行性分析
1.技术可行性
此次信息系统开发是大学专业知识的一次综合应用与提高,我们小组可以在系办三楼机房完成系统开发。该机房计算机配置肯定能满足系统开发的要求。我们小组可以选定两三台计算机,建立系统开发环境,主要是安装数据库工具(MS SQL SERVER 2000,Oracle,mysql),应用程序开发工具( MyEclipse),Office程序组以及WEB服务器(tomcat)。
我们小组的部分成员有计算机,配置是WINDOWS XP3 2G以上内存,250G以上硬盘,可连网。小组成员之间可以通过QQ或电话进行即时交流,协调开发工作,解决开发工作中出现的问题。
就技术力量来说,我们小组可以完成此次开发工作。开发过程中会出现许多问题,有我们预想之中的,也有一些没有我们预想到,但,我们有信心克服一切困难。该学期,我们小组各成员已经学习了MySql,对网络技术和操作系统也有系统的了解,有些成员熟悉计算机原理,能解决常见的硬件故障和硬件选择。目前,博客系统已得到了大量应用,有许多可供参考的成功系统。而且,网上有许多关于基于SSH轻量级的J2EE的开发以及jsp编程的资料和MySql方面的资料。 从技术角度考虑,此信息系统开发可行。
2.经济可行性
目标系统开发需求比较低,加上具有成熟的软硬件环境,所以在软硬件的支出上十分有限。而且,目标系统并不是十分的复杂,开发的周期较短,人员经济支出有限。当系统开发完实际运行后,将很大程度上提高计算机的功能,在为使用者带来便利的同时,也为系统的进一步推广创造了条件。这带来的经济回报将远超过支出,并且最重要的一点是该软件的开发可以给我们对系统的开发有个全面的认识。从经济角度考虑,此信息系统开发可行。
3.法律上可行
整个系统由于是自行开发,自行使用,所以系统本身不存在法律上的版权争议。在服务器软件方面,应该使用正版软件,因为整个系统尽管是开发给内部使用,但它毕竟很多部分还是要依靠Internet的,一旦服务器连接到Internet上,它的操作系统可能会被Microsoft跟踪,如果不是正版软件,将不得不面临民事诉讼的风险。
结论:
根据以上的可行性研究,我们小组认为开发此系统的条件已经具备,可以开始进行开发。
问 题 的 解 决 方 案
需求分析
系统目标
博客系统是典型的BS架构的软件,它的开发主要包括后台数据库的建立和维护以及前端应用程序的开发两个方面。对于前者要求建立起数据一致性和完整性强.数据安全性好的库。而对于后者则要求应用程序功能完备,易使用等特点。
系统开发的总体任务是通过为博客提供优质的互动交流平台,提高网站的知名度和访问量,从而获得为企业提供更多的产品介绍及发展的机会,提升自己的网络价值。
需求定义
作为访客对博客系统的要求有:
1.以游客或者博友的身份访问其他博客;
2.评论博文,当博主回复自己的评论,可以进行回复;
3.评论心情,当博主回复了自己的评论,可以进行回复;
4.加博友
5.留言。
作为博主,他们对博客系统的要求有:
1. 博主资料的管理,包括修改用户名,修改博客显示名称,修改个性签名,头像,修改密码。
2. 博文管理,包括发表博文,删除博文,转载博文,回复博文评论,删除评论。
3. 博友管理,包括添加博友,删除博友。
4. 心情管理,发表心情,删除心情,回复心情评论,删除心情评论。
5. 留言管理,回复留言评论,删除留言评论。
功能说明
系统功能分析是在系统开发的总体任务的基础上完成。本系统需要完成的功能主要有3大部分:
1. 系统基本功能:
1) 注册,用户通过邮箱进行注册,完成基本信息的填写且符合规则无误即可注册;
2) 登录,博主通过邮箱地址和用户名都可进行登录。
3) 退出;
2.博主管理部分:
1) 个人资料管理,包括修改用户名,修改博客显示名称,修改个性签名,头像,修改密码。
2) 博文管理,包括发表博文,删除博文,转载博文,回复博文评论,删除评论。
3) 心情管理,发表心情,删除心情,回复心情评论,删除心情评论。
问 题 的 解 决 方 案
4) 留言管理,回复留言评论,删除留言评论。
5) 博友管理,包括添加博友,删除博友。
2. 访客操作部分:
1) 以游客或者博友的身份访问其他博客;
2) 评论博文,当博主回复自己的评论,可以进行回复;
3) 评论心情,当博主回复了自己的评论,可以进行回复;
4) 加博友,当对方确认后,成为好友;
5) 留言,当博主回复了自己的留言,可以进行回复。
性能要求
正确性,可靠性,完整性,易使用性,可维护性,可测试行,可移植性,互联性,可拓展性。
业务流程图
图一
用户注册和登录
图二
问 题 的 解 决 方 案
博主管理流程
图四
访客操作流程
问 题 的 解 决 方 案
总体及详细设计
1. 数据库需求分析
用户的需求具体体现在各种信息的提供,保存,更新和查询,这就要求数据库结构能充分满足各种信息的输出和输入。收集基本数据,数据结构处理的流程,组成一份详尽的数据字典,为后面的具体设计打下基础。针对一般博客系统的需求,通过对博客工作过程的内容和数据流程分析,设计如下面所示的数据项和数据结构:
博主信息,
属性:博主编号,用户名,密码,昵称,博客显示名称,email,状态。
主键:博主编号
博文信息,
属性:博文编号,博文内容,博主编号,标题,发表时间,最后编辑时间,标签,博文类别编号,转载博文的编号,转载标志。
主键:博文编号
外键:博文类别编号,转载博文的编号
博文类别信息,
属性:博文类别编号,类别名称。
主键:博文类别编号
博友类别信息,
属性:博友类别编号,类别名称。
主键:博友类别编号
心情信息,
属性:心情编号,心情内容,发表时间,发表人编号。
主键:心情编号
外键:发表人编号
留言信息,
属性:留言编号,留言内容,留言时间,发表人编号,博主编号,上一级留言编号,根留言编号
主键:留言编号
外键:发表人编号,博主编号,上一级留言编号,根留言编号
博文评论信息,
属性:博文评论编号,评论内容,发表时间,发表人编号,博文编号,上一级评论编号
主键:博文评论编号
外键:发表人编号,博文编号,上一级评论编号
问 题 的 解 决 方 案
心情评论信息,
属性:心情评论编号,评论内容,发表时间,发表人编号,心情编号,上一级评论编号
主键:心情评论编号
外键:发表人编号,心情编号,上一级评论编号
头像信息,
属性:头像编号,头像名称,头像文件URL,标志
主键:头像编号
数据流图
图五:
问 题 的 解 决 方 案
数据字典
数据项:博主编号
含义说明:唯一标识博主
别名:userId
类型:可变字符型
长度:8
取值范围:00000000至99999999
取值含义:按顺序编号
数据项:用户名
含义说明:博主登录名
别名:userName
类型:可变字符型
长度:50
取值含义:字母数字组合
数据项:密码
含义说明:登录密码
别名:userPwd
类型:可变字符型
长度:50
取值含义:字母数字组合
数据项:昵称
含义说明:博主的个人属性
别名:nickName
类型:可变字符型
长度:50
取值含义:字母数字组合或者汉字
数据项:博客显示名称
含义说明:博主个人属性
别名:displayName
类型:可变字符型
长度:50
取值含义:字母数字组合或者汉字
数据项:email
含义说明:注册,登录用
别名:email
类型:可变字符型
长度:50
取值含义:email 符合email地址的规范
数据项:状态
含义说明:登录密码
别名:statue
类型:整型
长度:1
取值含义:0 表示 注册但未激活,1表示已经激活,正常使用中
数据项:博文编号
含义说明:唯一标识博文
别名:logId
类型:整型
长度:8
取值范围:00000000至99999999
取值含义:按顺序编号
数据项:博文内容
含义说明:博主登录名
别名:logContent
类型:文本
长度:
取值含义:文本
数据项:博主编号
含义说明:登录密码
别名:userId
类型:整型
长度:8
取值含义:发表人编号
数据项:博文标题
含义说明:博文标题
别名:nickName
类型:可变字符型
长度:50
取值含义:文本
问 题 的 解 决 方 案
数据项:发表时间
含义说明:发表时间
别名:postTime
类型:日期
长度:无
取值含义:发表时间
数据项:最后编辑时间
含义说明:最后编辑时间
别名:editTime
类型:日期
取值含义:发表时间
数据项:标签
含义说明:标签
别名:keyWords
类型:可变字符型
长度:50
取值含义:字母数字组合或汉字
数据项:博文类别
含义说明:博文的个人属性
别名:logTermId
类型:整型
长度:8
取值含义:博文类型
数据项:转载自得博文
含义说明:博文编号
别名:logId
类型:整型
长度:8
取值范围:00000000至99999999
取值含义:按顺序编号
数据项:状态
含义说明:博文是否被转载的标志
别名:statue
类型:整型
长度:1
取值含义:0表示正常且未被转载 ,-1表示被删除 ,1表示正常而且被转载
问 题 的 解 决 方 案
数据库概念结构设计
本程序包括的实体有:博主实体,博文实体,博文分别实体,博类别实体,心情实体,留言实体,博文评论实体,心情评论实体,个性签名实体,头像实体。
博主实体E-R图:
图六:
博主信息实体E-R图
博文实体E-R图:
图七
博文实体E-R图
总的信息实体E-R图:
图八:
实体之间关系的E-R图
数据库逻辑结构设计
⑴博主表
tb_user:
字段名称
数据类型
字段说明
userId
int
博主编号
userName
varchar
用户名
userPwd
varchar
密码
nickName
varchar
昵称
displayName
varchar
博客显示名称
email
varchar
E-mail
statue
Int
博客状态
问 题 的 解 决 方 案
(2)博文表
tb_log:
字段名称
数据类型
字段说明
logId
int
博文编号
logContent
Text
博文内容
UserId
Int
博主编号
Title
Varchar
标题
PostTime
Date
发表时间
editTime
Date
最后编辑时间
KeyWords
Varchar
标签
LogTermId
Int
博文类别编号
FromLogId
Int
转载的博文编号
Statue
Int
博文标志
(3)心情表
tb_mood:
字段名称
数据类型
字段说明
moodId
int
心情编号
MoodContent
Text
心情内容
PostTime
Date
发表时间
UserId
int
发表人编号
(4)博文类别表
tb_logTerm:
字段名称
数据类型
字段说明
logTermId
int
博文类别编号
LogTermName
varchar
类别名称
其他表结构(略)
问 题 的 解 决 方 案
程序模块示意图如下:
博客系统
图九:
系统模块
访客操作模块
博主管理模块
留言
注册博客
登录博客
加博友
评论心情
评论博文
访问博客
留言管理
心情管理
博友管理
博文管理
博主资料管理模块
注意
访客操作数据存取模块
博主数据存取模块
系统数据存取模块
数据库(运行MySql的服务器)
这里一个粗的双箭头表示这些数据库访问之间将有频繁的交互。
评 语
指导教师签名:
评 分
附1:课程设计结束语
附2:系统中的设计图附1:课程设计结束语
博客系统是个实用的,和现实生活紧密联系的小型WEB应用系统。
整个项目开发的过程,我们采用软降工程中的瀑布模型的软件过程模型,设计时我们采用传统的结构化设计的思想,分模块进行设计和编码,各个模块之间的耦合性低,各模块高度内聚,保持了模块高度的独立性。
数据库的设计,在概念设计的阶段,我们采用ER方法,物理实现,我采用的工具是MySql库管理软件实现的。
系统实现阶段,我们采用的是基于SSH框架的轻量级的JavaEE模式,使用的开发环境为MyEclipse8.5+Tomcat,以开源的Tomcat做为WEB服务器,满足系统的需求,系统是一个基于BS架构的WEB应用系统,系统采用三层架构,经典的Struts2的MVC模式,使用SSH三大框架的集成,开发方便,简单,基于接口的编程模式,使系统容易拓展。
系统与数据库相连,我们采用的Hibernate框架技术,以及Spring技术,这比底层的JDBC更容易,减少SQL语句的书写,关闭数据库连接等繁琐的操作,基于对象的HQL查询使系统开发更加简便。
页面展示技术,我们为了提高用户的体验,我们用jQuery+jsp的展示技术,ajax技术使大大丰富了客户端。
但系统还有以下部分有待完善:
l 界面不是很完美,一些细节问题还没有很好地解决;
l 博客中消息的实时性问题,比如聊天,评论及时反映给现在博主的问题;
l Orm层优化类之间的关联和HQL查询,优化查询性能等问题。
从这次课程设计,我学会了利用SSH集合框架开发轻量级的JavaEE的应用系统的基本方法,熟悉了开发基于BS架构的系统的基本流程,了解了目前流行的软件开发技术,相信在以后的学习和工作中我会做得更好!
附2:系统中用到的设计图
用例图:
状态图:
博客的状态图
组件图:
配置图:
展开阅读全文