Deprecated: The each() function is deprecated. This message will be suppressed on further calls in /home/zhenxiangba/zhenxiangba.com/public_html/phproxy-improved-master/index.php on line 456
JP4849555B2 - Software specification / design inconsistency detection apparatus, program and method thereof - Google Patents
[go: Go Back, main page]

JP4849555B2 - Software specification / design inconsistency detection apparatus, program and method thereof - Google Patents

Software specification / design inconsistency detection apparatus, program and method thereof Download PDF

Info

Publication number
JP4849555B2
JP4849555B2 JP2007033422A JP2007033422A JP4849555B2 JP 4849555 B2 JP4849555 B2 JP 4849555B2 JP 2007033422 A JP2007033422 A JP 2007033422A JP 2007033422 A JP2007033422 A JP 2007033422A JP 4849555 B2 JP4849555 B2 JP 4849555B2
Authority
JP
Japan
Prior art keywords
message
parameter
transmission
buffer
recording
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.)
Expired - Fee Related
Application number
JP2007033422A
Other languages
Japanese (ja)
Other versions
JP2008197975A (en
Inventor
正崇 佐藤
正輝 井上
淳 堀川
貴司 井上
哲哉 山村
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.)
NTT Inc
NTT Inc USA
Original Assignee
Nippon Telegraph and Telephone Corp
NTT Inc USA
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, NTT Inc USA filed Critical Nippon Telegraph and Telephone Corp
Priority to JP2007033422A priority Critical patent/JP4849555B2/en
Publication of JP2008197975A publication Critical patent/JP2008197975A/en
Application granted granted Critical
Publication of JP4849555B2 publication Critical patent/JP4849555B2/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Debugging And Monitoring (AREA)
  • Stored Programmes (AREA)

Description

本発明は、ソフトウェア開発時に、開発対象のソフトウェアの動作を表現した仕様書/設計書の不整合を検出する技術分野に属する。   The present invention belongs to the technical field of detecting inconsistencies in specifications / design documents expressing the operation of software to be developed during software development.

ソフトウェア開発では、開発対象のソフトウェアが満たすべき事項を示す仕様書を作成し、当該仕様書を基により具体的な実装を意識したソフトウェアの構造・アーキテクチャなどを定めた設計書を作成し、この設計書を基に最終的に実装を行う。これらの仕様書や設計書にはソフトウェアが持つ機能を記述する。   In software development, create a specification that shows the items to be satisfied by the software to be developed, and create a design document that defines the structure and architecture of the software with specific implementation in mind based on the specification. The final implementation is based on the document. These specifications and design documents describe the functions of the software.

ソフトウェアの機能は、ソフトウェアが管理する情報をクラスや属性などで表現する静的な側面と、ソフトウェアの動作をメッセージやメソッドなどで表現する動的な側面という二つの面によって表される。それらの情報や動作は、自然言語を用いた文書やモデル言語(UML:Unified Modeling Languageなど)を用いた図などで記述される。この時、ソフトウェアの規模が大きくなればなるほどソフトウェアの動作は複雑になり、動作の記述量や複雑さは増大する。よって、ソフトウェア開発者がソフトウェアの動作を記述するために時間がかかり、ソフトウェア開発が高コスト化/長期化してしまうということが問題になっていた。   Software functions are represented by two aspects: a static aspect in which information managed by software is expressed by classes and attributes, and a dynamic aspect in which software operations are expressed by messages and methods. Such information and operations are described in a document using a natural language or a diagram using a model language (UML: Unified Modeling Language). At this time, the larger the software scale, the more complicated the operation of the software, and the description amount and complexity of the operation increase. Therefore, it takes time for the software developer to describe the operation of the software, and it has been a problem that software development becomes expensive / long-term.

その高コスト/長期化の原因として、ある時点で作成した仕様書/設計書が誤りを含んでいて、それに気付かずに開発を進めてしまった場合、後になって誤りを発見し修正するという手戻りが発生してしまい、開発をやり直すということがある。そのような手戻りを防ぐために、開発中に作成したソフトウェア仕様書/設計書の誤りを未然に防ぐ技術が求められている。   As a cause of the high cost / prolongation, if a specification / design document created at a certain point contains an error and development is proceeding without noticing it, the error can be discovered and corrected later. Sometimes a return occurs and development is redone. In order to prevent such rework, there is a need for a technique for preventing errors in software specifications / design documents created during development.

非特許文献1では、UMLの協調図の整合性を判定するシステムが報告されている。しかし、ソフトウェア開発では協調図以外の文書を多数使用することから完全に問題を解決できているわけではない。   Non-Patent Document 1 reports a system for determining the consistency of UML coordination diagrams. However, software development does not completely solve the problem because it uses many documents other than cooperative diagrams.

また、非特許文献2では、UMLのクラス図を検証する手法が提案されている。しかし、非特許文献1の場合と同様、それ以外の文書には適用できないため、全ての問題を解決できたとは言えない。   Non-Patent Document 2 proposes a method for verifying a UML class diagram. However, as in the case of Non-Patent Document 1, it cannot be applied to other documents, so it cannot be said that all problems have been solved.

ソフトウェア開発に使われるその他の文書の一つとして、ソフトウェアの動作を時系列に表現した仕様書/設計書が用いられる。以下では、ソフトウェアの動作を時系列に表す仕様書/設計書をシーケンス図と呼ぶ。シーケンス図は、ソフトウェアを構成するオブジェクトのメッセージの送受信でソフトウェアの動作を表現する。この時、メッセージのやりとりが矛盾なくソフトウェアの動作を表すことができているかどうかを判断することが困難であるため、シーケンス図に誤りが含まれ易い原因になっていた。   As one of other documents used for software development, a specification / design document that expresses the operation of software in time series is used. Hereinafter, a specification / design document that represents the operation of software in time series is referred to as a sequence diagram. The sequence diagram expresses the operation of software by sending and receiving messages of objects constituting the software. At this time, since it is difficult to determine whether the exchange of messages can represent the operation of the software without any contradiction, it has become a cause of error in the sequence diagram.

シーケンス図は、図1に示すように、ソフトウェアの動作を、動作の主体となるオブジェクトと、当該動作の内容を表すメッセージ名及び動作に使用する情報を表すパラメータからなり、前記オブジェクト間に時系列に配置されるメッセージとにより表現してなるものである。なお、説明を簡単化するため、以下、メッセージ名=メッセージとして説明する。   As shown in FIG. 1, the sequence diagram is composed of an object that is the operation of the software, a message name indicating the content of the operation, and a parameter indicating information used for the operation. It is expressed by a message placed in In order to simplify the description, the following description will be made assuming that message name = message.

シーケンス図に記述されるソフトウェア動作の典型的な誤りは、不要な動作が記述されていることと、必要な動作が記述されていないことがある。その誤りはシーケンス図上で、以下のような不整合を含むオブジェクトの動作として記述される場合がある。   Typical errors in the software operations described in the sequence diagram may be that unnecessary operations are described and necessary operations are not described. The error may be described on the sequence diagram as an object operation including the following inconsistency.

・他のオブジェクトから受信していない情報を送信する。   Send information that has not been received from other objects.

・他のオブジェクトから受信した情報を送信しない。   ・ Do not send information received from other objects.

図2は上記の不整合を含むシーケンス図の一例を示すものである。図2において、オブジェクト2はオブジェクト1からメッセージ1でパラメータa,bを受け取り、オブジェクト3にメッセージ2でパラメータa,cを送信している。この場合、オブジェクト2はメッセージ1を受信した段階でパラメータa,bのみを保有していることになる。その後、メッセージ2で送信しているパラメータはa,cであるが、オブジェクト2はその段階ではパラメータcを保有していない。つまり、オブジェクト2は保有していないパラメータをオブジェクト3に送信しようとしており、これはソフトウェアの動作として不整合が生じていることになる。   FIG. 2 shows an example of a sequence diagram including the above mismatch. In FIG. 2, the object 2 receives parameters a and b from the object 1 with the message 1 and transmits parameters a and c to the object 3 with the message 2. In this case, the object 2 has only the parameters a and b when the message 1 is received. Thereafter, the parameters transmitted by the message 2 are a and c, but the object 2 does not have the parameter c at that stage. That is, the object 2 is trying to transmit a parameter that the object 2 does not have to the object 3, which is inconsistent as a software operation.

