威客网的设计与实现.docx

上传人:b****5 文档编号:6992542 上传时间:2023-01-15 格式:DOCX 页数:41 大小:1.58MB
下载 相关 举报
威客网的设计与实现.docx_第1页
第1页 / 共41页
威客网的设计与实现.docx_第2页
第2页 / 共41页
威客网的设计与实现.docx_第3页
第3页 / 共41页
威客网的设计与实现.docx_第4页
第4页 / 共41页
威客网的设计与实现.docx_第5页
第5页 / 共41页
点击查看更多>>
下载资源
资源描述

威客网的设计与实现.docx

《威客网的设计与实现.docx》由会员分享,可在线阅读,更多相关《威客网的设计与实现.docx(41页珍藏版)》请在冰豆网上搜索。

威客网的设计与实现.docx

威客网的设计与实现

计算机科学与技术学院

毕业设计(论文)

论文题目

威客网的设计与实现

指导教师

职称

副教授

学生姓名

学号

专业

班级

系主任

院长

起止时间

2013年10月11日至2014年5月23日

2014年5月23日

 

威客网的设计与实现

摘要:

威客是指在网络时代凭借自己的能力(智慧和创意),在互联网上出售自己的富裕工作时间和劳动成果而获得报酬的人;而威客类网站的出现,为有知识生产加工能力的个人创造了一个销售知识产品的商业平台和机会。

此系统的设计正是为有需求或者有能力的的用户提供一个实用的网络服务平台,系统采用了B/S的模式,使用java语言技术,并结合了struts2、Spring、Hibernate框架技术,完成了一个基本满足用户需求的威客系统,并且系统具有一定的稳定性、安全性和拓展性。

关键词:

威客网;Java;Struts2;Spring;Hibernate

 

DesignandrealizationofWitkeynet

Abstract:

Witkey isrefersinthenetworkerabyvirtueoftheirability(intelligenceandcreativity),toselltheirrichworkingtimeandlaborandgetpaidontheInternet;TheemergenceofWitkeywebsitecreatedamarketingknowledgeproductsbusinessplatformandopportunityfortheabilityofknowledgeproductionandprocessingofindividual.Designofthissystemisforuserswithdemandorhavetheabilitytoprovideapracticalnetworkserviceplatform,thesystemadoptsB/Smode,useJavalanguagetechnology,combinedwiththestruts2framework,Spring,Hibernate,completedabasicmeetuserrequirementsofsystem,andthesystemhascertainstability,securityandexpansibility.

Keywords:

witkeynet;Java;Struts2;Spring;Hibernate

第一章绪论

随着互联网技术的不断变革,电子商务已经得到的广泛的推广和极大的发展,相信在未来的一段时间里,会日趋成熟。

不出家门,人们可以通过互联网买到全世界各的的商品,商人可以通过互联网电子商务的模式在网上进行商品营销和推广,增加商品的曝光率和品牌知名对的提升。

同时,作为商家和生产厂家,可以以互联网为平台将产品推广出去,扩大销量,提升品牌知名度。

使得人们的生活更加方便,更加有效率。

但是商品指的并不仅仅市实体的产品,随着电子商务的日渐成熟,无形的商品也登上了舞台。

而“威客”这种新型电子商务模式的提出和发展,使得传统电子商务模式中常被忽略的“知识产权”这种无形商品成为了与普通商品一样可交易的产品。

这种商业模式使得电子商业跨上了一个“智慧交易”的崭新台阶,使得更多的知识分子能够将自己的知识、技术、创意等等无形资产通过网络转化成有形的资产。

1.1选题的背景

威客网的出现是市场作用的体现,随着一种新型的商品交换模式,威客随着互联网的发展而发展。

从本世纪初,互联网开始加速发展,各种创新型应用和互联网新概念不断出现,搜索引擎、电子商务、博客、维基百科、RSS、3G、web2.0、长尾理论等。

这些应用和概念与知识管理都有着或多或少的关系。

随着物联网支付的诞生,信息免费的时代就已经过去了。

信息已经成为了一种有价值的商品,极大的增加了知识的创新和发展。

利用这些理论成果对知识产权进行合理的管理。

威客模式就在这种情况下诞生了,它是一种利用互联网进行知识管理的网络创新模式。

