(57)【要約】【課題】開発作業をチャットの対話を通じて支援すること。【解決手段】開発支援システム１は、複数の設計情報２４０のメタ情報をそれぞれ定義してなる複数の第１情報２２０と、複数の第１情報間の関連を定義してなる第２情報２３０と、複数の設計情報に共通して実施される作業に関して用意される対話部品のひな形を定義する第３情報３２０とを記憶する情報記憶部と、各第１情報と第２情報と第３情報とに基づいて、各設計情報の作業毎の対話部品３３０と、各設計情報に基づく作業単位毎の対話シナリオ情報３４０とを生成する対話シナリオ情報生成部３１０と、各対話部品および各対話シナリオ情報に基づいてチャット装置４を動作させる対話シナリオ情報処理部３１１と、を備える。【選択図】図１
2018142054.tif 000002
【特許請求の範囲】
【請求項１】
チャットを通じてシステム開発作業を支援する開発支援システムであって、
複数の設計情報のメタ情報をそれぞれ定義してなる複数の第１情報と、前記複数の第１情報間の関連を定義してなる第２情報と、前記複数の設計情報に共通して実施される作業に関して用意される対話部品のひな形を定義する第３情報であって、ユーザから入力されるコマンドのひな形とユーザへ提示するメッセージのひな形とを対応付けてなる第３情報とを記憶する情報記憶部と、
前記各第１情報と前記第２情報と前記第３情報とに基づいて、前記各設計情報の作業毎の対話部品と、前記各設計情報に基づく作業単位毎の対話シナリオ情報とを生成する対話シナリオ情報生成部と、
前記各対話部品および各対話シナリオ情報に基づいてチャット装置を動作させる対話シナリオ情報処理部と、
を備える開発支援システム。
【請求項２】
前記対話シナリオ情報生成部は、前記システム開発作業を支援するための、前記対話部品および前記対話シナリオ情報を生成する、
請求項１に記載の開発支援システム。
【請求項３】
前記チャット装置は、ユーザから入力される情報を解析してユーザとの対話を行う対話処理部を備え、
前記対話シナリオ情報処理部は、ユーザが前記対話処理部から入力する情報と前記各対話部品と前記各対話シナリオ情報とに基づいて前記対話処理部を動作させることにより、前記システム開発作業を支援する、
請求項２に記載の開発支援システム。
【請求項４】
ユーザが前記対話処理部から入力する情報に基づいて、前記複数の設計情報のうちの所定の設計情報を更新する設計情報更新部をさらに備える、
請求項３に記載の開発支援システム。
【請求項５】
前記チャット装置に表示される前記対話部品は、前記複数の設計情報のうちの所定の設計情報に関する所定のリンク情報を含むことができる、
請求項３に記載の開発支援システム。
【請求項６】
ユーザが前記所定のリンク情報を選択することにより、前記所定のリンク情報に対応付けられた所定の画面が前記チャット装置に表示される、
請求項５に記載の開発支援システム。
【請求項７】
前記チャット装置は複数のチャンネルを生成することができ、
前記各チャンネルには、設計作業の名称に基づくチャンネル名と、使用される対話シナリオ情報を特定する識別子と、参加するユーザを特定する識別子とが対応付けられる、
請求項３に記載の開発支援システム。
【請求項８】
前記対話処理部は、チャット監視部を備えており、
前記チャット監視部は、前記ユーザから入力される情報の解析結果に基づいて、所定の上位ユーザへ通知する、
請求項３に記載の開発支援システム。
【請求項９】
前記対話処理部は、チャット監視部を備えており、
前記チャット監視部は、前記ユーザとの対話内容の概要を生成して所定の通知先へ通知する、
請求項３に記載の開発支援システム。
【請求項１０】
前記所定の通知先は、ユーザの上位に位置する上位ユーザである、
請求項９に記載の開発支援システム。
【請求項１１】
計算機がチャットを通じてシステム開発作業を支援する開発支援方法であって、
複数の設計情報のメタ情報をそれぞれ定義してなる複数の第１情報と、前記複数の第１情報間の関連を定義してなる第２情報と、前記複数の設計情報に共通して実施される作業に関して用意される対話部品のひな形を定義する第３情報であって、ユーザから入力されるコマンドのひな形とユーザへ提示するメッセージのひな形とを対応付けてなる第３情報とを保持し、
前記各第１情報と前記第２情報と前記第３情報とに基づいて、前記各設計情報の作業毎の対話部品と、前記各設計情報に基づく作業単位毎の対話シナリオ情報とを生成し、
前記各対話部品および各対話シナリオ情報に基づいてチャット装置を動作させる、
開発支援方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、開発支援システムおよび方法に関する。
【背景技術】
【０００２】
システム開発に関わる人たちのコミュニケーションを促進して開発の効率化を図るために、チャットツールが利用されることがある。チャットツールでは、例えばチャンネルと呼ばれる仕組みを用いて、話題毎のやり取りを共有することが可能である。このため、システム開発では、進捗や課題を複数のユーザ間で互いに共有されるためにチャットツールを用いることがある。
【０００３】
一方、人とシステムとの対話制御を実現する対話シナリオを作成する技術として、特許文献１が知られている。特許文献１では、機器およびコンピュータプログラムの機能や操作方法が自然言語によって記述されている文書から、対話シナリオを生成する。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００８−１４５７６９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
システム開発では、開発者間で設計情報を共有するために、開発を通じて様々な設計書を作成する。各工程で作成される設計書は、その工程の内外の他の設計書に対するインプットとなる。設計書は、決まった書き方に基づいて作成される。これら設計書の書き方や設計書間の関連などについてはガイド類で規定されている。しかし、ガイド類が多数存在するために、開発者は、多くのガイド類の中から必要なガイド類を発見するのに手間がかかり、発見したガイド類を参考にしながらシステムを開発するのに多大な労力を必要としている。
【０００６】
ところで、チャットツールでは、チャットでのユーザの発言に反応するチャットボットが知られている。チャットボットは、ユーザの発言に対して自動的に返答したり、ユーザの発言に基づいて他システムの機能を呼び出したりする。チャットボットを用いれば、ユーザによるシステム開発を対話を通じて支援することができる。
【０００７】
所望のチャットボットを開発するためには、ユーザ（システム開発者）とチャットボットとの対話制御を実現するプログラムを効率的に作成する必要がある。しかし上述の通り、システム開発の各工程には種々の設計書やガイド類が存在するため、ユーザの作業を支援するチャットボットを開発するのは難しく、時間がかかる。
【０００８】
なお、特許文献１はチャットを用いる技術ではないが、特許文献１では、対話シナリオを構成する対話文とする項目を文書から抽出するためのルールを事前に定義しておく必要がある。したがって、特許文献１の方法では、システム開発に関わるガイド類の文章を分析してルールを定義する労力がかかる。さらに、設計情報間の関係は複雑であって文章ではなく図示されることがあるため、文書の項目抽出ルールでは分析が困難である。
【０００９】
本発明は上記の課題に鑑みてなされたもので、その目的は、システム開発作業をチャットの対話を通じて支援することができるようにした開発支援システムおよび方法を提供することにある。
【課題を解決するための手段】
【００１０】
上記課題を解決すべく、本発明の一つの観点に従う開発支援システムは、チャットを通じてシステム開発作業を支援する開発支援システムであって、複数の設計情報のメタ情報をそれぞれ定義してなる複数の第１情報と、複数の第１情報間の関連を定義してなる第２情報と、複数の設計情報に共通して実施される作業に関して用意される対話部品のひな形を定義する第３情報であって、ユーザから入力されるコマンドのひな形とユーザへ提示するメッセージのひな形とを対応付けてなる第３情報とを記憶する情報記憶部と、各第１情報と第２情報と第３情報とに基づいて、各設計情報の作業毎の対話部品と、各設計情報に基づく作業単位毎の対話シナリオ情報とを生成する対話シナリオ情報生成部と、各対話部品および各対話シナリオ情報に基づいてチャット装置を動作させる対話シナリオ情報処理部と、を備える。
【発明の効果】
【００１１】
本発明によれば、各設計情報の作業毎の対話部品と、各設計情報に基づく作業単位毎の対話シナリオ情報とを生成することができる。そして、本発明によれば、各対話部品および各対話シナリオ情報に基づいてチャット装置を動作させることでユーザのシステム開発作業を支援することができる。
【図面の簡単な説明】
【００１２】
【図１】開発支援システムの機能構成を示す説明図である。
【図２】システム開発の様子を示す説明図である。
【図３】開発支援システムのハードウェア構成図である。
【図４】開発支援システムのソフトウェア構成図である。
【図５】設計情報メタ情報の構成例である。
【図６】設計情報メタ情報同士の関連を示す情報の構成例である。
【図７】設計情報の構成例である。
【図８】設計情報同士の関連を示す情報の構成例である。
【図９】設計情報対話部品の構成例である。
【図１０】対話部品の構成例である。
【図１１】対話シナリオ情報の構成例である。
【図１２】チャンネル情報の構成例である。
【図１３】ユーザ情報の構成例である。
【図１４】チャット・チャンネルメニューの画面例である。
【図１５】図１４に続く画面例である。
【図１６】設計情報の操作画面の例を示す。
【図１７】設計情報の操作画面の他の例を示す。
【図１８】設計情報の操作画面のさらに別の例を示す。
【図１９】設計情報の操作画面の他の例を示す。
【図２０】対話シナリオ情報を生成する処理のフローチャートである。
【図２１】対話部品を生成する処理のフローチャートである。
【図２２】対話処理のフローチャートである。
【図２３】対話シナリオ情報の処理を示すフローチャートである。
【図２４】第２実施例に係り、チャットを監視する処理のフローチャートである。
【発明を実施するための形態】
【００１３】
以下、図面に基づいて、本発明の実施の形態を説明する。本実施形態では、既存の設計情報メタ情報を利用して対話シナリオ情報を生成し、対話シナリオ情報を利用したチャット上の対話を通じてユーザのシステム開発作業を支援する。
【００１４】
開発支援システムの対話シナリオ情報生成部３１０は、後述するように、設計情報リポジトリ装置２の設計情報管理部２１０が有する各種設計情報のメタ情報を定義した設計情報メタ情報２２０と、各種設計情報メタ情報間の関連を定義した設計情報メタ情報関連２３０と、対話シナリオ処理装置３の対話シナリオ情報生成部３１０において全ての設計情報２４０に共通して実施される作業に対する対話内容を部品化した設計情報対話部品３２０とから、各種設計情報の作業に対応した対話部品３３０を生成する。さらに、対話シナリオ情報生成部３１０は、対話部品３３０から各種設計情報の作業単位に対話シナリオ情報３４０を生成し、チャット装置４上にチャンネル情報３５０を生成する。
【００１５】
チャット装置４の対話処理部４１１は、チャンネル情報３５０を利用してクライアント装置５から入力される開発者（ユーザ）の文言を処理する。対話処理部４１１は、対話シナリオ情報３４０と対話部品３３０とを利用して、開発支援のためのコマンド受理および指示応答を対話シナリオ情報処理部３１１で処理する。
【００１６】
なお、開発者は、チャット上での対話の過程で、設計情報リポジトリ装置２の設計情報編集部２１１にアクセスすることもできる。これにより、開発者は、チャットを通じて、各種設計情報の照会と新規登録と編集とを行うことができる。
【００１７】
本実施形態に係る開発支援システム１によれば、設計情報２４０を作成する開発者の作業をチャット上の対話によって支援するための対話シナリオ情報３４０を効率的に自動生成することができる。さらに、本実施形態の開発支援システム１は、対話シナリオ情報３４０に基づいて、開発者の作業をチャット上の対話によって支援することができる。
【実施例１】
【００１８】
図１〜図２３を用いて実施例を説明する。まず最初に、図１の説明を用いて、開発支援システム１の機能構成を説明する。続いて、図２の説明図を用いて、開発支援システム１がシステム開発作業を支援する全体像を説明する。さらに、「装置構成」、「データ構成」、「処理構成」の順に、本実施例に係る開発支援システム１を説明する。
【００１９】
開発支援システム１は、例えば、設計情報リポジトリ装置２、対話シナリオ処理装置３（図３参照）、チャット装置４、クライアント装置５を備える。
【００２０】
対話シナリオ処理装置３は、対話シナリオ情報を生成する対話シナリオ情報生成部３１０と、対話シナリオ情報を処理する対話シナリオ情報処理部３１１とを有する。設計情報リポジトリ装置２は、例えば、設計情報メタ情報２２０、設計情報メタ情報関連２３０、設計情報２４０、設計情報関連２５０を記憶して管理する。各情報２２０〜２５０については、図５〜図８で後述する。設計情報リポジトリ装置２と対話シナリオ処理装置３の記憶部３１とが「情報記憶部」の例である。
【００２１】
対話シナリオ情報生成部３１０は、「第１情報」の例である設計情報メタ情報２２０と、「第２情報」の例である設計情報メタ情報関連２３０と、「第３情報」の例である設計情報対話部品３２０とに基づいて、対話部品３３０および対話シナリオ情報３４０を生成する。
【００２２】
設計情報対話部品３２０は、開発支援システム１の管理者Ｕ１が事前に手動で登録してもよいし、図外のサーバから自動的に取得してもよい。設計情報対話部品３２０については、図９で後述する。対話部品３３０については、図１０で後述する。対話シナリオ情報３４０については、図１１で後述する。
【００２３】
対話シナリオ情報生成部３１０は、チャンネル情報３５０も生成する。チャンネル情報３５０については、図１２で後述する。クライアント装置５はチャット装置４に接続し、システム開発者であるユーザＵ２は、許可されたチャンネルでチャット装置４との間でチャットする。チャット装置４は、予め設定されたユーザ情報４２０に基づいて、チャットを制御する。ユーザ情報４２０については、図１３で後述する。
【００２４】
チャット装置４は、図４で後述するように対話処理部４１１を有する。対話シナリオ情報処理部３１１は、対話処理部４１１を介してユーザＵ２から入力される情報（文字列、コマンド）を受取り、対話シナリオ情報３４０および対話部品３２０を用いてユーザＵ２と対話する。
【００２５】
例えば、ユーザＵ２がコマンドを入力すると（Ｓ１）、対話シナリオ情報処理部３１１は、設計情報リポジトリ装置２と連携してコマンドの処理を依頼する（Ｓ２）。対話シナリオ情報処理部３１１は、設計情報リポジトリ装置２からの処理結果を受け取ると（Ｓ３）、指示応答文と一緒に処理結果をクライアント装置５へ返す（Ｓ４）。ここで、指示応答文とは、ユーザＵ２へ指示するメッセージ、またはユーザＵ２からの要求に応えるメッセージのいずれかを含むメッセージである。
【００２６】
図２は、システム開発をチャットを用いて支援する様子を示す説明図である。開発支援システム１の管理者Ｕ１は、システム開発作業を支援するためのボットを事前に生成しておく。作成されたチャット用ボットは、対話部品３３０および対話シナリオ情報３４０に基づいて、ユーザＵ２と対話する。これにより、ユーザＵ２は、例えば「要件定義」、「設計」、「詳細設計・実装」、「テスト」、「リリース・運用」といった各工程をボットの支援を受けながら処理することができる。例えば、システム開発に携わる各ユーザＵ２は、チャットを通じて他の各ユーザと情報を交換したり、次に何をすべきか等の指示をボットから受け取ることができる。さらに、各ユーザＵ２は、ボットを通じて設計情報にアクセスしたり、編集したりすることができる。
【００２７】
――装置構成――
【００２８】
図３は、開発支援システム１のハードウェア構成図である。上述の通り、開発支援システム１は、設計情報リポジトリ装置２と、対話シナリオ処理装置３と、チャット装置４と、クライアント装置５を有する計算機システムである。開発支援システム１は、１つの計算機から構成することもできるし、図３に示すように複数の計算機から構成することもできる。各装置２〜５をそれぞれ別々の計算機として構成し、通信ネットワークＣＮを介して相互接続してもよいし、一つの計算機上で各装置２〜５の機能を実装してもよい。
【００２９】
設計情報リポジトリ装置２は、例えば演算部２０、記憶部２１、通信部２２、ユーザインターフェース部（図中、ＵＩ部）２３を含む。
【００３０】
演算部２０は、記憶部２１に格納された所定のコンピュータプログラムを読み込んで実行することで、図４に示す設計情報管理部２１０および設計情報編集部２１１といった機能を実現する。記憶部２１は、例えば、ＲＯＭ（Read Only Memory）、ＲＡＭ（Random Access Memory）ＳＳＤ（Solid State Drive）、ＨＤＤ（Hard Disk Drive）のような記憶装置から構成することができる。
【００３１】
通信部２２は、通信ネットワークＣＮに接続する装置である。設計情報リポジトリ装置２は、通信部２２から通信ネットワークＣＮを介して他の装置と双方向通信することができる。ユーザインターフェース部２３は、開発者Ｕ１のような操作者との間で情報を交換する装置であり、情報入力装置と情報出力装置（いずれも不図示）を含む。情報入力装置は、例えば、キーボード、タッチパネル、ポインティングデバイス、スイッチ、音声認識装置、動作認識装置等である。情報出力装置は、例えば、ディスプレイ、プリンタ、音声合成装置等である。
【００３２】
同様に、対話シナリオ処理装置３も、演算部３０、記憶部３１、通信部３２、ユーザインターフェース部３３を含む。チャット装置４も同様に、演算部４０、記憶部４１、通信部４２、ユーザインターフェース部４３を含む。クライアント装置５も、演算部５０、記憶部５１、通信部５２、ユーザインターフェース部５３を含む。演算部、記憶部、通信部、ユーザインターフェース部の役割は設計情報リポジトリ装置２で述べたと同様であるため、これ以上の説明を省略する。
【００３３】
図４は、開発支援システム１のソフトウェア構成図である。図中では、オペレーティングシステム、ライブラリ、ドライバ等の基礎的構成は割愛する。
【００３４】
設計情報リポジトリ装置２は、設計情報管理部２１０と設計情報編集部２１１を実現するためのコンピュータプログラムを備える。設計情報管理部２１０は、設計情報メタ情報２２０と設計情報メタ情報関連２３０と設計情報２４０と設計情報関連２５０の各データを管理する機能である。それら情報２２０〜２５０は、設計情報リポジトリ装置２の記憶部２１に格納されており、設計情報管理部２１０により読み書きされる。
【００３５】
設計情報編集部２１１は、設計情報管理部２１０により管理されている各データ２２０〜２５０に対する照会、登録、編集および更新を行う機能である。設計情報編集部２１１は、「設計情報更新部」の例である。
【００３６】
対話シナリオ処理装置３は、対話シナリオ情報生成部３１０と対話シナリオ情報処理部３１１とを実現するためのコンピュータプログラムを備える。対話シナリオ情報生成部３１０は、設計情報メタ情報２２０と設計情報メタ情報関連２３０と設計情報対話部品３２０とから、対話部品３３０と対話シナリオ情報３４０とチャンネル情報３５０とを生成する機能である。
【００３７】
対話シナリオ情報処理部３１１は、ユーザにより入力される対話部品３３０で指定される受理コマンド３３４（図１０参照）に対して、対話シナリオ情報３４０に基づいて、対話部品３３０の指示応答文３３５を表示したり、スクリプト３３６を実行したりする機能である。
【００３８】
チャット装置４は、チャネル情報管理部４１０と対話処理部４１１とを実現するためのコンピュータプログラムを備える。チャンネル情報管理部４１０は、チャットの単位であるチャンネル情報３５０と、各チャンネルへの参加候補とするユーザ情報４２０とを管理する機能である。
【００３９】
対話処理部４１１は、チャンネル情報３５０とユーザ情報４２０とに基づいて、ユーザが選択したチャンネルを表示し、ユーザからの入力を受け付けてチャットを処理する機能である。対話処理部４１１は、後述する実施例で登場するチャット監視部４１２を設けることもできる。
【００４０】
クライアント装置５は、ブラウザ５１０を有する。ユーザＵ２は、ブラウザ５１０を用いて、チャット装置４の提供するチャットサービスを利用できる。
【００４１】
――データ構成――
【００４２】
図５〜図１３を参照して開発支援システム１で使用するデータの例を説明する。
【００４３】
図５は、設計情報メタ情報２２０の例である。設計情報メタ情報２２０は、設計情報２４０のメタ情報である。設計情報メタ情報２２０は、例えば、ＩＤ２２１、工程２２２、種別２２３、照会ＵＲＬ（Uniform Resource Locator）２２４、新規登録ＵＲＬ２２５、編集ＵＲＬ２２６、説明２２７を含む。
【００４４】
ＩＤ２２１は、設計情報メタ情報を一意に識別する情報である。工程２２２は、設計情報２４０を作成する工程を区別する情報である。工程２２２には、例えば、内部設計情報を作成する工程、詳細設計情報を作成する工程がある。種別２２３は、設計情報２４０の種別である。種別２２３には、例えば、コンポーネント設計、クラス設計、メソッド設計がある。照会ＵＲＬ２２４は、設計情報編集部２１１の機能（設計情報の照会）を呼び出すためのアドレスである。新規登録ＵＲＬ２２５は、設計情報編集部２１１の機能（設計情報の登録）を呼び出すためのアドレスである。編集ＵＲＬ２２６は、設計情報編集部２１１の機能（設計情報の編集）を呼び出すためのアドレスである。説明２２７は、設計情報を定義するためのガイド等へのハイパーリンクを含む説明文である。
【００４５】
図６は、設計情報メタ情報関連２３０の例である。設計情報メタ情報関連２３０は、複数の設計情報メタ情報２２０間の関連を定義するデータである。設計情報メタ情報関連２３０は、例えば、ＩＤ２３１、関連元ＩＤ２３２、関連先ＩＤ２３３、関連種別２３４を含む。
【００４６】
ＩＤ２３１は、設計情報メタ情報関連を一意に識別する情報である。関連元ＩＤ２３２は、関連元の設計情報メタ情報２２０を示す情報である。関連先ＩＤ２３３は、関連先の設計情報メタ情報２２０を示す情報である。関連種別２３４は、関連元の設計情報メタ情報２２０と関連先の設計情報メタ情報２２０との関連の種別を示す情報である。関連の種別には、例えば、参照や集約がある。
【００４７】
図７は、設計情報２４０の例である。設計情報２４０は、例えば、ＩＤ２４１、メタ情報ＩＤ２４２、設計情報名２４３、レビュー状態２４４、内容２４５を含む。
【００４８】
ＩＤ２４１は、設計情報を一意に識別する情報である。メタ情報ＩＤ２４２は、設計情報２４０の種別を示す設計情報メタ情報２２０のＩＤである。メタ情報ＩＤ２４２には、図５に示すＩＤ２２１のいずれかの値が設定される。設計情報名２４３は、設計情報２４０の名称を示す。レビュー状態２４４は、設計情報２４０のレビュー状態を示す。内容２４５は、設計情報２４０の実体データである。
【００４９】
図８は、設計情報関連２５０の例である。設計情報関連２５０は、複数の設計情報２４０の間の関連を定義するデータである。設計情報関連２５０は、例えば、ＩＤ２５１、関連元ＩＤ２５２、関連先ＩＤ２５３を含む。
【００５０】
ＩＤ２５１は、設計情報関連を一意に識別する情報である。関連元ＩＤ２５２は、関連元の設計情報２４０を示す情報である。関連先ＩＤ２５３は、関連先の設計情報２４０を示す情報である。
【００５１】
図９は、対話部品３３０のひな形である設計情報対話部品３２０の例を示す。設計情報対話部品３２０は、例えば、ＩＤ３２１、種別３２２、条件３２３、受理コマンドひな形３２４、指示応答文ひな形３２５、次ＩＤ３２６を含む。
【００５２】
ＩＤ３２１は、設計情報対話部品を一意に識別する情報である。種別３２２は、設計情報対話部品の種別を定義する情報である。種別には、「作成」や「編集」等がある。条件３２３は、対話部品を実行する場合の条件を示す。条件３２３には、設計情報対話部品ＩＤ３２１の値を入れることができる。受理コマンドひな形３２４は、ユーザから受け付けるコマンドのひな形を定義する情報である。指示応答文ひな形３２５は、コマンドを受理した後に、ユーザに対して提示する指示応答文のひな形を定義する情報である。次ＩＤ３２６は、次の設計情報対話部品を指示する情報である。
【００５３】
図１０は、対話部品３３０の例を示す。対話部品３３０は、例えば、ＩＤ３３１、種別３３２、条件３３３、受理コマンド３３４、指示応答文３３５、スクリプト３３６、次ＩＤ３３７を含む。
【００５４】
ＩＤ３３１は、対話部品を一意に識別する情報である。種別３３２は、対話部品の種別を示す。種別には、例えば「詳細設計情報の作成」や「共通」等がある。条件３３３は、対話部品を実行する場合の条件を示す。受理コマンド３３４は、ユーザから受け付けるコマンドを定義する情報である。指示応答文３３５は、コマンドを受理した後にユーザに対して提示する指示応答文を定義する情報である。スクリプト３３６は、コマンドを受理した際に実行するスクリプト（プログラム）を定義する情報である。次ＩＤ３３７は、次の対話部品を指示する情報である。
【００５５】
図１１は、対話シナリオ情報３４０の例を示す。対話シナリオ情報３４０は、例えば、ＩＤ３４１、設計作業名３４２、適用対話部品ＩＤ３４３を含む。
【００５６】
ＩＤ３４１は、対話シナリオ情報を一意に識別する情報である。設計作業名３４２は、設計作業の名称を示す。適用対話部品ＩＤ３４３は、設計作業名３４２で特定される作業に適用される対話部品３３０を示す。
【００５７】
図１２は、チャンネル情報３５０の例を示す。チャンネル情報３５０は、チャットのチャンネルを定義する。チャンネル情報３５０は、例えば、ＩＤ３５１、チャンネル名３５２、対話シナリオ情報ＩＤ３５３、参加ユーザＩＤ３５４を含む。
【００５８】
ＩＤ３５１は、チャンネルを一意に識別する情報である。チャンネル名３５２は、チャンネルの名称を定義する。対話シナリオ情報ＩＤ３５３は、チャンネルにおいて適用する対話シナリオ情報を示す。参加ユーザＩＤ３５４は、チャンネルに参加するユーザを特定する情報である。
【００５９】
図１３は、開発者であるユーザＵ２についての情報を管理するユーザ情報４２０の例である。ユーザ情報４２０は、例えば、ＩＤ４２１、ユーザ名４２２、権限４２３、電子メールアドレス４２４を含む。
【００６０】
ＩＤ４２１は、ユーザを一意に識別する情報である。ユーザ名４２２は、ユーザの名称を定義する。権限４２３は、ユーザが有する権限を定義する。電子メールアドレス４２４は、ユーザが有する電子メールアドレスである。なお、電子メールアドレスに代えて、あるいは電子メールアドレスと共に、電話番号等の他の連絡手段についての情報を登録してもよい。
【００６１】
――システム動作――
【００６２】
図１４〜図２１を用いて、本システム１の動作を説明する。図１４および図１５は、チャット画面の例である。図１６〜図１９は、設計情報を編集する画面の例である。図２０は、対話シナリオ情報を生成する処理のフローチャートである。図２１は、対話部品を生成する処理のフローチャートである。
【００６３】
図２０を参照し、対話シナリオ情報を生成する処理（Ｓ１０）を説明する。対話シナリオ情報生成部３１０は、設計情報リポジトリ装置２から設計情報メタ情報２２０を読み込む（Ｓ１１）。具体的には、対話シナリオ情報生成部３１０は、対話シナリオ処理装置３の通信部３２から通信ネットワークＣＮを介して設計情報リポジトリ装置２の通信部２２と接続する。設計情報リポジトリ装置２の設計情報管理部２１０は、記憶部２１から設計情報メタ情報２２０を読み出して対話シナリオ情報生成部３１０へ送信する。
【００６４】
ステップＳ１１と同様に、対話シナリオ情報生成部３１０は、設計情報管理部２１０の処理により記憶部２１から設計情報メタ情報関連２３０を読み込む（Ｓ１２）。
【００６５】
さらに、対話シナリオ情報生成部３１０は、対話シナリオ処理装置３の記憶部３１から設計情報対話部品３２０を読み込む（Ｓ１３）。
【００６６】
対話シナリオ情報生成部３１０は、ステップＳ１１〜Ｓ１３で取得した情報２２０，２３０，３２０に基づいて対話部品３３０を生成し、生成した対話部品３３０を記憶部３１に記憶する（Ｓ１４）。対話部品３３０を生成する処理（Ｓ１４）の詳細は、図２１で後述する。
【００６７】
対話シナリオ情報生成部３１０は、ステップＳ１４で生成された対話部品３３０の対話部品種別３３２ごとのレコードおよび「共通」であるレコードを抽出し、それらレコードから対話シナリオ情報３４０を生成して記憶部３１に記憶する（Ｓ１５）。
【００６８】
対話シナリオ情報生成部３１０は、例えば、対話部品種別３３２が「詳細設計情報作成」の対話部品３３０のレコードおよび「共通」の対話部品３３０のレコードを抽出して、対話シナリオ情報３４０のＩＤ３３１の対話シナリオ情報ＩＤ３４１を採番する。対話シナリオ情報生成部３１０は、設計作業名３４２を対話部品種別３３２からコピーする。対話シナリオ情報生成部３１０は、適用対話部品ＩＤ３４３として、対話部品種別３３２が「詳細設計情報作成」および「共通」の対話部品３３０の対話部品ＩＤ３３１を適用対話部品ＩＤ３４３にコピーして、対話シナリオ情報３４０を生成する。対話シナリオ情報生成部３１０は、生成した対話シナリオ情報３４０を記憶部３１へ記憶する。
【００６９】
対話シナリオ情報生成部３１０は、ステップＳ１５で生成された対話シナリオ情報３４０からチャンネル情報３５０を生成し、生成したチャンネル情報３５０を通信部３２と通信ネットワークＣＮと通信部４２を介してチャット装置４へ転送し、記憶部４１に記憶させる（Ｓ１６）。
【００７０】
例えば、チャンネル情報３５０のチャンネルＩＤ３５１を新たに採番する。そして、対話シナリオ情報３４０の設計作業名３４２からチャンネル名３５２へコピーし、対話シナリオ情報３４０の対話シナリオ情報ＩＤ３４１から対話シナリオ情報ＩＤ３５３へコピーし、参加ユーザＩＤ３５４として「＊」を定義する。ここでの「＊」は、全てのユーザを意味する。
【００７１】
図２１は、図２０中のステップＳ１４として示す対話部品生成処理のフローチャートである。
【００７２】
対話シナリオ情報生成部３１０は、図２０のステップＳ１１で読み込んだ設計情報メタ情報２２０から、同一「工程」の値を有するレコードの中で未処理レコード群を抽出する（Ｓ２１）。対話シナリオ情報生成部３１０は、ステップＳ２１で抽出した未処理レコード群が無くなるまで、ステップＳ２８との間で処理を繰り返す。図５の例では、設計情報メタ情報２２０の中で工程２２２として「詳細」を有する設計情報メタ情報ＩＤが「００２０」と「００２１」のレコードを抽出する。
【００７３】
対話シナリオ情報生成部３１０は、設計情報メタ情報関連２３０を利用して、関連種別が「集約」である工程内の設計情報メタ情報の関係を識別する（Ｓ２２）。詳しくは、対話シナリオ情報生成部３１０は、ステップＳ２１で抽出したレコード群に係る設計情報メタ情報関連２３０を抽出し、抽出した中から関連種別２３４が「集約」であるものを抽出する。そして、対話シナリオ情報生成部３１０は、集約関連の関連元と関連先とを識別し、関連元を含まないルートの設計情報メタ情報２２０を特定する。
【００７４】
例えば、設計情報メタ情報ＩＤ２２１「００２０」または「００２１」を、関連元設計情報メタ情報ＩＤ２３２または関連先設計情報メタ情報ＩＤ２３３のいずれかに含む設計情報メタ情報関連２３０のレコードが、設計情報メタ情報関連ＩＤ２３１「００５１」と「００５２」であったとする。
【００７５】
その中で関連種別２３４が「集約」であるレコードは、設計情報メタ情報関連ＩＤ２３１が「００５２」であるレコードである。したがって、設計情報メタ情報２２０の設計情報メタ情報ＩＤ２２１が「００２０」であるレコードはルートである。その関連先として、設計情報メタ情報２２０の設計情報メタ情報ＩＤ２２１が「００２１」であるレコード（以下これをルートに対して子の設計情報メタ情報と呼ぶ）を識別する。
【００７６】
対話シナリオ情報生成部３１０は、ステップＳ２１で抽出した設計情報メタ情報２２０のレコード群の中から、未処理の設計情報メタ情報２２０を抽出する（Ｓ２３）。対話シナリオ情報生成部３１０は、未処理なレコードがなくなるまでステップＳ２３を繰り返す（Ｓ２７）。例えば、ルートである設計情報メタ情報ＩＤ２２１が「００２０」で種別２２３が「クラス設計情報」の設計情報メタ情報２２０を抽出したとする。
【００７７】
対話シナリオ情報生成部３１０は、ステップＳ１３で読み込んだ設計情報対話部品３２０の中から未処理レコードを１件抽出する（Ｓ２４）。対話シナリオ情報生成部３１０は、未処理レコードがなくなるまでステップＳ２４を繰り返す（Ｓ２６）。
【００７８】
対話シナリオ情報生成部３１０は、ステップＳ２３で抽出した設計情報メタ情報２２０とステップＳ２４で抽出した設計情報対話部品３２０とを元に、対話部品３３０を生成して記憶部３１へ記憶する（Ｓ２５）。
【００７９】
例えば、ステップＳ２３で抽出したルートである「クラス設計情報」に対し、設計情報対話部品３２０の設計情報対話部品種別３２２が「設計情報作成」であるレコードとして、設計情報対話部品ＩＤが「６０００」「６００１」「６００２」「６５００」があった場合に、対話部品を生成する処理を説明する。
【００８０】
対話シナリオ情報生成部３１０は、設計情報対話部品ＩＤが「６０００」のレコードの場合（図９参照）、対話部品３３０の対話部品ＩＤ３３１を「８０２０」と採番して（図１０参照）、「クラス設計情報」の工程「詳細」と設計情報対話部品ＩＤが「６０００」の設計情報対話部品種別「設計情報作成」とを合わせて「詳細設計情報作成」という文字列を作る。
【００８１】
対話シナリオ情報生成部３１０は、対話部品３３０の対話部品種別３３２を作り、受理コマンドひな形３０４「ｓｔａｒｔ（＄｛設計情報種別｝）」の「＄｛設計情報種別｝」を設計情報メタ情報２２０の種別２２３に置き換えることで、「ｓｔａｒｔ（クラス設計情報）」を受理コマンド３３４として作成する。
【００８２】
対話シナリオ情報生成部３１０は、対話実行条件３２３「ｂｅｇｉｎ」を対話実行条件３３３にコピーする。
【００８３】
対話シナリオ情報生成部３１０は、指示応答文ひな形３２５「[「＄｛関連元設計情報｝」を元に]（＄｛設計情報照会ＵＲＬ｝）して「＄｛関連先設計情報｝」を作成してください」の「＄｛｝」の部分を、それぞれ設計情報元設計情報メタＩＤ２３２と設計情報照会ＵＲＬ２２４と関連先設計情報２５３を元に、「[「内部設計」の「コンポ設計情報」を元に]（ｈｔｔｐ：／／・・・）して「クラス設計情報」を作成してください。」を指示応答文３３５として生成する。
【００８４】
なお、対話実行条件３２３「ｂｅｇｉｎ」を対話実行条件３３３にコピーするのは、ルートの場合に限る。
【００８５】
対話シナリオ情報生成部３１０は、設計情報対話部品ＩＤが「６００１」のレコードの場合、対話部品３３０の対話部品ＩＤ３３１を「８０３０」と採番する。
【００８６】
対話シナリオ情報生成部３１０は、「クラス設計情報」の工程「詳細」と設計情報対話部品ＩＤが「６００１」の設計情報対話部品種別「設計情報作成」とを合わせて、「詳細設計情報作成」という文字列を作り、その文字列を対話部品３３０の対話部品種別３３２として設定する。
【００８７】
対話シナリオ情報生成部３１０は、受理コマンドひな形３０４「ｆｉｎｉｓｈ（＄｛設計情報種別｝）」の「＄｛設計情報種別｝」を種別２２３に置き換えることで、「ｆｉｎｉｓｈ（クラス設計情報）」を受理コマンド３３４として作成する。
【００８８】
対話シナリオ情報生成部３１０は、指示応答文ひな形３２５「作成した[「＄｛設計情報種別｝」を登録]（＄｛設計情報新規登録ＵＲＬ｝）してください。」の「＄｛｝」の部分を、種別２２３と設計情報新規登録ＵＲＬ２２５を元に、指示応答文３３５「作成した[「クラス設計情報」を登録]（ｈｔｔｐ：／／・・・）してください。」を生成する。
【００８９】
対話シナリオ情報生成部３１０は、次設計情報対話部品ＩＤ「６００２」に対する対話部品のＩＤを割り当てることで、次実行対話部品ＩＤ「８０４０」を割り当てる。
【００９０】
対話シナリオ情報生成部３１０は、設計情報対話部品ＩＤが「６００２」のレコードの場合、対話部品３３０の対話部品ＩＤ３３１を「８０４０」と採番する。
【００９１】
対話シナリオ情報生成部３１０は、「クラス設計情報」の工程「詳細」と設計情報対話部品ＩＤが「６００２」の設計情報対話部品種別３２２「設計情報作成」とを合わせて「詳細設計情報作成」という文字列を作り、その文字列を対話部品３３０の対話部品種別３３２とする。
【００９２】
対話シナリオ情報生成部３１０は、指示応答文ひな形３２５「＄（＃１）｛「＄｛設計情報種別｝」を作成してください｝。」において、「＄（＃１）｛｝」は｛｝で囲まれる文字列を利用して自身の別の設計情報だけでなく、子がある場合にはその設計情報種別の設計情報の作成も促す特別な指示応答文として、「別の「クラス設計情報」または子の「メソッド設計情報」を作成してください。」という指示応答文３３５を生成する。
【００９３】
対話シナリオ情報生成部３１０は、設計情報対話部品ＩＤが「６５００」のレコードの場合、対話部品３３０の対話部品ＩＤ３３１を「８０８０」と採番する。
【００９４】
対話シナリオ情報生成部３１０は、「クラス設計情報」の工程「詳細」と設計情報対話部品ＩＤが「６００２」の設計情報対話部品種別３２２「設計情報作成」とを合わせて、「詳細設計情報作成」という文字列を作り、その文字列を対話部品３３０の対話部品種別３３２とする。
【００９５】
対話シナリオ情報生成部３１０は、受理コマンドひな形３０４「ｄｏｃ（＄｛設計情報種別｝）」の「＄｛設計情報種別｝」を種別２２３に置き換えることで、「ｄｏｃ（クラス設計情報）」を受理コマンド３３４として作成する。
【００９６】
対話シナリオ情報生成部３１０は、指示応答文ひな形３２５「＄｛説明｝」の「＄｛｝」の部分を説明２２７に置き換えることで、指示応答文３３５「クラス仕様を詳細定義する設計情報です。詳しい定義方法は[「クラス設計ガイド」を参照]（ｈｔｔｐ：／／・・・）してください。」を生成する。
【００９７】
対話シナリオ情報生成部３１０は、設計情報対話部品３２０の設計対話情報種別３２２には「設計情報編集」も含まれるので、対話部品３３０の対話部品ＩＤ３３１を「８１００」と採番する。
【００９８】
対話シナリオ情報生成部３１０は、「クラス設計情報」の工程「詳細」と設計情報対話部品ＩＤが「６００２」の設計情報対話部品種別３２２「設計情報編集」とを合わせて、「詳細設計情報編集」という文字列を作り、その文字列を対話部品３３０の対話部品種別３３２とする。
【００９９】
対話シナリオ情報生成部３１０は、受理コマンドひな形３０４「ｄｏｃ（＄｛設計情報種別｝）」の「＄｛設計情報種別｝」を種別２２３に置き換えることで、「ｄｏｃ（クラス設計情報）」を受理コマンド３３４として作成する。
【０１００】
対話シナリオ情報生成部３１０は、指示応答文ひな形３２５「＄｛説明｝」の「＄｛｝」の部分を説明２２７に置き換えることで、指示応答文３３５「クラス仕様を詳細定義する設計情報です。詳しい定義方法は[「クラス設計ガイド」を参照]（ｈｔｔｐ：／／・・・）してください。」を生成する。
【０１０１】
ステップＳ２３で抽出される子の「メソッド設計情報」に対しても同様にして、対話部品３３０を生成する。
【０１０２】
以上のように、対話シナリオ情報生成部３１０は、設計情報メタ情報２２０と設計情報メタ情報関連２３０と設計情報対話部品３２０とから、対話部品３３０と対話シナリオ情報３４０とチャンネル情報３５０を生成できる。
【０１０３】
図２２は、チャットでの対話処理を示すフローチャートである。ユーザは、クライアント装置５のブラウザ５１０を利用してチャット装置４に接続することで、チャットによる作業支援を受けながらシステム開発作業を進めることができる。クライアント装置５は、通信部５２と通信ネットワークＣＮと通信部４２とを介して、チャット装置４に接続することができる。チャット装置４の対話処理部４１１は、ブラウザ５１０から入力される文字列に自動応答する。
【０１０４】
チャット装置４の対話処理部４１１は、記憶部４１からチャンネル情報３５０を読み込んで、クライアント装置５のブラウザ５１０に「チャット・チャンネルメニュー」を表示する（Ｓ３０）。
【０１０５】
図１４にチャット・チャンネルメニュー画面Ｇ１の例を示す。チャット・チャンネルメニュー画面Ｇ１は、例えば、「内部設計情報作成」、「内部設計情報編集」、「詳細設計情報作成」、「詳細設計情報編集」といったメニューをユーザへ提示する。ユーザは、画面Ｇ１の中から所望のメニューを選択することで、所望の設計情報を作成したり編集したりすることができる。
【０１０６】
図２２に戻る。チャット装置４は、ユーザがブラウザ５１０を通じて選択したチャンネルに対応するチャンネル情報３５０を記憶部４１から読み出し、そのチャンネル情報３５０に基づいて、ブラウザ５１０にチャット画面を表示させる（Ｓ３１）。すなわち、チャット装置４は、チャンネル情報３５０に基づいて生成されたチャット画面を、通信ネットワークＣＮ等を介してクライアント装置５のブラウザ５１０へ送信する。
【０１０７】
チャンネルが開かれるのと同時に、チャット装置４の対話処理部４１１は、対話シナリオ処理装置３の対話シナリオ情報３４０を呼び出し、開かれたチャンネル情報名と同じ設計作業名３４２を有するレコードを特定して記憶部３１から読み込む。さらに、対話処理部４１１は、読み込んだレコードの適用対話部品ＩＤ３４３で指定される対話部品ＩＤ３３１を有する対話部品３３０のレコードを読込み、読み込んだレコードの中で対話実行条件３３３が「ｂｅｇｉｎ」であるレコードを特定する。対話処理部４１１は、特定したレコードの指示応答文３３５を、チャット装置４からの最初の情報として、チャンネルに参加している各ユーザのブラウザ５１０へ表示する。
【０１０８】
図１５を参照する。図１５は、ユーザがチャット・チャンネルメニューＧ１から詳細設計情報作成ＧＰ１１０というメニューを選択した場合のチャンネルの表示例を示す。
【０１０９】
チャンネル上の「Ｂｏｔ」は、チャット装置４がユーザの入力に対して自動生成するチャットボットを示す。チャットボットは、対話処理部４１１の処理結果に応じて、対話シナリオ情報処理部３１１が対話シナリオ情報３４０および対話部品３３０に基づいて応答することにより、実現される。
【０１１０】
チャンネル上の「Ｈｏｇｅ」および「Ｌｅａｄｅｒ」は、ユーザ情報４２０に登録されているユーザを示す。「Ｌｅａｄｅｒ」で表示されるユーザは、「所定の上位ユーザ」または「所定の通知先」または「上位ユーザ」の例である。各ユーザは、それぞれの使用するクライアント装置５のブラウザ５１０を介して、コマンドやメッセージを入力することができる。
【０１１１】
図２２に戻る。チャット装置４の対話処理部４１１は、ユーザがブラウザ５１０を介して情報を入力したか監視している（Ｓ３２）。ユーザがブラウザ５１０へ入力した情報は、通信ネットワークＣＮ等を介してチャット装置４へ送信される。
【０１１２】
対話処理部４１１は、ユーザからの入力を検出すると（Ｓ３２：ＹＥＳ）、ユーザにより入力された情報の中にコマンドが含まれているか判定する（Ｓ３３）。対話処理部４１１は、コマンドが含まれていないと判定すると（Ｓ３３：ＮＯ）、ステップＳ３２でユーザから入力された情報をチャンネルに表示する。これにより、あるユーザの入力した情報（メッセージ）は、そのチャンネルに参加している各ユーザの使用するブラウザ５１０にに表示される。その後、対話処理部４１１の処理はステップＳ３２へ戻り、チャンネルに参加する各ユーザのうちいずれかのユーザから情報が入力されるまで待機する。
【０１１３】
ステップＳ３２でユーザから受領した情報にコマンドが含まれていると判定すると（Ｓ３３：ＹＥＳ）、チャット装置４は、そのコマンドが終了コマンドであるか判定する（Ｓ３５）。
【０１１４】
ユーザから受け付けたコマンドが終了コマンドである場合（Ｓ３５：ＹＥＳ）、チャット装置４は、チャンネルを閉じて本処理を終了する（Ｓ３６）。ユーザの入力した情報に終了コマンド以外のコマンドが含まれていると判定された場合（Ｓ３５：ＮＯ）、チャット装置４は、対話シナリオ情報処理部３１１を呼び出し、図２３で後述する対話シナリオ情報処理（Ｓ３７）を実行させる。チャット装置４は、対話シナリオ情報処理部３１１から返された指示応答文やエラーメッセージ等をチャンネルに参加している各ユーザのブラウザ５１０へ表示させた後、ステップＳ３２へ戻る。
【０１１５】
図２３は、チャット装置４の対話処理部４１１から呼び出されて実行される、対話シナリオ情報処理部３１１の処理内容（Ｓ３７）を示す。
【０１１６】
対話シナリオ情報処理部３１１は、図２２のステップＳ３２でユーザから入力された情報中のコマンドを受理可能か判定する（Ｓ４１）。すなわち、対話シナリオ情報処理部３１１は、図１０に示す対話部品３３０の中に、ユーザの入力したコマンドと同一のコマンドが受理コマンド３３４に登録されているレコードがあるか否か判定する。
【０１１７】
対話シナリオ情報処理部３１１は、ユーザの入力したコマンドに対応するレコードがある場合（Ｓ４１：ＹＥＳ）、そのレコードを対話部品３３０から取得し、ステップＳ４３へ進む。
【０１１８】
対話シナリオ情報処理部３１１は、ユーザの入力したコマンド対応するレコードが対話部品３３０に見当たらない場合（Ｓ４１：ＮＯ）、ユーザの入力したコマンドを受理できないと判定し、エラー処理する（Ｓ４２）。
【０１１９】
エラー処理では、例えば、入力されたコマンドを処理することができない旨のエラーメッセージを、呼び出し元の対話処理部４１１へ返す。ユーザの入力したコマンドに対応するレコードを対話部品３３０から取得できた場合であっても、対話実行条件３３３で指定された対話部品が事前に実行されていない場合は、ユーザの入力したコマンドを受理できないと判定し、エラー処理する（Ｓ４２）。
【０１２０】
対話シナリオ情報処理部３１１は、ユーザの入力したコマンドを受理可能であると判定すると（Ｓ４１：ＹＥＳ）、そのコマンドに応するレコード内の指示応答文３３５から指示応答文を読出して、呼び出し元の対話処理部４１１へ返す。
【０１２１】
対話シナリオ情報処理部３１１は、ユーザの入力したコマンドに対応するレコードのスクリプト３３６に定義されたスクリプトを実行する（Ｓ４４）。スクリプトとは、対話シナリオ処理装置３の演算部３０で実行可能な任意のコンピュータプログラムである。
【０１２２】
対話シナリオ情報処理部３１１は、ユーザの入力したコマンドに対応するレコードの次ＩＤ３３７に次に実行すべき対話部品が登録されているか判定し（Ｓ４５）、登録されている場合（Ｓ４５：ＹＥＳ）、その対話部品に対してステップＳ４３とステップＳ４４を実行する。次に実行すべき対話部品が登録されていない場合（Ｓ４５：ＮＯ）、本処理を終了し、呼び出し元である図２２のステップＳ３７へ戻る。
【０１２３】
図２２および図２３の処理の具体例を図１５を用いて説明する。まずステップＳ３１によって、画面Ｇ２の枠と文言ＧＰ２１０とがブラウザ５１０に表示される。なお、文言ＧＰ２１０の下線部は、指示応答文３３５の中で「[]（）」の「（）」で指定されるＵＲＬへのハイパーリンクを表している。文言ＧＰ２１０の下線文字列で表示されるハイパーリンクをユーザが選択すると、設計情報管理部２１０の機能（設計情報の照会）が呼び出されて、図１６の画面Ｇ３がブラウザ５１０に表示される。
【０１２４】
文言ＧＰ２１１は、ユーザ「Ｈｏｇｅ」が入力した文言であり、コマンド「／ｆｉｎｉｓｈ（クラス設計情報）」がステップＳ３７（ステップＳ４１〜Ｓ４５）により処理され、文言ＧＰ２１２およびＧＰ２１３がブラウザ５１０に表示される。
【０１２５】
なお、文言ＧＰ２１２の下線文字列で表示されるハイパーリンクが選択されると、設計情報管理部２１０の機能（設計情報の登録）が呼び出されて、図１７の画面４がブラウザ５１０に表示される。
【０１２６】
文言ＧＰ２１４は、ユーザ「Ｈｏｇｅ」が入力した文言であり、コマンド「／ｄｏｃ（メソッド設計情報）」がステップＳ３７により処理され、文言ＧＰ２１５がブラウザ５１０に表示される。なお、文言ＧＰ２１５の下線文字列で表示されるハイパーリンクが選択されると、ハイパーリンクのＵＲＬで指定される文書（設計ガイド）がブラウザ５１０に表示される。
【０１２７】
文言ＧＰ２１６は、ユーザ「Ｈｏｇｅ」が入力した文言であり、コマンド「／ｓｔａｒｔ（メソッド設計情報）」がステップＳ３７により処理され、文言ＧＰ２１７がブラウザ５１０に表示される。文言ＧＰ２１７のハイパーリンクが選択されると、設計情報管理部２１０が呼び出されて、図１８の画面Ｇ５がブラウザ５１０に表示される。
【０１２８】
文言ＧＰ２１８は、ユーザ「Ｈｏｇｅ」が入力した文言であり、コマンド「／ｆｉｎｉｓｈ（メソッド設計情報）」がステップＳ３７により処理され、文言ＧＰ２１９およびＧＰ２２０がブラウザ５１０に表示される。なお、文言ＧＰ２１９の下線文字列で表示されるハイパーリンクが選択されると、設計情報管理部２１０の機能（設計情報の登録）が呼び出されて、図１９の画面Ｇ６がブラウザ５１０に表示される。
【０１２９】
文言ＧＰ２２１は、ユーザ「Ｌｅａｄｅｒ」が入力した文言であり、ステップＳ３４でブラウザ５１０に表示される。
【０１３０】
文言ＧＰ２２２は、ユーザ「Ｈｏｇｅ」が入力した文言であり、ステップＳ３４でブラウザ５１０に表示される。
【０１３１】
文言ＧＰ２２３は、ユーザ「Ｈｏｇｅ」が入力した文言であり、コマンド「／ｒｅｖｉｅｗ（＃２００，＃３００）」はステップＳ４４でスクリプトが実行される。その結果、設計情報管理部２１０の処理が実行されて、＃で指定された設計情報ＩＤ２４１のレビュー状態２４４を「Ｔｒｕｅ」にする。
【０１３２】
文言ＧＰ２２４は、ユーザ「Ｈｏｇｅ」が入力した文言であり、コマンド「／ｅｎｄ」がステップＳ３５で判定されて、ステップＳ３６で当該チャンネルを閉じる。
【０１３３】
本実施例の開発支援システム１によれば、チャンネル情報３５０と対話シナリオ情報３４０と対話部品３３０を利用することで、ユーザ（開発者）の入力する文言に自動的に対応して開発を支援するための機能（チャットボット）を効率的に実現できる。この機能は、チャンネル情報管理部４１０と、対話処理部４１１と、対話シナリオ情報処理部３１１とにより実現できる。
【０１３４】
そして、本実施例の開発支援システム１は、ユーザの入力したコマンドをチャットで受理して処理すると共に、適切な指示応答をユーザの使用するクライアント装置５へ返すことができる。このため、ユーザは適切な助言を受けながら開発作業を進めることができ、使い勝手が向上する。
【０１３５】
本実施例の開発支援システム１では、対話の過程で、設計情報リポジトリ装置２の設計情報編集部２１１にアクセスすることができるため、チャットの中で各種設計情報２４０および設計情報関連２５０の更新と照会と登録および編集をすることができる。本実施例の開発支援システム１では、ユーザは開発作業を支援する助言（指示応答）をチャットで受取りながら、チャット内で開発作業を進めることができ、使い勝手が向上する。
【実施例２】
【０１３６】
図２４を用いて第２実施例を説明する。本実施例は第１実施例の変形例に該当するので、第１実施例との差異を中心に述べる。本実施例では、チャットの内容を監視し、内容に応じて上位者へ通知できるようにしている。
【０１３７】
図２４は、チャット装置４の対話処理部４１１が持つチャット監視部４１２が実行する処理である。チャット監視部４１２は、各チャンネルを監視しており、各チャンネルへ入力される情報を取得する（Ｓ５１）。
【０１３８】
チャット監視部４１２は、取得した入力情報を解析し（Ｓ５２）、その解析結果から上位者（管理者等）へ通知すべきか判定する（Ｓ５３）。例えば、入力情報に所定のキーワードが含まれていた場合、入力情報に所定のコマンドが含まれていた場合に、上位者へ通知するよう事前に設定しておく。
【０１３９】
チャット監視部４１２は、上位者へ通知する必要がないと判定すると（Ｓ５３：ＮＯ）、ステップＳ５１へ戻る。これに対し、上位者へ通知する必要があると判定すると（Ｓ５３：ＹＥＳ）、チャット監視部４１２は、チャット内容の概要を作成して上位者へ通知する（Ｓ５４）。例えば、所定のキーワードまたは所定のコマンドを含む所定範囲のチャット内容を抽出し、それをチャット概要として上位者へ送信する。
【０１４０】
さらに、チャット監視部４１２は、上位者へ電子メールを送信し、チャットを確認するように通知することもできる（Ｓ５５）。
【０１４１】
このように構成される本実施例も第１実施例と同様の作用効果を奏する。さらに本実施例では、ユーザのチャット内容に応じて、そのユーザの上位者へチャットの概要を送信すると共に、チャットを確認するよう注意を促すことができる。したがって、上位者は、ユーザの開発作業を効率的に監視し、必要な助言を与えたりすることができる。上位者は、複数のユーザを効率的に管理することができる。
【０１４２】
以上、本発明を実施するための最良の形態などについて具体的に説明したが、本発明はこれに限定されるものではなく、その要旨を逸脱しない範囲で種々変更可能である。
【０１４３】
上記では、対話シナリオ処理装置における対話シナリオ情報生成部と対話シナリオ情報処理部の処理例を示したが、これら処理を実現する手段としてチャットボットフレームワーク上で動くプログラムとして生成してもよい。
【０１４４】
また、上記では文字を用いたチャットを例としたが、音声を用いたチャットツールで実現してもよい。さらに、チャットツールではなく電子メールツールを代替手段として用いてもよい。
【０１４５】
なお、本発明は上記各実施例に限定されるものではなく、様々な変形例が含まれる。例えば、上記各実施例は本発明を分かりやすく説明するために詳細に記載したものであり、必ずしも説明した全ての構成を備えるものに限定されるものではない。
【０１４６】
また、上記の各構成、機能、処理部、および処理手段等は、それらの一部又は全部を、例えば集積回路で設計する等によりハードウェアで実現してもよい。  また、上記の各構成、機能、処理部、および処理手段等は、それらの一部又は全部を、例えば仮想マシンで設計する等によりクラウドシステムで実現してもよい。
【０１４７】
また、上記の各構成、および機能等は、プロセッサがそれぞれの機能を実現するプログラムを解釈し、実行することによりソフトウェアで実現してもよい。  各機能を実現するプログラム、テーブル、ファイル等の情報は、メモリや、ハードディスク、ＳＳＤ（Ｓｏｌｉｄ  Ｓｔａｔｅ  Ｄｒｉｖｅ）等の記録装置、または、ＩＣカード、ＳＤカード、ＤＶＤ等の記録媒体に置くことができる。
【０１４８】
また、制御線や情報線は説明上必要と考えられるものを示しており、製品上必ずしも全ての制御線や情報線を示しているとは限らない。実際には殆ど全ての構成が相互に接続されていると考えてもよい。
【０１４９】
また、本発明の各構成要素は、任意に取捨選択することができ、取捨選択した構成を具備する発明も本発明に含まれる。さらに特許請求の範囲に記載された構成は、特許請求の範囲で明示している組合せ以外にも組み合わせることができる。
【符号の説明】
【０１５０】
１：開発支援システム、２：設計情報リポジトリ装置、３：対話シナリオ処理装置、４：チャット装置、５：クライアント装置、２１０：設計情報管理部、２１１：設計情報編集部、２２０：設計情報メタ情報、２３０：設計情報メタ情報関連、２４０：設計情報、２５０：設計情報関連、３１０：対話シナリオ情報生成部、３１１：対話シナリオ情報処理部、３２０：設計情報対話部品、３３０：対話部品、３４０：対話シナリオ情報、３５０：チャンネル情報、４１０：チャンネル情報管理部、４１１：対話処理部、４１２：チャット監視部、５１０：ブラウザ
【図１】
2018142054.tif 000003
【図２】
2018142054.tif 000004
【図３】
2018142054.tif 000005
【図４】
2018142054.tif 000006
【図５】
2018142054.tif 000007
【図６】
2018142054.tif 000008
【図７】
2018142054.tif 000009
【図８】
2018142054.tif 000010
【図９】
2018142054.tif 000011
【図１０】
2018142054.tif 000012
【図１１】
2018142054.tif 000013
【図１２】
2018142054.tif 000014
【図１３】
2018142054.tif 000015
【図１４】
2018142054.tif 000016
【図１５】
2018142054.tif 000017
【図１６】
2018142054.tif 000018
【図１７】
2018142054.tif 000019
【図１８】
2018142054.tif 000020
【図１９】
2018142054.tif 000021
【図２０】
2018142054.tif 000022
【図２１】
2018142054.tif 000023
【図２２】
2018142054.tif 000024
【図２３】
2018142054.tif 000025
【図２４】
2018142054.tif 000026