JPH06214768A - プログラム部品作成方法及びプログラム自動生成方法 - Google Patents

プログラム部品作成方法及びプログラム自動生成方法

Info

Publication number
JPH06214768A
JPH06214768A JP5003991A JP399193A JPH06214768A JP H06214768 A JPH06214768 A JP H06214768A JP 5003991 A JP5003991 A JP 5003991A JP 399193 A JP399193 A JP 399193A JP H06214768 A JPH06214768 A JP H06214768A
Authority
JP
Japan
Prior art keywords
program
processing
processing module
extracted
database
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
JP5003991A
Other languages
English (en)
Inventor
Yoshiaki Okuma
義昭 大隈
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 JP5003991A priority Critical patent/JPH06214768A/ja
Publication of JPH06214768A publication Critical patent/JPH06214768A/ja
Pending legal-status Critical Current

Links

Abstract

(57)【要約】 【目的】 初級プログラマであっても、新しいプログラ
ム仕様に対応したプログラムの生成を容易にする。 【構成】 プログラムの仕様の機能分割結果から得られ
た機能単位の処理目的と処理モジュールとを1組とした
プログラム部品を作成し、データベースに格納する。新
規のプログラムを作成するに際しては、新仕様の機能分
割単位の処理目的を検索キーとして前記データベースを
検索し、必要な処理モジュールを抽出して組み立てる。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、プログラム部品作成方
法及びプログラム自動生成方法に関し、特に、既存のプ
ログラムを再利用する場合、その仕様の機能分割結果か
ら得られた機能単位の処理目的と処理モジュールを1組
としたプログラム部品の作成方法と、このプログラム部
品を検索・合成し、新規プログラムを生成するプログラ
ム自動生成方法に関する。
【0002】
【従来の技術】周知のように、プログラムを新規に作成
する場合の生産性と品質は、プログラマの経験や熟練度
に大きく依存する。
【0003】しかし、初級プログラマであっても、既存
のプログラムを部分的に参照できるようにすれば、生産
性と品質を向上させることができる。
【0004】同様に、熟練プログラマであっても、他の
プログラマが開発したプログラムを部分的に参照するこ
とによって、生産効率をさらに向上させることができ
る。
【0005】ところが、既存のプログラムにおいては、
多くの場合、それを構成する多数の処理モジュールの処
理目的や意味等を管理する仕組みが不十分となっている
ため、結局は過去の開発経験に依存せざるを得ないとい
う問題があった。
【0006】そこで、このような問題を解決する一手法
として、例えば特開平2−105222号公報に開示さ
れているように、既存のプログラムの設計仕様と処理モ
ジュールとをそれぞれ独立したデータベースに格納して
おき、新規に開発するプログラムの設計仕様が与えられ
たならば、この仕様に適合する既存の仕様を抽出した
後、その抽出した既存の仕様に対する処理モジュールを
組み立てることによって、プログラムを生成するという
方法が提案されている。
【0007】
【発明が解決しようとする課題】しかしながら、上記公
報に開示された従来のプログラム生成方法にあっては、
設計仕様のデータベースと処理モジュールのデータベー
スとを二重に検索しなければならない。
【0008】このため、時間がかかると同時に、検索に
際して、処理モジュールの処理目的や意味、あるいは内
容について予備知識やノウハウを持っていなければ目的
とする処理モジュールを的確に検索することができず、
利用可能な者は、予備知識やノウハウを持った者に限定
されてしまうという問題がある。
【0009】本発明は、上記課題を解決するためになさ
れたものであり、本発明の第一の目的は、プログラマの
熟練度にかかわらず、既存のプログラムの中から目的と
する処理モジュールを容易に検索することができるプロ
グラム部品作成方法を提供することである。
【0010】また、本発明の第二の目的は、プログラマ
の熟練度や開発経験にかかわらず、新たに要求された設
計仕様のプログラムを、既存のプログラムを利用して効
率良く生成することができるプログラム自動生成方法を
提供することにある。
【0011】
【課題を解決するための手段】上記目的を達成するため
に本発明は、プログラムに関する設計仕様ドキュメント
を機能単位に分割した分割結果から各機能単位の処理目
的を抽出すると共に、各機能単位と処理モジュール名と
の対応関係ドキュメントに基づき、前記設計仕様に基づ
いて実際に作成されたプログラムから、各機能単位の処
理モジュールを抽出し、これら抽出した処理目的と、処
理モジュールとを1組のプログラム部品として作成し、
データベースに格納することを特徴とする。
【0012】および、プログラムに関する設計仕様ドキ
ュメントを機能単位に分割した分割結果から各機能単位
の処理目的を抽出すると共に、各機能単位と処理モジュ
ール名との対応関係ドキュメントに基づき、前記設計仕
様に基づいて実際に作成されたプログラムから、各機能
単位の処理モジュールを抽出し、これら抽出した処理目
的と、処理モジュールとを1組のプログラム部品として
作成し、データベースに格納しておき、新規にプログラ
ムを開発するに際し、当該新規開発プログラムの設計仕
様を機能単位に分割した後、各機能単位の処理目的を検
索キーとして、前記データベースを検索して、同処理の
目的と類似または同一の処理モジュールを抽出し、その
抽出したモジュールを組み合わせて、新規開発プログラ
ムの設計仕様に対するプログラムを生成することを特徴
とする。
【0013】
【作用】上記手段によれば、新規仕様を機能単位に分割
し、各分割単位の処理目的を検索キーとしてデータベー
スを検索すると、その処理目的に合った処理モジュール
が抽出できる。
【0014】従って、新規仕様を機能単位に分割する作
業または処理を行っておけば、初級プログラマであって
も極めて容易に目的とする処理モジュールを得ることが
できる。
【0015】また、上記のようにして得られた処理モジ
ュールを組立てることにより、新規仕様を満足するプロ
グラムを効率良く生成することができる。
【0016】そして、データベースに格納された処理モ
ジュールの信頼性が保証されているものであれば、新た
に生成されたプログラムの信頼性も充分に高いものとな
る。
【0017】
【実施例】以下、本発明の一実施例を図および表を用い
て詳細に説明する。
【0018】図1は、本発明の既存プログラム再利用の
ためのプログラム部品の作成方法とプログラムの自動生
成方法の一実施例の全体構成を示すシステム構成図であ
る。
【0019】システムは、部品デ−タベ−ス作成部10
1とプログラム生成部102とにより構成される。
【0020】図1において、1は既存プログラムの仕様
ドキュメントを機能分割した結果、2は機能分割結果1
と実際にプログラム化した処理モジュール名との対応関
係を示すドキュメント、3は既存のプログラム、4はデ
ィスプレイとキ−ボ−ドからなるビデオデ−タタ−ミナ
ル(以下、VDTと称する。)である。
【0021】5は前記VDT4から利用者が入力したプ
ログラム仕様の機能分割結果や機能名/処理モジュール
名対応情報やコマンドにより既存プログラムを呼出し編
集して仕様と処理内容との対応付けを行う仕様/処理の
対応付け装置、6は前記対応付け装置5で編集作成した
仕様/処理内容を格納しておくデ−タベ−スである。
【0022】7は新規開発プログラムに要求された仕
様、8は前記4と同様のVDT、9は前記新規開発プロ
グラムに要求された仕様7を利用者のコマンドに従って
機能分割し編集する機能分割装置、10は前記機能分割
装置9の編集結果によって得られた機能分割結果を格納
しておくデ−タベ−スである。
【0023】11は前記新しく要求された仕様の機能分
割結果10と既存プログラムのデ−タベ−ス6とに基づ
き新たに要求された仕様に応じたプログラム部品群を抽
出し、それを合成して目的のプログラムに組み立てるプ
ログラム合成装置である。
【0024】12は前記プログラム合成装置11により
得られた目的とするプログラムの雛形、13は目的とす
るプログラムの雛形12に対し全体の整合性をとり、利
用者の目的通りにカスタマイズ化するユ−ザカスタマイ
ズ装置、14は最終的なプログラムの完成品である。
【0025】図2は、既存プログラム仕様の機能分割結
果とモジュール名との対応関係を示す図である。
【0026】15はプログラム仕様の一例、16はプロ
グラム仕様15を機能分割した第1階層の処理内容名で
あり、25は第1階層の処理内容名16に該当する処理
モジュール、17,18,19は第2階層の処理内容名
であり、26,27,28はそれぞれ第2階層の処理内
容名に該当する処理モジュールである。
【0027】同様に、20,21,22,23,24は
第3階層の処理内容名であり、29,30,31,3
2,33はそれぞれ第3階層の処理内容名に該当する処
理モジュールである。
【0028】図3は、他のプログラム仕様の一例であ
り、図2と同様に35はプログラム仕様34を機能分割
した第1階層の処理内容名であり、43は第1階層の処
理内容名35に該当する処理モジュール、36,37,
38は第2階層の処理内容名であり、44,45,46
はそれぞれ第2階層の処理内容名に該当する処理モジュ
ールである。
【0029】同様に、39,40,41,42は第3階
層の処理内容名であり、47,48,49,50はそれ
ぞれ第3階層の処理内容名に該当する処理モジュールで
ある。
【0030】表1は図2および図3の仕様例に対して作
成された仕様/処理デ−タベ−ス6の作成例を示す表で
ある。
【0031】
【表1】
【0032】この表1において、51は仕様の機能分割
結果から抽出した処理の意味であり、52は部品とした
い階層の処理名であり、53,54は処理名52の階層
より上位階層の処理名である。55は処理内容名52に
対応する処理モジュールである。
【0033】上位階層の処理名ほどその処理名に対応す
る部品のまとまりは大きく、逆に、下位階層の処理名ほ
どその処理名に対応する部品のまとまりは小さくなる。
【0034】例えば、最上位階層の処理名56に対して
は、処理モジュールT−1〜T−31のようにプログラ
ム全体が処理モジュールとして対応しており、また最下
位階層の処理名57に対しては、1つの処理モジュール
T−22が対応している。
【0035】この表1、すなわちデータベース6は次の
ようにして作成される。
【0036】すなわち、図2の要求仕様例(1)の「大
気圏突入時のスペースシャトルの温度分布を知りたい」
を機能分割すると、 (1)スペースシャトルの温度分布 16 (2)前処理 17 (3)温度解析 18 (4)後処理 19 (5)データ入力 20 (6)計算共通 21 (7)計算T1 22 (8)計算T2 23 (9)結果の作図 24 といった処理目的を持つ機能単位に分割される。
【0037】また、要求仕様例(1)に基づいて作成さ
れた既存プログラム3の構成は、次のようになってい
る。
【0038】(1)「スペースシャトルの温度解析」1
6に対応する処理モジュール25 (2)前処理17に対応する処理モジュール 26 (3)温度解析18に対応する処理モジュール 27 (4)後処理19に対応する処理モジュール 28 (5)データ入力20に対応する処理モジュール 29 (6)計算共通21に対応する処理モジュール 30 (7)計算T1に対応する処理モジュール 31 (8)計算T2に対応する処理モジュール 32 (9)結果の作図24に対応する処理モジュール 33 そこで、これらの仕様分割結果と既存プログラム3の機
能単位分割結果とを対応付けることにより、表1のよう
なデータベース6を作成する。
【0039】すなわち、仕様の機能単位別の処理目的と
それに対応する処理モジュールとを1組のプログラム部
品とするデータベース6を作成する。
【0040】図3の要求仕様例(n)についても全く同
様にして仕様と処理モジュールとの関係データベースを
作成する。
【0041】図4は、前記既存プログラムの仕様/処理
対応データベース6内の論理的イメージを模式的に表し
た図であり、各仕様A、B、C・・・は、各階層のプロ
グラム部品(A1、A2、A123、B11、B32・・・等)から組み立
てられている。
【0042】図5は、プログラム生成部102の合成手
順を示すフロ−チャ−トである。
【0043】図5を用いて、本発明の一実施例の仕様/
処理対応デ−タベ−スを使ったプログラム合成手順を説
明する。
【0044】まず、新しい開発対象の仕様が与えられた
場合、利用者はその仕様を読込み(ステップ60)、要
求された仕様を構造化設計技法によって階層構造に機能
分割する(ステップ61)。
【0045】次に、そこで得られた階層の各分割要素に
対して、部品検索を行いたい分割要素の有無を判断(ス
テップ62)し、分割要素を選ぶ(ステップ63)。
【0046】そして、その分割要素の処理名の全てまた
は一部を検索キ−ワードとしてセット(ステップ64)
し、デ−タベ−ス6から該当するプログラム部品群を検
索する(ステップ65)。
【0047】この部品検索を行う分割要素の階層が上位
である程、処理モジュールは大きな塊で再利用できるこ
とになり、合成後のプログラム自体の信頼性も高い。
【0048】また、検索条件を変更する必要があれば、
ステップ64に戻り、必要がなければ、次のステップ6
7に進む(ステップ66)。
【0049】ステップ67では、検索した処理モジュー
ルが必要かどうか判断し、必要であれば、その処理モジ
ュールを取り出す(ステップ68)。
【0050】ステップ62で、検索を希望する処理モジ
ュールがない場合は、前記機能分割した各処理モジュー
ル間のつながりを付け(ステップ69)、もし、不足し
ている処理モジュール及び処理内容があれば追加し、ユ
ーザーに要求されたプログラム仕様に合致したプログラ
ムを生成する(ステップ70)。
【0051】図6は、プログラム自動生成過程の一例を
示す図である。
【0052】図6において、与えられた新しく要求され
た仕様7に対して、仕様/処理対応データベース6に蓄
積されている既存プログラムの仕様の内で再利用できる
仕様の範囲を対話的に抽出し、抽出した仕様を編集し、
また、データベースに該当仕様がない機能についてはユ
ーザーが追加することでこの要求仕様に合った機能分割
を完成させる(9,11,13)。
【0053】この場合、再利用できる仕様の範囲は、最
上位の階層単位から最下位の階層単位まで自由に選択で
きる。
【0054】図6において、まず、新しく要求された仕
様7に対し、既存のプログラム仕様Aの最上位階層の再
利用を考え(作業1)、その全てが再利用できないた
め、仕様Aの一部A2を削除し、既存のプログラム仕様
Bの一部B3で置き換える(作業2)。
【0055】また、同様に再利用不可能な仕様Aの最下
位層A123を削除し、既存の仕様Cの一部C321で
置き換え(作業3)、不足部分は、ユーザ新規仕様U3
3を追加し(作業4)、カストマイズ装置13によりプ
ログラム全体の整合性をとり、最終的に要求された仕様
の新しいプログラム14が完成する。
【0056】このように、新しく要求された仕様に対す
る機能分割作業を行う過程でこの仕様に応じた新しいプ
ログラムを生成することができる。
【0057】また、ユーザー追加分の仕様と部品は、仕
様/処理対応データベース6に追加登録することによ
り、以後の開発作業に利用することができる。
【0058】
【発明の効果】以上説明したように本発明によれば、既
存のプログラムを再利用する場合、その仕様の機能分割
結果から得られた機能単位の処理目的と処理モジュール
を1組としたプログラム部品を作成し、データベースに
格納することにより、初級プログラマでも、分野の異な
る熟練プログラマであっても、新しいプログラム仕様に
対応したプログラム部品をデ−タベ−スから容易に検索
し再利用することができるので、新規にプログラムを作
成する際の生産性および信頼性を大きく向上させること
ができる。
【0059】また、再利用によって生じた余裕時間は、
再利用できなかった部分の処理を作成することに振り向
けることができるので、開発意欲を促進し、かつプログ
ラム作成作業全体の効率を上げることができる。
【図面の簡単な説明】
【図1】 本発明の一実施例の全体を示すシステム構成
図である。
【図2】 本実施例の既存プログラム仕様の機能分割結
果と処理モジュールとの対応を示す図である。
【図3】 本実施例の他の既存プログラム仕様の機能分
割結果と処理モジュールとの対応を示す図である。
【図4】 本実施例のプログラム部品データベース内の
論理的イメージを示す図である。
【図5】 本実施例の部品デ−タベ−スを使ったプログ
ラムの自動生成手順を示すフローチャートである。
【図6】 本実施例のプログラム自動生成過程の一例を
示す図である。
【符号の説明】
1…機能分割結果、2…機能分割結果と処理モジュール
名との対応関係を示すドキュメント、3…既存のプログ
ラム、4,8…ビデオデ−タタ−ミナル(VDT)、5
…仕様/処理内容の対応付け装置、6…仕様/処理内容
デ−タベ−ス、7…新しいプログラム仕様、9…機能分
割装置、10…デ−タベ−ス、11…プログラム合成装
置、12…プログラムの雛形、13…ユ−ザカスタマイ
ズ装置、14…完成したプログラム。

