目录
客户是公司最宝贵的资源,为了更好的发掘老客户的价值,并开发更多新客户,XX公司决定实施客户关系管理系统。希望通过这个系统完成对客户基本信息、联系人信息、交往信息、客户服务信息的充分共享和规范化管理;希望通过对销售机会、客户开发过程的追踪和记录,提高新客户的开发能力;希望在客户将要流失时系统及时预警,以便销售人员及时采取措施,降低损失。并希望系统提供相关报表,以便公司高层随时了解公司客户情况。
客户服务是一个涉及多个部门,存在一定流程的工作。客户服务水平的高低决定着公司的核心竞争力。该客户关系管理系统应提供一个客户服务在线平台,使客户服务处理过程中相关人员可以在线完成服务的处理和记录工作。
本文档是微普信息服务有限责任公司在培训期间给予学员的第二阶段项目。本文档的编写为下阶段的设计、开发提供依据,为项目组成员对需求的详尽理解,以及在开发过程中的协同工作提供强有力的保证。同时本文档也作为项目评审验收,以及对学员所学水平考核的依据。
本系统包括:营销管理、客户管理、服务管理、统计报表和基础数据五个功能模块。另包括权限管理模块用于系统的用户、角色和相关权限。
各项目组成员、指导老师、考核老师
CRM客户关系管理系统
XX公司员工(这里由其他项目组成员模拟)。
购买XX公司产品或有意向购买XX公司产品的单位客户,不包括个人客户(这里由其他项目组成员模拟)。
由客户提出申请,需要本项目开发的项目组对其做出响应的活动。分咨询、建议、投诉、修改、维护等类型。
目前市场营销的核心任务是对客户关系的管理,不仅需要直接市场上的接触,期刊和互联网上的广告产品销售,还需要寻找同客户交流的新的方式。CRM是企业从“以服务为中心模式”向“以客户为中心模式”转移的必然结果。“1.寻找准客户;2.约见拜访;3.建立信任关系;4.挖掘客户需求;5.研究解决方案;6.提出客户方案;7.签约承诺;8.客户满意”是企业业务部门、CRM系统以及业务部门应用CRM系统都应遵循的销售管理步骤。
CRM使用功能强大的数据库存储各种客户信息,便于企业员工快速查询客户资料,使企业对客户不再陌生,在交往过程中使客户感觉自己倍受企业关注;
提供了客户关怀功能,帮助企业关注客户与企业交易的细微变化,识别出企业的价值客户、价值变动客户和问题客户,从而有针对性的采取相应的行动:
感谢或者鼓励价值客户(或价值变动客户),与问题客户充分沟通,消除误解、解决问题,最终避免客户的流失;
CRM实现了客户关系管理业务自动化和企业内部各职能部门的协同工作,帮助企业提升与客户的关系,提升了整体管理水平。
作为解决方案的CRM集合了当今最新的信息技术,它们包括:Internet和电子商务、多媒体技术、数据仓库和数据挖掘、专家系统和人工智能、呼叫中心等等。作为一个应用软件的CRM,更多是凝聚了市场营销的管理理念。市场营销、销售管理、客户关怀、服务和支持构成了CRM软件的基石。
与本系统相关的用户和角色包括:
系统管理员:
管理系统用户、角色与权限,保证系统正常运行。
销售主管:
对客户服务进行分配。
创建销售机会。
对销售机会进行指派。
对特定销售机会制定客户开发计划。
分析客户贡献、客户构成、客户服务构成和客户流失数据,定期提交客户管理报告。
客户经理:
维护负责的客户信息。
接受客户服务请求,在系统中创建客户服务。
处理分派给自己的客户服务。
对处理的服务进行反馈。
创建销售机会。
对特定销售机会制定客户开发计划。
执行客户开发计划。
对负责的流失客户采取“暂缓流失”或“确定流失”的措施。
高管:
审查客户贡献数据、客户构成数据、客户服务构成数据和客户流失数据。
系统用例图如图2-1所示,子用例图及详细的用例描述见“功能性需求”部分。
图 2-1
本系统采用Microsoft SQL Server数据库,使用Java EE进行开发,采取B/S架构。数据库设计原则上符合第三范式,且规范,易于维护。
程序需使用MVC模式,采用SSH三层架构,保证系统的可维护性和可扩展性。
本系统分营销管理、客户管理、服务管理、统计报表、基础数据和权限管理六个模块。本人在此系统中主要负责营销管理模块,所以以下详解营销管理。
营销管理模块包含销售机会的管理和对客户开发过程的管理,子用例图如图3-1所示。
图3-1
销售管理模块管理商业机会,帐户信息及销售渠道等方面。它支持多种销售方式,确保销售队伍总能把握最新的销售信息,实现销售力量自动化。
系统功能:
广告销售机会、企业客户帐户、及合同管理;
动态的销售队伍及目标市场区域管理;
可以进行广告产品的配置、报价;
最新的信息刷新;
商务分析功能;
现场推销,电话征订, 渠道销售和网上广告销售;
企业集成功能可以实现与其他信息系统的整合。
营销的过程是开发新客户的过程。对老客户的销售行为不属于营销管理的范畴。
客户经理有开发新客户的任务,在客户经理发现销售机会时,应在系统中录入该销售机会的信息。销售主管也可以在系统中创建销售机会。
所有的销售机会由销售主管进行分配,每个销售机会分配给一个客户经理。
客户经理对分配给自己的销售机会制定客户开发计划,计划好分几步开发,以及每个步骤的时间和具体事项。
制定完客户开发计划后,客户经理按实际执行请跨功能填写计划中每个步骤的执行效果。
在开发计划结束的时候,根据开发的结果不同,设置该销售机会为“开发失败”或“开发成功”。
如果开发客户成功,系统自动创建新的客户记录。
客户信息是公司资产的构成部分之一,应对其进行妥善保管、充分利用。
每个客户经理有责任维护自己负责的客户信息,随时更新。在本系统中,客户信息将得到充分的共享,从而发挥最大的价值。
有调查表明,公司的大部分利润来自老客户,开发新的客户成本相对较高而且风险相对较大。因此我们有必要对超过6个月没有购买公司产品的客户应予以特殊关注,防止现有客户流失。
客户管理的子用例图如图3-2所示。
图 3-2
客户服务是客户管理的重要工作。通过客户服务我们的销售团队可以及时帮助客户解决问题、打消顾虑,提高客户满意度。还可以帮助我们随时了解客户的动态,以便采取应对措施。
客户管理的子用例图如图3-3所示。
图 3-3
对客户下单的总金额进行统计,了解客户对企业的贡献。
统计报表的子用例图如图3-4所示。
图3-4
对客户下单的总金额进行统计,了解客户对企业的贡献。
统计报表的子用例图如图3-5所示。
图3-5
系统应可运行于Windows平台或Unix平台(数据库服务器运行于Windows平台)。
系统采用B/S架构,可通过浏览器访问,使用IE6.0或更高版本可顺利完成全部系统操作。
系统运行于局域网环境中。
系统采用的Java SDK版本为6.0(或更高版本)。
系统数据库使用MS SQL Server 2000(或更高版本)。
本系统在正常的网络环境下,应能够保证系统的及时响应:
统计报表模块相应功能响应时间不超过30秒。
其他模块相应功能响应时间不超过15秒。
本系统的系统架构,以及权限机制可以保证系统的安全性。
首先,从系统架构看,本系统采用B\S模型,从而使服务器数据源与客户端分离,保证了数据的物理独立性;
其次,本系统的用户授权机制通过角色的定义管理实现,通过定义某些角色能进行的操作权限,和定义用户拥有的角色,限定用户的操作权限,实现对用户的授权。
本系统的应用平台设计中选择B/S结构,采用基于JAVA技术并且符合Java EE开发规范的系统应用平台,并采用三层结构,使系统具有良好的可维护性和可扩展性。
项目开发之前,要预先做好开发流程,按照流程进行逐步开发,知道完成最终目标。以下是CRM的具体开发流程图:
模块 划分
Y N
Y N
图5-1
数据库是现代企业信息化系统的核心。建立CRM数据库,首先要保证数据质量。经确认的数据对建立CRM数据库而言相当重要。相反则可能会为一个相同的客户建立很多条记录,也完全有可能为两个不同的人只建了一个记录。这样,可能会出现给一个顾客发很多份相同的邮件。企业很可能会因此而疏远甚至失去顾客。
数据结构:在一个决策支持系统中,不具有特定数据结构的文本信息是很难查询和分析的。哪些数据是CRM数据库使用者所关心的,又怎样才能使这些数据对他们变得更为有用,成为设计数据结构首要考虑的问题。如市场业务人员应用系统时,应该能够查询到自己接触的客户是否已在客户数据库中,是否已有部门同事对该客户开展了市场活动。
发挥数据的最大价值在于应用。在这方面,最重要的是把数据放到使用者的手边,使得他们能方便、快捷地得到相关数据。每个进入客户关系管理系统的顾客资料,客户服务、电话销售等部门都应很容易得到他们的数据。因为这些数据对客户服务等部门来说非常重要,他们可据此来判断一个用户是否能为企业带来效益,如是否有订刊意向,是否有参加糖酒会意向,以及最新的广告媒体投入等。对于能带来效益的用户,可为他们提供多一些的服务,也可提供一些相关的东西来吸引他们继续作为自己的客户。对于那些不能带来效益的甚至是来窃取商业秘密的用户,则不提供服务或作其他策略性处理。这些措施都能使企业与顾客保持一个良好的关系。
一个好的项目,必然有着一个强大的数据库的支持。作为数据的支持,数据库的设计,关系着项目的成败与否。以下是CRM系统的数据库关系图:
图5-2
用户输入正确的用户名和密码,登陆进入主界面,根据自己职位、职责和权限选择对应的主模块,在主模块中点击对应的子模块进行相关的操作。
图5-3
该模块主要包括创建和修改销售机会,把销售机会指派给客户经理(一个计划只能指派给一个销售经理,被指派的计划不再具有指派功能),同时还要为销售计划制定相应的销售计划,在主要的销售计划中创建日计划,并跟踪日计划,对日计划进行修改和删除,最后可以根据计划的执行效果对计划执行终止或完成操作实现计划的归档,归档的计划只能被查看。
此界面可以查看数据库中所有的销售机会,同时可以实现如下功能:
根据客户名称、概要、联系人来进行模糊查询:
图5-4
添加新的销售机会记录:
图5-5
对数据库中的销售机会记录进行删除、编辑和指派(其中,只能对客户经理进行指派,且一个销售机会只能指派给一个客户经理):
图5-6
此界面可以查看数据库中所有的客户计划,同时可以实现如下功能:
根据客户名称、概要、联系人来进行模糊查询:
图5-7
制定开发日计划:
图5-8
执行开发计划(包含开发成功、终止开发):
图5-9
客户管理模块,主要分为客户信息管理和客户流失管理。客户信息管理主要管理客户的具体信息,包括客户的名称、地区、客户等级和客户状态等。而客户流失管理主要管理流失的客户信息包括上次下单时间、流失处理和流失时间等。
客户信息管理,显示所有的客户信息,添加修改新的客户信息、根据相应的信息进行模糊查询等相关操作。
图5-10
查看客户交往记录:
图5-11
查看客户历史订单:
图5-12
客户流失管理,管理客户流失信息,对即将流失的客户进行预警等操作,查看流失客户的详细信息等。
图5-13
服务管理可以使客户服务代表如综合部门电话征订人员、客户投诉受理人等有效地提高服务质量,增强服务能力,从而更加容易捕捉和跟踪服务中出现的问题,迅速准确地根据客户需求分解整个企业业务流程各个环节中的问题,延长客户的生命周期。服务人员通过分解客户服务的需求,并向客户建议更多、更适合的产品和服务,来增强和完善对每一个客户的解决方案,全面提高客户满意度和忠诚度。
具体操作功能如下:
服务创建:
图5-14
服务分配:
图5-15
服务处理:
图5-16
服务反馈:
图5-17
服务归档:
图5-18
统计报表将所有客户的相关信息以报表形式反馈显示出来,方便客户经理、营销主管等进行查看,从而做出相关的处理。
图5-19
图5-20
CRM中的管理员模块,主要是以管理员身份(admin)进入,在管理员系统界面中对用户和用户权限进行管理,如添加删除用户,给用户授权和收回用户权限,保证系统的安全性。
图5-21
添加、修改用户:
图5-22
图5-23
添加、修改角色:
图5-24
CRM客户关系管理系统主要使用了SSH三层架构思想:第一层,实体类层;第二层,业务逻辑层;第三层,表示层。运用xml文件进行相关配置文件内容的配置和解析。使用javaScript脚本语言,对项目细节进行完善。
Struts是一个在jsp model2基础上实现的mvc框架,主要分为模型(model)、视图(view)和控制器(controller)三部分,其主要的设计理念是通过控制器将表现逻辑和业务逻辑解耦,以提高系统的可维护性、可扩展性和可重用性。
以下是struts的工作流程图:
Request response
forward
dispatch
图6-1
视图部分主要又jsp页面组成,其中没有流程逻辑、业务逻辑和模型信息,只要标记。Struts自身包含了一组标记库(Taglib),这也是struts的精华之一,灵活运用它们可以简化jsp页面的代码,提高开发效率。
Struts中的controller主要是其自身提供的ActionServlet。ActionServlet接收所有来自客户端的请求并根据配置文件(struts-config.xml)中的定义将控制转移到适当的Action对象。
Struts没有定义具体的model层的实现,model层通常是和业务逻辑紧密相关的,有持续化的要求。
Spring是一个解决了许多j2ee开发中常见问题并能够替代ejb技术的强大轻量级框架。Spring框架的核心是控制反转IOC(inversion ofcontrol)/依赖注入DI(dependence injection)机制。
简单来说,Spring是一个轻量级的控制反转(IOC)和面向切面(AOP)的容器框架。
轻量——从大小与开销两方面而言Spring都是轻量的。完整的Spring框架可以在一个大小只有1MB多的JAR文件里发布。并且Spring所需的处理开销也是微不足道的。此外,Spring是非侵入式的:典型地,Spring应用中的对象不依赖于Spring的特定类。
控制反转——Spring通过一种称作控制反转(IOC)的技术促进了松耦合。当应用了IOC,一个对象依赖的其它对象会通过被动的方式传递进来,而不是这个对象自己创建或者查找依赖对象。你可以认为IOC与JNDI相反——不是对象从容器中查找依赖,而是容器在对象初始化时不等对象请求就主动将依赖传递给它。
面向切面——Spring提供了面向切面编程的丰富支持,允许通过分离应用的业务逻辑与系统级服务(例如审计(auditing)和事务(transaction)管理)进行内聚性的开发。应用对象只实现它们应该做的——完成业务逻辑——仅此而已。它们并不负责(甚至是意识)其它的系统级关注点,例如日志或事务支持。
容器——Spring包含并管理应用对象的配置和生命周期,在这个意义上它是一种容器,你可以配置你的每个bean如何被创建——基于一个可配置原型(prototype),你的bean可以创建一个单独的实例或者每次需要时都生成一个新的实例——以及它们是如何相互关联的。然而,Spring不应该被混同于传统的重量级的EJB容器,它们经常是庞大与笨重的,难以使用。
框架——Spring可以将简单的组件配置、组合成为复杂的应用。在Spring中,应用对象被声明式地组合,典型地是在一个XML文件里。Spring也提供了很多基础功能(事务管理、持久化框架集成等等),将应用逻辑的开发留给了你。
所有Spring的这些特征使你能够编写更干净、更可管理、并且更易于测试的代码。它们也为Spring中的各种模块提供了基础支持。
ORM(object relationship mapping)技术是为了解决关系型数据库和面向对象的程序设计之间不匹配的矛盾而产生的。
Hibernate通过对jdbc的封装,向程序员屏蔽了底层的数据操作,是程序员专注于oo程序的开发,有助于提高开发效率。程序员访问数据库所需要做的就是为持久化对象编制xml映射文件。
Hibernate有自己的面向对象的查询语言hql,hql功能强大,支持目前大部分主流数据库,是目前应用最广泛的o/r映射工具,hibernate为快速开发应用程序提供了底层支持。
Hibernate的核心接口一共有5个,分别为:Session、SessionFactory、Transaction、Query和Configuration。这5个核心接口在任何开发中都会用到。通过这些接口,不仅可以对持久化对象进行存取,还能够进行事务控制。下面对这五个核心接口分别加以介绍。
·Session接口:Session接口负责执行被持久化对象的CRUD操作(CRUD的任务是完成与数据库的交流,包含了很多常见的SQL语句。)。但需要注意的是Session对象是非线程安全的。同时,Hibernate的session不同于JSP应用中的HttpSession。这里当使用session这个术语时,其实指的是Hibernate中的session,而以后会将HttpSesion对象称为用户session。
·SessionFactory接口:SessionFactory接口负责初始化Hibernate。它充当数据存储源的代理,并负责创建Session对象。这里用到了工厂模式。需要注意的是SessionFactory并不是轻量级的,因为一般情况下,一个项目通常只需要一个SessionFactory就够,当需要操作多个数据库时,可以为每个数据库指定一个SessionFactory。
·Configuration接口:Configuration接口负责配置并启动Hibernate,创建SessionFactory对象。在Hibernate的启动的过程中,Configuration类的实例首先定位映射文档位置、读取配置,然后创建SessionFactory对象。
·Transaction接口:Transaction接口负责事务相关的操作。它是可选的,开发人员也可以设计编写自己的底层事务处理代码。
·Query和Criteria接口: HQL语句或本地数据库中的SQL语句。其中HQL语句属于面向对象的查询语句,语句中没有使用数据库的表名和字段名,而是使用和表对应的Java类名和属性名进行查询。Query经常被用来绑定查询参数、限制查询记录数量,并最终执行查询操作。Criteria接口与Query接口经常非常类似,Criteria查询将查询条件封装为对象。但是,Criteria查询功能没有Query查询功能强大。在Hibernate2.0中,Session接口中的find()方法也可以进行数据库查询,但是find()方法只能进行简单的查询。在Hibernate3.0中find()方法被废弃,换用createQuery()方法来执行查询操作。
XML与Access,Oracle和Sql Server等数据库不同,数据库提供了更强有力的数据存储和分析能力,例如:数据索引、排序、查找、相关一致性等,XML仅仅是展示数据。事实上XML与其他数据表现形式最大的不同是:它极其简单。这是一个看上去有点琐细的优点,但正是这点使XML与众不同。
XML与HTML的设计区别是:XML是用来存储数据的,重在数据本身。而HTML是用来定义数据的,重在数据的显示模式。
XML的简单使其易于在任何应用程序中读写数据,这使XML很快成为数据交换的唯一公共语言,虽然不同的应用软件也支持其它的数据交换格式,但不久之后他们都将支持XML,那就意味着程序可以更容易的与Windows、Mac OS, Linux以及其他平台下产生的信息结合,然后可以很容易加载XML数据到程序中并分析他,并以XML格式输出结果。
为了使得SGML显得用户友好,XML重新定义了SGML的一些内部值和参数,去掉了大量的很少用到的功能,这些繁杂的功能使得SGML在设计网站时显得复杂化。XML保留了SGML的结构化功能,这样就使得网站设计者可以定义自己的文档类型,XML同时也推出一种新型文档类型,使得开发者也可以不必定义文档类型。
因为XML是W3C制定的,XML的标准化工作由W3C的XML工作组负责,该小组成员由来自各个地方和行业的专家组成,他们通过email交流对XML标准的意见,并提出自己的看法 (www.w3.org/TR/WD-xml)。因为XML 是个公共格式, (它不专属于任何一家公司),你不必担心XML技术会成为少数公司的盈利工具,XML不是一个依附于特定浏览器的语言。
JavaScript是一种基于对象和事件驱动并具有相对安全性的客户端脚本语言。同时也是一种广泛用于客户端Web开发的脚本语言,常用来给HTML网页添加动态功能,比如响应用户的各种操作。它最初由网景公司的Brendan Eich设计,是一种动态、弱类型、基于原型的语言,内置支持类。JavaScript是Sun公司的注册商标。[1] Ecma国际以JavaScript为基础制定了ECMAScript标准。JavaScript也可以用于其他场合,如服务器端编程。完整的JavaScript实现包含三个部分:ECMAScript,文档对象模型,字节顺序记号。
JavaScript能够具有交互性,能够包含更多活跃的元素,就有必要在网页中嵌入其它的技术。如:Javascript、VBScript、Document Object Model(DOM,文档对象模型)、Layers和 Cascading Style Sheets(CSS,层叠式样本),这里主要讲Javascript。那么Javascript是什么东东?Javascript就是适应动态网页制作的需要而诞生的一种新的编程语言,如今越来越广泛地使用于Internet网页制作上。 Javascript是由 Netscape公司开发的一种脚本语言(scripting language),或者称为描述语言。在HTML基础上,使用Javascript可以开发交互式Web网页。Javascript的出现使得网页和用户之间实现了一种实时性的、动态的、交互性的关系,使网页包含更多活跃的元素和更加精彩的内容。 运行用Javascript编写的程序需要能支持Javascript语言的浏览器。Netscape公司 Navigator 3.0以上版本的浏览器都能支持 Javascript程序,微软公司 Internet Explorer 3.0以上版本的浏览器基本上支持Javascript。微软公司还有自己开发的Javascript,称为JScript。 Javascript和Jscript基本上是相同的,只是在一些细节上有出入。 Javascript短小精悍, 又是在客户机上执行的,大大提高了网页的浏览速度和交互能力。 同时它又是专门为制作Web网页而量身定做的一种简单的编程语言。
JavaScript 使网页增加互动性。JavaScript 使有规律地重复的HTML文段简化,减少下载时间。JavaScript 能及时响应用户的操作,对提交表单做即时的检查,无需浪费时间交由 CGI 验证。JavaScript 的特点是无穷无尽的,只要你有创意。
尽可能彻底地检查出程序中的错误,提高软件系统的可靠性,其目的是检验系统"做得怎样?"。这阶段又可分为三个步骤:模块测试,测试每个模块的程序是否有错误;组装测试,测试模块之间的接口是否正确;确认测试,测试整个软件系统是否满足用户功能和性能的要求。该阶段结束应交付测试报告,说明测试数据的选择,测试用例以及测试结果是否符合预期结果。测试发现问题之后要经过调试找出错误原因和位置,然后进行改正。是基于系统整体需求说明书的黑盒类测试,应覆盖系统所有联合的部件。系统测试是针对整个产品系统进行的测试,目的是验证系统是否满足了需求规格的定义,找出与需求规格不相符合或与之矛盾的地方。
表7-1
一级模块 | 二级模块 | 三级模块 | 对应数据库表 |
营销管理 | 销售机会管理 | 帮助 | Sys_user Sale_chance Sale_plan Sale_datePlan |
新建 | |||
查询 | |||
修改 | |||
删除 | |||
查看 | |||
客户开发计划 | 终止开发 | ||
制定计划 | |||
开发成功 | |||
客户管理 | 客户信息管理 | 新建 | Cst_suctomer Cst_linkman Cst_activity Cst_lost order |
修改 | |||
删除 | |||
客户流失管理 | 确认流失 | ||
暂缓流失 | |||
服务管理 | 服务创建 | 新建 | Cst_create_service Cst_assign_service |
服务分配 | 分配 | ||
查询 | |||
删除 | |||
服务处理 | 修改 | ||
服务反馈 | 修改 | ||
服务归档 | 查询 | ||
统计报表 | 客户贡献分析 | 查询 | Product_list |
客户构成分析 | 查询 | ||
客户服务分析 | 查询 | ||
客户流失分析 | 查询 | ||
基础数据 | 数据字典管理 | 新建 | dict |
修改 | |||
删除 | |||
查询产品信息 | 查询 | ||
查询库存 | 查询 | ||
权限管理 | Sys_user Sys_role Sys_auth | ||
关键业务清单
-
-
-
- 系统登录
- 更新处理
- 数据转换和传送
-
-
据此,从质量特性角度可以确定crm的测试范围如下
表7-2
软件质量特性 | 子特性 | 是否测试 | 软件质量特性 | 子特性 | 是否测试 |
功能性 | 适合性 | Y | 效率 | 时间特性 | Y |
准确性 | Y | 资源特性 | Y | ||
互操作性 | Y | 依从性 | Y | ||
安全保密性 | Y | 维护性 | 易分析性 | Y | |
依从性 | Y | 易改变性 | Y | ||
可靠性 | 成熟性 | Y | 稳定性 | Y | |
容错性 | Y | 易测试性 | Y | ||
易恢复性 | Y | 依从性 | Y | ||
依从性 | Y | 可移植性 | 适应性 | Y | |
易用性 | 易理解性 | N | 易安装性 | N | |
易学性 | N | 共存性 | Y | ||
易操作性 | N | 易替换性 | Y | ||
吸引性 | N | 依从性 | Y | ||
依从性 | N |
曾经心潮澎湃,曾经满怀激情,曾经翘首等待那为期近三个月的实训学习,现在已经结束了。这是我升入大学以来的第一次实训这么长时间,因此可以说我们每个人都很认真的参加了这一次实训活动。
实习中我学到了很多书本上学不到的知识,同时也更加深刻地感觉到了动手能力的重要性。可以说实习中我们每一个人都有了自己的收获,收获了心中的那份经历、那份感受、那份回忆!实训过程是繁琐的,但我们小组队员都表现得很积极,不怕课程难,相互帮助一起分析。这对于我们来说是一种难得的历练,我此次针对的是java ee,web开发的课程实训,主要针对项目的开发流程进行系统性地实际操作。实训的指导老师也非常认真负责,耐心讲解,细心指导,一点一点解答我们的疑惑,直到我们理解了为止。
如果说最好的大学是社会,那实践便是最好的老师了。通过本次的实训,我对自己的专业有了更深的了解与体会。我们明白理论与实践相结合的必要性和重要性。它激发了我们下一阶段更加努力刻苦学习的积极性。有一句关于实践的谚语是这样说的:“我听到的会忘掉,我看到的能记住,我做过的才真正明白。实践经验对于软件开发者来说更是必不可少的。”微软公司希望应聘程序员的大学毕业生最好有十万行的编程经验。理由很简单:实践性的技术要在实践中提高。计算机归根结底是一门实践的学问,不动手是永远也学不会的。因此,最重要的不是在笔试中考高分,而是实践能力。吃苦是为了做金字塔尖上的人。
“纸上得来终觉浅,绝知此事要躬行!”在短暂的实训过程中,让我深深的感觉到自己在实际运用中的专业知识的匮乏,刚开始的一段时间里,对一些工作感到无从下手,茫然不知所措,这让我感到非常的难过。在学校总以为自己学的不错,一旦接触到实际,才发现自己知道的是多么少,这时才真正领悟到“书到用时方恨少”的含义。
在经过了复杂而忙乱的设计编程后,我们按时完成了实训单位交给的任务。虽然结果并没有达到我们最初设想的效果,但在排除了时间短、所涉及的知识范围较广等客观原因后,我们看到的更多的是自身上的不足,我们所掌握的远不能满足这次任务的要求,我们还有很多东西需要在今后学习中生活中去理解去掌握。这次的任务使我深刻体会到,学习与实践这之间的距离,只有不断的吸取理论知识,在实践中进行磨炼,才能适应现今科技超速发展的计算机时代。
“独学而无友,则孤陋而寡闻”。 在短暂的实训过程中,让我深深的感受到了团队协作和人际沟通的重要性。处在计算机技术迅速发展,Internet广泛普及的的时代,只有学会团队合作,深刻领悟团队精神,才能使自己在激烈的竞争中,处于不败的地位,才能适应这信息爆炸的社会,毕竟一个人无论是从时间还是从精力来讲,所能做的只是很少很少事情;更重要的是大学生还应当充分利用身边宝贵的人才资源,从各种渠道吸收知识和学习方法。如果遇到好的老师,你可以主动向他们请教,或者请他们推荐一些课外的参考读物。除了资深的教授以外,大学中的青年教师、博士生、硕士生乃至自己的同班同学都是最好的知识来源和学习伙伴。每个人对问题的理解和认识都不尽相同,只有互帮互学,大家才能共同进步。
总结一下在此次实训过程中的收获主要有四个方面:一是通过直接参与项目开发流程,学到了实践知识,同时进一步加深了对理论知识的理解,使理论与实践知识都有所提高,圆满地完成了此次实训的任务。二是提高了实际动手操作的能力,为就业和将来的工作取得了一些宝贵的实践经验。三是在实训过程中成立一个小团队,彼此之间互相沟通,互相帮助,为了我们的目标而努力,让我看到了大家对于学习的热情,还有每个人的学习能力。四是为毕业论文积累了素材和资料。真的很感谢校领导以及学院领导给我们提供的一个这么好的学习环境以及实训带队老师对我们的精心的指导与深深的鼓励以及无私的关怀。
我想这次实训结束的同时,对自己以后的学习便是一个新的开始,争取精益求精,更上一层楼。“路漫漫其修远兮,吾将上下而求索”我相信自己在以后的学习中会不断的完善,不求最好只求更好!“天行健,君子以自强不息”。生活因奋斗而精彩。人生之路,使自己用双脚对全部生命历程的艰难丈量。每个人身后深深浅浅的脚印里,都蕴藏着许许多多个故事,蕴含着许许多多的快乐与艰辛。在这个弱肉强食的社会里,只有强者才有出路,才能在高手如云的环境中脱颖而出,占有一席之地。心如平原驰马,易放难收,趁着缰绳还在手,勒马回头,为时不晚。奋斗的过程很艰辛,也许一年两年都不会有什么进展,但只要保持一颗奋斗的心,总有“守得云开见月明”的时候。正如“临渊羡鱼,不如退而结网”。我们要永不退缩,永不言败!
参考文献
1 刘洋,精通Hibernate,电子工业出版社,2005,15-234
2 史济民,软件工程――原理、方法与应用,高等教育出版社,2002年,45-345
3 张桂元,贾燕枫,Eclipse开发入门与项目实践,人民邮电出版,2006年,56-78
4 张桂元Struts开发入门与项目实践,人民邮电出版社,2005年,123-156
5 孙卫琴,精通Struts:基于MVC的Java Web设计与开发,电子工业出版社,2004年,26-77
6 鲁晓东,JSP软件工程案例精解,电子工业出版社,2005年,78-210
7 丁鹏,STRUTS技术解密及WEB开发实例,清华大学出版社,2004年,295-323
8 夏昕,深入浅出Hibernate,电子工业出版社,2005年6月
9 孙卫琴,精通Hibernate:Java对象持久化技术详解,电子工业出版社,2005年341-367
10李小喆,张晓辉,李祥胜.SQLServer 2000管理及应用系统开发[M].人民邮电出版社,2002,17--168.