主頁 > 軟體設計 > .NET 開源作業流: Slickflow流程引擎高級開發(六) -- WebTest 引擎介面模擬測驗工具集

.NET 開源作業流: Slickflow流程引擎高級開發(六) -- WebTest 引擎介面模擬測驗工具集

2020-09-10 18:46:13 軟體設計

前言:引擎組件的介面測驗不光是程式測驗人員使用,而且也是產品負責人員需要用到的功能,因為在每一步流轉程序中,就會完整模擬實際用戶發生的場景,也就容易排查具體是程式問題還是業務問題,從而快速定位問題,及時解決問題,WebTest測驗工具集就是一個統一的交流測驗平臺,其帶來的好處是壓縮了不同型別的引擎用戶交流問題的成本,同時也節約了程式開發和測驗人員的作業成本,

1. 測驗介紹

        用戶互動測驗也是一種必不可少的測驗程序,而且在互動程序中,可以跟蹤和除錯程式,真實系統的流轉是需要用戶身份的不斷切換,但是不妨通過身份模擬來減少切換環節,通過對流程引擎介面的內部改造,證實是可以實作這一思路的,
        如下圖所示,一個集成測驗的用戶界面,左側是流程定義記錄,右側上半部分是待辦任務串列,下半部分是辦結任務串列,功能介面主要是流程的啟動、流轉、退回和返送,功能測驗人員通過選擇流程定義記錄,隨時就能進行流程實體的啟動、流轉、退回和返送操作,不用重復的身份切換,

 

2. 功能說明

2.1 流程核心流轉功能

2.1.1 啟動
    介面名稱:StartProcess(),啟動流程后,右側的任務串列就會出現新的任務記錄,作為用戶待辦,

2.1.2 流轉

    介面名稱:RunProcess(), 流轉運行介面,負責流程的流轉,會出現步驟人員選擇界面,由人工互動確定下一步的辦理步驟,然后確定向下流轉,其中在需要條件變數數值的情況下,可以加入名稱-數值格式的文本,用于步驟串列重新加載,界面如下:

 

 

   2.1.3 退回

     介面名稱:SendBackProcess(),退回到上一步的辦理步驟,讓上一步人員重新辦理,同時,也會彈出上一步的人員辦理串列,方便當前操作用戶知道上一步的步驟和人員資訊,

 

  2.1.4 撤銷

     介面名稱:WithdrawProcess(),撤銷是由上一步步驟的完成人員發起,它的用途也是把當前步驟退回到上一步去,跟退回介面本質是一樣的,兩者的區別是發起的位置不同,退回是當前運行節點的辦理人發起,而撤銷是上一步已經完成的辦理人員發起,

2.1.5 返送

      介面名稱:ResendProcess(),退回后的任務被上一步的完成人員辦理完成后,需要重新發送,而且是僅僅需要發送給原來的退回節點位置就可以,在這種情況下就可以使用返送介面,而不是流轉介面,返送操作只能在退回節點上發起,這是它跟流轉介面的區別,

2.1.6 修訂

      介面名稱:ReviseProcess()

1) 會簽修訂

      在會簽時候,通常選擇了辦理人員后,會發現需要增加或者減少辦理人員串列,因為會簽節點是多實體節點,增加人員或者減少人員意味著活動實體數目的變化,所以需要單獨開發一個新的介面來實作這樣的功能,

         比如當前會簽節點是“辦事員錄入”,對于經理A下發了辦事員D和辦事員E進行會簽,但是經理A認為并行會簽需要變更D和E,這個時候就可以呼叫會簽修訂功能,選擇新的辦理用戶串列,

2) 并行多實體修訂

        如上圖所示,當節點“經理分配”節點退回到“業務分配”節點后,業務分配需要重新指定新的“經理分配”,這個時候就需要呼叫修訂介面,完成并行分支多實體的創建,假如上圖中的“A”退回,重新選擇經理分配后,可能就是B、C和新并行實體M(此處僅僅是標識,在K之后),

2.1.7 駁回

      介面名稱:RejectProcess(),流程駁回是指流程運行程序中,直接打回給流程發起人的節點位置,

