JP2006201924A - Method of converting sequence diagram in software to tree structure for analysis and its computer program - Google Patents

Method of converting sequence diagram in software to tree structure for analysis and its computer program Download PDF

Info

Publication number
JP2006201924A
JP2006201924A JP2005011403A JP2005011403A JP2006201924A JP 2006201924 A JP2006201924 A JP 2006201924A JP 2005011403 A JP2005011403 A JP 2005011403A JP 2005011403 A JP2005011403 A JP 2005011403A JP 2006201924 A JP2006201924 A JP 2006201924A
Authority
JP
Japan
Prior art keywords
sequence
activity
executed
task
defining
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.)
Pending
Application number
JP2005011403A
Other languages
Japanese (ja)
Inventor
Shingo Horiuchi
信吾 堀内
Takashi Inoue
貴司 井上
Yasumi Matsuyuki
康巳 松雪
Tetsuya Yamamura
哲哉 山村
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.)
Nippon Telegraph and Telephone Corp
Original Assignee
Nippon Telegraph and Telephone Corp
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 Nippon Telegraph and Telephone Corp filed Critical Nippon Telegraph and Telephone Corp
Priority to JP2005011403A priority Critical patent/JP2006201924A/en
Publication of JP2006201924A publication Critical patent/JP2006201924A/en
Pending legal-status Critical Current

Links

Images

Landscapes

  • Stored Programmes (AREA)

Abstract

<P>PROBLEM TO BE SOLVED: To provide a method of converting sequence diagram in software to a tree structure for analysis that can precisely formalize behavior of software by removing ambiguity. <P>SOLUTION: An activity being a verb and its object included in each sequence are extracted from a diagram representing a sequence included in software specifications. A verb representing a function being a title of a diagram representing the sequence is defined as the most significant activity. Even about the sequence caused by the sequence, the activity is defined by a similar procedure. The hierarchical relationship of the activity is expressed by the tree structure, and also the object is defined as the input and output of each activity. The output of the last activity is defined as the object included in the title of the diagram representing the sequence, thereby being converted into the tree structure to analyze the structure of sequence. <P>COPYRIGHT: (C)2006,JPO&NCIPI

Description

ソフトウェア開発の分野において、開発期間の短縮やソフトウエアの品質向上を実現するために、開発工程において設計書に記述されるモデルを解析するためのソフトウェアにおけるシーケンス図の解析用ツリー構造への変換方法及びそのコンピュータプログラムに関する。   In the field of software development, in order to shorten the development period and improve software quality, a method for converting the sequence diagram into the analysis tree structure in the software for analyzing the model described in the design document in the development process And its computer program.

従来、ソフトウェアシステムを解析するために、テキストのみからなるソフトウェアシステムの振る舞いに関するドキュメントから、振る舞いを構成する処理の構造を明確化する手法が知られている。ここでのテキストは、図6に示すような主部(11)とタスクアクテイビティ(動詞)(12)からなる処理(10-1〜10-n(nは自然数))が時系列的に並べられているものである。また、図7のように、ソフトウェアシステムの振る舞いを表現するタスクに対して、順序付の階層関係でタスクアクティビティa〜gの構成を明らかにしたものを解析用ツリー構造とする手法の知られている。この解析用ツリーの構築手法は、AFM(Activity-First Method)と呼ばれる手法で下記の非特許文献1に開示されている。   2. Description of the Related Art Conventionally, in order to analyze a software system, a method for clarifying the structure of processing that constitutes a behavior from a document related to the behavior of the software system consisting only of text is known. In this text, the processing (10-1 to 10-n (n is a natural number)) consisting of the main part (11) and task activity (verb) (12) as shown in FIG. It is what has been. Further, as shown in FIG. 7, a method is known in which an analysis tree structure is formed by clarifying the structure of task activities a to g in an ordered hierarchical relationship with respect to a task that expresses the behavior of a software system. Yes. This analysis tree construction method is disclosed in Non-Patent Document 1 below by a method called AFM (Activity-First Method).

この方法は、テキストからなるドキュメントから、問題解決のための対処と処理を含む文であるタスクユニットを抽出すると共に、タスクユニット内に含まれている動詞であるタスクアクティビティa〜gの目的語A〜Eを定義し、タスクアクティビティa〜gの流れから、タスクを解析用ツリーで構造化する方法である。
石川誠一、久保成毅、古崎晃司、束村徳信、溝ロ理一郎、"タスク・ドメインロールに基づくオントロジー構築ガイドシステムの設計と開発'',人工知能学会論文誌,Vol17,No.5,pp.585-597,2002.
This method extracts a task unit, which is a sentence including a countermeasure and processing for solving a problem, from a text document, and at the same time, the object A of the task activities a to g included in the task unit. ~ E is defined, and a task is structured by an analysis tree from the flow of task activities a to g.
Seiichi Ishikawa, Narumi Kubo, Junji Furusaki, Toshinori Tsukamura, Riichiro Mizoro, "Design and Development of Ontology Construction Guide System Based on Task Domain Role", Journal of the Japanese Society for Artificial Intelligence, Vol17, No.5, pp .585-597, 2002.

ソフトウェア開発における要求を、語彙の曖昧性を排除して、体系的に表現することは極めて困難である。この結果ソフトウェアの設計書には曖昧性が含まれ、設計者が要求を誤解することにより、設計のやり直しなどが発生している。   It is extremely difficult to systematically express the requirements in software development, eliminating the ambiguity of the vocabulary. As a result, ambiguity is included in the software design document, and redesigning has occurred due to the designer misunderstanding the requirements.

また、従来の概念体系構築技術では、設計書に現れる語彙の揺らぎをなくすことができるが、振る舞いを構成する処理の構成を一意的に表現できておらず、処理の構成を機械的に決定することができていなかった。   In addition, the conventional concept system construction technology can eliminate the fluctuation of the vocabulary that appears in the design document, but the processing configuration that constitutes the behavior cannot be uniquely expressed, and the processing configuration is determined mechanically. I couldn't do it.

さらに、従来の技術では、ドキュメントから、問題解決の処理手順の構造を解析するためのツリー構造を構築する際に、構築作業を行う担当者の主観に依存し、機械的に構造を決定することができなかった。   Furthermore, in the conventional technology, when constructing a tree structure for analyzing the structure of a problem solving processing procedure from a document, the structure is mechanically determined depending on the subjectivity of the person in charge of the construction work. I could not.

本発明は、上記の問題点に鑑みてなされたものであり、その目的とするところは、曖昧性を排除して、ソフトウェアシステムの振る舞いを正確に形式化することができるソフトウェアにおけるシーケンス図の解析用ツリー構造への変換方法及びそのコンピュータプログラムを提供することである。   The present invention has been made in view of the above problems, and its purpose is to analyze sequence diagrams in software capable of accurately formalizing the behavior of a software system by eliminating ambiguity. And a computer program for the same.

