WO2002046921A1 - Sequence analysis method and sequence analysis apparatus - Google Patents

Sequence analysis method and sequence analysis apparatus Download PDF

Info

Publication number
WO2002046921A1
WO2002046921A1 PCT/JP2000/008733 JP0008733W WO0246921A1 WO 2002046921 A1 WO2002046921 A1 WO 2002046921A1 JP 0008733 W JP0008733 W JP 0008733W WO 0246921 A1 WO0246921 A1 WO 0246921A1
Authority
WO
WIPO (PCT)
Prior art keywords
class
sequence
name
instance
obtaining
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Ceased
Application number
PCT/JP2000/008733
Other languages
English (en)
French (fr)
Inventor
Hiroshi Miyazaki
Jun Ginbayashi
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to CA2436609A priority Critical patent/CA2436609C/en
Priority to EP00980029A priority patent/EP1341081A4/en
Priority to AU2001217357A priority patent/AU2001217357B2/en
Priority to AU1735701A priority patent/AU1735701A/xx
Priority to JP2002548582A priority patent/JP4588295B2/ja
Priority to PCT/JP2000/008733 priority patent/WO2002046921A1/ja
Publication of WO2002046921A1 publication Critical patent/WO2002046921A1/ja
Priority to US10/455,445 priority patent/US7062751B2/en
Anticipated expiration legal-status Critical
Ceased legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/28Error detection; Error correction; Monitoring by checking the correct order of processing
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/70Software maintenance or management
    • G06F8/75Structural analysis for program understanding
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/448Execution paradigms, e.g. implementations of programming paradigms
    • G06F9/4488Object-oriented