2.1.8 關閉

      介面名稱:CloseProcess(),流程辦結是指流程在運行程序中,由于外來因素或者決策需要,而提前直接結束流程,流程狀態正常結束,

2.2 流程資料功能

2.2.1 流程進度圖

    流程流轉程序中,需要實時查看流程流轉位置,如果是已經辦理完成,則用紅色標記,如果目前處于待辦階段,則用綠色標記,如下圖所示:

 

 

 2.2.2 流程變數

     流程變數是為了顯示流轉程序中的流程互動資料,其中有兩種型別區分,流程變數和活動變數,這些資料的寫入是用戶根據業務資料的變化,并且是需要引擎互動控制用到為目的的,比如:活動節點完成時,需要呼叫外部事件,而外部事件的引數和數值來源,就需要通過流程變數來進行存盤,其次,流程分支判斷時候的條件引數,在流程程序中也可以存入到流程變數表中,以便流程關聯人員或者業務人員查看,這些是流程互動的核心變數資料,可以做一個統一的關聯界面來查看或維護,

 

 

2.2.3 清除運行實體

     測驗進行時候,有些情況下如果發生例外,需要重新進行測驗,就可以把當前正在運行的流程實體進行洗掉,洗掉操作時,同時也會把流程實體所有的關聯資料進行洗掉,包括以下的資料:活動實體,轉移實體,任務資料和流程變數表,

3. 總結

     Slickflow.WebTest 測驗工具的開發,加速了引擎組件的集成,降低了開發人員的學習周期,而且可以根據引擎服務介面做出統一的封裝,有助于客戶方專案或產品的二次開發,今后,引擎增加的功能也會呈現在這里,測驗工具最侄訓作為一個完整的高附加值的產品使用,

    體驗地址:http://demo.slickflow.com/sfw2/

轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/3096.html

標籤:領域驅動設計

上一篇:穩定性五件套-限流的原理和實作

下一篇:SSH框架之Spring+Struts2+Hibernate整合篇

標籤雲
其他(157675) Python(38076) JavaScript(25376) Java(17977) C(15215) 區塊鏈(8255) C#(7972) AI(7469) 爪哇(7425) MySQL(7132) html(6777) 基礎類(6313) sql(6102) 熊猫(6058) PHP(5869) 数组(5741) R(5409) Linux(5327) 反应(5209) 腳本語言(PerlPython)(5129) 非技術區(4971) Android(4554) 数据框(4311) css(4259) 节点.js(4032) C語言(3288) json(3245) 列表(3129) 扑(3119) C++語言(3117) 安卓(2998) 打字稿(2995) VBA(2789) Java相關(2746) 疑難問題(2699) 细绳(2522) 單片機工控(2479) iOS(2429) ASP.NET(2402) MongoDB(2323) 麻木的(2285) 正则表达式(2254) 字典(2211) 循环(2198) 迅速(2185) 擅长(2169) 镖(2155) 功能(1967) .NET技术(1958) Web開發(1951) python-3.x(1918) HtmlCss(1915) 弹簧靴(1913) C++(1909) xml(1889) PostgreSQL(1872) .NETCore(1853) 谷歌表格(1846) Unity3D(1843) for循环(1842)

