基于ASPNET的校园WORK20平台设计与实现概要_第1页
基于ASPNET的校园WORK20平台设计与实现概要_第2页
基于ASPNET的校园WORK20平台设计与实现概要_第3页
基于ASPNET的校园WORK20平台设计与实现概要_第4页
基于ASPNET的校园WORK20平台设计与实现概要_第5页
已阅读5页,还剩3页未读 继续免费阅读

下载本文档

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

文档简介

1、基于ASP.NET的校园WORK 2.0平台设计与实现作者姓名: 邱韬奋 计算机科学与技术04级2班指导老师: 苗雪兰 教授摘要:基于网络的Work2.0工作平台是近年伴随着网络的发展而兴起的一种依托网络进行在线智力劳动的平台。校园work 2.0平台让学生成为社会实践参与者,而发布任务者可以是企业或个人。本系统实现了让有需求的用户可以发布自己的任务并在校园中寻求到接收任务并有能力完成任务的学生,搭建了任务发布者与学生在线完成工作的一段桥梁。关键词:校园Work2.0; ASP.NET; XML;1 引言1.1 Work2.0 概述 基于网络的Work2.0工作平台是近年伴随着网络的发展而兴起

2、的一种依托网络进行在线智力劳动的平台,代表着一种新的工作模式,类似于SOHO(指那些在家办公的自由职业者)工作平台。它由于其快捷和便利性等多种优势正成为一种日趋重要的工作平台。1.2 课题背景校园Work 2.0的提出是在信息化高度发展的今天, 为解决学生参与实践存在的地域和时间的局限性,为增加学生互相交流的热情、提高学生的实践能力的情况下提出的。它把Work2.0的理念应用于校园,让学生更好更快地将所学的知识应用到实践中去,也就是让学生参与在线工作,而本系统就是为了在工作发布方和学生之间构建起一个互动平台。校园Work 2.0平台让学生成为参与者,而发布任务者可以是企业或个人。本系统实现了更

3、好地带动学生学以致用,提高学生互相交流和学习的热情,从而建立起一种新颖的校园文化。同时也提供给学生参与社会工作的经验,给学生构建一种全新的工作理念,为适应日后的就业打好基础。1.3 可行性分析根据对中小型企业网站建设的研究及校园站点的研究,从它们的经营以及盈利状况来看,一般的企业或者学校的一般机构完全可以担负起网站需要的资金和工作量。在用 +SQLserver建设网站,采用性能稳定的Windows操作系统,用IIS作为Web服务器。此网站可以由一般企业经营或者由学校某个部门负责。此外可以由学校具体某个社团协会或者成立一个专门协会提供一定的人员配置以及负责日常的维护工作。2 系统设计2.1 总体

4、设计本系统分为5个功能模块,在进入每个子模块时都要进行权限验证,如果登录用户不具备该子模块的操作权限,则提示越权信息,并禁止该用户进入系统子模块。当用户进入子模块时,可根据此模块的功能进行相应操作.系统UML活动关系如图1所示。用户信息管理任务信息管理博客信息管理工作新闻信息管理系统信息管理登录进入系统普通用户管理员图1 UML活动关系图2.2 数据库概念设计数据库概念设计是指设计出数据库的概念数据模型,即实体-关系图(E-R图) ,以及相应的数据字典(DD)。下面给出本系统实体关系图如图2所示,图中省略各实体的属性。用户信息发送时间发送短信息管理员新闻公告管理发送发送发布博客管理管理发布管理

5、任务接收者ID管理博客发布时间任务发布时间公告发布时间新闻发布时间图2 系统实体关系图2.3 数据库物理设计通过系统的局部和整体E-R图,数据库模式分析, 由此设计了数据库的15个基本表,如表1所示。表1 数据库中的基本表列表数据库类型表名描述SQL SERVER2000用户表User存放用户的基本信息角色表Role存放不同角色所拥有的权限信息新闻表News存放系统新闻的基本信息公告表Notice存放系统发布的公告信息用户等级表Level存放不同信誉分对应的等级信息博客文章分类表BlogCatalog存放用户博客文章分类信息文章表BlogArticle存放用户博客文章基本信息文章评论表Blog

6、Comment存放用户评论文章基本信息XML数据库任务版面表Board.xml存放用户发布任务类别的信息任务表Task.xml存放用户发布任务的基本信息任务回复表Reply.xml存放用户回复任务的基本信息任务完成表TaskDone.xml存放用户完成任务的信息附件表Attachment.xml存放用户上传附件的基本信息短信息表Message.xml存放用户短信息的基本信息短信息屏蔽表MessageShield.xml存放被屏蔽短信息权利的用户的信息2.4 数据库存储过程本系统充分利用了存储过程中的优势,实现了很多复杂的数据访问过程,任务中心模块采用XML数据库访问编程,不涉及数据库的存储过程

