个人博客 毕业设计论文-2011617

上传人:xins****2008 文档编号:196054693 上传时间:2023-03-24 格式:DOC 页数:40 大小:1.13MB
收藏 版权申诉 举报 下载
个人博客 毕业设计论文-2011617_第1页
第1页 / 共40页
个人博客 毕业设计论文-2011617_第2页
第2页 / 共40页
个人博客 毕业设计论文-2011617_第3页
第3页 / 共40页
资源描述:

《个人博客 毕业设计论文-2011617》由会员分享,可在线阅读,更多相关《个人博客 毕业设计论文-2011617(40页珍藏版)》请在装配图网上搜索。

1、东北石油大学本科生毕业设计(论文)摘 要越来越多的网络用户希望能够在网络平台上更多地展现自己的个性,更方便地与他人进行互动交流,拥有一个自己的独立的空间。随着Web时代的到来,一个新的概念出现了博客。本次毕业设计所开发的博客系统包括两大功能:为前台用户提供的浏览功能和为博主提供的管理功能。浏览功能是指前台用户可以根据分类和日期信息检索日志,已经注册的用户还可以对日志进行评论;而博主拥有对博客网站的后台管理功能,主要包括发表日志、修改日志、删除日志,管理日志分类,管理评论,密码管理、用户管理等功能。本网站基于B/S模式,采用完全面向对象的思想设计。在Visual Studio 2005集成开发环

2、境下结合C语言和ASP.NET技术开发,后台数据库使用SQL Server 2000。关键字:博客;ASP.NET;SQL Server 2000;Visual Studio 2005AbstractMore and more network users hope to show their characteristics on web platforms and interact with other people more conveniently and have an independent space. From the beginning of Web, a new concept

3、 of blog emerged.The blog system completed during the graduation design consists of two function modules: information browsing provided for the users of onstage, and information management function for bloggers. The information browsing function refers to the searching function according to category

4、 and date of articles, registered users can comment on articles. To bloggers have the management function on the blog website background, mainly including publishing articles, articles management, articles classification management, reviews management, password management, user management etc.This w

5、ebsite system is based on the model of B/S. It is developed in the environment of Visual Studio 2005 with the technology of ASP.NET and C# programming language, using object-oriented ideas, the database of background is SQL Server 2000.Key words:Blog; ASP.NET; SQL Server 2000; Visual Studio 2005目 录第

6、1章 概 述11.1 系统开发的背景11.2 课题研究的意义及设计目标2第2章 博客系统开发相关技术42.1 ASP.NET介绍42.2 数据库的介绍42.3 三层结构.52.4 IIS简介6第3章 博客系统需求分析83.1 系统的可行性研究83.2 系统需求分析93.3 总体流程分析103.4 系统详细流程分析10第4章 博客系统总体设计124.1 数据库设计124.2 功能模块设计16第5章 博客系统详细设计195.1 开发环境部署195.2连接数据库205.3 页面样式设计与实现215.4 系统前台功能详细设计225.5系统后台功能详细设计265.6数据分页29第6章 系统测试316.1

7、测试方法326.2测试过程32结 论34参考文献35致 谢36II第1章 概 述1.1 系统开发的背景“博客”(Blog或Weblog)一词源于“Web Log(网络日志)”的缩写,是一种十分简易的傻瓜化个人信息发布方式。任何人都可以像使用免费电子邮件一样,完成个人网页的创建、发布和更新。博客就是开放的私人空间,可以充分利用超文本链接、网络互动、动态更新等特点,在网络中,精选并链接全球互联网中最有价值的信息、知识与资源;也可以将个人工作过程、生活故事、思想历程、闪现的灵感等及时记录和发布,发挥个人无限的表达力;更可以以文会友,结识和汇聚朋友,进行深度交流沟通1。“博客”当然是个大家都熟悉的名词

8、,博客的英文名词就是“Blog或Weblog”(指人时对应于Blogger),是一个典型的网络事物。该词来源于“Web Log(网络日志)”的缩写,特指一种特别的网络个人出版形式,内容按照时间顺序排列,并且不断更新。博客是一种零编辑、零技术、零成本、零形式的网上个人出版方式。博客概念一般包含了三个要素(当然,也不需要局限这些定义):1.网页主体内容由不断更新的、个性化的众多日志组成;2.按时间顺序排列,而且是倒序方式,也就是最新的放在最上面,最旧的放在最下面;3.内容可以是各种主题、各种外观布局和各种写作风格,但是文章内容以“超链接”作为重要的表达方式。因此,博客是个人性和公共性的结合体,其精

9、髓不是主要表达个人思想,不是主要记录个人日常经历;而是以个人的视角,以整个互联网为视野,精选和记录自己在互联网上看到的精彩内容,为他人提供帮助,使其具有更高的共享价值。博客精神的核心并不是自娱自乐,甚至不是个人表达自由,相反,是体现一种利他的共享精神,为他人提供帮助。个人日记和个人网站主要表现的还是“小我”,而博客表现的是“大我”。也许形式上很接近,但内在有着本质的差异。所有优秀博客网站中,真正表达作者个人的内容非常有限,最多只是点缀,而不像个人网站那样是核心2。博客的精神是:自由表达,开放宽容,个性张扬,专业精神。在没有自己的博客之前,人们会经常进出于论坛发表贴子或者通过即时通信软件聊天,来