本発明は、上記の目的を達成するために、コンピュータ装置によって、ソフトウェア設計書に含まれる2以上の実行者のそれぞれによって実行されるシーケンスを表すダイアグラムを、シーケンスの構造を解析するためのツリー構造ヘ変換する際に、前記コンピュータ装置は、以下のステップを含むコンピュータプログラムによって動作し、前記シーケンスを表すダイアグラムから各シーケンスに含まれる動詞であるアクティビティとその目的語を抽出するステップと、前記シーケンスを表すダイアグラムのタイトルである機能を表す動詞を最上位のアクティビティとして定義するステップと、前記シーケンスを表すダイアグラムにおいて最初に実行されるシーケンス及び該シーケンスを実行した実行者によって実行されるシーケンスに含まれるアクティビティを最上位のアクティビティの1階層下位のアクティピティとして定義し、最上位のアクティビティの下位のアクティビティをシーケンスの順序ごとに定義するステップと、上記のステップにおけるシーケンスにより引き起こされるシーケンスを実行した他の実行者によって実行されるシーケンスについても上記と同様の手順でさらに下位のアクティビティをシーケンスの順序ごとに定義する処理を繰り返すステップと、シーケンスと該シーケンスに対応する応答シーケンスの間に他のシーケンスが存在しない場合に、該シーケンスを引き起こす元となったシーケンスから、該応答シーケンスによって引き起こされるシーケンスまでの全てのシーケンスに含まれるアクティビティを最下位のアクティビティとしてシーケンスの順序ごとに重複しないように定義するステップと、各シーケンスに定義されたアクティビティの入力として該アクティビティの目的語を定義すると共に、シーケンスに定義されるアクティビティの入力としての目的語を該シーケンスを引き起こすシーケンスに定義されたアクティビティの出力として定義し、前記ダイアグラムのタイトルに含まれる目的語を最後のシーケンスに定義された最後のアクティビティの出力として定義するステップと、前記定義したアクティビティの上下関係と目的語をツリー構造で表現するステップとを実行する。   In order to achieve the above object, the present invention provides a tree structure for analyzing a structure of a sequence representing a sequence executed by each of two or more performers included in a software design document by a computer device. In the conversion, the computer device is operated by a computer program including the following steps to extract an activity that is a verb included in each sequence and its object from a diagram representing the sequence, and the sequence: A step of defining a verb representing a function that is a title of the diagram to be represented as a top-level activity, a sequence executed first in the diagram representing the sequence, and a sequence executed by a person who executed the sequence The activity that is defined as an activity that is one level below the top-level activity, the activity that is below the top-level activity is defined for each sequence order, and the sequence caused by the sequence in the above step is executed For the sequence executed by the performer of the above, another step is repeated between the sequence and the response sequence corresponding to the sequence, and the step of repeating the process of defining lower-level activities for each sequence order in the same procedure as above. If none exists, the activity included in all sequences from the sequence that caused the sequence to the sequence caused by the response sequence is the lowest activity sequence. A step for defining each sequence so that there is no duplication, and a sequence for defining the object of the activity as an input of the activity defined in each sequence and causing the object as an input of the activity defined in the sequence to cause the sequence Defining the output of the activity defined in the above, defining the object included in the title of the diagram as the output of the last activity defined in the last sequence, and the hierarchical relationship and object of the defined activity Steps represented by a tree structure are executed.

本発明によれば、ソフトウェア設計書に含まれる2以上の実行者のそれぞれによって実行されるシーケンスを表すダイアグラムから各シーケンスに含まれる動詞であるアクティビティとその目的語が抽出され、シーケンスを表すダイアグラムのタイトルである機能を表す動詞が最上位のアクティビティとして定義される。   According to the present invention, an activity which is a verb included in each sequence and its object are extracted from a diagram representing a sequence executed by each of two or more performers included in the software design document, and the diagram representing the sequence is extracted. A verb representing the title function is defined as the top activity.

さらに、シーケンスを表すダイアグラムにおいて最初に実行されるシーケンス及び該シーケンスを実行した実行者によって実行されるシーケンスに含まれるアクティビティが最上位のアクティビティの1階層下位のアクティピティとして定義され、最上位のアクティビティの下位のアクティビティがシーケンスの順序ごとに定義される。   Furthermore, the sequence executed first in the diagram representing the sequence and the activities included in the sequence executed by the performer who executed the sequence are defined as activities one level lower than the highest activity, and the highest activity Are defined for each sequence order.

また、上記のステップにおけるシーケンスにより引き起こされるシーケンスを実行した他の実行者によって実行されるシーケンスについても上記と同様の手順でさらに下位のアクティビティをシーケンスの順序ごとに定義する処理が繰り返される。   In addition, with respect to sequences executed by other performers who have executed the sequences caused by the sequences in the above steps, the process of defining lower activities for each sequence order is repeated in the same procedure as described above.

また、シーケンスと該シーケンスに対応する応答シーケンスの間に他のシーケンスが存在しない場合に、該シーケンスを引き起こす元となったシーケンスから、該応答シーケンスによって引き起こされるシーケンスまでの全てのシーケンスに含まれるアクティビティが最下位のアクティビティとしてシーケンスの順序ごとに重複しないように定義される。   In addition, when there is no other sequence between the sequence and the response sequence corresponding to the sequence, the activities included in all sequences from the sequence that caused the sequence to the sequence caused by the response sequence Is defined as the lowest activity so that there is no duplication in each sequence order.

さらに、各シーケンスに定義されたアクティビティの入力として該アクティビティの目的語が定義されると共に、シーケンスに定義されるアクティビティの入力としての目的語が該シーケンスを引き起こすシーケンスに定義されたアクティビティの出力として定義され、前記ダイアグラムのタイトルに含まれる目的語が最後のシーケンスに定義された最後のアクティビティの出力として定義され、定義したアクティビティの上下関係と目的語がツリー構造で表現される。   Furthermore, the object of the activity is defined as the input of the activity defined in each sequence, and the object as the input of the activity defined in the sequence is defined as the output of the activity defined in the sequence causing the sequence The object included in the title of the diagram is defined as the output of the last activity defined in the last sequence, and the hierarchical relationship and objects of the defined activity are expressed in a tree structure.

上記のように本発明によれば、ソフトウェアの振る舞いを表現する2以上の実行者のそれぞれによって実行されるシーケンスを表すダイアグラムを理解しやすい解析用ツリー構造に変換する際に、解析用ツリーを構成するタスクアクティビティの構造を機械的に決定することができる。   As described above, according to the present invention, an analysis tree is formed when converting a diagram representing a sequence executed by each of two or more executors expressing the behavior of software into an easy-to-understand analysis tree structure. The structure of the task activity to be performed can be determined mechanically.

このため、ソフトウェアの設計書に含まれている語彙の曖昧性を排除してソフトウェア開発における要求を体系的に表現することができるので、設計のやり直しなどが発生を防止することができる。   For this reason, since the vocabulary ambiguity included in the software design document can be eliminated and the requirements in software development can be systematically expressed, it is possible to prevent the re-design and the like from occurring.

また、設計書に現れる語彙の揺らぎをなくすことができると共に、ソフトウェアの振る舞いを構成する処理の構成を一意的に表現することができ、処理手順の構造を解析するためのツリー構造として構築する際に機械的に決定することができる。   In addition, the fluctuation of the vocabulary that appears in the design document can be eliminated, the configuration of the processing that constitutes the behavior of the software can be uniquely expressed, and when constructing as a tree structure for analyzing the structure of the processing procedure Can be determined mechanically.