図2のシーケンス図は単純であるので、このような不整合を発見することは容易であるが、より大規模で複雑なシーケンス図の不整合を発見することは困難である。
中西啓之、三浦孝夫「記述論理を用いたUML整合性の検証システムの実現」、DEWS2005論文集、1−A−o4、2005年5月2日発行 佐藤 健、兼岩 憲「UMLのクラス図における論理プログラミングを用いた無矛盾検査について」、日本ソフトウェア科学会第22回大会論文集、PD−11、2005年発行
Since the sequence diagram of FIG. 2 is simple, it is easy to find such inconsistencies, but it is difficult to find inconsistencies in larger and complex sequence diagrams.
Hiroyuki Nakanishi, Takao Miura “Realization of UML Consistency Verification System Using Description Logic”, DEWS 2005 Proceedings, 1-Ao4, May 2, 2005 Ken Sato, Ken Kaneiwa “On Consistency Checking Using Logic Programming in UML Class Diagrams”, Proceedings of the 22nd Annual Meeting of the Japan Society for Software Science and Technology, PD-11, 2005

シーケンス図が上記の不整合を含んだまま開発を進めた場合、不整合を含んだシーケンス図に従って開発を行った後に、不整合の原因となった誤りが発見され、開発をやり直すという手戻りが起こる可能性がある。そこで、シーケンス図の不整合を検出し、手戻りの発生を未然に防ぐ技術が必要である。   When the development proceeds with the sequence diagram including the above inconsistency, after development is performed according to the sequence diagram including the inconsistency, an error that caused the inconsistency is discovered, and the rework is to be repeated. Can happen. Therefore, there is a need for a technique for detecting inconsistencies in sequence diagrams and preventing rework from occurring.

本発明は、ソフトウェア開発においてソフトウェアの動作を時系列に表現したシーケンス図の不整合を検出する装置、そのプログラム及び方法を提供することを目的とする。   An object of the present invention is to provide an apparatus, a program, and a method for detecting inconsistencies in a sequence diagram that represents software operations in time series in software development.

シーケンス図の不整合を検出するために、オブジェクト毎に送信したパラメータと受信したパラメータを記録する。シーケンス図は時系列のソフトウェア動作を表したものであるため、オブジェクトが送受信するメッセージを時系列にたどって検出処理を行う。   In order to detect inconsistencies in the sequence diagram, the transmitted parameter and the received parameter are recorded for each object. Since the sequence diagram represents a time-series software operation, detection processing is performed by tracing messages transmitted / received by the object in time-series.

まず、シーケンス図中のオブジェクト毎に、当該オブジェクトが送信したメッセージのパラメータを記録する送信バッファ及び当該オブジェクトが受信したメッセージのパラメータを記録する受信バッファを用意する。これらのバッファはそのオブジェクトが送受信したパラメータを記録するために用いる。図3はオブジェクト毎に用意された送信バッファ及び受信バッファのイメージである。   First, for each object in the sequence diagram, a transmission buffer for recording parameters of a message transmitted by the object and a reception buffer for recording parameters of a message received by the object are prepared. These buffers are used to record parameters sent and received by the object. FIG. 3 is an image of a transmission buffer and a reception buffer prepared for each object.

本発明では、図4に示す以下のフローでシーケンス図の不整合を検出する。   In the present invention, inconsistencies in the sequence diagram are detected in the following flow shown in FIG.

時系列の順番でメッセージを取得し、そのメッセージの送信オブジェクト、受信オブジェクトに対して、次の処理を行う。   Messages are acquired in chronological order, and the following processing is performed on the sending object and receiving object of the message.

s1:シーケンス図を上から時系列にたどってメッセージを取得する。   s1: A message is acquired by tracing the sequence diagram from the top in time series.

s2:取得したメッセージのパラメータが、当該メッセージを送信したオブジェクトである送信オブジェクトに対応する受信バッファに記録されているか否かを調べ、記録されていればs3へ、記録されていなければs4へ進む。但し、一つのメッセージは複数のパラメータを扱う可能性があるので、一つ一つのパラメータ毎に調べて処理する。   s2: It is checked whether or not the parameter of the acquired message is recorded in the reception buffer corresponding to the transmission object that is the object that transmitted the message. If it is recorded, the process proceeds to s3. . However, since one message may handle a plurality of parameters, each message is examined and processed.

s3:記録されていたパラメータは、既に受信したことのあるパラメータを送信したという事実を記録するために、前記送信オブジェクトに対応する送信バッファに追加・記録する。s5へ。   s3: The recorded parameter is added and recorded in the transmission buffer corresponding to the transmission object in order to record the fact that the parameter that has already been received is transmitted. Go to s5.

s4:記録されていなかったパラメータは、前記送信オブジェクトが受信していないパラメータを送信しようとしているという旨の不整合を記録する。s5へ。   s4: The parameter that has not been recorded records an inconsistency that the transmission object is trying to transmit a parameter that has not been received. Go to s5.

s5:取得したメッセージのパラメータを、当該メッセージを受信したオブジェクトである受信オブジェクトに対応する受信バッファに追加・記録する。これにより、オブジェクトが受信したパラメータを記録する。s6へ。   s5: The parameter of the acquired message is added and recorded in the reception buffer corresponding to the reception object that is the object that received the message. This records the parameters received by the object. Go to s6.

s6:取得したメッセージのパラメータを、前記受信オブジェクトに対応する送信バッファから削除する。これにより、オブジェクトが受信したパラメータがまだ使用されていないことを記録する。s7へ。   s6: Delete the parameter of the acquired message from the transmission buffer corresponding to the reception object. This records that the parameters received by the object are not yet used. Go to s7.

s7:全てのメッセージを取得し終わったか調べる。まだ終わっていないならs1へ戻る。終わったならばs8へ。   s7: Check whether all messages have been acquired. If it is not finished yet, return to s1. When you are finished, go to s8.

s8:全てのオブジェクトについて、その送信バッファの記録内容と受信バッファの記録内容とを比較する。記録内容が同一であれば終了する。同一でないならば、s9へ。   s8: For all objects, the recorded contents of the transmission buffer are compared with the recorded contents of the reception buffer. If the recorded contents are the same, the process ends. If not, go to s9.

s9:オブジェクトの受信バッファの記録内容と送信バッファの記録内容とが同一でないということは、オブジェクトが受信したパラメータの中でまだ送信していないパラメータが存在するということを意味する。パラメータが未使用であるという不整合を記録して終了する。   s9: The recorded content of the reception buffer of the object is not the same as the recorded content of the transmission buffer, which means that there is a parameter that has not yet been transmitted among the parameters received by the object. Record the inconsistency that the parameter is unused and exit.

なお、s2〜s4と、s5,s6とは逆の順序で行っても構わない。   Note that s2 to s4 and s5 and s6 may be performed in the reverse order.

本発明によれば、オブジェクト毎に当該オブジェクトが送信したメッセージのパラメータ及び受信したメッセージのパラメータを送信バッファ及び受信バッファに記録することにより、受信していないパラメータを送信しようとしたり、受信したがどこにも送信していないパラメータ(未使用パラメータ)が存在するという不整合を検出できる。   According to the present invention, for each object, the parameter of the message transmitted by the object and the parameter of the received message are recorded in the transmission buffer and the reception buffer. Inconsistency that there is a parameter (unused parameter) that has not been transmitted can be detected.

