JP6906682B2 - リンク管理装置、リンク管理方法およびリンク管理プログラム - Google Patents

リンク管理装置、リンク管理方法およびリンク管理プログラム Download PDF

Info

Publication number
JP6906682B2
JP6906682B2 JP2020504581A JP2020504581A JP6906682B2 JP 6906682 B2 JP6906682 B2 JP 6906682B2 JP 2020504581 A JP2020504581 A JP 2020504581A JP 2020504581 A JP2020504581 A JP 2020504581A JP 6906682 B2 JP6906682 B2 JP 6906682B2
Authority
JP
Japan
Prior art keywords
link
development management
information
management data
development
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
JP2020504581A
Other languages
English (en)
Other versions
JPWO2019171526A1 (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.)
Mitsubishi Electric Corp
Original Assignee
Mitsubishi Electric 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 Mitsubishi Electric Corp filed Critical Mitsubishi Electric Corp
Publication of JPWO2019171526A1 publication Critical patent/JPWO2019171526A1/ja
Application granted granted Critical
Publication of JP6906682B2 publication Critical patent/JP6906682B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/70Software maintenance or management
    • G06F8/71Version control; Configuration management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/40Transformation of program code
    • G06F8/54Link editing before load time
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/70Software maintenance or management
    • G06F8/75Structural analysis for program understanding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L51/00User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail
    • H04L51/04Real-time or near real-time messaging, e.g. instant messaging [IM]
    • H04L51/046Interoperability with other network applications or services

Landscapes

  • Engineering & Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Stored Programmes (AREA)

Description