10、表达自已的想法,可是这些都是零散的和杂乱的。博客的出现,让人们可以不断的把自己以前的和每天激发的一些想法或者感受整理放在自己的博客上,每次在写文章的时候,可能又会产生新的想法。虽然一些想法一些思考只是皮毛,没有什么深度,但是当下笔去写的时候每次都会对某个小小的问题有了更多的一点点思考,在写博客的时候就感觉到了一种满足感,一种想法得以释放、思考得以延伸的满足感。生活中每天的一个小小的事情都会引起人们的思考,甚至是和朋友的聊天中一个小小的火花迸发。督促自己努力、把一时的想法变成观点,争取在生命中的每天里留下点什么,这也是人们写博客的目的之一。这样就能督促自己每一天不要浑浑噩噩,时光流逝无痕无声无息

11、,写博客也是在自己的每一天上留下了一道浅浅的思考和划痕3。不仅如此,通过写博客、记录自己的想法可以帮助实现如下这些目的:1.记录生活,在自己的每一天上留下思考的划痕。 2.整理思路,固化知识,获得更多更好的想法。 3.分享,将自己的想法、经验与人分享。4.交流、提高,通过交流产生更多的思维火花,相互提高。 5.交友,互相鼓励,一路同行。 如果说博客网站是一个舞台,那么所有的博客都是其中的舞者,把自己有价值的真实的一面展示在网络世界中,相互交流沟通;如果博客仅仅为了写日志,那么博客是一面镜子,镜子中展现的是真实的自己;如果博客是一个自由媒体,可以把自身感觉有价值的信息通过博客这个工具发布,与网友

12、共享。1.2 课题研究的意义及设计目标1.2.1 课题研究的意义随着Blog人数的增加,Blog作为一种生活方式、工作方式和学习方式已经被更多的人所接受,并且在改变传统的网络和社会结构。它使交流和沟通更有明确的选择和方向性;单一的思想和群体的智慧结合变得更加有效;个人出版变成人人都可以实现的梦想。Blog正在影响和改变着我们的生活。博客能让个人在互联网上表达自己的心声,这是一个收集和共享任何感兴趣的事物的地方。许多人使用博客只是要组织自己的想法,而有些人则在全球成千上万的浏览者中赢得影响力。职业和业余新闻记者使用博客发布特发新闻,而有写日记习惯的人则会在博客中宣示自己内心的想法。而摄影和美术发

13、烧者,可以通过博客系统发表管理自己的作品,无论您要发表什么意见,博客都可以帮您表达出来。博客作为一种新表达的方式,它传播的不仅是情绪,而且也包括大量的智慧、意见和思想。某种意义上说,它也是一种新的文化现象,博客的出现和繁荣,真正凸现网络的知识价值,标志着互联网发展开始步入更高的阶段。本系统基于设计实现了一个简单的博客系统。使更多的人们通过文字、图片、声音、视频、无线等,尽情展示自我、分享感受、参与交流,美好你我生活。Show you, share me,人人都可以博客,人人都需要博客。1.2.2 设计目标系统是用实现的一个完全基于浏览器的博客系统,博客系统主要拥有以下几种功能:前台:日志展示:

14、最新日志展示、精华日志展示、日志列表;评论展示:最新评论、所有评论;相册展示:浏览相册、评论相册;留言展示:最新留言、所有留言;用户管理:用户登录、用户注册;查询管理:日志查询。后台:个人信息管理:信息修改、信息添加;日志管理:撰写日志、修改日志、删除日志、日志发布;日志分类管理:添加分类、修改分类、删除分类;相册管理:照片的添加、描述与分类、照片的删除;评论管理:回复评论、删除评论;留言管理:回复留言、删除留言。第2章 博客系统开发相关技术2.1 ASP.NET介绍本系统采用ASP.NET开发技术进行开发。ASP.NET不仅仅是ASP的一个新版本,更是Web应用程序编程方面的一个全新的概念和

15、方法。ASP.NET中的新功能并不是对ASP的改进,设计它的初衷是为用户入境提供最佳的应用程序架构。它相比于ASP有着以下几个方面的优点:1.多语言ASP曾在脚本引擎方面受到了限制,特别是VBScript和Jscript。而ASP.NET则支持多种语言,默认情况下为Visual Basic.NET、C#和Jscript.NET。2.服务器处理ASP在服务器处理上不管页面的内容是纯HTML还是ASP生成的HTML,它都是按照实现,形成所谓3-tier页面顺序显示的。因此逻辑代码依赖于它在页面中的位置,并且无法将HTML控件作为目标,除非将它们作为流入的一部分进行显示。而ASP.NET就解决了这个