Definitions

  • the present invention relates to a sequence analysis method and a sequence analysis device, and more particularly to a sequence analysis method and a sequence analysis device for analyzing a sequence of a program described in an object language.
  • This sequence diagram shows the calling relationship of the methods of the class group (corresponding to the functions of the procedural language) related to the predetermined function, and is usually created for each function.
  • the present invention has been made in view of the above points, and a sequence analysis method and a sequence analysis method capable of improving the listability of the entire system using an object-oriented language.
  • An object of the present invention is to provide a cans analyzer.
  • a class name obtaining step for obtaining a class name of a class configuring a program ( Class name obtaining means 2 a), instance name obtaining step for obtaining instance names of instances derived from each class (instance name obtaining means 2 b), and method names of methods included in each instance are obtained
  • Method name acquisition step (method name acquisition means 2 c)
  • call relation acquisition step (call relation acquisition means 2 d) for acquiring the call relation of each method
  • class name acquisition step class name acquisition means 2 a)
  • the information acquired in the sod name acquisition step (method name acquisition means 2 c) is displayed in a table format, and each method is called based on the information acquired in the call relation acquisition step (call relation acquisition means 2 d).
  • a sequence list display step (sequence list display means 2 e) for displaying a
  • the class name obtaining step obtains the class names of the classes constituting the program.
  • the instance name acquisition step acquires the instance name of the instance derived from each class.
  • the method name obtaining step obtains the method name of the method included in each instance.
  • the call relation acquisition step acquires the call relation of each method.
  • the sequence list display step includes a class name acquisition step (class name acquisition means 2 a), an instance name acquisition step (instance name acquisition means 2 b), and a method name.
  • the information obtained in the obtaining step (method name obtaining means 2 c) is listed in a table format, and the calling relation of each method is determined based on the information obtained in the calling relation obtaining step (calling relation obtaining means 2 d). Display the displayed sequence list 3.
  • FIG. 1 is a principle diagram for explaining the operation principle of the present invention.
  • FIG. 2 is a block diagram showing a configuration example of the embodiment of the present invention.
  • FIG. 3 is a diagram illustrating functional blocks implemented when an application program stored in the HDD of the sequence analysis device shown in FIG. 2 is started.
  • FIG. 4 is an example of a sequence diagram to be processed.
  • FIG. 5 is an example of a class diagram to be processed.
  • FIG. 6 is an example of a screen displayed when the application program for analysis according to the present invention is started.
  • FIG. 7 is a diagram showing an example of a pull-down menu displayed when the button shown in FIG. 6 is operated.
  • FIG. 8 is a flowchart illustrating an example of a process for converting a sequence diagram into a sequence list, which is executed when the button 63 is operated and the conversion 63 a is selected.
  • Figure 12 is an example of a sequence listing for an inventory class.
  • Figure 14 is a display example showing the result of the method aggregation process.
  • Figure 16 is a display example showing the result of the class transfer process.
  • FIG. 17 is a display example showing the result of the arrow line non-display processing.
  • FIG. 18 is a flowchart illustrating an example of a process of inversely converting a sequence list into a sequence diagram.
  • FIG. 19 is a flowchart illustrating an example of a comparison process between the class diagram and the sequence list.
  • FIG. 21 is a flowchart illustrating an example of the entrance method check process.
  • FIG. 22 is a flowchart illustrating an example of the parameter check process.
  • FIG. 1 is a principle diagram for explaining the operation principle of the present invention.
  • a sequence analysis device 2 for realizing a sequence analysis method according to the present invention reads and analyzes a plurality of sequence diagrams 1 a to 1 d and outputs a sequence list 3.
  • the sequence analysis device 2 includes a class name acquisition unit 2a, an instance name acquisition unit 2b, a method name acquisition unit 2c, a call relation acquisition unit 2d, and a sequence list display unit 2e.
  • the method name obtaining means 2c obtains the method name of the method included in each instance.
  • the call relation acquiring means 2d acquires the call relation of each method.
  • sequence diagram 1a and the other sequence diagrams 1b to ld are structured so that class A calls method A of class B and class B calls method B and method C of class C. Suppose.
  • the class name obtaining means 2a obtains the class names (for example, class A to class C) included in these sequence diagrams 1a to 1d.
  • the instance name acquiring means 2b acquires the instance names (for example, instance A to instance B (not shown)) included in the sequence diagrams 1a to 1d.
  • the call relation acquiring means 2d acquires the call relations of the methods included in the sequence diagrams 1a to 1d (eg, "Class A calls method A of class B").
  • the class C has a method B (mB) and a method C (m C), and these methods are called from the instance A (i A) of the class B.
  • mB a method B
  • m C a method C
  • these methods are called from the instance A (i A) of the class B.
  • FIG. 2 is a block diagram illustrating a configuration example of a sequence analysis device that realizes the sequence analysis method according to the present invention.
  • the GB Oe converts the image data drawn according to the drawing command supplied from the CPU 10a into a video signal and outputs the video signal.
  • the display device 11 is configured by, for example, a CRT (Cathode Ray Tube) monitor, and displays a video signal output from the GB10e.
  • CRT Cathode Ray Tube
  • a database 20 is composed of an HDD 10d, and stores a sequence diagram and a class diagram (to be described in detail later) to be processed.
  • the conversion unit 21 is realized by the CPU 10a or the like, and executes a process of acquiring necessary items from a sequence diagram stored in the database 20 and converting it into a sequence list.
  • the check unit 25 checks whether there is any defect in the contents of the sequence list stored in the database 22 and supplies the check result to the display processing unit 23.
  • the display unit 26 includes a GB 10 e and a display device 11, and displays and outputs information output from the display processing unit 23.
  • the input unit 27 includes an IZF 10 f and an input device 12, and supplies information according to a user's operation to the display processing unit 23.
  • FIG. 7 is a diagram showing a calling relationship of a method included in an instance derived from the above, and is a diagram generated for each function.
  • the controller class 40a, the pencil instance 40b of the product class, and the A warehouse instance 40c of the inventory class are displayed.
  • controller class 40a calls the order entry method for pencil instance 40b.
  • the pencil instance 40 b calls the get quantity method and the get inventory method of the A warehouse instance 40 c.
  • the pencil instance 40 b calls the ca 1 c quantity method of the pencil instance 40 b itself.
  • the numerical value displayed on the left side of each method indicates the hierarchy of the calling relationship of the method. The details will be described later.
  • Figure 5 is a class diagram showing the relationship between classes and the methods included in the classes.
  • This example includes class diagrams 50 to 53, and illustrates the contents of the class diagram 50 to be processed.
  • a controller class 50a, a product class 50b, and an inventory class 50c are displayed.
  • the product class 5Ob has an order receiving method and a ca1c quantity method.
  • the stock class 50 c has a get quantity method and a get stock method.
  • the class diagrams may be displayed collectively.
  • buttons 61 to 66 are displayed under the title "sequence analysis", and a display area 67 where the data to be analyzed and the data of the analysis result are arranged below the buttons. Is displayed.
  • buttons 62 When the button 62 is operated, it is selected when moving the specified class in the sequence list displayed in the display area 67, and is selected when deleting the specified class.
  • Delete 6 2b display selected when displaying or hiding the specified class, Z non-display 6 2c are displayed as menu items.
  • sequence diagrams 40 to 43 shown in FIG. 4 are analyzed. If it is selected, the conversion unit 21 reads the sequence diagrams 40 to 43 from the database 20. As a result, sequence diagrams 40 to 43 are displayed in the display area 67 of the screen 60 as shown in FIG.
  • the conversion unit 21 reads from the database 20 the sequence diagram for which the reading 61 a is selected.
  • Step S 1 1
  • Step S 1 2
  • the conversion unit 21 acquires one arrow data from the sequence diagram. That is, the data of the class of the connection source and the connection destination of the arrow are acquired from the database 20.
  • the conversion unit 21 proceeds to step S14 when the acquisition of the arrow data is successful, that is, when there is unprocessed arrow data, otherwise, the conversion unit 21 determines the arrow to be processed. The processing ends assuming that all processing has been completed.
  • the conversion unit 21 analyzes the information of the connection source of the arrow. That is, the conversion unit 21 analyzes the information of the connection source of the arrow, and connects the connection source class, the connection source instance, the sequence diagram ID, the instance name, the generated instance, the sequence No., the method name, the parameter, the return value, Get connection destination class and connection destination instance.
  • the conversion unit 21 analyzes the information of the connection destination of the arrow. That is, the conversion unit 21 Analyzes the information of the connection destination and obtains the connection source class, connection source instance, sequence diagram ID, instance name, generated instance, sequence No., method name, parameter, return value, connection destination class, and connection destination instance. . Each information is the same as in the case described above.
  • the sequence list generated as a result of the processing described above is displayed in the display area 67 of the screen 60 as shown in FIG. In this display example, only the part related to the controller class 50a in the sequence list is displayed.
  • the slider 70 or the buttons 68, 69 By operating the slider 70 or the buttons 68, 69, the product class 5Ob and the stock class 50c can be displayed in the display area 67.
  • FIG. 11 is an example of a sequence list for the product class 50b.
  • the items on the first line are the information corresponding to the order receiving method shown on the first line in Fig. 10, "Controller” is the connection source class, and the sequence diagram ID, instance name, Instance, sequence No. and method name and In addition, “Patten”, “pencil”, “Patten 02”, “1”, and “order” are stored, respectively.
  • one sequence list is generated and displayed from a plurality of sequence diagrams, so that the structure of the entire system can be referred to at a glance. Will be possible.
  • a sequence diagram By converting a sequence diagram into a sequence list, it can be stored in a relational database, and as described below, use the relational database function to search for items. And editing can be easily performed.
  • the display processing unit 23 sorts the methods having the same or similar names among the methods displayed in the sequence list so that they are close to each other, The data is supplied to the display unit 26 to update the display.
  • the sequence list for the product class 50b is rearranged so that the method get quantity and the method get stock are continuous as shown in Fig. 14.
  • arranging the same or similar methods in close proximity in this way, it is easy to call the same method, which was conventionally scattered in multiple sequence diagrams, and to make the method consistent and consistent. Can be checked.
  • similar methods are displayed in close proximity, so erroneous method names etc. It will be easy to find.
  • the display processing unit 23 displays a screen (not shown) for selecting a display item on the display unit 26 and receives the display item selection.
  • a screen for selecting a display item on the display unit 26 and receives the display item selection.
  • each of the connection source class, connection source instance, sequence diagram ID, instance name, generated instance, sequence No., method name, parameters, return value, connection destination class, and connection destination instance Display the screen for inputting the presence or absence of the display, and receive the required items.
  • the display processing unit 23 selects only the necessary items specified earlier from the sequence list and displays them on the display unit 26. For example, when only the instance name and the method name are selected as necessary display items, information shown in a display area 67 of FIG. 15 is displayed.
  • the pencil instance calls the get quantity method of the instance A warehouse of the inventory class.
  • the ca 1 c quantity method calls the ca 1 c quantity itself of the pencil instance of the product class.
  • the display processing unit 23 responds to the calling relationship of each method when the arrow is not currently displayed on the sequence list. Display the arrow. If the arrow is in the display state, it is deleted from the screen to make it non-display state. In the present example, as shown in FIG. 15, the arrow is in the non-display state, so the display processing unit 23 changes the arrow to the display state. As a result, an arrow is displayed as shown in Fig. 16.
  • Move 6 2 a When Move 6 2 a is selected, it becomes possible to move any class to any position. Movement is permitted only in class units. For example, in FIG. 16, if the controller class is selected as a target to be moved (for example, clicked with a mouse) and then an operation of moving the controller class to the right side of the inventory class is performed, the display processing unit 23 Performs the sorting process so that the controller class on the sequence list is arranged to the right of the inventory class, and supplies the sorted data to the display unit 26 for display.
  • the controller class is displayed after the inventory class, and the direction of the arrow is displayed with an appropriate correction.
  • the case where the class is moved has been described. It can be deleted, displayed or hidden, or copied. For example, when deleting a class, the relationship with the other class that has the calling relationship disappears. The same applies to the non-display state. As described above, by permitting the displayed content to be edited in class units, it is possible to change the display mode according to the purpose and improve the workability.
  • the inverse transform unit 24 determines whether or not the acquisition of the data corresponding to the arrow is successful. If the acquisition is successful, the process proceeds to step S33. Otherwise, the process ends. You.
  • the inverse conversion unit 24 writes the arrow data generated in step S33 into the corresponding part of the sequence diagram, returns to step S31, and performs the same processing as described above. repeat.
  • the check unit 25 executes the flowchart shown in FIG.
  • the check unit 25 reads the class diagram shown in FIG. 5 from the data base 20. Step S51:
  • the check unit 25 creates a method list, which is a list of methods included in the corresponding class (the class corresponding to the class diagram read in step S50) in the sequence list.
  • the checking unit 25 determines whether or not the acquired class is the last line of the sequence list. If the acquired class is the last line, the process ends. Otherwise, the process proceeds to step S53. Proceed to.
  • Step S56 The check section 25 highlights the entire corresponding line on the sequence list.
  • the method on the sequence diagram needs to be defined as a method of the class on the class diagram.
  • the method on the sequence diagram is defined as a method on the class diagram. It is possible to automatically determine whether or not there is.
  • the check unit 25 reads a predetermined row of the sequence list.
  • the checking unit 25 proceeds to step S72 if the reading has succeeded, that is, if there is any unprocessed row, otherwise, the checking unit 25 determines that there is no processing target and executes the processing. finish.
  • the check unit 25 determines whether or not the sequence number of the read line is 1. That is, it is determined whether or not the hierarchy is the highest (entrance) method. If 1., proceed to Step S73, otherwise proceed to Step S76.
  • the check unit 25 acquires the information stored in the column of “connection source class” of the connection source of the arrow and the column of “connection source instance”.
  • the check unit 25 determines whether or not both of these columns are empty. If the columns are empty, it is determined that the column is normal and returns to step S70 to repeat the same processing. Otherwise, the process proceeds to step S75.
  • the checking unit 25 determines whether or not the sequence number on the first line is of a class on the next hierarchy. If the sequence number is on a class on the next hierarchy, the process proceeds to step S79. If so, the process proceeds to step S78. Here, whether or not it is one level higher is determined by referring to the number of dots “.” Included in the sequence number. In other words, the larger the number of dots, the deeper the sequence.
  • the checking unit 25 determines whether or not the connection source class and connection instance on one row match the connection source class and connection source instance on the row, and if they match, the same hierarchy sequence is determined. Since it is normal, the process returns to step S70 and repeats the same processing. Otherwise, the process proceeds to step S81. Step S79:
  • the checking unit 25 determines whether or not the connection destination class and connection destination instance on one line match the connection source class and connection source instance of the line. Step S80:
  • the check unit 25 determines whether or not both of the steps S79 match, and if the two match, the one line above is a sequence on one layer, and the line is one line. This corresponds to the case where the sequence is lower in the hierarchy, and it is determined that the sequence is in a normal state, and the process returns to step S70 and repeats the same processing. Otherwise, the process proceeds to step S81.
  • Step S81 The checking unit 25 determines that the sequence of the line above and the sequence of the line are not normal, reverses the line, displays a message indicating that the line is not normal, returns to step S70, and repeats the same processing.
  • the check unit 25 reads a predetermined row of the sequence list.
  • the check unit 25 proceeds to step S102 if the reading has succeeded, that is, if there is an unprocessed row, otherwise ends the process as there is no processing target. I do.
  • Step S 10 2
  • the check unit 25 determines whether or not the sequence number of the read line is 1. If it is 1, the process proceeds to step S103. Otherwise, the process proceeds to step S100. And the same processing is repeated.
  • the check unit 25 acquires the information stored in the column of “connection source class” of the connection source of the arrow and the column of “connection source instance”.
  • the check unit 25 determines whether or not both of these columns are empty. If the columns are empty, the process proceeds to step S105, and otherwise, the process ends.
  • Step S105 The check part 25 indicates that the class whose sequence number is 1 is usually an entrance class, and the connection source class and connection source instance of the class are empty, but some If the information is stored, the line is reversed as an error, the message indicating that an error has occurred is displayed, and the process is terminated. According to the above processing, it is possible to check whether or not the entry method is normal.
  • the check unit 25 reads a predetermined row of the sequence list.
  • the check unit 25 determines whether the reading has been successful. That is, if there is no unprocessed row in the sequence list, the process is terminated; otherwise, the process proceeds to step S122.
  • the check unit 25 acquires the connection source parameter and the return value of the predetermined row read in step S120.
  • the check unit 25 acquires the connection destination parameter and the return value of the predetermined line read in step S120.
  • the checking unit 25 compares the parameters and return values of the connection source and the connection destination with the type and number of return values.
  • the checking unit 25 determines whether or not the two match as a result of the comparison in step S124, and if they match, it is determined to be normal and returns to step S120 to repeat the same processing. Otherwise, go to step S126.
  • the check unit 25 reverses the current line, displays a parameter and a message indicating that the return value is not normal, returns to step S120, and repeats the same processing. According to the above processing, it is possible to automatically detect a row having an error in which the parameters of the connection source and the connection destination included in the sequence list do not match.
  • a sequence list is generated from a sequence diagram.
  • a sequence list can be generated from a source file. In such a case, the source file is decomposed for each class, the instances derived from each class and the methods included in each instance are identified, and the calling relationship of the methods is analyzed by text analysis. Obtainable. Then, based on the information thus obtained, a method list can be generated by performing the same processing as described above.
  • the display of the sequence list described above is an example, and the present invention is not limited to only such a case.
  • Computer-readable recording media include magnetic recording devices and semiconductor memories.
  • the program is stored in a portable recording medium such as a CD-ROM (Compact Disk Read Only Memory) or a floppy disk and distributed, or stored in a computer connected via a network. They can be stored on the device and transferred to other computers via the network.
  • the program is executed on a computer, the program is stored in a hard disk device in the computer, loaded into the main memory, and executed.
  • a class name obtaining step of obtaining a class name of a class constituting the program in a sequence analysis method for analyzing a sequence of a program described in an object language, a class name obtaining step of obtaining a class name of a class constituting the program, and an installation derived from each class.
  • An instance name obtaining step for obtaining an instance name of the instance; a method name obtaining step for obtaining a method name of a method included in each instance; a calling relation obtaining step for obtaining a calling relation of each method; Instance name acquiring step, the instance name acquiring step, and the method name A sequence list display step of displaying a list of information obtained in the obtaining step in a table format, and displaying a sequence list showing the calling relation of each method based on the information obtained in the calling relation obtaining step; Since it is provided, it is possible to improve the listability of the sequence of the system described in the object-oriented manner.

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • Stored Programmes (AREA)

Description

