ASP.NET个人博客系统毕业设计论文.doc

上传人:小小飞 文档编号:3901357 上传时间:2019-10-09 格式:DOC 页数:44 大小:2.18MB
返回 下载 相关 举报
ASP.NET个人博客系统毕业设计论文.doc_第1页
第1页 / 共44页
ASP.NET个人博客系统毕业设计论文.doc_第2页
第2页 / 共44页
ASP.NET个人博客系统毕业设计论文.doc_第3页
第3页 / 共44页
ASP.NET个人博客系统毕业设计论文.doc_第4页
第4页 / 共44页
ASP.NET个人博客系统毕业设计论文.doc_第5页
第5页 / 共44页
点击查看更多>>
资源描述

《ASP.NET个人博客系统毕业设计论文.doc》由会员分享,可在线阅读,更多相关《ASP.NET个人博客系统毕业设计论文.doc(44页珍藏版)》请在三一文库上搜索。

1、重庆电子工程职业学院09级毕业报告毕业设计(论文)课题:XXXXXXXXXXXXXXXXXXXXXXXXXXXXX学生:李 兵 系部: 软件工程系班级:软件091班 学号:2009005755指导教师: 项 刚装订交卷日期:2011年4月5日毕业设计成绩评定表指导教师评语(包含学生在毕业实习期间的表现):成绩(平时成绩): 指导教师签名:年 月 日评阅教师评语:成绩(评阅成绩): 评阅教师签名:年 月 日答辩情况记录:(不安排答辩的学生此表不填)答辩成绩:答辩委员会主任(或答辩教师小组组长)签名:年 月 日总评成绩:毕业设计任务书一、设计课题:用ASP.NET设计一个博客二、设计目的:为了能更

2、好的在网络加与别人交流分享.本课题SQL Server2005数据库为后台、ASP为前台,设计一个个人博客。通过本课题的设计,使得交流更为方便。三、设计要求 本课题设计要求如下:1、用户登录对用户的登录进行权限设置2、日志模块本模块实现的功能为记录文章,查看文章3、相册模块本模块实现的功能为上传图片.4、留言板本模块实现的功能为删除,查看好友留言.5、后台登陆四、毕业设计报告要求:毕业设计报告由以下几部分组成:1、标题封面:标题要求简洁、确切、鲜明。2、毕业设计成绩评定记录表(教师等填写)3、毕业设计任务书(指导教师提供)4、目录5、正文6、附录五、设计进度计划:12月15日-12月25日 查

3、阅资料、系统功能分析、模块设计、数据库设计1月 1日- 2月25日 代码设计、调试3月 1日- 3月25月 撰写毕业设计报告 4月 初 毕业设计答辨(如有变动,另行通知)六、毕业答辨需提交的材料:1、完整的系统代码(光盘或磁盘)2、毕业设计报告学 生:李兵 指导教师签名: 2011年12月13日重庆电子工程职业学院09级毕业报告目 录前 言61 绪论81.1 .NET技术简介81.2 BLOG相关介绍101.3 系统开发背景141.4 系统开发意义151.5 系统开发目标151.6 开发平台、运行环境、测试实施162 需求分析182.1 系统构成182.1.1 系统组成及功能182.1.2 系

