規(guī)則引擎需求說明書_第1頁
規(guī)則引擎需求說明書_第2頁
已閱讀5頁,還剩5頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、XXX公司規(guī)則引擎系統(tǒng)軟件需求說明書2020/9/23修改記錄文件編號版本號擬制人/修改人擬制/修改日期更改理由主要更改內(nèi)容(寫要點(diǎn)即可)V1.0.02020/9/23無無注:文件第一次擬制時,“更改理由”“主要更改內(nèi)容”欄寫“無”目錄1.引言31.1. 目的31.2. 范圍31.3. 簡寫與縮略語31.4.引用文件32.總體描述42.1.產(chǎn)品描述42.2.產(chǎn)品功能42.3.用戶特點(diǎn)42.4. 約束42.5. 假設(shè)和依賴關(guān)系53.具體需求53.1. 外部接口需求53.2.功能需求53.2.1.規(guī)則引擎控制臺53.2.2.規(guī)則引擎執(zhí)行器83.2.3.規(guī)則引擎資源服務(wù)器83.2.4規(guī)則引擎客戶端9

2、3.3.性能需求93.4.設(shè)計約束93.5. 軟件系統(tǒng)屬性93.5.1. 可靠性93.5.2. 可用性93.5.3.安全保密性103.5.4.可維護(hù)性103.5.5.可移植性101.引言1.1.目的該文檔試圖說明整個系統(tǒng)的輪廓,對功能需求和性能需求進(jìn)行詳細(xì)的描述。便于開發(fā)人員和用戶進(jìn)行理解和交流,反映出用戶問題結(jié)構(gòu),可作為軟件開發(fā)的依據(jù)和測試依據(jù)。本文面向多種讀者:項目經(jīng)理:可根據(jù)文檔了解預(yù)期產(chǎn)品的功能,并進(jìn)行系統(tǒng)設(shè)計,項目管理。開發(fā)人員:對需求進(jìn)行分析,并設(shè)計出系統(tǒng),包括數(shù)據(jù)庫設(shè)計。測試人員:根據(jù)本文檔編寫測試用例,并對軟件進(jìn)行功能性測試和非功能性測試。1.2.范圍規(guī)則引擎由推理引擎發(fā)展而來

3、,是一種嵌入在應(yīng)用程序中的組件,實現(xiàn)了將業(yè)務(wù)決策從應(yīng)用程序代碼中分離出來,并使用預(yù)定義的語義模塊編寫業(yè)務(wù)決策。接受數(shù)據(jù)輸入,解釋業(yè)務(wù)規(guī)則,并根據(jù)業(yè)務(wù)規(guī)則做出業(yè)務(wù)決策。1.3.簡寫與縮略語字典:diet;函數(shù):func;規(guī)則:rule;1.4. 引用文件1、Drools官網(wǎng)地址:git地址:Drools是JBoss公司旗下的一款開源規(guī)則引擎,其使用了匹配規(guī)則的方式來進(jìn)行,使用時需將業(yè)務(wù)邏輯進(jìn)行抽象,抽象成一條條規(guī)則。2、URule官方地址:git地址:URule是一款純Java規(guī)則引擎,它以RETE算法為基礎(chǔ),提供了向?qū)揭?guī)則集、腳本式規(guī)則集、決策表、交

4、叉決策表(PRO版提供)、決策樹、評分卡及決策流共六種類型的規(guī)則定義方式,配合基于WEB的設(shè)計器,可快速實現(xiàn)規(guī)則的定義、維護(hù)與發(fā)布。URule提供了兩個版本:一個是基于Apache-2.0協(xié)議開源免費(fèi)版本,URule開源版本第一款基于Apache-2.0協(xié)議開源的中式規(guī)則引擎;另一個是商用PRO版本2. 總體描述2.1. 產(chǎn)品描述規(guī)則引擎通過java語言開發(fā),把規(guī)則和核心業(yè)務(wù)拆開,規(guī)則單獨(dú)配置。這樣當(dāng)我們的規(guī)則變化的時候,就可以通過修改規(guī)則文件而不用修改核心的代碼了。在規(guī)則較為復(fù)雜的行業(yè),都是適用的,如金融、制造、醫(yī)療、物流等行業(yè),面臨的規(guī)則變化較為復(fù)雜,目前使用較多。而且對規(guī)則引擎需求的行業(yè)

