999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于控制流的盒圖動態建模與測試

2020-01-07 08:07:43孔令東
軟件工程 2020年12期

摘 ?要:為解決傳統盒圖靜態過程描述缺少動態邏輯關系驗證問題,研究工作流中控制流的可視化建模與實現;通過分析盒圖和控制流的轉換關系,將靜態的盒圖無縫地轉換成可視化的動態控制流模型,完成從盒圖靜態過程描述到控制流的可視化動態建模、實現、測試和驗證;實現快速構建復雜業務流程的可視化分析模型并提前驗證,解決了復雜業務過程模型在編碼之前的邏輯驗證,在實際的建模中,邏輯關系清晰,便于驗證。

關鍵詞:工作流;盒圖;控制流;動態建模與測試

中圖分類號:TP311.51 ? ? 文獻標識碼:A

Abstract: This paper studies visualization modeling and implementation of control flow as there is no dynamic logical relation verification in static process description of traditional N-S (Nassi Shneiderman) Diagram. Static N-S diagram is seamlessly transformed into visual dynamic model of control flow by analyzing the relationship between N-S diagram and control flow. Visual dynamic modeling, implementation, testing and verification method are completed from N-S static process description to control flow. The visual analysis model of complex business process can be quickly built and verified in advance. This study realizes the dynamic logic verification of complex business process model before coding. In actual modeling, the logical relationship is clear and easy to verify.

Keywords: workflow; N-S diagram; control flow; dynamic modeling and testing

1 ? 引言(Introduction)

模塊或者算法的詳細設計,描述了業務邏輯實現的方法和步驟,其結果基本上決定了最終的程序代碼的質量。N-S圖也稱為盒圖,作為過程詳細設計的工具,在算法和程序之間充當橋梁的角色,可以指明控制流程、處理功能、數據組織及實現細節,從而保證程序代碼的正確性[1-3]。然而,對于復雜的業務邏輯,在代碼實現之前僅僅使用N-S圖的靜態過程描述,無法快速完成邏輯關系的動態測試和驗證,期望尋求一種簡明、快速、可視化的動態建模與測試方案。

WF(Workflow Foundation)是一種可視化的工作流編程引擎,其過程控制流C-F(Control Flow),可以直觀地描述復雜的業務邏輯過程,實現對流程控制的可視化建模。借助WF的過程工作流,可以實現從N-S到C-F的無縫轉換,通過建模轉換不僅可以可視化地展示模塊的業務邏輯,而且可以動態的完成測試以及實現[4-8]。如圖1本文技術路線所示,在算法分析到程序實現之間,探索一種從N-S靜態過程描述到C-F的可視化動態建模、測試和驗證方式,解決復雜業務過程模型在編碼之前的邏輯驗證,實現快速構建復雜業務流程的可視化分析模型并提前驗證,具有實際意義。

2 ? N-S圖和控制流的轉換(Transform between N-S diagram and control flow)

如圖2N-S和C-F控制流之間的結構轉換圖所示,圖中我們典型地給出了順序、選擇、循環結構的圖形表示和邏輯轉換,可以看出,N-S圖的基本結構和C-F控制流在可視化靜態建模上具有一一轉換對應關系,邏輯實現具有一致性。如圖2(b)中所示,對于選擇條件結構,N-S圖只能夠靜態地描述條件判斷任務,而C-F控制流在顯式地描述靜態邏輯判斷結構的同時,可以方便地借助WF引擎,動態的運行給出的“Condition”或參數,快速的驗證邏輯關系和算法;同時,在實際的算法描述中C-F控制流的規范性和可視化,也帶來建模的便利性和清晰性,尤其對于較為復雜的算法和邏輯關系分析,更具備優勢。N-S優勢在于靜態的過程設計和描述,C-F的控制流可以在可視化描述業務過程的同時,進一步的快速實現動態測試驗證,這將在后面的建模與集成應用中詳細描述。

3 ? 可視化建模與實現(Visualization modeling and implementing)

3.1 ? 順序結構的建模與實現

如圖3所示C-F的順序結構建模與實現,在Sequence控制流中顯式地完成了Sequence_Activity_1、Sequence_Activity_2、Sequence_Activity_3順序過程建模,其中Sequence_Activity_1給出了相關的順序說明,Sequence_Activity_2活動任務中給出了可以動態測試的變量variable1,可以完成模型的動態業務邏輯測試,Sequence_Activity_3顯式地給出了測試的輸出結果。在實際的測試中,變量的輸入可以方便的設置變量類型和作用域,可視化的模型一目了然,且邏輯關系清晰,我們會在隨后的集成測試中給出測試結果。相比較N-S圖中的靜態描述和直接的編碼實現,C-F圖給了我們快速可視化的邏輯展示。