<ソフトウェア仕様書/設計書の不整合検出装置>
図5は本発明のソフトウェア仕様書/設計書の不整合検出装置の実施の形態の一例を示すもので、図中、1はシーケンス図保存部、2は送信バッファ部、3は受信バッファ部、4は不整合記録部、5はメッセージ取得部、6は送信オブジェクト処理部、7は受信オブジェクト処理部、8はバッファ比較部、9は不整合検出結果表示部である。
<Software specification / design document inconsistency detection device>
FIG. 5 shows an example of an embodiment of the software specification / design inconsistency detection apparatus of the present invention. In the figure, 1 is a sequence diagram storage unit, 2 is a transmission buffer unit, 3 is a reception buffer unit, 4 is a mismatch recording unit, 5 is a message acquisition unit, 6 is a transmission object processing unit, 7 is a reception object processing unit, 8 is a buffer comparison unit, and 9 is a mismatch detection result display unit.

シーケンス図保存部1は、図示しないキーボード等から直接入力され又は記憶媒体から読み出されて入力され又は通信媒体を介して他の装置等から入力された、不整合を検出しようとするソフトウェア仕様書/設計書、ここではシーケンス図を保存する。   The sequence diagram storage unit 1 is a software specification that is input directly from a keyboard or the like (not shown), read from a storage medium, or input from another device or the like via a communication medium. / Save the design document, here the sequence diagram.

送信バッファ部2は、オブジェクトが送信したパラメータを記録するオブジェクト毎の送信バッファを保持している。受信バッファ部3は、オブジェクトが受信したパラメータを記録するオブジェクト毎の受信バッファを保持している。   The transmission buffer unit 2 holds a transmission buffer for each object that records parameters transmitted by the object. The reception buffer unit 3 holds a reception buffer for each object that records parameters received by the object.

なお、オブジェクト毎の送信バッファ及び受信バッファは、事前に、シーケンス図保存部1に保存されたシーケンス図からオブジェクトに関する情報を読み出して各オブジェクトに対応する送信バッファ及び受信バッファをそれぞれ、送信バッファ部2及び受信バッファ部3に作成するようにしても良いし、後述するようにメッセージ取得部5においてメッセージとともに当該メッセージを送信したオブジェクトである送信オブジェクトの識別情報及び当該メッセージを受信したオブジェクトである受信オブジェクトの識別情報を取得した際に、該取得した送信オブジェクトの識別情報に対応する送信バッファ及び受信バッファ、並びに該取得した受信オブジェクトの識別情報に対応する送信バッファ及び受信バッファがそれぞれ送信バッファ部2及び受信バッファ部3内に存在するか否かを調べ、存在しなければこれらの送信バッファ及び受信バッファをそれぞれ、送信バッファ部2及び受信バッファ部3内に作成するようにしても良い。   Note that the transmission buffer and the reception buffer for each object read information about the object from the sequence diagram stored in the sequence diagram storage unit 1 in advance, and set the transmission buffer and the reception buffer corresponding to each object respectively. In addition, the message may be created in the reception buffer unit 3, or as will be described later, the identification information of the transmission object that is the object that transmitted the message together with the message in the message acquisition unit 5 and the reception object that is the object that received the message When the identification information is acquired, the transmission buffer and the reception buffer corresponding to the acquired identification information of the transmission object, and the transmission buffer and the reception buffer corresponding to the acquired identification information of the reception object are respectively transmitted to the transmission buffer. Part 2 and examines whether present in the receiving buffer unit 3, if there these transmit and receive buffers, respectively, may be created in the transmission buffer section 2 and the receiving buffer unit 3.

不整合記録部4は、検出対象のシーケンス図中の不整合の検出結果を記録する。   The inconsistency recording unit 4 records the inconsistency detection result in the sequence diagram to be detected.

メッセージ取得部5は、シーケンス図保存部1に保存されたシーケンス図からメッセージを時系列順に取得、厳密には当該メッセージを送信したオブジェクトである送信オブジェクトの識別情報及び当該メッセージを受信したオブジェクトである受信オブジェクトの識別情報とともに取得し、送信オブジェクト処理部6及び受信オブジェクト処理部7へ出力し、これを前記シーケンス図中の全てのメッセージに対して行う。   The message acquisition unit 5 acquires messages from the sequence diagram stored in the sequence diagram storage unit 1 in chronological order. Strictly speaking, the message acquisition unit 5 is identification information of a transmission object that is an object that has transmitted the message, and an object that has received the message. Acquired together with the identification information of the reception object, outputs it to the transmission object processing unit 6 and the reception object processing unit 7, and performs this for all the messages in the sequence diagram.

送信オブジェクト処理部6は、取得したメッセージのパラメータが受信バッファ部3中の当該メッセージを送信したオブジェクトである送信オブジェクト(の識別情報)に対応する受信バッファに記録されているか否かを判定し、記録されていれば前記パラメータを送信バッファ部2中の前記送信オブジェクト(の識別情報)に対応する送信バッファに記録し、記録されていなければ前記送信オブジェクトが未受信のパラメータを送信しようとしている旨の不整合の検出結果を不整合記録部4に記録する。   The transmission object processing unit 6 determines whether or not the parameter of the acquired message is recorded in the reception buffer corresponding to the transmission object (identification information) that is the object that transmitted the message in the reception buffer unit 3. If recorded, the parameter is recorded in a transmission buffer corresponding to the transmission object (identification information) in the transmission buffer unit 2, and if not recorded, the transmission object intends to transmit an unreceived parameter. The mismatch detection result is recorded in the mismatch recording unit 4.

受信オブジェクト処理部7は、取得したメッセージのパラメータを受信バッファ部3中の当該メッセージを受信したオブジェクトである受信オブジェクト(の識別情報)に対応する受信バッファに記録するとともに送信バッファ部2中の前記受信オブジェクト(の識別情報)に対応する送信バッファから削除する。   The reception object processing unit 7 records the acquired message parameters in the reception buffer corresponding to the reception object (identification information thereof) that is the object that received the message in the reception buffer unit 3 and also stores the parameter in the transmission buffer unit 2. Delete from the transmission buffer corresponding to the received object (identification information).

なお、送信オブジェクト処理部6及び受信オブジェクト処理部7は、メッセージ取得部5が取得したシーケンス図中の全てのメッセージに対して同様の処理を行う。   The transmission object processing unit 6 and the reception object processing unit 7 perform the same processing on all messages in the sequence diagram acquired by the message acquisition unit 5.

バッファ比較部8は、全てのオブジェクトについて、送信バッファ部2中の送信バッファの記録内容と受信バッファ部3中の受信バッファの記録内容とを比較し、同一でない場合は未使用なパラメータが存在する旨の不整合の検出結果を不整合記録部4に記録する。   The buffer comparison unit 8 compares the recorded content of the transmission buffer in the transmission buffer unit 2 with the recorded content of the reception buffer in the reception buffer unit 3 for all objects. If they are not identical, there is an unused parameter. The inconsistency detection result is recorded in the inconsistency recording unit 4.

不整合検出結果表示部9は、不整合記録部4の記録内容を読み取り、検出対象のシーケンス図における不整合の検出結果を(図示しない表示部などに)表示する。   The inconsistency detection result display unit 9 reads the recorded content of the inconsistency recording unit 4 and displays the inconsistency detection result in the sequence diagram to be detected (on a display unit not shown).

なお、前述した装置は、周知のコンピュータ上に実現することもでき、この際、前記シーケンス図保存部1、送信バッファ部2、受信バッファ部3及び不整合記録部4はコンピュータにおけるハードディスク、メモリ等の記憶装置によって構成され、また、メッセージ取得部5、送信オブジェクト処理部6、受信オブジェクト処理部7、バッファ比較部8及び不整合検出結果表示部9はコンピュータにおける演算処理装置(CPU)、表示装置とともに図4のフローチャートに対応するプログラムによって構成される。   The above-described apparatus can also be realized on a well-known computer. At this time, the sequence diagram storage unit 1, transmission buffer unit 2, reception buffer unit 3, and inconsistency recording unit 4 are a hard disk, a memory, etc. in the computer. The message acquisition unit 5, the transmission object processing unit 6, the reception object processing unit 7, the buffer comparison unit 8 and the inconsistency detection result display unit 9 are an arithmetic processing unit (CPU) and a display unit in a computer. A program corresponding to the flowchart of FIG.

