两个人的电影免费视频_国产精品久久久久久久久成人_97视频在线观看播放_久久这里只有精品777_亚洲熟女少妇二三区_4438x8成人网亚洲av_内谢国产内射夫妻免费视频_人妻精品久久久久中国字幕

一種將流程圖轉換為可執(zhí)行語言的優(yōu)化方法

文檔序號:6500726閱讀:130來源:國知局
一種將流程圖轉換為可執(zhí)行語言的優(yōu)化方法
【專利摘要】本發(fā)明提出了一種將流程圖轉換為可執(zhí)行語言的優(yōu)化方法,該方法包括以下步驟:a.獲取目標流程圖數據、節(jié)點數據、節(jié)點關系數據信息并保存;b.將目標流程圖封裝成一個獨立的類X;c.將節(jié)點之間的流向關系生成為類X的序列屬性;d.根據節(jié)點信息中的節(jié)點編號和數據類型,將其生成類X的屬性;e.根據每個節(jié)點信息中的表達式,生成對應的類X的方法;f.生成類X的構造方法,功能在于根據步驟c中的序列屬性信息解析執(zhí)行步驟e中生成的方法。本發(fā)明充分利用了面向對象語言中類的功能和流程圖中的節(jié)點關系,在將復雜流程圖轉換成可執(zhí)行語言的過程中避免了多次使用if條件語句嵌套造成混亂的影響。
【專利說明】一種將流程圖轉換為可執(zhí)行語言的優(yōu)化方法

【技術領域】
[0001] 本發(fā)明涉及信息【技術領域】,特別涉及一種將流程圖轉換為可執(zhí)行語言的優(yōu)化方 法。

【背景技術】
[0002] 流程圖是流經一個系統(tǒng)的信息流、觀點流、或部件流的圖形代表。流程圖是揭示和 掌握封閉系統(tǒng)運動狀況的有效方式。作為診斷工具,它能夠輔助決策制定,讓管理者清楚地 知道問題可能出在什么地方,從而確定可供選擇的行動方案。
[0003] 從使用的角度講,用戶或管理者針對某一業(yè)務、管理、生產、銷售流程等創(chuàng)建流程 圖并使用或者允許他人使用,不用去考慮如何把流程圖及其內容轉換為可執(zhí)行的計算機語 言;從技術的角度講,編程人員需要獲取流程圖各節(jié)點的數據信息,把用戶所做的流程圖轉 換成可執(zhí)行語言,并且盡可能地提升語言的執(zhí)行效果,實現用戶與流程圖更好地交互。
[0004] 然而,在實際的過程中,把用戶的流程圖內容轉換成可執(zhí)行語言時因大部分流程 圖涉及到一個或多個判斷節(jié)點,形成了多種選擇路徑,尤其是特別龐大而復雜的流程圖,編 程人員如果采用傳統(tǒng)的方法需要使用多個if條件語句實現,在嵌套條件幾十個甚至上百 個的情況下很容易造成語句混亂,編程人員在檢查語句時也費時費力且不利于維護。


【發(fā)明內容】