3.2 ? 選擇結構的建模與實現

如圖4所示C-F的選擇結構。其中4(a)圖為IF選擇結構,判斷條件“Condition”可以動態的設置,根據判斷的條件可以顯式地執行“Then”和“Else”業務邏輯,同時,對于每一個“Then”和“Else”分支都可以顯式地嵌入更復雜的業務邏輯或算法分析,非常容易擴展。圖4(b)為Switch-Case結構,可以根據“Expression”條件表達式,顯式地確定“Case”執行的對應任務,對于每個“Case”也同樣可以嵌入復雜的過程描述。在細節之處,我們可以看到C-F控制流中也默認給出了“Default”分支。在實際的建模中,對于Case結構,C-F控制流以縱向分布,多判斷的擴展遠比N-S圖的橫向布局清晰。

3.3 ? 循環結構的建模與實現

如圖5所示C-F的循環結構,其中圖5(a)為While循環結構,圖5(b)為DoWhile循環結構,可以直觀顯式地完成N-S的While循環條件和Until循環條件的建模,同時可以根據不同的參數和變量完成動態測試,我們在后面的集成動態測試中給出案例分析。此外WF控制流中也給出了ForEach的建模方法。

4 ? 集成動態測試(Integrated dynamic testing)

前面我們分析了C-F可視化建模的基本結構,下面將以一個典型的登錄測試過程完成測試應用。主要關注集成應用的可視化便捷性、動態測試的參數、作用域和執行的過程。更為方便的是對于復雜業務邏輯,每一個控制流都可以作為集成的組件,直接進行可視化再集成。如圖6控制流的集成應用所示,集成使用了C-F控制流的基本結構,最外圍是一個順序結構(Sequence),在此內部順序地完成“inputPassword”變量的賦值和If結構;進入If結構中可視化地給出了“inputPassword==password”判斷條件,可以根據動態測試的需要,靈活的修改判斷條件,條件滿足輸出“welcome!”,否則進入Else任務;在Else任務中,又采用了一個Sequence結構用于嵌入復雜的DoWhile循環結構和順序執行最后的提示信息“please enter next day!”;在嵌入的DoWhile循環結構中順序的執行判斷密碼輸入的次數“inputCounter = inputCounter +1”語句,用于計算輸入密碼的次數和頻率,并順序地給出每次輸入的提示信息。至此,一個顯式的N-S圖靜態過程設計被可視化地建模完成,根據模型的邏輯結構可以靜態地分析邏輯關系,但對于復雜的業務流程顯然是不夠的,于是我們試圖引入動態的測試和分析。

如圖7所示C-F組件動態測試,借助WF的可視化實現,可以很方便地實現集成動態測試。在圖7(a)中給出了項目集成的更高層級的集成組件單元,將C-F中的過程流程封裝成可以進一步可視化建模的組件,相當于一個功能黑盒參與更復雜的業務過程測試。圖7(b)所示采用組件化的可視化建模,圖中的Sequence_Workflow、If_Condition_Activity、Case_Condition_Activity、While_Activity等不再是基本的結構,而是可以包含復雜業務邏輯的組件功能單元,比如可以是一個疫情狀態檢查的組件“YiQingStateChecking_Activity”或者完成訂單任務的“Order_Activity”等等,都可以在可視化建模完成后進行集成封裝。可視化的動態集成測試,需要方便的可視化的動態參數修改,在圖7(d)中,不僅可以動態的設置參數的變量類型和值,也可以隨時設置并查看變量的作用域,比如password和inputPassword的作用域在Sequence基本結構中,而inputCounter變量的作用域在DoWhile基本結構中,同時還可以可視化的輸入或導入動態的參數和變量,可以方便地實現可視化的動態測試。圖7(c)給出了集成動態測試的結果,每一個過程和組件執行都顯式可見,可以有效地幫助復雜業務邏輯的驗證和測試,達到了預期的效果。

5 ? 結論(Conclusion)