<ソフトウェア仕様書/設計書の不整合検出方法>
次に、本発明によるソフトウェア仕様書/設計書の不整合検出方法を、図4のフローチャート、図5の装置構成図を用いて説明する。なお、送信バッファ部2及び受信バッファ部3には、検出対象のシーケンス図中のオブジェクトにそれぞれ対応する送信バッファ及び受信バッファが作成済みであるものとする。
<Software specification / design mismatch detection method>
Next, a software specification / design inconsistency detection method according to the present invention will be described with reference to the flowchart of FIG. 4 and the apparatus configuration diagram of FIG. In the transmission buffer unit 2 and the reception buffer unit 3, it is assumed that transmission buffers and reception buffers respectively corresponding to objects in the sequence diagram to be detected have been created.

まず、メッセージ取得部5は、シーケンス図保存部1から、該シーケンス図保存部1に保存されたシーケンス図中のメッセージを時系列の順番で上から1つ、当該メッセージの送信オブジェクトの識別情報及び受信オブジェクトの識別情報とともに取得し、送信オブジェクト処理部6及び受信オブジェクト処理部7へ引き渡す(s1)。   First, the message acquisition unit 5 receives from the sequence diagram storage unit 1 one message in the sequence diagram stored in the sequence diagram storage unit 1 from the top in time series order, identification information of the transmission object of the message, and Acquired together with the identification information of the reception object, and passes it to the transmission object processing unit 6 and the reception object processing unit 7 (s1).

次に、送信オブジェクト処理部6は、メッセージ取得部5から渡されたメッセージのパラメータが受信バッファ部3中の当該メッセージの送信オブジェクト(の識別情報)に対応する受信バッファに記録されているか否かを判定し(s2)、記録されていれば前記パラメータを送信バッファ部2中の前記送信オブジェクト(の識別情報)に対応する送信バッファに記録し(s3)、記録されていなければ前記送信オブジェクトが未受信のパラメータを送信しようとしている旨の不整合の検出結果を不整合記録部4に記録する(s4)。   Next, the transmission object processing unit 6 determines whether or not the parameter of the message passed from the message acquisition unit 5 is recorded in the reception buffer corresponding to the transmission object (identification information) of the message in the reception buffer unit 3. (S2), if it is recorded, the parameter is recorded in a transmission buffer corresponding to the transmission object (identification information thereof) in the transmission buffer unit 2 (s3), and if not recorded, the transmission object A mismatch detection result indicating that an unreceived parameter is to be transmitted is recorded in the mismatch recording unit 4 (s4).

また、受信オブジェクト処理部7は、メッセージ取得部5から渡されたメッセージのパラメータを受信バッファ部3中の当該メッセージの受信オブジェクト(の識別情報)に対応する受信バッファに記録する(s5)とともに送信バッファ部2中の前記受信オブジェクト(の識別情報)に対応する送信バッファから削除する(s6)。   Further, the reception object processing unit 7 records the parameter of the message passed from the message acquisition unit 5 in the reception buffer corresponding to the reception object (identification information) of the message in the reception buffer unit 3 (s5) and transmits it. It is deleted from the transmission buffer corresponding to the received object (identification information) in the buffer unit 2 (s6).

メッセージ取得部5は、シーケンス図保存部1に保存されたシーケンス図中の全てのメッセージについて、前記同様なシーケンス図保存部1からの取得、並びに送信オブジェクト処理部6及び受信オブジェクト処理部7への引き渡しを繰り返す(s7)。   The message acquisition unit 5 acquires all messages in the sequence diagram stored in the sequence diagram storage unit 1 from the sequence diagram storage unit 1 similar to the above, and sends the messages to the transmission object processing unit 6 and the reception object processing unit 7. The delivery is repeated (s7).

次に、バッファ比較部8は、全てのオブジェクトについて、送信バッファ部2中の送信バッファの記録内容と受信バッファ部3中の受信バッファの記録内容とを比較し(s8)、同一でない場合は未使用なパラメータが存在する旨の不整合の検出結果を不整合記録部4に記録する(s9)。   Next, the buffer comparison unit 8 compares the recorded content of the transmission buffer in the transmission buffer unit 2 with the recorded content of the reception buffer in the reception buffer unit 3 for all objects (s8). A mismatch detection result indicating that there is a used parameter is recorded in the mismatch recording unit 4 (s9).

また、必要に応じて、不整合検出結果表示部9は、不整合記録部4の記録内容を読み取り、検出対象のシーケンス図における不整合の検出結果を表示する。   If necessary, the inconsistency detection result display unit 9 reads the recorded contents of the inconsistency recording unit 4 and displays the inconsistency detection result in the sequence diagram to be detected.

以下、本発明によるソフトウェア仕様書/設計書の不整合検出について具体的な例、ここでは図6に示すシーケンス図を不整合検出対象として、本発明の装置へ入力した場合の動作を述べる。図6はオブジェクトとしてA,B,C,Dが存在し、図のようなソフトウェアの動作を表現している。「メッセージ1」等がメッセージ名であり、「a」「b」等をパラメータとする。   Hereinafter, a specific example of the software specification / design document mismatch detection according to the present invention, here, the operation when the sequence diagram shown in FIG. 6 is input to the apparatus of the present invention as the mismatch detection target will be described. In FIG. 6, A, B, C, and D exist as objects, and expresses the operation of software as shown in the figure. “Message 1” or the like is a message name, and “a” or “b” or the like is a parameter.

以下では、オブジェクトAの送信バッファを送信バッファA、受信バッファを受信バッファAと呼び、その他のオブジェクトについても同様とする。   Hereinafter, the transmission buffer of object A is referred to as transmission buffer A, the reception buffer is referred to as reception buffer A, and the same applies to other objects.

●始めにメッセージ取得部5がシーケンス図保存部1からメッセージ1を取得し、送信オブジェクトA、受信オブジェクトBについてそれぞれ処理する。   First, the message acquisition unit 5 acquires the message 1 from the sequence diagram storage unit 1 and processes the transmission object A and the reception object B, respectively.

・送信オブジェクト処理部6:受信バッファAはこの段階で空なので、メッセージ1のパラメータa,bはそれぞれステップs2でNOと判定され、ステップs4へ進み、不整合を記録する。   Transmission object processing unit 6: Since reception buffer A is empty at this stage, parameters a and b of message 1 are determined to be NO in step s2, respectively, and the process proceeds to step s4 to record inconsistencies.

・受信オブジェクト処理部7:ステップs5で受信バッファBにパラメータa,bを追加する。   Reception object processing unit 7: Adds parameters a and b to the reception buffer B in step s5.

・メッセージ1を終了後のバッファ部2,3、不整合記録部4の状況:
>受信バッファB(a,b)
>不整合記録部
☆「未受信パラメータ:メッセージ1,オブジェクトA(a,b)」。
The situation of the buffer units 2 and 3 and the inconsistent recording unit 4 after finishing the message 1:
> Reception buffer B (a, b)
> Inconsistent recording part ☆ “Unreceived parameter: message 1, object A (a, b)”.

●メッセージ2を取得し、送信オブジェクトB、受信オブジェクトCをそれぞれ処理する。   ● Message 2 is acquired, and transmission object B and reception object C are processed.