16、问题,方法是为控件引入一个声明的基于服务器的模型,因为控件在服务器上有,可以在服务器上编程,也可以是客户端驱动的事件4。3.Web Form控件将现有的HTML控件转换为服务器端的控件是比较容易的,但是也存在一些不方便,例如比较难于区分HTML控件和服务器端的控件。于是Microsoft公司就创建了一组专门的服务器控件,它们都用asp前缀标识。4.代码与内容分离一个网站的设计与开发往往由不同的人来实现的,而ASP中就是存在着这样一个问题,代码(ASP脚本)和内容(HTML)混合在一起。这样就使得同时进行设计和开发变得很困难。而ASP.NET则采用了代码内联和后台编码两种方法实现了代码与内容的分

17、离5。2.2 数据库的介绍 2.2.1 SQL SERVER 2000SQL SERVER 2000是可以在Web上运行的数据库服务产品。它既可适用于桌面系统的单用户数据库,也可适用于企业的网络数据库,甚至适用于专业的Web站点数据库,具有很强的可伸缩性。并且具有很高的可靠性、可用性和可管理性。从经济和开发效率上适合中小型网站。它和ASP.NET同属于微软公司开发,在开发接口有一致性,能更好的协调工作。同时,SQL SERVER 2000对数据的安全性也有一定的保障,它对用户的访问进行了两个阶段的检查:一是认证阶段,二是许可确认阶段。数据库使用ADO.NET来处理数据6。2.2.2 ADO.N

18、ETADO.NET是基于.NET框架结构、面向分布式和以XML数据格式为核心的数据访问技术,它提供了一组数据访问服务的类,可用于对Microsoft SQL Server、Oracle等数据源及通过OLEDB和XML公开的数据远源的一致访问。ADO.NET统一了数据容器类编程接口,无论编写何种应用程序(Windows窗体、Web窗体、Web服务)都可以通过同一组类来处理数据。为使用方便,ADO.NET还提供了一组丰富的控件,利用可视化方式来开发数据库应用。ADO.NET体系结构的两大核心控件是.NET Framework数据提供程序和Dataset。.NET Framework数据提供程序用于

19、连接到数据库、执行命令和检索结果。Dataset是一个功能丰富、比较复杂的数据集,它是支持ADO.NET的断开式、分布式数据方案的核心对象。Dataset专门用来处理从数据源获得的数据,无论数据来自什么数据源,它都使用相同的方式操作数据7。2.3 三层结构.2.3.1 三层结构的介绍所谓三层体系结构,是在客户端与数据库之间加入了一个中间层,也叫组件层。这里所说的三层体系,不是指物理上的三层,不是简单地放置三台机器就是三层体系结构,也不仅仅有B/S应用才是三层体系结构,三层是指逻辑上的三层,即使这三个层放置到一台机器上。三层体系的应用程序将业务规则、数据访问、合法性校验等工作放到了中间层进行处理

20、。通常情况下,客户端不直接与数据库进行交互,而是通过COM/DCOM通讯与中间层建立连接,再经由中间层与数据库进行交换8。2.3.2 ASP.NET中的三层结构用三层结构主要是使项目结构更清楚分工更明确,有利于后期的维护和升级。数据访问层:主要是对原始数据(数据库或者文本文件等存放数据的形式)的操作层,而不是指原始数据,也就是说是对数据的操作,具体为业务逻辑层或表示层提供数据服务。业务逻辑层:主要是针对具体的问题的操作,也可以理解成对数据层的操作,对数据业务逻辑处理,如果说数据层是积木,那逻辑层就是对这些积木的搭建。 表示层:主要表示Web方式,也可以表示成WINFORM方式,Web方式也可以

21、表现成aspx,如果逻辑层相当强大和完善,无论表现层如何定义和更改,逻辑层都能完善地提供服务。2.4 IIS简介IIS(Internet Information Services)是一个World Wide Web server。Gopherserver和FTPserver全部包容在里面。IIS意味着你能发布网页,并且有ASP,JAVA,VBscript产生页面,有着一些扩展功能。IIS 支持一些有趣的东西,有编辑环境的页面,有全面检索功能,有多媒体功能。其次,IIS是随Windows NT Server4.0一起提供的文件和应用程序服务器,是在Windows NT Server上建立Inte

22、rnet 服务器的基本组件。它与Windows NT Server完全集成,允许使用Windows NT Serve内置的安全性以及NTFS文件系统建立强大灵活的Internet/Intranet站点。2.4.1 IIS的安装IIS可以在Windows NT 安装时安装,也可以安装完WindowsNT后用“控制面板”中的“添加/删除程序”安装,安装路径为下载的软件包的路径。安装过程中要求添加相应的ODBC 驱动程序9。2.4.2 IIS的管理IIS通过ISM进行管理,ISM有两个版本,一个以普通应用程序的方式运行,一个在Web浏览器中运行,二者的差别在于后者不能启动和停止Internet服务。

23、ISM管理界面:在“查看”菜单中选择“查看报告”、“服务器查看”、“服务查看”可以得到三种视图:报告视图:按字母顺序依次显示所选择的计算机及其上安装的服务。通过该视图可以:连到服务器并显示属性对话框:启动、停止或暂停服务;可以选择显示哪些服务。服务器视图:显示网络上运行Internet 服务的计算机名。打开该计算机可以看到正在运行的Internet 服务。双击服务器名可以显示其属性对话框。服务视图:列出所有的Internet服务。打开服务可以看到哪些计算机运行该服务。双击服务下的计算机名。可以打开该计算机上的服务属性对话框。2.4.3 IIS 安全性IIS 的安全性核心依赖于Windows N