通過N-S和C-F可視化建模分析,我們將靜態的N-S圖無縫地轉換成動態可視化的C-F圖,顯式地實現參數的輸入、輸出和處理過程,實現了業務邏輯和算法的正確性和有效性驗證。對于較為復雜的業務流程,提供快速可視化的清晰驗證,可以及時發現算法分析的錯誤。解決了傳統N-S圖的靜態過程描述,缺少動態可視化的邏輯關系驗證問題,在N-S圖和編碼之間起到橋梁作用。在實際的建模實現過程,快速清晰、高效,易于理解和應用,具有實際意義。

參考文獻(References)

[1] 張海藩,牟永敏.軟件工程導論(第6版)[M].北京:清華大學出版社, 2013:117-128.

[2] 鄧德祥.結構化控制流程圖(N-S圖)的改進與模塊化程序設計的設想[J].計算機研究與發展,1995,32(12):21-26.

[3] 劉正余,蘇守寶,楊洋,等.N-S流程圖分析及其在算法描述中的應用[J].井岡山大學學報(自然科學版),2010,31(06):70-72;81.

[4] Yongliang Li, Huaiqing Zhang, Hongbo Ju, et al. Visual simulation of quantitative thinning in a Chinese fir plantation based on workflow foundation[J]. Applied Engineering in Agriculture, 2015,31(3):339-349.

[5] Microsoft. WindowsWorkflowFoundation[EB/OL]. https://docs.microsoft.com/en-us/dotnet/framework/windows-workflow-foundation, 2017-03-30.

[6] Microsoft. ProceduralWorkflows[EB/OL]. https://docs.microsoft.com/en-us/dotnet/framework/windows-workflow-foundation/procedural-workflows#controlling-execution-flow, 2017-03-30.

[7] 何隆.基于WF的工作流框架的設計和應用[D].重慶大學,2015.

[8] 鐘委明.基于WF可視化工作流編輯器的設計與實現[D].中山大學,2012.

作者簡介:

孔令東(1973-),男,博士,講師.研究領域:軟件工程和工作流技術.

主站蜘蛛池模板: 国产肉感大码AV无码| 久久综合成人| 国产欧美综合在线观看第七页| 欧美福利在线观看| 免费国产无遮挡又黄又爽| 久久人人妻人人爽人人卡片av| 免费看的一级毛片| 国产综合网站| 久久久久久国产精品mv| 亚洲AⅤ波多系列中文字幕| 99一级毛片| 最新国产你懂的在线网址| 亚洲区第一页| 一级不卡毛片| 麻豆国产精品一二三在线观看 | 九九九久久国产精品| 国产亚洲精品97在线观看| 成人亚洲视频| 国产黄色片在线看| 亚洲视频四区| 国产精品浪潮Av| 亚洲无码熟妇人妻AV在线| 制服丝袜在线视频香蕉| jizz在线观看| 久久亚洲黄色视频| 天天色天天操综合网| 国产国产人成免费视频77777| 91国内在线观看| 午夜视频在线观看区二区| 全午夜免费一级毛片| 亚洲国产天堂久久综合| 亚洲色欲色欲www网| 亚洲国产精品久久久久秋霞影院| 亚洲乱强伦| 日本免费福利视频| 麻豆国产原创视频在线播放| 色爽网免费视频| 亚洲bt欧美bt精品| 久久a毛片| 国产在线一区视频| 国产高清国内精品福利| 在线观看国产精品一区| 极品国产在线| 国产极品嫩模在线观看91| 91久久偷偷做嫩草影院电| 欧美午夜小视频| 国产成人麻豆精品| 日本a∨在线观看| 亚洲综合亚洲国产尤物| 91精品国产无线乱码在线| 2021国产精品自拍| 日日噜噜夜夜狠狠视频| 五月天福利视频| 在线欧美日韩国产| 国产成a人片在线播放| 女人毛片a级大学毛片免费| 亚洲第一网站男人都懂| 鲁鲁鲁爽爽爽在线视频观看| 国产精品无码影视久久久久久久 | 国产成人精品无码一区二| 国产经典在线观看一区| 久久综合一个色综合网| 亚洲另类色| 精品免费在线视频| 欧美成人看片一区二区三区 | 午夜国产大片免费观看| 亚洲人成网7777777国产| 午夜在线不卡| 国产真实乱了在线播放| 久久人与动人物A级毛片| 日本免费a视频| 国产欧美日韩视频怡春院| 亚洲天堂精品在线| 九九热视频精品在线| 69av在线| 2020精品极品国产色在线观看| 91在线丝袜| 亚洲日本中文字幕乱码中文| 欧美日一级片| 中文字幕一区二区视频| 国模粉嫩小泬视频在线观看| 青青久视频|