Claims (3)

    【特許請求の範囲】
  1. 【請求項1】 プログラムに関する設計仕様ドキュメン
    トを機能単位に分割した分割結果から各機能単位の処理
    目的を抽出すると共に、各機能単位と処理モジュール名
    との対応関係ドキュメントに基づき、前記設計仕様に基
    づいて実際に作成されたプログラムから各機能単位の処
    理モジュールを抽出し、これら抽出した処理目的と処理
    モジュールとを1組のプログラム部品として作成し、デ
    ータベースに格納することを特徴とするプログラム部品
    の作成方法。
  2. 【請求項2】 プログラムに関する設計仕様ドキュメン
    トを機能単位に分割した分割結果から各機能単位の処理
    目的を抽出すると共に、各機能単位と処理モジュール名
    との対応関係ドキュメントに基づき、前記設計仕様に基
    づいて実際に作成されたプログラムから各機能単位の処
    理モジュールを抽出し、これら抽出した処理目的と処理
    モジュールとを1組のプログラム部品として作成し、デ
    ータベースに格納しておき、新規にプログラムを開発す
    るに際し、当該新規開発プログラムの設計仕様を機能単
    位に分割した後、各機能単位の処理目的を検索キーとし
    て、前記データベースを検索して、同処理の目的と類似
    または同一の処理モジュールを抽出し、その抽出したモ
    ジュールを組み合わせて、新規開発プログラムの設計仕
    様に対するプログラムを生成することを特徴とするプロ
    グラム自動生成方法。
  3. 【請求項3】 新規開発プログラムの設計仕様は階層構
    造の機能単位に分割することを特徴とする請求項2記載
    のプログラム自動生成方法。