明 細 書 シーケンス解析方法およびシーケンス解析装置 技術分野
本発明はシーケンス解析方法およびシーケンス解析装置に関し、 特に、 ォブジ ェクト言語で記述されたプログラムのシーケンスを解析するシーケンス解析方法 およびシーケンス解析装置に関する。 背景技術
オブジェクト指向言語によりシステム開発を行う場合には、 O M G (Object Management Group ) によって標準化された U M L ( Unified Modeling Language) の中のシーケンス図が実装のためのドキュメントとして重視されて いる。
このシーケンス図は、 所定の機能に関するクラス群のメソッド (手続き型言語 の関数に対応するもの) の呼び出し関係を示すものであり、 機能単位に作成され ることが通例である。
ところで、 システム全体に対するシーケンス図は、 数百枚または数千枚のォ一 ダ一になることが多いため、 例えば、 メソッドのシーケンス図間での一貫性につ いてチェックすることが困難であるという問題があつた。
そこで、 これらのシーケンス図を 1枚の図面に集約し、 チェックの簡易化を図 ることも考えられるが、 オブジェクト指向言語ではクラスがァトミック
(Atomic) な操作単位であるため、 単に集約して 1枚の図面にし、 クラスのメ ンバに対する編集を許可すると、 クラス単位での編集がかえって困難になるとい う問題点もあった。 発明の開示 . 本発明はこのような点に鑑みてなされたものであり、 オブジェクト指向言語を 用いたシステム全体の一覧性を高めることが可能なシーケンス解析方法およびシ 一ケンス解析装置を提供することを目的とする。
本発明では上記課題を解決するために、 図 1に示す、 オブジェクト言語で記述 されたプログラムのシーケンスを解析するシーケンス解析方法において、 プログ ラムを構成するクラスのクラス名を取得するクラス名取得ステップ (クラス名取 得手段 2 a ) と、 各クラスから派生するインスタンスのインスタンス名を取得す るインスタンス名取得ステップ (インスタンス名取得手段 2 b ) と、 各インスタ ンスに含まれているメソッドのメソッド名を取得するメソッド名取得ステップ (メソッド名取得手段 2 c ) と、 各メソッドの呼び出し関係を取得する呼び出し 関係取得ステップ (呼び出し関係取得手段 2 d ) と、 クラス名取得ステップ (ク ラス名取得手段 2 a ) 、 インスタンス名取得ステップ (インスタンス名取得手段 2 b ) 、 および、 メソッド名取得ステップ (メソッド名取得手段 2 c ) において 取得された情報を表形式で一覧表示し、 呼び出し関係取得ステップ (呼び出し関 係取得手段 2 d ) によって取得した情報に基づいて、 各メソッドの呼び出し関係 を表示したシーケンス一覧表 3を表示するシーケンス一覧表表示ステップ (シ一 ケンス一覧表表示手段 2 e ) と、 を有することを特徴とするシーケンス解析方法 が提供される。
ここで、 クラス名取得ステップ (クラス名取得手段 2 a ) は、 プログラムを構 成するクラスのクラス名を取得する。 インス夕ンス名取得ステップ (インスタン ス名取得手段 2 b ) は、 各クラスから派生するインスタンスのインスタンス名を 取得する。 メソッド名取得ステップ (メソッド名取得手段 2 c ) は、 各インス夕 ンスに含まれているメソッドのメソッド名を取得する。 呼び出し関係取得ステツ プ (呼び出し関係取得手段 2 d ) は、 各メソッドの呼び出し関係を取得する。 シ 一ケンス一覧表表示ステップ (シーケンス一覧表表示手段 2 e ) は、 クラス名取 得ステップ (クラス名取得手段 2 a ) 、 インスタンス名取得ステップ (インス夕 ンス名取得手段 2 b ) 、 および、 メソッド名取得ステップ (メソッド名取得手段 2 c ) において取得された情報を表形式で一覧表示し、 呼び出し関係取得ステツ プ (呼び出し関係取得手段 2 d ) によって取得した情報に基づいて、 各メソッド の呼び出し関係を表示したシーケンス一覧表 3を表示する。
本発明の上記および他の目的、 特徴および利点は本発明の例として好ましい実 施の形態を表す添付の図面と関連した以下の説明により明らかになるであろう。 図面の簡単な説明
図 1は、 本発明の動作原理を説明する原理図である。
図 2は、 本発明の実施の形態の構成例を示すブロック図である。
図 3は、 図 2に示すシーケンス解析装置の HD Dに格納されているアプリケ一 ションプログラムが起動された場合に、 実装される機能ブロックについて説明す る図である。
図 4は、 処理対象となるシーケンス図の一例である。
図 5は、 処理対象となるクラス図の一例である。
図 6は、 本発明に係る解析用のアプリケーションプログラムが起動された場合 に表示される画面の一例である。
図 7は、 図 6に示すポタンを操作した場合に表示されるプルダウンメニューの 一例を示す図である。
図 8は、 ポタン 6 3が操作され、 変換 6 3 aが選択された場合に実行される、 シーケンス図をシーケンス一覧表に変換する処理の一例を説明するフローチヤ一 トである。
図 9は、 変換処理によって生成されたシーケンス一覧表の表示例である。 図 1 0は、 コントローラクラスに関するシーケンス一覧表の一例である。 図 1 1は、 商品クラスに関するシーケンス一覧表の一例である。
図 1 2は、 在庫クラスに関するシーケンス一覧表の一例である。
図 1 3は、 ポタン 6 6が操作されて文字列が入力され、 検索が実行された結果 を示す画面である。
図 1 4は、 メソッド集約処理の結果を示す表示例である。
図 1 5は、 メソッド省略処理の結果を示す表示例である。
図 1 6は、 クラス移動処理の結果を示す表示例である。
図 1 7は、 矢線非表示処理の結果を示す表示例である。
図 1 8は、 シーケンス一覧表をシーケンス図に逆変換する処理の一例を説明す るフローチャートである。 図 1 9は、 クラス図とシーケンス一覧表との比較処理の一例を説明するフロー チヤ一トである。
図 2 0は、 シーケンス番号チェック処理の一例を説明するフローチャートであ る。
図 2 1は、 入り口メソッドチェック処理の一例を説明するフローチャートであ る。
図 2 2は、 パラメタチェック処理の一例を説明するフローチャートである。 発明を実施するための最良の形態
以下、 本発明の実施の形態を図面を参照して説明する。
図 1は、 本発明の動作原理を説明する原理図である。 この図において、 本発明 に係るシーケンス解析方法を実現するシーケンス解析装置 2は、 複数のシ一ゲン ス図 1 a〜l dを読み込んで解析し、 シーケンス一覧表 3を出力する。
シーケンス解析装置 2は、 クラス名取得手段 2 a、 インスタンス名取得手段 2 b、 メソッド名取得手段 2 c、 呼び出し関係取得手段 2 d、 シーケンス一覧表表 示手段 2 eによって構成されている。
ここで、 クラス名取得手段 2 aは、 プログラムを構成するクラスのクラス名を 取得する。
インスタンス名取得手段 2 bは、 各クラスから派生するインスタンスのインス タンス名を取得する。
メソッド名取得手段 2 cは、 各インスタンスに含まれているメソッドのメソッ ド名を取得する。
呼び出し関係取得手段 2 dは、 各メソッドの呼び出し関係を取得する。
シーケンス一覧表表示手段 2 eは、 クラス名取得手段 2 a、 インスタンス名取 得手段 2 b、 メソッド名取得手段 2 cによって取得された情報を表形式で一覧表 示し、 呼び出し関係取得手段 2 dによって取得した情報に基づいて、 各メソッド の呼び出し関係を表示したシーケンス一覧表を表示する。
次に、 以上の原理図の動作について説明する。
処理対象のシーケンス図として、 クラス A、 クラス B、 および、 クラスじから 構成され、 クラス Aがクラス Bのメソッド Aを呼び出し、 クラス Bがクラス Cの メソッド Bおよぴメソッド Cを呼び出す構造を有するシーケンス図 1 aおよびそ の他のシーケンス図 1 b〜l dが選択されたとする。
クラス名取得手段 2 aは、 これらのシーケンス図 1 a〜l dに含まれているク ラス名 (例えば、 クラス A〜クラス C) を取得する。
インスタンス名取得手段 2 bは、 シーケンス図 1 a〜l dに含まれているイン スタンス名 (例えば、 インスタンス A〜インスタンス B (図示せず) ) を取得す る。
メソッド名取得手段 2 cは、 シーケンス図 1 a〜l dに含まれているメソッド 名 (例えば、 メソッド A〜メソッド C) を取得する。
呼び出し関係取得手段 2 dは、 シーケンス図 1 a〜l dに含まれているメソッ ドの呼び出し関係 ( 「クラス Aがクラス Bのメソッド Aを呼び出す」 等) を取得 する。
シーケンス一覧表表示手段 2 eは、 クラス名取得手段 2 a、 インスタンス名取 得手段 2 b、 および、 メソッド名取得手段 2 cによって取得されたクラス名、 ィ ンスタンス名、 および、 メソッド名と、 呼び出し関係取得手段 2 dによって取得 された呼び出し関係に基づいてシーケンス一覧表 3を生成し、 表示出力する。 ここで、 シーケンス一覧表 3は、 シーケンス図 1 a〜l dに含まれている全て のクラスが列挙されており、 各クラスのインスタンスとメソッドとが属性として 示されている。 また、 メソッド同士の呼び出し関係は矢線によって示されている。 例えば、 クラス Bは、 メソッド A (mA) を有しており、 このメソッド Aはク ラス Aから呼び出されている。 また、 クラス Cはメソッド B (mB ) とメソッド C (m C ) とを有しており、 これらのメソッドは、 クラス Bのィンスタンス A ( i A) から呼び出されている。 なお、 この図では、 シーケンス図 l aに対応す る部分のみを示しているが、 実際にはシーケンス図 1 b〜 1 dに対応するクラス に関する内容も表示されている。
ところで、 以上のようにして表示されたシーケンス一覧表 3の表示内容は、 ク ラスを単位としての編集 (例えば、 クラスの移動、 複写、 削除) のみが許可され るので、 例えば、 クラス Bを異なる位置に移動させることは可能であるが、 クラ ス Bのメソッド Aのみを移動させることは禁止される。 従って、 目的に応じて、 表示の態様を変化させることが可能になるとともに、 クラスを単位とする変更の みを許可することにより、 操作の煩雑性 (インスタンスとメソッドを個別に移動 させる等) を解消することが可能になる。
以上に説明したように、 本発明によれば、 複数のシーケンス図から 1枚のシー ケンス一覧表を生成するようにしたので、 システム全体の一覧性を向上させるこ とが可能になる。
また、 表示内容の変更については、 クラス単位での変更のみを許可するように したので、 既述したように操作の煩雑性を解消させることが可能となる。
次に、 本発明の実施の形態の構成例について説明する。
図 2は、 本発明に係るシーケンス解析方法を実現するシーケンス解析装置の構 成例を示すブロック図である。
この図に示すように、 シーケンス解析装置 1 0は、 C PU ( Central Processing Unit) 1 0 a, ROM (Read Only Memory) 1 0 b、 RAM (Random Access Memory) 10 c、 HDD (Hard Disk Drive) 10 d、 GB (Graphics Board) 10 e、 I/F (Interface) 10 f、 および、 ノ ス 10 g によって構成されており、 その外部には表示装置 1 1と入力装置 12とが接続さ れている。
ここで、 CPU 10 aは、 HDD 10 dに格納されているプログラムに従って 装置の各部を制御するとともに、 種々の演算処理を実行する。
ROMl O bは、 CPUl O aが実行する基本的なプログラムやデータを格納 している。
RAMI 0 cは、 CPU10 aが実行の対象とするプログラムや、 演算途中の データを一時的に格納する。
HDD 10 dは、 CPU 10 aが実行する各種プログラムや、 解析対象となる シーケンス図や、 解析結果であるシーケンス一覧表のデータを格納する。
GB l O eは、 CPU10 aから供給された描画命令に従って描画された画像 データを映像信号に変換して出力する。
IZF 10 f は、 入力装置 12から供給されたデータの表現形式を、 シーゲン ス解析装置 1 0の内部形式に適合するように変換する。
表示装置 1 1は、 例えば、 C R T (Cathode Ray Tube) モニタによって構成 されており、 G B 1 0 eから出力された映像信号を表示する。
入力装置 1 2は、 例えば、 マウスやキーボード等の入力デバイスによって構成 されている。
図 3は、 図 2に示すシーケンス解析装置 1 0の HD D 1 0 dに格納されている アプリケーションプログラムが起動された場合に、 実現される機能プロックにつ いて説明する図である。
この図において、 データベース 2 0は、 HD D 1 0 dによって構成され、 処理 の対象となるシ一ケンス図やクラス図 (詳細は後述する) が格納されている。 変換部 2 1は、 C P U 1 0 aその他によって実現され、 データベース 2 0に格 納されているシーケンス図から必要な項目を取得し、 シーケンス一覧表に変換す る処理を実行する。
データベース 2 2は、 HD D 1 0 dによって構成され、 変換部 2 1によって生 成されたシーケンス一覧表を格納する。
表示処理部 2 3は、 C P U 1 0 aその他の機能によって実現され、 デ一夕べ一 ス 2 2に格納されているシーケンス一覧表に対して所定の処理を施した後、 表示 部 2 6に供給する。
逆変換部 2 4は、 データベース 2 2に格納されているシーケンス一覧表の指定 された部分を、 シーケンス図に逆変換し、 表示処理部 2 3に供給する。
チェック部 2 5は、 データベース 2 2に格納されているシーケンス一覧表の内 容に瑕疵がないか否かをチェックし、 チェック結果を表示処理部 2 3に供給する。 表示部 2 6は、 G B 1 0 eおよび表示装置 1 1によって構成されており、 表示 処理部 2 3から出力された情報を表示出力する。
入力部 2 7は、 I Z F 1 0 fおよび入力装置 1 2によって構成されており、 ュ 一ザの操作に応じた情報を表示処理部 2 3に供給する。
次に、 以上の実施の形態の動作について説明する。
いま、 図 4に示すシーケンス図 4 0〜4 3と、 図 5に示すクラス図 5 0〜5 3 がデータベース 2 0に格納されているとする。 ここで、 シーケンス図は、 クラス から派生したインスタンスに含まれているメソッドの呼び出し関係を示した図で あり、 機能毎に生成される図である。 図 4に示すシーケンス図 4 0の例では、 コ ントロ一ラクラス 4 0 a、 商品クラスの鉛筆インスタンス 4 0 b、 および、 在庫 クラスの A倉庫インスタンス 4 0 cが表示されている。 矢線によって示すように、 コントローラクラス 4 0 aは、 鉛筆インスタンス 4 0 bの受注メソッドを呼び出 している。 また、 鉛筆インスタンス 4 0 bは、 A倉庫インスタンス 4 0 cの g e t数量メソッドと、 g e t在庫メソッドとを呼び出している。 また、 鉛筆インス タンス 4 0 bは、 鉛筆ィンスタンス 4 0 b自身が有する c a 1 c数量メソッドを 呼び出している。 なお、 各メソッドの左側に表示されている数値は、 メソッドの 呼び出し関係の階層を示すものであるが、 その詳細については後述する。
図 5は、 クラスと、 クラスに含まれているメソッドとの関係を示すクラス図で ある。 この例は、 クラス図 5 0〜5 3を含んでおり、 処理の対象となるクラス図 5 0の内容が例示されている。 この例では、 コントローラクラス 5 0 a、 商品ク ラス 5 0 b、 および、 在庫クラス 5 0 cが表示されており、 商品クラス 5 O bは、 受注メソッドと c a 1 c数量メソッドとを有している。 また、 在庫クラス 5 0 c は、 g e t数量メソッドと、 g e t在庫メソッドとを有している。 本例では、 ク ラス図を複数に分けた例を説明しているが、 一枚にまとめて表示させてもよい。 このような対象データに対して解析処理を施すために、 入力装置 1 2を操作し て解析用のアプリケーションプログラムを起動すると、 C P U 1 0 aは HD D 1 0 dから該当するプログラムを読み込んで実行する。 その結果、 表示装置 1 1に は、 図 6に示すような解析用プログラムの画面 6 0が表示される。
この表示例では、 タイトル 「シーケンス解析」 の下に、 ポタン 6 1〜6 6が表 示され、 また、 その下には解析対象のデータや解析結果のデータが配置される表 示領域 6 7が表示されている。
図 7は、 図 6に示すポタン 6 1〜6 6が操作された場合に表示されるプルダウ ンメニューの一例を示す図である。 なお、 ポタン 6 6については、 プルダウンメ ニューは表示されずにコマンドが直接実行されるので、 図 7には表示していない。 図 7に示すように、 ポタン 6 1が操作されると、 解析対象となるファイルを読 み込む際に選択される読み込み 6 1 aと、 表示領域 6 7に表示されている内容を プリントァゥトする際に選択される印刷 6 1 bとがメニュー項目として表示され る。
ポタン 6 2が操作されると、 表示領域 6 7に表示されたシーケンス一覧表の所 定のクラスを移動する際に選択される移動 6 2 a、 指定されたクラスを削除する 際に選択される削除 6 2 b、 指定されたクラスを表示又は非表示とする際に選択 される表示 Z非表示 6 2 cとがメニュー項目として表示される。
ポタン 6 3が操作されると、 読み込まれたシーケンス図をシーケンス一覧表に 変換する際に選択される変換 6 3 aおよびシーケンス一覧表の一部をシーケンス 図に逆変換する際に選択される逆変換 6 3 bがメニュー項目として表示される。 ポタン 6 4が操作されると、 表示領域 6 7に表示されているシーケンス一覧表 にメソッドの呼び出し関係を示す矢線を追加表示する際に選択される矢線 6 a、 類似または同一のメソッドを集約して表示する際に選択されるメソッド集約 6 4 b、 および、 クラスの表示項目を省略または追加する際に選択される詳細 Z省略 6 4 cがメニュー項目として表示される。
ボタン 6 5が操作されると、 シーケンス一覧表とクラス図の相互の内容のチェ ックを行う際に選択される相互チェック 6 5 a、 シーケンス一覧表の各メソッド に付与されたシーケンス番号の適否をチェックする際に選択されるシーケンス番 号 6 5 b、 入り口のメソッドをチェックする際に選択される入り口 6 5 c、 およ び、 メソッドのパラメタをチェックする際に選択されるパラメタ 6 5 dがメニュ 一項目として表示される。
次に、 図 6に示す画面 6 0において、 ポタン 6 1が操作され、 メニューの項目 である読み込み 6 1 aが選択された後、 図 4に示すシーケンス図 4 0〜4 3が解 析対象として選択されたとすると、 変換部 2 1はデータベース 2 0からシーケン ス図 4 0〜4 3を読み込む。 その結果、 画面 6 0の表示領域 6 7には、 図 6に示 すようにシーケンス図 4 0〜4 3が表示される。
次に、 ポタン 6 3が操作され、 変換 6 3 aが選択されると、 変換部 2 1はシー ケンス図をシーケンス一覧表に変換する処理を実行する。 なお、 この処理の一例 を図 8を参照して説明する。 図 8に示すフローチャートが開始されると、 以下の ステップが実行される。 ステップ S 1 0 :
変換部 2 1は、 読み込み 6 1 aが選択されて指定されたシーケンス図をデータ ベース 2 0から読み込む。
ステップ S 1 1 :
変換部 2 1は、 ポタン 6 3が操作されて変換 6 3 aが選択された場合にはステ ップ S 1 2に進み、 それ以外の場合には同様の処理を繰り返す。
ステップ S 1 2 :
変換部 2 1は、 シーケンス図から 1本の矢線データを取得する。 即ち、 矢線の 接続元と接続先のクラスのデータをデータべ一ス 2 0から取得する。
ステップ S 1 3 :
変換部 2 1は、 矢線データの取得に成功した場合、 即ち、 未処理の矢線データ が存在した場合にはステップ S 1 4に進み、 それ以外の場合には処理対象となる 矢線を全て処理し終えたとして処理を終了する。
ステップ S 1 4 :
変換部 2 1は、 矢線の接続元の情報を解析する。 即ち、 変換部 2 1は、 矢線の 接続元の情報を解析し、 接続元クラス、 接続元インスタンス、 シーケンス図 I D、 インスタンス名、 生成インスタンス、 シーケンス N o . 、 メソッド名、 パラメタ、 返り値、 接続先クラス、 接続先インスタンスを取得する。
ここで、 接続元クラスおよび接続元インスタンスは、 矢線の接続元のクラスと インスタンスとを示す。 シーケンス図 I Dは、 矢線の接続元と接続先のクラスが 含まれているシーケンス図の I D (Identification) を示す。 インスタンス名は、 接続元インスタンスの名前を示し、 生成インスタンスは変換部 2 1が自動的に割 り当てた識別コードである。 シーケンス N o . は、 クラスの階層構造を反映して 各メソッドに付与されたシリアル番号である。 メソッド名はメソッドの名前を示 し、 パラメタおよび返り値は、 メソッドのパラメ夕 (引数) と返り値を示す。 接 続先クラスおよび接続先ィンスタンスは、 接続先のクラスとそのィンスタンスと を示す。
ステップ S 1 5 :
変換部 2 1は、 矢線の接続先の情報を解析する。 即ち、 変換部 2 1は、 矢線の 接続先の情報を解析し、 接続元クラス、 接続元インスタンス、 シーケンス図 I D、 インスタンス名、 生成インスタンス、 シーケンス N o . 、 メソッド名、 パラメ夕、 返り値、 接続先クラス、 接続先インスタンスを取得する。 なお、 各情報は、 前述 した場合と同様である。
ステップ S 1 6 :
シーケンス一覧表に対して、 取得した矢線の接続元および接続先の情報を書き 込む。 そして、 ステップ S 1 2に戻って同様の処理を繰り返す。
以上に示す処理の結果として生成されたシーケンス一覧表は、 図 9に示すよう に、 画面 6 0の表示領域 6 7に表示される。 この表示例では、 シーケンス一覧表 のうち、 コントローラクラス 5 0 aに関する部分のみが表示されている。 なお、 スライダ 7 0またはポタン 6 8 , 6 9を操作すると、 商品クラス 5 O bおよび在 庫クラス 5 0 cを表示領域 6 7に表示させることができる。
なお、 紙面の関係から、 全てのクラスに関するシーケンス一覧表を同時に表示 することができないので、 シーケンス一覧表の各クラスに関する部分の詳細につ いて個別に説明する。
図 1 0は、 コントローラクラス 5 0 aに関するシーケンス一覧表の一例である。 この例では、 列の項目として、 接続元クラス、 接続元インスタンス、 シーケンス 図 I D、 インスタンス名、 生成インスタンス、 シーケンス N o . 、 メソッド名、 パラメ夕、 返り値、 接続先クラス、 および、 接続先インスタンスが表示されてい る。 また、 各行には、 図 4に示すシーケンス図の各矢線に該当するデータが 1つ ずつ格納される。 例えば、 図 1 0の例では、 図 4に示すシーケンス図の受注メソ ッドに該当するデータが格納されている。 具体的には、 受注メソッドのシ一ケン ス図 I Dは、 「P a t t e n」 であり、 生成ィンスタンスは 「P a t t e n 0 1」 であり、 シーケンス番号は 「1」 であり、 メソッド名は 「受注」 であり、 接 続先クラスは 「商品」 であることが示されている。
図 1 1は、 商品クラス 5 0 bに関するシーケンス一覧表の一例である。 この例 において、 第 1行目の項目は、 図 1 0の第 1行目に示す受注メソッドに対応する 情報であり、 接続元クラスとして 「コントローラ」 が、 また、 シーケンス図 I D、 インスタンス名、 生成インスタンス、 シーケンス N o . 、 および、 メソッド名と して、 「P a t t en」 、 「鉛筆」 、 「P a t t e n 02」 、 「1」 、 および、 「受注」 がそれぞれ格納されている。
従って、 図 10および図 11の第 1行目の項目を参照することにより、 元のシ 一ケンス図の矢線の接続元と接続先に関する情報を取得することができる。
図 12は、 在庫クラス 50 cに関するシーケンス一覧表の一例である。 この例 では、 図 11に示すメソッド g e t数量と g e t在庫の接続先に関する情報が格 納されている。 具体的には、 メソッド g e t在庫に対応する情報として、 接続元 クラス、 接続元インスタンス、 シーケンス図 I D、 インスタンス名、 生成インス タンス、 シーケンス No. 、 および、 メソッド名のそれぞれについて、 「商品」 、 「鉛筆」 、 「Pa t t e n」 、 「A倉庫」 、 「P a t t e n 03」 、 「1. 1」 、 および、 「g e t数量」 が格納されている。
以上に説明したように、 本実施の形態によれば、 複数のシーケンス図から 1枚 のシーケンス一覧表を生成して表示するようにしたので、 システム全体の構造を 一瞥の下に参照することが可能になる。
また、 シーケンス図をシーケンス一覧表に変換することにより、 関係データべ ースへ格納することが可能になるので、 以下に説明するように、 関係データべ一 スの機能を活用し、 項目の検索や編集を簡易に行うことが可能になる。
図 13は、 シーケンス一覧表に含まれている所定の文字列を検索する際の手続 きについて説明する図である。 文字列を検索する場合には、 先ず、 ポタン 66を 操作し、 その結果として表示される文字列入力画面 (図示せず) から、 検索しよ うとする文字列を入力し、 検索を開始する操作を行うと、 表示処理部 23は、 入 力部 27から入力された文字列を取得し、 シーケンス一覧表に含まれている該当 する文字列を検索する。 そして、 該当する文字列が検出された場合には、 シーケ ンス一覧表の該当部分を反転表示する。 図 13は、 検索する文字列として 「受 注」 が入力された場合における検索結果を示している。 この例では、 メソッド名
「受注」 が反転表示されており、 入力された文字列に該当する項目を即座に見出 すことが可能になる。
次に、 図 14を参照し、 ポタン 64が操作された後、 メソッド集約 64 bが選 択された場合に実行される処理について説明する。 メソッド集約 6 4 bが選択されると、 表示処理部 2 3は、 シーケンス一覧表に 表示されているメソッドのうち、 同一または類似の名前を有するものが近接する ように並べ替えを行った後、 表示部 2 6に供給して表示を更新する。
その結果、 商品クラス 5 0 bに関するシーケンス一覧表は、 図 1 4に示すよう にメソッド g e t数量およびメソッド g e t在庫が連続するように並べ替えがな されることになる。 このように同一または類似するメソッドを近接して配置する ことで、 従来においては、 複数のシーケンス図に散在していた同一メソッドの呼 び出し方、 および、 使い方等の一貫性および整合性を容易にチェックすることが 可能となる。 また、 同一または類似するメソッドを近接して配置する他にも、 例 えば、 アルファベット順やあいうえお順に並べ替えることにより、 類似するメソ ッドが近接して表示されるので、 メソッド名の誤記等を簡単に見つけることが可 能になる。
次に、 図 1 5を参照し、 ポタン 6 4の詳細/省略 6 4 cが選択された場合の処 理について説明する。
詳細 Z省略 6 4 cが選択されると、 表示処理部 2 3は、 表示項目を選択するた めの画面 (図示せず) を表示部 2 6に表示させ、 表示項目の選択を受ける。 具体 的には、 接続元クラス、 接続元インスタンス、 シーケンス図 I D、 インスタンス 名、 生成インスタンス、 シーケンス N o . 、 メソッド名、 パラメ夕、 返り値、 接 続先クラス、 および、 接続先インスタンスのそれぞれについて表示の有無を入力 する画面の表示させて、 必要な項目の入力を受ける。
続いて、 表示処理部 2 3は、 シーケンス一覧表のうち、 先に指定された必要な 項目のみを選択して、 表示部 2 6に表示させる。 例えば、 必要な表示項目として、 インスタンス名とメソッド名のみが選択された場合には、 図 1 5の表示領域 6 7 に示す情報が表示される。
この例では、 各クラスのインスタンス名とメソッド名のみが表示されている。 例えば、 鉛筆インスタンスは、 在庫クラスのインスタンス A倉庫の g e t数量メ ソッドを呼び出していることが分かる。 又、 c a 1 c数量メソッドは、 商品クラ スの鉛筆インスタンスが有する c a 1 c数量自身を呼び出している。
このように、 必要項目以外を画面上から排除することにより、 シーケンス一覧 表の全体の一覧性を高めることが可能になるとともに、 検索速度を向上させるこ とが可能になる。
次に、 図 1 5に示す画面 6 0において、 ボタン 6 4が操作され、 矢線 6 4 aが 選択された場合の動作について説明する。
ポタン 6 4が操作され、 矢線 6 4 aが選択されると、 表示処理部 2 3は、 シー ケンス一覧表上に現在矢線が表示されていない場合には、 各メソッドの呼び出し 関係に応じた矢線を表示する。 また、 矢線が表示状態である場合には、 画面上か ら消去して非表示状態にする。 いまの例では、 図 1 5に示すように、 矢線は非表 示状態であるので、 表示処理部 2 3は、 矢線を表示状態にする。 その結果、 図 1 6に示すように、 矢線が表示されることになる。
このように、 矢線を必要に応じて表示または非表示の状態にすることにより、 他の情報の視認性を高めたり、 あるいは、 矢線によるメソッドの呼び出し関係の 視認性を高めたりすることを任意に選択することが可能になる。
次に、 図 1 6において、 ポタン 6 2が操作された後、 移動 6 2 aが選択された 場合に動作について説明する。
移動 6 2 aが選択されると、 任意のクラスを任意の位置に移動させることが可 能になる。 なお、 移動はクラス単位でのみ許可するものとする。 例えば、 図 1 6 において、 コントローラクラスが移動の対象として選択 (例えば、 マウスでクリ ック) された後、 このコントローラクラスを在庫クラスの右側に移動させる操作 がなされたとすると、 表示処理部 2 3は、 シーケンス一覧表上のコントローラク ラスが在庫クラスの右側に配置されるように並べ替え処理を行い、 並べ替えが終 了したデータを表示部 2 6に供給して表示させる。
その結果、 図 1 7の表示領域 6 7に示すように、 コントローラクラスが在庫ク ラスの後に表示されるとともに、 矢線の方向が適宜修正されて表示されることに なる。
このように、 クラスの位置を自由に変更することを可能としたので、 目的に応 じてクラスを再配置することにより、 メソッドの参照関係をより簡易に知ること が可能になる。
なお、 以上の例では、 クラスを移動させる場合について説明したが、 クラスを 削除したり、 表示または非表示の状態にしたり、 あるいは複写する処理を行うこ とも可能である。 例えば、 クラスを削除する場合には、 呼び出し関係を有する他 方のクラスとの関係が消滅するので、 その点を考慮して削除する。 また、 非表示 の状態にする場合も同様である。 このように、 表示されている内容に対してクラ ス単位で編集を許可することにより、 目的に応じて表示の態様を変更し、 作業性 を向上させることが可能になる。
次に、 任意のクラスが選択された後、 ポタン 6 3が操作されて逆変換 6 3 が 選択された場合に実行される処理について図 1 8を参照して説明する。 このフロ 一チヤ一トが開始されると、 以下のステツプが実行される。
ステップ S 3 0 :
逆変換部 2 4は、 表示処理部 2 3を介して入力部 2 7から取得した情報に応じ て、 指定されたクラスを特定する。 例えば、 入力部 2 7から、 複数のクラスを指 定する情報が入力された場合には、 逆変換部 2 4は指定された複数のクラスを特 定する。
ステップ S 3 1 :
逆変換部 2 4は、 指定されたクラスに含まれている、 シーケンス図における 1 本の矢線に対応するデータを取得する。 具体的には、 矢線の接続元と接続先のク ラス、 インスタンス、 および、 メソッド名等を取得する。
ステップ S 3 2 :
逆変換部 2 4は、 矢線に対応するデータの取得に成功したか否かを判定し、 取 得に成功した場合にはステップ S 3 3に進み、 それ以外の場合には処理を終了す る。
ステップ S 3 3 :
逆変換部 2 4は、 ステップ S 3 1において取得した矢線 1本に対応するデータ (接続元および接続先のデータ) から、 シーケンス図の矢線データ (ステップ S 3 1において取得したデータをクラス毎に分けて配置したデータ) を生成する。 ステップ S 3 4 :
逆変換部 2 4は、 シーケンス図の該当する部分に対して、 ステップ S 3 3で生 成した矢線データを書き込み、 ステップ S 3 1に戻って前述の場合と同様の処理 を繰り返す。
以上の処理によれば、 シーケンス一覧表上において所望のクラス群を指定し、 指定されたクラス群に対応するシーケンス図を作成することが可能になるので、 必要なクラスのみに着目したシーケンス図を簡易に作成することが可能になる。 次に、 ポタン 6 5が操作され、 相互チェック 6 5 aが選択された場合に実行さ れる処理について説明する。
ポタン 6 5が操作され、 相互チェック 6 5 aが選択されると、 チェック部 2 5 は、 図 1 9に示すフローチャートを実行する。
ステップ S 5 0 :
チェック部 2 5は、 デ一夕ベース 2 0から図 5に示すクラス図を読み込む。 ステップ S 5 1 :
チェック部 2 5は、 シーケンス一覧表の該当するクラス (ステップ S 5 0で読 み込んだクラス図に対応するクラス) に含まれているメソッドの一覧表であるメ ソッド一覧表を作成する。
ステップ S 5 2 :
チェック部 2 5は、 取得したクラスがシーケンス一覧表の最後の行であるか否 かを判定し、 最後の行である場合には処理を終了し、 それ以外の場合にはステツ プ S 5 3に進む。
ステップ S 5 3 :
チェック部 2 5は、 クラス図に含まれているメソッドと、 メソッド一覧表に含 まれているメソッドとを比較する。
ステップ S 5 4 :
チェック部 2 5は、 ステップ S 5 3の比較により、 両者が一致するか否かを判 定し、 両者が一致する場合には正常であるとしてステップ S 5 0に戻って同様の 処理を繰り返し、 それ以外の場合にはステップ S 5 5に進む。
ステップ S 5 5 :
チェック部 2 5は、 シーケンス一覧表上の該当する行全体を反転表示する。 ステップ S 5 6 :
チェック部 2 5は、 クラス図と不一致のメソッドが存在する旨を示すエラーメ ッセージを表示する。
ところで、 シーケンス図上にあるメソッドはクラス図上のクラスのメソッドと して定義されている必要があるが、 以上の処理によれば、 シーケンス図上にある メソッドがクラス図上のメソッドとして定義されているか否かを自動的に判定す ることが可能となる。
本例では、 クラス図に含まれるクラスから呼び出されるメソッドと、 シ一ケン ス図上のメソッドが一致しているかをチェックしているが、 本発明はクラス図と シーケンス図の不一致をチェックすることを目的とするものであるため、 図示し ないが、 クラス図上のクラスとシーケンス図上のクラスとの不一致をチェックす るものも本発明に含まれる。
次に、 ポタン 6 5が操作され、 シーケンス番号 6 5 bが選択された場合に実行 される処理について図 2 0を参照して説明する。 このフローチャートが開始され ると、 以下のステップが実行される。
ステップ S 7 0 :
チェック部 2 5は、 シーケンス一覧表の所定の 1行を読み込む。
ステップ S 7 1 :
チェック部 2 5は、 読み込みに成功したか否か、 即ち、 未処理の行が残ってい た場合にはステップ S 7 2に進み、 それ以外の場合には処理対象が存在しないと して処理を終了する。
ステップ S 7 2 :
チェック部 2 5は、 読み込んだ行のシーケンス番号が 1 . であるか否か、 即ち、 階層が最も上の (入り口の) メソッドであるか否かを判定する。 1 . である場合 にはステップ S 7 3に進み、 それ以外の場合にはステップ S 7 6に進む。
ステップ S 7 3 :
チェック部 2 5は、 矢線の接続元の 「接続元クラス」 と、 「接続元インスタン ス」 のカラムに格納されている情報を取得する。
ステップ S 7 4 :
チェック部 2 5は、 これら双方のカラムが空であるか否かを判定し、 空である 場合には正常であるとしてステップ S 7 0に戻って同様の処理を繰り返し、 それ 以外の場合にはステップ S 7 5に進む。
ステップ S 7 5 :
チェック部 2 5は、 シーケンス番号が 1 . であるクラスは、 通常は入り口クラ スであり、 クラスの接続元クラスと接続元ィンスタンスは空であるのに、 何らか の情報が格納されている場合にはエラ一であるとして当該行を反転するとともに、 ェラーが発生した旨を示すメッセージを表示する。
ステップ S 7 6 :
チェック部 2 5は、 1行上のシーケンス番号との関係を取得する。
ステップ S 7 7 :
チェック部 2 5は、 1行上のシーケンス番号が 1階層上のクラスのものである か否かを判定し、 1階層上のクラスのものである場合にはステップ S 7 9に進み、 それ以外の場合にはステップ S 7 8に進む。 ここで、 1階層上であるか否かは、 シーケンス番号に含まれているドット 「. 」 の数を参照して決定する。 即ち、 ド ットの数が多い程、 階層が深いシーケンスだからである。
ステップ S 7 8 :
チェック部 2 5は、 1行上の接続元クラスおよび接続元ィンスタンスと、 当該 行の接続元クラスおよび接続元ィンスタンスとが一致するか否かを判定し、 一致 する場合には同一階層のシーケンスとして正常であることから、 ステップ S 7 0 に戻って同様の処理を繰り返し、 それ以外の場合にはステップ S 8 1に進む。 ステップ S 7 9 :
チェック部 2 5は、 1行上の接続先クラスおよび接続先ィンスタンスと、 当該 行の接続元クラスおよび接続元ィンスタンスとが一致するか否かを判定する。 ステップ S 8 0 :
チェック部 2 5は、 ステップ S 7 9の双方が一致するか否かを判定し、 この双 方が一致する場合には、 1行上が 1階層上のシーケンスであり、 また、 当該行が 1階層下のシーケンスである場合に該当するとともに、 正常な状態であるとして、 ステップ S 7 0に戻って同様の処理を繰り返し、 それ以外の場合にはステップ S 8 1に進む。
ステップ S 8 1 : チェック部 2 5は、 1行上と当該行のシーケンスとが正常でないとして、 当該 行を反転するとともに、 正常でない旨を示すメッセージを表示し、 ステップ S 7 0に戻って同様の処理を繰り返す。
以上の処理によれば、 シーケンス番号の付与のしかたが正常であるか否かを自 動的にチェックすることが可能になる。
次に、 ポタン 6 5が操作され、 入り口 6 5 cが選択された場合に実行される処 理について図 2 1を参照して説明する。 このフローチャートが開始されると、 以 下の処理が実行される。
ステップ S 1 0 0 :
チェック部 2 5は、 シーケンス一覧表の所定の 1行を読み込む。
ステップ S 1 0 1 :
チェック部 2 5は、 読み込みに成功したか否か、 即ち、 未処理の行が残ってい た場合にはステップ S 1 0 2に進み、 それ以外の場合には処理対象が存在しない として処理を終了する。
ステップ S 1 0 2 :
チェック部 2 5は、 読み込んだ行のシーケンス番号が 1 . であるか否かを判定 し、 1 . である場合にはステップ S 1 0 3に進み、 それ以外の場合にはステップ S 1 0 0に戻って同様の処理を繰り返す。
ステップ S 1 0 3 :
チェック部 2 5は、 矢線の接続元の 「接続元クラス」 と、 「接続元インスタン ス」 のカラムに格納されている情報を取得する。
ステップ S 1 0 4 :
チェック部 2 5は、 これら双方のカラムが空であるか否かを判定し、 空である 場合にはステップ S 1 0 5に進み、 それ以外の場合には処理を終了する。
ステップ S 1 0 5 : - チェック部 2 5は、 シーケンス番号が 1 . であるクラスは、 通常は入り口クラ スであり、 クラスの接続元クラスと接続元インスタンスは空であるのに、 何らか の情報が格納されている場合にはエラーであるとして当該行を反転するとともに、 エラーが発生した旨を示すメッセージを表示した後、 処理を終了する。 以上の処理によれば、 入り口メソッドが正常であるか否かのチェックを行うこ とが可能になる。
次に、 ポタン 6 5が操作され、 パラメタ 6 5 dが選択された場合に実行される 処理について図 2 2を参照して説明する。 この処理は、 シーケンス一覧表に記載 されたメソッドのパラメタおよび返り値が正常であるか否かを判定する処理であ る。 このフローチャートが開始されると、 以下のステップが実行される。
ステップ S 1 2 0 :
チェック部 2 5は、 シーケンス一覧表の所定の 1行を読み込む。
ステップ S 1 2 1 :
チェック部 2 5は、 読み込みに成功したか否かを判定する。 即ち、 シーケンス 一覧表に未処理の行が存在しない場合には処理を終了し、 それ以外の場合にはス テツプ S 1 2 2に進む。
ステップ S 1 2 2 :
チェック部 2 5は、 ステップ S 1 2 0で読み込んだ所定の行の接続元のパラメ 夕と返り値とを取得する。
ステップ S 1 2 3 :
チェック部 2 5は、 ステップ S 1 2 0で読み込んだ所定の行の接続先のパラメ 夕と返り値とを取得する。
ステップ S 1 2 4 :
チェック部 2 5は、 接続元と接続先のパラメタおよび返り値の型および個数を 比較する。
ステップ S 1 2 5 :
チェック部 2 5は、 ステップ S 1 2 4の比較の結果、 両者が一致したか否かを 判定し、 一致した場合には正常であるとしてステップ S 1 2 0に戻って同様の処 理を繰り返し、 それ以外の場合にはステップ S 1 2 6に進む。
ステップ S 1 2 6 :
チェック部 2 5は、 現在の行を反転するとともに、 パラメ夕と返り値が正常で ない旨を示すメッセージを表示し、 ステップ S 1 2 0に戻って同様の処理を繰り 返す。 以上の処理によれば、 シーケンス一覧表に含まれている接続元と接続先のパラ メタが一致しない、 エラ一を有する行を自動的に検出することが可能になる。 なお、 以上の実施の形態においては、 シーケンス図からシーケンス一覧表を生 成するようにしたが、 例えば、 ソースファイルからシーケンス一覧表を生成する ことも可能である。 その場合には、 ソースファイルを各クラス毎に分解し、 各ク ラスから派生するインスタンスと、 各インスタンスに含まれているメソッドを特 定し、 メソッドの呼び出し関係を、 テキスト解析によって解析することにより得 ることができる。 そして、 そのようにして得られた情報に基づいて、 上述の場合 と同様の処理を施すことにより、 メソッド一覧表を生成することができる。
また、 以上に示したシーケンス一覧表の表示は一例であり、 このような場合の みに本発明が限定されるものではない。
最後に、 上記の処理機能は、 コンピュータによって実現することができる。 そ の場合、 シーケンス解析装置が有すべき機能の処理内容は、 コンピュータで読み 取り可能な記録媒体に記録されたプログラムに記述されており、 このプログラム をコンピュータで実行することにより、 上記処理がコンピュータで実現される。 コンピュータで読み取り可能な記録媒体としては、 磁気記録装置や半導体メモリ 等がある。 市場へ流通させる場合には、 C D— R OM(Compact Disk Read Only Memory)やフロッピ一ディスク等の可搬型記録媒体にプログラムを格納して流 通させたり、 ネットワークを介して接続されたコンピュータの記憶装置に格納し ておき、 ネットワークを通じて他のコンピュータに転送することもできる。 コン ピュー夕で実行する際には、 コンピュータ内のハードディスク装置等にプログラ ムを格納しておき、 メインメモリにロードして実行する。
以上説明したように本発明では、 オブジェクト言語で記述されたプログラムの シーケンスを解析するシーケンス解析方法において、 プログラムを構成するクラ スのクラス名を取得するクラス名取得ステップと、 各クラスから派生するインス タンスのインスタンス名を取得するインスタンス名取得ステップと、 各インスタ ンスに含まれているメソッドのメソッド名を取得するメソッド名取得ステップと、 各メソッドの呼び出し関係を取得する呼び出し関係取得ステップと、 前記クラ ス名取得ステップ、 前記インスタンス名取得ステップ、 および、 前記メソッド名 取得ステップにおいて取得された情報を表形式で一覧表示し、 前記呼び出し関係 取得ステップによって取得した情報に基づいて、 各メソッドの呼び出し関係を表 示したシーケンス一覧表を表示するシーケンス一覧表表示ステップと、 を設ける ようにしたので、 オブジェクト指向で記述されたシステムが有するシーケンスの 一覧性を向上させることが可能になる。
上記については単に本発明の原理を示すものである。 さらに、 多数の変形、 変 更が当業者にとって可能であり、 本発明は上記に示し、 説明した正確な構成およ び応用例に限定されるものではなく、 対応するすべての変形例および均等物は、 添付の請求項およびその均等物による本発明の範囲とみなされる。

