JP5644599B2 - オブジェクト指向モデル設計支援装置 - Google Patents

オブジェクト指向モデル設計支援装置 Download PDF

Info

Publication number
JP5644599B2
JP5644599B2 JP2011056077A JP2011056077A JP5644599B2 JP 5644599 B2 JP5644599 B2 JP 5644599B2 JP 2011056077 A JP2011056077 A JP 2011056077A JP 2011056077 A JP2011056077 A JP 2011056077A JP 5644599 B2 JP5644599 B2 JP 5644599B2
Authority
JP
Japan
Prior art keywords
class
diagram
information
creating
event
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.)
Active
Application number
JP2011056077A
Other languages
English (en)
Other versions
JP2012194616A (ja
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.)
Fuji Electric Co Ltd
Original Assignee
Fuji Electric Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fuji Electric Co Ltd filed Critical Fuji Electric Co Ltd
Priority to JP2011056077A priority Critical patent/JP5644599B2/ja
Publication of JP2012194616A publication Critical patent/JP2012194616A/ja
Application granted granted Critical
Publication of JP5644599B2 publication Critical patent/JP5644599B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Description

本発明は、オブジェクト指向分析・設計手法を用いて設計されたソフトウェア図面を編集・表示することが可能なオブジェクト指向モデル設計支援装置に関する。
オブジェクト指向をベースとするシステム開発において、分析・設計段階ではシステムの構造をソースコードよりも抽象化した形でモデリングする必要がある。モデリングとは、対象をある目的または観点から眺め、整理し表現することであり、このモデリングした結果作成されたものをモデルと呼ぶ。
モデリングの表記方法を統一化することにより、分析の明確化や適切な設計、情報の共有化・再利用を行うことがきる。
統一モデリング言語としてUML(Unified Modeling Language)が知られている。UMLは、業務及びソフトウェアを記述するための図式記法として、オブジェクト指向の標準化団体である米国のOMG(オブジェクト・マネジメント・グループ)で制定された規格である。既に、デファクトスタンダードとして世界で受け入れられており、国際規格(ISO/IEC 19501)としても制定されている。
また、UMLはグラフィカルな記述で抽象化したシステムのモデルを生成する汎用モデリング言語であり、その実施において、複数種類の図が用いられている。UMLで用いられる図(以降、UMLモデル図と表記する)は、開発対象システムの分析や設計を行う際に作成される。また、UMLモデル図は、システムの静的な構造をモデルで表現する構造図とシステムの振る舞いをモデルで表現する振る舞い図に大別される。
構造図としては、クラス図、オブジェクト図などがある。振る舞い図としては、ステートマシン図(ステートチャート図や状態遷移図とも表現される)、シーケンス図、などがある。
ところで、従来のオブジェクト指向をベースとするソフトウェア開発においては、市販のUMLモデリングツールを用いて、UMLモデル図を作成し、作成したUMLモデル図からプログラムコードを自動生成することで、ソフトウェアの生産性向上が図られてきた。
また、UMLモデリングツールは、UMLモデル図の作成を支援する機能を有している。例えば、市販のUMLモデリングツールであるスパークスシステムズジャパン社製「Enterprise Architect」では、シーケンス図の作成を支援する機能として、本来、シーケンス図で作成すべき「メッセージ」をクラス図で定義されている「操作」(メソッド)の一覧の中から選択することが可能となっている。
また、特許文献1では、クラス図とシーケンス図の情報を基にしてステートマシン図の設計を支援するオブジェクト指向モデル設計支援装置を提供している。
特開2007−94833号公報
しかしながら、上述した市販のモデリングツールは、クラス図の情報を基にしてシーケンス図の設計を支援する機能であり、オブジェクト図やステートマシン図の設計を支援する機能はない。また、特許文献1では、クラス図とシーケンス図の情報を基にしてステートマシン図の設計を支援する装置であり、オブジェクト図やシーケンス図の設計を支援することについては何ら記載されていない。また、特許文献1では、ステートマシン図内の「アクション」の設計のみを対象としており、ステートマシン図のモデル設計については何ら記載されていない。
従って、市販のモデリングツールや特許文献1の技術では、クラスの関係、オブジェクトの関係、あるオブジェクトの状態遷移、オブジェクト同士のメッセージのやり取りなどを設計する場合、複数種類のUMLモデル図の設計を行う必要があり、トータルの作業効率としてはあまり良くならない。
本発明は、かかる点に鑑みてなされたものであり、その目的とするところは、関係するUMLモデル図の情報からクラス図、オブジェクト図、ステートマシン図、シーケンス図の設計を支援する装置を提供することを目的とする。
本発明におけるオブジェクト指向モデル設計支援装置は、クラス図を作成するクラス図作成手段、クラス図からクラス一覧を抽出するクラス抽出手段、クラス図から抽出されたクラス一覧を保持するクラス保持手段、クラス図から各クラスの処理関数一覧を抽出する処理関数抽出手段、クラス図から抽出された各クラスの処理関数一覧を保持する処理関数保持手段、クラス図から各クラスのイベント一覧を抽出するイベント抽出手段、クラス図から抽出された各クラスのイベント一覧を保持するイベント保持手段、オブジェクト図を作成するオブジェクト図作成手段、オブジェクト図からオブジェクト一覧を抽出するオブジェクト抽出手段、オブジェクト図から抽出されたオブジェクト一覧を保持するオブジェクト保持手段、ステートマシン図を作成するステートマシン図作成手段、ステートマシン図から状態一覧を抽出する状態抽出手段、ステートマシン図から抽出された状態一覧を保持する状態保持手段、及び、シーケンス図を作成するシーケンス図作成手段から構成される。
前記クラス図作成手段は、エディタなどの入力装置によって、開発対象システムのクラス構造を表現するクラス図を作成する手段である。前記クラス抽出手段は、クラス図からクラス一覧を抽出する手段である。前記クラス保持手段は、クラス抽出手段により抽出されたクラス一覧を保持する手段である。前記処理関数抽出手段は、クラス図から各クラスの処理関数一覧を抽出する手段である。前記処理関数保持手段は、処理関数抽出手段により抽出された処理関数一覧を保持する手段である。前記イベント抽出手段は、クラス図から各クラスのイベント一覧を抽出する手段である。前記イベント保持手段は、イベント抽出手段により抽出されたイベント一覧を保持する手段である。
前記オブジェクト図作成手段は、エディタなどの入力装置によって、開発対象システムのオブジェクト構造を表現するオブジェクト図を作成する手段である。さらに、オブジェクト図作成手段は、オブジェクトの属するクラスを入力する際にクラス保持手段に保持されているクラス一覧から選択する手段を有する。前記オブジェクト抽出手段は、オブジェクト図からオブジェクト一覧を抽出する手段である。前記オブジェクト保持手段は、オブジェクト抽出手段により抽出されたオブジェクト一覧を保持する手段である。
前記ステートマシン図作成手段は、エディタなどの入力装置によって、開発対象システムの各クラスにおける状態の変化を表現するステートマシン図を作成する手段である。さらに、ステートマシン図作成手段は、遷移の処理関数を入力する際に処理関数保持手段に保持されている処理関数一覧から選択する手段を有する。また、ステートマシン図作成手段は、遷移のイベントを入力する際にイベント保持手段に保持されているイベント一覧から選択する手段を有する。前記状態抽出手段は、ステートマシン図から状態一覧を抽出する手段である。前記状態保持手段は、状態抽出手段により抽出された状態一覧を保持する手段である。
前記シーケンス図作成手段は、エディタなどの入力装置によって、開発対象システムのオブジェクト間のメッセージの流れを表現するシーケンス図を作成する手段である。さらに、シーケンス図作成手段は、ライフラインを入力する際にオブジェクト保持手段に保持されているオブジェクト一覧から選択する手段を有する。また、シーケンス図作成手段は、メッセージを入力する際に状態保持手段に保持されている状態一覧とイベント保持手段に保持されているイベント一覧、または、処理関数保持手段に保持されている処理関数一覧、または、イベント保持手段に保持されているイベント一覧から選択する手段を有する。
なお、ここでは、クラス図作成手段、クラス抽出手段、クラス保持手段、処理関数抽出手段、処理関数保持手段、イベント抽出手段、イベント保持手段、オブジェクト図作成手段、オブジェクト抽出手段、オブジェクト保持手段、ステートマシン図作成手段、状態抽出手段、状態保持手段、及び、シーケンス図作成手段は別々の手段としているが、全てを同一の環境で実現できる手段であってもよい。
また、ここでは、装置として表現されているが、方法、プログラム、コンピュータ読み取り可能な記憶媒体などにより実現されるとしてもよい。
本発明によれば、オブジェクト指向をベースとするソフトウェア開発において、開発者はモデル図作成の際に作成済みのモデル図の情報から必要な情報を抽出し、抽出された情報を選択することにより他の複数種類のモデル図を作成することが可能となるため、モデル設計作業が軽減され、ソフトウェア開発のトータル作業効率を削減することができる。
また、本発明により、モデル図作成時の情報入力はその大半が表示された情報を選択することで入力可能であるため、文字入力時のタイプミスや入力漏れをなくすことができる。
本発明におけるオブジェクト指向モデル設計支援装置の一実施例を示す図である。 クラス図の一実施例を示す図である。 クラス一覧の一実施例を示す図である。 処理関数一覧の一実施例を示す図である。 イベント一覧の一実施例を示す図である。 オブジェクト作成画面の一実施例を示す図である。 オブジェクト作成時のクラス選択画面の一実施例を示す図である。 オブジェクト図の一実施例を示す図である。 オブジェクト一覧の一実施例を示す図である。 遷移作成画面の一実施例を示す図である。 遷移作成時のイベント選択画面の一実施例を示す図である。 遷移作成時の処理関数選択画面の一実施例を示す図である。 ステートマシン図(クラス名が”ClassA”であるクラス)の一実施例を示す図である。 ステートマシン図(クラス名が”ClassB”であるクラス)の一実施例を示す図である。 ステートマシン図(クラス名が”ClassC”であるクラス)の一実施例を示す図である。 状態一覧の一実施例を示す図である。 ライフライン作成画面の一実施例を示す図である。 ライフライン作成時のオブジェクト選択画面の一実施例を示す図である。 メッセージ終了点からライフラインへのメッセージ作成画面の一実施例を示す図である。 メッセージ終了点からライフラインへのメッセージ作成時の状態選択画面の一実施例を示す図である。 メッセージ終了点からライフラインへのメッセージ作成時のイベント選択画面の一実施例を示す図である。 メッセージ終了点からライフラインへのメッセージ作成時の処理関数選択画面の一実施例を示す図である。 ライフラインからライフラインへのメッセージ作成画面の一実施例を示す図である。 ライフラインからライフラインへのメッセージ作成時のイベント選択画面の一実施例を示す図である。 シーケンス図の一実施例を示す図である。
以下、本発明の実施の形態について、詳細に説明する。
<オブジェクト指向モデル設計支援装置の機能構成と概要>
図1は、本発明におけるオブジェクト指向モデル設計支援装置の一実施例を示す図である。
図1に示すように、オブジェクト指向モデル設計支援装置の機能は、エディタなどの入力装置によって開発対象システムのクラス構造を表現するクラス図2を作成するクラス図作成手段1、クラス図からクラス一覧を抽出するクラス抽出手段3、クラス図から抽出されたクラス一覧を保持するクラス保持手段6、クラス図2から各クラスの処理関数一覧を抽出する処理関数抽出手段4、クラス図2から抽出された各クラスの処理関数一覧を保持する処理関数保持手段7、クラス図2から各クラスのイベント一覧を抽出するイベント抽出手段5、クラス図から抽出された各クラスのイベント一覧を保持するイベント保持手段8、エディタなどの入力装置によって開発対象システムのオブジェクト構造を表現するオブジェクト図10を作成するオブジェクト図作成手段9、オブジェクト図10からオブジェクト一覧を抽出するオブジェクト抽出手段11、オブジェクト図10から抽出されたオブジェクト一覧を保持するオブジェクト保持手段12、エディタなどの入力装置によって開発対象システムの各クラスにおける状態の変化を表現するステートマシン図14を作成するステートマシン図作成手段13、ステートマシン図14から状態一覧を抽出する状態抽出手段15、ステートマシン図14から抽出された状態一覧を保持する状態保持手段16、及び、エディタなどの入力装置によって開発対象システムのオブジェクト間のメッセージの流れを表現するシーケンス図18を作成するシーケンス図作成手段17とで構成されている。
<オブジェクト指向モデル設計支援装置のハードウェア構成>
また、図示はしていないが、オブジェクト指向モデル設計支援装置本体20は上述した機能を実現するために、一般的なコンピュータのハードウェア資源として、例えば、CPU、記憶装置、入出力装置、各種インターフェースなど、を周知の構成として備えており、また当然ながら、前記ごとき機能を実現させるためのプログラムを前記記憶装置内に格納している。クラス保持手段6、処理関数保持手段7、イベント保持手段8、オブジェクト保持手段12、状態保持手段16およびクラス図2、オブジェクト図10、ステートマシン図14、シーケンス図18を表示させるための情報の保持手段(図示せず)は上述の記憶装置により実現され、また、クラス図作成手段1、クラス抽出手段3、処理関数抽出手段4、イベント抽出手段5、オブジェクト図作成手段9、オブジェクト抽出手段11、ステートマシン図作成手段13、状態抽出手段15、シーケンス図作成手段17は、上述のCPU、記憶装置、各種インターフェース等のハードウェア資源と実行する各種プログラムにより実現される。
さらに、オブジェクト指向モデル設計支援装置は、キーボード、マウス、タッチパネル等のインターフェースを用いて実現される入力手段30と、液晶または有機EL等からなる表示パネルや音声出力用のスピーカー等を有し、各種情報を表示する表示手段40を備える。
また、入力手段30及び表示手段40は、オブジェクト指向モデル設計支援装置本体20のクライアント端末(図示せず)にその機能があってもよい。このときは、ネットワークを介してオブジェクト指向モデル設計支援装置本体20とクライアント端末が通信可能に接続されている。なお、ネットワークは、有線、無線を問わず既存の公衆網、LAN、WANなどを用いることができる。
<クラス図作成−抽出−保持>
図2は、本発明におけるクラス図の一例を示す図である。クラス図は、クラス図作成手段1を用いて作成される。
図2は、本発明におけるクラス図の一実施例を示す図である。クラス図は、クラス図作成手段1を用いて作成される。
図2に示すように、各クラスは、クラス名、属性、及び、操作を持つ。また、操作は、ステレオタイプなどを使用し、処理関数とイベントに分類される。
図2に示す例では、クラス名が”ClassA”であるクラスは、属性として、int型である変数”a”、及び、char型である変数”b”を持つ。また、処理関数として、返り値の型が”void”である処理関数”Ma1”、及び、”Ma2”を持つ。また、イベントとして、返り値の型が”void”であるイベント”Ea1”、”Ea2”、及び、”Ea3”を持つ。
さらに、クラス名が”ClassB”であるクラスは、属性を持っていない。また、処理関数として、返り値の型が”void”である処理関数”Mb1”を持つ。また、イベントとして、返り値の型が”void”であるイベント”Eb1”、及び、”Eb2”を持つ。
さらに、クラス名が”ClassC”であるクラスは、属性を持っていない。また、処理関数として、返り値の型が”void”である処理関数”Mc1”、”Mc3”、及び、”Mc4”を持つ。また、イベントとして、返り値の型が”void”であるイベント”Ec1”、”Ec2”、”Ec3”、及び、”Ec4”を持つ。
ここで、クラス名、属性名、処理関数名、及び、イベント名は、モデル設計者が文字列を入力する。
図3は、本発明におけるクラス一覧の一実施例を示す図である。クラス一覧(クラス情報)は、クラス抽出手段3によりクラス図から抽出され、クラス保持手段6に保持される。
図4は、本発明における処理関数一覧の一実施例を示す図である。処理関数一覧(処理関数情報)は、処理関数抽出手段4によりクラス図から抽出され、処理関数保持手段7に保持される。
図5は、本発明におけるイベント一覧の一実施例を示す図である。イベント一覧(イベント情報)は、イベント抽出手段5によりクラス図から抽出され、イベント保持手段8に保持される。
<オブジェクト図作成−抽出−保持>
図6は、本発明におけるオブジェクト図作成手段9を用いてオブジェクトを作成する際のオブジェクト作成画面の一実施例を示す図である。
図7は、本発明におけるオブジェクト図作成手段9を用いてオブジェクトを作成する際のクラス選択画面の一実施例を示す図である。
図7に示すように、クラス選択の際にはクラス保持手段6に保持されているクラス一覧をリスト表示する。
図7に示す例では、図3に示すクラス一覧がリスト表示されている。図6、図7に示すように、オブジェクトを作成する際にはオブジェクト名を入力し、クラスをリストから選択する。
図8は、本発明におけるオブジェクト図の一実施例を示す図である。オブジェクト図は、オブジェクト図作成手段9を用いて作成される。
図8に示すように、各オブジェクトは、オブジェクト名、及び、クラス名によって表現される。
図8に示す例では、オブジェクト名が”objectA1”であるオブジェクトとオブジェクト名が”objectA2”であるオブジェクトは、クラス名が”ClassA”であるクラスのインスタンスであることを示している。
さらに、オブジェクト名が”objectB1”であるオブジェクトは、クラス名が”ClassB”であるクラスのインスタンスであることを示している。
さらに、オブジェクト名が”objectC1”であるオブジェクトは、クラス名が”ClassC”であるクラスのインスタンスであることを示している。
ここで、オブジェクト名は、モデル設計者が文字列を入力する。つまり、図8のオブジェクト図作成手順は、図6のクラス選択画面からオブジェクト名に、”objectA1”を入力し、オブジェクト名に対応するクラスに図7のクラス一覧から”ClassA”を選択することで図8の”objectA1:ClassA”を作成する。同様にして他のオブジェクトについても入力及び選択することで図8に示すオブジェクト図が作成できる。
図9は、本発明におけるオブジェクト一覧の一実施例を示す図である。オブジェクト一覧(オブジェクト情報)は、オブジェクト抽出手段11によりオブジェクト図から抽出され、オブジェクト保持手段12に保持される。図9は、図8に示すオブジェクト図に係るオブジェクト一覧である。
<ステートマシン図作成−抽出−保持>
図10は、本発明におけるステートマシン図作成手段13を用いて遷移を作成する際の遷移作成画面の一実施例を示す図である。
図11は、本発明におけるステートマシン図作成手段13を用いてクラス名が”ClassA”であるクラスのステートマシン図の遷移を作成する際のイベント選択画面の一実施例を示す図である。
図11に示すように、イベント選択の際にはイベント保持手段8に保持されているイベント一覧をリスト表示する。
図11に示す例では、図5に示すイベント一覧のうちクラス名が”ClassA”であるクラスのイベント一覧がリスト表示されている。
図12は、本発明におけるステートマシン図作成手段13を用いてクラス名が”ClassA”であるクラスのステートマシン図の遷移を作成する際の処理関数選択画面の一実施例を示す図である。
図12に示すように、処理関数選択の際には処理関数保持手段7に保持されている処理関数一覧をリスト表示する。
図12に示す例では、図4に示す処理関数一覧のうちクラス名が”ClassA”であるクラスの処理関数一覧がリスト表示されている。ただし、処理関数は無処理(何も処理しない)の場合もあるため、リストの最後に空白が表示されている。
図10、図11、及び、図12に示すように、遷移を作成する際にはイベントと処理関数をリストから選択する。
図13、図14、及び、図15は、本発明におけるステートマシン図の一実施例を示す図である。また、図13はクラス名が”ClassA”であるクラスのステートマシン図であり、図14はクラス名が”ClassB”であるクラスのステートマシン図であり、図15はクラス名が”ClassC”であるクラスのステートマシン図である。ステートマシン図は、ステートマシン図作成手段13を用いて作成される。
図13、図14、及び、図15に示すように、各ステートマシン図は、開始(図中に●で表示)、状態、及び、遷移を持つ。
図13に示す例では、状態として、”StateA1”、”StateA2”、及び、”StateA3”を持ち、初期状態(開始からの遷移で表現される)は”StateA1”である。また、遷移として、3つの遷移を持つ。1つ目の遷移では、”StateA1”の状態でイベント”Ea1”を受け取ると、処理関数”Ma1”を実行し、”StateA2”へ状態を遷移する。2つ目の遷移では、”StateA2”の状態でイベント”Ea2”を受け取ると、処理関数”Ma2”を実行し、”StateA3”へ状態を遷移する。3つ目の遷移では、”StateA3”の状態でイベント”Ea3”を受け取ると、何も処理を実行することなく、”StateA1”へ状態を遷移する。
図14に示す例では、状態として、”StateB1”、及び、”StateB2”を持ち、初期状態は”StateB1”である。また、遷移として、2つの遷移を持つ。1つ目の遷移では、”StateB1”の状態でイベント”Eb1”を受け取ると、処理関数”Mb1”を実行し、”StateB2”へ状態を遷移する。2つ目の遷移では、”StateB2”の状態でイベント”Eb2”を受け取ると、処理関数”Mb1”を実行し、”StateB1”へ状態を遷移する。
図15に示す例では、状態として、”StateC1”、”StateC2”、”StateC3”、及び、”StateC4”を持ち、初期状態は”StateC1”である。また、遷移として、6つの遷移を持つ。1つ目の遷移では、”StateC1”の状態でイベント”Ec1”を受け取ると、処理関数”Mc1”を実行し、”StateC2”へ状態を遷移する。2つ目の遷移では、”StateC1”の状態でイベント”Ec3”を受け取ると、処理関数”Mc3”を実行し、”StateC4”へ状態を遷移する。3つ目の遷移では、”StateC2”の状態でイベント”Ec2”を受け取ると、何も処理を実行することなく、”StateC3”へ状態を遷移する。4つ目の遷移では、”StateC3”の状態でイベント”Ec3”を受け取ると、何も処理を実行することなく、”StateC4”へ状態を遷移する。5つ目の遷移では、”StateC4”の状態でイベント”Ec1”を受け取ると、処理関数”Mc1”を実行し、”StateC2”へ状態を遷移する。6つ目の遷移では、”StateC4”の状態でイベント”Ec4”を受け取ると、処理関数”Mc4”を実行し、状態は遷移しない。
ここで、状態名は、モデル設計者が文字列を入力する。つまり、図13のステートマシン図の作成手順は、クラス名が”ClassA”の状態”StateA1”を入力し、”StateA1”から次の状態”StateA2”に遷移させたい場合、状態遷移作成画面を表示させ、イベントに図11のイベント一覧から”Ea1”を選択し、対応する処理関数に図12の処理関数一覧から”Ma1”を選択することで図13の状態”StateA1”から次の状態”StateA2”に遷移する図が作成できる。同様にして他の遷移についても入力及び選択することで図13に示すステートマシン図ができあがる。図14、図15のステートマシン図を作成する場合も、上述した図13の作成手順と同様である。
図16は、本発明における状態一覧の一実施例を示す図である。状態一覧(状態情報)は、状態抽出手段15によりステートマシン図から抽出され、状態保持手段16に保持される。図16は、図13、図14、図15に示すステートマシン図に係る状態一覧である。
<シーケンス図作成>
図17は、本発明におけるシーケンス図作成手段17を用いてライフラインを作成する際のライフライン作成画面の一実施例を示す図である。
図18は、本発明におけるシーケンス図作成手段17を用いてライフラインを作成する際のオブジェクト選択画面の一実施例を示す図である。
図18に示すように、オブジェクト選択の際にはオブジェクト保持手段12に保持されているオブジェクト一覧をリスト表示する。
図18に示す例では、図9に示すオブジェクト一覧がリスト表示されている。
図17、図18に示すように、ライフラインを作成する際にはオブジェクトをリストから選択する。
図19は、本発明におけるシーケンス図作成手段17を用いてメッセージ終了点からライフラインへのメッセージを作成する際のメッセージ終了点からライフラインへのメッセージ作成画面の一実施例を示す図である。
図20は、本発明におけるシーケンス図作成手段17を用いてメッセージ終了点からクラス名が”ClassC”であるクラスのインスタンスであるオブジェクト(ライフライン)へのメッセージを作成する際の状態選択画面の一実施例を示す図である。
図20に示すように、状態選択の際には状態保持手段16に保持されている状態一覧をリスト表示する。
図20に示す例では、図16に示す状態一覧のうちクラス名が”ClassC”であるクラスの状態一覧がリスト表示されている。
図21は、本発明におけるシーケンス図作成手段17を用いてメッセージ終了点からクラス名が”ClassC”であるクラスのインスタンスであるオブジェクト(ライフライン)へのメッセージを作成する際のイベント選択画面の一実施例を示す図である。
図21に示すように、イベント選択の際にはイベント保持手段8に保持されているイベント一覧をリスト表示する。
図21に示す例では、図5に示すイベント一覧のうちクラス名が”ClassC”であるクラスのイベント一覧がリスト表示されている。
図22は、本発明におけるシーケンス図作成手段17を用いてメッセージ終了点からクラス名が”ClassC”であるクラスのインスタンスであるオブジェクト(ライフライン)へのメッセージを作成する際の処理関数選択画面の一実施例を示す図である。
図22に示すように、処理関数選択の際には処理関数保持手段7に保持されている処理関数一覧をリスト表示する。
図22に示す例では、図4に示す処理関数一覧のうちクラス名が”ClassC”であるクラスの処理関数一覧がリスト表示されている。
図19、図20、図21、及び、図22に示すように、メッセージ終了点からライフラインへのメッセージを作成する際には「状態/イベント」、または、「処理関数」を選択した後、「状態/イベント」を選択した際には状態とイベントを、「処理関数」を選択した際には処理関数をリストから選択する。
図23は、本発明におけるシーケンス図作成手段17を用いてライフラインからライフラインへのメッセージを作成する際のライフラインからライフラインへのメッセージ作成画面の一実施例を示す図である。
図24は、本発明におけるシーケンス図作成手段17を用いてライフラインからクラス名が”ClassB”であるクラスのインスタンスであるオブジェクト(ライフライン)へのメッセージを作成する際のイベント選択画面の一実施例を示す図である。
図24に示すように、イベント選択の際にはイベント保持手段8に保持されているイベント一覧をリスト表示する。
図24に示す例では、図5に示すイベント一覧のうちクラス名が”ClassB”であるクラスのイベント一覧がリスト表示されている。
図23、図24に示すように、ライフラインからライフラインへのメッセージを作成する際にはイベントをリストから選択する。
図25は、本発明におけるシーケンス図の一実施例を示す図である。シーケンス図は、シーケンス図作成手段17を用いて作成される。
図25に示すように、シーケンス図は、メッセージ終了点(図中に●で表示)、ライフライン、及び、メッセージを持つ。また、各シーケンスは、メッセージ終了点からあるライフライン(以降、ライフライン1と表記する)に対してメッセージを送信し、そのメッセージを送信されたライフライン1からあるライフライン(以降、ライフライン2と表記する)に対してメッセージを送信するように表記される。
図25に示す例では、1つ目のシーケンスでは、オブジェクト名が”objectA1”であるオブジェクトが”StateA1”の状態でイベント”Ea1”を受け取ると、オブジェクト名が”objectB1”であるオブジェクトに対してイベント”Eb1”を送信し、オブジェクト名が”objectC1”であるオブジェクトに対してイベント”Ec1”を送信する。
2つ目のシーケンスでは、オブジェクト名が”objectA2”であるオブジェクトが”StateA1”の状態でイベント”Ea1”を受け取ると、オブジェクト名が”objectB1”であるオブジェクトに対してイベント”Eb1”を送信する。
3つ目のシーケンスでは、オブジェクト名が”objectA2”であるオブジェクトが”StateA2”の状態でイベント”Ea2”を受け取ると、オブジェクト名が”objectB1”であるオブジェクトに対してイベント”Eb2”を送信し、オブジェクト名が”objectC1”であるオブジェクトに対してイベント”Ec2”を送信する。
4つ目のシーケンスでは、オブジェクト名が”objectB1”であるオブジェクトが”StateB1”の状態でイベント”Eb2”を受け取ると、オブジェクト名が”objectA1”であるオブジェクトに対してイベント”Ea3”を送信し、オブジェクト名が”objectA2”であるオブジェクトに対してイベント”Ea3”を送信する。
5つ目のシーケンスでは、オブジェクト名が”objectC1”であるオブジェクトが処理関数”Mc1”を実行すると、オブジェクト名が”objectA1”であるオブジェクトに対してイベント”Ea2”を送信し、オブジェクト名が”objectA2”であるオブジェクトに対してイベント”Ea2”を送信し、オブジェクト名が”objectB1”であるオブジェクトに対してイベント”Eb1”を送信する。
図25のシーケンス図作成手順は、図17のライフライン作成画面でオブジェクトに図18のオブジェクト一覧から ”objectA1”を選択し、図19のメーセージ作成画面で「状態/イベント」を選択し、状態一覧(図示せず)から状態”StateA1”を選択し、イベント一覧(図示せず)からイベント”Ea1”を選択することで図25のメッセージ終了点(図中に●で表示)から”objectA1”のライフラインまでのシーケンス図が作成できる。
さらに、図23のライフラインからライフラインへのメッセージ作成画面で図24のイベント一覧からイベント”Eb1”を選択することで”objectA1”のライフラインから”objectB1”のライフラインへのシーケンス図が作成できる。同様にして他のライフライン間及びメッセージ終了点からライフラインまでの作成を行っていくことで図25に示すシーケンス図ができあがる。
<実施例の効果>
上述した本実施例によれば、本発明のオブジェクト指向モデル設計支援装置の適用により、オブジェクト指向をベースとするソフトウェア開発において、開発者はモデル図作成の際に作成済みのモデル図の情報から必要な情報を抽出し、抽出された情報を選択することにより他の複数種類のモデル図を作成することが可能となるため、モデル設計作業が軽減され、ソフトウェア開発のトータル作業効率を削減することができる。
また、本発明により、モデル図作成時の情報入力はその大半が表示された情報を選択することで入力可能であるため、文字入力時のタイプミスや入力漏れをなくすことができる。
具体的にはエディタなどの入力装置によって開発対象システムのクラス構造を表現するクラス図を作成すると、その情報はクラス情報、処理関数情報、イベント情報として記憶装置内に保持され、オブジェクト図を作成する場合、保持されているクラス情報を表示させ、その中から選択することで情報が入力できる。
また、ステートマシン図を作成する場合、保持されている処理関数情報またはイベント情報を表示させ、その中から選択することで情報が入力できる。さらに、シーケンス図を作成する場合、保持されているオブジエクト情報または処理関数情報またはイベント情報または状態情報を表示させ、その中から選択することで情報が入力できる。
このように開発対象システムで複数種類の関係するUMLモデル図を作成する場合、特に効果が大きい。
1 クラス図作成手段
2 クラス図
3 クラス抽出手段
4 処理関数抽出手段
5 イベント抽出手段
6 クラス保持手段
7 処理関数保持手段
8 イベント保持手段
9 オブジェクト図作成手段
10 オブジェクト図
11 オブジェクト抽出手段
12 オブジェクト保持手段
13 ステートマシン図作成手段
14 ステートマシン図
15 状態抽出手段
16 状態保持手段
17 シーケンス図作成手段
18 シーケンス図
20 オブジェクト指向モデル設計支援装置本体
30 入力手段
40 表示手段