24、T Server内置的安全性,IIS自身也内置了安全性。包括加密、验证以及扩展IIS扩展等。1.Windows NT Server 安全性:Windows NT 提供用户账户安全性,NTFS 安全性。用户安全性:Windows NT要求用户提供有效的账号以及口令才能访问Windows NT。IIS安装时创建Internet Guest账户,缺省情况下,所有 IIS 用户都使用这个账户登录到服务器,这个账户只允许本地登录,没有其他权限。假如允许远程用户用登录Internet Guest 账户登录就不必给远程用户用户名及口令,WindowsNT 以Internet Guest 账号登录就不必给远程

25、用户用户名及口令,WindowsNT 以Internet Guest账户对待。NTFS文件安全性:NTFS提供安全性,可以控制对数据文件的访问,应当将数据文件放在NTFS分区。NTFS可以精确控制哪些用户和组以什么权限访问文件和目录10。2.IIS的安全性:除了Windows NT 的安全措施外,IIS 本身也有安全控制能力。通过账户名及口令控制访问;可以配置WWW服务器之间提供一个合法的用户名及口令。2.4.4搭建IIS服务器应该注意的问题 1.IIS安全设置之安装系统补丁。对于服务器来说就特别重要,因为安全补丁关乎到系统安全,而微软网站经常发布最新的系统安全补丁,可以用系统自带的windo

26、ws update程序随时更新。2.IIS安全设置之FTP目录的设定。FTP目录没有设置也容易被别人攻击,一般的就是将主目录指定到逻辑盘。为了安全,要对每个目录按不同的用户设置不同的访问权限,然后关闭一些不需要的服务,这样可以对不良人士利用IIS溢出漏洞访问到系统盘作个第一级防护。3.IIS安全设置之端口设置。IIS有默认的端口设置,只要稍有计算机知识的人都会记得这些端口的,要破解的话就十分的方便,所以尽量不要使用21这个默认端口号,并启用日志,以便FTP服务出现异常时检查。第3章 博客系统需求分析3.1系统的可行性研究可行性研究的目的是用最小的代价在尽可能短的时间内确定问题是否能够解决。研究

27、在当前的具体条件下,开发新系统是否具备必要的资源和其他条件。一般情况下从以下几个方面研究系统的可行性11。1.经济可行性经济可行性研究主要进行成本效益分析,经过估算该图书借阅系统开发成本,本单位是可以接受的,并且本系统投入使用以后可以提高管理员的工作效率,方便读者寻找需要借阅的图书信息。因此从提高工作效率而避免各种直接或间接的经济损失角度来看,软件实际能够起到的作用会远远大于投入的开发费用。所以此图书借阅管理信息系统的开发在经济上是可行的。2.技术可行性技术上的可行性分析主要分析技术条件能否顺利完成开发工作,硬、软件能否满足开发者的需要等。软件方面,图书借阅管理信息系统采用Microsoft

28、Visual Studio和SQL Server 2000数据库进行开发。由于SQL Server数据库具有灵活性、安全性和易用性等优点为数据库编程提供了良好的条件。因此,系统的软件开发平台已成熟可行;硬件方面,科技飞速发展的今天,硬件更新的速度越来越快,容量越来越大,可靠性越来越高,价格越来越低,因此,在硬件方面完全可以满足系统开发的需求。即图书借阅管理系统在技术方面是可行的12。3.操作可行性因为开发所采用的工具全是可视化工具,开发出的应用程序均是,面向对象图形化界面,界面简单,操作容易。另外,软件的操作员大多已经会基本的Windows操作,即使不会操作Windows,经过短期的培训也能熟

29、练的使用本软件,所以此图书借阅管理信息系统在操作上也是可行的。4.开发环境的可行性配置稍好的PC机,Windows XP 操作系统,IIS5.0服务器,SQL Server 2000数据库,一套完整的开发工具,从资源上说是容易实现的。综上所述,此系统开发目标已明确,在技术和经济等方面都可行,并且投入少、见效快。因此系统的开发是完全可行的。3.2系统需求分析本系统是将现代化的计算机技术与博客服务技术相结合,因此应该按照博客技术的服务流程设计完成。需要做到以下几点:1.操作简单、界面友好:完全控件式的页面布局,使得写博客的工作更简便;许多选项包括博客类别等只需要点击鼠标就可以完成;另外,跟踪出现的

30、提示信息也让用户随时清楚自己的操作情况。2.即时可见:对博客的处理(包括写入、修改、删除)将立即在主页的对应栏目显示出来,达到“即时发布、即时见效”的功能。 3.功能完善:包括常见网站的博客功能的各个方面:写日志、浏览、删除、修改、检索等各个方面,而且还能进行对注册用户的管理。4.动态管理:对系统数据库实行动态操作,能实现对数据库信息的动态查询、动态更新修改和动态录入数据。博客系统用例图如图3-1所示。管理博客内容退 出发表日志用户登录修改信息查看日志评论日志图3-1 博客系统用例图3.3 总体流程分析数据流图描绘系统的逻辑模型,图中没有任何具体的物理元素,只是描绘信息在系统中流动和处理的情况