5、也將越來越多,如團(tuán)購平臺、傳統(tǒng)企業(yè)管理渠道等2.2. 產(chǎn)品功能將自己的實際業(yè)務(wù)體現(xiàn)成具體規(guī)則,通過規(guī)則引擎實例出自己項目所需的各種規(guī)則,通過調(diào)用規(guī)則引擎來執(zhí)行此規(guī)則來實現(xiàn)業(yè)務(wù)與核心代碼分離。主要功能模塊:項目(用戶管理創(chuàng)建的項目信息,創(chuàng)建的字典,函數(shù),規(guī)則信息會和項目關(guān)聯(lián))。知識庫(字典管理:字典為創(chuàng)建規(guī)則時所依賴的實體信息;函數(shù)管理:用于規(guī)則中的條件判斷)。規(guī)則管理(規(guī)則數(shù)據(jù)管理:維護(hù)業(yè)務(wù)所需的規(guī)則信息;規(guī)則調(diào)試:可以在控制臺執(zhí)行所選規(guī)則并查看執(zhí)行結(jié)果)。調(diào)試(腳本執(zhí)行:可用于編寫腳本并執(zhí)行,在創(chuàng)建函數(shù)后可在這里進(jìn)行測試)。統(tǒng)計管理(統(tǒng)計函數(shù)和規(guī)則的執(zhí)行情況)。2.3. 用戶特點(diǎn)該系統(tǒng)的最終

6、用戶為軟件開發(fā)人員,該用戶群體了解軟件業(yè)務(wù)開發(fā)流程,了解RPC服務(wù)調(diào)用,了解grovvy腳本編寫,能夠良好的將業(yè)務(wù)和自己軟件的核心代碼進(jìn)行拆分,將復(fù)雜業(yè)務(wù)用規(guī)則引擎來實現(xiàn)。通過規(guī)則引擎能夠使開發(fā)人員減少大量的邏輯性代碼編寫。2.4.約束進(jìn)行本軟件的開發(fā)工作的約束條件:(1)開發(fā)周期:在指定的時間內(nèi)完成主要功能模塊,發(fā)布vl.0.0版本。(2)功能模塊的擴(kuò)展:需要調(diào)研市面其他規(guī)則引擎的功能,了解其優(yōu)勢,提高規(guī)則引擎的易用性豐富其功能。(3)編程語言:java,grovvy,react2.5.假設(shè)和依賴關(guān)系本系統(tǒng)能夠成功設(shè)計完成主要取決于以下條件:(1)團(tuán)隊成員的積極配合,和其他系統(tǒng)成員之間協(xié)調(diào)接

7、口功能。對系統(tǒng)功能進(jìn)行階段性規(guī)劃,個人時間合理規(guī)劃,學(xué)習(xí)更多專業(yè)技能來保證系統(tǒng)的性能。(2)及時溝通系統(tǒng)功能需求,解決開發(fā)階段發(fā)現(xiàn)的其他風(fēng)險。3. 具體需求3.1.外部接口需求(1)統(tǒng)一認(rèn)證平臺:系統(tǒng)登錄的用戶需要在統(tǒng)一認(rèn)證平臺錄入。(2)統(tǒng)一權(quán)限管理平臺:將系統(tǒng)的資源上報權(quán)限管理平臺,通過配置角色和功能對不同用戶進(jìn)行權(quán)限管理。此系統(tǒng)需要調(diào)用用戶信息。3.2. 功能需求3.2.1. 規(guī)則引擎控制臺需求描述:(1)用戶在控制臺頁面上進(jìn)行所屬項目的規(guī)則創(chuàng)建,可自行創(chuàng)建規(guī)則所需的字典和函數(shù)。函數(shù)可以在界面上用腳本測試。在自己創(chuàng)建的規(guī)則中體現(xiàn)出業(yè)務(wù)場景,提供控制臺調(diào)試規(guī)則。字典、函數(shù)、規(guī)則數(shù)據(jù)擁有線上