7、,其它模块主要涉及到的存储过程(部分)如表2所示。表2 部分主要存储过程列表存储过程描述Pr_AddRole增加角色信息Pr_AddUser增加用户信息Pr_CheckUser检查用户登录信息正确性Pr_DeleteRole删除角色信息Pr_DeleteUser删除用户信息Pr_GetRoles获取全部角色信息Pr_GetSingleRole获取某个角色信息Pr_GetSingleUser获取某个用户信息Pr_GetUserLogin获取用户登录信息Pr_GetUsers获取全部用户Pr_UpdateRole修改角色信息Pr_UpdateUser修改用户信息Pr_UpdateUserPwd修改

8、用户密码Pr_UpdateUserRole修改用户角色Pr_DeleteBlogArticleComment删除文章评论Pr_GetSingleBlogCatalog根据用户ID获取文章分类Pr_GetNews获取全部新闻Pr_AddNews添加新闻Pr_UpdateNews更新新闻信息Pr_DeleteNews删除信息Pr_AddBlogCatalog添加博客文章信息Pr_AddBlogCatalog用户添加博客文章类别Pr_UpdateBlogCatalog用户修改博客文章类别Pr_DeleteBlogCatalog用户删除博客文章类别Pr_GetBlogArticles根据用户ID获取用

9、户的全部文章Pr_GetBlogCatalogs根据用户ID获取用户的文章类别Pr_GetBlogArticleByCatalog获取用户的一个类别中的全部文章Pr_GetSingleBlogArticle获取用户文章信息Pr_GetBlogArticleByDate根据日期获取用户的当天发表的文章Pr_DeleteBlogArticle删除用户博客文章Pr_UpdateBlogArticle修改用户博客文章信息3 系统部分模块设计与实现3.1 系统框架设计与实现主页面是一个框架文件(frameset),包括ManageOperateTree.aspx、head.aspx和主操作区,Manag

10、eOperateTree.aspx是左边的菜单栏,显示各个模块菜单,用TREEVIEW控件实现菜单效果,header.aspx是上方的页眉提示区,主操作区默认页面是显示友好提示页面.用户在此主页面单击左边的模块菜单栏,右边的主操作区将切换显示相应模块内容。后台管理中心界面图如图3所示。图3 后台管理中心界面图当用户访问后台页面时,首先判定用户是否登录,否则返回上个页面。如用户已登录,则根据session中的值判定用户的用户角色,如不属于管理员级同样返回上个页面,部分后台实现代码如下所示: /处理登录 User user = new User(); SqlDataReader dr = user

