流程編寫規(guī)范_第1頁
流程編寫規(guī)范_第2頁
流程編寫規(guī)范_第3頁
流程編寫規(guī)范_第4頁
流程編寫規(guī)范_第5頁
已閱讀5頁,還剩5頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

IVR流程編寫規(guī)范IVRCodingStandard編制單位:新太科技技術(shù)開發(fā)中心編制時(shí)間:2004/2/20文檔編號(hào):SPMS-SEP-12版本號(hào):內(nèi)部試用版編制審核批準(zhǔn)生效日期湯冬兒趙剛張少文變更記錄A-ADDEDM-MODIFIEDD-D]ELETED序號(hào)日期章節(jié)”變更簡述變更人目的 說明 流程規(guī)范 組織結(jié)構(gòu) 排版 注釋 命名 變量 狀態(tài) 函數(shù) 流程動(dòng)作基本約定 目的?本部分編寫規(guī)范適用于新太I(xiàn)PS流程編寫。說明本規(guī)范作為一個(gè)標(biāo)準(zhǔn)的IPS流程編寫規(guī)范,其中對(duì)于規(guī)則是必須遵守的,建議是提醒您需要注意的地方,或者是在該情況下一個(gè)較好的選擇。流程規(guī)范組織結(jié)構(gòu)規(guī)則1-1:在流程文件存放的根目錄下,只能有.sc、.cod、.ini文件。其他的文件,按所屬業(yè)務(wù)不同存放在不同的目錄下,保持流程的根目錄清潔。建議1-1:不同類型文件按類型分目錄存放,原則是要類型分明,便于管理,便于過期刪除,目錄下文件如果有無限增長的趨勢(shì),請(qǐng)按一定規(guī)則(例如日期)分目錄存放。建議1-2:放音動(dòng)作所需的語音文件.vox/.v41文件,在./vox/目錄存放;流程圖等文檔說明在./doc/目錄下存放。排版規(guī)則2-1:流程中各狀態(tài)塊間保留1行空行。規(guī)則2-2:函數(shù)之間保留3行空行。規(guī)則2-3:流程頭部配置參數(shù)、宏、函數(shù)、全局變量定義區(qū)域按先后順序分開并注釋含義,便于查找。例1://流程配置參數(shù)定義*************************************************************#iniparamstring#iniparamstring#iniparamstring#iniparamstring#iniparamstring#iniparamstring#iniparamint@sAgentStartTime@sAgentStopTime@sCurrencyFaxFile@nMaxTalkRecs//座席開始服務(wù)時(shí)間//座席結(jié)束服務(wù)時(shí)間//貨幣代碼傳真文件//系統(tǒng)最大的可說資源數(shù)//************************Endof配置文件*************************************************************//流程宏定義*************************************************************#defineINPUTERRLIMIT3#defineACCOUTLENGTH#defineINPUTERRLIMIT3#defineACCOUTLENGTH23#defineMAINPATH ".\\sysvox\\"#defineMAINVOX1 "NQQWel.vox"#defineMAINVOX2 "NQQCity.vox"http://輸入錯(cuò)誤次數(shù)限制//賬號(hào)長度(最長)//主函數(shù)語音文件根目錄〃您好,QQ現(xiàn)已開通千里音緣服務(wù)//千里音緣目前已開放四川、海南兩地//************************Endof宏定義************************************************************************************//流程函數(shù)定義//主函數(shù)////主函數(shù)//異常處理函數(shù)#functionOnClear//************************Endof函數(shù)定義************************************************************************************//流程全局變量定義//一個(gè)全局使用的數(shù)據(jù)串//一個(gè)全局使用浮點(diǎn)數(shù),表示金額////一個(gè)全局使用的數(shù)據(jù)串//一個(gè)全局使用浮點(diǎn)數(shù),表示金額//整型全局變量表示數(shù)目#declareFRg_fMyMoney=10.5#declareIRg_nCount//************************Endof全局變量規(guī)則2-4:規(guī)則2-5規(guī)則2-4:規(guī)則2-5:個(gè)Tab鍵規(guī)則2-6:函數(shù)體里狀態(tài)左縮進(jìn)一個(gè)Tab鍵,保持左對(duì)齊,該狀態(tài)下的動(dòng)作、事件語句左縮進(jìn)一保持左對(duì)齊。流程動(dòng)作語句中,“[”符號(hào)右邊保留一個(gè)空格;“]”符號(hào)左邊保留一個(gè)空格;流程動(dòng)作中參數(shù)分隔符“,”右邊保留一個(gè)空格。規(guī)則:流程動(dòng)作語句中,狀態(tài)跳轉(zhuǎn)符號(hào)“->”之前至少要保留一個(gè)TAB鍵(最好同一個(gè)狀態(tài)下的所有->符號(hào)都對(duì)齊),下的所有->符號(hào)都對(duì)齊),例2::stNationalQQCallIn[Strsub$CallerID,1,2][EqualSR0,"13"]“->”之后要保留一個(gè)空格。//外省用戶呼入PassedFailed規(guī)則2-:8->stLocalQQNormal->stNationalQQCall//本地用戶//外地用戶等定義時(shí),第二個(gè)參數(shù)和第三個(gè)參數(shù)之間用一個(gè)或者多個(gè) 鍵間隔開,以對(duì)齊美觀為準(zhǔn)。示例參見上面例13.3注釋規(guī)則PassedFailed規(guī)則2-:8->stLocalQQNormal->stNationalQQCall//本地用戶//外地用戶等定義時(shí),第二個(gè)參數(shù)和第三個(gè)參數(shù)之間用一個(gè)或者多個(gè) 鍵間隔開,以對(duì)齊美觀為準(zhǔn)。示例參見上面例13.3注釋規(guī)則3-:1一般情況下,源程序有效注釋量必須在20以%上。說明:注釋的原則是有助于對(duì)程序的閱讀理解,在該加的地方都加了,注釋不宜太多也不能太少,注釋語言必須準(zhǔn)確、易懂、簡潔。規(guī)則3-:2流程頭部配置參數(shù)、宏、函數(shù)、全局變量定義區(qū)域按先后順序分開并注釋含義。示例參見上面例1。規(guī)則3-:3流程頭部必須注明各種配置參數(shù)使用約定。規(guī)則3-:4在流程頭部定義全局變量的同時(shí)須明確列出該全局變量的含義及使用方案。例3://***********************全局變量#declareIRg_nLeaveWordType =0\o"CurrentDocument"#declareIRg_nCanChoose =1#declareSRg_sYWBegintime ="http://留言類型0發(fā)送留言,1轉(zhuǎn)發(fā)留言,2回復(fù)留言//收聽用戶資料時(shí)是否可以按鍵選擇〃當(dāng)前業(yè)務(wù)開始時(shí)間字符串yyyy-mm-ddhh:mm:ss//**********************Endof全局變量*1**1**1* <1**1*規(guī)則3-5:流程頭部必須有自定義函數(shù)功能介紹。規(guī)則3-:6函數(shù)體開始之前必須有傳入、傳出參數(shù)解釋,函數(shù)返回值解釋。返回值的一般0表示正常,1表示有錯(cuò),9表示異常退出,4表示轉(zhuǎn)座席、8回主流程、7回上級(jí)菜單。例4://Functionusage: 用于將文本文件轉(zhuǎn)換成傳真文件///傳入?yún)?shù):/傳入?yún)?shù):File需要轉(zhuǎn)換的文本文件;/傳出參數(shù):_FaFilea轉(zhuǎn)換后的傳真文件名;ere轉(zhuǎn)換成功;異常錯(cuò)誤;/廈門建行客服中心/編寫日期:03/規(guī)則3-:7子函數(shù)必須有編寫/修改日期。示例參見例4。規(guī)則3-:8如果有與網(wǎng)關(guān)交易部分必須明確收發(fā)包格式。例5://*******************************************//functionname:funcTrans282600ci對(duì)公業(yè)務(wù)飛修改電話銀行密碼////傳入?yún)?shù)://傳出參數(shù):er修改成功連接數(shù)據(jù)庫失敗//上傳報(bào)文: 帳號(hào)密碼下傳報(bào)文: 返回碼//*******************************************規(guī)則3-:9注釋應(yīng)與其描述的代碼相近,對(duì)子函數(shù)代碼的注釋應(yīng)放在其上方,需與其上面的代碼用空行隔開;對(duì)函數(shù)中代碼的注釋應(yīng)置于右方相鄰位置,不可放在下面。規(guī)則3-1:碼流程文件中盡量使代碼右方注釋處于同一列,方便閱讀理解。規(guī)則3-1:1流程中重要部分一定要注釋。例如菜單選擇后狀態(tài)跳轉(zhuǎn)。規(guī)則i涉及數(shù)據(jù)庫操作必須注明實(shí)際SQL。說明:明確數(shù)據(jù)庫操作目的,方便后期調(diào)試、測(cè)試核對(duì)流程。例6://******查*詢*不*得*注*冊(cè)*用戶黑名單(如電話卡用戶)*************//functionname:funcQueryRegBlacklistci 查詢主叫號(hào)碼是否在不得注冊(cè)用戶黑名單(如電話卡用戶)傳入?yún)?shù):主叫號(hào)碼 aller//傳出參數(shù):無e:r表示非黑名單用戶 為黑名單用戶 為數(shù)據(jù)庫超時(shí)傳傳*******************************************funcQueryRegBlackList{eclare _er 返回值:stWaitcallerl[Assigng_sSQL,"select*fromqq_RegBlacklistwhereFcallerl[StrCatg_sSQL,$CallerID][StrCatg_sSQL,"%'"]lackliec _ elec r _elackliwhereF_callerlike'%Passed ->stIsBlacklistFailed->stNotBlackListTimeOut->stTimeout:stIsBlacklist[Assignm_nReturn,1]傳傳表1示是黑名單用戶[ClearDTMF][SetDTMF""]“本用戶不能進(jìn)行注冊(cè)”表0示]非黑名單用戶表2示]數(shù)據(jù)庫超時(shí)查詢不得注冊(cè)用戶黑名單規(guī)則3-1:3播放語音必須注釋放音實(shí)際文字。便于核對(duì)流程,以及方便閱讀,以及語音文件遺失情況下恢復(fù)例7:請(qǐng)輸入您的個(gè)人資料,男生按女生按[PlayFileSR0]選擇性別DialTermi-n>atsetSelectSex規(guī)則3-1:4在流程中使用到全局變量必須注釋用途含義,保持全局變量含義統(tǒng)一,避免在另外一處改變其含義。例8::stPromptUserType1用戶權(quán)限為級(jí)管理員您好您是本聊天室的級(jí)管理員規(guī)則3-1:5邊寫代碼邊注釋,修改代碼同時(shí)修改相應(yīng)注釋,以保證注釋與代碼一致性。沒用的注釋要及時(shí)刪除。規(guī)則3-1:6注釋內(nèi)容要清楚、明了,含義準(zhǔn)確,防止二義性。規(guī)則3-1:7避免在注釋中使用縮寫,特別是非常用縮寫說明:在使用縮寫時(shí)或之前,應(yīng)對(duì)縮寫進(jìn)行必要說明。建議3-:1通過對(duì)函數(shù)或狀態(tài)、變量等正確命名,使流程代碼成為自注釋的。3.命4名規(guī)則4-1:狀態(tài)、變量、函數(shù)命名只能使用英文字母、下劃線以及數(shù)字的組合。應(yīng)當(dāng)盡量使用常規(guī)的英文或英文縮寫,避免使用無法閱讀理解的命名方式。