[0005] 針對現有的將流程圖轉換為可執(zhí)行語言的問題,本發(fā)明提出了一種將流程圖轉換 為可執(zhí)行語言的優(yōu)化方法,該方法在獲取流程圖相關信息的基礎上將整個流程圖作為一個 獨立的類X,生成類X的序列屬性、節(jié)點屬性及相應的方法,再通過構造方法解析生成的方 法。為實現上述
【發(fā)明內容】
,本發(fā)明采用了一種將流程圖轉換為可執(zhí)行語言的優(yōu)化方法,該方 法包括以下步驟:
[0006] a.獲取目標流程圖數據、節(jié)點數據、節(jié)點關系數據信息并保存;
[0007] b.將目標流程圖封裝成一個獨立的類X ;
[0008] c.將節(jié)點之間的流向關系生成為類X的序列屬性;
[0009] d.根據節(jié)點信息中的節(jié)點編號和數據類型,將其生成類X的屬性;
[0010] e.根據每個節(jié)點信息中的表達式,生成對應的類X的方法;
[0011] f.生成類X的構造方法,功能在于根據步驟c中的序列屬性信息解析執(zhí)行步驟e 中生成的方法。
[0012] 進一步,流程圖節(jié)點類型包括開始節(jié)點、判斷節(jié)點、執(zhí)行節(jié)點、結束節(jié)點。
[0013] 進一步,步驟f的構造方法的技術實現過程為:根據傳入節(jié)點的ID從節(jié)點信息中 取到該節(jié)點的類型,如果該節(jié)點類型是結束節(jié)點,則結束本方法;如果該節(jié)點類型是開始節(jié) 點,則根據節(jié)點信息中的下一個節(jié)點的ID信息,將當前節(jié)點ID作為傳入參數,遞歸調用本 方法;如果節(jié)點是判斷節(jié)點,則獲取該節(jié)點的每個條件節(jié)點ID信息,通過反射機制依次執(zhí) 行ID對應的方法,并獲取執(zhí)行結果為真的節(jié)點信息,取得該節(jié)點對應的下一個節(jié)點ID信 息,以此ID作為參數遞歸調用本方法;若節(jié)點類型為執(zhí)行節(jié)點,則通過反射機制調用執(zhí)行 該節(jié)點ID對應的方法,執(zhí)行完成后通過該節(jié)點的下一個節(jié)點ID作為參數遞歸調用本方法。
[0014] 進一步,節(jié)點信息是指節(jié)點數據或節(jié)點關系數據中的內容。
[0015] 進一步,序列屬性為json形式的數據。
[0016] 另外,本發(fā)明所涉及的流程圖是已經確定的流程圖,不能再做修改;如果修改,則 作為新的流程圖看待。
[0017] 與現有技術相比,本發(fā)明充分利用了面向對象語言中類的功能和流程圖中的節(jié)點 關系,在將用戶所做復雜流程圖轉換成可執(zhí)行語言的過程中避免了多次使用條件語句嵌套 造成混亂的影響;減少了在編程語句出現問題時編程人員檢測錯誤語句的時間,便于維護, 提高編程效率;同時,本發(fā)明實現了用戶與流程圖更好地交互。

【專利附圖】

【附圖說明】
[0018] 圖1為本發(fā)明所提供的一種將流程圖轉換為可執(zhí)行語言的優(yōu)化方法的流程圖;
[0019] 圖2為本發(fā)明所提供的一種將流程圖轉換為可執(zhí)行語言的優(yōu)化方法中構造方法 的技術解析過程圖;
[0020] 圖3為本發(fā)明所提供的一種將流程圖轉換為可執(zhí)行語言的優(yōu)化方法的實施例。