熱門瀏覽
  • 面試突擊第一季,第二季,第三季

    第一季必考 https://www.bilibili.com/video/BV1FE411y79Y?from=search&seid=15921726601957489746 第二季分布式 https://www.bilibili.com/video/BV13f4y127ee/?spm_id_fro ......

    uj5u.com 2020-09-10 05:35:24 more
  • 第三單元作業總結

    1.前言 這應該是本學期最后一次寫作業總結了吧。總體來說,對作業的節奏也差不多掌握了,作業做起來的效率也更高了。雖然和之前的作業一樣,作業中都要用到新的知識,但是相比之前,更加懂得了如何利用工具以及資料。雖然之間卡過殼,但總體而言,這幾次作業還算完成的比較好。 2.作業程序總結 相比前兩個單元,此單 ......

    uj5u.com 2020-09-10 05:35:41 more
  • 北航OO(2020)第四單元博客作業暨課程總結博客

    北航OO(2020)第四單元博客作業暨課程總結博客 本單元作業的架構設計 在本單元中,由于UML圖具有比較清晰的樹形結構,因此我對其中需要進行查詢操作的元素進行了包裝,在樹的父節點中存盤所有孩子的參考。考慮到性能問題,我采用了快取機制,一次查詢后盡可能快取已經遍歷過的資訊,以減少遍歷次數。 本單元我 ......

    uj5u.com 2020-09-10 05:35:48 more
  • BUAA_OO_第四單元

    一、UML決議器設計 ? 先看下題目:第四單元實作一個基于JDK 8帶有效性檢查的UML(Unified Modeling Language)類圖,順序圖,狀態圖分析器 MyUmlInteraction,實際上我們要建立一個有向圖模型,UML中的物件(元素)可能與同級元素連接,也可與低級元素相連形成 ......

    uj5u.com 2020-09-10 05:35:54 more
  • 6.1邏輯運算子

    邏輯運算子 1. && 短路與 運算式1 && 運算式2 01.運算式1為true并且運算式2也為true 整體回傳為true 02.運算式1為false,將不會執行運算式2 整體回傳為false 03.只要有一個運算式為false 整體回傳為false 2. || 短路或 運算式1 || 運算式2 ......

    uj5u.com 2020-09-10 05:35:56 more
  • BUAAOO 第四單元 & 課程總結

    1. 第四單元:StarUml檔案決議 本單元采用了圖模型決議UML。 UML檔案可以抽象為圖、子圖、邊的邏輯結構。 在實作中,圖的節點包括類、介面、屬性,子圖包括狀態圖、順序圖等。 采用了三次遍歷UML元素的方法建圖,第一遍遍歷建點,第二、三次遍歷設定屬性、連邊,實作圖物件的初始化。這里借鑒了一些 ......

    uj5u.com 2020-09-10 05:36:06 more
  • 談談我對C# 多型的理解

    面向物件三要素:封裝、繼承、多型。 封裝和繼承,這兩個比較好理解,但要理解多型的話,可就稍微有點難度了。今天,我們就來講講多型的理解。 我們應該經常會看到面試題目:請談談對多型的理解。 其實呢,多型非常簡單,就一句話:呼叫同一種方法產生了不同的結果。 具體實作方式有三種。 一、多載 多載很簡單。 p ......

    uj5u.com 2020-09-10 05:36:09 more
  • Python 資料驅動工具:DDT

    背景 python 的unittest 沒有自帶資料驅動功能。 所以如果使用unittest,同時又想使用資料驅動,那么就可以使用DDT來完成。 DDT是 “Data-Driven Tests”的縮寫。 資料:http://ddt.readthedocs.io/en/latest/ 使用方法 dd. ......

    uj5u.com 2020-09-10 05:36:13 more
  • Python里面的xlrd模塊詳解

    那我就一下面積個問題對xlrd模塊進行學習一下: 1.什么是xlrd模塊? 2.為什么使用xlrd模塊? 3.怎樣使用xlrd模塊? 1.什么是xlrd模塊? ?python操作excel主要用到xlrd和xlwt這兩個庫,即xlrd是讀excel,xlwt是寫excel的庫。 今天就先來說一下xl ......

    uj5u.com 2020-09-10 05:36:28 more
  • 當我們創建HashMap時,底層到底做了什么?

    jdk1.7中的底層實作程序(底層基于陣列+鏈表) 在我們new HashMap()時,底層創建了默認長度為16的一維陣列Entry[ ] table。當我們呼叫map.put(key1,value1)方法向HashMap里添加資料的時候: 首先,呼叫key1所在類的hashCode()計算key1 ......

    uj5u.com 2020-09-10 05:36:38 more
