个人网站的设计与实现-合格论文2_第1页
个人网站的设计与实现-合格论文2_第2页
个人网站的设计与实现-合格论文2_第3页
个人网站的设计与实现-合格论文2_第4页
个人网站的设计与实现-合格论文2_第5页
已阅读5页,还剩49页未读 继续免费阅读

下载本文档

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

文档简介

毕业设计(论文)题目个人网站的设计与实现学员姓名钟莎学号2006813228专业计算机网络技术系别地方生院指导教员谢慧教员2010年04月25日毕业设计任务书任务来源自选任务要求1分析和设计个人网站的建设,为设计与实现个人网站系统提供技术基础2探讨一种更方便,更简洁的个人网站建设的方法3提出如何建设个人网站的解决方案4为个人网站的建设深入研究提出自己的看法参考文献1姜楠完美网页设计与制作中国青年出版社2004年5月2欧阳峰,陈朝荣电子商务技术中国财政经济出版社2001年8月3中国IT培训工程编委会FLASHMX实例教程珠海出版社2003年1月4周存杰著VISUALCNET网络核心编程北京清华大学出版2002115李东博杜学智李增辉精彩网页制作三剑客西安电子科技大学出版社2003年10月6CHARLESCCAISON著陈君译ASPNET程序员查询词典北京中国铁道出版社,200317MICHAELO,DENIELLEO著史创明,崔金玲译ADONET技术参考大全北京清华大学出版社8MICHAELR,MICHELLEP著卢庆龄等译SQLSERVER2000设计与TSQL编程北京清华出版社,20029FRANCOISLIGER等著刘乐亭译C字符串和正则表达式参考手册北京清华大学出版社2003210MATTHEWMACDONALD等著崔伟,毛尧飞译C数据安全手册北京清华大学出版社2003811KEVINHOFFMAN等著董梁,高猛译CNET技术内幕北京清华大学出版社2006412李维著面向对象开发实践之路C版北京电子工业出版社2005913JASONPRIC著邱仲潘等译C数据库编程从入门到精通北京电子工业出版社2003914张玉平,李长林著深入浅出C编程北京北京希望电子出版社2004515STEWARTFRASER等著毛尧飞,崔伟译CXML入门经典北京清华大学出版社200312EB/OL中国软件开发社区HTTP/WWWCSDNNETEB/OLMSDN中文网站HTTP/WWWMICROSOFTCOM/CHINA/MSDN任务起止日期2009年2月15日至2009年4月24日摘要个人网站是继EMAIL、BBS、ICQ之后出现的第四种网络交流方式,作为一种新兴的网络媒体与互联网的第四块里程牌,其影响力一定程度上已超越了传统媒体,作为专业领域的知识传播模式,它将成为该领域最具影响力的事物之一本论文系统地介绍了BLOG的现状与发展,NET技术的实际应用以及本次设计的开发计划、步骤、实施策略等,并采用结构化设计方法,应用数据流图(DFD),数据字典、程序流程图、ER关系图等清晰的展示出系统的构成。该设计遵循了软件开发规范的实施文档,从系统分析、系统设计、程序编码、系统测试、系统维护和二次开发计划等几个阶段进行,采用C和SQLSERVER来开发ASPNET程序,并对数据库在影响系统性能方面,做了一定的分析。【关键词】BLOG;网络媒体;开发规范;C;SQLSERVER;NETABSTRACTPERSONALWEBSITEFOLLOWINGEMAIL,BBS,ICQ,ISAFOURTHEXCHANGEWAYSOFNETWORK,ASANEWINTERNETMEDIAANDTHEINTERNETFOURTHPIECEOFMILESTONES,THEIRINFLUENCETOACERTAINEXTENT,HAVEGONEBEYONDTHETRADITIONALMEDIA,ASAPROFESSIONALFIELDOFKNOWLEDGEDISSEMINATIONMODEL,ITWILLBECOMEONEOFTHEMOSTINFLUENTIALFIGURESINTHISAREASTHEPAPERINTRODUCESTHECURRENTSITUATIONANDDEVELOPMENTOFBLOGSYSTEMATICALLYPRACTICALAPPLICATIONSOFNETTECHNOLOGY,ANDTHISDEVELOPMENTPLAN,STEPS,THEIMPLEMENTATIONSTRATEGYMEANTIMETHEUSEOFSTRUCTUREDDESIGNMETHODOLOGY,THEAPPLICATIONOFDATAFLOWCHARTDFD,DATADICTIONARY,PROCESSFLOWCHARTS,ERRELATIONSETCCONSTITUTESACLEARDISPLAYFORSYSTEMTHEDESIGNFOLLOWEDTHENORMSOFSOFTWAREDEVELOPMENTFILES,DESIGNEDFROMSYSTEMSANALYSIS,SYSTEMDESIGN,CODINGPROCEDURES,SYSTEMTESTING,SYSTEMMAINTENANCEANDTHESECONDDEVELOPMENTPLANS,CANDSQLSERVERAREUSEDTODEVELOPASPNETPROCEDURES,ANDALSOHASDONESOMEANALYSISTODATABASEFORFUNCTIONSINTHEAFFECTEDSYSTEM【KEDWORDS】BLOG;NETWORKMEDIA;DEVELOPMENTNORMS;C;SQLSERVER;NET目录第1章绪论111个人网站系统开发背景1111软件技术2112电子商务技术512个人网站系统开发意义613个人网站系统开发目标613开发平台、运行环境、测试实施7第2章需求分析921网页基本构成元素922系统构成9221系统组成及功能9222系统实现方案1523ER关系1624数据存储1825逻辑分析18251数据流图18252数据字典20253系统边界2126系统实现的关键技术21第3章概要设计2331设计原理2332接口设计2433数据库设计25331设计思路与步骤25332分析报告2634界面设计2835系统流程图29第5章运行结果及调试分析3351主要运行效果3352调试分析38结束语41致谢43参考文献45第1章绪论11个人网站系统开发背景在计算机技术飞速发展的今天,人们的行为和工作越来越离不开信息网络的支持。INTERNET是目前世界上最大的计算机互联网络,它遍布全球,将世界各地各种规模的网络连接成一个整体。随着互联网技术的日趋成熟,各种信息化实体不断应运而生并得到了快速发展,从单一的模式到现在复杂的服务端、客户端的交互,不得不令人惊叹和喜悦人们在充分享受互联网带来的各种便利时,一种新型的网络实体也日渐地出现在人们的视野,那就是当前网络界较为流行的实体之一博客BLOG,当然这绝不仅仅是一种单向的发布系统,它有着极其出色的交流功能,在以往的几种网络交流方式中,BBS过于公共化,而EMAIL和即时通信工具IM则有很明显的私人性质,BLOG的出现则将公共性和私人性很好地结合起来。它代表着一个新型媒体时代的到来,而且作为专业领域的知识传播模式,它有可能成为该领域最具影响力的“人物”之一;另一方面,它也将推动各种“精神共同体”的形成,打破传统媒体和传统交往时间和空间上的限制、社会精英独霸话语权的局面,且极大地增加个人的社会资本,博客作为一种快捷方便的信息交换方式,将和那些不久还会出现的更多的有效的技术手段一起,成为构建新社会的强劲动力。因此,基于BLOG的多种优势和未来的发展趋势,所以有必要设计这样的一个BLOG系统。虽然目前国内众多BLOG系统已经诞生,并得到充分的发展,大到多用户、功能强大、复杂性的系统,小到网络日记本形式的“BLOG”,通过对该系统的开发,以此加深对BLOG的认识、研究简单BLOG系统开发途径和应用方法,并为以后设计复杂BLOG系统打下坚实的基础。本次设计所开发的BLOG系统是以VS2003SQLSEVER2000为编程环境,以NET框架中的CNET来实现其制作和开发过程IE60。在目前多数的BLOG系统中,NET原型的系统并不是很多,而多以ASP等为主流,这在很大程度上使个人的设计减少了一定的参考性,此外虽然NET的发展时间并不是很久,但NET的发展趋势也是显而易见的,当然这就要谈到NET的优势所在,这里不在追述。通过对BLOG系统进行可行性分析、需求分析和设计逐步将一个BLOG系统的开发过程呈现出来,当然也没有刻意追求专业性和商品化软件的华丽包装,而是本着简单、实用、性能优化的原则。无论是专业的,还是业余的,很多人对网页制作颇感兴趣,事实上制作一个简单的网页并不困难,会使用WORD的人都可以胜任。但想做出超凡脱俗的网页就不那么容易了,而DREAMWEAVER也可以满足你的愿望,它是MACROMEDIA公司开发的集网页制作和网站管理与一身的所见即所得的网页编辑器。同样出自MACROMEDIA公司的FLASH,FIREWORKS在制作网站的过程中起到了锦上添花的作用,是个人网站实现的好帮手,在制作网站的时候经常会用到这些软件。特别是数据库技术在INTERNET中的广泛应用,WEB站点向用户提供的服务将越来越丰富,越来越人性化。111软件技术1NET何谓NET它是MICROSOFT面向XMLWEB服务的平台。MICROSOFTNET计算模型以不同方式影响企业、个人和开发人员。对于个人这些变化将产生极其个性化的、集成的计算体验。对于企业和开发人员它将改变企业和开发人员生成软件和销售产品的方式,使IT成为企业成功的重要因素并引入新的业务模式。MICROSOFTNET产品是为了将现有成果轻松地集成到新的NETXMLWEBSERVICES和NET体验中而专门设计的。例如,MICROSOFTHOSTINTEGRATIONSERVER简化对大型机的访问;MICROSOFTBIZTALKSERVER管理业务流程的编排,包括对现有的系统和数据格式的处理,同时进行到XML的必需的自动化数据转换。因此,这一下一代分布式计算技术建立在当前这一代计算技术的基础之上。正如我们所知道的,MICROSOFTNET并不是软件应用程序的整批替换,而是将协作和互操作性的好处带给我们现有的技术“孤岛”的自然演变。2网页三剑客图11网页三剑客网页三剑客,顾名思义,是一套强大的网页编辑工具,最初是由MACROMEDIA公司开发出来的。由DREAMWEAVER,FIREWORKS,FLASH三个软件组成,俗称三剑客1DREAMWEAVERDREAMWEAVER是MACROMEDIA公司开发的集网页制作和管理网站于一身的所见即所得网页编辑器,它是一套针对专业网页设计师特别发展的视觉化网页开发工具,利用它可以轻而易举地制作出跨越平台限制和块余额浏览器限制的充满动感的网页。2FIREWORKSADOBEFIREWORKSCS4是ADOBE推出的一款网页作图软件,软件可以加速WEB设计与开发,是一款创建与优化WEB图像和快速构建网站与WEB界面原型的理想工具。FIREWORKSCS4不仅具备编辑矢量图形与位图图像的灵活性,还提供了一个预先构建资源的公用库,并可与ADOBEPHOTOSHOPCS4、ADOBEILLUSTRATORCS4、ADOBEDREAMWEAVERCS4和ADOBEFLASHCS4软件省时集成。在FIREWORKS中将设计迅速转变为模型,或利用来自ILLUSTRATOR、PHOTOSHOP和FLASH的其它资源。然后直接置入DREAMWEAVERCS4中轻松地进行开发与部署。3FLASHFLASH也是由MACROMEDIA公司推出的交互式矢量图和WEB动画的标准,由ADOBE公司收购。网页设计者使用FLASH创作出既漂亮又可改变尺寸的导航界面以及其他奇特的效果。3PHOTOSHOPPHOTOSHOP是ADOBE公司旗下最为出名的图像处理软件之一,集图像扫描、编辑修改、图像制作、广告创意,图像输入与输出于一体的图形图像处理软件,深受广大平面设计人员和电脑美术爱好者的喜爱。112电子商务技术电子商务是INTERNET爆炸式发展的直接产物,是网络技术应用的全新发展方向。INTERNET本身所具有的开放性、全球性、低成本、高效率特点,也成了电子商务的内在特征,并使得电子商务大大超越了作为一种新的贸易形式所具有的价值,它不仅会改变企业本书的生产、经营、管理活动,而且将影响到整个社会的经济运行与结构。1经营根据个人网站的资源状况和所处的市场环境,以纯营利为目的的网站,如淘宝,阿里巴巴等2娱乐根据个人网站的资源状况和所处的市场环境,以娱乐为目的的网站,如BLOG,QQ空间等3经营和娱乐两者兼容个人网站的资源状况和所处的市场的环境,兼容娱乐和经营,同时这种电子商务也是目前网站建设与发展的根本趋势12个人网站系统开发意义从BLOG系统的诸多媒体优势可以看出,设计这样一个博客BLOG系统;一方面,能为人们提高写作水平的提供“基地”,为爱好写作的人们提供了一个提高写作水平的好园地,成为大众文字表达的好场所,博客写作比较自由随意,可以不断的更改增新,有利于写作水平的快速提高和思想敏锐性的进一步增强。也能成为行业专业人才的交流场所,为一些各行业的专业技术人员提供一个技术交流平台,诸如IT技术、教育技术、管理技术等一些专业性的知识,可以通过博客得到相互学习,取长补短,从而解决疑难之谜。另一方面,使得意见表达也更完整、更系统,无论是对问者还是答者,都十分方便,不像论坛那样大海捞针,博客相对更有秩序一些,此外有利于规范网上言论秩序,在个人博客里,多数人乐于亮明自己的身份。他们一般都会珍惜机会,责任感很强,从容不迫,不急于慌不择言,更重视自己“水平”的体现,因而博客里大大减少了一些人们所谓的垃圾文字,从而有利于维护汉语言文字的纯洁性和规范化,它还能为企业和求职者提供了一个伯乐选千里马的职场,博客为他们各自所需创造了一个高效的网络职场。企业们要找适合自己的人才难度就大减少。而求职者也不用花太多的时间在招聘现场的人群中拥挤了,随着演变,博客的形式会越来越多样性。13个人网站系统开发目标通过利用C进行ASPNET、ADONET的应用程序开发,使用CODEBEHIND方式来实现,使前台界面和后台代码分离,通过利用类的继承、重用,以及函数的公用来尽量精简代码,此外,注意系统以后的就阅读性和可维护性。在开发中,不去一味的使用WEB服务组件,能巧妙的结合其他方式来实现,将不适合或没必要在服务端运行的放至客户端完成,在一定程度上减少服务端资源的损耗。提高系统的整体性能。在功能实现上,完成目前存在的BLOG系统大部分的功能,提供良好的用户界面(方便交互操作),并能在此基础上尽可能的设计出较为新颖和更实用的功能。大致主要实现以下几点便捷后台文件添加、编辑、复制、剪切,包括目录操作、文件大小、日期显示等实现日志的发表、浏览、编辑、删除等实现像册管理实现日志搜索(按标题、内容、评论等)实现站点链接14开发平台、运行环境、测试实施开发平台MICROSOFTNETFRAMEWORK11VISUALSTUDIO2003NET(C)MICROSOFTSQLSERVER2000WINDOWS2000IIS50IE60运行环境WINDOWS2003/2000/XP安装NETFRAMEWORK11或VISUALSTUDIO2003NET安装IIS50以上版本数据库MICROSOFTSQLSERVER2000以上版本适合以上环境本系统可正常运行实现方式B/S模式,本地运行、远程访问皆可如果你在前面已经拥有了本系统的运行平台,如上所要的配置后,则可继续通过以下步骤来运行本系统。第2章需求分析21网页基本构成元素要学会制作网页,首先需要了解网页都是由什么元素构成的。图21网页构成元素文字文本是构成网页的基本元素。一个最简单的网页可以只有几行文本。图片正是有个各种美丽的图片,网页才变得多姿多彩。动画如今,网页上的动画越来越多,最常用的有GIF动画、FLASH动画等。超连接如上所述,超连接几乎是必不可少的。一个没有超连接的网页,就如同汪洋大海中的一座孤岛,失去了与外界的一切联系。其它元素还可以在网页中添加声音、视频等元素。22系统构成221系统组成及功能本系统由以下多个子模块组成用户登录、用户注册、页头和页尾的处理模块(用户控件)、管理员后台管理(包括BLOG配置、分类管理、站点文件在线编辑与管理、会员管理、BLOG表情管理、日志中自动识别的关键字管理、友情链接管理、友情链接验证、用户收藏的URL、服务器的相关信息、骂人词语的管理等)、BLOG编辑模块、友情链接提交与显示模块、BLOG发表模块、RSS订阅模块(1020)、BLOG浏览模块、独立IP访问统计分析模块、验证码实现模块、BLOG评论列表模块、BLOG首页处理模块、注册用户URL收藏模块(提交、显示)、会员信息显示模块单用户、多用户、信息编辑、站点信息搜索模块(GOOGLE站内、系统本身)、文件上传模块、公用导航模块用户控件、公用类模块、全局变量和在线用户的记录、开启站点模块、工具模块等,各模块的详细功能如下所述(1)页面头部处理模块该模块主要实现的是从数据库中读出BLOG分类信息列表分类由管理员在后台设定,统计用户访问信息IP、时间、来源URL、浏览器、操作系统、屏幕宽度、语言、COOKIE、入口地址,搜索关键字等,同时获得全局使用的总访问人数,当然这些操作也可以在GLOBAL里来完成,效果是一样的,因为我的每个页面都包含了页面头部,但是当有不包含页面头部时将不会统计分析,只需要把相关实现写到GLOBAL里即可有时间再看看。在统计访问者的信息时,实现了防止刷新的功能,同一个IP,一定时间内将不会重新统计,同时如果支持穿过代理获得IP的话,统计的是真实的IP,而不是代理的IP。(2)页尾处理模块该部分主要解决的是系统的版权信息,页面执行时间的显示等,比较简单。(3)管理员后台管理模块该模块涉及的东西比较多,用于实现对系统数据和相关信息的管理和配置等。具体描述如下BLOG系统的配置主要是完成站点标题的配置,站点URL和首页每页显示的日志数,这些操作不是在数据库里来完成的,也没有这个必要因为取一个数,就要查询数据库,我放到了站点配置文件里WEBCONFIG里,后台采用相关方法,修改该XML类型的文档,从而达到修改站点配置的目的,不过每次使用该选项时,系统将会重新执行。同时也支持修改用户上传文件大小和时间的限制、数据库连接配置等设置,也可配置管理员的邮件地址,以便作为批处理发送系统邮件的帐户。站点文件管理主要实现的是BLOG系统文件的在线管理(增加、删除、修改、移动、重命名等,对目录的操作同样),可查看附件文件信息、上传时间、文件类型等,不同文件显示不同图标,目录也可显示目录占用空间大小,作为管理用户上传的附件来说还是有必要的且比较实用,唯一不足的是,当系统文件较多时,性能会有所影响,便历目录需要时间。当然这个可不是木马_,它的执行需要系统给予一定的权限。友情链接管理主要实现的是对用户提交的链接进行管理,包括链接名称、URL、图片相对路径、绝对路径、是否首页显示,同时链接图片可预览,和上面不同的是,此处操作支持批处理,主要是首页显示,管理员可选中头部的首页显示,从而将下面所有的CHECKBOX选中,再执行批处理设定,当然,可对特定选择的多条记录同样处理,此外增加了省略显示的功能,就是当某条记录的长度过长时,截取了该记录的前面固定长度的串,加”显示出来。同时在增加友情链接的时,可增加其链接名称、URL、图片、排序等信息,当然也严格检查了提交的信息。另一方面与上同,分页、确认删除友情链接验证管理主要实现的是对用户提交的友情链接进行验证,显示需验证链接,是否首页已显示当然默认是不会的,没通过验证的,将不会显示出来;不通过首页显示验证的,将不会在首页显示,在对验证、删除进行处理时,也采用批处理的操作,这和上面有所不同,实现了全部验证、全部删除的操作。服务器的相关信息这是默认显示的,在登陆后台时,主要显示当前服务器的相关信息,如服务器时间、域名、IP、端口、服务器IIS版本、脚本解释引擎、服务器空间占用情况、站点的物理路径、服务器的名称、脚本超时、服务器开机后执行的时间、服务器CPU的数量、CPU的类型、服务器操作系统、NETFRAMEWORK版本、USER_AGENT信息、常用组件支持情况、自定义组件查询、1000万次循环检测执行时间等,能给管理员对服务器的一些情况有一点了解。4BLOG日志发表模块该模块主要完成了BLOG日志提交的功能,也是BLOG系统中比较重要的一个环节了,同时该部分处理的也比较复杂,在这里我采用了两种模式UBB、HTML在线进行编辑、提交,用户可根据自己的需要进行选择互换使用,并查看帮助信息,当然这样做并不是多余的,因为我发现有的时候纯粹的使用单一的模式有一定的不方便。在这两种模式下,都可以插入表情图片、识别关键字、识别超级链接、禁止UBB代码、禁止表情、禁止图片等操作,在UBB编辑器方面,完成了以下的功能支持加粗字体、斜体字、下划线字体、删除线字体、上标字、下标字、居中显示、飞行文字、滚动文字、闪光文字、阴影文字、超级链接、EMAIL、图片、FLASH、SHOCKWAVE、REALPLAYER媒体、WINDOWSMEDIA媒体、QUICKTIME媒体、WINMAP媒体、代码片段、引用、项目符号、水平线、文件下载、网页框架、字体、字体大小、字体颜色、段落样式等。5BLOG评论列表显示模块该模块主要完成用户评论信息的汇总,包括个人评论的汇总、所有用户评论的汇总以及用户搜索评论的汇总三个子部分,显示了评论的作者、评论的日期、评论的内容、是否为隐藏的日志是则隐藏评论、同时管理员可删除评论、查看IP信息。考虑到多条评论记录时,采用了分页存储过程来完成分页,并写了简单的分页算法代码有一定的规律性,并支持自定义页面跳转。在分页处理时,作为URL参数来传递,同时也对评论内容进行UBB或HTML转换,对评论的表情、关键字、超级链接、禁止图片和UBB等进行了同上的处理。6首页处理模块由于该页面由三部分组成,页头、页尾、左边导航、主要显示日志。这里主要完成的是显示系统的所有日志,每页日志的条数由管理员在CONFIG里定义,对于日志的分页显示也同样采用存储过程方式进行,并支持自定义跳转,采用视图查询,增强了系统的安全性。显示时,显示日志作者、标题、天气、发表日期、来源、日志摘要、所属分类、评论总数、引用数、查看次数,以及是否置顶,是否为隐藏日志,实际上这个处理相对比较简单,因为多由用户控件组成,在这些控件里已完成了部分的内容。7友情链接提交与显示模块该模块实现的是友情链接的提交、当前友情链接显示等,包括图片链接、文字链接,图片限制以8833象素为准,防止影响界面,至于显示出来,这个比较简单,图片和文字的DATALIST进行数据绑定就可以了,当有用户提交友情链接申请时,将对提交信息进行检查,提交成功后,将提示等待管理员验证才可以显示首页或本页。其他部分调用页头、页尾、公用导航控件。8作品展示模块该部分主要完成在用户发表日志、发表评论时对上传附件包括图片、UBB的中的所有视频、文件等的处理,当然上传附件是需要管理员以上的权限的,这在该页面也通过SESSION来检测的,当然采用SESSION并不是不安全,SESSION的数据是从加密的COOKIE读到的,所以不用担心不安全。当用户没有该权限时,将会给出提示,当文件上传成功时,将给出提示,并显示给文件的类型如IMAGE/JPEG、大小、上传的目录,此外对上传文件大小的限制,我设置为2M(对于检测文件大小,我想是不能放到服务端进行的,如果文件太大的话,所以在客户端进行检测,采用了JS,FSO判断不是好使,暂时没完善),超时时间为120S。当选择上传文件为空时,也将给出提示,如果文件不为空且大小符合要求,将会检查文件类型是否合法,同通过定义一串数组,存放不可上传的文件类型,比如HTML、ASP、ASA、CGI、HTA、EXE、VBS、DLL等,上传此类型的将提示非法,如果是合法文件,将会上传到系统目录下的UPLOAD里,不存在将自动创建该目录,同时创建年月日格式的文件夹,不存在将自动创建,存放当前文件,同时文件将重新命名为“时分秒”的格式,然后开始上传,上传成功后,将根据文件类型,增加代码到评论或发表日志的文本框,比如是FLASH文件,则自动添加UBB相同的代码,当然还有图片、其他媒体等类似处理,如果上传的文件类型不能用UBB来显示,则直接设定为普通文件,供下载(添加到父框架),用户点返回后将可再次上传,此外对于多文件上传,也很容易实现,可以动态的根据用户选择上传几个文件而增加上传浏览框,加入到上传集合中即可,上传路径从配置文件里读取。222系统实现方案首先,根据系统功能的详细分析,在配置好开发平台、运行环境后,我先从系统的后台开始设计,因为前台数据的显示或管理都需要后台的支持,所以在后台的第一个模块服务器基本信息开始,直至顺序完成整个后台部分(系统设置、分类管理、会员管理、链接管理验证、书签管理、表情、关键字、骂人词语屏蔽管理、文件管理等)。然后在后台支持的基础上,对前台进行顺序开发,日志发表、编辑、日志浏览(评论、分页、注册、内容过滤)、评论搜索、会员信息(整体、个人、编辑)、再到首页总体显示的实现。逐个模块的完成、完善、性能思考等。大多数情况下,不仅仅单一的依靠VS来编写,也是要考虑到手工编写,因此我觉得这样做是最好的解决方案,尤其是对性能的影响,当然在实现方法上,某些地方可能做得不是很好,有待于以后改进23ER关系(1)总体简化ER关系图注以下图为MICROSOFTVISIO2003设计完成并导出为JPG图片PHOTOSHOP压缩。图22总体简化ER关系图(2)作品管理ER关系图23作品管理简化ER关系图(3)友情链接简化ER关系图24友情链接简化ER关系图24数据存储本系统选择SQLSERVER做后台数据库,而没有选择ACCESS来开发,原因主要有以下几点ACCESS是面向小型的,而SQL是面向大型的应用。由于在容量方面,ACCESS有极限,所以到了一定极限之后,很容易造成服务器IIS假死或者吃光机器内存,而SQL则可以完全修复这些问题,而且相对而言SQL的数据备份也比较方便,功能强大很多。在速度性能方面前者也比后者逊色许多,如果稍做测试,比如10000条记录,会发现SQL可能比ACCESS快1020倍。另外,做单层系统可用ACCESS,而做两层或多层则用SQL。而且在安全性能上讲,SQL也还是比较好些,它有针对不同访问用户的权限设置。当然,具体的DBMS各有各自己的特性和优点。例如跨平台性能、安全性等。所以适用的行业和范围就有所不同,就比如电信行业来说,一般只会用ORCALE,DB2之类的大型关系型数据库而中小型企业用MS的SQLSEVER多一些。所以考虑到系统在以后实际使用中的问题,不能使用ACCESS数据库,而选择SQLSERVER来存储、处理数据很有必要。在使用SQLSERVER时,针对其特点灵活应用过程、语句等。如果转化为SQLSERVER也并不是很费时,只是涉及如区别函数、对应字段时要修改,如ACCESS的NOW与SQL的GETDATE。25逻辑分析251数据流图用户级简化数据流图(1)顶层图25用户级数据流图顶层(2)0层图26用户级数据流图0层(3)1层图27用户级数据流图1层252数据字典(1)数据流词条描述(2)数据元素词条描述(3)数据文件词条描述(4)加工逻辑词条描述(5)源点及汇终点词条描述具体的描述略,数据项、数据流、数据文件、数据元素、加工逻辑等描述和上面流图的设计相对应,比较简单。253系统边界该系统边界没有向UML用例图中的样式表示,下面简要的阐述一下。由于“系统”具有相对性,不同边界的系统其组成不同,目标不同。要求实现的功能也不同。因此,在描述系统时,首先要定义系统边界。让其反映系统在职能、功能方面的边界,系统的可行性研究、总体设计、详细设计、开发和运行均是在这些边界内进行。(1)系统的职能边界系统的职能边界定义为超级管理员管理范围内的主要功能。(2)系统的功能边界系统在功能上覆盖日志发表、编码标准、系统异常处理、XML处理RSS、外部引用、性能优化等,为不同的用户提供所需的信息与管理,并通过系统实现文档存储检索、信息共享。26系统实现的关键技术(1)正则表达式用户匹配或替换文本内容,如UBB、注册验证、特定参数检查多处用(2)存储过程几乎在每个模块都使用了该方式,当然有的地方使用存储过程是不佳的,不过在这些地方我直接用了SQL语句,这里设计的存储过程有复杂的也有简单的,简单查询、更新、插入,还有通过计算、判断、多重语句、分页(3)XML主要是操作与读取WEBCONFIG文件和做RSS订阅方面用到一点(4)文件处理后台文件的编辑、处理以及文件信息的查看,服务端空间占用、文件上传等都有用到(5)简单算法与面向对象应用比较零散(6)WEBFORMASPNETADONET技术,主要是综合的应用(7)数据绑定在操作DATAGRID等控件时,需要反复的绑定,比如删除、编辑、分页后要重新的绑定,DATALIST、DOWNLIST同样应用(8)控件、组件DATAGRID、DATALIST、用户控件(9)编码安全COOKIE实现与加密、参数过滤、密码加密(10)统计分析简单的数据分析(11)图形图象验证码的生成和其他动态加载的处理、统计分析(12)SQL编码与脚本各地方实现方式、条件不同,在系统SQL脚本和代码皆有(13)HTML、CSS、JAVASCRIPT、DREAMWEAVER、PHOTOSHOP(14)分页技术包括控件的分页自定义分页算法、存储过程分页第3章系统设计31设计原理根据以上详细的需求分析,可以确立系统核心是对前后台主要部分的分析与概括,而这些概括和分析内容中,对信息是如何表示出来的,以何种形式表现,通过界面形式、数据形式等,下面将对其作简要的阐述。系统前台的主要部分在于日志发表、日志浏览、以及日志编辑等处理,用什么样的方式去实现,如何实现设计前这样的考虑是很有必要,对于其后的设计思路也是至关重要的。首先考虑的是页面的布局处理,这里的主要任务是将WEB页面合理分割成用于安排文字,图像等各种屏幕元素的区间,当然设计时也是尽可能的做到结构清晰,易于用户操作等特性。其次要考虑的是链接结构,是树状链接结构,还是星状链接结构,是单独的页面实现,还是综合的结构处理也是必需所考虑的,比如简单的登录页,退出部分放到哪里实现不是在每个页面都处理一下,而是同一页面不同请求,达到公用的效果。其次考虑的是系统的目录,用户控件和正常页面不是要都放在一起,而是分类型的存放到指定的目录下,根据不同的需要,调用不同的控件或其他属性。在考虑以上的几个部分后,主要考虑的是系统功能的实现,同样一个要求,一个分析,用什么样的方式来完成,什么样的方式最好,以及考虑到以后系统的发展与性能影响等,也是设计过程中必要考虑的,反之在以后的设计中,会对之前的设计,倍感不足,而苦于设计失败,没处理好。在考虑系统功能的基础上,就会要考虑其系统局部设计的逻辑结构,根据简要的思考,确立最佳的解决方案,对于其后的编码工作,也都是较为简单的事情了。总之,思想决定实施,思想决定规划。系统后台也可采用和上面简述同样的处理方式,这里不再赘述32接口设计(1)用户接口不同的界面和功能,系统都会有良好的界面提示信息,诸如置顶展开、日历浏览等,以及交互的链接结构。针对URLREWRITE的实现,可以由用户自己编辑正则表达式,自定义重写操作。在系统目录下的REWRITECONFIG里。重写后用户可根据设定的重写规则,进行访问、操作、管理等。在提供的系统操作上,用户可以根据提示信息来管理(发表、删除、查看信息、浏览)。另一方面,对不同区域的用户提供服务,没采用不同文化处理,所以没法决定用户喜欢的语言以及使用该语言提交WEB页面,这个在二次开发的时候,将会完善。(2)外部接口(命令接口、图形接口)支持RSS订阅、外部引用同步添加和处理,以及友情链接的串联访问。在后台文件管理处,不仅仅是管理BLOG文件、附件,站点文件同样可以管理,日志访问统计分析也是如此,可对整个站点访问信息进行简单的分析。只需添加系统函数即可。另外本系统不允许跨站提交信息和注册等。(3)内部接口系统各部分都是有机结合的,而不是孤立存在的,连接关联、函数关联、模块关联、公用关联等等。在存储过程实现中,通过数据库接口联系诸多模块与元素。并采用用户控件来作为各元素间的接口操作。同样的功能部分,采用不同的实现方法、设计思路,接口稍有不同。33数据库设计331设计思路与步骤根据需求分析创建需要的数据表、数据字段,一开始我是通过编写SQL语句来完成的,后来工作量比较大,就直接用通过视图模式来建立表、字段,当然在某些方面还是要写脚本的,比如SQLSERER里的自增字段等。对于主键、外键的操作,也是通过视图编辑的。当然由于设计时功能的变动或是其他因素的影响,我需要不断的修改数据表。在此过程中,我将前面生成的SQL脚本,直接修改完成,而没有再用视图编辑。生成SQL脚本,包括删除数据库、创建数据库W_BLOG、创建帐户WEBWALKER、删除表、创建表分类列表、评论列表、日志内容列表、访问统计分析列表、用户URL收藏列表、BLOG信息列表、识别关键字的列表、友情链接的列表、BLOG用户的列表、表情管理的列表、骂人词语列表等、添加主键各列表,具体实现请参见SQL脚本。编写存储过程用户注册、站点信息配置、BLOG分类编辑、分类添加、管理员修改用户信息、用户修改自己的信息、表情编辑、表情插入、申请友情链接、管理员更新链接信息、关键字编辑、关键字增加、用户增加自己的URL收藏、发表日志、装载骂人词语、用户自身最新发表的日志ID、发表日志评论、评论时用户的注册、查询是否存在日志ID、删除评论、删除日志同时删除评论、编辑日志时初始内容装入、更新日志内容、统计访问者的信息、查询日志分类信息、更新访问总量、计算今日昨日本月今年和开始统计日期、计算并获得已统计天数、获取更新后的BLOG信息、删除访问记录的数据并更新统计数据、查询所有评论、通用分页处理函数等,补充SQL脚本,建立删除存储过程。初始化数据填入,BLOG信息、管理员、关键字、骂人词语、分类、内容等。在使用系统时,只需要运行SQL脚本即可,当然也可以对原有库还原操作。332分析报告1管理员表图31管理员表2日志信息表图32日志信息表3像册信息表图33像册信息表4作品信息表图34作品信息表5留言信息表图35留言信息表6友情链接信息表图36友情链接信息表34界面设计首先是准备图片和其他素材资源,设计系统需要的简单图片,当然由于时间的原因,我没花太多的时间去做这个,主要是弄了下CSS,包括定义服务端的一些元件属性IMAGE,ASP标签是我想在做设计时直接预览所用的,之后可以删除这个对编码的前期工作开发效率影响很大,个人的感觉,还有就是我先用VS建立框架,然后用DREAMWEAVER来进行页面布局,只是做总体的布局,不是反复的切换使用,因为VS里设计表格甚是麻烦,FLOWLAYOUT的模式几乎没有一点用处,听说好像MS将取消它。当然FLASH、图片动画处理和简单设计等我还是比较擅长的,所以在进行界面设计时,还算顺手这里我要说明一下,界面设计的同时,我也部分参考了其他网站的设计风格,在此表示感谢。本系统的界面设计主要完成的地方如下CSS定义,在系统STYLES/DEFAULTCSS文件,包括BODY部分、表格、文本框、链接、其他自定义显示的标题、内容等等。日历的绘制导航图片的设计与处理部分控件的显示风格诸多交互的界面提示信息相关的快捷键支持、新窗口的访问形式等整体页面的布局,显示方式等主要采用的工具有PHOTOSHOP、DREAMWEAVER等35系统流程图注以下图为MICROSOFTVISIO2003设计完成并导出为JPG图片PHOTOSHOP压缩一、系统总体构架图数据层设计数据服务配置系统信息应用层用户接口层图37系统总体构架图二、模块流程以下为各模块流程的简要表示,严格检查与细节没有涉及,请参见源码、ASPX页面内的组成部分(1)日志发表流程图图38日志发表流程图(2)用户登录流程图图39用户登录流程图(3)友情链接流程图图310友情链接流程图(4)文件上传流程图图311文件上传流程图(5)404错误处理流程图图312404错误处理流程图第5章运行结果及调试分析51主要运行效果(1)首页图51首页浏览界面(2)日志浏览界面图52日志浏览界面(3)相册查看界面图53相册查看界面(4)作品展示界面图54作品展示界面(5)访问者留言界面图55访问者留言界面(6)后台登陆界面图56后台登陆界面(7)登陆后主界面图57登陆后主界面(8)添加日志界面图58添加日志界面(9)添加作品界面图59添加作品界面(10)添加相册界面图510添加相册界面(11)修改密码界面图511修改密码界面52调试分析(1)系统测试从单一模块到系统的完整实现过程中,都遇到了诸多的错误、未预期结果,此种情况下,对系统的测试是不可避免的,其间换位思考、重新分析、结合调试工具等是我常做的事情,在设计中,几乎每一个稍复杂的实现我都会思考许久,分析测试的错误和解决方法,当然这些都是内部的黑盒测试,包括判定条件覆盖方式,融合在设计过程中。在系统初步完成时,由于考虑到系统的健壮与移植,所以尽可能的做了各种可能出现情况(基本路径测试)的测试,包括重新建库、配置环境、测试过程等。当然,以上的测试离不开系统的DEBUG功能在测试解决前。(2)遇到和解决的问题由于用NET时间不长,设计的逻辑性并不是很好,在应用面向对象知识的同时缺乏一定的灵活性真是感到惭愧,而且在有些地方,原来很简单的我却苦思冥想,熟不知一大段的代码,不如系统的一个函数_,用NET来做可以说是现学现卖,很多基础的理论东西我还没有搞清楚。下面是我设计时遇到的部分问题描述A、在前台写HTML或其他标签出错时,提示代码重排,每每在这个时候都比较郁闷,后台类文件里的,所有INITIALIZECOMPONENT的CLICK事件丢失,将不复存在,这个问题尤为严重,尤其是在程序发布时出现这个问题。幸好我之前备份过。B、在设计时还遇到无法找到脚本库的问题,后来重新在NET命令符下运行了一下,“ASPNET_REGIIS_C”,修复此问题。C、对于验证控件比较范围时,没注意到属性STRING、INTEGER,所以比较QQ号码范围总是没达到预期的效果,后来才发现,设置为INTEGER。D、一个页面只能有一个FORMRUNATSERVER的,只能有一个CODEBEHIND。E、ASP里的“”表示集合,NET集合用“”,REQUESTQUERYSTRING“”。F、利用系统的调试功能,非常有利于程序开发,查错、除错,跟踪分析等。G、在有验证控件时,服务端控件都能激发同样事件,所以有时候必须用不同类型控件,REDIRECT不行,刷新验证码不行。H、一开始还考虑用框架页来实现公用部分,后来尝试,查看IIS连接数很多,性能极为不佳。I、拖动控件到页面时,边框很大,无法更改不影响显示,但影响编写时的效果,别扭,后来定义了ASP的CSS标签,解决之。J、数据库中的NTEXT字段存储,由于我在存储过程中设定了固定的长度,所以存到库里的只有固定长度的串,后来发现后,取消了长度定义,另外NTEXT的固定长度是无法修改的。当然,遇到的问题远不止这些,这里就不一一表述了。总体来说,系统的总体设计思想可能较为复杂,可能会有更好的方法,但由于是刚学习NET,且设计也需要多方面知识的综合,所以本次设计中有很多的不足,不过在设计的过程中遇到问题、解决问题,让我学到了很多书本上学不到的知识,同时在不同地方,同样的内容,我多次使用了不同的方法来实现,目的也是为了学习在实现方式上,依自己的设计风格和习惯,还有很多不足某些地方的设计,我觉得不是很满意,比如用AJAX等知识实现在某些方面可能比较容易等,当然,如果在条件允许的情况下,我将会放到网上,让别人测试使用,收集BUG,首先感谢老师的给我的指导,不足之处,不足的地方希望老师一定指正谢谢。结束语为期几个月的毕业设计即将结束,然而这短短几个月的时间,却给我留下了极为深刻的印象,让我在生活、学习等方面养成了良好的习惯与培养了较好的学习方法,也让自己在实际设计中分析问题、解决问题时养成了一种良好的思维习惯,也为自己走上工作岗位打下了坚实的基础,因为我真正的投入了精力、投入了大量的时间。本次毕业设计给了我充足的时间来真正的投入到自己想做的事情上去,尤其是想利用这个机会好好的学习研究一下NET技术,现在想想,真的为学校能在这个时刻安排本次毕业设计而感到欣喜,所以我非常重视这次学习锻炼的机会,所以我每时每刻都在不停的学习、交流、设计、总结,同时也非常感谢谢老师的精心指导以下是我在本次毕业设计中的总结及心得体会NET技术发展的时间并不是很长,但就目前而言,它的使用还是比较流行的。在本次毕业设计之前,进行WINDOWS程序设计,很多情况下我多采用的是C,设计WEB程序也多用ASP,所以这次全新的NET程序设计对我来说是也一个学习性的过程,也让我感觉到它对于一个初学

温馨提示

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

评论

0/150

提交评论