JP2007213203A - プログラム開発支援システム - Google Patents

プログラム開発支援システム Download PDF

Info

Publication number
JP2007213203A
JP2007213203A JP2006030924A JP2006030924A JP2007213203A JP 2007213203 A JP2007213203 A JP 2007213203A JP 2006030924 A JP2006030924 A JP 2006030924A JP 2006030924 A JP2006030924 A JP 2006030924A JP 2007213203 A JP2007213203 A JP 2007213203A
Authority
JP
Japan
Prior art keywords
function
project
added
program
client
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.)
Granted
Application number
JP2006030924A
Other languages
English (en)
Other versions
JP5002975B2 (ja
Inventor
Mitsuhiro Tategoshi
光宏 舘越
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 Holdings 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 Holdings Ltd filed Critical Fuji Electric Holdings Ltd
Priority to JP2006030924A priority Critical patent/JP5002975B2/ja
Publication of JP2007213203A publication Critical patent/JP2007213203A/ja
Application granted granted Critical
Publication of JP5002975B2 publication Critical patent/JP5002975B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Stored Programmes (AREA)

Abstract

【課題】開発者間で共通に使用するプログラムのソースコード・モジュール・ライブラリなどの機能が未実装でも、あるいは、開発中の機能をプロジェクトメンバーに公開または隠蔽後に変更したとしても、全体のプロジェクトに対し、コンパイルが不可能な状態になるなどの影響を回避することができるプログラム開発支援システムを提供する。
【解決手段】動作不良が発生する機能や仕様漏れなどがあった状態で機能を作成した場合、プロトタイプ生成部92がそれに代わる仮想の機能を生成することができるため、複数人でソフトウェア開発をする上で課題となるソースコードの管理や機能修正によるソースコードの大幅な変更、仕様の不明確な個所について仮実装が可能となり、開発の利便性の高くなる。
【選択図】図3

Description

本発明はプログラム開発支援システムに関し、特にネットワークに接続されているコンピュータを使用して複数人で行うプログラムの開発を支援するプログラム開発支援システムに関する。
プログラムは、多くのソースコード・モジュール・ライブラリ(以下、単に機能と呼ぶことがある)によって構成され、これらはプログラムの規模が大きくなれば、一般に複数の開発者により分担して開発されることが行われている。
複数の開発者が共同で開発している場合、開発者間の進捗状況に差があったり、作成された機能に不具合があったりすると、開発に時間がかかってしまうことがある。それ以外にも、開発方法によっては、同じ作業を繰り返すことで無駄な時間を必要とする場合がある。
たとえば、複数フェーズからなるプログラムを解析する場合、通常は、これらの一連のフェーズを一度に実行するようにしている。このため、特定のフェーズのみ機能の修正を行った場合においても、解析は、最初のフェーズから同じように行われ、機能修正のないフェーズにおいても再解析が行われることになる。そこで、プログラム解析情報をフェーズ単位で管理するようにして、修正のないフェーズにおける不要な解析処理時間の無駄を無くし、効率の良い開発を支援するシステムがある(たとえば、特許文献1参照。)。
また、公開された機能とそれを参照する機能とがあって、公開側の機能に関する情報を別途公開情報として定義している場合、開発者はその定義を参照しながら参照側の機能の開発を行うことになる。しかし、公開された機能が変更された場合、それを参照する機能において、それぞれの処理に整合性がとれなくなることがある。このため、公開された機能とこれを参照する機能とを検索し、その参照関係を監視して、変更があれば公開情報を更新することで、両機能における処理の整合性を保持するために人が行う作業量を低減するようにしたシステムもある(たとえば、特許文献2参照。)。
特開平10−275076号公報 特開2004−362048号公報
しかしながら、特許文献1における開発支援システムでは、複数の開発者が作業を同時進行している状況下において、誰が、今、どのような機能を作成しているか、また、離れている場所で作業をしている場合など、リアルタイムにその情報を知る術がないため、二度手間になるなど、かえって開発者への負担が増す可能性が高くなるという問題点があった。
また、特許文献2に記載の開発支援システムでは、プログラムのソースコードまたはモジュールの機能に不具合や機能漏れが発生している状態で、他の開発者がその機能を参照してしまっている場合には、参照している機能の修正を待たなければいけない場合があり、開発工程に影響が出てくる可能性がある。しかも、ネットワークを使用した形態を考慮していないため、ローカル環境でしか使用できず、機能が、一度、公開されて他の機能に参照されてしまえば、公開を取り消すことができないという問題点もあった。
本発明はこのような点に鑑みてなされたものであり、開発者間の情報を共有でき、共通に使用するプログラムのソースコード・モジュール・ライブラリなどの機能が未実装でも、あるいは、開発中の機能をプロジェクトメンバーに公開または隠蔽した後に変更したとしても、全体のプロジェクトに対し、コンパイルが不可能な状態になるなどの影響を回避することができるプログラム開発支援システムを提供することを目的とする。
本発明では上記問題を解決するために、サーバと複数のクライアントとがネットワークを介して接続されている環境にて、複数の開発者が前記クライアントを使用して共同でプログラムの開発を行うためのプログラム開発支援システムにおいて、前記クライアントは、別の開発者が作成して自身のプロジェクトに追加した機能を仮想的に構築する場合のプロトタイプまたは前記プロジェクトに追加した機能が隠蔽されたときに隠蔽前と同じ条件で使用できるようにするためのプロトタイプを生成するプロトタイプ生成手段と、作成した機能を他の開発者に対して公開または隠蔽する設定を行う機能公開・隠蔽手段とを有するタイムポイント機能を備え、前記サーバは、前記クライアントからプロジェクト情報を前記ネットワークを介して収集し、収集した前記プロジェクト情報を管理し、新規に作成された公開の機能を収集した場合は前記ネットワークを介して前記クライアントへ新着情報として配信するデータ収集管理機能を備えていることを特徴とするプログラム開発支援システムが提供される。
このようなプログラム開発支援システムによれば、仮想的な機能であるプロトタイプを生成するプロトタイプ生成手段を有していることにより、機能修正によるソースコードの大幅な変更、仕様の不明確な個所について仮実装が行え、動作不良が発生する機能や仕様漏れなどがあった状態でプロジェクトに追加した機能が機能公開・隠蔽手段により公開から隠蔽に変更されたとしても、全体のプロジェクトに対する影響を回避することができる。
本発明のプログラム開発支援システムは、複数の開発者が作業するクライアントと、各開発者の開発した機能を集中管理するサーバとの構成にしたので、開発者間の情報をリアルタイムに共有することができ、クライアントには、開発者間で共通に使用する機能に不具合や機能漏れが発生している状態でもそれに代わる仮想機能であるプロトタイプを自身のプロジェクト内に生成できるので、複数人でソフトウェア開発をする上で課題となるソースコードの管理や機能修正によるソースコードの大幅な変更、仕様の不明確な個所について仮実装を行うことができ、開発の利便性が高くなるという利点がある。
以下、本発明の実施の形態を図面を参照して詳細に説明する。
図1はプログラム開発支援システムの構成例を示すシステム構成図である。
プログラム開発支援システムは、情報の管理を行うサーバ10と、複数の開発者がそれぞれ使用する複数のクライアント20,30,40と、サーバ10およびクライアント20,30,40を接続するネットワーク50とを備えている。また、この構成例では、クライアント20は、別のネットワーク60を介して複数のクライアント21,22に接続され、クライアント30,40についても、それぞれ別のネットワークを介して多くのクライアントが接続され得ることを示している。
サーバ10は、複数の開発者が携わっているプロジェクト情報を管理するためのソフトウェアであるデータ収集管理機能がインストールされているコンピュータであり、クライアント20,21,22,30,40は、そのプロジェクト情報を使用するためのソフトウェアであるタイムポイント機能がインストールされているパーソナルコンピュータである。また、サーバ10が管理しているプロジェクト情報は、ネットワークに接続されている図示しないコンピュータより、専用のモニタやWebブラウザを利用することで閲覧をすることができる。なお、コンピュータ間の通信手段は、無線あるいは有線で接続されている。
図2はサーバまたはクライアントのハードウェア構成例を示す図である。
サーバ10またはクライアント20,21,22,30,40を構成するコンピュータ70は、CPU(Central Processing Unit)71と、ROM(Read Only Memory)72と、RAM(Random Access Memory)73と、ディスプレイアダプタ74と、ハードディスク75と、入出力インタフェース76と、ネットワークアダプタ77とを有し、これらはバス78によって相互に接続されている。CPU71は、このコンピュータ70の全体の制御を司り、ROM72は、ハードディスク75、ディスプレイアダプタ74などの周辺機器を制御するプログラムなどを格納し、RAM73は、OS(Operating System)の一部、実行中のアプリケーションソフトウェア、演算途中のデータなどが記憶される。ディスプレイアダプタ74は、モニタ81に接続され、ハードディスク75には、OS、アプリケーションソフトウェアなどが格納され、入出力インタフェース76は、キーボード82、マウス83などが接続され、ネットワークアダプタ77は、LAN(Local Area Network)などのネットワークに接続されている。ハードディスク75に格納されているアプリケーションソフトウェアには、プログラム開発支援のためのタイムポイント機能、データ収集管理機能などのソフトウェア、テキストエディタ、コンパイラなどのソフトウェア開発用のソフトウェアなどを含んでいる。
図3はクライアントの機能ブロック図である。
クライアント20,21,22,30,40には、プログラム開発者側のプログラム開発ソフトウェアがインストールされていて、その一部のソフトウェアがタイムポイント機能90である。このタイムポイント機能90は、プロジェクト情報表示部91と、プロトタイプ生成部92と、機能公開・隠蔽部93と、コネクションマッチテスト部94とを有している。
プロジェクト情報表示部91は、ソースコード、モジュール、ライブラリ、および、仮想機能などのプロジェクト情報を階層的に表示する機能を有し、プロトタイプ生成部92は、開発途中で隠蔽された機能を隠蔽前と同じ条件で使用できるようにするためのプロトタイプまたはプロジェクトに追加した機能をたとえばソースコードの大幅な変更や仕様の不明確な部分について仮に実装しておく場合に未実装機能とするときのプロトタイプを生成する機能を有し、機能公開・隠蔽部93は、ソースコード、モジュール、ライブラリなどの機能を他の開発者に対して公開または隠蔽する機能を有し、コネクションマッチテスト部94は、仮想機能から実機能へと置き換えたときに、機能に対して自動的にテストを行う機能を有している。
図4はサーバの機能ブロック図である。
サーバ10は、タイムポイント機能90がインストールされている複数のクライアント20,21,22,30,40からプロジェクト情報(各種データ)を定期的に収集・管理するソフトウェアであるデータ収集管理機能100を備えている。このデータ収集管理機能100が管理する管理データとしては、履歴情報、仮想機能情報、公開・隠蔽情報、ソースコード、モジュール、ライブラリなどのプログラム情報、パーティション情報、ネットワーク情報などである。
次に、クライアント20,21,22,30,40の動作について説明する。
図5はクライアントのタイムポイント機能の処理の流れを示すフローチャート、図6は公開・隠蔽変更処理の流れを示すフローチャート、図7はクラス・メソッド関連のユーザインタフェースを示す図、図8はデータの生成関連のユーザインタフェースを示す図である。
まず、プログラムの開発をするとき、開発者は、ネットワーク50,60上に接続されているクライアント20,21,22,30,40によりサーバ10に対してログインを行うので、図5に示すように、タイムポイント機能90は、サーバ10にログイン中か否かを判断し(ステップS1)、ログイン中でなければ、この処理は終了する。なお、ログインが行われると、サーバ10のデータ収集管理機能100は、どのクライアントからのログインなのかをチェックし、その結果を情報として保持しており、その後は、タイムポイント機能90からの作業データを周期的に取得する。
サーバ10にログイン後、タイムポイント機能90は、開発者からの指示が「新規プロジェクト作成」であるか否かを判断する(ステップS2)。「新規プロジェクト作成」であれば、開発者が新規に管理したいプロジェクトを作成することによってサーバ10側で管理するプロジェクト情報を生成する(ステップS3)。「新規プロジェクト作成」でなければ、あらかじめ作成されたプロジェクトの編集を行う「既存プロジェクト編集」であるか否かを判断し(ステップS4)、「既存プロジェクト編集」でなければ、この処理は終了する。
次に、プロジェクトで新規に管理する機能(ソースコード)の追加があるか否かが判断され(ステップS5)、新規機能の追加があれば、ソースコードの追加を行い(ステップS6)、そのソースコードを他の開発者に対して公開するのか隠蔽するのかを設定をする(ステップS7)。新規機能の追加がなければ、プロジェクトに追加されている機能に対して公開・隠蔽の変更処理を行うか否かが判断される(ステップS8)。
ここで、公開・隠蔽の変更処理を行う場合(ステップS9)、図6に示すように、その変更処理は、公開から隠蔽への変更処理であるか否かが判断される(ステップS91)。公開から隠蔽への変更処理である場合には、プロトタイプの生成処理を行ってから(ステップS92)、機能の隠蔽への変更処理を行い(ステップS93)、そうでなければ、直接、機能の公開への変更処理を行う(ステップS94)。これは、機能の隠蔽から公開への変更に関しては、問題はないが、公開から隠蔽への逆の変更の場合、他の開発者側のプロジェクトで、その機能を使用している可能性があり、隠蔽してしまうとコンパイル・実行形式などのファイル生成ができなくなる可能性があるからである。そのため、機能の設定情報を公開から隠蔽に変更する場合には、サーバ10側で保持しているデータを使用して、他のプロジェクトでその機能が使用されているかをチェックした後、隠蔽された機能と同等のプロトタイプを生成して、隠蔽される前と同じ条件で使用できるようにし、これによって、他のプロジェクトで使用されている環境に対して影響を与えないようにしている。
図5に戻って、次に、タイムポイント機能90は、プロジェクトに追加した機能を未実装機能とする場合のプロトタイプを生成するか否かを判断し(ステップS10)、プロトタイプを生成しない場合には、開発者が作成した機能がそのままプロジェクトに登録される(ステップS11)。追加した機能のプロトタイプを生成する場合には、プロトタイプを自動生成するための各種データの設定を行い(ステップS12)、プロトタイプ機能を自動生成する(ステップS13)。ここで、プロトタイプを自動生成するための各種データの設定は、ユーザインタフェースを使用して構築する。たとえば、クラス・メソッド関連の各種データの設定は、図7に示した未実装機能を生成するためのクラス作成ダイアログ110を表示させ、クラス名、メソッド名、パラメータ(引数情報)、入力データおよび出力データを開発者に入力してもらい、データの生成関連の各種データの設定は、図8に示した未実装機能を生成するためのデータ設定ダイアログ120を表示させ、入力情報および出力情報などを開発者に入力してもらうことによって各種データの設定を行うことになる。
次に、新規または編集中のソースコードが存在するか否かを判断する(ステップS14)。機能の新規追加または編集により既存のプロジェクトの内容に変更が生じた場合は、サーバ10とのコネクションが確立しているか否かが判断され(ステップS15)、サーバ10とのコネクションが確認されると、サーバ10側にすべてのデータをアップし(ステップS16)、そのアップロードが成功したか否かが判断される(ステップS17)。アップロード処理が成功していない場合には、再アップロードするか否かが判断され(ステップS18)、再アップロードする場合には、ステップS15に戻る。ステップS17において、アップロードが成功した場合、およびステップS18において、再アップロードしない場合には、新機能の追加をチェックするステップS5に戻る。また、ステップS15において、サーバ10とのコネクションを確認することができない場合は、再接続を試み(ステップS19)、この再接続は、サーバ10とのコネクションが確認されるまで、繰り返される(ステップS20)。なお、ステップS14において、既存のプロジェクトの内容に変更がなければ、新機能の追加をチェックするステップS5に戻る。
次に、サーバ10の動作について説明する。
図9はサーバのデータ収集管理機能の処理の流れを示すフローチャートである。
データ収集管理機能100は、まず、開発者のクライアント20,21,22,30,40がログイン中か否かを判断し(ステップS21)、ログイン中でなければ、この処理を終了する。ログイン中ならば、その開発者が新規プロジェクトを作成したか否かが判断され(ステップS22)、新規プロジェクトを作成した場合には、新規プロジェクトが生成される(ステップS23)。新規プロジェクトを作成していない場合には、あらかじめ作成されたプロジェクトの編集を行う「既存プロジェクト編集」であるか否かを判断し(ステップS24)、「既存プロジェクト編集」でなければ、この処理は終了する。
次に、データ収集管理機能100は、開発者のクライアント20,21,22,30,40からプロトタイプ生成、公開・隠蔽設定、機能の追加処理などに関する情報の転送要求が来ているか否かを判断する(ステップS25)。情報の転送要求が来ていれば、それに対応したデータ処理を行い(ステップS26)、処理したデータを要求元のクライアントに転送する(ステップS27)。
次に、データ収集管理機能100は、クライアント20,21,22,30,40より周期的にアッブロードされてくる開発者側の情報を取得し(ステップS28)、取得した情報を管理データとしてファイルに保存する(ステップS29)。そして、データ収集管理機能100は、クライアント20,21,22,30,40とのコネクションが確立しているか否かが判断され(ステップS30)、クライアント20,21,22,30,40とのコネクションが確認されると、開発者からの要求を待つステップS25に戻る。クライアント20,21,22,30,40とのコネクションが確認されない場合は、クライアント20,21,22,30,40とのコネクションチェック処理、つまり、クライアント20,21,22,30,40からの接続要求を待つ(ステップS31)。ここで、クライアント20,21,22,30,40からの接続要求があれば、再度、クライアント20,21,22,30,40とのコネクションが確立しているか否かが判断され(ステップS32)、クライアント20,21,22,30,40とのコネクションが確認されると、ステップS25に戻り、コネクションが確認されない場合は、ステップS31に戻る。
次に、プログラム開発支援システムの動作例について説明する。
図10はタイムポイント機能とデータ収集管理機能との連携を示す図である。
ここで、開発者側において、第1開発者がクライアント20の端末を使ってプログラムを開発し、第2開発者がクライアント30の端末を使ってプログラムを開発しているとする。これらの開発において、クライアント20においては、プロジェクトaとしてプログラムを機能単位に分けて機能A,B,・・が開発され、クライアント30においては、プロジェクトbとしてプログラムを機能単位に分けて機能C,D,・・が開発されているとする。なお、クライアント20,30におけるプログラム開発ソフトウェアのユーザインタフェースでは、図示のように、プロジェクトの配下にある機能を階層構造的に表示するようにしている。これらの機能は、ソースコード、モジュール、ライブラリなど、実行ファイルを作成するために必要なファイル群であり、1つのコンパイル単位を構成するものであって、プログラム開発ソフトウェアのタイムポイント機能90a,90bにより管理されている。
まず、第1開発者が開発を開始するとき、第1開発者は、クライアント20からサーバ10に対してログインを行う。これにより、クライアント20とサーバ10とは、通信状態になる。ログイン後、複数の開発者が共同作業を行うプロジェクトを新規に生成するか、または既存のプロジェクトを読み込む作業を行う。たとえば、新規作成の場合、タイムポイント機能90aはサーバ10側で管理するプロジェクトのデータを生成する。図示の例では、サーバ10側で、第1プロジェクトマネージャが管理するプロジェクトのデータが既に生成されていて、今回、第2プロジェクトマネージャと第1および第2開発者が作成したプロジェクトマネージャデータとが新たに生成されたと仮定する。
プロジェクトマネージャデータを生成してから、第1開発者のクライアント20では、プログラム開発ソフトウェアのタイムポイント機能90aがクライアント20で作業をしているプロジェクト情報、つまり、プロジェクトaの機能A,B,・・をサーバ10へ登録する。もちろん、タイムポイント機能90aがプロジェクト情報をプロジェクトへ登録するときには、第2プロジェクトマネージャに登録するように指定してあるとする。また、この時点で、他の開発者に対して機能を公開するのか隠蔽するのかを機能ごとに設定してある。ここでは、プロジェクトaの機能A,B,・・は、すべて隠蔽状態になっているとする。
その後、同様な作業を第2開発者が行うことで、サーバ10の側では、第2プロジェクトマネージャに第2開発者のプロジェクトbに関するプロジェクトマネージャデータが登録される。このようにして、第2プロジェクトマネージャには、プロジェクトaおよびプロジェクトbの情報が構築され、管理される。このとき、データ収集管理機能100からは、あるプロジェクトの中にプロジェクトaおよびプロジェクトbの機能が一緒に入っているように見える。
図11は実体機能を追加した場合の動作説明図、図12は機能を仮想的に追加する場合の動作説明図、図13はサーバに隠蔽情報が追加された場合の動作説明図である。
第2開発者が自身のプロジェクトbに対して「機能E」を追加した場合には、サーバ10の側にこの情報が登録される。それに伴い、登録した機能Eには、「公開」・「隠蔽」の条件が設定されるが、ここでは「公開」として登録したとする。
サーバ10に新しい機能の登録が「公開」で登録された場合、サーバ10のデータ収集管理機能100は、第1開発者のクライアント20に新着情報を配信する。クライアント20では、その情報に対して自身のプロジェクトaに追加するかどうかを設定することができる。この新しい「機能E」を追加する方法としては、図11に示したように、ソースコードやモジュールなどの機能Eの実体をプロジェクトaにコピーして運用する形態がある。また、別の形態として、図12に示したように、実体をコピーせずに仮想的に追加をして運用することもできる。もちろん、機能Eをサーバ10に対して公開ではなく隠蔽で登録した場合には、第1開発者の側には何も通達が来ないため、図13に示したように、第1開発者のプロジェクトaに登録されることはない。
以上のように、他の開発した機能が新たにサーバ10に公開で追加登録されると、その機能を他の開発者が自身のプロジェクトに実装機能または未実装機能として追加することができる。未実装機能として仮想的に機能追加を行った場合、プロジェクトの確認を行う場合にその配下の機能に対してコンパイルが可能なようにその仮想的な機能を実体機能に置き換える必要がある。その場合には、置き換えた機能に対してコネクションマッチテスト部94が自動的にテストを行うようにしている。次に、そのコネクションマッチテスト機能について説明する。
図14はコネクションマッチテスト機能の処理の流れを示すフローチャートである。
コネクションマッチテスト部94では、その対象の機能が仮想機能として実装されているか否かが判断される(ステップS41)。仮想機能として実装されていなければ、この処理は終了する。仮想機能として実装されていれば、図8に示した未実装機能を生成するためのデータ設定ダイアログ120を使用して、既にデータを構築しているか否かが判断される(ステップS42)。ここで、データを構築していない場合には、データを構築するか否かが判断され(ステップS43)、データを構築する場合、データを構築し(ステップS44)、データを構築しない場合には、この処理は終了する。
次に、構築されたデータに対して動作チェックを行い(ステップS45)、動作チェックの結果が正常でないかどうかが判断される(ステップS46)。動作チェックが正常に終了した場合は、その旨をレポート表示し(ステップS47)、この処理を終了する。置き換えた実体機能の動作チェックが何らかの不具合により正常に終了しない場合には、その旨をレポート表示し(ステップS48)、ここで、不具合のあった機能に対して修正作業をするか否かが判断される(ステップS49)。修正を行わない場合は、この処理を終了する。修正を行う場合、レポートによりどの機能が異常であるかが報告されているので、その機能に対して修正を行い(ステップS50)、最後に、再テストを行うか否かが判断される(ステップS51)。再テストを行う場合は、ステップS41に戻り、再テストを行わない場合は、この処理を終了する。
なお、上記のサーバ10およびクライアント20,21,22,30,40の処理機能は、コンピュータによって実現されるが、その場合、サーバ10のデータ収集管理機能100の処理内容を記述したプログラム、およびクライアント20,21,22,30,40のタイムポイント機能90の処理内容を記述したプログラムが提供される。
プログラム開発支援システムの構成例を示すシステム構成図である。 サーバまたはクライアントのハードウェア構成例を示す図である。 クライアントの機能ブロック図である。 サーバの機能ブロック図である。 クライアントのタイムポイント機能の処理の流れを示すフローチャートである。 公開・隠蔽変更処理の流れを示すフローチャートである。 クラス・メソッド関連のユーザインタフェースを示す図である。 データの生成関連のユーザインタフェースを示す図である。 サーバのデータ収集管理機能の処理の流れを示すフローチャートである。 タイムポイント機能とデータ収集管理機能との連携を示す図である。 実体機能を追加した場合の動作説明図である。 機能を仮想的に追加する場合の動作説明図である。 サーバに隠蔽情報が追加された場合の動作説明図である。 コネクションマッチテスト機能の処理の流れを示すフローチャートである。
符号の説明
10 サーバ
20,21,22,30,40 クライアント
50,60 ネットワーク
90,90a,90b タイムポイント機能
91 プロジェクト情報表示部
92 プロトタイプ生成部
93 機能公開・隠蔽部
94 コネクションマッチテスト部
100 データ収集管理機能

Claims (7)

  1. サーバと複数のクライアントとがネットワークを介して接続されている環境にて、複数の開発者が前記クライアントを使用して共同でプログラムの開発を行うためのプログラム開発支援システムにおいて、
    前記クライアントは、別の開発者が作成して自身のプロジェクトに追加した機能を仮想的に構築する場合のプロトタイプまたは前記プロジェクトに追加した機能が隠蔽されたときに隠蔽前と同じ条件で使用できるようにするためのプロトタイプを生成するプロトタイプ生成手段と、作成した機能を他の開発者に対して公開または隠蔽する設定を行う機能公開・隠蔽手段とを有するタイムポイント機能を備え、
    前記サーバは、前記クライアントからプロジェクト情報を前記ネットワークを介して収集し、収集した前記プロジェクト情報を管理し、新規に作成された公開の機能を収集した場合は前記ネットワークを介して前記クライアントへ新着情報として配信するデータ収集管理機能を備えていることを特徴とするプログラム開発支援システム。
  2. 前記タイムポイント機能は、前記プロジェクトに追加された機能および仮想的に追加された未実装機能を階層的に表示するプロジェクト情報表示手段を有していることを特徴とする請求項1記載のプログラム開発支援システム。
  3. 前記タイムポイント機能は、仮想的に追加された未実装機能を実機能へ置き換えたときに、前記プロジェクトに追加されている機能に対して動作テストを実行するコネクションマッチテスト手段を有していることを特徴とする請求項1記載のプログラム開発支援システム。
  4. 前記機能は、前記プログラムのソースコード、モジュール、ライブラリであることを特徴とする請求項1記載のプログラム開発支援システム。
  5. 前記データ収集管理機能は、前記クライアントから収集した機能に関する情報をプロジェクトマネージャで管理するようにしたことを特徴とする請求項1記載のプログラム開発支援システム。
  6. サーバのコンピュータに、
    クライアントからプロジェクト情報をネットワークを介して収集し、収集した前記プロジェクト情報を管理し、新規に作成された公開の機能を収集した場合は前記ネットワークを介して前記クライアントへ新着情報として配信するデータ収集管理機能を実行させるためのプログラム。
  7. クライアントのコンピュータに、
    自身のプロジェクトに追加された機能および仮想的に追加された未実装機能を階層的に表示するプロジェクト情報表示手段、
    別の開発者が作成して前記プロジェクトに追加した機能を仮想的に構築する場合のプロトタイプまたは前記プロジェクトに追加した機能が隠蔽されたときに隠蔽前と同じ条件で使用できるようにするためのプロトタイプを生成するプロトタイプ生成手段、
    作成した機能を他の開発者に対して公開または隠蔽する設定を行う機能公開・隠蔽手段、
    前記プロジェクトに仮想的に追加された前記未実装機能を実機能へ置き換えたときに、前記プロジェクトに追加されている機能に対して動作テストを実行するコネクションマッチテスト手段、
    として機能させるタイムポイント機能を実行させるためのプログラム。
JP2006030924A 2006-02-08 2006-02-08 プログラム開発支援システム Active JP5002975B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2006030924A JP5002975B2 (ja) 2006-02-08 2006-02-08 プログラム開発支援システム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2006030924A JP5002975B2 (ja) 2006-02-08 2006-02-08 プログラム開発支援システム

Publications (2)

Publication Number Publication Date
JP2007213203A true JP2007213203A (ja) 2007-08-23
JP5002975B2 JP5002975B2 (ja) 2012-08-15

Family

ID=38491598

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006030924A Active JP5002975B2 (ja) 2006-02-08 2006-02-08 プログラム開発支援システム

Country Status (1)

Country Link
JP (1) JP5002975B2 (ja)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009116875A (ja) * 2007-11-05 2009-05-28 Internatl Business Mach Corp <Ibm> プロジェクト開発環境を与える方法及び装置並びにプロジェクト開発システム(プロジェクト開発環境を与える方法及び装置並びにプロジェクト開発システム)
KR20160000760A (ko) * 2014-06-25 2016-01-05 주식회사 포워드벤처스 소스 배포 장치, 시스템 및 방법, 컴퓨터 판독 가능한 기록 매체
KR20160002165A (ko) * 2014-06-30 2016-01-07 주식회사 포워드벤처스 소스 배포 장치, 방법, 및 컴퓨터 판독 가능한 기록 매체
US10295976B2 (en) 2013-02-22 2019-05-21 Mitsubishi Electric Corporation System development device, system development method, and system development program
US10659522B2 (en) 2010-11-30 2020-05-19 International Business Machines Corporation Sharing application local environment

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH076073A (ja) * 1993-04-19 1995-01-10 Nec Corp ホスト端末装置間自動デリバリシステム
JP2000047862A (ja) * 1998-07-27 2000-02-18 Nec Corp ソフトウエア開発支援方法および装置並びに記録媒体
JP2002366674A (ja) * 2001-06-05 2002-12-20 Nec Corp ソフトウェア開発自動管理システム及びソフトウェア開発自動管理プログラム
JP2004362048A (ja) * 2003-06-02 2004-12-24 Denso Corp ソフトウェア開発支援システムおよびソフトウェア開発支援プログラム

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH076073A (ja) * 1993-04-19 1995-01-10 Nec Corp ホスト端末装置間自動デリバリシステム
JP2000047862A (ja) * 1998-07-27 2000-02-18 Nec Corp ソフトウエア開発支援方法および装置並びに記録媒体
JP2002366674A (ja) * 2001-06-05 2002-12-20 Nec Corp ソフトウェア開発自動管理システム及びソフトウェア開発自動管理プログラム
JP2004362048A (ja) * 2003-06-02 2004-12-24 Denso Corp ソフトウェア開発支援システムおよびソフトウェア開発支援プログラム

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009116875A (ja) * 2007-11-05 2009-05-28 Internatl Business Mach Corp <Ibm> プロジェクト開発環境を与える方法及び装置並びにプロジェクト開発システム(プロジェクト開発環境を与える方法及び装置並びにプロジェクト開発システム)
US10659522B2 (en) 2010-11-30 2020-05-19 International Business Machines Corporation Sharing application local environment
US10295976B2 (en) 2013-02-22 2019-05-21 Mitsubishi Electric Corporation System development device, system development method, and system development program
KR20160000760A (ko) * 2014-06-25 2016-01-05 주식회사 포워드벤처스 소스 배포 장치, 시스템 및 방법, 컴퓨터 판독 가능한 기록 매체
KR101599470B1 (ko) * 2014-06-25 2016-03-14 주식회사 포워드벤처스 소스 배포 장치, 시스템 및 방법, 컴퓨터 판독 가능한 기록 매체
KR20160002165A (ko) * 2014-06-30 2016-01-07 주식회사 포워드벤처스 소스 배포 장치, 방법, 및 컴퓨터 판독 가능한 기록 매체
KR101593633B1 (ko) 2014-06-30 2016-02-12 주식회사 포워드벤처스 소스 배포 장치, 방법, 및 컴퓨터 판독 가능한 기록 매체

Also Published As

Publication number Publication date
JP5002975B2 (ja) 2012-08-15

Similar Documents

Publication Publication Date Title
Deelman et al. Pegasus, a workflow management system for science automation
US9952852B2 (en) Automated deployment and servicing of distributed applications
US8549514B2 (en) Distributing customized software products
CN102473095B (zh) 用于开发以数据库为中心的企业业务应用的可配置、可扩展的gui的高效计算系统
CA2446809C (en) General and reusable components for defining net-centric application program architectures
US6964034B1 (en) Application development server and a mechanism for providing different views into the same constructs within a strongly encapsulated environment
EP2003557A9 (en) Applicable patch selecting device and applicable patch selecting method
Terstyanszky et al. Enabling scientific workflow sharing through coarse-grained interoperability
US10185549B2 (en) Updating live system with static changes
US8005788B2 (en) System and method for legacy system component incremental migration
JP2010503074A (ja) コンピューティングシステムの動的な構成、割当て、および展開
JP2004280839A (ja) オペレーティングシステム展開の方法およびシステム
KR20040077497A (ko) 복제된 파일들을 위한 복수의 파일 상태 관리 방법
JP2007257046A (ja) 複数osバージョン用ソフトウェア生成装置及び複数osバージョン用ソフトウェア生成支援プログラム
WO2007045614A2 (en) Visualization of collaborative portlet sequences
JP5002975B2 (ja) プログラム開発支援システム
US8650500B2 (en) Copy-and-paste functionality for network reconfiguration
JP2008276690A (ja) 開発システム、開発システムのサーバ、開発方法
Stevens Connecting software build with maintaining consistency between models: towards sound, optimal, and flexible building from megamodels
Khan et al. Rapid development of a data visualization service in an emergency response
Sangwan et al. Integrating a software architecture-centric method into object-oriented analysis and design
US20060041870A1 (en) Systems and methods for varying software build properties using primary and supplemental build files
JP2019207534A (ja) サポート装置、制御システム、および開発支援プログラム
Tyndall Building an effective software deployment process
Krüger et al. From scenarios to aspects: exploring product lines

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20081211

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20110831

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110906

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20111031

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

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

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

Free format text: PAYMENT UNTIL: 20150601

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

Ref document number: 5002975

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

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