以下、図面を参照して本発明の一実施形態を説明する。   Hereinafter, an embodiment of the present invention will be described with reference to the drawings.

本実施形態は、テキストによるドキュメントからソフトウェアシステムの振る舞いに関する解析用ツリー構造を構築するのではなく、ソフトウェアシステムの振る舞いに関してより詳細な処理が記されているシーケンスを表すダイアグラムから解析用ツリー構造を構築する。その際に、本発明のコンピュータプログラムによって動作するコンピュータ装置を用い、図1に示すようなシーケンスを表すダイアグラムの構造を入力し、これを、図2に示すような解析用ツリーの構造に変換して表示する。尚、コンピュータ装置に入力されるシーケンスを表すダイアグラムは、例えば周知のXML(Extensible Markup Language)を用いて形式的に表現されているものである。   This embodiment does not construct an analysis tree structure related to the behavior of the software system from a text document, but constructs an analysis tree structure from a diagram representing a sequence in which more detailed processing is described regarding the behavior of the software system. To do. At that time, using a computer device operated by the computer program of the present invention, a diagram structure representing a sequence as shown in FIG. 1 is input, and this is converted into an analysis tree structure as shown in FIG. To display. Note that the diagram representing the sequence input to the computer device is expressed formally using, for example, the well-known XML (Extensible Markup Language).

上記のように構造化する際に、複数の処理手順に含まれる動詞をグループ化して階層をどのように形成するかを決定するために、次のような手順でシーケンスを表現するダイアグラムの機能構成として形式化した後、解析用ツリーの構造に変換して表現する。   When structuring as described above, in order to determine how to form a hierarchy by grouping verbs contained in multiple processing procedures, the functional configuration of the diagram that represents the sequence in the following procedure Is converted into a structure of an analysis tree and expressed.

例えば、図1に示すシーケンスを表すダイアグラムでは、「タイトル」(100)が設定され、処理実行者が3名存在し、各処理実行者間でタスクユニットが実行されることが表されている。   For example, in the diagram representing the sequence shown in FIG. 1, “Title” (100) is set, there are three process performers, and a task unit is executed between the process performers.

即ち、図1に示すシーケンスを表すダイアグラムによれば、処理実行者1から処理実行者2に対してタスクユニットAが実行された後(101)、処理実行者2から処理実行者3に対してタスクユニットBが実行される(102)。   That is, according to the diagram showing the sequence shown in FIG. 1, after the task unit A is executed from the process executor 1 to the process executor 2 (101), from the process executor 2 to the process executor 3 Task unit B is executed (102).

次いで、処理実行者3から処理実行者2に対してタスクユニットCが実行され(103)、処理実行者2から処理実行者3に対してタスクユニットDが実行され(104)、処理実行者3から処理実行者2に対してタスクユニットEが実行される(105)。   Next, task unit C is executed from process executor 3 to process executor 2 (103), and task unit D is executed from process executor 2 to process executor 3 (104). Then, the task unit E is executed for the process executor 2 (105).

この後、処理実行者2から処理実行者1に対してタスクユニットFが実行され(106)、処理実行者1から処理実行者2に対してタスクユニットGが実行される(107)。さらに、処理実行者2から処理実行者3に対してタスクユニットHが実行され(108)、処理実行者3から処理実行者2に対してタスクユニットIが実行され(109)、処理実行者2から処理実行者3に対してタスクユニットJが実行され(110)、処理実行者3から処理実行者2に対してタスクユニットKが実行される(111)。次いで、処理実行者2から処理実行者1に対してタスクユニットLが実行される(112)。   Thereafter, the task unit F is executed from the process executor 2 to the process executor 1 (106), and the task unit G is executed from the process executor 1 to the process executor 2 (107). Further, the task unit 2 is executed from the process executor 2 to the process executor 3 (108), and the task unit I is executed from the process executor 3 to the process executor 2 (109). Then, the task unit J is executed for the process executor 3 (110), and the task unit K is executed by the process executor 3 for the process executor 2 (111). Next, the task unit L is executed from the process executor 2 to the process executor 1 (112).

ここで、各タスクユニットA〜Lは、「PをQする」という形式で表現されており、「P」が目的語であり、「Q」がタスクアクティビティである。   Here, each of the task units A to L is expressed in the form of “Q Q”, where “P” is an object and “Q” is a task activity.

次に、図1に示すシーケンスを表すダイアグラムを、図2に示す解析用ツリー構造に変換する手順を図3に示すフローチャートを参照して説明する。   Next, the procedure for converting the diagram representing the sequence shown in FIG. 1 into the analysis tree structure shown in FIG. 2 will be described with reference to the flowchart shown in FIG.

先ず、ソフトウェア設計書に含まれるシーケンスを表すダイアグラムを入力し(SA1)、このダイアグラム(タスクユニットA〜L)から各シーケンスに含まれる動詞であるタスクアクティビティとその目的語を抽出する(SA2)。ここでは、各タスクユニットA〜Lのダイアグラムから動詞であるタスクアクティビティA〜Lとその目的語Oa〜Olを抽出する。   First, a diagram representing a sequence included in the software design document is input (SA1), and a task activity that is a verb included in each sequence and its object are extracted from this diagram (task units A to L) (SA2). Here, the task activities A to L, which are verbs, and their object words Oa to Ol are extracted from the diagrams of the task units A to L.

次に、シーケンスを表すダイアグラムのタイトル(100)に示されている機能を表す動詞を最上位のタスクアクティビティ(201)として定義する(SA3)。   Next, a verb representing the function shown in the title (100) of the diagram representing the sequence is defined as the highest task activity (201) (SA3).

この後、シーケンスを表すダイアグラムにおいて最初に実行されるシーケンス(101)及び該シーケンス(101)を実行した処理実行者1によって実行されるシーケンス(107)に含まれるタスクアクティビティA,Gを最上位のタスクアクティビティ(201)の1階層下位のタスクアクティピティ(202,203)として定義し、最上位のタスクアクティビティ(201)の下位のタスクアクティビティ(202,203)をシーケンスの順序ごとに定義する(SA4)。   Thereafter, the task activities A and G included in the sequence (101) executed first in the diagram representing the sequence and the sequence (107) executed by the processing person 1 who executed the sequence (101) Task activity (201) is defined as a task activity (202, 203) that is one level lower than the task activity (201), and task activities (202, 203) that are lower than the highest task activity (201) are defined for each sequence order (SA4).

上記のステップにおけるシーケンス(101,107)により引き起こされるシーケンス(102〜112)を実行した他の処理実行者についても上記と同様の手順でさらに下位のタスクアクティビティ(204〜215)をシーケンスの順序ごとに定義する処理を繰り返す(SA5)。   For other process performers who executed the sequence (102 to 112) caused by the sequence (101, 107) in the above steps, define lower task activities (204 to 215) for each sequence in the same procedure as above. Is repeated (SA5).