31、。因为数据流图是逻辑系统的图形表示,即使不是专业的计算机技术人员也容易理解,所以是极好的通信工具。此外,设计数据流图只需考虑系统必须完成的基本逻辑功能,完全不需要考虑如何具体地实现这些功能,所以它是软件设计很好的出发点。系统的用户主要是博客访问者和博客管理员,下面以博客前台展示系统中的用户根据分类索引为例进行说明。本系统的数据流图如下图3-2所示。博主2.1日志修改2.2日志删除2.3日志搜索4.1发表评论5浏览相册4.2删除评论3.1修改分类 3.2删除分类1.1录入日志1.2录入图片1.3录入音乐1.4录入个人信 息D数据库用户 图3-2 系统数据流图3.4 系统详细流程分析根据博客信息管

32、理系统的特点,将其分为两大模块:前台用户浏览模块和后台用户管理模块。前台用户浏览模块主要用于用户浏览日志信息;后台用户管理模块主要用于博客主人对博客网站的管理,如日志管理、留言管理及评论管理等。前台用户浏览模块主要用于用户浏览日志信息,用户浏览日志有两种浏览方式可以选择:一是直接点击日志标题链接进入日志显示页面浏览日志;二是点击分类检索相同分类的日志,然后在该首页中选择所需的日志标题链接进入日志显示页面浏览日志。浏览日志的同时用户可以查看别人对该日志的评论,然后用户也可以对该日志发表自已的评论。博主进入后台管理平台,首先必需进行权限验证,防止未授权的用户非法登录。若未通过验证,则显示出错提示,

33、并跳转到登录页面。若通过验证,则进入个人博客后台管理平台。博主可以浏览已发表的日志,并对其进行相应的操作如修改日志和删除日志;可以查看日志的评论信息并对其进行回复或者删除操作;可以发表新的日志;可以新建日志分类;可以浏览个人博客的留言信息并对其进行相应的操作如回复留言和删除留言;还可以对个人信息进行修改。博客系统平台的后台用户管理模块流程示意图如图3-3所示。开始结束出错提示权限验证分类管理评论管理日志管理NY输入 图3-3 后台用户管理模块流程示意图第4章 博客系统总体设计所谓系统设计,就是确定系统的具体实现方案,从数据流图出发设想完成系统功能的若干个合理的方案。结构图是进行软件结构设计的一

34、个有力工具,它是由模块组成的层次系统,一个方框代表一个模块,方框中注明模块的名字或主要功能,方框间的直线表示模块的调用关系。采用模块化设计原理可以使程序结构清晰,使程序设计更加容易,也使程序易读性好,因为程序错误通常局限于有关的模块以及它们之间的接口程序中,所以模块化使程序容易测试和调试,因而有助于提高软件的可靠性,修改错误也只是局限于固定的几个模块中,所以模块化能够提高软件的可修改性。本系统就是采用模块化的设计思想来完成的13。模块是数据说明、可执行语句等程序对象的集合。它单独命名并且可以通过名字来调用。模块化就是把程序化分成若干个模块,每个模块完成一个子功能,把这些模块集合起来组成一个整体

35、,可以完成指定的功能,解决具体的问题。采用模块化原理可以使软件结构清晰,不仅容易设计,而且容易阅读和理解。此外,模块化使软件容易测试和调试,有利于提高软件的可靠性。因为程序错误往往局限于单个模块中,一个模块出错,不容易影响其他模块。同时,一个模块的修改,只要它的接口不变,也不影响其他模块。这样,软件的测试和调试的复杂程度就大大降低了。4.1 数据库设计数据库是当前应用软件系统的重要组成部分,如何使基于数据库的应用系统安全、可靠、高效的运行一直是软件开发技术研究的难题。所以本系统的数据库设计基于以下几点来考虑:1.数据库规范化与非规范化的考虑;2.数据查询优化与索引的建立;3.存储过程与视图。4

36、.1.1数据库设计E-R图为了把用户的数据要求清晰明确地表达出来,通常要建立一个概念性的数据模型。概念性数据模型是一种面向问题的数据模型,是按照用户的观点来对数据和信息建模。描述了从用户角度看到的数据,反映了用户的现实环境。最常用的表示概念性数据模型的方法,是实体联系方法(EntityRelationship Approach)。这种方法用ER图描述现实世界中的实体,而不涉及这些实体在系统中的实现方法。用这种方法表示的概念性数据模型又称为ER模型。ER模型中包含“实体”,“联系”和“属性”。 博客信息管理系统涉及的实体包括:1.用户:用户ID、用户名称、用户密码;2.分类:分类编号、分类名、分