・送信オブジェクト処理部6:受信バッファBにはa,bが保存されているので、ステップs2でYESと判定され、ステップs3へ進み、送信バッファBにa,bを追加する。   Transmission object processing unit 6: Since a and b are stored in the reception buffer B, YES is determined in step s2, the process proceeds to step s3, and a and b are added to the transmission buffer B.

・受信オブジェクト処理部7:ステップs5で受信バッファCにパラメータa,bを追加する。   Receive object processing unit 7: Adds parameters a and b to the receive buffer C in step s5.

・メッセージ2を終了後のバッファ部2,3、不整合記録部4の状況:
>受信バッファB(a,b)
>送信バッファB(a,b)
>受信バッファC(a,b)
>不整合記録部
☆「未受信パラメータ:メッセージ1,オブジェクトA(a,b)」。
The situation of the buffer units 2 and 3 and the inconsistent recording unit 4 after finishing the message 2:
> Reception buffer B (a, b)
> Transmission buffer B (a, b)
> Reception buffer C (a, b)
> Inconsistent recording part ☆ “Unreceived parameter: message 1, object A (a, b)”.

●メッセージ3を取得し、送信オブジェクトC、受信オブジェクトBをそれぞれ処理する。   ● Message 3 is acquired, and transmission object C and reception object B are processed.

・送信オブジェクト処理部6:受信バッファCが保存しているパラメータはa,bなので、メッセージ2のパラメータc,dはそれぞれステップs2でNOと判定され、ステップs4へ進み、不整合を記録する。   Transmission object processing unit 6: Since the parameters stored in the reception buffer C are a and b, the parameters c and d of the message 2 are determined to be NO in step s2, respectively, and the process proceeds to step s4 to record inconsistency.

・受信オブジェクト処理部7:ステップs5で受信バッファBにパラメータc,dを追加する。   Reception object processing unit 7: Adds parameters c and d to the reception buffer B in step s5.

・メッセージ3を終了後のバッファ部2,3、不整合記録部4の状況:
>受信バッファB(a,b,c,d)
>送信バッファB(a,b)
>受信バッファC(a,b)
>不整合記録部
☆「未受信パラメータ:メッセージ1,オブジェクトA(a,b)」
☆「未受信パラメータ:メッセージ3,オブジェクトC(c,d)」。
The situation of the buffer units 2 and 3 and the inconsistent recording unit 4 after the message 3 is finished:
> Reception buffer B (a, b, c, d)
> Transmission buffer B (a, b)
> Reception buffer C (a, b)
> Inconsistent recording section ☆ "Unreceived parameter: Message 1, object A (a, b)"
☆ “Unreceived parameter: message 3, object C (c, d)”.

●メッセージ4を取得し、送信オブジェクトB、受信オブジェクトDをそれぞれ処理する。   ● Message 4 is acquired, and transmission object B and reception object D are processed.

・送信オブジェクト処理部6:受信バッファBが保存しているパラメータはa,b,c,dなので、メッセージ4のパラメータc,dはステップs2でYESと判定され、送信バッファBにc,dを追加する。また、メッセージ4のパラメータeはステップs2でNOと判定され、ステップs4へ進み、不整合を記録する。   Transmission object processing unit 6: Since the parameters stored in the reception buffer B are a, b, c, and d, the parameters c and d of the message 4 are determined to be YES in step s2, and c and d are stored in the transmission buffer B. to add. Further, the parameter e of the message 4 is determined as NO in step s2, and the process proceeds to step s4 to record inconsistency.

・受信オブジェクト処理部7:ステップs5で受信バッファDにパラメータc,d,eを追加する。   Receive object processing unit 7: Adds parameters c, d, e to the receive buffer D in step s5.

・メッセージ4を終了後のバッファ部2,3、不整合記録部4の状況:
>受信バッファB(a,b,c,d)
>送信バッファB(a,b,c,d)
>受信バッファC(a,b)
>受信バッファD(c,d,e)
>不整合記録部
☆「未受信パラメータ:メッセージ1,オブジェクトA(a,b)」
☆「未受信パラメータ:メッセージ3,オブジェクトC(c,d)」
☆「未受信パラメータ:メッセージ4,オブジェクトB(e)」。
The situation of the buffer units 2 and 3 and the inconsistent recording unit 4 after the message 4 is finished:
> Reception buffer B (a, b, c, d)
> Transmission buffer B (a, b, c, d)
> Reception buffer C (a, b)
> Reception buffer D (c, d, e)
> Inconsistent recording section ☆ "Unreceived parameter: Message 1, object A (a, b)"
☆ "Unreceived parameter: Message 3, object C (c, d)"
☆ "Unreceived parameter: message 4, object B (e)".

●メッセージ5を取得し、送信オブジェクトD、受信オブジェクトBをそれぞれ処理する。   ● Acquire message 5 and process transmission object D and reception object B, respectively.

・送信オブジェクト処理部6:受信バッファDが保存しているパラメータはc,d,eなので、メッセージ5のパラメータcはステップs2でYESと判定され、送信バッファDにcを追加する。また、メッセージ5のパラメータb,f,gはステップs2でNOと判定され、ステップs4へ進み、不整合を記録する。   Transmission object processing unit 6: Since the parameters stored in the reception buffer D are c, d, and e, the parameter c of the message 5 is determined as YES in step s2, and c is added to the transmission buffer D. Further, the parameters b, f, and g of the message 5 are determined to be NO in step s2, and the process proceeds to step s4 to record inconsistency.

・受信オブジェクト処理部7:ステップs5で受信バッファBにパラメータb,c,f,gを追加する。また、送信バッファBにb,cが存在しているので、ステップs6で送信バッファBからb,cを削除する。   Receive object processing unit 7: Parameters b, c, f, and g are added to the receive buffer B in step s5. Since b and c exist in the transmission buffer B, b and c are deleted from the transmission buffer B in step s6.

・メッセージ5を終了後のバッファ部2,3、不整合記録部4の状況:
>受信バッファB(a,b,c,d,f,g)
>送信バッファB(a,d)
>受信バッファC(a,b)
>受信バッファD(c,d,e)
>送信バッファD(c)
>不整合記録部
☆「未受信パラメータ:メッセージ1,オブジェクトA(a,b)」
☆「未受信パラメータ:メッセージ3,オブジェクトC(c,d)」
☆「未受信パラメータ:メッセージ4,オブジェクトB(e)」
☆「未受信パラメータ:メッセージ5,オブジェクトD(b,f,g)」。
The situation of the buffer units 2 and 3 and the inconsistent recording unit 4 after finishing the message 5:
> Reception buffer B (a, b, c, d, f, g)
> Transmission buffer B (a, d)
> Reception buffer C (a, b)
> Reception buffer D (c, d, e)
> Transmission buffer D (c)
> Inconsistent recording section ☆ "Unreceived parameter: Message 1, object A (a, b)"
☆ "Unreceived parameter: Message 3, object C (c, d)"
☆ "Unreceived parameter: Message 4, Object B (e)"
☆ "Unreceived parameter: message 5, object D (b, f, g)".

●メッセージ6を取得し、送信オブジェクトB、受信オブジェクトAをそれぞれ処理する。   ● Acquire message 6 and process transmission object B and reception object A, respectively.

・送信オブジェクト処理部6:受信バッファBが保存しているパラメータはa,b,c,d,f,gなので、メッセージ6のパラメータf,gはステップs2でYESと判定され、送信バッファBにf,gを追加する。   Transmission object processing unit 6: Since the parameters stored in the reception buffer B are a, b, c, d, f, and g, the parameters f and g of the message 6 are determined to be YES in step s2, and the transmission buffer B stores them. Add f and g.

・受信オブジェクト処理部7:ステップs5で受信バッファAにパラメータf,gを追加する。   Receive object processing unit 7: Adds parameters f and g to the receive buffer A in step s5.