Claims

請 求 の 範 囲
1 . オブジェクト言語で記述されたプログラムのシーケンスをコンピューに機 能させるプログラムを記録したコンピュータ読み取り可能な記録媒体において、 コンピュータを、
プログラムを構成するクラスのクラス名を取得するクラス名取得手段、 各クラスから派生するィンスタンスのィンスタンス名を取得するィンスタンス 名取得手段、
各インスタンスに含まれているメソッドのメソッド名を取得するメソッド名取 得手段、
各メソッドの呼び出し関係を取得する呼び出し関係取得手段、
前記クラス名取得手段、 前記インスタンス名取得手段、 および、 前記メソッド 名取得手段において取得された情報を表形式で一覧表示し、 前記呼び出し関係取 得手段によって取得した情報に基づいて、 各メソッドの呼び出し関係を表示した シーケンス一覧表を表示するシーケンス一覧表表示手段、
として機能させるプログラムを記録したコンピュータ読み取り可能な記録媒体。
2 . 前記シーケンス一覧表表示手段における表示の対象となるクラスを選択す るクラス選択手段を更に有することを特徴とする請求項 1記載の記録媒体。
3 . 前記シーケンス一覧表示手段において表示されたクラスの表示位置を任意 に移動させるクラス表示位置移動手段を更に有することを特徴とする請求項 1記 載の記録媒体。
4. 前記シーケンス一覧表示手段において表示される各クラスに関する情報の 取捨選択を行う取捨選択手段を更に有することを特徴とする請求項 1記載の記録 媒体。
5 . 前記シーケンス一覧表上において、 同一または類似のメソッドが瞵接する 領域に表示されるようにメソッドの並べ替えを実行するメソッド並べ替え手段を 更に有することを特徴とする請求項 1記載の記録媒体。
6 . 前記メソッドの呼び出し関係を、 前記シーケンス一覧表上に矢線として表 示する矢線表示手段を更に有することを特徴とする請求項 1記載の記録媒体。
7 . 前記シーケンス一覧表上から所望のクラスを指定し、 指定されたクラスの みからなるシーケンス図を生成するシーケンス図生成手段を更に有することを特 徴とする請求項 1記載の記録媒体。
8 . プログラムを構成するクラスの静的構造を表すクラス図に含まれているク ラスまたはメソッドと、 前記シーケンス一覧表に含まれているクラスまたはメソ ッドとを対比し、 一致しない場合に通知する不一致通知手段を更に有することを 特徴とする請求項 1記載の記録媒体。
9 . 各メソッドに付与されたシーケンス番号が適切であるか否かを、 クラスが 有する階層構造を利用して判定する、 シーケンス番号判定手段を更に有する請求 項 1記載の記録媒体。
1 0 . 接続元と接続先のメソッドのパラメタの型および個数が一致しているか 否かを判定するパラメタ判定手段を更に有することを特徴とする請求項 1記載の 記録媒体。
1 1 . オブジェクト言語で記述されたプログラムのシーケンスを解析するシ一 ケンス解析装置において、
プログラムを構成するクラスのクラス名を取得するクラス名取得手段と、 各クラスから派生するインスタンスのインスタンス名を取得するインスタンス 名取得手段と、
各インスタンスに含まれているメソッドのメソッド名を取得するメソッド名取 得手段と、
各メソッドの呼び出し関係を取得する呼び出し関係取得手段と、
前記クラス名取得手段、 前記インスタンス名取得手段、 および、 前記メソッド 名取得手段において取得された情報を表形式で一覧表示し、 前記呼び出し関係取 得手段によって取得した情報に基づいて、 各メソッドの呼び出し関係を表示した シーケンス一覧表を表示するシーケンス一覧表表示手段と、
を有することを特徴とするシーケンス解析装置。
1 2 . オブジェクト言語で記述されたプログラムのシーケンスを解析するシ一 ケンス解析方法において、
プログラムを構成するクラスのクラス名を取得するクラス名取得ステップと、 各クラスから派生するインスタンスのインスタンス名を取得するインスタンス 名取得ステップと、
各インスタンスに含まれているメソッドのメソッド名を取得するメソッド名取 各メソッドの呼び出し関係を取得する呼び出し関係取得
前記クラス名取得ステップ、 前記インスタンス名取得ステップ、 および、 前記 メソッド名取得ステップにおいて取得された情報を表形式で一覧表示し、 前記呼 び出し関係取得ステップによって取得した情報に基づいて、 各メソッドの呼び出 し関係を表示したシーケンス一覧表を表示するシーケンス一覧表表示ステップと、 を有することを特徴とするシーケンス解析方法。
PCT/JP2000/008733 2000-12-08 2000-12-08 Sequence analysis method and sequence analysis apparatus Ceased WO2002046921A1 (en)

