JPH0895775A - プログラム作成編集装置 - Google Patents

プログラム作成編集装置

Info

Publication number
JPH0895775A
JPH0895775A JP6228524A JP22852494A JPH0895775A JP H0895775 A JPH0895775 A JP H0895775A JP 6228524 A JP6228524 A JP 6228524A JP 22852494 A JP22852494 A JP 22852494A JP H0895775 A JPH0895775 A JP H0895775A
Authority
JP
Japan
Prior art keywords
function
program
editing
resource
person
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.)
Pending
Application number
JP6228524A
Other languages
English (en)
Inventor
Kazuo Ono
和男 大野
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.)
Hitachi Software Engineering Co Ltd
Original Assignee
Hitachi Software Engineering 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 Hitachi Software Engineering Co Ltd filed Critical Hitachi Software Engineering Co Ltd
Priority to JP6228524A priority Critical patent/JPH0895775A/ja
Publication of JPH0895775A publication Critical patent/JPH0895775A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Stored Programmes (AREA)

Abstract

(57)【要約】 【目的】 修正関数の作成担当者に迅速に知らせること
と、作業効率を向上すること。 【構成】 入力されたソースプログラムを関数毎に分割
する分割手段と、前記分割手段によって分割された関数
を編集する編集手段とを備え、プログラムの作成及び編
集を行うプログラム作成編集装置に、前記関数と作成担
当者を関連づける手段を設ける。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、プログラム編集装置に
関し、特に、多数人で開発したプログラムを編集するプ
ログラム編集装置に適用して有効な技術に関するもので
ある。
【0002】
【従来の技術】従来、複数の関数から構成されるプログ
ラムの編集を効率良く行なうために、例えば、特開昭6
2−55730号公報に開示されているプログラム編集
作成装置なるものがある。
【0003】このプログラム編集作成装置とは、メイン
プログラムとサブプログラムを複数階層にわたるプログ
ラムのトリー構造または、その一部を画面に表示し、プ
ログラム相互の関連を参照し、関数単位または、複数関
数(モジュール)にわたって、編集できるようにしたも
のである。
【0004】
【発明が解決しようとする課題】本発明者は、上記従来
技術を検討した結果、以下の問題点を見いだした。
【0005】上記のようなプログラム編集装置では、あ
る関数を修正した場合にその影響範囲を示す機能はある
が、実際に影響する関数の修正は、プログラム作成者が
その関数の作成担当者を調べて、知らせることによって
成されていた。
【0006】このためプログラムの規模が大きいほど、
修正関数が多く、且つプログラムを作成する人数も多く
なるために、修正関数の作成担当者を調べ、知らせるの
に時間及び手間がかかるという問題点があった。
【0007】また、特に、複数の関数の集まりであるモ
ジュールで、関数毎に作成担当者が異なる場合、一人の
作成担当者が関数の修正を終え、テストを行いたい時
に、他の作成担当者が編集を行っていると、そのソース
プログラムのテストをすることができなく、作業効率が
悪くなるという問題点があった。
【0008】本発明の目的は、プログラムの関数修正に
おいて、プログラム作成者がその修正関数の作成担当者
に迅速に知らせることが可能な技術を提供することにあ
る。
【0009】本発明の他の目的は、他の作成担当者が編
集を行っているときにおいても、ソースプログラムのテ
ストを可能にし、作業効率を向上することが可能な技術
を提供することにある。
【0010】本発明の前記ならびにその他の目的と新規
な特徴は、本明細書の記述及び添付図面によって明らか
になるであろう。
【0011】
【課題を解決するための手段】本願において開示される
発明のうち、代表的なものの概要を簡単に説明すれば、
下記のとおりである。
【0012】プログラムの関数修正において、プログラ
ム作成者がその修正関数の作成担当者に迅速に知らせる
ために、ソースプログラムを入力する入力手段と、入力
されたソースプログラムを関数毎に分割する分割手段
と、前記分割手段によって分割された関数を編集する編
集手段とを備え、プログラムの作成及び編集を行うプロ
グラム作成編集装置に、前記関数と作成担当者を関連づ
ける手段を設ける。
【0013】また、他の作成担当者が編集を行っている
ときにおいても、ソースプログラムのテストを可能に
し、作業効率を向上するために、編集可能なソースプロ
グラムを記憶する第一の記憶手段と、編集不可能なソー
スプログラムを記憶する第二の記憶手段と、前記第二の
記憶手段に記憶されたソースプログラムを参照し、テス
トするテスト手段とを設ける。
【0014】
【作用】上述した手段によれば、入力されたソースプロ
グラムを関数毎に分割する分割手段と、前記分割手段に
よって分割された関数を編集する編集手段とを備え、プ
ログラムの作成及び編集を行うプログラム作成編集装置
に、前記関数と作成担当者を関連づける手段を設けるこ
とにより、プログラム作成者が、修正が必要な関数とそ
の作成担当者の関連づける必要がなくなるので、その修
正関数の作成担当者に迅速に知らせることが可能とな
る。
【0015】また、プログラム作成編集装置に、編集可
能なソースプログラムを記憶する第一の記憶手段と、編
集不可能なソースプログラムを記憶する第二の記憶手段
と、前記第二の記憶手段に記憶されたソースプログラム
を参照し、テストするテスト手段とを設けることによ
り、一人の作成担当者が関数の修正を終えてテストを行
いたい時に、他の作成担当者が編集を行っていても、ソ
ースプログラム(関数等)のテストができるので、作業
効率を向上することが可能となる。
【0016】以下、本発明の構成について、実施例とと
もに説明する。
【0017】なお、実施例を説明するための全図におい
て、同一機能を有するものは同一符号を付け、その繰り
返しの説明は省略する。
【0018】
【実施例】以下、本発明の一実施例を図面を用いて具体
的に説明する。ここでは、本発明の実施例として、ワー
クステーション及び、X−Windowシステムを用い
て、C言語のプログラム作成を行なうためのプログラム
作成編集装置に適用した場合について説明する。
【0019】図1は、本発明の一実施例にかかるクライ
アントサーバモデルを用いたプログラム作成編集装置の
構成を示すブロック図である。
【0020】図1において、101はプログラム作成編
集装置、102はサーバ装置、109はネットワークで
ある。
【0021】図1に示すように、プログラム作成編集装
置101は、プログラム構造構築部103と、入力を行
うための表示装置104と、キーボード105と、マウ
ス106と処理した結果を記憶する記憶装置107と、
出力装置108とから構成されている。
【0022】サーバ装置102は、データを管理するた
めのデータ管理装置110と、データを格納するファイ
ル装置111とから構成されている。
【0023】図2は、本実施例のプログラム作成編集装
置を用いて作成したプログラムの構造を表示した画面を
示した図である。
【0024】また、本実施例では、C言語のコンパイル
で使用するインクルードファイルをインクルード、ソー
スファイルをモジュールとし、ソースファイルの内部を
ヘッダ部と関数の2つに分類し、プログラムの構造をイ
ンクルード、モジュール、ヘッダ部、関数の4つから構
成している。
【0025】なお、本発明におけるプログラム作成編集
装置のプログラムの構成及び画面表示は、これに限定さ
れない。
【0026】この構成は、プログラム作成に使用する言
語を意味ある単位に分類したもので、使用する言語によ
って、構成を変更することにより、C言語以外のプログ
ラム言語でも利用が可能である。
【0027】次に、図2に示したプログラム作成編集装
置のプログラムの構成の表示画面について具体的に説明
する。
【0028】本実施例の表示画面は、メニュー表示領域
201、項目表示指定領域202、プログラム構造表示
指定領域203で構成されている。
【0029】図2に示すメニュー表示領域201には、
「ファイル(F)」、「編集(E)」、「表示
(V)」、「オプション(O)」、「ヘルプ(H)」の
5つに分類したプログラム構造構築装置の処理機能が表
示されており、これをマウス106で選択することによ
り、それぞれの機能を処理することができる。
【0030】プログラム構造表示指定領域203では、
項目表示指定領域202が示すように、「項番」、「更
新日付」、「モジュール構造」、「担当者」の4つの情
報を表示する。
【0031】図2に示した本実施例に表示画面では、
「項番1.」の「Prog.h」がインクルードで、
「項番2.」の「Prog.c」がモジュールで、「項
番2.1」の「_head」がヘッダ部で、「項番2.
2」の「main()」が関数である。ここで、表示し
ている名称は、プログラム作成編集装置の利用者が作成
時に指定した名称であり、関数の名称の末尾の「()」
は、ヘッダ部と関数を区別するためにプログラム作成編
集装置で付加したものである。
【0032】また、「項番4.」の「File.c
...」の末尾の「 ...」は、「項番2.」のように、下
位階層にヘッダ部及び、関数が存在することを示してお
り、このモジュールを「開く」ことにより、「項番
2.」のように階層的に表示され、末尾の「 ...」は、
画面に表示されなくなる。逆に、「項番2.」のモジュ
ールを「閉じる」ことにより、モジュールの下位階層の
ヘッダ部及び、関数が画面に表示されなくなり、末尾に
「 ...」が表示される。
【0033】次に、図1に示したサーバ装置102のフ
ァイル装置111において、記憶、管理しているプログ
ラムのデータについて説明する。
【0034】本実施例では、プログラムの構成及び、分
割した構造等の意味ある単位を1つのリソースとして管
理しており、この個々のリソース間の関係(リレーショ
ン)を張ったデータを構成している。ここでは、本発明
に関係のあるリソースについてのみ説明する。
【0035】図3は、本実施例におけるプログラムの個
々のリソースの構成と図2の画面に表示しているプログ
ラム構造を分割した個々のリソースとの関係を説明する
ための図である。
【0036】図3に示すリソース301からリソース3
05は、本実施例の動作環境を構築する際に作成される
リソースである。
【0037】図3に示すリソース301は、プログラム
という構成を表現しており、「___c_progra
m」という名前(name)を属性として持っており、
この属性は、本実施例で固定の名前(name)であ
る。
【0038】リソース302は、モジュールという構成
を表現しており、「___c_module」という名
前(name)を属性として持っており、この属性は、
本実施例で固定の名前(name)である。
【0039】リソース303は、インクルードという構
成を表現しており、「___c_include」とい
う名前(name)を属性として持っており、この属性
は、本実施例で固定の名前(name)である。
【0040】リソース304は、関数という構成を表現
しており、「___c_function」という名前
(name)を属性として持っており、この属性は、本
実施例で固定の名前(name)である。
【0041】リソース305は、ユーザという構成を表
現しており、「___user」という名前(nam
e)を属性として持っており、この属性は、本実施例で
固定の名前(name)である。
【0042】また、図3に示すリソース306からリソ
ース325は、本実施例のプログラム作成編集装置10
1で作成したリソースであり、図2の画面に表示してい
るプログラム構造を分割した個々のリソースである。
【0043】図3に示すリソース306は、「Prog
ramA」という名前(name)の属性を持った1つ
のリソースであり、リソース301からリソース306
に対して「instance」という関係(リレーショ
ン)を張ることによりプログラムのリソースであること
を定義している。
【0044】リソース307は、「Prog.c」とい
う名前(name)の属性を持った1つのリソースであ
り、リソース302からリソース307に対して「in
stance」という関係(リレーション)を張ること
により、モジュールのリソースであることを定義してお
り、リソース308からリソース312もリソース30
7と同等である。
【0045】リソース313は、「Prog.h」とい
う名前(name)の属性を持った1つのリソースであ
り、リソース303からリソース313に対して「in
stance」という関係(リレーション)を張ること
により、インクルードのリソースであることを定義して
おり、リソース314もリソース313と同等である。
【0046】リソース315は、「main」という名
前(name)の属性を持った1つのリソースであり、
リソース304からリソース315に対して「inst
ance」という関係(リレーション)を持つことによ
り、関数のリソースであることを定義しており、リソー
ス316からリソース321もリソース315と同等で
ある。
【0047】リソース322は、「佐藤」という名前
(jname)の属性を持った1つのリソースであり、
リソース305からリソース322に対して「inst
ance」という関係(リレーション)をことにより、
ユーザのリソースであることを定義しており、リソース
323からリソース325もリソース322と同等であ
る。また、図4に示す矢印(→)は、関係(リレーショ
ン)の方向を表現している。
【0048】図4は、プログラム構造を表現するための
個々のリソースとの接続関係を表現したものである。図
4に示すように、本実施例におけるプログラムの構造
は、プログラムのリソース306とインクルードのリソ
ース313または、プログラムのリソース306とモジ
ュールのリソース307からリソース312との間で、
「have」という関係(リレーション)をことによ
り、「ProgramA」という名前(name)のプ
ログラムが持つインクルード及び、モジュールであるこ
とを定義している。
【0049】次に、モジュールのリソース307とイン
クルードのリソース314または、モジュールのリソー
ス307と関数のリソース315からリソース319と
の間で、「have」という関係(リレーション)をこ
とにより、「Prog.c」という名前(name)の
モジュールが持つインクルード及び、関数であることを
定義している。
【0050】また、モジュールの場合は、モジュール側
の属性(list)として、ソースファイルをジェネレ
ートするためのインクルード及び、関数の順番を持って
おり、他のモジュールも同等である。
【0051】さらに、図4に示す矢印(→)は、関係
(リレーション)の方向を表現している。
【0052】図5は、プログラム構造を表現するための
個々のリソースとの参照関係を説明するためのものであ
る。
【0053】図5に示すように、関数と関数の担当者の
関係は、ユーザのリソース323から関数のリソース3
15との間で、「refer」という関係(リレーショ
ン)を張ることにより、「main」という名前(na
me)の関数の担当者が「鈴木」という名前(nam
e)のユーザであることを定義しており、他のリソース
とユーザとの関係も同等である。
【0054】次に、関数と関数のコール関連は、関数の
リソース315と関数のリソース316と317との間
で、「refer」という関係(リレーション)を張る
ことにより、「main」という名前(name)の関
数が「func1」と「func2」という名前(na
me)の関数をコールしているということを定義してい
る。なお、図5に示す矢印(→)も図4と同様に、関係
(リレーション)の方向を表現している。
【0055】このように、個々のリソースとの間で関係
(リレーション)を張り、管理していることにより、
「func1」という名前(name)の関数のソース
プログラムを修正した場合に、「func1」という名
前(name)の関数をコールしている関数が「mai
n」という名前(name)の関数であり、「mai
n」という名前(name)の関数の担当者が「鈴木」
という名前(name)のユーザであるということを特
定することが容易にできる。
【0056】このように、本実施例のプログラム作成編
集装置101に、前記関数と作成担当者を関連づける手
段を設けることにより、プログラム作成者が、修正が必
要な関数とその作成担当者の関連づける必要がなくな
る。
【0057】次に、本実施例のプログラム作成編集装置
101におけるデータ管理について説明する。
【0058】図6は、プログラム作成編集装置を使用す
るユーザとプログラム作成編集装置が管理するデータと
の関係を説明するための図である。
【0059】本実施例のプログラム作成編集装置101
では、編集可能なソースプログラムを記憶する第一の記
憶手段、編集不可能なソースプログラムを記憶する第二
の記憶手段として、図6に示すように、アクティブデー
タ604の記憶手段と、スタティックデータ605の記
憶手段を設けて、ソースプログラム等のデータを管理し
ている。
【0060】図6に示すアクティブデータ604は、関
数の担当者が参照、更新をする場合のデータであり、ス
タティックデータ605は関数の担当者以外が関数を参
照する場合のデータである。
【0061】ここで、図2で示す関数「main」のソ
ースプログラムの参照、更新を行なう場合を例に取り説
明すると、図6に示す担当者601(この場合、「鈴
木」というユーザ)がプログラム作成編集装置101を
介して関数「main」のアクティブデータ604の参
照、更新が行なえる。
【0062】しかし、図6に示す担当者601以外のユ
ーザ602の場合は、プログラム作成編集装置101を
介して関数「main」のスタティックデータ605の
参照だけが行なえる。
【0063】また、スタティックデータ605の更新
は、担当者601が作成または編集終了後、プログラム
作成編集装置101のリビジョン管理機能を用いて行わ
れる。
【0064】このように、個々のデータをアクティブデ
ータとスタティックデータとして、2つに分けて管理す
ることにより、プログラムの複数ある関数を複数のユー
ザが同時にコーディングできるようになり、かつ、他の
ユーザの作業に影響されることなく個々の関数単位にテ
ストができるようになり、コーディング及び、テスト作
業のデットロック状態がなくなり、作業時間の短縮がで
き、作業効率を向上することが可能となる。
【0065】次に、本実施例のプログラム作成編集装置
101の各処理について図1〜図7を用いて説明する。
【0066】図7は、本実施例のプログラム作成編集装
置101の処理の流れを示すフローチャートである。
【0067】まず、図1に示す本実施例のプログラム作
成編集装置101とネットワーク109を介して接続す
る(ステップ701)。
【0068】次に、表示画面を作成する(ステップ70
2)。本実施例では、X−Windowシステムを利用
しているので、ここではまだ、表示装置104に画面は
表示されない。
【0069】次に、目的とするプログラムの情報をデー
タ管理部110より取得し、記憶装置107に記憶する
(ステップ703)。もし、目的とするプログラムの情
報がない場合は、記憶装置107の初期化処理を行な
う。
【0070】この後で、プログラム構造表示領域203
に記憶装置107の情報を表示する。この時、図2に示
した画面が表示装置104に表示される。
【0071】次に、ユーザからの入力要求を待ち、ユー
ザからの入力要求に応じてステップ705からステップ
718に示す処理に振り分け処理を行なう(ステップ7
04)。
【0072】本実施例のプログラム作成編集装置101
は、以下に述べるステップ705からステップ718に
示した13の処理を行う。
【0073】まず、新規作成処理(ステップ705)に
ついて説明する。
【0074】ここでは、新規作成処理として、実際にモ
ジュールを作成し、関数分割を行なう動作について説明
する。
【0075】まず、モジュールの作成か、関数の作成か
を判定し、モジュールを作成する場合は、モジュールの
情報を入力するための画面を表示装置104に表示し、
また、関数を作成する場合は、関数の情報を入力するた
めの画面を表示装置104に表示する。
【0076】なお、モジュールの情報は、モジュールの
日本語名、ファイル名、機能説明などである。関数の情
報は、日本語名、機能説明、戻り値、関連項目などであ
る。
【0077】次に、この画面を使用して、キーボード1
05より、モジュールまたは、関数の情報を入力し、マ
ウス106を使用して、「実行」ボタンにマウスカーソ
ルを位置付けて、マウス106の左側のボタンを押すこ
とにより、モジュールまたは、関数の作成を行なう。
【0078】また、ここで入力した情報は、ソースファ
イル中のコメント及び、仕様書等に使用される。それか
ら、作成したモジュールまたは、関数には、新規作成を
実行したユーザが担当者として、割り当てられる。
【0079】以上の操作を繰り返すことにより、プログ
ラムの構造をモジュール及び関数に分割することがで
き、図3,図4で説明した個々のリソースが作成され
る。
【0080】また、同時にプログラムの仕様書を作成す
ることもでき、プログラムの構造と関連付けて仕様書を
管理しているので、プログラムと仕様書が不一致になる
ことを防ぐことが可能となる。。
【0081】次に、ソース編集(ステップ706)につ
いて説明する。
【0082】ここでは、ソース編集(ステップ706)
として、関数のコーディングを行なう場合について説明
する。
【0083】まず、マウス106を用いて、プログラム
構造表示指定領域203に表示されている関数にマウス
カーソルを位置付けて、マウス106の左側のボタンを
連続して2回押すことにより、コーディングをする関数
が指定され、関数をコーディングするためのエディタが
表示装置104に表示され、キーボード105を使用し
てコーディングする。
【0084】ここで、指定した関数が担当者として、割
り当てられていない場合は、ソースプログラムを参照す
ることができるだけでコーディングすることはできな
い。
【0085】また、ここで使用するエディタの機能とし
ては、行単位の「移動」「複写」「削除」「取消」等の
一般的な機能の他に、このエディタを終了する時に、コ
ーディングを行なったソースプログラムをネットワーク
109及び、データ管理部110を介してファイル装置
111に格納すると同時に、このソースプログラムを解
析し、この関数がコールしている関数を求めて、この求
めた関数がファイル装置111に登録されているか、ネ
ットワーク109及び、データ管理処理装置110を介
して調査し、登録されている場合は、図5で説明したプ
ログラム構造を表現するための個々の関数のリソースと
の参照関係をネットワーク109及び、データ管理処理
装置110を介して、ファイル装置111に登録され
る。
【0086】次に、モジュールまたは関数の情報(属
性)編集(ステップ707)について説明する。
【0087】モジュールまたは関数の情報(属性)編集
は、まず、マウス106を使用して、プログラム構造表
示指定領域203に表示されているモジュールまたは関
数にマウスカーソルを位置つけて、マウス106の左側
のボタンを押すことにより指定する。
【0088】次に、マウス106を使用して、マウスカ
ーソルをメニュー表示領域201の「ファイル(F)」
に位置付けて、マウス106の左側のボタンを押し、次
に「属性(A)」を指定することによりモジュールまた
は関数の情報(属性)編集を行なう画面が表示装置10
4に表示される。
【0089】ここで表示される画面は、ステップ705
の新規作成で使用した画面と同じ画面が表示される。ま
た、指定した物が担当者として、割り当てられていない
場合は、モジュールまたは関数の情報(属性)を参照す
ることができるだけで編集することはできない。
【0090】次に、編集処理(ステップ708)につい
て説明する。
【0091】編集処理は、プログラム構造表示指定領域
203に表示しているプログラムの構造を「切出」「複
写」「貼付」「削除」「取消」の編集機能を用いて、プ
ログラム構造の変更を行なうものである。
【0092】次に、表示変更処理(ステップ709)に
ついて説明する。
【0093】表示変更処理は、プログラム構造表示指定
領域203に表示しているモジュールの表示順序を変更
し、表示するものである。
【0094】表示順序の変更は、「担当者」順に表示、
「更新日付」または「モジュール名」でソートを行な
う。
【0095】次に、コンパイル環境の設定(ステップ7
10)について説明する。
【0096】ここで行なうコンパイル環境の設定は、ソ
ースプログラムをコンパイルするためのコンパイラの指
定とコンパイルする時に使用するインクルードファイル
の格納ディレクトリの指定及び、ライブラリの格納ディ
レクトリの指定とライブラリの指定である。
【0097】指定された情報は、プログラム作成編集装
置101を使用して開発しているプログラムのリソース
のコンパイル情報として、ネットワーク109とデータ
管理処理装置110を介して、ファイル装置111に格
納される。
【0098】次に、コンパイル実行処理(ステップ71
1)について説明する。
【0099】コンパイル実行処理は、まず、本実施例の
プログラム作成編集装置101で作成したプログラム構
造より、ユーザが指定する場所にソースファイルとコン
パイルを実行するために必要な「Makefile」を
作成し、「makeコマンド」を実行し、プログラムを
作成する。ここで取り出したソースファイルについて
は、ステップ714の「ソース取り出し」で説明する。
【0100】次に、ユティリティ実行処理(ステップ7
12)について説明する。
【0101】ここでは、ユティリティ実行処理として、
プログラムを開発する上で必要な情報をユーザが指定す
る形式に加工し、印刷又は、表示装置104に表示を行
なう場合について説明する。
【0102】まず、マウス106を使用し、プログラム
構造表示指定領域203に表示されているモジュールま
たは、関数を指定し、メニュー表示領域201に表示し
ている「ユティリティ実行」を指定することにより、プ
ログラム構造表示指定領域203で指定した物に対し
て、実行可能なサブツールが表示装置104に表示され
る。
【0103】ここでマウス106を使用し、サブツール
を指定し、実行することにより、関数仕様書、関数コー
ル関連図等のプログラムを開発する上で必要な情報を取
得する。
【0104】次に、モジュールまたは、関数の担当者を
設定するユーザ設定(ステップ713)について説明す
る。
【0105】まず、マウス106を使用し、プログラム
構造表示指定領域203に表示されているモジュールま
たは、関数を指定し、マウス106を使用し、メニュー
表示領域201に表示している「ユーザ設定」を指定す
ることにより、図4で説明したプログラム開発を行なう
リソース322からリソース325のユーザの一覧が表
示装置104に表示され、マウス106を使用し、ユー
ザを指定し、実行することにより、モジュールまたは、
関数の担当者を変更することができる。
【0106】次に、ソースファイルを取り出し処理(ス
テップ714)について説明する。
【0107】この機能は、ステップ711の「コンパイ
ル実行」と違い、ユーザが指定したモジュールに対する
ソースファイルを個々に取り出す機能である。
【0108】その操作方法は、マウス106を使用し、
プログラム構造表示指定領域203に表示されているモ
ジュールを指定する。
【0109】そして、マウス106を使用し、メニュー
表示領域201に表示している「ソース取出」を指定す
る。この操作により、指定されたモジュールに対応する
ソースファイルが取り出す。
【0110】次に、図3に示す本実施例に表示されてい
るモジュール「Prog.c」のソースファイルを取り
出したことを前提にソースファイルとモジュール構造と
の関係を図8に示す表示例を用いて説明する。
【0111】まず、図8に示すモジュール「Prog.
c」のソースファイルの行番号801の1行目から6行
目に対応するソースファイル802は、プログラムの属
性として登録されている「Copyright情報」で
ある。
【0112】次に、行番号801の7行目から12行目
に対応するソースファイル802は、図3に示す「項番
2.1」の「_head」に対応するコーディング結果
である。
【0113】次に、行番号801の15行目から21行
目に対応するソースファイル802は、図3に示す「項
番2.2」の関数「main()」の属性としてい登録
されている「関数仕様の情報」である。
【0114】そして、行番号801の22行目から27
行目に対応するソースファイル802は、図3に示す
「項番2.2」の関数「main()」に対応するコー
ディング結果である。
【0115】以下、行番号801の29行目から59行
目に対応するソースファイル802は、図3に示す「項
番2.3」から「項番2.6」に対応する関数の「関数
仕様の情報とコーディング結果を順番に展開したもので
ある。
【0116】また、このソースファイルを取り出す時に
も、図6で説明したユーザとデータとの関係が適用さ
れ、取り出されるソースファイルは、ユーザによって異
なる。このことにより、プログラムの機能を複数追加す
る場合に、複数のユーザがそれぞれの機能を同時にコー
ディングを行なっても、ソースファイルを取り出す時に
は、1ユーザがコーディングした機能だけがとりださ
れ、個々の機能単位にテストできる。以上のことから、
プログラムの中の複数の機能を複数のユーザが同時にコ
ーディングすることが容易にでき、かつ、他のユーザの
作業に影響されることなく個々の機能単位にテストでき
ることから、プログラムの開発が効率良くできる。
【0117】次に、リビジョン管理(ステップ715)
について説明する これは、プログラムのリビジョンの管理とプログラムの
開発担当者に変更箇所をUNIXの電子メールシステム
を利用して通知するものである。
【0118】リビジョン管理には、リビジョンの更新と
リビジョンを戻す2つの処理があり、リビジョンの更新
処理を図9、リビジョンを戻す処理を図11に示すフロ
ーを用いて説明する。
【0119】リビジョンの更新処理は、まず、ログ情報
入力画面を作成し(ステップ901)、「実行」または
「取消」を選択されるまで、キーボード105とマウス
106からの入力処理を行なう。
【0120】次に、「実行」が選択されたのか、「取
消」が選択されたのかをチェックし(ステップ90
2)、「実行」が選択された場合は、ステップ901で
入力されたログ情報を取得する(ステップ903)。
【0121】次に、リビジョンを更新するターゲットの
チェックを行ない(ステップ904)、関数またはイン
クルードの場合は、図6で示すアクティブデータ604
とスタティックデータ605とのソースの差分を取得し
(ステップ905)、次のステップ906へ進む。
【0122】また、関数またはインクルードでない場合
は、ステップ905の処理を飛ばし、リビジョンを更新
するターゲットの属性情報を取得する(ステップ90
6)。
【0123】次に、UNIX上で動くRCS(Revi
sion Control System)のコマンド
を利用し、リビジョンの更新処理(ファイルの履歴管
理)を行なう(ステップ907)。
【0124】次に、アクティブデータ604をスタティ
ックデータ605に複写し、スタティックデータ605
を更新する(ステップ908)。
【0125】メール送信データを作成する(ステップ9
09)。ここで作成する送信データは、ステップ905
で取得したソースの差分情報とステップ906で取得し
た属性情報を合わせたデータである。
【0126】次に、図6で説明した参照関係からリビジ
ョンの更新処理を行なうことにより影響を及ぼす関数を
取得し、その関数から関数のユーザ(担当者)を取得
し、メール送信を行なうための、メールアドレスを取得
する(ステップ910)。
【0127】次に、ステップ911において、UNIX
上で動くメールコマンドを利用し、ステップ910で取
得したメールアドレスにたいして、ステップ909で作
成したデータの送信を行なう。送信されるデータは、図
10のようにメール1001で表示される。
【0128】このように、本実施例のプログラム作成編
集装置のコマンドとして、プログラムの箇所が影響する
関数の作成担当者に対して、UNIX上で動く電子メー
ルを利用して通知されることにより、プログラム作成者
が、修正が必要な関数とその作成担当者の関連づける必
要がなくなるので、その修正関数の作成担当者に迅速に
知らせることが可能となる。
【0129】なお、本実施例のメール1001は、図1
0に示すように、ログ情報、名前、形式、説明、戻り
値、関連項目、変更箇所から構成されるが、これに限定
されない。
【0130】図10の説明をつけ加える。
【0131】次に、ログ情報入力画面を消去し、メイン
処理に戻る(ステップ912)。また、ステップ902
において、「取消」が選択された場合も同様に、ステッ
プ912へ進み、ステップ912において、ログ情報入
力画面を消去し、メイン処理に戻る。
【0132】次に、リビジョンを戻す処理は、目的とす
る関数または、モジュールのリビジョンの履歴情報を取
得する(ステップ1101)。次に、履歴情報選択画面
を作成し、リビジョンの履歴情報(日時とログ情報)を
表示し、「実行」または「取消」を選択されるまで、入
力処理を行いリビジョンの履歴情報(日時とログ情報)
の選択を受け付ける(ステップ1102)。
【0133】次に、「実行」が選択されたのか、「取
消」が選択されたのかをチェックし(ステップ110
3)、「実行」が選択された場合は、選択されたリビジ
ョンの履歴情報を取得する(ステップ1104)。リビ
ジョンを戻す前の状態として、UNIX上で動くRCS
(Revision Control System)
のコマンドを利用し、リビジョンの更新処理(ファイル
の履歴管理)を行なう(ステップ1105)。
【0134】次に、UNIX上で動くRCSのコマンド
を利用し、選択された状態のリビジョンに戻す処理を行
ない(ステップ1106)、履歴情報選択画面を消去
し、メイン処理に戻る(ステップ1107)。ステップ
1103において、「取消」が選択された場合は、ステ
ップ1107に進み、履歴情報選択画面を消去し、メイ
ン処理に戻る。
【0135】このようにして、プログラム構造のリビジ
ョン管理を行ない、且つ、プログラムの変更箇所が影響
するユーザに対して、UNIX上で動く電子メールを利
用して通知される。
【0136】そして、本実施例の操作及び機能の説明を
画面に表示するヘルプ(ステップ716)、ステップ8
04において、本実施例の終了要求を受けた場合は、画
面を消去し(ステップ717)、サーバとの切断処理を
行ない(ステップ718)、終了する。
【0137】したがって、上述したように、入力された
ソースプログラムを関数毎に分割する分割手段と、前記
分割手段によって分割された関数を編集する編集手段と
を備え、プログラムの作成及び編集を行うプログラム作
成編集装置に、前記関数と作成担当者を関連づける手段
を設けることにより、プログラム作成者が、修正が必要
な関数とその作成担当者の関連づける必要がなくなるの
で、その修正関数の作成担当者に迅速に知らせることが
可能となる。
【0138】また、プログラム作成編集装置に、編集可
能なソースプログラムを記憶する第一の記憶手段と、編
集不可能なソースプログラムを記憶する第二の記憶手段
と、前記第二の記憶手段に記憶されたソースプログラム
を参照し、テストするテスト手段とを設けることによ
り、一人の作成担当者が関数の修正を終えてテストを行
いたい時に、他の作成担当者が編集を行っていても、そ
の修正した関数をテストできるので、作業効率を向上す
ることが可能となる。
【0139】以上、本発明者によってなされた発明を、
前記実施例に基づき具体的に説明したが、本発明は、前
記実施例に限定されるものではなく、その要旨を逸脱し
ない範囲において種々変更可能であることは勿論であ
る。
【0140】
【発明の効果】本願において開示される発明のうち代表
的なものによって得られる効果を簡単に説明すれば、下
記のとおりである。
【0141】プログラム作成者が、修正が必要な関数と
その作成担当者の関連づける必要がなくなるので、その
修正関数の作成担当者に迅速に知らせることが可能とな
る。
【0142】また、一人の作成担当者が関数の修正を終
えてテストを行いたい時に、他の作成担当者が編集を行
っていても、その修正した関数をテストできるので、作
業効率を向上することが可能となる。
【図面の簡単な説明】
【図1】本発明の一実施例であるクライアントサーバモ
デルを用いたプログラム作成編集装置の構成を説明する
ためのブロック図である。
【図2】本実施例の画面表示を示した図である。
【図3】本実施例におけるプログラム構造を分割した個
々のリソースとの関係を説明するための図である。
【図4】本実施例におけるプログラム構造を表現するた
めの個々のリソースとの接続関係を表現した図である。
【図5】本実施例におけるプログラム構造を表現するた
めの個々のリソースとの参照関係を表現した図である。
【図6】本実施例のプログラム作成編集装置を使用する
ユーザとプログラム構造構築装置が管理するデータとの
関係を表現した図である。
【図7】本実施例のプログラム作成編集装置の処理の流
れを示すフローチャートである。
【図8】本実施例のモジュール「Prog.c」のソー
スファイルを示した図である。
【図9】本実施例のリビジョンの更新処理を示すフロー
チャートである。
【図10】本実施例のメールの表示例を表す図である。
【図11】本実施例のリビジョンの戻す処理を示すフロ
ーチャートである。
【符号の説明】
101…プログラム構造構築装置、 102…サーバ装置、 103…プログラム構造構築部、 104…表示装置、 105…キーボード、 106…マウス、 107…記憶装置、 108…出力装置、 109…ネットワーク、 110…データ管理部、 111…ファイル装置。

