企业工单系统的设计与实现是本科毕业论文.docx_第1页
企业工单系统的设计与实现是本科毕业论文.docx_第2页
企业工单系统的设计与实现是本科毕业论文.docx_第3页
企业工单系统的设计与实现是本科毕业论文.docx_第4页
企业工单系统的设计与实现是本科毕业论文.docx_第5页
已阅读5页,还剩42页未读 继续免费阅读

下载本文档

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

文档简介

企业工单系统的设计与实现是本科毕业论文目 录1 绪论11.1引言11.2 工单系统的概况21.2.1 工单系统的简介21.2.2 工单系统的构架21.2.3 工单系统的协同操作31.2.4 工单系统的使用对象31.3 工单系统的发展、需求和前景31.4 毕业设计任务概述42 相关技术简介52.1 .NET开发框架52.1.1 开发语言C#语言52.1.2 ASP.NET简介62.2 数据库SQL Server 200882.3 数据库访问技术-ADO.NET82.3.1 ADO.NET的特色82.3.2 ADO.NET架构92.4 B/S体系结构102.5 JavaScript简介102.5.1 基本特点112.5.2 相关规则112.5.3 Javascript库123 系统设计与实现143.1 需求分析143.1.1 功能需求143.1.2 项目计划安排143.2 系统开发环境143.2.1 开发环境143.2.2 Visual Studio 2010开发环境153.4 系统设计与实现163.4.1 系统功能结构163.4.2 分层架构核心思想163.4.3 工单系统的业务流程183.4.4 数据库设计193.4.5 登录模块233.4.6 技术服务门户网站模块233.4.7 工单管理模块243.4.8 人员管理模块263.4.9 知识库模块273.4.10 工单管理模块283.4.11 查看个人资料293.4.12 收件箱303.4.13 修改密码303.4.14 我的工单314 系统功能演示334.1 系统功能演示334.2 小结40结论41参考文献42致谢431 绪论随着我国国民经济的飞速发展和社会的进步,国内企业之间的竞争也越来越激烈,在新技术应用的推动下,不断有各种新业务推出,服务质量也需要不断提升,产品业务咨询成为了客户与企业的沟通和解决问题的必要流程。原来手工式的、粗放式的管理已经不适应发展的需求,而且随着用户数量的急剧增加,需要完成业务的工单越来越多,如果短时间内不能及时处理,容易遭到客户的投诉,而且工单的准确率也得不到保证,因此,原来的工单处理方式越来越不能满足需求。本课题正是在这一背景下出发,从理论和实际出发,设计并开发出高效率的工单管理系统,集中及时处理大量的业务工单,为企业的发展提供强大的支持和动力。1.1 引言现代的企业内部都是按工作职责划分成不同的部门,部门与部门之间可能是网状关系,也可能是树形结构,但无论采用何种组织结构,部门与部门之间、员工与员工之间、客户与客服之间应该具备良好的沟通方式才能保证整个企业的高效运作,但这种协调工作没有经常存在利益分配、责任承担等多方面的社会因素,解决问题之间经常出现推卸责任、工作态度松散的现象。工作职责交叉也多,这种现象越严重。公司领导为了解决这些问题,需要花费很大的精力,浪费大量的人力物力。为了更好保证服务质量,提高解决问题的效率,原来内部原有的电话通知故障,和传真等方式,即使少数部门以电子表格形式传送的障碍工单也缺乏安全性和规范性,不利于统计和分析,也不符合企业关于工单闭环管理的要求。已经不能满足有规模的管理和迅速发展形式的需求。实现科学的、规范的、现代化的信息管理是必由之路。企业管理信息化是指企业管理的各个环节应用现代化信息技术,加快企业管理信息的传递、加工和自理速度,使这些信息资源得到可靠的保存和有效的利用,及时地为企业管理工作者提供计策依据,促进企业管理水平的提高。在信息化工作中,对数据的来源、格式会提出一系列规范化的要求,很大程度上促进解决了手工操作的不规范、易出错等问题;计算机进行数据的处理,其速度是人工的几百倍、几千倍,将使企业管理信息的提供更加及时。因此,企业管理的基础工作会在信息化中更加规范,从而使企业管理工作质量进一步得到保证,所以在企业不断发展和竞争的过程中,开发一套“工单管理系统”是有着非常重大的意义的。1.2工单系统的概况1.2.1工单系统的简介工单系统Ticket system又称为工单管理系统(还可以称为问题工单系统,事务工单系统,事务追踪系统issue tracking system,支持工单系统support ticket system)),它是一种网络软件系统,根据不同组织,部门和外部客户的需求,来由针对的管理,维护和追踪一系列的问题和请求。一个完善功能的工单系统又可以称为帮助台系统。工单系统一般被广泛用于客户帮助支持服务,客户售后服务,企业IT支持服务,呼叫中心等,用来创建,挂起,解决用户,客户,合作伙伴或企业内部职员提交的事务请求。规范化,统一化和清晰化的处理和管理事务。一个完整的工单系统还需要配套拥有一个帮助文档知识库(Knowledge base),里面包含客户的一些常见受理问题相关信息,常见问题的处理方式,和一些其他的帮助文档等。一个工单系统就像一个问题追踪器,能很清晰的追踪,处理和归档内外的问题事务请求,标准化服务追踪用户。1.2.2工单系统的构架一个普通的工单系统的构架是很简单的。一个数据库储存所有数据,这些数据由应用的逻辑层进行处理和管理。这个层处理一些粗糙的储存数据,然后转化成更具含义的内容。然后应用层就可以通过工单系统向客户支持人员展示可以阅读和有意义的内容从而进行处理和管理操作。这种过程通常是通过B/S构架的网页或者其他设备的应用来进行交互的。工单系统的最终用户(前面提到的客户等)可以创建新的问题支持请求,向支持请求问题增加更新,回复内容,查看问题处理进度并协同解决问题。工单系统会记录这个过程发生的一切操作,并对其进行归档。工单系统的管理层可以由系统自动或手动分配请求任务进行工单请求处理,当一个工单被分配给一个客户服务职员后,它会负责该问题的受理直到问题被解决。安全方面,一个最终用户需要进行身份验证(如密码等)后才能进行查看,创建,回复,搜索等操作。1.2.3 工单系统的协同操作作为服务于企业和组织的工单系统,其系统内部需要有一套完善的业务流程体系,以满足企业和组织在使用中和操作中的任务分配,事务处理,流程自动化等。工单系统应该是一个能让多个客户服务职员协同合作处理客户支持请求工单的系统,因此是否高效的进行处理和管理成为判断一个工单系统好坏的关键。在工单系统内需要对不同角色的人员进行分类,通常采用组和部门(组织)的方式进行分类区分,以便通过业务流程体系来进行自动分配任务。例如可以将处理技术的客户服务职员全部归属到一个叫做技术组的客服组中,然后通过业务流程体系功能将来源为技术的支持请求全部让该组的人进行受理。也可以让专职人员专门负责某个部门或某个组织的请求事务处理,追踪和解决。协同操作不仅限于事务的分配,还在于事务的调度和转发,例如一个客户服务职员可能在处理中能力不足,需要有更多经验的管理人员来协同处理,所以他应该可以将工单分配给另一个人员进行处理。1.2.4 工单系统的使用对象面向于有客户的企业:急需改善客户支持服务质量,客户售后服务清晰度与质量,降低运营成本,减轻客户服务职员工作量。典型行业:IDC服务商,电子商务,团购,网上教育,娱乐媒体,外包企业等。1.3工单系统的发展、需求和前景工单系统会随着企业的发展而成为重要的业务管理软件,在提高业务效率的同时,还可以取得巨大的经济和社会效益。每天受理的工单,都要由客服服务人员进行手工操作,速度慢,工作量大,错误率高。而应用工单系统后,工作效率得到大大的提高。工单管理系统的应用,保证了工单管理的高效,安全,准确,为培育和抢占用户起到了良好的作用。相信在不久的将来,工单管理系统的市场前景将更为广阔。1.4毕业设计任务概述这个毕业设计的最终目标是设计、实现一个功能完善的工单管理系统。这个系统是基于.NET Framework 4.0技术来实现的,开发语言是C#语言。在这个系统中将利用一些较新的技术来增加用户体验。我负责整个系统的架构设想,并对超级管理员、查看收件箱、查看我的工单、修改密码、查看个人资料、查看知识库、联系我们、模糊查询等八个板块进行编码、测试等。这篇论文我主要先对工单管理系统进行简要的介绍,然后介绍开发本系统所用到的新技术,接着对整个系统中的模块进行设计,然后对我所负责的几个模块做详细的分析与设计,并在其中剖析部分代码,最后演示完整的系统。2 相关技术简介2.1 .NET开发框架.NET Framework是支持生成和运行下一代应用程序和 XML Web services 的内部 Windows 组件。是整个.NET平台的基础结构。.NET Framework除了可以管理代码的执行(包括启动代码,给它赋予相应的权限,为它分配内存以存储其数据,帮助释放不再需要的内存和资源等)以外,还提供了一个非常复杂的类库,以便在Windows执行大量的任务。对这些任务,它承担了双重角色:管理代码的执行和为代码提供服务2。从技术层面来讲,.NET Framework主要包括两个最基本的内核,即通用语言运行库CLR(Common Language Runtime)和.NET Framework基本类库,它们为.NET平台的实现提供底层技术支持。其中前者是.NET Framework运行时的环境,它运行代码并提供最底层的服务,是.NET平台的执行引擎。同时它以跨语言集成、自描述组件、简单配置和版本化及集成安全服务为特点,提供诸如版本控制以及内存、进程和线程管理等多种服务。而后者位于通用语言运行库的上层,与.NET Framework紧密集成在一起,可以被.NET支持的任何语言使用。其提供数据库访问、XML、网络通信、线程、图形图象、安全、加密等多种功能服务。类库中的基类还提供了标准功能,如字符串操作、输入输出、用户界面设计、网络管理、线程管理、安全管理、文本管理功能3。2.1.1 开发语言C#语言C#是专门为.NET应用而开发出的语言,它既保持了C+中熟悉的语法,又包含大量的高效代码和面向对象的特性。总的来说,C#主要有以下6个特点:1、 生成中间代码:使用C#开发的应用程序,在编译成机器码时,都是生成中间汇编形式的语言。只有当它们运行时,才会被编译成本地计算机可执行的代码。2、 在命名空间中声明:当使用C#语言创建一个应用程序时,就会在一个命名空间里创建一个或多个类。同时在这个命名空间里,还有可能声明要有结构体、变量等。这是就必须使用using关键字来应用其他的命名空间内容,用来支持对结构体等类型的操作。3、 数据类型丰富:C#语言拥有比C、C+更广泛和丰富的数据类型。例如bool、byte、ubyte、short、ushort、int、uint、long、ulong、float、double、decimal等。4、 有两个基本类:在C语言中,Object类是所欲其他类的基类。String类和Object类一样,是两个基类之一,它们都是C#语言的一部分。5、 方法可当作参数传递:在一般情况下,默认的参数传递只是对基本数据类型进行值传递。但是在C#语言中,既可以通过值传递,也可以通过引用传递。通过引用传递参数允许函数成员(包括方法、属性、索引、运算符)和构造函数等传递参数的值。6、 与COM集成:COM技术是Microsoft公司的Win32组件技术。C#语言能与COM组件进行无缝集成。用C#语言编写的类可以子类化COM组件,所谓子类化就是指替换窗口的过程。C#语言生成的类也可以当作一个COM组件使用,可用任何.NET语言进行子类化14。2.1.2 ASP.NET简介随着社会的发展,Internet已经成为生活、学习和工作中不可缺少的一部分,许多单位和个人都开始准备建立自己的网站。如果只使用HTML来设计成静态网页,就不能引入更多、更强大的功能,因此创建动态的、交互式的网站显得很重要。为满足这种需要,微软公司开发了一种叫做动态服务器页面(Active Server Pages,ASP)的Web开发平台。使用ASP进行Web开发,一方面给网站设计者带来了方便,但是另一方面则将服务器端代码和HEML及JavaScript代码放在同一页面中,常常会导致Web页面中混合了服务器端逻辑代码和为用户界面设计的HTML代码以及其他的一些问题,这样使得网站的各种代码难于管理,并且由于一些脚本语言在使用上的局限性,很多功能都不能够轻松实现2。为了解决上述这些问题以及其他的一些问题,微软公司开发出了ASP.NET更优秀的Web开发环境。ASP.NET是一种独立于浏览器的编程模型。它可以在使用广泛的最新版本浏览器(例如IE、Netscape)上运行,还可以在低版本的浏览器上运行。这也就是说,在使用ASP.NET编写Web应用程序时,不需要编写浏览器特定的代码,Internet的很大一部分用户就可以使用这些Web应用程序。需要注意的是,并不是所有的浏览器在执行效果时相同。ASP.NET的发展在ASP.NET中,所有程序的执行都是通过服务器编译的。当一个程序第一次被执行时,它先被编译为中间代码,再被编译为二进制代码。当这个程序被再次执行时,只要程序没变化,就会直接在服务器上执行已编译的可执行的二进制代码,然后把执行结果通过网络返回给客户端,从而大大提升了执行效率。1996年,ASP1.0诞生,它的诞生给Web开发界带来了福音。它作为IIS的附属产品免费发送。并且不久就在Windows平台上广泛使用。早期的Web开发是十分重要的,以致于要制作一个简单的动态页面都需要编写大量的代码才能完成,而ASP却允许使用VBScipe这样简单的脚本语言,执行嵌在HTML网页中的代码。在进行程序设计时可以使用它的内部组件来实现一些高级的功能。它的最大贡献在于它的ADO(ActiveX Data Object),使得对数据库的操作十分简单,进行动态网页设计也便成了一件轻松的事。1998年,微软发布了ASP2.0。与ASP1.0的区别在于它的外部组件是可以初始化的。这样,在ASP程序内部的所有组件都有了自己的独立内存空间,并可以进行事务处理。2000年,随着 Windows2000的发行,它内带的ASP3.0也开始流行。与ASP2.0的主要区别是它使用了COM+,并且效率提高,版本稳定。2000年7月,ASP.NET发行。ASP.NET不是ASP的简单升级,而是微软推出的新一代Active Server Pages。ASP.NET是微软发展的新的体系结构.NET的一部分,其中全新的技术架构会让每个人员的编程生活变得更为简单,Web应用程序的开发人员使用这个开发软件可以实现更加模块化、功能更强大的应用程序。ASP.NET对服务器端要求安装独立的ASP.NET软件,对客 户端没有特别的要求,只要有一个浏览器就行。 HTML文件中, 用任意一个文本编辑器就 可以编写一个完整的ASP.NET页面。所谓ASP.NET,就是在HTML文件中引入了两个扩展的成对的HTML标记,同时文件的扩展名改为 .asp。 在IIS接到用户对.asp文件的请求时,将执行的结果和其他的HTML语句一起返回客户端,这样客户看到的仍然是标准的HTML语句,不会看到开发者的编程逻辑,这与客户端的JavaScript是完全不同的,JavaScript没有办法阻止用户看到源码。其次使用的是Windows 2000自带的Internet服务管理器,IIS(Internet Information Server)作为当今流行的Web服务器之一,提供了强大的Internet和Intranet服务功能,使用它可以轻松的发布站点,在课题制作过程中可以随时进行调试,浏览自己的页面。2.2 数据库SQL Server 2008SQL Server是微软公司开发的一个关系数据库管理系统13。以Transact_SQL作为它的数据库查询和编程语言,它是SQL Server的核心,Transact_SQL强化了原有的SQL关键字以进行数据的存取、存以及处理等功能,Transact_SQL扩充了流程控制指定,可以方便地编写功能强大的存储过程,它们存放在服务器端,并预先编译过,执行速度非常快,触发是一种特殊的存储过程,用来确保SQL Server数据库引用的完整性,可以建立插入、删除和更新触发以控制相关的表格中对数据列的插入、删除和更新,还可以使用规则(Rule)、缺省(Default)以及限制(Constraints),来协助将新的数值套用到表格中去5。SQL Server 2008出现在微软数据平台愿景上是因为它使得公司可以运行他们最关键任务的应用程序,同时降低了管理数据基础设施和发送观察和信息给所有用户的成本。这个平台有以下特点:1、 可信任的使得公司可以以很高的安全性、可靠性和可扩展性来运行他们最关键任务的应用程序。2、 高效的使得公司可以降低开发和管理他们的数据基础设施的时间和成本。3、 智能的提供了一个全面的平台,可以在你的用户需要的时候给他发送观察和信息6。2.3数据库访问技术-ADO.NET2.3.1 ADO.NET的特色ADO(ActiveX Data Object)对象是继ODBC(Open Database Connectivity,开放数据库连接架构。微软所制定的架构,可以让透过这种架构和数据库连结。)之后微软主推存取数据的最新技术,ADO对象是程序开发平台用来和OLE DB沟通的媒介,ADO目前的最新版本为ADO.NET。ADO.NET 不像以前的ADO 版本是站在为了存取数据库的观点而设计的,ADO.NET 是为了因应广泛的数据控制而设计,所以使用起来比以前的ADO 更灵活有弹性,也提供了更多的功能。ADO.NET 的出现并不是要来取代ADO,而是要提供更有效率的数据存取。微软透过最新的.NET 技术提供了可以满足众多需求的架构,这个架构就是.NET 共享对象类别库。这个共享对象类别库不但涵盖了Windows API(Windows Application Programming Interface,Windows应用程序设计界面。提供许多撰写Windows 程序所需要使用的对象以及基本函式等。)的所有功能,并且还提供更多的功能及技术;另外它还将以前放在不同COM 组件上,我们常常使用的对象及功能一并含括进来。除此之外ADO.NET 还将XML 整合进来,这样一来数据的交换就变的非常轻松容易了。所以ADO.NET 的架构及新功能是为了能满足广泛的数据交换需求所产生出来的新技术,这个就是ADO.NET。如图2.1所示。 图2.1 ADO.NET架构2.3.2 ADO.NET架构ADO.NET对象可以让我们快速简单的来存取各种数据。传统的主从式应用程序在执行时,都会保持和数据源的联机。但是在某些状况下和数据库一直保持联机是不需要的,而且一直保持和数据源的联机会浪费系统资源。有些时候我们只需要很单纯的将数据取回,这时候就不需要保持对数据源的联机。ADO.NET被设计成对于数据处理不一直保持联机的架构,应用程序只有在要取得数据或是更新数据的时候才对数据源进行联机的工作,所以应用程序所要管理的连结减少;数据源就不用一直和应用程序保持联机,负载减轻了效能自然也就提升。不过我们的应用程序也有些情况需要和数据源一直保持联机,例如在线订位系统;此时我们还是可以使用ADO对象和数据源随时保持联机的状态7。 2.4 B/S体系结构B/S软件体系结构,即Browser/Server (浏览器/服务器)结构,是随着Internet技术的兴起,对C/S体系结构的一种变化或者改进的结构。在B/S体系结构下,用户界面完全通过WWW浏览器实现,一部分事务逻辑在前端实现,但是主要事务逻辑在服务器端实现。B/S体系结构主要是利用不断成熟的WWW浏览器技术,结合浏览器的多种脚本语言,用通用浏览器就实现了原来需要复杂的专用软件才能实现的强大功能,并节约了开发成本,是一种全新的软件体系结构。基于B/S体系结构的软件,系统安装、修改和维护全在服务器端解决。用户在使用系统时,仅仅需要一个浏览器就可运行全部的模块,真正达到了零客户端的功能,很容易在运行时自动升级。B/S体系结构还提供了异种机、异种网、异种应用服务的联机、联网、统一服务的最现实的开放性基础。但是,与C/S体系结构相比,B/S体系结构也有许多不足之处,例如:(1)B/S体系结构缺乏对动态页面的支持能力,没有集成有效的数据库处理能力。(2)B/S体系结构的系统扩展能力差,安全性难以控制。(3)采用B/S体系结构的应用系统,在数据查询等响应速度上,要远远地低于C/S体系结构。(4)B/S体系结构的数据提交一般以页面为单位,数据的动态交互性不强,不利于在线事务处理和应用。2.5 JavaScript简介Javascript是一种由Netscape的LiveScript发展而来的原型化继承的面向对象的动态类型的区分大小写的客户端脚本语言,主要目的是为了解决服务器端语言,比如Perl,遗留的速度问题,为客户提供更流畅的浏览效果。JavaScript是一种基于对象和事件驱动并具有相对安全性的客户端脚本语言。同时也是一种广泛用于客户端Web开发的脚本语言,常用来给HTML网页添加动态功能,比如响应用户的各种操作。它最初由网景公司(Netscape)的Brendan Eich设计,是一种动态、弱类型、基于原型的语言,内置支持类。JavaScript是Sun公司的注册商标。Ecma国际以JavaScript为基础制定了ECMAScript标准。JavaScript也可以用于其他场合,如服务器端编程。完整的JavaScript实现包含三个部分:ECMAScript,文档对象模型,字节顺序记号。2.5.1基本特点网页嵌入技术有:Javascript、VBScript、Document Object Model(DOM,文档对象模型)、Layers和Cascading Style Sheets(CSS,层叠样式表),这里主要讲Javascript。Javascript就是适应动态网页制作的需要而诞生的一种新的编程语言,如今越来越广泛地使用于Internet网页制作上。Javascript是由 Netscape公司开发的一种脚本语言(scripting language),或者称为描述语言。在HTML基础上,使用Javascript可以开发交互式Web网页。Javascript的出现使得网页和用户之间实现了一种实时性的、动态的、交互性的关系,使网页包含更多活跃的元素和更加精彩的内容。运行用Javascript编写的程序需要能支持Javascript语言的浏览器。Netscape公司 Navigator 30以上版本的浏览器都能支持Javascript程序,微软公司Internet Explorer 30以上版本的浏览器基本上支持Javascript。微软公司还有自己开发的Javascript,称为JScript。Javascript和Jscript基本上是相同的,只是在一些细节上有出入。 Javascript短小精悍,又是在客户机上执行的,大大提高了网页的浏览速度和交互能力。 同时它又是专门为制作Web网页而量身定做的一种简单的编程语言。JavaScript 使网页增加互动性。JavaScript 使有规律地重复的HTML文段简化,减少下载时间。JavaScript 能及时响应用户的操作,对提交表单做即时的检查,无需浪费时间交由CGI 验证。JavaScript 的特点是无穷无尽的,只要你有创意。2.5.2 相关规则在JavaScript中,“=是全同运算符,只有当值相等,数据类型也相等时才成立。等同运算符“=的比较规则:当两个运算数的类型不同时:将他们转换成相同的类型。(1)一个数字与一个字符串,字符串转换成数字之后,进行比较。(2)true转换为1、false转换为0,进行比较。(3)一个对象、数组、函数与 一个数字或字符串,对象、数组、函数转换为原始类型的值,然后进行比较。(先使用valueOf,如果不行就使用toString)(4)其他类型的组合不相等。想两个运算数类型相同,或转换成相同类型后:(1)2个字符串:同一位置上的字符相等,2个字符串就相同。(2)2个数字:2个数字相同,就相同。如果一个是NaN,或两个都是NaN,则不相同。(3)2个都是true,或者2个都是false,则相同。(4)2个引用的是同一个对象、函数、数组,则他们相等,如果引用的不是同一个对象、函数、数组,则不相同,即使这2个对象、函数、数组可以转换成完全相等的原始值。(5)2个null,或者2个都是未定义的,那么他们相等。而“=”是全同运算符,全同运算符遵循等同运算符的比较规则,但是它不对运算数进行类型转换,当两个运算数的类型不同时,返回false;只有当两个运算数的类型相同的时候,才遵循等同运算符的比较规则进行比较。2.5.3 Javascript库Javascript库,指得是可以方便应用到现有开发体系中的、现成的代码资源。库不仅为大部分日常的DOM脚本编程工作提供了快捷的解决方案,而且也提供了许多独特的工具。虽然库使用起来很方便,但它们也并非能解决你所有的问题。在使用库之前,一定要保证真正理解javascript的DOM原理。这些库一般是一个(或多个)js(Javascript的缩写)文件,只要把他们导入你的网页就能使用了。常用的库有:(1)jQuery:javascript库中的新成员,提供css和xpath选择符查找元素、ajax、动画效果等(2)JSer: 国人开发的一款全功能的开源脚本框架. 借助JSer,可以便捷的操作DOM、CSS样式访问、属性读写、事件绑定、行为切换、动态载入、数据缓存、URL与AJAX等众多功能。(3)dojo:一个巨大的库,包括的东西很多,dijit和dojox是dojo的扩展,几乎你想要的各种javascript程序都包括了。(4)prototype:一个非常流行的库,使用了原型链向javascript中添加了很多不错的函数(5)YUI:(YahooYUI库)yahoo!用户界面,非常实用,提供各种解决方案。ExtJs:组件非常丰富,皮肤也很漂亮,动画效果也丰富5。3 系统设计与实现3.1需求分析3.1.1功能需求1. 界面登录模块:提供给客户和技术客服人员(授权用户)、审批人员、超级管理员登录,不同的用户提供不同的权限限制。2. 技术服务门户网站模块:系统的统一界面,提供工单系统的各种功能查看。3. 工单管理模块:工单管理模块包括工单提交、工单查询、工单处理和工单状态管理。工单提交功能可以在线生成新的工单。工单查询功能可以提供用户查询当前工单的状态,工单的流转功能提供工单的在线流转记录。工单处理功能可以给技术服务人员对工单提出的问题提供解决方案。4. 客户信息管理模块:给系统管理员提供增删客户信息。5. 知识库模块:对处理过的工单进行归档和处理,方便技术服务人员查询和处理。建立整个企业的知识学习和共享平台。3.1.2 项目计划安排项目整体的开发计划如图3.1所示,此图是用Visio 2010生成的,主要描述了项目的整体的安排和各个部分在整个项目开发周期中所占的时间比重。3.2系统开发环境3.2.1开发环境硬件配置:l 机器:ACER 笔记本l CPU: Core i3-2350 2.3GHzl 内存:DDR3 4Gl 硬盘:500G操作系统:Microsoft Windows 7 64bit (en-us)开发工具:Visual Studio 2010、SQL Server 2008 Express工具插件:jQuery图3.1项目安排计划3.2.2 Visual Studio 2010开发环境Visual Studio是微软公司推出的开发环境。是目前最流行的Windows平台应用程序开发环境。Visual Studio 2010版本于2010年4月12日上市,其集成开发环境(IDE)的界面被重新设计和组织,变得更加简单明了。Visual Studio 2010同时带来了 NET Framework 4.0、Microsoft Visual Studio 2010 CTP( Community Technology Preview-CTP),并且支持开发面向Windows 7的应用程序。除了Microsoft SQL Server,它还支持 IBM DB2和Oracle数据库12。3.4系统设计与实现3.4.1系统功能结构,如图3.2所示。普通用户工单管理系统授权用户超级管理员工单处理工单查看查看反馈信息查看申请记录人员管理员管理公共功能工单管理工单申请工单查看查看收件箱工单查看查看我的工单工单查看修改密码工单查看查看个人资料工单查看查看知识库工单查看联系我们工单查看模糊查询工单查看图3.2 系统功能结构图3.4.2 分层架构核心思想1、针对接口编程,而不针对实现编程针对接口编程,而不是针对实现编程-这是面向对象设计中最重要的原则之一这里所指的接口,不是特指编程语言中的具体语言元素(如C#中由Interface定义的语言接口),而是只一种抽象的,在语义层面上起着接合作用语义体。它的具体实现,可能是接口,可能是抽象类,甚至可能是具体类。一般接口可以理解为以下两点:l 接口是一组规则的集合,它规定了实现本接口的类或接口必须拥有的一组规则。体现了自然界“如果你是则必须能”的理念。l 接口是在一定粒度视图上同类事物的抽象表示。具体到N层架构中,针对接口编程的意义是这样的:现约定将N层架构的各层依次编号为1、2、K、N-1、N,其中层的编号越大,则越处在上层,那么第 K 层不应该依赖具体一个 K-1 层,而应该依赖一个 K-1 层的接口,即在第 K 层中不应该有 K-1 层中的某个具体类。2、依赖倒置原则在软件设计原则中,有一种重要的思想叫做依赖倒置。它的核心思想是:不能让高层组件依赖底层组件,而且,不管高层组件和底层组件,两者都应依赖于抽象。所谓的依赖倒置原则,其实就是上面提到针对接口编程,而不是针对实现编程,两者在本质上是统一的。 综上所述,本系统应该是这样一种架构: 1) N层架构的各层依次编号为 1、2、K、N-1、N,其中层的编号越大,则越处在上层。 2) 架构中仅存在一种依赖,即第 K 层接口依赖第 K-1 层,其中 1K=N。3、封装变化封装变化的原则定义为:找出应用中可能需要变化之处,把它们独立出来,不要和那些不需要变化的代码混杂在一起。4、开放、关闭原则开发-关闭原则定义为:对扩展开放,对修改关闭。5、单一职责原则任何一个类都应该有单一的职责,属于单独的一层,而不能同时担负两种职责或属于多各层。三层架构是一种比较成熟的系统架构,通过将整个系统分为不同的逻辑块,大大降低了应用系统开发和维护的成本。三层架构将数据访问和逻辑操作都集中到组件中,增强了系统的复用性。同时也使系统的扩展性大大增强。模块化使得系统很容易在纵向和水平两个方向拓展:一方面可以将系统升级为更大、更有力的平台,另一方面也可以适当增加规模来增强系统的网络应用9。从开发角度和应用角度来看,三层架构比双层或单层结构都有更大的优势。三层结构适合群体开发,每人可以有不同的分工,协同工作使效率倍增。开发双层或单层应用时,每个开发人员都应对系统有较深的理解,能力要求很高,开发三层应用时,则可以结合多方面的人才,只需少数人对系统全面了解,从一定程度工降低了开发的难度。基于以上优点本系统采用三层架构来开发。3.4.3 工单系统的业务流程作为服务于企业和组织的工单系统,其系统内部需要有一套完善的业务流程体系,以满足企业和组织在使用中和操作中的任务分配,事务处理,流程自动化等。下面举个例子来明确该体系所应包含的内容以及一个工单系统流程具体的操作方式:1 一个授权用户接到客户的工单请求(可能在网页上提交也可能是电话咨询),其内容是关于一个具体的问题。一些工单系统提供自动回应和提醒(本人所做的工单系统不支持自动回复功能)。2 一个授权用户确认该问题的真实性,并通过工单系统或电话收集该客户关于该问题的所有信息。并获取该用户的一些必要信息。3 该授权用户确定是否流转或者直接处理此工单,如果直接处理,则录入所有关于该问题的相关信息和问题的解决方案,如果选择流转,则录入相关请求信息,然后转派工单。4 选择流转的工单会产生流转记录,审批人员在收到转派的工单后进行回复,每次流转的最后仍然要经过客服人员处理。5在处理进程中,工单会经历若干状态(工单状态分为:已派单、已回复、已处理、已反馈、已完成),直到已解决该问题,工单的内容会随着问题处理的进度而进行相应的更新。并会发送相应的提醒给请求客户。6当一个工单被解决后,该工单在系统中会被标记成已完成,并作为该客户用户事务的归档以便后续追踪和查阅。从以上简单的流程可以看到,一个优秀的工单系统需要拥有完善的业务流程体系和自定义引擎来方便最终用户和管理人员进行高效的日常操作。工单业务流程如图3.3所示。工单管理系统是否派单工单处理系统授权用户处理工单是审批人员回复工单工单反馈否授权用户客户受理客户需求3.3 工单流程图3.4.4数据库设计数据库设计是建立数据库及其应用系统的第一步,是开发系统最重要的一部分。数据库设计中的一个核心问题,就是如何设计一个能够满足用户当前与可预见的未来的各项应用要求、性能良好的数据库。数据库设计是否合理会极大影响系统的使用性能。数据库设计就是从用户的数据需求、处理要求及建立数据库的环境条件(软、硬件特性以及其他限制)出发,运用数据库的理论知识,把给定的应用环境(现实世界)存在的数据加以合理地组织起来,逐步抽象成已经选定的某个数据库管理系统能够定义和描述的具体的数据结构,构造性能最优的数据库模式,建立数据库及其应用系统,使之能够有效地存取数据,满足各种用户的应用需求10。具体地说,数据库设计包括了解用户需求、确定系统范围,选择开发方法,准备开发环境,制定开发计划,设计各子系统的功能和接口,设计安全性策略、需求和实现方法,制定详细的工作流和数据流,设计数据模型、物理结构,并编写外部设计文档11。下面是工单管理系统的数据库关系图,如图3.4所示。图3.4 数据库表关系图整个系统涉及的数据库的表有7张,以下是各个表的简要说明。(1)标识名称:User(用户表)主要作用:主要用于存储系统各个用户的相关信息,其中Type字段存储每个用户的角色权限。如表3.1所示。表3.1 用户表字段名字段解释字段类型是否空ID用户idint(自加一)非空Name用户名Varchar(50)非空pwd密码varchar(50)非空type用户类型nchar(10)非空Dep部门Nchar(10)非空News新信息(+-1)int非空Forward转发信息int非空feedback反馈int非空(2)标识名称:OderInfo(工单表)主要作用:主要存储系统的工单信息,包括工单申请的各个详细内容,覆盖了工单申请的主要元素。如表3.2所示。 表3.2 工单表字段名字段解释字段类型是否空name申请人姓名varchar(50)非空applydep申请人部门varchar(50)-tittle工单标题varchar(50)-detail工单详情varchar(500)-state工单状态nchar(10)-flowdoc流转记录varchar(500)-handlesug处理记录varchar(500)-userfeedback反馈记录varchar(500)-email邮箱varchar(500)-tel电话号码varchar(50)-protype申请类型varchar(50)-proclass申请级别varchar(50)非空(3)标识名称:fujian(附件表)主要作用:存储工单系统中附件的信息和存储位置,因为附件存储在服务器上,将附件的存储路径存储在数据库上而不是直接存储是为了减少对数据库的存储压力,读取的时候也比较方便。如表3.3所示。表3.3 附件表字段名字段解释字段类型是否空name附件名varchar(100)-path存储路径varchar(100)-tittle工单标题varchar(100)-(4)标识名称:Applyrecord(工单申请记录表)主要作用:记录工单申请的记录,包括申请人,申请标题,状态和申请时间。如表3.4所示。表3.4 报表信息表字段名字段解释字段类型是否空applyname申请人姓名varchar(50)-apptittle申请标题varchar(500)-state工单状态varchar(50)-Time工单时间varchar(50)-(5)标识名称:forwardeddoc(流转信息表)主要作用:存储流转过程中的各个重要信息,比如工单标题,流转时间,流转内容,接收人和发送人等。如表3.5所示。表3.5 工单反馈表字段名字段解释字段类型是否空tittle工单标题varchar(500)-receivename接收人姓名varchar(50)-sendname转发人姓名varchar(50)-state状态varchar(50)-forward流转意见varchar(500)-time流转时间 varchar(50)-(6)标识名称:handle(工单处理表)主要作用:记录工单处理相关信息,由授权用户批上处理意见后,继续流转。如表3.6所示。 表3.6 工单流转表字段名字段解释字段类型是否空tittle工单标题 varchar(500)-handle处理意见varchar(500)-name处理人姓名varchar(50)-time处理时间varchar(50)-(7)标识名称:userfeedback(用户反馈表)主要作用:存储客户在反馈后的信息,每当客户对工单的处理方案做出反馈意见时,工单的反馈意见都会存储在工单反馈表中。如表3.7所示。 表3.7 工单流转表字段名字段解释字段类型是否空tittle工单标题varchar(500)-name申请人姓名varchar(50)-feedback反馈内容varchar(500)-feedbacktime反馈时间varchar(50)-下图完整显示了整个系统所涉及的数据库表。如图3.5所示。图3.5 数据库表3.4.5 登录模块该模块主要是对想要登录本系统的用户的用户名、密码和登录类型进行检验。只有用户名、密码、登录类型和验证码都正确了才能成功的登录本系统,而且会根据不同的登录类型到不同的界面;若用户名、密码、登录类型或者验证码只要有一个出错或者没有填写都会导致登录失败。在登录时记录用户的用户名和所属部门到Session,通过Session传递值。3.4.6 技术服务门户网站模块工单管理系统的主页面,整个系统采用母板页技术,使整个系统保持统一风格。母版页的使用与普通页面类似,可以在其中放置文件或者图形、任何的HTML控件和Web控件,后置代码等。母版页的扩展名以.master结尾,不能被浏览器直接查看。母版页必须在被其他页面使用后才能进行显示。它的使用跟普通的页面一样,可以可视化的设计,也可以编写后置代码。与普通页面不一样的是,它可以包含ContentPlaceHolder控件,ContentPlaceHolder控件就是可以显示内容页面的区域。工单管理系统采用的是B/S架构,B/S系统中的权限比C/S中的更显的重要,C/S系统因为具有特殊的客户端,所以访问用户的权限检测可以通过客户端实现或通过客户端+服务器检测实现,而B/S中,浏览器是每一台计算机都已具备的,如果不建立一个完整的权限检测,那么一个“非法用户”很可能就能通过浏览器轻易访问到B/S系统中的所有功能。因此B/S业务系统都需要有一个或多个权限系统来实现访问权限检测,让经过授权的用户可以正常合法的使用已授权功能,工单管理系统有三个不同的角色,分别是1、普通用户,2、授权用户,3、超级管理员。每个角色都有属于自己的功能模块,所以本人在用户表增设分组字段,当成功登录进去后只显示相应的功能模块,其他功能模块采用隐藏的方式隐藏起来,实现角

温馨提示

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

评论

0/150

提交评论