11、.GetUserLogin(AdminName.Text.Trim(), (Encrypt(AdminPwd.Text).Trim(); bool isLogin = false; if (dr.Read() /创建用户信息 UserInfo info = new UserInfo(); info.UserID = DataTypeConvert.ConvertToInt(dr"ID".ToString(); info.UserName = AdminName.Text; info.LoginDate = DateTime.Now; info.RoleID= DataTyp

12、eConvert.ConvertToInt(dr"RoleID".ToString(); /保存登录信息到Session中 UserCommonOperation.StoreUserInfo(Session, info); /标识登录成功 isLogin = true; dr.Close(); if (true = isLogin) Server.Transfer("/Admin/ManageCenter.aspx"); 3.2 任务信息管理模块设计与实现任务信息管理模块主要实现管理员管理用户发布的任务,可对任务修改属性,编辑和删除任务。任务管理中还具备

13、搜索用户任务的功能,管理员可通过三种方式搜索用户的任务,分别是任务关键字搜索,根据用户名搜索任务和按照发布时间搜索用户任务。用户界面如图4所示。图4 任务信息管理界面图任务管理默认是显示全部任务,用户也可根据不同搜索方式显示任务。当选择基于关键字的搜索时,用户可输入任务标题或内容的关键字搜索任务,搜索完成后,重新绑定任务显示列表得到用户期望得到的任务。下面简单说下基于关键字的搜索的实现过程。因为任务的存储是采用XML数据库存取,XML提供了更有意义的搜索。 XML的标记含义丰富、意义明确,明白地提示所标记的内容,所以让搜索依靠标记和内容之间的依存关系,准确地定位、找到目标、完成任务。所以XML

14、可以提供更准确的搜索。方法CommonOperation.DataBinder.BindGridViewData(gvTitle, task. GetTitleBy NameKey(tbKey.Text.Trim()是用来将用户逻辑层中的Task.cs的public DataTable Get TitleByBodyKey(string key)方法得到数据源绑定到Gridview控件的。GetTitleByBodyKey(string key)方法首先定义了XmlParamter类型参数,XmlDatabase. CreateLikeParameter("Name",ke

15、y)方法实现了查询与key有部分数据相似的参数并返回一个参数列表,再由XmlDatabase.GetData (XmlWork. TitleFilePath, Title TableName, param)方法返回一个DataTable对象,然后交给BindGridViewData方法将数据源绑定到控件,BindGridViewData方法的代码封装在CommonOperation工程里。下面给出根据关键字创建参数列表的部分代码: private static XmlParamter CreateParameter(string name,string value,ParameterDirec

16、tion direciton) XmlParamter p = new XmlParamter();p.Name = name;p.Value = value;p.Direction = direciton; return p; public static XmlParamter CreateLikeParameter(string name,string value) return CreateParameter(name,value,ParameterDirection.Like); 任务管理模块还有任务版块管理子模块,可按照用户的需求增加或减少任务的种类。还可以根据需要编排任务种类的次序

17、,界面图如图5所示。图5 任务版块管理界面图如上图所示,当用户选择一个节点后,可以进行相关操作,如上移,下移,修改删除版面,新增版面,还可进入该版面进行相关种类任务的管理。任务版面信息是通过树型控件用递归方法读取XML文件加以实现的,具体实现代码如下所示:public void CreateHiberarchyTree(TreeNode parentNode,bool isAddUrl,bool isGuest)if(parentNode = null) return;/获取数据DataTable dt = GetBoards();if(dt = null) return;/创建其他节点Cre

18、ateChildBoard(parentNode,dt,isAddUrl,isGuest);private void CreateChildBoard(TreeNode parentNode,DataTable dt,bool isAddUrl,bool isGuest)/选择子节点DataRow rows = dt.Select("ParentID='" + parentNode.Value + "'");foreach(DataRow row in rows) /创建新节点TreeNode node = new TreeNode();

19、node.Text = row"Name".ToString();node.Value = row"ID".ToString();if(isAddUrl = true) if(isGuest = false)node.NavigateUrl = "/Portal/TitleManage.aspx?BoardID=" + row"ID".ToString();elsenode.NavigateUrl = "/Portal/ViewBoard.aspx?BoardID=" + row"ID

20、".ToString(); node.Target = "Desktop"parentNode.ChildNodes.Add(node);/递归调用,创建其他节点 CreateChildBoard(node,dt,isAddUrl,isGuest);4 系统技术创新与总结4.1 主要技术与系统创新点本系统采用了基于.NET的B/S三层体系结构,即UI层、业务逻辑层和数据层。主要用到的技术有ASP.NET、C#、ADO.NET、XML、AJAX。在数据库的设计上,本系统的主要创新点是采取了SQL SERVER 2000数据库跟XML数据库共同存取数据的存取设计。其中

21、,任务模块采用了XML数据库的设计模式,而其它模块的数据则是存取在SQL SERVER 2000。本系统客观上需要用一种应用方式将其丰富的数据有效地发布出来,以消除平台差异、增强语义描述功能、降低环境要求,所以本系统采取了数据库管理系统与XML数据库结合的设计模式。其次,系统通过四个基础工程封装了所有的数据访问操作,大大地减少了代码的重复编写,提高了编程效率。用户对数据库的执行操作全部用存储过程实现,有利于防止SQL注入攻击。系统使用存储过程控制给定的用户对某个数据表中的数据访问权限,通过关联过滤掉没有访问权限的数据,从而形成权限控制策略。另外,任务模块中的任务显示列表采取了ASP.NET A

22、JAX的页面部分更新技术,管理任务时感觉不到页面的刷新。服务器和浏览器之间交换的数据大量减少。同时很多的处理工作可以在发出请求的客户端机器上完成,所以Web服务器的处理时间也减少了。4.2 收获与总结在开发校园Work2.0的过程中,在技术方面有了一定的认识和收获。本系统的任务模块采取了XML数据库的编程方式,一来是利用XML文件的灵活性和可伸展性,能够将在以前的数据库中难以处理的数据转化成数据库;二来是利用XML的粒度更新实现页面的部分刷新,提高页面浏览效率,还可与ASP.NET AJAX技术结合实现系统功能的拓展。XML可以用于本地数据的计算。传递到桌面的数据可以进行本地计算。可以为用户提

23、供正确的结构化数据视图。传递到桌面的数据可以以多种方式表示。允许集成不同来源的结构化数据,使该数据能够传递给桌面或者其它服务器,做进一步处理。通过粒度更新可以提高系统性能。有了粒度更新后,只有改变的元素才从服务器发送到客户机。综上所述,可以利用SQL SERVER 2000和XML各自的优点,对这两种数据库交互使用,以达到更好的数据存取效率,更接近业务的逻辑,灵活地组织网站各种数据和多媒体资源,而且在数据查询上强大的XQuery查询语言配合XSL可以产生任何你期望的输出(XML/HTML /WML/PDF等等)。作为一种新技术,XML很多标准在制定中,而且技术派系众多,数据库的成熟度还有待提高,性能的考验需要时间。但是作为未来Web技术的主要基石,XML数据库已

温馨提示

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

最新文档

评论

0/150

提交评论