8、和線下版本,當(dāng)使用快照模式執(zhí)行規(guī)則時使用的為最新版本的數(shù)據(jù)。(2)在控制臺可查看規(guī)則執(zhí)行后的統(tǒng)計數(shù)據(jù),相應(yīng)規(guī)則、函數(shù)的執(zhí)行成功、失敗、,夢中數(shù)量。(3)客戶端訂閱資源服務(wù)器信息:客戶端遠(yuǎn)程ip、連接的資源服務(wù)器ip、訂閱的內(nèi)容、關(guān)注的資源。. FUNC-010-0010用戶登錄需求描述:系統(tǒng)提供控制臺登錄界面,當(dāng)用戶使用規(guī)則引擎時需要在統(tǒng)一權(quán)限管理平臺創(chuàng)建用戶,用戶的賬號密碼登錄規(guī)則引擎控制臺。登錄時前端請求統(tǒng)一認(rèn)證平臺獲取Token,用于用戶身份驗證。優(yōu)先級:高使用頻度:經(jīng)常正常流程:統(tǒng)一證管理平臺管理員創(chuàng)建的用戶,用賬號密碼登錄規(guī)則引擎控制臺。. FUNC-01

9、0-0020用戶退出需求描述:控制臺提供退出登錄按鈕,點(diǎn)擊時退出當(dāng)前用戶清除token。優(yōu)先級:高使用頻度:經(jīng)常正常流程:在控制臺頁面提供退出按鈕,點(diǎn)擊按鈕退出當(dāng)前用戶。. FUNC-010-0030項目管理需求描述:用戶在使用規(guī)則引擎時首先需要創(chuàng)建自己的項目,規(guī)則依賴于所屬項目。在創(chuàng)建項目時可進(jìn)行項目描述。提供編輯刪除功能。項目列表頁提供分頁顯示。優(yōu)先級:高使用頻度:經(jīng)常正常流程:以自己項目名稱創(chuàng)建項目模塊。. FUNC-010-0040字典管理需求描述:提供字典數(shù)據(jù)模塊字典包括:字典編號、字典名稱、所屬項目、當(dāng)前狀態(tài)、線上狀態(tài)、創(chuàng)建者、修改者、創(chuàng)建時間、修改時間