Priority Applications (7)

Application Number Priority Date Filing Date Title
CA2436609A CA2436609C (en) 2000-12-08 2000-12-08 Sequence analysis method and apparatus
EP00980029A EP1341081A4 (en) 2000-12-08 2000-12-08 METHOD AND DEVICE FOR SEQUENCE ANALYSIS
AU2001217357A AU2001217357B2 (en) 2000-12-08 2000-12-08 Sequence analysis method and sequence analysis apparatus
AU1735701A AU1735701A (en) 2000-12-08 2000-12-08 Sequence analysis method and sequence analysis apparatus
JP2002548582A JP4588295B2 (ja) 2000-12-08 2000-12-08 シーケンス解析方法およびシーケンス解析装置
PCT/JP2000/008733 WO2002046921A1 (en) 2000-12-08 2000-12-08 Sequence analysis method and sequence analysis apparatus
US10/455,445 US7062751B2 (en) 2000-12-08 2003-06-06 Sequence analysis method and apparatus

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2000/008733 WO2002046921A1 (en) 2000-12-08 2000-12-08 Sequence analysis method and sequence analysis apparatus

Related Child Applications (1)

Application Number Title Priority Date Filing Date
US10/455,445 Continuation US7062751B2 (en) 2000-12-08 2003-06-06 Sequence analysis method and apparatus

