毕业设计(论文)-创业辅助系统设计.doc_第1页
毕业设计(论文)-创业辅助系统设计.doc_第2页
毕业设计(论文)-创业辅助系统设计.doc_第3页
毕业设计(论文)-创业辅助系统设计.doc_第4页
毕业设计(论文)-创业辅助系统设计.doc_第5页
已阅读5页,还剩38页未读 继续免费阅读

下载本文档

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

文档简介

苏州大学本科生毕业设计(论文)目录前言1第一章 引言21.1 课题的提出21.2 课题的工作与组织结构21.2.1 本文的工作21.2.2本文的组织结构2第二章 背景技术与开发工具42.1 MVC模式42.1.1 视图42.1.2 模型42.1.3 控制器42.2 SSH框架技术52.2.1 Struts52.2.2 Hibernate62.2.3 Spring72.3 Div+CSS8第三章 系统分析93.1需求分析93.1.1 游客功能要求93.1.2 创业者功能要求93.1.3 领域专家功能要求103.1.4 公司功能要求103.1.5 管理员功能要求103.2 系统用例建模113.2.1 游客功能用例描述113.2.2 创业者功能用例描述123.2.3 领域专家功能用例描述123.2.4 公司功能用例描述133.2.5 管理员功能用例描述13第四章 系统设计144.1 系统功能模块设计144.1.1 功能模块图144.2 系统架构设计144.3具体模块设计154.3.1游客功能模块设计154.3.2创业者功能模块设计154.3.3 公司功能模块设计164.3.4 专家功能模块设计164.3.5 管理员功能模块设计174.4数据库设计174.4.1 数据库表结构的设计174.4.2 系统ER图194.4.3 物理数据模型20第五章 系统实现215.1 系统模块实现215.1.1 游客模块的实现215.2.2 创业者模块实现245.2.3 公司模块的实现285.2.4 专家模块的实现295.2.5 管理员模块的实现33第六章 总结与展望366.1总结366.2展望36参考文献38致谢39摘 要创业是最积极的就业,它不仅能解决劳动者的就业问题,还能通过带动更多就业产生倍增效应,但是,经过调查发现,目前大多创业类型的网站仅提供一些创业政策、成功案例等信息,没有提供一个具体的创业途径给想要进行创业的人,创业从何做起是困扰当代大学生的一个问题。本课题运用三个轻量级开源框架Struts、Hibernate和Spring,结合开源数据库MySQL,开发了一个创业辅助系统,给想要创业的大学生提供一个创业平台,结合领域专家的指导完成一个创业的过程。本平台结合了当前社会形势,具有一定的创新性和实用性。本文首先对系统设计的必要性进行了分析,然后,对系统开发所需要的背景知识和所涉及的技术进行了简单介绍,接着,在需求清晰与技术成熟的情况下对系统模块进行详细设计。本文清晰的展示了开发MIS系统需经历的需求分析、系统设计和系统实现三个基本步骤,这不仅为设计开发人员提供了详细的设计思路与方法,也为参与后续开发的人员提供了重要资料。最后总结系统的特点、优点以及仍存在的不足,并对未来的发展和前景做了展望。关键字:创业、系统设计、指导作 者 张春峰指导老师 周小科III苏州大学本科生毕业设计(论文)AbstractEntrepreneurship is the most active employment, it can not only solve the employment problems, but also bring more jobs. However, after an investigation, I found that most websites now offer only business policies, success stories and other information, they dont provide a specific approach to business people who want to start. How to start a career is a problem to college students. This system use three lightweight open-source frameworks Struts, Hibernate and Spring, combined with open-source database MySQL, developed a business support system for the students that they can finish a business process on it with the help of experts. The platform combines the current social situation, so it is innovative and practical.Firstly, the thesis analyses the importance of the platform. Secondly, the thesis introduces the technology and the background knowledge involved. This article contains an overview of technical background, needs analysis, system design, system implementation, concluding remarks and other components. And then the thesis has also provided the important material for the participation following development and the expansion. At last, the thesis summarizes the system features, advantages, deficiencies and prospect in the future Keywords:Entrepreneurship,System Design,GuideWritten by Zhang ChunfengSupervised by Zhou Xiaoke1苏州大学本科生毕业设计(论文)前言如今,J2EE平台已经日趋成熟,并得到广泛应用。在J2EE技术中发展最为迅速的当属JSP技术,几乎所有的基于Java的Web应用都使用JSP。一些免费、开放代码的JSP/Servlet容器,如Apache软件组织提供的Tomcat,更进一步推动了JSP技术的发展。Struts是Apache软件组织提供的一项开放源代码项目,它为Java Web应用提供了模型视图控制器(MVC)框架,尤其适用于开发大型可扩展的Web应用。Hibernate是一个开放源代码的对象关系映射框架,它对JDBC进行了非常轻量级的对象封装,使得Java程序员可以随心所欲的使用对象编程思维来操纵数据库。Spring是一个开源框架,它是为了解决企业应用开发的复杂性而创建的。Spring使用基本的JavaBean来完成以前只可能由EJB完成的事情,任何Java应用都可以从Spring中受益。全文主要包含六章,第一章为概述,主要对本系统进行了简单描述;第二章为技术背景,简要介绍了系统设计与实现中涉及到的相关技术背景;第三章为需求分析,详细分析了系统的需求并对总体功能进行了概述;第四章为系统总体设计,对系统的总体框架和各模块的功能进行了设计;第五章为系统实现,该章详细描述了系统的具体实现,包括界面设计、代码实现等;第六章为结束语,对系统进行了概括和总结。苏州大学本科生毕业设计(论文)第一章 引言1.1 课题的提出创业已经成为大学生毕业之后的一个选择,经过调查发现,目前大多创业类型的网站仅提供一些创业的基本信息,没有提供一个具体的创业的途径给想要进行创业的人,创业从何做起是困扰当代大学生的一个问题。本课题就是要给想要创业的大学生提供一个创业辅助平台,结合领域专家的指导完成一个创业的过程。本课题运用时下最流行的企业应用架构Struts+Hibernate+Spring,底层数据库采用了开源数据库MySQL。系统分为业务逻辑层、数据访问层和实体层,清晰的分层策略大大降低了开发的难度及开发周期。平台采用基于MVC的应用架构,打造一个交流合作平台,创业者通过专家的指导点评及建议,逐步完善自己的创业步伐,使自己更接近成功的彼岸,同时企业用户可以通过本平台了解创业者的创业动态,并可以与具有发展潜力的创业者合作并展开创业项目。1.2 课题的工作与组织结构1.2.1 本文的工作由于本系统涉及创业者、公司、领域专家、游客、系统管理员5种角色,因此分别为他们设计了5大模块。本系统设计先抽象出一个整体平台的总体架构,然后对每个部分进行详细的描述,不断扩充完善得到功能比较完备的创业辅助平台系统。本文利用软件工程的方法对该创业平台进行分析与设计,展示了一种结合了SSH技术、MySQL数据库,基于B/S架构的大学生创业辅助平台的设计思想。1.2.2本文的组织结构本设计共6章:第一章 引言 阐述了创业型网站的发展现状、利用开源框架SSH的优势以及本论文要实现的系统。第二章 相关技术与开发工具 介绍了相关技术及采用的开发工具的优点。第三章 系统分析 分析创业平台的各种角色的功能需求、系统框架、数据库,向读者讲解实现创业平台需要做哪些方面的工作。第四章 系统设计 对系统的几个部分进行详细的设计及描述。第五章 系统实现 讲解如何利用SSH框架实现各功能。 第六章 总结与展望。3苏州大学本科生毕业设计(论文)第二章 背景技术与开发工具2.1 MVC模式MVC是一个架构模式,它强制性的使应用程序的输入、处理和输出分开。使用MVC应用程序被分成三个核心部件:模型、视图和控制器。它们各自处理自己的任务。 2.1.1 视图 视图是用户看到并与之交互的界面。对老式的Web应用程序来说,视图就是由HTML元素组成的界面,在新式的Web应用程序中,HTML依旧在视图中扮演着重要的角色,但一些新的技术已层出不穷,它们包括Adobe Flash和象XHTML,XML/XSL,WML等一些标识语言和Web services. 如何处理应用程序界面变得越来越有挑战性。MVC一个大的好处是它能为你的应用程序处理不同的视图。在视图中其实没有真正的处理发生,不管这些数据是联机存储的还是一个雇员列表,作为视图来讲,它只是作为一种输出数据并允许用户操纵的方式。 2.1.2 模型 模型表示企业数据和业务规则。在MVC的三个部件中,模型拥有最多的处理任务。例如它可能用象EJBs和ColdFusion Components这样的构件对象来处理数据库。被模型返回的数据是中立的,就是说模型与数据格式无关,这样一个模型能为多个视图提供数据。由于应用于模型代码只需写一次就可以被多个视图重用,所以减少了代码重复性。 2.1.3 控制器 控制器接受用户的输入并调用模型和视图去完成用户的需求。所以当单击Web页面中的超链接和发送HTML表单时,控制器(例如:servlet)本身不输出任何东西和做任何处理。它只是接收请求并决定调用哪个模型构件去处理请求,然后确定用哪个视图来显示模型处理返回的数据。 现在我们总结MVC的处理过程,首先控制器接收用户的请求,并决定应该调用哪个模型来进行处理,然后模型用业务逻辑来处理用户的请求并返回数据,最后控制器用相应的视图格式化模型返回的数据,并通过表示层呈现给用户。2.2 SSH框架技术2.2.1 StrutsStruts框架就是基于MVC模式的框架技术。它是一个免费的开源的WEB层的应用框架,具有很高的可配置性,和有一个不断增长的特性列表。一个前端控制组件,一系列动作类,动作映射,处理XML的实用工具类,服务器端java bean的自动填充,支持验证的WEB表单,国际化支持,生成HTML,实现表现逻辑和模板组成了Struts的灵魂。图2.1显示了Struts组件是如何实现MVC的。图2.1 Struts的MVC实现Struts的ActionServlet类控制导航流,其他Struts类,比如Action,用来访问业务逻辑类。当ActionServlet从容器接收到一个请求,它使用URI来决定哪个Action 将用来处理请求。一个 Action可以校验输入,并且访问业务层以从数据库或其他数据服务中检索信息。每个ActionMapping 相对于一个特定的路径。当某个路径被请求时,Servlet 就查询ActionMapping 对象。ActionMapping对象告诉servlet哪个Actions、ActionForms和ActionForwards将被使用。Struts是一种非常优秀的基于J2EE的MVC应用框架,它已经越来越多地运用于企业平台之上,许多大型网站已成功地应用了Struts框架。从图2.1中我们可以知道,Struts的体系结构包括模型(Model),视图(View)和控制器(Controller)三部分。l 模型(Model) 在Struts的体系结构中,模型分为两个部分:系统的内部状态和可以改变状态的操作(事务逻辑)。内部状态通常由一组Actinform Bean表示。根据设计或应用程序复杂度的不同,这些Bean可以是自包含的并具有持续的状态,或只在需要时才获得数据(从某个数据库)。大型应用程序通常在方法内部封装事务逻辑(操作),这些方法可以被拥有状态信息的bean调用。比如购物车bean,它拥有用户购买商品的信息,可能还有checkOut()方法用来检查用户的信用卡,并向仓库发定货信息。 小型程序中,操作可能会被内嵌在Action类,它是struts框架中控制器角色的一部分。当逻辑简单时这个方法很适合。 建议用户将事务逻辑(要做什么)与Action类所扮演的角色(决定做什么)分开。l 视图(View) 视图主要由JSP建立,struts包含扩展自定义标签库(TagLib),可以简化创建完全国际化用户界面的过程。目前的标签库包括:Bean Tags、HTML tags、Logic Tags、Nested Tags 以及Template Tags等。l 控制器(Controller) 在struts中,基本的控制器组件是ActionServlet类中的实例servelt,实际使用的servlet在配置文件中由一组映射(由ActionMapping类进行描述)进行定义。对于业务逻辑的操作则主要由Action、ActionMapping、ActionForward这几个组件协调完成的,其中Action扮演了真正的业务逻辑的实现者,ActionMapping与ActionForward则指定了不同业务逻辑或流程的运行方向。2.2.2 HibernateHibernate是一个开放源代码的对象关系映射框架,它对JDBC进行了非常轻量级的对象封装,使得Java程序员可以随心所欲的使用对象编程思维来操纵数据库。 Hibernate可以应用在任何使用JDBC的场合,既可以在Java的客户端程序使用,也可以在Servlet/JSP的Web应用中使用,最具革命意义的是,Hibernate可以在应用EJB的J2EE架构中取代CMP,完成数据持久化的重任。应用系统Hibernate(OR)映射POJO关系型数据库系统(Oracle,SQL Server等)Hibernate.cfg.xmlHpertiesJava开发人员可以方便地通过Hibernate API来操纵数据库,无须编写繁琐的SQL语句,执行冗长的多表查询,而只需通过对象与对象之间的关联操作数据库。只是Hibernate将原本分散的JDBC和SQL语句组合产生编程接口,封装成对象化的数据接口。Hibernate位于应用系统与数据库的中间层,起到一个桥梁作用,如图2.2所示。图2.2 Hibernate的作用Hibernate配备了一种非常强大的查询语言叫HQL,这种语言看上去很像SQL。但是不要被语法结构上的相似所迷惑,HQL是非常有意识地被设计为完全面向对象的查询,它可以理解如继承、多态和关联之类的概念。2.2.3 SpringSpring Framework 是一个开源的JavaJava EE全功能栈(full-stack)的应用程序框架,以Apache许可证形式发布,也有.NET平台上的移植版本。该框架基于 Expert One-on-One Java EE Design and Development一书中的代码,最初由 Rod Johnson 和 Juergen Hoeller等开发。Spring Framework 提供了一个简易的开发方式,这种开发方式,将避免那些可能致使底层代码变得繁杂混乱的大量的属性文件和帮助类。Spring是一个开源框架,它由Rod Johnson创建。它是为了解决企业应用开发的复杂性而创建的。Spring使用基本的JavaBean来完成以前只可能由EJB完成的事情。然而,Spring的用途不仅限于服务器端的开发。从简单性、可测试性和松耦合的角度而言,任何Java应用都可以从Spring中受益。 l 目的:解决企业应用开发的复杂性 l 功能:使用基本的JavaBean代替EJB,并提供了更多的企业应用功能 l 范围:任何Java应用 简单来说,Spring是一个轻量级的控制反转(IoC)和面向切面(AOP)的容器框架。 l 轻量从大小与开销两方面而言Spring都是轻量的。完整的Spring框架可以在一个大小只有1MB多的JAR文件里发布。并且Spring所需的处理开销也是微不足道的。此外,Spring是非侵入式的:典型地,Spring应用中的对象不依赖于Spring的特定类。 l 控制反转Spring通过一种称作控制反转(IoC)的技术促进了松耦合。当应用了IoC,一个对象依赖的其它对象会通过被动的方式传递进来,而不是这个对象自己创建或者查找依赖对象。你可以认为IoC与JNDI相反不是对象从容器中查找依赖,而是容器在对象初始化时不等对象请求就主动将依赖传递给它。 l 面向切面Spring提供了面向切面编程的丰富支持,允许通过分离应用的业务逻辑与系统级服务(例如审计(auditing)和事务(transaction)管理)进行内聚性的开发。应用对象只实现它们应该做的完成业务逻辑仅此而已。它们并不负责(甚至是意识)其它的系统级关注点,例如日志或事务支持。l 容器Spring包含并管理应用对象的配置和生命周期,在这个意义上它是一种容器,你可以配置你的每个bean如何被创建基于一个可配置原型(prototype),你的bean可以创建一个单独的实例或者每次需要时都生成一个新的实例以及它们是如何相互关联的。然而,Spring不应该被混同于传统的重量级的EJB容器,它们经常是庞大与笨重的,难以使用。 l 框架Spring可以将简单的组件配置、组合成为复杂的应用。在Spring中,应用对象被声明式地组合,典型地是在一个XML文件里。Spring也提供了很多基础功能(事务管理、持久化框架集成等等),将应用逻辑的开发留给了你。 所有Spring的这些特征使你能够编写更干净、更可管理、并且更易于测试的代码。它们也为Spring中的各种模块提供了基础支持。2.3 Div+CSSDIV+CSS是网站标准(或称“WEB标准”)中常用术语之一,通常为了说明与HTML网页设计语言中的表格(table)定位方式的区别,因为XHTML网站设计标准中,不再使用表格定位技术,而是采用DIV+CSS的方式实现各种定位。CSS是英语Cascading Style Sheets(层叠样式表单)的缩写,它是一种用来表现 HTML 或 XML 等文件式样的计算机语言。HTML语言自HTML4.01以来,不再发布新版本,原因就在于HTML语言正变得越来越复杂化、专用化。即标记越来越多,甚至各个浏览器生产商也开发出只适合于其特定浏览器的HTML标记,这显然有碍于HTML网页的兼容性。于是W3C组织进而重新从SGML中获取营养,随后,发布了XML,XML是一种比HTML更加严格的标记语言,全称是可扩展标记语言。但是XML过于复杂,且当前的大部分浏览器都不完全支持XML。于是XHTML这种语言就派上了用场,XHTML语言就是一种可以将HTML语言标准化,用XHTML语言重写后的HTML页面可以应用许多XML应用技术。使得网页更加容易扩展,适合自动数据交换,并且更加规整。说了这么多,现在该说正题了CSS。其实CSS单独使用除了麻烦一点之外,我个人觉得并无明显的优于HTML的好处。而关键就在于其与脚本语言及XML技术的融合,即CSS+Javascript+XML(实际上有一种更好的融合:XML+XSL+Javascript)但XSL,即可扩展样式表语言相较于CSS过于复杂,不太容易上手。自从CSS出现之后,HTML终于摆脱了杂乱无章的恶梦,开始将页面内容与样式分离。第三章 系统分析3.1需求分析需求分析是一个成功系统的基础,也是编写一个好软件的先决条件,有了好的需求分析,才能对整个系统有整体的把握,这样才能对每个模块进行清晰的划分,进而才能做到整个系统实现过程中有条不紊,按部就班。本节对创业平台中的游客、创业者、公司、领域专家和管理员进行了需求分析,明确了各个角色需要提供的功能。3.1.1 游客功能要求本创业辅助平台为一般游客提供了一些基本功能:l 会员注册:分为创业者注册和公司注册,只有成为本平台的创业者会员才可以进行创业或者以企业的角色发布一些招聘信息。l 职位搜索:游客或者会员可以查看平台上提供的一些职位信息。l 站内统计:通过查看平台上各个创业领域注册人数以及专家公司的人数来了解目前平台的一些进本情况。l 用户帮助:给使用者了解到平台的一些基本信息。l 创业领域介绍:给想注册成为会员的用户了解一下相关领域需要完成的任务。l 资深专家介绍:对平台已经注册的专家进行介绍。l 注册企业浏览:浏览平台上已经注册的企业信息。l 创业资源下载:下载专家提供的一些创业资源。l 创业故事浏览:浏览领域专家发布的创业故事。l 登陆:通过登录,创业者、公司、领域专家可以进入自己的主页。l 创业建议浏览:浏览专家发布的创业建议。l 政策信息浏览:浏览平台发布的政策信息。3.1.2 创业者功能要求创业者是本平台最重要的角色之一,需提供如下功能:l 创业之路:创业者通过这个功能进行创业,可以提交创业报告,查看专家评分以及查看自己的创业过程中所记录下的文档。l 领域专家:查看专家基本信息并可以给其留言。l 招贤纳什:可以发布自己创业过程中所需要的职位信息并可以管理职位信息。l 企业合作:查看企业对自己的合作意向。l 交流专区:和领域专家进行互动交流。l 我的基本信息管理:维护自己的信息。3.1.3 领域专家功能要求领域专家主要负责对创业者上传的创业各个阶段的报告进行打分,并给出相应评价,并可以和创业者进行交流等,需要提供如下功能:l 创业者评价:查看各领域的创业者所记录的文档并对其进行评价与打分。l 创业资源上传:上传创业相关资源,如视频、文档并可以对上传的资源进行管理。l 创业建议发布:分享自己的创业建议并可以对建议进行管理。l 创业故事发布:发布和管理创业成功故事。l 交流专区:可以和创业者进行互动交流。l 我的基本信息管理:管理维护自己的信息。3.1.4 公司功能要求公司主要发布一些创业信息,还可以和一些有潜力的创业项目进行合作,相当于一个风险投资的角色,需要提供如下功能:l 职位信息发布:发布和管理企业所需要的职业信息。l 企业合作:查看创业者信息及记录的文档并可以与他进行合作。l 公司信息管理:维护公司的信息。3.1.5 管理员功能要求创业平台需要管理员的维护才可以保持正常运行,需要提供如下的功能:l 创业者信息管理:对创业者的信息进行维护,要负责删除一些不合法的用户。l 公司信息管理:维护公司信息,并对注册的公司进行审核,只有点击通过审核的公司才可以登录自己的主页。l 专家信息管理:维护专家相信,并可以添加专家。l 创业领域编辑:编辑和添加创业领域。l 友情链接管理:维护友情链接信息。l 政策信息管理:维护政策信息。3.2 系统用例建模经过详细的需求分析,我们可以抽象出本系统游客用例图(图3.1所示)、创业者用例图(图3.2所示)、领域专家用例图(图3.3所示)、公司用例图(图3.4所示)和后台管理员用例图(图3.5所示)。3.2.1 游客功能用例描述图3.1 游客用例图3.2.2 创业者功能用例描述图3.2 创业者用例图3.2.3 领域专家功能用例描述图3.3 领域专家用例图3.2.4 公司功能用例描述图3.4 公司用例图3.2.5 管理员功能用例描述图3.5 管理员用例图第四章 系统设计4.1 系统功能模块设计4.1.1 功能模块图通过对系统功能合理地划分,集中体现在界面上的功能主要包括系列几个模块(如图4.1所示)。图4.1 系统功能模块图4.2 系统架构设计本系统采用基于MVC的应用架构,利用Sturts框架核心控制器拦截用户的请求,用Hiberbate框架以面向对象的思想对数据库进行操作,最后采用了面向接口编程技术,利用Spring的IOC(控制反转)框架进行依赖注入,使系统层与层之间的耦合降到了最低。系统分层策略:action(控制器)、bo(业务逻辑层)、dao(数据访问层)和po(实体bean)。用户发出请求之后Struts核心控制器拦截到用户的请求并将它转发给action(控制器),action控制器调用bo(业务逻辑层)执行相应的业务逻辑方法,bo层调用dao(数据访问层)对po(实体bean)进行相应的操作。各个层之间是以接口的形式联系起来的,通过Sping IOC框架进行依赖注入,这样将系统的层之间的依赖降到了最低。4.3具体模块设计4.3.1游客功能模块设计游客可以浏览主页上的相关信息,只有注册成为会员之后才可以进行创业过程。l 会员注册:游客通过选择是创业者注册还是公司注册来生成相应的表单,两种角色的注册表单是不同的,创业者表单除了填写基本信息,还要选择所属创业领域以及是否进行进程控制。公司注册表单可以填写一些基本的信息。l 职位搜索:平台上的职位信息分两种,一种是创业者发布的,另一种是公司发布的,可以通过单选按钮选择查看对应的职位信息,利用Ajax技术显示所查询关键字对应的职位记录条数,提高用户的浏览体验。l 站内统计:用图表的形式,直观的表示出平台上注册的创业者、公司、领域专家人数统计以及各个创业领域的人数,利用JFreeChart来实现图表的功能。l 用户帮助:对平台进行一个全面系统的介绍,帮助用户快速了解本平台的一些基本功能。l 创业领域介绍:查看各个领域的任务描述、限制时间、任务序列等基本信息,了解该领域需要做些什么。l 资深专家介绍:介绍平台专家的一些基本信息,包括他所属的领域等。l 注册企业浏览:介绍平台公司家的一些基本信息。l 创业资源下载:下载专家上传的资源,如文档、视频等到本地。l 创业故事浏览:浏览一些创业成功案例,可以看到是哪个领域专家发布的以及他对此的评价。l 登陆:输入用户名和密码,并通过单选按钮选择是何种角色来登录到平台,登录后点击进入主页可以开始各个角色的相关工作。l 创业建议浏览:浏览专家发布的一些建议信息。l 政策信息浏览:浏览国家出台的一些利于创业的政策信息。4.3.2创业者功能模块设计创业者是本平台最重要的角色之一,需提供如下功能:l 创业之路:创业者进行创业的基本模块,创业者可以查看到相应任务的描述。如果创业者在注册时选择了进行进程控制的话,则会提示创业者在限制的时间内提交报告,否则过期提交不了报告。如果专家给本文档打分并且做出了评价,则创业者可以在查看评价中点击,页面下方会显示领域专家对本文当的评价,还可以点击报告成绩一览,以图表的形式显示出对应文档的平均得分。创业者可以浏览本地的文档并把它提交上去,在截止时间之前是可以提交更新的,一旦一个任务文档提交,下一个任务就可以开始提交。l 领域专家:查看领域专家的基本信息,点击给他留言可以和专家进行互动交流。l 招贤纳什:此功能分为职位发布和职位管理两个子功能,通过职位发布可以发布职位信息供别人浏览。职位管理可以对发布的职位进行增删改查。l 企业合作:创业者可以查看到想要和他进行合作的公司的基本信息,点击接受邀请的话,公司就可以在他们的主页上看到此创业者的基本信息,包括邮箱、电话等联系方式,一方便他们进行进一步的交流。如果点击忽略的话,则公司看不到创业者的基本信息。l 交流专区:创业者可以查看自己给专家的留言以及专家的回复信息,点击删除可以删除相关的留言信息。l 我的基本信息管理:除了性别以及所属创业领域是不可以更改之外,其他基本信息都是可以更改的,包括登录名、密码、联系方式等基本信息。4.3.3 公司功能模块设计公司主要发布一些创业信息,还可以和一些有潜力的创业项目进行合作,相当于一个风险投资的角色,需要提供如下功能:l 职位信息发布: 此功能分为职位发布和职位管理两个子功能,通过职位发布可以发布职位信息供别人浏览。职位管理可以对发布的职位进行增删改查。l 企业合作: 此功能分为创业者查询和合作信息两个子功能,企业可以查看创业者提交的报告以及专家的打分情况,以确定是否要和他进行进一步的深入合作。l 公司信息管理:如果企业对创业者感兴趣,则可以在此功能中发出邀请,如果创业者在他的合作信息功能中选择了接受邀请的话,则公司可以看到创业者的基本信息,如果创业者忽略了邀请的话,则在合作状态中显示已被忽略,公司可以删除该信息。4.3.4 专家功能模块设计领域专家主要负责对创业者上传的创业各个阶段的报告进行打分,并给出相应评价,并可以和创业者进行交流等:l 创业者评价:专家所属领域的创业者会全部显示在界面的右侧,专家通过批阅创业者提交的报告,来给文档进行打分并做出评价,此评分会影响到创业者提交的文档的平均分。l 创业资源上传:专家浏览本地的创业资源,选择资源类型,上传到平台,以供游客查看,下载。专家也可以对自己发布的资源进行删除管理。l 创业建议发布:专家可以增、删、改、查创业建议。l 创业故事发布:专家发布创业故事,同样可以进行删除、更新。l 交流专区:专家通过此功能和创业者进行交流,回复创业者的问题、留言,达到一个互动的效果,交流信息包括时间信息。l 我的基本信息管理: 虽然专家的基本信息是管理员录入的,但是专家可以利用这个功能编辑自己的基本信息。4.3.5 管理员功能模块设计管理员负责对整个平台的信息进行管理:l 创业者信息管理:浏览创业者的基本信息,对非法注册的用户可以点击删除来删除创业者。l 公司信息管理:浏览注册公司的基本信息,公司一开始注册之后是不可以登录到主页的,只有后台管理员进行审核之后点击通过审核按钮发才可以进行登录。l 专家信息管理:可以添加、删除专家的基本信息。l 创业领域编辑:管理员可以编译创业领域,包括各个领域里的各个任务,还可以添加任务,添加创业领域。l 友情链接管理:管理员对主页下方的友情链接进行管理,进行增、删、改操作。l 政策信息管理:管理员对平台的政策信息接进行管理,进行增、删、改操作。4.4数据库设计4.4.1 数据库表结构的设计在本系统中设计了下列的表:1. 平台管理员表(admin):存放管理员的用户名和密码,主键为管理员ID。2. 创业领域表(careerfield):存放平台提供的相关创业领域信息,主键为创业领域ID。3. 创业资源表(careerresource):存放专家上传的创业资源,主键为资源ID,外键为专家ID。4. 创业故事表(careerstory):存放专家上传的创业故事,主键为故事ID,外键为专家ID。5. 企业合作表(cooperationinfo):存放企业合作信息,主键为合作ID,外键为公司ID和创业者ID。6. 企业信息表(corporation):存放公司基本信息,主键为公司ID。7. 企业职位表(corporationjob):存放公司发布的职位信息,主键为职位ID,外键为公司ID。8. 创业报告表(documents):存放了创业者提交的报告信息,主键为创业报告ID,外键为创业者ID和创业领域任务ID。9. 专家信息表(expert):存放专家的一些基本信息,主键为专家ID。10. 专家所属领域表(expertfield):存放了专家所属领域信息,主键为领域表ID,外键为专家ID和领域ID。11. 创业者信息表(founder):存放了创业者的基本信息,主键为创业者ID。12. 创业者发布职位表(jobinfo):存放了创业者发布的职位信息,主键为职位ID,外键为创业者ID。13. 超链接表(links):存放了友情链接信息,主键为超链接ID。14. 创业者、专家交流表(message):存放了创业者和专家交流的信息,主键为交流表ID,外键为创业者ID和专家ID。15. 政策信息表(policy):存放了创业政策信息,主键为政策信息ID。16. 专家建议表(suggestions):存放了专家的建议信息,主键为建议ID,外键为专家ID。17. 创业领域任务表(taskinfo):存放了创业领域的任务信息,主键为任务ID,外键为创业领域ID。18. 文档得分表(documentscore):存放了专家对文档的打分信息,主键为得分表ID,外键为专家ID和文档ID。4.4.2 系统ER图图4.2 系统ER图从这张ER图中,我么可以清楚的了解到本创业辅助平台中各个实体之间的关系,为以后分析问题,解决问题提供了帮助。另外,在创建数据库时可以参考这张ER图。4.4.3 物理数据模型图4.3 物理数据模型图物理数据模型图能很好的反应系统各个实体之间的关系,如“一对多”,“多对多”等。第五章 系统实现在建立了整体设计及数据库的基础上,本章将按功能模块对页面的具体设计和实现继续进行讨论。5.1 系统模块实现5.1.1 游客模块的实现游客登录主页后,在主页上会显示一些信息的介绍,例如创业领域、领域专家、注册公司、创业政策、创业故事等资源,游客可以点击每一项进行查看。以下代码主要功能为将首页上需要显示的信息从数据库里取出来放到session中,之后我们在JSP页面中就可以把信息全部显示出来。代码调用了业务逻辑处理bean的方法从数据库中取出所有的信息,业务逻辑处理bean调用数据访问层dao,最后dao层操作实体对象po对数据库进行操作,这里的操作就是简单的查询。ArrayList li_policys = (ArrayList)ivisitorbo.getAllPolicys();/调用业务逻辑层的方法取得所有政策信息ArrayList li_careerfields = (ArrayList)ivisitorbo.getAllCareerfields();ArrayList li_careerresources = (ArrayList)ivisitorbo.getAllCareerresources();ArrayList li_careerstorys = (ArrayList)ivisitorbo.getAllCareerstorys();ArrayList li_corporations = (ArrayList)ivisitorbo.getAllCorporations();ArrayList li_jobinfos = (ArrayList)ivisitorbo.getAllJobinfos();ArrayList li_suggestions = (ArrayList)ivisitorbo.getAllSuggestions();ArrayList li_experts = (ArrayList)ivisitorbo.getAllExperts();request.getSession().setAttribute(policynames, li_policys);/将信息放入session中,以便在页面中显示request.getSession().setAttribute(expertnames, li_experts);request.getSession().setAttribute(corporationnames, li_corporations);request.getSession().setAttribute(careerstorynames, li_careerstorys);request.getSession().setAttribute(suggestionnames, li_suggestions);request.getSession().setAttribute(links, links);在首页中如果要显示出对应的信息可以使用如下的代码:代码运用了struts提供的标签,该标签主要完成遍历集合的动作,这样就可以显示出每个创业领域的链接,点击后可以查看到具体领域任务。其他信息是同样处理的。所有信息显示出来之后主页效果如图5.1所示。图5.1 首页游客可以在本平台搜索相关的职位信息:选择职位的性质(创业者发布还是公司发布)并输入关键字后点击搜索就可以查看到搜索到的职位信息,效果如图5.2所示。图5.2 职位搜索框 代码实现如下:DynaActionForm queryJobsForm = (DynaActionForm) form;String position = queryJobsForm.getString(position).trim();/获取职位名称String type = queryJobsForm.getString(type);/获取职位类型ArrayList li_jobs = (ArrayList) ivisitorbo.getJobs(position, type);/从数据库中查询request.getSession().setAttribute(type, type);PageControlerjobs=(PageControler)request.getSession().getAttribute(jobs);/取出session中的jobs对象if(jobs=null)/第一次查询jobs = new PageControler();/新建分页器jobs.setCountPerpage(10);/设置每页显示数jobs.setBigList(li_jobs);request.getSession().setAttribute(founders, jobs);/放到session中jobs.setCurentPageIndex(1);elsejobs.setCountPerpage(10);jobs.setBigList(li_jobs);request.getSession().setAttribute(founders, jobs);jobs.setCurentPageIndex(1);request.getSession().setAttribute(jobs, jobs);return mapping.getInputForward();系统根据提交的信息,从数据库中查找出所有符合要求的职位信息,将其放入session中,在JSP页面里用struts的标签显示出来,如图5.3所示。图5.3 职位搜索结果当点击查看详细时,关注人数会自动加一,以表明这个职位的关注度。5.2.2 创业者模块实现本系统中创业者的创业过程是通过提交一系列的任务报告以及和领域专家的交流来实现的。所以其中涉及到了文件上传等问题。当然这并不是最困难的,系统中,选择了进程控制的创业者只有在限制的时间内可以提交报告,并且只有当上一个任务提交之后,下一个任务的报告才可以提交。首先在创业这选择了相应的创业领域以及选择了进程

温馨提示

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

评论

0/150

提交评论