37、类显示顺序;3.日志:日志编号、日志标题、日志内容、分类编号、发表日期、评论编号;4.评论:评论编号、评论人、评论内容、发表日期、日志编号。综合本系统各子模块要实现的功能,通过前面对博客信息系统数据的分析可以得到:用户表、分类表、日志表、日志评论表的数据库概念模型(E-R图)。用户E-R图如图4-1所示。密码ID用户名用户图 4-1 用户E-R图分类E-R图如图4-2所示。显示顺序分类名称分类编号分类图 4-2 日志类别E-R图日志内容分类编号日志标题发表日期日志编号日志日志E-R图如图4-3所示。图 4-3 日志E-R图评论E-R图如图4-4所示。评论内容评论人评论日期评论编号日志编号评论图

38、 4-4 评论E-R图4.1.2 系统数据表设计系统管理员表(Moderator)在独立的一个数据库Moderator中。博客系统中的数据管理形式采用数据库,根据系统需要与数据规范化分为:用户表(UserInfo) ,聊天室表(ChatMessage),主要页面关键字表(PageKeywords),友情链接表(Links),最近访客表(Recent),留言版表(Message),留言评论表(MessageReply),日志分组表(DiaryGroup),日志表(Diary),日志评论表(DiaryReply),相册分组表(AlbumGroup),照片表(Phone),照片评论表(PhoneRe

39、ply),音乐盒分组表(MusicGroup),歌曲表(Music),歌曲评论表(MusicReply)。以下列举主要表结构:表4-1日志表 (Diary)字段名类型主键说明关系DiaryIDbigint (8)主键,自增日志ID(所有用户的)DiaryTitlenvarchar(8)日志标题DiaryContentnvarchar(4000)日志内容DiaryTimedatetime(8)发表日志的时间ReadNumbigint(8)被阅读次数DiaryGroupIDbigint (8)日志类别ID关联日志分组ID表4-2日志评论表 (DiaryReply)字段名类型主键说明关系DiaryR

40、eplyIDbigint (8)主键自增日志评论IDReplyContentnvachar(4000)评论内容ReplyTimedatetime(8)评论的时间续表4-2DiaryIDbigint (8)这条评论所属的日志ID所属的日志IDUserInfoIDbigint (8)用户ID关联用户ID表4-3用户表(UserInfo)字段名类型主键说明关系UserInfoIDbigint(8)主键,自增用户IDUserNamevarchar(16)用户名UserPasswordvarchar(16)密码UserEmailvarchar(100)邮箱Hypocorismnvarchar(10)昵称

41、FullNamenvarchar(4)真实姓名Questionnvarchar(50)密码保护问题Solutionnvarchar(50)密码保护答案RegisterTimedatetime(8)注册时间UserWebSiteNamenvarchar(10)网站的名字UserSignnvarchar(200)个性签名UserHostTalknvarchar(200)主人寄语HeadImgIDbigint(8)用户头像ID关联用户头像IDIsPassbit(1)是否通过,默认0为最新用户IsDisablebit (1)是否被封禁,0为否Sexbit (1)性别,0为男,1为女表4-4日志分组表

42、(DiaryGroup)字段名类型主键说明关系DiaryGroupIDbigint(8)主键,自增日志分组ID(所有用户的)DiaryGroupNamenvarchar (50)日志分组名GroupInfoIDbigint (8)日志模块ID关联日志模块ID表4-5页面关键字表(Moderator)字段名类型主键说明关系KeyWordIDbigint(8)主键,自增关键字IDKeyWordNamevarchar(50)管理员名KeyWordDiaryvarchar(50)包含关键字的文章ID,以逗号分割日志表ID表4-6相册分组表(GroupInfo)字段名类型主键说明关系PhotoIDbig

43、int(8)主键,自增PhotoNamevarchar(16)照片名PhotoPasswordvarchar(16)相册密码表4-7聊天室表(ChatMessage)字段名类型主键说明关系ChatMessageIDbigint(8)主键自增聊天信息的IDChatUserNamenvarchar(10)发信息的用户名称ChatMessagenvarchar(4000)信息内容ChatMessageTimedatetime(8)发信息时间UserInfoIDbigint(8)关联发消息用户的ID关联用户ID4.2 功能模块设计功能模块图是软件工程过程中的一个重要环节,它将显示出工程所要实现的各种功

44、能,并分类,然后软件工程师根据功能模块图来具体实现这些功能。根据需求分析,本系统主要分为前台的信息展示、用户评论以及后台博主的信息管理功能,主要功能模块如下:1.前台模块博客展示:在网站的首页面提供一些博客网站的相关链接,用户可以直接单击链接访问相应的博客网站;日志展示:主要包括最新日志展示和日志列表展示。最新的日志从日志表中读取出来,并将标题显示在最新日志栏目中;日志列表展示会将日志表中的日志以列表的形式显示在页面上,每页显示10条日志;评论展示:在网站的首页面的相应栏目中,将最新的用户评论展示出来,点击链接可以直接进入评论以及评论的日志查看;分类展示:日志的分类信息以列表的形式展示在相应的

