CRM客户关系管理系统毕业论文.doc
CRM客户关系管理系统毕业论文目录目录1摘要2第一章 绪论21.1 系统分析与总体设计21.1.1 系统功能描述21.1.2 系统结构设计31.1.3 系统流程分析5第二章 数据库设计与实现52.1 数据库需求分析52.2 数据库逻辑设计72.3空值Null能否夺去其他所有值的生命11第三章系统共用模块及首页设计123.1系统共用模块123.2 员工登录设计13第四章 客户管理设计224.1 企业客户添加224.2 主键生成策略364.3 企业客户编辑374.4 企业客户删除374.5 联系人管理38第五章客户机会管理385.1 事件管理395.2 商业机会管理395.3 任务分配管理40第六章 客户来往管理设计416.1 电话记录管理416.2 Email记录管理426.3 会议记录管理42第七章 系统管理设计437.1 内部用户管理437.2 随机生成密码447.3 密码管理457.4 注销与记住密码设计45第八章 实现信息输入多样化458.1 使用DLL组件458.2 使用DLL组件输出468.3 PDF文件的优势与输出方法47第九章小结51谢辞51参考文献52部分代码52CRM客户关系管理系统张 静(安徽广播影视职业技术学院 信息工程系 合肥 230036)摘要企业客户关系管理系统(Customer Relationship Management)是一种旨在改善企业与客户之间关系的新型管理机制,它实施于企业的市场营销、销售、服务与技术支持等与客户有关的领域,其目标是通过管理与客户间的互动,努力减少销售环节,降低销售成本,实现最终效果的提高。本文论述了客户关系管理的基本思想,对它的基本含义、发展史、背景、市场等方面作了一个概述,并且讨论了其中的客户忠诚度的基本概念;论述了客户关系管理信息系统的设计思想,主要实现功能及数据库的结构,并就客户信誉度和客户忠诚度进行了粗略的评算,该系统可作为企业实施CRM的借鉴。关键字: 客户 客户关系管理 系统 管理信息系统Abstractaims at improving enterprise and the relation new model manages mechanism between the customer , it puts fields relevant to the customer such as selling , serving with technology hold out in the enterprise marketing and sales into practice, whose target is the rise selling a link , reducing cost of marketing , realizing ultimate effect by managing the decrease interactive , making great efforts with the customer. Fundamental Customer Relationship Management thought the main body of a book has been discussed, import , phylogeny , aspect such as background , marketplace have assumed a summary to its basic , have discussed customer fidelity degree among them basic concept and; The Management Information System design thought having discussed customer relation , the structure realizing the function and the data base mainly, degree and customer fidelity degree have carried out rough judging and with regard to customer credit calculating , have owed system drawing lessons may put CRM into practice as enterprise. Key words: Customer Relationship Management system Management Information System第一章 绪论1.1系统分析与总体设计1.1.1系统功能描述传统的客户关系管理模式的缺点就是缺乏流程性,没有系统的模式参考,难以了解到事件的进展情况,无法做出有效评估,更谈不到一个量化的标准。而电子化的企业客户关系管理系统正是为了解决这些问题而出现。CRM是一个比较灵活的系统,根据行业、企业规模、客户类型的不同,所需要的CRM也是不同的。举一个简单的例子,在早期电信系统并不完备的时候,国内外一些不法分子,利用一张身份证,注册了多个电信电话服务;然后,利用卫星设备,转接了大量的国际电话,造成数万的损失。当地电信在随后的CRM系统中,就假如了对用户的检查,将用户分为自然人和法人两种。自然人即普通用户,一般来讲,普通用户对电话的需要是有限的。如果当一个自然人大量地申请电话服务时,SRM会自动把其归类为大客户,并对其操作进行记录,生成报表,有效预防了不法事件的发生。同时,对大客户的话费、信用也可以做出有效的评判。而如果把这个系统用在其他行业中,可能就没有太大的意义了。对于一些小公司,如果CRM系统过于庞大,固然可以实现更多的功能,但是相对的也要增加更多的维护成本。在用户数一定,所需功能一定的情况下,反而造成了开发成本、使用成本的浪费,得不偿失。所以,对于诸如CRM类的企业系统,确定其需求是十分重要的。著名的80/20原则在这里同样适用,使用80%的时间进行有效的需求分析,对系统需求进行有效的评定,而使用20%的时间进行开发,表面上是使用了过多的时间,但是却可以达到20%的花费,得到了80%功能的成果。实际上,软件一般无法达到100%的效果,因为软件开发人员对行业的了解,顾客对系统描述的不完全性,都会造成此软件无法达到预想的效果。更重要的是,现在的软件开发往往以后期维护为主,即20%的时间是开发软件,80%的时间是后期维护。前期的需求有效合理,也可以大大地节约维护成本。在本章实例中,我们假设这是一家小型公司,规模在10人左右,客户大概有一百多人。要求市场部的三四个人可以共享客户资料,可以记录客户的联系信息,与客户相关了事件及商业机会,并可以安排以后需要完成的任务。还可以记录与用户接触中产生的电话通信、E-mail通信及会议,也可以输入客户相关的备注信息。同时,管理者可以用管理员的身份登录,并更改CRM中所记录的公司信息,对销售及客服人员的帐号进行管理。如果需要对资料进行保存,也可以将资料输出为Word或Excel可以识别的文件格式。通过这个简单的系统,销售客服人员就可以做到有矩可循。每一个人的工作都被系统有效地记录,销售客服人员可以互相即时知道与客户接触中产生的信息,并且可以方便地提出自己的意见,也不会遗留一些细节。对管理者而言,销售客服人员的工作进度也可以用量化来显示,每个人的工作也都有详细的记录,客户的信息也明确化。这种信息的透明化,对管理员进行管理是十分重要的,这也是诸如CRM之类的企业应用系统的重要功能。1.1.2系统结构设计CRM的系统结构图如图1.1所示。在CRM系统结构图中,主要有3个层,分别介绍如下。1. 基础层基础层提供统一基础数据、统一基础管理,从而实现对业务层的良好支撑。这部分也是系统的基础部分,由程序员负责维护。决策层业务层基础层分析决策市场售前销售服务系统管理业务支持1.1 CRM系统结构图2业务层业务层是使用CRM的主体,主要由市场、售前、销售、服务人员组成,负责整理日常数据信息,并输入到CRM中;也会根据CRM中的信息,决定自己的工作方向。3决策层根据科学的指标体系和主要的分析视角,集中分析业务层数据,了解整体业务运营发展状况,从而提供决策支持。这部分的人不一定是CRM的日常使用者,可以只是查看报表、进度的管理者。图1.2 程序结构图其中,普通功能是所有用户都可以使用的,而管理功能只能由特殊的用户管理员调用。管理员可以添加用户。1.1.3 系统流程分析CRM主要的应用是销售及客服人员,在系统中,称之为用户。首先,由管理者以管理员身份登录之后,开通用户的登录权限,被授权的用户才可以使用CRM中提供的服务。需要注意的是,实际上管理员也可以实现所有的用户操作。换而言之,管理员也可以是销售或者客服人员,只是拥有理会多的权限。 用户可以在系统中添加客户。添加客户完成之后,可以添加联系人、事件、机会及任务。需要注意的是,这些元素中的一部分与用户也是对应的。比如说任务,任务是要分配给特定的用户,并要求其完成的。然后用户可以添加电话、Email、会议、备注等元素,这些元素往往双与诸如事件、机会、任务的上级元素相对应。图1.3 用户工作流程图不难看出,所有的操作都城是围绕着客户进行的,以客户为中心,也是CRM精神的体现。需要注意的是在使用过程中,元素的添加顺序一般是按图10.3从上到下的顺序进行的。换句话讲,客户要最先建立,其次是事件和商业机会、任务,其他的优先级最低。这是因为,图下方的元素在某种程序上是依赖于图上方的元素,而在图上方的元素往往可以引发出多个图下方的元素来。第二章 数据库设计与实现2.1 数据库需求分析 企业应用系统一般都是为了满足企业日常业务运作需要而建立的系统,这些系统一般都具有复杂的数据库需求关系。为企业应用系统建立具有合适并具有扩展性的数据库模型是非常具有挑战性的,而一人数据库模型建设得好坏,也关系到系统的存储需求和日常运作,可见,在构建企业应用系统中,数据库需求分析是非常重要的步骤。 合理的数据库模型建设一般需要遵循一定的分析步骤,其中找出系统的核心模型及实体,是数据库需求分析中的一个重要环节。客户关系管理所有的业务及操作都城是围绕客户来展开的,可见客户是我们本系统中的核心实体,通过这个实体我们很容易想到客户的一些基本属性,如客户的多个联系人(这里的客户一般、指的是企业的客户,联系人指的是企业的负责人),以及与客户发生的机会、事件及任务,日常与客户的交互,都会形成很多来往记录,这些来往记录集中在一起,我们可以得出电话记录,E-mail记录,会议记录及备忘记录。 需要注意的是,CRM中的元素并不是互相独立的。以电话记录为例,这个电话可以是与客户接触中发生事件时产生的,或者是引起这个时间的电话,比如说通过电话报告错误这个事件。也可以是与机会相关的, 还有可能与一个任务相关。再以联系人为例,在本章实例CRM次序中,独立的联系人是没有作用的。事实上,在大多的CRM中,都不存在独立的联系人。他往往都是与客户相关的,否则就没有意义了。相对来讲,这个CRM系统的数据库关联比较简单。我们可以把每一个元素做成一个独立的表,通过id字段来实现元素之间的关联。但是几个表之间的关联比较特殊,即可能出现多对多的关系。为了保证程序在今后的可扩展性,这些表之间的关联通过一个单独的关联表来实现。组织数据库时,重要的是提前总结需要哪些数据。以客户表为例,客户表用来存储企业信息。如果在前期没有完全总结出所需要的信息,在使用一段时间后,发现有些数据无法提供,那么使用者就要重新给每一个客户添加所需要的信息,这比第一次输入时就填写这些信息要浪费更多的时间。而且程序相应地要做出很多的修改,甚至要制作一个补丁。程序员一般都要有这种经验,在修改一个程序的功能时,往往可能给已经成熟的产品造成更多的错误(bug),而对这种错误的修改同样也有可能引发更多的错误。这里总结出一些客户会用到的字段,供大家参考。l 帐号的建立时间;l 帐号被更改的时间;l 更改此帐号的用户ID;l 分配管理此帐号的用户的ID;l 帐号对应公司的公司名称;l 帐号类别;l 帐号对应公司所从事的职业;l 帐号对应公司的年收入;l 帐号对应公司的电话号码;l 帐号对应公司的地址信息;l 帐号对应公司的E-mail;l 帐号的删除标记。不难看出,表中不但要包含帐号对应企业的信息,也同时包含了系统要用到的一些与帐号相关的信息。可能一开始会觉得诸如帐号被更改时间之类的日期不是很重要,但一旦需要访问日志之类的信息,就离不开这样的字段。更重要的是,这些信息是不能在日后通过添加表来人工输入。需要哪些公司信息也是要事先调查的,不同的公司对客户信息要求是不一样的,这里,只是提供一些经常会用到的数据供读者参考。根据行业的不同,提供相应的字段,如果可能的话在网业上以选择的形式给出,可以大大节省CRM用户所耗费的时间。这里同样提供了一个是否删除的标记,可以实现逻辑删除。提供这个功能是因为每个用户都有删除的权利,比如,用户张某知道这个客户对应的公司已经关闭例如,那么就可以删除这个客户。如果有一个恶意用户删除了所有的客户信息,那么就会给企业带来很大的损失。如果程序不提供这个删除功能,用户无法即时删除无用的信息,对用户的操作也会带来不便。所以,逻辑删除既可以实现删除的效果,即程序中不会看到相应的信息,又保证了系统的安全。2.2数据库逻辑设计每一个企业的行业、营销模式、市场行为都是不一致的,所以其客户关系管理也是不尽相同的。这里,我们只是给出一个一般化的系统作为参考。在本系统中,定义了如下的元素。l 客户:使用CRM的企业的客户。l 联系人:每一个客户对应一个企业用户,而与企业用户的沟通是通过与这个企业的人员交流实现的。联系人就是指联系这个客户时要联系的人员。l 事件:指与某一客户接触中所产生的需要记录的事情。l 机会:与某一客户接触中所产生的商业机会。l 任务:企业自定义的需要完成的一些事情。下面是一些主要用来关联的子元素,子元素是在父元素中产生的元素,是不能独立存在的。l 电话记录:在主元素进行过程中产生的电话记录。l E-mail通信记录:对主元素进行过程中E- mail进行记录。l 会议记录:主元素进行中会议内容的记录。l 便条:与住院素相关的一些备注内容。同样的还有一些系统元素。l 用户:即使用此系统的用户。其中包括管理客户用户和普通用户。管理客户用户可以对其他用户(含管理客户用户)进行管理。l 注册信息;这里特指用户的注册信息。这些元素都由表对其进行记录,同时也有一些表用来表示各元素之间的关系。Accounts表用来存储企业客户 的相关信息。assigned_user_id字段指定用户和管理员可以对当前客户进行查看。这里惟一的字段除了ID外还有sic_code,可以用来检查是否存在重复用户。表2.1 客户 Accounts 表结构序号字段描述类型主键可空默认值1ID唯一编码文本是否无2assigned_user_id负责客户的用户ID文本否否无3name客户公司名称文本否否无4account_type客户公司类型文本否否无5industry客户公司行业文本否否无6annual_rewenue客户公司年营业额文本否否无7website客户公司网址文本否否无8employees客户公司员工数文本否否无9sic_code客户公司营业证号文本否否010deleted是否删除是/否否否FALSE表2.2 Account_contacts 表结构序号字段描述类型主键可空默认值1ID唯一编号文本是否无2contact_id联系人ID文本否否无3account_id帐号ID文本否否无10deleted是否删除是/否否否FALSE表2.3 Accounts_opportunity 表结构字段描述类型Id唯一标识的ID字段文本opportunity_id机会ID文本account_id客户ID文本deleted逻辑删除标志位是/否表2.4表结构字段描述类型Id唯一标识的字段文本date_enteredE-mail记录创建的日期日期/时间date_modifiedE-mail记录更改的日期日期/时间assigned_user_id负责此E-mail记录的用户文本nameE-mail的主题文本date_startE-mail的发送日期日期/时间time_startE-mail的发送时间日期/时间parent_type此E-mail的父元素文本parent_id父元素的ID文本description对此E-mail的描述备注deleted逻辑删除标志位是/否表2.5 Emails_accounts表结构字段描述类型id唯一标识的字段文本email_idE-mail记录的ID文本account_id账号记录的ID文本deleted逻辑删除标志是/否表2.6 Emails_cases表结构字段描述类型id唯一标识的字段文本email_idE-mail记录的ID文本case_id事件记录的ID文本deleted逻辑删除标志位是/否 Emails_opportunities字段描述类型id唯一标识的字段文本email_idE-mail记录的ID文本opporunity_id机会记录的ID文本deleted逻辑删除标志位是/否表2.7 E-mails_users 表结构id唯一标识的字段文本email_idE-mail记录的ID文本user_id用户的ID文本deleted逻辑删除的标志位是/否表2.8 Meetings 表结构字段描述类型id唯一标识的字段文本name会议的主题文本location会议的地点文本duration_hours持续时间的小时数文本duration_minutes持续时间的分钟数文本date_start会议的开始日期日期/时间time_start会议的开始时间日期/时间parent_type父元素的类别文本status会议的状态文本parent_id父元素的ID文本description会议的描述信息备注deleted逻辑删除标志是/否表2.9 Meetings_contacts表结构字段描述类型id唯一标识的字段文本meeting_id会议的ID文本contact_id联系人的ID文本deleted逻辑删除标志位是/否表2.10 Meetings_user 表结构字段描述类型id唯一标识的字段文本meeting_id会议的ID文本user_id用户的ID文本deleted逻辑删除标志位是/否表2.11 Users 表结构字段描述类型id唯一标识的字段文本user_name存储用户名文本user_pasword存储密码文本is_admin用户是不是管理员文本description用户的描述备注status用户的状态文本department用户所在的部门文本reports_to_id用户的信息可以被谁查看文本deleted逻辑删除标志位是/否2.3指点迷津空值Null能否夺去其他所有值的生命理想的数据库,每一个字段都是有作用的,都是要被使用到的。但理想的状态是不存在的,很多数据往往是不存在的。一般说来有两种选择,一种是给这个字段一默认值;另一个就是让其为Null值。Null代表空值,任何包含空值的计算其结果也是空值。这是一个很有趣的现象。引用程序界的一句话就是“空值在现实中没有任何意义,出现在数据中也实在是让人有种莫名其妙的感觉。进行操作的时候,空值往往好似要进行特殊处理的,即使感觉没有进行特殊处理,其实也是编译程序完成了这部分的工作。但另一方面,特别是SQL的专家,都反对为了程序的方便而简单地否认Null值。Null值对于数据库是有价值的,它们能够提供数据状态信息。简单地使用0或者空字符串,都无法表现这种特殊的状态。笔者认为,只有合适的才是最好的。如果程序依赖于数据,那么的确应该保证数据的状态。Null值是不可替代的,它表现的是数据的缺失,不存在。但对于保存一些程序运行数据的数据库来讲,数据库只是与程序有关系,那么数据库不存放Null值,而存放一个理论上不可能出现的值也是可以的。Null值作为一个特殊的值,很多操作都受到限制,对程序及数据库的运行速度都会有一定的影响。而程序的数据只有程序去调用,若对使用者不会造成影响的话,使用默认值也是一个很好的办法。第三章 系统共用模块及首页设计3.1系统共用模块在本例的CRM程序中,很多页面都要调用相同的代码。在搭建架构时,应该提前设计完备。最明显的就是进行数据操作时,要用到Connection对象的实例,可以提前制作一个ASP文件,内容是生成Connection对象实例的代码。在其他文件中包含此文件,就可以直接调用生成好的Connection对象的实例。前面已经提到,CRM程序是企业内部程序,只有管理员分配的用户可以访问。所以,除了登录页外每一页都要检查用户是否已经登录。同样的,登录代码也可以写成单独的ASP文件,在每一个页面调用。Session(”userid”)中存储的是用户名。如果用户名为空,说明用户没有登录,则跳转到登录页面。详细的登录过程将在下一节讲解。在本CRM程序中,使用自定义值作为主键值。生成ID的函数也会在添加记录操作的文件中用到。在后面的小节中,将直接使用makeID函数生成主键,这里不在重复。此系统中使用了自定义主键,为什么使用自定义主键呢?在CRM中,一些数据常常要被以多种方式调用,比如,用户录入了大量联系人的资料,而企业的其他应用中也要用到联系人的资料。多次重复录入是无用的,而传统的自增主键在导入时往往产生许多问题,比如,从多个数据源导入,会出现主键重复的问题。如果简单的取消主键字段的导入,使数据失去关联,在维护上又会出现问题,而自定义主键可以避免这些问题。3.2员工登录设计当员工访问CRM系统时,默认进入登录页面,如图1.5所示。如果员工有用户名和密码,并且与数据库中的用户信息相匹配,就可以CRM系统。图 1.5 员工登陆界面单击“登录”按钮之后,表但会提交至检查页面,执行如下代码。<!DOCTYPE HTML PUBLIC "-/W3C/DTD HTML 4.01 Transitional/EN" "http:/www.w3c.org/TR/1999/REC-html401-19991224/loose.dtd"><!- saved from url=(0047) -><HTML><HEAD><TITLE>CRM欢迎您的使用</TITLE><META http-equiv=Content-Type content="text/html; charset=gb2312"><LINK href="images/Styles.css" type=text/css rel=stylesheet><STYLE type=text/css>BODY MARGIN: 0px;BODY BACKGROUND-COLOR: #ffffff.header_line BACKGROUND-POSITION: 50% bottom; BACKGROUND-IMAGE: url(images/grey_line.gif); BACKGROUND-REPEAT: repeat-x.header_back BACKGROUND-IMAGE: url(images/grey_back_texture.gif); MARGIN: 0px 0px 6px.shapka_back BACKGROUND-IMAGE: url(images/Shapka_bck.gif).Border BORDER-RIGHT: #d0d0d0 1px solid; BORDER-TOP: #d0d0d0 1px solid; BORDER-LEFT: #d0d0d0 1px solid; BORDER-BOTTOM: #d0d0d0 1px solid.zag_news FONT-WEIGHT: bold; FONT-SIZE: 11px; COLOR: #333333; FONT-STYLE: italic; FONT-FAMILY: "Lucida Grande", "Lucida Sans", Verdana, Arial, Helvetica, sans-serif; WHITE-SPACE: nowrap; TEXT-DECORATION: none.news FONT-SIZE: 11px; FLOAT: none; COLOR: #000000; FONT-FAMILY: "Lucida Grande", "Lucida Sans", Verdana, Arial, Helvetica, sans-serif.news_zag_back BACKGROUND-IMAGE: url(/img/zag_bck.gif).news_back BACKGROUND-IMAGE: url(/img/news_back_1px.gif); BACKGROUND-COLOR: #f0f0f0.newssmall FONT-SIZE: 10px; FLOAT: none; COLOR: #000000; FONT-FAMILY: "Lucida Grande", "Lucida Sans", Verdana, Arial, Helvetica, sans-serif.main FONT-SIZE: 13px; COLOR: #000000; FONT-FAMILY: "Lucida Grande", "Lucida Sans", Verdana, Arial, Helvetica, sans-serif.zag FONT-WEIGHT: bold; FONT-SIZE: 14px; COLOR: #000000; FONT-FAMILY: "Lucida Grande", "Lucida Sans", Verdana, Arial, Helvetica, sans-serif.navigation FONT-SIZE: 11px; COLOR: #333333; FONT-FAMILY: "Lucida Grande", "Lucida Sans", Verdana, Arial, Helvetica, sans-serif; TEXT-DECORATION: none.copyright FONT-SIZE: 9px; FONT-FAMILY: "Lucida Grande", "Lucida Sans", Verdana, Arial, Helvetica, sans-serif.navig_sm_bck FONT-SIZE: 10px; BACKGROUND-IMAGE: url(img/navig_sm_mid.gif); COLOR: #000000; FONT-FAMILY: Verdana, Arial, Helvetica, sans-serif, "Lucida Grande", "Lucida Sans" TEXT-DECORATION: none.navig_sm FONT-SIZE: 10px; COLOR: #000000; FONT-FAMILY: Verdana, Arial, Helvetica, sans-serif, "Lucida Grande", "Lucida Sans" TEXT-DECORATION: none.links COLOR: #000066; TEXT-DECORATION: underline.links:hover COLOR: #0000cc; TEXT-DECORATION: underline.links:visited COLOR: #330066; TEXT-DECORATION: underline.links:hover COLOR: #0000cc; TEXT-DECORATION: underline.links:active COLOR: #663366; TEXT-DECORATION: underline.links:hover COLOR: #663366; TEXT-DECORATION: underline.main_bold FONT-WEIGHT: bold; FONT-SIZE: 13px; COLOR: #000000; FONT-FAMILY: "Lucida Grande", "Lucida Sans", Verdana, Arial, Helvetica, sans-serif.mainlist LIST-STYLE-POSITION: outside; FONT-SIZE: 13px; LIST-STYLE-IMAGE: url(img/Bulet.gif); MARGIN-LEFT: -5px; COLOR: #000000; FONT-FAMILY: "Lucida Grande", "Lucida Sans", Verdana, Arial, Helvetica, sans-serif.title_t FONT-WEIGHT: bold; FONT-SIZE: 15px; COLOR: #000000; FONT-FAMILY: "Lucida Grande", "Lucida Sans", Verdana, Arial, Helvetica, sans-serif.title_3 FONT-WEIGHT: bold; FONT-SIZE: 14px; COLOR: #000000; FONT-FAMILY: "Lucida Grande", "Lucida Sans", Verdana, Arial, Helvetica, sans-serif.title_4 FONT-WEIGHT: bold; FONT-SIZE: 13px; COLOR: #000000; FONT-FAMILY: "Lucida Grande", "Lucida Sans", Verdana, Arial, Helvetica, sans-serif.zacherk TEXT-DECORATION: line-through.title_5 FONT-WEIGHT: bold; FONT-SIZE: 18px; COLOR: #000000; FONT-FAMILY: "Lucida Grande", "Lucida Sans", Verdana, Arial, Helvetica, sans-serif.main_gray FONT-SIZE: 14px; COLOR: #333333; FONT-FAMILY: "Lucida Grande", "Lucida Sans", Verdana, Arial, Helvetica, sans-serif.main_small FONT-SIZE: 12px; FLOAT: none; COLOR: #000000; FONT-FAMILY: "Lucida Grande", "Lucida Sans", Verdana, Arial, Helvetica, sans-serif.tab_back BACKGROUND-IMAGE: url(/img/hr_light_px.gif).col_back BACKGROUND-IMAGE: url(/img/grey_px.gif).red COLOR: #990000.note FONT-SIZE: 11px; FONT-FAMILY: "Lucida Grande", "Lucida Sans", Verdana, Arial, Helvetica, sans-serif; TEXT-DECORATION: none</STYLE><META content="MSHTML 6.00.2800.1106" name=GENERATOR></HEAD><BODY><TABLE class=header_back cellSpacing=0 cellPadding=0 width="100%" border=0> <TBODY> <TR> <TD class=header_line> <TABLE cellSpacing=0 cellPadding=0 wi