客户关系管理系统设计与实现毕业设计.doc
专项任务报告书 任务题目: 客户关系管理系统设计与实现 系 别 计算机技术系 专业年级 10级软件技术专业软件特色班 学生姓名 学号 35091002051 指导教师 职称工程师、讲师 完成地点 北京活力达科技发展有限公司 日 期 2013.5.23 摘 要随着计算机的广泛应用,人们已经对网络不再感到陌生。在科技飞速发展的今天,电脑信息技术与各行各业进行了有效的结合。人们在网上可以进行网上购物,网上交友,电子商务,网络营效等等。面对强大的网络功能,必须在某方面要有一个健全的系统才能使网络发挥的淋漓尽致。随着市场经济体系的日益完善,各项科技技术飞跃发展,我们现在已经进入了一个买方市场时代,选择空间扩大、购买渠道拓宽、消费心态和购买行为越发成熟,使客户再不会对某一企业或者产品盲目地保持绝对忠诚。在这种严峻的情形下,我们如何不断改善客户关系,掌握更多的客户信息,提高客户满意度;如何在日益激烈的市场竞争中把握机会,占有更大的市场份额;如何建立高效业务流程,降低运营成本,获取更多的利润,这些已成为每个企业所面临的首要问题。信息时代是客户短缺的时代,企业发展所需的各种资源,比如人力、物力、生产力等等都是可以创造的,但每个领域中的客户资源确却是有限的,所以通过产品的创新、企业管理的创新、服务的创新,我们可以以此来抢占有限的客户资源、维护好企业和客户之间的关系、从而去更深的了解客户的需求动向,这些所需的各方面的努力已成为企业生存发展面临的重大问题。企业要在激烈的市场竞争中立于不败之地,就必须找到一种全新的管理理念和管理手段,对其内部和外部资源进行有效的整合。对于每个企业来说客户管理的完善程度将直接影响企业的经济效益。目录目录2引 言1一、绪论2二、开发背景与意义31、项目开发的背景32、项目开发的意义43、国内外相关研究及发展趋向4三、系统分析61、系统分析概述62、需求分析6(1)功能需求6(2)数据需求7(3)性能需求73、可行性论证7(1)经济可行性8(2)技术可行性8(3)操作可行性8(4)总体设计原则8四、系统详细设计91、总体设计10(1)项目规划10(2)系统功能结构图102、系统设计11(1)设计目标11(2)开发运行环境12(3)业务流程分析12(4)数据流图13(5)系统功能设计143、数据库设计15(1)设计方案分析16(2)数据表的建立164、系统开发工具与开发模式的选择19(1)系统开发工具19(2)系统设计模式21五、系统功能实现241、系统管理员模块24(1)登录界面24(2)店铺管理界面25(3)员工信息管理界面252、商品模块26(1)商品管理界面26(2)商品管理界面26(2)商品成本统计界面273、客户管理模块27(1)客户管理页面27(2)客户跟进页面29(3)客户智能分析界面304、订单管理模块30(1)订单管理页面30(2)销售统计界面31(3)营销中心管理315、代码设计实例32(1)登陆界面32(2)客户分组添加属性方法346、软件测试与分析41(1)软件测试的重要性42(2)测试实例的研究与选择42(3)测试环境与测试条件43(4)系统运行情况44(5)系统评价44(6)系统安全与性能44六、结 论451、软件开发中系统分析的重要性452、必须严格按照拟定的规划进行系统开发453、开发软件时要注重吸收商用软件的优点464、广泛的积累素材46七、致 谢47八、参考文献48引 言信息时代的今天,各企业商家所关心的不再局限于自身的产品质量、生产设备、员工的素质等问题,更多的是关心自己的销售群体即客户群,关心他们的想法、需求、购买目的等等相关方面的问题。一个企业要生存、要发展,就是要不断的满足客户的需求,无论我们做出什么样的决策,最终都是为了这个目的。每个领域都有自身的生存法则,但无论这个法则如何变化,为客户服务的宗旨是不会变的。作为企业,我们只有不断地挖掘新客户,维护好与老客户的关系,占领市场客户群体的绝大多数份额,通过产品的创新、企业管理的创新、服务的创新,以此来抢占有限的客户资源、维护好企业和客户之间的关系、从而去更深的了解客户的需求动向,这样才能在整个领域取得一席之地。在一个商业环境中,也许有许多行动策略可以让企业活下来。但大多数行动策略都是围绕着收入和成本而展开的。在经济不景气的今天,出现了无数为获得较高回报而被迫削减成本的故事。而这些失败的关键点是他们都是为如何去提高收入从而降低成本,而不是从根本上来设法在正确的时机向客户销售更多正确的产品。因此,许多企业更应该迫切的去建立客户数据库,这就要求企业加强对客户信息资源的管理,从这不难看出企业当中客户关系的完善管理已显得至关重要。在现代,信息技术革命极大地改变了我们的商业模式,尤其是对企业与客户之间的互动关系产生看巨大的影响。随着新产品规模生产和同质趋势,高水平的服务竞争也在形成。企业与客户关系之前面临着市场越来越激烈的竞争,深入了解客户需求,及时将客户意见反馈到生产厂家,为客户提供更为个性化,更为深入的服务,将成为企业竞争的关键。在这种环境下,我提高了一套适合所有企业的客户关系管理(CRM)实施方案,以达到企业的管理水平和竞争水平的目的。一、绪论客户关系管理是一种基于Internet的应用系统,它通过对企业业务流程的重组来整合用户信息资源,以更有效的方法来管理客户关系,在企业内部实现信息和资源的共享,从而降低企业运营成本,为客户提供更经济、快捷、周到的产品和服务,保持和吸引更多的客户,以求最终达到企业利润最大化的目的。管理信息系统的概念起源很早,而且定义也有很多。比较完整的定义出现在20世纪70年代,它是由瓦尔特·肯尼万给出的:“以书面或口头的形式,在合适的时间向经理、职员以及外界人员提供过去的、现在的、预测未来的有关企业内部及其环境的信息,以帮助他们进行决策。”在1985年、明尼苏达大学卡尔森管理学院的著名教授高登·戴维斯从管理的角度,提出管理信息系统的概念:“一个利用计算机硬件和软件,手工作业,分析、计划、控制和决策模型,以及数据的用户-机器系统。它能提供信息,支持企业或者组织的运行、管理和决策功能。” 中国学者在中国企业管理百科全书中也给出了它的概念:“一个由人、计算机组成的能进行信息的收集、传递、存储、加工、维护和使用的系统。” 进入了20世纪90年代,由于环境与技术的变化,使其的定义进一步完善,在这个时期,劳顿(Kenneth C.Laudon)认为:“管理信息系统是一个基于计算机的信息系统,他通过收集、处理、存储和扩散信息,来支持组织的管理、决策、合作、控制、分析活动,并使之可视化。”某大学管理学院的老师们也给出了一个概念:“管理信息系统是用系统思维的方法,以电子计算机和现代通讯技术为基本信息处理手段和传输工具,能为管理决策提供信息服务的人机系统。”本人比较认同这个定义与观点,因此以下的内容都是基于这个定义进行扩展与延伸的。二、开发背景与意义1、项目开发的背景客户关系管理它是一项综合的IT技术,也是一种新的运作模式,它源于“以客户为中心”的新型商业模式,是一种旨在改善企业与客户关系的新型管理机制,它更是一项企业经营战略,企业据此赢得客户,并且留住客户,让客户满意。通过技术手段来增强客户关系,并进而创造其价值,最终提高利润增长的上限和底线,这才是客户关系管理的焦点问题。 信息时代也是客户短缺的时代,企业内部只有不断地挖掘新客户,维护好与老客户的关系,占领市场客户群体的绝大多数份额,了解客户的需求动向,才能在整个领域取得一席之地。这种思想并不是新颖的,只不过它告诉人们一个重要的道理,只要企业能够确切知道客户真正需要什么,那么企业的短期、中期和长期收入都会发生变化。企业要在激烈的市场竞争中立于不败之地,就必须找一种全新的管理理念和管理手段,对内部和外部资源进行有效的整合,对于每个企业来说客户管理的完善程度将直接影响企业的经济效益。基于对上述的认识,收集相关资料和数据,查阅有关文献及技术参数,对活力达公司客户资源管理的实际需求等方面进行了调研,发现目前所采用的手工记录的方法进行管理存在以下几个方面的弊端:对象范围广,数据存储不易;填写的数据多,所填写的内容相当复杂,且大量数据重复;不易存档,成千上万的信息和堆积如山的单据对管理人员来说是一个负担,需要大量的文档资料。鉴于以上种种原因,活力达公司客户资源管理的管理急需一种软件来代替手工操作来管理数据资料。计算机技术在现代管理中的应用,使计算机成为领导者和管理人员应用现代技术的重要工具。计算机辅助活力达公司客户资源管理活动,可以极大地增强管理者采集、处理信息的能力,从而有利于管理者及时决策。计算机系统能根据管理过程的变化情况,将原始数据、资料等进行加工、保存,管理人员可以在解决具体问题需要信息资料时,随时进行检索查询,了解整个活力达公司客户资源管理系统的动态情况,进行动态管理,从而有效的处理活力达公司客户资源的管理工作,实现对活力达公司客户资源管理的自动化,提高效率。2、项目开发的意义客户资源管理系统的开发目的是使客户资源管理模式从手工记录转变成信息管理,为客户资源管理人员提供方便条件。对客户资源管理的实际情况进行调研之后,进行详细的需求分析,对现有的管理模式进行改进,开发出一套新型的管理系统,从中领悟系统开发的思想,掌握系统开发的流程和方法。随着活力达公司信息系统的不断完善,活力达公司的管理将越来越依赖于信息化的管理。所以系统开发将围绕活力达公司客户资源管理工作的实际情况,使之能迅速适应活力达公司的需要。活力达公司客户资源管理系统的实施的现实意义:减少活力达公司客户资源管理的工作人员;管理人员可以随时浏览查看,而且更加直观;改变了以前工资手工记录的方式,电脑录入更加方便快捷;实现了活力达公司客户资源管理的计算机化。3、国内外相关研究及发展趋向近年来,随着市场竞争的日趋激烈,社会经济高速发展,商业、IT、建设、机械等项目事业的持续增长,客户的存在作为企业生存发展的前提和基础,其重要性已逐渐被人们所认识,客户关系的管理更是显得至关重要。客户关系管理CRM,其概念的引入已有数年,其深层的内涵却有许多的解释。以下摘录国外研究CRM的几位专家对其不同定义,通过这些定义让我们对客户关系管理有一个初步的认识。 客户关系管理是一项营商策略,透过选择和管理客户达至最大的长期价值。它需要用以客户为中心的营商哲学和文化来支持有效的市场推广、营销和服务过程。企业只要具备了合适的领导、策略和文化,应用CRM可促成有效的客户关系管理。除此以外客户关系管理也是信息行业用语,它具体指的是有助于企业有组织性地管理客户关系的方法、软件以至互联网设施等等。 相对于国外的企业来讲,客户关系管理之所以能够成为热点与它所能够实现的强大功能是密不可分的。客户关系管理的快速发展与企业的迫切需求有直接的联系,而企业的需求又与客户关系管理在新经济的环境下所能解决的问题密切相关。概括起来,企业选择客户关系管理的六大目标包括交叉销售、追加销售、客户保留、客户获取、客户再生和客户体验。这六大目标最终归结为一个核心目标,实现客户资源价值的最大化。 对于我们国家的企业发展状况来说,客户关系管理它是企业为提高核心竞争力,达到竞争制胜,快速成长的目的,树立客户为中心的发展战略,并在此基础上展开的包括判断、选择、争取、发展和保持客户所需的全部商业过程。企业以客户关系为中心,通过开展系统化的客户研究,通过优化企业组织体系和业务流程,提高客户满意度和忠诚度,提高企业效率和利润水平。同时企业在不断的改进与客户关系的全部业务流程,最终实现电子化、自动化运营目标的过程中,创造并使用先进的信息技术、软硬件和优化管理方法、解决企业所面临的种种难题。三、系统分析系统分析是管理信息系统的一个主要和关键阶段,负责这个阶段的关键人物是系统分析员,完成这个阶段任务的关键问题是开发人员与用户之间的沟通。系统分析从系统需求入手,从用户观点出发建立系统用户模型,用户模型从概念上全方位表达系统需求及系统与用户的相互关系。系统分析在用户模型的基础上,建立适应性强、独立于系统实现环境的逻辑结构。1、系统分析概述系统分析是指在管理信息系统开发的生命周期中应用系统思想和系统科学的原理进行分析工作的方法和技术。其目标就是按系统规划所定的某个开发项目范围内明确系统开发的目的和用户的信息需求,提出系统的逻辑方案。分析阶段独立于系统实现环境,可以保证建立起来的系统结构具有相对的稳定性,便于系统维护、移植或扩充。 2、需求分析(1)功能需求 客户中心模块:该模块需要完成对客户信息、客户联系人信息、客户分组信息进行添加、删除、修改、查询、联系客户、查询客户交易记录等基本的操作功能。订单中心模块:该模块需要对订单信息的查询、导入、导出、对订单进行分析等基本的操作功能。 营销中心模块:该模块需要对客户反馈的信息进行处理,实现对其信息的添加、删除、查询等操作。 运营中心模块:该模块主要通过查询条件,对各种信息进行查询,并将得到的结果导出Excel表、生成曲线图、进行打印报表等操作。 同步管理模块:该模块的主要功能是管理入库、出库信息、对产品信息进行管理,其中需要完成对库存信息、产品信息的添加、删除、查询等操作。 系统设置模块:该模块要实现对管理用户信息的添加、删除等操作,并实现对用户使用权限的设置。(2)数据需求 要按照严格的数据格式输入,否则系统不予响应进行处理。 查询时要保证查全率,所有相应域包含查询关键字的记录都应能查到。因为通常信息的记录会很多,所以本系统采用了两种方法进行查询:直接查询和模糊查询。 (3)性能需求 一般系统操作的响应时间应在120毫秒内。在软件方面,响应时间,更新处理时间都比较快且迅速,完全满足用户要求。当用户需求,如操作方式,运行环境,结果精度,数据结构与其他软件接口等发生变化时,设计的软件要做适当调整,灵活性、适应性非常大。3、可行性论证可行性论证是在进行初步调查后对系统的开发进行必要性和可能性的研究,所以也称为可行性分析研究。研究的结果可能是肯定的,即系统可以进行开发;也可能是否定的,即系统在现有条件下不应开发;同时也可以提出第三种解决方案,如改变目标,或追加投资,或延长工期等。可行性研究是系统开发前的一项重要工作,不能认为可有可无,它是在一定约束条件下求得一个问题的较好解答的论证过程。 (1)经济可行性 通过计算机网络对客户信息进行管理,使企业对自身拥有的客户有了一个更为深刻的了解,不仅能全面的统计客户的购买数量,及时的了解客户的动态信息,还可以根据计算机记录的数据信息,不断的调整企业的生产发展动向,这带来的经济回报将远超过我们所支出的,并且最重要的一点是该软件的开发可以使我们对系统的整体开发有全新的认识。 (2)技术可行性 此系统的设计是基于PHP的开发环境下完成的,PHP作为一种Web实现技术,它的效率是很高的,PHP作为实现本系统的技术,它是完全可行的,并且开发出来的系统界面简单易懂,人性化设计合理,便于操作使用。 (3)操作可行性 本系统界面朴实大方,设计简单,它可以适合大众群体使用。各功能模块一目了然,其中简洁的界面给予操作人员易操作的可视提示,以保证每一步操作都容易理解上手,容易理解。由此可见这个系统在操作上是完全可行的。(4)总体设计原则本系统为了设计、实现和后期维护的方便,以及系统用户使用的便利,所以必须采取一定的设计原则。其主要设计原则有:简单性:在实现系统的功能的同时,尽量让系统操作简单易懂,这对于一个系统来说是非常重要的。针对性:本系统设计是针对活力达公司客户资源管理的需求定向开发设计,所以具有专业突出和很强的针对性。实用性:要求本系统能够满足活力达公司客户资源管理的需求,因此具有良好的实用性。一致性:页面整体设计风格以及命名规则的一致性:整体页面布局和用图用色风格及变量、类名和其他元素的命名规则保持一致。功能一致性:完成同样的功能应该尽量使用同样的元素。 元素风格一致性:界面元素的美观风格、摆放位置在同一个界面和不同界面之间都应该是一致的。变量命名规则的一致性:变量应该用统一的规则进行命名,做到任意变量均能从上下文推断其义。先进性:本系统采用PHP技术、Mysql等被广泛采用系统开发技术和数据库,因此本设计具有良好的先进性,具体表现在其具有良好的可扩展性,可开发性。四、系统详细设计详细设计,这是考验设计思维的重要关卡,一份好的详细设计说明,可以使编码的复杂性减低到最低,从需求分析到概要设计到完成详细设计说明,一个软件项目就应当说完成了一半了。做软件详细设计说明书,是对需求分析、概要设计的进一步细化,一般由各部分的担当人员依据概要设计分别完成,是系统具体实现的细节部分。1、总体设计(1)项目规划 客户关系管理系统是一个典型的数据库开发应用程序,它由客户管理模块、订单管理模块、运营管理模块、营销管理模块、库存管理模块、系统管理模块组成,根据需求分析规划系统功能模块如下: 客户管理模块:该模块需要完成对客户信息、客户联系人信息、客户分组信息进行添加、删除、修改、查询、联系客户、查询客户交易记录等基本的操作功能;营销管理模块:该模块主要功能是对客户反馈信息进行添加、删除、查询等操作; 运营管理模块:该模块主要通过查询条件,对各种信息进行查询,并将得到的结果导出Excel表、进行打印报表等操作(其中信息包括:客户信息、联系人信息、反馈信息、库存信息); 库存管理模块:该模块的主要功能是管理入库、出库信息、产品信息进行管理,其中包括对库存信息、产品信息进行添加、删除、查询等操作; 系统管理:该模块主要管理用户信息的添加、删除等操作,并设置用户的使用权限。(2)系统功能结构图 企业客户关系管理系统各模块功能结构如图1所示。图1 系统功能结构图2、系统设计(1)设计目标 本系统是针对中小型企业通过网络实现对客户的管理而设计的,主要实现如下目标:可以对客户信息即客户的基本信息进行全面的管理;能及时了解客户的反馈信息,并对其进行管理操作;能够实现客户信息、联系人信息的报表导出、打印功能;实现各种信息的选择查询、模糊查询功能等;能和客户通过网络在线沟通,并对客户联系人的邮件地址进行管理;能及时查看库存信息,并通过网站对入库、出库信息进行管理;管理员可以添加操作员信息、设置操作员的权限;对用户输入的数据,系统进行严格的数据检验,尽可能排除人为的错误;要求系统的数据保密性强,通过为每个用户设置使用权限来实现;系统运行稳定、安全可靠。 (2)开发运行环境 硬件平台:CPU:P4 1.8 GHz;内存:128MB以上。 软件平台:操作系统:Windows xp(Windows 7);数据库:Mysql;浏览器:IE5.0及以上;Web服务器:apache。(3)业务流程分析在进行业务流程分析时,需要按照原有信息流动过程,逐个地调查分析所有环节的处理业务、处理内容、处理顺序和对处理时间的要求,弄清各个环节需要的信息、信息来源、流经去向、处理方法、计算方法、提供信息的时间和信息形态(报告、报单、屏幕显示)等。业务流程分析可以帮助开发者了解该业务处理过程,发现和处理系统调查工作中的错误和疏漏。业务流程分析是通过业务流程图来进行,即用一些规定的符号及连线来表示某个具体业务处理过程。具体业务流程如图3-1所示。图3-1 业务流程图(4)数据流图数据流程是指数据在系统中产生、传输、加工处理、使用、存储的过程。数据流程分析是把数据在现行系统内部的流动抽象的独立起来,舍去了具体组织机构、信息载体、处理工具、物质、材料等,单从数据流动过程来考查实际业务的数据处理模式。数据流程与数据流程分析是今后建立数据库系统和设计功能模块处理过程的基础。描述数据流程的工具是数据流程图以及其附带的数据字典、处理逻辑等图表。其中数据流程图是描述系统逻辑模型的主要工具,它以少数几种符号综合地反映出信息在系统中的流动、存储和传递。在业务流程分析的基础上,对数据流进行了分析,从数据流动过程考察了实际业务的数据处理模式。该系统的数据流图分为顶层、一层、二层。现行的顶层数据流图如图3-2所示。具体分析第一层数据流图,该层数据流图如图3-3所示。图3-3 第一层数据流图(5)系统功能设计 系统设计是一个把软件需求转换成用软件系统表示的过程。通过对目标系统的分析和研究,做出了活力达公司客户资源管理系统的总体规划,这是全面开发系统的重要基础。在对活力达公司客户资源管理系统全面分析调查的基础上,制定出活力达公司客户资源管理系统的总体规划。系统设计包括系统总体设计、系统详细设计、系统数据库设计、系统开发工具、开发技术和开发模式等。从数据流图出发,对数据流图进行分析,得出的层次化的模块结构图。活力达公司客户资源管理系统功能模块图如图4-1所示:图4-1 活力达公司客户资源管理系统功能模块图其中系统管理员登录本系统后,可以进行系统管理、业务管理和统计分析。而普通业务员登录本系统后只能进行业务管理和统计分析。3、数据库设计数据库也即是按照数据结构来组织、存储和管理数据的仓库。具体来说它是存储在一起的相关数据的集合,这些数据是结构化的,无害的或不必要的冗余,并为多种应用服务。数据的存储独立于使用它的程序。对数据库插入新数据,修改和检索原有数据均能按一种公用的和可控制的方式进行。当某个系统中存在结构上完全分开的若干个数据库时,则该系统包含一个“数据库集合”,我们经常接触的就是Mysql和SQL Server。 (1)设计方案分析 客户管理系统是为了方便管理客户基本信息,完成公司决策的重要手段,系统管理员可以通过次系统查询客户的基本信息,以及客户所购产品的信息。并可以对新老客户进行添加和删除,也可对现有用户的基本信息进行更改。从而实现公司对其客户的管理。客户可以通过该数据库查看自己的基本信息和消费情况。该数据库包含5个实体,分别是客户,联系人,产品,订单,反馈信息。通过该数据库,可以实现以下功能(举例)简单查询: 查询客户的基本信息 查询公司职员的业绩情况(即联系人发展的客户情况) 查询客户的基本订单信息复杂查询:查询客户对某一类型产品的反馈信息查询客户反馈信息的受理情况 插入功能: 增添新客户,新产品,新联系人,新反馈信息以及其相关属性 修改功能: 系统管理员修改客户的基本信息(如积分,联系方式等),修改联系人的工作计划,反馈信息的受理情况(2)数据表的建立 数据库是本系统的核心和基础。它设计的好坏直接影响着整个系统的质量。数据是一切系统设计的基础,通俗地说,数据库设计就像高楼大厦的根基一样,如果设计的不合理、不完善,将在系统开发过程中,甚至到后期的系统维护、功能变更和功能扩充时,引起较多问题,严重时甚至要重新设计,重做大量已完成工作。表4-1 客户信息表字段名类型长度说明idInt4客户编号(主键)levelIDInt4客户级别NickVarchar100客户昵称Rec_nameVarchar100客户姓名Rec_addressVarchar200客户地址SexInt1客户性别Trade_timesInt11客户交易次数CreatedDatetime客户创建时间BirthdayVarchar20客户生日EmailVarchar20客户邮箱PhoneVarchar17客户手机号表4-2 商品信息表字段名类型长度说明idInt4商品编号(主键)Spdmvarchar40商品编码Spmcvarchar80商品名称CbjDouble10商品成本价BzjjDouble10商品售价Createdvarchar20商品入库时间Lb_guidVarchar20商品分类表4-3 订单信息表字段名类型长度说明idInt4编号(主键)Order_ID Varchar20订单编号Shop_dInt4店铺编号Buyer_nickVarchar40会员昵称Buyer_apliay_noVarchar80会员邮箱PriceDouble10价格Total_feeDouble10总金额StatusVarchar40交易状态Buyer_momeVarchar100买家留言Rec_nameVarchar40收货人Rec_addressVarchar200收货人地址Rec_cityVarchar20城市Rec_stateVarchar20省份Shipping_typeVarchar40物流方式Receiver_phoneVarchar20联系方式Receiver_mobileVarchar20手机号CreatedVarchar20订单生成时间Goods_titleVarchar40商品名称Pay_timeVarchar20付款时间NumInt10数量表4-4 跟进信息表字段名数据类型长度功能描述idInt4编号(主键)Cos-idInt4顾客编号(外键)Sale-idInt4销售员编号(外键)TraceTimeDatetime8时间LogContentvarchar200跟进内容表4-5 客户分组信息表字段名数据类型长度功能描述Batch_IDInt11编号(主键)Shop_idInt4店铺编号MemoVarchar40分组名称Parent_idInt11父类编号CustomerXmlText存放xml文件表4-6 员工信息表字段名数据类型长度功能描述idInt4员工编号(主键)User_nameVarchar20用户名PasswordVarchar20密码EmailVarchar20电子邮箱Add_timeVarchar20加入时间Las_loginVarchar20最后登录时间Last_ipVarchar20最后登录IPAction_listVarchar200员工管理信息列表NameVarchar20员工姓名4、系统开发工具与开发模式的选择(1)系统开发工具PHP简介:PHP,是英文超级文本预处理语言Hypertext Preprocessor的缩写。PHP 是一种 HTML 内嵌式的语言,是一种在服务器端执行的嵌入HTML文档的脚本语言,语言的风格有类似于C语言,被广泛的运用。PHP 独 特的语法混合了 C、Java、Perl 以及 PHP 自创新的语法。它可以比 CGI 或者 Perl 更快速的执行动态网页。用PHP做出的动态页 面与其他的编程语言相比,PHP是将程序嵌入到HTML文档中去执行,执行效率比完全生成HTML标记的CGI要高许多;PHP还可以执行编译后代码,编 译可以达到加密和优化代码运行,使代码运行更快。PHP具有非常强大的功能,所有的CGI的功能PHP都能实现,而且支持几乎所有流行的数据库以及操作系统。PHP特点:开放的源代码:所有的PHP源代码事实上都可以得到。PHP是免费的:和其它技术相比,PHP本身免费。php的快捷性:程序开发快,运行快,技术本身学习快。嵌入HTML:因为PHP可以嵌入HTML语言,它 相对于其他语言,编辑简单,实用性强,更适合初学者。跨平台性强:由于PHP是运行在服务器端的脚本,可以运行在UNIX、LINUX、WINDOWS下。效率高:PHP消耗相当少的系统资源。图像处理:用PHP动态创建图像。面向对像:在php4,php5 中,面向对象方面都有了很大的改进,现在php完全可以用来开发大型商业程序。专业专注:PHP支持脚本语言为主,同为类C语言。WAMP的黄金结合:在过去,客户机/服务器结构的设计与Web的相关技术几乎处于平行线上,两者相互独立并无法作出集成性的设计。现在我们利用Apache+PHP构成三层式Web结构的中间一层,将客户机/服务器结构与Web密切结合,完成前后端两者的集成输出功能,使得Web站点的开发更方便,实现的功能更强大。Apache:是一种web服务器(与IIS类同)PHP:全称为Hypertext Preprocessor。PHP是一种HTML 内嵌式的语言,是一种网站(网页)开发语言(与ASP、JSP、.NET等类同)MySQL:是一种数据库(与SQLServer等类同)要访问网页就需要Web服务器,MySQL用来存放用户与网页之间交互信息的数据。三者结合起来简称AMP,现在流行的一种是LAMP:Linux操作系统下通过Apache和MySQL支持PHP语言的一种网络运行环境。优点:PHP:相对于其他语言(JSP等)简单易学;跨平台;PHP可以编译成具有与许多数据库相连接的函数。PHP与MySQL是现在绝佳的组合;面向对象编程:PHP提供了类和对象。PHP最经典的组合就是:PHP + MySQL + Apache。非常适合开发中小型的web应用,开发的速度比较快。而且所有的软件都是开源免费的,可以减少投入。(2)系统设计模式本系统采用C/S结构。在网络连接模式中,除对等网外,还有另一种形式的网络,即客户机/服务器网,Client/Server。在客户机/服务器网络中,服务器是网络的核心,而客户机是网络的基础,客户机依靠服务器获得所需要的网络资源,而服务器为客户机提供网络必须的资源。 这里客户和服务器都是指通信中所涉及的两个应用进程(软件)。使用计算机的人是计算机的“用户”(user)而不是“客户”(client)。但在许多国外文献中,也经常把运行客户程序的机器称为client(这种情况下也可把client译为“客户机”),把运行服务器程序的机器称为server。所以有时要根据上下文判断client与server是指软件还是硬件。 它是软件系统体系结构,通过它可以充分利用两端硬件环境的优势,将任务合理分配到 Client端和Server端来实现,降低了系统的通讯开销。目前大多数应用软件系统都是Client/Server形式的两层结构,由于现在的软件应用系统正在向分布式的Web应用发展,Web和Client/Server 应用都可以进行同样的业务处理,应用不同的模块共享逻辑组件;因此,内部的和外部的用户都可以访问新的和现有的应用系统,通过现有应用系统中的逻辑可以扩展出新的应用系统。这也就是目前应用系统的发展方向。C/S 与 B/S 区别:Client/Server是建立在局域网的基础上的.Browser/Server是建立在广域网的基础上的。硬件环境不同:C/S 一般建立在专用的学校上, 小范围里的学校环境,局域网之间再通过专门服务器提供连接和数据交换服务.B/S 建立在广域网之上的, 不必是专门的学校硬件环境,例与电话上网, 租用设备,信息自己管理,有比C/S更强的适应范围,一般只要有操作系统和浏览器就行。 对安全要求不同:C/S 一般面向相对固定的用户群,对信息安全的控制能力很强,一般高度机密的信息系统采用C/S 结构适宜. 可以通过B/S发布部分可公开信息.B/S 建立在广域网之上,对安全的控制能力相对弱,面向是不可知的用户群。对程序架构不同:C/S 程序可以更加注重流程,可以对权限多层次校验。对系统运行速度可以较少考虑.B/S 对安全以及访问速度的多重的考虑, 建立在需要更加优化的基础之上. 比C/S有更高的要求B/S结构的程序架构是发展的趋势, 从MS的.Net系列的BizTalk 2000 Exchange 2000等, 全面支持学校的构件搭建的系统. SUN 和IBM推的JavaBean 构件技术等,使 B/S更加成熟。软件重用不同: C/S 程序可以不可避免的整体性考虑, 构件的重用性不如在B/S要求下的构件的重用性好.B/S 对的多重结构,要求构件相对独立的功能. 能够相对较好的重用.就入买来的餐桌可以再利用,而不是做在墙上的石头桌子。 系统维护不同 系统维护是软件生存周期中,开销大, -重要C/S 程序由于整体性, 必须整体考察, 处理出现的问题以及系统升级. 升级难. 可能是再做一个全新的系统B/S 构件组成,方面构件个别的更换,实现系统的无缝升级. 系统维护开销减到最小.用户从网上自己下载安装就可以实现升级。处理问题不同 C/S 程序可以处理用户面固定, 并且在相同区域, 安全要求高需求, 与操作系统相关. 应该都是相同的系统B/S 建立在广域网上, 面向不同的用户群, 分散地域, 这是C/S无法作到的. 与操作系统平台关系最小。用户接口不同 C/S 多是建立的Window平台上,表现方法有限,对程序员普遍要求较高B/S 建立在浏览器上,有更加丰富和生动的表现方式与用户交流。并且大部分难度减低,减低开发成本。信息流不同C/S 程序一般是典型的中央集权的机械式处理, 交互性相对低B/S 信息流向可变化,B-B B-C B-G等信息、流向的变化,更像交易中心。五、系统功能实现1、系统管理员模块(1)登录界面此模块主要功能是用于登录本系统,不同权限的用户登录本系统会进入不同的管理模块界面,因为在后台对该用户进行的判断,首先将从前台页面提交的用户名和密码进行接受,之后在后台进行处理,按照用户名在数据库中进行查询如果查到该用户则将该用户的权限和密码全都取出来分别赋给两个字符串变量,判断从数据库中读出的密码与登录时输入的密码是否配比上,若两个密码相同则根据权限的值进入相应的页面,否则输出密码错误。若用户未被管理员分配好权限那么也是无法登录本系统的。如图5-1所示。图5-1