規(guī)則:配置文件參數(shù),如果是字符串string類型的以“@s”做為前綴;如果是整數(shù)int類型的則以“@n”做為前綴。例9:#iniparamint@nMaxTalkRecs //系統(tǒng)最大的可說資源數(shù)#iniparamstring@sCurrencyFaxFile //貨幣代碼傳真文件規(guī)則4-3:宏定義必須全部大寫。示例參見上面例1中的宏定義。規(guī)則4-:4全局變量命名參見規(guī)則5-“1全局變量命名”。規(guī)則4-:5局部變量命名參見規(guī)則5-“2局部變量命名”。規(guī)則4-6:狀態(tài)命名參見規(guī)則6-1“狀態(tài)命名約定”。規(guī)則4-7:函數(shù)命名參見規(guī)則7-2“主函數(shù)命名”、規(guī)則7-4、規(guī)則7-5“自定義子函數(shù)命名”、規(guī)則7-6“自定義例外處理函數(shù)命名”。規(guī)則4-:8命名要清晰、明了,有明確含義,同時(shí)使用完整的單詞或大家基本可以理解的縮寫。說明:較短的單詞可通過去掉元音形成縮寫,較長的單詞可取單詞的頭幾個(gè)字母形成縮寫,單詞的第一個(gè)字母大寫。一些單詞有大家公認(rèn)的縮寫。例10:如下單詞的縮寫能夠被大家基本認(rèn)可??煽s寫為可縮寫為可縮寫為可縮寫為可縮寫為可縮寫為可縮寫為規(guī)則4-:9命名中若使用特殊約定或縮寫,則要有注釋說明。規(guī)則4-1:0用正確的反義詞組命名具有互斥意義的變量或相反動(dòng)作的函數(shù)等。例: 等。變5量規(guī)則:全局變量命名要以g_開頭(g表示global),如果是字符串類型的則為g_s做前綴,如果是整型的則以g_n做前綴,如果是浮點(diǎn)型的則以g_f做前綴。例12:#declareSRg_sAstring="Thisisastring"#declareFRg_fMyMoney=10.5#declareIRg_nCount規(guī)則:局部變量命名要以m_為前綴(m表示member),如果SR類型的則為m_s做前綴,如果是IR類型的則以m_n做前綴。例13:#declareSRm_sAstring="Thisisastring"#declareFRm_fMyMoney=10.5#declareIRm_nCount規(guī)則5-:3全局變量定義區(qū)域參見規(guī)則2-3“流程頭部配置參數(shù)、宏、函數(shù)、全局變量定義區(qū)域”,示例參見例1。規(guī)則5方案”。規(guī)則5規(guī)則規(guī)則5方案”。規(guī)則5規(guī)則5:5變量命名盡量符合該變量實(shí)際含義。:6去掉沒有必要的全局變量,函數(shù)內(nèi)部盡量使用局部變量。說明:全局變量是增大模塊間耦合的原因之一,故應(yīng)減少?zèng)]必要的全局變量以降低耦合度。規(guī)則5-:7在流程開頭仔細(xì)定義并明確全局變量的含義、作用、取值范圍及全局變量間的關(guān)系。規(guī)則5-:8當(dāng)向全局變量傳遞數(shù)據(jù)時(shí),要十分小心,防止賦予不合理的值或越界等現(xiàn)象說明:當(dāng)向全局變量傳遞數(shù)據(jù)時(shí),應(yīng)進(jìn)行合法性檢查,并在該行對(duì)變量含義做注釋說明。