Publications (1)

Publication Number Publication Date
WO2002046921A1 true WO2002046921A1 (en) 2002-06-13

Family

ID=11736781

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2000/008733 Ceased WO2002046921A1 (en) 2000-12-08 2000-12-08 Sequence analysis method and sequence analysis apparatus

Country Status (6)

Country Link
US (1) US7062751B2 (ja)
EP (1) EP1341081A4 (ja)
JP (1) JP4588295B2 (ja)
AU (2) AU1735701A (ja)
CA (1) CA2436609C (ja)
WO (1) WO2002046921A1 (ja)

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2005106650A1 (ja) * 2004-04-28 2005-11-10 Fujitsu Limited ソースコード作成支援プログラムおよびソースコード作成支援方法
US7062751B2 (en) 2000-12-08 2006-06-13 Fujitsu Limited Sequence analysis method and apparatus
JP2007241426A (ja) * 2006-03-06 2007-09-20 Hitachi Software Eng Co Ltd アプリケーションの障害原因の特定作業支援システム
JP2007304980A (ja) * 2006-05-12 2007-11-22 Sharp Corp 設計検証装置、設計検証プログラム、および設計検証プログラムを記録する記録媒体
JP2008123254A (ja) * 2006-11-13 2008-05-29 Nippon Shoken Technology Kk Java言語プログラムを用いた大規模業務系の影響分析ツール
JP2008197975A (ja) * 2007-02-14 2008-08-28 Nippon Telegr & Teleph Corp <Ntt> ソフトウェア仕様書/設計書の不整合検出装置、そのプログラム及び方法
JP2008269271A (ja) * 2007-04-20 2008-11-06 Meidensha Corp ソフトウェア開発支援システム、開発支援方法およびプログラム
JP5403362B2 (ja) * 2007-08-02 2014-01-29 日本電気株式会社 パターン検査システム、パターン検査装置、方法およびパターン検査用プログラム
WO2022123763A1 (ja) * 2020-12-11 2022-06-16 日本電信電話株式会社 コールグラフ作成装置、コールグラフ作成方法及びプログラム

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7219104B2 (en) * 2002-04-29 2007-05-15 Sap Aktiengesellschaft Data cleansing
US8132124B2 (en) * 2003-03-13 2012-03-06 Hewlett-Packard Development Company, L.P. Method and system for representing Web service activity through a user interface
US20040243685A1 (en) * 2003-05-30 2004-12-02 Sabiers Mark L. Method and apparatus for representing Web service activity
US20040243944A1 (en) * 2003-05-30 2004-12-02 Sabiers Mark L. Graphical user interface for viewing interactions between web service objects
US7506320B2 (en) * 2004-09-09 2009-03-17 International Business Machines Corporation Generating sequence diagrams using call trees
US20060206879A1 (en) * 2005-03-10 2006-09-14 Harold Batteram Java program method invocation display
JP4260128B2 (ja) * 2005-03-17 2009-04-30 富士通株式会社 業務スキル推定プログラム
US9626161B2 (en) * 2006-12-12 2017-04-18 Ca, Inc. Computer readable medium and methods for filtering a dynamic comparison model
US9069559B2 (en) 2010-06-30 2015-06-30 International Business Machines Corporation Modularizing steps within a UML user model interaction pattern
CN103116622B (zh) * 2013-01-30 2016-03-09 深圳联友科技有限公司 一种用于Ibatis方案的序列值生成方法及装置
JP6684233B2 (ja) * 2017-01-12 2020-04-22 株式会社日立製作所 テスト入力情報検索装置及び方法
WO2022208692A1 (ja) * 2021-03-30 2022-10-06 日本電信電話株式会社 表示用データ生成装置、表示用データ生成方法、及び表示用データ生成プログラム
JP7633570B2 (ja) * 2021-12-01 2025-02-20 富士通株式会社 情報処理装置、立案方法、および立案プログラム

Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5957326A (ja) * 1982-09-27 1984-04-02 Toshiba Corp 文書編集装置
JPS63206866A (ja) * 1987-02-24 1988-08-26 Fujitsu Ltd 分類キ−を備えた表デ−タ処理装置
JPH0689282A (ja) * 1992-09-07 1994-03-29 Just Syst Corp 特定データ位置補正表示方法
JPH06324853A (ja) * 1993-05-14 1994-11-25 Mitsubishi Electric Corp オブジェクト指向プログラミング言語を対象とした原始プログラム編集装置
JPH06348499A (ja) * 1993-04-14 1994-12-22 Toshiba Corp オブジェクト指向プログラミング支援装置及びオブジェクト指向プログラミング支援方法
JPH09147040A (ja) * 1995-11-28 1997-06-06 Fujitsu Ltd マクロプログラム管理装置
JPH10254728A (ja) * 1997-03-06 1998-09-25 Mitsubishi Electric Corp デバッグシステム
JPH1153217A (ja) * 1997-07-31 1999-02-26 Hitachi Ltd 分散オブジェクトの管理システム
JPH1185492A (ja) * 1997-09-05 1999-03-30 Mitsubishi Electric Corp オブジェクト指向データモデル作成支援装置
JP2000132387A (ja) * 1998-10-22 2000-05-12 Fujitsu Ltd オブジェクト指向プログラム作成支援装置