Claims (3)

    【特許請求の範囲】
  1. 【請求項1】 ソースプログラムを入力する入力手段
    と、入力されたソースプログラムを関数毎に分割する分
    割手段と、前記分割手段によって分割された関数を編集
    する編集手段とを備え、プログラムの作成及び編集を行
    うプログラム作成編集装置において、 前記関数と作成担当者を関連づける手段を設けたことを
    特徴とするプログラム作成編集装置。
  2. 【請求項2】 前記請求項1記載のプログラム作成編集
    装置において、 編集可能なソースプログラムを記憶する第一の記憶手段
    と、 編集不可能なソースプログラムを記憶する第二の記憶手
    段と、 前記第一の記憶手段に記憶されたソースプログラムの編
    集が行われた場合に、変更された部分を含む関数以外
    は、第二の記憶手段に記憶されたソースプログラムを参
    照してコンパイルを行う手段を設けたことを特徴とする
    プログラム作成編集装置。
  3. 【請求項3】 前記請求項1に記載のプログラム作成編
    集装置において、 編集が行われたソースプログラムと編集前のソースプロ
    グラムとの差分をとり、影響の及ぶ関数を検索する検索
    手段と、 前記検索手段によって検索された関数から修正の必要と
    なる箇所を抽出する抽出手段と、 前記抽出手段によって抽出された箇所を前記関数の作成
    担当者に対し通知する通知手段を設けたことを特徴とす
    るプログラム作成編集装置。