シーケンスと該シーケンスに対応する応答シーケンスの間に他のシーケンスが存在しない場合に、該シーケンスを引き起こす元となったシーケンスから、この応答シーケンスによって引き起こされるシーケンスまでの全てのシーケンスに含まれるタスクアクティビティを最下位のアクティビティとしてシーケンスの順序ごとに重複しないように定義する(SA6)。   If there is no other sequence between the sequence and the corresponding response sequence, the task activity included in all sequences from the sequence that caused the sequence to the sequence caused by this response sequence The lowest activity is defined so as not to overlap every sequence order (SA6).

ここでは、シーケンス(102)とシーケンス(103)の間、シーケンス(104)とシーケンス(105)の間に他のシーケンスが存在しないので、これらのシーケンス(102〜105)を引き起こす元となった処理実行者1によって実行されたシーケンス(101)から、応答シーケンス(105)によって引き起こされるシーケンス(106)までの全てのシーケンス(101〜106)に含まれるタスクアクティビティA〜Fを最下位のアクティビティとしてシーケンスの順序ごとに重複しないように定義すると共に、シーケンス(108)とシーケンス(109)の間、シーケンス(110)とシーケンス(111)の間に他のシーケンスが存在しないので、これらのシーケンス(108〜111)を引き起こす元となった処理実行者1によって実行されたシーケンス(107)から、応答シーケンス(111)によって引き起こされる最後のシーケンス(112)までの全てのシーケンス(107〜112)に含まれるタスクアクティビティG〜Lを最下位のアクティビティとしてシーケンスの順序ごとに重複しないように定義する。   Here, there is no other sequence between sequence (102) and sequence (103), and between sequence (104) and sequence (105), so the process that caused these sequences (102 to 105) Task activities A to F included in all sequences (101 to 106) from the sequence (101) executed by the executor 1 to the sequence (106) caused by the response sequence (105) are sequenced as the lowest activity. Since there is no other sequence between the sequence (108) and the sequence (109) and between the sequence (110) and the sequence (111), these sequences (108 to 111) to the last sequence (112) caused by the response sequence (111) from the sequence (107) executed by the process executor 1 that caused the The task activities G to L included in all the sequences (107 to 112) up to are defined as the lowest activity so as not to overlap in the sequence order.

さらに、各シーケンス(101〜112)に定義されたタスクアクティビティA〜Lの入力としてこのタスクアクティビティA〜Lの目的語Oa〜Olを定義すると共に、各シーケンス(102〜112)に定義されるタスクアクティビティB〜L(205〜215)の入力としての目的語Ob〜Olをこのシーケンス(102〜112)を引き起こすシーケンス(101〜111)に定義されたタスクアクティビティA〜Kの出力として定義し、ダイアグラムのタイトルに含まれる目的語Omを最後のシーケンス(112)に対応する最後のタスクアクティビティL(215)の出力として定義する(SA7)。   Further, the tasks O to O of the task activities A to L are defined as inputs of the task activities A to L defined in the respective sequences (101 to 112), and the tasks defined in the respective sequences (102 to 112) are defined. The objects Ob to Ol as inputs of the activities B to L (205 to 215) are defined as outputs of the task activities A to K defined in the sequence (101 to 111) that causes the sequence (102 to 112), and the diagram Is defined as the output of the last task activity L (215) corresponding to the last sequence (112) (SA7).

最後に、上記のように定義したタイトル(100)に示されている機能を表す動詞であるタスクアクティビティ(201)及びタスクアクティビティA〜L(202〜215)の上下関係と目的語Oa〜Omをツリー構造で表現する(SA8)。ここでは、上記のツリー構造が、コンピュータ装置のディスプレイに表示されると共にプリンターによって印刷される。   Finally, the upper and lower relations of the task activities (201) and task activities A to L (202 to 215), which are verbs representing the functions shown in the title (100) defined as described above, and the objects Oa to Om It is expressed by a tree structure (SA8). Here, the above tree structure is displayed on a display of a computer device and printed by a printer.

上記のツリー構造では、シーケンスを表すダイアグラムのタイトル(100)に含まれている最上位(第1階層)のタスクアクティビティ(201)に対して第2階層の2つのタスクアクティビティA,L(202,203)が分岐して接続されている。さらに、一方のタスクアクティビティA(202)に対して第3階層の6つのタスクアクティビティA〜F(204〜209)が分岐して接続され、他方のタスクアクティビティL(203)に対して第3階層の6つのタスクアクティビティG〜L(210〜215)が分岐して接続されている。   In the above tree structure, two task activities A and L (202, 203) in the second hierarchy are compared with the task activity (201) in the top (first hierarchy) included in the title (100) of the diagram representing the sequence. Is branched and connected. Further, six task activities A to F (204 to 209) in the third hierarchy are branched and connected to one task activity A (202), and the third hierarchy is connected to the other task activity L (203). The six task activities G to L (210 to 215) are branched and connected.

また、第1階層のタスクアクティビティ(201)に対しては、入力の目的語Oaが定義されると共に出力の目的語Omが定義されている。   For the task activity (201) in the first hierarchy, an input object Oa and an output object Om are defined.

第2階層の一方のタスクアクティビティ(202)に対しては、入力の目的語Oaが定義されると共に出力の目的語Ogが定義されている。   For one task activity (202) in the second hierarchy, an input object Oa and an output object Og are defined.

第2階層の他方のタスクアクティビティ(203)に対しては、入力の目的語Ogが定義されると共に出力の目的語Omが定義されている。   For the other task activity (203) of the second hierarchy, an input object Og and an output object Om are defined.

第3階層のタスクアクティビティA(204)に対しては、入力の目的語Oaが定義されると共に出力の目的語Obが定義されている。   For the task activity A (204) in the third hierarchy, an input object Oa and an output object Ob are defined.

第3階層のタスクアクティビティB(205)に対しては、入力の目的語Obが定義されると共に出力の目的語Ocが定義されている。   For the task activity B (205) in the third hierarchy, an input object Ob is defined and an output object Oc is defined.

第3階層のタスクアクティビティC(206)に対しては、入力の目的語Ocが定義されると共に出力の目的語Odが定義されている。   For the task activity C (206) in the third hierarchy, an input object Oc is defined and an output object Od is defined.

第3階層のタスクアクティビティD(207)に対しては、入力の目的語Odが定義されると共に出力の目的語Oeが定義されている。   For the task activity D (207) in the third hierarchy, an input object Od is defined and an output object Oe is defined.

第3階層のタスクアクティビティE(208)に対しては、入力の目的語Oeが定義されると共に出力の目的語Ofが定義されている。   For the task activity E (208) in the third hierarchy, an input object Oe and an output object Of are defined.

第3階層のタスクアクティビティF(209)に対しては、入力の目的語Ofが定義されると共に出力の目的語Ogが定義されている。   For the task activity F (209) in the third hierarchy, an input object Of is defined and an output object Og is defined.

第3階層のタスクアクティビティG(210)に対しては、入力の目的語Ogが定義されると共に出力の目的語Ohが定義されている。   For the task activity G (210) of the third hierarchy, an input object Og is defined and an output object Oh is defined.

第3階層のタスクアクティビティH(211)に対しては、入力の目的語Ohが定義されると共に出力の目的語Oiが定義されている。   For the task activity H (211) in the third hierarchy, an input object Oh is defined and an output object Oi is defined.