【具體實施方式】
[0021] 為了使本發(fā)明所提到的一種將流程圖轉換為可執(zhí)行語言的優(yōu)化方法及其優(yōu)點更 加清楚明確,以下參照附圖對本發(fā)明進行更進一步的詳細說明。
[0022] 圖1為本發(fā)明所提供的一種將流程圖轉換為可執(zhí)行語言的優(yōu)化方法的流程圖,如 圖1所示,該方法的主要流程步驟如下:
[0023] 步驟1,獲取目標流程圖數據、節(jié)點數據、節(jié)點關系數據信息并保存。
[0024] 把流程圖轉換成可執(zhí)行語言,首先需要獲取流程圖的相關數據信息,其中,流程圖 數據主要包括流程圖編號、名稱、類型、狀態(tài)、描述等信息;節(jié)點數據主要包括節(jié)點編號、表 達式類型、表達式狀態(tài)、表達式返回類型、表達式描述等信息;節(jié)點關系數據主要包括節(jié)點 編號、子節(jié)點編號、節(jié)點狀態(tài)、節(jié)點描述等。
[0025] 步驟2,將目標流程圖封裝成一個獨立的類X。
[0026] 將目標流程圖作為一個獨立的類X,流程圖的相關內容都在該類中實現。類的名稱 可以根據流程圖名稱ID進行自定義,也可以按照其他方式實現。例如:利用流程圖名稱ID 生成對應的類名,或者以流程圖的特定功能生成相應的類名。
[0027] 步驟3,將節(jié)點之間的流向關系生成為類X的序列屬性。
[0028] 實現本發(fā)明的一個重要環(huán)節(jié)就是節(jié)點間的流向關系,即當前節(jié)點是何種類型的節(jié) 點,其下一個節(jié)點或每個條件節(jié)點是哪個節(jié)點,依次類推,將這些內容作為類X的序列屬 性。序列屬性可以是json形式的數據或XML形式的數據或HTML形式的數據或自定義形式 的數據,數據形式根據實際的使用需求確定。
[0029] 步驟4,根據節(jié)點信息中的節(jié)點編號和數據類型,將其生成類X的屬性。
[0030] 流程圖中的所有節(jié)點是按照一定規(guī)則編號的,是有序的,且同一流程圖中使用的 編號規(guī)則和編號數據類型相同,然后將節(jié)點編號信息生成類X的屬性。例如:使用P表示節(jié) 點,Pl,P2, P3, . . .,PN(其中N彡3)表示各個節(jié)點的編號。
[0031] 步驟5,根據每個節(jié)點信息中的表達式,生成對應的類X的方法。
[0032] 流程圖中無論是開始節(jié)點、執(zhí)行節(jié)點、判斷節(jié)點、結束節(jié)點,每個節(jié)點都對應有表 達式,將這些表達式內容生成為類X中的方法。
[0033] 步驟6,生成類X的構造方法,功能在于根據類X中的序列屬性信息解析執(zhí)行類X 中生成的方法。
[0034] 生成類X的構造方法,根據步驟3中的序列屬性解析執(zhí)行步驟5中生成的方法。根 據傳入節(jié)點的ID從節(jié)點信息中取到該節(jié)點的類型,然后執(zhí)行相應的解析操作。一個完整的 目標流程圖只有一個開始節(jié)點和一個結束節(jié)點,構造方法會先從序列屬性信息中找到開始 節(jié)點,開始執(zhí)行解析操作。
[0035] 圖2為本發(fā)明所提供的一種將流程圖轉換為可執(zhí)行語言的優(yōu)化方法中構造方法 的技術解析過程圖,該過程如下:
[0036] 根據傳入節(jié)點的ID從節(jié)點信息中取到該節(jié)點的類型,如果該節(jié)點類型是結束節(jié) 點,則結束本方法;如果該節(jié)點類型是開始節(jié)點,則根據節(jié)點信息中的下一個節(jié)點的ID信 息,將當前節(jié)點ID作為傳入參數,遞歸調用本方法;如果節(jié)點是判斷節(jié)點,則獲取該節(jié)點的 每個條件節(jié)點ID信息,通過反射機制依次執(zhí)行ID對應的方法,并獲取執(zhí)行結果為真的節(jié)點 信息,取得該節(jié)點對應的下一個節(jié)點ID信息,以此ID作為參數遞歸調用本方法;若節(jié)點類 型為執(zhí)行節(jié)點,則通過反射機制調用執(zhí)行該節(jié)點ID對應的方法,執(zhí)行完成后通過該節(jié)點的 下一個節(jié)點ID作為參數遞歸調用本方法。
[0037] 符合圖2所述技術解析過程的一種實現方式:從數據庫獲取數據,把數據轉換成 json形式。根據傳入節(jié)點的ID從節(jié)點信息中取到該節(jié)點的類型,如果該節(jié)點類型是結束節(jié) 點,貝IJ結束本方法;根據傳入節(jié)點ID取到其子節(jié)點的json數組,如果該節(jié)點類型是開始節(jié) 點,從json數組中取到當前節(jié)點的ID信息,再根據該信息取出其下一個節(jié)點的ID信息,將 當前節(jié)點ID作為傳入參數,遞歸調用本方法;如果子節(jié)點json數組的大小大于1,則其是 判斷節(jié)點,獲取該節(jié)點的每個條件子節(jié)點ID信息,通過反射機制依次執(zhí)行ID對應的方法, 并將結果強制轉為Boolean型,如果結果是真,取得該節(jié)點對應的下一個節(jié)點ID信息,以此 ID作為參數遞歸調用本方法;如果子節(jié)點json數組的大小等于1,則其是執(zhí)行節(jié)點,則通過 反射機制調用執(zhí)行該節(jié)點ID對應的方法,執(zhí)行完成后通過該節(jié)點的下一個節(jié)點ID作為參 數遞歸調用本方法。
[0038] 進一步,如果目標流程圖邏輯有問題或者說用戶畫的流程圖不正確,采用本發(fā)明 時會出現中途無法繼續(xù)執(zhí)行的情況,不能完整完成把流程圖轉換成可執(zhí)行語言。此時,可以 采取多種方式進行接下來的操作,例如:流程圖錯誤,直接結束本方法、在結束的同時提示 出錯的內容或出錯的節(jié)點、允許用戶在修改后繼續(xù)執(zhí)行等。
[0039] 圖3為本發(fā)明所提供的一種將流程圖轉換為可執(zhí)行語言的優(yōu)化方法的實施例,如 圖所示,節(jié)點框中@符號前面的內容為節(jié)點編號,@符號后面的內容為節(jié)點名稱,":"后面 內容為節(jié)點表達式,判斷節(jié)點執(zhí)行完表達式之后的結果為真"Y",結果為假"N"。表1為流程 圖相關節(jié)點信息,該信息不一定要以表的形式存在,為了說明清楚,本實施例以表的形式表 示,從表1可以清楚的看到各節(jié)點的名稱、編號、表達式、節(jié)點類型以及下一個節(jié)點的編號, 在實際的存儲過程中,各個節(jié)點并不一定按照順序放置。
[0040]