本発明は、リンク管理装置、リンク管理方法およびリンク管理プログラムに関する。特に、ツールチェーンシステム内の開発管理データを連携するためのリンク管理装置、リンク管理方法およびリンク管理プログラムに関する。
ソフトウェア開発向けの開発環境として、複数の開発管理システムを連携させたツールチェーンシステムがある。ツールチェーンシステムは単にツールチェーンとも呼ばれる。このツールチェーンシステムにより、様々な開発情報の共有が容易になる。一方、用途あるいはUI(ユーザインタフェース)が異なる複数の開発管理システムを正しく同期させながら連携させて使うには、各開発管理システムに関する高度な知識が必要となる。このため、ツールチェーンシステムを導入する組織が、導入したツールチェーンシステムを正しく使いこなせていないという問題がある。
ツールチェーンシステム内の複数の開発管理システムの連携のため、ツールチェーンシステムの外部で稼働する開発管理システム連携用の装置が提案されている。
特許文献1には、ツールチェーンシステム内の開発管理システムのイベントを監視する装置が開示されている。そして、この装置は、あらかじめ指定された条件に一致するイベントの組み合わせを検知すると、開発管理システムに動作を開始するためのきっかけとなるメッセージを送信する。
特開平07−282002号公報
特許文献1の技術は、ツールチェーンシステム内の開発管理システムのイベントを監視し、連携して動作すべき開発管理システムの動作の開始を自動で制御することで、ツールの連携を実現していた。しかし、特許文献1の技術には、開発管理システムが起こすイベントとそれに対して連携すべき開発管理システムの動作の関係の定義しか存在していない。よって、開発管理データの連携が不十分であるという課題がある。
また、特許文献1の技術では、イベントの発生をトリガーとして開発管理システム間の連携を制御しているが、既に登録されている開発管理データの連携について対処することができないという課題がある。
本発明に係るリンク管理装置は、関係のある開発管理データ間のリンクを自動で登録することを目的とする。
本発明に係るリンク管理装置は、ツールチェーンシステムに含まれる複数の開発管理システムの各々が利用する開発管理データにおける、開発管理データ間のリンクを管理するリンク管理装置において、
前記複数の開発管理システムの各々から、前記開発管理データの命名を表す命名情報を含む前記開発管理データの情報を取得するクローリングを実行し、前記開発管理データの情報に基づいて、前記開発管理データ間のリンクを登録するリンク登録指示を前記複数の開発管理システムに送信するとともに、前記開発管理データ間のリンクをリンク記録情報として記録するリンク登録部を備えた。
本発明に係るリンク管理装置では、リンク登録部が、各開発管理システムから開発管理データの情報を取得するクローリングを実行し、開発管理データの命名情報を含む開発管理データの情報を得る。そして、リンク登録部が、開発管理データの情報に基づいて、開発管理データ間のリンクを登録するリンク登録指示を複数の開発管理システムに送信するとともに、開発管理データ間のリンクをリンク記録情報として記録する。よって、本発明に係るリンク管理装置によれば、関係のある開発管理データ間の正確なリンクを自動で登録することが可能となる。
実施の形態1に係るリンク管理システムおよびリンク管理装置の構成図。 実施の形態1に係るリンク登録処理を示す図。 実施の形態1に係る関係定義情報の例を示す図。 実施の形態1に係る規約情報の例を示す図。 実施の形態1に係るリンクの登録結果の例を示す図。 実施の形態1に係るリンク記録情報の例を示す図。 実施の形態1に係るデータ修正処理を示す図。 実施の形態1に係るデータ修正処理におけるチャットでのメッセージ交換例。 実施の形態1に係る問い合わせ処理を示す図。 実施の形態1に係る問い合わせ処理時におけるチャットでのメッセージ交換例。 実施の形態1に係る設定処理を示す図。 実施の形態1に係る設定処理におけるチャットでのメッセージ交換例。 実施の形態1の変形例に係るリンク管理装置の構成図。
以下、本発明の実施の形態について、図を用いて説明する。なお、各図中、同一または相当する部分には、同一符号を付している。実施の形態の説明において、同一または相当する部分については、説明を適宜省略または簡略化する。
実施の形態1.
***構成の説明***
図1を用いて、本実施の形態に係るリンク管理システム500およびリンク管理装置100の構成を説明する。
本実施の形態に係るリンク管理システム500は、リンク管理装置100と、リンク管理装置100によるリンク管理の対象であるツールチェーンシステム200とを備える。
本実施の形態では、ツールチェーンシステム200は、チケット管理システム201、バージョン管理システム202、ビルド管理システム203、テスト管理システム204、および開発チャットシステム205といった開発管理システム210で構成される。これらの開発管理システム210は、一般によく使われる開発管理システムの例である。各開発管理システム210は、Web(World Wide Web)アプリケーションとして使用できる。
本実施の形態に係るリンク管理装置100は、ツールチェーンシステム200に含まれる複数の開発管理システム210の各々が利用する開発管理データにおける、開発管理データ間のリンクを管理する。ツールチェーンシステム200のシステム管理者は、チケット管理システム201に対して、開発管理データの確認を行う。開発者は、複数の開発管理システム210の各々に対して、開発管理データの確認、登録、更新、および解除を行う。テスタは、テスト管理システム204に対して、テストの登録を行う。リンク管理装置100の装置管理者は、開発チャットシステム205に対して、リンク管理装置100のデータベースの設定および設定確認を行う。
リンク管理装置100は、コンピュータである。リンク管理装置100は、プロセッサ910を備えるとともに、記憶装置920、入力インタフェース930、出力インタフェース940、および通信装置950といった他のハードウェアを備える。記憶装置920は、メモリと補助記憶装置を備える。プロセッサ910は、信号線を介して他のハードウェアと接続され、これら他のハードウェアを制御する。
リンク管理装置100は、機能要素として、リンク登録部110と、データ修正部120と、問い合わせ部130と、設定部140と、チャットエージェント部150と、記憶部160を備える。記憶部160には、関係定義情報161と、リンク記録情報162と、規約情報163が記憶されている。関係定義情報161とリンク記録情報162と規約情報163は、関係定義データベースとリンク記録データベースと規約データベースともいう。
リンク登録部110とデータ修正部120と問い合わせ部130と設定部140とチャットエージェント部150の機能は、ソフトウェアにより実現される。
記憶部160は、記憶装置920に備えられる。
プロセッサ910は、リンク管理プログラムを実行する装置である。リンク管理プログラムは、リンク登録部110とデータ修正部120と問い合わせ部130と設定部140とチャットエージェント部150の機能を実現するプログラムである。
プロセッサ910は、演算処理を行うIC(Integrated Circuit)である。プロセッサ910の具体例は、CPU、DSP(Digital Signal Processor)、GPU(Graphics Processing Unit)である。
メモリは、データを一時的に記憶する記憶装置である。メモリの具体例は、SRAM(Static Random Access Memory)、あるいはDRAM(Dynamic Random Access Memory)である。
補助記憶装置は、データを保管する記憶装置である。補助記憶装置の具体例は、HDDである。また、補助記憶装置は、SD(登録商標)メモリカード、CF、NANDフラッシュ、フレキシブルディスク、光ディスク、コンパクトディスク、ブルーレイ(登録商標)ディスク、DVDといった可搬記憶媒体であってもよい。なお、HDDは、Hard Disk Driveの略語である。SD(登録商標)は、Secure Digitalの略語である。CFは、CompactFlash(登録商標)の略語である。DVDは、Digital Versatile Diskの略語である。
入力インタフェース930は、マウス、キーボード、あるいはタッチパネルといった入力装置と接続されるポートである。入力インタフェース930は、具体的には、USB(Universal Serial Bus)端子である。なお、入力インタフェース930は、LAN(Local Area Network)と接続されるポートであってもよい。
出力インタフェース940は、ディスプレイといった出力機器のケーブルが接続されるポートである。出力インタフェース940は、具体的には、USB端子またはHDMI(登録商標)(High Definition Multimedia Interface)端子である。ディスプレイは、具体的には、LCD(Liquid Crystal Display)である。
通信装置950は、レシーバとトランスミッタを有する。通信装置950は、有線または無線で、LAN、インターネット、あるいは電話回線といった通信網に接続している。通信装置950は、具体的には、通信チップまたはNIC(Network Interface Card)である。リンク管理装置100は、通信装置950を介して、ツールチェーンシステム200とのメッセージの送受信を行う。
リンク管理プログラムは、プロセッサ910に読み込まれ、プロセッサ910によって実行される。メモリには、リンク管理プログラムだけでなく、OS(Operating System)も記憶されている。プロセッサ910は、OSを実行しながら、リンク管理プログラムを実行する。リンク管理プログラムおよびOSは、補助記憶装置に記憶されていてもよい。補助記憶装置に記憶されているリンク管理プログラムおよびOSは、メモリにロードされ、プロセッサ910によって実行される。なお、リンク管理プログラムの一部または全部がOSに組み込まれていてもよい。
リンク管理装置100は、プロセッサ910を代替する複数のプロセッサを備えていてもよい。これら複数のプロセッサは、リンク管理プログラムの実行を分担する。それぞれのプロセッサは、プロセッサ910と同じように、リンク管理プログラムを実行する装置である。
リンク管理プログラムにより利用、処理または出力されるデータ、情報、信号値および変数値は、メモリ、補助記憶装置、または、プロセッサ910内のレジスタあるいはキャッシュメモリに記憶される。
リンク登録部110とデータ修正部120と問い合わせ部130と設定部140とチャットエージェント部150の各部の「部」を「処理」、「手順」あるいは「工程」に読み替えてもよい。
リンク管理プログラムは、上記の各部の「部」を「処理」、「手順」あるいは「工程」に読み替えた各処理、各手順あるいは各工程を、コンピュータに実行させる。また、リンク管理方法は、リンク管理装置100がリンク管理プログラムを実行することにより行われる方法である。
リンク管理プログラムは、コンピュータ読取可能な記録媒体に格納されて提供されてもよい。また、リンク管理プログラムは、プログラムプロダクトとして提供されてもよい。
***構成要素の機能の説明***
リンク管理装置100が備える各機能要素の機能の概略を説明する。
リンク登録部110は、関係定義情報161と規約情報163に登録されている条件に基づいて、各開発管理システム210で管理されている開発管理データ間のリンクをリンク記録情報162に登録する。リンク登録部110は、複数の開発管理システム210の各々から、開発管理データの命名を表す命名情報を含む開発管理データの情報を取得するクローリングを実行する。そして、リンク登録部110は、取得した開発管理データの情報に基づいて、開発管理データ間のリンクを登録するリンク登録指示311を複数の開発管理システムに送信する。また、リンク登録部110は、開発管理データ間のリンクをリンク記録情報162として記録する。
また、リンク登録部110は、関係定義情報161と規約情報163と開発管理データの情報とに基づいて、関係定義情報161あるいは規約情報163に違反している開発管理データがあるかを判定する。関係定義情報161は、開発管理データ間の条件を表す。規約情報163は、開発管理データの命名条件を含む。そして、リンク登録部110は、関係定義情報161あるいは規約情報163に違反している開発管理データがある場合に違反報告32を出力する。
データ修正部120は、違反報告32に基づいて、違反している開発管理データを修正する修正依頼メッセージ34をツールチェーンシステム200に送信する。また、データ修正部120は、違反している開発管理データを修正した修正内容を含む修正内容メッセージ35を受信する。そして、データ修正部120は、修正後の開発管理データ間のリンクを登録する修正登録依頼351をリンク登録部110に出力する。具体的には、データ修正部120は、リンク記録情報162および規約情報163を参照し、規約に違反した開発管理データの情報を、開発チャットシステム205を通して開発者に通知する。その後、データ修正部120は、開発チャットシステム205を通して開発者から受け付けた修正を、リンク登録部110に実施させる。
問い合わせ部130は、開発チャットシステム205を通して受け取った開発者からの問い合わせ内容361に対し、リンク記録情報162を参照し、問い合わせに対する回答内容362を、開発チャットシステム205を通して開発者に回答する。
設定部140は、開発チャットシステム205を通してリンク管理装置100の装置管理者からの設定に関する操作を受け付け、関係定義情報161と規約情報163に登録される設定の更新と参照を行う。
チャットエージェント部150は、ツールチェーンシステム200の開発チャットシステム205との間でチャットを用いた通信を行う。チャットエージェント部150は、開発チャットシステム205からリンク管理装置100へのメッセージの受け取りとメッセージの振り分けを実施する。また、チャットエージェント部150は、データ修正部120、問い合わせ部130、および設定部140からの情報を元にした開発者へのメッセージ生成と開発チャットシステム205へのメッセージ送信を行う。
***動作の説明***
本実施の形態に係るリンク管理装置100によるリンク管理処理S100は、リンク登録処理S110、データ修正処理S120、問い合わせ処理S130、および設定処理S140を有する。
<リンク登録処理S110>
図2を用いて、本実施の形態に係るリンク登録処理S110について説明する。
リンク登録処理S110において、リンク登録部110は、関係定義情報161と規約情報163に登録されている条件を参照する。そして、リンク登録部110は、開発管理データ間のリンクを自動で登録する。
ステップS501において、リンク登録部110は、ツールチェーンシステム200に対してクローリングを行うことにより、開発管理データの情報を取得する。リンク登録部110は、定期的にクローリングを行う。開発管理データの情報には、開発管理データの命名を表す命名情報31bが含まれる。リンク登録部110は、ステップS501aにおける関係定義情報161の参照と、ステップS501bにおける規約情報163の参照とを行いながら、ツールチェーンシステム200に対してクローリングを行う。つまり、リンク登録部110は、ステップS501とステップS501aとステップS501bとを同時に行う。
なお、本実施の形態において、リンク管理装置100によるクローリングとは、ツールチェーンシステム200を構成する各開発管理システム210に対し、開発管理データの詳細を問い合わせ、開発管理データに関する必要な情報を得ることである。
図3を用いて、本実施の形態に係る関係定義情報161の例について説明する。
ステップS501aにおいて、リンク登録部110は、クローリング時に関係定義情報161を参照する。
チケットは、チケット管理システム201で管理される開発管理データの例である。
Issueとブランチは、バージョン管理システム202で管理される開発管理データの例である。
テスト仕様は、テスト管理システム204で管理される開発管理データの例である。
ビルドは、ビルド管理システム203で管理される開発管理データの例である。
関係21はチケット管理システム201で管理されるチケットとバージョン管理システム202で管理されるIssueとの関係を示している。1つのチケットに対し1以上N以下のIssueが対応することを示す。Nは自然数である。
関係22はチケットとテスト管理システム204で管理されるテスト仕様との関係を示している。1つのチケットに対し、1以上N以下のテスト仕様が対応することを示す。
関係23はバージョン管理システム202で管理されるIssueとブランチの関係を示している。1つのIssueに対し、1つのブランチが対応することを示す。
関係24はバージョン管理システム202で管理されるIssueとビルド管理システム203で管理されるビルドの関係を示している。1つのIssueに対し、1以上N以下のビルドが対応することを示す。
図4を用いて、本実施の形態に係る規約情報163の例について説明する。
ステップS501bにおいて、リンク登録部110は、クローリング時に規約情報163を参照する。
規約情報163には、各開発管理データに関する関連付け規則が記録される。図4において、[名前]には任意の文字列、{チケット番号}および{Issue番号}には図2の関係定義情報161での定義に対応する上位要素を識別するための情報が入力される。上位要素を識別するための情報の典型例としては、ID(IDentifier)番号が入力される。
図4におけるデータ種類の列には、リンク管理装置100がクローリング時に詳細を問い合わせる対象を登録する。データ情報保存場所の列には、問い合わせ対象データがどの開発管理システム210に保存されているかを登録する。参照すべき情報の列には、詳細を問い合わせた際に参照する情報を登録する。命名規約の列には、参照した情報がリンク付けのために守っているべき命名規則を登録する。
行401は、Issueはバージョン管理システムに保存されており、Issueの詳細情報に記録されているチケット名を参照し、命名規約に従ってチケット番号を取り出すことにより、チケットとの関連付けが可能であることを示す。
行402は、ブランチはバージョン管理システムに保存されており、ブランチの詳細情報に記録されているブランチ名を参照し、命名規約に従ってIssue番号を取り出すことにより、Issueとの関連付けが可能であることを示す。
行403は、ビルドはビルド管理システムに保存されており、ビルドの詳細情報に記録されているブランチ名を参照し、命名規約に従ってIssue番号を取り出すことにより、Issueとの関連付けが可能であることを示す。
行404は、テスト仕様はテスト管理システムに保存されており、テスト仕様の詳細情報に記録されているチケット名を参照し、命名規約に従ってチケット番号を取り出すことにより、チケットとの関連付けが可能であることを示す。
ステップS502において、リンク登録部110は、関係定義情報161と規約情報163を用いたクローリングの結果であるクローリング結果31を取得する。リンク登録部110は、クローリング結果31として、開発管理データの命名情報31bを含む開発管理データの情報を取得する。
ステップS503において、リンク登録部110は、クローリング結果31と関係定義情報161と規約情報163とに基づいて、関係定義情報161あるいは規約情報163に違反している開発管理データがあるかを判定する。リンク登録部110は、違反している開発管理データがある場合に、データ修正部120に対して開発管理データの命名規約の違反報告32を出力する。
以下に具体例として、「データ種類がIssueのデータの命名規約違反を判定する流れ」を示す。
(1)規約情報163において、Issueはバージョン管理システムに保存され、Issueの詳細情報の中のチケット名を参照すべきであると定義されている。よって、リンク登録部110は、クローリングによりチケット名を命名情報31bとして参照する。
(2)リンク登録部110は、チケット名が規約情報163に定義されている命名規約の形と相違無いか、パターンマッチングで調べる。
(3)相違あれば、リンク登録部110は、命名規約違反として、データ修正部120に違反報告32を出力する。
(4)相違無ければ、リンク登録部110は、関係定義情報161を用いて、命名規約によって関連付けた開発管理データ間の関係が定義通りであるかを確認する。
(5)具体例として、Issueとブランチの関係が1:1にならないような関係定義情報161に定義された関係にならない場合がある。このように定義通りでない場合は、リンク登録部110は、規約違反として、データ修正部120に違反報告32を出力する。
ステップS504において、リンク登録部110は、クローリングで取得した開発管理データの命名情報31bを用いて、ツールチェーンシステム200内の開発管理システム210に対してリンクの登録を行う。
上述した処理について、具体例を用いて説明する。
例えば、リンク登録部110は、規約情報163を参照して、Issueデータならバージョン管理システムに登録されているIssueデータの詳細に記録されているチケット名という名前を命名情報31bとして取得する。その後、リンク登録部110は、チケット名の命名規約からチケット番号を抜き出し、チケット番号をもとにチケットとリンク付けする。
リンク登録部110で、命名規約情報からリンク付けを行った時に、「あるチケットAに対しIssueが1:3である」というような新規な関連情報が得られる。また同時にリンク記録情報162でチケットAについて参照し、「チケットAに対しリンク済みのIssueが1:5である」という既存の関連情報を取得する。リンク登録部110は、新規な関連情報と既存の関連情報の2つを加味し、1:8という形が関係定義情報161で許されていないならば、違反報告を行う。
図5を用いて、本実施の形態に係るリンクの登録結果の例について説明する。
リンクは、開発管理データの詳細情報にURL(Uniform Resource Locator)リンクの形で追加され、関連あるデータを互いに参照可能にする。
開発管理データ601は、チケット管理システムで管理されているチケットをWebブラウザで参照した時の例である。リンク登録の結果として、チケットに対応するIssueへのURLリンクとテスト仕様へのURLリンクが追加される。
開発管理データ602は、テスト管理システムで管理されているテスト仕様をWebブラウザで参照した時の例である。リンク登録の結果として、テスト仕様に対応するチケットへのURLリンクが追加される。
開発管理データ603は、バージョン管理システムで管理されているIssueをWebブラウザで参照した時の例である。リンク登録の結果として、Issueに対応するチケットへのURLリンクが追加される。
ステップS505において、リンク登録部110は、ステップS504で登録したリンクの情報をリンク記録情報162に記録する。
図6を用いて、本実施の形態に係るリンク記録情報162の例について説明する。
図6のリンク記録情報162の例では、チケット#111に対して、複数のIssueとテスト仕様がリンクされたという結果が記録されている。また、Issue#80に対しては、1つのブランチと複数のビルドがリンクされたという結果が記録されている。このようにリンクをデータベースに記録しておくことで、リンク結果の問い合わせに対する回答が高速に得られる。
<データ修正処理S120>
図7を用いて、本実施の形態に係るデータ修正処理S120について説明する。
データ修正処理S120において、データ修正部120は、リンク登録部110から受けた違反報告32に対して、開発者とメッセージをやりとりして修正を実施する。
ステップS701において、データ修正部120は、リンク登録部110から開発管理データの命名規約の違反報告32を受ける。
ステップS702において、データ修正部120は、規約情報163を参照して正しい命名規則を確認し、修正補助情報を生成する。
ステップS703において、データ修正部120は、チャットエージェント部150に対し、開発者への修正依頼33を生成する。修正依頼33には、ステップS701で報告された規約違反した開発管理データの情報とステップS702で生成した修正補助情報が含まれる。
ステップS704において、チャットエージェント部150は、データ修正部120から受け取った修正依頼33を含む修正依頼メッセージ34を、チャットを用いてツールチェーンシステム200に送信する。具体的には、チャットエージェント部150は、データ修正部120からの修正依頼33に含まれる修正情報から開発者への修正依頼メッセージ34を生成する。そして、チャットエージェント部150は、ツールチェーンシステム200内の開発チャットシステム205に修正依頼メッセージ34を送信する。
図8を用いて、本実施の形態に係るデータ修正処理におけるチャットでのメッセージ交換例について説明する。
メッセージ801は、チャットエージェント部150から開発者への修正依頼メッセージ34の例である。メッセージ801は、1行目において修正依頼ID(IDenfier)とともに修正依頼メッセージ34であることを示している。また、メッセージ801は、命名規約に違反した開発管理データの情報と修正方法を示している。
ステップS705において、開発者からの修正内容メッセージ35を受けたチャットエージェント部150は、メッセージ内容から修正に関するメッセージであると判定し、修正内容を取り出す。
メッセージ802は、開発者からチャットエージェント部150への修正内容メッセージ35の例である。1行目でどの修正依頼に対する修正であるかを示し、次の行に修正した開発管理データ名を示す。
ステップS706において、チャットエージェント部150は、ツールチェーンシステム200からチャットを用いて受信した修正内容メッセージ35をデータ修正部120に出力する。具体的には、チャットエージェント部150は、修正内容メッセージ35に含まれる開発者から受け取った修正内容をデータ修正部120へ送信する。
ステップS707において、データ修正部120は、開発者からの修正内容を元に、リンク登録部110に修正依頼を出す。
ステップS708において、リンク登録部110は、命名規約に違反した開発管理データ名の修正を行い、その後再度リンク登録を行う。
<問い合わせ処理S130>
図9を用いて、本実施の形態に係る問い合わせ処理S130について説明する。
問い合わせ処理S130において、問い合わせ部130は、開発者からの開発管理データの問い合わせに対し、関連する開発管理データのリンク情報を回答する。
ステップS901において、チャットエージェント部150は、開発管理データ間のリンクに対する問い合わせメッセージ36をツールチェーンシステム200からチャットを用いて受信する。そして、チャットエージェント部150は、問い合わせメッセージ36に含まれる問い合わせ内容361を出力する。具体的には、チャットエージェント部150は、開発者からの問い合わせメッセージ36を受け取る。チャットエージェント部150は、問い合わせメッセージ36の内容から問い合わせに関するメッセージであることを判定し、問い合わせ内容361を取り出す。
図10を用いて、本実施の形態に係る問い合わせ処理時におけるチャットでのメッセージ交換例について説明する。
メッセージ803は、開発者からチャットエージェントへの問い合わせメッセージ36の例である。1行目に問い合わせメッセージ36であることを示し、次の行にリンク情報を問い合わせたい開発管理データの名前を示す。
ステップS902において、チャットエージェント部150は、問い合わせ内容361を問い合わせ部130に送信する。
ステップS903において、問い合わせ部130は、チャットエージェント部150から問い合わせ内容361を受け取る。問い合わせ部130は、リンク記録情報162に基づいて、問い合わせ内容361に対する回答内容362をチャットエージェント部150に出力する。具体的には、問い合わせ部130は、問い合わせ内容361を元にリンク記録情報162に対して、リンク情報の参照を行う。
ステップS904において、問い合わせ部130は、問い合わせ内容361に対応する開発管理データのリンク情報を回答としてチャットエージェント部150に送信する。
ステップS905において、チャットエージェント部150は、問い合わせ部130から受け取った回答内容から開発者への回答メッセージ37を作成する。そして、チャットエージェント部150は、回答内容362を含む回答メッセージ37をツールチェーンシステム200にチャットを用いて送信する。すなわち、チャットエージェント部150は、回答メッセージ37をツールチェーンシステム200内の開発チャットシステム205に送信する。
メッセージ804は、チャットエージェント部150から開発者への回答メッセージ37の例である。1行目に問い合わせをした開発管理データに関するリンク情報の回答であることを示し、次の行からリンク情報のリストを示す。
<設定処理S140>
図11を用いて、本実施の形態に係る設定処理S140について説明する。
設定処理S140は、設定状況の問い合わせとデータベース更新による装置設定の変更との2つ処理で構成される。設定処理S140において、設定部140は、リンク管理装置100の装置管理者から受け取った設定問い合わせメッセージ38に対して、設定回答メッセージ39を送信する。また、設定処理S140において、設定部140が、リンク管理装置100の装置管理者から受け取った設定指示メッセージ41を用いて、関係定義情報161と規約情報163を更新する。
ステップS411aにおいて、チャットエージェント部150は、関係定義情報161あるいは規約情報163の設定状況を問い合わせる設定問い合わせメッセージ38を、ツールチェーンシステム200からチャットを用いて受信する。チャットエージェント部150は、設定問い合わせメッセージ38に含まれる設定問い合わせ内容381を出力する。具体的には、チャットエージェント部150は、装置管理者からの設定問い合わせメッセージ38を受け取り、メッセージの内容から設定状況を問い合わせるメッセージであることを判定し、設定問い合わせ内容381を取り出す。
ステップS412aにおいて、チャットエージェント部150は、設定部140に対し、設定問い合わせ内容381を送信する。
ステップS413aにおいて、設定部140は、チャットエージェント部150から設定問い合わせ内容381を受け取る。設定部140は、関係定義情報161あるいは規約情報163に基づいて、設定問い合わせ内容381に対する設定回答内容382を生成する。設定部140は、設定問い合わせ内容381に対応する情報を、関係定義情報161と規約情報163を参照して取得する。
ステップS414aにおいて、設定部140は、設定回答内容382をチャットエージェント部150に出力する。
ステップS415aにおいて、チャットエージェント部150は、設定回答内容382を含む設定回答メッセージ39をツールチェーンシステム200にチャットを用いて送信する。具体的には、チャットエージェント部150は、設定部140から受け取った設定回答内容382から装置管理者への設定回答メッセージ39を作成する。そして、チャットエージェント部150は、設定回答メッセージ39をツールチェーンシステム200内の開発チャットシステム205に送信する。
図12を用いて、本実施の形態に係る設定処理におけるチャットでのメッセージ交換例について説明する。
図12においてメッセージ805は、装置管理者からチャットエージェント部150への設定問い合わせメッセージ38の例である。1行目に設定問い合わせメッセージ38であることを示し、次の行に問い合わせたい設定情報のあるデータベースの名前を示す。
図12においてメッセージ806は、チャットエージェント部150から装置管理者への設定回答メッセージ39の例である。1行目に設定回答メッセージ39であることを示し、次の行から設定状況を示す。
ステップS411bにおいて、チャットエージェント部150は、関係定義情報161あるいは規約情報163の更新を指示する設定指示メッセージ41をツールチェーンシステム200からチャットを用いて受信する。チャットエージェント部150は、設定指示メッセージ41に含まれる設定指示内容411を出力する。具体的には、チャットエージェント部150は、装置管理者からの設定指示メッセージ41を受け取り、その内容から設定指示メッセージ41であることを判定し、装置管理者が指定した設定内容を取り出す。
図12においてメッセージ807は、装置管理者からチャットエージェント部150への設定指示メッセージ41の例である。1行目に設定指示メッセージ41であることを示し、2行目と3行目にどのデータベースにどのような処理をするかを示す。さらに4行目から、設定内容を示す。
ステップS412bにおいて、チャットエージェント部150は、設定部140に対し、設定指示内容411を送信する。
ステップS413bにおいて、設定部140は、チャットエージェント部150から設定指示内容411を受け取る。そして、設定部140は、設定指示内容411に従って、関係定義情報161あるいは規約情報163の更新を実行する。すなわち、設定部140は、ステップS412bで受け取った設定指示内容411から、関係定義情報161あるいは規約情報163の対応箇所と設定内容とを抽出し、設定指示内容411に従って関係定義情報161あるいは規約情報163を更新する。
***他の構成***
<変形例1>
本実施の形態では、リンク登録部110とデータ修正部120と問い合わせ部130と設定部140とチャットエージェント部150の機能がソフトウェアで実現される。変形例として、リンク登録部110とデータ修正部120と問い合わせ部130と設定部140とチャットエージェント部150の機能がハードウェアで実現されてもよい。
図13は、本実施の形態の変形例に係るリンク管理装置100の構成を示す図である。
リンク管理装置100は、電子回路909、記憶装置920、入力インタフェース930、出力インタフェース940、および通信装置950を備える。
電子回路909は、リンク登録部110とデータ修正部120と問い合わせ部130と設定部140とチャットエージェント部150の機能を実現する専用の電子回路である。
電子回路909は、具体的には、単一回路、複合回路、プログラム化したプロセッサ、並列プログラム化したプロセッサ、ロジックIC、GA、ASIC、または、FPGAである。GAは、Gate Arrayの略語である。ASICは、Application Specific Integrated Circuitの略語である。FPGAは、Field−Programmable Gate Arrayの略語である。
リンク登録部110とデータ修正部120と問い合わせ部130と設定部140とチャットエージェント部150の機能は、1つの電子回路で実現されてもよいし、複数の電子回路に分散して実現されてもよい。
別の変形例として、リンク登録部110とデータ修正部120と問い合わせ部130と設定部140とチャットエージェント部150の一部の機能が電子回路で実現され、残りの機能がソフトウェアで実現されてもよい。
プロセッサと電子回路の各々は、プロセッシングサーキットリとも呼ばれる。つまり、リンク管理装置100において、リンク登録部110とデータ修正部120と問い合わせ部130と設定部140とチャットエージェント部150の機能は、プロセッシングサーキットリにより実現される。
リンク管理装置100において、リンク登録部、データ修正部、問い合わせ部、設定部、およびチャットエージェント部の「部」を「工程」あるいは「処理」に読み替えてもよい。また、リンク登録処理、データ修正処理、問い合わせ処理、設定処理、およびチャットエージェント処理の「処理」を「プログラム」、「プログラムプロダクト」または「プログラムを記録したコンピュータ読取可能な記憶媒体」に読み替えてもよい。
***本実施の形態の効果の説明***
本実施の形態に係るリンク管理装置100は、各開発管理システムの開発管理データの関係性を記録した関係定義データベースを持ち、関係する開発管理データ間のリンクを自動で登録することができる。よって、本実施の形態に係るリンク管理装置100は、開発管理システムの利用者の支援に有効である。
また、本実施の形態に係るリンク管理装置100は、リンク登録部による開発管理データのリンク付け結果を記録するリンク記録データベースを持つ。よって、本実施の形態に係るリンク管理装置100によれば、リンク結果の問い合わせに対する回答を高速に得ることができる。
また、本実施の形態に係るリンク管理装置100は、各開発管理データの命名規則の定義を記録した規約データベースを持つ。よって、本実施の形態に係るリンク管理装置100によれば、命名規則から自動でデータ名の解析し、命名規則違反を検知した場合に開発者への違反通知ができる。
また、本実施の形態に係るリンク管理装置100は、ツールチェーンシステムを対象としたクローリングを行うことにより、各開発管理システムが持つ既存データを含む全ての開発管理データに対して、リンクの登録による連携を実現できる。また、本実施の形態に係るリンク管理装置100は、定期的にツールチェーンシステムを対象としたクローリングを行うので、正確なリンクの登録をすることができる。
また、通常、リンク管理システムではインタフェースをGUI(グラフィカルユーザインタフェース)としており、結果として普段の開発で利用する画面が一つ増え、GUI操作の学習コストが発生する。しかしながら、本実施の形態に係るリンク管理装置100は、ツールチェーンシステムの一部である開発チャットシステムをインタフェースとする。よって、本実施の形態に係るリンク管理装置100によれば、インタラクティブな操作を実現し、開発管理システムの連携を目的とする装置の導入と利用を容易にする。
本実施の形態では、リンク管理装置の各部を独立した機能ブロックとして説明した。しかし、リンク管理装置の構成は、上述した実施の形態のような構成でなくてもよい。リンク管理装置の機能ブロックは、上述した実施の形態で説明した機能を実現することができれば、どのような構成でもよい。
本実施の形態のうち、複数の部分を組み合わせて実施しても構わない。あるいは、この実施の形態のうち、1つの部分を実施しても構わない。その他、この実施の形態を、全体としてあるいは部分的に、どのように組み合わせて実施しても構わない。
なお、上述した実施の形態は、本質的に好ましい例示であって、本発明の範囲、本発明の適用物の範囲、および本発明の用途の範囲を制限することを意図するものではない。上述した実施の形態は、必要に応じて種々の変更が可能である。
21,22,23,24 関係、31 クローリング結果、31b 命名情報、311 リンク登録指示、32 違反報告、33 修正依頼、34 修正依頼メッセージ、35 修正内容メッセージ、351 修正登録依頼、36 問い合わせメッセージ、361 問い合わせ内容、362 回答内容、37 回答メッセージ、38 設定問い合わせメッセージ、381 設定問い合わせ内容、382 設定回答内容、39 設定回答メッセージ、41 設定指示メッセージ、411 設定指示内容、100 リンク管理装置、110 リンク登録部、120 データ修正部、130 問い合わせ部、140 設定部、150 チャットエージェント部、160 記憶部、161 関係定義情報、162 リンク記録情報、163 規約情報、200 ツールチェーンシステム、210 開発管理システム、201 チケット管理システム、202 バージョン管理システム、203 ビルド管理システム、204 テスト管理システム、205 開発チャットシステム、401,402,403,404 行、500 リンク管理システム、601,602,603 開発管理データ、801,802,803,804,805,807,806 メッセージ、909 電子回路、910 プロセッサ、920 記憶装置、930 入力インタフェース、940 出力インタフェース、950 通信装置、S100 リンク管理処理。

