專利名稱:軟件開發(fā)支持系統(tǒng)中的顯示方法
本發(fā)明涉及軟件(如程序)開發(fā)支持系統(tǒng)中校驗軟件的一種顯示方法。
如果要對軟件產(chǎn)品如程序、程序設(shè)計說明書等(以下統(tǒng)稱為程序)作某些改動,則必須把老程序和新程序加以比較以校驗所作的改動是不是所希望的。在現(xiàn)有的軟件開發(fā)支持系統(tǒng)中,改動前和改動后的程序間的比較是對文本中的每行都進行的,目的在于校驗所作的改動(增加,刪除和更新)。比較結(jié)果以文本的形式顯示出來或打印出來,結(jié)果中帶有多個標識符,各個標識符指示出加入的行,刪除的行和更新的行。碰巧的是,“信息處理(Information Processing)”1983年4月的第4期第24冊514頁至520頁中披露了一個在兩個文件(如源程序等)之間進行比較的例子。
一般說來,為了測試整個程序,變體的變化在測試過程中應(yīng)加以檢查。目前用于上述目的的傳統(tǒng)系統(tǒng)包括下列兩種類型第一種是在預(yù)置于程序中的每個中斷點上中斷程序的運行,以便顯示出預(yù)先選定的變量在中斷點上的值;第二種類型是,當一個預(yù)定變量的幾個預(yù)定條件(數(shù)值變化,達到一預(yù)定值等)都滿足時,中斷程序的運行,顯示出預(yù)先指定的變量在中斷點上的值。碰巧的是,在“HITACHI HY ORON”1984年3月3日第3期第66冊第33頁至36頁上有一個常規(guī)的測試支持系統(tǒng)的例子。
以文本方式顯示比較結(jié)果這種常規(guī)的顯示方法使人難于直觀地、綜合地了解改動內(nèi)容,這樣就延遲了對改動的確認,錯誤也很可能被遺漏,導致改動程序(調(diào)試,更新版本等)的效率和可靠性惡化。
因此,本發(fā)明的第一個目的在于提供一種能以圖表形式顯示程序改動的位置和類型的顯示方法,從而使操作人員能直觀地綜合地了解改動內(nèi)容,提高改動程序的效率和可靠性。
此外,上面提到的顯示一個變量值的常規(guī)方法并不顯示該變量在中斷前或中斷后的值,所以,它并不顯示變量值的變化,從而也就不能發(fā)現(xiàn)在程序執(zhí)行過程中可能出現(xiàn)的意外的變化。因此,對錯誤的檢測就可能不完全,其調(diào)試工作就可能變得很困難。設(shè)置更密的中斷點或中斷條件可以在一定程度上解決上述問題。但是,如果要密集設(shè)置中斷點或中斷條件的話,其設(shè)置步驟就相應(yīng)地變得復雜起來,所以這個解決方案作用是有限的,此外還可以采取把運行中每一步的變體的值都進行顯示的方法,但是這一方法需要一種特殊的顯示方式。在上述兩種常規(guī)技術(shù)中,顯示每次更新時變量的名稱和數(shù)值依次逐行加在原有顯示上。這樣使同一變體被分離地顯示在許多位置上,從而使密切注視變體變得很困難。此外,如果顯示的更新次數(shù)也大,變量顯示將被“卷”了起來,這是因為要顯示的內(nèi)容不能在一個屏幕上顯示出來,這樣使得顯示不明瞭。如果要顯示的數(shù)據(jù)量大量增加時,要取出有用信息就很難。
本發(fā)明的第二個目的是提供一種通過簡單操作,以簡明的方式顯示執(zhí)行程序測試過程中的變量值的顯示方法,從而使程序調(diào)試工作簡便易行。
本發(fā)明的第一個特征在于本發(fā)明包括下列步驟第一步,分析改動前的軟件產(chǎn)品和改動后的軟件產(chǎn)品,根據(jù)諸產(chǎn)品各自的軟件結(jié)構(gòu)形成含有相互有關(guān)的軟件元信息的改動前結(jié)構(gòu)信息和改動后結(jié)構(gòu)信息;第二步,從上述兩個結(jié)構(gòu)信息形成一個新的結(jié)構(gòu)信息,該結(jié)構(gòu)信息構(gòu)成了上面兩個結(jié)構(gòu)信息的并集,其中包括了改動前和改動后的所有軟件單元,還加入了指示每個軟件單元變動的標識符;第三步,把至少是構(gòu)成一個并集的結(jié)構(gòu)信息一部分轉(zhuǎn)換成圖表形式并輸出,并輸出由上述標識符表示的改動。
本發(fā)明的第二個特征在于本發(fā)明包括下列步驟為待測試程序中的給定變量指定顯示位置;隨著程序的每步運行同步地在指定位置上顯示出給定變量在這一步上得到的值。
根據(jù)本發(fā)明的第一個特征,改動前和改動后的軟件產(chǎn)品的結(jié)構(gòu)信息形成為(比方說)樹形結(jié)構(gòu)信息,由樹形結(jié)構(gòu)信息構(gòu)成的并集結(jié)構(gòu)信息中包括了未改動和已改動(增加、刪去或更新)的軟件元的所有信息和軟件結(jié)構(gòu)信息。把改動前的結(jié)構(gòu)信息和改動后的結(jié)構(gòu)信息相比較,或把改動前的文本和改動后的文本相比較,就可得到指示每個軟件元的改動方式(是否改動及其形式)的信息。在這樣得到的構(gòu)成并集的結(jié)構(gòu)信息和改動指示標識符的基礎(chǔ)上,就可以圖表形式在圖形顯示器上顯示軟件元的改動內(nèi)容,這樣可容易地了解軟件的變動內(nèi)容。
根據(jù)本發(fā)明的第二個特征,每個待顯示變量的數(shù)值顯示位置是固定的,這些顯示值的更新或加入是在和更新這些數(shù)值的程序步的執(zhí)行過程中同步地實時進行的,這樣,可在固定位置上觀察到給定變量的連續(xù)變化。
圖1是實施本發(fā)明的第一個特征的第一個實施例的功能方框圖。
圖2示出了一例改動前的源程序。
圖3示出了一例改動后的源程序。
圖4A和4B示出了圖2中的程序的樹形結(jié)構(gòu)信息及其PAD表示。
圖5A和5B示出了圖3中的程序的樹形結(jié)構(gòu)信息及其PAD表示。
圖6A和6B示出了構(gòu)成一個并集的結(jié)構(gòu)信息,它是由圖4A和4B中的樹形結(jié)構(gòu)信息及其PAD表示引出的。
圖7是實現(xiàn)本發(fā)明的第一個特征的第二個實施例的功能方框圖。
圖8示出了構(gòu)成一個并集的結(jié)構(gòu)信息的PAD表示,它是本發(fā)明的第一個特征的第二個實施例提供的。
圖9是實現(xiàn)本發(fā)明的第一個特征的第三個實施例的功能方框圖。
圖10和11示出了本發(fā)明的第一個特征的第三個實施例中改動前和改動后程序的PAD表示。
圖12是實現(xiàn)本發(fā)明的第二個特征的第一個實施例的功能方框圖。
圖13是圖12中的第一實施例的流程圖。
圖14A和圖14B是本發(fā)明的第二個特征的第一個實施例提供的顯示屏幕圖形。
圖15是本發(fā)明的第二個特征的第二個實施例的功能方框圖。
圖16是圖15中的第二個實施例的流程圖。
圖17是本發(fā)明的第二個特征的第二個實施例所提供的顯示屏幕圖形。
圖18是本發(fā)明的第三個實施例的功能方框圖。
圖19是圖18中的第三個實施例的流程圖。
圖20是本發(fā)明的第二個特征的第三個實施例提供的顯示屏蔽圖圖。
圖21是本發(fā)明的第二個特征的第四個實施例的功能方框圖。
圖22是本發(fā)明的第二個特征的第四個實施例提供的顯示屏幕圖形。
首先,將結(jié)合幾個實施例解釋本發(fā)明的第一個特征。在下面的實施例中,源程序的改動均以PAD(問題分析圖Problem Analysis Diagram)形式來表示。有關(guān)PAD的詳細解釋參見“日本信息處理協(xié)會條約(Treaties in Infromation Processing Society of Japan)”第四期第21冊259頁至267頁。
圖1以功能方框圖的形式示出了實現(xiàn)本發(fā)明的第一個特征的第一個實施例的數(shù)據(jù)處理裝置。圖1中所示的功能塊除存貯部分以外都可由一個處理器上的或由多個處理器上分擔的軟件實現(xiàn)。改動前程序存貯部分1是用來存貯改動前的源程序的文本的存貯器,改動后程序存貯部分2是用于存貯改動后的源程序的文本的存貯器。圖2中示出了改動前的源程序文本的一個例子,而圖3中示出了改動后的源程序文本的一個例子。
改動前程序樹結(jié)構(gòu)轉(zhuǎn)換部分3把改動前源程序從它的文本形式轉(zhuǎn)換成樹結(jié)構(gòu)形式,并把轉(zhuǎn)換結(jié)果存貯在改動前程序樹結(jié)構(gòu)存貯部分5中。改動后程序樹結(jié)構(gòu)轉(zhuǎn)換部分4把改動后的源程序從它的文本形式轉(zhuǎn)換成樹結(jié)構(gòu)形式,并把轉(zhuǎn)換結(jié)果存貯在轉(zhuǎn)換后程序樹結(jié)構(gòu)存貯部分6中。圖4A示出了這樣得到的改動前源程序(圖2)的樹結(jié)構(gòu),而圖4B示出了它的PAD表示。圖5A示出了這樣得到的改動后源程序(圖3)樹結(jié)構(gòu),圖5B示出了它的PAD表示。
回到圖1上來。程序樹結(jié)構(gòu)比較部分7把存貯在存貯部分5中的改動前源程序樹結(jié)構(gòu)信息與存貯在存貯部分6中的改動后源程序樹結(jié)構(gòu)信息加以比較,并給已改動的程序元添加上代表其改動類型的標識符,把改動前程序的樹結(jié)構(gòu)信息和改動后程序的樹結(jié)構(gòu)信息加以合成以形成它們的并集程序樹結(jié)構(gòu)信息,并把該信息存入并集程序樹結(jié)構(gòu)存貯部分8中。上述的這些處理是以下列的方式進行的把改動前的程序樹結(jié)構(gòu)和改動后的程序樹結(jié)構(gòu)從根至枝再至葉的方向加以互相比較,以識別出改動(這一概念包括增加,刪除和更新)過的程序元,給這些改動過的程序元加上能表示其改動類型的標識符。這樣,將形成一顆既包括改動過的程序元也包括沒改動過的程序元的樹,至于更新過的程序元,并集樹結(jié)構(gòu)中既包括更新前的單元也包括更新后的單元。
圖6A示出了用上面所述的方法從圖4所示的改動前源程序的樹結(jié)構(gòu)信息和圖5所示的改動后源程序的樹結(jié)構(gòu)信息得到的并集樹結(jié)構(gòu)信息,圖6B示出了其PAD表示。顯示改動前程序的圖4A和4B中的一個語句13被刪除,該語句在顯示改動后的樹結(jié)構(gòu)的圖5A和5B中沒有出現(xiàn),因此,在顯示并集樹結(jié)構(gòu)的圖6A和6B中的語句13上應(yīng)加上表示刪除的標識符。圖5中的語句18是在圖4所示的改動前樹結(jié)構(gòu)上所加的一句語句,所以在圖6所示的并集樹結(jié)構(gòu)中它作為帶有插入標識符的一個語句24存在。圖4中的語句17在圖5中更新為語句22,所以圖6中的并集樹結(jié)構(gòu)中既包括改動前的語句也包括由25表示的改動后的語句,這二個語句上分別加有表示“更新前”和“更新后”的標識符。同樣,圖4中的語句14在圖5中更新為語句19,在圖6的并集樹結(jié)構(gòu)中同時包含了分別加有“更新前”和“更新后”標識符的改動前語句和改動后語句,如數(shù)字26所表示。在這樣的情況下,語句14和19之后作為樹結(jié)構(gòu)的枝和葉的語句(圖4中的語句15,16和圖5中的語句20,21)也包括在圖6A和6B所示的并集樹結(jié)構(gòu)中,并且還都帶有更新前和更新后標識符,如圖6A和6B中的27,28,29和30所示。
再回到圖1上來,輸出位置計算部分9從并集樹存貯部分8中讀出并集程序樹結(jié)構(gòu)信息,計算出各個程序單元在顯示屏上的顯示位置(on-display display position),把這樣得到的位置信息加到并集樹程序樹結(jié)構(gòu)信息中相應(yīng)的程序單元上,并把這樣得到的帶有位置信息的并集程序樹結(jié)構(gòu)信息存貯在帶位置信息的樹結(jié)構(gòu)存貯器10中。PAD圖形顯示部分11對存貯部分10中帶有位置信息的并集程序樹結(jié)構(gòu)信息加以分析,并根據(jù)其PAD表示法編輯PAD顯示信息,還把改動類型信息轉(zhuǎn)換成相應(yīng)的顯示信息(字符、顏色、圖形等等)。這樣得到的顯示信息被送至顯示部分12,顯示部分12以圖6中所示的方式把上述顯示信息顯示在屏幕。改動內(nèi)容和/或改動類型可由顏色、閃爍、色度變化、圖形符號等來表示。
在上述的實施例中,如果某一程序元有枝和葉,也就是有選擇和迭代,那末,當改動該程序單元時,同樣的改動標識符必須無條件地加給所有屬于這些枝和葉的程序元。這是因為程序樹結(jié)構(gòu)間的比較(圖1中的方框7)是沿著從樹根至樹枝至樹葉的方向進行的,因此即使屬于這些枝和葉的程序元并沒有改動,它們也被顯示成好象已被改動。舉例來說,對應(yīng)于圖5中語句21的圖4中的語句16完全沒有改動,但是由于該語句相對于它的根(起始結(jié)點)而言其選擇(枝)條件已經(jīng)改動(從圖4中的14改成圖5中的19),因此同樣的語句(16、21)在并集樹結(jié)構(gòu)中表現(xiàn)為一個更新前程序單元(圖6中的28)和一個更新后程序單元(圖6中的30)。這使理解改動的實際條件不很方便。
圖7中的另一個實施例旨在除了樹結(jié)構(gòu)信息的比較結(jié)果之外還使用程序文本的直接比較結(jié)果來克服上面的那種不便。本實施例在圖1所示實施例的基礎(chǔ)上加上了源程序比較部分40和源程序改動信息存貯部分41,存貯部分41中的源程序改動信息和改動前、后的樹結(jié)構(gòu)信息一起送入程序樹結(jié)構(gòu)比較部分42中。
源程序比較部分40把來自存貯單元1的改動前源程序文本和來自存貯單元2的改動后源程序文本直接逐一比較,檢測出被改動(加入、刪除和更新)過的程序單元,并將結(jié)構(gòu)存入源程序改動信息存貯部分41中。在這個比較中,只進行如前面說過的“信息處理”中描述的平面型(planelike)比較而不管程序的結(jié)構(gòu)如何。這種比較法使我們能夠檢測出每個程序元本身的改變方式,而不管作為我們關(guān)心的程序元的板的那個程序元是否變動。
程序樹結(jié)構(gòu)比較部分42采用與圖1中的程序樹結(jié)構(gòu)比較部分7同樣的方式形成并集樹結(jié)構(gòu),然后參照存貯部分41中的源程序改動信息來決定該加給各個程序元什么樣的標識符。特別要指出的是,如果屬于已改動程序的枝和葉的程序元本身也已被改動,那末應(yīng)給它們加上表示它們已被改動的類型標識符;反之,如果這些屬于已改動程序的枝和葉的程序元本身并未被改動,那末應(yīng)給它們加上表示未改動的標識符和表示互相對應(yīng)的一雙程序元標識符。圖8與圖6B相對應(yīng),圖中示出了用上面提到的方式從圖2中的改動前程序的圖3中的改動后程序得到的并集樹結(jié)構(gòu)信息的PAD表示。從已改動的語句45(對應(yīng)于圖6B中的語句2b)開始分枝,在屬于這兩個樹枝的語句中,改動前程序中的語句43和改動后程序中的語句44互相對應(yīng),它們之間不存在任何變動。因此,這些句子上加有表示未被改動的標識符和表示它們的對應(yīng)關(guān)系的標識符(在這種情況下是“1”)。與此相反,語句46本身更新為語句47,因此,語句46和47上加有分別表示改動前和改動后的標識符。后續(xù)的處理跟圖1中一樣。
如果除了用圖形顯示改動前的和改動后的程序元的并集之外,還單獨顯示出只包括改動前的程序元的一部分和只包括改動后的程序元的一部分,那末,改動的實際狀態(tài)就更容易理解。為了實現(xiàn)這樣一個顯示,圖9中又示出了一個實施例。這個實施例在圖7所示的裝置上又增加了改動前信息攝取部分50和改動后信息攝取部分51。改動前信息攝取部分50從存貯在存貯部分10中的帶有位置信息的并集樹結(jié)構(gòu)信息中通過校驗標識符的方法只取出有關(guān)改動前程序元的信息,并把取出的信息送至PAD圖形顯示部分11。同樣,改動后信息攝取部分51只取出有關(guān)改動后的程序元的信息,并也把該信息送入PAD圖形顯示部分11中。
圖10是由并集樹信息按上述方式提供的改動前程序信息的PAD表示,它與圖8所示的PAD表示相對應(yīng)。圖11示出了以同樣方法得到的改動后程序信息的PAD表示。在圖10和11中,原封不動地采用了圖8中的帶位置信息的并集樹結(jié)構(gòu)中的對應(yīng)部分,這樣可以用與圖8中相同的方式來顯示改動的位置和類型,而且各個程序單元的位置也與圖8中相同。這樣,通過比較圖8、10和11中所示的顯示,就可更容易地了解改動的實際狀態(tài)。這三種顯示可通過操作員的操作一一更換,否則隨意選定的二個或全部顯示可能混雜或重疊。在后一種情況下,使用一種帶多窗口功能的顯示是方便的。
在上面提到的幾個實施例中,都采用了樹形結(jié)構(gòu)來表達一個程序。然而需指出的是也可以采用任何別的表示形式,只要它能表示程序元之間的邏輯關(guān)系。而且,只要能產(chǎn)生圖形除上述顯示方法以外的任何別的顯示手段都可以采用(舉個例子來說,點陣打印機不管它是沖擊式的還是非沖擊式的都可以采用)。
現(xiàn)在來解釋實現(xiàn)本發(fā)明的第二個特征的幾個實施例。圖12以功能方框圖的形式示出了一臺實現(xiàn)第一個實施例的數(shù)據(jù)處理裝置。雖然圖12中的幾個終端T實際上只是一個單獨的部件,把它們重復地畫出是為了闡明和其它功能塊的關(guān)系。被顯示的變量讀入部分61從終端T中讀入指定的變量名以便使它的值顯示在屏幕上。顯示位置確定部分62根據(jù)一個預(yù)定的規(guī)則(舉個例子,按讀入順序以上到下排列)確定由顯示變量讀入部分61讀入的各個變量在屏上顯示位置。顯示變量/顯示位置存貯部分63以相互相關(guān)的方式存貯由顯示變量讀入部分61讀入的變量的名稱以及它們的由顯示位置確定部分62所確定的顯示位置。程序運行控制部分64控制著變量名稱顯示部分65、程序運行部分66和變體值顯示部分68的動作,變體名稱顯示部分65讀出有關(guān)待顯示的變量名稱和它們的顯示位置的信息,并在終端T的屏幕上的指定位置上顯示這些變量名。程序執(zhí)行部分66一步一步地執(zhí)行待測試的程序,同時訪問或者更新保存在變量表存貯部分67中的變體。變量表存貯部分67以表的形式存貯程序中所有的變量在各個時間點上的值。變量值顯示部分68把待顯示變量(存貯在顯示變量/顯示位置存貯部分63中)的值(存貯在變量表存貯部分67中)根據(jù)存貯部分63中的顯示位置把它們顯示出來。
圖13示出了一張實現(xiàn)本實施例的流程圖。在第69步,圖12中的顯示變量讀入部分61從終端T中讀入待顯示的變量。在第70步,顯示位置確定部分62確定這些變量的顯示位置(比方說按讀入順序由上向下排定)。在第71步,變量名顯示部分65在第70步中確定的顯示位置上顯示出第69步中指定的變量名。在第72步,程序執(zhí)行部分66執(zhí)行一步程序。在第73步,變量值顯示部分68在顯示位置上顯示出第69步中指定的變量在目前時刻的值。在第74步,判斷程序是否已結(jié)束。如果程序已抵達結(jié)尾,那末程序的執(zhí)行也告結(jié)束。如果不是,整個過程再回到第72步,執(zhí)行下一步程序。
圖14A和14B根據(jù)上面的實施例示出了程序執(zhí)行時顯示屏的幾個例子,其中變量X,Y和一個數(shù)組Z的各個元素Z〔1〕到Z〔6〕被選為待顯示變量。圖14A示出了程序剛開始運行時的顯示,而圖14B則示出了程序執(zhí)行了一段時間后的顯示情況。
圖15以功能方框圖的形式又示出了一個實施例,在實施例中除了能指定待顯示的變量之外,還能指定這些變量的顯示位置或稱顯示區(qū)域。圖16示出了它的流程圖,圖17顯示了它的顯示屏的一個例子。在圖15中,由顯示位置讀入部分75代替了圖12中的顯示位置確定部分62。顯示位置讀入部分75從終端T中讀入已由顯示量讀入部分62讀入的那些變量的指定顯示位置。在圖16中,由第76步代替了圖13中的第70步。在第76步,圖15中的顯示位置讀入部分75從終端T中讀入待顯示變量的顯示位置。
圖17示出了根據(jù)這個實施例的一個屏幕例子。在這個例子中,屏幕的左半邊同時顯示出了待顯示的變量和它們的位置。特別要指出的是,待顯示變量的名稱是指定的,而且還可以指定它們在屏幕上的顯示行號。在數(shù)組的情況下,可以指定同一行上要被顯示的各個元素的列號,諸元素用<>號中的分號隔開。在圖17的例子中,對于數(shù)組Z作了這樣的規(guī)定,變量名顯示在第一行上,元素Z〔1〕至Z〔6〕的名稱和值依次顯示在后續(xù)兩行中從第2列、第10列和第18列起始的位置上。
在上面描述的幾個實施例中,雖然在程序運行過程中可以觀察到變量的變化,但卻不可能知道這些數(shù)值或變化位于程序中哪個位置。這個問題由圖18至20中表示的另一實施例來解決,這個實施例除了顯示變量之外,還在同一屏幕上顯示程序的內(nèi)容和執(zhí)行位置。圖18是該實施例的功能方框圖,這個框圖在圖12中所示的功能框圖中又加入了程序內(nèi)容顯示部分77和程序執(zhí)行位置顯示部分78。程序內(nèi)容顯示部分77以一種規(guī)定的形式顯示出正在執(zhí)行期間的程序內(nèi)容。舉例來說,源程序可以用文本形式原樣顯示出來,或用前面說過的那種PAD形式用圖形顯示出來。程序執(zhí)行位置顯示部分80在程序內(nèi)容顯示部分77形成的程序內(nèi)容的顯示數(shù)據(jù)的基礎(chǔ)上顯示出已顯示出的程序內(nèi)容中的執(zhí)行位置。
圖19所示的流程圖是在圖13中的流程圖的基礎(chǔ)上又增加了步驟79和80。在第79步,程序內(nèi)容顯示部分77以規(guī)定的形式(如PAD)在屏幕上顯示程序內(nèi)容。在第80步,作為第79步的結(jié)果,把被顯示出的程序內(nèi)容中的執(zhí)行位置以規(guī)定的形式被顯示出來。
圖20A示出了根據(jù)本實施例的顯示屏幕的例子。程序內(nèi)容以PAD的形式表示,把正在執(zhí)行著的操作相對應(yīng)的PAD框(圖20A中用隱影線表示)用一種與別的PAD框不同的顏色顯示出來。圖2B示出了另一個例子,其中在每個變量值的右邊還顯示出了正在加工的PAD框的編號其內(nèi)部變量的值在顯示期間這個PAD框中的變量已被我們感興趣的變量所取代。把執(zhí)行過的PAD框的號碼顯示在處理過的變量值的右邊即可實現(xiàn)上面這種形式的顯示。在圖20B的顯示形式中,也可以象圖20A中那樣用不同的顏色來顯示正在執(zhí)行的PAD框。除了改變顏色之外,還可以采用別的增強顯示方式,如色度變化,閃爍等等。
在上面所述的幾個實施例中,顯示的只是變量的最新值,而不顯變量的變化過程。因此,為了了解變量值的變化過程,必須一直監(jiān)視著屏幕。下面將描述一個能顯示變量值變化過程的實施例。它的功能方框圖與圖18中的相同。除了變量值顯示部分之外,其它功能塊的功能均與圖18中的相同。特別要指出的是,本實施例中的變量值顯示部分68對存貯在顯示變量/顯示位置存貯部分63中的變量的值(存貯在變量表存貯部分67中)加以檢查。只要這些值與已經(jīng)顯示的值不同,顯示部分68除了已經(jīng)顯示的值之外還顯示出更新值。圖21示出了這個實施例的流程圖,該圖中的第81步和第82步代替了圖19中所示流程圖中的第73步。在圖19中的第73步,即變量值顯示處理中,原變量值被取消,新變量值顯示在原來顯示原變量值的相同位置上;而在圖21中的第81步,判斷變量值是否已變化,如果是的話,就把新變量值顯示在原變量值的右邊(第82步)。圖22示出了根據(jù)本實施例的一個屏幕例子。在這個例子中,顯示出來的原變量值和新變量值由箭頭鏈成一串。如果變量值是連續(xù)變化的,那就不把所有的各個顯示都包括在顯示屏幕中,此時移出原變量值,使得屏幕中只留有一定數(shù)量的新顯示。
根據(jù)本發(fā)明的第一個特征,軟件產(chǎn)品中的改動內(nèi)容可以很容易地直觀地理解,這樣也提高了軟件改動工作(這在軟件的開展和維護中是經(jīng)常進行的)的效率和改動后軟件的可靠性。
根據(jù)本發(fā)明的第二個特征,可以免除了在程序的測試過程中設(shè)置中斷時間和中斷條件的麻煩,另外還可以了解變量值的變化過程而不是在幾個間斷的中斷點上的變量值。只要在預(yù)定的顯示位置上顯示指定的變量值就可以很容易地監(jiān)視它們,很少會漏過。這樣,程序的調(diào)試工作的效率可得以提高。
權(quán)利要求
1.帶有信息處理裝置的軟件開發(fā)支持系統(tǒng)中的一種顯示方法,包括如下步驟把軟件產(chǎn)品的改動前的結(jié)構(gòu)信息和改動后的結(jié)構(gòu)信息加以比較,以形成一種新的結(jié)構(gòu)信息,它是改動前信息和改動后信息的并集;以圖形方式產(chǎn)生至少是一部分屬于上述并集結(jié)構(gòu)信息。
2.一種根據(jù)權(quán)利要求
1的顯示方法,其中在形成結(jié)構(gòu)信息這一步中還包括形成表示軟件產(chǎn)品中各單元的改動方式的識別信息這一步。
3.一種根據(jù)權(quán)利要求
1的顯示方法,其中所述的形成結(jié)構(gòu)信息這一步中還包括分析改動前軟件產(chǎn)品和改動后軟件產(chǎn)品以便分別形成由軟件元信息組成的改動前結(jié)構(gòu)信息和改動后結(jié)構(gòu)信息。
4.作為支持軟件開發(fā)用的信息處理裝置中的一種顯示方法,包括如下步驟分析改動前的軟件產(chǎn)品和改動后的軟件產(chǎn)品,根據(jù)各個軟件產(chǎn)品的結(jié)構(gòu)分別形成由互相相關(guān)的程序元信息組成的改動前結(jié)構(gòu)信息和改動后結(jié)構(gòu)信息,形成上述改動前結(jié)構(gòu)信息和改動后結(jié)構(gòu)信息的并集作為一個新的結(jié)構(gòu)信息,該信息中包括了改動前和改動后的所有軟件元信息;并在并集結(jié)構(gòu)信息中加入表示各程序元的改動類型的識別信息;以及把至少一部分并集結(jié)構(gòu)信息轉(zhuǎn)換成圖形格式,同時產(chǎn)生的還有由上述識別信息表示的改動類型展現(xiàn)。
5.一種依據(jù)權(quán)利要求
4的顯示方法,其中包括比較改動前結(jié)構(gòu)信息和改動后結(jié)構(gòu)信息以形成識別信息這一步。
6.一種根據(jù)權(quán)利要求
4的顯示方法,包括直接比較改動前軟件產(chǎn)品的文本和改動后軟件產(chǎn)品的文本以提供上述識別信息這一步。
7.一種根據(jù)權(quán)利要求
4的顯示方法,其中所述的第三個步驟中包括選出至少一個象上述并集那樣的結(jié)構(gòu)信息、并選出與其相應(yīng)的改動前軟件產(chǎn)品的信息和相應(yīng)的改動后軟件產(chǎn)品信息這一步驟。
8.一種根據(jù)權(quán)利要求
7的顯示方法,其中在上述的選擇這一步中,選出上述的并集結(jié)構(gòu)信息并選出相應(yīng)的改動前軟件產(chǎn)品信息和改動后軟件產(chǎn)品信息兩個中的至少一個,在上述的第三步中,所選出的信息是同時產(chǎn)生的。
9.帶有顯示終端的用于軟件開發(fā)支持系統(tǒng)中的一種顯示方法,包括下列步驟為待測試程序中的給定變量指定顯示位置,在上述顯示終端的指定位置上顯示出上述給定變量的值,這些值是與每一步程序的執(zhí)行同步地提供的。
10.一種根據(jù)權(quán)利要求
9的顯示方法,其中的第一步根據(jù)一種規(guī)定的表示法指定顯示位置。
11.一種根據(jù)權(quán)利要求
9的顯示方法,上述的顯示步驟根據(jù)每個給定變量提供的位置信息確定顯示位置。
12.一種根據(jù)權(quán)利要求
9的顯示方法,其中的顯示步驟除了顯示上述給定變量的原變量值之外,還顯示出該變量的更新值。
13.一種根據(jù)權(quán)利要求
9的顯示方法,其中上述顯示步驟在同一顯示屏幕上除了顯示變量值之外,還顯示出了在各個時刻的程序執(zhí)行位置。
14.一種根據(jù)權(quán)利要求
13的顯示方法,其中上述的執(zhí)行位置顯示在變量值之后,在屏幕上還以圖形的方式顯示出上述程序。
專利摘要
本發(fā)明是支持軟件開發(fā)用的信息處理裝置中的顯示方法,包括下列步驟分析改動前的軟件產(chǎn)品和改動后的軟件產(chǎn)品,根據(jù)各個軟件產(chǎn)品的結(jié)構(gòu)形式改動前結(jié)構(gòu)信息和改動后結(jié)構(gòu)信息(由相互關(guān)聯(lián)的軟件元信息組成);形成由改動前結(jié)構(gòu)信息和改動后結(jié)構(gòu)信息的并集組成的一個結(jié)構(gòu)信息;在并集結(jié)構(gòu)信息中加上表示各個軟件元的改動類型的識別信息;至少把一部分并集結(jié)構(gòu)信息轉(zhuǎn)換成圖形格式,使它和由識別信息代表的改動類型表示一起被顯示出來。
文檔編號G06F11/36GK87107925SQ87107925
公開日1988年7月20日 申請日期1987年11月20日
發(fā)明者內(nèi)藤一郎沢前, 裕行, 山口淳子, 勝間田英利, 大塩竹志 申請人:株式會社日立制作所, 日立計算機工程株式會社, 日立西部軟件株式會社導出引文BiBTeX, EndNote, RefMan