規(guī)則:寄存器變量使用一般作為IVR系統(tǒng)函數(shù)傳遞參數(shù)/返回值使用。流程內(nèi)部自定義函數(shù)不推薦使用寄存器變量。除了動(dòng)作返回值等不得不使用寄存器變量的情況外,一律不使用寄存器變量,用自定義變量代替。規(guī)則5-1:0參見規(guī)則3-1“4在流程中使用到全局變量必須注釋用途含義,保持全局變量含義統(tǒng)一,避免在另外一處改變其含義”。規(guī)則5-1:1防止局部變量與全局變量同名。規(guī)則5-1:2嚴(yán)禁使用未經(jīng)初始化的變量作為賦值。建議:建議不使用 或者 作為后續(xù)狀態(tài)的變量,特別的,如果要超過個(gè)狀態(tài)后仍然需要使用當(dāng)前或的值,先把或賦值給其他變量中保存。狀態(tài)規(guī)則:狀態(tài)命名約定以“st”開頭,第三個(gè)字母大寫表示實(shí)際有含義的名稱開始。例14::stWaitConnect->stGetTime:stGetTime[NowTime][Assignm_sTime,SR0]規(guī)則:函數(shù)中以狀態(tài)stWait開始,以狀態(tài)stExit結(jié)束。示例參見下面例 、例規(guī)則6-:3狀態(tài)跳轉(zhuǎn)為事件所驅(qū)動(dòng)。函數(shù)規(guī)則7-:1在一個(gè)業(yè)務(wù)流程程序里面只能有一個(gè)主函數(shù)。規(guī)則:主函數(shù)只能名為main,在開始一個(gè)業(yè)務(wù)流程的時(shí)候自動(dòng)執(zhí)行。規(guī)則7-:3在一個(gè)業(yè)務(wù)流程程序里面可以有多個(gè)子函數(shù)。規(guī)則:子函數(shù)名不能為main。規(guī)則:自定義子函數(shù)除例外處理函數(shù)外,命名要以“func”開頭,第五個(gè)字母大寫表示實(shí)際有含義的名稱開始,盡量表示該函數(shù)執(zhí)行的具體功能、操作。//**************************通用聊天過程<1**1**1**1**1**1**1**1**1**1**1**1**1**1> //**************************通用聊天過程<1**1**1**1**1**1**1**1**1**1**1**1**1**1> *1^//functionname:funcChatProcess//functionusage:通用聊天過程//輸入?yún)?shù):g_nChatID聊天室編號(hào),g_nChatType加入聊天的方式,g_nQQIdentify加入聊天身份,//g_nTalkTime聊天時(shí)長,g_nIsFullExit當(dāng)沒可說資源時(shí)是否退出來,在主題聊天時(shí)會(huì)用到要退出//輸出參數(shù):無//返回值0正常退出,1對(duì)碰中退出,2聊天室編號(hào)不存在,3其他錯(cuò)誤,4沒可說資源的退出****************************************************************//通用聊天過程****************************************************************funcChatProcess{:stWait//actionhere.:stExit}規(guī)則例1規(guī)則//**********************Endof通用聊天過程**********************規(guī)則例1規(guī)則:流程自定義例外處理函數(shù),以“OnClear_”為前綴。電話呼出異常處理函數(shù)三省聯(lián)網(wǎng)統(tǒng)計(jì)互撥時(shí)長:7流程中每一層菜單是獨(dú)立函數(shù),每一個(gè)選擇項(xiàng)是獨(dú)立函數(shù)。