45、栏目中,用户单击某个类别链接可以直接进入相应的类别板块,再选择某篇日志浏览;博主登录:为博主提供的登录入口,登录后,博主可以进行博客网站的管理工作。前台模块功能结构如图4-5所示。博主登录博客展示博客系统前台分类展示分类列表发表评论最新评论日志列表最新日志日志展示评论展示图4-5 博客系统前台功能模块图2.后台模块个人信息管理:在用户登录成功以后,博主可以按个人的资料进行资料设置,可以随时更改信息;日志管理:在此功能模块中,博主可以发布日志,可以随时修改日志,删除日志;评论管理:在此模块中,博主可以回复他人的评论,设置评论回复的权限,删除自己不喜欢的评论;分类管理:博主可以对日志、相册、音乐进

46、行分类管理,可以添加,修改和删除分类。后台模块功能结构如图4-6所示。博客系统后台分类管理评论管理日志管理个人信息管理添加分类删除分类修改分类删除评论回复评论删除日志修改日志发表日志登录修改信息 图4-6 博客系统后台功能模块图第5章 博客系统详细设计详细设计又称过程设计,在概要设计阶段,已经确定了软件系统的总体结构,给出系统中各个组成模块的功能和模块间的联系。详细设计就是要在上述结果的基础上,考虑“怎样实现”这个软件系统,直到对系统中的每个模块给出足够详细的过程性描述。详细设计的任务:1.为每个模块确定采用的算法,选择某种适当的工具表达算法的过程,写出模块的详细设计过程性描述;2.确定每个模

47、块使用的数据结构;3.确定模块接口的细节,包括对系统外部和用户界面,对系统内部其他模块的接口,以及模块输入数据、输出数据及局部数据的全部细节。详细设计的的原则:1.由于详细设计的蓝图是可阅读的,所以模块的逻辑描述要清晰易读,正确可靠;2.采用结构化设计方法,改善控制结构,降低程序的复杂程度,从而提高程序的可读性、可测试性、可维护性。结构化设计的基本内容归纳如下:确保程序结构的独立性,使用单入口,单出口的控制结构,确保程序的静态结构与动态执行情况相一致,保证程序易理解。程序的控制结构一般采用顺序、选择、循环三种结构构成,以确保结构简单。用自顶向下逐步求情方法完成程序设计。结构化程序设计的缺点是存

48、储容量和运行时间增加10%-20%,但易读易维护型好。经典的控制结构为顺序、分支和循环;3.选择恰当描述工具来描述各模块算法。5.1 开发环境部署5.1.1 IIS的配置1.依次选择开始/设置/控制面板/管理工具/Internet信息服务(IIS)管理员选择,弹出“Internet信息服务(IIS)管理器”选项,弹出“Internet 信息服务(IIS)管理器”窗口。2.选中“默认网站”节点,单击右键,选择“属性”。3.弹出“默认网站属性”对话框,然后单击“网站”选项卡,在“IP地址”下拉列表中选择本机IP地址。4.单击“主目录”选项卡,单击“浏览”按钮,弹出“浏览文件夹”对话框,选择Book

49、Borrow的网站路径,单击“确定”按钮,此时完成了IIS配置。5.1.2 启动Microsoft Visual studio 2005选择开始/所有程序/Microsoft Visual studio 2005/单击/打开主页/文件/打开/网站/本地IIS/BookBorrow/此时在Visual studio 2005/视图/解决方案资源管理器/然后在解决方案资源管理其中添加此系统需要的Web窗体,公共类,数据库等,对此系统进行详细设计。5.1.3 启动Microsoft SQL Server 2000数据库。选择开始/所有程序/Microsoft SQL Server 2000/企业管理

50、器/数据库/右键/新建数据库/名称/BookBorrow/右键/新建表/对此系统需要的数据进行设计。完成了以上的准备工作,下面我们就针此系统的设计模块,依次介绍实现此系统的详细设计。5.2连接数据库在动态网站中,调用数据库中的数据是十分频繁的,为了避免编写重复的代码。编写一个数据库连接文件是非常重要的。因此,在开发此系统前我们首先设计了一个公共数据库操作类。此数据库操作类用来完成数据库的连接操作,以及数据库的查询、添加、删除和修改操作。将这几种操作编写到一个公共类里,将此类命名为dataOperate.cs,dataOperate.cs类中一共定义了以下几个方法。createCon()方法用来

51、连接数据库,此方法的返回类型SqlConnection。execSQL(string sql)方法用来查找数据是否存在。此方法返回一个布尔型值,用来表示添加、插入和删除数据是否成功,执行成功返回true,否则返回false。调用此方法时应传入一个String类型的参数,此参数表示要执行的SQL语句。seleSQL(string sql)方法用来查找数据是否存在。此方法返回一个布尔型值,用来表示是否查找大数据,如查找到数据则返回true,否则返回false。调用此方法时应传入一个string类型的参数,此参数表示所要执行的SQL语句。getData(string sql,string table

52、)方法用来查找返回多行数据。此方法返回一个DataSet数据集。在调用此方法时应传入两个string类型的参数,第一个参数表示要执行的SQL语句,第二个参数表示表名。getRow(string sql)方法用来查找并返回一行数据。此方法返回一个SqlCommand对象。在调用此方法时应传入一个string类型的参数,此参数表示所要执行的SQL语句。5.3 页面样式设计与实现CSS(Cascading Style Sheet,可译为“层叠样式表”或“级联样式表”)是一组格式设置规则,用于控制Web页面的外观。通过使用CSS样式设置页面的格式,可将页面的内容与表现形式分离。页面内容存放在HTML文

