分享
 
 
 

系统分析员之路(1)--论面向对象技术在呼叫中心开发的应用

王朝other·作者佚名  2006-01-08
窄屏简体版  字體: |||超大  

前言:本人在准备系统分析员考试中论文部分的习作,请大家打分(总分75分),并指出可取之处与不足之处,谢谢!

论面向对象技术在呼叫中心开发的应用

摘要:呼叫中心产品是当前应用的一个热点,通过该产品,客户可以足不出户的享受方便快捷的

语音与传真等服务。对企业来说,建立呼叫中心对于提高客户满意度,争取客户乃至增长利润都有

极大的意义。目前呼叫中心在各行各业特别是金融业得到了广泛的应用。本文从笔者参与的银行呼

叫中心项目开发的经历出发,讨论了采用面向对象技术的理由及过程。同时,讨论了面向对象技术

在开发中的应用,如:面向对象设计原则、UML技术、设计模式等,使设计的系统拥有较好的可重

用性、易维护性。

正文:

我所在的单位是把目标定位在金融领域开发IT应用的一家信息技术公司。随着金融电子化建

设的发展和商业银行之间市场竞争的加剧,各主要商业银行不断通过信息技术提供新的金融产品,

以期为客户提供更好的服务并且整合市场渠道。比如各银行纷纷推出呼叫中心,使客户能够足不出

户地享受7×24×365的服务。本人作为公司呼叫中心项目组的一名技术骨干,有幸参与了该产品的

研发、推广、升级。

选择面向对象技术的原因。呼叫中心通过公用电话网为客户提供语言与传真等服务,主要由语音

服务器(IVR)、传真服务器(Fax Server)、坐席端(CSR)等子系统组成。我们公司的第一代产

品主要采用结构化的方法进行分析、设计、编码。此产品在全国多家银行推广使用。由于客户的需求

不一样,我们的产品需要客户化,同时,由于客户需要的规模不同,语音卡可能采用不同的厂家的不

同系列产品,这样,随着应用的推广,结构化方法的弊端也逐渐显现出来。首先是模块之间的耦合性

太强,代码不好理解、维护。经常出现“牵一发而动全身”的情况,有时工程师进行维护的时候,局

部的改动也会影响到一大片程序。另外,模块复用性很差,在此背景下,公司组织技术骨干进行讨论,

以期找到一种理想的解决方案来改变这种局面。以往的开发经验使我感觉到面向对象技术比较适合于

此类应用系统的开发。于是我提出我的设想及初步方案,得到了大多数与会者的赞同。会后,我正式

写出了技术改进方案,并应用快速原型法作出了一个简单原型,向公司领导及其他技术人员演示了面

向对象开发的优点。技术改造建议书与原型得到了领导的赞许。为了降低风险,而且呼叫中心的各个

子系统相对独立且在架构上有很多相似之处,于是,我考虑可以利用呼叫中心的一个子系统传真服务

器作为试点进行开发,效果明显的话再考虑其他子系统的改造。在这个改造的过程中,我使用了多种

措施来达到预期目的:

1)面向对象设计原则的应用。在旧系统中,主要因为模块之间的耦合性太强,全局变量太多,Case

语句太多而引起系统的重用性、维护性差。要解决这个问题,我们采用了面相对象中封装的特性来实

现信息隐藏。通过抽象,把系统分解为一些相互通信的对象,这些对象向外隐藏实现细节,对象之间仅

仅知道对方的接口,这样,他们的耦合性大大降低,为复用提供了可能。在面向对象设计中有一个重要

的设计原则:OCP原则(The Open Closed Principle),就是说设计对象时,要使它易于扩充,但扩充

的前提是不修改已有代码。这在结构化编程中简直是不可思议,但我利用了面向对象的多态特性来实现

了这一原则。例如,这个子系统需要采用传真卡,而传真卡有数字卡与模拟卡,不同厂家提供的API也

可能不一样,在以往的结构化编程中,要么一种板卡一套程序,要么代码中充满了switch...case语句。

我们利用了多态的特性,抽象出板卡之间的共性作为基类,而具体采用的板卡从这个基类上派生出子类

即可。这样,不同的板卡,就是采用了不同的子类,维护性就大大增加了。

2)UML(Unified Modeling Language)的采用。就像建筑工程师需要画出建筑设计图一样,软件工