最初的威客网简单来说就是一个平台,通过一种悬赏的模式,将任务发布出去,寻找合适的人完成,一部分由项目完成者获得,一部分由该平台获得。

但是随着时代的发展,威客网的模式也呈现多元化,有创意产品威客模式、劳务服务威客模式、定向威客服务模式和一对一直接雇佣模式、综合性威客服务模式。

他们自身的定位不同,提供不同的模式的服务体系。

现今主要的一些威客网友:

一品威客网、西游记威客网、威客管家、云创意威客网等。

威客网的最初的形式是Witkey和威客这两个词完全为中国首创。

该概念最先由刘锋在中国科学院研究生院提出。

2005年,刘锋开始建立威客网witkeycom试图将中国科学院的专家资源,科技成果与企业的科技难题对接起来。

在建设网站的过程中,刘锋发现通过互联网解决问题并让解决者获取报酬是互联网一个全新的领域,于是他开始通过边实践边总结的方式对这个领域进行探讨和研究,并因此提出威客理论。

1.2选题的研究意义

传统的电子商务模式有淘宝,阿里巴巴,环球市场等,它们主要是将商品限定为有形商品在网络中进行交易,或者是充值卡之类的半有形商品,却很难对知识,创意的无形商品交易。

然而,在日常生活中,经常会有一些自己难以解决的问题,需要别人帮助解决,然而由于问题的复杂程度,无法找到免费的帮助。

传统情况下,只能够寻找专门的运营机构——例如点子公司、设计公司、文档处理公司等等,这会造成大量的时间和资源的浪费,并且会降低工作效率。

举一个简单的例子,假如一张图片,你需要进行处理,如果你拿到专门的公司里去设计,不仅收费贵,而且麻烦,但是在威客网上,只要发布任务,就有人自动找上来,而且价格有你来定。

在威客模式下,用户被分为两种类别,一种是任务的发布者,一种是威客:

它们在威客模式中,扮演着不同的角色和功能。

任务的发布者,在网上发布一些自己无法解决的问题,根据问题的难易程度,提供相应的金额的赏金,一般来说,提供的赏金越高,越容易威客攻破。

网络的广泛性和赏金的吸引力会使得数量可观的威客来为发布任务者提供不同的问题解决方案,这样,发布者可以用等同或低于传统渠道的金额换取大量不同的解决方案,并从中选取自己最满意的解决方案。

这样极大的提高了工作效率,节省了大量的金钱和时间,并且由于网络的特性,使得发布者可以更加方便的在家中解决大量问题。

作为威客,可以在网络上寻找自己最擅长的任务,将自己的知识、技术、创意等无形资产方便的转换成金钱,相比传统的方式——进入专门提供解决方案的公司工作,威客方式更加灵活,更加自由,也更加方便快捷。

同时,威客可以作为一种兼职工作,将生活中闲置的时间充分地利用起来,给自己带来更多的财富。

第二章关键技术介绍

1.1Java语言

Java是一种可以撰写跨平台应用软件的面向对象的程序设计语言,是由SunMicrosystems公司Java程序设计语言和Java平台(即JavaSE,JavaEE,JavaME)的总称。

Java技术具有卓越的通用性、高效性、平台移植性和安全性,广泛应用于个人PC、数据中心、游戏控制台、科学超级计算机、移动电话和互联网,同时拥有全球最大的开发者专业社群。

在全球云计算和移动互联网的产业环境下,Java更具备了显著优势和广阔前景。

1.2Mysql

MySQL是一个精巧的SQL数据库管理系统,虽然它不是开放源代码的产品,但在某些情况下你可以自由使用。

由于它的强大功能、灵活性、丰富的应用编程接口(API)以及精巧的系统结构,受到了广大自由软件爱好者甚至是商业软件用户的青睐,特别是与Apache和PHP/PERL结合,为建立基于数据库的动态网站提供了强大动力。

MySQL是一个真正的多用户、多线程SQL数据库服务器。

SQL(结构化查询语言)是世界上最流行的和标准化的数据库语言。

MySQL是以一个客户机/服务器结构的实现,它由一个服务器守护程序mysqld和很多不同的客户程序和库组成。

1.3Struts2