4、统实现方案242.2 E-R关系242.3 数据存储282.4 逻辑分析282.4.1 数据流图282.4.2 数据字典302.4.3 系统边界312.5 系统实现的关键技术313 概要设计323.1 设计原理323.2 接口设计323.3 数据库设计333.3.1 设计思路与步骤333.3.2 结构设计333.4 界面设计364 详细设计374.1 系统流程图375 运行结果及调试分析425.1 主要运行效果425.2 调试分析455.3 修改日志与事件记录466 设计总结47谢 辞48参考文献49前 言在本次设计中,采用.NET技术进行WEB开发(C#开发ASP。NET程序),我最大的感触

5、也是在这个方面,设计思路、实现方法、解决步骤等等,这与以往单独的设计Windows应用程序、Web程序一样。唯一不同的是采用C#开发ASP.NET程序的确是一个跨越,是一种新鲜的体验,而不是之前单一的开发windows程序(C+),单一的开发Web程序(ASP)那样,当然也由于这个跨越,需要自己不但要有后台Win Form编码的知识,也要有Web Form程序开发的基础所以在很大程度上,我觉得本次的设计还算是比较顺手,虽然有不少新技术、新难题、新思路,但在点滴设计思考中,都逐步解决了。BLOG的新兴不是很久,但是比较流行、实用,所以开发此BLOG系统让我对本次设计很有兴趣,在绝大部分的时间里,

6、我没有觉得枯燥,更没有做不下去的感觉,反倒是兴趣倍增,难题、不解我都将其看成为学习的目标、研究的对象。从COOKIE加密、正则的应用、URLRewrite的实现、UBB的思考到文件管理的编制、访问分析的思考、站点日志的另类实现等等,在这些过程中,设计的思路是逐渐明了,直至每一个问题的解决。事实上,在解决这些问题时,也没有那么容易,但是我觉得能学会解决这些问题便是学习的第一步,也是个人进步所必需经历的。本次设计,不能说是时间仓促,但即便如此,系统不足之处也是在所难免的,在每个阶段,我都会发现这样或那样的不足,错误、需要优化、共用性、和开发环境的兼容问题等等。这在设计的过程中,都及时的记录并一一解

7、决了。当然,我也曾将系统放到网上进行测试,在这里非常感谢曾帮我测试的朋友们,非常感谢他们提出的建议和提交的BUG。如果你在应用中发现系统BUG,或是你有更好的建议,非常欢迎能和我联系,在此谢过!2012年4月5日1 绪论.NET技术简介(1)什么是Microsoft .NetMicrosoft .net是Microsoft的xml web服务平台。.net包含了建立和运行基于xml的软件所需要的全部部件。Microsoft .net解决了下面这些当今软件开发中的一些核心问题:l 互操作性(interoperability)、集成性(integration)和应用程序的可扩展性(extensib

8、ility)太难实现而且代价很高。Microsoft .net依靠xml(一个由world wide web consortium(w3c)管理的开放标准)消除了数据共享和软件集成的障碍。l 无数具有相当竞争力的私有软件技术使得软件的集成变得非常复杂。而Microsoft .net建立在一个开放的标准上,它包含了所有编程语言。l 当终端用户使用软件时,他们总觉得不够简便。有时甚至感到很沮丧,因为他们无法在程序之间方便地共享数据或是无法对能访问的数据进行操作。xml使数据交换变得容易了,并且.net软件可以使得用户只要得到数据就能对它们进行操作。l 终端用户们在使用web的时候,无法对自己的个人

9、信息和数据进行控制,这导致了个人隐私和安全泄漏问题。而Microsoft .net提供了一套服务,使用户可以管理他们的个人信息,并且控制对这些信息的访问。l .com公司和web站点开发者们很难为用户们提供足够的有价值的数据,至少有一部分原因是由于他们的应用程序和服务无法很好地和其他程序和服务合作,只是一个不和外界连接的信息孤岛。而Microsoft .net的设计宗旨就是为了使来自于多个站点和公司的数据或服务能够整合起来。如同ms-dos和windows一样,.net将大大改变我们的计算领域。ms-dos使得个人电脑在商业和家庭中广为接受;windows增强了用户的图形界面,使其成为首选的与

10、软件交互方式,最终使得图形界面成为个人电脑的主流。而.net则要把xml web服务变成日后的主流计算模式。xml web服务是建立在xml数据交换基础上的软件模型,它帮助应用程序、服务和设备一起工作。用xml进行共享的数据,彼此之间独立,但同时又能够松耦合地连接到一个执行某特定任务的合作组。(2).NET战略Microsoft .net程序员们设计编写的是xml web服务,而不是服务器或客户端的独立应用程序。他们把这些服务组合成松耦合,相互协作的软件群,xml web服务之间使用xml messaging进行通讯。为了做到这一点,程序员需要:l 一个软件平台,用于建立一种新的完整的个人用户

11、经验l 一个编程模型和工具,用以建立和整合xml web服务l 一套能为应用程序和服务提供基础的可编程的服务Microsoft的.net战略就瞄准了这三点。(3).NET的优点Microsoft .NET为程序员、商业领导、IT部门以及消费者带来了很多好处。相对来说,程序员是比较缺乏的,雇用的费用也很高。然而Microsoft .NET使编程工作变得更加容易,开发投资的回报率也趋最大化。开发者们可以创建能重用的XML Web服务,而不再是一个单一的程序;这些Web服务易于编程和调试,彼此之间相互独立,通过XML message通讯及合作。所以对某一个服务的修改不会影响到其他的服务。由于XML

12、Web服务可以被很多.NET体验共同使用,所以对一个服务模块的有效更新,也即更新了所有使用这个模块的.NET体验。任何编程语言都可以用来编写XML Web服务(如:C、C+、Visual Basic、COBOL、Perl、Python和Java等),所以你的程序员可以选择他们最熟悉的语言来编程,这大大提高了开发效率。更值得一体的是,他们并没有因使用了不同的语言而失去服务或跨组件的调试能力。总之,Microsoft .NET是Microsoft的XML Web服务的平台。这是下一代的Internet计算模型,各个XML Web服务之间彼此是松耦合的,通过XML进行通讯,协同完成某一特定的任务。M

13、icrosoft .NET战略提供了一个用以建立新.NET体验的软件平台、一个编程模型、用以建立和整合XML Web服务的工具以及一套可编程的Web接口。BLOG相关介绍虽然现在人们更多的是在谈论BLOG的人文氛围、BLOG的商业经营价值,但从这种新的网络文化的演变过程中可以看到,是BLOG技术的出现使得每个人可以零成本、零维护地创建自己的网络媒体,是BLOG站点所形成的网状结构促成了不同于以往社区的BLOG文化。BLOG技术缔造了“博客”文化。就像人类发展史中,工具成为每个历史时期的象征一样,各种文化的诞生恰恰是由于工具本身的进步。不经意间,BLOG竟如雨后春笋般冒出来,博得了越来越多网民的

14、欢心,并引发了各种新的应用热潮。它最大的吸引力在于,只要你会发邮件,就可以轻松创建自己的网络媒体。(1)BLOG的起源一直以来,想弄清楚BLOG的起源问题,想弄清楚这个东西的来龙去脉,可是在网上搜索了一段时间,阅读了一些文章后,才知道有很多种说法,一时我也弄不清楚该相信谁的,只能将几种说法,列举一二。说法一:1997年,BLOG 这个词汇被 John Barger 创造出来,1999年之后它得到了发展迅速,这还要得益于麦特德拉吉的一则有关克林顿和一位白宫实习生暧昧关系的报道,这则报道引起的各种思考到现在也没有完全停止。德拉吉报道(Drudge report)其中的一个影响是人们开始思考个人网络

15、出版的可能性及其可能对未来生活造成的影响。同年,美国一家小软件公司 Pyra 的三个创始人为了开发一个复杂的“群件”,编写了一个小软件,目的是便于交流想法和团队协作。使用的过程中,他们发现这个小软件对普通人也很有用,于是他们共享了这个软件。这就是 BLOG 的起源,这个公司就是后来鼎鼎大名的B 的前身。BLOG 提供了人们一个实践的机会,操作简单,个人几乎不需要任何技术就能轻松上阵。简单易用而且完全免费,降低了进入成本,所以从1999年初到2002年底,Blogger 人数从近百人壮大到近百万。 说法二:一对1977年出生的小夫妻,一个无事可做,不甘寂寞写起了网络日志;另一个找不到体面工作,就

16、在家编编电脑程序。没想到,他们从自家卧室里捣腾出的小公司竟然引发了网络新兴势力博客网站的革命,如今更成为全球最大的商业化BLOG服务提供商。而这夫妻俩不仅年纪轻轻就当起了富翁,而且成为博客发展史上不可取代的人物。本特洛特和梅娜特洛特都出生在1977年,两人生日仅差6天,这就是相隔六天公司名字的来历。创建这个公司后,特洛特夫妇燃起了互联网博客(英文为BLOG,即网络日志)网站的熊熊火焰,在BLOG技术革新史上奠定了行业鼻祖的地位。如今,这家位于旧金山的公司已成为全球最大的商业化BLOG服务提供商。如今,相隔六天已拥有70多名员工、700万用户,其中仅付费用户就达100万。特洛特夫妇已经成为博客领

17、域最强大的夫妻档。2001年初,梅娜厌倦了互联网泡沫后的无聊生活,开始建立自己的博客网站。梅娜说:当时,我想我已不可能在现实世界中出名了,但或许可以在网络世界出出名。梅娜所写的个人网络日志赢得了一批拥趸。在日志上,她大谈少女情怀、成长点滴,还大胆表露的喜好,比如她不喜欢有人在公共场合剪指甲,比如她对1972年一部灾难片的迷恋等。梅娜在拼命写个人日志的时候,丈夫本却迟迟未找到一份体面的电脑程序师工作。失意的本开始编一个程序,这个程序就是后来针对个人用户的BLOG发布软件Movable Type(简称MT),这也是目前最为流行的个人BLOG发布系统。2001年9月,本特洛特刚把MT软件放到网上一个

18、小时,就有100个人下载。本和梅娜觉得这是个好机会,就干脆把自家的卧室变成了创业室,成立了相隔六天公司。一开始,他们只是希望能赚点钱维持日常花销,但是没想到财源滚滚而来。硅谷风险资本家乔伊伊托看到了商机,很快就找上门来,表示愿意进行风险投资。最终,特洛特夫妇把公司的部分股份以1150万美元的价格卖给了伊托和其他风险资本家。如今,从卧室两台电脑起家的这家小公司已经成为BLOG业的一条大鱼。最近,Google和微软这两个大玩家各自推出了B服务和MSNSpace服务,为的就是跟相隔六天这个最强有力的竞争对手相抗衡。2004年被称为博客年,而2004年个人电脑杂志评出的五个年度人物中,两个就是特洛特夫

19、妇。(2)BLOG展望总体展望:BLOG与BBS,及网络论坛内的留言相比更能有机的组织个人的言论并与他人自由的交流,实际上它的个性化更强;倒是和个人网站有些接近,但是用户友好性要好得多,并且得益于一些新兴技术的支持,可能拥有更加灿烂的未来。 从前的互联网使用HTML描述信息,大家彼此是孤立的。BLOG使用基于XML的RSS内容描述协议,使得大海中的孤岛彼此可以识别和交流,相信慢慢的、BLOG会促进互联网络的改进,但是BLOG本身将会走向何处,窃以为很难预测。大部分人都认为博客将继续受到大众欢迎,而其未来的发展却是不确定的。Hunter断言,由于很多网站都增加了博客功能,同时新闻站点亦变得“博客

20、化”,博客将会一直存在。有两点是可以肯定的:博客与传统媒体的竞争日趋激烈;博客的新用法将会不断浮现。教育BLOG的展望:任何一种新技术、新产品、新思想的创新与扩散对社会的发展都起着重要的推进作用,因此,人们十分关注创新扩散规律的研究。 1995年,美国新墨西哥大学埃弗雷特.罗杰斯教授研究了3000多个有关创新扩散的案例,发表了创新扩散一书,提出了著名的创新扩散S-曲线理论(S-shaped curve)。罗杰斯认为,创新的扩散总是一开始比较慢,然后当采用者达到一定数量(即“临界数量”)后,扩散过程突然加快(即起飞阶段take-off),这个过程一直延续,直到系统中有可能采纳创新的人大部分都已采

21、纳创新,到达饱和点,扩散速度又逐渐放慢,采纳创新者的数量随时间而呈现出S形的变化轨迹。罗杰斯把创新的采用者分为革新者、早期采用者、早期追随者、晚期追随者和落后者等几个发展阶段。罗杰斯认为,创新扩散总是借助一定的社会进行的,在创新向社会推广和扩散的过程中,信息技术能够有效地提供相关的知识和信息,但在说服人们接受和使用创新方面,人际交流则显得更为直接、有效。因此,创新推广的最佳途径是将信息技术和人际传播结合起来加以应用。系统开发背景随着互联网技术的日趋成熟,各种信息化实体不断应运而生并得到了快速发展,从单一的模式到现在复杂的服务端、客户端的交互,不得不令人惊叹和喜悦!人们在充分享受互联网带来的各种

22、便利时,一种新型的网络实体也日渐地出现在人们的视野,那就是当前网络界较为流行的实体之一博客(BLOG),当然这绝不仅仅是一种单向的发布系统,它有着极其出色的交流功能,在以往的几种网络交流方式中,BBS过于公共化,而Email和即时通信工具IM则有很明显的私人性质,BLOG的出现则将公共性和私人性很好地结合起来。它代表着一个新型媒体时代的到来,而且作为专业领域的知识传播模式,它有可能成为该领域最具影响力的”人物”之一;另一方面,它也将推动各种“精神共同体”的形成,打破传统媒体和传统交往时间和空间上的限制、社会精英独霸话语权的局面,且极大地增加个人的社会资本,博客作为一种快捷方便的信息交换方式,将

23、和那些不久还会出现的更多的有效的技术手段一起,成为构建新社会的强劲动力。因此,基于BLOG的多种优势和未来的发展趋势,所以有必要设计这样的一个BLOG系统。虽然目前国内众多BLOG系统已经诞生,并得到充分的发展,大到多用户、功能强大、复杂性的系统,小到网络日记本形式的“BLOG”,通过对该系统的开发,以此加深对BLOG的认识、研究简单BLOG系统开发途径和应用方法,并为以后设计复杂BLOG系统打下坚实的基础。本次设计所开发的BLOG系统是以VS2003 + SQL sever 2000为编程环境,以.NET框架中的C#.NET来实现其制作和开发过程(IE6.0)。在目前多数的BLOG系统中,.

24、NET原型的系统并不是很多,而多以ASP等为主流,这在很大程度上使个人的设计减少了一定的参考性,此外虽然.NET的发展时间并不是很久,但.NET的发展趋势也是显而易见的,当然这就要谈到.NET的优势所在,这里不在追述。通过对BLOG系统进行可行性分析、需求分析和设计逐步将一个BLOG系统的开发过程呈现出来,当然也没有刻意追求专业性和商品化软件的华丽包装,而是本着简单、实用、性能优化的原则。系统开发意义从BLOG系统的诸多媒体优势可以看出,设计这样一个博客(BLOG)系统;一方面,能为人们提高写作水平的提供“基地”,为爱好写作的人们提供了一个提高写作水平的好园地,成为大众文字表达的好场所,博客写

25、作比较自由随意,可以不断的更改增新,有利于写作水平的快速提高和思想敏锐性的进一步增强。也能成为行业专业人才的交流场所,为一些各行业的专业技术人员提供一个技术交流平台,诸如:IT技术、教育技术、管理技术等一些专业性的知识,可以通过博客得到相互学习,取长补短,从而解决疑难之谜。另一方面,使得意见表达也更完整、更系统,无论是对问者还是答者,都十分方便,不像论坛那样大海捞针,博客相对更有秩序一些,此外有利于规范网上言论秩序,在个人博客里,多数人乐于亮明自己的身份。他们一般都会珍惜机会,责任感很强,从容不迫,不急于慌不择言,更重视自己“水平”的体现,因而博客里大大减少了一些人们所谓的垃圾文字,从而有利于

26、维护汉语言文字的纯洁性和规范化,它还能为企业和求职者提供了一个伯乐选千里马的职场,博客为他们各自所需创造了一个高效的网络职场。企业们要找适合自己的人才难度就大减少。而求职者也不用花太多的时间在招聘现场的人群中拥挤了,随着演变,博客的形式会越来越多样性。系统开发目标通过利用C#进行ASP.net、ADO.net的应用程序开发,使用Code Behind方式来实现,使前台界面和后台代码分离,通过利用类的继承、重用,以及函数的公用来尽量精简代码,此外,注意系统以后的就阅读性和可维护性。在开发中,不去一味的使用Web服务组件,能巧妙的结合其他方式来实现,将不适合或没必要在服务端运行的放至客户端完成,在

27、一定程度上减少服务端资源的损耗。提高系统的整体性能。在功能实现上,完成目前存在的BLOG系统大部分的功能,提供良好的用户界面(方便交互操作),并能在此基础上尽可能的设计出较为新颖和更实用的功能。大致主要实现以下几点:q 便捷后台文件添加、编辑、复制、剪切,包括目录操作、文件大小、日期显示等q 实现日志的发表、浏览、编辑、删除等q 实现像册管理q 实现日志搜索(按标题、内容、评论等)q 实现站点链接开发平台、运行环境、测试实施开发平台:Microsoft .NET Framework 1.1Visual Studio 2003.NET(C#)Microsoft SQLSERVER 2000Win

28、dows 2000+IIS5.0+IE6.0运行环境:Windows 2003 / 2000 / XP 安装 .Net Framework 1.1 或 Visual Studio 2003.NET 安装IIS5.0以上版本数据库Microsoft SQLSERVER 2000 以上版本 适合以上环境本系统可正常运行实现方式:B/S模式,本地运行、远程访问皆可如果你在前面已经拥有了本系统的运行平台,如上所要的配置后,则可继续通过以下步骤来运行本系统。2 需求分析系统构成1.1.1 系统组成及功能 本系统由以下多个子模块组成:用户登录、用户注册、页头和页尾的处理模块(用户控件)、管理员后台管理(包

29、括BLOG配置、分类管理、站点文件在线编辑与管理、会员管理、BLOG表情管理、日志中自动识别的关键字管理、友情链接管理、友情链接验证、用户收藏的URL、服务器的相关信息、骂人词语的管理等)、BLOG编辑模块、友情链接提交与显示模块、BLOG发表模块、RSS订阅模块(1.0&2.0)、BLOG浏览模块、独立IP访问统计分析模块、验证码实现模块、BLOG评论列表模块、BLOG首页处理模块、注册用户URL收藏模块(提交、显示)、会员信息显示模块(单用户、多用户、信息编辑)、站点信息搜索模块(Google站内、系统本身)、文件上传模块、公用导航模块(用户控件)、公用类模块、全局变量和在线用户的记录、开

30、启站点模块、工具模块等,各模块的详细功能如下所述:(3)页面头部处理模块该模块主要实现的是从数据库中读出BLOG分类信息列表(分类由管理员在后台设定),统计用户访问信息(IP、时间、来源URL、浏览器、操作系统、屏幕宽度、语言、COOKIE、入口地址,搜索关键字等),同时获得全局使用的总访问人数,当然这些操作也可以在Global里来完成,效果是一样的,因为我的每个页面都包含了页面头部,但是当有不包含页面头部时将不会统计分析,只需要把相关实现写到Global里即可(有时间再看看)。在统计访问者的信息时,实现了防止刷新的功能,同一个IP,一定时间内将不会重新统计,同时如果支持穿过代理获得IP的话,

31、统计的是真实的IP,而不是代理的IP。(4)页尾处理模块该部分主要解 决的是系统的版权信息,页面执行时间的显示等,比较简单。(5)管理员后台管理模块该模块涉及的东西比较多,用于实现对系统数据和相关信息的管理和配置等。具体描述如下:q BLOG系统的配置:主要是完成站点标题的配置,站点URL和首页每页显示的日志数,这些操作不是在数据库里来完成的,也没有这个必要因为取一个数,就要查询数据库,我放到了站点配置文件里Web.config里,后台采用相关方法,修改该XML类型的文档,从而达到修改站点配置的目的,不过每次使用该选项时,系统将会从新执行。同时也支持修改用户上传文件大小和时间的限制、数据库连接

32、配置等设置,也可配置管理员的邮件地址,以便作为批处理发送系统邮件的帐户。q 站点文件管理:主要实现的是BLOG系统文件的在线管理(增加、删除、修改、移动、重命名等,对目录的操作同样),可查看附件(文件信息、上传时间、文件类型等),不同文件显示不同图标,目录也可显示目录占用空间大小,作为管理用户上传的附件来说还是有必要的且比较实用,唯一不足的是,当系统文件较多时,性能会有所影响,便历目录需要时间。当然这个可不是木马_,它的执行需要系统给予一定的权限。q 友情链接管理:主要实现的是对用户提交的链接进行管理,包括链接名称、URL、图片(相对路径、绝对路径)、是否首页显示,同时链接图片可预览,和上面不

33、同的是,此处操作支持批处理,主要是首页显示,管理员可选中头部的首页显示,从而将下面所有的CheckBox选中,再执行批处理设定,当然,可对特定选择的多条记录同样处理,此外增加了省略显示的功能,就是当某条记录的长度过长时,截取了该记录的前面固定长度的串,加”显示出来。同时在增加友情链接的时,可增加其链接名称、URL、图片、排序等信息,当然也严格检查了提交的信息。另一方面与上同,分页、确认删除q 友情链接验证管理:主要实现的是对用户提交的友情链接进行验证,显示需验证链接,是否首页已显示(当然默认是不会的),没通过验证的,将不会显示出来;不通过首页显示验证的,将不会在首页显示,在对验证、删除进行处理

34、时,也采用批处理的操作,这和上面有所不同,实现了全部验证、全部删除的操作。q 服务器的相关信息:这是默认显示的,在登陆后台时,主要显示当前服务器的相关信息,如服务器时间、域名、IP、端口、服务器IIS版本、脚本解释引擎、服务器空间占用情况、站点的物理路径、服务器的名称、脚本超时、服务器开机后执行的时间、服务器CPU的数量、CPU的类型、服务器操作系统、.NET Framework版本、USER_AGENT信息、常用组件支持情况、自定义组件查询、1000万次循环检测执行时间等,能给管理员对服务器的一些情况有一点了解。 (6) BLOG日志发表模块该模块主要完成了BLOG日志提交的功能,也是BLO

35、G系统中比较重要的一个环节了,同时该部分处理的也比较复杂,在这里我采用了两种模式(UBB、HTML)在线进行编辑、提交,用户可根据自己的需要进行选择互换使用,并查看帮助信息,当然这样做并不是多余的,因为我发现有的时候纯粹的使用单一的模式有一定的不方便。在这两种模式下,都可以插入表情图片、识别关键字、识别超级链接、禁止UBB代码、禁止表情、禁止图片等操作,在UBB编辑器方面,完成了以下的功能支持: 加粗字体、斜体字、下划线字体、删除线字体、上标字、下标字、居中显示、飞行文字、滚动文字、闪光文字、阴影文字、超级链接、Email、图片、Flash、shockwave、RealPlayer媒体、Win

36、dows Media媒体、QuickTime媒体、Winmap媒体、代码片段、引用、项目符号、水平线、文件下载、网页框架、字体、字体大小、字体颜色、段落样式等。(9)BLOG评论列表显示模块该模块主要完成用户评论信息的汇总,包括个人评论的汇总、所有用户评论的汇总以及用户搜索评论的汇总三个子部分,显示了评论的作者、评论的日期、评论的内容、是否为隐藏的日志(是则隐藏评论)、同时管理员可删除评论、查看IP信息。考虑到多条评论记录时,采用了分页存储过程来完成分页,并写了简单的分页算法代码(有一定的规律性),并支持自定义页面跳转。在分页处理时,作为URL参数来传递,同时也对评论内容进行UBB或HTML转

37、换,对评论的表情、关键字、超级链接、禁止图片和UBB等进行了同上的处理。(10)首页处理模块由于该页面由三部分组成,页头、页尾、左边导航、主要显示日志。这里主要完成的是显示系统的所有日志,每页日志的条数由管理员在config里定义,对于日志的分页显示也同样采用存储过程方式进行,并支持自定义跳转,采用视图查询,增强了系统的安全性。显示时,显示日志作者、标题、天气、发表日期、来源、日志摘要、所属分类、评论总数、引用数、查看次数,以及是否置顶,是否为隐藏日志,实际上这个处理相对比较简单,因为多由用户控件组成,在这些控件里已完成了部分的内容。 (12)友情链接提交与显示模块该模块实现的是友情链接的提交

38、、当前友情链接显示等,包括图片链接、文字链接,图片限制以88*33象素为准,防止影响界面,至于显示出来,这个比较简单,图片和文字的DataList进行数据绑定就可以了,当有用户提交友情链接申请时,将对提交信息进行检查,提交成功后,将提示等待管理员验证才可以显示首页或本页。其他部分调用页头、页尾、公用导航控件。 (18)作品展示模块该部分主要完成在用户发表日志、发表评论时对上传附件(包括图片、UBB的中的所有视频、文件等)的处理,当然上传附件是需要管理员以上的权限的,这在该页面也通过Session来检测的,当然采用Session并不是不安全,Session的数据是从加密的 COOKIE读到的,所

39、以不用担心不安全。当用户没有该权限时,将会给出提示,当文件上传成功时,将给出提示,并显示给文件的类型(如Image/Jpeg)、大小、上传的目录,此外对上传文件大小的限制,我设置为2M(对于检测文件大小,我想是不能放到服务端进行的,如果文件太大的话,所以在客户端进行检测,采用了JS,FSO判断不是好使,暂时没完善 ),超时时间为120s。当选择上传文件为空时,也将给出提示,如果文件不为空且大小符合要求,将会检查文件类型是否合法,同通过定义一串数组,存放不可上传的文件类型,比如html、asp、asa、cgi、hta、exe、vbs、dll等,上传此类型的将提示非法,如果是合法文件,将会上传到系

40、统目录下的upload里,不存在将自动创建该目录,同时创建年月日格式的文件夹,不存在将自动创建,存放当前文件,同时文件将重新命名为“时分秒”的格式,然后开始上传,上传成功后,将根据文件类型,增加代码到评论或发表日志的文本框,比如是FLASH文件,则自动添加UBB相同的代码,当然还有图片、其他媒体等类似处理,如果上传的文件类型不能用UBB来显示,则直接设定为普通文件,供下载(添加到父框架),用户点返回后将可再次上传,此外对于多文件上传,也很容易实现,可以动态的根据用户选择上传几个文件而增加上传浏览框,加入到上传集合中即可,上传路径从配置文件里读取。2.1.1 系统实现方案首先,根据系统功能的详细

41、分析,在配置好开发平台、运行环境后,我先从系统的后台开始设计,因为前台数据的显示或管理都需要后台的支持,所以在后台的第一个模块服务器基本信息开始,直至顺序完成整个后台部分(系统设置、分类管理、会员管理、链接管理验证、书签管理、表情、关键字、骂人词语屏蔽管理、文件管理等)。然后在后台支持的基础上,对前台进行顺序开发,日志发表、编辑、日志浏览(评论、分页、注册、内容过滤)、评论搜索、会员信息(整体、个人、编辑)、再到首页总体显示的实现。逐个模块的完成、完善、性能思考等。大多数情况下,不仅仅单一的依靠VS来编写,也是要考虑到手工编写,因此我觉得这样做是最好的解决方案,尤其是对性能的影响,当然在实现方

42、法上,某些地方可能做得不是很好,有待于以后改进!E-R关系(1)总体简化E-R关系图注:以下图为Microsoft Visio 2003设计完成并导出为JPG图片(Photoshop压缩)。图2.1 总体简化E-R关系图图2.2 用户信息管理简化E-R关系图(3)作品管理E-R关系图2.3 作品管理简化E-R关系图(5)友情链接简化E-R关系图2.5 友情链接简化E-R关系图数据存储本系统选择SQLSERVER做后台数据库,而没有选择ACCESS来开发,原因主要有以下几点:ACCESS是面向小型的,而SQL是面向大型的应用。由于在容量方面,ACCESS有极限,所以到了一定极限之后,很容易造成服

43、务器IIS假死或者吃光机器内存,而SQL则可以完全修复这些问题,而且相对而言SQL的数据备份也比较方便,功能强大很多。在速度性能方面前者也比后者逊色许多,如果稍做测试,比如10000条记录,会发现SQL可能比ACCESS快1020倍。另外,做单层系统可用ACCESS,而做两层或多层则用SQL。而且在安全性能上讲,SQL也还是比较好些,它有针对不同访问用户的权限设置。当然,具体的DBMS各有各自己的特性,和优点,例如跨平台性、性能、安全性等。所以适用的行业和范围就有所不同,就比如电信行业来说,一般只会用orcale,DB2之类的大型关系型数据库.而中小型企业用MS 的SQL sever多一些。所

44、以考虑到系统在以后实际使用中的问题,不能使用ACCESS数据库,而选择SQLSERVER来存储、处理数据很有必要。在使用SQLSERVER时,针对其特点灵活应用过程、语句等。如果转化为SQLSERVER也并不是很费时,只是涉及如区别函数、对应字段时要修改,如ACCESS的now与SQL的GetDate()。逻辑分析3.1.1 数据流图用户级简化数据流图:(1)顶层图2.11 用户级数据流图:顶层(2)0层图2.12 用户级数据流图:0层(3)1层图2.13 用户级数据流图:1层4.1.1 数据字典(1)数据流词条描述(2)数据元素词条描述(3)数据文件词条描述(4)加工逻辑词条描述(5)源点及

45、汇(终)点词条描述具体的描述略,数据项、数据流、数据文件、数据元素、加工逻辑等描述和上面流图的设计相对应,比较简单。5.1.1 系统边界该系统边界没有向UML用例图中的的样式表示,下面简要的阐述一下。由于“系统”具有相对性,不同边界的系统其组成不同,目标不同。要求实现的功能也不同。因此,在描述系统时,首先要定义系统边界。让其反映系统在职能、功能方面的边界,系统的可行性研究、总体设计、详细设计、开发和运行均是在这些边界内进行。(1)系统的职能边界 系统的职能边界定义为超级管理员管理范围内的主要功能。(2)系统的功能边界 系统在功能上覆盖日志发表、编码标准、系统异常处理、XML处理(RSS)、外部

46、引用、性能优化等,为不同的用户提供所需的信息与管理,并通过系统实现文档存储检索、信息共享。系统实现的关键技术(1)正则表达式:用户匹配或替换文本内容,如UBB、注册验证、特定参数检查多处用(2)存储过程:几乎在每个模块都使用了该方式,当然有的地方使用存储过程是不佳的,不过在这些地方我直接用了SQL语句,这里设计的存储过程有复杂的也有简单的,简单查询、更新、插入,还有通过计算、判断、多重语句、分页(3)XML:主要是操作与读取Web.config文件和做RSS订阅方面用到一点(4)文件处理:后台文件的编辑、处理以及文件信息的查看,服务端空间占用、文件上传等都有用到(5)简单算法与面向对象应用:比

47、较零散(6)WebForm:ASP.NET&ADO.NET技术,主要是综合的应用(7)数据绑定:在操作DataGrid等控件时,需要反复的绑定,比如删除、编辑、分页后要重新的绑定,DataList、DownList同样应用(8)控件、组件:DataGrid、DataList、用户控件(9)编码安全:COOKIE实现与加密、参数过滤、密码加密(10)统计分析:简单的数据分析(11)图形图象:验证码的生成和其他动态加载的处理、统计分析(12)SQL编码与脚本:各地方实现方式、条件不同,在系统SQL脚本和代码皆有(13)HTML、CSS、Javascript、Dreamweaver、Photoshop(14)分页技术:包括控件的分页(自定义分页算法)、存储过程分页

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 其他


经营许可证编号:宁ICP备18001539号-1