第3階層のタスクアクティビティI(212)に対しては、入力の目的語Oiが定義されると共に出力の目的語Ojが定義されている。   For the task activity I (212) in the third hierarchy, an input object Oi and an output object Oj are defined.

第3階層のタスクアクティビティJ(213)に対しては、入力の目的語Ojが定義されると共に出力の目的語Okが定義されている。   For the task activity J (213) in the third hierarchy, an input object Oj is defined and an output object Ok is defined.

第3階層のタスクアクティビティK(214)に対しては、入力の目的語Okが定義されると共に出力の目的語Olが定義されている。   For the task activity K (214) in the third hierarchy, an input object Ok is defined and an output object Ol is defined.

第3階層のタスクアクティビティL(215)に対しては、入力の目的語Olが定義されると共に出力の目的語Omが定義されている。   For the task activity L (215) in the third hierarchy, an input object Ol is defined and an output object Om is defined.

上記のように本実施形態によれば、ソフトウェアの振る舞いを表現するシーケンスを理解しやすい解析用ツリー構造に変換する際に、解析用ツリーを構成するタスクアクティビティの構造を機械的に決定することができる。   As described above, according to the present embodiment, when the sequence expressing the behavior of the software is converted into an easy-to-understand analysis tree structure, the structure of the task activity constituting the analysis tree can be mechanically determined. it can.

このため、ソフトウェアの設計書に含まれている語彙の曖昧性を排除してソフトウェア開発における要求を体系的に表現することができるので、設計のやり直しなどの発生を防止することができる。   For this reason, since the vocabulary ambiguity included in the software design document can be eliminated and the requirements in software development can be systematically expressed, it is possible to prevent the occurrence of re-design and the like.

また、設計書に現れる語彙の揺らぎをなくすことができると共に、ソフトウェアの振る舞いを構成する処理の構成を一意的に表現することができ、処理手順の構造を解析するためのツリー構造として構築する際に機械的に決定することができる。   In addition, the fluctuation of the vocabulary that appears in the design document can be eliminated, the configuration of the processing that constitutes the behavior of the software can be uniquely expressed, and when constructing as a tree structure for analyzing the structure of the processing procedure Can be determined mechanically.

次に、本発明を適用した具体的な一実施例に関して説明する。   Next, a specific embodiment to which the present invention is applied will be described.

本実施例では、GE-PON(Gigabit Ethernet-Passive Optical Network)(「Ethernet」は登録商標)システムのGE-OLT(GE-Optical Line Terminal)のサーバ機能設計書を基に本発明の手法を適用した例を示す。   In this embodiment, the method of the present invention is applied based on the server function design document of GE-OLT (GE-Optical Line Terminal) of GE-PON (Gigabit Ethernet-Passive Optical Network) ("Ethernet" is a registered trademark) system. An example is shown.

機能設計書の中の「OLTを変更する」というタイトルを有するシーケンスのダイアグラムの機能に関するタスクを理解するために、各タスクユニットの機能を表現する。   In order to understand the tasks related to the function of the diagram of the sequence having the title “Change OLT” in the functional design document, the function of each task unit is expressed.

図4に示すUML(Unified Modeling Language)のシーケンス図から、解析するためのツリー構造を構築すると図5に示すようになる。「OLTを変更する」というタイトル(300)を有するシーケンスの中に現れている処理実行者が「OSS-Client」、「OSS-Sever」、「DB(データベース)」の3者であることより、ツリー構造の階層が3階層になる。   When a tree structure for analysis is constructed from the UML (Unified Modeling Language) sequence diagram shown in FIG. 4, it is as shown in FIG. Since the process performers appearing in the sequence with the title “Change OLT” (300) are “OSS-Client”, “OSS-Sever”, and “DB (database)”, The tree structure has three levels.

また、本実施例では、第2階層のタスクアクティビティのところはOSS-ClientからOSS-Severに対して実行されるシーケンスのタスクアクティビティのもので表現し、第3階層のタスクアクティビティは全てのシーケンスを時系列に重複しないように並べて表現している。このことにより、タスクの構造を解析するためのツリー構造を機械的に構築できることが確認できる。   In this embodiment, the task activity of the second layer is expressed by the task activity of the sequence executed from the OSS-Client to the OSS-Sever, and the task activity of the third layer represents all the sequences. They are arranged side by side so that they do not overlap in time series. This confirms that the tree structure for analyzing the task structure can be mechanically constructed.

即ち、図4に示すシーケンスを表すダイアグラムによれば、OSS-ClientからOSS-Serverに対して「未変更状態を確認する」というタスクユニット(401)が実行された後(301)、OSS-ServerからDBに対して「変更待ち状態を変更する」というタスクユニット(402)が実行される(302)。   That is, according to the diagram showing the sequence shown in FIG. 4, after the task unit (401) “Check for unchanged state” is executed from the OSS-Client to the OSS-Server (301), the OSS-Server Then, a task unit (402) “change change waiting state” is executed on the DB (302).

次いで、DBからOSS-Serverに対して「変更済受理未通知状態を受理する」というタスクユニット(403)が実行され(303)、OSS-ClientからOSS-Serverに対して「変更済未通知状態を確認する」というタスクユニット(404)が実行され(304)、OSS-ServerからOSS-Clientに対して「通知可能状態を通知する」というタスクユニット(405)が実行される(305)。   Next, the task unit (403) of “Accept the changed unacknowledged status” is executed from the DB to the OSS-Server (303), and the OSS-Client issues an “unchanged unnotified status” to the OSS-Server. The task unit (404) "confirms" is executed (304), and the task unit (405) "notify available state" is executed from the OSS-Server to the OSS-Client (305).

ここで、各タスクユニット(401〜405)は、前述したように「PをQする」という形式で表現されており、「P」が目的語であり、「Q」がタスクアクティビティである。   Here, as described above, each task unit (401 to 405) is expressed in the form of “Q P”, where “P” is an object and “Q” is a task activity.

次に、図4に示すシーケンスを表すダイアグラムを、図5に示す解析用ツリー構造に変換する手順を説明する。   Next, a procedure for converting the diagram representing the sequence shown in FIG. 4 into the analysis tree structure shown in FIG. 5 will be described.

まず、解析用ツリー構造を作成するために、ソフトウェア設計書に含まれるシーケンスを表すダイアグラム(タスクユニット)から各シーケンス301〜305に含まれる動詞であるタスクアクティビティとその目的語を抽出する。ここでは、前述した各タスクユニット401〜405のダイアグラムから動詞であるタスクアクティビティとその目的語を抽出する。   First, in order to create a tree structure for analysis, a task activity that is a verb included in each sequence 301 to 305 and its object are extracted from a diagram (task unit) representing a sequence included in the software design document. Here, a task activity that is a verb and its object are extracted from the diagrams of the task units 401 to 405 described above.

次に、シーケンスを表すダイアグラムのタイトル(300)である「OLT(変更済状態)を変更する」の機能を表す「変更する」を最上位のタスクアクティビティ(501)として定義する。   Next, “change” representing the function of “change OLT (changed state)”, which is the title (300) of the diagram representing the sequence, is defined as the highest task activity (501).

