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