Claims (8)

  1. ツールチェーンシステムに含まれる複数の開発管理システムの各々が利用する開発管理データにおける、開発管理データ間のリンクを管理するリンク管理装置において、
    前記複数の開発管理システムの各々から、前記開発管理データの命名を表す命名情報を含む前記開発管理データの情報を取得し、前記開発管理データの情報に基づいて、前記開発管理データ間のリンクを登録するリンク登録指示を前記複数の開発管理システムに送信するとともに、前記開発管理データ間のリンクをリンク記録情報として記録するリンク登録部を備えたリンク管理装置。
  2. 前記リンク登録部は、
    前記開発管理データ間の条件を表す関係定義情報と、前記開発管理データの命名条件を含む規約情報と、前記開発管理データの情報とに基づいて、前記関係定義情報あるいは前記規約情報に違反している開発管理データがあるかを判定し、前記違反している開発管理データがある場合に違反報告を出力し、
    前記リンク管理装置は、
    前記違反報告に基づいて、前記違反している開発管理データを修正する修正依頼メッセージを前記ツールチェーンシステムに送信し、前記違反している開発管理データを修正した修正内容を含む修正内容メッセージを受信すると、修正後の前記開発管理データ間のリンクを登録する修正登録依頼を前記リンク登録部に出力するデータ修正部を備えた請求項1に記載のリンク管理装置。
  3. 前記リンク管理装置は、
    前記ツールチェーンシステムとチャットを用いた通信を行うチャットエージェント部を備え、
    前記チャットエージェント部は、
    前記データ修正部から受け取った前記修正依頼メッセージをチャットを用いて前記ツールチェーンシステムに送信し、前記ツールチェーンシステムからチャットを用いて受信した前記修正内容メッセージを前記データ修正部に出力する請求項2に記載のリンク管理装置。
  4. 前記チャットエージェント部は、
    前記開発管理データ間のリンクに対する問い合わせメッセージを前記ツールチェーンシステムからチャットを用いて受信し、前記問い合わせメッセージに含まれる問い合わせ内容を出力し、
    前記リンク管理装置は、
    前記チャットエージェント部から前記問い合わせ内容を受け取り、前記リンク記録情報に基づいて、前記問い合わせ内容に対する回答内容を前記チャットエージェント部に出力する問い合わせ部を備え、
    前記チャットエージェント部は、
    前記回答内容を含む回答メッセージを前記ツールチェーンシステムにチャットを用いて送信する請求項3に記載のリンク管理装置。
  5. 前記チャットエージェント部は、
    前記関係定義情報あるいは前記規約情報の更新を指示する設定指示メッセージを前記ツールチェーンシステムからチャットを用いて受信し、前記設定指示メッセージに含まれる設定指示内容を出力し、
    前記リンク管理装置は、
    前記チャットエージェント部から前記設定指示内容を受け取り、前記設定指示内容に従って、前記関係定義情報あるいは前記規約情報の更新を実行する設定部を備えた請求項3または4に記載のリンク管理装置。
  6. 前記チャットエージェント部は、
    前記関係定義情報あるいは前記規約情報の設定状況を問い合わせる設定問い合わせメッセージを前記ツールチェーンシステムからチャットを用いて受信し、前記設定問い合わせメッセージに含まれる設定問い合わせ内容を出力し、
    前記設定部は、
    前記チャットエージェント部から前記設定問い合わせ内容を受け取り、前記関係定義情報あるいは前記規約情報に基づいて、前記設定問い合わせ内容に対する設定回答内容を生成し、前記設定回答内容を前記チャットエージェント部に出力し、
    前記チャットエージェント部は、
    前記設定回答内容を含む設定回答メッセージを前記ツールチェーンシステムにチャットを用いて送信する請求項5に記載のリンク管理装置。
  7. ツールチェーンシステムに含まれる複数の開発管理システムの各々が利用する開発管理データにおける、開発管理データ間のリンクを管理するリンク管理装置のリンク管理方法において、
    リンク登録部が、前記複数の開発管理システムの各々から、前記開発管理データの命名を表す命名情報を含む前記開発管理データの情報を取得し
    リンク登録部が、前記開発管理データの情報に基づいて、前記開発管理データ間のリンクを登録するリンク登録指示を前記複数の開発管理システムに送信するとともに、前記開発管理データ間のリンクをリンク記録情報として記録するリンク管理方法。
  8. ツールチェーンシステムに含まれる複数の開発管理システムの各々が利用する開発管理データにおける、開発管理データ間のリンクを管理するコンピュータであるリンク管理装置のリンク管理プログラムにおいて、
    前記複数の開発管理システムの各々から、前記開発管理データの命名を表す命名情報を含む前記開発管理データの情報を取得し、前記開発管理データの情報に基づいて、前記開発管理データ間のリンクを登録するリンク登録指示を前記複数の開発管理システムに送信するとともに、前記開発管理データ間のリンクをリンク記録情報として記録するリンク登録処理を前記リンク管理装置に実行させるリンク管理プログラム。
