还剩50页未读,继续阅读
本资源只提供10页预览,全部文档请下载后查看!喜欢就下载吧,查找使用更方便
文本内容:
网络__管理用户子系统设计西南交通大学本科毕业设计(论文)第III页网络__管理用户子系统设计摘要互联网技术的迅速发展使得__成为当前网络交流平台中最新、影响力最大的媒体之一,网络__是当今发展的一种新应用,是继____、__和即使通讯后的一种新的网络交流方式良好的__管理系统不仅能提供完善、强大的功能,还要提供简便、人性化的操作方式本文基于B/S结构,采用ASP.NET动态网页__技术、VisualStudio2008和SQLServer2005作为__工具,设计了一个网络__管理系统的用户子系统,实现了系统的主要功能,包括用户登录与注册、个人信息管理、日志管理、照片及视频文件管理、博友信息管理以及博文的订阅等本文首先对网络__管理系统的应用背景及现状进行了分析,并对系统功能进行了需求分析,给出了数据库的设计方案,包括E-R图及各个数据库表的设计在系统总体设计中,讨论了系统的组成结构图及流程图,并详细介绍了个人信息管理、博文日志管理、照片及视频文件管理、博友信息管理以及博文的订阅等各个子模块的设计思路本文共分为四章,第1章讨论了本文的背景和意义,采用的__工具,以及本文的主要工作第2章介绍了Web相关__技术,包括系统实现采用的技术、基于的平台,所使用的C#语言的相关知识,数据库技术等,以解释本系统实现的技术信息第3章分析了网络__管理系统-用户子系统的系统需求,进行了总体设计以及系统数据库部分的设计完成第4章基于前面三章所作的介绍和分析以及总体设计,对网络__管理系统-用户子系统进行分模块的详细设计,并得到了具体的实现方案,并选取重点模块的关键技术难点以及部分代码进行分析说明关键词__管理系统;B/S;用户子系统;数据库;设计InternetBlog__nagementUserSubsystemDesignAbstractTherapiddevelopmentofInternettechnology__kesthebloghasbecomethelatestnetworkcommunicationplatformoneofthemostinfluentialmedia.Blogiscurrentlydevelopinganewapplicationwhichfollowingthee-__ilforumsandevenifthecommunicationnetworkafteranewmeansofcommunication.Goodblog__nagementsystemcannotonlyprovidecomprehensivepowerfulfeaturesbutalsoprovide______user-friendlymodeofoperation.Thispaper____yzesthecharacteristicsofablogsystemandthecurrentstatusoftheapplicationdevelopmentblog.BasedontheASP.NETWebDevelopmentTechnology.UseVisualStudio2008andSQLServer2005asadevelopmenttooldesignedanetwork__nagementsystemusersubsystemblogwhichachievethe__infunctionsofthesystemincludinguserloginandregistrationpersonalinfor__tion__nagementlog__nagementphotoandvideofile__nagementinfor__tion__nagementandFriendsofBoBowensubscriptionsetc..Thisarticlefirstblogonthenetwork__nagementsystemapplicationbackgroundandcurrentsituation____ysisSystemfunctionsandneeds____ysisdatabasedesignisgivenincludingtheE-Rdiagramandthedesignofthevariousdatabasetables.Inthesystemdesigntodiscussthecompositionofthesystemdiagramandflowchartandg__edetailsofpersonalinfor__tion__nagementlog__nagementBowenphotosandvideofile__nagementinfor__tion__nagementandFriendsofBoBowenssubscriptiontothevarioussub-moduledesignideas.Thispaperisdividedintofourchapters.Chapter1discussesthebackgroundandsignifican__usingthedevelopmenttoolsaswellasthe__inworkofthisarticle.Chapter2introdu__sthedevelopmentofWeb-relatedtechnologiesincludingsystemstoachievethetechnologyusedbasedontheplatformusingtheC#languageknowledgedatabasetechnologysoastoexplaintechnicalinfor__tioninthissystemimplementation.Chapter3ofthenetworkblog__nagementsystem-thesystemneedstheusersubsystemwhichwerepartoftheoveralldesignanddatabasedesigniscompleted.Chapter4infrontofthreechaptersontheintroductionand____ysisanddesignBlogonthenetwork__nagementsystem-theusersubsystemdetaileddesignofsub-moduleandgetaconcreterealizationoftheprogram.Andthenselectthekeymodulesofthekeytechnicalproblemsandsomecode____ysisshows.KEYWORDSBlog__nagementsystem;B/S;Usersubsystem;Database;Design目录TOC\o1-3\h\z\u摘要IHYPERLINK\l_Toc214816194AbstractIPAGEREF_Toc214816193\hIHYPERLINK\l_Toc2148161951绪论
11.1网络__管理系统的__背景和意义
11.3本文的主要工作和内容安排4HYPERLINK\l_
2.1_网页__技术
2.1网页__技术
52.2WEB__相关技术
52.3C#简介5HYPERLINK\l_
2.
4.1_ASP.NET演变历史
2.4ASP.NET简介
62.
4.1ASP.NET演变历史
62.
4.2ASP.NET特点
72.
5.1数据库技术概述8HYPERLINK\l_
2.
5.2_数据库技术特点
2.
5.2数据库特点8HYPERLINK\l_
2.
4.2_ASP.NET特点
2.
5.3ADO.NET对数据库的访问
92.
5.4数据库用户管理103__管理用户子系统的总体设计方案
143.1系统设计的目标和原则
143.2系统的功能和需求分析
153.
2.1系统概述15HYPERLINK\l_
3.
2.2_系统参与者
3.
2.2系统参与者15HYPERLINK\l_
3.
2.3_系统功能列表
3.
2.3系统功能列表
163.3系统工作流程17HYPERLINK\l_
3.4_系统数据库层设计
3.4系统数据库层设计
183.
4.1数据库表设计18HYPERLINK\l_
3.
4.2_E-R图设计
3.
4.2E-R图设计24HYPERLINK\l_
3.
4.3_数据库中各表的关系
3.
4.3数据库各表之间的关系264__管理用户子系统的详细设计方案
284.1用户登录与注册功能28HYPERLINK\l_
4.2_个人信息管理功能_
4.2个人信息管理功能31HYPERLINK\l_
4.3_日志管理功能
4.3日志管理功能
334.
3.1发表日志与添加日志类型33HYPERLINK\l_
4.
3.2_日志浏览与评论
4.
3.2日志浏览与评论35HYPERLINK\l_
4.
3.3_日志搜索、查看、修改与删除
4.
3.3日志搜索、查看、修改与删除
354.4照片与视频文件管理37HYPERLINK\l_
4.5_添加博友与博文订阅
4.5添加博友与博文订阅
394.
5.1添加和删除博友39HYPERLINK\l_
4.
5.2_博文订阅与退订
4.
5.2博文订阅与退订
394.6留言消息管理42结论44HYPERLINK\l_致__致谢45HYPERLINK\l_________461绪论
1.1网络__管理系统的__背景和意义__的出现,标志着互联网从传统的信息共享开始逐渐跨过思想共享的门槛网络__融合了人内传播、人际传播、__传播和大众传播多种类型,是一种全新的传播模式,以其方便、自由、信息传输快捷、覆盖范围广等特点成为目前信息传播的主要方式,越来越受到人们的追捧__作为一种不可忽视的文学新文体、开始昂首阔步的走进大众视野__自从2002年崭露头角后,就以迅猛的势头快速发展据CNNIC发布的《2007年中国__调查报告》显示,截止到2007年11月底,中国__空间已经达到7282万个,____人数达4700万,平均近每4个网民中就有一个____,其中,活跃____数量占____总数的36%,近1700万人;活跃__用户的有效__空间数为2875万个随着互联网的快速普及,__也愈发显出它的多层次价值新浪网总编辑陈彤曾说__之间便捷的建立了沟通渠道,使得相应信息的传递达到了前所未有的高效率
[7]互联网技术的迅速发展使得__成为当前网络交流平台中最新、影响力最大的媒体之一,__现象也可谓是近年来全球互联网文化领域中最重要的现象之一从美国
9.11恐怖__到__、克里的总统竞选战,从木子美的《遗情书》到____、明星__,__文化正凭借其强大的草根性、互动性、灵活性和轰动性等特点冲击着人类现存的文化体系、文化形态和文化观念拨开纷纷扰扰的文化喧嚣的表面,我们看到的是激烈交锋背后隐藏着的隶属于大众和精英的不同话语策略电子传媒的迅速普及使之成为了当代社会权利场中的强势运动者,在其在互联网高度发展的今天,__的影响力已经不仅仅是文学用真实的情感、敏锐的智慧维系的__,能够激发广大读者的共鸣__的广泛链接性也为其获得了更大延展面而真诚的态度是一个__赖以生存的土壤网络超强的传播速度可以使得任何愚弄、欺骗造成“一石激起千层浪”的效应其蕴含了多种多样表现方式,现在已经成为对商业、新闻产业、引导大众__等众多方面有着巨大影响力的媒介
[8]如由Google前亚太区营销总监王怀南和前易趣创始人邵亦波联合创办的__babytree宝宝树(http://___.babytree.com/)、来自清华大学、天津大学和北京大学的王兴、王慧文、赖斌强、郭万怀、杨俊、付栋平几位大学生创办的校内网(http://___.renren.com/Home.do)、拥有超高人气的娱乐明星__、知性名人__、动人情感__、自__根__等的新浪__(http://blog.sina.com.cn/)如图1-1是宝宝树____的首页截图,图1-2是人人网登录首页的截图图1-1宝宝树__宝宝树__是定位为年轻父母的社区,新一代年轻父母大都是独生子女,父母的育儿经验已不能满足于现代社会的发展,年轻的父母有与其他年轻的父母交流的要求宝宝树__的界面美观大方,其__管理功能也比较齐全,包括日记、相册、动画、小圈子(群组)、大圈子(类似__)和按地区和宝宝年龄分组浏览的功能图1-2人人网其中人人网是由千豫集团将旗下著名的校内网更名而来的而校内网曾是中国大学生市场具有垄断地位的校园__人人网刚创建的时候一个最重要的特点是限制具有特定大学IP地址或者大学____的用户注册,这样就保证了注册用户绝大多数都是在校大学生用户注册之后可以粘贴自己的照片,撰写日志,签写留言等该__鼓励大学生用户实名注册,上传真实照片,让大学生在网络上体验到现实生活的乐趣而现在的人人网是为整个中国互联网用户提供服务的SNS社交__http://baike.baidu.com/view/
1723562.htm\t_blank可以说是中国非常有代表性的几大__之一其__管理系统分类详细,包含丰富完善的功能其有一个重要的特点—就是真实人人网的注册信息基本都是基于现实工作单位或学校所设定利用人人网可以找到很久未联络的同学或同事校园SNS社区(以校内网为代表)的出现及走红,在一定程度上反映了当前大学生群体对网络真实性的呼唤与渴求,校内网也伴随着它的网络用户们一起在成长,每一次升级都带来更友好的界面,更强大的功能计算机网络的普及,__管理系统是一个网络化、智能化、数字化有机结合的管理的平台本论文的任务是对__管理系统的功能需求进行分析,基于B/S模式,采用ASP.NET、C#__语言与VisualStudio2008__平台,并结合SQLServer2005数据库软件,设计一个__管理系统—用户子系统,要实现__管理的各项主要功能,如博文撰写、评论、添加博友、上传视频、照片等功能
1.2WEB应用程序平台与ASP.NET技术网络__管理系统-用户子系统属于通用的Web应用系统本文使用ASP.NET
3.5技术,数据库采用SQLServer2005;通过可视化的VisualStuio2008__环境提供一系列的支持,采用面向对象的组件编程语言C#语言,从而以能够以更高的效率__应用程序ASP.NET是微软的Web应用程序__平台使用ASP.NET,可以创建电子商务__、数据驱动的门户__以及在因特网上可以找到的任何类型的__,当然也包括__管理系统ASP.NET最大的优势在于,在编写Web应用程序的时候,无须将HTML和脚本代码混杂成一团浆糊,只需使用诸如VisualStudio2008之类的编码和设计工具,就可以创建出优秀的Web应用程序
[9]现在的Web应用程序一般有两种模式C/S和B/SC/S是客户端/服务器端程序也就是说这类程序一般__运行而B/S就是浏览器/服务器端应用程序,这类应用程序一般借助IE等浏览器来运行Web应用程序一般是B/S模式常见的计数板、留言板、聊天室和__BBS等,都是Web应用程序,不过这些应用相对比较简单,而Web应用程序的真正核心主要是对数据库进行处理,管理信息系统(__ngementInfor__tionSystem,简称MIS)就是这种架构的最典型应用MIS可以应用于局域网,也可以应用于广域网目前基于Internet的MIS系统以其低廉成本、维护简便、覆盖范围广、功能易实现等诸多特性,得到越来越多的应用
1.3本文的主要工作和内容安排本文的主要工作是首先对网络__管理系统-用户子系统进行了功能需求分析然后基于B/S结构,采用ASP.NET动态网页__技术、VisualStudio2008和SQLServer2005作为__工具,设计了一个网络__管理系统的用户子系统,完成了数据库的设计,包括E-R图及各个数据库表的设计此外,还给出了系统的组成结构图及流程图,完成了各个子模块的程序编码和调试,能够实现系统的主要功能,包括用户登录与注册、个人信息管理、博文日志管理、照片及视频文件管理、博友信息管理以及博文的订阅等本文的__结构共分为五大部分第1章的绪论主要介绍了__的概念和理念,以及简单介绍了__程序的特点,在国内外互联网大潮中的发展现状,同时说明了系统需要解决的问题,最后描述了本文的__结构第2章是Web相关__技术简介__是当今互联网上具有Web
2.0特点的新型应用,与用户表现相关的技术层出不穷,而底层的数据交互却相对稳定本章介绍了系统的实现采用的技术,基于的平台,所使用的C#语言的相关知识,数据库技术等,以解释本系统实现的技术信息第3章是__管理用户子系统的总体设计方案,在系统设计的目标和原则的指导和约束下对系统的功能架构和逻辑构架进行设计,得到系统的大概轮廓,并确认系统的重点部分这其中包括了系统的需求分析,根据毕业设计的要求和本系统__的具体情况对需求进行获取,同时结合了__系统是Web通用程序的特点分析了系统的非功能性需求,并完成了系统总体数据库设计部分,包括E-R图,表之间关系等部分第4章是基于Web的__管理用户子系统的详细设计方案,在系统详细设计中从各个功能模块的角度出发对每个模块内部功能的实现进行了描述,得到了具体的技术实现方案并选取重点模块的关键技术难点以及部分代码进行分析说明最后是对全文的总结2WEB相关__技术简介
2.1网页__技术网页分为动态网页和静态网页,制作静态网页,需要HTML语言即可HTML语言通过标签来完成基本网页设置其中标签都是成对出现的,如“html/html”html是HTML语言开始的地方,代表这是一段HTML代码“head/head”是一个页面的“头”,一般包括这个页面的主题和一些需要调用的页面样式等“body/body”是页面的“身体”,主要在此处写页面的内容静态网页可以算是第一代网页,静态网页只显示基本内容,根本无法与用户交互要想与用户交互,就需要动态网页,动态网页包括静态部分和动态部分,静态部分依然由HTML语言组成,而动态部分则由J__aScript和VBScript组成因为VBScript只能用在IE浏览器上,所以J__aScript更为通用,可以用在任意浏览器上
[11]虽然J__aScript可以完成一些交互,但其不能访问数据库,不能完成大容量数据的提交和获取工作,所以一般都把J__aScript和VBScript称为脚本语言除了脚本语言可以完成动态网页以外,很多种服务器端__语言,如ASP、JSP、ASP.NET等这些服务器端语言,可以实现与数据库的交互,可以反馈数据给浏览器,可以实现用户与服务器的完整交互ASP.NET,确切的说,其不是一门语言,而是一门网页__技术,其底层语言是C#
2.2WEB__相关技术网页和Web__的关系,是网页属于Web__的对象,或者说是Web__的一部分,凡是使用浏览器来查看的程序,本文统称为Web应用程序,凡是用于__Web应用程序的技术,本文统称为Web__技术Web应用程序__一般分为两部分前台__和后台__◇前台__主要包括页面设计、样式布局、特效等页面设计由基本的HTML和J__aScript完成,而样式布局和特效一般由CSS(样式表)来完成◇后台__可以与数据库交互的各种__语言,如ASP.NET、J__a、PHP等一般由一些类库和包组成如果使用ASP.NET,微软提供了一个NET
3.5框架,其包含了Web__所有需要的类库,可以通过调用来完成非常复杂的功能
2.3C#简介C#是一门简单、现代、优雅、面向对象、类型安全、平__立的组件编程语言,起源于C语言家族,是.NET的关键性语言,也是整个.NET平台的基础,它使程序员能快速的为新一代的Microsoft.NET平台__应用程序C#已经获得了EC__International和ISO/IEC的国际标准认证,它们分别是EC__-334标准和ISO/IEC23270标准Microsoft用于.NET框架的C#编译器就是根据这两个标准实现的C#是面向对象语言,但C#进一步支持面向组件(component-oriented)的编程现代软件的设计越来越依赖于来自包含(self-contained)和来自描述(self-describing)功能包形式的软件组件这种组件的关键之处在于它们提供了带有属性、方法和__的编程模型;它们还具有提供关于组件声明信息的特性(attribute);同时,它们编入了自己的文档C#提供语言构件来直接支持这种概念,使得C#在创建和使用软件构件方面非常自然C#的一些特征支持创建健壮和持久的应用程序垃圾回收(garbagecollection)特征可以自动回收无用对象所占的内存空间;异常处理(ex__ptionhandling)提供了一个结构化和可扩展的方式,用于错误检测和恢复;语言的类型安全(type-safe)设计防止引用非初始化变量、数组下标越界,以及执行未检查的类型转换等情形发生C#具有统一类型系统所有的C#类型,包括诸如int和double的基本数据类型,都继承于单根类型o__ect因此,所有类型都共享一组通用操作,并且,任何类型的值都能够以一致的方式存储、传递和操作C#支持用户自定义引用类型和值类型,既允许对象的动态分配,也允许轻量结构的内联存储为保证C#程序和类库总能以兼容的方式升级,在C#的设计中十分强调版本控制许多程序语言不太重视这一点,导致采用那些语言编写的程序常常因为其所依赖的类库的更新而无法工作C#的设计方面直接受到版本考虑的影响,包括分开的virtual和override修饰符、方法重载的规则,以及支持对显示接口成员的声明
2.4ASP.NET简介ASP.NET是统一的Web应用程序平台,是一种新的编程模型和基础结构,通过ASP.NET能构建更安全、更强、可升级、更稳定的网络应用程序
2.
4.1ASP.NET演变历史ASP.NET不是一朝一夕出现的,有着特殊的演变历程,是伴随Web的发展而发展的,在20世纪90年代网络开始诞生时,许多网民基于一些简单的想法,都想创建自己的站点,HTML技术实现了人的一些梦想这些__只是显示__及文字显示,是静态页面但随着网络的发展,要求能够实现响应用户请求、接受用户相应信息并自动更新、丰富__内容,连接数据显示或管理网络资料等随后出现了CGI到PHP到J__a等网络__技术,并在20世纪末出现了ASP技术,推动了整个动态网络的蓬勃发展,陆续出现在线商店,在线__、__、__等功能实现的网络技术以前ASP技术是结合HTML页面的源代码一起编译运行的,如果应用程序较为复杂,经常会导致代码冗余、运行缓慢、调试程序难等,由于其编辑一般采用弱数据类型,加上管理不善,经常出现安全漏洞至此,功能强,__简易、安全性好的网络技术的推出成为一种大趋势,Microsoft又推出了ASP.NET,并使用成熟的VisualStudio.NET和C#编程语言,使整个网络技术以指数级增长的速度迅速发展Microsoft首先推出的是ASP.NET
1.1版本,该版本虽然对网络技术有巨大的推动作用,但由于该版本__的技术要求比较高,使该技术掌握在为数不多、技术比较资深的程序员手中Microsoft提出“少于70%的代码”的目标,推出了ASP.NET
2.0,使更多的程序员及初学者能够构建实用的网络应用程序ASP.NET
2.0的出现,使.NET技术已几乎填满了整个网络技术领域最后Microsoft还推出了
3.
0、
3.5版,使网络应用程序更趋向于智能化__,运行更像Windows下的应用程序一样流畅
2.
4.2ASP.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.NET
2.0之后的版本,是基于Web.config文件进行配置管理的应用程序,这使得ASP.NET的应用程序不依赖本地__环境,方便该应用程序的移植例如,要将__发布到虚拟主机上,只要将Web.config文件__到该虚拟空间,就可以完成在虚拟主机上配置__环境如果对应用程序进行修改变化,响应一些相关配置,只要将该配置文件上传到服务器,就可以使服务器上的应用程序也得到更新变化这就是ASP.NET的可管理性可调试性ASP.NET可以像Windows应用程序那样进行调试,并跟踪调试的错误或异常同时也提供了处理这些错误或异常的处理机制,保证应用程序始终可以正常运行自定义性和扩展性ASP.NET可以将一个ASP.NET页面程序修改设置为一个自定义用户控件,并可以添加插入到不同的ASP.NET页面中,实现更具有个性化的功能组件同时这些组件也可以应用到其他站点中,这样提高了ASP.NET代码的重复使用及功能扩展
2.5数据库技术
2.
5.1数据库技术概述数据库技术是计算机领域的一个重要分支,产生于20世纪60年代,它的出现使计算机应用渗透到了各个领域在应用程序__和应用过程中,数据是其最重要的“灵魂”,没有数据,应用程序就成为空谈为了方便数据的存储和管理,需要有一个集中管理模式可以通过数据库管理,以数据表存储各种数据模型,这样方便应用程序连接数据库,读取、插入、编辑、删除数据J.__rtin给数据库下了一个比较完整的定义数据库是存储在一起的相关数据的__,这些数据是结构化的,无有害的或不必要的冗余,并为多种应用服务;数据的存储__于使用它的程序;对数据库插入新数据,修改和检索原有数据均能按一种公用的和可控制的方式进行当某个系统中存在结构上完全分开的若干个数据库时,则该系统包含一个数据库__
[15]数据库是依照某种数据构成__起来的有序__,这个有序__通常保存为一个或多个相关文件,即数据库文件数据库文件可以是一个Ex__l文档、一个记事文本、一个Ac__ss文件等数据库又分为关系数据库、面向对象数据库及XML数据库等面向对象数据库,就是把面向对象的方法和数据库技术结合起来,可以使数据库系统的分析、设计最大程度地与人们对客观世界的认识相一致面向对象数据库系统是为了满足新的数据库应用需要而产生的新一代数据库系统面向对象数据库一般应用于特殊科学领域或一些特殊商业领域XML是为了能够跨领域、跨计算机共享网络资料发展形成的一种新型数据库关系数据通常是由多个结构化的数据表组成,每个数据表是由行和列组成的二维关系表在数据表中,根据行和列则可以找到对应的相关数据在关系数据库中,表与表之间有一定的内在__关系数据库是目前最流行的数据库
2.
5.2数据库技术特点严格地说,数据库是按照数据结构来__、存储和管理数据的仓库在经济管理的日常工作中,常常需要把某些相关的数据放进这样的“仓库”,并根据管理的需要进行相应的处理关系数据通常是由多个结构化的数据表组成,每个数据表是由行和列组成的二维关系表数据库是依照某种数据模型http://baike.baidu.com/view/
72142.htm\t_blank__起来并存放二级存储器http://baike.baidu.com/view/
87697.htm\t_blank中的数据__这种数据__具有如下特点尽可能不重复,以最优方式为某个特定__的多种应用服务,其数据结构__于使用它的应用程序,对数据的增、删、改和检索由统一软件进行管理和控制从发展的历史看,数据库是数据管理的高级阶段,它是由文件管理http://baike.baidu.com/view/
80318.htm\t_blank系统发展起来的其特点可以总结为以下几点
1.实现数据共享数据共享包含所有用户可同时存取数据库中的数据,也包括用户可以用各种接口方式使用数据库,并提供数据共享
2.减少数据的冗余度同文件系统相比,由于数据库实现了数据共享,从而避免了用户各自建立应用的文件减少了大量重复数据,减少了数据冗余,维护了数据的一致
3.数据的__性正数据的__性包括数据库中数据库的逻辑结构和应用程序的互相__,也包括数据物理结构的变化不影响数据的逻辑结构
4.数据实现集中控制文件管理方式中,数据处于一种分散的状态,不同的用户或同一用户在不同处理中其文件之间毫无关系利用数据库可对数据进行集中控制和管理,并通过数据模型表示各种数据的__以及数据间的__
5.数据的一致性和可维护性主要包括防止数据流失、错误更新和越权使用的安全性机制;保证数据的正确性、有效性和相容性的完整性机制;使在同一时间周期内,允许对数据实现多路存取,又能防止用户之间的不正常交互作用的并发控制机制;以及故障的发现和恢复机制
6.故障恢复由数据库管理系统提供一套方法,可及时发现故障和修复故障,从而防止数据被破坏数据库系统能尽快恢复数据库系统运行时出现的故障,可能是物理上或者是逻辑上的错误,比如对系统的误操作造成的数据错误
2.
5.3ADO.NET对数据库的访问在Web应用系统中,.NET使用ADO.NET将系统前端的Web浏览器和后台的数据库联合起来.NET使用ADO.NET可以完成对各种数据库,如MicrosoftSQLSever,Oracle以及OLEDB和XML公开数据源的访问ASP.NET中要访问数据库,必须通过ADO.NET组件来访问ADO.NET是MicrosoftActiveXDataO__ects在.NET下的数据访问框架通过该数据访问组件可以查询、添加、修改、删除任何类型数据源的数据信息ADO.NET进行数据库访问时,必须首先创建与数据库的连接ADO.NET是通过Connection对象来实现的Connection对象主要用于为Web页面与数据库之间建立连接该对象主要分为SqlConnection和OleDbCconnection前者主要用于创建与SQLSever数据库连接,而后者主要是基于OLEDB数据源的数据库连接
2.
5.4数据库用户管理用户管理模块主要的作用是提供用户登录验证、防止用户账号被盗用和为不同级别的用户分配权限实现对系统文件的差别访问,这对保障系统的数据安全尤其重要由于本系统的实现软件环境是ASP.NET
2.0即VisualStudio2005,为了加快__架构和实现底层用户控制机制的完整性,所以在该模块的实现过程中借用了系统提供的用户管理机制为了更清晰地解释本系统中用户管理模块的设计实现,这里对.NET
2.0平台底层的用户管理机制进行简短的介绍,详细的实现细节以及底层API调用,将会在下一章用户管理模块的实现中进行更为详细的介绍微软公司Web服务器是IIS,而ASP.NET
2.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来处理的
(4)Personalization是记载Membership用户个人独特的设置有了账号、角色群、Profile与Personalization再加上网页的验证和授权,这样就构成了一个初步而比较严谨的权限账号安全性管理系统它们与ASP.NET功能单元的对应如图2-1所示用户账号/密码Role角色用户群组Profile用户设置文件用户账号外属性设置Personalization个性化WebPartThemeMembership成员资格图2-1ASP.NET功能单元对应图为了方便__管理从ASP.NET
2.0开始微软提供了ASP.NET__管理工具,它提供了一个以IE浏览器为管理接口的途径,作为__设置与web.config文件之间沟通媒介,某种程度了免除了直接编辑XML格式的web.config文件的必要性通过这种方式能够大大提高__管理的方便性、亲和度而它的管理接口提供了三大类功能以简化__配置的管理配置,包括安全性设置管理(Security)、应用程序设置管理(Application)和提供程序设置管理(Provider)如图2-2所示图2-2ASP.NET__管理工具在VS2005__工具的【__】菜单中选择【ASP.NET配置】选项,之后就会打开一个浏览器并显示ASP.NET__管理工具界面,在【提供程序】页签中测试Provider连接,如图2-3所示图2-3测试ASP.NETProvider提供程序连接当正确注册数据库并出现上图所示界面,就会在该__的数据库中自动添加11个数据库表,如图2-4所示图2-411个数据库表这11个数据库表的关系,如图2-5所示图2-511个数据表关联图完成上面的工作之后,把自己的用户数据表与上面的aspnet_Users表进行关联,即可实现用系统自动配置的数据表实现用户登录、验证和授权操作,而用自己的数据表实现有关细节数据的操作3__管理用户子系统的总体设计方案
3.1系统设计的目标和原则需求分析是系统__工作中最重要的一环,在产品__中起到举足轻重的作用准确全面的需求分析是架构设计和详细设计的基础,对需求分析的处理好坏直接影响一个项目或产品的成败由于__系统属于通用的Web应用程序,最终用户就是普通的互联网用户,因此首先参照一些成功的____,分析的其优缺点,并根据毕业设计课题要求形成一个__管理系统——用户子系统详细的特性列表__系统属于典型的B/S结构和Web应用程序,B/S结构和传统的C/S结构程序相比虽然具有无需客户端,部署方便等优点,但同时也具有一些不足之处,如用户界面的表现力不够丰富,网络传输自身上的一些安全性问题等所以本文对__系统的设计从Web应用程序的特点出发,考虑到网络带宽,安全性等各方面的因素,充分发挥B/S结构应用程序的优势,并结合具体技术在最大程度是上克服其特点应该能有效控制和管理不同的用户权限,考虑到以下原则适用性根据需求的特征设计出合适的系统体系结构,能够同时满足功能性需求和非功能性需求结构稳定性系统架构应该能在一段时间内保持稳定不变,在系统的实现过程中不会因为系统架构的变化导致数据库、数据结构、模块结构乃至用户界面的变化易于扩展今天的互联网变化飞速,新技术新应用层出不穷,系统应足够灵活以适应可能发生变化的环境和用户需求其具体体现在系统采用结构清晰的模块化设计和分层结构,每一模块部分都可以根据需要灵活调整,每一层的变化不会影响到其它层,易于维护可重用重用有利于提高产品的质量、提高生产率和降低成本,通过提取应用域中的共性,将能够重用的部分形成__的模块同时,可重用与易于扩展在某种程度上是相互__的,良好的分层、模块化的设计能够提高代码、组件的重用性该系统的用户界面设计应遵循以下原则界面规范应遵循MicrosoftWindows软件界面的规范,尽量保持一致性;系统的每一次对话都应该有明确的次序,开始、中间处理过程、结束,设计完整的对话过程提供简单的错误处理机制,比如在客户端或服务器端提供输入数据有效性的测试和对用户较为友好的信息提示的等提供信息反馈用多种信息提示用户当前软件运行状态、软件界面元件等的功能操作可逆其动作可是单个的操作,或者是对一个相对__的操作序列并且设计良好的联机帮助在系统设计及运行过程中,可能会出现各种故障和问题,必须提出相关的解决方案,例如在用户登录失败时,系统可以给出提示“对不起,您已经登录”,或者“__错误,请重新登录!”等在登录过程中,突然发生中断__,可以通过重新打开来恢复已经保存的内容,继续运行其次,系统在运行过程中可能存在较为频繁的数据库插入、更新和删除的操作,因此系统应当提供数据库异常检测以及事务处理的功能,保证数据库中数据与用户的期望保持一致此外,由于数据在数据库中已经有备份,故在系统出错后可以依靠数据库的恢复功能,并且依靠日志文件使系统再启动,就算系统崩溃用户数据也不会丢失或遭到破坏但有可能占用更多的数据存储空间,权衡措施由用户来决定
3.2系统的功能和需求分析
3.
2.1系统概述__子系统是一个____的子系统__系统有其最基础的一个功能网络日志,但__又不同于简单的“日志”——每个__因为内容和目的不同从而蕴含了大量的各种丰富信息,同时也产生了一种新的“网络____”网民通过注册自己的__网页后可以随时上传、更新自己的__一个好的__系统能不仅能提供完善、强大的功能,还要提供简便、人性化的用户操作方式总体上,系统的目标是使不同__用户之间有一个交流的平台通过__系统实现博主们异地沟通、心情发布、技术交流等问题的解决
3.
2.2系统参与者__系统属于一个通用的Web应用系统,针对本设计所作完成系统功能,并没有特别复杂的业务逻辑功能,参与者也相对简单针对用户子系统而言,本文考虑的参与者有匿名用户和注册用户两种本系统基于角色的权限管理,每个角色有不同的权限,每个用户属于某种角色,系统根据所属的角色权限确定用户权限以上两种参与者能够参与的系统功能如下匿名用户是__系统中权限最低的用户只能进行__日志浏览,并且不可以在不注册登录的情况下对__或照片视频进行评论注册用户是__系统中普通权限用户注册用户可以在自己的__上发布日志并在其他用户的__日志中进行评论等也可通过后台管理系统对自己已发布的日志进行编辑、删除此外,__管理系统中还应该有系统___的角色,但本文仅仅是完成整个网络__管理系统中的一部分,即用户的子系统的设计,故没有考虑系统___的角色
3.
2.3系统功能列表系统的基本功能可以分为登录、__用户信息管理、博文管理功能、视频与相册信息管理、信息统计能等几大部分,每一部分的具体功能描述列表如下表3-1系统功能概述序号功能名称描述1登录、注册用户可以进行注册,注册的同时向数据库中保存用户注册的时间和IP登录时系统保存用户登录名添加日志和评论都需要用户登录.___和__用户分别登录到不同的页面2个人信息管理功能设置及修改个人基本信息,包括用户名、登录__、用户照片、用户性别、出生日期、地址、E__il、__、___、个人主页、外观样式选择、标题__设置等3专辑分类管理功能主要包括对博文专辑分类信息的查看,添加、修改和删除博文专辑分类信息包括专辑分类名称,专辑的排序,创建日期等4日志浏览功能提供站内搜索功能,显示最近更新的日志,显示人气排行显示专辑分类列表,设置关键字按日期查看当天日志,分页显示5博文撰写与修改对日志信息的查看、添加,删除和修改日志信息包括日志标题,日志主题内容,创建日期,所属的专辑分类,是否是私密日记,是否为公开日志等博文编辑窗口应能够支持输入文字、字符、视频、__和音频等6日志评论功能对日志全文的查看登录后对日志发表评论;对评论信息(评论内容和日期)的删除7留言管理查看、回复、删除好友的留言8博友管理功能博友的添加和删除查看好友的基本信息和访问好友的__主页博友最新动态的自动及时通知9照片与视频文件管理照片和视频文件(支持多种格式)的单个和批量上传照片和视频文件的分类设置、显示和查询等10博文订阅与退订
1.申请订阅某个__,系统将自动将最新的博文标题及网址发送到制定的邮箱
2.申请博文的退订11信息统计管理模块
1.显示最近登录__的用户名称和时间
2.__总__量的统计
3.各篇博文的__量统计
3.3系统结构设计__管理系统-用户子系统分为匿名用户访问和注册用户访问两种访问方式注册用户访问系统功能包含根据以上分析,包括登录、__用户信息管理、博文管理功能、视频与相册信息管理、信息统计能等模块而匿名用户登录后,则功能模块就包括用户注册、浏览日志、浏览相册、浏览影音文件等系统总体结构设计图如图3-1所示网络博客管理系统-用户子系统注册用户匿名用户用户注册浏览日志浏览相册浏览影音文件用户个人信息管理相册管理发表评论浏览日志浏览相册好友管理博文订阅浏览影音文件日志管理影音文件管理添加日志类型用户密码修改完善个人信息写新日志日志删除日志修改搜索查看日志添加好友删除好友上传文件删除文件创建相册上传照片查看照片删除照片添加订阅删除订阅消息管理发送消息查收消息删除消息图3-1系统结构设计图
3.4系统数据库层设计
3.
4.1数据库表设计站点是围绕着用户系统建立的所以首先在SQLServer2005中创建一个数据库Blog,再通过Microsoft.NETFrameworkSDKv
2.0下的工具aspnet_regsql,将数据库Blog配置成支持ASP.NET角色成员管理系统配置数据库之后,接下来为数据库添加以下数据表本文设计的系统数据库Blog包括12张表,分别为用户信息表、日志信息表、博文评论信息表、照片信息表、照片评论表、消息状态表、日志类型表、博文表、博友信息表、相册信息表、视频信息表、视频评论表用户信息表记录了用户的账号、__、昵称、__方式等,结构如表3-2所示表3-2用户信息表(UserInfo)字段名描述类型长度NULLPri__ryKey备注UserID用户IDVarchar20NY--NiC用户昵称Varchar20NN--UserName真实姓名Varchar10NN--___性别Varchar2NN--Birth出生日期Datetime--NNGetdateZhiY职业Varchar10YN--Pla__所在地Varchar20YN--__Code__号码Varchar15YN--Tel1____Varchar20YN--Tel2____Varchar15YN--Addr__地址Varchar40YN--Password个人__Varchar16NN--ZipCode____Varchar6YN--E___il邮箱地址Varchar30YN--GRJJ个人简介Varchar200YN--Photo头像Varchar100NN--JoinTime注册时间Datetime--NNdefaultgetdateRe__ntLogTime最近登录时间Datetime--NNdefaultgetdate用户信息表的创建查询语句如下所示,通过在SQLServer2005中执行该查询即可实现用户信息表的创建createtableUserInfoUserIDuniqueidentifierpri__rykey//唯一标识符类型主键,系统将为这种类型的数据产生唯一标识值NiCVarchar20notnullUserXingMingnvarchar256notnull___Varchar2notnullBirthDatetimenotnullZhiYVarchar10Pla__Varchar20__CodeVarchar15Tel1Varchar20Tel2Varchar15AddrnVarchar40ZipCodeVarchar6GRJJVarchar200Photo_dirVarchar100notnullconstraintUserID_constr//外键约束名称foreignkeyUserIDreferen__saspnet_UsersUserID//定义“从表→主表”方向的参照完整性,表示VideoFilesInfo表中的UserID在插入和修改时应参照(referen__)aspnet_Users表中的UserIDonupdatecascadeondeletecascade//表示主表UserInfo中的UserID在删除或修改时,如果影响到从表,则应级联(CASCADE)删除从表中相同的UserID值所在的单元组,或修改从表中的ID通过在SQLServer2005中执行该查询即可实现用户信息表的创建日志信息表记载了日志的编号、分类编号、日志标题、内容等详细信息结构如表3-3所示表3-3日志信息表BlogInfo字段名描述类型长度NULLPri__ryKey备注BlogID日志IDInt--NYidentity11BlogType_id日志类型IDInt--NF--BlogTitle标题Varchar40NN--Blo__ontent内容Text--NN--BlogDate发表日期Datetime--NNdefaultgetdateUserID用户IDVarchar20NF外键ViewS浏览次数Int--NNdefault0日志信息表的创建查询关键程序段如下所示ViewSIntdefault0//默认浏览次数为‘0’constraintUserID_constraint_3/外键约束名称foreignkeyUserIDreferen__saspnet_UsersUserID//定义参照aspnet_User表中的UserIDonupdatecascadeondeletecascadeconstraintBlogType_id_constraintforeignkeyBlogType_idreferen__sBlogTypeBlogType_id//定义“从表→主表”方向的参照完整性,表示BlogInfo表中的BlogType_id在插入和修改时应参照(referen__)BlogType表中的BlogType_idonupdatenoactionondeletenoaction//不定义行动博文评论信息表记载了评论的编号、日志编号、评论内容、时间等信息结构如表3-4所示表3-4博文评论信息表(Blo__ommentsInfo)字段名描述类型长度NULLPri__ryKey备注Com_id评论IDInt--NYidentity11BlogID日志IDInt--NF外键Com_content评论内容Text--NN--UserID用户IDVarchar20NF外键Com_time评论时间Datetime--NNdefaultgetdate博文评论信息表的创建查询关键程序段如下所示constraintBlogID_constraint//定义外键约束foreignkeyBlogIDreferen__sBlogInfoBlogID//定义“从表→主表”方向的参照完整性,表示Blo__ommentsInfo表中的BlogID在插入和修改时应参照(referen__)BlogInfo表中的BlogIDonupdatecascadeondeletecascade照片信息表记录了照片的ID、所属用户、照片描述、上传时间、相册ID等信息结构如表3-5所示表3-5照片信息表UserPhotoInfo字段名描述类型长度NULLPri__ryKey备注Photo_id照片IDInt--NYidentity11UserID所属用户Varchar10NF--Photo_addr照片地址Varchar40NN--Photo_discript照片描述Varchar200YN--Photo_uptime上传时间Datetime--NNdefaultgetdatePhotoCollection_id相册IDInt--NF--生成照片信息表的关键程序段如下所示constraintPhotoCollection_id_constraint//定义外键约束foreignkeyPhotoCollection_idreferen__sPhotoCollectionInfoPhotoCollection_id//定义“从表→主表”方向的参照完整性,表示UserPhotoInfo表中的PhotoCollection_id在插入和修改时应参照(referen__)PhotoCollectionInfo表中的PhotoCollection_idonupdatenoactionondeletenoaction//不定义行动照片评论表记载了评论ID、照片ID、评论内容、用户ID等信息生成照片信息表的SQL语句如下所示结构如表3-6所示表3-6照片评论表(UserPhotoComment)字段名描述类型长度NULLPri__ryKey备注Com_id评论IDInt--NYidentity11Photo_id照片IDInt--NF外键Com_content评论内容Text--NN--UserID用户IDVarchar20NF外键Com_time评论时间Datetime--NNdefaultgetdateCom_CS评论次数Int--NNDefault‘0’生成照片评论表的关键程序段如下Com_CSintnotnulldefault0//评论次数初始化定义为‘0’constraintUserID_constr_4foreignkeyUserIDreferen__saspnet_UsersUserIDondeletecascadeonupdatecascadeconstraintPhoto_id_constrforeignkeyPhoto_idreferen__sUserPhotoInfoPhoto_id//定义“从表→主表”方向的参照完整性,表示UserPhotoComment表中的Photo_id在插入和修改时应参照(referen__)UserPhotoInfo表中的Photo_idondeletenoactiononupdatenoaction消息状态表是记载用户发给另一个用户的站内消息的有关数据的表记载了消息编号、源用户ID、目的用户ID、消息内容等内容结构如表3-7所示表3-7消息状态表(news_state)字段名描述类型长度NULLPri__ryKey备注Id编号Int--NYidentity11UserID_from源用户IDuniqueidentifier--NF外键UserID_to目的用户IDuniqueidentifier--NF外键caption消息标题Nvarchar256NN--content消息内容Text--NN--IsRead消息状态Bit--NNDefault‘0’sentTime发送时间Datetime--NNdefaultgetdate生成消息状态表的关键程序段如下IsReadbitnotnulldefault0//设置消息的读取状态默认为‘0’日志类型表记载了日志的分类信息结构如表3-8所示表3-8日志类型表(BlogType)字段名描述类型长度NULLPri__ryKey备注BlogType_id日志类型IDInt--NYidentity11BlogType_name日志类型名Varchar40NN--博友信息表记载了博主好友的信息包括编号、用户ID、好友ID结构如表3-9所示表3-9博友信息表(Boyo)字段名描述类型长度NULLPri__ryKey备注Id编号Int--NYidentity11UserID用户IDVarchar20NF外键BoYouID博友IDVarchar20NF外键博文表记载了博主博文的列表信息信息包括编号、用户ID结构如表3-10所示表3-10博文表(BoWen)字段名描述类型长度NULLPri__ryKey备注Id编号Int--NYidentity11UserID用户IDVarchar20NF外键BoWouID博文IDVarchar20NF外键相册信息表记录了相册的信息结构如表3-11所示表3-11相册信息表(PhotoCollectionInfo)字段名描述类型长度NULLPri__ryKey备注PhotoCollection_id相册IDInt--NYidentity11PhotoCollection_name相册名称Varchar20NN--字段名描述类型长度NULLPri__ryKey备注UserID用户IDVarchar20NF外键生成相册信息表的关键程序段为constraintUserID_constraint//外键约束名称foreignkeyUserIDreferen__saspnet_UsersUserID//参照主表的UserIDonupdatecascadeondeletecascade//不定义行动视频信息表记录了视频的信息结构如表3-12所示表3-12视频信息表(VideoFilesInfo)字段名描述类型长度NULLPri__ryKey备注fileID视频IDInt--NYidentity11file_dir视频目录Nvarchar256NN--file_discript视频描述Text--YN--file_type视频类型Nvarchar20NN--UserID用户IDVarchar20NF外键file_uptime视频上传时间Datetime--NNdefaultgetdate生成视频信息表的关键程序段为constraintUserID_constr_2//外键约束名称foreignkeyUserIDreferen__saspnet_UsersUserID//定义“从表→主表”方向的参照完整性,表示VideoFilesInfo表中的UserID在插入和修改时应参照(referen__)aspnet_Users表中的UserIDondeletecascadeonupdatecascade//表示主表UserInfo中的UserID在删除或修改时,如果影响到从表,则应级联(CASCADE)删除从表中相同的UserID值所在的单元组,或修改从表中的ID视频评论表记录了视频的评论信息结构如表3-13所示表3-13视频评论表(VideoComment)字段名描述类型长度NULLPri__ryKey备注Com_id评论IDInt--NYidentity11UserID用户IDVarchar20NF外键Com_content评论内容Text--NN--Com_time评论时间Datetime--NNdefaultgetdatefileID视频IDInt--NF外键Com_CS评论次数Int--NNDefault‘0’生成视频信息表的关键程序段为Com_CSintnotnulldefault0--评论次数constraintUserID_constr_7foreignkeyUserIDreferen__saspnet_UsersUserIDondeletecascadeonupdatecascadeconstraintfileID_constrforeignkeyfileIDreferen__sVideoFilesInfofileIDondeletenoaction//不定义行动onupdatenoaction//不定义行动
3.
4.2E-R图设计实体__模型(entity-relationshipmodel,ERM,又叫E-R模型)是一种高级数据模型,广泛用于对现实系统的数据抽象,以及数据库的子模式及概念模式设计中该设计的概念数据库设计是为了将收集的信息,变成数据高级描述以及对数据的约束限制针对__管理系统-用户子系统,有7个实体,分别为用户、日志、日志类型、视频、照片、相册、好友分别对应于每个实体都有其属性属性用来描述该实体如“用户”实体型的属性有“用户ID”、“__号”、“注册时间”等每个实体又都有一个唯一标识特性的一个属性,用于唯一标识实体型中的实体如“用户”实体型的“用户ID”,即实体的主键同时各个实体之间也具有__,__也可以有描述属性,用于记录__的信息记录而非实体的信息如“评论”__的属性“评论ID”、“评论内容”、“评论时间”等该__又是由所参与的“用户”实体和“日志”实体的键共同唯一确定的本设计中所涉及的__型均为二元__并且大部分两个实体型之间有多个不同的__,例如“用户”实体型可以“撰写”、“查看”、“评论”日志“用户”实体型和“日志”实体型之间就有三种__型实体型__数据模型中的__型,存在3种一般性约束一对一约束、一对多约束、多对多约束用来描述__中关联实体之间的数量约束该blog数据库中存在多种一般性约束,有一对多约束以及多对多约束如“用户”实体型“撰写”“日志”实体型,就是一对多约束属于键约束(键约束指的是在一个__R的实例中,一个关联的实体A最多只能出现在一个__实例中)“用户”实体型“查看”“照片”实体型就是多对多约束__管理系统-用户子系统的数据库blog的E-R图如下图3-2所示����图3-2__管理用户子系统E-R图
3.
4.3数据库中各表的关系数据库模型图描述该blog数据库中各表之间的关系,主键外键,箭头表示主键约束或外键约束(外键约束用于维护通过外键__的主表和从表间、两个方向的数据完整性)从表的外键参照参照主表如各个表中的用户ID在插入和修改时都要参照主表用户信息表中的用户ID如图3-3所示为设计的数据库模型图图3-3数据库模型图根据数据库模型图和E-R图在SQLServer2005中搭建好数据库blog之后,启用查看数据库关系图,并右键点选新建数据库关系图,点选需要查看的表项,即可自动生成目前的数据库关系表即可清楚的看到各表之间的主键外键约束关系如下图3-4所示图3-4各表之间的关系4__管理用户子系统的详细设计方案
4.1用户登录与注册功能该模块主要的作用是提供用户登录验证、防止用户账号被盗用和为不同级别的用户分配权限实现对系统文件的差别访问,这对保障系统的数据安全尤其重要该模块的实现是借鉴ASP.NET
2.0平台提供的用户管理模块来实现的ASP.NET的用户管理模块中,在数据库注册成功以后系统会自动为程序添加11个aspnet_开头的数据表,其中对本模块用到的有aspnet_Users和aspnet_Membership两个数据表,其具体的数据表字段见图4-1和图4-2所示图4-1aspnet_User数据表字段图4-2aspnet_Membership数据表字段从上图中我们可以看到,系统提供的表项中仅提供了保证安全性所必备的基本信息,如用户名、__、__找回提示问题、提示问题答案和E__il其它的表项均是系统为保证完整性和安全性所提供的附加项比如,角色的分配和管理放在aspnet_Roles表中,三个表通过UserID字段值进行关联起来而对于除去这些基本信息之外的其他附加信息如用户的昵称、生日、__方式和住址等信息可以通过两种方式进行完善一是利用提供的系统表aspnet_Profiles、aspnet_PersonalizationPerUser和aspnet_PersonalizationAllUsers进行自定义扩展,二是将自己定义的附加表UserInfo与aspnet_Users系统表相关联这里我采用第二种方式,因为这样既可以保证用户管理模块的安全性和完整性,同时可以做到非常清晰地对用户进行管理用户注册功能的运行界面如图4-3所示图4-3注册功能运行界面当匿名用户进入系统首页之后,__【注册】可进行注册,所需填写的信息如图4-3所示这里填写的都是一些最基本的信息但这里需要指出的是在__设置时采用了系统默认的安全级别,既__长度至少为7位,且其中必须包含一个非字母非数字的字符,应该说这样的安全级别是符合大多数的用户管理系统安全级别要求的但系统为了进一步加强安全性,在保存用户的__时并不是以ClearText格式,而是采用了经过哈希函数的一次加密保存,这样即使是___也不可能看到用户的__,这是由于哈希函数的加密时不可逆的另外用户在填写E__il时必须谨慎,因为这是在用户遗失__时找回__的唯一途径系统会在用户正确回答安全提示问题后重新为用户分配一个新的__,并覆盖用户原先的__当用户完成注册之后,即可进行登录登录成功之后,在用户的【管理中心】也就是程序的后台提供了【个人信息完善】功能,在这里用户可以进一步完善自己的信息,其运行界面如图4-4所示图4-4完善个人信息运行界面上图所示的所有信息都是选填的,可以为空对个人信息进行添加后,__【__首页】即可看到自己的详细信息如图4-5所示图4-5用户__首页运行界面与用户注册类似,用户登录也是采用系统提供的登录组控件,通过使用该组控件可以与前面提到的系统提供的用户管理中的11个表__地结合在一起在用户登录过程中用到了登录组控件中的另一控件LoginViews,它提供了两种不同的模块AnonymousTemplate和LoginTemplate,分别表示登录前和登录后的状态,如图4-6所示a)登录前b)登录后图4-6用户登录模块当用户完成登录之后,就获得了进行相关操作的权限,如进入后台管理、添加博友和订阅__的快捷操作__系统的数据库连接字符串是在Web.Congfig中设置的,该文件的部分代码如下所示1connectionStrings2removename=LocalSqlServer/3addname=LocalSqlServerconnectionString=DataSour__=PC-20100511UIDU;Initial4Catalog=Blog;PersistSecurityInfo=True;UserID=sa;Password=linken5providerName=System.Data.SqlClient/6addname=Blo__onnectionStringconnectionString=DataSour__=PC-20100511UIDU;Initial7Catalog=Blog;PersistSecurityInfo=True;UserID=sa;Password=linken8providerName=System.Data.SqlClient/9/connectionStrings10appSettings11addkey=systemfoldervalue=system_dntb//12addkey=skinvalue=skin/default//13addkey=Blogvalue=DataSour__=PC-20100511UIDU;InitialCatalog=Blog;PersistSecurity14Info=True;UserID=sa;Password=linken/15/appSettings第一行connectionString至/connectionString部分是数据库连接字符串部分,其他为程序配置文件自动生成的ConnectionString表示连接字符串,该字符串命名为LocalSqlServer在第三行中,字符串DataSour__代表数据源,本系统是本地,所以显示为本机PC-20100511UIDU,这与SQLServer的配置有关InitialCatalog=Blog表示数据的名称为BlogproviderName为数据库提供者,本功能模块中为System.Data.SqlClient
4.2个人信息管理功能个人信息管理功能分为两个部分个人资料管理和__修改增加这个模块主要是为了方便用户对个人信息的更新,同时也有助于提高用户对该系统的满意切合度个人资料管理用于使已注册用户可以对自己的信息进行设置、修改在该系统中,当用户正确登录管理系统后,选择菜单项【完善个人信息】进一步丰富自己的个人信息,包括昵称、__方式、生日等,并可以进行头像的设置这一点在用户注册模块中已经给出了详细的描述如果用户已提交过个人详细信息,系统会给出下面的提示如图4-7所示图4-7修改个人信息提示选择【修改个人资料】,即可进入下图所示的信息修改界面,这里修改一下头像图4-8修改个人资料运行结果__修改是为了在一定程度上保证用户管理的安全性,如果用户____不做修改就有可能被其他非法用户盗用但__修改需要在用户完成登录之后才可以操作,当选择【__修改】之后就会弹出相应的页面,当系统验证原先__无误的情况下才允许用户做相应的__修改图4-9__修改运行界面1图4-10__修改运行界面
24.3日志管理功能日志管理功能是一个__管理系统最主要也是最核心的功能部分之一在本模块中它包括发表日志、搜索查看日志、日志修改、删除日志和添加日志类型等五个子功能
4.
3.1发表日志与添加日志类型当__日志管理中【写新日志】时,会弹出打开一个新的窗口,如图4-11所示图4-11发表日志界面在该界面中我们可以选择日志类型,填写标题和日志内容这里填写日志内容的在线编辑器使用的是网络上一个免费的DotNetTextBoxV
3..
3.4WYSWYGWebControlForAsp.Net
2.0,即DotNetTextBox所见即所得编辑器控件v
3.
3.4ForAsp.Net
2.0对于其如何应用与本系统的消息步骤和该编辑器的较为实用的功能在此不在详述,我会在后面的附录中给出详细的配置步骤当我们在发表新日志的时候,往往需要选定新的日志类型,故此系统在实现时将【添加日志类型】的功能放在选择日志类型的附近,这样可以较好的切合用户的满意度当然用户也可以选择后台页面中左侧的树形菜单项中的【添加日志类型】之后再次回到日志发表界面添加日志类型的运行界面如图4-12所示,用户可以动态添加和删除日志类型,并会在用户每次操作时候显示出已添加的日志类型的数量和每种日志类型的名称图4-12日志类型管理当用户按照上面的操作发表日志之后,就会在其相应的主页上显示用户最新发表日志的相关信息,比如标题、类型、日期、浏览次数等
4.
3.2日志浏览与评论当用户进入某个博主的页面之后,即可__查看、评论相应的日志如图4-13所示图4-13日志浏览与评论这里以tester用户对博主fengqian发表的日志进行了即时的评论,这里需要指出的是,匿名用户或未登录用户,可以浏览博主的相关日志,但是却不可以评论,这主要是基于鼓励用户注册和加强用户间的交流的考量另外,在评论显示过程中用到了ASP.NETAJAX技术,使得用户在刷新和发表评论的时候不致出现暂时的空白页面而只是局部刷新页面,这可以很好的改善用户的使用体验
4.
3.3日志搜索、查看、修改与删除当用户发表日志之后,系统应当提供较为人性化的管理方案,比如当用户发现所发表的日志中存在某些不足需完善的地方,系统应当允许用户进行修改,但与该篇日志的其它信息如评论信息和浏览信息必须保留,再例如,用户需要删除某篇日志时,那么与之相关的所有信息都应当被删除,如图4-14所示图4-14日志搜索用户进入搜索界面后,可根据搜索条件按标题或按类型对已发表的日志进行检索,快速找到用户想要查看或编辑的日志在搜索结果中,系统提供了【查看编辑】的快速链接,当用户__之后可进入如图4-15所示的页面在图4-15所示页面中,用户可以清楚地看到日志的标题、类型、发表日期及日志全文等信息当用户需要对日志进行修改时,__右__的【编辑】将在日志原文的__弹出如图4-16所示的界面,在此页面下,用户可以对日志的标题、类型和内容做相应的修改修改之后__【提交修改】即可完成日志的修改并返回日志查看界面图4-15日志查看图4-16日志修改页面对于日志删除操作,我采用的方案是当用户选择【删除日志】功能项时,系统会自动将该用户的所有日志检索并列举出来,同时提供删除链接其实现过程在ASP.ENT
2.0平台下相对简单许多,只需要使用数据源控件和GridView数据显示控件相结合即可很容易实现这里不再给出其更为详细的叙述,只给出其操作的运行界面图4-17删除日志运行界面当__删除链接时会给出一个确认对话框,这主要是为了防止用户的误操作所带来用户不便当__【确定】时,日志将会被删除,选择【取消】删除操作被终止
4.4照片与视频文件管理现在的__都不仅仅记录文字,整个__涵盖的内容更加多样化和全面多媒体传播,更使得信息传播方式多种多样本系统提供的照片管理功能主要包括创建相册、上传照片、查看和删除照片,视频音频文件管理则有上传文件和删除文件我的相册显示相册中的相册以及照片列表,视频播放、音频播放,如图4-18所示图4-18查看照片运行界面该模块也提供了评论、浏览次数统计、上传日期等信息显示以及相册和影音文件的删除等功能,这些功能与日志管理中相对应的功能基本相似,用到的技术和操作流程也基本相同,限于篇幅这里不再赘述但该功能模块与日志管理模块存在最大的区别就是该模块支持文件上传功能,这里以照片上传为例,如下图所示图4-19照片上传系统提供了单文件上传和批量上传功能但在实现过程中,由于ASP.NET
2.0提供了文件上传控件FileUpload控件,所以相对简单许多,故不再给出代码实现这里想说明的是,由于文件上传可能会危及服务器的安全性,如果文件较大对服务器性能影响也较大,所以在上传时必须限定文件类型和大小,以防止不安全或较大文件上传至服务器
4.5添加博友与博文订阅
4.
5.1添加和删除博友添加博友的操作可以在两个地方进行操作,一是当登录用户访问某位博主的__首页时,可__其页面上【加为博友】按钮将博主添加为自己的博友,二是用户进入自己的后台管理页面,直接输入欲加为博友的用户的用户名进行添加在本系统的实现过程中,为了简化一些操作,将博友的添加设置成单向验证添加,即用户可以单方面将某一用户加为博友,而不需要等待对方的确认在添加博友的过程,为了防止重复添加和错误添加,系统对添加过程进行了全程的监控首先用户不可以添加自己为博友,这不符合正常的事务逻辑;其次,用户在添加某位用户为博友之后不可以重复添加,当用户有此操作时,系统会自动终止添加过程并给出相应提示;最后,在上述第二种添加方式中,如果用户输入的博主名无效时,系统应当给出提示并终止添加过程博友添加完成之后,就会出现在用户的博友信息表中,当用户的博友有了新的操作比如发表日志、上传相册和影音文件等,用户在自己的后台页面和__首页都能够看到相应的提示信息此外,用户添加博友之后,就可以跟其博友以站内信的方式进行互相通信,关于这一点的描述,我会在下一节中留言和消息管理中进行消息的讲述用户列表中的博友,可以方便的被用户删除,博友被删除之后,用户页面中与该博友的所有信息都将被删除这在数据层的实现主要是依靠底层数据表之间的级联和参照来实现,而在事务层则是依靠ASP.NET
2.0平台提供的数据源控件和数据显示控件其实现过程与日志删除和文件删除类似,这里不再赘述
4.
5.2博文订阅与退订博文订阅的操作可以在两个地方进行操作,一是当登录用户访问某位博主的__首页时,可__其页面上【订阅__】按钮将博主添加到自己的博文订阅信息表中,二是用户进入自己的后台管理页面,直接输入欲订阅的用户的用户名进行添加在本系统的实现过程中,博文的订阅同样采用单向单向验证添加,即用户可以单方面订阅某一用户,而不需要等待对方的确认在博文订阅的过程,为了防止重复添加和错误添加,系统对添加过程进行了全程的监控首先用户不可以订阅自己的__,这不符合正常的事务逻辑;其次,用户在订阅某位用户的__之后不可以重复添加,当用户有此操作时,系统会自动终止添加过程并给出相应提示;最后,在上述第二种添加方式中,如果用户输入的博主名无效时,系统应当给出提示并终止添加过程__订阅完成后,当被订阅的博主有博文更新时,系统会自动发送邮件至用户指定的邮箱邮件内容是更新博文的地址以及博文的标题如下图所示,左边有一项为“订阅__”,__“订阅__”,可以对该好友的__进行订阅图4-20订阅__功能如果已经订阅该博主__,则会提示“您已经订阅好友__,不需重复订阅”该好友有博文更新时,系统会自动发送邮件至好友指定的邮箱图4-21邮件订阅博文订阅更新的邮件发送实现,是使用了.net提供的__ilMessage对象来实现的由于该系统是一个__用户子系统,所以并未提供如何设置发送系统邮件的E__il,而是在程序代码中直接指定了某一邮箱本设计中为一个用户的126邮箱有关实现该__订阅__的主要源代码如下usingSystem.Net.__il;namespa__E__ils{///sum__ry///sentE__il的摘要说明////sum__rypublicclasssentE__il{publicsentE__il{////TODO:在此处添加构造函数逻辑//}publicvoidsendE__ilstringToE__ilstringe__ilSu__ectstringe__ilBody{__ilMessageo____ilMessage;Attachmento____ilAttachment;//创建一个附件对象//o____ilAttachment=newAttachmentd:\\test.___;//发送邮件的附件//创建邮件消息o____ilMessage=new__ilMessage;o____ilMessage.From=new__ilAddressToE__il;o____ilMessage.To.Addzongquanliu@
126.com;o____ilMessage.Su__ect=e__ilSu__ect;//发送邮件标题o____ilMessage.Body=e__ilBody;o____ilMessage.I__odyHtml=true;o____ilMessage.BodyEncoding=System.Text.Encoding.UTF8;o____ilMessage.Priority=System.Net.__il.__ilPriority.Nor__l;//o____ilMessage.Attachments.Addo____ilAttachment;//将附件附加到邮件消息对象中//__TP地址__tpClient__tpClient=new__tpClient__tp.
126.com;//网络上的代理服务器__tpClient.EnableSsl=false;__tpClient.Credentials=newSystem.Net.NetworkCredentialo____ilMessage.From.Address66366723;//设置发件人身份的信息__tpClient.DeliveryMethod=System.Net.__il.__tpDeliveryMethod.Network;__tpClient.Host=__tp.+o____ilMessage.From.Host;__tpClient.Sendo____ilMessage;}}}
4.6留言消息管理该模块的实现是以站内信的方式来实现的且只限于博友之间的通信,本模块提供的功能有发新消息、查看消息和删除消息这里以tester和fengqian用户为例进行讲述该功能模块的实现过程首先tester用户将fengqian加为博友,首先tester用户将fengqian加为博友,当tester进入到自己的后台管理页面发送消息时,fengqian就出现在tester用户的收件人列表中当选定用户后,即可发送消息,如图4-22所示图4-22发新消息此时若fengqian在线进入自己的后台页面时应当看到有新消息的提示,并可以查看消息内容,加以回复如图4-23和图4-24所示图4-23新消息提示图4-24fengqian看到的消息内容当fengqian用户__【回复】,即可对新消息进行回复,那么当tester用户进入后台时,同样可以看到相应的消息提示如图4-25和4-26所示图4-25消息回复图4-26tester看到的消息内容其实,该功能的实现在数据层是依靠消息表news_state来实现的通过这种方式即可实现用户之间留言和消息通信至于删除消息功能,实现过程与前面的日志删除类似,在此不再赘述结论随着Internet的发展,网络应用的广度和深度以人们预想不到的速度迅猛向前发展,网络应用程序的设计和实施已经成为各类软件中最主要的组成部分__是互联网上一种新的媒体形式,处处体现着新一代互联网平等、体现用户个性、注重交流与__的特点,每一个__都是互联网内容的提供者__也代表着一种新的学习、生活方式,在今后也必将取得更大的发展在中国具有较大的市场规模,而且在未来几年还将有相当大的发展前景本文的目的是针对__系统自身特点,对__系统包括从底层的数据交互方式到外部用户界面展现的各个方面进行分析,并根据每一个部分的相关技术进行设计,该__管理系统可以上传日志、照片、视频,添加博友,订阅博友日志,最终实现一个满足绝大部分功能需求、模块结构合理、安全、支持多用户的网络__管理用户子系统的设计毕业设计是本科学习阶段一次非常难得的理论与实际相结合的机会,通过这次比较完整的给__管理系统设计,我摆脱了单纯的理论知识学习状态,和实际设计的结合锻炼了我的综合运用所学的专业基础知识,解决实际问题的能力,同时也提高我查阅文献资料、设计手册、设计规范等其他专业能力水平,而且通过对整体的掌控,对局部的取舍,以及对细节的斟酌处理,都使我的能力得到了锻炼,经验得到了丰富,并且意志力,抗压能力及耐力也都得到了不同程度的提升这是我们都希望看到的,也正是我们进行毕业设计的目的所在提高是有限的,但提高也是全面的,正是这一次毕业设计让我积累了许多实际经验,使我的头脑更好的被知识武装了起来,也必然会让我在未来的工作学习中表现出更高的适应能力,更强的抗压能力和学习能力致谢在我即将完成本论文之际,亦是我即将结束我大学本科阶段学习之时,这里特别想感谢我的毕业指导老师耿雪春老师,尤其在课题设计的前期准备阶段和本人的数据库的设计阶段耿老师给我提出了许多宝贵的设计意见在最后的论文修改阶段老师在百忙之中抽出时间为我们提供了必要的帮助这样使得我们得以顺利的完成毕业设计__工作耿老师治学严谨、待人宽厚,在项目的设计与实现以及论文的写作过程中,他精益求精、严谨认真的治学态度令我肃然起敬,对我多方面的指导更使我受益匪浅谨此向耿老师表示衷心的感谢和崇高的敬意另外,也感谢我们专业的同学们,初期做毕业设计遇到许多困难,进展缓慢同专业的同学热心指导,给予我帮助,对我的毕业设计项目和论文的顺利进行起到了很大的帮助通过本次的毕业设计自己学到了许多除专业课之外的知识,也有不少的领悟,今后我会将继续努力把学到的这些知识应用到自己以后的工作学习中____
[1]沃尔瑟,谭振林,黎志,朱兴林.ASP.NET
3.5揭秘.电子工业出版社,
2009.
[2]张树亮,李超.ASP.NET
2.0+SQLServer网络应用系统__案例精解.清华大学出版社,
2006.
[3]章美亮.ASP.NET
3.5动态__设计教程.中国水利水电出版社,
2009.
[4]蔡继文.21天学通ASP.NET.电子工业出版社,200921-22
[5]陈轮,刘蕾.ASP.NET
3.5网络数据库__实例自学手册.电子工业出版.
2008.
[6]拉伦斯盟内.ASP.NET基础教程.任品毅.人民邮电出版社,
2009.
[7]郭兵,王庭森.挖掘__的商业价值.企业研究.2010年,第1期1-1
[8]黄川栗,曾宏伟.大众文化下的资本争夺与文学场特征从布尔厄迪理论看__文化.学理论.2010年,第3期1-1
[9]曾伟民.新一代的网络__工具ASP.NET.编者名.第六届全国计算机应用联合学术会议,四川,2002年7-9
[10]樊旺斌,刘正捷,陈东.__服务系统用户行为研究—用户访谈.张海晰.第二届和谐人机环境联合学术会议HHME2006——第2届中国人机交互学术会议CHCI06,江苏,200615-16
[11]GrundyJ,WeiZ.NicolescuR.CaiY.Anenviro__entforauto__tedperfor__n__evaluationofJ2EEandASP.NETthin-clientarchitectureshttp://fqk.medalink.cn/views/specific/3004/FCPDetail.jspdxid=310101969107d=B7814307FE686B38__A2F1026F675F9Bsw=ASP.NET\t_blank.SoftwareEngineeringConferen__2004,Australian,
2004.
[12]TarokhVJafarkhaniHCalderbankA.Spa__-timeblockcodesfromorthogonaldesigns.IEEETransactiononInfor__tionTheory.199945598-101
[13]赵梦.__用户的个性化建模研究与实现.浙江大学硕士学位论文.2007
[14]岳超.基于ASP.NET技术的校园__设计与实现.吉林大学硕士学位论文.20096-7
[15]李超.互联星空__系统的分析与设计.山东大学硕士学位论文.200733-34
[16]PACS-L;thepublic-ac__sscomputersystemsforum[EB/OL].HoustonTex;UniversityofHoustonLibraries19__[1995-05-17].http://info.lib.uh.edu/pacsl.html.
[17]蔡继文.基于ASP.NET平台的动态____站点的实现[M/CD].电子工业出版社2009182:4[2010-01-18].http://___.broadview.com.cn
[18]罗斌.ASP.NET
2.0数据库__经典案例.中国水利水电出版社,
2008.
[19]陶宏才.数据库原理及设计.清华大学出版社,2007
[20]DA__RKRISHN__R,GEHRKEJ.Database__nagementSystem[M].2nded.清华大学出版社.
2000.
[21]I。