2009级计算机科学与技术职教师资毕业设计
2 系统分析
2.1 任务概述
博客网站系统的总目标是:在计算机网络,数据库和先进的开发平台上,利用现有的软件,配置一定的硬件,开发一个具有开放体系结构的、易扩充的、易维护的、具有良好人机交互界面的个人博客网站,为网络用户提供进行在线交流的网络平台。通过个人博客网站可以结交更多的朋友,表达更多的想法,它随时可以发布文章。 具体的要求如下:
(1)博主可以简单的添加和删除文章;
(2)独立于具体的数据库平台。对于与数据库交互的部分充分考虑兼容性; (3)容易在原先基础上进行二次开发;
(4)中间基础平台的无型性。尽量采用开放的标准技术,达到跨平台运行的效果; 为了达到以上的开发目的,个人博客网站应遵循一定的设计和开发与原则; (5)模块接口定义清晰;
(6)基础类库和接口设计合理,尽量建立叮扩展的接口和抽象类;
(7)数据库操作使用标准SQL语句,如果一定要使用有差别的SQL语句,则尽量集中在一起,以减少将来维护和移植的难度; (8)采用开放的标准和工具等。
2.2 功能需求分析
博客系统通常提供三类服务:
(1)信息服务,它可分为:文章显示,热点文章推荐,博主风采;
(2)查询服务:可以根据文章内容,文章标题,留言内容,留言标题等进行模糊查询;
本系统采用Browser/Server结构,将个人博客网站划分为两个子系统:前台,后台。下面分析各个子系统的功能需求。
2.2.1 前台
在前台的功能实现上,可以分为以下几个部分: (1)用户登录:
网站用户用个人注册的帐号和密码登录到博客系统。系统检测用户的帐号和密码是否错误和判断用户是博主还是普通用户并给予其相应的权限对系统进行操作。
(2)用户注册:
5
李姜伟:基于JSP的个人博客系统设计与实现
由于只有注册用户才能进入系统,所以游客必须先注册,将个人的信息存储到博客网站的数据库中,以成为本博客的正式用户。 (3)用户修改个人信息:
在一个单独的页面显示注册用户的信息,用户可以修改个人的基本信息。 (4)文章查询和评论:
用户可以浏览博客中的文章同时评论感兴趣的文章,也可以查看其他评论。 (5)公告信息查询:
用户可以浏览博客网站中发布的公告信息,了解博客的一些情况。 (6)相片查询:
用户可以浏览博主上传的相片。
2.2.2 后台
系统后台只有博主才能进入,博主可以对博客系统中的数据信息进行更新,主要有以下模块。 (1)文章管理:
管理员对网站中已有的文章进行删除,更新等操作。 (2)公告管理:
发布,删除,更改公告。 (3)投票管理:
发起投票,统计投票等。 (4)个人相册管理:
对博客相册中的图片进行删除,更新等操作。 (5)用户设置:
更新普通用户对博客的操作的权限。 (6)博主设置:
对博主的信息等进行操作。
2.3 性能需求分析
博客网站系统需要具备以下几个主要特性:
(1)多样性: 博客网站在设计时必须遵循的一个重要原则,就是以用户为系统设计的中心。网络的发展大大降低了信息咨询的成本,用户面临更多的选择,所以,博客网站除了降低成本以外,还必须在皮肤,功能的多样性上下工夫,才能够得到用户的认可。具体来说,应用系统应能实现用户特定的需求,操作界面友好、方便,功能设置符合用户的习惯和要求。
(2)易维护:管理员能够简单方便地管理系统,定义新的应用,并对系统进
6
2009级计算机科学与技术职教师资毕业设计
行日常维护;随着博客网站信息的变更或增加、数据规模的增大,系统升级、维护应易于操作;各子系统、功能模块的设计应具有良好的灵活性,保证在博客网站系统建设过程中后期系统功能的实现不影响前期已投入使用的系统功能。
(3)安全性:系统应充分考虑信息、设备、运行和管理的安全性,建立完善的多层次的安全保障体系,保证用户的个人信息等资料的数据安全。
(4)可扩展: 博客网站的用户从事着各种行业,他们的需求各不相同,系统在设计时应充分考虑到用户需求不断变化的需要,降低系统在扩展新的业务功能时的复杂度。
2.4 系统数据需求
2.4.1 系统的数据需求
(1)数据录入和处理的准确性和实时性
数据的输入是否准确是数据处理的前提,错误的输入会导致系统输出的不正确和不可用,从而使系统的工作失去意义。数据的输入来源是用户的手工输入。手工输入要通过系统界面上的安排系统具有容错性,并且对用户操作进行实时的跟踪和错误提示。
在系统中,数据的输入往往是大量的,因此系统要有一定的处理能力,以保证迅速的处理数据。
(2)数据的一致性与完整性
由于网站的数据是共享的,所以如何保证这些数据的一致性,是网站必须解决的问题。要解决这一问题,要有一定的人员维护数据的一致性,在数据录入处控制数据的去向,并且要求对数据库的数据完整性进行严格的约束。
对于输入的数据,要为其定义完整性规则,如果不能符合完整性约束,网站应该拒绝该数据。
(3)数据的共享与独立性
整个博客网站的数据是共享的。然而,从网站开发的角度上看,共享会给设计和调试带来困。因此,应该提供灵活的配置,使各个分系统能够独立运行,而通过人工干预的手段进行系统数据的交换。这样,也能提供系统的强壮性。
7
李姜伟:基于JSP的个人博客系统设计与实现
2.4.2 系统的数据字典
网站中的数据元素:
名字:用户信息 描述:用户的个人信息,用于对用户的确认和更新。 定义:用户信息=帐号+密码+姓名+性别 +工作单位+QQ号码+邮箱号码 位置:输入到用户浏览器(前台) 名字:管理员信息 描述:管理员的个人信息,用于对管理员的确认和更新。 定义:管理员信息=帐号+密码 位置:输入到管理员浏览器(后台) 名字:评论信息 描述:对已有文章进行评论。 定义:评论信息=评论题目+评论内容+评论日期 位置:输入到用户浏览器(前台) 名字:朋友圈信息 描述:用户的个人信息,用于对用户的确认和更新。 定义:朋友信息=姓名+QQ号码+说明 位置:输入到用户浏览器(前台) 名字:文章类型信息 描述:用于对文章进行分类。 定义:用户信息=类型名称+分类说明 位置:输入到用户浏览器(前台) 名字:用户信息 描述:用户的个人信息,用于对用户的确认和更新。 定义:用户信息=帐号+密码+姓名+性别+工作单位+QQ号码+邮箱号码 位置:输入到用户浏览器(前台) 名字:照片信息 描述:用户上传的照片,图片等。 定义:照片信息=照片位置+照片说明+日期 位置:输入到用户浏览器(前台) 名字:投票信息 描述:博主添加的投票信息与每一项的票数。 定义:投票信息=投票分类+投票数量 位置:输入到用户浏览器(前台)
8
2009级计算机科学与技术职教师资毕业设计
3 系统设计
博客网站系统的总目标是:在计算机网络,数据库和先进的开发平台上,利用现有的软件,配置一定的硬件,开发一个具有开放体系结构的、易扩充的、易维护的、具有良好人机交互界面的博客网站,以达到个人推荐、展现自我的一个平台,为交流提供综合的网络环境,同时也为个人的宣传,发展,提供了一个平台。
3.1 系统体系结构
基于B/S结构的个人博客网站系统,应由终端(用户主机/浏览器)、WEB服务器、数据服务器构成。个人博客网站的核心是中间的接入服务器和应用服务器部分。个人博客网站的总体结构图如图3.1所示:
数据用服务器 WEB PC 服务器 图3.1 博客网站总体结构
(web Server)
3.2 主要功能设计
3.2.1 主要功能模块
博客网站分为前台和后台。其中,根据博客前台的特点,可以将其分为博主信息、网络日历、文章查询、公告查询及相册查询等13个部分,其中各个部分及其包括的具体功能模块如图3.2所示。
9