版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
精品文档,下载后可随意编辑!客户关系管理系统摘要在各个行业里,顾客就是上帝,是经营者的衣食父母。要想在所在领域有更大的发展,不但要不断地挖掘新客户,还要使老客户成为自己忠诚的客户,占领市场份额就是占领客户群体。随着计算机新技术的发展和应用的普及,用计算机管理日常事务即自动化管理已取代了传统的管理方式。中小企业客户管理系统实现了与客户相关的各种信息的系统化、规范化和自动化。通过对客户类型管理、客户管理和提醒管理三个模块基本功能的实现,对客户的各种信息进行增、删、查、改等操作,完成对客户的信息管理。这些功能基本可以满足一般中小型企业对客户管理的需求,使企业节省人力,减轻劳动强度;降低成本,节省开支;提高了管理水平,增强了企业在同行业中的竞争力;同时提高了客户信息处理的及时性和准确性。该系统通过客户管理系统对客户的管理为企业获得更多的客户,保留更好的客户,创造更大的客户价值,保持客户永久的忠诚,建立一对一市场营销,从而为企业带来更丰厚的利润和持续的竞争优势。关键词:客户管理,VB,数据库AbstractIneachprofession,thecustomerisGod,isoperator'sFoodandClothingParents.Mustwantintohaveabiggerdevelopmentinthedomain,notonlymustexcavatethenewcustomerunceasingly,butalsomustcausetheoldcustomertobecometheoneselfloyalcustomer,seizesthemarketshareseizesthecustomercommunity.Alongwiththecomputernewtechnologydevelopmentandtheapplicationpopularization,wastheautomatedmanagementhassubstitutedforthetraditionalmanagementwaywiththecomputermanagementdailybusiness.Thesmallandmedium-sizedenterprisecustomermanagementsystemmanagementsystemhasrealizedandthecustomercorrelationeachkindofinformationsystematization,thestandardizationandtheautomation.Throughtothecustomertypemanagement,thecustomermanagementandtheremindermanagesthreemodulesbasicfunctionstherealization,carriesontocustomereachkindofinformationincreases,deletes,looksup,changesandsoontheoperation,completestothecustomerinformationmanagement.Thesefunctionsarebasicmaysatisfythecommonsmallandmedium-sizedenterprisetothecustomermanagementdemand,causestheenterprisetosavethemanpower,reducesthelaborintensity;Reducesthecost,savestheexpenditure;Raisedthemanagementlevel,strengthenedtheenterpriseinthesameprofessioncompetitivepower;Atthesametimeenhancedthecustomerinformationprocessingtimelinessandtheaccuracy.Thissystemobtainsmorecustomersthroughthecustomermanagementsystemmanagementsystemtothecustomermanagementfortheenterprise,retainsabettercustomer,createsthebiggercustomervalue,themaintenancecustomerpermanentloyalty,establishesapairofmarketmarketing,thusbringsthecompetitiveadvantagefortheenterprisewhicharicherprofitandcontinues.Keywords:Thecustomermanages,VB,thedatabase目录摘要 IAbstract II第1章绪论 11.1项目背景 11.2总体目标 11.3主要任务 2第2章系统分析 32.1可行性分析 32.1.1经济可行性分析 32.1.2技术及开发可行性分析 32.1.3管理可行性分析 122.2需求分析 122.2.1功能描述 132.2.2系统数据流图 13第3章系统设计 153.1系统结构设计和工作原理 153.2功能模块设计 163.2.1客户类型管理 163.2.2客户管理 173.2.3提醒管理 183.3数据库设计 183.3.1数据库需求分析 193.3.2数据库概念结构设计 193.3.3数据库逻辑结构设计 203.4详细功能设计 233.4.1客户类型管理 233.4.2客户管理 243.4.3提醒管理 24第4章系统实现 264.1程序设计 264.1.1系统登录 264.1.2客户类型信息管理模块 264.1.3客户信息管理模块 294.1.3客户合作信息管理模块 324.1.4客户提醒信息管理模块 334.2数据库操作技术实现 344.3功能测试 344.3.1软件测试的方法 354.3.2软件测试的步骤 364.3.3对本系统的测试 37第5章结论 41致谢 42参考文献 43外文阅读与翻译 45第1章绪论1.1项目背景以客户为中心的理念在国外兴起于20世纪50年代,当时很多企业寄望于通过改进技术、压缩生产周期、改善内部资源管理来提高生产增长率和利润,但事实上见效甚微。这样企业开始从强调降低经营成本的供应方发展策略转向了需求方策略。所谓需求方策略,就是指与客户联系更紧密,从客户关系方面挖掘新能源的策略,客户关系管理(CustomerRelationshipManagement,CRM)应运而生。CRM,其核心思想是将企业的客户(包括最终客户、分销商和合作伙伴)作为最重要的企业资源,通过完善的客户服务和深入的客户分析来满足客户的需求,保证实现客户的终生价值。客户关系管理旨在改善企业与客户之间关系的新型管理机制,通过向企业的销售、市场和客户服务的专业人员提供全面、个性化的客户资料,并强化跟踪服务、信息分析的能力,使他们能够协同建立和维护一系列与客户和生意伙伴之间卓有成效的“一对一关系”,为客户提供更快捷和周到的优质服务、提高客户满意度、吸引和保持更多的客户,从而增加营业额;另一方面则通过信息共享和优化商业流程来有效地降低企业经营成本。与此同时,现在计算机可以帮助人们实现这些看似并不复杂而实际操作起来非常烦琐的工作。试想一下,当我们需要查找一个客户的电话号码时,只需要敲几下键盘,就可以看到客户的详细资料(包括姓名、公司名称、电话、E—mail,甚至包括合作历史记录),还有,当客户的生日快到时,软件可以提醒您是该给客户寄出贺卡的时候了。所有的这些,正是一个完善的客户管理系统的功能所在。1.2总体目标设计、开发、实现中小企业客户管理系统。随着计算机新技术的发展和应用的普及,人类已从工业时代迈向信息时代,大量复杂信息的产生和传播,信息技术的高速发展,在推动社会发展和经济的同时,也增加了个人和组织处理信息工作量和信息存储量。面对这种情况,以计算机等信息技术作为信息处理的重要工具,开发和应用信息系统是个人和组织的迫切需要,也是迎接信息挑战的唯一出路,信息管理系统是一门综合管理科学,信息科学,系统科学,计算机科学和通讯技术的新兴学科,用计算机管理日常事务即自动化管理已取代了传统的管理方式。客户管理系统即属于信息管理系统,系统开发的总体任务是实现与客户相关的各种信息的系统化、规范化和自动化。通过客户管理系统对客户的管理为企业获得更多的客户,保留更好的客户,创造更大的客户价值,保持客户永久的忠诚,建立一对一市场营销。从而,为企业带来更丰厚的利润和持续的竞争优势。系统采用三层结构设计,即程序逻辑结构分为用户界面层、业务逻辑处理层和和数据存储层。三层在实际的物理结构上也是独立的,业务逻辑处理层采用ActiveDDL实现,用户界面与业务逻辑分离,系统的安全性、可维护性、重用性和扩展性都将大大提高。1.3主要任务经过一段时间的调研和考察工作,基本了解了企业对客户管理的业务流程,清楚企业对客户管理的具体需求,鉴于客户信息管理在功能上的划分比较明确,因此从大的功能模块上分:客户类型管理、客户管理以及提醒管理三个大的子模块。各个子模块又划分若干模块,具体实现对信息的增、删、查、改等功能。通过概要设计、具体设计以及编码实践,能够用计算机实现管理客户信息,并最终通过测试,将客户管理系统交付用户使用。
第2章系统分析2.1可行性分析2.1.1经济可行性分析经过仔细研究潜在的市场前景和周密的成本—效益分析,客户管理系统的建立能为投资者带来更好的经济效益。投入方面,投资者仅需购买一台计算机,而且机器配置也不必太高;另外加上系统开发人员、运行人员和维护人员的工资,各种能源与消耗品所需的费用即可。而在收益方面,首先可以节省人力,减轻劳动强度;其次降低成本,节省开支;再次,提高了管理水平,增强了企业在同行业中的竞争力;同时提高了客户信息处理的及时性、准确性;另一方面还提高了管理人员的素质,建设了人才队伍等。因此,本系统的开发可以实现成本低廉、收益高效的目的。2.1.2技术及开发可行性分析通过详细的调研和借鉴成功的经验,能够采集到足够的信息。严格按照数据库流程进行设计,确定和使用所得信息以便创建出完善的数据库;采用先进科学和广为流行的设计方法,有助于对系统进行科学严谨,全面完整的设计,简化设计流程,降低出错率;VB和SQL均是已成熟的技术,加以使用有助于加快和简化系统的设计。(1)VB简介Basic语言与微软公司同时成长起来,它们有着千丝万缕的关系。早在微软公司刚刚开始发布DOS时,就引入了Basic语言,之后微软公司从来没有停止过给Basic语言注入新的活力。当微软公司开发出Windows操作系统时,就将Basic语言升级为可视化语言VisualBasic,创造了可视化编程语言的新纪元;当微软公司开发出Office时,又将VisualBasic领域扩展到Office中,出现了宏语言VBA(VisualBasicforApplication);在此之后,微软公司又先后将Basic语言扩展成VBScript和ASP。可以说,微软公司在这风风雨雨几十年中从来没有停止过对Basic语言的开发,在微软公司开发的各个领域中,总是将Basic语言设计成这一领域里应用最方便的语言。VisualBasic以其适用、方便、快捷、开发周期短、有广泛而强大的功能而受到编程人员的青睐,并广为流传。VisualBasic的开发环境使用户更容易操作,其语句生成器和快速提示帮助,使在较短时间能开发出强大的应用程序。VisualBasic具有以下特点:●可视化:Visual的英文含义即是可视化,在可视化环境下创作前端界面就如同摆放积木一样。●面向对象:面向对象的编程建立在类的基础上,通过类的封装使源程序更便于维护。●部件编程:VisualBaisic中进行的部件编程建立在微软的部件对象模型(COM)上。●事件驱动:在事件驱动模型下,程序的执行依靠系统能够识别的触发事件来启动。VisualBasic具有多媒体应用、图形操作、系统控制、网络和数据库应用等强大功能。因此,VisualBasic都能针对一些应用性的问题编写出实用的程序,这也是众多程序员选择VisualBasic的原因。VisualBasic.NET是新一代的VisualBasic,在微软公司投入很大力量开发网络新领域.NET平台时,也将VisualBasic运用到了这一平台上,同时大幅度提高了VisualBasic的功能。可以说,VisualBasic.NET功能不输给VC的升级语言C#,而且实现了真正的面向对象功能,同时微软公司增强了该语言的网络开发功能和可移植性,VisualBasic.NET完全有实力赶上并超过Java。VisualBasic应用程序基本的构建块是用户所创建的对象,每一个对象都具有一些特性和行为(属性、事件和方法)。开发人员可以最有效利用所创建的每一个对象。使用应用程序具有可通用性可说扩展性和强有力的功能。
VisualBasic应用由一系列对象组成,包括有函数、菜单、函数、结构和数据窗口、用户对象、用户事件等等,对象中又包含若干控件如命令按钮、单行编辑器等这些对象和控件都可在许多应用中重复使用。
①实现菜单选项
菜单是程序最重要的特性之一,大多数程序都依赖一个定义良好的菜单使程序易于使用和维护,VisualBasic也提供了强大的创建菜单功能是程序更加标准。
您可以使用VisualBasic的ApplicationWizard也可以使用VisualBasic的菜单编辑器建立菜单或者修改已经存在的菜单。
②实现工具栏
CoolBar控件与Office中看到的CoolBar是类似的。CoolBar就是一个可以在窗体上浮动的工具,同时也是其他ActiveX的容器。通过在CoolBar中迁入其他空间你局可以向用户提供更好的灵活性和义用性。
Toolbar是工具条控件,是实现工具条的主体。其中的按钮可以显示图像和标题,并按功能分组或加入分隔符,还可以围棋设置鼠标停留在其上显示的提示字符。Toolbar也是一个控件容器且具有Style属性,并可以为其增加下拉按钮和平滑按钮等。
选择“工程”下拉菜单中的“部件”选项,显示“部件”对话框。在“控件”选项卡列表中选择“MicrosoftWindowsCommonControls6.0”③帮助专业水平的软件通常都带有联机帮助功能。无论写出来的程序是要给大量的用户使用,还是仅仅局限于公司内部有限的使用者,我们都应该为用户提供详细的、易于理解的联机帮助文档。微软的HelpWorkshop4.0是一套独立于VisualBasic的用来协助我们创建、运行于32位Windows操作系统下的帮助文件的工具。使用它我们可以为我们编写的应用程序生成一组帮助文件。(2)MicrosoftSQLSever简介SQLServer是一个后台数据库管理系统,它功能强大,操作简便,日益为广大数据库用户所喜爱。越来越多的开发工具提供了与SQLServer的接口。SQLServer是一个关系数据库管理系统,它最初是由Microsoft、Sybase和Ashton-Tate三家公司共同开发的。于1988年推出了第一个OS/2版本,在WindowsNT推出后,Microsoft与Sybase在SQLServer的开发上就分道扬镳了,Microsoft将SQLServer移植到WindowsNT系统上,专注于开发推广SQLServer的WindowsNT版本。SQLServer2000是Microsoft公司推出的SQLServer数据库管理系统的最新版本,该版本继承了SQLServer7.0版本的优点,同时又不她增加了许多更先进的功能、具有使用方便、可缩性好与相关软件集成程度高等优点。可跨越从运行MicrosoftWindows98的膝上型电脑到运行MicrosoftWindows2000的大型多处理器的服务器等多种平台使用。MSSQLServer不但可以应用于大中型数据库管理中,建立分布式关系数据库,并且也可以开发桌面数据库。事实上,SQLServer数据库处理的基本结构,采取关系型数据库模式,尽管如此,相信大家都可以轻易的发现,在SQLServer的数据库处理方式,则是使用面向对象的操作方式与精神,也就是说,SQLServer的所有功能,都可以基于系统已经建立好的一些对象来达成,是相当好的一个系统结构。SQLServer企业管理器是SQLServer2000的一个重要的工具,为设置和管理多个服务器提供了一个图形化的用户界面,它易于使用,能对多个SQLServer的各方面进行集中管理,它可以完成以下功能:●管理用户账号和服务器登录。●备份和恢复数据库和事务日志。●启动、停止和配置服务器。●检查数据库一致性。●显示服务器统计数据。●配置和管理数据库复制。●创建和管理数据库对象和任务。●创建和控制用户账号和组。(3)使用MicrosoftSQLSever实现关系型数据库①数据库的概念及理论基础a.数据库的概念数据库是一种存储数据并对数据进行操作的工具。数据库的作用在于组织和表达信息,简而言之,数据库就是信息的集合。计算机的数据库可以分为两类:非关系数据库(flat-file)和关系数据库(relational)。关系数据库中包含了多个数据表的信息,数据库含有各个不同部分的术语,象记录、域等。b.数据库的理论基础一个成功的信息管理系统,是建立在许多条件之上的,而数据库是其中一个非常重要的条件和关键技术。信息管理系统所涉及的数据库设计分五个步骤:数据库需求分析、概念设计、逻辑设计、物理设计与加载测试。●数据库需求分析的任务是将业务管理单证流化为数据流,划分主题之间的边界,绘制出DFD图,并完成相应的数据字典。●概念设计的任务是从DFD出发,绘制出本主题的实体-关系图,并列出各个实体与关系的纲要表。●逻辑设计的任务是从E-R图与对应的纲要表出发,确定各个实体及关系的表名属性。●物理设计的任务是确定所有属性的类型、宽度与取值范围,设计出基本表的主键,将所有的表名与字段名英文化,实现物理建库,完成数据库物理设计字典。●加载测试工作贯穿于程序测试工作的全过程,整个录入、修改、查询、处理工作均可视为对数据库的加载测试工作。要设计出一个好的信息管理系统数据库,除满足系统所要求的功能外,还必须遵守下列原则:●基本表的个数越少越好。●主键的个数越少越好。键是表间连接的工具,主键越少,表间的连接就越简单。●字段的个数越少越好。●所有基本表的设计均应尽量符合第三范式。数据库的设计中,如何处理多对多的关系和如何设计主键,是两个有着较大难度、需要重点考虑的问题。下面着重从SQL应用、数据库设计范式和查询优化等方面来分析本课题的系统关键技术和实现难点并加以解决。c.数据库系统设计及范式分析信息系统的主要任务是通过大量的数据获得管理所需要的信息,这就必须存储和管理大量的数据。因此建立一个良好的数据组织结构和数据库,使整个系统都可以迅速、方便、准确地调用和管理所需的数据,是衡量信息系统开发工作好坏的主要指标之一。d.数据库系统设计数据库设计主要是进行数据库的逻辑设计,即将数据按一定的分类、分组系统和逻辑层次组织起来,是面向用户的。数据库设计时需要综合企业各个部门的存档数据和数据需求,分析各个数据之间的关系,按照DBMS提供的功能和描述工具,设计出规模适当、正确反映数据关系、数据冗余少、存取效率高、能满足多种查询要求的数据模型。为了更好地组织数据和设计出实际应用数据库,应该注意如下问题:规范化地重组数据结构:对数据进行规范化表达。关系数据结构的建立:在进行了数据基本结构的规范化重组后,还必须建立整体数据的关系结构。这一步设计完成后数据库和数据结构设计工作基本完成。建立关系数据结构涉及三方面内容:确定关联的关键指标项并建立关联表;确定单一的父系记录结构;建立整个数据库的关系结构。e.数据库设计范式分析建立起一个良好的数据指标体系,是建立数据结构和数据库的最重要的一环。一个良好的数据指标体系是建立DB的必要条件,但不是充分条件。我们完全可以认为所建指标体系中的一个指标类就是关系数据库中的一个基本表,而这个指标类下面的一个个具体指标就是这个基本表中的一个字段。但如果直接按照这种方式建库显然还不能算最佳。对于指标体系中数据的结构在建库前还必须进行规范化的重新组织。在数据的规范化表达中,规范化表达还规定在每一个基本表中必须定义一个数据元素为关键字(key),它可以唯一地标识出该表中其它相关的数据元素。在规范化理论中表是二维的,它有如下四个性质:●在表中的任意一列上,数据项应属于同一个属性。●表中所有行都是不相同的,不允许有重复组项出现。●在表中,行的顺序无关紧要。●在表中,列的顺序无关紧要,但不能重复。为防止数据库出现更新异常、插入异常、删除异常、数据冗余太大等现象,关系型数据库要尽量按关系规范化要求进行数据库设计。f.SQL语言基础SQL(StructuredQueryLanguage,结构查询语言)是一个功能强大的数据库语言。SQL通常使用于数据库的通讯。ANSI(美国国家标准学会)声称,SQL是关系数据库管理系统的标准语言。SQL语句通常用于完成一些数据库的操作任务,比如在数据库中更新数据,或者从数据库中检索数据。使用SQL的常见关系数据库管理系统有:Oracle、Sybase、MicrosoftSQLServer、Access等等。虽然绝大多数的数据库系统使用SQL,但是它们同样有它们自立另外的专有扩展功能用于它们的系统。但是,标准的SQL命令,比如“Select”、“Insert”、“Update”、“Delete”、“Create”和“Drop”常常被用于完成绝大多数数据库的操作。MSSQLServer就是用的Transact-SQL。SQL语言有着非常突出的优点,主要是:●非过程化语言●统一的语言●是所有关系数据库的公共语言SQL不要求用户指定对数据的存放方法,这种特性使用户更易集中精力于要得到的结果;所有SQL语句使用查询优化器,它是DBMS的一部分,由它决定对指定数据存取的最快速度的手段,查询优化器知道存在什么索引,在哪儿使用索引合适,而用户则从不需要知道表是否有索引、有什么类型的索引。统一的语言:SQL可用于所有用户的DB活动模型,包括系统管理员、数据库管理员、应用程序员、决策支持系统人员及许多其它类型的终端用户。SQL为许多任务提供了命令,其中包括:●查询数据●在表中插入、修改和删除记录●建立、修改和删除数据对象●控制对数据和数据对象的存取●保证数据库一致性和完整性SQL功能强大,是一种完备的数据处理语言,不仅用于数据库查询,而且用于数据库中的数据修改和更新,概括起来,它可以分成以下几组:数据定义语言DDL:它是用来创建和修改数据库结构的一种语句,包括Create、Alter和Drop语句。数据操作语言DML:包括数据查询与数据更新。数据更新所造成的风险大大超过数据查询。数据库管理系统必须在更改期内保护所存储的数据的一致性,确保有效的数据进入数据库,数据库必须保持一致性,DBMS还必须协调多用户的并行更新,以确保用户和它们的更改不至于影响其它用户的作业。数据控制语言DCL:用于定义数据库用户的权限。②新建一个数据库创建任何一个数据库的第一步是仔细的规划数据库,设计必须是灵活的、有逻辑的。创建一个数据库结构的过程被认为是数据模型设计。●标识需要的数据;●收集被标识的字段到表中;●标识主关键字字段;●绘制一个简单的数据图表;●规范数据;●标识指定字段的信息;●创建物理表。③修改已建的数据库数据库的修改分为:添加、编辑和删除记录。这三种操作均可由VisualBasic创建的程序来完成,下面的章节将详细描述实现的具体方法。④实现数据库之间的联系数据库之间的关系指明两个库之间共享一个共同的关键字值。一个连接是指一种虚拟的表,这种表是在当用户要求从相互关联的各个不同的表中获取信息时建立的,关键字段用于在相互连接的不同表中查找匹配的记录。一个更高级的连接形式称为自连接。这种连接是指一个表被连接到它自己的一个字段,或在不同的纪录中由重复数据的组合字段。数据库中有三种不同类型的关键字:主关键字、组合关键字和外关键字。在表中使用的关键字类型用于描述库表示什么以及在数据库中如何与其它的库建立关系。(4)VB与数据库的结合使用ODBC类,可以访问应用程序用户具有其ODBC驱动程序的任何本地或远程数据源。16位和32位的ODBC驱动程序都可用于广泛的数据源。连接到文件DSN时,使用“用于ODBC驱动程序的MicrosoftOLEDB提供程序”。通过使用编程方式操作连接到ODBC数据源。在VB中创建模块,担当本系统使用ODBC类访问SQLSever数据源的任务,也为调用数据做简化。DATA控件在数据库中的信息与将信息显示给用户看的VisualBasic程序之间架起了一座桥梁。我们可以设置DATA控件的各个属性,告诉它要调用那个数据库的哪个部分。缺省情况下,DATA控件根据数据库中的一个或多个数据表建立一个dynast-type(动态集合)类型的记录集合。一个记录集合是动态的也就意味着,当原来的数据表中的内容改变了以后,该记录集合中的记录也会随之改变。DATA控件还提供了用来浏览不同记录的各种跳转按钮。将DATA控件放置在窗体中之后,还必须在该控件与要处理的数据库之间建立联系。(5)开发环境①硬件环境内存,512M;CUP,AMD1700+;硬盘,80②操作系统MicrosoftWindowsXPProfessionalsp2③软件环境数据库:MicrosoftSQLServer2000开发工具:VisualBasic6.02.1.3管理可行性分析模块化的设计方法,有助于软件开发过程的管理,因为科学合理的将整个程序划分多个功能模块,各模块单独设计,有助于降低整个程序的设计难度及减少错误程序的影响范围,子模块易于实现,又使整个程序易于衔接和修改。2.2需求分析我们都知道,在各个行业里,顾客就是我们的上帝,是我们的衣食父母,是给我们发工资的人。所以,要想在所在领域有更大的发展,我们不但要不断地挖掘新客户,还要使老客户成为我们忠诚的客户,占领市场份额就是占领客户群体。客户资源对于我们来说是有钱买不到的,所以只有通过创新来抢这个资源。客户管理系统通过对客户类型管理、客户管理和提醒管理三个模块基本功能的实现,初步可以实现现代化的客户管理,将客户信息更好的掌握在我们的手里。2.2.1功能描述(1)客户类型管理客户类型的建立与维护,包括客户类型的新建、修改和删除等。(2)客户管理客户信息的输入,客户信息包括客户的基本信息、一般通讯方式及客户其他信息,如爱好、禁忌、生日等。客户信息的修改与删除,包括启动与取消客户的生日提醒等。根据不同条件查询客户,可以查看客户信息。与客户合作记录的信息维护,包括合作记录的添加、修改和删除等。客户评价管理,包括客户的重要度、友好度、满意度等的设定和查看。(3)提醒管理客户事件提醒,包括定时约会提醒和生日提醒两种。客户提醒信息维护,包括添加、修改和删除提醒信息。2.2.2系统数据流图根据以上分析,现以客户管理模块为例具体设计系统数据流图,如图2.1—2.2所示。客户所有信息客户所有信息客户所有信息用户0客户管理系统图2.1系统总体数据流图Fig2.1Systemoveralldataflowgraph客户信息客户信息客户信息用户0客户信息管理图2.2客户管理的总体数据流图Fig2.2Customermanagementoveralldataflowgraph客户信息查询条件客户信息查询条件客户信息客户信息客户信息客户信息客户信息用户1.0客户管理客户信息表2.0客户信息查询图2.3客户管理的零级图Fig2.3Customermanagementzerothorderchart添加信息添加信息2.1添加客户信息客户信息修改信息2.2修改客户信息客户信息删除信息2.3删除客户信息客户信息查询信息2.4查询客户信息客户信息图2.4客户管理的细节图Fig2.4Customermanagementdetailchart
第3章系统设计3.1系统结构设计和工作原理根据面向对象和三层结构的设计思想,可以得出如下系统结构设计图和工作原理。客户管理系统客户管理界面客户管理系统客户管理界面客户管理组件数据库客户类型相关界面客户信息相关界面合作信息相关界面提醒信息相关界面公共模块枚举定义类公共模块客户信息管理客户信息类客户信息集合类合作信息管理客户合作信息类合作信息集合类客户类型管理客户类型类客户类型集合类提醒信息管理提醒信息类提醒信息集合类图3.1系统结构设计图Fig3.1Designdrawingofthesystematicstructure返回查询结果返回查询结果组织SQL语句,查询数据库给出客户ID,要查看客户信息返回客户对象,内部有客户信息数据库客户管理组件客户管理系统操作界面图3.2工作原理图Fig3.2functionaldiagram3.2功能模块设计根据上一章的需求分析,可以将客户管理系统划分成客户类型管理、客户管理、提醒管理三个子模块,三个子模块下又设不同的细节功能模块。总体功能模块图如图3.3所示:客户类型管理模块客户类型管理模块提醒管理模块客户管理系统客户管理模块图3.3总体模块图Fig.3.3Overallmodulepicture3.2.1客户类型管理客户类型管理功能模块图如图3.4所示:添加客户类型添加客户类型删除客户类型客户类型管理修改客户类型图3.4客户类型管理功能模块图Fig.3.4Modulepictureoffunctionsofmanagementofcustomer'stype3.2.2客户管理客户管理功能模块图如图3.5所示:客户管理客户管理客户评价管理客户合作管理客户信息管理添加客户信息修改客户信息删除客户信息查看客户信息查找客户信息添加合作记录修改合作记录删除合作记录图3.5客户管理功能模块图Fig.3.5Modulepictureofcustomer'sfunctionsofmanagement3.2.3提醒管理提醒管理功能模块图如图3.6所示:添加定时管理添加定时管理修改定时管理删除定时管理查看定时管理提醒管理查看今日提醒提醒设置管理图3.6提醒管理功能模块图Fig.3.6Remindthemodulepictureofthefunctionsofmanagement3.3数据库设计数据库在一个信息管理系统中占有非常重要的地位,数据库结构设计的好坏将直接影响应用系统的效率及实现的效果。合理的数据库结构设计可以提高数据存储的效率,保证数据的完整性和一致性。通过对模块的详细调查,充分了解该系统的工作情况,明确用户的各种需求,确定了这个数据库系统的功能。该数据库系统的设计不仅适应当前的用户各方面的需求,更充分考虑了今后可能的扩充和改变。3.3.1数据库需求分析用户的需求具体体现在各种信息的提供、保存、更新和查询,这就要求数据库结构能充分满足各种信息的输出和输入。通过上述系统功能的分析,针对一般客户管理信息系统的需求,总结出如下的需求信息:●客户类型存在上下级关系。●客户必须属于一个客户类型。●如果一个客户类型存在客户,或存在下级客户类型,则该类型不可删除。●客户评价与客户一一对应。●客户合作信息必须与某一个客户相关。●提醒可以针对某个客户,也可以针对全部客户。●客户信息、合作信息、提醒信息要可以添加、修改、删除、浏览、查看。●客户可以按几种常用的信息查询。3.3.2数据库概念结构设计概念结构设计目的是设计出能够满足用户需求的各种实体,以及它们之间的关系,为后面的逻辑结构设计打下基础。这些实体包含各种具体信息,通过相互之间的作用形成数据的流动。经过调查研究、信息流程分析和数据收集,设计规划出的实体有:●客户类型信息实体。●客户信息实体。●提醒信息实体。●评价信息实体。●合作信息实体。每一个实体都是现实中实际存在的对象的抽象,每两个或两个以上的实体之间可能存在某种关系。各个实体具体描述的E—R图如下:客户类型客户类型提醒评价合作…合作信息合作编号合作时间满意度合作内容评价信息友好度友好度友好度…提醒信息提醒编号显示消息提醒显示时间提醒类型…客户客户喜好客户ID客户名称客户电话类型ID类型名称上级类型图3.5各实体之间关系的E—R图Fig.3.5E-Rpictureoftherelationbetweeneveryentity3.3.3数据库逻辑结构设计由于概念设计的结果是E—R图,DBMS一般采用关系型(MSSQLServer就是关系型的DBMS),因此数据库的逻辑设计过程就是把E—R图转化为关系模式的过程。由于关系模型所具有的优点,逻辑设计可以充分运用关系数据库规范化理论,使设计过程形式化地进行。设计结果是一组关系模式的定义。现需将上面的数据库概念结构转化为SQLServer2000数据库系统所支持的实际数据模型,也就是数据的逻辑结构。客户管理系统数据库中的各个表格的设计结果如下面表格所示。每个表格表示数据库中的一个表。表3.1为客户类型信息表。表3.1客户类型信息表(ClientType)Tab.3.1Customer'stypeinformationtable(ClientType)列名数据类型字段大小必添字段默认值说明TypeId自动编号长整型是递增,主键SuperId数字长整型是0上级类型IDTypeName文本20是“”客户类型名表3.2为客户信息表,因为与客户评价表主键相同,所以合并为一张表。表3.2客户信息表(ClientInfo)Tab.3.2Customer'sinformationtable(ClientInfo)列名数据类型字段大小必添字段默认值说明ClientId自动编号长整型是递增,主键Name文本20是0姓名Sex数字字节是0性别Age数字字节是#1980-1-1#年龄Birthday日期/时间短日期是“”生日OfficePhone文本15是“”办公室电话Mobile文本15是“”手机Fax文本15是“”传真HomePhome文本15是“”宅电Work文本50是“”职业Position文本30是“”职位Email文本20是“”邮件HomeAddress文本50是“”住址MailAddress文本50是“”通讯地址ZipCode文本8是“”邮编SelfSite文本30是“”个人网站Company文本50是“”就职单位CompanySite文本30是“”公司网站Likes备注是“未知”喜好Hate备注是“未知”厌恶TypeId数字长整型是0客户类型IDRemark备注是“”备注BirthdayWarn是/否是False是否启用生日提醒Importance数字整型是50重要度(0~255)Friendly数字整型是50友好度(0~255)Satisfaction数字整型是50满意度(0~255)表3.3为合作信息表。表3.3合作信息表(Cooperate)Tab.3.3Cooperativeinformationtable(Cooperate)列名数据类型字段大小必添字段默认值说明CooperateId自动编号长整型是递增,主键ClientId数字长整型是客户ID,外码Date日期/时间短日期是#1900-1-1#合作日期Satisfaction数字整型是50满意度(0~255)Remark备注是“”备注表3.4为提醒类型信息表。表3.4提醒类型信息表(WarnType)Tab.3.4Remindtheinformationtableofthetype(WarnType)列名数据类型字段大小必添字段默认值说明WTypeId自动编号字节是提醒类别编号WTypeName文本30是“定时提醒”提醒类别名称表3.5为提醒信息表。表3.5提醒信息表(Warning)Tab.3.5Remindtheinformationtable(Warning)列名数据类型字段大小必添字段默认值说明WarnId自动编号长整型是递增,主键ClientId数字长整型是0客户ID,为0时表示全体客户ShowDate日期/时间短日期是#1900-1-1#提醒显示日期TypeId数字字节是1提醒类型ID,外码Msg备注是“”提醒消息3.4详细功能设计在客户类型管理、客户管理和提醒管理这几大模块中,主要操作有:对客户类型的添加、修改、删除;对客户信息、客户评价、合作信息的维护与管理;提醒的设置和查看等。现就这几大模块的具体功能进行说明。3.4.1客户类型管理客户类型管理模块中设有添加客户类型、修改客户类型和删除客户类型三个基本功能,可对客户类型进行相应管理。在添加客户类型时,用户可以按照客户的不同类型进行逐级分类,在系统中形成类似资源管理器的树型结构,客户类型关系清晰明了、便于管理。同时,还可以对已划分的客户类型进行添加、修改和删除等基本操作。3.4.2客户管理客户管理模包含客户信息管理、客户评价管理、客户合作管理,主要完成添加客户、修改客户、删除客户、查找客户和查看客户详细信息等功能。(1)添加客户在选定客户类型后添加客户,就可以在该客户类型下增加一个客户,在添加客户时必须对姓名、性别等用户的基本信息进行填写,否则系统将进行相应提醒,客户无法成功添加。用户在添加客户过程中也可对客户的其他信息、合作记录、客户评价等信息进行详细填写,以便日后查阅。(2)修改客户用户在添加客户后,可以对系统中已存在的客户进行客户信息的修改,在一些发生变化的信息或添加客户时暂空的信息进行更正和补充;当用户和客户长期合作后,对客户的评价避免不了会发生变化,在合作过程中也会增加合作信息的写入,这些动作的完成都需要在这里进行。(3)删除客户当一些客户因业务变化或长期失去联系等种种原因终止客户业务关系时,为避免给系统带来过大压力,同时方便用户对客户的管理,用户可通过删除客户将这些没有业务联系的客户从系统中删除。(4)查找客户用户可以使用查找客户通过客户姓名和客户类型对客户进行查找,寻找到与当前业务相关的客户进行查看和联系。(5)查看客户详细信息用户可以使用查看客户详细信息,通过查看客户评价、合作信息、客户基本信息等,分析、寻找与当前业务最适合的客户,确保业务顺利进行。3.4.3提醒管理提醒管理模块包括查看今日提醒和提醒设置管理,可以对定时提醒进行设置和管理。当用户启动客户管理系统时,“今日提醒”将自动弹出,提醒用户今天与某客户的相关信息。在添加客户基本信息时,可设置对当前客户是否进行生日提醒,如果选中该复选框,此客户生日这天系统将弹出提醒信息。
第4章系统实现4.1程序设计本系统中大部分的操作功能都可以通过菜单和工具条两种操作途径来实现,为了保证代码的一致性,将这些功能单独做成各自的一个过程,然后在菜单和工具条的事件处理中调用此过程,实现功能。这样既减少了编码工作量,又提高了程序的可维护性。4.1.1系统登录用户可以通过图4.1的系统登录界面进入到客户管理系统的主页面,如输入用户名、密码错误,系统会发出错误提示信息。具体实现的数据流程图如图4.2。图4.1系统登录界面Fig4.1Thesystemregistersthecontactsurface4.1.2客户类型信息管理模块客户类型管理模块的功能由CType和CTypes两个类来实现,客户类型信息类CType用来处理单个客户类型的信息,完成客户类型操作的基本功能,如添加、修改、删除等;客户类型信息集合类CTypes用来处理多个客户类型的信息,其最小的单元是CType,它完成与一组客户类型信息相关的操作,实现查找功能。客户类型信息使用树形控件显示在主窗体的左侧,客户类型信息录入只涉及客户类型的名称,所以使用InputBox来实现。 否否是开始进入登录界面输入用户名、密码判断是否正确?进入系统主页面错误提示信息今日提醒结束图4.2系统登录程序流程图Fig4.2Thesystemregisterstheprogramflowdiagram(1)添加客户类型。输入客户类型名称,获取选中的客户类型ID,将输入的客户类型作为当前选中的子类型,调用CType.AddNew,显示操作结果。程序流程图如图4.3所示。否否是开始输入客户类型名称获取选中的客户类型ID输入类型名称合法?将输入的客户类型作为当前选中的子类型更新数据库结束错误提示信息图4.3添加客户类型程序流程图Fig4.3Addcustomer'stypeprocedureflowchart(2)修改客户类型信息获取选中的客户类型,显示修改界面,调用CType.Update方法,显示结果。程序流程图如图4.4。(3)删除客户类型信息提示确认,获取选中的客户类型,调用CType.Delete方法,显示结果。程序流程图如图4.5。结束否结束否是开始获取选中客户类型确认删除?更新数据库图4.5删除客户类型程序流程图Fig4.5Deletecustomer'stypeprocedureflowchart结束否是开始修改客户类型信息获取选中客户类型确认修改?更新数据库图4.4修改客户类型程序流程图Fig4.4Revisecustomer'stypeprocedureflowchart4.1.3客户信息管理模块客户信息管理模块的功能由CClient和CClients两个类实现:客户信息类CClient用来具体处理单个客户的信息,完成客户信息的基本操作功能,如添加、修改、删除等,是事物处理中的核心与焦点;客户信息集合类CClients用来具体处理多个客户的信息,其中最小的单元是CClient,它完成与一组客户信息相关的操作,实现查找功能。客户信息管理中,客户信息的添加、修改、查看都需要新的窗口来支持,该窗体的设计如图4.6所示。图4.6客户信息管理界面Fig4.6Customer'sinformationmanagementinterface(1)添加客户信息。调用客户信息管理窗体frmClient,接收用户输入信息,调用CClient.AddNew方法,显示操作结果。其具体实现的程序流程与添加客户类型信息大致相同。(2)修改客户信息。获取选中的客户信息,调用添加客户信息对话框frmClient显示数据,接收用户输入,调用CClient.Update方法,显示操作结果。其具体实现的程序流程与修改客户类型信息大致相同。(3)删除用户。提示确认,获取选中的客户信息,调用CClient.Delete方法,显示结果。其具体实现的程序流程与删除客户类型信息大致相同。(4)查找客户。查找客户对话框设计界面如图4.2所示。图4.7查找客户界面Fig4.7Lookforcustomer'sinterface调用查找客户对话框frmSearch,取得查找条件,调用CClient.Find方法,显示结果。否否是开始输入查询条件条件合法?生成SQL语句,查询数据库输出结果结束错误提示信息图4.8查找客户程序流程图Fig4.8Lookforcustomer'sprocedureflowchart(5)查看客户信息。获取选中的客户信息,调用添加客户信息窗体frmClient显示数据,如果转到了修改状态则调用CClient.Update方法,显示结果。其具体实现的程序流程与查找客户大致相同。4.1.3客户合作信息管理模块客户业务合作信息管理模块的功能由CCooperate和CCooperates两个类来实现:业务合作信息类CCooperate用来具体处理单条合作信息,完成合作信息的基本操作功能,如添加、修改、删除等;合作信息集合类CCooperates用来处理多条合作信息,其中最小的单元是CCooperate,它完成与一组客户信息相关的操作,实现查找功能。客户合作信息是与客户密切关联的,客户合作信息管理模块部分融入到了客户信息管理模块中,因为本系统的设计思想就是以客户信息为核心。前面客户信息管理窗体的设计过程中,已经完成了合作记录属性页的设计,如图4.3。该模块的各个功能实现的程序流程与前两个模块中的相应功能实现的程序流程基本相同。图4.9客户信息管理界面(合作记录)Fig4.9Customer'sinformationmanagementinterface(cooperativerecord)(1)添加合作信息。设计一个添加合作信息对话框,如图4.4所示。图4.10添加合作信息界面Fig4.10Addthecooperativeinformationinterface调用添加合作信息对话框frmAddCoop,接收用户输入的信息,调用CCooperate.AddNew方法,显示结果。(2)修改合作信息。获取选中元素,调用添加合作信息对话框frmAddCoop显示数据,接收用户输入,调用CCooperate.Update方法,显示操作结果。(3)删除合作信息。提示确认,获取选中的合作信息,调用CCooperate.Delete方法,显示结果。(4)查看合作信息。获取选中元素,调用添加合作信息对话框frmAddCoop显示数据,如果转入了修改状态则调用CCooperate.Update方法,显示结果。4.1.4客户提醒信息管理模块客户提醒信息管理模块的功能由CWarning和CWarnings两个类来实现:客户提醒信息类CWarning用来处理单条提醒信息,完成提醒信息的基本操作功能,如添加、修改、删除等;提醒信息集合类CWarnings用来具体处理多条提醒信息,其中最小的单元是CWarning,它完成与一组提醒信息相关的操作,实现查找功能。客户提醒是与客户密切关联的,添加与删除客户生日提醒是在客户信息管理中完成的,这里主要完成定时提醒的各种操作。此模块的实现原理和方法与合作信息管理完全一致,程序流程和代码的结构与实现也完全相同,在此就不做反复介绍了。添加定时提醒对话框设计界面如图4.4所示。图4.11添加定时提醒界面Fig4.11Addandremindinterfacesregularly4.2数据库操作技术实现为连接数据库及相关的初始化操作,同时存放在对数据库的操作过程中可能用到的一些公共函数,在工程中建立了mdlPublic模块。其中ConnectToDatabase函数与数据库建立连接,具体实现如图4.12所示程序流程图。4.3功能测试软件测试是软件开发生命周期中非常重要的环节。在开发大型软件系统的过程中,面对着极其错综复杂的问题,人的主观认识不可能完全符合客观现实,与工程密切相关的各类人员的通信和配合也不能完美无缺,因此,在软件生命的每个阶段都不可避免的会产生差错。我们要在每个阶段结束之前通过严格的审查,尽可能早地发现并纠正差错。如果我们已经知道了产品应该具有的功能,可以通过测试来检查是否每个功能都能正常运行。否否否否是结束是是找到数据源?调用ConnectToDatabase函数连接数据库找到表?操作数据库返回结果集?关闭数据库开始错误提示信息错误提示信息错误提示信息图4.12连接数据库程序流程图Fig4.12Jointhedatabaseprocedureflowchart4.3.1软件测试的方法软件测试有黑盒法和白盒法两种方法如果知道了系统应该具有的功能,可以通过测试来检测是否每个功能都能实现,这种测试方法叫做黑盒测试法;如果知道产品的内部工作过程,可以通过测试来检验是否按照规格说明说的规定正常运行,这个方法叫白盒测试法。对于软件而言,黑盒测试法是把程序看成一个黑盒子,完全不考虑程序的内部结构和处理过程。也就是说黑盒测试是在程序的接口进行测试,它只检查程序的功能是否按照规格说明说的说明正常运行,程序是否能恰当的接受输入数据,产生正确的输出信息,并且保持外部信息的完整性。黑盒测试又称为功能测试。与黑盒测试法相反,白盒测试法是把程序看成是装在一个透明的白盒子里。也就是完全了解程序的结构和处理过程,这种方法按照程序内部的逻辑测试程序,检验程序中的每条通路是否能按预定的要求正确工作,白盒测试又称为结构测试。粗看起来,不论采用上述那种测试方法,只要对每一种可能的情况都进行测试,就可以得到完全正确的程序。包含所有可能情况的测试成为穷尽测试,对于实际程序而言,穷尽测试通常是不可能做到的。使用黑盒测试法为了做到穷尽测试,至少对所有输入数据的各种可能值的排列组合都进行测试,但是,由此得到的应该测试的情况,数字往往达到实际上根本无法测试的程度。实践表明,用无效的输入数据比有效的输入数据进行测试往往能发现更多的错误。使用白盒测试法和使用黑盒测试法一样也不可能做到穷尽测试。因为不能做到穷尽测试,所以软件测试不可能发现程序中的所有错误。也就是所通过测试并不能证明程序是完全正确的。但是,我们的目的是要通过测试保证软件爱你的可靠性,因此,必须仔细设计测试方案,力争用尽可能少的测试发现尽可能多的错误。4.3.2软件测试的步骤从测试实际的前后过程来看,软件测试是由一系列的不同测试所组成,这些软件测试的步骤分为:单元测试、组装测试(集成测试)、确认测试和系统测试。软件开发的过程是自顶向下的,测试则正好相反,是自底向上,逐步集成的。单元测试(模块测试):针对每个模块进行的测试,可从程序的内部结构出发设计测试用例,多个模块可以平行地对立地测试。通常在编码阶段进行。
集成测试:在单元测试的基础上,将所有模块按照设计要求组装成为系统,必须精心计划,应提交集成测试计划、集成测试规格说明和集成测试分析报告。
确认测试:验证软件的功能和性能及其它特性是否与用户的要求一致。
系统测试:将软件放在整个计算机环境下,包括软硬件平台、某些支持软件、数据和人员等,在实际运行环境下进行一系列的测试。4.3.3对本系统的测试对于这个系统来说,要在完成系统的每个模块后就进行功能测试,经过详细的设计,我们早已知道了各个模块需要完成的功能,所以就先要进行各个模块的测试,再把各模块放在一起进行整体测试。在完成了模块的编码设计后,及时地对其进行测试,这样保证了整个系统的正常运行,这里举例说明模块测试。(1)系统登录用户登录时进入如下界面:图4.6登录界面Fig4.6Log-i
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 食用油购销合同模板版
- 电池批发购销合同
- 绿植维护安装合同
- 垫资还款协议范本
- 2024解除、终止劳动合同协议书
- 冲突管理与处理技巧培训考核试卷
- 信息系统的数字金融与金融科技考核试卷
- 光学仪器的激光晶体技术原理与应用考核试卷
- 橡胶制品行业生态循环经济考核试卷
- 消防挂靠协议合同模板
- 医疗器械质量安全风险会商管理制度
- 监控工程验收单-范本模板
- 实验室仪器设备管理培训课件
- GB/T 21837-2023铁磁性钢丝绳电磁检测方法
- 高中地理地理核心素养与深度教学课件
- 维克多高中英语3500词汇
- 西南石油大学 《油藏工程》教学提纲+复习提纲)PPT精品文档
- 莫迪温产品介绍
- 重庆市计量检定收费标准
- 中国早产儿视网膜病变筛查指南(2014年)版
- 话剧《阮玲玉》
评论
0/150
提交评论