JP5003991A 1993-01-13 1993-01-13 プログラム部品作成方法及びプログラム自動生成方法 Pending JPH06214768A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP5003991A JPH06214768A (ja) 1993-01-13 1993-01-13 プログラム部品作成方法及びプログラム自動生成方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP5003991A JPH06214768A (ja) 1993-01-13 1993-01-13 プログラム部品作成方法及びプログラム自動生成方法

Publications (1)

Publication Number Publication Date
JPH06214768A true JPH06214768A (ja) 1994-08-05

Family

ID=11572493

Family Applications (1)

Application Number Title Priority Date Filing Date
JP5003991A Pending JPH06214768A (ja) 1993-01-13 1993-01-13 プログラム部品作成方法及びプログラム自動生成方法

Country Status (1)

Country Link
JP (1) JPH06214768A (ja)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6609250B1 (en) 1999-03-09 2003-08-19 Fujitsu Limited Software generating device
JP2008242873A (ja) * 2007-03-28 2008-10-09 Hitachi Ltd ソフトウェア自動構成装置及び方法
JP2009134445A (ja) * 2007-11-29 2009-06-18 Mitsubishi Electric Corp ソフトウェア部品抽出支援装置
JP2017182327A (ja) * 2016-03-29 2017-10-05 日本電信電話株式会社 開発支援装置、開発支援方法および開発支援プログラム
JP2020027535A (ja) * 2018-08-16 2020-02-20 如如研創股▲分▼有限公司 設計仕様書に基づいたbomの作成方法

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6609250B1 (en) 1999-03-09 2003-08-19 Fujitsu Limited Software generating device
JP2008242873A (ja) * 2007-03-28 2008-10-09 Hitachi Ltd ソフトウェア自動構成装置及び方法
JP2009134445A (ja) * 2007-11-29 2009-06-18 Mitsubishi Electric Corp ソフトウェア部品抽出支援装置
JP2017182327A (ja) * 2016-03-29 2017-10-05 日本電信電話株式会社 開発支援装置、開発支援方法および開発支援プログラム
JP2020027535A (ja) * 2018-08-16 2020-02-20 如如研創股▲分▼有限公司 設計仕様書に基づいたbomの作成方法