Struts2看似是从Struts1发展而来,但实际上Struts2与Struts1在框架的设计思想上面还是有很大的区别,Struts2是以WebWork的设计思想为核心,为什么Struts2不沿用Struts1的设计思想,毕竟Struts1在目前的企业应用中还是有非常大的市场在的,那么,来看下Struts1的一些缺点吧:

   1)支持的表现层技术单一

   2)与ServletAPI严重耦合,这点可以从Action的Execute的方法声明里面就可以看的出来

   3)代码依赖Struts1API,有侵入性,这点可以从写Action类和FormBean的时候看的出来,Action必须实现Struts的Action类

    而Struts2之所以以WebWork的设计思想为其核心,一点就是最近WebWork的上升势头,再就是WebWork没有Struts1上面的那些缺点,更符合MVC的设计思想,也更利于代码的复用。

   基于以上介绍可以看的出,Struts2体系结构与Struts1的体系结构有很大的差别,Struts1是使用ActionServlet做为其中心处理器,Struts2则使用一个拦截器(FilterDispatcher)做为其中心处理器,这样做的一个好处就是将Action类和ServletAPI进行了分离。

Struts2的简单处理流程如下:

   1)浏览器发送请求

   2)中心处理器根据struts.xml文件查找对应的处理请求的Action类

   3)WebWork的拦截器链自动对请求应用通用功能,例如:

WorkFlow、Validation等功能

  4)如果Struts.xml文件中配置Method参数,则调用Method参数对应的Action类中的Method方法,否则调用通用的Execute方法来处理用户请求

   5)将Action类中的对应方法返回的结果响应给浏览器

1.4Spring

Spring是一个开源框架,是为了解决企业应用程序开发复杂性而创建的。

框架的主要优势之一就是其分层架构,分层架构允许您选择使用哪一个组件,同时为J2EE应用程序开发提供集成的框架;Spring框架主要可以分为3个核心内容:

 1、容器:

核心容器提供Spring框架的基本功能。

核心容器的主要组件是BeanFactory,它是工厂模式的实现。

BeanFactory使用控制反转(IOC)模式将应用程序的配置和依赖性规范与实际的应用程序代码分开。

2、控制反转(IoC,InversionofControl):

不创建对象,但是描述创建它们的方式。

在代码中不直接与对象和服务连接,但在配置文件中描述哪一个组件需要哪一项服务。

容器(在Spring框架中是IOC容器)负责将这些联系在一起。

3、面向切面编程(AOP,Aspect-OrientedProgramming):

通过配置管理特性,SpringAOP模块直接将面向方面的编程功能集成到了Spring框架中。

所以,可以很容易地使Spring框架管理的任何对象支持AOP。

SpringAOP模块为基于Spring的应用程序中的对象提供了事务管理服务。

通过使用SpringAOP,不用依赖EJB组件,就可以将声明性事务管理集成到应用程序中。

1.5Hibernate

Hibernate是一个基于Java的开源的持久化中间件,对JDBC做了轻量的封装。

采用ORM映射机制,负责实现Java对象和关系数据库之间的映射,把sql语句传给数据库,并且把数据库返回的结果封装成对象。

内部封装了JDBC访问数据库的操作,向上层应用提供了面向对象的数据库访问API.

优点:

以对象的形式操作数据,提高开发效率,不用关心数据库种类(换数据库只要修改配值文件。

第三章系统分析

2.1需求分析

通过对威客网工作流程的研究和分析,要求本系统应该具有以下功能:

1、前台功能

(1)实现会员注册、登陆系统的功能;

(2)实现显示所有发布的任务并可以进行筛选等功能;

(3)实现管理任搜索并筛选的功能;

(4)实现会员可以发布任务的功能;

(5)实现会员可以提交任务稿件的功能;

(6)实现管理自身发布的任务和稿件等功能;

(7)实现查看最新任务和高额任务等功能;

(8)实现对用户数据统计的功能;

(9)实现显示并查看系统公告和中标的功能;

(10)实现威客帮助中心的功能。

2、后台功能

(1)实现管理任务类别的功能;

(2)实现管理任务的功能;

(3)实现管理会员的功能;

(4)实现管理系统公告的功能;

(5)实现管理帮助中心的功能;

2.2可行性分析

2.2.1技术可行性

本系统采用WindowsXP作为操作平台。

基于javaweb技术,使用mysql数据库,充分体现了网页的动态管理与数据库的连接,对数据库的查询、修改及其删除。

2.2.2经济可行性

威客模式的英文是witkey,寓意于是通过个人的智慧,知识,专业专长在互联网上通过劳作转化为实际收入的模式,威客模式认为人的智慧,知识,经验可以通过互联网转化为商品,通过互动问答的方式,提供有效的信息,体现商品的价值。

这种商品属于电子商务中的信息商品的范畴。

2.2.3操作可行性

系统操作方式简单,易于理解,营运环境要求低,不管是发布者和威客只需要通过简单的培训即可操作。

2.3系统开发与运行环境分析

服务器端的工作环境要求如下:

操作系统:

WindowsXP或更高。

(本机是用WindowsXP系统)

数据库管理系统:

MySQL数据管理系统,也可以采用其它数据系统。

Web服务器:

Tomcat。

客户机的工作环境要求如下:

网页浏览器:

IE6及以上、360浏览器5.0以上以及其他浏览器

第四章系统设计

4.1系统设计原则

本系统的设计遵循以下设计原则:

(1)实用性:

根据当代人的需求合理设计系统。

(2)可靠性:

系统的软件设计、数据库设计和界面形式等各方面要详细的考虑,要做到可靠性,采用广泛使用的成熟技术和产品,将故障率降至最低。

(3)易管理性:

系统管理员可以及时方便的对系统进行管理,具备对威客网进行更新调整的能力。

(4)安全性:

为了保障系统平稳正常的运行,以及数据的完整性,整个系统必须有很好的安全性。

(5)友好性:

系统界面要友好,操作上要求简单方便,便于用户掌握。

(6)可扩展性:

采用开放的标准和接口,以便于系统后续的发展和功能上的扩充

4.2功能模块的划分

项目整体模块

图如下图4.1所示。

图4.1功能模块结构图

1.用户注册登陆:

是提供给没有威客帐户的网民注册威客用户和登陆平台。

2.查看任务详细:

提供给用户查询任务详细内容参与任务等功能的模块。

3.发布悬赏任务:

发布者即为用户在威客网上发布任务,填写任务具体的内

容要求。

4.参与任务提交:

用户登陆后,可以进入任务大厅或者通过搜索筛选自己感兴趣的任务进行提交稿件方案。

5.管理我的任务与稿件:

提供给用户管理自己发布的任务与提交的稿件。

6.查看网站公告于帮助:

提供给用户查看系统和中标的公告和查看一些系统帮助。

7.后台登陆:

管理员通过密钥登陆后台所经过的一个窗口。

8.所有任务类别管理:

管理员登陆后可以对任务的类别进行管理。

9.管理所有任务:

管理员登陆后可以对用户发布的任务进行管理。

10.管理所有的注册用户:

管理员登陆后对所有的注册用户进行管理。

11.管理系统公告:

管理员登陆后对系统的公告进行管理。

12.管理帮助中心:

管理员登陆后对帮助中心进行管理。

4.3威客网的任务发布流程

1.用户注册:

不管是发布者还是威客都需要在威客主页上有一个用户名,可以选择注册用户,注册一个新的威客会员帐号,如果有帐号则直接登录。

2.用户登录威客:

用户用所注册的威客帐号登录威客系统。

3.填写任务需求:

在主界面选择通过点击悬赏按钮发布悬赏任务,而后根

据表格的要求填写,其中包括任务标题,任务类别,结束时间,悬赏金

额,任务内容等信息。

4.托管任务赏金:

根据自己所填写的任务金额,汇款至威客网站帐户。

5.发布任务:

托管赏金后,管理员通过审核将发布者的需求信息直接将用户的任务发布与威客网站首页,供给广大网民查看和有意向的用户参与竞标。

威客网站任务发布流程如下图4.2所示:

图4.2发布任务流程图

4.4威客网的稿件提交流程

1.注册威客:

在威客主页选择注册用户,注册自己的威客会员帐号,如果有

帐号则直接登陆。

登陆后方可竞标。

2.查看任务列表:

登陆后,用户在任务大厅查看任务列表,看是否有自己感

兴趣的任务然后参与竞标。

3.参加任务:

点击自己想参加的任务竞标项目,在该任务页面点击我要交

稿。

4.提交作品:

根据表单内容填写自己参加任务所要提供的任务作品。

5.发布人选择中标:

在任务截止时间到期之前,任务发布人可以在众多稿

件当中选择自己最满意的任务作品并宣告竞标用户中标。

6.发布赏金:

管理员根据中标用户汇款项至中标用户帐户。

任务竞标流程图如下图4.3所示:

图4.3接取任务流程图

4.5数据库设计

4.5.1系统E-R图

图4.4系统E-R图1

图4.5系统E-R图2

图4.6系统E-R图3

4.5.2数据库逻辑结构设计

本系统的数据库管理系统采用MySQL,其数据库名为“vike”。

(1)user(图书表)。

具体数据表结构如表4.1所示。

表4、1user数据表结构

字段名

字段含义

数据类型

主键

允许空

id

用户id

int(11)

userName

用户名

varchar(25)

passWord

密码

varchar(25)

experience

经验值

int(11)

balance

账户余额

double

email

邮箱

varchar(25)

(2)assignment(任务表)。

具体数据表结构如表4.2所示。

表4.2assignment数据表结构

字段名

字段名

数据类型

主键

允许空

id

任务id

int(11)

categoryId

所在类别id

int(11)

title

任务标题

varchar(25)

detail

详细描述

longtext

fileName

附件文件名

varchar(255)

need

需求个数

int(11)

续表4、2

字段名

字段名

数据类型

主键

允许空

pay

赏金

int(11)

pubDate

发布日期

datetime

endDate

截止日期

date

contributionCount

稿件个数

int(11)

currentNeed

当前需求

int(11)

uid

发布人id

int(11)

stauts

任务状态

int(11)

(3)contribution(稿件表)。

具体数据表结构如表4.3所示。

表4.3contribution数据表结构

字段名

字段含义

数据类型

主键

允许空

id

稿件id

int(11)

content

稿件描述

longtext

picture

稿件图片

varchar(60)

fileName

附件文件名

varchar(255)

hidden

是否隐藏

tinyint

(1)

pubDate

发布日期

datetime

status

稿件状态

int(11)

passDate

审核时间

datetime

assignmentId

所在任务id

int(11)

uid

发布人id

int(11)

(4)category(任务类别表)。

具体数据表结构如表4.4所示。

表4.4category数据表结构

字段名

字段含义

数据类型

主键

允许空

categoryId

类别id

int(11)

categoryDescribe

类别描述

varchar(25)

categoryName

类别名称

varchar(25)

parentCategoryId

父类别id

int(11)

(5)announcement(系统公告表)。

具体数据表结构如表4.5所示。

表4.5announcement数据表结构

字段名

字段含义

数据类型

主键

允许空

id

公告id

int(11)

title

公告标题

varchar(25)

content

公告内容

longtext

pubDate

发布日期

datetime

 

(6)datetmp(截止日期表)。

具体数据表结构如表4.6所示。

表4.6datetmp数据表结构

字段名

字段含义

数据类型

主键

允许空

id

表id

int(11)

endDate

任务截止日期

date

assignmentId

任务id

int(11)

(7)problem(帮助问题表)。

具体数据表结构如表4.7所示。

表4.7problem数据表结构

字段名

字段含义

数据类型

主键

允许空

id

表id

int(11)

question

问题描述

varchar(25)

answer

问题答案

longtext

helpful

帮助个数

int(11)

type

问题所在栏目

int(11)

(8)manager(管理员表)。

具体数据表结构如表4.8所示。

表4-8manager数据表结构

字段名

字段含义

数据类型

主键

允许空

id

管理员id

int(11)

name

管理员名称

varchar(25)

passWord

管理员密码

varchar(25)

grade

管理员权限

int(11)

 

第五章系统实现

5.1Spring与Hibernate的整合

本系统使用的Spring版本为4.0.0,Hibernate版本为4.2.0。

在Spring与Hibernate的整合中,主要把Hibernate的SessionFactory和事务管理交由Spring管理。

所以,在spring4-

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

当前位置:首页 > 自然科学 > 生物学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1