Wiki模式软件交流网站的设计与实现.docx
- 文档编号:26861400
- 上传时间:2023-06-23
- 格式:DOCX
- 页数:20
- 大小:532.74KB
Wiki模式软件交流网站的设计与实现.docx
《Wiki模式软件交流网站的设计与实现.docx》由会员分享,可在线阅读,更多相关《Wiki模式软件交流网站的设计与实现.docx(20页珍藏版)》请在冰豆网上搜索。
Wiki模式软件交流网站的设计与实现
山西大学论文
论文题目Wiki模式软件交流网站的设计与实现
姓名
院系、专业计算机与信息技术学院、计算机科学与技术
学习年限年月至年月
指导教师
学位级别
2012年5月20日
WIKI模式软件交流网站的设计与实现
内容提要通过本软件交流网站,可以为各类用户提供全面的软件信息及资源共享;并且通过双向交流的方式,保持软件的实时更新。
本网站的建立主要是用VisualStudio2010和A语言实现的。
利用VisualStudio2010进行前台开发,构建网站框架;动态内容是采用SQLServer数据库开发的,它相对简单,支持动态数据类型和动态协议,便于对各种数据资源不断更新和维护。
关键字网站设计;A;Web技术;Wiki;SQLServer;VisualStudio;
1引言
随着计算机技术的飞速发展,信息网络已成为社会发展的重要保证。
当今世界的交流愈趋于多元化,不再局限于早期的书信抑或电话等方式。
并且人们对信息交换的要求也更专注于实时,立体等方面,不仅要求信息能够按时到达,实时更新,更需要信息的容量能尽可能的庞大且易于理解。
Wiki提倡管理员与用户共同参与网站建设与维护,Wiki模式的软件交流网站能够紧跟用户需求,做到数据实时更新,信息真实可靠,是一种动态的信息交流方式。
本课题的研究的主要内容是使用网站设计软件工具,通过对A等的学习学会网站的布局,使网站的结构合理。
学会链接的建立和修改,使访问者可以在网页之间自由跳转,真正体会网上冲浪的感觉。
通过对A的学习进行网站前台,BBS和用户管理的源代码的编写。
本课题的设计步骤是:
首先,查看一些大型网站的范例,对其页面元素布局等进行学习,上网查找一些相关资料并下载。
然后,学习VisualStudio2010和A的网络编程语言学习网站设计的基本技术和方法。
利用VisualStudio2010进行网站的布局和编辑,进行网站的链接。
最后,连接数据库,进行实际运行的测试。
2网站相关技术基础
2.1Internet和WWW
因特网(Internet)是一组全球信息资源的总汇。
有一种粗略的说法,认为INTERNET是由于许多小的网络(子网)互联而成的一个逻辑网,每个子网中连接着若干台计算机(主机)。
Internet以相互交流信息资源为目的,基于一些共同的协议,并通过许多路由器和公共互联网而成,他是一个信息资源和资源共享的集合。
计算机网络只是传播信息的载体,而INTERNET的优越性和实用性则在于本身。
WWW是WorldWideWeb(环球信息网)的缩写,也可以简称为Web,中文名字为“万维网”。
WWW(WorldWideWeb),是一张附着在Internet上的覆盖全球的信息"蜘蛛网",镶嵌着无数以超文本形式存在的信息,其中有璀璨的明珠,当然也有腐臭的垃圾。
有人叫它全球网,有人叫它万维网,或者就简称为Web(全国科学技术名词审定委员会建议,www的中译名为"万维网")。
WWW是当前Internet上最受欢迎、最为流行、最新的信息检索服务系统。
它把Internet上现有资源统统连接起来,使用户能在Internet上已经建立了WWW服务器的所有站点提供超文本媒体资源文档。
这是因为,WWW能把各种类型的信息(静止图像、文本声音和音像)无义无缝的集成起来。
WWW不仅提供了图形界面的快速信息查找,还可以通过同样的图形界面(GUI)与Internet的其他服务器对接。
2.2客户机与服务器
客户机、服务器和协议虽然都是很简单的概念,但描述它们比理解它们更难。
客户机是一个需要某些东西的程序,而服务器则是提供某些东西的程序。
一个客户机可以向许多不同的服务器请求。
一个服务器也可以向多个不同的客户机提供服务。
通常情况下,一个客户机启动与某个服务器的对话。
服务器通常是等待客户机请求的一个自动程序。
客户机通常是作为某个用户请求或类似于用户的每个程序提出的请求而运行的。
协议是客户机请求服务器和服务器如何应答请求的各种方法的定义。
WWW客户机又可称为浏览器。
2.3A的概述
2.3.1Asp的简介
ASP是ActiveServerPage的缩写,意为“活动服务器网页”。
ASP是微软公司开发的代替CGI脚本程序的一种应用,它可以与数据库和其它程序进行交互,是一种简单、方便的编程工具。
ASP的网页文件的格式是.asp,现在常用于各种动态网站中。
ASP是一种服务器端脚本编写环境,可以用来创建和运行动态网页或Web应用程序。
ASP网页可以包含HTML标记、普通文本、脚本命令以及COM组件等。
利用ASP可以向网页中添加交互式内容(如在线表单),也可以创建使用HTML网页作为用户界面的web应用程序。
2.3.2A的概述
A不仅仅是ActiveServerPage(ASP)的下一个版本,而且是一种建立在通用语言上的程序构架,能被用于一台Web服务器来建立强大的Web应用程序。
A提供许多比现在的Web开发模式强大的的优势。
2.3.3A的特点
(1)执行效率大幅提高
A是把基于通用语言的程序在服务器上运行。
不像以前的ASP即时解释程序,而是将程序在服务器端首次运行时进行编译,这样的执行效果,当然比一条一条的解释强很多。
(2)世界级的工具支持
A构架是可以用Microsoft(R)公司最新的产品VisualS开发环境进行开发,WYSIWYG(WhatYouSeeIsWhatYouGet所见即为所得)的编辑。
这些仅是A强大化软件支持的一小部分。
(3)强大性和适应性
因为A是基于通用语言的编译运行的程序,所以它的强大性和适应性,可以使它运行在Web应用软件开发者的几乎全部的平台上(笔者到现在为止只知道它只能用在Windows2000Server上)。
通用语言的基本库,消息机制,数据接口的处理都能无缝的整合到A的Web应用中。
A同时也是language-independent语言独立化的,所以,你可以选择一种最适合你的语言来编写你的程序,或者把你的程序用很多种语言来写,现在已经支持的有C#(C++和Java的结合体),VB,Jscript。
将来,这样的多种程序语言协同工作的能力保护您现在的基于COM+开发的程序,能够完整的移植向A。
(4)简单性和易学性
A是运行一些很平常的任务如表单的提交客户端的身份验证、分布系统和网站配置变得非常简单。
例如A页面构架允许你建立你自己的用户分界面,使其不同于常见的VB-Like界面。
另外,通用语言简化开发使把代码结合成软件简单的就像吃饭。
2.4SQLServer的概述
2.4.1SQL的概述
SQL(StructuredQueryLanguage),结构化查询语言。
SQL语言的主要功能就是同各种数据库建立联系,进行沟通。
按照ANSI(美国国家标准协会)的规定,SQL被作为关系型数据库管理系统的标准语言。
SQL语句可以用来执行各种各样的操作,例如更新数据库中的数据,从数据库中提取数据等。
绝大多数流行的关系型数据库管理系统都采用了SQL语言标准。
虽然很多数据库都对SQL语句进行了再开发和扩展,但是包括Select,Insert,Update,Delete,Create,以及Drop在内的标准的SQL命令仍然可以被用来完成几乎所有的数据库操作。
在1970年代初,由IBM公司SanJose,California研究实验室的埃德加·科德发表将资料组成表格的应用原则(Codd'sRelationalAlgebra)。
1974年,同一实验室的D.D.Chamberlin和R.F.Boyce对Codd'sRelationalAlgebra在研制关系数据库管理系统SystemR中,研制出一套规范语言-SEQUEL(StructuredEnglishQUEryLanguage),并在1976年11月的IBMJournalofR&D上公布新版本的SQL(叫SEQUEL/2)。
1980年改名为SQL。
1979年ORACLE公司首先提供商用的SQL,IBM公司在DB2和SQL/DS数据库系统中也实现了SQL。
1986年10月,美国ANSI采用SQL作为关系数据库管理系统的标准语言(ANSIX3.135-1986),后为国际标准化组织(ISO)采纳为国际标准。
1989年,美国ANSI采纳在ANSIX3.135-1989报告中定义的关系数据库管理系统的SQL标准语言,称为ANSISQL89,该标准替代ANSIX3.135-1986版本。
该标准为下列组织所采纳:
国际标准化组织(ISO),为ISO9075-1989报告“DatabaseLanguageSQLWithIntegrityEnhancement”
美国联邦政府,发布在TheFederalInformationProcessingStandardPublication(FIPSPUB)127
目前,所有主要的关系数据库管理系统支持某些形式的SQL,大部分数据库打算遵守ANSISQL89标准。
SQL是高级的非过程化编程语言,它允许用户在高层数据结构上工作。
它不要求用户指定对数据的存放方法,也不需要用户了解其具体的数据存放方式。
而它的界面,能使具有底层结构完全不同的数据库系统和不同数据库之间,使用相同的SQL作为数据的输入与管理。
它以记录项目〔records〕的合集(set)〔项集,recordset〕作为操纵对象,所有SQL语句接受项集作为输入,回送出的项集作为输出,这种项集特性允许一条SQL语句的输出作为另一条SQL语句的输入,所以SQL语句可以嵌套,这使它拥有极大的灵活性和强大的功能。
在多数情况下,在其他编程语言中需要用一大段程序才可实践的一个单独事件,而其在SQL上只需要一个语句就可以被表达出来。
这也意味着用SQL可以写出非常复杂的语句。
SQL同时也是数据库文件格式的扩展名。
SQL包含3个部分:
“资料定义语言”(DDL:
DataDefinitionLanguage)
“资料操纵语言”(DML:
DataManipulationLanguage)
“资料控制语言”(DCL:
DataControlLanguage)。
2.4.2SQLServer2008的简介
SQLServer2008是一个重大的产品版本,它推出了许多新的特性和关键的改进,使得它成为至今为止的最强大和最全面的SQLServer版本。
这篇文章详细介绍了MicrosoftSQLServer2008中的新的特性、优点和功能……在现今数据的世界里,公司要获得成功和不断发展,他们需要定位主要的数据趋势的愿景。
微软的这个数据平台愿景帮助公司满足这些数据爆炸和下一代数据驱动应用程序的需求。
微软将继续投入和发展以下的关键领域来支持他们的数据平台愿景:
关键任务企业数据平台、动态开发、关系数据和商业智能。
许多因素致使产生了信息存储爆炸。
有了新的信息类型,例如图片和视频的数字化,和从RFID标签获得的传感器信息,公司的数字信息的数量在急剧增长。
遵守规范和全球化的发展要求信息存储的安全性和在任何时候都可用。
同时,磁盘存储的成本显著地降低了,使得公司投资的每一美元可以存储更多的数据。
用户必须快速的在大量的数据中找到相关的信息。
此外,他们想在任何设备上使用这个信息,并且计划每天使用,例如MicrosoftOffice系统应用程序。
对数据爆炸和用户期望值的增加的管理为公司制造了许多挑战。
Microsoft数据平台愿景提供了一个解决方案来满足这些需求,这个解决方案就是公司可以使用存储和管理许多数据类型,包括XML、e-mail、时间/日历、文件、文档、地理等等,同时提供一个丰富的服务集合来与数据交互作用:
搜索、查询、数据分析、报表、数据整合,和强大的同步功能。
用户可以访问从创建到存档于任何设备的信息,从桌面到移动设备的信息。
这个平台有以下特点:
可信任的——使得公司可以以很高的安全性、可靠性和可扩展性来运行他们最关键任务的应用程序。
高效的——使得公司可以降低开发和管理他们的数据基础设施的时间和成本。
智能的——提供了一个全面的平台,可以在你的用户需要的时候给他发送观察和信息。
SQLServer提供了集成的开发环境和更高级的数据提取,使开发人员可以创建下一代数据应用程序,同时简化了对数据的访问。
在数据库开发人员中的一个趋势是定义高级的业务对象,或实体,然后他们可以将它们匹配到数据库中的表和字段,开发人员使用高级实体例如“客户”或“订单”来显示背后的数据。
ADO.NET实体框架使开发人员可以以这样的实体来设计关系数据。
在这一提取级别的设计是非常高效的,并使开发人员可以充分利用实体关系建模。
微软的语言级集成查询能力(LINQ)使开发人员可以通过使用管理程序语言例如C#或VisualBasic.NET,而不是SQL语句来对数据进行查询。
LINQ使可以用.NET框架语言编写的无缝和强大的面向集合的查询运行于ADO.NET(LINQ到SQL),ADO.NET数据集(LINQ到数据集),ADO.NET实体框架(LINQ到实体),和到实体数据服务匹配供应商。
SQLServer2008提供了一个新的LINQ到SQL供应商,使得开发人员可以直接将LINQ用于SQLServer2008的表和字段。
ADO.NET的对象服务层使得可以进行具体化检索、改变跟踪、和实现作为公共语言运行时(CLR)的数据的可持续性。
开发人员使用ADO.NET实体框架可以通过使用由ADO.NET管理的CLR对象对数据库进行编程。
SQLServer2008提供了提高性能和简化开发过程的更有效的和最佳的支持。
SQLServer2008通过几个关键的改进增强了Transact-SQL编程人员的开发体验。
TableValueParameters–在许多客户的场景中,要传递一个表结构的值(行)的集合到服务器上的一个存储过程或函数中。
这些值可能直接用于插入表或更新表,或者是用于更复杂的数据操作。
值为表的参数为定义一个表类型和使应用程序创建、赋值和传递表结构的参数到存储过程和函数中提供了更简单的方式。
对象相关性——对象相关性的改进通过新推出的种类查看和动态管理功能使能够可靠的找出对象间的相关性。
相关性信息总是关于绑定架构和未绑定架构的对象的最新的信息。
这个相关性会跟踪存储过程、表、视图、函数、触发器、用户定义的类型、XMLschema集合和其他对象。
2.5Wiki模式的含义
Wiki是一种在网络上开放且可供多人协同创作的超文本系统,由沃德·坎宁安于1995年首先开发。
沃德·坎宁安将Wiki定义为“一种允许一群用户利用简单的描述来创建和连接一组网页的社会计算系统”。
基本上,Wiki包含一套能简易制作与修改HTML网页的系统,再加上一套记录和编排所有改变的系统,并且提供还原改变的功能。
使用Wiki系统的网站称为Wiki网站,允许任何造访它的人快速轻易地添加、删除和编辑所有的内容,而且通常都不须登录,因此特别适合团队合作的写作方式。
Wiki系统也可以包括各种辅助工具,让使用者能容易地追踪Wiki的历史变化,或是让众使用者之间讨论解决关于Wiki内容的分歧。
Wiki的内容也可能有误,因为使用者必定会加上不正确的资料。
有些人认为,Wiki系统属于一种人类知识的网络系统,我们可以在Web的基础上对Wiki文本进行浏览、创建和更改,而且这种创建、更改及发布的代价远比HTML文本小;与此同时,Wiki系统还支持那些面向社群的协作式写作,为协作式写作提供了必要的帮助;最后Wiki的写作者自然构成了一个社群,Wiki系统为这个社群提供了简单的交流工具。
与其它超文本系统相比,Wiki有使用简便且开放的特点,所以Wiki系统可以帮助我们在一个社群内共享某个领域的知识。
Wiki经常音译为“维基”,但其正确的翻译应该为“共笔”,其反映了多人可以共同创作的特性。
Wiki模式是一种类似Wiki的实现方法,其并不是完全实现Wiki,只是部分模仿其管理方式及使用方式,将其优点运用于网站建设。
Wiki最为重要的两个特点是:
1.规则:
为了保证内容的质量,大部分Wiki系统或其所建立的社区都有一系列错综复杂的策略和指导方针,用以对用户的使用行为进行有一系列的规则控制;2.控制更改:
Wiki的基本设计哲学是让我们易于修订错误,而不是让我们感到创建条目的困难。
因此,虽然Wiki相当开放,他们提供了一个手段来检验最近新增页面的正确性。
几乎每一个Wiki最突出的,就是“最近修订”页面─一个最近修订的编号名单,或是一个在特定时间框架内做的修改名单。
一些Wiki可以过滤名单上面的小修改以及一些自动汇入的脚本(外挂)。
在编修纪录上,大部分的Wiki拥有一些功能:
修订历史通常用会用highlight(反白)来显示前一版本和后一版本的差异。
有效利用修订历史,编辑者可以浏览并且回复此条目的前一版本;显示差异则能让编辑者更易于决定此差异是否必须。
一个普通的Wiki使用者可以在“最近修订”页面浏览差异、查阅历史、甚至回复到先前的版本。
这个过程基本上是很流畅的,不过要看是哪种Wiki软件正在被使用。
为了预防一些无法接受的编辑,有些Wiki引擎会再提供一些内容控制,以确保一个或一组条目的品质。
当一个条目有被修改时,愿意维护页面的使用者(们)会被通知,让他/她得以马上确认新编辑的有效性。
“监视列表”就是一个例子。
有些Wiki会提供“巡逻校定”(patrolledrevisions),让有权限的编辑者在没有侵权的条目上做标记。
而“标记校定”(flaggedrevisions)则是让未被评省过的编辑条目不能被普通用户看见。
3网站功能分析和结构设计
3.1基本功能分析
基本功能是让用户通过本网站进行一些软件的上传下载评论更新等交流的操作。
可以在主页进行注册,来了解最新的软件资讯,通过论坛进行相互地交流等。
管理员可以登录后台,进行用户、新闻、论坛等数据的管理。
3.2结构设计
1.用户注册模块:
主要是用户第一次登录用户中心时需要在用户注册页面上提交一些必备的个人基本信息,主要包括:
用户名、密码昵称等信息。
2.个人信息模块:
第一是修改个人信息:
用户可以修改、完善自己的个人信息;第二是查看个人信息。
用户个人信息部分供用户管理和查看自己的个人信息,设置自己信息的隐私设置。
查看个人信息的页面同时也可用于查看其他用户的个人信息。
3.帖子:
用户所创建或参与编辑审核的页面的数据集合。
4.好友
第一是用户查询即由用户选择一些条件来查询本系统中的其他用户;第二是好友列表即显示用户已经添加的好友的列表;第三是推荐好友。
我的好友模块供用户对好友关系进行管理,每个子功能的初步结果都是较简单的列表,但用户可以通过点击查看其它用户的详细资料。
在查看其他用户的详细资料时会对用户间的好友关系进行判断,若非好友则提供添加好友的功能;若已是好友则提供解除好友关系的功能。
5.信箱
包括发消息、发件箱、收件箱,即我的信箱模块供用户向其他用户发送消息(发消息)、查看已发送消息(发件箱)、查看用户接收到的消息(收件箱)。
除此以外还有“回收站”功能项,定期清除或者用户手工清除用户认为无用的信息。
3.3设计目标
本网站的初步是作为软件交流所用,达到一个网站的基本要求,为以后计算机课程的学习和专业学习奠定扎实的程序设计基础。
掌握程序设计的思想和方法,在学习与编写网页过程中享受到程序设计的乐趣,培养在各专业领域中应用计算机解决问题的意识和能力。
在以后的进一步钻研和改进,不断完善这个软件交流网站,希望能够早一天作为真正成熟的软件交流网站让广大用户浏览。
4网站主要模块的实现
4.1欢迎界面
用户进入本网站后将会看到的一个欢迎界面。
本页面较为简单,嵌入了一个flash动画,点击上方连接即可进入主页。
图1欢迎界面
4.2主页
最重要的一个页面。
为了让用户登录能够清楚的了解网站的大概内容,因此没有加入动态文字和太多的图片,整页显得紧凑清晰,导航条的模块可以让用户轻松浏览网站所有内容。
图2主页
4.3登录框
用户可以在主页左上角进行登录,两个文本框用到了RequiredFieldValidator,不填的会有提示框提示。
当用户开启cookies时,单击记住我可以记录用户的用户名,下次打开本页面时,用户名就会在登录框内自动填写好,如图3。
登录后会显示欢迎画面,显示登录用户的用户名,用户种类还有现在时间,最后用户可以点击“重新登陆”按钮来注销登录。
新用户可以点击注册链接进行用户注册,在此注册的用户权限都是普通用户,textbox也都有RequiredFieldValidator,控制不能为空,两个密码框内容必须一致,用CompareValidator来对比两个密码框的内容,不一致时会提示“两次密码输入不一致”。
注册时用户名不能重复,若要重复会提示"对不起,用户id已存在,请重新输入!
"。
如图4。
具体实现是用输入到用户名框中的字符串和数据库中的进行一一比较,如没有一个重复,则注册成功,将用户信息写入数据库,然后返回主页用户就可以登录了。
图3登陆框
图4注册用户
4.4管理页面
管理员登录后,进入管理页面依然使用了框架结构,左侧是导航栏可以进入各个项目进行管理。
如图5,6。
其具体可进行的操作有:
用户权限管理,用户添加删除禁言黑名单操作,帖子管理,以及各功能大类的分类等。
4.5创建、回复主题界面
本页面是让用户进行回复发帖的界面,其功能有主题分类,引用,标题,内容,附件等,可以调整字体大小和颜色,支持图片等附件形式。
该网页是本网站重要的构成之一。
如图7所示:
图5导航栏
图6管理页面
图7创建、回复主题界面
5.数据库表和网站及文件架构
表1userinfo表
字段名
数据类型
说明
id
自动编号
用户代码,不能空,不可重复
name
文本
用户名,不能空
pswd
文本
密码
type
数字
1,管理员;2,普通;3,ip被封用户。
time
日期/时间
注册时间
表2newsinfo表
字段名
数据类型
说明
id
自动编号
序号
title
文本
新闻标题
time
时间/日期
时间,默认值设为Now()
text
备注
新闻内容
author
文本
作者
click
数字
点击次数,默认值设为0
typeid
数字
新闻类型,1——新闻2——通知
表3attachment表
字段名
数据类型
说明
id
自动编号
序号
name
文本
附件名称
表4announcement1表
字段名
数据类型
说明
link_id
自动编号
序号
text
文本
公告内容
data
日期/时间
日期时间
表5announcement2表
字段名
数据类型
说明
bbs_id
自动编
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Wiki 模式 软件 交流 网站 设计 实现