Similar Documents

Publication Publication Date Title
US5729747A (en) Design method and apparatus of computer program for business processing
US9430455B2 (en) Methods and systems for intelligent form-filling and electronic document generation
CN1682217B (zh) 媒体资料合成
JP3779431B2 (ja) リレーショナルデータベース管理装置,中間リンクテーブル自動作成処理方法およびプログラム記憶媒体
US20050203869A1 (en) Hierarchical database apparatus, components selection method in hierarchical database, and components selection program
US7668888B2 (en) Converting object structures for search engines
JP2000305766A (ja) オブジェクト指向ソフトウェア開発支援装置および開発支援方法
KR19980702170A (ko) 통신네트워크 데이터베이스 구축 방법 및 장치
JPWO2004034282A1 (ja) コンテンツ再利用管理装置およびコンテンツ再利用支援装置
JPH06214768A (ja) プログラム部品作成方法及びプログラム自動生成方法
JPH08263277A (ja) データ操作プログラムの自動生成装置
JP3758282B2 (ja) 情報検索装置
JP3554056B2 (ja) ソフトウェア仕様再利用支援装置
JPS62197826A (ja) システムフロ−仕様生成方式
JPH09204301A (ja) プログラム生成システム
CN109739835A (zh) 一种数据版本保存方法及装置
JPH0546608A (ja) 文書処理装置
JP3445910B2 (ja) 文書要約合成装置
JP2003186670A (ja) データベースアクセスコンポーネントの自動生成装置,自動生成方法及び自動生成プログラム
JP2002245065A (ja) 文書処理装置、文書処理方法、プログラムおよび記録媒体
JPH04172529A (ja) データ中心型ソフトウエア部品によるプログラム自動生成方式
EP0726517A1 (en) A computer aided program generating system
JPH09101886A (ja) プログラム部品の自動抽出・再利用装置
JPH08123817A (ja) 解析知識管理装置
JP2724241B2 (ja) ブロック図部品処理機能付きプログラム自動生成装置