• 573.50 KB
  • 2022-04-22 13:41:46 发布

Web平台的客户管理系统毕业论文.doc

  • 40页
  • 当前文档由用户上传发布,收益归属用户
  1. 1、本文档共5页,可阅读全部内容。
  2. 2、本文档内容版权归属内容提供方,所产生的收益全部归内容提供方所有。如果您对本文有版权争议,可选择认领,认领后既往收益都归您。
  3. 3、本文档由用户上传,本站不保证质量和数量令人满意,可能有诸多瑕疵,付费之前,请仔细先通过免费阅读内容等途径辨别内容交易风险。如存在严重挂羊头卖狗肉之情形,可联系本站下载客服投诉处理。
  4. 文档侵权举报电话:19940600175。
'目录Web平台的客户管理系统毕业论文目录摘要IABSTRACTII第一章绪论-1-1.1课题简介-1-1.2本课题主要研究内容-2-1.3本课题研究的目标及主要特色-2-1.3.1研究目标-2-1.3.2主要特点-2-第二章主要技术分析-4-2.1SQLServer2005-4-2.2.NET技术-4-2.3C#技术-4-2.4ADO.NET技术-5-2.5B/S结构技术发展简述-5-第三章系统设计-7-3.1可行性研究-7-3.1.1经济可行性-7-3.1.2技术可行性-7-3.1.3运行可行性-8-3.1.4时间可行性-8-3.1.5法律可行性-8-3.2需求分析-8-3.2.1系统需求-8-3.2.2性能需求-8-3.2.3应用需求分析-9-3.2.4运行需求分析-9-3.2.5其他需求分析-9-第四章数据分析-10-4.1数据流分析-10--5- 目录4.2数据字典-11-4.2.1海天教育集团客户管理系统的数据字典-11-4.2.1.1数据字典列表——数据流-11-4.2.1.2数据字典列表——数据处理-11-4.3海天教育集团客户管理系统的数据项-13-第五章数据库设计-15-5.1数据库需求分析-15-5.2数据库概念结构设计-15-5.3数据库逻辑结构设计-18-第六章详细设计-20-6.1系统登录设计-20-6.2用户管理-22-6.3客户管理-29-6.4产品管理-29-6.5销售订单管理-30-6.6订单明细管理-31-第七章系统的调试与测试-33-7.1测试概述-33-7.1.1软件测试的目的-33-7.1.2软件测试的任务-33-7.1.3测试环境-33-7.2单元测试-34-7.2.1黑盒测试-34-7.2.2白盒测试-34-7.2.3模块接口测试-34-7.3.1自顶向下集成-35-7.3.2确认测试标准-35-总结-36-参考文献-37-致谢-38--5- 目录第一章绪论1.1课题简介对于基于Web平台的客户管理系统,存在着一个前台应用和后台管理的问题。而无论前台还是后台,都要对数据库进行调用和操作。因此如何创建网络数据库,以及客户端如何调用服务器端的数据库成为实现网上客户管理的一个关键性问题。计算机技术的发展与普及,已经改变了我们的生活方式,计算机应用已逐渐渗透到社会发展的各个领域。随着计算机技术和通信技术的迅猛发展,社会资源的信息化、数据的分布处理、各种计算机资源共享等应用需求推动计算机技术朝着群体化方向发展,促使计算机技术与通信技术紧密结合。Internet是目前世界上覆盖范围最大的计算机网络群体。Internet是在通信网络的基础上,以TCP/IP协议为基准、以域名地址和IP地址为标识、以网关和路由器为转换协议工具构成的网络的集合。Internet实质上是由遍布全球的各种计算机网络互连而形成的网络。Internet的出现不仅使得通信和资源共享的地理范围扩展至全球,而且随着其服务内容和应用领域的拓宽,正在改变人们的时空观。以微电子、计算机、通信和网络技术为代表的现代信息技术在经济领域的广泛应用,使得交易成本急剧下降,从而导致信息替代了资本在经济发展中的主导地位。作为重要的生产要素和战略资源,通过互联网传递的大量信息使得现有的社会资源获得高效配置,社会劳动生产率大幅度提高,并推动经济结构革新和产业结构的升级。CRM的目标是一方面通过提供更快速和周到的优质服务吸引和保持更多的客户;另一方面通过对业务流程的全面管理减低企业的成本。设计完善的CRM解决方案可以帮助企业在拓展新收入来源的同时,改进与现有客户的交流方式。据国际CRM论坛统计,国际上成功的CRM实施,能给相应的企业每年带来6%的市场份额增长;提高9%~10%的基本服务收费;并超过服务水平低的企业2倍的发展速度。CRM的发展取决于市场和企业应用两方面,对CRM发展产生影响的主要因素有:市场竞争环境的变化;WTO对市场的影响;政府改革的推进和政府在信息化方面的政策;企业内部管理信息化的成熟;有竞争力的专业厂商参与的程度;产品的完善;已有客户的应用产品;社会舆论导向。在短短几年的时间里,CRM在中国的发展非常迅猛。通过已实施CRM系统的企业成功经验,为CRM产业的发展提供了有价值的借鉴的发展基础。-5- 第一章绪论1.2本课题主要研究内容海天教育集团客户管理系统侧重客户关系和团队管理。包括客户、联系人、订单信息、销售订单、客户服务、销售统计等功能模块,互联网、局域网皆可使用。采用MSSQLServer数据库。CRM(CustomerRelationshipManagement)是一个获取、保持和增加可获利客户的方法和过程。CRM既是一种崭新的、国际领先的、以客户为中心企业管理理论、商业理念和商业运作模式,也是一种以信息技术为手段、有效提高企业收益、客户满意度、雇员生产力的具体软件和实现方法。海天教育集团涉及考研、四六级、职业规划、执业医师、公务员考试、司法考试等各种培训。因为客户遍布各行各业,所以有必要进行系统化的管理以及更好的服务。根据对考研单项的仔细研究发现,建立一个关于海天教育集团的客户管理系统,主要是对客户的信息已经客户订单信息进行管理。1.3本课题研究的目标及主要特色1.3.1研究目标企业是一个生产、管理的集散地,生产资料和企业客户资料繁多,包含很多信息数据的管理。在过去的企业中用书面管理信息,在修改、查询、添加企业客户信息方面都没有很好的发挥它的效益,企业客户资料管理复杂、工作量大比较突出,不能利用多种途径查询企业客户资料,修改后不能同步更改所有档案资料。这就是企业客户管理系统开发的基本环境。设计处理查询方式单一,添加不能与统计同步,出错率高,出错后不易更改。由于信息比较多,企业客户信息管理比较混乱;一般客户情况是记录的,资料的数目和内容记录在文件中,资料室的工作人员和管理人员也只能当时比较清楚,时间一长,如再有进行查询,查找了造成查询费时,费力。如果对很长时间以前的资料进行更改就更加困难了。基于此类问题,我认为有必要建立一个企业客户管理系统,使资料管理工作规范化,程序化,避免资料管理随意性,提高信息处理的速度和准确性,能够及时、准确、有效的查询、修改和保存资料情况。1.3.2主要特点A.操作简单,方便,对于客户关系能够直观的表现。B.界面设计美观友好,信息查询灵活、方便、快捷、准确,数据存储安全可靠。C.增加了管理员的操作权限,能够实现不同的身份的人的各种操作。-5- 第一章绪论D.利用了微软为.net量身定做的语言c#。-5- 第二章主要技术分析第二章主要技术分析2.1SQLServer2005SQL(StructuredQueryLanguage)是使用关系模型的数据库语言,用于实现与各类数据库连接,提供通用的数据管理和查询功能。SQLServer2005具有较好的可伸缩性和可靠性,提供了以Web标准为基础的扩展数据库编程功能,可以满足电子商务和企业应用程序的要求。SQLServer2005支持XML和Internet标准,具有基于Web的分析能力,允许使用内置的存储过程以XML格式存储、更新、删除、检索数据。SQLServer2005不仅能作为一个功能强大的数据库服务器有效地工作,而且数据库引擎也用在需要在客户端本地存储独立数据库的应用程序中。SQLServer2005可以动态地将自身配置成能有效地使用客户端桌面或膝上型电脑中的可用资源,而不需要为每个客户端专设一个数据库管理员。应用程序供应商还可以将SQLServer2005作为应用程序的数据存储组件嵌入到应用程序中。SQLServer在网络组件的顶部添加了服务器特有的中介组件,诸如开放式数据库连接(ODBC)后能使不同客户机进行相互连接,它可处理基于Internet的应用程序,帮助用户把SQLServer数据库信息集成到Web页面。2.2.NET技术Microsoft.NET是Microsoft.NETXMLWebServices平台。XMLWebServices允许应用程序通过Internet进行通讯和共享数据,而不管采用的是哪种操作系统,设备或编程语言。Microsoft.NET平台提供XMLWebServices并将这些服务集成在一起,为个人用户的好处是无缝的,吸引人的体验。.NET系统包括一个相当广泛的产品家族,它们构建于XML语言和Internet产业标准之上,为用户提供Web服务的开发、管理和应用环境。2.3C#技术Csharp(音标[∫a:p])(又被简称为"C#")是微软公司在2000年6月发布的一种新的编程语言,并定于在微软职业开发者论坛(PDC)上登台亮相。C#是微软公司研究员AndersHejlsberg的最新成果。C#看起来与Java有着惊人的相似;它包括了诸如单一继承、界面、与Java几乎同样的语法,和编译成中间代码再运行的过程。但是C#与Java有着明显的不同,它借鉴了Delphi的一个特点,与COM(组件对象模型)是直接集成的,而且它是微软公司.NETwindows网络框架的主角。-5- 第二章主要技术分析最重要的是,C#使得C++程序员可以高效的开发程序,而绝不损失C/C++原有的强大的功能。因为这种继承关系,C#与C/C++具有极大的相似性,熟悉类似语言的开发者可以很快的转向C#。2.4ADO.NET技术ADO.NET提供了平台互用性和可伸缩的数据访问。ADO.NET增强了对非连接编程模式的支持,并支持RICHXML。由于传送的数据都是XML格式的,因此任何能够读取XML格式的应用程序都可以进行数据处理。事实上,接受数据的组件不一定要是ADO.NET组件,它可以是基于一个MicrosoftVisualStudio的解决方案,也可以是任何运行在其它平台上的任何应用程序。ADO.NET是一组用于和数据源进行交互的面向对象类库。通常情况下,数据源是数据库,但它同样也能够是文本文件、Excel表格或者XML文件。ADO.NET提供与数据源进行交互的相关的公共方法,但是对于不同的数据源采用一组不同的类库。这些类库称为DataProviders,并且通常是以与之交互的协议和数据源的类型来命名的。2.5B/S结构技术发展简述B/S结构(Browser/Server结构)结构即浏览器和服务器结构。它是随着Internet技术的兴起,对C/S结构的一种变化或者改进的结构。在这种结构下,用户工作界面是通过WWW浏览器来实现,极少部分事务逻辑在前端(Browser)实现,但是主要事务逻辑在服务器端(Server)实现,形成所谓三层3-tier结构。这样就大大简化了客户端电脑载荷,减轻了系统维护与升级的成本和工作量,降低了用户的总体成本(TCO)。以目前的技术看,局域网建立B/S结构的网络应用,并通过Internet/Intranet模式下数据库应用,相对易于把握、成本也是较低的。它是一次性到位的开发,能实现不同的人员,从不同的地点,以不同的接入方式(比如LAN,WAN,Internet/Intranet等)访问和操作共同的数据库;它能有效地保护数据平台和管理访问权限,服务器数据库也很安全。特别是在JAVA这样的跨平台语言出现之后,B/S架构管理软件更是方便、速度快、效果优。这样就大大简化了客户端电脑载荷,减轻了系统维护与升级的成本和工作量,降低了用户的总体成本(TCO)。以目前的技术看,局域网建立B/S结构的网络应用,并通过Internet/Intranet模式下数据库应用,相对易于把握、成本也是较低的。它是一次性到位的开发,能实现不同的人员,从不同的地点,以不同的接入方式(比如LAN,WAN,Internet/Intranet等)访问和操作共同的数据库;它能有效地保护数据平台和管理访问权限。B/S结构的优点:-5- 第二章主要技术分析  (1)具有分布性特点,可以随时随地进行查询、浏览等业务处理;  (2)业务扩展简单方便,通过增加网页即可增加服务器功能;  (3)维护简单方便,只需要改变网页,即可实现所有用户的同步更新;(4)开发简单,共享性强。-5-第二章主要技术分析-5-第三章系统设计-38- 第三章系统设计第三章系统设计本系统主要是针对客户销售订单信息进行管理,本系统满足以下几点要求:(1)系统安全性。由于该系统的使用对象多,要求有较好的权限管理。不同权限进入不同的界面,为了防止数据的并发现象的出现,数据的编辑必须由合法用户来操作,并对每个课程的信息进行良好的保密。(2)系统内容的全面性。客户信息管理系统不仅是对客户的基本信息进行管理,还包过订单信息管理,销售统计管理等,因此,本系统能够很好的满足企业对客户的信息进行完善、统一的管理。(3)系统灵活性。要求有良好的人机界面,操作简单(数据的添加、删除、修改、查询等方便快捷)。(4)可扩展性。站点的数据承载量、功能模块的单个或整体调整都可以满足变化的需要,这种适应性称为可扩展性。客户管理系统的可扩展性,体现在不同用户群需要处理不同类型的数据、数据与用户之间进行交互、数据要符合个用户的使用需求、多表查询系统化、避免性能下降等方面。(5)易维护性。本系统采用B/S结构,系统的升级只需要在服务器端完成,更新软件系统的数据库、文件也只需要更新服务器端即可。在进行系统的维护时,只需要远程登录服务器系统,减少了维护系统的成本和周期。3.1可行性研究该阶段通过对系统目标的初步调研和分析,提出可行性方案并进行论证。我们在这里主要从技术可行性、经济可行性和操作可行性等方面进行分析。3.1.1经济可行性开发该系统所需的相关资料可以通过已存在的相关系统进行调查采集,所需的其他应用软件、硬件系统也易于获得.因此,开发成本较低。而引进使用本系统后,与传统方式相比,具有高效率、低成本、高质量的特点,可以节省不少人力、物力及财力。所以,从经济的角度来看,该系统可行。3.1.2技术可行性技术可行性要考虑现有的技术条件是否能够顺利完成开发工作,软硬件配置是否满足开发的需求等。本系统用的是VS2005开发语言,调试相对简单,当前的计算机硬件配置也完全能满足开发的需求,因此在技术上是绝对可行的。软件方面:由于目前单机模式相对发展成熟,故软件的开发平台成熟可行,它们速度快、容量大、可靠性能高、价格低,完全能满足系统的需求。-38- 第三章系统设计本系统的开发,是典型的Mis开发。采用VS2005c#语言,已无技术上的问题。3.1.3运行可行性运行可行性是对组织结构的影响,现有人员和机构和环境对系统的适应性及人员培训补充计划的可行性。当前信息化技术已经相当普及,各类操作人员水平都有相当的高度,所以在运行上是可行性的。3.1.4时间可行性从时间上看,在两个月的时间里学习相关知识,并开发系统,时间上是有点紧,但是不是不可能实现,通过两个多月的努力功能基本实现。3.1.5法律可行性(1)所有技术资料都为合法;(2)开发过程中不存在知识产权问题;(3)未抄袭任何系统,不存在侵犯版权问题;(4)开发过程中未涉及任何法律责任。综上所述,本系统的开发从技术上、从经济上、从法律上等都是完全可靠的。3.2需求分析需求分析是软件设计的一个重要的环节。本阶段对客户管理系统的应用情况作全面调查,以确定系统目标。确定用户的需求。用户对系统的需求我们从以下几方面进行分析。3.2.1系统需求用VS2005开发客户管理系统基于B/S模式,系统软件和数据集中存放于服务器中,软件的安装与升级在服务器上进行。所有的工作基于浏览器,安装、使用、维护、升级十分简单。3.2.2性能需求为了保证系统能够长期、安全、稳定、可靠、高效的运行。系统处理的准确性和及时性是系统的必要性能。由于本系统的添加功能对于整个系统的功能和性能完成举足轻重。作为系统的很多数据来源,其准确性和及时性很大程度上决定了系统的成败。在系统开发过程中,必须采用一定的方法保证系统的准确性和及时性。-38- 第三章系统设计3.2.3应用需求分析服务器硬件处理器:Intel酷睿2内存:256M或更大硬盘:20G或更大软件MicrosoftWindowsXP客户机硬件无特殊要求软件MicrosoftWindowsXP系统的性能要求通常指系统需要的存储容量以及后援存储,重新启动和安全性,运行效率等方面的考虑。硬件系统环境:C600、1GMB(RAM)、500MB(HD)。系统运行时对数据的保密性要求不高对一般的数据不要求进行加密。此外,对其它软件几乎没有依赖性,程序健壮性较好。3.2.4运行需求分析硬件条件:酷睿2CPU、1GRAM、80G硬盘以上的PC机。软件条件:WindowsXP3.2.5其他需求分析本系统有较好的可维护性、可靠性、可理解性、效率。易于用户理解和操作。可维护性包括了可读性、可修改性、可测试性、等含义。可靠性通常包括正确性和健壮性。开发过程中,在各种矛盾的目标之间作权衡,并在一定的限制的条件下(经费、时间、可用的软、硬件资源等),使上述各方面最大限度的得到满足。-38-第四章数据分析-38- 第四章数据分析第四章数据分析4.1数据流分析数据流程分析主要包括对信息的流动、传递、处理、存储等的分析。数据流程分析的目的就是要发现和解决数据流通中的问题。现有的数据流程分析多是通过分层的数据流程图(dataflowdiagram,简称DFD)来实现的。其具体的做法是:按业务流程图理出的业务流程顺序,将相应调查过程中所掌握的数据处理过程,绘制成一套完整的数据流程图。海天教育集团客户管理系统的数据流程:对本系统操作的数据源有普通用户、管理员,销售人员三种,首先由系统管理员根据不同用户的需要将某些信息保存到数据库中,然后再进行发布。不同权限的用户可以对这些库信息进行添加、修改和删除处理。所有用户均可以进行信息查询。通过对本系统的需求分析,系统的基本功能已经确定。整个系统的数据流程图如4-1:进入系统登录界面用户信息客户信息销售订单订单明细产品销售统计客户服务用户登录操作页面Database注销登录图4-1系统数据流程图-38- 第四章数据分析4.2数据字典数据字典是关于数据的信息的集合,也就是对数据流图中包含的所有元素的定义的集合。数据流图和数据字典共同构成系统的逻辑模型。4.2.1海天教育集团客户管理系统的数据字典4.2.1.1数据字典列表——数据流数据存储名称:用户信息数据来源:用户信息表数据去向:用户登陆模块数据组成:用户信息=用户帐号+用户姓名+用户密码描述:存储了用户的基本信息数据存储名称:客户信息数据来源:客户信息表数据去向:客户信息模块数据组成:客户编号+姓名+E-mail+联系电话+描述:存储了用户信息数据存储名称:产品信息数据来源:产品信息表数据去向:产品信息模块数据组成:产品信息=产品编号+产品类型编号+产品名称+产品说明描述:存储了出售的产品信息数据存储名称:订单详细信息数据来源:订单详细信息表数据去向:订单详细信息模块数据组成:订单详细信息=订单详细信息唯一标识+订单列表ID+产品ID+产品名称+产品单价+描述:存储了订单详细信息数据存储名称:订单列表信息数据来源:订单列表信息表数据去向:订单列表信息模块数据组成-38- 第四章数据分析:订单列表信息=订单列表编号+会员ID+客户姓名+下单时间+处理状态+完单日期+描述:存储了订单详细信息数据存储名称:客户服务数据来源:客户服务表数据去向:客户服务模块数据组成:客户服务=客户号+订单号+客户请求描述:存储了客户服务信息4.2.1.2数据字典列表——数据处理描述:用户登录系统进行用户登录管理输入:用户的用户名、密码过程:判断是否为合法的用户输出:系统主界面名称:查询信息描述:根据条件查询所需信息:产品信息输入:输入查询的条件过程:查询系统的用户所需的信息输出:查询得到的信息页面名字:录入信息描述:客户信息,产品信息等的录入输入:输入要添加录入的信息过程:将需要添加录入的信息加入数据库中输出:系统新的信息表页面输出:查询得到的信息页面-38- 第四章数据分析名字:修改、删除信息描述:对客户信息,产品信息等修改或删除后存入数据库中输入:输入要修改或删除的信息过程:对需要修改的信息做修改、删除过时的信息输出:系统新的信息表页面输出:查询得到的信息页面3.数据字典列表——数据存储名字:数据库信息别名:无描述:存储了数据库的基本信息数据组成:数据库信息=产品信息+用户信息+客户信息+订单信息+客户服务信息位置:数据库输出:查询得到的信息页面4.3海天教育集团客户管理系统的数据项用户数据项:名称:用户帐号简述:有各种权限的管理员数据类型:文本字段大小:20名称:用户密码简述:每个用户所对应的密码数据类型:文本字段大小:20客户数据项:名称:姓名简述:客户的名字信息数据类型:文本字段大小:20产品数据项:名称:产品类型编号简述:产品类型的编号数据类型:数字字段大小:长整型名称:产品编号简述:发布产品的编号数据类型:自动编号字段大小:长整型名称:产品名称简述:产品的名称数据类型:文本字段大小:30名称:产品ID简述:产品的唯一标识数据类型:数字字段大小:长整型订单数据项-38- 第四章数据分析名称:客户ID简述:客户的唯一标识数据类型:文本字段大小:20名称:订单ID简述:订单列表编号数据类型:自动编号字段大小:长整型订单列表数据项-38-第五章数据库设计名称:订单状态简述:订单完成程度数据类型:文本字段大小:100名称:订单时间简述:客户下单的时间数据类型:日期/时间字段大小:字节常见问题数据项名称:问题ID简述:问题的编号数据类型:自动编号字段大小:长整型名称:标题简述:问题的标题数据类型:文本字段大小:100-38- 第五章数据库设计第五章数据库设计5.1数据库需求分析用户的需求具体体现在各种信息的提供、保存、更新和查询方面,这就要求数据库结构能充分满足各种信息的输入和输出。收集基本数据、数据结构及数据处理的流程,组成一份详尽的数据字典,为后面的具体设计打下基础。通过系统功能分析,针对一般的管理需求,总结出如下的需求信息:1)用户分销售员和管理员用户。2)一般用户无需要权限查看用户信息以及修改订单信息等3)客户按类别来划分,每一个都对应一个类别。4)订单分订单基本信息和详细信息。5)一个订单列表对应多张订单详细信息。6)提供客户服务功能。关于订单列表与订单详细信息可以这样理解:因为用户一次可以购买多种产品。则对每种产品(即每一款型号的图书)生成一条订单详细信息记录。然后多个这样的订单详细信息组成一个订单列表。每一个订单列表才与一个用户对应,在发货时以订单列表为单位,也即用户在操作时所看到的“订单”。经过系统功能分析和需求总结,考虑到将来功能上的扩展,设计如下的数据项和数据结构:1)管理员信息,包括数据项:帐号,姓名,密码。2)普通用户,包括数据项:用户ID,用户名,密码等。3)产品,包括数据项:产品编号,产品名称,分类编号等。4)订单详细信息,包括数据项:订单编号,产品编号,购买数量。5)订单列表,包括数据项:订单列表编号,用户编号,下单时间,联系方式等。6)用户服务,包括数据项:订单编号,客户要求信息。5.2数据库概念结构设计得到上面数据项和数据结构以后,就可以设计出能够满足用户需求的各种实体,以及它们之间的关系,为后面的逻辑结构设计打下基础。这些实体包含各种具体信息,通过相互之间的作用形成数据的流动。设计规划出的实体有:管理员信息实体、注册用户(会员)信息实体、产品实体、产品类型实体、订单详细信息实体、订单列表实体和常见问题实体。-38- 第五章数据库设计实体之间关系的E-R图如图5-1所示:产品信息、订单号订单列表订单图5-1实体间的关系E-R图用户客户信息产品、客服NMN11N管理员信息实体E-R图如图5-2所示:管理员帐号姓名密码图5-2管理员信息实体ER图产品实体ER图如图5-3所示:产品信息编号名称产品描述......-38- 第五章数据库设计定单详细信息编号所属定单列表购买产品编号品购买数量图5-5订单详细信息实体ER图订单详细信息实体ER图如图5-5所示:订单列表实体ER图如图5-6所示:订单列表编号客户信息应付款项处理状态.....图5-6定单列表实体ER图客户服务实体ER图如图5-7所示:客户服务编号客户号订单编号客户要求......图5-7客户服务实体ER图-38- 第五章数据库设计5.3数据库逻辑结构设计数据库的概念结构设计完毕后,现在可以将上面的数据库概念结构转化为某种数据库系统所支持的实际数据库模型,也就是数据库的逻辑结构。客户管理系统的数据库中各个表的设计结果如表所示。每个表格表示在数据库中的一个表。表1为管理员信息表,存储系统中的管理员信息。表1用户信息表(user)列名数据类型字段大小必填字段默认值说明Userid文本20是无用户帐号(主键)Name文本50是无用户姓名Password文本20是无用户密码BranchInt20是无用户权限Tell文本20否无用户电话表2为客户信息表,记录系统中客户的详细信息。表2客户信息表(client)列名数据类型字段大小必填字段默认值说明Client_id文本10是无客户帐号client_name文本10是无姓名Client_char文本10否Client_leveInt20否无客户等级Client_Emai文本20否无E-mailClient_tell文本20否无电话表3为产品信息表,记录系统中已有产品的信息。表3产品信息表(Product)列名数据类型字段大小必填字段默认值说明Product_ID自动编号长整型是无产品编号(主键)Product_name文本50是无产品名称Product_descri文本50否无产品描述-38- 第五章数据库设计表4为订单详细信息表,记录在客户的一个订单中,针对一件商品的订货信息。表4销售订单信息表(OrderDetail)列名数据类型字段大小必填字段默认值说明ID自动编号整型是无订单详细信息唯一标识Client_ID数字长整型是无客户编号ProductID数字长整型是无产品IDSale_num数字30是销售数量Product_price货币是0产品单价Product_data数字长整型是0订购时间表5为订单详细信息表,记录针对用户的一个订单的详细信息。表5订单详细信息表(OrderList)列名数据类型字段大小必填字段默认值说明Contract_ID文本长整型是无订单列表编号(主键)Client_id文本20是”0“客户idContract_statInt20是无订单状态Contract_star时间20是无签署日期Contract_send时间30是无执行日期Contract_fini时间20是无完成日期Contract_pers文本20是负责人Contract_pricMoney20是总金额表6为客户服务表,记录客户反馈的问题,用于实现售后服务功能。表6客户服务表(FAQ)列名数据类型字段大小必填字段默认值说明Client_IDInt10是无客户编号Sale_numInt100是无订单号requirement备注是无客户需求-38- 第六章详细设计第六章详细设计6.1系统登录设计登录模块图示如图6-1所示:图6-1系统登录界面页面程序说明,如表6-1所示:表6-1页面程序说明程序名称程序文件Default.aspx.cs页面传入参数Username,password页面提交URL页面传出参数Session["username",isneedcheck”]功能说明登录系统特殊注解对应部分代码如下:namespaceclient{//////WebForm1的摘要说明。///publicpartialclassWebForm1:System.Web.UI.Page{protectedvoidPage_Load(objectsender,System.EventArgse){-38- 第六章详细设计//在此处放置用户代码以初始化页面}#regionWeb窗体设计器生成的代码overrideprotectedvoidOnInit(EventArgse){////CODEGEN:该调用是ASP.NETWeb窗体设计器所必需的。//InitializeComponent();base.OnInit(e);}//////设计器支持所需的方法-不要使用代码编辑器修改///此方法的内容。///privatevoidInitializeComponent(){}#endregionprotectedvoidBtn_login_Click(objectsender,System.EventArgse){stringstrconn=ConfigurationSettings.AppSettings["ConnectionString"];SqlConnectionconn=newSqlConnection(strconn);conn.Open();stringstrsql="select*fromuserswhereUserid=""+Tbx_id.Text+""andpassword=""+Tbx_pwd.Text+""";SqlCommandcm=newSqlCommand(strsql,conn);SqlDataReaderdr=cm.ExecuteReader();if(dr.Read()){//保存用户权限Session["branch"]=dr["branch"];if(Session["branch"].ToString()=="0"){//系统管理员登录Response.Redirect("users.aspx");}elseif(Session["branch"].ToString()=="1"){-38- 第六章详细设计Response.Redirect("contract.aspx");}elseif(Session["branch"].ToString()=="2"){//销售部登录Response.Redirect("contract_stat.aspx");}else{//客户部登录Response.Redirect("client.aspx");}}else{Lbl_note.Text="登录失败,请检查用户名、密码输入!";}}}}6.2用户管理用户管理模块主要管理后台用户,所有用户的实现如图:图6-2用户信息界面-38- 第六章详细设计对应部分代码如下:namespaceclient{//////users的摘要说明。///publicpartialclassusers:System.Web.UI.Page{SqlConnectioncn;protectedvoidPage_Load(objectsender,System.EventArgse){//在此处放置用户代码以初始化页面//判断用户是否为合法用户if(Session["branch"].ToString()=="0"){}else{Response.Write("您不是合法用户,请登入后再操作,返回");Page.Response.End();}stringstrconn=ConfigurationSettings.AppSettings["ConnectionString"];cn=newSqlConnection(strconn);if(!IsPostBack)BindGrid();}#regionWeb窗体设计器生成的代码overrideprotectedvoidOnInit(EventArgse){////CODEGEN:该调用是ASP.NETWeb窗体设计器所必需的。//InitializeComponent();base.OnInit(e);}//////设计器支持所需的方法-不要使用代码编辑器修改-38- 第六章详细设计///此方法的内容。///privatevoidInitializeComponent(){}#endregionprotectedvoidBtn_exit_Click(objectsender,System.EventArgse){Page.Response.Redirect("default.aspx");}publicvoidDataGrid_page(objectsender,DataGridPageChangedEventArgse){Dgd_user.CurrentPageIndex=e.NewPageIndex;BindGrid();}publicvoidBindGrid(){SqlDataAdapterda=newSqlDataAdapter("select*fromusers",cn);DataSetds=newDataSet();da.Fill(ds);Dgd_user.DataSource=ds;Dgd_user.DataBind();}publicvoidDataGrid_cancel(objectsender,DataGridCommandEventArgse){Dgd_user.EditItemIndex=-1;BindGrid();}publicvoidDataGrid_edit(objectsender,DataGridCommandEventArgse){Dgd_user.EditItemIndex=(int)e.Item.ItemIndex;BindGrid();}publicvoidDataGrid_update(objectsender,DataGridCommandEventArgse){SqlCommandcm=newSqlCommand("updateusers",cn);cm.CommandType=CommandType.StoredProcedure;-38- 第六章详细设计cm.Parameters.Add(newSqlParameter("@User_id",SqlDbType.Char,10));cm.Parameters.Add(newSqlParameter("@name",SqlDbType.VarChar,50));cm.Parameters.Add(newSqlParameter("@branch",SqlDbType.Int,4));cm.Parameters.Add(newSqlParameter("@tell",SqlDbType.VarChar,20));stringcolvalue=((TextBox)e.Item.Cells[2].Controls[0]).Text;cm.Parameters["@name"].Value=colvalue;colvalue=((TextBox)e.Item.Cells[3].Controls[0]).Text;cm.Parameters["@branch"].Value=colvalue;colvalue=((TextBox)e.Item.Cells[4].Controls[0]).Text;cm.Parameters["@tell"].Value=colvalue;cm.Parameters["@User_id"].Value=Dgd_user.DataKeys[(int)e.Item.ItemIndex];cm.Connection.Open();try{cm.ExecuteNonQuery();Lbl_note.Text="编辑成功";Dgd_user.EditItemIndex=-1;}catch(SqlException){Lbl_note.Text="编辑失败";Lbl_note.Style["color"]="red";}cm.Connection.Close();BindGrid();}publicvoidDataGrid_delete(objectsender,DataGridCommandEventArgse){stringstrsql="deletefromuserswhereUserid=@userid";SqlCommandcm=newSqlCommand(strsql,cn);cm.Parameters.Add(newSqlParameter("@userid",SqlDbType.Char,10));cm.Parameters["@userid"].Value=Dgd_user.DataKeys[(int)e.Item.ItemIndex];cm.Connection.Open();try-38- 第六章详细设计{cm.ExecuteNonQuery();Lbl_note.Text="删除成功";}catch(SqlException){Lbl_note.Text="删除失败";Lbl_note.Style["color"]="red";}cm.Connection.Close();BindGrid();}}}添加用户:图6-3添加用户界面对应部分代码如下:namespaceclient{//////adduser的摘要说明。///publicpartialclassadduser:System.Web.UI.Page{SqlConnectioncn;protectedvoidPage_Load(objectsender,System.EventArgse){-38- 第六章详细设计//在此处放置用户代码以初始化页面stringstrconn=ConfigurationSettings.AppSettings["ConnectionString"];cn=newSqlConnection(strconn);}#regionWeb窗体设计器生成的代码overrideprotectedvoidOnInit(EventArgse){////CODEGEN:该调用是ASP.NETWeb窗体设计器所必需的。//InitializeComponent();base.OnInit(e);}//////设计器支持所需的方法-不要使用代码编辑器修改///此方法的内容。///privatevoidInitializeComponent(){}#endregionprotectedvoidBtn_ok_Click(objectsender,System.EventArgse){if(Page.IsValid){SqlCommandcm=newSqlCommand("Addusers",cn);cm.CommandType=CommandType.StoredProcedure;cm.Parameters.Add(newSqlParameter("@User_id",SqlDbType.Char,10));cm.Parameters.Add(newSqlParameter("@password",SqlDbType.Char,10));cm.Parameters.Add(newSqlParameter("@name",SqlDbType.VarChar,50));cm.Parameters.Add(newSqlParameter("@branch",SqlDbType.Int,4));cm.Parameters.Add(newSqlParameter("@tell",SqlDbType.VarChar,20));cm.Parameters["@User_id"].Value=Tbx_id.Text;cm.Parameters["@password"].Value=Tbx_id.Text;cm.Parameters["@name"].Value=Tbx_name.Text;-38- 第六章详细设计cm.Parameters["@branch"].Value=Ddl_kind.SelectedItem.Value;cm.Parameters["@tell"].Value=tell.Text;cm.Connection.Open();try{cm.ExecuteNonQuery();Response.Redirect("users.aspx");}catch(SqlException){Lbl_note.Text="添加失败";Lbl_note.Style["color"]="red";}cm.Connection.Close();}}protectedvoidBtn_cancel_Click(objectsender,System.EventArgse){Page.Response.Redirect("adduser.aspx");}privatevoidCv_id_ServerValidate(objectsource,System.Web.UI.WebControls.ServerValidateEventArgsargs){cn.Open();SqlCommandcm=newSqlCommand("select*fromuserswhereUser_id=@user_id",cn);cm.Parameters.Add("@user_id",SqlDbType.Char,10);cm.Parameters["@user_id"].Value=Tbx_id.Text;SqlDataReaderdr=cm.ExecuteReader();if(dr.Read()){args.IsValid=false;}else{args.IsValid=true;}cn.Close();}}}-38- 第六章详细设计6.3客户管理客户管理模块包括添加产品,查看与修改。图6-4客户管理界面添加新客户:图6-5添加客户界面6.4产品管理产品管理模块包括:添加产品(单位管理),查看与修改(修改产品信息)。(1)产品信息-38- 第六章详细设计图6-6产品管理界面(2)添加新产品添加新产品是管理员对海天教育集团客户管理系统进行维护的重要操作,进行该操作的界面如下:图6-7添加产品界面6.5销售订单管理管理销售订单(订单管理)在点击订单号后,用户可以查看到订单的所有信息,例如:客户编号,订单状况,执行日期,负责人等信息。-38- 第六章详细设计图6.8订单查询6.6订单明细管理订单明细模块主要管理订单的详细信息,实现如图:图6-9订单明细管理界面添加订单明细:-38- 第六章详细设计图6-10添加订单界面-38-第七章系统的调试与测试-38- 第七章系统的调试与测试第七章系统的调试与测试7.1测试概述7.1.1软件测试的目的软件测试的目的,第一是确认软件的质量,其一方面是确认软件做了你所期望的事情,另一方面是确认软件以正确的方式来做了这个事件。第二是提供信息,比如提供给开发人员或程序经理的反馈信息,为风险评估所准备的信息。第三软件测试不仅是在测试软件产品的本身,而且还包括软件开发的过程。如果一个软件产品开发完成之后发现了很多问题,这说明此软件开发过程很可能是有缺陷的。因此软件测试的第三个目的是保证整个软件开发过程是高质量的。软件质量是由几个方面来衡量的:一、在正确的时间用正确的的方法把一个工作做正确。二、符合一些应用标准的要求,比如不同国家的用户不同的操作习惯和要求,项目工程中的可维护性、可测试性等要求。三、质量本身就是软件达到了最开始所设定的要求,而代码的优美或精巧的技巧并不代表软件的高质量。四、质量也代表着它符合客户的需要。作为软件测试这个行业,最重要的一件事就是从客户的需求出发,从客户的角度去看产品,客户会怎么去使用这个产品,使用过程中会遇到什么样的问题。7.1.2软件测试的任务(1)寻找Bug;   (2)避免软件开发过程中的缺陷;(3)衡量软件的品质;    (4)关注用户的需求。总的目标是:确保软件的质量7.1.3测试环境环境如下:⑴硬件配置环境:CPU:P41.8A、内存:256MDDR、硬盘:60G⑵操作系统::MicrosoftWindowsxpsp2⑶Web服务器:IIS5.1是windowsxp中自带的Internet信息服务组件。-38- 第七章系统的调试与测试7.2单元测试7.2.1黑盒测试在单元测试中分别对用户信息模块,帖子模块和后台管理模块进行分别测试。首先对各个模块进行黑盒测试,在各种条件下运行模块是否能正常运行,比如在登录时,输入空白用户名等等。比如在登录时,输入空白用户名等等。7.2.2白盒测试此方法把测试对象看做一个透明的盒子,它允许测试人员利用程序内部的逻辑结构及有关信息,设计或选择测试用例,对程序所有逻辑路径进行测试。通过在不同点检查程序的状态,确定实际的状态是否与预期的状态一致。因此白盒测试又称为结构测试或逻辑驱动测试。软件人员使用白盒测试方法,主要想对程序模块进行如下的检查;对程序模块的所有独立的执行路径至少测试一次;对所有的逻辑判定,取“真”与取“假”的两种情况都至少测试一次;在循环的边界和运行界限内执行循环体;测试内部数据结构的有效性等。7.2.3模块接口测试在黑盒测试完成的情况下,进行模块接口测试,模块接口测试是单元测试的基础。只有在数据能正确流入、流出模块的前提下,其他测试才有意义。测试接口正确与否应该考虑的因素:(1)输入的实际参数与形式参数的个数是否相同;(2)输入的实际参数与形式参数的属性是否匹配;(3)输入的实际参数与形式参数的量纲是否一致;(4)调用其他模块时所给实际参数的个数是否与被调模块的形参个数相同;(5)调用其他模块时所给实际参数的属性是否与被调模块的形参属性匹配;(6)调用其他模块时所给实际参数的量纲是否与被调模块的形参量纲一致;(7)调用预定义函数时所用参数的个数、属性和次序是否正确;(8)是否存在与当前入口点无关的参数引用;(9)是否修改了只读型参数;(10)对全程变量的定义各模块是否一致;(11)是否把某些约束作为参数传递。-38- 第七章系统的调试与测试7.3集成测试7.3.1自顶向下集成自顶向下集成是构造程序结构的一种增量式方式,它从主控模块开始,按照软件的控制层次结构,以深度优先或广度优先的策略,逐步把各个模块集成在一起。首先将模块用户模块和帖子模块集成在一起,再将后台管理模块集成起来。之后再将用户模块和后台管理模块集成在一起,再加上帖子模块。7.3.2确认测试标准功能和性能指标满足软件要求和标准的情况下,测试结束。-38-总结总结-38- 总结经过测试,系统能够很好的运行实现管理功能,功能模块也能够达到老师所指定的要求。系统可以实现企业客户的集中管理、分散操作、检索迅速、查找方便、可靠性高、存储量大、保密性好、寿命长、成本低等。这些优点能够极大地提高企业管理的效率,也是高校的科学化、正规化管理,与世界接轨的重要条件。通过系统的设计,本人感触最深的是加深了对软件开发过程的理解,熟悉了利用VS2005实现各种实用的数据库型软件的开发,以及了解了教务管理的一些流程,也更加深入理解了MIS设计中常见问题和其设计的意义。本文在详细分析了课程信息管理的各功能模块基础上,设计并实现了课程信息管理系统的简易版本。论文的主要工作包括以下几个方面:1.详细地分析和总结了企业客户管理的需求,并确定了客户管理系统实现的初步方案。2.分析了系统实现的关键技术原理,和具体描述了各个功能模块,并用图示表示出了系统功能结构图,使得更容易了解本系统。3.设计并实现了客户管理系统的逻辑模型,并基于SQLServer2005数据库实现了客户管理系统数据的物理模型。4.采用VS2005实现了客户管理系统的初步版本。经过两个多月的设计和开发,客户管理系统基本开发完毕,但是由于毕业设计时间较短,所以该系统还有许多不尽如人意的地方,比如客户服务,系统出错处理等一些问题。在我的进一步工作中,我将对这些问题进行完善。-38-参考文献参考文献[1]杨学全.C#技术基础.第一版.北京:高等教育出版社,2008.[2]李泽等人.C#函数实用手册[M].第一版.北京:冶金工业出版社,2006.-38- 参考文献[3]赛奎春.C#程序开发范例宝典[M].第一版.北京:人民邮电出版社,2007.[4]李春葆,曾平.数据库原理与应用.第二版.北京:清华大学出版社,2007.[5]GrantPalmer.C#程序员手册[M].第一版.北京:清华大学出版社,2002.[6]李敏波.C#高级编程[M].北京:清华大学出版社,2006.[7]邹建峰李律松李晓栓等著《ASP.NET开发技术详解》,北京:人民邮电出版社,2009.-38-致谢致谢时光飞逝,论文终于成稿,又一段求学旅途即将画上一个圆满的句号。-38- 致谢回想求学的道路,有过梦想,有过失落,此时此刻,有太多的感激之情在内心之中,需要表达,感谢一直以来关心鼓励我的老师,同学和朋友们。在本次毕业设计中,首先我衷心地感谢我的导师左珂老师在我的设计中给我的悉心指导。论文的每一章不无倾注了老师大量的时间和心血。老师渊博的知识、敏锐的思维、深刻的洞察力、淡泊的心境、平易的待人方式和富有感召力的人格力量给我许多启发和帮助,使我领略到一个著名学者的风采和高尚的情操,使我在学习和设计工作中,都受益匪浅。在毕业设计过程中,老师在每个阶段都给予我细心的指导、提出宝贵的意见。老师的言传身教,始终如一地关心我们各方面的进展,反复审阅了论文稿,提出许多修改意见,为本文的完成付出了很多心血。使我在设计中及时改正了错误,增添了信心。在此,我对敬爱的老师再次表示衷心的感谢!由于指导老师孜孜不倦的指导,同学的热心帮助,再加上自身的努力,我才得以顺利的完成毕业设计。再一次对帮助过我的老师、同学、朋友表示衷心的感谢,希望把今天的喜悦与你们一同分享。-38-'