最新发布
  • 【中介者設計模式詳解】C/Java/JS/Go/Python/TS不同語言實作

    * 中介者模式是一種行為型設計模式,它可以用來減少類之間的直接依賴關系,
    * 將物件之間的通信封裝到一個中介者物件中,從而使得各個物件之間的關系更加松散。
    * 在中介者模式中,物件之間不再直接相互互動,而是通過中介者來中轉訊息。 ......

    uj5u.com 2023-04-20 08:20:47 more
  • 露天煤礦現場調研和交流案例分享

    他們集團的資訊化公司及研究院在一個礦區正在做智能礦山的統一平臺的 試點,專案投資大概1億,包括了礦山的各方面的內容,顯示得我們這次交流有點多余。他們2年前開始做智能礦山的規劃,有很多煤礦行業專家的加持,他們的描述是非常完美,但是去年底應該上線的平臺,現在還沒有看到影子。他們確實有很多場景需求,但是被... ......

    uj5u.com 2023-04-20 08:20:25 more
  • 《社區人員管理》實戰案例設計&個人案例分享

    設計是一個讓人夢想成真程序,開始編碼、測驗、除錯之前進行需求分析和架構設計,才能保證關鍵方面都做正確 ......

    uj5u.com 2023-04-20 08:20:17 more
  • 軟體架構生態化-多角色交付的探索實踐

    作為一個技術架構師,不僅僅要緊跟行業技術趨勢,還要結合研發團隊現狀及痛點,探索新的交付方案。在日常中,你是否遇到如下問題 “ 業務需求排期長研發是瓶頸;非研發角色感受不到研發技改提效的變化;引入ISV 團隊又擔心質量和安全,培訓周期長“等等,基于此我們探索了一種新的技術體系及交付方案來解決如上問題。 ......

    uj5u.com 2023-04-20 08:20:10 more
  • 【中介者設計模式詳解】C/Java/JS/Go/Python/TS不同語言實作

    * 中介者模式是一種行為型設計模式,它可以用來減少類之間的直接依賴關系,
    * 將物件之間的通信封裝到一個中介者物件中,從而使得各個物件之間的關系更加松散。
    * 在中介者模式中,物件之間不再直接相互互動,而是通過中介者來中轉訊息。 ......

    uj5u.com 2023-04-20 08:19:44 more
  • 露天煤礦現場調研和交流案例分享

    他們集團的資訊化公司及研究院在一個礦區正在做智能礦山的統一平臺的 試點,專案投資大概1億,包括了礦山的各方面的內容,顯示得我們這次交流有點多余。他們2年前開始做智能礦山的規劃,有很多煤礦行業專家的加持,他們的描述是非常完美,但是去年底應該上線的平臺,現在還沒有看到影子。他們確實有很多場景需求,但是被... ......

    uj5u.com 2023-04-20 08:19:07 more
  • 《社區人員管理》實戰案例設計&個人案例分享

    設計是一個讓人夢想成真程序,開始編碼、測驗、除錯之前進行需求分析和架構設計,才能保證關鍵方面都做正確 ......

    uj5u.com 2023-04-20 08:18:57 more
  • 軟體架構生態化-多角色交付的探索實踐

    作為一個技術架構師,不僅僅要緊跟行業技術趨勢,還要結合研發團隊現狀及痛點,探索新的交付方案。在日常中,你是否遇到如下問題 “ 業務需求排期長研發是瓶頸;非研發角色感受不到研發技改提效的變化;引入ISV 團隊又擔心質量和安全,培訓周期長“等等,基于此我們探索了一種新的技術體系及交付方案來解決如上問題。 ......

    uj5u.com 2023-04-20 08:18:49 more
  • 05單件模式

    #經典的單件模式 public class Singleton { private static Singleton uniqueInstance; //一個靜態變數持有Singleton類的唯一實體。 // 其他有用的實體變數寫在這里 //構造器宣告為私有,只有Singleton可以實體化這個類! ......

    uj5u.com 2023-04-19 08:42:51 more
  • 【架構與設計】常見微服務分層架構的區別和落地實踐

    軟體工程的方方面面都遵循一個最基本的道理:沒有銀彈,架構分層模型更是如此,每一種都有各自優缺點,所以請根據不同的業務場景,并遵循簡單、可演進這兩個重要的架構原則選擇合適的架構分層模型即可。 ......

    uj5u.com 2023-04-19 08:42:41 more