規(guī)則7-:8在自定義函數(shù)開頭須注釋該函數(shù)的功能說明,詳細(xì)傳遞參數(shù)、返回值的各種含義。示例參見例15。規(guī)則7-:9傳入、傳出參數(shù)盡量使用自定義全局變量,除系統(tǒng)規(guī)定外不推薦使用寄存器。承擔(dān)函數(shù)傳遞參數(shù)的全局變量命名要符合變量命名規(guī)則。規(guī)則7-1:0子函數(shù)返回值約定,通常約定返回值0表示成功,其他值表示其他不成功原因。目前已經(jīng)形成的一些基本約定Returened(9)表示出錯(cuò)需要主動(dòng)退出流程,如資源分配失敗/放音失敗等Returened(8)表示需要回到主流程C,Returened⑺表示只需回到上層菜單D,Returened(4)表示轉(zhuǎn)坐席后退出E,其他返回值暫定回到上一級(jí)菜單F,每個(gè)函數(shù)后都需要處理Returned(-I)事件例17:****************************************************************//連接坐席****************************************************************funcConnectAgent//標(biāo)識(shí)子函數(shù)退出狀態(tài)//標(biāo)識(shí)子函數(shù)退出狀態(tài)#declareIRm_nReturnedCode:stWait[Equalg_nData,0] //判斷傳入?yún)?shù)->stStar:stStar//actionhere.//…//…:stSuccess[Assignm_nReturnedCode,0] //正常連接坐席成功->stExit//轉(zhuǎn)坐席后退出//轉(zhuǎn)坐席后退出//回到主流程//回到上層菜單//出錯(cuò)需要主動(dòng)退出流程<1**1**1**1**1**1> *1^[Assign

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論