Family Cites Families (28)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH077409B2 (ja) 1985-02-20 1995-01-30 株式会社東芝 文書処理装置
JPH0291736A (ja) 1988-09-29 1990-03-30 Toshiba Corp 並列オブジェクト指向型システムのデバック方式
JPH0440566A (ja) 1990-06-06 1992-02-10 Fujitsu Ltd 構成設計支援装置
JPH0444176A (ja) 1990-06-11 1992-02-13 Mitsubishi Electric Corp ソフトウエア開発支援ツール
JP3002011B2 (ja) 1991-04-26 2000-01-24 日本電気ホームエレクトロニクス株式会社 表デ−タの表示方式
JPH06274335A (ja) 1993-01-22 1994-09-30 Matsushita Electric Works Ltd オブジェクト指向システム設計支援装置
JPH07319676A (ja) 1994-05-20 1995-12-08 Hitachi Ltd メッセージフロー図生成方式
JP3310116B2 (ja) * 1994-08-31 2002-07-29 株式会社東芝 知識ベースシステム
US5659735A (en) * 1994-12-09 1997-08-19 Object Technology Licensing Corp. Object-oriented system for program version and history database management system for various program components
JPH08314836A (ja) * 1995-05-19 1996-11-29 Hitachi Ltd 管理サービスオブジェクト提供方法
US6272672B1 (en) * 1995-09-06 2001-08-07 Melvin E. Conway Dataflow processing with events
US6275976B1 (en) * 1996-03-15 2001-08-14 Joseph M. Scandura Automated method for building and maintaining software including methods for verifying that systems are internally consistent and correct relative to their specifications
US6091895A (en) * 1996-03-27 2000-07-18 International Business Machines Corporation Object oriented central maintenance for programs and scripts
US6113649A (en) * 1996-03-27 2000-09-05 International Business Machines Corporation Object representation of program and script components
JPH1011275A (ja) 1996-06-20 1998-01-16 Fuji Electric Co Ltd オブジェクト指向開発における分析/設計支援方法
US6219826B1 (en) * 1996-08-01 2001-04-17 International Business Machines Corporation Visualizing execution patterns in object-oriented programs
EP1019807B1 (en) * 1997-02-27 2017-04-05 Siebel Systems, Inc. Method of migrating to a successive level of a software distribution incorporating local modifications
JP2001513926A (ja) * 1997-02-28 2001-09-04 シーベル システムズ,インコーポレイティド 複数レベルのリモート・クライアントを持つ部分的複製分散データベース
US5956725A (en) * 1997-11-26 1999-09-21 Interanational Business Machines Corporation Schema mapping to a legacy table with primary and foreign key support
US6134559A (en) * 1998-04-27 2000-10-17 Oracle Corporation Uniform object model having methods and additional features for integrating objects defined by different foreign object type systems into a single type system
JP3323130B2 (ja) 1998-05-27 2002-09-09 富士通株式会社 設計情報解析装置および記録媒体
GB2340008A (en) * 1998-07-24 2000-02-09 Ibm Method and tool for generating and displayin a descriptive annotation of selec ted application data
JP2000284988A (ja) 1999-03-31 2000-10-13 Toshiba Corp オブジェクト指向システム解析装置及び方法並びにオブジェクト指向システム解析用ソフトウェアを記録した記録媒体
JP2000298600A (ja) 1999-04-14 2000-10-24 Denso Corp ソフトウェア結合検査装置
US6785882B1 (en) * 1999-05-24 2004-08-31 Unisys Corporation Process-driven tool interface for an object management system
US7072934B2 (en) * 2000-01-14 2006-07-04 Saba Software, Inc. Method and apparatus for a business applications server management system platform
US6591274B1 (en) * 2000-05-31 2003-07-08 Sprint Communications Company, L.P. Computer software framework and method for accessing data from one or more datastores for use by one or more computing applications
WO2002046921A1 (en) 2000-12-08 2002-06-13 Fujitsu Limited Sequence analysis method and sequence analysis apparatus