この後、シーケンスを表すダイアグラムにおいて最初に実行されるシーケンス(301)及び該シーケンス(301)を実行したOSS-Clientによって実行されるシーケンス(304)のタスクユニット(401,404)に含まれるタスクアクティビティを最上位のタスクアクティビティ(501)の1階層下位のタスクアクティピティ(502,503)として定義し、最上位のタスクアクティビティ(501)の下位のタスクアクティビティ(502,503)をシーケンスの順序ごとに定義する。ここでは、最上位のタスクアクティビティ(501)の下位のタスクアクティビティ(502,503)として「確認する」と「通知する」が定義される。   After this, the task activity included in the task unit (401, 404) of the sequence (301) executed first in the diagram representing the sequence and the sequence (304) executed by the OSS-Client that executed the sequence (301) is maximized. It is defined as a task activity (502, 503) that is one level lower than the upper task activity (501), and a lower task activity (502, 503) of the uppermost task activity (501) is defined for each sequence order. Here, “confirm” and “notify” are defined as lower task activities (502, 503) of the highest task activity (501).

上記のステップにおけるシーケンス(301,304)により引き起こされる他のシーケンス(302,303,305)についても上記と同様の手順でさらに下位のタスクアクティビティ(504〜508)を定義する処理を繰り返す。   For the other sequences (302, 303, 305) caused by the sequence (301, 304) in the above steps, the process of defining lower task activities (504 to 508) is repeated in the same procedure as described above.

また、シーケンス(302)とこれに対応する応答シーケンス(303)の間に他のシーケンスが存在しないので、これらのシーケンスを引き起こす元となったOSS-Clientによって実行されたシーケンス(301)から、応答シーケンス(303)までの全てのシーケンス(301〜303)のタスクユニット(401〜403)に含まれるタスクアクティビティを最下位のアクティビティとしてシーケンスの順序ごとに重複しないように定義すると共に、シーケンス(304)とこれに対応する応答シーケンス(305)の間に他のシーケンスが存在しないので、これらのシーケンス(304,305)のタスクユニット(404,405)に含まれるタスクアクティビティを最下位のアクティビティとしてシーケンスの順序ごとに重複しないように定義する。   In addition, since there is no other sequence between the sequence (302) and the corresponding response sequence (303), the response from the sequence (301) executed by the OSS-Client that caused these sequences. Define the task activities included in the task units (401 to 403) of all the sequences (301 to 303) up to the sequence (303) as the lowest activity so as not to overlap in the sequence order, and the sequence (304) Since there is no other sequence between the corresponding response sequence (305), the task activities included in the task units (404, 405) of these sequences (304, 305) are duplicated in the sequence order as the lowest activity. Define not to.

ここでは、最下位のタスクアクティビティ(504〜508)として、「確認する」、「変更する」、「受理する」、「確認する」、「通知する」が定義される。   Here, “confirm”, “change”, “accept”, “confirm”, and “notify” are defined as the lowest task activities (504 to 508).

さらに、各シーケンス(301〜305)に定義されたタスクアクティビティの入力としてこのタスクアクティビティ(504〜308)の目的語(601〜605)である「未変更状態」と、「変更待ち状態」、「変更済受理未通知状態」、「変更済未通知状態」、「通知可能状態」を定義する。そして、各シーケンス(302〜305)に定義されるタスクアクティビティ(505〜508)の入力としての目的語(602〜605)をこのシーケンス(302〜305)を引き起こすシーケンス(301〜304)に定義されたタスクアクティビティ(504〜507)の出力として定義し、ダイアグラムのタイトル(300)に含まれる目的語である「変更済状態」を最後のシーケンス(305)に対応する最後のタスクアクティビティ(508)の出力として定義する。   Furthermore, as the input of the task activity defined in each sequence (301 to 305), "unchanged state", "waiting for change", which is the object (601 to 605) of the task activity (504 to 308), " Define “Changed unacknowledged state”, “Changed unnotified state”, and “Notifiable state”. The object (602 to 605) as the input of the task activity (505 to 508) defined in each sequence (302 to 305) is defined in the sequence (301 to 304) that causes this sequence (302 to 305). The task status (504 to 507) is defined as the output of the last task activity (508) corresponding to the last sequence (305). Define as output.

最後に、上記のように定義したタイトル(501)及びタスクアクティビティ(502〜508)の上下関係と目的語(601〜606)をツリー構造で表現する。ここでは、上記のツリー構造が、コンピュータ装置のディスプレイに表示されると共にプリンターによって印刷される。   Finally, the hierarchical relationship between the title (501) and task activities (502 to 508) defined above and the objects (601 to 606) are expressed in a tree structure. Here, the above tree structure is displayed on a display of a computer device and printed by a printer.

上記のツリー構造では、シーケンスを表すダイアグラムのタイトル(300)に含まれている最上位(第1階層)のタスクアクティビティ「変更する」(501)に対して第2階層の2つのタスクアクティビティ「確認する」,「通知する」(502,503)が分岐して接続されている。さらに、一方のタスクアクティビティ「確認する」(502)に対して第3階層の3つのタスクアクティビティ「確認する」,「変更する」,「受理する」(504〜506)が分岐して接続され、他方のタスクアクティビティ「通知する」(503)に対して第3階層の2つのタスクアクティビティ「確認する」,「通知する」(507,508)が分岐して接続されている。   In the above tree structure, two task activities “confirmation” in the second hierarchy with respect to the task activity “change” (501) in the top (first hierarchy) included in the title (300) of the diagram representing the sequence “Yes” and “Notify” (502, 503) are branched and connected. Further, one task activity “confirm” (502) is branched and connected to three task activities “confirm”, “change”, and “accept” (504 to 506) in the third hierarchy, Two task activities “confirm” and “notify” (507, 508) in the third hierarchy are branched and connected to the other task activity “notify” (503).

また、第1階層のタスクアクティビティ「変更する」(501)に対しては、入力の目的語「未変更状態」(601)が定義されると共に出力の目的語「変更済状態」(606)が定義されている。   For the task activity “change” (501) in the first hierarchy, an input object “unchanged” (601) is defined and an output object “changed” (606) is defined. Is defined.

第2階層の一方のタスクアクティビティ「確認する」(502)に対しては、入力の目的語「未変更状態」(601)が定義されると共に出力の目的語「変更済未通知状態」(604)が定義されている。   For one task activity “confirm” (502) in the second hierarchy, an input object “unchanged state” (601) is defined and an output object “changed unreported state” (604) ) Is defined.

第2階層の他方のタスクアクティビティ「通知する」(503)に対しては、入力の目的語「変更済未通知状態」(604)が定義されると共に出力の目的語「変更済状態」(606)が定義されている。   For the other task activity “notify” (503) of the second hierarchy, an input object “changed unnotified state” (604) is defined and an output object “changed state” (606). ) Is defined.

第3階層のタスクアクティビティ「確認する」(504)に対しては、入力の目的語「未変更状態」(601)が定義されると共に出力の目的語「変更待ち状態」(602)が定義されている。   For the third level task activity “confirm” (504), the input object “unchanged” (601) and the output object “waiting for change” (602) are defined. ing.