Claims (11)

  1. UMLモデル図を生成するオブジェクト指向モデル設計支援装置であって、
    開発対象システムのクラス図を作成するクラス図作成手段と、
    前記クラス図の情報からクラスを一覧にしたクラス情報を抽出するクラス抽出手段と、
    前記抽出したクラス情報を記憶するクラス保持手段と、
    前記記憶しているクラス情報を基にオブジェクト図を作成するオブジェクト図作成手段と、
    前記オブジェクト図の情報から各クラスのオブジェクト情報を抽出するオブジェクト抽出手段と、
    前記抽出したオブジェクト情報を記憶するオブジェクト保持手段と、
    前記記憶しているオブジェクト情報を基にシーケンス図を作成するシーケンス図作成手段とを備えることを特徴とするオブジェクト指向モデル設計支援装置。
  2. UMLモデル図を生成するオブジェクト指向モデル設計支援装置であって、
    開発対象システムのクラス図を作成するクラス図作成手段と、
    前記クラス図の情報から各クラスの処理関数情報を抽出する処理関数抽出手段と、
    前記抽出した処理関数情報を記憶する処理関数保持手段と、
    前記記憶している処理関数情報を基にシーケンス図を作成するシーケンス図作成手段とを備えることを特徴とするオブジェクト指向モデル設計支援装置
  3. UMLモデル図を生成するオブジェクト指向モデル設計支援装置であって、
    開発対象システムのクラス図を作成するクラス図作成手段と、
    前記クラス図の情報から各クラスのイベント情報を抽出するイベント抽出手段と、
    前記抽出したイベント情報を記憶するイベント保持手段と、
    前記記憶しているイベント情報を基にシーケンス図を作成するシーケンス図作成手段とを備えることを特徴とするオブジェクト指向モデル設計支援装置
  4. UMLモデル図を生成するオブジェクト指向モデル設計支援装置であって、
    開発対象システムのクラス図を作成するクラス図作成手段と、
    前記クラス図の情報から各クラスの処理関数情報を抽出する処理関数抽出手段と、各クラスのイベント情報を抽出するイベント抽出手段と、
    前記抽出した処理関数情報を記憶する処理関数保持手段と、前記抽出したイベント情報を記憶するイベント保持手段と、
    前記記憶している処理関数情報またはイベント情報を基にステートマシン図を作成するステートマシン図作成手段とを備えることを特徴とするオブジェクト指向モデル設計支援装置。
  5. 請求項4記載のオブジェクト指向モデル設計支援装置において、
    前記ステートマシン図の情報から各クラスの状態情報を抽出する状態抽出手段と、
    前記抽出した状態情報を記憶する状態保持手段と、
    更に、
    前記記憶している状態情報を基にシーケンス図を作成するシーケンス図作成手段とを備えることを特徴とするオブジェクト指向モデル設計支援装置。
  6. 請求項1記載のオブジェクト指向モデル設計支援装置において、
    前記オブジェクト図作成手段は、
    前記記憶しているクラス情報からクラスの選択リストを作成する手段と、
    前記作成した選択リストを表示する手段と、
    前記表示した選択リストからクラスを選択させる手段と、
    を備え、
    前記選択させたクラスを基にオブジェクト図を作成することを特徴とするオブジェクト指向モデル設計支援装置。
  7. 請求項1記載のオブジェクト指向モデル設計支援装置において、
    前記シーケンス図作成手段は、
    前記記憶しているオブジェクト情報からオブジェクトの選択リストを作成する手段と、
    前記作成した選択リストを表示する手段と、
    前記表示した選択リストからオブジェクトを選択させる手段と、
    を備え、
    前記選択させたオブジェクトを基にシーケンス図を作成することを特徴とするオブジェクト指向モデル設計支援装置。
  8. 請求項2記載のオブジェクト指向モデル設計支援装置において、
    前記シーケンス図作成手段は、
    前記記憶している処理関数情報から処理関数の選択リストを作成する手段と、
    前記作成した選択リストを表示する手段と、
    前記表示した選択リストから処理関数を選択させる手段と、
    を備え、
    前記選択させた処理関数を基にシーケンス図を作成することを特徴とするオブジェクト指向モデル設計支援装置。
  9. 請求項3記載のオブジェクト指向モデル設計支援装置において、
    前記シーケンス図作成手段は、
    前記記憶しているイベント情報からイベントの選択リストを作成する手段と、
    前記作成した選択リストを表示する手段と、
    前記表示した選択リストからイベントを選択させる手段と、
    を備え、
    前記選択させたイベントを基にシーケンス図を作成することを特徴とするオブジェクト指向モデル設計支援装置。
  10. 請求項4記載のオブジェクト指向モデル設計支援装置において、
    前記ステートマシン図作成手段は、
    前記記憶している処理関数情報またはイベント情報から処理関数またはイベントの選択リストを作成する手段と、
    前記作成した選択リストを表示する手段と、
    前記表示した選択リストから処理関数またはイベントを選択させる手段と、
    を備え、
    前記選択させた処理関数またはイベントを基にステートマシン図を作成することを特徴とするオブジェクト指向モデル設計支援装置。
  11. 請求項5記載のオブジェクト指向モデル設計支援装置において、
    前記シーケンス図作成手段は、
    前記記憶している状態情報から状態の選択リストを作成する手段と、
    前記作成した選択リストを表示する手段と、
    前記表示した選択リストから状態を選択させる手段と、
    を備え、
    前記選択させた状態を基にシーケンス図を作成することを特徴とするオブジェクト指向モデル設計支援装置。