10、、線上版本、最新版本、操作(編輯,刪除,版本)。在創(chuàng)建字典時字典包括基本信息:名稱,code,所屬項目,key(唯一),版本。請求參數(shù):可提供java常用數(shù)據(jù)類型。擴(kuò)展變量:字典的一些常量定義。字典提供多版本記錄。優(yōu)先級:高使用頻度:經(jīng)常正常流程:創(chuàng)建規(guī)則時依賴的對象信息,通過字典進(jìn)行規(guī)則傳參。以自己業(yè)務(wù)為準(zhǔn)抽象為字典對象。創(chuàng)建完成后可發(fā)布版本。. FUNC-010-0050函數(shù)管理需求描述:提供函數(shù)管理模塊,函數(shù)主要包括:列表分頁,每條記錄包括:函數(shù)簽名,所屬項目,類型,模式,是否公開,當(dāng)前狀態(tài),線上狀態(tài),創(chuàng)建者、修改者、創(chuàng)建時間、修改時間、線上版本、最新版本、操作(編輯,調(diào)試

11、,刪除,復(fù)制,版本)。在創(chuàng)建函數(shù)時提供屬性:函數(shù)名稱,key(唯一),函數(shù)code,返回值類型(java常用數(shù)據(jù)類型),函數(shù)類型(動作,操作符,補(bǔ)全函數(shù)),函數(shù)說明。參數(shù)(支持多個):定義函數(shù)所用參數(shù)。調(diào)試:在腳本執(zhí)行界面執(zhí)行函數(shù)代碼展現(xiàn)出執(zhí)行結(jié)果。優(yōu)先級:高使用頻度:經(jīng)常正常流程:在創(chuàng)建完成函數(shù)后,在使用規(guī)則時用于條件判斷,例如大于、等于、小于等這些常用的函數(shù)可公開使用。利于其他項目引用。. FUNC-010-0060規(guī)則管理需求描述:提供規(guī)則管理模塊,規(guī)則分頁列表每條記錄包括屬性:規(guī)則名稱,key(唯一)、所屬項目,當(dāng)前狀態(tài),線上狀態(tài),類型(普通向?qū)剑?chuàng)建者、修改者、創(chuàng)建

12、時間、修改時間、線上版本、最新版本、操作(編輯,調(diào)試,刪除,版本);在創(chuàng)建規(guī)則式基本信息會綁定字典。在規(guī)則集中體現(xiàn)具體的業(yè)務(wù)描述(如果.那么.否則)。提交規(guī)則調(diào)試:用于頁面執(zhí)行規(guī)則查看結(jié)果,可選擇線上或者線下的規(guī)則進(jìn)行調(diào)試,在執(zhí)行參數(shù)中輸入指定的參數(shù),規(guī)則執(zhí)行后展示是否命中,規(guī)則結(jié)構(gòu)樹,執(zhí)行結(jié)果(json數(shù)據(jù))。統(tǒng)計管理優(yōu)先級:高使用頻度:經(jīng)常正常流程:將自己的業(yè)務(wù)邏輯在規(guī)則中體現(xiàn)出來,可在界面執(zhí)行查看出具體結(jié)果和是否命中。. FUNC-010-0070統(tǒng)計管理需求描述:統(tǒng)計計數(shù):展示規(guī)則,函數(shù)在某段時間內(nèi)的執(zhí)行情況,包括接收數(shù),命中數(shù),異常數(shù),成功數(shù),平均耗時ms優(yōu)先級:低使用

13、頻度:偶爾正常流程:在線上規(guī)則執(zhí)行后,所使用的函數(shù)和相應(yīng)規(guī)則的執(zhí)行接口會記錄,在統(tǒng)計模塊提供查詢。. FUNC-010-0080客戶端需求描述:TCP列表,展示客戶端和資源服務(wù)器的連接情況,客戶端遠(yuǎn)程ip、連接的資源服務(wù)器ip、訂閱的內(nèi)容、關(guān)注的資源。同步資源服務(wù)器對應(yīng)的客戶端數(shù)據(jù)。優(yōu)先級:高使用頻度:經(jīng)常正常流程:在客戶端引用規(guī)則引擎時會訂閱規(guī)則引擎的資源服務(wù)器,當(dāng)訂閱成功后會看到每臺資源服務(wù)器對應(yīng)的遠(yuǎn)程客戶端。當(dāng)訂閱的資源修改之后會自動觸發(fā)數(shù)據(jù)同步,而此處的同步為服務(wù)連接異?;蛘咂渌厥馇闆r,管理員可手動觸發(fā)。3.2.2.規(guī)則引擎執(zhí)行器. FUNC-020-00

