[互联网]网上博客系统的分析与实现.doc_第1页
[互联网]网上博客系统的分析与实现.doc_第2页
[互联网]网上博客系统的分析与实现.doc_第3页
[互联网]网上博客系统的分析与实现.doc_第4页
[互联网]网上博客系统的分析与实现.doc_第5页
已阅读5页,还剩47页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

网络博客管理用户子系统设计 网络博客管理用户子系统设计 摘 要 互联网技术的迅速发展使得博客成为当前网络交流平台中最新、影响力最大的 媒体之一,网络博客是当今发展的一种新应用,是继电子邮件、论坛和即使通讯后 的一种新的网络交流方式。良好的博客管理系统不仅能提供完善、强大的功能,还 要提供简便、人性化的操作方式。 本文基于 B/S 结构,采用 ASP.NET 动态网页开发技术、Visual Studio 2008 和 SQL Server 2005 作为开发工具,设计了一个网络博客管理系统的用户子系统,实现 了系统的主要功能,包括用户登录与注册、个人信息管理、日志管理、照片及视频 文件管理、博友信息管理以及博文的订阅等。本文首先对网络博客管理系统的应用 背景及现状进行了分析,并对系统功能进行了需求分析,给出了数据库的设计方案, 包括 E-R 图及各个数据库表的设计。在系统总体设计中,讨论了系统的组成结构图 及流程图,并详细介绍了个人信息管理、博文日志管理、照片及视频文件管理、博 友信息管理以及博文的订阅等各个子模块的设计思路。 本文共分为四章,第 1 章讨论了本文的背景和意义,采用的开发工具,以及本 文的主要工作。第 2 章介绍了 Web 相关开发技术,包括系统实现采用的技术、基于 的平台,所使用的 C#语言的相关知识,数据库技术等,以解释本系统实现的技术信 息。第 3 章分析了网络博客管理系统-用户子系统的系统需求,进行了总体设计以及 系统数据库部分的设计完成。第 4 章基于前面三章所作的介绍和分析以及总体设计, 对网络博客管理系统-用户子系统进行分模块的详细设计,并得到了具体的实现方案, 并选取重点模块的关键技术难点以及部分代码进行分析说明。 关键词 博客管理系统;B/S;用户子系统;数据库;设计 网络博客管理用户子系统设计 I Internet Blog Management User Subsystem Design Abstract The rapid development of Internet technology makes the blog has become the latest network communication platform, one of the most influential media.Blog is currently developing a new application, which following the e-mail, forums, and even if the communication network after a new means of communication. Good blog management system can not only provide comprehensive, powerful features, but also provide simple, user-friendly mode of operation. This paper analyzes the characteristics of a blog system and the current status of the application development blog.Based on the ASP.NET Web Development Technology. Use Visual Studio 2008 and SQL Server 2005 as a development tool, designed a network management system user subsystem blog, which achieve the main functions of the system including user login and registration, personal information management, log management, photo and video file management, information management, and Friends of Bo Bowen subscriptions, etc This article first blog on the network management system application background and current situation analysis, System functions and needs analysis, database design is given, including the E-R diagram and the design of the various database tables. In the system design to discuss the composition of the system diagram and flow chart, and gave details of personal information management, log management Bowen, photos and video file management, information management, and Friends of Bo Bowens subscription to the various sub-module design ideas. This paper is divided into four chapters. Chapter 1 discusses the background and significance, using the development tools, as well as the main work of this article. Chapter 2 introduces the development of Web-related technologies, including systems to achieve the technology used, based on the platform, using the C# language, knowledge, database technology,so as to explain technical information in this system implementation. Chapter 3 of the network blog management system - the system needs the user subsystem, which 网络博客管理用户子系统设计 II were part of the overall design and database design is completed. Chapter 4 in front of three chapters on the introduction and analysis, and design, Blog on the network management system - the user subsystem detailed design of sub-module, and get a concrete realization of the program. And then select the key modules of the key technical problems and some code analysis shows. KEYWORDS Blog management system;B/S;User subsystem;Database;Design 网络博客管理用户子系统设计 III 目 录 摘 要I ABSTRACT.II 1 绪 论.1 1.1 网络博客管理系统的开发背景和意义1 1.2 WEB 应用程序平台与 ASP.NET 技术3 1.3 本文的主要工作和内容安排4 2 WEB 相关开发技术简介5 2.1 网页开发技术5 2.2 WEB 开发相关技术.5 2.3 C#简介5 2.4 ASP.NET 简介.6 2.4.1 ASP.NET 演变历史.6 2.4.2 ASP.NET 特点.7 2.5 数据库技术.8 2.5.1 数据库技术概述8 2.5.2 数据库特点8 2.5.3 ADO.NET 对数据库的访问 .9 2.5.4 数据库用户管理10 3 博客管理用户子系统的总体设计方案14 3.1 系统设计的目标和原则14 3.2 系统的功能和需求分析15 3.2.1 系统概述15 3.2.2 系统参与者15 3.2.3 系统功能列表16 3.3 系统工作流程17 3.4 系统数据库层设计.18 3.4.1 数据库表设计18 3.4.2 E-R 图设计 24 3.4.3 数据库各表之间的关系26 4 博客管理用户子系统的详细设计方案28 网络博客管理用户子系统设计 IV 4.1 用户登录与注册功能28 4.2 个人信息管理功能.31 4.3 日志管理功能33 4.3.1 发表日志与添加日志类型33 4.3.2 日志浏览与评论35 4.3.3 日志搜索、查看、修改与删除35 4.4 照片与视频文件管理37 4.5 添加博友与博文订阅39 4.5.1 添加和删除博友39 4.5.2 博文订阅与退订39 4.6 留言消息管理42 结 论.44 致 谢.45 参考文献.46 网络博客管理用户子系统设计 0 1 绪 论 1.1 网络博客管理系统的开发背景和意义 博客的出现,标志着互联网从传统的信息共享开始逐渐跨过思想共享的门槛。 网络博客融合了人内传播、人际传播、组织传播和大众传播多种类型,是一种全新 的传播模式,以其方便、自由、信息传输快捷、覆盖范围广等特点成为目前信息传 播的主要方式,越来越受到人们的追捧。博客作为一种不可忽视的文学新文体、开 始昂首阔步的走进大众视野。博客自从 2002 年崭露头角后,就以迅猛的势头快速发 展。据 CNNIC 发布的2007 年中国博客调查报告显示,截止到 2007 年 11 月底, 中国博客空间已经达到 7282 万个,博客作者人数达 4700 万,平均近每 4 个网民中 就有一个博客作者,其中,活跃博客作者数量占博客作者总数的 36%,近 1700 万人; 活跃博客用户的有效博客空间数为 2875 万个。随着互联网的快速普及,博客也愈发 显出它的多层次价值。新浪网总编辑陈彤曾说:博客之间便捷的建立了沟通渠道, 使得相应信息的传递达到了前所未有的高效率7。 互联网技术的迅速发展使得博客成为当前网络交流平台中最新、影响力最大的 媒体之一,博客现象也可谓是近年来全球互联网文化领域中最重要的现象之一。从 美国 9.11 恐怖事件到布什、克里的总统竞选战,从木子美的遗情书到两会博客、 明星博客,博客文化正凭借其强大的草根性、互动性、灵活性和轰动性等特点冲击 着人类现存的文化体系、文化形态和文化观念。拨开纷纷扰扰的文化喧嚣的表面, 我们看到的是激烈交锋背后隐藏着的隶属于大众和精英的不同话语策略。电子传媒 的迅速普及使之成为了当代社会权利场中的强势运动者,在其在互联网高度发展的 今天,博客的影响力已经不仅仅是文学。用真实的情感、敏锐的智慧维系的博客, 能够激发广大读者的共鸣。博客的广泛链接性也为其获得了更大延展面。而真诚的 态度是一个博客赖以生存的土壤。网络超强的传播速度可以使得任何愚弄、欺骗造 成“一石激起千层浪”的效应。其蕴含了多种多样表现方式,现在已经成为对商业、 新闻产业、引导大众舆论等众多方面有着巨大影响力的媒介8。如由 Google 前亚太 区营销总监王怀南和前易趣创始人邵亦波联合创办的网站 babytree 宝宝树 (/)、来自清华大学、天津大学和北京大学的王兴、王慧文、 赖斌强、郭万怀、杨俊、付栋平几位大学生创办的校内网 (/Home.do)、拥有超高人气的娱乐明星博客、知性名人博客、 动人情感博客、自我草根博客等的新浪博客(/)。 如图 1-1 是宝宝树博客网站的首页截图,图 1-2 是人人网登录首页的截图。 网络博客管理用户子系统设计 1 图 1-1 宝宝树博客 宝宝树网站是定位为年轻父母的社区,新一代年轻父母大都是独生子女,父母 的育儿经验已不能满足于现代社会的发展,年轻的父母有与其他年轻的父母交流的 要求。宝宝树网站的界面美观大方,其博客管理功能也比较齐全,包括日记、相册、 动画、小圈子(群组)、大圈子(类似论坛)和按地区和宝宝年龄分组浏览的功能。 图 1-2 人人网 其中人人网是由千豫集团将旗下著名的校内网更名而来的。而校内网曾是中国 大学生市场具有垄断地位的校园网站。人人网刚创建的时候一个最重要的特点是限 制具有特定大学 IP 地址或者大学电子邮箱的用户注册,这样就保证了注册用户绝大 多数都是在校大学生。用户注册之后可以粘贴自己的照片,撰写日志,签写留言等。 该网站鼓励大学生用户实名注册,上传真实照片,让大学生在网络上体验到现实生 网络博客管理用户子系统设计 2 活的乐趣。而现在的人人网是为整个中国互联网用户提供服务的 SNS 社交网站。可 以说是中国非常有代表性的几大博客之一。其博客管理系统分类详细,包含丰富完 善的功能。其有一个重要的特点就是真实。人人网的注册信息基本都是基于现实 工作单位或学校所设定。利用人人网可以找到很久未联络的同学或同事。校园 SNS 社区(以校内网为代表)的出现及走红,在一定程度上反映了当前大学生群体对网 络真实性的呼唤与渴求,校内网也伴随着它的网络用户们一起在成长,每一次升级 都带来更友好的界面,更强大的功能。 计算机网络的普及,博客管理系统是一个网络化、智能化、数字化有机结合的 管理的平台。本论文的任务是对博客管理系统的功能需求进行分析,基于 B/S 模式, 采用 ASP.NET 、C#开发语言与 Visual Studio 2008 开发平台,并结合 SQL Server 2005 数据库软件,设计一个博客管理系统用户子系统,要实现博客管理的各项主 要功能,如博文撰写、评论、添加博友、上传视频、照片等功能。 1.2 WEB 应用程序平台与 ASP.NET 技术 网络博客管理系统-用户子系统属于通用的 Web 应用系统。本文使用 ASP.NET 3.5 技术,数据库采用 SQL Server 2005;通过可视化的 Visual Stuio 2008 开发环境提 供一系列的支持,采用面向对象的组件编程语言 C#语言,从而以能够以更高的效率 开发应用程序。 ASP.NET 是微软的 Web 应用程序开发平台。使用 ASP.NET,可以创建电子商务 网站、数据驱动的门户网站以及在因特网上可以找到的任何类型的网站,当然也包 括博客管理系统。ASP.NET 最大的优势在于,在编写 Web 应用程序的时候,无须 将 HTML 和脚本代码混杂成一团浆糊,只需使用诸如 Visual Studio 2008 之类的编码 和设计工具,就可以创建出优秀的 Web 应用程序9。 现在的 Web 应用程序一般有两种模式:C/S 和 B/S。C/S 是客户端/服务器端程 序。也就是说这类程序一般独立运行。而 B/S 就是浏览器/服务器端应用程序,这类 应用程序一般借助 IE 等浏览器来运行。Web 应用程序一般是 B/S 模式。常见的计数 板、留言板、聊天室和论坛 BBS 等,都是 Web 应用程序,不过这些应用相对比较 简单,而 Web 应用程序的真正核心主要是对数据库进行处理,管理信息系统 (Mangement Information System,简称 MIS)就是这种架构的最典型应用。MIS 可 以应用于局域网,也可以应用于广域网。目前基于 Internet 的 MIS 系统以其低廉成 本、维护简便、覆盖范围广、功能易实现等诸多特性,得到越来越多的应用。 1.3 本文的主要工作和内容安排 本文的主要工作是首先对网络博客管理系统-用户子系统进行了功能需求分析。 然后基于 B/S 结构,采用 ASP.NET 动态网页开发技术、Visual Studio 2008 和 SQL 网络博客管理用户子系统设计 3 Server 2005 作为开发工具,设计了一个网络博客管理系统的用户子系统,完成了数 据库的设计,包括 E-R 图及各个数据库表的设计。此外,还给出了系统的组成结构 图及流程图,完成了各个子模块的程序编码和调试,能够实现系统的主要功能,包 括用户登录与注册、个人信息管理、博文日志管理、照片及视频文件管理、博友信 息管理以及博文的订阅等。 本文的组织结构共分为五大部分。第 1 章的绪论主要介绍了博客的概念和理念, 以及简单介绍了博客程序的特点,在国内外互联网大潮中的发展现状,同时说明了 系统需要解决的问题,最后描述了本文的组织结构。第 2 章是 Web 相关开发技术简 介。博客是当今互联网上具有 Web2.0 特点的新型应用,与用户表现相关的技术层 出不穷,而底层的数据交互却相对稳定。本章介绍了系统的实现采用的技术,基于 的平台,所使用的 C#语言的相关知识,数据库技术等,以解释本系统实现的技术信 息。第 3 章是博客管理用户子系统的总体设计方案,在系统设计的目标和原则的指 导和约束下对系统的功能架构和逻辑构架进行设计,得到系统的大概轮廓,并确认 系统的重点部分。这其中包括了系统的需求分析,根据毕业设计的要求和本系统开 发的具体情况对需求进行获取,同时结合了博客系统是 Web 通用程序的特点分析了 系统的非功能性需求,并完成了系统总体数据库设计部分,包括 E-R 图,表之间关 系等部分。第 4 章是基于 Web 的博客管理用户子系统的详细设计方案,在系统详细 设计中从各个功能模块的角度出发对每个模块内部功能的实现进行了描述,得到了 具体的技术实现方案。并选取重点模块的关键技术难点以及部分代码进行分析说明。 最后是对全文的总结。 网络博客管理用户子系统设计 4 2 WEB 相关开发技术简介 2.1 网页开发技术 网页分为动态网页和静态网页,制作静态网页,需要 HTML 语言即可。HTML 语言通过标签来完成基本网页设置。其中标签都是成对出现的,如 “”,html 是 HTML 语言开始的地方,代表这是一段 HTML 代码。 “”是一个页面的“头”,一般包括这个页面的主题和一些需要调用 的页面样式等。“”是页面的“身体”,主要在此处写页面的内容。 静态网页可以算是第一代网页,静态网页只显示基本内容,根本无法与用户交 互。要想与用户交互,就需要动态网页,动态网页包括静态部分和动态部分,静态 部分依然由 HTML 语言组成,而动态部分则由 JavaScript 和 VBScript 组成。因为 VBScript 只能用在 IE 浏览器上,所以 JavaScript 更为通用,可以用在任意浏览器上 11。 虽然 JavaScript 可以完成一些交互,但其不能访问数据库,不能完成大容量数 据的提交和获取工作,所以一般都把 JavaScript 和 VBScript 称为脚本语言。除了脚 本语言可以完成动态网页以外,很多种服务器端开发语言,如 ASP、JSP、ASP.NET 等。这些服务器端语言,可以实现与数据库的交互,可以反 馈数据给浏览器,可以实现用户与服务器的完整交互。ASP.NET,确切的说,其不 是一门语言,而是一门网页开发技术,其底层语言是 C#。 2.2 WEB 开发相关技术 网页和 Web 开发的关系,是网页属于 Web 开发的对象,或者说是 Web 开发的 一部分,凡是使用浏览器来查看的程序,本文统称为 Web 应用程序,凡是用于开发 Web 应用程序的技术,本文统称为 Web 开发技术。 Web 应用程序开发一般分为两部分:前台开发和后台开发。 前台开发前台开发:主要包括页面设计、样式布局、特效等。页面设计由基本的 HTML 和 JavaScript 完成,而样式布局和特效一般由 CSS(样式表)来完成。 后台开发后台开发:可以与数据库交互的各种开发语言,如 ASP.NET、Java、PHP 等。一般由一些类库和包组成。如果使用 ASP.NET,微软提供了一个 NET3.5 框架, 其包含了 Web 开发所有需要的类库,可以通过调用来完成非常复杂的功能。 2.3 C#简介 C#是一门简单、现代、优雅、面向对象、类型安全、平台独立的组件编程语言, 起源于 C 语言家族,是.NET 的关键性语言,也是整个.NET 平台的基础,它使程序 网络博客管理用户子系统设计 5 员能快速的为新一代的 Microsoft .NET 平台开发应用程序。C#已经获得了 ECMA International 和 ISO/IEC 的国际标准认证,它们分别是 ECMA-334 标准和 ISO/IEC 23270 标准。Microsoft 用于.NET 框架的 C#编译器就是根据这两个标准实现的。 C#是面向对象语言 ,但 C#进一步支持面向组件(component-oriented)的编程。 现代软件的设计越来越依赖于来自包含(self-contained)和来自描述(self- describing)功能包形式的软件组件。这种组件的关键之处在于它们提供了带有属性、 方法和事件的编程模型;它们还具有提供关于组件声明信息的特性(attribute);同 时,它们编入了自己的文档。C#提供语言构件来直接支持这种概念,使得 C#在创建 和使用软件构件方面非常自然。 C#的一些特征支持创建健壮和持久的应用程序:垃圾回收(garbage collection) 特征可以自动回收无用对象所占的内存空间;异常处理(exception handling)提供 了一个结构化和可扩展的方式,用于错误检测和恢复;语言的类型安全(type- safe)设计防止引用非初始化变量、数组下标越界,以及执行未检查的类型转换等情 形发生。 C#具有统一类型系统。所有的 C#类型,包括诸如 int 和 double 的基本数据类型, 都继承于单根类型 object。因此,所有类型都共享一组通用操作,并且,任何类型 的值都能够以一致的方式存储、传递和操作。C#支持用户自定义引用类型和值类型, 既允许对象的动态分配,也允许轻量结构的内联存储。 为保证 C#程序和类库总能以兼容的方式升级,在 C#的设计中十分强调版本控 制。许多程序语言不太重视这一点,导致采用那些语言编写的程序常常因为其所依 赖的类库的更新而无法工作。C#的设计方面直接受到版本考虑的影响,包括分开的 virtual 和 override 修饰符、方法重载的规则,以及支持对显示接口成员的声明。 2.4 ASP.NET 简介 ASP.NET 是统一的 Web 应用程序平台,是一种新的编程模型和基础结构,通 过 ASP.NET 能构建更安全、更强、可升级、更稳定的网络应用程序。 2.4.1 ASP.NET 演变历史 ASP.NET 不是一朝一夕出现的,有着特殊的演变历程,是伴随 Web 的发展而 发展的,在 20 世纪 90 年代网络开始诞生时,许多网民基于一些简单的想法,都想 创建自己的站点,HTML 技术实现了人的一些梦想。这些网站只是显示图片及文字 显示,是静态页面。但随着网络的发展,要求能够实现响应用户请求、接受用户相 应信息并自动更新、丰富网站内容,连接数据显示或管理网络资料等。随后出现了 CGI 到 PHP 到 Java 等网络开发技术,并在 20 世纪末出现了 ASP 技术,推动了整个 动态网络的蓬勃发展,陆续出现在线商店,在线论坛、QQ、博客等功能实现的网络 网络博客管理用户子系统设计 6 技术。 以前 ASP 技术是结合 HTML 页面的源代码一起编译运行的,如果应用程序较 为复杂,经常会导致代码冗余、运行缓慢、调试程序难等,由于其编辑一般采用弱 数据类型,加上管理不善,经常出现安全漏洞。至此,功能强,开发简易、安全性 好的网络技术的推出成为一种大趋势,Microsoft 又推出了 ASP.NET,并使用成熟的 Visual Studio.NET 和 C#编程语言,使整个网络技术以指数级增长的速度迅速发展。 Microsoft 首先推出的是 ASP.NET1.1 版本,该版本虽然对网络技术有巨大的推 动作用,但由于该版本开发的技术要求比较高,使该技术掌握在为数不多、技术比 较资深的程序员手中。Microsoft 提出“少于 70%的代码”的目标,推出了 ASP.NET2.0,使更多的程序员及初学者能够构建实用的网络应用程序。ASP.NET2.0 的出现,使.NET 技术已几乎填满了整个网络技术领域。最后 Microsoft 还推出了 3.0、3.5 版,使网络应用程序更趋向于智能化开发,运行更像 Windows 下的应用程 序一样流畅。 2.4.2 ASP.NET 特点 ASP.NET 是目前最受欢迎的网络开发技术,该技术本身具有许多特点。其特点 如下所示: 高效的运行性能高效的运行性能:由于 ASP.NET 采用代码页面(.cs 文件)与前台页面 (.aspx 文件)分离存储,这使得 ASP.NET 应用程序可以像一般 Windows 下的应用程序一样,编译这些代码页面成 DLL 文件。ASP.NET 在服务器上 运行时,可以直接运行编译好的 DLL 文件,这比 ASP 等程序需要边编译边 运行的运行性能要好很多。而且 ASP.NET 采用缓存机制,使页面的运行性 能更好。 简易性简易性:ASP.NET 完全基于面向对象开发技术,使整个网络应用程序开发 根据页面各个对象的属性、方法、事件进行各个功能的开发。例如,页面 中添加一个按钮,单击该按钮,就可以为按钮设置一个 Click 事件,在该事 件中添加一些处理代码,则可以实现单击按钮时,处理一些功能。 灵活性灵活性:ASP.NET 不依赖于任何 Web 浏览器,也与任何语言无直接关系, 在 ASP.NET 开发中可以结合多种程序语言,构建功能丰富的应用程序。 ASP.NET 网络应用程序甚至可以调用 API、Windows 其他应用程序进行联 合开发,这使 ASP.NET 的开发更具有灵活性。 可管理性可管理性:ASP.NET2.0 之后的版本,是基于 Web.config 文件进行配置管理 的应用程序,这使得 ASP.NET 的应用程序不依赖本地开发环境,方便该应 用程序的移植。例如,要将网站发布到虚拟主机上,只要将 Web.config 文 网络博客管理用户子系统设计 7 件复制到该虚拟空间,就可以完成在虚拟主机上配置开发环境。如果对应 用程序进行修改变化,响应一些相关配置,只要将该配置文件上传到服务 器,就可以使服务器上的应用程序也得到更新变化。这就是 ASP.NET 的可 管理性。 可调试性可调试性:ASP.NET 可以像 Windows 应用程序那样进行调试,并跟踪调试 的错误或异常。同时也提供了处理这些错误或异常的处理机制,保证应用 程序始终可以正常运行。 自定义性和扩展性自定义性和扩展性:ASP.NET 可以将一个 ASP.NET 页面程序修改设置为一 个自定义用户控件,并可以添加插入到不同的 ASP.NET 页面中,实现更具 有个性化的功能组件。同时这些组件也可以应用到其他站点中,这样提高 了 ASP.NET 代码的重复使用及功能扩展。 2.5 数据库技术 2.5.1 数据库技术概述 数据库技术是计算机领域的一个重要分支,产生于 20 世纪 60 年代,它的出现 使计算机应用渗透到了各个领域。在应用程序开发和应用过程中,数据是其最重要 的“灵魂”,没有数据,应用程序就成为空谈。为了方便数据的存储和管理,需要 有一个集中管理模式。可以通过数据库管理,以数据表存储各种数据模型,这样方 便应用程序连接数据库,读取、插入、编辑、删除数据。 J.Martin 给数据库下了一个比较完整的定义:数据库是存储在一起的相关数据的 集合,这些数据是结构化的,无有害的或不必要的冗余,并为多种应用服务;数据 的存储独立于使用它的程序;对数据库插入新数据,修改和检索原有数据均能按一 种公用的和可控制的方式进行。当某个系统中存在结构上完全分开的若干个数据库 时,则该系统包含一个数据库集合15。 数据库是依照某种数据构成组织起来的有序集合,这个有序集合通常保存为一 个或多个相关文件,即数据库文件。数据库文件可以是一个 Excel 文档、一个记事 文本、一个 Access 文件等。数据库又分为关系数据库、面向对象数据库及 XML 数 据库等。 面向对象数据库,就是把面向对象的方法和数据库技术结合起来,可以使数据 库系统的分析、设计最大程度地与人们对客观世界的认识相一致。面向对象数据库 系统是为了满足新的数据库应用需要而产生的新一代数据库系统。面向对象数据库 一般应用于特殊科学领域或一些特殊商业领域。XML 是为了能够跨领域、跨计算机 共享网络资料发展形成的一种新型数据库。 关系数据通常是由多个结构化的数据表组成,每个数据表是由行和列组成的二 网络博客管理用户子系统设计 8 维关系表。在数据表中,根据行和列则可以找到对应的相关数据。在关系数据库中, 表与表之间有一定的内在联系。关系数据库是目前最流行的数据库。 2.5.2 数据库技术特点 严格地说,数据库是按照数据结构来组织、存储和管理数据的仓库。在经济管 理的日常工作中,常常需要把某些相关的数据放进这样的“仓库”,并根据管理的 需要进行相应的处理。关系数据通常是由多个结构化的数据表组成,每个数据表是 由行和列组成的二维关系表。数据库是依照某种数据模型组织起来并存放二级存储 器中的数据集合。这种数据集合具有如下特点:尽可能不重复,以最优方式为某个 特定组织的多种应用服务,其数据结构独立于使用它的应用程序,对数据的增、删、 改和检索由统一软件进行管理和控制。从发展的历史看,数据库是数据管理的高级 阶段,它是由文件管理系统发展起来的。其特点可以总结为以下几点: 1. 实现数据共享 数据共享包含所有用户可同时存取数据库中的数据,也包括 用户可以用各种接口方式使用数据库,并提供数据共享。 2. 减少数据的冗余度 同文件系统相比,由于数据库实现了数据共享,从而避 免了用户各自建立应用的文件。减少了大量重复数据,减少了数据冗余, 维护了数据的一致。 3. 数据的独立性 正数据的独立性包括数据库中数据库的逻辑结构和应用程序 的互相独立,也包括数据物理结构的变化不影响数据的逻辑结构。 4. 数据实现集中控制 文件管理方式中,数据处于一种分散的状态,不同的用 户或同一用户在不同处理中其文件之间毫无关系。利用数据库可对数据进 行集中控制和管理,并通过数据模型表示各种数据的组织以及数据间的联 系。 5. 数据的一致性和可维护性 主要包括防止数据流失、错误更新和越权使用的 安全性机制;保证数据的正确性、有效性和相容性的完整性机制;使在同 一时间周期内,允许对数据实现多路存取,又能防止用户之间的不正常交 互作用的并发控制机制;以及故障的发现和恢复机制。 6. 故障恢复 由数据库管理系统提供一套方法,可及时发现故障和修复故障, 从而防止数据被破坏。数据库系统能尽快恢复数据库系统运行时出现的故 障,可能是物理上或者是逻辑上的错误,比如对系统的误操作造成的数据 错误。 2.5.3 ADO.NET 对数据库的访问 在 Web 应用系统中,.NET 使用 ADO.NET 将系统前端的 Web 浏览器和后台的 数据库联合起来。.NET 使用 ADO.NET 可以完成对各种数据库,如 Microsoft SQL 网络博客管理用户子系统设计 9 Sever,Oracle 以及 OLE DB 和 XML 公开数据源的访问。 ASP.NET 中要访问数据库,必须通过 ADO.NET 组件来访问。ADO.NET 是 Microsoft ActiveX Data Objects 在.NET 下的数据访问框架。通过该数据访问组件可 以查询、添加、修改、删除任何类型数据源的数据信息。ADO.NET 进行数据库访问 时,必须首先创建与数据库的连接。ADO.NET 是通过 Connection 对象来实现的。 Connection 对象主要用于为 Web 页面与数据库之间建立连接。该对象主要分为 SqlConnection 和 OleDbCconnection。前者主要用于创建与 SQL Sever 数据库连接, 而后者主要是基于 OLE DB 数据源的数据库连接。 2.5.4 数据库用户管理 用户管理模块主要的作用是提供用户登录验证、防止用户账号被盗用和为不同 级别的用户分配权限实现对系统文件的差别访问,这对保障系统的数据安全尤其重 要。 由于本系统的实现软件环境是 ASP.NET2.0 即 Visual Studio 2005,为了加快网 站架构和实现底层用户控制机制的完整性,所以在该模块的实现过程中借用了系统 提供的用户管理机制。 为了更清晰地解释本系统中用户管理模块的设计实现,这里对.NET2.0 平台底 层的用户管理机制进行简短的介绍,详细的实现细节以及底层 API 调用,将会在下 一章用户管理模块的实现中进行更为详细的介绍。 微软公司 Web 服务器是 IIS,而 ASP.NET2.0 平台正是跟这一服务器进行了完 美的结合。每个 ASP.NET 程序在根目录下都有一个默认的配置文件 web.config,可 以说这是整个网站程序的心脏,因为在使用 IIS 做服务器时,在每次访问该程序时, IIS 都会动态的加载 web.config 中的相关内容,建立访问机制、验证和授权。比如当 不同的用户登录后会有不同的访问权限,管理员可以进入网站后台进行后台操作访 问数据库和更新网站敏感数据,但是普通权限的用户则只能查看特定的界面。这些 机制的实现正是因为 IIS 会根据 web.config 中用户所属的角色和拥有的权限进行动 态的管理。当然这也有它的局限性,比如跨平台的限制等等。 但是如果要在程序中使用这种机制的话,还需要底层的 API 的调用。这里主要 用到 API 有 Membership 成员资格、Role 角色、Profile 用户设置文件和 Personalization 个性化。它们的功能如下: (1) Membership 是负责用户账号的管理。 (2) Role 是负责用户群组的管理。 (3) Profile 则是 Membership 的扩展搭配,例如 Membership 只创建最核心的 账号和密码等,像用户的星座、血型和职业等则是委由 Profile 来处理的。 网络博客管理用户子系统设计 10 (4) Personalization 是记载 Membership 用户个人独特的设置。 有了账号、角色群、Profile 与 Personalization,再加上网页的验证和授权,这样 就构成了一个初步而比较严谨的权限账号安全性管理系统。它们与 ASP.NET 功能单 元的对应如图 2-1 所示: Profile用户设置文件 用户账号外属性设置 Personalization个性化 Web Part Theme Membership成员资格 用户账号/密码 Role角色用户群组 图 2-1 ASP.NET 功能单元对应图 为了方便网站管理从 ASP.NET2.0 开始微软提供了 ASP.NET 网站管理工具,它 提供了一个以 IE 浏览器为管理接口的途径,作为网站设置与 web.config 文件之间沟 通媒介,某种程度了免除了直接编辑 XML 格式的 web.config 文件的必要性。通过 这种方式能够大大提高网站管理的方便性、亲和度。而它的管理接口提供了三大类 功能以简化网站配置的管理配置,包括:安全性设置管理(Security)、应用程序设 置管理(Application)和提供程序设置管理(Provider)。如图 2-2 所示: 图 2-2 ASP.NET 网站管理工具 在 VS2005 开发工具的【网站】菜单中选择【ASP.NET 配置】选项,之后就会 打开一个浏览器并显示 ASP.NET 网站管理工具界面,在【提供程序】页签中测试 网络博客管理用户子系统设计 11 Provider 连接,如图 2-3 所示: 图 2-3 测试 ASP.NET Provider 提供程序连接 当正确注册数据库并出现上图所示界面,就会在该网站的数据库中自动添加 11 个数据库表,如图 2-4 所示。 图 2-4 11 个数据库表 这 11 个数据库表的关系,如图 2-5 所示。 网络博客管理用户子系统设计 12 图 2-5 11 个数据表关联图 完成上面的工作之后,把自己的用户数据表与上面的 aspnet_Users 表进行关联, 即可实现用系统自动配置的数据表实现用户登录、验证和授权操作,而用自己的数 据表实现有关细节数据的操作。 网络博客管理用户子系统设计 13 3 博客管理用户子系统的总体设计方案 3.1 系统设计的目标和原则 需求分析是系统开发工作中最重要的一环,在产品开发中起到举足轻重的作用。 准确全面的需求分析是架构设计和详细设计的基础,对需求分析的处理好坏直接影 响一个项目或产品的成败。由于博客系统属于通用的 Web 应用程序,最终用户就是 普通的互联网用户,因此首先参照一些成功的博客网站,分析的其优缺点,并根据 毕业设计课题要求形成一个博客管理系统用户子系统详细的特性列表。 博客系统属于典型的 B/S 结构和 Web 应用程序,B/S 结构和传统的 C/S 结构程 序相比虽然具有无需客户端,部署方便等优点,但同时也具有一些不足之处,如用 户界面的表现力不够丰富,网络传输自身上的一些安全性问题等。所以本文对博客 系统的设计从 Web 应用程序的特点出发,考虑到网络带宽,安全性等各方面的因素, 充分发挥 B/S 结构应用程序的优势,并结合具体技术在最大程度是上克服其特点。 应该能有效控制和管理不同的用户权限,考虑到以下原则: 适用性:适用性:根据需求的特征设计出合适的系统体系结构,能够同时满足功能 性需求和非功能性需求。 结构稳定性:结构稳定性:系统架构应该能在一段时间内保持稳定不变,在系统的实现 过程中不会因为系统架构的变化导致数据库、数据结构、模块结构乃至用 户界面的变化。 易于扩展:易于扩展:今天的互联网变化飞速,新技术新应用层出不穷,系统应足够 灵活以适应可能发生变化的环境和用户需求。其具体体现在系统采用结构 清晰的模块化设计和分层结构,每一模块部分都可以根据需要灵活调整, 每一层的变化不会影响到其它层,易于维护。 可重用:可重用:重用有利于提高产品的质量、提高生产率和降低成本,通过提取 应用域中的共性,将能够重用的部分形成独立的模块。同时,可重用与易 于扩展在某种程度上是相互联系的,良好的分层、模块化的设计能够提高 代码、组件的重用性。 该系统的用户界面设计应遵循以下原则: 界面规范应遵循 Microsoft Windows 软件界面的规范,尽量保持一致性;系统的 每一次对话都应该有明确的次序,开始、中间处理过程、结束,设计完整的对话过 程。提供简单的错误处理机制,比如在客户端或服务器端提供输入数据有效性的测 试和对用户较为友好的信息提示的等。提供信息反馈:用多种信息提示用户当前软 件运行状态、软件界面元件等的功能。操作可逆:其动作可是单个的操作,或者是 网络博客管理用户子系统设计 14 对一个相对独立的操作序列。并且设计良好的联机帮助。 在系统设计及运行过程中,可能会出现各种故障和问题,必须提出相关的解决 方案,例如在用户登录失败时,系统可以给出提示:“对不起,您已经登录”,或 者“密码错误,请重新登录!”等。在登录过程中,突然发生中断事件,可以通过 重新打开来恢复已经保存的内容,继续运行。其次,系统在运行过程中可能存在较 为频繁的数据库插入、更新和删除的操作,因此系统应当提供数据库异常检测以及 事务处理的功能,保证数据库中数据与用户的期望保持一致。此外,由于数据在数 据库中已经有备份,故在系统出错后可以依靠数据库的恢复功能,并且依靠日志文 件使系统再启动,就算系统崩溃用户数据也不会丢失或遭到破坏。但有可能占用更 多的数据存储空间,权衡措施由用户来决定。 3.2 系统的功能和需求分析 3.2.1 系统概述 博客子系统是一个博客网站的子系统。博客系统有其最基础的一个功能:网络 日志,但博客又不同于简单的“日志”每个博客因为内容和目的不同从而蕴含 了大量的各种丰富信息,同时也产生了一种新的“网络社会关系”。网民通过注册 自己的博客网页后 , 可以随时上传、更新自己的博客。一个好的博客系统能不仅能 提供完善、强大的功能,还要提供简便、人性化的用户操作方式。总体上,系统的 目标是使不同博客用户之间有一个交流的平台。通过博客系统实现博主们异地沟通、 心情发布、技术交流等问题的解决。 3.2.2 系统参与者 博客系统属于一个通用的 Web 应用系统,针对本设计所作完成系统功能,并没 有特别复杂的业务逻辑功能,参与者也相对简单。针对用户子系统而言,本文考虑 的参与者有匿名用户和注册用户两种。 本系统基于角色的权限管理,每个角色有不同的权限,每个用户属于某种角色, 系统根据所属的角色权限确定用户权限。以上两种参与者能够参与的系统功能如下: 匿名用户:是博客系统中权限最低的用户。只能进行博客日志浏览,并且 不可以在不注册登录的情况下对博客或照片视频进行评论。 注册用户:是博客系统中普通权限用户。注册用户可以在自己的博客上发 布日志并在其他用户的博客日志中进行评论等。也可通过后台管理系统对 自己已发布的日志进行编辑、删除。 此外,博客管理系统中还应该有系统管理员的角色,但本文仅仅是完成整个网 网络博客管理用户子系统设计 15 络博客管理系统中的一部分,即用户的子系统的设计,故没有考虑系统管理员的角 色。 3.2.3 系统功能列表 系统的基本功能可以分为登录、博客用户信息管理、博文管理功能、视频与相 册信息管理、信息统计能等几大部分,每一部分的具体功能描述列表如下。 表 3-1 系统功能概述 序号功能名称描述 1登录、注册 用户可以进行注册,注册的同时向数据库中保 存用户注册的时间和 IP。登录时系统保存用户 登录名。添加日志和评论都需要用户登录。.管 理员和博客用户分别登录

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论