程师也需要一种建模工具,来进行设计、交流、写文档。UML作为面向对象建模语言的标准,成为我的

设计首选。不少软件工程师(包括以前的我)都有这样的坏习惯:一坐下来就是开始写代码,代码边写

边改,有时到快写完时才发现有严重的漏洞,从而导致质量、效率大打折扣。在UML中,我们可以通过

多种图,从不同的角度来描述我们要设计的系统,在画图的过程中,我的思路就变得清晰起来,对系统

的理解也就越深。这样就避免了重编码、轻设计的弊端。由于UML是建模标准,通过在项目组内、公司

内的推广学习,使开发人员之间的交流方式得到统一,也能使程序员准确地理解设计,避免二义性。在

这个项目中,我用Microsoft Visio2002画出了类图、序列图、活动图等,使我的设计思路逐渐清晰。

同时,这是公司第一个采用UML进行设计的项目,对公司的文档标准化进程也是一种有益的尝试。

3)设计模式的理解运用。设计模式是一些常见的设计问题的的优雅、巧妙的解决方案,通过“模仿”

设计模式,即使是面向对象设计的初学者,也可实现大师级的设计,从而拥有极好的灵活性、重用性。

在设计这个系统之前,我有幸拜读了Erich Gamma等四人的著作《设计模式》,从中得到的设计灵感以

及设计原则使我受益颇深。比如:传真服务器设计中,只允许有一个消息队列,为了避免意外,采用了

Singleton(单件)模式,优美地解决了这个问题。另外,采用了Template模式,实现了业务流程的定

制等。设计模式对促进项目组内的技术交流有很大的帮助,一句“在这里采用了Template模式”比画

出几个类图、交互图要有效许多。当然,前提是对方也知道Template模式。

这个技术改造项目历时一个多月,取得了理想的效果。改造后的系统运行在Unix上,采用C++实现,

系统架构很清晰,这可以从UML的类图与包图看出来。代码重用性强,后来的这套系统移植到WinNT平台,

除了跟Unix底层的机制有关的消息队列类、共享内存类要修改外,其他均实现了平滑移植。这个系统经

评审后,被认为成功的达到了预期目的,为其他子系统的改造提供了良好的基础。

面向对象技术的优越性明显,但它的要求也较高,它需要设计者要对面向对象的思想有较深入的理

解,否则很容易用结构化的编程思想来写面向对象的程序,这样不但达不到预期目的,反而弄巧成拙。

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
2023年上半年GDP全球前十五强
 百态   2023-10-24
美众议院议长启动对拜登的弹劾调查
 百态   2023-09-13
上海、济南、武汉等多地出现不明坠落物
 探索   2023-09-06
印度或要将国名改为“巴拉特”
 百态   2023-09-06
男子为女友送行,买票不登机被捕
 百态   2023-08-20
手机地震预警功能怎么开?
 干货   2023-08-06
女子4年卖2套房花700多万做美容:不但没变美脸,面部还出现变形
 百态   2023-08-04
住户一楼被水淹 还冲来8头猪
 百态   2023-07-31
女子体内爬出大量瓜子状活虫
 百态   2023-07-25
地球连续35年收到神秘规律性信号,网友:不要回答!
 探索   2023-07-21
全球镓价格本周大涨27%
 探索   2023-07-09
钱都流向了那些不缺钱的人,苦都留给了能吃苦的人
 探索   2023-07-02
倩女手游刀客魅者强控制(强混乱强眩晕强睡眠)和对应控制抗性的关系
 百态   2020-08-20
美国5月9日最新疫情:美国确诊人数突破131万
 百态   2020-05-09
荷兰政府宣布将集体辞职
 干货   2020-04-30
倩女幽魂手游师徒任务情义春秋猜成语答案逍遥观:鹏程万里
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案神机营:射石饮羽
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案昆仑山:拔刀相助
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案天工阁:鬼斧神工
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案丝路古道:单枪匹马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:与虎谋皮
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:李代桃僵
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:指鹿为马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:小鸟依人
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:千金买邻
 干货   2019-11-12
 
推荐阅读
 
 
 
>>返回首頁<<
 
靜靜地坐在廢墟上,四周的荒凉一望無際,忽然覺得,淒涼也很美
© 2005- 王朝網路 版權所有