【權利要求】
1. 一種將流程圖轉換為可執(zhí)行語言的優(yōu)化方法,其特征在于,該方法包括以下步驟: a. 獲取目標流程圖數據、節(jié)點數據、節(jié)點關系數據信息并保存; b. 將目標流程圖封裝成一個獨立的類X; c. 將節(jié)點之間的流向關系生成為類X的序列屬性; d. 根據節(jié)點信息中的節(jié)點編號和數據類型,將其生成類X的屬性; e. 根據每個節(jié)點信息中的表達式,生成對應的類X的方法; f. 生成類X的構造方法,功能在于根據步驟c中的序列屬性信息解析執(zhí)行步驟e中生 成的方法。
2. 如權利要求1所述的一種將流程圖轉換為可執(zhí)行語言的優(yōu)化方法,其特征在于,所 述流程圖節(jié)點類型包括開始節(jié)點、判斷節(jié)點、執(zhí)行節(jié)點、結束節(jié)點。
3. 如權利要求1或2所述的一種將流程圖轉換為可執(zhí)行語言的優(yōu)化方法,其特征在 于,步驟f的構造方法的技術實現過程為:根據傳入節(jié)點的ID從節(jié)點信息中取到該節(jié)點的 類型,如果該節(jié)點類型是結束節(jié)點,則結束本方法;如果該節(jié)點類型是開始節(jié)點,則根據節(jié) 點信息中的下一個節(jié)點的ID信息,將當前節(jié)點ID作為傳入參數,遞歸調用本方法;如果節(jié) 點是判斷節(jié)點,則獲取該節(jié)點的每個條件節(jié)點ID信息,通過反射機制依次執(zhí)行ID對應的方 法,并獲取執(zhí)行結果為真的節(jié)點信息,取得該節(jié)點對應的下一個節(jié)點ID信息,以此ID作為 參數遞歸調用本方法;若節(jié)點類型為執(zhí)行節(jié)點,則通過反射機制調用執(zhí)行該節(jié)點ID對應的 方法,執(zhí)行完成后通過該節(jié)點的下一個節(jié)點ID作為參數遞歸調用本方法。
4. 如權利要求1所述的一種將流程圖轉換為可執(zhí)行語言的優(yōu)化方法,其特征在于,所 述節(jié)點信息是指節(jié)點數據或節(jié)點關系數據中的內容。
5. 如權利要求1所述的一種將流程圖轉換為可執(zhí)行語言的優(yōu)化方法,其特征在于,所 述序列屬性為json形式的數據。
【文檔編號】G06F9/44GK104049958SQ201310081739
【公開日】2014年9月17日 申請日期:2013年3月15日 優(yōu)先權日:2013年3月15日
【發(fā)明者】牟春林, 馮平 申請人:蘇州精易會信息技術有限公司
網友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
望都县| 荔波县| 西城区| 昭苏县| 汉阴县| 扎兰屯市| 商城县| 博客| 湘潭县| 麻江县| 大田县| 惠水县| 自治县| 宁波市| 南涧| 鲜城| 定南县| 瑞丽市| 禄丰县| 迁安市| 邓州市| 莲花县| 东平县| 含山县| 太仓市| 藁城市| 磴口县| 石屏县| 乐东| 肇州县| 和平区| 恭城| 彭水| 柳州市| 高淳县| 芜湖市| 广德县| 汕尾市| 搜索| 固安县| 孙吴县|