威客网的设计与实现毕业设计(论文)

威客网的设计与实现毕业设计(论文)

ID:11683567

大小:1.95 MB

页数:47页

时间:2018-07-13

上传者:U-3868
威客网的设计与实现毕业设计(论文)_第1页
威客网的设计与实现毕业设计(论文)_第2页
威客网的设计与实现毕业设计(论文)_第3页
威客网的设计与实现毕业设计(论文)_第4页
威客网的设计与实现毕业设计(论文)_第5页
资源描述:

《威客网的设计与实现毕业设计(论文)》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库

计算机科学与技术学院毕业设计(论文)论文题目威客网的设计与实现指导教师职称副教授学生姓名学号专业班级系主任院长起止时间2013年10月11日至2014年5月23日2014年5月23日 目录摘要iAbstractii第一章绪论11.1选题的背景11.2选题的研究意义2第二章关键技术介绍11.1Java语言11.2Mysql11.4Spring2第三章系统分析42.1需求分析42.2可行性分析42.2.1技术可行性42.2.2经济可行性52.2.3操作可行性52.3系统开发与运行环境分析5第四章系统设计64.1系统设计原则64.2功能模块的划分64.3威客网的任务发布流程84.4威客网的稿件提交流程84.5数据库设计94.5.1系统E-R图94.5.2数据库逻辑结构设计10第五章系统实现135.1Spring与Hibernate的整合135.2Struts2、Spring与Hibernate的整合145.3系统前台主要功能模块设计与实现14 5.3.1任务实体类定义145.3.2稿件实体类定义175.3.3持久化操作默认实现类195.3.4威客网站主界面设计与实现225.3.5威客网用户注册设计与实现225.3.6威客用户登陆设计与实现235.3.7威客发布任务设计与实现245.3.8威客任务大厅设计与实现255.3.9威客用户提交稿件设计与实现265.3.10任务详细信息页面设计与实现275.3.11我的威客界面设计与实现285.3.12威客网名人殿堂设计与实现285.3.13威客网帮助中心设计与实现295.4系统后台主要功能模块设计与实现315.4.1后台管理任务类别模块设计与实现315.4.2后台管理所有任务模块设计与实现315.4.3后台管理所有用户模块设计与实现315.4.4后台管理系统公告模块设计与实现325.4.5后台管理帮助中心模块设计与实现33第六章系统测试346.1系统测试原则346.2系统测试用例346.2.1用户注册测试346.2.2用户登录测试346.2.3任务发布测试366.2.4稿件提交测试376.2.5其他测试38总结与展望39参考文献40谢辞42 威客网的设计与实现摘要:威客是指在网络时代凭借自己的能力(智慧和创意),在互联网上出售自己的富裕工作时间和劳动成果而获得报酬的人;而威客类网站的出现,为有知识生产加工能力的个人创造了一个销售知识产品的商业平台和机会。此系统的设计正是为有需求或者有能力的的用户提供一个实用的网络服务平台,系统采用了B/S的模式,使用java语言技术,并结合了struts2、Spring、Hibernate框架技术,完成了一个基本满足用户需求的威客系统,并且系统具有一定的稳定性、安全性和拓展性。关键词:威客网;Java;Struts2;Spring;Hibernatei DesignandrealizationofWitkeynetAbstract:Witkey isrefersinthenetworkerabyvirtueoftheirability(intelligenceandcreativity),toselltheirrichworkingtimeandlaborandgetpaidontheInternet;TheemergenceofWitkeywebsitecreatedamarketingknowledgeproductsbusinessplatformandopportunityfortheabilityofknowledgeproductionandprocessingofindividual.Designofthissystemisforuserswithdemandorhavetheabilitytoprovideapracticalnetworkserviceplatform,thesystemadoptsB/Smode,useJavalanguagetechnology,combinedwiththestruts2framework,Spring,Hibernate,completedabasicmeetuserrequirementsofsystem,andthesystemhascertainstability,securityandexpansibility.Keywords:witkeynet;Java;Struts2;Spring;Hibernateii 南华大学计算机科学与技术学院毕业设计(论文)-------------------------------------------------------------------------------------------第一章绪论随着互联网技术的不断变革,电子商务已经得到的广泛的推广和极大的发展,相信在未来的一段时间里,会日趋成熟。不出家门,人们可以通过互联网买到全世界各的的商品,商人可以通过互联网电子商务的模式在网上进行商品营销和推广,增加商品的曝光率和品牌知名对的提升。同时,作为商家和生产厂家,可以以互联网为平台将产品推广出去,扩大销量,提升品牌知名度。使得人们的生活更加方便,更加有效率。但是商品指的并不仅仅市实体的产品,随着电子商务的日渐成熟,无形的商品也登上了舞台。而“威客”这种新型电子商务模式的提出和发展,使得传统电子商务模式中常被忽略的“知识产权”这种无形商品成为了与普通商品一样可交易的产品。这种商业模式使得电子商业跨上了一个“智慧交易”的崭新台阶,使得更多的知识分子能够将自己的知识、技术、创意等等无形资产通过网络转化成有形的资产。1.1选题的背景威客网的出现是市场作用的体现,随着一种新型的商品交换模式,威客随着互联网的发展而发展。从本世纪初,互联网开始加速发展,各种创新型应用和互联网新概念不断出现,搜索引擎、电子商务、博客、维基百科、RSS、3G、web2.0、长尾理论等。这些应用和概念与知识管理都有着或多或少的关系。随着物联网支付的诞生,信息免费的时代就已经过去了。信息已经成为了一种有价值的商品,极大的增加了知识的创新和发展。利用这些理论成果对知识产权进行合理的管理。威客模式就在这种情况下诞生了,它是一种利用互联网进行知识管理的网络创新模式。最初的威客网简单来说就是一个平台,通过一种悬赏的模式,将任务发布出去,寻找合适的人完成,一部分由项目完成者获得,一部分由该平台获得。但是随着时代的发展,威客网的模式也呈现多元化,有创意产品威客模式、劳务服务威客模式、定向威客服务模式和一对一直接雇佣模式第41页共42页 南华大学计算机科学与技术学院毕业设计(论文)-------------------------------------------------------------------------------------------、综合性威客服务模式。他们自身的定位不同,提供不同的模式的服务体系。现今主要的一些威客网友:一品威客网、西游记威客网、威客管家、云创意威客网等。威客网的最初的形式是Witkey和威客这两个词完全为中国首创。该概念最先由刘锋在中国科学院研究生院提出。2005年,刘锋开始建立威客网witkeycom试图将中国科学院的专家资源,科技成果与企业的科技难题对接起来。在建设网站的过程中,刘锋发现通过互联网解决问题并让解决者获取报酬是互联网一个全新的领域,于是他开始通过边实践边总结的方式对这个领域进行探讨和研究,并因此提出威客理论。1.2选题的研究意义传统的电子商务模式有淘宝,阿里巴巴,环球市场等,它们主要是将商品限定为有形商品在网络中进行交易,或者是充值卡之类的半有形商品,却很难对知识,创意的无形商品交易。然而,在日常生活中,经常会有一些自己难以解决的问题,需要别人帮助解决,然而由于问题的复杂程度,无法找到免费的帮助。传统情况下,只能够寻找专门的运营机构——例如点子公司、设计公司、文档处理公司等等,这会造成大量的时间和资源的浪费,并且会降低工作效率。举一个简单的例子,假如一张图片,你需要进行处理,如果你拿到专门的公司里去设计,不仅收费贵,而且麻烦,但是在威客网上,只要发布任务,就有人自动找上来,而且价格有你来定。在威客模式下,用户被分为两种类别,一种是任务的发布者,一种是威客:它们在威客模式中,扮演着不同的角色和功能。任务的发布者,在网上发布一些自己无法解决的问题,根据问题的难易程度,提供相应的金额的赏金,一般来说,提供的赏金越高,越容易威客攻破。网络的广泛性和赏金的吸引力会使得数量可观的威客来为发布任务者提供不同的问题解决方案,这样,发布者可以用等同或低于传统渠道的金额换取大量不同的解决方案,并从中选取自己最满意的解决方案。这样极大的提高了工作效率,节省了大量的金钱和时间,并且由于网络的特性,使得发布者可以更加方便的在家中解决大量问题。作为威客,可以在网络上寻找自己最擅长的任务,将自己的知识、技术、创意等无形资产方便的转换成金钱,相比传统的方式——第41页共42页 南华大学计算机科学与技术学院毕业设计(论文)-------------------------------------------------------------------------------------------进入专门提供解决方案的公司工作,威客方式更加灵活,更加自由,也更加方便快捷。同时,威客可以作为一种兼职工作,将生活中闲置的时间充分地利用起来,给自己带来更多的财富。第41页共42页 南华大学计算机科学与技术学院毕业设计(论文)-------------------------------------------------------------------------------------------第二章关键技术介绍1.1Java语言Java是一种可以撰写跨平台应用软件的面向对象的程序设计语言,是由SunMicrosystems公司Java程序设计语言和Java平台(即JavaSE,JavaEE,JavaME)的总称。Java技术具有卓越的通用性、高效性、平台移植性和安全性,广泛应用于个人PC、数据中心、游戏控制台、科学超级计算机、移动电话和互联网,同时拥有全球最大的开发者专业社群。在全球云计算和移动互联网的产业环境下,Java更具备了显著优势和广阔前景。1.2MysqlMySQL是一个精巧的SQL数据库管理系统,虽然它不是开放源代码的产品,但在某些情况下你可以自由使用。由于它的强大功能、灵活性、丰富的应用编程接口(API)以及精巧的系统结构,受到了广大自由软件爱好者甚至是商业软件用户的青睐,特别是与Apache和PHP/PERL结合,为建立基于数据库的动态网站提供了强大动力。MySQL是一个真正的多用户、多线程SQL数据库服务器。SQL(结构化查询语言)是世界上最流行的和标准化的数据库语言。MySQL是以一个客户机/服务器结构的实现,它由一个服务器守护程序mysqld和很多不同的客户程序和库组成。1.3Struts2Struts2看似是从Struts1发展而来,但实际上Struts2与Struts1在框架的设计思想上面还是有很大的区别,Struts2是以WebWork的设计思想为核心,为什么Struts2不沿用Struts1的设计思想,毕竟Struts1在目前的企业应用中还是有非常大的市场在的,那么,来看下Struts1的一些缺点吧:   1)支持的表现层技术单一   2)与ServletAPI严重耦合,这点可以从Action的Execute的方法声明里面就可以看的出来   3)代码依赖Struts1API,有侵入性,这点可以从写Action类和FormBean的时候看的出来,Action必须实现Struts的Action类    而Struts2之所以以WebWork的设计思想为其核心,一点就是最近第41页共42页 南华大学计算机科学与技术学院毕业设计(论文)-------------------------------------------------------------------------------------------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.4SpringSpring是一个开源框架,是为了解决企业应用程序开发复杂性而创建的。框架的主要优势之一就是其分层架构,分层架构允许您选择使用哪一个组件,同时为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组件,就可以将声明性事务管理集成到应用程序中。第41页共42页 南华大学计算机科学与技术学院毕业设计(论文)-------------------------------------------------------------------------------------------1.5HibernateHibernate是一个基于Java的开源的持久化中间件,对JDBC做了轻量的封装。采用ORM映射机制,负责实现Java对象和关系数据库之间的映射,把sql语句传给数据库,并且把数据库返回的结果封装成对象。内部封装了JDBC访问数据库的操作,向上层应用提供了面向对象的数据库访问API.优点:以对象的形式操作数据,提高开发效率,不用关心数据库种类(换数据库只要修改配值文件。第41页共42页 南华大学计算机科学与技术学院毕业设计(论文)-------------------------------------------------------------------------------------------第三章系统分析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数据库,充分体现了网页的动态管理与数据库的连接,对数据库的查询、修改及其删除。第41页共42页 南华大学计算机科学与技术学院毕业设计(论文)-------------------------------------------------------------------------------------------2.2.2经济可行性威客模式的英文是witkey,寓意于是通过个人的智慧,知识,专业专长在互联网上通过劳作转化为实际收入的模式,威客模式认为人的智慧,知识,经验可以通过互联网转化为商品,通过互动问答的方式,提供有效的信息,体现商品的价值。这种商品属于电子商务中的信息商品的范畴。2.2.3操作可行性系统操作方式简单,易于理解,营运环境要求低,不管是发布者和威客只需要通过简单的培训即可操作。2.3系统开发与运行环境分析服务器端的工作环境要求如下:操作系统:WindowsXP或更高。(本机是用WindowsXP系统)数据库管理系统:MySQL数据管理系统,也可以采用其它数据系统。Web服务器:Tomcat。客户机的工作环境要求如下:网页浏览器:IE6及以上、360浏览器5.0以上以及其他浏览器第41页共42页 南华大学计算机科学与技术学院毕业设计(论文)-------------------------------------------------------------------------------------------第四章系统设计4.1系统设计原则本系统的设计遵循以下设计原则:(1)实用性:根据当代人的需求合理设计系统。(2)可靠性:系统的软件设计、数据库设计和界面形式等各方面要详细的考虑,要做到可靠性,采用广泛使用的成熟技术和产品,将故障率降至最低。(3)易管理性:系统管理员可以及时方便的对系统进行管理,具备对威客网进行更新调整的能力。(4)安全性:为了保障系统平稳正常的运行,以及数据的完整性,整个系统必须有很好的安全性。(5)友好性:系统界面要友好,操作上要求简单方便,便于用户掌握。(6)可扩展性:采用开放的标准和接口,以便于系统后续的发展和功能上的扩充4.2功能模块的划分项目整体模块图如下图4.1所示。第41页共42页 南华大学计算机科学与技术学院毕业设计(论文)-------------------------------------------------------------------------------------------威客系统后台后台管理登录所有任务类别管理管理所有任务管理所有的注册用户管理系统公告管理帮助中心前台用户登录注册查看任务详细发布悬赏任务参与任务提交稿件管理我的任务与稿件查看网站公告与帮助图4.1功能模块结构图1.用户注册登陆:是提供给没有威客帐户的网民注册威客用户和登陆平台。2.查看任务详细:提供给用户查询任务详细内容参与任务等功能的模块。3.发布悬赏任务:发布者即为用户在威客网上发布任务,填写任务具体的内容要求。4.参与任务提交:用户登陆后,可以进入任务大厅或者通过搜索筛选自己感兴趣的任务进行提交稿件方案。5.管理我的任务与稿件:提供给用户管理自己发布的任务与提交的稿件。6.查看网站公告于帮助:提供给用户查看系统和中标的公告和查看一些系统帮助。7.后台登陆:管理员通过密钥登陆后台所经过的一个窗口。8.所有任务类别管理:管理员登陆后可以对任务的类别进行管理。9.管理所有任务:管理员登陆后可以对用户发布的任务进行管理。10.管理所有的注册用户:管理员登陆后对所有的注册用户进行管理。第41页共42页 南华大学计算机科学与技术学院毕业设计(论文)-------------------------------------------------------------------------------------------11.管理系统公告:管理员登陆后对系统的公告进行管理。12.管理帮助中心:管理员登陆后对帮助中心进行管理。4.3威客网的任务发布流程1.用户注册:不管是发布者还是威客都需要在威客主页上有一个用户名,可以选择注册用户,注册一个新的威客会员帐号,如果有帐号则直接登录。2.用户登录威客:用户用所注册的威客帐号登录威客系统。3.填写任务需求:在主界面选择通过点击悬赏按钮发布悬赏任务,而后根据表格的要求填写,其中包括任务标题,任务类别,结束时间,悬赏金额,任务内容等信息。4.托管任务赏金:根据自己所填写的任务金额,汇款至威客网站帐户。5.发布任务:托管赏金后,管理员通过审核将发布者的需求信息直接将用户的任务发布与威客网站首页,供给广大网民查看和有意向的用户参与竞标。威客网站任务发布流程如下图4.2所示:用户登录威客填写任务需求发布成功托管任务赏金用户注册图4.2发布任务流程图4.4威客网的稿件提交流程1.注册威客:在威客主页选择注册用户,注册自己的威客会员帐号,如果有帐号则直接登陆。登陆后方可竞标。2.查看任务列表:登陆后,用户在任务大厅查看任务列表,看是否有自己感兴趣的任务然后参与竞标。3.参加任务:点击自己想参加的任务竞标项目,在该任务页面点击我要交第41页共42页 南华大学计算机科学与技术学院毕业设计(论文)-------------------------------------------------------------------------------------------稿。4.提交作品:根据表单内容填写自己参加任务所要提供的任务作品。5.发布人选择中标:在任务截止时间到期之前,任务发布人可以在众多稿件当中选择自己最满意的任务作品并宣告竞标用户中标。6.发布赏金:管理员根据中标用户汇款项至中标用户帐户。任务竞标流程图如下图4.3所示:注册威客会员查看任务列表参加任务发布赏金选择中标提交作品图4.3接取任务流程图4.5数据库设计4.5.1系统E-R图图4.4系统E-R图1第41页共42页 南华大学计算机科学与技术学院毕业设计(论文)-------------------------------------------------------------------------------------------图4.5系统E-R图2图4.6系统E-R图34.5.2数据库逻辑结构设计本系统的数据库管理系统采用MySQL,其数据库名为“vike”。(1)user(图书表)。具体数据表结构如表4.1所示。表4、1user数据表结构字段名字段含义数据类型主键允许空id用户idint(11)√userName用户名varchar(25)passWord密码varchar(25)experience经验值int(11)balance账户余额doubleemail邮箱varchar(25)(2)assignment(任务表)。具体数据表结构如表4.2所示。表4.2assignment数据表结构字段名字段名数据类型主键允许空id任务idint(11)√categoryId所在类别idint(11)title任务标题varchar(25)detail详细描述longtextfileName附件文件名varchar(255)√need需求个数int(11)续表4、2第41页共42页 南华大学计算机科学与技术学院毕业设计(论文)-------------------------------------------------------------------------------------------字段名字段名数据类型主键允许空pay赏金int(11)pubDate发布日期datetimeendDate截止日期datecontributionCount稿件个数int(11)currentNeed当前需求int(11)uid发布人idint(11)stauts任务状态int(11)(1)contribution(稿件表)。具体数据表结构如表4.3所示。表4.3contribution数据表结构字段名字段含义数据类型主键允许空id稿件idint(11)√content稿件描述longtextpicture稿件图片varchar(60)√fileName附件文件名varchar(255)√hidden是否隐藏tinyint(1)pubDate发布日期datetimestatus稿件状态int(11)passDate审核时间datetimeassignmentId所在任务idint(11)uid发布人idint(11)(2)category(任务类别表)。具体数据表结构如表4.4所示。表4.4category数据表结构字段名字段含义数据类型主键允许空categoryId类别idint(11)√categoryDescribe类别描述varchar(25)categoryName类别名称varchar(25)parentCategoryId父类别idint(11)√(3)announcement(系统公告表)。具体数据表结构如表4.5所示。表4.5announcement数据表结构字段名字段含义数据类型主键允许空id公告idint(11)√title公告标题varchar(25)content公告内容longtextpubDate发布日期datetime第41页共42页 南华大学计算机科学与技术学院毕业设计(论文)-------------------------------------------------------------------------------------------(1)datetmp(截止日期表)。具体数据表结构如表4.6所示。表4.6datetmp数据表结构字段名字段含义数据类型主键允许空id表idint(11)√endDate任务截止日期dateassignmentId任务idint(11)(2)problem(帮助问题表)。具体数据表结构如表4.7所示。表4.7problem数据表结构字段名字段含义数据类型主键允许空id表idint(11)√question问题描述varchar(25)answer问题答案longtexthelpful帮助个数int(11)type问题所在栏目int(11)(3)manager(管理员表)。具体数据表结构如表4.8所示。表4-8manager数据表结构字段名字段含义数据类型主键允许空id管理员idint(11)√name管理员名称varchar(25)passWord管理员密码varchar(25)grade管理员权限int(11)第41页共42页 南华大学计算机科学与技术学院毕业设计(论文)-------------------------------------------------------------------------------------------第五章系统实现5.1Spring与Hibernate的整合本系统使用的Spring版本为4.0.0,Hibernate版本为4.2.0。在Spring与Hibernate的整合中,主要把Hibernate的SessionFactory和事务管理交由Spring管理。所以,在spring4-config.xml文件中的配置如下:com.vike.model.Usercom.vike.model.Managercom.vike.model.Categorycom.vike.model.Assignmentcom.vike.model.Contributioncom.vike.model.DateTmpcom.vike.model.Announcementcom.vike.model.Problemhibernate.dialect=org.hibernate.dialect.MySQLDialecthibernate.show_sql=truehibernate.format_sql=truehibernate.hbm2ddl.auto=selecthibernate.connection.autocommit=true此外,需要在Web容器(本系统使用Tomcat服务器)启动的时候加载Spring。所以,还需要在web.xml中进行如下配置:contextConfigLocationclasspath:spring-config.xml第41页共42页 南华大学计算机科学与技术学院毕业设计(论文)-------------------------------------------------------------------------------------------org.springframework.web.context.ContextLoaderListener5.2Struts2、Spring与Hibernate的整合本系统使用的Struts2的版本为2.3.4.1。Struts2与Spring整合,主要是把Struts2中的objectFactory指定为Spring,由Spring容器来管理Action的生命周期。把struts2-spring-plugin-2.3.4.1.jar导入lib目录即可。此外,需要在web.xml中配置Struts2的过滤器,配置如下所示:struts2org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilterstruts2/*5.3系统前台主要功能模块设计与实现5.3.1任务实体类定义@EntitypublicclassAssignment{privateintid;privateintcategoryId;privateStringtitle;privateStringdetail;privateStringfileName;privateintpay;privateintneed;privateDatepubDate;privateDateendDate;privateUseruser;privateintstatus;//0未托管,1托管,2结束privateintcurrentNeed;第41页共42页 南华大学计算机科学与技术学院毕业设计(论文)-------------------------------------------------------------------------------------------privateintcontributionCount;privateSetcontributions;publicAssignment(){contributions=newHashSet();}@Id@GeneratedValuepublicintgetId(){returnid;}publicvoidsetId(intid){this.id=id;}publicintgetCategoryId(){returncategoryId;}publicvoidsetCategoryId(intcategoryId){this.categoryId=categoryId;}publicStringgetTitle(){returntitle;}publicvoidsetTitle(Stringtitle){this.title=title;}publicStringgetDetail(){returndetail;}publicvoidsetDetail(Stringdetail){this.detail=detail;}publicStringgetFileName(){returnfileName;}publicvoidsetFileName(StringfileName){this.fileName=fileName;}publicintgetPay(){returnpay;}publicvoidsetPay(intpay){this.pay=pay;}第41页共42页 南华大学计算机科学与技术学院毕业设计(论文)-------------------------------------------------------------------------------------------publicintgetNeed(){returnneed;}publicvoidsetNeed(intneed){this.need=need;}publicDategetPubDate(){returnpubDate;}publicvoidsetPubDate(DatepubDate){this.pubDate=pubDate;}@Temporal(TemporalType.DATE)publicDategetEndDate(){returnendDate;}publicvoidsetEndDate(DateendDate){this.endDate=endDate;}@ManyToOne(fetch=FetchType.EAGER)@JoinColumn(name="uid")publicUsergetUser(){returnuser;}publicvoidsetUser(Useruser){this.user=user;}publicintgetStatus(){returnstatus;}publicvoidsetStatus(intstatus){this.status=status;}@OneToMany(mappedBy="assignment",fetch=FetchType.LAZY,cascade={CascadeType.ALL})publicSetgetContributions(){returncontributions;}publicvoidsetContributions(Setcontributions){this.contributions=contributions;}publicintgetCurrentNeed(){第41页共42页 南华大学计算机科学与技术学院毕业设计(论文)-------------------------------------------------------------------------------------------returncurrentNeed;}publicvoidsetCurrentNeed(intcurrentNeed){this.currentNeed=currentNeed;}publicintgetContributionCount(){returncontributionCount;}publicvoidsetContributionCount(intcontributionCount){this.contributionCount=contributionCount;}5.3.2稿件实体类定义@EntitypublicclassContribution{privateintid;privateStringcontent;privateStringpicture;privateStringfileName;privateDatepubDate;privateDatepassDate;privatebooleanhidden;privateintstatus;privateAssignmentassignment=newAssignment();privateUseruser=newUser();@Id@GeneratedValuepublicintgetId(){returnid;}publicvoidsetId(intid){this.id=id;}publicStringgetContent(){returncontent;}publicvoidsetContent(Stringcontent){this.content=content;}publicStringgetPicture(){returnpicture;}publicvoidsetPicture(Stringpicture){第41页共42页 南华大学计算机科学与技术学院毕业设计(论文)-------------------------------------------------------------------------------------------this.picture=picture;}publicStringgetFileName(){returnfileName;}publicvoidsetFileName(StringfileName){this.fileName=fileName;}publicDategetPubDate(){returnpubDate;}publicvoidsetPubDate(DatepubDate){this.pubDate=pubDate;}publicDategetPassDate(){returnpassDate;}publicvoidsetPassDate(DatepassDate){this.passDate=passDate;}publicbooleanisHidden(){returnhidden;}publicvoidsetHidden(booleanhidden){this.hidden=hidden;}publicintgetStatus(){returnstatus;}publicvoidsetStatus(intstatus){this.status=status;}@ManyToOne(fetch=FetchType.EAGER)@JoinColumn(name="assignmentId")publicAssignmentgetAssignment(){returnassignment;}publicvoidsetAssignment(Assignmentassignment){this.assignment=assignment;}@ManyToOne(fetch=FetchType.EAGER)@JoinColumn(name="uid")publicUsergetUser(){returnuser;第41页共42页 南华大学计算机科学与技术学院毕业设计(论文)-------------------------------------------------------------------------------------------}publicvoidsetUser(Useruser){this.user=user;}}5.3.3持久化操作默认实现类publicabstractclassDaoSupportimplementsBaseDao{protectedClassentityClass=GenericsUtils.getGenericType(this.getClass());protectedSessionFactorysessionFactory;publicSessionFactorygetSessionFactory(){returnsessionFactory;}@ResourcepublicvoidsetSessionFactory(SessionFactorysessionFactory){this.sessionFactory=sessionFactory;}publicvoiddelete(Serializable...ids){for(Serializableid:ids){Tt=(T)sessionFactory.getCurrentSession().load(this.entityClass,id);sessionFactory.getCurrentSession().delete(t);}}publicTget(SerializableentityId){return(T)sessionFactory.getCurrentSession().get(this.entityClass,entityId);}publicTload(SerializableentityId){return(T)sessionFactory.getCurrentSession().load(this.entityClass,entityId);}publicvoidsave(Objectobj){sessionFactory.getCurrentSession().save(obj);}publicvoidsaveOrUpdate(Objectobj){sessionFactory.getCurrentSession().saveOrUpdate(obj);}publicvoidupdate(Objectobj){sessionFactory.getCurrentSession().update(obj);第41页共42页 南华大学计算机科学与技术学院毕业设计(论文)-------------------------------------------------------------------------------------------}publicObjectuniqueResult(Stringhql,Object[]queryParams){Queryquery=sessionFactory.getCurrentSession().createQuery(hql);setQueryParams(query,queryParams);returnquery.uniqueResult();}protectedvoidsetQueryParams(Queryquery,Object[]queryParams){if(queryParams!=null&&queryParams.length>0){for(inti=0;ifind(intpageNo,intmaxResult){returnfind(null,null,null,pageNo,maxResult);}publicPageModelfind(intpageNo,intmaxResult,Stringwhere,Object[]queryParams){returnfind(where,queryParams,null,pageNo,maxResult);}publicPageModelfind(intpageNo,intmaxResult,Maporderby){returnfind(null,null,orderby,pageNo,maxResult);}publicPageModelfind(Stringwhere,Object[]queryParams,Maporderby,intpageNo,intmaxResult){finalPageModelpageModel=newPageModel();Stringhql=newStringBuffer().append("selectcount(*)from").append(GenericsUtils.getGenericName(entityClass)).append("").append(where==null?"":where).toString();Queryquery=sessionFactory.getCurrentSession().createQuery(hql);setQueryParams(query,queryParams);第41页共42页 南华大学计算机科学与技术学院毕业设计(论文)-------------------------------------------------------------------------------------------inttotalRecords=((Long)query.uniqueResult()).intValue();pageModel.setTotalRecords(totalRecords);pageModel.setPageSize(maxResult);inttotalpages=pageModel.getTotalPages();if(totalpageslist=null;if(maxResult<0&&pageNo<0){list=query.list();}else{list=query.setFirstResult(getFirstResult(pageNo,maxResult)).setMaxResults(maxResult).list();}pageModel.setList(list);returnpageModel;}protectedintgetFirstResult(intpageNo,intmaxResult){intfirstResult=(pageNo-1)*maxResult;returnfirstResult<0?0:firstResult;}protectedStringcreateOrderBy(Maporderby){StringBuffersb=newStringBuffer("");if(orderby!=null&&orderby.size()>0){sb.append("orderby");for(Stringkey:orderby.keySet()){sb.append(key).append("").append(orderby.get(key)).append(",");}sb.deleteCharAt(sb.length()-1);}returnsb.toString();}第41页共42页 南华大学计算机科学与技术学院毕业设计(论文)-------------------------------------------------------------------------------------------publiclonggetCount(){return0;}}5.3.4威客网站主界面设计与实现威客主界面中包含了菜单链接和用户的注册登陆链接、查看公告、各种推荐任务、任务搜索等重要的功能。其中重点工作的实际运营操作当中,在程序的实现中主要涉及到的一些任务信息,均将在网站主页当中显示出来。威客网主界面如图5.1所示:图5.1威客网主界面第41页共42页 南华大学计算机科学与技术学院毕业设计(论文)-------------------------------------------------------------------------------------------5.3.5威客网用户注册设计与实现注册界面是新用户登录时系统提示必须先注册,其中注册的信息主要有:用户名、密码、确认密码、E-Mail等信息,用户名采用ajax异步验证,其他采用js验证,验证通过后点击立即注册即可注册。威客网注册界面如图5.2所示:图5.2威客网注册界面5.3.6威客用户登陆设计与实现威客网登陆模块是是发布任务的前提,需要填写的信息包括用户名与密码,当用户名不存在或者密码填写错误时会登陆不成功并提示相关信息。威客网登陆界面如图5.3所示:第41页共42页 南华大学计算机科学与技术学院毕业设计(论文)-------------------------------------------------------------------------------------------图5.3威客网登陆界面5.3.7威客发布任务设计与实现威客用户登陆后就可以发布任务,正确填写相关需求信息后点击发布就进入都任务赏金托管页面,要求输入密码进行任务赏金的托管,如果密码填写错误或者账户余额不足都会导致任务发布不成功。威客网任务发布界面如图5.4所示:第41页共42页 南华大学计算机科学与技术学院毕业设计(论文)-------------------------------------------------------------------------------------------图5.4威客网任务发布界面威客网任务托管赏金界面如图5.5所示:图5.5威客网赏金托管界面第41页共42页 南华大学计算机科学与技术学院毕业设计(论文)-------------------------------------------------------------------------------------------5.3.8威客任务大厅设计与实现任务大厅是提供给威客用户进行对任务浏览,用户可以对任务进行筛选,包括根据任务类别、稿件需求、赏金额度、结束时间等进行筛选,大厅还对任务进行了分页的显示。威客网任务大厅界面如图5.6所示:图5.6威客网任务大厅界面5.3.9威客用户提交稿件设计与实现威客用户对感兴趣的任务点击了“我要交稿”后,就进入了稿件提交页面,必须填写的信息是稿件的描述,用户还可以根据实际添加一张要显示的图片和添加一个附件,还可以对自己提交的稿件进行隐藏,这样不是本人或任务发布人就不能看到所提交的稿件了。威客网任务大厅界面如图5.7所示:第41页共42页 南华大学计算机科学与技术学院毕业设计(论文)-------------------------------------------------------------------------------------------图5.7威客网稿件提交界面5.3.10任务详细信息页面设计与实现任务详细信息页面是对任务的详细信息和任务所有的稿件进行显示,当浏览者是任务发布人是,在当前页面还可以对任务的稿件进行审核操作。威客网任务详细信息界面如图5.8所示:图5.8威客网任务详细信息界面第41页共42页 南华大学计算机科学与技术学院毕业设计(论文)-------------------------------------------------------------------------------------------5.3.11我的威客界面设计与实现我的威客模块是提供用户对自身发布的任务和稿件等进行管理的作用,用户可以根据条件对自己发布的任务和稿件进行管理,包括对未托管赏金的任务进行托管赏金,删除投稿中的任务等操作。威客网任务详细信息界面如图5.9所示:图5.9威客网我的威客界面5.3.12威客网名人殿堂设计与实现威客名人殿堂模块式对所有威客近期的数据进行统计排行,突出显示优秀的威客,提高威客积极性,模块内容包括对所有威客一个星期内或者一个月中标金额、中标项目个数、中标稿件个数排行前六的威客进行显示威客网名人殿堂界面如图5.10所示:第41页共42页 南华大学计算机科学与技术学院毕业设计(论文)-------------------------------------------------------------------------------------------图5.10威客网名人殿堂界面5.3.13威客网帮助中心设计与实现威客网帮助中心模块是提供给新用户熟悉威客网操作流程的一个平台,用户可以浏览和搜索一些问题,查看答案达到帮助的效果,如果认为有帮助还可以点击一些“对我有帮助”按钮。威客网帮助中心界面如图5.11所示:第41页共42页 南华大学计算机科学与技术学院毕业设计(论文)-------------------------------------------------------------------------------------------图5.11威客网帮助中心界面威客网问题答案信息界面如图5.12所示:图5.12威客网问题答案信息界面第41页共42页 南华大学计算机科学与技术学院毕业设计(论文)-------------------------------------------------------------------------------------------5.4系统后台主要功能模块设计与实现5.4.1后台管理任务类别模块设计与实现管理任务类别模块提供管理员对任务类别进行查看、修改、增加、删除操作。威客网问题答案信息界面如图5.13所示:图5.13威客网任务类别管理界面5.4.2后台管理所有任务模块设计与实现管理所有任务模块提供管理员对所有任务进行查看、修改、增加、删除操作。威客网管理所有任务界面如图5.14所示:图5.14威客网任务管理界面5.4.3后台管理所有用户模块设计与实现管理所有用户模块提供管理员对所有用户进行查看、删除操作。第41页共42页 南华大学计算机科学与技术学院毕业设计(论文)-------------------------------------------------------------------------------------------威客网管理用户界面如图5.15所示:图5.15威客网用户管理界面5.4.4后台管理系统公告模块设计与实现管理系统公告模块提供管理员对所有公告进行查看、添加、删除操作。威客网管理公告界面如图5.16所示:图5.16威客网公告管理界面威客网添加公告界面如图5.17所示:第41页共42页 南华大学计算机科学与技术学院毕业设计(论文)-------------------------------------------------------------------------------------------图5.17威客网添加公告界面5.4.5后台管理帮助中心模块设计与实现管理帮助中心模块提供管理员对所有帮助问题进行查看、添加、删除操作。威客网管理帮助问题界面如图5.18所示:图5.18威客网管理帮助问题界面图5.19威客网添加帮助问题界面第41页共42页 南华大学计算机科学与技术学院毕业设计(论文)-------------------------------------------------------------------------------------------第六章系统测试在软件开发的一系列活动中,为了保证软件的可靠性,人们研究并使用了很多方法进行分析、设计及编码实现,但是由于软件产品本身无形态,它是复杂的、知识高度密集的逻辑产品,其中不可能没有错误。生产产品在出厂前都要进行严格的检验,软件产品也不例外。软件开发总伴随着软件质量保证的活动,而软件测试是主要活动之一。软件测试代表了需求分析、设计和编码的最终复审。6.1系统测试原则软件测试的目的是找出开发软件中潜在的错误和缺陷。在系统软件测试中,应注意以下指导原则:选择测试方法,制定测试计划并严格执行,排除随意性。测试用例不仅选用合理的输入数据,还要选择不合理输入数据。这样能更多地发现错误,提高程序的可靠性。对于不合理的输入数据,程序应拒绝接受,并给出相应提示。处理检查程序是否做了它应该做的事,还应该检查程序是否做了它不应该做的事。对发现错误较多的程序段应进行更深入的测试。尽量避免自己测试自己的程序。6.2系统测试用例6.2.1用户注册测试用户注册时,如果输入的用户名存在用户表中,当输入框失去焦点时会提示用户已注册,两次输入的密码不一致也会提示错误,如果所有数据格式填写正确就注册成功,直接跳转登陆界面。测试结果:正确显示,满足要求。6.2.2用户登录测试用户登录时,如果输入的用户名不存在用户表中,或者密码与用户名不对应,则页面会显示相应的提示信息。如果输入的用户名及密码与用户表中数据对应,则跳转到首页。测试结果:正确显示,满足要求。第41页共42页 南华大学计算机科学与技术学院毕业设计(论文)-------------------------------------------------------------------------------------------6.2.3任务发布测试用户登录后,则可以进行任务发布,填写发布任务必填的信息,如果缺填或者填写格式不正确就会提示相应的信息并要求继续填写,填写完整后点击发布就跳转到赏金托管页面,在赏金托管页面要求输入密码,如果密码不正确或余额不足,页面也会提示相应信息,如果满足密码正确而且余额充足就可以发布成功,并在任务大厅正常显示。测试结果:正确显示,满足要求。6.2.4稿件提交测试用户登陆后可以对感兴趣的任务进行投稿,正确输入必填的稿件描述就可以发布稿件,可以添加一张图片和一个附件,当选择隐藏稿件时能够对其他人隐藏。测试结果:正确显示,满足要求。.2.5其他测试点击网站菜单导航栏上的其他功能菜单,显示相应页面内容。测试结果:正确显示,满足要求。第41页共42页 南华大学计算机科学与技术学院毕业设计(论文)-------------------------------------------------------------------------------------------总结与展望毕业设计时大学的最后一门课程,是能否适应社会的一块试金石,也是大学几年一个人学习的折射,由此你可以检验自己这几年来所学到的知识。通过这次设计,我不仅学到了很多java技术和数据库等方面知识,并通过对这些知识从理论到实践运用加深了对数据库设计和数据库编程思想的了解,也积累了系统编程的一些经验,同时动手能力和自学能力也有了很大程度的提高,可以说受益匪浅,我要简单的叙述一下:1.我认识到无论是做数据库还是做应用软件开发都不能盲目出发,而是要综合分析问题,把问题考虑全面。设计应既要节省内存,又要提高速度,因此代码优化非常重要。2.调试过程中进一步提高了自己综合分析问题和解决问题的能力,同时也增强了独立解决问题的能力,培养了我的耐性,增强了我的自信息,学会了知识的灵活运用,将理论与实践紧密结合起来,在实践中不断总结经验教训,知道在一次实践的顺利进行。3.在设计过程我感到自己学的东西太少,实践经验缺乏,这反而激发了我浓厚的学习兴趣和创作欲望,使我有信心完成自己的毕业设计。但是由于我们平时做的项目很少,实际经验相当之缺乏,难免会在设计中存在一些不足之处活改进地方,第一、用户的信息没有做得过于详细,如没有用户的头像修改功能等;第二、系统应该还可以对任务评价的功能;第三、系统还可以添加对稿件举报功能;第四、后台管理模块可以增加管理员权限等级功能;对于这些不足,希望老师多提宝贵意见,从而使我的威客网站改进成一个有一定实际应用价值的系统。这次设计充分锻炼了我独立思考问题和分析解决问题的能力,是我自己有理论迈向实践的第一步。第41页共42页 南华大学计算机科学与技术学院毕业设计(论文)-------------------------------------------------------------------------------------------参考文献[1]朱明跃.威客网赚实录[M].清华大学出版社,2012.[2]李燕.威客网盈利模式研究——基于网络文化创意产业的视角[J].新闻研究导刊,2011[3]未艾.威客,将网上赚钱变成现实[J].八小时以外,2011(6).[4]赖黎捷.威客传播:“小众”与“大众”的消融[J].传媒,2010(9):65-67.[5]吕文龙.网商与威客成电子商务并行支撑力[J].互联网周刊,2010(023):14-14.[6]郭赫男,王强春.威客网站的信用困境及其对策[J].新媒介,2011,1:61-63.[7]刘锋.威客网模式——第四类互联网模式[J].2009—07—05].[5]莫凡.网络威客:概念,模式及特征[J].新闻界,2009(2):40-41.[8]辛运帏饶一梅.Java语言程序设计.北京:人民邮电出版社,2009[9]张海藩.软件工程导论(第5版).北京:清华大学出版社,2008[10]李琳.威客:互联网新宠的[J].上海信息化,2008(6):53-55.[11]李刚.Struts2权威指南.北京:电子工业出版,2007[12]苗雪兰刘瑞新宋歌.数据库系统原理及应用教程.北京:机械工业出版社,2007[13]施伟伟,张 蓓.[Ajax]Web2.0快速入门与项目实践.人民邮电出版社,2006[15]黄佩虹,张冰晶.精通Hibernate.北京:清华大学出版社,2009[16]丁宝康,董健全.数据库使用教程(第二版).北京:清华大学出版社,2005[17]韩万江,姜立新.软件项目管理案例教程(第2版).北京:机械工业出版社,2009[18]郭锋.Spring从入门到精通.北京:清华大学出版社,2006[19]武剑洁,陈传波. 软件测试技术基础. 武汉:华中科技大学出版,2008[20]刘锋,张玲玲,顾基发.知识管理在互联网中的应用--威客模式在中国[J].ISKSS,2007,4(4).[21]陈臻臻.威客网对中职美术设计专业的积极促进作用[J].中国商界(上半月),2009,6:134.[22]于丹.威客得宠路漫长[J].每周电脑报,2007,24:004.[23]李琳.威客互联网新宠的“钱途”[J].中关村,2007(1):72-74.[24]KouloumpisE,WilsonT,MooreJ.Twittersentimentanalysis:Thegoodthebadandtheomg![J].ICWSM,2011,11:538-541.[25]GuoC,ZhangL.Anovelmultiresolutionspatiotemporalsaliencydetection第41页共42页 南华大学计算机科学与技术学院毕业设计(论文)-------------------------------------------------------------------------------------------modelanditsapplicationsinimageandvideocompression[J].ImageProcessing,IEEETransactionson,2010,19(1):185-198.[26]LewMS,SebeN,DjerabaC,etal.Content-basedmultimediainformationretrieval:Stateoftheartandchallenges[J].ACMTransactionsonMultimediaComputing,Communications,andApplications(TOMCCAP),2006,2(1):1-19.第41页共42页 南华大学计算机科学与技术学院毕业设计(论文)-------------------------------------------------------------------------------------------谢辞经过半年的忙碌和工作,本次毕业设计已经接近尾声,作为一个本科生的毕业设计,由于经验的匮乏,难免有许多考虑不周全的地方,很多东西都是一边在学习一边使用,同时非常感觉老师和同学们的帮助与支持,没有你们的热心帮助我完成不了这个项目。然后还要感谢大学四年来所有的老师,为我们打下专业知识的基础;同时还要感谢所有的同学们,正是因为有了你们的支持和鼓励。此次毕业设计才会顺利完成。最后感谢学院和我的母校四年来对我的大力栽培。第41页共42页

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。
大家都在看
近期热门
关闭