JP6228524A 1994-09-22 1994-09-22 プログラム作成編集装置 Pending JPH0895775A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP6228524A JPH0895775A (ja) 1994-09-22 1994-09-22 プログラム作成編集装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP6228524A JPH0895775A (ja) 1994-09-22 1994-09-22 プログラム作成編集装置

Publications (1)

Publication Number Publication Date
JPH0895775A true JPH0895775A (ja) 1996-04-12

Family

ID=16877773

Family Applications (1)

Application Number Title Priority Date Filing Date
JP6228524A Pending JPH0895775A (ja) 1994-09-22 1994-09-22 プログラム作成編集装置

Country Status (1)

Country Link
JP (1) JPH0895775A (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7210123B2 (en) 2001-09-19 2007-04-24 Nec Corporation Software evaluation system having source code and function unit identification information in stored administration information
JP2013218413A (ja) * 2012-04-05 2013-10-24 Internatl Business Mach Corp <Ibm> ソフトウェア開発支援方法、プログラム及び装置
WO2022269793A1 (ja) * 2021-06-23 2022-12-29 三菱電機株式会社 制御装置、及び、アドレス管理方法

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7210123B2 (en) 2001-09-19 2007-04-24 Nec Corporation Software evaluation system having source code and function unit identification information in stored administration information
JP2013218413A (ja) * 2012-04-05 2013-10-24 Internatl Business Mach Corp <Ibm> ソフトウェア開発支援方法、プログラム及び装置
US10114635B2 (en) 2012-04-05 2018-10-30 International Business Machines Corporation Software development support
WO2022269793A1 (ja) * 2021-06-23 2022-12-29 三菱電機株式会社 制御装置、及び、アドレス管理方法

Similar Documents

Publication Publication Date Title
CN110058846B (zh) 一种业务应用软件开发系统和方法
US8170901B2 (en) Extensible framework for designing workflows
US6651240B1 (en) Object-oriented software development support apparatus and development support method
EP1643435B1 (en) An extensible framework for designing workflows
Mehra et al. A generic approach to supporting diagram differencing and merging for collaborative design
EP0786109B1 (en) Object-oriented system for configuration history management
US5019961A (en) Computer apparatus and method for logical modelling
US5553282A (en) Software project history database and method of operation
JP4972254B2 (ja) リフレッシュ可能なWebクエリを作成するための統合された方法
JPH09212352A (ja) プログラム開発支援システム
EP1290552A1 (en) Methods and systems for identifying dependencies between object-oriented elements
JPH0635709A (ja) オブジェクトクラス規定装置、ウィジェット及びその実現方法
JPH0683598A (ja) ジョブフロー仕様書自動作成方法
US5781905A (en) Program generating method combining data item part with database manipulation part
US20020147963A1 (en) Method and apparatus for generating machine control instructions
Oda et al. Generative technique of version control systems for software diagrams
JPH0895775A (ja) プログラム作成編集装置
JPH0573630A (ja) 分散設計支援方法およびシステム
US20130346141A1 (en) Workflow modeling with workets and transitions
CN112181483B (zh) 等离子体控制系统软件开发平台及方法
CN111124386B (zh) 基于Unity的动画事件处理方法、装置、设备和存储介质
CN112764741A (zh) 一种可视化编辑界面的方法、装置及电子设备
JPH11102293A (ja) プログラム自動生成方法
JPH11184687A (ja) ソフトウェア文書の階層構造及び関係を用いるソフトウエア文書作成システムとその運用方法
JP3540241B2 (ja) アプリケーション起動メニュー定義ファイル生成装置及びアプリケーション起動メニュー生成装置