・メッセージ6を終了後のバッファ保存部、不整合記録部の状況:
>受信バッファB(a,b,c,d,f,g)
>送信バッファB(a,d,f,g)
>受信バッファC(a,b)
>受信バッファD(c,d,e)
>送信バッファD(c)
>受信バッファA(f,g)
>不整合記録部
☆「未受信パラメータ:メッセージ1,オブジェクトA(a,b)」
☆「未受信パラメータ:メッセージ3,オブジェクトC(c,d)」
☆「未受信パラメータ:メッセージ4,オブジェクトB(e)」
☆「未受信パラメータ:メッセージ5,オブジェクトD(b,f,g)」。
-Status of the buffer storage unit and inconsistent recording unit after completion of message 6:
> Reception buffer B (a, b, c, d, f, g)
> Transmission buffer B (a, d, f, g)
> Reception buffer C (a, b)
> Reception buffer D (c, d, e)
> Transmission buffer D (c)
> Reception buffer A (f, g)
> Inconsistent recording section ☆ "Unreceived parameter: Message 1, object A (a, b)"
☆ "Unreceived parameter: Message 3, object C (c, d)"
☆ "Unreceived parameter: Message 4, Object B (e)"
☆ "Unreceived parameter: message 5, object D (b, f, g)".

●全てのメッセージが終了したのでバッファ比較部8が全てのオブジェクトの送信バッファ、受信バッファを比較する。   Since all messages have been completed, the buffer comparison unit 8 compares the transmission buffers and reception buffers of all objects.

・オブジェクトA:受信バッファAがf,gを持っており、送信バッファAが空なので、パラメータf,gが未使用であるということを不整合記録部4に記録する。   Object A: Since the reception buffer A has f and g and the transmission buffer A is empty, the fact that the parameters f and g are unused is recorded in the inconsistency recording unit 4.

・オブジェクトB:バッファを比較し、パラメータb,cが未使用であることを記録する。   Object B: Compares the buffers and records that the parameters b and c are unused.

・オブジェクトC:バッファを比較し、パラメータa,bが未使用であることを記録する。   Object C: Compare buffers and record that parameters a and b are unused.

・オブジェクトD:バッファを比較し、パラメータd,eが未使用であることを記録する。   Object D: Compares the buffers and records that the parameters d and e are unused.

・不整合記録部
>「未受信パラメータ:メッセージ1,オブジェクトA(a,b)」
>「未受信パラメータ:メッセージ3,オブジェクトC(c,d)」
>「未受信パラメータ:メッセージ4,オブジェクトB(e)」
>「未受信パラメータ:メッセージ5,オブジェクトD(b,f,g)」
>「未使用パラメータ:オブジェクトA(f,g)」
>「未使用パラメータ:オブジェクトB(b,c)」
>「未使用パラメータ:オブジェクトC(a,b)」
>「未使用パラメータ:オブジェクトD(d,e)」。
・ Inconsistent recording section> “unreceived parameter: message 1, object A (a, b)”
>"Unreceived parameter: message 3, object C (c, d)"
>"Unreceived parameter: message 4, object B (e)"
>"Unreceived parameter: message 5, object D (b, f, g)"
>"Unused parameter: Object A (f, g)"
>"Unused parameter: Object B (b, c)"
>"Unused parameter: object C (a, b)"
>"Unused parameter: object D (d, e)".

●不整合検出結果表示部9が不整合記録部4の内容を読み取り、シーケンス図の不整合検出結果を表示する。   The inconsistency detection result display unit 9 reads the contents of the inconsistency recording unit 4 and displays the inconsistency detection result of the sequence diagram.

実施例1のシーケンス図は、全てのメッセージが連続してつながっているソフトウェアの動作を表していた。次に、図7のようなメッセージが連続しないシーケンス図の実施例について説明する。   The sequence diagram of the first embodiment represents the operation of software in which all messages are continuously connected. Next, an embodiment of a sequence diagram in which messages are not continuous as shown in FIG. 7 will be described.

●メッセージ1を取得し、送信オブジェクトA、受信オブジェクトBをそれぞれ処理する。   ● Message 1 is acquired, and transmission object A and reception object B are processed.

・送信オブジェクト処理部6:受信バッファAはこの段階で空なので、メッセージ1のパラメータa,bはそれぞれステップs2でNOと判定され、ステップs4へ進み、不整合を記録する。   Transmission object processing unit 6: Since reception buffer A is empty at this stage, parameters a and b of message 1 are determined to be NO in step s2, respectively, and the process proceeds to step s4 to record inconsistencies.

・受信オブジェクト処理部7:ステップs5で受信バッファBにパラメータa,bを追加する。   Reception object processing unit 7: Adds parameters a and b to the reception buffer B in step s5.

・メッセージ1を終了後のバッファ部2,3、不整合記録部4の状況:
>受信バッファB(a,b)
>不整合記録部
☆「未受信パラメータ:メッセージ1,オブジェクトA(a,b)」。
The situation of the buffer units 2 and 3 and the inconsistent recording unit 4 after finishing the message 1:
> Reception buffer B (a, b)
> Inconsistent recording part ☆ “Unreceived parameter: message 1, object A (a, b)”.

●メッセージ2を取得し、送信オブジェクトB、受信オブジェクトCをそれぞれ処理する。   ● Message 2 is acquired, and transmission object B and reception object C are processed.

・送信オブジェクト処理部6:受信バッファBにはa,bが保存されているので、ステップs2でYESと判定され、ステップs3へ進み、送信バッファBにa,bを追加する。   Transmission object processing unit 6: Since a and b are stored in the reception buffer B, YES is determined in step s2, the process proceeds to step s3, and a and b are added to the transmission buffer B.

・受信オブジェクト処理部7:ステップs5で受信バッファCにパラメータa,bを追加する。   Receive object processing unit 7: Adds parameters a and b to the receive buffer C in step s5.

・メッセージ2を終了後のバッファ部2,3、不整合記録部4の状況:
>受信バッファB(a,b)
>送信バッファB(a,b)
>受信バッファC(a,b)
>不整合記録部
☆「未受信パラメータ=メッセージ1,オブジェクトA(a,b)」。
The situation of the buffer units 2 and 3 and the inconsistent recording unit 4 after finishing the message 2:
> Reception buffer B (a, b)
> Transmission buffer B (a, b)
> Reception buffer C (a, b)
> Inconsistent recording section ☆ “Unreceived parameter = message 1, object A (a, b)”.

●メッセージ3を取得し、送信オブジェクトB、受信オブジェクトCをそれぞれ処理する。   ● Message 3 is acquired, and transmission object B and reception object C are processed.

・送信オブジェクト処理部6:受信バッファBが保存しているパラメータはa,bなので、メッセージ3のパラメータaはステップs2でYESと判定され、送信バッファBにaを追加する。また、メッセージ3のパラメータcはステップs2でNOと判定され、ステップs4へ進み、不整合を記録する。   Transmission object processing unit 6: Since the parameters stored in the reception buffer B are a and b, the parameter a of the message 3 is determined as YES in step s2, and a is added to the transmission buffer B. Further, the parameter c of the message 3 is determined to be NO in step s2, and the process proceeds to step s4 to record inconsistency.

・受信オブジェクト処理部7:ステップs5で受信バッファCにパラメータa,cを追加する。   Receive object processing unit 7: Parameters a and c are added to the receive buffer C in step s5.

・メッセージ3を終了後のバッファ部2,3、不整合記録部4の状況:
>受信バッファB(a,b)
>送信バッファB(a,b)
>受信バッファC(a,b,c)
>不整合記録部
☆「未受信パラメータ:メッセージ1,オブジェクトA(a,b)」
☆「未受信パラメータ:メッセージ3,オブジェクトB(c)」。
The situation of the buffer units 2 and 3 and the inconsistent recording unit 4 after the message 3 is finished:
> Reception buffer B (a, b)
> Transmission buffer B (a, b)
> Reception buffer C (a, b, c)
> Inconsistent recording section ☆ "Unreceived parameter: Message 1, object A (a, b)"
☆ "Unreceived parameter: message 3, object B (c)".

