版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、IVR流程编写规范IVR Codi ng Sta ndard编制单位:新太科技技术开发中心编制时间:2004/2/20文档编号:SPMS-SEP-12版本号:内部试用版编制审核批准生效日期汤冬儿赵刚张少文2004.2.25变更记录A - ADDED M- MODIFIED D - DELETED序号日期早节号A/M/D变更简述变更人目录1. 目的 42. 说明 43. 流程规范 43.1 组织结构 43.2 排版 43.3 注释 73.4 命名 153.5 变量 173.6 状态 193.7 函数 203.8 流程动作基本约定 261. 目的本部分编写规范适用于新太IPS流程编写。2. 说明本
2、规范作为一个标准的IPS流程编写规范,其中对于规则是必须遵守的,建议是 提醒您需要注意的地方,或者是在该情况下一个较好的选择。3. 流程规范3.1组织结构规则1-1 :在流程文件存放的根目录下,只能有.sc、.cod、.ini文件。其他的文 件,按所属业务不同存放在不同的目录下,保持流程的根目录清洁。建议1-1 :不同类型文件按类型分目录存放,原则是要类型分明,便于管理,便于过 期删除,目录下文件如果有无限增长的趋势,请按一定规则(例如日期)分目录存放。建议1-2 :放音动作所需的语音文件.vox /.v41 文件,在./vox/目录存放;流程图等文档说明在./doc/目录下存放。3.2排版规
3、则2-1 :流程中各状态块间保留1行空行。规则2-2 :函数之间保留3行空行。规则2-3 :流程头部配置参数、宏、函数、全局变量定义区域按先后顺序分开并注释 含义,便于查找/ 流程配置参数定义#iniparam stringsAgentStartTime/ 座席开始服务时间#iniparam stringsAgentStopTime/ 座席结束服务时间#iniparam stringsCurrencyFaxFile/ 货币代码传真文件#iniparam intnMaxTalkRecs/ 系统最大的可说资源数配置文件*End of/ 流程宏定义#define INPUTERRLIMIT 3/ 输
4、入错误次数限制#define ACCOUTLENGTH23/ 账号长度(最长)/ 主函数语音文件根目录#define MAINPATH .sysvox#define MAINVOX1 NQQWel.vox/您好,QQ现已开通千里音缘服务#define MAINVOX2 NQQCity.vox/ 千里音缘目前已开放四川、海南两地End of宏定义*/ 流程函数定义#function main/ 主函数#function OnClear_QQCallOut/ 异常处理函数End of函数定义*/*/ 流程全局变量定义/*#declare SR g_sAstring= This is a strin
5、g/ 一个全局使用的数据串#declare FR g_fMyMoney= 10.5/ 一个全局使用浮点数,表示金额#declare IR g_nCount/ 整型全局变量表示数目End of-M* *规则2-4 :使用不同编辑工具时,要求定义Tab键为4个空格位(不要用空格填充) ”之前至少要保留一个TAB键(最好 同一个状态下的所有 -符号都对齐),“ -”之后要保留一个空格。例2::stNationalQQCallIn Strsub $CallerID, 1, 2 Equal SR0, 13 Passed - stLocalQQNormal/ 外省用户呼入/ 本地用户/ 外地用户规则 2-
6、8 :iniparam , define , declare等定义时,第二个参数和第三个参数之间用Failed - stNationalQQCall个或者多个Tab键间隔开,以对齐美观为准。示例参见上面例13.3 注释规则 3-1 :一般情况下,源程序有效注释量必须在 20%以上。说明:注释的原则是有助于对程序的阅读理解,在该加的地方都加了,注释不宜 太多也不能太少,注释语言必须准确、易懂、简洁。规则 3-2 :流程头部配置参数、宏、函数、全局变量定义区域按先后顺序分开并注释 含义。示例参见上面例 1。规则 3-3 :流程头部必须注明各种配置参数使用约定。规则 3-4 :在流程头部定义全局变量
7、的同时须明确列出该全局变量的含义及使用方案 例 3 :全局变量*#declare IR g_nLeaveWordType= 0/ 留言类型 0 发送留言, 1 转发留言, 2回复留言#declare IR g_nCanChoose= 1/ 收听用户资料时是否可以按键选择#declare SR g_sYWBegintime = yyyy-mm-dd hh:mm:ss/ 当 前 业 务 开 始 时 间 字 符 串End of全局变量*规则 3-5 :流程头部必须有自定义函数功能介绍。规则 3-6 :函数体开始之前必须有传入、传出参数解释,函数返回值解释。返回值的一般 0 表示正常, 1 表示有错,
8、 9 表示异常退出, 4 表示转座席、 8 回主 流程、7 回上级菜单。/Function name:FormatTxtFile/Function usage:用于将文本文件转换成传真文件/ 传入参数:/g_sTxtFileName:需要转换的文本文件;/ 传出参数:/g_sFaxFileName:转换后的传真文件名;/Returned: 0 转换成功; 9 异常错误;/ 厦门建行客服中心/ 编写日期: 03/22/2001规则 3-7 :子函数必须有编写 / 修改日期。示例参见例 4 规则 3-8 :如果有与网关交易部分必须明确收发包格式。例 5 :/*/function name:func
9、Trans282600/function usage: 对公业务修改电话银行密码/ 传入参数:/ 传出参数:/Returned:0 修改成功 ;9 连接数据库失败/上传报文:|282600|9999|帐号|密码|A/下传报文:|282600|返回码|a/*规则 3-9:注释应与其描述的代码相近,对子函数代码的注释应放在其上方,需与其 上面的代码用空行隔开;对函数中代码的注释应置于右方相邻位置,不可放在下面。规则 3-10:流程文件中 尽量使代码右方注释处于同一列 ,方便阅读理解。规则 3-11 :流程中重要部分一定要注释。例如菜单选择后状态跳转 规则 3-12 :涉及数据库操作必须注明实际 S
10、QL。说明:明确数据库操作目的,方便后期调试、测试核对流程。例 6 :查询不得注册用户黑名单(如电话卡用户) */function name: funcQueryRegBlacklist/function usage:查询主叫号码是否在不得注册用户黑名单(如电话卡用户)/ 传入参数:主叫号码 $CallerID/ 传出参数:无/Returned :0 表示非黑名单用户 1 为黑名单用户 2 为数据库超时funcQueryRegBlackList#declare IR m_nReturn = 0/ 返回值:stWaitIll Assign g_sSQL, select * from qq_Reg
11、Blacklist where F_caller like StrCat g_sSQL, $CallerID StrCat g_sSQL, % ExecSQL g_sSQL /select * from qq_RegBlacklist/ where F_caller like %Passed - stIsBlacklistFailed- stNotBlackListTimeOut - stTimeout:stIsBlacklist Assign m_nReturn, 1 /1 表示是黑名单用户 ClearDTMF SetDTMF ? Assign SR0, MAINPATH Strcat SR
12、0, MAINVOX29 PlayFile SR0 / “本用户不能进行注册”StopPlayBack - stExitDialTerminate - stExitFailed- stExit:stNotBlackList Assign m_nReturn, 0 /0 表示非黑名单用户 - stExit:stTimeout Assign m_nReturn, 2 /2 表示数据库超时 - stExit:stExit Return m_nReturn End of查询不得注册用户黑名单*规则 3-13 : 播放语音必须注释放音实际文字便于核对流程,以及方便阅读,以及语音文件遗失情况下恢复:stB
13、egin ClearDTMF SetDTMF 12 Assign SR0, INCARDPATH Strcat SR0, REGINPUTVOX1 PlayFile SR0 StopPlayBack - stSelectSexDialTerminate - stSelectSexFailed - stSelectSex/ 请输入您的个人资料, 男生按 1,/ 选择性别女生按 2规则 3-14 :在流程中使用到全局变量必须注释用途含义,保持全局变量含义统 避免在另外一处改变其含义。例 8 ::stPromptUserType1 Assign g_nUserType, 1 / 用户权限 为 1 级
14、管理员 ClearDTMF SetDTMF ? Assign SR1, PROMPTUSERTYPEPATH Strcat SR1, PROMPTUSERTYPE1 / 您好, 您是本聊天室的 1级管理员 PlayFile SR1 StopPlayBack - stExit0DialTerminate - stExit0Failed - stExit0规则 3-15 :边写代码边注释,修改代码同时修改相应注释,以保证注释与代码一致 性。没用的注释要及时删除。规则 3-16 :注释内容要清楚、明了,含义准确,防止二义性。规则 3-17 :避免在注释中使用缩写,特别是非常用缩写说明:在使用缩写时或
15、之前,应对缩写进行必要说明。建议 3-1 :通过对函数或状态、变量等正确命名,使流程代码成为自注释的。3.4 命名规则 4-1 :状态、变量、函数命名只能使用英文字母、下划线以及数字的组合。应当 尽量使用常规的英文或英文缩写,避免使用无法阅读理解的命名方式。规则4-2 :配置文件参数,如果是字符串string 类型的以“ S做为前缀;如果是整数int类型的则以“ n做为前缀例 9 :#iniparam intnMaxTalkRecs/ 系统最大的可说资源数#iniparam stringsCurrencyFaxFile/ 货币代码传真文件规则 4-3 :宏定义必须全部大写。示例参见上面例 1中
16、的宏定义。规则 4-4 :全局变量命名参见规则 5-1 “全局变量命名”。规则 4-5 :局部变量命名参见规则 5-2 “局部变量命名”。规则 4-6 :状态命名参见规则 6-1 “状态命名约定”。规则 4-7 :函数命名参见规则 7-2 “主函数命名”、规则 7-4 、规则 7-5 “自定义子函 数命名”、规则 7-6 “自定义例外处理函数命名”。规则 4-8:命名要清晰、明了,有明确含义,同时使用完整的单词或大家基本可以理 解的缩写。说明:较短的单词可通过去掉元音形成缩写,较长的单词可取单词的头几个字母 形成缩写,单词的第一个字母大写。一些单词有大家公认的缩写。例 10 :如下单词的缩写能
17、够被大家基本认可。Send 可缩写为 Snd;Receive 可缩写为 Rcvtemp 可缩写为 Tmp;flag 可缩写为 Flg;statistic 可缩写为 Stat;status 可缩写为 Sta;message 可缩写为 Msg;规则 4-9 :命名中若使用特殊约定或缩写,则要有注释说明。规则 4-10 :用正确的反义词组命名具有互斥意义的变量或相反动作的函数等。例 11: begin/end create/destroy insert/delete put/get min/max 等。3.5 变量规则5-1 :全局变量命名要以9_开头(g表示global ),如果是字符串类型的则为
18、 g_s做前缀,如果是整型的则以g_n做前缀,如果是浮点型的则以g_f做前缀。例 12 :#declare SR g_sAstring= This is a string#declare FR g_fMyMoney = 10.5 #declare IR g_nCount 规则5-2 :局部变量命名要以 m_为前缀(m表示membe),如果SR类型的则为m_s 做前缀,如果是IR类型的则以m_r做前缀。例 13 :#declare SR m_sAstring = This is a string#declare FR m_fMyMoney = 10.5#declare IR m_nCount规则
19、 5-3 :全局变量定义区域参见规则 2-3 “流程头部配置参数、宏、函数、全局变 量定义区域”,示例参见例 1。规则 5-4:参见规则 3-4“在流程头部定义全局变量的同时须明确列出该全局变量的 含义及使用方案”。规则 5-5 :变量命名尽量符合该变量实际含义。规则 5-6:去掉没有必要的全局变量,函数内部尽量使用局部变量。说明:全局变量是增大模块间耦合的原因之一,故应减少没必要的全局变量以降 低耦合度。规则 5-7:在流程开头仔细定义并明确全局变量的含义、作用、取值范围及全局变量 间的关系。规则 5-8:当向全局变量传递数据时,要十分小心,防止赋予不合理的值或越界等现 象说明:当向全局变量
20、传递数据时,应进行合法性检查,并在该行对变量含义做注释说明 规则 5-9 :寄存器变量使用一般作为 IVR 系统函数传递参数 /返回值使用。流程内部 自定义函数不推荐使用寄存器变量。 除了动作返回值等不得不使用寄存器变量的情况 外, 一律不使用 寄存器变量,用自定义变量代替。规则 5-10 :参见规则 3-14 “在流程中使用到全局变量必须注释用途含义,保持全局 变量含义统一,避免在另外一处改变其含义”。规则 5-11 :防止局部变量与全局变量同名。规则 5-12 : 严禁使用未经初始化的变量作为赋值。建议5-1 :建议不使用IRO或者SR0乍为后续状态的变量,特别的,如果要超过 3个状态后仍
21、然需要使用当前IRO或SRO的值,先把IRO或SRO赋值给其他变量中保存。3.6 状态规则 6-1 :状态命名约定以 “st ”开头,第三个字母大写表示实际有含义的名称开始。例 14 ::stWaitConnect - stGetTime:stGetTime NowTime Assign m_sTime, SRO 规则 6-2 :函数中以状态 stWait 开始,以状态 stExit 结束。示例参见下面例 15、例 17。规则 6-3 :状态跳转为事件所驱动3.7 函数 规则 7-1 :在一个业务流程程序里面只能有一个主函数。规则7-2 :主函数只能名为main,在开始一个业务流程的时候自动执
22、行。规则 7-3:在一个业务流程程序里面可以有多个子函数。规则 7-4:子函数名不能为 main。规则 7-5:自定义子函数除例外处理函数外,命名要以“ func ”开头,第五个字母大 写表示实际有含义的名称开始,尽量表示该函数执行的具体功能、操作。例 15 :通用聊天过程*/function name : funcChatProcess /function usage :通用聊天过程/ 输入参数: g_nChatID 聊天室编号 , g_nChatType 加入聊天的方式 , g_nQQIdentify 加入聊天身份 , / g_nTalkTime 聊天时长 , g_nIsFullExit
23、当没可说资源时是否退出来 , 在主题聊天 时会用到要退出/ 输出参数:无/ 返回值 0 正常退出, 1 对碰中退出 , 2 聊天室编号不存在 , 3 其他错误, 4 没可 说资源的退出/*/ 通用聊天过程/*funcChatProcess:stWait/action here.:stExitEnd of通用聊天过程*规则7-6 :流程自定义例外处理函数,以“ OnClear_”为前缀例 16:/电话QQ乎出异常处理函数#function OnClear_QQCallOutClear#function OnClear_sslwCountTime/ 三省联网统计互拨时长规则 7-7 :流程中每一层
24、菜单是独立函数,每一个选择项是独立函数。规则 7-8 :在自定义函数开头须注释该函数的功能说明,详细传递参数、返回值的各 种含义。示例参见例 15。规则 7-9 :传入、传出参数尽量使用自定义全局变量,除系统规定外不推荐使用寄存 器。承担函数传递参数的全局变量命名要符合变量命名规则。规则 7-10 :子函数返回值约定,通常约定返回值0 表示成功,其他值表示其他不成功原因。目前已经形成的一些基本约定A , Returened(9)表示出错需要主动退出流程,如资源分配失败/放音失败等B, Returened(8) 表示需要回到主流程C, Returened(7) 表示只需回到上层菜单D, Retu
25、rened(4) 表示转坐席后退出E,其他返回值暂定回到上一级菜单F,每个函数后都需要处理Returned(-I)事件例 17 :*/ 判断传入参数/ 正常连接坐席成功/ 连接坐席/*funcConnectAgent#declare IR m_nReturnedCode / 标识子函数退出状态:stWaitEqual g_nData , 0- stStar:stStar/action here./ :stSuccess Assign m_nReturnedCode, 0 - stExit:stAgentExit Assign m_nReturnedCode, 4 - stExit:stMainMenu Assign m_nReturnedCode, 8 - stExit:stPreMenu Assign m_nReturnedCode, 7 - stExit:stExitFlow Assign m_nReturnedCode, 9 - stExit:stExit/ 转坐席后退出/ 回到主流程/ 回到上层菜单/ 出错需要主动退出流程 Return m
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2024年度教育培训与咨询服务合同
- 北师大版四年级上册数学第三单元 乘法 测试卷及参考答案【满分必刷】
- 人教版四年级上册数学第四单元《三位数乘两位数》测试卷含完整答案(易错题)
- 2024公园景观照明工程合同
- 福建省福州第十八中学2023-2024学年八年级上学期期中语文试题
- 2024年度加工承揽合同标的及工作成果要求
- 2024年建筑工程材料采购合同简易版
- 2024年度搜索引擎公司机房租赁合同
- 多租户支持与隔离
- 面向对象的模块化开发
- 2024-2025学年二年级上学期数学期中模拟试卷(苏教版)(含答案解析)
- 入团志愿书(2016版本)(可编辑打印标准A4) (1)
- (完整word版)拼音练习jqx和ü、üe的相拼
- 医疗质量检查分析、总结、反馈5篇
- 桅杆工艺技术及施工要求
- (完整版)六年级下册体育教学计划与教案
- 北京地铁受电弓的维护与故障检修-毕业设计说明书
- 幼儿园教育和家庭教育的有效结合研究
- 集团公司两金管理评价办法
- 电影的声音分析PPT课件
- “三措一案”实施规范标准
评论
0/150
提交评论