用于可視化地實(shí)現(xiàn)軟件代碼的方法和設(shè)備的制造方法
【專利摘要】本發(fā)明涉及用于可視化地實(shí)現(xiàn)軟件代碼的方法和設(shè)備。為此,根據(jù)本發(fā)明的用于可視化地實(shí)現(xiàn)軟件代碼的方法包括以下步驟:通過代碼塊生成單元,根據(jù)需求和功能,以塊為單位,生成用于實(shí)現(xiàn)軟件代碼的代碼塊;以及通過代碼塊設(shè)置單元,基于用戶輸入的信息,設(shè)置包含于代碼塊中的代碼塊屬性或內(nèi)部屬性代碼,其中設(shè)置代碼塊屬性或內(nèi)部屬性代碼的步驟包括以下步驟:在所述代碼塊中包含關(guān)于代碼塊的功能信息、關(guān)于所述功能信息的描述信息、以及內(nèi)部屬性代碼。
【專利說明】
用于可視化地實(shí)現(xiàn)軟件代碼的方法和設(shè)備
技術(shù)領(lǐng)域
[0001]本發(fā)明一般涉及用于可視化地實(shí)現(xiàn)軟件代碼的方法和設(shè)備,更具體地,本發(fā)明涉及利用代碼塊可視化地實(shí)現(xiàn)軟件代碼的方法和設(shè)備。
[0002]本發(fā)明基于并要求2014年5月22日遞交的韓國(guó)專利申請(qǐng)10-2014-0061828的優(yōu)先權(quán),其全部?jī)?nèi)容以引用方式并入于此。
【背景技術(shù)】
[0003]—般而言,經(jīng)由從導(dǎo)出工程師需求到設(shè)計(jì)功能、實(shí)現(xiàn)代碼和驗(yàn)證軟件的一系列程序來執(zhí)行軟件的開發(fā)。在這些程序期間,存在大量困難,但是已經(jīng)開發(fā)出用于顯而易見地布置需求的工具、用于建模功能的工具、用于支持代碼的編程的工具等,并且這些工具向軟件開發(fā)者提供了大量幫助。
[0004]然而,為了工程師基于所導(dǎo)出的需求來實(shí)現(xiàn)軟件,必須設(shè)計(jì)滿足需求的詳細(xì)功能并將其功能實(shí)現(xiàn)為代碼;但是不存在這樣一種工具,直接支持用于將詳細(xì)功能實(shí)現(xiàn)為代碼的方法。換句話說,不存在這樣的工具:其使得軟件的功能以一對(duì)一方式對(duì)應(yīng)于代碼,并且與實(shí)現(xiàn)需求和功能設(shè)計(jì)的軟件代碼的位置、如何實(shí)現(xiàn)以及與其它功能存在哪些關(guān)系相關(guān)地,顯而易見地檢查和實(shí)現(xiàn)代碼。
[0005]人類可以理解以典型的語言、繪畫或圖表表示的功能,并且必須以諸如代碼的其它形式進(jìn)行表示。也就是說,這種表示必須經(jīng)由諸如人的媒介從常規(guī)語言轉(zhuǎn)換成編程語言。由此,即使合意地設(shè)計(jì)了功能,其也可能不與其實(shí)現(xiàn)的代碼匹配,或者對(duì)應(yīng)的功能可能被錯(cuò)誤地實(shí)現(xiàn),導(dǎo)致在軟件中檢測(cè)到許多錯(cuò)誤。此外,雖然未外在表示,但當(dāng)以與期望實(shí)現(xiàn)代碼的方式不同的方式修改代碼時(shí),非??赡艹霈F(xiàn)錯(cuò)誤。
[0006]在從實(shí)現(xiàn)軟件起已經(jīng)過去了較長(zhǎng)時(shí)段的情況下,即使存在定義的需求和設(shè)計(jì)數(shù)據(jù),也可能發(fā)生不能容易理解軟件代碼的結(jié)構(gòu)的現(xiàn)象。也就是說,由于在表示軟件功能所需的常規(guī)語言和用于實(shí)現(xiàn)軟件的代碼之間表示上的不同,軟件代碼可以在其中包括多個(gè)非期望元素,這不僅取決于實(shí)現(xiàn)軟件代碼的人的個(gè)人傾向和意圖以及解決問題的方案,而且取決于理解需求的方法和用于重新解釋軟件設(shè)計(jì)的方法。由此,這些元素成為對(duì)代碼的普遍理解和解釋的巨大阻礙,并且軟件代碼的可讀性惡化,因此阻礙軟件的高效開發(fā)。
[0007]閱讀和理解編程語言比一般語言更難。在編程語言中,必須根據(jù)控制流順序配置代碼,并且必須針對(duì)每個(gè)表示精確聲明和定義代碼。也就是說,除非根據(jù)排序順序地表示編程語言中的組件,否則表示具有不同的含義。除非精確定義在這種編程語言和語法中使用的數(shù)據(jù)(例如,命令語句)的形式或含義,否則會(huì)發(fā)生錯(cuò)誤。其原因是計(jì)算機(jī)不能考慮上下文而確定或理解數(shù)據(jù),并且因此必須清楚定義和排序所有編程語言中的語句以構(gòu)成單個(gè)含義。由此,以文本形式配置常規(guī)源代碼,并且通過單行表示代碼的語義單元,并因此根據(jù)行的順序配置代碼。
[0008]編程語言沒有精確表示用于在定義功能時(shí)幫助理解人或哲學(xué)或抽象功能的圖表或圖。另外,由于代碼的語義單元是行,所以在大量代碼的情況下,直到通過獨(dú)立且直接地檢查各行來解釋代碼的含義,才容易理解軟件詳細(xì)實(shí)現(xiàn)的程度。當(dāng)然,可以使用設(shè)計(jì)文獻(xiàn)來調(diào)查代碼的近似含義。然而,如上所述,由于在設(shè)計(jì)文獻(xiàn)和實(shí)際代碼之間存在表示的不同(在常規(guī)語言和編程語言之間表示的不同),所以出現(xiàn)以下問題:僅通過查看設(shè)計(jì)文獻(xiàn)不能檢查實(shí)現(xiàn)構(gòu)成實(shí)際軟件的代碼的方法。
【發(fā)明內(nèi)容】
[0009]技術(shù)問題
[0010]本發(fā)明的目的是實(shí)現(xiàn)包括代碼塊的完整組件形式的軟件。
[0011]本發(fā)明的另一目的是提供一種設(shè)備和方法,用于在以代碼實(shí)現(xiàn)開發(fā)軟件所導(dǎo)出的需求和功能時(shí),可視化地實(shí)現(xiàn)在編程語言中使用的軟件代碼。
[0012]技術(shù)方案
[0013]為實(shí)現(xiàn)上述目的,根據(jù)本發(fā)明的一種用于可視化地實(shí)現(xiàn)軟件代碼的方法包括:通過代碼塊生成單元,根據(jù)需求和功能,逐塊生成用于實(shí)現(xiàn)軟件代碼的代碼塊;以及通過代碼塊設(shè)置單元,基于用戶輸入的信息,設(shè)置包含于每個(gè)代碼塊中的代碼塊屬性或內(nèi)部屬性代碼,其中設(shè)置代碼塊屬性或內(nèi)部屬性代碼包括:在所述代碼塊中包含關(guān)于代碼塊的功能信息、關(guān)于所述功能信息的描述信息、以及內(nèi)部屬性代碼。
[0014]根據(jù)本發(fā)明的用于可視化地實(shí)現(xiàn)軟件代碼的方法還包括:通過代碼塊轉(zhuǎn)換單元,當(dāng)從用戶接收到請(qǐng)求時(shí),將所述代碼塊轉(zhuǎn)換為與預(yù)先設(shè)置的編程語言相對(duì)應(yīng)的代碼。
[0015]根據(jù)本發(fā)明的用于可視化地實(shí)現(xiàn)軟件代碼的方法,還包括:在設(shè)置代碼塊屬性或內(nèi)部屬性代碼之后,當(dāng)從用戶接收到顯示所述代碼塊的請(qǐng)求時(shí),在顯示單元上顯示與所述代碼塊有關(guān)的功能信息、描述信息以及內(nèi)部屬性代碼。
[0016]此外,設(shè)置代碼塊屬性或內(nèi)部屬性代碼可以包括:在所述代碼塊中包括代碼塊的位置、塊編號(hào)、索引、管理編號(hào)以及內(nèi)部屬性代碼。
[0017]此外,設(shè)置代碼塊屬性或內(nèi)部屬性代碼可以包括:當(dāng)通過所述代碼塊生成單元生成多個(gè)代碼塊時(shí),根據(jù)用戶的設(shè)置,在分層樹結(jié)構(gòu)或分層塊結(jié)構(gòu)中對(duì)多個(gè)代碼塊進(jìn)行分類。
[0018]此外,設(shè)置代碼塊屬性或內(nèi)部屬性塊可以包括:根據(jù)所述代碼塊在分層樹結(jié)構(gòu)或分層塊結(jié)構(gòu)中的位置,自動(dòng)分配塊編號(hào)。
[0019]此外,當(dāng)經(jīng)由用戶輸入改變代碼塊的位置時(shí),可以自動(dòng)改變?cè)诜峙鋲K編號(hào)時(shí)分配的塊編號(hào)。
[0020]可以根據(jù)在分層樹結(jié)構(gòu)或分層塊結(jié)構(gòu)中的位置,將所述代碼塊分類為上代碼塊和下代碼塊;以及所述代碼塊可以被配置為使得:獨(dú)立于上代碼塊實(shí)現(xiàn)包含于所述下代碼塊中的內(nèi)部屬性代碼,并且能夠基于特性對(duì)包含于所述上代碼塊的下代碼塊的輸入/輸出參數(shù)進(jìn)行組合和索引。
[0021]此外,上代碼塊可以包括一個(gè)或多個(gè)下代碼塊,并且所述一個(gè)或多個(gè)下代碼塊可以從所述上代碼塊接收輸入?yún)?shù),并將輸出參數(shù)返回到所述上代碼塊。
[0022]此外,當(dāng)代碼塊包括多個(gè)層時(shí),上代碼塊可以包括僅從屬于該上代碼塊的下代碼塊所需要的所有輸入/輸出參數(shù)。
[0023]此外,根據(jù)控制流,所述代碼塊可以包括聲明語句代碼塊、循環(huán)語句代碼塊以及條件語句代碼塊。
[0024]此外,設(shè)置包含于每個(gè)代碼塊中的代碼塊屬性或內(nèi)部屬性代碼可以包括:將在先前生成的代碼塊和代碼塊之間的關(guān)系設(shè)置為包含關(guān)系或平行關(guān)系。
[0025]此外,在設(shè)置所述代碼塊屬性或內(nèi)部屬性代碼時(shí),可以從用戶處經(jīng)由編碼窗口輸入所述內(nèi)部屬性代碼,所述編碼窗口包括以下中的至少一個(gè):變量聲明窗口,用于聲明所述內(nèi)部屬性代碼的輸入變量和輸出變量;輸入變量分配窗口,用于分配所述輸入變量;條件語句窗口,用于輸入條件語句或循環(huán)語句;代碼輸入窗口,用于輸入實(shí)現(xiàn)對(duì)應(yīng)的代碼塊的功能所需的軟件代碼;以及輸出變量分配窗口,用于分配輸出變量。
[0026]此外,根據(jù)本發(fā)明的用于可視化地實(shí)現(xiàn)軟件代碼的方法還包括:在設(shè)置代碼塊屬性或內(nèi)部屬性代碼之后,通過代碼塊驗(yàn)證單元,使用隨機(jī)變量或使用輸入到每個(gè)代碼塊中的條件語句中或從條件語句中輸出的變量來驗(yàn)證所述代碼塊。
[0027]此外,根據(jù)本發(fā)明的用于可視化地實(shí)現(xiàn)軟件代碼的方法還包括:在設(shè)置代碼塊屬性或內(nèi)部屬性代碼之后,通過代碼塊許可設(shè)置單元,設(shè)置訪問所述代碼塊的許可。
[0028]為了實(shí)現(xiàn)上述目的,根據(jù)本發(fā)明的一種用于可視化地實(shí)現(xiàn)軟件代碼的設(shè)備包括:代碼塊生成單元,用于根據(jù)所述需求和功能,逐塊生成用于實(shí)現(xiàn)軟件代碼的代碼塊;以及代碼塊設(shè)置單元,用于基于用戶輸入的信息,設(shè)置包含于每個(gè)代碼塊中的代碼塊屬性或內(nèi)部屬性代碼,其中所述代碼塊設(shè)置單元在所述代碼塊中包括關(guān)于代碼塊的功能信息、關(guān)于所述功能信息的描述信息、以及內(nèi)部屬性代碼。
[0029]技術(shù)效果
[0030]依照根據(jù)本發(fā)明的用于可視化地實(shí)現(xiàn)軟件代碼的方法和設(shè)備,優(yōu)點(diǎn)在于:使用被劃分為各個(gè)功能單元的代碼塊可以進(jìn)行可視化軟件編碼,并且使用代碼塊的更高維度表示成為可能,而不是通過各個(gè)行表示現(xiàn)有編碼,因此使得用戶或操作員能夠更高效地執(zhí)行軟件開發(fā)。
[0031 ]此外,依照根據(jù)本發(fā)明的用于可視化地實(shí)現(xiàn)軟件代碼的方法和設(shè)備,優(yōu)點(diǎn)在于:代碼塊之間的關(guān)系得以澄清,并且輸入/輸出參數(shù)流也得以澄清,因此改善了代碼的可讀性并便于軟件的重用。
[0032]此外,依照根據(jù)本發(fā)明的用于可視化地實(shí)現(xiàn)軟件代碼的方法和設(shè)備,優(yōu)點(diǎn)在于:軟件代碼被配置為使得代碼的功能執(zhí)行單元以一對(duì)一的方式對(duì)應(yīng)于代碼塊,并且這種代碼塊可以實(shí)現(xiàn)于樹結(jié)構(gòu)或分層塊結(jié)構(gòu)中,由此允許用戶更直觀地實(shí)現(xiàn)軟件代碼。
【附圖說明】
[0033]圖1是根據(jù)本發(fā)明示出利用用于可視化地實(shí)現(xiàn)軟件代碼的設(shè)備可視化地實(shí)現(xiàn)軟件代碼的方法的概念圖;
[0034]圖2是根據(jù)本發(fā)明實(shí)施例示出在顯示器單元上顯示的代碼塊的結(jié)構(gòu)的圖;
[0035]圖3是根據(jù)本發(fā)明實(shí)施例示出在代碼塊之間數(shù)據(jù)共享的概念圖;
[0036]圖4是根據(jù)本發(fā)明實(shí)施例示出代碼塊和使用代碼塊實(shí)現(xiàn)軟件代碼的方法的圖;
[0037]圖5是根據(jù)本發(fā)明實(shí)施例示出將生成的代碼塊轉(zhuǎn)換為代碼的過程的圖;
[0038]圖6和圖7是根據(jù)本發(fā)明實(shí)施例示出代碼塊之間的關(guān)系的圖;
[0039]圖8是根據(jù)本發(fā)明實(shí)施例示出用于可視化地實(shí)現(xiàn)軟件代碼的設(shè)備的框圖;
[0040]圖9是根據(jù)本發(fā)明實(shí)施例示出包含于用于可視化地實(shí)現(xiàn)軟件代碼的設(shè)備中的代碼塊設(shè)置單元的框圖;
[0041]圖10-17是根據(jù)本發(fā)明實(shí)施例示出存儲(chǔ)于存儲(chǔ)單元內(nèi)的代碼塊的類型的圖;
[0042]圖18是根據(jù)本發(fā)明實(shí)施例示出用于將塊編號(hào)分配給多個(gè)代碼塊的方法的圖;
[0043]圖19是根據(jù)本發(fā)明實(shí)施例示出添加索引的代碼塊的顯示的圖;
[0044]圖20是根據(jù)本發(fā)明實(shí)施例示出使用包含于用于可視化地實(shí)現(xiàn)軟件代碼的設(shè)備中的代碼塊轉(zhuǎn)換單元將代碼塊轉(zhuǎn)換成代碼的圖;
[0045]圖21是根據(jù)本發(fā)明實(shí)施例示出用于可視化地實(shí)現(xiàn)軟件代碼的方法的流程圖;以及
[0046]圖22是根據(jù)本發(fā)明實(shí)施例示出在用于可視化地實(shí)現(xiàn)軟件代碼的方法中響應(yīng)于用戶輸入設(shè)置代碼塊信息的步驟的流程圖。
【具體實(shí)施方式】
[0047]為了詳細(xì)描述本發(fā)明,結(jié)合附圖描述了本發(fā)明的實(shí)施例,從而本發(fā)明所屬的技術(shù)領(lǐng)域中的普通技術(shù)人員可以容易地實(shí)踐本發(fā)明。應(yīng)該注意的是,貫穿附圖,相同的附圖標(biāo)記用于指定相同或類似的元件。在本發(fā)明的后續(xù)描述中,將省略被視為構(gòu)成本發(fā)明主旨的已知功能和配置的詳細(xì)描述。
[0048]圖1是根據(jù)本發(fā)明示出利用用于可視化地實(shí)現(xiàn)軟件代碼的設(shè)備可視化地實(shí)現(xiàn)軟件代碼的方法的概念圖。圖2是根據(jù)本發(fā)明實(shí)施例示出在顯示器單元上顯示的代碼塊的結(jié)構(gòu)的圖。圖3是根據(jù)本發(fā)明實(shí)施例示出代碼塊之間的數(shù)據(jù)共享的概念圖。圖4是根據(jù)本發(fā)明實(shí)施例示出代碼塊和使用代碼塊實(shí)現(xiàn)軟件代碼的方法的圖。圖5是根據(jù)本發(fā)明實(shí)施例示出將生成的代碼塊轉(zhuǎn)換為代碼的過程的圖。圖6和圖7是根據(jù)本發(fā)明實(shí)施例示出代碼塊之間的關(guān)系的圖。圖8是根據(jù)本發(fā)明實(shí)施例示出用于可視化地實(shí)現(xiàn)軟件代碼的設(shè)備的框圖。圖9是根據(jù)本發(fā)明實(shí)施例示出包含于用于可視化地實(shí)現(xiàn)軟件代碼的設(shè)備中的代碼塊設(shè)置單元的框圖。圖10-17是根據(jù)本發(fā)明實(shí)施例示出存儲(chǔ)于存儲(chǔ)單元內(nèi)的代碼塊的類型的圖。圖18是根據(jù)本發(fā)明實(shí)施例示出用于將塊編號(hào)分配給多個(gè)代碼塊的方法的圖。圖19是根據(jù)本發(fā)明實(shí)施例示出添加索引的代碼塊的顯示的圖。圖20是根據(jù)本發(fā)明實(shí)施例示出使用包含于用于可視化地實(shí)現(xiàn)軟件代碼的設(shè)備中的代碼塊轉(zhuǎn)換單元將代碼塊轉(zhuǎn)換成代碼的圖。圖21是根據(jù)本發(fā)明實(shí)施例示出用于可視化地實(shí)現(xiàn)軟件代碼的方法的流程圖。圖22是根據(jù)本發(fā)明實(shí)施例示出在用于可視化地實(shí)現(xiàn)軟件代碼的方法中響應(yīng)于用戶輸入設(shè)置代碼塊信息的步驟的流程圖。
[0049]在下文中,將參照附圖詳細(xì)描述根據(jù)本發(fā)明實(shí)施例的用于可視化地實(shí)現(xiàn)軟件代碼的方法和設(shè)備。
[0050]如圖1所示,用戶使用編程工具執(zhí)行軟件編碼。這里用戶可以逐代碼塊地執(zhí)行編碼,如附圖標(biāo)記20所示,而不是針對(duì)每行執(zhí)行傳統(tǒng)的編碼。此外,各個(gè)代碼塊彼此獨(dú)立。
[0051]這里,術(shù)語“代碼塊”表示構(gòu)成軟件的組件之一。下面將描述代碼塊,但是本發(fā)明不限于這種代碼塊(作為組件的示例),而是涉及可以分層構(gòu)造軟件的所有組件。
[0052]通過將軟件的功能劃分為塊單元而獲得代碼塊,并且每個(gè)代碼塊可以配置為包括功能信息31、描述信息32、代碼信息33以及管理編號(hào)34,如附圖標(biāo)記30所示。如上所述,傳統(tǒng)的編碼方案以一維(ID)執(zhí)行編碼,并因此出現(xiàn)先前實(shí)現(xiàn)的軟件代碼的可讀性劣化并且每條代碼的含義不清楚的問題。相反,如附圖標(biāo)記30所示,本發(fā)明的代碼塊的優(yōu)點(diǎn)在于,對(duì)于每個(gè)代碼塊,可以立即理解對(duì)應(yīng)代碼塊所表明的功能信息31、描述信息32、代碼信息33和管理編號(hào)34,因此允許用戶或操作員直觀和明確識(shí)別對(duì)應(yīng)部分的含義。這里,功能信息31、描述信息32、代碼信息33和管理編號(hào)34的含義如下所述。
[0053]功能信息31表示對(duì)實(shí)現(xiàn)軟件所導(dǎo)出的或通過具體化用戶需求而設(shè)計(jì)的功能的描述。也就是說,功能信息31可以包括關(guān)于對(duì)應(yīng)代碼塊的綜合信息。
[0054]這里,用戶的需求具有分層結(jié)構(gòu),而不具有控制步驟。此外,每個(gè)需求負(fù)責(zé)其在代碼塊中的自己的角色。此外,每個(gè)需求可以具有對(duì)應(yīng)于其自身特性的索引。另外,需求可以形成組,并且這種組還可以用索引進(jìn)行表示。
[0055]描述信息32可以包括對(duì)上述功能信息的詳細(xì)的或具體的描述。這里,包含于描述信息32中的信息可以包括各種類型的信息,例如,功能的詳細(xì)描述、圖以及圖表。也就是說,用戶可以使用描述信息32更直觀地理解軟件代碼。
[0056]代碼信息33可以包括關(guān)于實(shí)現(xiàn)軟件所需的代碼的信息,或構(gòu)成特定代碼塊的下代碼塊。這里,將在后文參照?qǐng)D4詳細(xì)描述下代碼塊。
[0057]管理編號(hào)34是用戶或操作員管理每個(gè)代碼塊所需的編號(hào),并且通過用戶或操作員進(jìn)行分配。
[0058]此外,如附圖標(biāo)記20所示,代碼塊可以實(shí)現(xiàn)于分層樹結(jié)構(gòu)中。此外,這種代碼塊還可以示出為分層塊結(jié)構(gòu),如圖2所示,以及示出為分層樹結(jié)構(gòu)。實(shí)現(xiàn)于分層樹結(jié)構(gòu)或分層塊結(jié)構(gòu)中的代碼塊被實(shí)現(xiàn)為與構(gòu)成軟件的功能具有一對(duì)一對(duì)應(yīng)關(guān)系,如上所述。也就是說,當(dāng)將功能結(jié)構(gòu)化為代碼塊時(shí),對(duì)在代碼塊中定義的功能進(jìn)行編碼,然后清楚地定義在塊之間的數(shù)據(jù)共享和控制流,可以以常規(guī)編程語言表示由代碼塊組成的代碼。
[0059]將在下文詳細(xì)描述在塊之間的數(shù)據(jù)共享和控制流。數(shù)據(jù)共享意圖結(jié)構(gòu)化代碼塊,使得上代碼塊具有下代碼塊所需的所有輸入/輸出數(shù)據(jù)作為其內(nèi)部數(shù)據(jù);并且控制流意圖通過使得控制流能夠僅存在于分層塊結(jié)構(gòu)中的相同層之間,而將控制流與數(shù)據(jù)分離。換句話說,假設(shè)在單個(gè)代碼塊中存在多個(gè)下代碼塊,則可以如全局變量一樣操縱所有下代碼塊的輸入/輸出數(shù)據(jù),這是因?yàn)樗械南麓a塊可以在上代碼塊中訪問所需的所有數(shù)據(jù),其中控制流只需要定義在下代碼塊之間。這種結(jié)構(gòu)應(yīng)用于所有的層,并且在各個(gè)層中定義的控制流與在下代碼塊之間定義的控制流相關(guān)聯(lián),并因此對(duì)代碼塊排序。
[0060]這里,實(shí)現(xiàn)用于確定控制流的方法,使得當(dāng)指定上代碼塊的順序時(shí),以上代碼塊的指定順序確定下代碼塊的順序。也就是說,可以以代碼塊的塊編號(hào)的順序指定代碼塊的順序,即,1、1_1、1_1_1、1_1_2、1_2、1~2~1、1_2_2和2_1。
[0061]此外,用于共享數(shù)據(jù)的方法具有上代碼塊必須擁有下代碼塊所需的輸入/輸出數(shù)據(jù)的特性,并且該特性可以應(yīng)用于所有層。例如,假設(shè)軟件包括功能I和功能2。此外,假設(shè)功能I具體包括功能1-1和功能1-2。如圖1的附圖標(biāo)記20所示并如圖2所示,可以實(shí)現(xiàn)這些功能,使得功能I對(duì)應(yīng)于代碼塊I,并且功能2對(duì)應(yīng)于代碼塊2。這里,以功能1、功能1-1、功能1-2和功能2的順序確定控制流。
[0062]圖3是根據(jù)本發(fā)明的實(shí)施例示出在代碼塊之間的數(shù)據(jù)共享的概念圖,并詳細(xì)示出了在定義的數(shù)據(jù)區(qū)域中的代碼塊之間共享數(shù)據(jù)的概念。
[0063]可以將代碼塊劃分為上代碼塊和下代碼塊。這里,每個(gè)上代碼塊必須定義和管理由下代碼塊共享的數(shù)據(jù)。也就是說,每個(gè)上代碼塊必須擁有下代碼塊所需的所有輸入/輸出數(shù)據(jù)。該原理例如與將數(shù)據(jù)定義為常規(guī)編程語言的全局變量以及將全局變量用于各個(gè)區(qū)域(下代碼塊)的原理相同。
[0064]如圖3所示,上代碼塊管理在包括至少一個(gè)下塊的區(qū)域中的數(shù)據(jù),并且該結(jié)構(gòu)可以被連續(xù)分層。例如,在c語言的情況下,可以使用多個(gè)大括號(hào)(T或“}”)無限支持若干層中的局部變量,并且上代碼塊具有的局部變量可以與下代碼塊可以訪問的局部變量起相同的作用。
[0065]下文中,將參照?qǐng)D4詳細(xì)描述根據(jù)本發(fā)明的實(shí)施例的代碼塊和使用代碼塊實(shí)現(xiàn)軟件代碼的方法。
[0066]也就是說,在使用代碼塊實(shí)現(xiàn)軟件的工具中添加新的代碼塊的動(dòng)作表示在要包含對(duì)應(yīng)代碼塊的位置生成新的代碼塊。在用于實(shí)現(xiàn)代碼塊的支持工具中,即使未添加初始代碼塊,也總是存在最上層的代碼塊。例如,在C編程語言中,可以將最上層的代碼塊定義為Main()函數(shù)。此外,當(dāng)添加代碼塊時(shí),根據(jù)所選的代碼塊類型,需要條件語句的定義、輸入/輸出變量的定義、代碼塊順序(塊編號(hào))的定義、以及在對(duì)應(yīng)代碼塊中變量的聲明。
[0067]如圖4所示,用戶可以經(jīng)由編碼窗口實(shí)現(xiàn)每個(gè)代碼塊的內(nèi)部屬性代碼。具體地,代碼塊可以經(jīng)由編碼窗口單獨(dú)地管理細(xì)節(jié),例如代碼塊的變量聲明/代碼塊的輸入變量的分配/條件語句/對(duì)應(yīng)代碼塊的功能實(shí)現(xiàn)代碼/代碼塊的輸出變量的分配,并可以在實(shí)現(xiàn)代碼時(shí)在對(duì)應(yīng)位置處定位相關(guān)代碼。這種編碼窗口可以配置為包括變量聲明窗口 41、輸入變量分配窗口 42、條件語句窗口 43、代碼輸入窗口 44以及輸出變量分配窗口 45中的至少一個(gè)。也就是說,在編碼窗口中,用戶可以選擇所需窗口而不使用所有的窗口,并可以使用所選的窗口來執(zhí)行編碼。
[0068]這里,變量聲明窗口41用于聲明在代碼塊中使用的所有變量(S卩,用于實(shí)現(xiàn)代碼塊的功能的所有變量),并且輸入變量分配窗口 42用于分配輸入變量。此外,傳統(tǒng)語句窗口 43用于在編碼條件語句(例如,“If”或“Switch”控制語句)并編碼循環(huán)語句(例如,“While”、“For”或“Do while”控制語句)時(shí)聲明條件部分。此外,代碼輸入窗口44用于輸入內(nèi)部屬性代碼,在編碼聲明語句、編碼條件語句以及編碼循環(huán)語句時(shí)實(shí)質(zhì)上定義功能的執(zhí)行需要內(nèi)部屬性代碼。最后,輸出變量分配窗口 45用于從對(duì)應(yīng)的代碼塊返回值到上代碼塊。
[0069]如上所述,當(dāng)添加代碼塊時(shí),可以在代碼塊的內(nèi)部屬性代碼中管理關(guān)于代碼塊的變量聲明/代碼塊的輸入變量分配/條件語句/代碼塊的輸出變量的分配的信息。由于對(duì)應(yīng)的代碼塊的主要內(nèi)容是代碼塊的功能實(shí)現(xiàn)代碼,所以用戶或操作員可以根據(jù)代碼塊的位置和作用來定義代碼塊的內(nèi)部屬性信息,因此集中于作為主要內(nèi)容的功能實(shí)現(xiàn)代碼的完成。
[0070]此外,圖4中示出的用于聲明和分配變量的窗口41、42、43和45使得對(duì)應(yīng)的細(xì)節(jié)能夠在單獨(dú)的區(qū)域內(nèi)定義,并可以與實(shí)現(xiàn)對(duì)應(yīng)代碼塊的功能所需的代碼(即,經(jīng)由代碼輸入窗口輸入的內(nèi)部屬性代碼)分開管理。當(dāng)添加代碼塊時(shí),可以使用代碼塊,使得在除了代碼輸入窗口 44之外的窗口部分,在對(duì)應(yīng)代碼塊的內(nèi)部屬性信息區(qū)域中定義功能。被管理為代碼塊的內(nèi)部屬性信息的細(xì)節(jié)在被轉(zhuǎn)換為軟件代碼時(shí)可以按圖4的順序進(jìn)行編碼。
[0071]以這種方式經(jīng)由編碼窗口設(shè)置的代碼塊的內(nèi)部屬性代碼可以轉(zhuǎn)換為用戶預(yù)先設(shè)置的編程語言的代碼。
[0072]下文中,將參照?qǐng)D5描述根據(jù)本發(fā)明實(shí)施例的用于將生成的代碼塊轉(zhuǎn)換為代碼的過程。更具體地,參考圖5,將描述當(dāng)上代碼塊包括下代碼塊時(shí)將這些代碼塊轉(zhuǎn)換為代碼的過程。
[0073]在代碼中表示的代碼塊可以具有類似于C語言函數(shù)的那些特性。也就是說,C語言函數(shù)具有在函數(shù)中使用的局部變量,并可以從函數(shù)外部加載待用于函數(shù)中的參數(shù)。此外,函數(shù)可以返回特定值作為結(jié)果值。
[0074]由于C語言的函數(shù)與黑盒相同,所以從與在函數(shù)中執(zhí)行的動(dòng)作相關(guān)的數(shù)據(jù)共享的角度看,輸入特定值時(shí)導(dǎo)出特定結(jié)果。也就是說,當(dāng)輸入外部參數(shù)時(shí),函數(shù)意圖執(zhí)行其指定動(dòng)作或返回結(jié)果值,并可以具有其自身的數(shù)據(jù)區(qū)域。此外,當(dāng)按其順序順序調(diào)用這樣的函數(shù)時(shí),可以將函數(shù)劃分為用于執(zhí)行其功能的軟件組件。
[0075]如上所述,將在下文描述在塊之間的數(shù)據(jù)共享和控制流。數(shù)據(jù)共享意圖結(jié)構(gòu)化代碼塊,使得上代碼塊擁有下代碼塊所需要的所有輸入/輸出數(shù)據(jù)作為其內(nèi)部數(shù)據(jù),并且控制流意圖通過使得控制流能夠僅在分層塊結(jié)構(gòu)中的相同層之間發(fā)生,而將控制流與數(shù)據(jù)分離。換句話說,假設(shè)在單個(gè)代碼塊中存在多個(gè)下代碼塊,則可以如全局變量一樣操縱所有下代碼塊的輸入/輸出數(shù)據(jù),這是因?yàn)樗械南麓a塊可以在上代碼塊中訪問所需的所有數(shù)據(jù),其中控制流只需要定義在下代碼塊之間。這種結(jié)構(gòu)應(yīng)用于所有的層,并且在各個(gè)層中定義的控制流與在下代碼塊之間定義的控制流相關(guān)聯(lián),并因此對(duì)代碼塊排序。
[0076]這里,由于以上詳細(xì)描述了用于確定控制流的方法和用于共享數(shù)據(jù)的方法,所以省略了對(duì)其的重復(fù)描述。
[0077]代碼塊可以具有數(shù)據(jù)區(qū)域和控制流的特性。具體地,C語言函數(shù)的操作和代碼塊之間的不同在于函數(shù)可以在特定時(shí)間由各種類型的代碼共同調(diào)用和使用,而代碼塊可以屬于特定位置并可以獨(dú)立實(shí)現(xiàn)指定角色。
[0078]例如,假設(shè)存在管理編號(hào)為3的代碼塊并且管理編號(hào)為32的代碼塊屬于管理編號(hào)為3的代碼塊。在該情況下,在屬于管理編號(hào)為3的代碼塊的管理編號(hào)為32的代碼塊從管理編號(hào)為3的代碼塊接收輸入?yún)?shù)并執(zhí)行操作之后,向管理編號(hào)為3的代碼塊返回指定的輸出參數(shù)。這里,在管理編號(hào)為32的代碼塊中的所有參數(shù)和動(dòng)作,除了輸入/輸出數(shù)據(jù)之外,可以在管理編號(hào)為32的代碼塊中獨(dú)立執(zhí)行。另外,該執(zhí)行從不影響任何其它代碼塊,以及作為上代碼塊的管理編號(hào)為3的代碼塊。
[0079]在C語言中,可以利用函數(shù)實(shí)現(xiàn)具有上述特性的代碼,但是C語言并不支持在另一函數(shù)中聲明函數(shù),并且因此本發(fā)明利用大括號(hào)(U)實(shí)現(xiàn)代碼塊。大括號(hào)可以是用于將C代碼中的區(qū)域劃分為塊的方法之一,并且在大括號(hào)中聲明的變量是僅在對(duì)應(yīng)區(qū)域中識(shí)別出的局部變量??梢詤⒄?qǐng)D5進(jìn)一步闡明這種細(xì)節(jié)。也就是說,上代碼塊的結(jié)構(gòu)包括下代碼塊,并且代碼塊可以被顯示為通過大括號(hào)彼此區(qū)分。
[0080]此外,可以使用將在上大括號(hào)(上代碼塊)中聲明的變量(輸入?yún)?shù))重新分配給在下大括號(hào)(下代碼塊)中聲明的變量、基于變量執(zhí)行操作、以及最終返回結(jié)果值作為在上大括號(hào)(上代碼塊)中聲明的變量(輸出參數(shù))的方法來實(shí)現(xiàn)代碼塊。也就是說,由于使用代碼塊的局部變量來執(zhí)行在每個(gè)代碼塊中處理的所有動(dòng)作,所以代碼塊可以維持與其它代碼塊的獨(dú)立關(guān)系。當(dāng)滿足下述特征時(shí),可以利用任何方法生成代碼塊。
[0081]此外,如上所述,代碼塊可以具有其間的包含關(guān)系,但還可以具有其間的平行關(guān)系。這種細(xì)節(jié)可以通過參考圖6和圖7進(jìn)一步闡明,在圖6中用上述包含關(guān)系實(shí)現(xiàn)代碼塊,并且在圖7中用平行關(guān)系實(shí)現(xiàn)代碼塊。
[0082]也就是說,圖6中示出的包含關(guān)系可以定義為在另一代碼塊中存在至少一個(gè)代碼塊的關(guān)系。在具有包含關(guān)系的代碼塊中,上代碼塊不具有單獨(dú)的代碼,除了在上代碼塊中使用的變量的聲明。因此,實(shí)現(xiàn)具有包含關(guān)系的代碼塊的控制流,使得首先編碼在上代碼塊中的變量聲明部分,然后僅需要布置在上代碼塊中包含的代碼塊的代碼。因此,當(dāng)通過將在后文描述的平行關(guān)系的代碼塊的控制流確定上代碼塊的代碼的位置時(shí),在確定出的代碼位置的范圍內(nèi)確定在下代碼塊之間的多條代碼的順序,并因此可以配置軟件的所有代碼。
[0083]此外,如圖7所示,將在相同的上代碼塊中包括代碼塊而不是在其間具有包含關(guān)系的關(guān)系定義為平行關(guān)系。必須對(duì)平行關(guān)系的代碼塊進(jìn)行排序。例如,如圖7所示,當(dāng)定義控制流使得一個(gè)代碼塊是N0.1代碼塊且另一代碼塊是N0.2代碼塊時(shí),將代碼塊的形式轉(zhuǎn)換為軟件代碼,例如圖5所示的上述形式。
[0084]后文中,將參照?qǐng)D8詳細(xì)描述根據(jù)本發(fā)明實(shí)施例的用于可視化地實(shí)現(xiàn)軟件代碼的設(shè)備。圖8是根據(jù)本發(fā)明實(shí)施例示出用于可視化地實(shí)現(xiàn)軟件代碼的設(shè)備的框圖。如圖8所示,根據(jù)本發(fā)明實(shí)施例的用于可視化地實(shí)現(xiàn)軟件代碼的設(shè)備可以配置為包括代碼塊生成單元110、代碼塊設(shè)置單元120、代碼塊許可設(shè)置單元130、代碼塊驗(yàn)證單元140以及代碼塊轉(zhuǎn)換單元150。下文中,將詳細(xì)描述這些部件。
[0085]代碼塊生成單元110用于生成代碼塊,該代碼塊用于關(guān)于軟件的實(shí)現(xiàn),根據(jù)客戶端的需求和功能,逐塊實(shí)現(xiàn)軟件代碼。
[0086]更具體地,代碼塊生成單元110導(dǎo)出需求,其可以實(shí)現(xiàn)為單個(gè)代碼塊。這里,需求具有分層結(jié)構(gòu)而不具有控制步驟。此外,需求在將順序執(zhí)行的代碼中發(fā)揮其作用。此外,根據(jù)其特性,需求可以具有索引。另外,需求可以形成組,其也可以由索引表示。
[0087]代碼塊生成單元110利用需求生成代碼塊,其中代碼塊可以具有控制步驟,并且各個(gè)需求可以分配給代碼塊。這里,可以將代碼塊的生成主要?jiǎng)澐譃閮蓚€(gè)方案。也就是說,第一生成方法用于生成在圖4中示出的代碼窗口中具有所有空屬性的代碼塊。此外,第二生成方法用于通過調(diào)用預(yù)先存儲(chǔ)于存儲(chǔ)單元83中的代碼塊的形式來生成代碼塊。也就是說,存儲(chǔ)單元83可以包括各種形式的代碼塊。更具體地,根據(jù)控制流,存儲(chǔ)單元83可以包括聲明語句代碼塊、循環(huán)語句代碼塊以及條件語句代碼塊。這里,在下文中描述存儲(chǔ)于存儲(chǔ)單元83中的代碼塊的類型。
[0088]這里,在圖1O中示出聲明語句代碼塊的例子。圖1O示出了所謂的“Goto Next”代碼塊,其是常規(guī)代碼塊,在其中不存在單獨(dú)的控制流。更具體地,“Goto Next”代碼塊是常規(guī)代碼塊,并可以指定代碼塊,使得在對(duì)應(yīng)的代碼塊之后存在隨后的代碼塊。
[0089]循環(huán)語句代碼塊的例子在圖11-13中示出。圖11示出了 “For”代碼塊,圖12示出了uWh i I e”代碼塊,以及圖13示出了 “Do Wh i I e”代碼塊。在圖11 -13中示出的循環(huán)語句代碼塊是用于執(zhí)行循環(huán)語句的功能的代碼塊,用于在滿足期望條件時(shí)在給定代碼塊中重復(fù)執(zhí)行預(yù)定動(dòng)作。然而,從代碼塊的觀點(diǎn)看,即使重復(fù)執(zhí)行循環(huán)語句的內(nèi)部動(dòng)作,這也因此與在對(duì)應(yīng)代碼塊的連續(xù)位置處執(zhí)行目標(biāo)任務(wù)的情形相同。也就是說,可以認(rèn)為執(zhí)行一次代碼塊的動(dòng)作。
[0090]條件語句代碼塊的例子在圖14和圖15中示出。也就是說,圖14示出了“Switch”代碼塊,圖15示出了 “If”代碼塊。在圖14和15中描述的循環(huán)語句代碼塊表示用于在輸入變量滿足特定條件時(shí)執(zhí)行給定功能的代碼塊。
[0091 ]同時(shí),代碼塊還可以包括函數(shù)代碼塊,這將在下文進(jìn)行描述。函數(shù)代碼塊表示實(shí)現(xiàn)為函數(shù)的代碼塊,并且其例子在圖16和17中示出。可以在最上層的塊中聲明、定義和使用這種函數(shù)代碼塊,類似于使用C語言的函數(shù)。如圖16所示,函數(shù)代碼塊在局部變量聲明/輸入變量分配/操作性能/結(jié)果返回功能方面與其它代碼塊相同,但是與它們的不同在于函數(shù)名稱(參數(shù))是額外聲明的且額外用作塊的名稱。為此,函數(shù)代碼塊可以在最上層的塊中聲明。
[0092]在圖8中示出的代碼塊設(shè)置單元120基于來自用戶的信息輸入執(zhí)行設(shè)置代碼塊屬性或包含于代碼塊中的代碼的功能。這里,如上參考圖1所示,代碼塊屬性包括關(guān)于對(duì)應(yīng)代碼塊的功能信息和描述信息。也就是說,代碼塊屬性意圖解決傳統(tǒng)編碼方案的問題,在傳統(tǒng)代碼方案中以一維執(zhí)行編碼并且代碼的可讀性劣化,并且代碼塊屬性包括通過具體化在實(shí)現(xiàn)軟件時(shí)導(dǎo)出的需求而設(shè)計(jì)的功能的簡(jiǎn)短描述和詳細(xì)描述。具體地,功能信息表示實(shí)現(xiàn)軟件所導(dǎo)出的或通過具體化用戶需求而設(shè)計(jì)的功能的描述,并且描述信息包括上述功能信息的詳細(xì)描述。這里,包含于描述信息中的信息例如可以包括各種類型的信息,例如功能的詳細(xì)描述、圖以及圖表。通過該代碼塊屬性,用戶可以更直觀地理解代碼塊,而不像例如使用批注的以一維表示代碼的傳統(tǒng)編碼方案。
[0093]此外,如參考圖4在以上描述的,可以通過用戶經(jīng)由編碼窗口設(shè)置內(nèi)部屬性代碼。這里,編碼窗口可以配置為包括變量聲明窗口、輸入變量分配窗口、條件語句窗口、代碼輸入窗口以及輸出變量分配窗口。由于上面已經(jīng)描述了各個(gè)窗口,所以將省略重復(fù)部分的描述。顯示以這種方式設(shè)置的代碼塊屬性和內(nèi)部屬性代碼,使得當(dāng)從用戶接收到顯示對(duì)應(yīng)代碼塊的請(qǐng)求時(shí),在顯示單元82上顯示代碼塊的功能信息、描述信息以及內(nèi)部屬性代碼。
[0094]此外,當(dāng)通過代碼塊生成單元110生成多個(gè)代碼塊時(shí),代碼塊設(shè)置單元120可以在分層樹結(jié)構(gòu)或分層塊結(jié)構(gòu)中根據(jù)用戶的設(shè)定對(duì)多個(gè)代碼塊進(jìn)行分類。在圖1和2中示出該分類的例子。以這種方式分類的分層結(jié)構(gòu)的優(yōu)點(diǎn)在于它們可以幫助用戶或操作員直觀分析軟件。此外,還存在的優(yōu)點(diǎn)在于,通過該結(jié)構(gòu)化,即使在后續(xù)軟件編輯中也可以進(jìn)一步方便軟件的管理。
[0095]例如,假設(shè)用戶或操作員將包含于分層樹結(jié)構(gòu)或分層塊結(jié)構(gòu)中的多個(gè)代碼塊之一復(fù)制到另一位置。也就是說,當(dāng)使用代碼塊配置軟件時(shí),可以存在執(zhí)行相同功能但是屬于不同位置的代碼塊,并且可以存在具有類似功能的代碼塊。這里,可以將代碼塊復(fù)制和粘貼到從屬于另一代碼塊的下代碼塊。當(dāng)粘貼代碼塊時(shí),刪除管理編號(hào)/輸入變量聲明/輸出變量聲明,并且根據(jù)對(duì)應(yīng)代碼塊的位置自動(dòng)分配塊編號(hào)。將通過復(fù)制代碼塊保存的數(shù)據(jù)劃分為功能(需求)/描述以及代碼細(xì)節(jié)中代碼的內(nèi)部變量聲明/條件/功能實(shí)現(xiàn)代碼。當(dāng)選擇待被復(fù)制的代碼塊時(shí),一起復(fù)制從屬于所選代碼塊的下代碼塊。可以將關(guān)于從屬于所復(fù)制的代碼塊的下代碼塊的所有數(shù)據(jù)保持不變。
[0096]此外,可以根據(jù)在分層樹結(jié)構(gòu)或分層塊結(jié)構(gòu)中的位置而將代碼塊分類為上代碼塊和下代碼塊。此外,如上所述,獨(dú)立于上代碼塊實(shí)現(xiàn)包含于每個(gè)下代碼塊中的內(nèi)部屬性代碼,并且上代碼塊僅執(zhí)行其中的變量聲明功能,但是不包括額外的代碼。也就是說,上代碼塊僅包括下代碼塊(其用作數(shù)據(jù)總線,從而可以在下代碼塊之間共享數(shù)據(jù))需要的共享數(shù)據(jù),并僅包括一個(gè)或多個(gè)下代碼塊,并且一個(gè)或多個(gè)下代碼塊從上代碼塊接收輸入?yún)?shù),并且將輸出參數(shù)返回到上代碼塊。
[0097]并且,代碼塊設(shè)置單元120可以根據(jù)在分層樹結(jié)構(gòu)或分層塊結(jié)構(gòu)中代碼塊的位置而自動(dòng)地分配塊編號(hào)。例如,假設(shè)在單個(gè)代碼塊中包括兩個(gè)代碼塊的情況(參見圖18)。如圖18所示,假設(shè)將最上層代碼塊的塊編號(hào)設(shè)置為“I”。這里,最上層代碼塊包括兩個(gè)下代碼塊,并且這些下代碼塊分別分配了塊編號(hào)11和12。當(dāng)塊編號(hào)為12的代碼塊例如還包括兩個(gè)代碼塊時(shí),這兩個(gè)代碼塊可以分別分配塊編號(hào)121和122。用于分配塊編號(hào)的該方法僅是例子,而可以應(yīng)用為各種不同方案。此外,由于具有塊編號(hào)11、121和122的代碼塊是最下層代碼塊,所以它們可以實(shí)現(xiàn)為包括內(nèi)部屬性代碼。與此相反,由于具有塊編號(hào)I和12的代碼塊分別包括下代碼塊,所以它們不包括單獨(dú)的代碼,除了用于變量聲明的代碼。
[0098]并且,代碼塊設(shè)置單元120可以額外地設(shè)置每個(gè)代碼塊的索引。也就是說,當(dāng)軟件只包括多個(gè)代碼塊時(shí),管理軟件是容易的,但是在實(shí)際實(shí)現(xiàn)中,可能使用大量代碼塊來實(shí)現(xiàn)單個(gè)軟件程序。在該情況下,為了更直觀地通知用戶或操作員對(duì)應(yīng)的代碼塊表示什么,可以將索引添加到對(duì)應(yīng)的代碼塊中。通過該索引,每個(gè)代碼塊可以利用管理編號(hào)和塊編號(hào)來管理索引/功能(需求)/描述/代碼,并且可以按照?qǐng)龊闲枨笸ㄟ^索引/功能(需求)/描述/代碼單獨(dú)表示代碼塊的預(yù)定區(qū)域或整個(gè)配置。在圖19中示出了這樣的例子。
[0099]也就是說,如圖19所示,可能存在使用軟件實(shí)現(xiàn)計(jì)算器的情況。該計(jì)算器可以包括表示用戶接口的代碼塊、表示操作員的代碼塊、以及表示圖形的代碼塊。這里,將這種索引功能添加到代碼塊中,從而闡明代碼塊對(duì)應(yīng)于什么,由此允許用戶或操作員容易地執(zhí)行編程。
[0100]此外,這種索引還可以包括用于由上代碼塊管理的變量的索引,以及代碼塊的索弓丨。也就是說,上代碼塊可以包括下代碼塊的若干步驟,并可以根據(jù)環(huán)境管理大量變量。在這種情況下,通過例子參考C語言,可以使用結(jié)構(gòu)來組合變量,并且還可以經(jīng)由索引管理這種結(jié)構(gòu),因此能夠更清楚且在外部管理軟件。
[0101]代碼塊許可設(shè)置單元130用于針對(duì)代碼塊設(shè)置訪問許可,以便設(shè)置其他用戶訪問的許可。更具體地,代碼塊許可設(shè)置單元130可以設(shè)置在整個(gè)代碼塊結(jié)構(gòu)中的每個(gè)、至少一部分或所有代碼塊的許可??梢灾付ㄋx的代碼塊包括下代碼塊,并指定安全性,從而下代碼塊不包含于所選的代碼塊中。可以配置設(shè)置了安全性的代碼塊,從而除了被許可人外的人不能查看功能/描述/功能實(shí)現(xiàn)代碼,或者從而限制修改代碼的許可??梢葬槍?duì)功能/描述/內(nèi)部屬性碼獨(dú)立設(shè)置這種訪問許可??梢詧?zhí)行訪問許可的設(shè)置,從而他人僅可以查看一些代碼塊。對(duì)于代碼塊,可以在若干步驟中設(shè)置安全性(例如,從而不查看代碼塊/從而查看代碼塊,但是不能修改/從而不能修改輸入/輸出變量和消息/從而可以修改所有的數(shù)據(jù))。支持設(shè)置安全性的功能,從而在特定代碼塊中的變量和消息僅用于管理者指定的代碼塊中。
[0102]代碼塊驗(yàn)證單元140利用隨機(jī)變量執(zhí)行重復(fù)接收包含于代碼塊中的輸入變量并驗(yàn)證代碼塊的功能。例如,當(dāng)用戶選擇要驗(yàn)證的代碼塊時(shí),代碼塊與從屬于所選代碼塊的下代碼塊一起成為驗(yàn)證單元。之后,在顯示單元82上顯示利用包括輸入/輸出參數(shù)的部分和輸入/輸出參數(shù)的條件部分實(shí)現(xiàn)的屏幕。這里,當(dāng)在條件部分中指定用于各個(gè)輸入/輸出參數(shù)的輸入/輸出條件,并執(zhí)行驗(yàn)證時(shí),利用在對(duì)應(yīng)條件中指定的范圍內(nèi)的隨機(jī)變量連續(xù)輸入輸入變量,并且因此可以經(jīng)由輸入各個(gè)變量自動(dòng)驗(yàn)證代碼,直到操作員停止驗(yàn)證。
[0103]這里,可以以使用隨機(jī)變量或?qū)τ诼淙霔l件的所有值順序驗(yàn)證變量的輸入和輸出值的方式,執(zhí)行驗(yàn)證方法??梢允褂媒?jīng)由測(cè)試在發(fā)生錯(cuò)誤時(shí)報(bào)告錯(cuò)誤發(fā)生位置的方法(通過識(shí)別當(dāng)發(fā)生編譯錯(cuò)誤時(shí)編譯器報(bào)告的代碼行所屬的代碼塊),或者報(bào)告在輸出變量條件中發(fā)生錯(cuò)誤的輸出變量的名稱的方法,來執(zhí)行驗(yàn)證。當(dāng)執(zhí)行驗(yàn)證時(shí),可以結(jié)合測(cè)試結(jié)果屏幕,顯示使用計(jì)算機(jī)存儲(chǔ)器、使用中央處理單元(CPU)等的狀態(tài)。利用數(shù)字和符號(hào)(〈,>)配置輸入變量/輸出變量的條件,并且可以重復(fù)表示。當(dāng)從驗(yàn)證方法中選擇順序測(cè)試時(shí),根據(jù)聲明的變量類型,將由對(duì)應(yīng)的變量所表示的所有數(shù)字順序應(yīng)用于驗(yàn)證,并隨后執(zhí)行驗(yàn)證。驗(yàn)證的開始和結(jié)束被實(shí)現(xiàn)為使得當(dāng)終止所有數(shù)字的應(yīng)用時(shí),自動(dòng)終止驗(yàn)證;或者使得當(dāng)操作員按壓結(jié)束按鈕時(shí),終止驗(yàn)證。
[0104]此外,在附圖中,雖然示出代碼塊驗(yàn)證單元140僅在設(shè)置代碼塊之后執(zhí)行驗(yàn)證,但這僅僅意圖幫助理解本發(fā)明,并且可以在設(shè)置代碼塊之后的任意步驟執(zhí)行驗(yàn)證。
[0105]當(dāng)從用戶接收到請(qǐng)求時(shí),代碼塊轉(zhuǎn)換單元150用于將代碼塊轉(zhuǎn)換為對(duì)應(yīng)于預(yù)先設(shè)置的編程語言的代碼。在圖20中示出了該轉(zhuǎn)換的例子。在圖20中示出的上代碼塊包括兩個(gè)下代碼塊,其包含于上代碼塊中的平行關(guān)系。此外,由于已經(jīng)在以上詳細(xì)描述了該代碼轉(zhuǎn)換方法,將省略重復(fù)部分的重復(fù)描述。此外,關(guān)于代碼塊轉(zhuǎn)換,在本說明書中主要基于C語言進(jìn)行了描述,但是該描述只是用于幫助理解本說明書的例子,并且本發(fā)明可以應(yīng)用于不同類型的各種語言。
[0106]雖然在附圖中將代碼塊轉(zhuǎn)換單元150示出為僅在已經(jīng)設(shè)置了針對(duì)代碼塊的許可之后執(zhí)行轉(zhuǎn)換,但是其僅意圖幫助理解本發(fā)明,并且可以在已經(jīng)設(shè)置了代碼塊之后的任意步驟執(zhí)行轉(zhuǎn)換。
[0107]并且,當(dāng)使用代碼塊實(shí)現(xiàn)軟件時(shí),根據(jù)本發(fā)明的用于可視化地實(shí)現(xiàn)軟件代碼的設(shè)備100可以在利用相關(guān)功能的相關(guān)性、變量或消息驗(yàn)證數(shù)據(jù)的流或相關(guān)方面時(shí),向用戶或操作員提供針對(duì)代碼塊的各種查看功能。代碼塊具有在分層樹結(jié)構(gòu)或分層塊結(jié)構(gòu)中基于塊編號(hào)/管理編號(hào)/在代碼塊中聲明的變量和消息來顯示相關(guān)代碼塊的功能。
[0108]這里,可以通過包括特定代碼塊來不同地設(shè)置代碼塊顯示的范圍。當(dāng)在代碼塊中聲明的變量是引用時(shí),將從上代碼塊到下代碼塊輸入/輸出的變量識(shí)別為相同的變量,并因此可以顯示所有相關(guān)的代碼塊。使用代碼塊的軟件實(shí)現(xiàn)工具可以將屬性分配給相應(yīng)的代碼塊。例如,將與存儲(chǔ)數(shù)據(jù)相關(guān)的功能定義為單個(gè)屬性,并且可以在與其相關(guān)的代碼塊中定義對(duì)應(yīng)的屬性。可以選擇與數(shù)據(jù)存儲(chǔ)相關(guān)的定義的屬性,并且僅顯示與其相關(guān)的代碼塊(在樹結(jié)構(gòu)/塊結(jié)構(gòu)中)。可以重復(fù)設(shè)置該屬性信息,并且還可以將其定義為在單個(gè)代碼塊中是重復(fù)的??梢酝ㄟ^單條軟件代碼表示關(guān)于代碼塊中代碼的信息(C語言中源代碼的形式)。在功能(需求)/描述的情況下,可以單個(gè)報(bào)告形式基于管理編號(hào)同時(shí)顯示功能和描述。
[0109]此后,將參照?qǐng)D9進(jìn)一步描述代碼塊設(shè)置單元。圖9是根據(jù)本發(fā)明實(shí)施例示出包含于用于可視化地實(shí)現(xiàn)軟件代碼的設(shè)備中的代碼塊設(shè)置單元的框圖。如圖9所示,代碼塊設(shè)置單元120可以配置為包括代碼塊屬性設(shè)置模塊121、代碼設(shè)置模塊122、關(guān)系設(shè)置模塊123以及塊編號(hào)設(shè)置模塊124。在后續(xù)描述中,將省略對(duì)上述重復(fù)部分的重復(fù)描述。
[0110]代碼塊屬性設(shè)置模塊121用于設(shè)置在對(duì)應(yīng)代碼塊中的代碼塊屬性。也就是說,代碼塊屬性設(shè)置模塊121設(shè)置關(guān)于在對(duì)應(yīng)代碼塊中關(guān)于每個(gè)代碼塊的功能信息和描述信息。通過用戶經(jīng)由輸入單元進(jìn)行輸入,這是可能的。如上所述,將這種代碼塊屬性設(shè)計(jì)為超越傳統(tǒng)的編碼方案,在傳統(tǒng)的編碼方案中以一維執(zhí)行編碼并且代碼的可讀性劣化,并且包括通過具體化在實(shí)現(xiàn)軟件時(shí)導(dǎo)出的需求而設(shè)計(jì)的功能的簡(jiǎn)短描述(功能的簡(jiǎn)單描述)和詳細(xì)描述(詳細(xì)描述、圖、圖表等)。通過該代碼塊屬性,用戶可以更直觀地理解代碼塊,不像例如使用批注的以一維表示代碼的傳統(tǒng)編碼方案。
[0111]代碼設(shè)置模塊122用于在每個(gè)代碼塊中設(shè)置內(nèi)部屬性代碼。如以上參考圖4和圖8所描述的,可以經(jīng)由用戶通過編碼窗口輸入的代碼設(shè)置該內(nèi)部屬性代碼。此外,可以配置代碼窗口以包括變量聲明窗口、輸入變量分配窗口、條件語句窗口、代碼輸入窗口以及輸出變量分配窗口中的至少一個(gè)。上文已經(jīng)對(duì)其進(jìn)行了詳細(xì)描述,因此將省略重復(fù)部分的重復(fù)描述。
[0112]關(guān)系設(shè)置模塊123用于在通過代碼塊生成單元110生成多個(gè)代碼塊時(shí),根據(jù)用戶設(shè)置在分層樹結(jié)構(gòu)或分層塊結(jié)構(gòu)中對(duì)多個(gè)代碼塊進(jìn)行分類。此外,通過該分類,關(guān)系設(shè)置模塊123可以將多個(gè)代碼塊設(shè)置為平行關(guān)系或包含關(guān)系。由于在上文詳細(xì)描述了用于設(shè)置這些關(guān)系和這種關(guān)系的類型的方法,所以將省略其附加描述。
[0113]塊編號(hào)設(shè)置模塊124用于根據(jù)由關(guān)系設(shè)置模塊123所設(shè)置的在分層樹結(jié)構(gòu)或分層塊結(jié)構(gòu)中的代碼塊的位置,將塊編號(hào)自動(dòng)分配給代碼塊??梢詫?shí)現(xiàn)該分配方法,使得將X分配給最上層代碼塊,Xy分配給包含于最上層代碼塊中的下代碼塊,以及Xyz分配給下一下代碼塊。然而,該實(shí)現(xiàn)方法僅是例子,并可以用可以檢測(cè)到代碼塊的位置的各種形式實(shí)現(xiàn)。
[0114]之后,將參照?qǐng)D21描述根據(jù)本發(fā)明實(shí)施例的用于可視化地實(shí)現(xiàn)軟件代碼的方法。圖21是根據(jù)本發(fā)明實(shí)施例示出用于可視化地實(shí)現(xiàn)軟件代碼的方法的流程圖。在后續(xù)描述中,將省略與參考圖1-20在上文描述的那些相同的部分的重復(fù)描述。
[0115]首先,在步驟SllO處由用戶確定是否生成代碼塊。也就是說,根據(jù)本發(fā)明的用于可視化地實(shí)現(xiàn)軟件代碼的方法可以執(zhí)行允許用戶新生成代碼塊的功能,但是還可以執(zhí)行編輯預(yù)先生成的代碼塊的功能(例如,拷貝、刪除或編輯)。因此,在確定是否生成代碼塊的步驟SllO處,需要這種確定。之后,如果在確定是否生成代碼塊的步驟SllO處確定用戶希望生成新的代碼塊,則執(zhí)行生成代碼塊的步驟S120。如果確定用戶不希望生成新的代碼塊,則執(zhí)行設(shè)置代碼塊屬性或內(nèi)部屬性代碼的步驟S130。
[0116]在代碼塊生成步驟S120處,代碼塊生成單元根據(jù)需求和功能逐塊生成用于實(shí)現(xiàn)軟件代碼的代碼塊。這里,生成的代碼塊可以包括基本空幀(在用戶希望新編輯代碼塊時(shí)使用),以及在存儲(chǔ)單元中存儲(chǔ)的聲明語句代碼塊、循環(huán)語句代碼塊和條件語句代碼塊。已經(jīng)參照?qǐng)D10-17在上文詳細(xì)描述了代碼塊的類型,因此將省略額外描述。此外,當(dāng)生成代碼塊時(shí),將塊編號(hào)自動(dòng)分配給代碼塊。
[0117]之后,在步驟S130處,基于用戶輸入的信息,代碼塊設(shè)置單元設(shè)置在每個(gè)代碼塊中包含的代碼塊信息,也就是,代碼塊屬性或內(nèi)部屬性代碼??梢耘渲迷O(shè)置代碼塊屬性或內(nèi)部數(shù)據(jù)代碼的該步驟S130,使得例如當(dāng)在代碼塊生成步驟S120處生成新的代碼塊時(shí),可以設(shè)置用于生成的代碼塊的代碼塊屬性和內(nèi)部屬性代碼。這里,如上所述,代碼塊屬性可以包括功能信息和描述信息。在該情況下,由于在上文已經(jīng)詳細(xì)描述了用于設(shè)置代碼塊屬性和內(nèi)部屬性代碼的方法,所以將省略其額外描述。
[0118]另外,設(shè)置代碼塊屬性或內(nèi)部屬性代碼的步驟S130還可以包括在對(duì)應(yīng)的代碼塊中包括代碼塊的位置、塊編號(hào)、管理編號(hào)、索引和內(nèi)部屬性代碼的步驟。此外,雖然在圖中未示出,但在設(shè)置代碼塊屬性或內(nèi)部屬性代碼的步驟S130之后,還可以包括在從用戶接收到顯示代碼塊的請(qǐng)求時(shí),在顯示單元上顯示關(guān)于代碼塊的功能信息、描述信息和內(nèi)部屬性代碼的步驟。
[0119]此外,在設(shè)置代碼塊屬性或內(nèi)部屬性代碼的步驟S130處,當(dāng)通過代碼塊生成單元生成多個(gè)代碼塊時(shí),可以根據(jù)用戶的設(shè)置在分層樹結(jié)構(gòu)或分層塊結(jié)構(gòu)中對(duì)多個(gè)代碼塊進(jìn)行分類。也就是說,可以根據(jù)代碼塊的位置,在平行關(guān)系或包含關(guān)系中形成多個(gè)代碼塊。因此,即使存在多個(gè)代碼塊,用戶也可以容易地管理多個(gè)代碼塊,這是因?yàn)橐苑謱訕湫螤罨蚍謱訅K形狀配置它們。
[0120]此外,如上所述,可以根據(jù)在分層樹結(jié)構(gòu)或分層塊結(jié)構(gòu)中的位置,將代碼塊分類為上代碼塊和下代碼塊。此外,可以獨(dú)立于上代碼塊而實(shí)現(xiàn)包含于每個(gè)下代碼塊中的內(nèi)部屬性代碼。
[0121]這里,上代碼塊包括一個(gè)或多個(gè)下代碼塊,其中一個(gè)或多個(gè)下代碼塊可以從上代碼塊接收輸入?yún)?shù),并可以將輸出參數(shù)返回到上代碼塊。
[0122]并且,代碼塊可以根據(jù)控制流包括聲明語句代碼塊、循環(huán)語句代碼塊以及條件語句代碼塊。在上文已經(jīng)參照?qǐng)D8-17詳細(xì)進(jìn)行了描述,因此將省略對(duì)其的額外描述。
[0123]在代碼塊設(shè)置單元針對(duì)代碼塊設(shè)置塊編號(hào)的步驟S140處,根據(jù)代碼塊的分層位置自動(dòng)分配塊編號(hào)。此外,可以通過移動(dòng)塊來自動(dòng)設(shè)置這種塊編號(hào),并且用戶不能隨意更改塊編號(hào)。也就是說,可以在代碼塊設(shè)置單元根據(jù)代碼塊位置而針對(duì)代碼塊設(shè)置塊編號(hào)的步驟S140處執(zhí)行塊編號(hào)的分配,所述位置是在生成代碼塊的步驟S120處或在設(shè)置代碼塊屬性或內(nèi)部屬性代碼的步驟S130處設(shè)置的。
[0124]在已經(jīng)設(shè)置了針對(duì)代碼塊的塊編號(hào)之后,在步驟S150處確定是否驗(yàn)證代碼塊。這里,如果確定出需要代碼塊的驗(yàn)證,也就是,當(dāng)用戶希望驗(yàn)證代碼塊時(shí),在步驟S160處驗(yàn)證代碼塊;反之,在用戶不希望驗(yàn)證代碼塊時(shí),在步驟S170處設(shè)置針對(duì)代碼塊的許可。
[0125]在驗(yàn)證代碼塊的步驟S160處,代碼塊驗(yàn)證單元通過利用隨機(jī)變量重復(fù)輸入或驗(yàn)證包含于代碼塊中的輸入或輸出變量而執(zhí)行驗(yàn)證代碼塊的功能。此外,不僅可以通過使用這種隨機(jī)變量的方法,而且可以通過針對(duì)落入條件中的所有值順序輸入變量的方法,來執(zhí)行驗(yàn)證代碼塊的步驟S160。此外,已經(jīng)參照?qǐng)D8詳細(xì)描述了該驗(yàn)證過程,并因此將省略對(duì)其的額外描述。
[0126]之后,在步驟S170處設(shè)置針對(duì)代碼塊的許可。這里,設(shè)置針對(duì)代碼塊的許可的步驟S170不是必須步驟,而可以根據(jù)用戶需求而選擇性執(zhí)行。也就是說,配置設(shè)置針對(duì)代碼塊的許可的步驟S170以設(shè)置在整個(gè)代碼塊結(jié)構(gòu)中的每個(gè)、至少一部分或所有代碼塊的安全性。
[0127]然后,在步驟S180處確定是需要生成額外代碼塊的操作還是編輯特定代碼塊的操作。這里,如果確定根據(jù)用戶的選擇要執(zhí)行生成額外代碼塊或編輯特定代碼塊的操作,則過程返回到生成代碼塊的步驟S110,在其中重復(fù)上述步驟。如果確定沒有必要根據(jù)用戶的選擇而執(zhí)行生成額外代碼塊或編輯特定代碼塊的操作,則在步驟S190處將代碼塊轉(zhuǎn)換成對(duì)應(yīng)于預(yù)先設(shè)置的編程語言的代碼。
[0128]之后,代碼塊轉(zhuǎn)換單元在步驟S190處將代碼塊轉(zhuǎn)換成對(duì)應(yīng)于預(yù)先設(shè)置的編程語言的代碼。由于已經(jīng)參照根據(jù)本發(fā)明實(shí)施例的用于可視化地實(shí)現(xiàn)軟件代碼的設(shè)備詳細(xì)描述了該轉(zhuǎn)換過程,所以將省略對(duì)其的額外描述。
[0129]下文中,將參考圖22進(jìn)一步描述在圖21中示出的設(shè)置代碼塊信息的步驟。圖22是根據(jù)本發(fā)明實(shí)施例示出在用于可視化地實(shí)現(xiàn)軟件代碼的方法中響應(yīng)于用戶輸入而設(shè)置代碼塊信息的步驟的流程圖。在下述描述中,將省略上述重復(fù)部分的重復(fù)描述。
[0130]首先,在步驟S210處確定是否已經(jīng)生成新的代碼塊。也就是,通過確定是否已經(jīng)生成新的代碼塊的步驟S210,確定用戶是希望生成新的代碼塊并對(duì)新的代碼塊執(zhí)行操作,還是希望編輯現(xiàn)有代碼塊。如果確定已經(jīng)生成了新的代碼塊,則在步驟S230處設(shè)置關(guān)于新代碼塊的代碼塊信息;反之,如果確定未生成新的代碼塊,則在步驟S220處編輯現(xiàn)有的代碼塊。
[0131]配置編輯現(xiàn)有的代碼塊的步驟S220以執(zhí)行在分層樹結(jié)構(gòu)或分層塊結(jié)構(gòu)中對(duì)代碼的編輯,例如,復(fù)制、移動(dòng)、刪除和編輯代碼塊。也就是說,編輯現(xiàn)有的代碼塊的步驟S220表示可以在圖21的新代碼塊生成步驟S120處不生成新的單獨(dú)的代碼塊的情況下執(zhí)行的過程,或者即使已經(jīng)生成新的代碼塊也可以使得按照用戶期望進(jìn)行編輯的過程。由于在上文已經(jīng)參考圖8詳細(xì)描述了現(xiàn)有代碼塊編輯過程S220,所以將省略對(duì)其的額外描述。
[0132]配置設(shè)置關(guān)于新代碼塊的代碼塊信息的步驟S230,以設(shè)置關(guān)于在生成新代碼塊的步驟S120處生成的新代碼塊的代碼塊信息。這里,代碼塊信息包括代碼塊屬性,其包括功能信息和描述信息;以及內(nèi)部屬性代碼,在其中實(shí)質(zhì)實(shí)現(xiàn)了軟件代碼。也就是說,當(dāng)使用代碼塊實(shí)現(xiàn)軟件時(shí),需要在上代碼塊中(在屬于上代碼塊的下代碼塊中)使用的變量的定義,并且使用定義的變量作為輸入/輸出參數(shù)定義下代碼塊的功能。在設(shè)置關(guān)于新代碼塊的代碼塊信息的步驟S230處,可以執(zhí)行諸如功能定義或變量設(shè)置的功能。然而,不總是指定功能的順序,并且可以首先僅以近似方式定義塊,并然后實(shí)現(xiàn)詳細(xì)的功能,或者首先定義數(shù)據(jù)的使用并實(shí)現(xiàn)各個(gè)功能。
[0133]之后,在步驟S240處設(shè)置代碼塊的位置和關(guān)系。在本發(fā)明中公開的代碼塊的特征在于其可以在分層樹結(jié)構(gòu)或分層塊結(jié)構(gòu)中進(jìn)行表示。也就是說,配置設(shè)置代碼塊的位置和關(guān)系的步驟S240來設(shè)置生成的或經(jīng)編輯的代碼塊的位置,并設(shè)置代碼塊與其它代碼塊的關(guān)系,因此使得能夠執(zhí)行代碼塊而不會(huì)引起錯(cuò)誤。
[0134]接下來,在步驟S250處確定對(duì)應(yīng)的代碼塊是否是最下層的代碼塊。也就是說,在根據(jù)本發(fā)明的代碼塊中,除了用于分配變量的代碼外上代碼塊不包含額外的代碼,并且在最下層的代碼塊中包括實(shí)際代碼。由于代碼塊的特性,在步驟S250處確定代碼塊是否是最下層的代碼塊。如果確定出代碼塊是最下層的代碼塊,則在步驟S260處從用戶接收內(nèi)部屬性代碼。在已經(jīng)從用戶接收了內(nèi)部屬性代碼之后,在步驟S140處通過代碼塊設(shè)置單元開始設(shè)置代碼塊的塊編號(hào)。如果確定代碼塊不是最下層代碼塊,則在步驟SllO處隨后確定是否生成代碼塊,因此還確定是否添加另一代碼塊。這里,當(dāng)執(zhí)行添加或編輯另一代碼塊的功能時(shí),再次執(zhí)行在圖21中公開的步驟,否則終止該過程。
[0135]可以將根據(jù)本發(fā)明的用于可視化地實(shí)現(xiàn)軟件代碼的方法實(shí)現(xiàn)為可以由各種計(jì)算機(jī)單元執(zhí)行的程序指令,并且可以記錄于計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)。計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)可以單獨(dú)或組合地包括程序指令、數(shù)據(jù)文件以及數(shù)據(jù)結(jié)構(gòu)??梢葬槍?duì)本發(fā)明具體設(shè)計(jì)和配置記錄于存儲(chǔ)介質(zhì)上的程序指令,或者所述程序指令對(duì)于計(jì)算機(jī)軟件領(lǐng)域的普通技術(shù)人員已知或可用。計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)的例子包括所有類型的硬件設(shè)備,其具體配置為記錄和執(zhí)行程序指令,例如磁介質(zhì)(如硬盤、軟盤和磁帶),光介質(zhì)(如壓縮盤(CD)只讀存儲(chǔ)器(ROM)和數(shù)字通用盤(DVD)),磁光介質(zhì)(如軟式光盤、R0M、隨機(jī)存取存儲(chǔ)器(RAM)以及閃存)。程序指令的例子包括機(jī)器代碼,例如編譯器創(chuàng)建的代碼,以及計(jì)算機(jī)利用解釋器可執(zhí)行的高級(jí)語言代碼。硬件設(shè)備可以配置為操作為一個(gè)或多個(gè)軟件模塊,以便執(zhí)行本發(fā)明的操作,反之亦然。
[0136]可以將本發(fā)明的原理的教導(dǎo)實(shí)現(xiàn)為硬件和軟件的組合。此外,軟件可以實(shí)現(xiàn)為實(shí)際在程序存儲(chǔ)單元中實(shí)現(xiàn)的應(yīng)用程序??梢詫⑦@種應(yīng)用程序上載到包括任意適當(dāng)架構(gòu)的機(jī)器上,并且可以由機(jī)器執(zhí)行。優(yōu)選地,機(jī)器可以實(shí)現(xiàn)在具有硬件(例如,一個(gè)或多個(gè)CPU、計(jì)算機(jī)處理器、RAM以及輸入/輸出(I/O)接口)的計(jì)算機(jī)平臺(tái)上。此外,計(jì)算機(jī)平臺(tái)可以包括操作系統(tǒng)(OS)和微指令代碼。這里描述的各種過程和功能可以是微指令代碼的一部分或應(yīng)用程序的一部分,或者其任意組合,并且這些可以通過包括CPU的各種處理設(shè)備執(zhí)行。另外,可以將各種外圍設(shè)備(例如,附加數(shù)據(jù)存儲(chǔ)單元和打印機(jī))連接到計(jì)算機(jī)平臺(tái)。
[0137]由于在附圖中示出的系統(tǒng)部件和方法的一些優(yōu)選實(shí)現(xiàn)為軟件,所以可以額外理解的是,在系統(tǒng)部件之間或在過程功能塊之間的實(shí)際連接可以根據(jù)用于對(duì)本發(fā)明原理進(jìn)行編程的方案而變化。當(dāng)給出教導(dǎo)時(shí),本領(lǐng)域技術(shù)人員將考慮本發(fā)明的原理,以及類似的實(shí)施例或配置。
【主權(quán)項(xiàng)】
1.一種用于可視化地實(shí)現(xiàn)軟件代碼的方法,當(dāng)開發(fā)軟件所導(dǎo)出的需求和功能被實(shí)現(xiàn)為代碼時(shí),所述方法可視化地實(shí)現(xiàn)在編程語言中使用的軟件代碼,所述方法包括: 通過代碼塊生成單元,根據(jù)所述需求和功能,逐塊生成用于實(shí)現(xiàn)軟件代碼的代碼塊;以及 通過代碼塊設(shè)置單元,基于用戶輸入的信息,設(shè)置包含于每個(gè)代碼塊中的代碼塊屬性或內(nèi)部屬性代碼, 其中設(shè)置代碼塊屬性或內(nèi)部屬性代碼包括:在代碼塊中包括關(guān)于代碼塊的功能信息、關(guān)于所述功能信息的描述信息、以及內(nèi)部屬性代碼。2.根據(jù)權(quán)利要求1所述的方法,還包括: 通過代碼塊轉(zhuǎn)換單元,當(dāng)從用戶接收到請(qǐng)求時(shí),將所述代碼塊轉(zhuǎn)換為與預(yù)先設(shè)置的編程語言相對(duì)應(yīng)的代碼。3.根據(jù)權(quán)利要求1所述的方法,還包括:在設(shè)置代碼塊屬性或內(nèi)部屬性代碼之后, 當(dāng)從用戶接收到顯示所述代碼塊的請(qǐng)求時(shí),在顯示單元上顯示與代碼塊有關(guān)的功能信息、描述信息以及內(nèi)部屬性代碼。4.根據(jù)權(quán)利要求1所述的方法,其中,設(shè)置代碼塊屬性或內(nèi)部屬性代碼包括: 在所述代碼塊中包括代碼塊的位置、塊編號(hào)、管理編號(hào)、索引以及內(nèi)部屬性代碼。5.根據(jù)權(quán)利要求4所述的方法,其中,設(shè)置代碼塊屬性或內(nèi)部屬性代碼包括: 當(dāng)通過所述代碼塊生成單元生成多個(gè)代碼塊時(shí),根據(jù)用戶的設(shè)置,在分層樹結(jié)構(gòu)或分層塊結(jié)構(gòu)中對(duì)多個(gè)代碼塊進(jìn)行分類。6.根據(jù)權(quán)利要求5所述的方法,其中,設(shè)置代碼塊屬性或內(nèi)部屬性塊包括: 根據(jù)所述代碼塊在分層樹結(jié)構(gòu)或分層塊結(jié)構(gòu)中的位置,自動(dòng)分配塊編號(hào)。7.根據(jù)權(quán)利要求6所述的方法,其中,在分配所述塊編號(hào)時(shí)分配的塊編號(hào)用于確定所述代碼塊的控制流的序列,并根據(jù)所述代碼塊的位置的設(shè)置進(jìn)行自動(dòng)分配,并且所述代碼塊是根據(jù)所述塊編號(hào)順序編碼的。8.根據(jù)權(quán)利要求1所述的方法,其中,根據(jù)在分層樹結(jié)構(gòu)或分層塊結(jié)構(gòu)中的位置,將所述代碼塊分類為上代碼塊和下代碼塊;以及所述代碼塊被配置為使得:獨(dú)立于上代碼塊實(shí)現(xiàn)包含于所述下代碼塊中的內(nèi)部屬性代碼,并且能夠基于特性對(duì)包含于所述上代碼塊的下代碼塊的輸入/輸出參數(shù)進(jìn)行組合和索引。9.根據(jù)權(quán)利要求8所述的方法,其中,上代碼塊包括一個(gè)或多個(gè)下代碼塊以及用于所述下代碼塊的變量聲明的內(nèi)部屬性代碼,并且所述一個(gè)或多個(gè)下代碼塊從所述上代碼塊接收輸入?yún)?shù),并將輸出參數(shù)返回到所述上代碼塊。10.根據(jù)權(quán)利要求1所述的方法,其中,根據(jù)控制流,所述代碼塊包括聲明語句代碼塊、循環(huán)語句代碼塊以及條件語句代碼塊。11.根據(jù)權(quán)利要求1所述的方法,其中,設(shè)置包含于每個(gè)代碼塊中的代碼塊屬性或內(nèi)部屬性代碼包括:將在先前生成的代碼塊和所述代碼塊之間的關(guān)系設(shè)置為包含關(guān)系或平行關(guān)系O12.根據(jù)權(quán)利要求1所述的方法,其中,在設(shè)置所述代碼塊屬性或內(nèi)部屬性代碼時(shí),從用戶處經(jīng)由編碼窗口輸入所述內(nèi)部屬性代碼,所述編碼窗口包括以下中的至少一個(gè): 變量聲明窗口,用于聲明所述內(nèi)部屬性代碼的輸入變量和輸出變量; 輸入變量分配窗口,用于分配所述輸入變量; 條件語句窗口,用于輸入條件語句或循環(huán)語句; 代碼輸入窗口,用于輸入實(shí)現(xiàn)對(duì)應(yīng)的代碼塊的功能所需的軟件代碼;以及 輸出變量分配窗口,用于分配輸出變量。13.根據(jù)權(quán)利要求1所述的方法,還包括:在設(shè)置代碼塊屬性或內(nèi)部屬性代碼之后, 通過代碼塊驗(yàn)證單元,使用隨機(jī)變量或使用輸入到每個(gè)代碼塊中的條件語句中或從條件語句中輸出的變量來驗(yàn)證所述代碼塊。14.根據(jù)權(quán)利要求1所述的方法,還包括:在設(shè)置代碼塊屬性或內(nèi)部屬性代碼之后, 通過代碼塊許可設(shè)置單元,設(shè)置訪問所述代碼塊的許可。15.—種用于可視化地實(shí)現(xiàn)軟件代碼的設(shè)備,當(dāng)開發(fā)軟件所導(dǎo)出的需求和功能被實(shí)現(xiàn)為代碼時(shí),所述設(shè)備可視化地實(shí)現(xiàn)在編程語言中使用的軟件代碼,所述設(shè)備包括: 代碼塊生成單元,用于根據(jù)所述需求和功能,逐塊生成用于實(shí)現(xiàn)軟件代碼的代碼塊;以及 代碼塊設(shè)置單元,用于基于用戶輸入的信息,設(shè)置包含于每個(gè)代碼塊中的代碼塊屬性或內(nèi)部屬性代碼, 其中所述代碼塊設(shè)置單元在所述代碼塊中包括關(guān)于代碼塊的功能信息、關(guān)于所述功能信息的描述信息、以及內(nèi)部屬性代碼。16.根據(jù)權(quán)利要求15所述的設(shè)備,還包括:代碼塊轉(zhuǎn)換單元,用于當(dāng)從用戶接收到請(qǐng)求時(shí),將所述代碼塊轉(zhuǎn)換為與預(yù)先設(shè)置的編程語言相對(duì)應(yīng)的代碼。17.根據(jù)權(quán)利要求15所述的設(shè)備,其中,所述代碼塊設(shè)置單元配置為: 當(dāng)通過所述代碼塊生成單元生成多個(gè)代碼塊時(shí),根據(jù)用戶的設(shè)置,在分層樹結(jié)構(gòu)或分層塊結(jié)構(gòu)中對(duì)多個(gè)代碼塊進(jìn)行分類。18.根據(jù)權(quán)利要求17所述的設(shè)備,其中,根據(jù)所述代碼塊在所述分層樹結(jié)構(gòu)或分層塊結(jié)構(gòu)中的位置,自動(dòng)分配塊編號(hào)。19.根據(jù)權(quán)利要求15所述的設(shè)備,其中,根據(jù)在分層樹結(jié)構(gòu)或分層塊結(jié)構(gòu)中的位置,將所述代碼塊分類為上代碼塊和下代碼塊;以及所述代碼塊被配置為使得:獨(dú)立于上代碼塊實(shí)現(xiàn)包含于所述下代碼塊中的內(nèi)部屬性代碼。20.根據(jù)權(quán)利要求19所述的設(shè)備,其中,上代碼塊包括一個(gè)或多個(gè)下代碼塊,并且所述一個(gè)或多個(gè)下代碼塊從所述上代碼塊接收輸入?yún)?shù),并將輸出參數(shù)返回到所述上代碼塊。
【文檔編號(hào)】G06F9/44GK106030524SQ201580009628
【公開日】2016年10月12日
【申請(qǐng)日】2015年5月8日
【發(fā)明人】黃首進(jìn), 崔仁淑
【申請(qǐng)人】黃首進(jìn), 崔仁淑