●全てのメッセージが終了したのでバッファ比較部8が全てのオブジェクトの送信バッファ、受信バッファを比較する。   Since all messages have been completed, the buffer comparison unit 8 compares the transmission buffers and reception buffers of all objects.

・オブジェクトC:バッファを比較し、パラメータa,b,cが未使用であることを記録する。   Object C: Compare buffers and record that parameters a, b, and c are unused.

・不整合記録部
>「未受信パラメータ:メッセージ1,オブジェクトA(a,b)」
>「未受信パラメータ:メッセージ3,オブジェクトB(c)」
>「未使用パラメータ:オブジェクトC(a,b,c)」。
・ Inconsistent recording section> “unreceived parameter: message 1, object A (a, b)”
>"Unreceived parameter: message 3, object B (c)"
>"Unused parameter: object C (a, b, c)".

●不整合検出結果表示部9が不整合記録部4の内容を読み取り、シーケンス図の不整合検出結果を表示する。   The inconsistency detection result display unit 9 reads the contents of the inconsistency recording unit 4 and displays the inconsistency detection result of the sequence diagram.

シーケンス図の一例を示す説明図An explanatory diagram showing an example of a sequence diagram 不整合を含むシーケンス図の一例を示す説明図Explanatory drawing which shows an example of the sequence diagram containing inconsistency シーケンス図中のオブジェクト毎に用意された送信バッファ及び受信バッファの説明図Explanatory drawing of the transmission buffer and the reception buffer prepared for each object in the sequence diagram 本発明のソフトウェア仕様書/設計書の不整合検出方法のフローチャートFlowchart of Software Specification / Design Document Inconsistency Detection Method of the Present Invention 本発明のソフトウェア仕様書/設計書の不整合検出装置の実施の形態の一例を示す構成図The block diagram which shows an example of embodiment of the inconsistency detection apparatus of the software specification / design document of this invention 実施例1に係る不整合検出対象のシーケンス図を示す説明図Explanatory drawing which shows the sequence diagram of the mismatch detection object which concerns on Example 1. FIG. 実施例2に係る不整合検出対象のシーケンス図を示す説明図Explanatory drawing which shows the sequence diagram of the mismatch detection object which concerns on Example 2. FIG.

符号の説明Explanation of symbols

1:シーケンス図保存部、2:送信バッファ部、3:受信バッファ部、4:不整合記録部、5:メッセージ取得部、6:送信オブジェクト処理部、7:受信オブジェクト処理部、8:バッファ比較部、9:不整合検出結果表示部。   1: sequence diagram storage unit, 2: transmission buffer unit, 3: reception buffer unit, 4: inconsistency recording unit, 5: message acquisition unit, 6: transmission object processing unit, 7: reception object processing unit, 8: buffer comparison Section 9: Inconsistency detection result display section.

Claims (3)

ソフトウェアの動作を、動作の主体となるオブジェクトと、当該動作の内容を表すメッセージ名及び動作に使用する情報を表すパラメータからなり、前記オブジェクト間に時系列に配置されるメッセージとにより表現してなる仕様書/設計書の不整合を検出する装置であって、
検出対象の仕様書/設計書を保存する仕様書/設計書保存手段と、
オブジェクトが送信したメッセージのパラメータを記録するオブジェクト毎の送信バッファと、
オブジェクトが受信したメッセージのパラメータを記録するオブジェクト毎の受信バッファと、
検出対象の仕様書/設計書中の不整合の検出結果を記録する不整合記録手段と、
仕様書/設計書保存手段に保存された仕様書/設計書からメッセージを時系列順に取得するメッセージ取得手段と、
取得したメッセージのパラメータが当該メッセージを送信したオブジェクトである送信オブジェクトに対応する受信バッファに記録されているか否かを判定し、記録されていれば前記パラメータを前記送信オブジェクトに対応する送信バッファに記録し、記録されていなければ前記送信オブジェクトが未受信のパラメータを送信しようとしている旨の不整合の検出結果を不整合記録手段に記録する送信オブジェクト処理手段と、
取得したメッセージのパラメータを当該メッセージを受信したオブジェクトである受信オブジェクトに対応する受信バッファに記録するとともに前記受信オブジェクトに対応する送信バッファから削除する受信オブジェクト処理手段と、
オブジェクト毎に送信バッファの記録内容と受信バッファの記録内容とを比較し、同一でない場合は未使用なパラメータが存在する旨の不整合を不整合記録手段に記録するバッファ比較手段とを備えた
ことを特徴とするソフトウェア仕様書/設計書の不整合検出装置。
A software operation is expressed by an object that is the subject of the operation, a message name indicating the content of the operation, and a parameter indicating information used for the operation, and messages arranged in time series between the objects. A device for detecting inconsistencies between specifications / designs,
A specification / design document storage means for storing a specification / design document to be detected;
A send buffer for each object that records the parameters of the message sent by the object;
A receive buffer for each object that records the parameters of the message received by the object;
Inconsistency recording means for recording a detection result of inconsistency in a specification / design document to be detected;
Message acquisition means for acquiring messages from the specification / design document stored in the specification / design document storage means in chronological order;
It is determined whether or not the parameter of the acquired message is recorded in the reception buffer corresponding to the transmission object that is the object that transmitted the message. If the parameter is recorded, the parameter is recorded in the transmission buffer corresponding to the transmission object. And a transmission object processing means for recording inconsistency recording means a result of inconsistency detection indicating that the transmission object intends to transmit an unreceived parameter if not recorded,
A received object processing means for recording the parameter of the acquired message in a reception buffer corresponding to the reception object that is the object that has received the message and deleting the parameter from the transmission buffer corresponding to the reception object;
Buffer comparison means that compares the recorded contents of the transmission buffer with the recorded contents of the reception buffer for each object and records inconsistencies in the inconsistent recording means that there is an unused parameter if they are not the same. A software specification / design inconsistency detection device characterized by
ソフトウェアの動作を、動作の主体となるオブジェクトと、当該動作の内容を表すメッセージ名及び動作に使用する情報を表すパラメータからなり、前記オブジェクト間に時系列に配置されるメッセージとにより表現してなる仕様書/設計書の不整合を検出する装置を、記憶装置及び演算処理装置を少なくとも含むコンピュータを用いて実現するプログラムであって、
前記コンピュータの記憶装置を、
検出対象の仕様書/設計書を保存する仕様書/設計書保存手段と、
オブジェクトが送信したメッセージのパラメータを記録するオブジェクト毎の送信バッファと、
オブジェクトが受信したメッセージのパラメータを記録するオブジェクト毎の受信バッファと、
検出対象の仕様書/設計書中の不整合の検出結果を記録する不整合記録手段として機能させるとともに、
前記コンピュータの演算処理装置を、
仕様書/設計書保存手段に保存された仕様書/設計書からメッセージを時系列順に取得するメッセージ取得手段と、
取得したメッセージのパラメータが当該メッセージを送信したオブジェクトである送信オブジェクトに対応する受信バッファに記録されているか否かを判定し、記録されていれば前記パラメータを前記送信オブジェクトに対応する送信バッファに記録し、記録されていなければ前記送信オブジェクトが未受信のパラメータを送信しようとしている旨の不整合の検出結果を不整合記録手段に記録する送信オブジェクト処理手段と、
取得したメッセージのパラメータを当該メッセージを受信したオブジェクトである受信オブジェクトに対応する受信バッファに記録するとともに前記受信オブジェクトに対応する送信バッファから削除する受信オブジェクト処理手段と、
オブジェクト毎に送信バッファの記録内容と受信バッファの記録内容とを比較し、同一でない場合は未使用なパラメータが存在する旨の不整合を不整合記録手段に記録するバッファ比較手段として機能させるためのプログラム。
A software operation is expressed by an object that is the subject of the operation, a message name indicating the content of the operation, and a parameter indicating information used for the operation, and messages arranged in time series between the objects. A program for realizing a device for detecting inconsistency between specifications / designs using a computer including at least a storage device and an arithmetic processing unit,
The storage device of the computer,
A specification / design document storage means for storing a specification / design document to be detected;
A send buffer for each object that records the parameters of the message sent by the object;
A receive buffer for each object that records the parameters of the message received by the object;
In addition to functioning as inconsistency recording means for recording inconsistency detection results in the specification / design document to be detected,
An arithmetic processing unit of the computer,
Message acquisition means for acquiring messages from the specification / design document stored in the specification / design document storage means in chronological order;
It is determined whether or not the parameter of the acquired message is recorded in the reception buffer corresponding to the transmission object that is the object that transmitted the message. If the parameter is recorded, the parameter is recorded in the transmission buffer corresponding to the transmission object. And a transmission object processing means for recording inconsistency recording means a result of inconsistency detection indicating that the transmission object intends to transmit an unreceived parameter if not recorded,
A received object processing means for recording the parameter of the acquired message in a reception buffer corresponding to the reception object that is the object that has received the message and deleting the parameter from the transmission buffer corresponding to the reception object;
To compare the recorded contents of the transmission buffer and the recorded contents of the reception buffer for each object, and to function as a buffer comparison unit that records inconsistency that there is an unused parameter if they are not the same in the inconsistent recording unit program.
ソフトウェアの動作を、動作の主体となるオブジェクトと、当該動作の内容を表すメッセージ名及び動作に使用する情報を表すパラメータからなり、前記オブジェクト間に時系列に配置されるメッセージとにより表現してなる仕様書/設計書の不整合を、記憶装置及び演算処理装置を少なくとも含むコンピュータを用いて検出する方法であって、
コンピュータの演算処理装置が、
記憶装置に保存された仕様書/設計書からメッセージを時系列順に取得する第1のステップと、
取得したメッセージのパラメータが当該メッセージを送信したオブジェクトである送信オブジェクトに対応する受信バッファに記録されているか否かを判定する第2のステップと、
前記判定の結果、記録されていれば前記パラメータを前記送信オブジェクトに対応する送信バッファに記録する第3のステップと、
前記判定の結果、記録されていなければ前記送信オブジェクトが未受信のパラメータを送信しようとしている旨の不整合の検出結果を記憶装置に記録する第4のステップと、
取得したメッセージのパラメータを当該メッセージを受信したオブジェクトである受信オブジェクトに対応する受信バッファに記録する第5のステップと、
取得したメッセージのパラメータを前記受信オブジェクトに対応する送信バッファから削除する第6のステップと、
仕様書/設計書中の全てのメッセージを取得し終わるまで第1乃至第6のステップを繰り返す第7のステップと、
オブジェクト毎に送信バッファの記録内容と受信バッファの記録内容とを比較する第8のステップと、
前記比較の結果、同一でない場合は未使用なパラメータが存在する旨の不整合を記憶装置に記録する第9のステップとを実行する
ことを特徴とするソフトウェア仕様書/設計書の不整合検出方法。
A software operation is expressed by an object that is the subject of the operation, a message name indicating the content of the operation, and a parameter indicating information used for the operation, and messages arranged in time series between the objects. A method for detecting a mismatch between specifications / designs using a computer including at least a storage device and an arithmetic processing unit,
The computer processing unit is
A first step of acquiring messages from a specification / design document stored in a storage device in chronological order;
A second step of determining whether or not the parameters of the acquired message are recorded in a reception buffer corresponding to a transmission object that is an object that has transmitted the message;
A third step of recording the parameter in a transmission buffer corresponding to the transmission object if it is recorded as a result of the determination;
As a result of the determination, a fourth step of recording in a storage device a detection result of inconsistency indicating that the transmission object is trying to transmit an unreceived parameter if it is not recorded;
A fifth step of recording the parameters of the acquired message in a reception buffer corresponding to a reception object that is an object that has received the message;
A sixth step of deleting the parameters of the acquired message from the transmission buffer corresponding to the receiving object;
A seventh step of repeating the first to sixth steps until all the messages in the specification / design document are obtained;
An eighth step of comparing the recording contents of the transmission buffer and the recording contents of the reception buffer for each object;
And a ninth step of recording inconsistency in the storage device that there is an unused parameter if they are not identical as a result of the comparison, a software specification / design inconsistency detection method comprising: .
JP2007033422A 2007-02-14 2007-02-14 Software specification / design inconsistency detection apparatus, program and method thereof Expired - Fee Related JP4849555B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2007033422A JP4849555B2 (en) 2007-02-14 2007-02-14 Software specification / design inconsistency detection apparatus, program and method thereof

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2007033422A JP4849555B2 (en) 2007-02-14 2007-02-14 Software specification / design inconsistency detection apparatus, program and method thereof

