已阅读5页,还剩106页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
河北经贸大学毕业论文基于B/S多用户博客系统的研究与实现专业名称:计算机科学与技术 班 级: 200702 学生姓名: 高远 指导老师: 朱曼利 完成时间: 2011年5月 河北经贸大学毕业论文摘 要随着计算机网络技术的迅速发展,当今程序设计的重点也正在从传统的桌面应用程序设计向Web应用程序设计转移。在这种形势下,人与人之间的交流也在慢慢地计算机化。本系统是专门为准备或已经出国留学的同学而开发设计的,是一个用来发布自己所见所闻,心得体会,留学感悟等的互联网信息发布系统。类似个人网站,但它更强调内容的共享性,使用户可以及时有效地与他人进行交流。系统基于B/S模式,在Visual Studio 2008集成开发环境下采用ASP.NET编程技术和C#语言,使用SQL Server 2008数据库管理整个系统的后台数据,以IIS为服务平台,保证了整个系统稳定,快速,高效地运行。本文主要阐述了多用户博客系统的开发过程以及后台操作几个关键技术的设计和实现,采用了B/S三层架构,设计了专门的缓存策略,运用了当今比较流行的Web前端开发技术Ajax,JavaScript等。文章从以下几个方面进行了讨论:首先,本文介绍了博客丰富的历史背景和社会意义。重点阐述了博客的由来及当前国内外的现状,并对以后的发展进行了展望。其次,本文讨论了系统的可行性,用户的需求和数据库设计。着重说明了数据库的完整性和安全性,使数据库和系统有机地结合起来,实现了对数据资源的充分共享。最后,本文描述了一个多用户博客系统功能模块的设计及其代码的实现,并完成了对该系统的测试。关键词 博客;多用户;留学;B/SABSTRACTWith the rapid development of computer network technology, the focus of todays programming is also transferring from the traditional desktop application design to Web application design. In this situation, the communication between people is slowly computerized. The system is designed to students who want to study abroad or have already studied abroad, it is an Internet information distribution system to publish their own saw and heard, experience and the study perception. It is similar to a personal website, but it more emphasizes to the sharing of content, allowing users timely and effectively to communicate with others. The system is based on B / S mode, using ASP.NET technology and C # programming language in Visual Studio 2008 integrated development environment, using SQL Server 2008 database management system as the whole background data, using IIS as the service platform, ensured that the entire system can operate stably, fast and efficiently.This article mainly described a multi-user blog system development process, the design and implementation key background technology. It used the thinking of MVC, designed a special cache strategy, took use of todays popular fore-end Web development technology such as Ajax, JavaScript and so on. The article discussed the following aspects: First, the article described rich historical background and social significance of the blog. It mainly focused on the origin of the blog and the current situation, and looked ahead the future development. Secondly, the article discussed the feasibility of the system, the users requirements and database design. It highlighted the integrity and security of the database, and organically combined the database and the system, realized the full sharing of data resources. Finally, the article described the function module design of a multi-user blog system and the implementation of code, and completed the testing of system.Keywords Blog; Multi-user; Study Abroad; B/SII目 录1 绪 论11.1 课题开发背景与意义11.2 国内外发展现状21.3 论文安排21.4 课题创新点32 系统开发环境与技术方案42.1 技术方案42.2 开发环境42.3 开发工具52.3.1 关于Visual Studio 200852.3.2 关于SQL Server 200852.2.3 关于C#62.3.4 关于JavaScript72.3.5 关于Ajax72.3.6 关于IIS服务器73 系统分析83.1 可行性分析83.1.1 技术可行性83.1.2 经济可行性83.1.3 操作可行性83.2 需求分析83.2.1 性能需求分析93.2.2 功能需求分析93.3 数据库需求分析114 系统设计134.1 系统架构134.2 系统功能设计134.2.1 功能概述134.2.2 功能模块划分144.2.3 功能模块设计144.2.4 功能结构图154.3 系统流程设计174.3.1 流程设计概述174.3.2 系统流程图174.4 数据库设计184.4.1 数据库概念结构设计184.4.2 数据库逻辑结构设计215 系统实现245.1 系统博客首页的实现245.1.1 系统博客首页概述245.1.2 注册模块的实现255.1.3 登录模块的实现275.2 用户博客首页的实现285.2.1 版式设置的实现295.2.2 模块设置的实现295.3 系统博客后台的实现305.3.1 用户管理的实现305.3.2 博客管理的实现305.3.3 相册管理的实现335.4 用户博客后台功能的实现345.4.1 博客管理的实现345.4.2 相册管理的实现365.4.3 好友管理的实现385.5 Web.config文件配置386 系统测试406.1 测试方法406.2 测试过程406.2.1 链接测试406.2.2 表单测试416.2.3 浏览器兼容测试416.3 测试结果42结束语43致 谢44参考文献45基于B/S多用户博客系统的研究与实现1 绪 论博客(Blog),是Weblog的简称。Weblog,其实是Web和Log的组合词。Web指的是互联网,而Log的原义则是“航海日志”,后指任何类型的流水记录。合在一起理解,Weblog就是在网络上的一种流水记录形式或者简称“网络日志”。 说了半天,Blog究竟是什么?其实Blog就是一个网页,它通常由简短且经常更新的帖子所构成,这些张贴的文章都按照年份和日期倒序排列。Blog的内容和目的有很大的大同,从对其他网站的超级链接和评论,有关公司,个人的新闻到日记,照片,诗歌,散文,甚至科幻小说的发表或张贴都有。简言之,Blog就是以网络作为载体,简易迅速便捷地发布自己的心得,及时有效轻松地与他人进行交流,再集丰富多彩的个性化展示于一体的综合性平台。1.1 课题开发背景与意义随着互联网技术的高速发展和日益的普及,互联网用户的迅速增加,用户对互联网的寄托也发生了翻天覆地的变化,用户不甘于只单单的被动的接受互联网提供的内容,更希望能够加入到内容制造的大家庭中,而博客的出现,极大的改变了这一局面。博客能让个人在互联网上表达自己的心声,这是一个收集和共享任何感兴趣的事物的地方。许多人使用博客只是要组织自己的想法:新闻记者可以使用博客发布新闻,有写日记习惯的人会在博客中宣示自己内心的想法,而摄影和美术发烧者则可以通过博客发布自己的作品。作为一名即将去英国留学的大学生,在临行前需要查询大量关于留学方面的信息,包括当地的风俗习惯,学校的大致情况,以及在英国的衣食住行等。虽然在网上寻找了很长时间,但都没找到自己真正想要的东西。一个偶然的机会,浏览到一位英国留学生的博客,他所写的日志涵盖了关于英国留学的各个方面,后来又在网上看到了许多留学生的博客,看到了他们发表的日志和上传的照片,感觉获益匪浅。为了让准备出国留学的人更加详尽地了解国外,了解国外的习俗和文化,因此想要开发一个多用户博客系统。该系统综合了个人网站,BBS社区,网上刊物,微型门户和新闻网页等各种网络表现形式。作为一种新的表达方式,它包括着大量的智慧,意见和思想,成为人与人之间重要沟通和交流的工具。从某种意义上说,它也是一种的新的文化现象,真正地凸现了网络知识的价值,标志着互联网发展开始步入更高的阶段。1.2 国内外发展现状互动的网络社会突破了地域之间人们的阻碍,给人们带来了更多的机会和把握未来的机遇。这个开放的世界更加注重个性化的人们,追求多样文化的创造性,也将人们的注意力吸引到全球化的背景中来。全球化的过程,对于互联网就是一个无国界的传播过程,而博客就是适应了这种传播需要而产生的。每一个人都可以在全球化的过程中构建一个自由发布个性化的信息平台,这就是博客给人们带来的革命性力量。博客的发展是一个必然的过程。如果BBS,E-mail,飞信,QQ等通讯已经改变了整个未来网络的走向和应用功能,那么博客将改变整个网络的传播面貌。它代表着新的生活方式和新的工作方式,更代表着新的学习方式。通过博客,可以让自己学到很多,让别人学到更多。总之,博客是一个正处于快速发展和快速演变中的互联网新应用。在中国互联网未来的趋势中,博客将会占据更重要的发展生机。它也是决定中国互联网走向全球化的重要一环。成熟的博客应用会带动相关政治,经济,文化的发展,给中国互联网的未来带来更多的发展生机。 1.3 论文安排本文主要研究了系统开发的主要流程并最终实现了一个基于.NET平台下的多用户博客系统,具体内容安排如下:第二章:介绍了系统的技术方案,开发环境以及实用技术。第三章:对系统进行了整体分析,明确了系统的可行性和用户需求。第四章:根据模块化原理,规划并设计了系统的功能模块,详细说明了系统数据库的结构和数据库的完整性,安全性措施。第五章:介绍了多用户博客系统的具体实现,以及核心技术的解决方法。第六章:对系统进行测试,分析测试过程中出现的问题,并提出了解决方案。1.4 课题创新点(1) 在系统设计方面,采用B/S结构,即浏览器和服务器结构。这种结构统一了客户端,使浏览器成为客户端最主要的应用软件,将系统功能的核心部分集中到服务器上。(2) 在响应速度方面,采用缓存机制,对页面更新,背景设置等专门设计了缓存策略,使响应速度更加可观,降低了系统的压力,提高了系统的性能。(3) 在用户体验方面,为用户个人空间提供多种风格的背景和版式,用户还可以自定义空间的模块,使用户可以按照自己的喜好进行选择和设置。(4) 在功能实现方面,除了能实现当今主流博客的大部分功能外,还提供一些个性化的功能,包括在线采集头像,上传文件等。并允许多个用户在同一时间同时使用系统,实现系统的多用户性。2 系统开发环境与技术方案2.1 技术方案由于博客提供了信息的实时发布,动态展示,信息状态的跟踪,以及博客和浏览者,博客和博客之间互动等高交互行为,就注定了对技术的要求会比较苛刻,所以必须选择一种技术架构成熟,稳定性好,执行效率高,经济实惠的解决方案。纵观各种解决方案,最终选择运用ASP.NET作为该系统的主要开发技术。ASP.NET(Active Server Pages,动态服务器网页)是一种用于创建动态Web应用程序的技术,它提供了完整的服务器端对象模型,可以将页面上的所有控件作为对象来访问,使用尽可能少的代码生成企业级Web应用程序所必须的各种服务。ASP.NET是.NET Framework的一部分,当程序员编写ASP.NET应用程序的代码时,可以访问.NET Framework中的类。ASP.NET的发展从1.1版本到3.5版本,每一个版本都可视为Microsoft Web开发史上的里程碑。ASP.NET提供了更易于编写,结构更清晰的代码,这些代码很容易重用和共享。ASP.NET是面向程序员的一次重要变革,它使编写大型的Web应用程序更为简便和符合现代软件工程理念。2.2 开发环境硬件要求:(1) CPU:P4 1.8GHZ以上(2) 内存:1G以上软件要求:(1) 运行平台:Windows XP,Windows Server 2003,Windows 7(2) 运行环境:Microsoft.NET Framework SDK v3.5(3) 数据库管理系统:Microsoft SQL Server 2008(4) 系统开发平台:Microsoft Visual Studio 2008(5) 系统开发语言:C#语言(6) 服务器:IIS 7.0(7) 浏览器:IE 6.0以上(8) 分辨率:最佳效果1024*768像素2.3 开发工具2.3.1 关于Visual Studio 2008Visual Studio 2008是微软公司面向Windows 7、Office 2007、Web 2.0的下一代开发工具,是对Visual Studio 2005一次及时、全面的升级。在Visual Studio 2008中,包含许多新的特性和功能,这些全新的功能会大大的提高我们的工作效率,并且会减少我们的复杂程序。主要包括:(1) .NET Framework对重定向的支持,使Visual Studio 2008可以进行基于多个.NET Framework版本的开发。(2) Ajax和JavaScript对智能客户端的支持,使Ajax成为.NET 3.5的一部分,也为编写JavaScript提供了智能提示的功能。(3) 提供全新的Web开发新体验:Web设计器提供了分割视图编辑,嵌套母版页,以及强大的CSS编辑器集成。(4) 新的VB和C#编辑器对这些语言做了显著的改进,添加了对函数式编程概念的支持以及语言级集成查询(LINQ)。(5) 提供了对内置调试器的支持,可以自动按需调试进入代码,并浏览.NET Framework的库源码。2.3.2 关于SQL Server 2008SQL Server 2008是基于应用客户机/服务器体系结构的关系数据库管理系统,它提供了较为全面的服务,不仅有数据库引擎服务,还有复制服务,通知服务,查询服务等。同时SQL Server 2008与以前版本的SQL Server比较,还表现出了许多新的特性。(1) 集成的管理能力SQL Server 2008将以往的企业管理器,查询分析器,服务管理器,报表管理器等工具一起集成到新的“SQL Server Management Studio”之内,让程序设计师与数据库管理员只需要熟悉一个界面,就可以管理并测试所有相关的功能。并在该工具新提供项目管理的能力下,使得用T-SQL,MDX,DMX,XML/A等语言编写的各脚本文件可以通过项目,为相关的语句提供一致的编写,访问,执行,测试与有效的管理。 (2) 高效的编程能力在集成应用程序的开发上,SQL Server 2008将.NET的CLR直接集成到数据库核心引擎中,让程序管理员可以通过自己所熟悉的.NET语言来开发SQL Server内的对象,扩展了程序编写的弹性。让存储过程,用户自定义函数,触发器,用户自定义数据类型以及聚合函数可以通过.NET的语言,并且直接与SQL Server引擎执行在同一个程序中,以提升运行效率。(3) 强大的分析能力SQL Server 2008与以往版本相比,数据分析能力有了很大的提升。全新设计集成服务提供了工作流与数据流分开的运行模式。强大的分析服务具有集成异构数据源,丰富的显示与浏览数据能力,完备的向导等新特性。数据挖掘功能提供了9种数据挖掘模型,并提供了相应的模型测试工具。报表服务提供了更为友善的互动界面。2.2.3 关于C#C#是微软公司推出的一种基于.NET框架的,面向对象的高级编程语言。C#由C语言和C+派生而来,继承了他们强大的性能,同时又以.NET框架类库为基础,拥有类似Visual Basic的快速开发能力。C#语言的特点如下:(1) 简洁的语法。C#语言和Java语言一样,使用了统一的操作符,淘汰了C+语言中繁乱的表示符号和伪关键字,使用最简单,最常用的形式进行描述。(2) 精心的面向对象设计。C#语言是完全按照面向对象的思想设计的,因此它具有面向对象所应有的一切特性,即封装,继承和多态性。在C#语言中,每种类型都是一个对象,搜有常量,变量,属性,方法,索引和事件都必须封装在类中,从而使代码具有良好的可读性,避免出现命名冲突。(3) 与Web的紧密结合。在C#语言中,对于复杂的Web编程和其他网络编程如同是对本地对象进行的操作,从而简化了大规模,深层次的分布式开发。使用C#语言构建的组件能够方便地为Web服务,并可以通过互联网被运行在任意操作系统上的任意格式所调用。(4) 优秀的安全性与错误处理能力。C#语言可以消除许多软件开发中的常见错误,并提供了包括类型安全在内的完整安全性能。C#语言不允许使用未初始化的变量,并提供了边界检查与溢出检查等功能。内存管理中的垃圾回收机制也大大减轻了开发人员对内存管理的负担。 2.3.4 关于JavaScriptJavaScript是一种基于对象和事件驱动并具有相对安全性的客户端脚本语言,同时也是一种广泛用于客户端Web开发的脚本语言,常用来给HTML网页添加动态功能,比如响应用户的各种操作等。JavaScript是目前互联网上最流行的脚本语言,并且目前所有主要浏览器都能很好的支持它。在当今Web2.0时代的应用中,无一不借助它来提升客户端的用户体验。2.3.5 关于AjaxAjax全称为“Asynchronous JavaScript and XML”,中文含义为“异步JavaScript和XML”,是Web2.0技术的核心。它不是一门新的语言,而是借助于已经存在的JavaScript和XML组合成一种全新的技术,能和服务器端进行异步通信。使用Ajax技术不必刷新整个页面,只需对页面的局部进行更新,可以节省网络宽带,提高网页加载速度,从而提高用户等待时间,改善用户的操作体验。2.3.6 关于IIS服务器IIS是Internet Information Server的缩写,是微软公司主推的服务器,支持HTTP、FTP以及SMTP协议,IIS支持与语言无关的脚本编写和组件,通过IIS,开发人员就可以开发新一代动态的、富有魅力的Web站点。其主要特性包括:(1) IIS可以赋予一部主机电脑一组以上的IP地址,而且还可以有一个以上的域名作为Web网站,对于IIS来说,所有服务器都是它的虚拟服务器。(2) 在互联网上,有很多网站需要多部服务器才能应对不同用户端的请求,这就需要利用DNS所具有的功能,将一组以上的IP指定给同一个域名,每当这个网站接到服务要求,由DNS负责进行解析,它会指定域名的下一组IP地址给它,若要求采用这套做法,服务器的内容必须逐一复制到每一部服务器上。(3) 为了存取后端数据库,IIS支持以下三种方式:IDC(Internet Data Connector)、ADO(ActiveX Data Object)、ADC(Advanced Data Connector), 这三种存储方式各有其特点,而且这三种数据库存取方式的后端数据库都必须提供ODBC界面。本系统基于B/S三层架构,以目前最主流的Windows 7系统为操作平台,后台数据管理采用SQL Server 2008数据库,通过Visual Studio 2008可视化界面,可以更快捷的创建服务页面,并在客户端代码中加入JavaScript脚本程序对用户提交的数据进行客户端验证,从而减轻了IIS服务器的运行压力。3 系统分析3.1 可行性分析可行性分析也称为可行性研究,是在系统调查的基础上,针对新系统的开发是否具备必要性和可能性,对新系统的开发从技术,经济,社会等方面进行分析和研究,以避免投资失误,保证新系统的开发成功。可行性研究的目的就是用最小的代价在尽可能短的时间内确定问题是否能够解决。3.1.1 技术可行性本系统采用的是ASP.NET技术进行开发,使用它可以创建和运行动态、交互的Web服务器应用程序。前台网页设计使用的是Visual Studio 2008,其强大的功能和特性大大提高了开发的效率,而数据库系统采用的是SQL Server 2008,其图形化界面使数据库管理更加简洁灵活,为用户从事程序开发提供了更多的方便。 通过分析,在软,硬件方面现有工具与环境完全可以实现系统的开发,因此具有技术上的可行性。3.1.2 经济可行性本系统对系统开发者来说并不需要太高的成本支出,只是对系统的管理者付出管理报酬即可,而且开发周期不需要太长,节省了人力,物力,财力等资源,所以本系统在经济上是可行的。3.1.3 操作可行性本系统拥有强大的功能模块,可以实现多种不同操作,补充了现在传统管理方式的不足,如用户博客首页和用户博客后台。使得管理个人博客的操作变得十分简便,所以具备了操作上的可行性。综上所述,本系统开发目标明确,在技术和经济等方面具备可行性,并且投入少,见效快,因此系统的开发是完全可行的。3.2 需求分析需求分析是指在建立一个新的或改变一个现存的电脑系统时描写新系统的目的、范围、定义和功能时所要做的所有的工作。需求分析是软件工程中的一个关键过程。在这个过程中,系统分析员和软件工程师确定顾客的需要。只有在确定了这些需要后他们才能够分析和寻求新系统的解决方法。3.2.1 性能需求分析安全性:系统中涉及到大量注册用户的个人信息,因此要具有良好的安全性,以保证注册用户信息的安全。实时性:系统中存储着大量注册用户的信息,为使用户之间能够相互了解彼此需要的信息,系统需要及时自动更新,并且系统响应时间要短,以提高工作效率。可扩展性:系统采用模块化程序设计的方法,使用B/S体系结构,既便于系统功能的各种组合和修改,又便于未参与开发的技术维护人员补充,维护。可操作性:该系统采用控件式的页面布局,使得各种操作更加简便,许多选项只需要点击鼠标就可以完成。3.2.2 功能需求分析(1) 用户分析根据多用户博客系统的一般需求,系统应分为系统管理员,注册用户和游客三种登录身份。游客:此类用户不是本系统的用户或者没有登录的用户,对于当前系统来讲,只是一名匿名的浏览者。在系统中,所有游客都没有身份标识,他们可以浏览并评论博客中的日志和图片,也可以发表匿名的留言。注册用户:此类用户和游客的唯一区别为该类用户属于系统登录用户,在系统中有用户ID作为他们的唯一标识,并拥有自己的用户空间。当注册用户浏览其它用户的博客时,仅仅是一个有身份标识的浏览者,而一旦其进入了自己的博客,这时的身份除了是一名浏览者外,也是该博客的管理员。系统管理员:该类用户为系统的网站管理员,除了具有上述用户的所有管理权限外,还具有管理系统后台的功能。(2) 功能需求说明UML(统一建模语言)中的用例图用于描述系统的主要用例以及系统参与者与用例之间的关系,能较好地表达系统的功能需求。因此,使用用例图来描述该系统的功能需求。按照用户分析中的三种登录身份,用例图如下所示:游览页面发表评论发表留言图3-1 游客用例图文件分类添加好友删除日志删除好友个人资料日志分类添加日志添加文件添加图片上传图片删除留言删除文件个人形象图片分类基本管理相册管理留言管理博客管理网盘管理好友管理图3-2 注册用户用例图系统设置网盘管理相册管理博客管理用户管理文件管理用户分类添加用户日志管理图片管理删除用户图片搜索日志排序缓存管理文件搜索文件排序日志搜索图片排序基本设置图3-3 管理员用例图3.3 数据库需求分析数据库应用系统开发的目标是建立一个满足用户长期需求的产品。开发的主要过程为:理解用户的需求,然后把它们转变为有效的数据库设计,把设计转变为实际的数据库,并且这些数据库带有功能完备、高效能的应用。经过综合的评价和分析后设计出的数据库应满足以下要求:(1) 数据库信息要能充分体现出用户使用系统的需求。(2) 能够支持用户对数据进行的所有处理。(3) 能够容易被数据库管理系统运行维护。(4) 数据一致性,完整性好,无更新异常。根据系统的一般要求,通过对整个系统功能、运行过程和数据流程的分析,可以得出数据库中应包含以下各表:(1) 注册用户类型表:编号(自动编号),用户类型名,用户类型描述。(2) 注册用户信息列表:编号(自动编号),用户名,密码,密码问题,密码答案,电子邮箱,注册时间。(3) 日志类型表:编号(自动编号),类型名,类型描述,创建时间。(4) 日志信息列表:编号(自动编号),类型号,作者编号,作者姓名,日志题目,日志内容,日志回复数量,发表时间。(5) 日志评论列表:编号(自动编号),日志编号,评论人编号,评论人姓名,评论内容,评论发表时间。(6) 相册类型表:编号(自动编号),类型名,相册描述,创建时间。(7) 图片信息列表:编号(自动编号),类型号,图片名,图片大小,图片描述,上传时间。(8) 网盘类型表:编号(自动编号),网盘类型名,网盘类型描述,创建时间。(9) 文件信息列表:编号(自动编号),类型号,文件名,文件描述,上传时间。(10) 留言信息列表:编号(自动编号),留言空间名,留言用户名,留言内容,留言时间。(11) 好友信息列表:编号(自动编号),用户名,好友名,添加时间。4 系统设计4.1 系统架构系统将采用提供Web服务器的经典架构,即:B/S(Browse/Server)架构。该架构和传统的架构C/S(Client/Server)最大的不同在于:传统架构不但要提供服务器端(Server)的程序,还需要提供一个客户端(Client)程序,当软件有更新时,需要所有客户端同时升级才能享受到你的功能,所以软件升级成本比较高。而B/S架构则很好的解决了这一问题,该架构的最终系统代码只需要放在Web服务器上,而用户仅仅通过浏览器就能轻松访问系统。对于系统的升级,只需要将系统代码更新到Web服务器上,用户就能享受到新系统所带来的功能体验。系统的架构图如图4-1所示。HTTPHTTPDatabase(SQL Server)Web Server(IIS)Browse 1Browse 2Browse 3TCP/IPHTTP图4-1 系统架构图4.2 系统功能设计4.2.1 功能概述本系统的最主要功能是体现多用户的使用,用户可以注册申请自己的博客。一旦用户申请了自己的博客,就可以将所见所闻,心得体会,留学感悟等发表或上传到自己的博客上,浏览者就可以对用户所发表的日志和上传的图片进行评论。 为了体现不同用户的个性,系统还允许用户对自己的博客空间进行设计。主要包括:博客主页内容的显示版式的调整、内容显示方式的设置、显示模块的选择和博客整体风格的挑选等功能。为了增加注册用户们的互动性,系统还提供了好友功能。有些功能可能用户只想提供给自己的好友使用,那么这些功能对于其它用户或者未登录的游客们就没有使用的权限。4.2.2 功能模块划分从整个架构特点来看,系统主要由系统博客首页,系统博客后台,用户博客首页和用户博客后台4个大的功能模块组合而成,系统总体功能模块如图4-2所示。多用户博客系统系统博客首页用户博客后台用户博客首页系统博客后台图4-2 系统总体功能模块图系统博客首页:系统博客首页主要是按照一定排序方式对所有用户博客空间里的信息进行统一展现。系统博客后台:系统博客后台主要是对系统内的所有信息进行统一管理,如管理注册用户,批量删除日志和图片等。用户博客首页:用户博客首页主要是对用户空间的布局和内容进行展现。用户博客后台:用户博客后台主要是对用户空间的内容进行管理,如日志发表,图片上传等操作。4.2.3 功能模块设计 (1) 系统博客首页,分为登录模块和注册模块。注册模块:对于游客来说,可以通过注册成为该系统的注册用户,拥有更多的功能和权限。登录模块,按照两种用户类型(系统管理员、注册用户)分成两种验证,在系统登录界面输入用户名和密码,点击登录即提交了表单,提交后与数据库中的对应条目进行对比,对查找不到的用户或者密码错误的用户则跳转到错误提示页面,对正确登录的用户,用户登录后显示用户已登录。选择页面上的退出,则会退出本系统并回到系统博客首页。(2) 用户博客首页,也称为用户空间模块,包括系统管理员,注册用户和游客,都能对注册用户的空间进行访问和浏览,注册用户还能对自己空间的布局和内容进行装扮和管理。(3) 系统博客后台,也称为站点管理模块,是系统管理员才拥有的管理权限,其功能是对整个系统以及所有的注册用户进行管理。分为系统设置,用户管理,博客管理,相册管理,网盘管理等几个模块。系统设置模块,主要对系统进行基本设置以及对系统的模块和缓存进行管理。用户管理模块,主要对所有注册用户的角色进行管理,添加新的管理员以及批量删除用户。博客管理模块,主要对所有注册用户发表的日志进行分类和排序,还能按文章发表的日期进行查询。相册管理模块,主要对所有注册用户上传的图片进行分类和排序,还能按图片添加的日期进行查询。网盘管理模块,主要对所有注册用户上传的文件进行分类和排序,还能按文件添加的日期进行查询。(4) 用户博客后台,也称为用户中心模块,是系统管理员和注册用户都拥有的管理权限,分为基本管理,博客管理,相册管理,网盘管理,留言管理,好友管理等几个模块。基本管理模块,可以对个人的资料和形象进行修改,也可以对自己的空间进行装扮。博客管理模块,可以发表日志以及对已发表的日志进行分类和管理。相册管理模块,可以上传图片以及对已添加的图片进行分类和管理。网盘管理模块,可以上传文件以及对已添加的文件进行分类和管理。留言管理模块,可以对他人的留言进行批量删除和管理。好友管理模块,可以添加好友以及对已添加的好友进行分类和管理。4.2.4 功能结构图根据对用户的分析,可以画出不同角色的功能结构图,如图4-3,图4-4和图4-5所示。网盘管理站点管理相册管理系统设置用户管理博客管理好友管理用户中心留言管理基本管理相册管理网盘管理博客管理系统管理员图4-3 系统管理员功能结构图留言管理用户中心注册用户网盘管理好友管理基本管理博客管理相册管理图4-4 注册用户功能结构图游客访问浏览页面发表评论发表留言图4-5 游客功能结构图4.3 系统流程设计4.3.1 流程设计概述针对不同的登录身份,我们设计了相关功能所涉及到的流程。对于系统管理员用户,可以对系统进行功能控制和情况的查看。当系统管理员登录后,将自动展示当前系统的所有功能。系统管理员可以通过系统博客页面的导航菜单中的站点管理进入站点管理页面。进入站点管理界面后,可以对系统进行设置,对注册用户进行批量删除和管理,对注册用户发表的日志和添加的图片和文件进行分类和管理,对好友留言和评论进行批量删除和管理等。对于注册用户,他们可以通过系统博客首页的导航菜单中的用户中心进入用户中心页面。在用户中心页面中,注册用户可以发表日志,上传图片和文件,添加好友,发表留言等。也可以对自己的空间进行管理,如修改板式,更换皮肤,添加模块等。对于游客,他们只能对数据进行浏览,不能对数据的添加、修改和删除功能。但对于系统中对注册用户日志和图片的评论以及发表留言,游客也完全能实现。4.3.2 系统流程图下面以注册用户为例介绍系统的流程。当游客进入注册模块注册成为注册用户后,才能登录系统。注册用户可以对个人博客空间进行管理,管理的模块包括博客,相册,网盘,留言,好友等。注册用户的流程图如图4-6所示。是是否否注册进入用户中心管理博客、相册、网盘、留言、好友及基本信息是否成功是否登录图4-6 注册用户流程图4.4 数据库设计数据库是按照数据结构来组织,存储和管理数据的仓库,是用于查询大量数据的存储区域。使用数据库可以带来许多好处:如减少了数据的冗余度,从而大大地节省了数据的存储空间,实现数据资源的充分共享等。总的来说,数据库的设计对系统的经济性,功能性和效率性有很大的影响,一个好的数据库,要求在设计时尽量避免数据的多余,另外,还要尽可能提高数据的存取速度。因此我们在设计数据库时要严格的探讨它的使用环境,充分了解用户的需求,清楚地掌握数据库系统的特点。4.4.1 数据库概念结构设计将数据库需求分析得到的用户需求抽象为信息结构即概念模型的过程就是数据库概念结构设计。它能真实充分地反映现实世界,包括事物与事物之间的联系,能满足用户对数据的处理要求,是对现实世界的一个真实模型,它是整个数据库设计的关键。通过对数据库的需求分析,就可以设计出实际的数据库实体,以及他们之间的关系,为后边的数据库逻辑结构设计打基础。这些实体包括各种具体信息,通过相互之间的作用形成数据的流动。该系统包含以下实体:注册用户信息实体,好友信息实体,日志信息实体,图片信息实体,文件信息实体,留言信息实体。注册用户信息实体的E-R图如图4-7所示。编号用户名mnk名注册时间密码信息电子邮箱注册用户信息图4-7 注册用户信息实体属性好友信息实体的E-R图如图4-8所示。用户名好友名添加时间编号好友信息图4-8 好友信息实体属性日志信息实体的E-R图如图4-9所示。类型号编号日志信息作者姓名作者编号回复数量日志题目发表时间日志内容图4-9 日志信息实体属性图片信息实体的E-R图如图4-10所示。编号类型号名图片大小图片名上传时间图片信息图片描述注册用户类型用户类型号用户类型名类型描述编号图4-10 图片信息实体属性网盘文件信息实体的E-R图如图4-11所示。编号类型号名文件描述文件名上传时间文件信息图4-11 文件信息实体属性留言信息实体的E-R图如图4-12所示。编号留言内容名留言用户名留言时间留言空间名名名名留言信息图4-12 留言信息实体属性4.4.2 数据库逻辑结构设计数据库概念结构设计完成,将数据库概念结构转化为数据库系统所支持的实际数据模型,即为数据库逻辑结构。系统主要由6个表组成,分别是注册用户信息列表,日志信息列表,图片信息列表,文件信息列表,留言信息列表和好友信息列表。各实体间的ER图如图4-13所示。nnnnn注册用户日志相册好友留言文件管理1图4-13 各实体间ER图各表的详细设计如下所示(每个表格表示在数据库中的一个表)。表4-1 注册用户信息列表列名数据类型长度允许空说明UserIdint 否用户编号UserNamenvarchar50是用户名Passwordnvarchar128是密码Emailnvarchar128是电子邮件PasswordQuestionnvarchar255是密码问题PasswordAnswernvarchar128是密码答案CreateDatedatetime 是注册时间表4-2 日志信息列表列名数据类型长度允许空说明BlogIDint 否日志编号ClassIDint 是类型号UserIDint 是作者编号UserNamenvarchar50是作者姓名Titlenvarchar255是日志题目BlogContenttext 是日志内容BlogReplyint 是回复数量AddTimedatetime 是发表日期表4-3 图片信息列表列名数据类型长度允许空说明PhotoIDint 否图片编号Folder IDint 是类型号PhotoSizeint 是图片大小Descriptionnvarchar200是图片描述PhotoNamenvarchar255是图片名AddTimedatetime 是添加时间表4-4 文件信息列表列名数据类型长度允许空说明FileIDint 否文件编号FolderIDint 是类型号FileNamenvarchar50是文件名Descriptionnvarchar200是文件描述AddTimedatetime 是添加时间表4-5 留言信息列表列名数据类型长度允许空说明MsgIDint 否留言编号UserNamenvarchar50是留言用户名MsgUsernvarchar
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2024年建筑施工材料选购合同
- 2024年度电影发行放映合同的票房分成
- 2024年修订:客房清洁工合同范本
- 《社区老年人社区意识、参与和健康状况的相关性研究》
- 《电动汽车悬架馈能用小行程直线发电机性能测试装置的研究》
- 《环境污染责任保险的风险治理功能及其实现路径》
- 《内容类移动社交媒体用户感知对用户粘性的影响机制研究》
- 2024年度体育赛事照明安装服务合同
- 2024年海南客运从业资格证报考条件是什么
- 银行员工劳动合同管理规定制度
- 浆砌片石护坡施工方案(工程科)
- 泵站安装与验收标准规范
- 金矿边界品位变化和将及效益分析方案
- 《防烟排烟系统》PPT课件.ppt
- 另辟蹊径-利用MSYS2安装MinGW+Qt开发环境(含32位-64位-动态库-静态库-qwt-opencv等等)
- 初高中数学衔接知识
- V系列有载分接开关讲义
- 图书室开放时间表(精编版)
- 其他食品生产许可证审查细则
- 广东旅游资源汇总21个城市
- 小学生楷体字帖临摹练习
评论
0/150
提交评论