JP2020504581A 2018-03-08 2018-03-08 リンク管理装置、リンク管理方法およびリンク管理プログラム Active JP6906682B2 (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2018/008950 WO2019171526A1 (ja) 2018-03-08 2018-03-08 リンク管理装置、リンク管理方法およびリンク管理プログラム

Publications (2)

Publication Number Publication Date
JPWO2019171526A1 JPWO2019171526A1 (ja) 2020-10-22
JP6906682B2 true JP6906682B2 (ja) 2021-07-21

Family

ID=67845623

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2020504581A Active JP6906682B2 (ja) 2018-03-08 2018-03-08 リンク管理装置、リンク管理方法およびリンク管理プログラム

Country Status (3)

Country Link
US (1) US11243761B2 (ja)
JP (1) JP6906682B2 (ja)
WO (1) WO2019171526A1 (ja)

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0520038A (ja) 1991-07-10 1993-01-29 Hitachi Ltd 手順誘導によるプログラム開発方式
JPH05298077A (ja) 1992-04-17 1993-11-12 Hitachi Ltd カスタマイズ開発手順支援方法
JPH07282002A (ja) 1994-04-12 1995-10-27 Nippon Steel Corp メッセージ制御装置
JPH11175325A (ja) * 1997-12-15 1999-07-02 Hitachi Ltd システム開発支援ツール間で属性データの連携を管理する装置及び方法
JPH11288380A (ja) * 1998-04-01 1999-10-19 Nec Corp ソフトウェア開発ツール間インターフェースの評価装置および評価用プログラムを記録した記録媒体
JP2010072944A (ja) * 2008-09-18 2010-04-02 Hitachi Information Systems Ltd 情報処理システムにおける設計品質検査の支援システム
US10061626B2 (en) * 2013-06-05 2018-08-28 Splunk Inc. Application framework providing a registry for mapping names to component instances
JP2016076181A (ja) 2014-10-09 2016-05-12 株式会社野村総合研究所 チーム内構成管理システム

Also Published As

Publication number Publication date
WO2019171526A1 (ja) 2019-09-12
JPWO2019171526A1 (ja) 2020-10-22
US11243761B2 (en) 2022-02-08
US20200409692A1 (en) 2020-12-31

Similar Documents

Publication Publication Date Title
US9355005B2 (en) Detection apparatus and detection method
US8380812B2 (en) Source identification for multipart content validation
US20190258534A1 (en) Message oriented middleware with integrated rules engine
US11036522B2 (en) Remote component loader
CN110659256A (zh) 多机房同步方法、计算设备及计算机存储介质
US20190121717A1 (en) Dynamic, crowd-sourced error and crash resolution for computer programs
US11360966B2 (en) Information processing system and method of controlling information processing system
JP2018005535A (ja) ソフトウェア開発支援方法及びシステム
US20140156252A1 (en) Hybrid platform-dependent simulation interface
WO2022012305A1 (zh) 推理应用中模型文件的管理方法及装置
JP2020154861A (ja) コンテナイメージ検証装置、コンテナイメージ検証方法、およびコンテナイメージ検証プログラム
JP6906682B2 (ja) リンク管理装置、リンク管理方法およびリンク管理プログラム
JP7050587B2 (ja) 違反依存検出装置および違反依存検出プログラム
JP2022153237A (ja) セキュリティテストシステム
JP7220095B2 (ja) セキュリティ設計立案支援装置
CN109074451A (zh) 在分布式环境中保护内部服务
CN112384868B (zh) 程序执行辅助装置、程序执行辅助方法及计算机可读取的存储介质
JP2019057133A (ja) 画像処理装置およびプログラム
JP2011227789A (ja) 情報処理装置及びプログラム
JP6351545B2 (ja) パラメータ管理装置およびパラメータ管理プログラム
JP6196848B2 (ja) 情報処理装置、情報処理方法、及びプログラム
JP2011221625A (ja) 通信装置及び共用情報更新方法及びプログラム
US8533820B2 (en) Reserved write positions on install media
US20240012909A1 (en) Correction of non-compliant files in a code repository
JP2018060287A (ja) 文書管理装置、文書管理システム、文書管理方法および文書管理プログラム

Legal Events

Date Code Title Description
A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20200331

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20200331

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20210629

R150 Certificate of patent or registration of utility model

Ref document number: 6906682

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150