專利名稱:一種使用流程圖生成測試案例的方法
技術(shù)領(lǐng)域:
本發(fā)明涉及一種使用流程圖生成測試案例的方法。
背景技術(shù):
可視化編程技術(shù)的主要思想是用圖形工具和可重用部件來交互地編制程序。它把現(xiàn)有的或新建的模塊代碼封裝于標準接口封包中,作為可視化編程編輯工具中的一個對象,用圖符來表示和控制??梢暬幊碳夹g(shù)中的封包可能由某種語言的一個語句、功能模塊或數(shù)據(jù)庫程序組成,由此獲得的是高度的平臺獨立性和可移植性。在可視化編程環(huán)境中,用戶還可以自己構(gòu)造可視控制部件,或引用其他環(huán)境構(gòu)造的符合封包接口規(guī)范的可視控制部件,增加了編程的效率和靈活性。雖然傳統(tǒng)可視化編程方法能夠很好的提高軟件開發(fā)效率,縮短開發(fā)周期,但是仍 存如下問題首先對于許多項目開發(fā)者來說,在開發(fā)過程中更多關(guān)注程序功能的實現(xiàn),隨著程序規(guī)模的擴大,程序的數(shù)據(jù)流方向以及邏輯關(guān)系將難以控制,增加了產(chǎn)生程序臭蟲的概率。另外,一般的編程方法(包括可視化與非可視化語言)實現(xiàn)的程序,如果沒有完整的程序設(shè)計說明書以及準確的流程圖的支持,后期維護人員就需要花費大量的時間與精力去閱讀代碼來理解其中的流程和邏輯關(guān)系,這在很大程度上增加了程序的開發(fā)和后期的維護成本。
發(fā)明內(nèi)容
本發(fā)明為了彌補上述編程方法存在的不足,而提供一種能夠?qū)鹘y(tǒng)編程語言與流程結(jié)構(gòu)圖相混合的新型的可視化編程方法,能夠使程序開發(fā)人員利用流程元方框,表達編程思想,生成測試案例,執(zhí)行相應(yīng)的邏輯操作,完成相應(yīng)的任務(wù),提出一種使用流程圖生成測試案例的方法。為了解決上述技術(shù)問題,本發(fā)明的技術(shù)方案如下一種使用流程圖生成測試案例的方法,包括如下步驟I)對流程圖進行合法性檢查;2)歷遍流程圖中的所有圖元,如果圖元是連接線,則解析出連接線的出發(fā)節(jié)點和終止節(jié)點,獲得連接線兩端的圖元ID,并將鄰接矩陣中對應(yīng)的節(jié)點置為連接狀態(tài);如果連接線的某一端節(jié)點是開始節(jié)點將鄰接矩陣中對應(yīng)的節(jié)點設(shè)為StartID ;如果連接線的某一端節(jié)點是結(jié)束節(jié)點將鄰接矩陣中對應(yīng)的節(jié)點設(shè)為EndID ;如果既不是開始節(jié)點又不是結(jié)束節(jié)點就繼續(xù)下一次循環(huán);3)通過步驟2)建立一張具有所有連接線的起點和終點、開始節(jié)點和結(jié)束節(jié)點的有向圖鄰接矩陣,將鄰接矩陣中從StartID開始按照拓撲順序?qū)ΤB接線圖元外的每個圖元生成測試單元并且按序加入到測試案例中,利用鄰接矩陣檢查后續(xù)的結(jié)點ID,直至檢測到結(jié)束節(jié)點EndID為止;4)將測試單元映射到測試步驟中,根據(jù)測試步驟的類型調(diào)用對應(yīng)的方法;如果測試步驟是循環(huán)類型,則調(diào)用循環(huán)子序列生成方法;如果測試步驟是分支類型,則調(diào)用分支子序列生成方法;如果測試步驟是普通類型,則線形執(zhí)行;5)生成測試步驟后,在測試案例中從起始節(jié)點開始,每獲取一個測試單元,通過映射執(zhí)行對應(yīng)的測試步驟,從而運行相應(yīng)的操作,直到遇到結(jié)束節(jié)點為止。進一步的,所述分支子序列生成方法具體包括如下步驟21)將測試步驟按序加入到IF分支子序列,加入測試步驟的時候遞歸創(chuàng)建測試單元,當遇到一個結(jié)點的入度大于I的時候該結(jié)點就可能是匯合結(jié)點,將該結(jié)點記錄記作IfTmpEnd,并暫停對IF分支子序列的處理; 22)處理ELSE子序列,同樣掃描入度大于I的疑似匯合結(jié)點,將這樣的結(jié)點記作ElseTmpEnd,并暫停對ELSE分支子序列的處理;23)如果IfTmpEnd和ElseTmpEnd相等,則該結(jié)點就是分支匯合結(jié)點,;否則進入判斷IfTmpEnd和ElseTmpEnd的拓撲順序,如果IfTmpEnd先于ElseTmpEnd則跳轉(zhuǎn)到步驟21),否則跳轉(zhuǎn)到步驟22)。進一步的,所述步驟I)對流程圖進行合法性檢查包括如下步驟31)設(shè)置圖元節(jié)點約束,將一般圖元節(jié)點設(shè)為可以有多個輸入,只能有一個輸出,輸出不能形成回路;將分支圖元節(jié)點設(shè)為可以有多個輸入,只能有兩個輸出,其中標記為“Y”的輸出對應(yīng)測試單元中的IF分支,另一個對應(yīng)ELSE分支,輸出不能形成回路;將循環(huán)圖元節(jié)點設(shè)為只能有一個輸入,只能有兩個輸出,其中標記為返回的輸入形成循環(huán)回路,另一條代表循環(huán)的出口,循環(huán)出口的輸出不能形成回路,形成循環(huán)回路的輸出可以任意指定;將連線設(shè)為所有連線必須兩頭都連接測試步驟,如果連接線一端未能連接測試步驟則視為非法;32)設(shè)置測試流程圖的約束,利用回環(huán)連接線來表示循環(huán),引入了開始結(jié)點和結(jié)束結(jié)點,測試流程圖必須含有一個開始結(jié)點,且只能有一個開始結(jié)點,將第一個測試步驟連接到開始結(jié)點之后,測試流程圖在完結(jié)處必須要有一個結(jié)束結(jié)點,不允許使用其他結(jié)點作為一條鏈路的終結(jié)點。本發(fā)明的有益效果為(I)、在測試案例的執(zhí)行過程中以流程圖的形式表現(xiàn)程序的邏輯過程和數(shù)據(jù)流方向,便于理解和設(shè)計。(2)、將程序語句模塊化成圖元,各圖元相互獨立,簡化程序的復(fù)雜性,提高程序編寫實現(xiàn)效率。(3)、程序開發(fā)者可以方便的通過轉(zhuǎn)換圖元內(nèi)容和箭頭標志來改變程序的執(zhí)行過程和結(jié)果。(4)、該方法可以在相應(yīng)的圖元上設(shè)置斷點,逐步引導(dǎo)數(shù)據(jù)流方向,極大的便于測試人員的測試調(diào)試工作。
圖I是測試案例生成方法的流程圖;圖2是分支子序列生成方法流程圖;圖3是循環(huán)子序列生成方法流程圖。
具體實施例方式下面將結(jié)合附圖和具體實施例對本發(fā)明做進一步的說明。I、圖形編輯規(guī)則測試案例流程圖需要進行合法性檢查,不符合規(guī)則的流程圖不能夠生成測試案例。如果流程圖編輯器檢查到不符合規(guī)則的連線,就將該連線設(shè)置為虛線,并且不允許用戶運行該測試案例。(I)、圖元的約束圖元的約束需要控制測試步驟連接線的屬性,在流程圖編輯器中流程圖就代表測試案例運行的順序。所以整個流程圖應(yīng)該是可以拓撲排序的,這就要求除了循環(huán)控制結(jié)點之外由其他結(jié)點開始的連線都不能夠產(chǎn)生回路。另外由于當前測試案例的運行方式為單線程,所以沒有并行的測試步驟,為了簡單起見規(guī)定每個測試步驟只能有一個后繼,如果有并行的測試步驟則將它們轉(zhuǎn)化為串行。“Process” 一般圖元的約束可以有多個輸入;只能有一個輸出;輸出不能形成回路。“Decision”圖元的約束可以有多個輸入;只能有兩個輸出,其中標記為“Y”的輸出對應(yīng)測試單元中的IF分支,另一個對應(yīng)ELSE分支;輸出不能形成回路。“Loop Limit”圖元的約束只能有一個輸入;只能有兩個輸出,其中標記為“B”的輸入形成循環(huán)回路,另一條代表循環(huán)的出口 ;循環(huán)出口的輸出不能形成回路,形成循環(huán)回路的輸出可以任意指定。連線的約束所有連線必須兩頭都連接測試步驟,如果連接線一端未能連接測試步驟則視為非法。(2)、測試流程圖的約束為了方便測試案例方法的實現(xiàn),測試流程圖也有一些約束。首先由于利用回環(huán)連接線來表示循環(huán),這樣就無法使用拓撲排序方法來查找第一個運行的測試步驟。為了解決這個問題引入了開始結(jié)點,測試案例從開始結(jié)點的后繼結(jié)點開始執(zhí)行。又因為測試步驟是串行執(zhí)行的,所以不允許存在多條分支,在整個測試流程圖中只存在一個開始結(jié)點,再結(jié)合每個測試步驟的單個出口約束,就可以保證整個測試案例是一個串行的測試步驟。同理為了標識測試案例的完結(jié),需要引入結(jié)束結(jié)點,由于存在分支結(jié)點一條鏈路的輸入可能存在多條輸出鏈路,所以允許多個結(jié)束結(jié)點的存在。為了實現(xiàn)以上兩點,在測試流程圖中添加以下兩個約束測試流程圖必須含有一個開始結(jié)點,且只能有一個開始結(jié)點。將第一個測試步驟連接到開始結(jié)點之后。測試流程圖在完結(jié)處必須要有一個結(jié)束結(jié)點,不允許使用其他結(jié)點作為一條鏈路的終結(jié)點。2、測試案例生成方法測試案例(testcase)生成方法由測試圖的拓撲結(jié)構(gòu)生成測試案例,生成案例的結(jié)構(gòu)和樹形編輯器生成的測試案例結(jié)構(gòu)完全相同。由于測試案例的圖形編輯器用連接線來表示測試步驟之間的關(guān)系。例如用一個回環(huán)連接線來形成循環(huán)回路,用兩個分支鏈接匯合來形成分支條件的子序列。所以在圖形編輯器測試案例生成的方法中,基本的工作首先是、利用拓撲排序形成測試單元數(shù)組,第二要根據(jù)測試步驟間的連線來判斷循環(huán)子序列和分支子序列。下面就詳細介紹這四種方法(I)、測試案例生成方法如附圖I所示為測試案例生成方法的流程圖,生成一個描述測試步驟連接關(guān)系的有向圖的鄰接矩陣,然后根據(jù)該矩陣來生成測試案例。為了生成有向圖鄰接矩陣首先要掃描Visio圖中的所有圖元,對每個圖元作如下處理如果圖元是連接線則獲得連接線兩端的圖元ID并將此連接線加入到鄰接矩陣中;如果圖元是開始結(jié)點將StartID設(shè)置為圖元的ID ;如果圖元是結(jié)束結(jié)點將EndID設(shè)置為圖元的ID ;如果是一般結(jié)點就繼續(xù)下一次循環(huán)。這樣經(jīng)過一輪掃描之后,就可以獲得所有連接線的起點和終點,從而建立起一張有向圖的鄰接矩陣,并且還取得了圖的開始結(jié)點StartID和結(jié)束結(jié)點EndID0生成鄰接矩陣后,從StartID開始按照拓撲順序?qū)ΤB接線圖元外的每個圖元生成測試單元并且按序加入到測試案例中。通過鄰接矩陣檢查測試單元的后續(xù)結(jié)點的ID值,從而獲得該測試單元的后繼測試單元。 (2)、測試步驟生成方法測試案例生成方法產(chǎn)生的測試單元(testunit),其組合產(chǎn)生的測試案例,僅僅標志了流程圖的拓撲結(jié)構(gòu)。為了產(chǎn)生程序能夠快速運行的測試案例,必須將測試單元通過測試步驟生成方法映射成測試步驟。在編輯器中,測試單元對象是一個使用ID值標識的映射,可以快速地由測試步驟的ID找到對應(yīng)的測試單元。測試單元對象在用戶編輯圖元的時候就已經(jīng)生成,并且當用戶更改測試步驟的屬性時測試單元的屬性也會實時更新。當需要生成測試案例時,直接從測試單元對象中就可以獲得最新的測試步驟。測試步驟生成方法根據(jù)測試步驟的類型調(diào)用相應(yīng)的函數(shù)來生成測試步驟。測試步驟有如下3種類型I、循環(huán)類型測試案例中包括從循環(huán)節(jié)點開始,終止結(jié)點含有指向循環(huán)結(jié)點的連線,既測試步驟中存在回路。2、分支類型測試案例中含有分支節(jié)點存在兩個以上的后繼節(jié)點,既測試步驟中存在分支。3、普通類型測試步驟中不存在分支和回路的情況,既線性執(zhí)行。如果測試步驟是循環(huán)類型,則調(diào)用循環(huán)子序列生成方法(CreateLoopTestUnit函數(shù));如果測試步驟是分支類型,則調(diào)用分支子序列生成方法(CreateConditionTestUnit函數(shù));否則該測試案例的節(jié)點就是一般節(jié)點,直接返回結(jié)點對應(yīng)的測試單元。生成測試步驟后,程序可以從起始節(jié)點開始,每獲取一個測試單元,通過映射執(zhí)行對應(yīng)的測試步驟,運行相應(yīng)的操作。程序遇到結(jié)束節(jié)點停止運行。(3)、分支子序列生成方法分支測試步驟的結(jié)構(gòu)如附圖2所示,從分支結(jié)點開始到兩個分支結(jié)點的匯合結(jié)點之間的所有測試步驟都屬于分支測試步驟的子序列。由于分支子序列中也可能存在分支,所以存在有多個匯合點的情況。如圖所示的例子中分支結(jié)點A的ELSE子序列中有分支結(jié)點B。如果按照分支結(jié)點B中IF分支的連接來看,分支結(jié)點B的IF子序列就是分支結(jié)點A的匯合結(jié)點;如果按照ELSE分支的連接來看那么最下面的結(jié)點才是匯合結(jié)點。顯然第二種解釋方式是正確的,如果按照第一種方式解釋就會使得分支結(jié)點A的子序列不完整,第一種解釋的錯誤在于沒有將分支結(jié)點B作為一個整體來看待。所以不能簡單地檢查連接線的匯合點,這樣會破壞子序列的完整性。在查找分支結(jié) 點匯合結(jié)點的時候,要利用遞歸調(diào)用來封裝子分支結(jié)點。具體方法如下所示步驟I :將測試步驟按序加入到IF分支子序列,加入測試步驟的時候遞歸創(chuàng)建測試單元,這樣當遇到子分支結(jié)點的時候就會作為一個整體來看待。當遇到一個結(jié)點的入度大于I的時候該結(jié)點就可能是匯合結(jié)點,將該結(jié)點記錄記作IfTmpEnd,并暫停對IF分支子序列的處理,進入到步驟2。步驟2 :處理ELSE子序列,同樣要掃描入度大于I的疑似匯合結(jié)點,將這樣的結(jié)點記作ElseTmpEnd,并暫停對ELSE分支子序列的處理,進入到步驟3。步驟3 :如果IfTmpEnd和ElseTmpEnd相等,則該結(jié)點就是分支匯合結(jié)點,方法終止;否則進入步驟4。步驟4:判斷 IfTmpEnd和 ElseTmpEnd 的拓撲順序,如果 IfTmpEnd先于ElseTmpEnd則跳轉(zhuǎn)到步驟1,否則跳轉(zhuǎn)到步驟2。由于測試案例只有一個結(jié)束,最終總會找到一個共同的匯合結(jié)點,所以方法是會結(jié)束的。方法復(fù)雜度分析,掃描所有測試步驟的復(fù)雜度為O(N),關(guān)鍵在于判斷IfTmpEnd和ElseTmpEnd的拓撲順序。在預(yù)處理的時候為每一個結(jié)點建立前驅(qū)結(jié)點的集合,那么判斷結(jié)點A是否是結(jié)點B的前驅(qū)時只需要檢查結(jié)點A是否在結(jié)點B前驅(qū)集合中就可以。而查找方法可以在IogN時間內(nèi)解決,所以整個方法的復(fù)雜度為NlogN。(4)、循環(huán)子序列生成方法循環(huán)結(jié)點的生成方法如附圖3所示,循環(huán)子序列包括從循環(huán)開始,終止結(jié)點含有到循環(huán)結(jié)點的連線。所以循環(huán)結(jié)點的生成方法也比較簡單,只要按序?qū)y試步驟加入到循環(huán)子序列中,當遇到含有到循環(huán)結(jié)點連線的測試步驟時退出。SmartController是一套由浙江大學(xué)CCNT實驗室ESE工程組自主開發(fā)的開放式ECU環(huán)仿真測試工具。其能夠提供完整的測試開發(fā)功能,支持仿真接口的圖形化配置、測試案例的圖形化設(shè)計、測試案例庫管理等功能,可以使得測試更加自動化、系統(tǒng)化。本發(fā)明在SmartController軟件上獲得了實現(xiàn),能夠通過流程圖建立測試案例,對采集到的數(shù)據(jù)進行測試。以一個測試電源狀態(tài)的實例來演示該發(fā)明的具體實施步驟(I)、在project的Modules (模塊)中新建一個Power (電源)測試案例(2)、選定多個圖元,包括Open power (打開電源)模塊、Get Volt (獲取電源電壓值)模塊、Set Volt (設(shè)定電源電壓)模塊、Read Current (讀取電源電流)模塊、SetCurrent (設(shè)定電源電流)模塊以及Close Power (關(guān)閉電源)模塊,并分別拖入測試案例中(3)、在圖元的屬性中填入對應(yīng)的設(shè)定代碼。在Set Volt模塊的Volt Value屬性與Set Current模塊的Current Value屬性中分別設(shè)定電源電壓和電流值為5和10。同時設(shè)置各個模塊的Delay (延時)屬性為100 (毫秒)。設(shè)置各個模塊的Abort On Fail屬性為True,既若測試單元測試發(fā)生異常則放棄余下測試步驟。(4)、首先打開電源,讀取當前電源電壓和電流值,然后設(shè)定電源電壓值,再次讀取當前的電源電壓和電流值,設(shè)定電源電流值,讀取當前電源電壓和電流值,最后關(guān)閉電源。使用帶箭頭的黑線按照如上邏輯順序?qū)⒏鱾€測試單元連接起來,完成流程圖測試案例的設(shè)計(5)、點擊運行按鈕,啟動整個測試用例
(6)、程序按流程圖所示延箭頭方向分步前進(7)、程序執(zhí)行結(jié)束,Console (控制臺)面板顯示測試結(jié)果,表明各個圖元的運行狀態(tài)。若圖元為綠色,表示成功通過測試;若圖元為紅色,則表示該測試案例在此圖元對應(yīng)的測試單元上發(fā)生未通過情況(8)、在Set Current模塊對應(yīng)的圖元上設(shè)置斷點(9)、再次啟動測試用例,程序會停止在該斷點上(10)、不斷點擊下一步,程序按圖元逐步前進以上所述僅是本發(fā)明的優(yōu)選實施方式,應(yīng)當指出,對于本技術(shù)領(lǐng)域的普通技術(shù)人員,在不脫離本發(fā)明構(gòu)思的前提下,還可以做出若干改進和潤飾,這些改進和潤飾也應(yīng)視為 本發(fā)明保護范圍內(nèi)。
權(quán)利要求
1.一種使用流程圖生成測試案例的方法,其特征在于,包括如下步驟 1)對流程圖進行合法性檢查; 2)歷遍流程圖中的所有圖元,如果圖元是連接線,則解析出連接線的出發(fā)節(jié)點和終止節(jié)點,獲得連接線兩端的圖元ID,并將鄰接矩陣中對應(yīng)的節(jié)點置為連接狀態(tài);如果連接線的某一端節(jié)點是開始節(jié)點將鄰接矩陣中對應(yīng)的節(jié)點設(shè)為StartID ;如果連接線的某一端節(jié)點是結(jié)束節(jié)點將鄰接矩陣中對應(yīng)的節(jié)點設(shè)為EndID ;如果既不是開始節(jié)點又不是結(jié)束節(jié)點就繼續(xù)下一次循環(huán); 3)通過步驟2)建立一張具有所有連接線的起點和終點、開始節(jié)點和結(jié)束節(jié)點的有向圖鄰接矩陣,將鄰接矩陣中從StartID開始按照拓撲順序?qū)ΤB接線外的每個圖元生成測試單元并且按序加入到測試案例中,利用鄰接矩陣檢查后續(xù)的結(jié)點ID,直至檢測到結(jié)束節(jié)點EndID為止; 4)將測試單元映射到測試步驟中,根據(jù)測試步驟的類型調(diào)用對應(yīng)的方法;如果測試步驟是循環(huán)類型,則調(diào)用循環(huán)子序列生成方法;如果測試步驟是分支類型,則調(diào)用分支子序列生成方法;如果測試步驟是普通類型,則線形執(zhí)行; 5)生成測試步驟后,在測試案例中從起始節(jié)點開始,每獲取一個測試單元,通過映射執(zhí)行對應(yīng)的測試步驟,從而運行相應(yīng)的操作,直到遇到結(jié)束節(jié)點為止。
2.根據(jù)權(quán)利要求I所述的一種使用流程圖生成測試案例的方法,其特征在于,所述分支子序列生成方法具體包括如下步驟 21)將測試步驟按序加入到IF分支子序列,加入測試步驟的時候遞歸創(chuàng)建測試單元,當遇到一個結(jié)點的入度大于I的時候該結(jié)點就可能是匯合結(jié)點,將該結(jié)點記錄記作IfTmpEnd,并暫停對IF分支子序列的處理; 22)處理ELSE子序列,同樣掃描入度大于I的疑似匯合結(jié)點,將這樣的結(jié)點記作ElseTmpEnd,并暫停對ELSE分支子序列的處理; 23)如果IfTmpEnd和ElseTmpEnd相等,則該結(jié)點就是分支匯合結(jié)點,;否則進入判斷IfTmpEnd和ElseTmpEnd的拓撲順序,如果IfTmpEnd先于ElseTmpEnd則跳轉(zhuǎn)到步驟21),否則跳轉(zhuǎn)到步驟22)。
3.根據(jù)權(quán)利要求I所述的一種使用流程圖生成測試案例的方法,其特征在于,所述步驟I)對流程圖進行合法性檢查包括如下步驟 31)設(shè)置圖元節(jié)點約束,將一般圖元節(jié)點設(shè)為可以有多個輸入,只能有一個輸出,輸出不能形成回路;將分支圖元節(jié)點設(shè)為可以有多個輸入,只能有兩個輸出,其中標記為“Y”的輸出對應(yīng)測試單元中的IF分支,另一個對應(yīng)ELSE分支,輸出不能形成回路;將循環(huán)圖元節(jié)點設(shè)為只能有一個輸入,只能有兩個輸出,其中標記為返回的輸入形成循環(huán)回路,另一條代表循環(huán)的出口,循環(huán)出口的輸出不能形成回路,形成循環(huán)回路的輸出可以任意指定;將連線設(shè)為所有連線必須兩頭都連接測試步驟,如果連接線一端未能連接測試步驟則視為非法; 32)設(shè)置測試流程圖的約束,利用回環(huán)連接線來表示循環(huán),引入了開始結(jié)點和結(jié)束結(jié)點,測試流程圖必須含有一個開始結(jié)點,且只能有一個開始結(jié)點,將第一個測試步驟連接到開始結(jié)點之后,測試流程圖在完結(jié)處必須要有一個結(jié)束結(jié)點,不允許使用其他結(jié)點作為一條鏈路的終結(jié)點。
全文摘要
本發(fā)明公開了一種使用流程圖生成測試案例的方法,包括如下步驟對流程圖進行合法性檢查后歷遍流程圖中的所有圖元,獲得連接線兩端的圖元ID;建立具有所有連接線的起點和終點、開始節(jié)點和結(jié)束節(jié)點的有向圖鄰接矩陣,然后從StartID開始按照拓撲順序?qū)ΤB接線圖元外的每個圖元生成測試單元并且按序加入到測試案例中,利用鄰接矩陣檢查后續(xù)的結(jié)點ID,直至檢測到結(jié)束節(jié)點EndID為止;將測試單元映射到測試步驟;生成測試步驟后在測試案例中從起始節(jié)點開始,每獲取一個測試單元,通過映射執(zhí)行對應(yīng)的測試步驟,從而運行相應(yīng)的操作,直到遇到結(jié)束節(jié)點為止,具有在測試案例的執(zhí)行過程中以流程圖的形式表現(xiàn)程序的邏輯過程和數(shù)據(jù)流方向,便于理解和設(shè)計等優(yōu)點。
文檔編號G06F9/44GK102662644SQ20121004917
公開日2012年9月12日 申請日期2012年2月29日 優(yōu)先權(quán)日2012年2月29日
發(fā)明者葉晗, 吳朝暉, 姜旭鋒, 季喬卡, 李紅, 鄧俊, 顧宗華 申請人:浙江大學(xué)