53、档中,而用于定义表现形式的CSS规则则存放在另一个文件中或HTML文档的某一部分,通常为文件头部分。将内容与表现形式分离,不仅可使维护站点的外观更加容易,而且还可以使HTML文档代码更加简练,缩短浏览器的加载时间。目前,很多Web网站都使用CSS样式表来控制页面的样式。在博客系统中存在很多相同或相似的元素,这些元素可能是页面的标题,可能是页面的版权声明,也可能是文章的列表或是登录信息框。需要寻找一种方式在整个系统中共享,而不需在变化时修改所有的页面,所以就采用了样式文件进行管理以及用户自定义组件。以网站的信息列表的显示为例,在网页中是以表格形式来展示的,关于表格的样式,通过一个CSS规则来控制

54、,这样在每个页面当中导入该样式,则使得所有的页面拥有相同的风格。表格的CSS规则核心代码如下:charset utf-8;table text-align:center;/*设置表格文本水平居中*/vertical-align:middle;/*设置表格文本垂直居中*/width:900px;/*设置表格宽度*/font-family:宋体;/*设置表格字体*/font-size:12px;/*设置表格字号*/color:#33F;/*设置表格文字颜色*/table, td border:1px #03F dashed;/*设置表格和单元格边框样式、宽度、颜色,其中样式是必须的属性值*/bor

55、der-collapse:collapse;/*设置是否将表格边框折叠为单一边框*/padding:15px;/*控制表格内容与边框的距离,必须放在td中*/将CSS样式应用到网页上使用的是标签的方式,直接将文件的路径添加在herf属性中,在相应的html页面的标签之间添加如下代码:css25.4 系统前台功能详细设计软件的分析和设计是软件工程中最重要的环节。详细设计主要包括系统的分析与设计。详细设计阶段的根本任务是确定如何具体地实现目标系统,也就是说,经过这个阶段的分析设计工作后,应该写出对系统的精确描述,从而可以在编辑代码阶段可以把这个描述直接翻译成用某种程序设计语言书写的程序。此阶段要设

56、计出程序的具体流程的实现过程,然后就可以根据这个流程实现过程写出实际的程序代码。因此,详细设计的最终结果完成决定了最终程序代码的质量。除了应该保证程序的安全性和可靠性之外,同时也应该保证编写的程序可读性好,尽量减少冗余代码的出现,而且代码应具备良好的复用性、便于以后的修改和维护,这一点是详细设计的最为重要的目标与任务。5.4.1登录页面系统的页面按照常规的Web页面进行设计,设计的原则是页面友好,易于操作,容易上手,尽可能的贴切用户实际。本模块的功能是用户登录与注册,当用户填写正确的用户名并且同时输入正确的密码之后,就会进入博客系统,同时也可以选择是否记住我的登录状态,当输入的密码错误也会连接

57、忘记密码。所有的网络用户都可以进入该首页进行登录、浏览等相关的操作。在页面的上方是博客系统的导航列表,图中显示的导航条包括登录、日志。在页面的左侧用户可以浏览日志大致内容;博客的右方有公告,分类列表,最近评论等。博客系统登陆图如图5-1所示。图5-1 博客登录页面用if(dataOperate.seleSQL(sql) 0)选择语句,调用DB.CS类中的seleSQL()函数,查找此用户记录是否存在。如果此用户记录存在, 用Session存储跨网页程序的变量,用Response对象将作为请求的结果发送回浏览器中,实现代码是Response.Redirect(index.aspx)。如果此用户记

58、录不存在,则提示登录失败。但是同时可以链接创建并注册页面。其主要代码如下:if (string.Empty = strMsg)/登录成功 CookieHelp.SaveLoginCookie(strUserName);/保存cookie IsLogin.Visible = true; NoLogin.Visible = false; HpLnkUserName.Text = strUserName; else Page.ClientScript.RegisterStartupScript(GetType(), , alert( + strMsg + );, true); 5.4.2 日志搜索在

59、日志首页,将显示博主最近更新的所有日志,当用户想要查询某一篇日志或者某一类别的日志时,可以根据博主发表日志时提取的关键词来查找,或者根据博主发表日志时的日期来查询。通过语句SELECT * FROM ViewDiaryGroup WHERE UserName = 0 查询到该日志的位置,从而连接到数据库,找到日志在其中存储的位置;其核心代码如下:public DataSet Fill(string strSql, DataSet ds, string strTableName) OpenConn(); SqlDataAdapter sqlDA = new SqlDataAdapter(); try SqlCommand sqlCmd = new SqlCommand(strSql, GetConnection(); sqlDA.SelectCommand = sqlCmd; sqlDA.Fill(ds, strTableName); sqlDA.Dispose(); catch (Exception ex) throw ex; finally sqlDA.Dispose(); ClosedConn(); return ds;日志的页面如图5

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

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!