第3階層のタスクアクティビティ「変更する」(505)に対しては、入力の目的語「変更待ち状態」(602)が定義されると共に出力の目的語「変更済受理未通知状態」(603)が定義されている。   For the task activity “change” (505) in the third hierarchy, an input object “waiting for change” (602) is defined and an output object “changed unacknowledged state” (603) Is defined.

第3階層のタスクアクティビティ「受理する」(506)に対しては、入力の目的語「変更済受理未通知状態」(603)が定義されると共に出力の目的語「変更済未通知状態」(604)が定義されている。   For the task activity “accept” (506) in the third hierarchy, the input object “changed unacknowledged status” (603) is defined and the output object “changed unacknowledged status” ( 604) is defined.

第3階層のタスクアクティビティ「確認する」(507)に対しては、入力の目的語「変更済未通知状態」(604)が定義されると共に出力の目的語「通知可能状態」(605)が定義されている。   For the task activity “confirm” (507) in the third hierarchy, the input object “changed non-notification state” (604) is defined and the output object “notification possible state” (605) is defined. Is defined.

第3階層のタスクアクティビティ「通知する」(508)に対しては、入力の目的語「通知可能状態」(605)が定義されると共に出力の目的語「変更済状態」(606)が定義されている。   For the third level task activity “notify” (508), an input object “notification possible state” (605) and an output object “changed state” (606) are defined. ing.

上記のように本実施例によれば、GE-PONシステムのGE-OLTのサーバ機能設計書の中の「OLT(変更済状態)を変更する」というタイトルの機能に関するUMLのシーケンス図から、ソフトウェアの振る舞いを表現するシーケンスを理解しやすい解析用ツリー構造に変換する際に、解析用ツリーを構成するタスクアクティビティの構造を機械的に決定することができる。   As described above, according to this embodiment, from the UML sequence diagram regarding the function titled “Change OLT (changed state)” in the GE-OLT server function design document of the GE-PON system, the software When the sequence expressing the behavior of the task is converted into an easily understood tree structure for analysis, the structure of task activities constituting the tree for analysis can be mechanically determined.

このため、ソフトウェアの設計書に含まれている語彙の曖昧性を排除してソフトウェア開発における要求を体系的に表現することができるので、設計のやり直しなどが発生を防止することができる。   For this reason, since the vocabulary ambiguity included in the software design document can be eliminated and the requirements in software development can be systematically expressed, it is possible to prevent the re-design and the like from occurring.

また、設計書に現れる語彙の揺らぎをなくすことができると共に、ソフトウェアの振る舞いを構成する処理の構成を一意的に表現することができ、処理手順の構造を解析するためのツリー構造として構築する際に機械的に決定することができる。   In addition, the fluctuation of the vocabulary that appears in the design document can be eliminated, the configuration of the processing that constitutes the behavior of the software can be uniquely expressed, and when constructing as a tree structure for analyzing the structure of the processing procedure Can be determined mechanically.

本発明の一実施形態におけるシーケンスを表すダイアグラムDiagram representing sequence in one embodiment of the present invention 本発明の一実施形態における解析用ツリー構造を示す図The figure which shows the tree structure for analysis in one Embodiment of this invention 本発明の一実施形態におけるシーケンスを表すダイアグラムを解析用ツリー構造に変換する手順を示すフローチャートThe flowchart which shows the procedure which converts the diagram showing the sequence in one Embodiment of this invention into the tree structure for analysis 本発明の一実施例におけるシーケンスを表すダイアグラムDiagram showing sequence in one embodiment of the present invention 本発明の一実施例における解析用ツリー構造を示す図The figure which shows the tree structure for analysis in one Example of this invention 従来例におけるテキストのみからなるソフトウェアシステムの振る舞いに関するドキュメントの構成を説明する図The figure explaining the composition of the document about the behavior of the software system which consists only of text in the conventional example 従来例における順序付の階層関係でタスクアクティビティの構成を明らかにした解析用ツリー構造を示す図The figure which shows the tree structure for analysis which clarifies the composition of the task activity with the order hierarchy order in the conventional example

符号の説明Explanation of symbols

101〜112…シーケンス、201〜215…タスクアクティビティ、Oa〜Om…目的語、301〜305…シーケンス、401〜405…タスクユニット、501〜508…タスクアクティビティ、601〜606…目的語。   101-112 ... sequence, 201-215 ... task activity, Oa-Om ... object, 301-305 ... sequence, 401-405 ... task unit, 501-508 ... task activity, 601-606 ... object.

Claims (2)