Patent Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5957326A (ja) * 1982-09-27 1984-04-02 Toshiba Corp 文書編集装置
JPS63206866A (ja) * 1987-02-24 1988-08-26 Fujitsu Ltd 分類キ−を備えた表デ−タ処理装置
JPH0689282A (ja) * 1992-09-07 1994-03-29 Just Syst Corp 特定データ位置補正表示方法
JPH06348499A (ja) * 1993-04-14 1994-12-22 Toshiba Corp オブジェクト指向プログラミング支援装置及びオブジェクト指向プログラミング支援方法
JPH06324853A (ja) * 1993-05-14 1994-11-25 Mitsubishi Electric Corp オブジェクト指向プログラミング言語を対象とした原始プログラム編集装置
JPH09147040A (ja) * 1995-11-28 1997-06-06 Fujitsu Ltd マクロプログラム管理装置
JPH10254728A (ja) * 1997-03-06 1998-09-25 Mitsubishi Electric Corp デバッグシステム
JPH1153217A (ja) * 1997-07-31 1999-02-26 Hitachi Ltd 分散オブジェクトの管理システム
JPH1185492A (ja) * 1997-09-05 1999-03-30 Mitsubishi Electric Corp オブジェクト指向データモデル作成支援装置
JP2000132387A (ja) * 1998-10-22 2000-05-12 Fujitsu Ltd オブジェクト指向プログラム作成支援装置

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
See also references of EP1341081A4 *

Cited By (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7062751B2 (en) 2000-12-08 2006-06-13 Fujitsu Limited Sequence analysis method and apparatus
WO2005106650A1 (ja) * 2004-04-28 2005-11-10 Fujitsu Limited ソースコード作成支援プログラムおよびソースコード作成支援方法
AU2004319192B2 (en) * 2004-04-28 2008-07-31 Fujitsu Limited Source code generation support program and source code generation support method
US7930679B2 (en) 2004-04-28 2011-04-19 Fujitsu Limited Source-code-generation supporting method and computer product
JP2007241426A (ja) * 2006-03-06 2007-09-20 Hitachi Software Eng Co Ltd アプリケーションの障害原因の特定作業支援システム
JP2007304980A (ja) * 2006-05-12 2007-11-22 Sharp Corp 設計検証装置、設計検証プログラム、および設計検証プログラムを記録する記録媒体
JP2008123254A (ja) * 2006-11-13 2008-05-29 Nippon Shoken Technology Kk Java言語プログラムを用いた大規模業務系の影響分析ツール
JP2008197975A (ja) * 2007-02-14 2008-08-28 Nippon Telegr & Teleph Corp <Ntt> ソフトウェア仕様書/設計書の不整合検出装置、そのプログラム及び方法
JP2008269271A (ja) * 2007-04-20 2008-11-06 Meidensha Corp ソフトウェア開発支援システム、開発支援方法およびプログラム
JP5403362B2 (ja) * 2007-08-02 2014-01-29 日本電気株式会社 パターン検査システム、パターン検査装置、方法およびパターン検査用プログラム
WO2022123763A1 (ja) * 2020-12-11 2022-06-16 日本電信電話株式会社 コールグラフ作成装置、コールグラフ作成方法及びプログラム
JP7513116B2 (ja) 2020-12-11 2024-07-09 日本電信電話株式会社 コールグラフ作成装置、コールグラフ作成方法及びプログラム

Also Published As

Publication number Publication date
US7062751B2 (en) 2006-06-13
EP1341081A4 (en) 2005-12-07
CA2436609A1 (en) 2002-06-13
JP4588295B2 (ja) 2010-11-24
JPWO2002046921A1 (ja) 2004-04-08
AU2001217357B2 (en) 2008-05-15
US20030212984A1 (en) 2003-11-13
EP1341081A1 (en) 2003-09-03
AU1735701A (en) 2002-06-18
CA2436609C (en) 2011-10-25

Similar Documents

Publication Publication Date Title
WO2002046921A1 (en) Sequence analysis method and sequence analysis apparatus
US6216138B1 (en) Computer interface system for automatically generating graphical representations of computer operations linked together according to functional relationships
US7698634B2 (en) System and method for data manipulation
US7334196B2 (en) User interface display navigation and item selection system
US7840895B2 (en) System and method for data manipulation
JP2004086868A (ja) 文書群管理装置
US20080288462A1 (en) Database system and display method on information terminal
US6999966B2 (en) Content management system and methodology for implementing a complex object using nested/recursive structures
JP3797821B2 (ja) オントロジー構築支援装置
US20080140608A1 (en) Information Managing Apparatus, Method, and Program
JP2007264768A (ja) システム開発支援プログラム、システム開発支援装置およびシステム開発支援方法
JP2010015458A (ja) プログラム修正支援システム、プログラム修正支援方法、およびプログラム修正支援プログラム
JP4180099B2 (ja) シーケンス解析プログラムを記録した記録媒体、シーケンス解析装置およびシーケンス解析方法
US20070156746A1 (en) Information management system and method
JPH05313969A (ja) ファイル一覧表示方法
JPH04211865A (ja) 定型文書作成支援方法
JP3471389B2 (ja) マルチメディアファイリングシステム
JP2001134424A (ja) システムパラメタ作成方法、システムパラメタ作成装置、システムパラメタ作成プログラムを記録したコンピュータ読み取り可能な記録媒体及びシステムパラメタ作成データを格納したコンピュータ読み取り可能な記録媒体
JP2002245065A (ja) 文書処理装置、文書処理方法、プログラムおよび記録媒体
JP3659595B2 (ja) 構造化文書の文書部品管理装置
US20070100895A1 (en) Data maintenance apparatus, data maintenance method, and data maintenance system
JPH03127271A (ja) 設計支援装置
JPH04318672A (ja) 情報検索装置
JP2002304403A (ja) データベース管理方法およびシステム並びにその処理プログラムおよびその処理プログラムを格納した記録媒体
JPH10260822A (ja) オブジェクト指向ソフトウェア文書編集管理支援装置

Legal Events

Date Code Title Description
AK Designated states

Kind code of ref document: A1

Designated state(s): AU CA JP US

AL Designated countries for regional patents

Kind code of ref document: A1

Designated state(s): AT BE CH CY DE DK ES FI FR GB GR IE IT LU MC NL PT SE TR

DFPE Request for preliminary examination filed prior to expiration of 19th month from priority date (pct application filed before 20040101)
121 Ep: the epo has been informed by wipo that ep was designated in this application
WWE Wipo information: entry into national phase

Ref document number: 2000980029

Country of ref document: EP

WWE Wipo information: entry into national phase

Ref document number: 2436609

Country of ref document: CA

WWE Wipo information: entry into national phase

Ref document number: 10455445

Country of ref document: US

WWE Wipo information: entry into national phase

Ref document number: 2001217357

Country of ref document: AU

WWP Wipo information: published in national office

Ref document number: 2000980029

Country of ref document: EP