前言调研资料的准备及背景:项目管理中比较关键的就是项目的任务管理,包括项目任务的分配、执行监督和执行结果的审核。通常情况下,都是项目经理通过员工的工作报告来分析和审核,这种手工方式既占用项目经理的时间,也难以随时把握每个人的任务完成进度情况。因此,如果建立一套软件系统来随时获取信息,则将极大提高管理效率。本管理系统就是针对这个问题而开发的。其中使用技术是JavaEE以及相关的开源框架和数据库技术的联合开发,是比较普遍和基本的编程方法。摘要本系统是对现在网上流行的可以写日志,上传照片等功能的个人博客系统,采用的是Eclipse3.0、MyEclipse6.0、Mysql5.0作为开发平台。在开发过程中首先对系统的功能模块进行了分析,然后又结合了学校对毕业设计环节的管理标准和要求。经过系统的需求设计,功能设计和数据库设计等过程,最终实现了系统全部要求的功能。个人博客系统主要包含了以下模块:用户的出注册、登陆、注册用户的个人信息设置、头像的上传、日志的书写、他人日志的浏览、留言、以及打分等功能。实现了现代博客系统的各个功能。本论文采用软件工程的思想对系统的进行需求分析、总体设计、详细设计、系统实现、系统测试和数据库设计等对系统的开发过程进行了详细的介绍,并对该系统的主要特点以及采用的主要系统开发工具进行了简单的介绍。本系统采用快速原型的模型进行开发与设计。【关键词】:规范化、软件工程、MySql数据库、sturts、hibernate、spring、SQL第1章绪论1.1Java和数据库系统设计概述数据库应用系统开发涉及到后台数据库技术和前台的开发语言与数据库访问技术。本系统的数据库选择MySql5.0,前台开发选择当前最为流行的开发工具Eclipse3.0、MyEclipse6.0中最新、最为经典的java语言。数据库技术是现代信息科学的重要组成部分,它已经成为了计算机信息系统和应用系统的重要技术支持。数据库技术就是指如何科学地存储数据、高效地处理数据。一般来说,数据库系统由3个部分组成:数据库、数据库管理系统(DBMS)和数据库应用程序。数据库是按一定的结构组织在一起的相关数据的集合;数据库管理系统是负责组织和管理数据信息的程序;数据库应用程序是数据库的前端程序,是用于浏览、修改数据的应用程序。根据数据库对数据组织方式的不同,数据库管理系统分为基于文件的管理系统、网状数据库管理系统、层状数据库管理系统和关系数据库管理系统。其中,关系数据库管理系统目前被广泛的应用。而MySql数据库是在数据库领域一直处于领先地位的一种关系型数据库管理系统。1.2MySQL数据库MySQL是一个真正的多用户、多线程SQL数据库服务器。SQL(结构化查询语言)是世界上最流行的和标准化的数据库语言。MySQL是以一个客户机/服务器结构的实现,它由一个服务器守护程序mysqld和很多不同的客户程序和库组成。SQL是一种标准化的语言,它使得存储、更新和存取信息更容易。例如,你能用SQL语言为一个网站检索产品信息及存储顾客信息,同时MySQL也足够快和灵活以允许你存储记录文件和图像。MySQL主要目标是快速、健壮和易用。最初是因为我们需要这样一个SQL服务器,它能处理与任何可不昂贵硬件平台上提供数据库的厂家在一个数量级上的大型数据库,但速度更快,MySQL就开发出来。自1996年以来,我们一直都在使用MySQL,其环境有超过40个数据库,包含10,000个表,其中500多个表超过7百万行,这大约有100个吉字节(GB)的关键应用数据。MySql可以满足如下要求:企业IT不断承受着使用越来越少的资源做好越来越多事情的压力。变化是持续的,公司需要快速的适应这些变化以保持竞争力。同时,对于可用性和性能的需求在不断增长,而公司的财政预算在紧缩,为了应付计算需求的不可预测性和即时性,公司一般扩大服务器规模来适应高峰负载,并为IT组织配备人员来处理即时请求。为了解决这些问题,出现了一种新型的计算模型,即网格计算模型。而MySql就是按网格计算模型。网格计算的核心思想是计算应当和公用设施一样可靠、深入和透明。用户的数据或者应用程序在哪里,或者什么计算机处理用户发出的请求变得无关紧要。用户将能够请求信息或计算,然后发布它——按需发布。1.3Eclipse和MyEclipse概述Eclipse是一个开放源代码的、基于Java的可扩展开发平台。就其本身而言,它只是一个框架和一组服务,用于通过插件组件构建开发环境。幸运的是,Eclipse附带了一个标准的插件集,包括Java开发工具(JavaDevelopmentTools,JDT)。虽然大多数用户很乐于将Eclipse当作JavaIDE来使用,但Eclipse的目标不仅限于此。Eclipse还包括插件开发环境(Plug-inDevelopmentEnvironment,PDE),这个组件主要针对希望扩展Eclipse的软件开发人员,因为它允许他们构建与Eclipse环境无缝集成的工具。由于Eclipse中的每样东西都是插件,对于给Eclipse提供插件,以及给用户提供一致和统一的集成开发环境而言,所有工具开发人员都具有同等的发挥场所。这种平等和一致性并不仅限于Java开发工具。尽管Eclipse是使用Java语言开发的,但它的用途并不限于Java语言;例如,支持诸如C/C++、COBOL和Eiffel等编程语言的插件已经可用,或预计会推出。Eclipse框架还可用来作为与软件开发无关的其他应用程序类型的基础,比如内容管理系统.MyEclipse是Eclipse的插件,也是一款功能强大的J2EE集成开发环境,支持代码编写、配置、测试以及除错。Genuitec发布了MyEclipseEnterpriseWorkbench6.0,更智能、更快捷、更简单和更便宜的J2EE工具的新版本的诞生。它的价格对于个人和企业开发人员来说都是非常有吸引力的。这是J2EEIDE市场一个重量级的选手。通过增加UML双向建模工具、WYSIWYG的JSP/Strutsdesigner、可视化的Hibernate/ORM工具、Spring和Webservices支持,以及新的Oracle和MySql数据库开发,MyEclipse6.0继续为业界提供全面的产品。第2章软件项目计划2.1问题定义问题定义是计划时期的第一个阶段,其目的是要弄清用户需要计算机解决的问题根本所在,以及项目所需要的资源和经费。我们通过一些调查并与工作人员进行讨论和沟通。编写一个系统目标与范围的说明书如下。在网站上博客系统只是一个很小的模块,包括的功能也不是很大但是功能确实给用户带来了极大的好处。用户可以写自己想要写的东西,并且可以在网上认识很多志同道合的好朋友等等。2.2可行性分析2.2.1技术可行性分析在IT行业中从业的工作人员一般都要求掌握计算机技术,具有一定的软硬件基础,会使用各种管理软件,熟悉IT产品。因为,博客是一个只有在网上才能使用的软件系统。所以不管是谁使用这款软件系统都必须要会上网才可以有条件去建立自己的空间博客。2.2.2操作可行性分析本系统采用基于B/S(即浏览器/服务器)用户界面,而该系统是大家熟悉的基于浏览器开发的系统,对于那些有一般的计算机知识并且会上网的人员就可以轻松上手。而真个博客界面简洁直观,很容易上手操作。由于我们是在模拟现实的实际需要而开发的系统,作为我们的毕业设计课题。因此在经济可行性研究不给予考虑。由此,该系统的操作是可行的,能满足一般网民的需求。综合以上几个方面,该系统具有很高的开发可行性,无论是从技术上还是操作上。可行性分析是为了弄清所定义的项目是不是可能实现和值得进行。这样可以大大简化了系统分析和系统设计的过程。减少风险。第3章需求分析3.1功能模块本系统采用典型而成熟的BS架构设计,系统的各个子模块之间功能独立,各个子模块之间没有直接耦合,而是通过数据库之间的联系由进行组合,子模块的修改只是模块内的局部修改、不会导致修改的蔓延,从而使系统的抗修改能力大大提高,降低了系统开发的风险.程序利用JSP技术,采用面向对象的设计方法,严格的编码规范、大大增强了系统的可维护行、降低了维护的风险.基于BS模式的程序设计一个最重要的特点是实现了瘦客户端,本系统也充分利用了JSP的技术特点开发周期短、技术完善.为了以后更好的维护开发博客程序,编写软件需求说明书,通过编写软件需求说明书,能够更好的了解以后的开发任务和合理的控制开发时间和开发模块.确定程序流程,模块结构,划分功能模块,将软件功能需求分配给所划分的最小单元模块.确定模块间的联系,确定数据结构,文件结构,数据库模式,确定测试方法与策略.本说明书主要供系统分析师与项目主管,分析设计师,高级软件工程师交流使用,也供系统维护员或再开发人员参考.3.1.2系统说明系统的名称:网络博客2能够让客户发布自己的网络日记或者其他文,转载网络文章,下载网络新闻,发布个人图片,可以和相关的人群沟通和交流.名词关键次定义BLOG,RSS3.1.3运行环境系统硬件要求要求在配置P4微处理器或更高,内存1G以上的PC兼容机运行;系统占用120G硬盘空间;服务器的操作系统为Windows2000Server或者是windewsxp。软件要求服务器数据库系统采用mysql5.0Web服务器:采用Tomcat5以上系统。Java运行环境:采用JRE1.5以上中文版本。客户端:采用浏览器工具即可。主要模块划分:日志的发表、图片的上传、对日志进行留言等模块。内部接口本系统采用BS模式,内部接口的实现通过相关公用类,SESSION会话实现,该部分接口会在其具体的开发文挡详细说明.用户接口程序是标准的网页程序,提供图形化的用户界面.外部接口1.与会员系统的外部接口:注册参展商,采购商或者承办单位都会有自动开通公司博客,所有公司添加的联系人都会开通个人博客.人才个人注册时自动拥有一个个人博客.数据库数据库名称:所有的数据库表前都加上blog前缀和其他的表做区别建立新的用户信息表和登陆用户表3.1.4功能模块内容如下:现有拦目广告和LOGO个人博客企业博客博客圈相册网摘RSS博采注册登录推荐博客:博客列表文章人气排行榜说明:主要是针对个人主办圈参展圈观众圈服务圈展馆圈同城圈职场圈同年圈推荐部落:部落列表文章人气排行榜相册列表相片人气排行榜网摘列表网摘人气排行榜RSS列表类别现有拦目广告和个人LOGO博采列表类别文章摘要列表我的部落留言版加为好友友情链接发信图片显示文章管理日志分类网志管理相册分类相册管理联接管理选择模板自定义模版修改信息摘客收藏博采天下博客流程图这个流程图因为在没有页面的基础上编写,所以相对简单.系统出错处理设计4.1补救措施定期提供源程序以及数据库的备份功能,一旦系统出现问题,可以恢复到备份时刻的信息.系统维护设计本系统采用BS模式,所有源程序均保存于服务器端,在不需要编译源程序,不影响使用的前提下可以方便的直接进行维护和升级,此部分维护功能在以后的使用说明书中会进行详细说明博客需求说明书软件需求说明书编写规范用户登陆博客首页注册博客(分为公司博客和个人博客)注释:人才个人注册时自动拥有一个个人博客,其他频道是企业性质注册的自动获取一个企业博客.注册用户登陆可以进行查看个人博客企业博客博客圈相册网摘RSS博采站点公告最新文章推荐部落最新活动文章人气排行榜搜索推荐相册等一些操作不过不能进行回复留言和发送短信的操作.控制面板:日志分类网志管理相册分类相册管理联接管理选择模板自定义模版修改信息摘客收藏博采天下我的部落等操作.第4章系统设计系统概述为了满足客户需求中提出的对项目任务管理系统的基本要求,在系统设计上,将实现项目、人员、任务三大核心对象的管理。4.1总体结构设计按照需求中提出的功能要求,可以将软件系统分解为多个子系统,同时,根据每个子系统的功能不同,分别完成需求分析中的不同要求。总体功能结构如用例图所示:4.2数据库设计4.2.1数据库只能各表的结构及其字段博客文章表(blogarticletbl):博