14、10規(guī)則執(zhí)行需求描述:規(guī)則執(zhí)行器為規(guī)則引擎的核心處理模塊,提供控制臺、遠(yuǎn)程服務(wù)的調(diào)用執(zhí)行規(guī)則。提供快照和正式版執(zhí)行方式,快照執(zhí)行會每次加載數(shù)據(jù)庫的規(guī)則數(shù)據(jù),正式版執(zhí)行會將第一次的規(guī)則數(shù)據(jù)進(jìn)行緩存,保證重復(fù)調(diào)用時的執(zhí)行速度。優(yōu)先級:高使用頻度:經(jīng)常正常流程:實現(xiàn)規(guī)則引擎暴露的接口,在接口中接收規(guī)則參數(shù),具體執(zhí)行相應(yīng)的規(guī)則返回執(zhí)行結(jié)果并記錄。. FUNC-020-0020數(shù)據(jù)同步需求描述:當(dāng)線上的字典、函數(shù)、規(guī)則數(shù)據(jù)改變時更新執(zhí)行器的緩存數(shù)據(jù),保證數(shù)據(jù)一致性。優(yōu)先級:高使用頻度:經(jīng)常正常流程:在控制臺發(fā)布字典、函數(shù)、規(guī)則時自動觸發(fā)更新數(shù)據(jù)操作。3.2.3.規(guī)則引擎資源服務(wù)器3.2.3

15、.1. FUNC-030-0010數(shù)據(jù)通信需求描述:維持于多個客戶端之間的訂閱關(guān)系,通過訂閱來傳輸數(shù)據(jù),當(dāng)數(shù)據(jù)發(fā)布后控制臺的數(shù)據(jù)同步到各個資源服務(wù)器,如果這些數(shù)據(jù)中存在客戶端關(guān)注的資源,資源服務(wù)器將推送數(shù)據(jù)到客戶端。接收客戶端發(fā)送過來的數(shù)據(jù),如果客戶端發(fā)送來的資源數(shù)據(jù)庫中不存在,則創(chuàng)建相應(yīng)的字典或者函數(shù)。暴露接口提供控制臺統(tǒng)計客戶端TCP連接信息。優(yōu)先級:高使用頻度:經(jīng)常正常流程:當(dāng)客戶端訂閱資源服務(wù)器時,控制臺顯示TCP連接信息,數(shù)據(jù)發(fā)布、下線時客戶端接收數(shù)據(jù)。3.2.4規(guī)則引擎客戶端. FUNC-030-0010訂閱資源服務(wù)器需求描述:能提供給外部服務(wù)引用,在客戶端可以自定義

16、字典、函數(shù),根據(jù)rule_key提供本地規(guī)則執(zhí)行。連接資源服務(wù)器實時獲取到資源變更后數(shù)據(jù)。保證訂閱資源服務(wù)器高可用。優(yōu)先級:高使用頻度:經(jīng)常正常流程:外部服務(wù)引入客戶端模塊,在外部服務(wù)啟動的時候初始化自定義的字典、函數(shù)到資源服務(wù)器,并緩存本地字典、函數(shù)和規(guī)則數(shù)據(jù),利于本地執(zhí)行規(guī)則。啟動時并觸發(fā)訂閱資源服務(wù)器實現(xiàn)數(shù)據(jù)同步。在與資源服務(wù)器連接斷開時觸發(fā)重連,當(dāng)指定的資源服務(wù)器無法連接時,嘗試連接其他可用資源服務(wù)器。3.3. 性能需求數(shù)據(jù)一致性;接口相應(yīng)在1S內(nèi)。支持并行操作用戶數(shù):1000。資源服務(wù)器支持客戶端數(shù):1003.4. 設(shè)計約束按照公司項目管理規(guī)范3.5.軟件系統(tǒng)屬性3.5.1.可靠性在現(xiàn)有軟件環(huán)境和硬件條件下、在滿足當(dāng)前需求的條件下、在沒有出現(xiàn)錯誤操作的情況下,所有軟件模塊必須能穩(wěn)定無故障運(yùn)行3.5.2.可用性(1) 操作方便:操作流程合理,方便用戶調(diào)

溫馨提示

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

評論

0/150

提交評論