毕业设计(论文)-客户关系管理系统设计.doc_第1页
毕业设计(论文)-客户关系管理系统设计.doc_第2页
毕业设计(论文)-客户关系管理系统设计.doc_第3页
毕业设计(论文)-客户关系管理系统设计.doc_第4页
毕业设计(论文)-客户关系管理系统设计.doc_第5页
已阅读5页,还剩50页未读 继续免费阅读

下载本文档

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

文档简介

毕业设计(论文)客户关系管理系统目录第一章 概述- 1 -1.1 管理信息系统简介- 1 -1.2 面向对象的程序设计简介- 3 -1.3 系统软件开发环境简介- 4 -1.4 SQL Server简述- 5 -第二章 系统分析与设计- 7 -2.1 系统规划- 7 -2.1.1问题定义与项目开发背景- 7 -2.1.2可行性分析报告- 8 -2.2 系统分析- 8 -2.2.1用户需求的分析- 8 -2.2.2现行系统的业务流程调查.- 8 -2.2.3基本的开发思路- 9 -2.3 系统设计- 9 -2.3.1系统设计目标- 9 -2.3.2开发设计思想- 9 -2.3.3系统功能分析- 10 -2.3.4系统功能模块设计- 10 -第三章 数据库设计- 12 -3.1 数据库概述- 12 -3.2 数据字典- 12 -3.3 数据库概念结构设计- 14 -3.4 数据库逻辑结构设计- 16 -3.5 输入输出设计- 17 -3.6 系统各模块设计- 18 -3.6.1应用程序对象的创建- 18 -3.6.2登录窗口的设计- 19 -3.6.3建立应用程序主窗口- 22 -3.6.4子窗口的设计- 24 -第四章 软件打包过程- 34 -4.1生成可执行文件- 34 -4.2生成安装文件- 34 -第五章 软件测试- 36 -5.1测试的目的与方法- 36 -5.2 针对本系统的具体测试- 37 -总 结- 38 -参考文献- 39 -致 谢- 40 -附录一- 41 -附录二- 42 -附录三- 43 -57 第一章 概述计算机已经成为我们学习和工作的得力助手。今天,计算机的价格已经十分低廉,性能却有了长足的进步,它已经被应用于许多的领域,计算机之所以如此流行的原因主要有以下几个方面:首先,计算机可以代替人工进行许多的复杂的劳动。其次,计算机可以大大的提高人们的工作效率。第三,计算机可以节省许多资源。第四,计算机可以使敏感文档更加安全。虽然现有的客户关系档案的管理水平较高,但作为跨世纪的一代计算机专业的大学生,我希望在这方面有所成绩。改革的总设计师邓小平同志说过:科学技术是第一生产力。我希望能用所学的知识编制一个更加适用的程序来帮助企事业单位进行更有效的客户关系档案的管理。 1.1 管理信息系统简介管理信息系统MIS(manage information system)是由人和计算机等组成的能进行管理信息的多种操作(包括收集、储存、加工、维护和使用)的系统。它由四个要素组成。即现代化经济管理理论、系统工程、数学方法和计算机手段。其目的是通过自动化的事务处理方法来监视和控制企业、学校的行为、通过对历史数据的科学统计提供可靠的预测数据。并通过一些优化方法提供决策依据,管理信息系统是生产力发展的阶段标志是现代管理的综合体现。一个MIS系统的开发应分为如下步骤进行。1)系统任务的提出。系统开发的工作是从接受任务开始的,而系统任务应由系统用户提出,以书面的形式给予表达。2)初步系统调查。初步系统调查着重了解存在的主要问题和用户提出的目的要求,并制定新系统总体规划。3)确定系统目标。经过初步系统调查,了解了用户的基本状况和用户对系统的设想及要求后,系统开发人员就可以初步提出网页系统的系统目标。4)系统的可行性研究。系统的可行性研究包括可能性和必要性。有技术上的,经济上的,人力资源上的,以及组织管理上的。经过系统的可行性研究,最后应写出一份系统可行性分析报告。分析报告是系统开发人员第一阶段工作的小结。5)详细的系统调查。通过详细的系统调查。可以得到人工管理业务的处理办法,并详细地掌握住处的流程,总结出现有业务过程的规律,存在的问题。从而提出改进措施。6)现行系统的描述与分析。着重用来分析现行系统页面设计后,相关性板块信息交互的方便性。特别是要分析现行网页系统存在主要问题和管理上的薄弱环节,以及产生这些问题的原因和解决办法。7)用户需求及功能分析。用户需求因不同用户而有所区别,但主要可分为系统范围,信息的处理和技术性三个方面。8) 新系统的逻辑模型。通过对现行系统的进行详细调查,分析及用户需求分析后,就可以确定新系统的逻辑模型。新系统的模型包括新系统的功能要求、目标、界面之间链接、数据字典等。9) 编码对象的分析及编码体系结构的确定。在系统分析阶段,对现行系统及动态网页系统将要采用的编码对象及方法应该认真分析,以确定先进的科学的高效的系统编码体系。10) 系统的软件,硬件配置建议。分析人员应对网页系统所需的计算机系统的配置提出建议。11) 系统的物理编程。根据不同的系统要求以及用户软、硬件技术状况,在合适的平台上,选取相宜的语言和工具进行实际编程。12) 软件调查。对设计的原代码进行调试,以修改其中错误,从而确定系统的可靠性。13) 功能测试。对照系统分析中提出的系统功能要求,应进行系统的功能测试,以确定系统可预期的功能。14) 系统的性能评价以及完善文档。系统的性能评价应包括基础的软硬件,支持系统占用空间等。系统交付时,应同时交付完善的文档。1.2 面向对象的程序设计简介面向对象的方法学是要求按人们通常的思维方式建立问题领域的模型,设计出尽可能自然表现求解方法的软件。所谓建立模型就是建立问题领域中事物间相互关系。而表现求解问题的方法就是人们思维方法的描述。在面向对象的设计方法中对象(object)和传递信息(message passing)分别表现事物和事物间的关系。类(class)和继承性是描述人们思维方式的描述方法。方法(method)是在可进行的操作,这种对象、类、消息、方法的程序设计范式的关键在于对象的封装和继承性。通过封装能将对象的定义和实现分开。通过继承性,体现了类与类之间的关系,以及由此带来的基本特征。下面将从面向对象的方法学方面对有关概念作简要介绍。1) 对象我们把面向现实世界中的实体就称为问题空间的对象从动态的观点看,对象的操作就是对象的行为,从存储的角度看,对象是计算机内存中的一块私有存储区,在这块存储区中有数据、有方法。在面向对象的程序设计中,对象是该系统的基本运行实体,对于每个对象而言,都有与该对象对应的方法,而与每个对象相关的方法,就是定义了该对象的操作。2) 消息和方法在对象之间,消息是他们之间的唯一联系。在面向对象的程序环境中设计的程序,它的执行是依靠对象消息传递来完成的。 把所以的对象分为各种对象类,每个对象类,都定义了一组方法,所谓方法就是允许在对象类上进行的各种操作。3) 类在面向对象的程序设计中,对象是程序设计的最基本的单位,相似的对象可以并到一类中去,程序员只需定义一个类,就可根据这个类得到若干个实例,其中每个实例就是一个对象。4) 继承性继承性是自动地共享类、子类、对象中的方法和数据的一种机制,继承性可减少程序设计中编写代码的工作量,它不仅支持系统的可重用性,而且还促进了系统的可扩充性。5) 封装性所谓封装是一种信息隐蔽技术,用户只能看到对象封装界面上的信息,而对象内部对用户透明,封装的目的是把对象的使用着和对象的设计着分开,使用着只需设计访问对象的消息。6) 多态性当同样的消息可发送到父类的对象和它的子类的对象时,这就被称为多太性。由于多态性具有可表达对象的多个类的能力。因此,它既与动态类型有关,又与静态类型有关。7) 动态聚束一个程序经过编译,连接生成的可执行文件代码,其过程就是将执行代码聚束在一起,若这一过程发生在程序设计时,就称为动态聚束。面向对象语言常使用这一类聚束方式,它具有程序简单性和可扩充性等优点。本系统在编制过程中,多次利用面向对象的技术特点。在后面的章节中将分别予以说明。1.3 系统软件开发环境简介本系统已经在计算机上进行开发并获得通过了,同时方便系统开发,减少开发过程的难度,我们是基于以下的软件环境。以Windows XP为操作系统以PowerBuilder9.0为开发工具Windows XP是目前主流操作系统,而PowerBuilder9.0是一种优秀的面向对象的、支持多种数据库应用的开发工具。我在系统开发过程中深深地感受到PowerBuider9.0的强大威力。下面我结合自己的体会对PowerBuilder9.0作以下简要介绍。PowerBuilder是美国著名的powersoft公司于20世纪90年代初推出的基于客户/服务器体系结构的面向对象数据库开发工具. PowerBuilder9.0是PowerBuilder的最新版本.它专门用来设计,建立高性能的基于分布式,客户/服务器体系结构的网络应用系统,同时全面支持分布式计算和web环境.PowerBuilder9.0为数据库的应用开发提供了全面综合性的支持,具有自己非常突出的特点:1.可视化的快速开发环境.2.面向对象3.事件驱动.4.功能强大的编程语言与函数.5.跨平台开发.6.开放的数据库连接系统.在后面的篇幅里,我将详细的说明我是如何利用PowerBuilder9.0进行客户关系管理系统的系统开发的。1.4 SQL Server简述SQL Server 是一个后台数据库管理系统,它功能强大操作简便,日益为广大数据库用户所喜爱。越来越多的开发工具提供了与SQL Server的接口。SQL Server 是一个关系数据库管理系统,它最初是由Microsoft、Sybase 和Ashton-Tate三家公司共同开发的。于1988 年推出了第一个OS/2 版本,在Windows NT 推出后,Microsoft与Sybase 在SQL Server 的开发上就分道扬镳了,Microsoft 将SQL Server 移植到Windows NT系统上,专注于开发推广SQL Server 的Windows NT 版本。SQL Server 2000 是Microsoft 公司推出的SQL Server 数据库管理系统的最新版本,该版本继承了SQL Server 7.0 版本的优点,同时又比它增加了许多更先进的功能、具有使用方便、可伸缩性好与相关软件集成程度高等优点。可跨越从运行Microsoft Windows 2000的膝上型电脑到运行Microsoft Windows XP 的大型多处理器的服务器等多种平台使用。SQL Server不但可以应用于大中型数据库管理中,建立分布式关系数据库,并且也可以开发桌面数据库。事实上,SQL Server数据库处理的基本结构,采取关系型数据库模式,尽管如此,相信大家都可以轻易的发现,在SQL Server的数据库处理方式,则是使用面向对象的操作方式与精神,也就是说,SQL Server的所有功能,都可以基于系统已经建立好的一些对象来达成,是相当OO(面向对象)的一个系统结构。SQL Server 企业管理器是 SQL Server 的主要管理工具,它提供了一个遵从 MMC 标准的用户界面,使用户得以 定义 SQL Server 实例组。 将个别服务器注册到组中。 为每个已注册的服务器配置所有 SQL Server 选项。 在每个已注册的服务器中创建并管理所有 SQL Server 数据库、对象、登录、用户和权限。 在每个已注册的服务器上定义并执行所有 SQL Server 管理任务。 通过唤醒调用 SQL 查询分析器,交互地设计并测试 SQL 语句、批处理和脚本。 唤醒调用为 SQL Server 定义的各种向导。第二章 系统分析与设计系统分析也称逻辑设计,即建立新的逻辑模型,在逻辑上规定新系统的功能但不涉及新系统具体的物理实现,系统设计也称系统的物理设计,是在系统分析的基础上将系统分析阶段反映用户需求的逻辑模型转换为可以具体实施的物理模型,并做好编程前的准备工作。2.1 系统规划管理信息系统的总体规划又称MIS的战略规划,是管理信息系统生命周期的第一个阶段,也是管理信息系统开发过程的第一步。这一阶段的主要任务是明确系统的开发背景和可行性分析论证。2.1.1问题定义与项目开发背景借助现代信息技术和管理理论,建立企业管理信息系统是当今社会的重要趋势。对企业而言,全面开发和应用计算机管理信息系统就是近期不能回避的问题。在企业管理中,人力资源是企业最宝贵的资源,也是企业的“生命线”,因此人事管理是企业的计算机管理信息系统重要组成部分。而客户关系管理又是人力资源管理的重中之重。实行电子化的客户关系管理,可以让人力资源管理人员从繁重琐碎的案头工作解脱出来,去完成更重要的工作。客户关系管理信息系统的实现可以减轻比较繁琐的手工客户管理。随着经济的发展,企业的规模也不断扩大,客户流动日趋频繁,与交易有关的内容也日益细化。因此客户关系管理的工作量也随之增加,以往的人工处理方式就显得力不从心,劳动强度大而且容易出错。因此有必要开发一个客户关系管理系统。用计算机管理代替人工管理系统一系列的工作。实现企业客户关系管理的系统化、规范化、自动化,从而达到提高企业管理效率的目的。2.1.2可行性分析报告可行性研究的目的使用最小的代价在尽可能短的时间里确定问题是否能解决,通过复杂系统的规模与目标,研究与此类似的系统后,我们具体从下两个方面考虑。1)技术上的可行性。由于对企业客户关系管理系统这一类的企业系统进行开发已有一定的时期,有很多成功的实例,技术基础也已经非常雄厚,因而技术上的准备应该不成问题。2)经济上的可行性。 由于客户关系管理系统是一个不是很复杂的系统,是由我们一个小组的成员进行开发的,所以从人力、物力、财力方面来说都是可行的。2.2 系统分析系统分析是在总体规划的指导下,对系统进行深入详细的调查研究,确定新系统逻辑模型的过程2.2.1用户需求的分析对用户需求的分析应该全面、深入、发展,全面是指考查由管理的信息是否有纰漏,必须保证各静态、动态信息的完全;深入是指对信息的内容、结构、含义、变换、生存周期的分析和认识;发展是指对信息未来发展变化的预测,因为信息在某个系统、机构内的变化往往存在着自身特有的发展规律,需求分析应该预见这种规律,否则就会缩短使用寿命。为了保证需求分析的完备性,就必须保证需求分析的时间。2.2.2现行系统的业务流程调查. 调查某企业客户关系管理流程发现,在手工条件下每天记录客户基本信息一般分为三个阶段。第一阶段:记录原始凭证原始凭证记录主要有客户编号、客户名称、客户性别、客户类型、客户级别、客户状态、客户阶段、客户来源、行业类别、企业性质、所在国家、所在省份、所在城市、通讯地址、业务电话、传真电话、公司网址、邮政编码、电子邮箱、添加日期、备注、业务员信息。原始凭证必须完整、准确、如实填写。第二阶段:消费登记第三阶段:机会分析为了审查企业客户关系预算的执行情况,客户部门要根据客户的状态,汇总编制客户关系信息表。2.2.3基本的开发思路正如研究任何其它软件项目一样,需要熟悉开发环境,实验关键技术,查找类似的相关系统的资料;系统概要设计,数据库结构设计,功能模块开发,功能模块测试,系统调试和系统试运行和修改。2.3 系统设计系统设计阶段根据经济、技术和运行环境等方面的条件,详细地确定出新系统的结构,为管理信息系统的实施提供必要的技术方案。2.3.1系统设计目标1)系统开发的总体任务是实现企业客户关系管理的系统化、规范化和自动化。2)能够和其他各种管理系统相结合,真正实现企业高效、科学、现代化的客户关系管理。2.3.2开发设计思想1)尽量采用公司现有软硬件环境,及先进的管理系统开发方案,从而达到充分利用公司资源,提高系统开发水平和应用效果的目的。2)系统应符合公司管理的规定,满足公司客户管理工作需要,并达到操作过程中的直观、方便、实用、安全等要求。3)系统采用C/S体现结构,客户端负责提供表达逻辑、显示用户界面信息、访问数据库服务器,服务器端则用于提供数据服务。4)系统采用模块化程序设计方法,既便于系统功能的各种组合和修改,又便于未参与开发的技术维护人员补充、维护。5)系统应具备数据库维护功能,及时根据用户需求进行数据的添加、删除、修改、数据库备份和初始化等功能。2.3.3系统功能分析客户关系管理涉及企业管理的多个方面,如客户流动变化、客户情况、信息维护等。根据这些信息,通过信息统计分析,产生相应图表。客户信息管理的特点是关联的方面比较多,信息处理比较大。因此对于本系统的设计,需要采取了下面的一些原则:1.在公司范围内统一各种原始单据的格式,统一帐单和报表的格式。2.删除不必要的管理冗余,实现管理规范化、科学化。3.程序代码标准化,软件统一化,确定软件的可维护性和实用性。4.能够连接各个关联的数据库,获取数据库中的信息。保证各个数据库表格相关的项目之间具有相同的属性,在上面设计原则的基础上,完成系统功能分析。本系统需要完成功能主要有:1) 客户基本信息维护:包括添加、修改、删除客户基本个人信息(包括客户的状态的修改,如活跃、停顿、流失三种状态等)。2) 客户基本信息查询:按客户号或客户名进行查询客户个人信息。全部客户信息汇总,所有部门信息汇总等3) 系统维护功能:管理员信息维护 主要实现管理员信息的增加、口令修改、删除。4) 客户管理:包括新增用户、删除用户、修改客户状态等。5) 销售信息记录:用于实现客户销售信息的修改和查询。6) 数据库备份与初始化。等一系列功能。2.3.4系统功能模块设计在系统功能分析的基础上,考虑Power builder程序编程的特点,得到如图2.1所示的系统功能模块图。 客户关系管理系统 系 系 数 信 机 系统 统 据 息 会 统文 维 操 查 管 帮件 护 作 看 理 助模 模 模 模 模 模块 块 块 块 块 块如图2.1由客户关系管理系统和企业中其它系统的关系可知,客户关系管理系统是全企业信息管理系统的一个有机组成部分。第三章 数据库设计在管理信息系统中,数据存储主要通过数据库实现,数据库决定了数据存储的组织形式,以及数据处理的速度和效率,因此数据库设计是整个系统设计的重要的组成部分。3.1 数据库概述 1) 数据库:(Data Base ,DB)数据库是指按一定的组织方式存储在外存储器中逻辑相关的数据集合。2) 数据库系统:(Data Base System ,DBS)数据库系统是一个引进数据库管理系统,具有数据库管理功能的计算机软硬件系统。3) 数据库管理系统:(Data Base Management System ,DBMS)数据库管理系统是一组对数据库进行管理的软件,通常包括数据定义语言及编译程序、数据操纵语言及编译程序和数据管理程序。3.2 数据字典 用数据字典描述数据库的设计,便于维护和修改。为了更好地组织数据和设计出实际应用数据库,应该注意如下问题:1) 规范化地重组数据结构:对数据进行规范化表达,这在后面将会具体讨论。2) 关系数据结构的建立:在进行了数据基本结构的规范化重组后,还必须建立整体数据的关系结构。这一步设计完成后数据库和数据结构设计工作基本完成,只待系统实现时将数据分析和数据字典的内容代入到所设计的数据整体关系结构中,一个规范化数据库系统结构就建立起来了。下面给出本系统的主要数据元素的数据字典:表3.1 管理员表文件名:adm别名:组成:adm_id +adm_nanme + adm_password备注:表3.2 用户表文件名:用户表(uuser)别名:组成:uuser_id + uuser_nanme + uuser_password备注:表3.3 客户信息表文件名:客户信息别名:组成:客户编号+客户名称+客户性别+客户类型+客户级别+客户状态+客户阶段+客户来源+行业类别+企业性质+所在国家+所在省份+所在城市+通讯地址+业务电话+传真电话+公司网址+邮政编码+电子邮箱+添加日期+备注+业务员备注:表3.4 部门信息表文件名:部门信息别名:组成: 部门编号+部门名称+部门经理+成立时间+部门简介备注:表3.5 投诉反馈信息表文件名:投诉反馈别名:组成: 序号+客户编号+客户名称+投诉日期+投诉部门+投诉内容+投诉事项处理+受理人员备注:设计的数据项和数据结构如下:1)客户信息。包括的数据项有客户编号、客户名称、客户性别、客户类型、客户级别、客户状态、客户阶段、客户来源、行业类别、企业性质、所在国家、所在省份、所在城市、通讯地址、业务电话、传真电话、公司网址、邮政编码、电子邮箱、添加日期、备注、业务员信息。2)部门信息。包括的数据项有部门编号、部门名称、部门经理、成立时间、部门简介等。3)投诉反馈信息。包括的数据项有序号、客户编号、客户名称、投诉日期、投诉部门、投诉内容、投诉事项处理、受理人员等。有了上面的数据结构、数据项和数据字典,就能进行下面的数据库设计了。3.3 数据库概念结构设计本实例根据上面的设计规划出的实体有:客户基本信息实体、部门信息实体、投诉反馈信息实体、消费信息实体。各个实体的E-R图以及实体和实体之间的关系E-R图描述如下。1.客户基本信息实体E_R图如图3.1 客户基本信息客户编号 客户名称 客户性别 客户关系图3.1通过该客户基本信息实体E_R图可以看出,要实现系统预定功能,必须具备员工基本信息表。该表须有客户编号,客户名称,客户性别等字段。2.部门信息实体E_R图如图3.2 部门信息 部门编号 部门名称 部门经理 成立时间图3.2通过该部门信息实体E_R图可以看出,要实现系统预定功能,必须具备部门编号、部门名称、部门经理、部门成立时间等字段。3.投诉反馈实体E_R图3.3 投诉反馈信息 序号 客户编号 投诉部门 投诉时间图3.34.消费实体E_R图3.4 消费信息 客户编号 服务项目 消费金额 消费时间图3.4通过该ER图不难可以得出:要实现系统预定的功能,必须具备客户基本信息,消费信息,部门信息,等数据库。同时每个数据库表的字段也可以确定下来。3.4 数据库逻辑结构设计在上面的E-R图的基础上,形成数据库中的表格以及各个表格之间的关系。客户关系管理系统数据库中各个表格的设计结果如下面的几个表格所示。每个表格表示在数据库中的一个表。表3.6 adm表列名数据类型可否为空说明adm_idchar(10)Not null管理员帐号(主键)adm_namechar(10)Not null姓名(主键)adm_passwordchar(10)Not null密码(主键)表3.7 uuser表列名数据类型可否为空说明uuser_idchar(10)Not null用户帐号(主键)uuser _namechar(10)Not null姓名(主键)uuser _passwordchar(10)Not null密码(主键)表3.8 客户信息表列名数据类型可否为空说明客户编号char(10)Not null主键客户名称char(10)Not null主键客户性别char(10)null无客户类型char(10)null无客户级别char(10)null无客户状态char(10)null无客户阶段char(10)null无客户来源char(10)null无行业类别char(10)null无企业性质char(10)null无所在国家char(10)null无所在省份char(10)null无所在城市char(10)null无通讯地址varchar(50)null无业务电话char(11)null无传真电话char(10)null电话号码11位公司网址char(10)null无邮政编码char(10)null无电子邮箱char(10)null无添加日期datatimer(8)Not null主键备注varchar(50)null无业务员char(10)null无表3.9 投诉反馈信息表列号数据类型可否为空说明序号char(10)Not null主键客户编号char(10)null无客户名称char(10)null无投诉日期datetime(8)null无投诉部门char(10)null无投诉内容varchar(50)null无投诉事项处理varchar(50)null无受理人员char(10)null无表3.10 消费管理表列名数据类型可否为空说明客户编号char(10)Not null主键服务部门char(10)Not null主键服务项目char(10)Not null 主键服务金额money (8)Nut null主键服务时间datetime (8)Not null主键表3.11 部门信息表列名数据类型可否为空说明部门编号char(10)Not null主键部门名称char(10)Not null主键部门经理char(10)Not null主键成立时间datetime (8)Not null主键部门简介Varcher(50)null无3.5 输入输出设计1)为了适应日常管理的需要和提供对内对外报告,该客户关系管理系统提供三种形式:1.屏幕输出:主要满足日常管理的需要,用于查询结果显示。2.磁盘输出:主要用于保存数据。3.打印输出:主要用于满足客户信息查询、客户消费查询、部门信息查询、投诉信息查询等2)输入模块是客户关系管理系统中使用频繁的模块,输入格式设计时要尽量操作方便、安全,尽可能减少输入量。客户关系管理系统中,将要输入的数据分为固定数据和变动数据。1.固定数据输入格式设计:客户信息管理系统中的固定数据是不经常变化的信息,2.变动数据输入格式的设计:客户关系管理系统中的变动数据,消费信息中的数据变动等。3.6 系统各模块设计客户关系管理系统与其他信息管理系统有着密切的联系,而且它是其中一个子系统,所以在系统实现阶段应考虑到该系统与其他信息系统的关系,充分考虑到今后对系统进行维护时可能遇到的问题。认真做好与其他系统的接口和数据交换,使系统具有比较好的可扩展性。3.6.1应用程序对象的创建1) 单击菜单“file|new”,选择应用程序对象模板画板,单击“ok”按钮,出现如图3.5所示的“specify new application library”对话框。在该对话框中完成应用程序对象名、库文件名的设置。图3.5 应用程序对象的创建2) 单击“finish”按钮,进入应用程序对象设计画面。在应用程序对象的open事件中输入如下的程序代码:SQLCA.DBMS = ODBCSQLCA.AutoCommit = FalseSQLCA.DBParm = ConnectString=DSN=ylr;UID=;PWD=connect;if sqlca.sqlcode0 thenmessagebox(连接失败,sqlca.sqlerrtext)else open(w_xuanze)end if应用程序运行后第一个出现的窗口是上面语句打开的w_xuanze窗口。在登录窗口中用户输入连接数据库的用户名和口令。连接数据库成功,则出现程序主窗口。3.6.2登录窗口的设计登录窗口如图图3.6所示 图3.6登录窗口的设计在w_xuanze的open事件中输入如下的程序代码:string passwordstring adminnametime nowtimenowtime=now()adminname=trim(sle_1.text)password=trim(sle_2.text)/admin登录模式if rb_2.checked = true thenselect adm_idinto :adminnamefrom admwhere adm_id =: adminname and adm_password =: password using sqlca;if try_time 4 thenif sqlca.sqlcode=0 thenmessagebox(登陆成功,欢迎管理员 : +string(adminname)+ 的登陆; +现在时间是:+string(today()+ +string(nowtime)open(w_main) close(parent)elseif sqlca.sqlcode=100 then messagebox(警告,输入错误,请再输入一次!,exclamation!)sle_1.setfocus() sle_1.text=sle_2.text= try_time+;end ifelse messagebox(系统警告,您尝试登陆的次数超过三次,+系统将不允许你登陆+ ,请与管理员联系!,stopsign!)cb_ok.enabled=falseend if/user登录模式else select uuser_idinto :adminnamefrom uuserwhere uuser_id =: adminname and uuser_password =: password using sqlca;if try_time 4 thenif sqlca.sqlcode=0 thenmessagebox(登陆成功,欢迎管理员 : +string(adminname)+ 的登陆; +现在时间是:+string(today()+ +string(nowtime)open(w_main)m_mum.m_3.m_19.enabled=falsem_mum.m_3.m_22.enabled=falsem_mum.m_3.m_admi密码修改.enabled=falsem_mum.m_23.m_30.enabled=false m_mum.m_4.m_13.enabled=false m_mum.m_4.m_15.enabled=falsem_mum.m_23.m_25.enabled=falseclose(parent)elseif sqlca.sqlcode=100 then messagebox(警告,输入错误,请再输入一次!,exclamation!)sle_1.setfocus() sle_1.text=sle_2.text= try_time+;end ifelse messagebox(系统警告,您尝试登陆的次数超过三次,+系统将不允许你登陆+ ,请与管理员联系!,stopsign!)cb_ok.enabled=falseend ifend if其中在declare global variables事件中/定义全局变量为:integer try_time=1string user_id,pass_word3.6.3建立应用程序主窗口系统应用程序的主要功能都是通过在主窗口上的菜单调用完成的。在菜单画面中设计应用程序主窗口所连接的菜单m_mum。该菜单的结构如图3.7所示。图3.7应用程序主窗口各个菜单中的程序代码从上到下依次如下:1.返回登录:integer net,i/退出之前,要提醒用户net=messagebox(!,确定要返回登录吗?,&question!, yesno!,i)if net =1 thenopen(w_xuanze)close(w_main)end if2.备份数据库 :open(W_data_beifen)3.恢复数据库 :open(W_data_huifu)4.退出:integer net,i/退出之前,要提醒用户net=messagebox(欢迎使用本软件!,你确定要退出吗?,&question!, yesno!,i)if net =1 then/退出当前行close(w_main)end if5. admi帐号管理:open(w_adm)6. user帐号管理:open(w_user)7. admi密码修改:open(w_updateadm)8. user密码修改:open(w_updateuser)9. 客户管理:open(w_kehuxinxiguanli)10. 部门管理:open(w_bumenxinxi)11. 服务项目:open(w_addfuwu)12. 消费登记:open(w_xiaofeidengji)13. 业务员表:open(w_yewuyuan)14. 投诉反馈:open(w_tousufankui)15. 客户汇总:open(w_kehuhuizong)16. 客户查询:open(w_select_all)17. 消费查询:open(w_display_xiaofei)18. 部门查询:open(w_bumen_select)3.6.4子窗口的设计w_adm子窗口界面如图3.8所示。 图3.8 w_adm子窗口界面例如:介绍以下部分脚本代码:“添加”代码如下integer li_rowcb_add.enabled=falsecb_delete.enabled=falsecb_next.enabled=falsecb_prior.enabled=falsecb_save.enabled=true dw_1.enabled=truedw_1.setfocus()/数据窗口得到焦点li_row=dw_1.insertrow(0) /插入一行空行纪录dw_1.scrolltorow(li_row) /滚到指定行dw_1.setcolumn(1)“保存”代码如下:if update(dw_1)=1 thendw_1.resetupdate() commit;messagebox(成功,数据已成功保存)dw_1.retrieve()/重新取记录cb_add.enabled=true cb_delete.enabled=truecb_next.enabled=true cb_prior.enabled=truecb_save.enabled=false dw_1.enabled=falsecb_prior.enabled=true cb_prior.setfocus()w_updateadm子窗口界面如图3.9所示。图3.9 w_updateadm子窗口界面其中“确定“按钮的代码如下:string adminid,passwordold,passwordnew,passwordnewa,aid,passadminid=trim(sle_1.text)passwordold=trim(sle_2.text)passwordnew=trim(sle_3.text)passwordnewa=trim(sle_4.text)SELECT adm_id,adm_password INTO :aid, :pass FROM admWHERE adm_id=:adminid;if adminid= or passwordold= or passwordnew= or passwordnewa= thenmessagebox(错误!,帐号或密码不能为空!,exclamation!,ok!,2) sle_2.text=sle_3.text=sle_4.text=elseif adminid=trim(aid) and passwordold=trim(pass) and passwordnew=passwordnewa then UPDATE adm SET adm_password=:passwordnewa WHERE adm_id=:adminid; messagebox(密码修改成功!,请记住新密码!,Information!,ok!,2) sle_1.text= sle_2.text=sle_3.text= sle_4.text=else messagebox(错误!,两次输入密码不符,请重新输入!,exclamation!,ok!,2) sle_2.text=sle_3.text= sle_4.text=end ifW_data_beifen子窗口界面如图3.10所示。图3.10 W_data_beifen其中“备份”按钮代码如下:string backupSTRING pathstringpathstring =sle_bakfile.TEXTif pathstring = thenmessagebox(提示,请输入备份数据库名称!)returnend ifDisconnect USING sqlca;SQLCA.DBMS = ODBCSQLCA.AutoCommit = FalseSQLCA.DBParm = ConnectString=DSN=ylr;UID=;PWD=connect using sqlca;backup= backup database 客户关系管理系统 to disk = + + pathstring + ;EXECUTE IMMEDIATE :backup;if sqlca.sqlcode = 0 then messagebox(恭喜,数据库备份成功!)else messagebox(哎呀,出错了+sqlca.sqlerrtext)end ifdisconnect;return“浏览”按钮代码如下:string docname=客户关系管理系统_备份.bak, namedinteger valuevalue = GetFileSaveName(请输入备份文件名, & docname, named, BAK, &Backup Files

温馨提示

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

评论

0/150

提交评论