(57)【要約】【課題】  設計要素がファイル単位で格納されているため、設計者が分散している場所から、ネットワークを経由し、リアルタイムでサーバにある定数、変数、関数などの設計要素に対して直接操作できない。また、設計要素間は静的な参照であるため、関連付けの自動更新ができなく、設計要素の整合性を保持するのは困難である。【解決手段】  ＷＥＢサーバ上に設けたデータベースに、設計要素を従来のファイル単位で格納する方法と違い、定数、変数及び関数等最小単位まで細分化して格納する。各設計要素にユニークな識別子を付与し、設計要素間の参照は識別子に基いて動的に行う。【選択図】図１
2005050287.tif 000002
【特許請求の範囲】
【請求項１】
ソフトウェア設計要素を定数、変数、関数まで細分化し、ＷＥＢサーバ上のデータベースに設計要素単位で登録して管理する。それぞれの設計者が場所の制限を受けずに、クライアントからインターネット又はイントラネットを経由してその設計要素に対して操作を行うことを特徴とするソフトウェア分散設計システム。
【請求項２】
請求項１において、各設計要素にシステム全体的なユニークな識別子を設け、設計要素間の関連付けは設計要素の名称などの静的なものではなく、すべて「参照先識別子＋参照項目」により動的な形で行うことを特徴とするソフトウェア分散設計システム。
【発明の詳細な説明】
【技術分野】
【０００１】  この発明は、Ｗｅｂ上でソフトウェア詳細設計、プログラ厶設計及びプログラム製造に関する。
【背景技術】
【０００２】  従来のソフトウェア設計は設計要素がファイルに格納され、他の設計者同士にアクセスできるようにネットワーク上で共有させる。同じファイル内の設計要素に対して編集したい場合は、前の設計者がそのファイルに対して操作し終わるまで、次の設計者は待たなければならない。【０００３】  また、複数の設計者が各自のローカルコンピュータにサーバ上に共有するファイルをコピーし、編集してから最後に一つのファイルに手動でマージする方法もある。【０００４】  設計要素間の参照は設計要素名称の文字列そのものを静的に直接使用して表現する。
【発明の開示】
【発明が解決しようとする課題】
【０００５】  しかしながら、従来の技術によれば、いずれもファイル単位で操作しなければならないため複数の設計者が同じファイル内の設計要素を同時に操作することが出来ない。特に大量設計要素が含まれたファイルの場合は作業効率が非常に悪い。【０００６】  複数の設計者からそれぞれの修正したファイルを一つのファイルにマージや統合するのは一々手動で行わなければならないため、時間がかかるのは勿論、修正ミスも起こしやすい。また、マージしている間更に変更する必要があった場合はそのファイルの一元管理は非常に困難である。特に、大規模の開発では、共通用設計要素の変更を関係者全員にリアルタイムで周知してそれぞれの設計要素に即時に反映させることは不可能である。【０００７】  ファイルという壁が存在するため、ファイル間の設計要素が自動的に関連付けの更新はできない。例えば、ある設計要素の名称が変更された場合、設計要素名称で関連付けられている他のファイルの中の設計要素をすべて修正しなければならない。上記の２項目のような効率性と正確性の問題が発生する。【０００８】  そこで、この発明は、ＷＥＢ上でファイルという壁を破り、設計要素単位で操作し、設計要素間の参照関係を動的に結び付け、設計者が協調設計できるような柔軟性の高いソフトウェア設計ツールを提供することを課題とする。
【課題を解決するための手段】
【０００９】  以上の課題を解決するために、第一発明は、設計要素を定数、変数、関数まで細分化し、ＷＥＢサーバ上のデータベースに設計要素単位で登録して管理する。それぞれの設計者が場所の制限を受けずに、クライアントからインターネット又はイントラネットを経由してその設計要素に対して操作を行うことを特徴とするソフトウェア分散設計システムである。【００１０】  また、第二発明は、各設計要素にシステム全体的なユニークな識別子を設け、設計要素間の関連付けは設計要素の名称など静的なものではなく、すべて「参照先識別子＋参照項目」により動的な形で行うことを特徴とするソフトウェア分散設計システムである。
【発明の効果】
【００１１】  以上説明したように本発明によれば、複数の設計者が分散した場所からネットワークを経由し、リアルタイムで同一なデータベースに格納されている設計要素に対して、操作することができるようになる。【００１２】  また、データベースで設計要素を管理することにより設計要素の整合性を確保及び一元管理することができるため、開発後期の統合やマージなどの面倒な作業は一切なくなる。設計の効率性を飛躍的に向上させることができる。【００１３】  設計情報を表示及び出力する場合だけ参照対象の内容を取出して解決する。その以外は設計要素間は常に「参照先識別子＋参照項目」で関連付けを行うため参照対象の内容に変更が発生しても参照元側にはなにも対応せずに済む。【００１４】  上記の効果によればソフトウェア開発のコストを画期的に削減することが実現できる。
【発明を実施するための最良の形態】
【００１５】  図１は、本実施形態に係るソフトウェア分散設計システム全体を示す概略構成図である。分散しているクライアントコンピュータ（６）とサーバコンピュータ（１）がインターネット又はイントラネット（５）を介して接続される。設計者が操作ツール（７）を使用し、クライアント（６）で新規の設計要素を作成してサーバ（１）へ登録要求を送信する。サーバ（１）にある管理プログラム（４）が受信した情報によりデータベース（２）に設計要素（３）として登録する。登録された設計要素（３）を編集したい場合は、設計者が操作ツール（７）を使用し、クライアント（６）の画面で編集対象設計要素を選択してサーバ１へ編集要求を送信する。サーバ（１）にある管理プログラム（４）が受信した情報によりデータベース（２）に登録された設計要素（３）の中の編集対象設計要素を編集状態に設定してクライアント（６）へ送信する。設計者が操作ツール（７）を使用して設計要素を編集する。編集された設計要素が再度サーバ（１）へ送信され、データベース（２）に該当する項目が更新される。複数の設計者がそれぞれのクライアントコンピュータから協調的に同一なデータベースに設計要素の登録、変更、削除などの操作を行う。【００１６】  図２に示すように、本実施形態に係るソフトウェア分散設計システムにおいて、サーバのデータベースに設計要素単位で設計要素を管理する。各設計要素に識別子、要素種別、英文名称、和文名称などの設計情報（２１）を設ける。【００１７】  設計要素間の関連付けは参照先の静的な名称などではなく、「参照先識別子＋参照項目」により行う。関数０１から関数０２を呼び出す場合の表現を例として、関数０１の設計情報に「ＲｅｆＩｄ＝“５００２”ＲｅｆＢｙ＝“ＮａｍｅＪｐ”」（２２）と設定する。設計情報がＸＭＬ形式（２３）に変換され、クライアントヘ転送される。クライアントで受信した設計情報を画面（２４）に表示する又はドキュメントに出力する場合は「関数０２を呼び出す」（２５）となる。すなわち、設計要素５００２の和文名称を参照項目として動的に解決して表示（出力）する。今度、設計要素５００２の和文名称が「関数ＡＡ０２」になったとしても、表示（出力）は参照を動的に解決するため、自動的に「関数ＡＡ０２を呼び出す」となる。従来のようなすべての参照元を修正する必要はなくなる。同じように、呼出し先の関数のインタフェースや型などが変わっても呼び出し元には何も対応せずに動的に変更後の情報を表示（出力）する。【００１８】  図３に示すように、本実施形態に係るソフトウェア分散設計システムにおいて、クライアントからの処理要求、サーバからの結果応答及び設計要素の設計情報をすべてＸＭＬ形式に変換して転送する。【００１９】  本実施形態に係るソフトウェア分散設計システムにおいて、クライアントからの要求を応答する及びサーバ上のデータベースを管理するのは管理プログラムが行う。図４に示すように、クライアントから受信したＸＭＬ情報を解析し、クライアント要求により処理を振り分ける。処理結果を応答情報としてＸＭＬに変換してクライアントヘ返信する。【００２０】  新規の設計要素を登録する要求の場合は、まず設計要素識別子を採番して（４１）その設計要素識別子をキーとして該当するテーブルに設計情報を登録する（４５）。【００２１】  既存の設計要素を更新する要求の場合は、設計要素識別子により該当する設計情報を更新する（４２）。既存の設計要素を削除する場合は、物理的な削除ではなく、論理削除を行う。すなわち、削除対象の設計要素の有効フラグを無効に設定する。【００２２】  クライアントで既存の設計要素を編集する場合、他の設計者に二重操作を防止するために編集対象の設計要素をロックする要求をサーバへ送信する。サーバの管理プログラムがその要求に応じ、対象設計要素に対してロック状態にする。同じように解除要求を受信したら解除処理を行う（４３）。【００２３】  また、クライアントから定期的に又は随時に最新情報取得を要求する場合はＤＢから最新情報を取得する処理（４４）を行う。【００２４】  図５に示すように、本実施形態に係るソフトウェア分散設計システ厶において、クライアントで稼動する、設計者が設計要素に対して作成、変更、削除を行うためのＧＵＩ（Ｇｒａｐｈｉｃａｌ  Ｕｓｅｒ  Ｉｎｔｅｒｆａｃｅ）操作ツールプログラムを設ける。設計者にとって速くて使いやすい機能を持っており、参照関係の修正変更や設計要素のコピーなどはドラッグ＆ドロップで簡単に実現できる。【００２５】  そして、この操作ツールは設計要素の構成（５１）、クラスの継承（５２）、関数の呼出し関係（５３）などは全てツリー構造で解りやすく表現する。設計要素詳細情報を表示ビュー（５６）に参照関係は全てハイパーリンク（５７）となり、参照先を見るにはそのハイパーリンクをクリックするだけで参照先の情報が表示される。設計要素一覧ビュー（５４）は設定により全ての設計要素又は一部分の設計要素を一覧として表示し、ソート機能（５５）により素早く設計要素を検索することができる。【００２６】  また、図６に示すように、この操作ツールは設計要素の二重操作を防止するためにサーバからもらった情報によりツリー構造の設計要素配置ビューに表示されている設計要素のアイコンの形や色が異なる。例えば、他人修正中の設計要素のアイコンを赤（６１）、自分の修正中のアイコンを緑（６２）で表示する。ある設計要素が一人の設計者に操作されている間他の設計者から参照することができるが、変更削除などは出来ないように操作を制限する。【００２７】  一例として、図７に示すように、関数設計要素を編集する画面である。各欄にこの関数に関する設計情報を記述する。関数の設計概要欄に他の設計要素「関数０２」を呼び出す場合、参照先の静的な和文名称を直接参照することではなく、「参照先識別子＋参照項目」の情報により参照対象の内容を取出して表示する。クラスや変数などほかの種類の設計要素の編集画面も動的参照機能を持つ。【００２８】「実施形態の効果」
この実施形態によれば、設計者が同じ場所に集まらなくても、インターネットさえ接続できれば、ソフトウェア設計に参加することができる。例えば、開発コストの高い大都市ではソフトウェア開発に最低限に必要な主要メンバーだけを集め、ほかの開発メンバーは開発コストの低い地方でネットワークを経由して開発を行うことができる。もちろん、技術上は在宅開発乃至海外開発にも可能である。また、データベースに登録された設計情報により、ソースのスケルトンの自動生成、設計書の自動生成、設計進捗の自動統計なども容易に実現できる。
【図面の簡単な説明】
【００２９】
【図１】本発明の実施形態に係るシステムの全体概略図である。
【図２】本発明の実施形態において、データベースに格納された設計要素の情報及び「参照先識別子＋参照項目」により設計要素の動的参照するイメージ図である。
【図３】本発明の実施形態において、クライアント及びサーバ間に設計情報流れの説明図である。
【図４】本発明の実施形態において、サーバ上の管理プログラムに関する処理流れ図である。
【図５】本発明の実施形態において、クライアント上に表示されたＧＵＩ設計画面図である。
【図６】本発明の実施形態において、クライアント上に設計要素構成画面で排他制御編集のイメージ図である。
【図７】本発明の実施形態において、クライアント上に関数設計編集画面の概略説明図である。
【符号の説明】
【００３０】  １  ＷＥＢサーバコンピュータ及びシステムソフト
２  データベース
３  設計要素の集合
４  管理プログラム
５  インターネット又はイントラネット
６  クライアントコンピュータ及びシステムソフト
７  操作ツール
２１  設計要素のＤＢ格納形式
２２  「参照先識別子＋参照項目」の情報格納形式
２３  設計要素のＸＭＬ表現形式
２４  設計要素の表示／編集／出力形式
２５  ハイパーリンクで表示される設計要素の参照
４１  識別子採番処理
４２  設計要素ＤＢ更新処理
４３  識別子対象設計要素のロック・解除処理
４４  最新情報取得処理
４５  設計要素ＤＢ登録処理
５１  設計要素構成ツリー
５２  クラス継承ツリー
５３  関数呼出しツリー
５４  設計要素一覧
５５  設計要素項目別のソート機能
５６  設計要素詳細情報
５７  設計要素参照先のハイパーリンク表示
６１  他人修正中の設計要素のアイコン
６２  自分修正中の設計要素のアイコン
【図１】
2005050287.tif 000003
【図２】
2005050287.tif 000004
【図３】
2005050287.tif 000005
【図４】
2005050287.tif 000006
【図５】
2005050287.tif 000007
【図６】
2005050287.tif 000008
【図７】
2005050287.tif 000009