Publications (2)

Publication Number Publication Date
JP2008197975A JP2008197975A (en) 2008-08-28
JP4849555B2 true JP4849555B2 (en) 2012-01-11

Family

ID=39756849

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2007033422A Expired - Fee Related JP4849555B2 (en) 2007-02-14 2007-02-14 Software specification / design inconsistency detection apparatus, program and method thereof

Country Status (1)

Country Link
JP (1) JP4849555B2 (en)

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH09233150A (en) * 1996-02-27 1997-09-05 Toshiba Corp Sequence chart creation device
AU1735701A (en) * 2000-12-08 2002-06-18 Fujitsu Ltd Sequence analysis method and sequence analysis apparatus

Also Published As

Publication number Publication date
JP2008197975A (en) 2008-08-28

Similar Documents

Publication Publication Date Title
US10997717B2 (en) Method and system for generating a confidence score using deep learning model
US20060085132A1 (en) Method and system to reduce false positives within an automated software-testing environment
US8079001B2 (en) Verification of requirements specification, design specification, and computer-readable storage medium apparatus, and method thereof
CN110633198A (en) Block chain-based software test data storage method and system
CN110210807A (en) Stock-taking method, equipment and storage medium
CN114866447B (en) Automatic test method and device for message receiving and sending of vehicle controller
CN117194216A (en) Test case generation method, device, computer equipment and storage medium
JP2009099111A (en) Rule inspection program, rule inspection method, and rule inspection device
JP4849555B2 (en) Software specification / design inconsistency detection apparatus, program and method thereof
CN112232031B (en) Power Internet of Things edge data model verification method, device and storage medium
CN114895877A (en) Method and device for modularly creating enterprise ERP (Enterprise resource planning) based on low codes of webpage
US20260119127A1 (en) Physical components using data element mapping and analysis
JP2015197853A (en) Information processing device and information processing program
CN111858386A (en) Data testing method, apparatus, computer equipment and storage medium
US9569061B2 (en) System and method for organizing field data obtained through a plurality of devices
CN112445461B (en) Business rule generation method and device, electronic equipment and readable storage medium
CN119025432A (en) Method and device for generating interface test cases
JP2013506183A (en) General-purpose handling of Daicom structured report contents
CN105653445A (en) Implementation method capable of meeting DO-178C test result
CN117873547A (en) Data development management method, device, computer equipment and storage medium
CN117172720A (en) Audit doubt tracking and troubleshooting methods, systems, computer equipment and storage media
CN113239408B (en) Electronic signature system, method, device, equipment and storage medium
CN107122683A (en) A kind of date storage method, data integrity verifying method and application server
CN115272714B (en) Multimedia file acceptance methods and systems
CN119377173B (en) Data storage method, device, terminal equipment and computer readable storage medium

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20090114

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20110613

RD02 Notification of acceptance of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7422

Effective date: 20110614

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20110615

RD03 Notification of appointment of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7423

Effective date: 20110616

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20110714

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110720

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110830

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20111013

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20111013

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20141028

Year of fee payment: 3

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

LAPS Cancellation because of no payment of annual fees