コンピュータ装置によって、ソフトウェア設計書に含まれる2以上の実行者のそれぞれによって実行されるシーケンスを表すダイアグラムを、シーケンスの構造を解析するためのツリー構造ヘ変換する方法であって、
前記コンピュータ装置は、
前記シーケンスを表すダイアグラムから各シーケンスに含まれる動詞であるアクティビティとその目的語を抽出するステップと、
前記シーケンスを表すダイアグラムのタイトルである機能を表す動詞を最上位のアクティビティとして定義するステップと、
前記シーケンスを表すダイアグラムにおいて最初に実行されるシーケンス及び該シーケンスを実行した実行者によって実行されるシーケンスに含まれるアクティビティを最上位のアクティビティの1階層下位のアクティピティとして定義し、最上位のアクティビティの下位のアクティビティをシーケンスの順序ごとに定義するステップと、
上記のステップにおけるシーケンスにより引き起こされるシーケンスを実行した他の実行者によって実行されるシーケンスについても上記と同様の手順でさらに下位のアクティビティをシーケンスの順序ごとに定義する処理を繰り返すステップと、
シーケンスと該シーケンスに対応する応答シーケンスの間に他のシーケンスが存在しない場合に、該シーケンスを引き起こす元となったシーケンスから、該応答シーケンスによって引き起こされるシーケンスまでの全てのシーケンスに含まれるアクティビティを最下位のアクティビティとしてシーケンスの順序ごとに重複しないように定義するステップと、
各シーケンスに定義されたアクティビティの入力として該アクティビティの目的語を定義すると共に、シーケンスに定義されるアクティビティの入力としての目的語を該シーケンスを引き起こすシーケンスに定義されたアクティビティの出力として定義し、前記ダイアグラムのタイトルに含まれる目的語を最後のシーケンスに定義された最後のアクティビティの出力として定義するステップと、
前記定義したアクティビティの上下関係と目的語をツリー構造で表現するステップとを実行する
ことを特徴とするソフトウェアにおけるシーケンス図の解析用ツリー構造への変換方法。
A method of converting a diagram representing a sequence executed by each of two or more performers included in a software design document into a tree structure for analyzing the structure of the sequence by a computer device,
The computer device includes:
Extracting an activity that is a verb included in each sequence and its object from a diagram representing the sequence;
Defining a verb representing a function that is the title of a diagram representing the sequence as a top-level activity;
In the diagram representing the sequence, the sequence executed first and the activity included in the sequence executed by the person who executed the sequence are defined as activities one level lower than the highest activity. Defining the subordinate activities for each sequence in the sequence;
Repeating the process of defining lower-order activities for each sequence in a sequence similar to the above for sequences executed by other performers who executed the sequence caused by the sequence in the above steps;
If no other sequence exists between the sequence and the corresponding response sequence, the activity contained in all sequences from the sequence that caused the sequence to the sequence caused by the response sequence is minimized. Defining a subordinate activity so that it does not overlap in each sequence order;
Defining an object of the activity as an input of the activity defined in each sequence, and defining an object as an input of the activity defined in the sequence as an output of the activity defined in the sequence causing the sequence, Defining the object in the diagram title as the output of the last activity defined in the last sequence;
A method for converting a sequence diagram into a tree structure for analysis in software, comprising: performing the hierarchical relationship of the defined activities and expressing the object in a tree structure.
コンピュータ装置によって、ソフトウェア設計書に含まれる2以上の実行者のそれぞれによって実行されるシーケンスを表すダイアグラムを、シーケンスの構造を解析するためのツリー構造ヘ変換するためのコンピュータプログラムであって、
前記シーケンスを表すダイアグラムから各シーケンスに含まれる動詞であるアクティビティとその目的語を抽出するステップと、
前記シーケンスを表すダイアグラムのタイトルである機能を表す動詞を最上位のアクティビティとして定義するステップと、
前記シーケンスを表すダイアグラムにおいて最初に実行されるシーケンス及び該シーケンスを実行した実行者によって実行されるシーケンスに含まれるアクティビティを最上位のアクティビティの1階層下位のアクティピティとして定義し、最上位のアクティビティの下位のアクティビティをシーケンスの順序ごとに定義するステップと、
上記のステップにおけるシーケンスにより引き起こされるシーケンスを実行した他の実行者によって実行されるシーケンスについても上記と同様の手順でさらに下位のアクティビティをシーケンスの順序ごとに定義する処理を繰り返すステップと、
シーケンスと該シーケンスに対応する応答シーケンスの間に他のシーケンスが存在しない場合に、該シーケンスを引き起こす元となったシーケンスから、該応答シーケンスによって引き起こされるシーケンスまでの全てのシーケンスに含まれるアクティビティを最下位のアクティビティとしてシーケンスの順序ごとに重複しないように定義するステップと、
各シーケンスに定義されたアクティビティの入力として該アクティビティの目的語を定義すると共に、シーケンスに定義されるアクティビティの入力としての目的語を該シーケンスを引き起こすシーケンスに定義されたアクティビティの出力として定義し、前記ダイアグラムのタイトルに含まれる目的語を最後のシーケンスに定義された最後のアクティビティの出力として定義するステップと、
前記定義したアクティビティの上下関係と目的語をツリー構造で表現するステップとを含む
ことを特徴とするソフトウェアにおけるシーケンス図の解析用ツリー構造への変換プログラム。
A computer program for converting a diagram representing a sequence executed by each of two or more performers included in a software design document into a tree structure for analyzing the structure of the sequence by a computer device,
Extracting an activity that is a verb included in each sequence and its object from a diagram representing the sequence;
Defining a verb representing a function that is the title of a diagram representing the sequence as a top-level activity;
In the diagram representing the sequence, the sequence executed first and the activity included in the sequence executed by the person who executed the sequence are defined as activities one level lower than the highest activity. Defining the subordinate activities for each sequence in the sequence;
Repeating the process of defining lower-order activities for each sequence in a sequence similar to the above for sequences executed by other performers who executed the sequence caused by the sequence in the above steps;
If no other sequence exists between the sequence and the corresponding response sequence, the activity contained in all sequences from the sequence that caused the sequence to the sequence caused by the response sequence is minimized. Defining a subordinate activity so that it does not overlap in each sequence order;
Defining an object of the activity as an input of the activity defined in each sequence, and defining an object as an input of the activity defined in the sequence as an output of the activity defined in the sequence causing the sequence, Defining the object in the diagram title as the output of the last activity defined in the last sequence;
A program for converting a sequence diagram to a tree structure for analysis in software, comprising the step-up relationship of the defined activities and a step of expressing the object in a tree structure.
JP2005011403A 2005-01-19 2005-01-19 Method of converting sequence diagram in software to tree structure for analysis and its computer program Pending JP2006201924A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2005011403A JP2006201924A (en) 2005-01-19 2005-01-19 Method of converting sequence diagram in software to tree structure for analysis and its computer program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2005011403A JP2006201924A (en) 2005-01-19 2005-01-19 Method of converting sequence diagram in software to tree structure for analysis and its computer program

Publications (1)

Publication Number Publication Date
JP2006201924A true JP2006201924A (en) 2006-08-03

Family

ID=36959884

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2005011403A Pending JP2006201924A (en) 2005-01-19 2005-01-19 Method of converting sequence diagram in software to tree structure for analysis and its computer program

Country Status (1)

Country Link
JP (1) JP2006201924A (en)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008059276A (en) * 2006-08-31 2008-03-13 Nippon Telegr & Teleph Corp <Ntt> Ontology generation device for sequence diagram, and its program and method
JP2009146283A (en) * 2007-12-17 2009-07-02 Nippon Telegr & Teleph Corp <Ntt> Software deliverable creating system, method, and program thereof
JP2012174239A (en) * 2011-02-24 2012-09-10 Jvc Kenwood Corp Browsing information generation device and browsing information generation method

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008059276A (en) * 2006-08-31 2008-03-13 Nippon Telegr & Teleph Corp <Ntt> Ontology generation device for sequence diagram, and its program and method
JP2009146283A (en) * 2007-12-17 2009-07-02 Nippon Telegr & Teleph Corp <Ntt> Software deliverable creating system, method, and program thereof
JP2012174239A (en) * 2011-02-24 2012-09-10 Jvc Kenwood Corp Browsing information generation device and browsing information generation method

Similar Documents

Publication Publication Date Title
US8689177B2 (en) Integration environment generator
JP2019502944A5 (en)
JP2012059026A (en) Source code conversion method and source code conversion program
CN102053912A (en) Device and method for automatically testing software based on UML (unified modeling language) graphs
Beuche et al. Software product line engineering with feature models
CN106776326B (en) Modeling method and system of data analysis model
Kluza et al. Proposal of representing BPMN diagrams with XTT2-based business rules
Oliveira Junior et al. SMartySPEM: a SPEM-based approach for variability management in software process lines
JP2006201924A (en) Method of converting sequence diagram in software to tree structure for analysis and its computer program
Vanderperren et al. SysML and systems engineering applied to UML-based SoC design
CN104462687A (en) Repairable GO algorithm based on dynamic Bayesian network
JP6263420B2 (en) Template generating apparatus and template generating program
CN108073582A (en) A kind of Computational frame selection method and device
JPWO2014061199A1 (en) System design method, system design apparatus, and system design program
Gavanelli et al. Logic–based decision support for strategic environmental assessment
US20090313308A1 (en) Method and apparatus for comparing process designs
Li et al. Tool support for rigorous formal specification inspection
JP4966386B2 (en) Test item generation method, apparatus and program
Muketha et al. Complexity metrics for executable business processes
JP2001100999A (en) Rule base system
Cho et al. Automatic web services generation
Reed et al. Service support system modelling language for simulation-driven development of functional products
Almentero et al. Towards software modularization from requirements
Wu et al. Rules oriented business process modeling
KR101290847B1 (en) Method for creating a feature model from legacy system source code

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20070125

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20091015

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100325

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100521

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20100906