JP2011056077A 2011-03-15 2011-03-15 オブジェクト指向モデル設計支援装置 Active JP5644599B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2011056077A JP5644599B2 (ja) 2011-03-15 2011-03-15 オブジェクト指向モデル設計支援装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2011056077A JP5644599B2 (ja) 2011-03-15 2011-03-15 オブジェクト指向モデル設計支援装置

Publications (2)

Publication Number Publication Date
JP2012194616A JP2012194616A (ja) 2012-10-11
JP5644599B2 true JP5644599B2 (ja) 2014-12-24

Family

ID=47086491

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2011056077A Active JP5644599B2 (ja) 2011-03-15 2011-03-15 オブジェクト指向モデル設計支援装置

Country Status (1)

Country Link
JP (1) JP5644599B2 (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6445533B2 (ja) * 2014-04-16 2018-12-26 株式会社アイ・エル・シー シーケンス図作成装置、シーケンス図作成方法およびシーケンス図作成プログラム
JP6623274B2 (ja) * 2018-11-29 2019-12-18 株式会社アイ・エル・シー シーケンス図作成装置、シーケンス図作成方法およびシーケンス図作成プログラム

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007094833A (ja) * 2005-09-29 2007-04-12 Canon Inc オブジェクト指向モデル設計支援装置
JP5056138B2 (ja) * 2007-04-20 2012-10-24 株式会社明電舎 ソフトウェア開発支援システム、開発支援方法およびプログラム

Also Published As

Publication number Publication date
JP2012194616A (ja) 2012-10-11

Similar Documents

Publication Publication Date Title
US8810576B2 (en) Manipulation and management of links and nodes in large graphs
US9021440B1 (en) System and method for automated test script generation
US9262158B2 (en) Reverse engineering user interface mockups from working software
Hamon et al. Formal description of multi-touch interactions
CN105528418B (zh) 一种设计文档生成方法及装置
WO2007045614A2 (en) Visualization of collaborative portlet sequences
US11681507B2 (en) Composable context menus
US20150067640A1 (en) Input suggestions for free-form text entry
US20210304142A1 (en) End-user feedback reporting framework for collaborative software development environments
US20120078809A1 (en) Integrating sub-processes in business process modeling notation processes
US8788248B2 (en) Transparent flow model simulation implementing bi-directional links
US10459696B2 (en) Composable action flows
US8819620B1 (en) Case management software development
JP5644599B2 (ja) オブジェクト指向モデル設計支援装置
US9280361B2 (en) Methods and systems for a real time transformation of declarative model and layout into interactive, digital, multi device forms
JP2013235508A (ja) オブジェクト指向プログラム生成装置、その方法、プログラム
JP2012048329A (ja) オブジェクト指向プログラム生成装置、その方法、プログラム
CN114217798A (zh) 数据库表单界面的代码生成方法和装置
Reiss et al. Tool demonstration: The visualizations of code bubbles
JP5948926B2 (ja) オブジェクト指向プログラム生成装置、プログラム
García Frey et al. Towards a multi-stakehoder engineering approach with adaptive modelling environments
Li et al. EML: A Tree Overlay-Based Visual Language for Business Process Modelling.
EP4030282A1 (en) Computing system and method for software architecture planning
Li et al. MaramaEML: an integrated multi-view business process modelling environment with tree-overlays, zoomable interfaces and code generation
Sarker JMVC: A Java Framework for Rapidly Developing Desktop Application Software Based on MVC

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20140214

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20140910

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: 20141007

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20141020

R150 Certificate of patent or registration of utility model

Ref document number: 5644599

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250