JP2009276911A - Software asset reuse support program - Google Patents

Software asset reuse support program Download PDF

Info

Publication number
JP2009276911A
JP2009276911A JP2008126137A JP2008126137A JP2009276911A JP 2009276911 A JP2009276911 A JP 2009276911A JP 2008126137 A JP2008126137 A JP 2008126137A JP 2008126137 A JP2008126137 A JP 2008126137A JP 2009276911 A JP2009276911 A JP 2009276911A
Authority
JP
Japan
Prior art keywords
model
architecture
information
source code
program
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
JP2008126137A
Other languages
Japanese (ja)
Other versions
JP5085421B2 (en
Inventor
Nobuhide Sugimoto
信秀 杉本
Mari Inoki
万里 位野木
Yuji Mitomo
雄司 三友
Takeshi Iriuchijima
健 入内島
Noriyuki Suzuki
教之 鈴木
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.)
Toshiba Corp
Toshiba Digital Solutions Corp
Original Assignee
Toshiba Corp
Toshiba Solutions Corp
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 Toshiba Corp, Toshiba Solutions Corp filed Critical Toshiba Corp
Priority to JP2008126137A priority Critical patent/JP5085421B2/en
Publication of JP2009276911A publication Critical patent/JP2009276911A/en
Application granted granted Critical
Publication of JP5085421B2 publication Critical patent/JP5085421B2/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Stored Programmes (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

<P>PROBLEM TO BE SOLVED: To improve the quality (usability, maintainability, portability or the like) or reusability of an existing software asset by reducing an inhibition factor causing the deterioration of the quality (usability, maintainability, portability or the like) or usability when newly developing software while reusing the existing software asset. <P>SOLUTION: A central arithmetic unit 15 creates a current state architecture model md3 from a source code file scf as existing software asset by executing an architecture model creation program pro10, and creates a target architecture model md2 from requirement definition, and creates a feature model md4 from a product road map rm1, and newly creates a current state architecture model by correcting and editing the current state architecture model md3 based on the target architecture model md2 and the feature model md4. <P>COPYRIGHT: (C)2010,JPO&INPIT

Description

本発明は、ソフトウェア資産再利用支援プログラムに係り、例えば、既存のソフトウェア資産を再利用しつつ新たにソフトウェアを開発する場合に、既存ソフトウェア資産の品質(使用性、保守性、移植性など)や再利用性を改善し得るソフトウェア資産再利用支援プログラムに関する。   The present invention relates to a software asset reuse support program. For example, when developing new software while reusing an existing software asset, the quality of the existing software asset (usability, maintainability, portability, etc.) The present invention relates to a software asset reuse support program that can improve reusability.

例えば、継続的に新製品が開発される車載端末や携帯電話には、カーナビゲーション用プログラムや電子メール作成支援プログラム等といった各種のソフトウェアが使用される。これらのソフトウェアは、新製品の発売開始に間に合うように、一般的には、既存のソフトウェア資産を再利用しつつ機能追加やバージョンアップすることにより開発される。   For example, various kinds of software such as a car navigation program and an e-mail creation support program are used for in-vehicle terminals and mobile phones on which new products are continuously developed. Such software is generally developed by adding functions or upgrading the version while reusing existing software assets in time for the launch of new products.

なお、この発明に関連した先行技術文献としては、例えば特許文献1がある。
特開2007−12003号公報
In addition, as a prior art document relevant to this invention, there exists patent document 1, for example.
JP 2007-12003 A

しかしながら、以上のようなソフトウェアは、既存のソフトウェア資産を再利用しつつ開発されることから、例えば携帯電話の場合には、本来、機種毎に開発すべき各機種のソースコードが混在し、いわゆるスパゲッティコードになり易い不都合がある。これは、携帯電話のソフトウェアに限らず、車載端末等の他の製品のソフトウェアでも同様である。   However, since the software as described above is developed while reusing existing software assets, for example, in the case of a mobile phone, the source code of each model to be originally developed for each model is mixed, so-called There is the inconvenience that it becomes a spaghetti code. This is not limited to the software of the mobile phone, and the same applies to software of other products such as in-vehicle terminals.

係る不都合は、具体的には、以下の(a)アーキテクチャ規約違反、(b)可変性の実現方法の非統一、(c)クラスとソースコードファイルとの関係の複雑化、といった状況を招き易く、ソフトウェアの品質(使用性、保守性、移植性など)や再利用性を低下させ再利用性を損なう可能性を生じさせる。   Specifically, such inconvenience easily leads to the following situations: (a) violation of architecture rules, (b) non-uniformity of realization method of variability, and (c) complicated relationship between classes and source code files. The software quality (usability, maintainability, portability, etc.) and reusability are reduced and the possibility of impairing reusability is generated.

(a)アーキテクチャ規約違反
アーキテクチャ規約違反の場合、アーキテクチャ構造(階層構造、MVC(model-view-controller)モデルなど)やデザインパターン等の規約を無視したAPI(application program interface)呼び出しが実行される。この違反は性能改善などの作業工程などで発生することが多い。
(A) Violation of architecture contract In the case of violation of the architecture contract, an API (application program interface) call ignoring the contract of the architecture structure (hierarchical structure, MVC (model-view-controller) model, etc.) and design pattern is executed. This violation often occurs in work processes such as performance improvement.

(b)可変性の実現方法の非統一
可変性とは、ソフトウェアにおいて多種の製品に対応するために、各製品に使用されるソフトウェア部品の組み合わせが異なること、である。
(B) Non-unification of Realization Method of Variability Variability means that the combination of software components used for each product is different in order to deal with various products in software.

可変性の実現方法としては以下の(b1)〜(b4)などの方法があるが、これらの方法が適切に選択され利用されない場合、ソフトウェアの品質(使用性、保守性、移植性など)の低下を招いてしまう。適切に選択するためには、アーキテクチャを検討するなかで考慮し、決定することが望ましい。(b1)コンパイル時に#ifdefなどにより使用するコードを切り替える方法(ソースコードに記述)。(b2)コンパイル時にリンクする静的ライブラリ、動的ライブラリを切り替える方法(Makefile等に記述)。(b3)起動時に設定ファイルを参照し使用する機能を切り替える方法(設定ファイルに記述)。(b4)実行中にレジストリ等を参照し動的に機能を切り替える方法(ソースコードに記述)。 The methods for realizing variability include the following methods (b1) to (b4). If these methods are not properly selected and used, the quality of software (usability, maintainability, portability, etc.) It will cause a decline. In order to make an appropriate choice, it is desirable to consider and decide on the architecture. (B1) A method of switching the code used by #ifdef or the like during compilation (described in the source code). (B2) A method of switching between a static library and a dynamic library linked at the time of compilation (described in Makefile). (B3) A method of switching the function to be used by referring to the setting file at the time of activation (described in the setting file). (B4) A method of dynamically switching functions by referring to a registry or the like during execution (described in source code).

(c)クラスとソースコードファイルとの関係の複雑化
クラスとソースコードファイルとの関係としては、例えば、C++ではクラスの宣言をヘッダファイル(*.h)に記述し、実装を実装ファイル(*.cpp)に記述するといった関係がある。この関係が複雑化した場合、例えば、一つのヘッダファイルに複数のクラスの宣言を記述し、各クラスの実装をそれぞれ別々の実装ファイルに記述する等の状況となる。最終的にソフトウェア資産として管理する場合、「ファイル」が管理最小単位である。製品の機能に対応して設計されたクラスが、実装として複数のファイルに分割して実装される、または、一つのファイルに複数のクラスの実装が行われる、などが発生した場合、品質(使用性、保守性、移植性など)や再利用性を低下させることになる。
(C) Complexity of relationship between class and source code file As a relationship between a class and a source code file, for example, in C ++, a class declaration is described in a header file (* .h) and an implementation is implemented in an implementation file (* .cpp). When this relationship is complicated, for example, the declaration of a plurality of classes is described in one header file, and the implementation of each class is described in a separate implementation file. When finally managing as software assets, “file” is the minimum management unit. If a class designed for the product function is implemented by dividing it into multiple files as an implementation, or multiple classes are implemented in one file, quality (use , Maintainability, portability, etc.) and reusability.

以上のように、既存のソフトウェア資産には、品質(使用性、保守性、移植性など)や再利用性を低下させる阻害要因である(a)(b)(c)が程度の違いはあるが含まれている。品質を改善し再利用を推進するためには、これら阻害要因を出来る限り低減させることが望まれる。   As described above, existing software assets have different levels of (a) (b) (c), which are impeding factors that reduce quality (usability, maintainability, portability, etc.) and reusability. It is included. In order to improve quality and promote reuse, it is desirable to reduce these obstacles as much as possible.

本発明は上記実情を考慮してなされたもので、既存のソフトウェア資産を再利用しつつ新たにソフトウェアを開発する場合に、ソフトウェアの品質(使用性、保守性、移植性など)や再利用性を改善し得るソフトウェア資産再利用支援プログラムを提供することを目的とする。   The present invention has been made in consideration of the above circumstances, and software quality (usability, maintainability, portability, etc.) and reusability when newly developing software while reusing existing software assets. The purpose is to provide a software asset reuse support program that can improve

以上の目的を達成するために本発明としては、例えば、第1及び第2の局面が考えられる。第1の局面は、目標となるフィーチャモデルによる特徴的な部分のみと、既存のソフトウェア資産との対応付けに基づく手法である。第2の局面は、目標となるフィーチャモデル及びアーキテクチャモデルによる網羅的なモデル群と、既存のソフトウェア資産との対応付けに基づく手法である。具体的には以下の通りである。   In order to achieve the above object, for example, first and second aspects can be considered as the present invention. The first aspect is a method based on the association between only a characteristic part of a target feature model and an existing software asset. The second aspect is a method based on correspondence between an exhaustive model group based on target feature models and architecture models and existing software assets. Specifically, it is as follows.

本発明の第1の局面は、記憶装置に記憶された複数のソースコードファイルを含むソフトウェア資産の再利用を支援して現実アーキテクチャモデルを作成する計算機に用いられるソフトウェア資産再利用支援プログラムであって、前記計算機を、前記記憶装置内の各ソースコードファイルに関して、所定のシンボルの定義を含むか否か及び当該シンボルを参照するか否かを解析する手段、この解析結果として得られた各ソースコードファイル間の参照関係と、アーキテクチャモデルの構成要素名のうちの当該各ソースコードファイルのファイル名に対応する構成要素名と、操作者の操作により入力される情報とに基づいて、当該構成要素名毎に前記参照関係を表現した現状アーキテクチャモデルを作成する手段、作成目標とするソフトウェアが搭載される製品系列における製品別開発計画を示す製品ロードマップと、操作者の操作により入力される情報とに基づいて、フィーチャモデルを作成する手段、前記フィーチャモデル、及び操作者の操作により入力される情報に基づいて、前記現状アーキテクチャモデルを改善のために変更作業しながら編集することにより、前記作成目標とするソフトウェアに対応する現実アーキテクチャモデルを作成する手段、として機能させるためのソフトウェア資産再利用支援プログラムである。   A first aspect of the present invention is a software asset reuse support program used in a computer that supports the reuse of software assets including a plurality of source code files stored in a storage device and creates a real architecture model. , Means for analyzing whether or not the computer includes a definition of a predetermined symbol for each source code file in the storage device and whether or not to refer to the symbol, and each source code obtained as a result of the analysis The component name based on the reference relationship between files, the component name corresponding to the file name of each source code file among the component names of the architecture model, and the information input by the operation of the operator Means for creating a current architecture model that expresses the reference relationship for each, software to be created Based on the product road map showing the development plan for each product in the product series to be installed and the information input by the operator's operation, the feature model is created, the feature model, and input by the operator's operation. Software asset reuse to function as a means for creating a real architecture model corresponding to the creation target software by editing the current architecture model for improvement based on the information It is a support program.

本発明の第2の局面は、記憶装置に記憶された複数のソースコードファイルを含むソフトウェア資産の再利用を支援して現実アーキテクチャモデルを作成する計算機に用いられるソフトウェア資産再利用支援プログラムであって、前記計算機を、前記記憶装置内の各ソースコードファイルを検索し、予め定義されたシンボルを含むソースコードファイルのファイル名を有するシンボル定義情報を抽出する手段、前記記憶装置内の各ソースコードファイルを検索し、参照するシンボルを含むソースコードファイルのファイル名を有するシンボル参照情報を抽出する手段、前記シンボル定義情報及び前記シンボル参照情報に基づいて、前記シンボル定義情報内のファイル名である参照元ファイル名と、前記シンボル参照情報内のファイル名である参照先ファイル名とを含むファイル間依存関係解析情報を作成する手段、複数のソースコードファイル名に関連付けられるファイル名パターン情報をアーキテクチャモデルの構成要素名に関連付けるアーキテクチャ構造ルールに基づいて、参照元ファイル名、参照先ファイル名、及びアーキテクチャモデルの構成要素名を含むファイル間アーキテクチャ構成要素間依存関係構造情報を作成する手段、前記ファイル間依存関係解析情報に示される各ソースコードファイル間の参照関係と、前記ファイル間アーキテクチャ構成要素間依存関係構造情報内の参照元ファイル名及び参照先ファイル名に対応する構成要素名と、操作者の操作により入力される情報とに基づいて、当該構成要素名毎に前記参照関係を表現した現状アーキテクチャモデルを作成する手段、作成目標とするソフトウェアが満たすべき機能要件を定義した要件定義と、操作者の操作により入力される情報とに基づいて、目標アーキテクチャモデルを作成する手段、前記作成目標とするソフトウェアが搭載される製品系列における製品別開発計画を示す製品ロードマップと、操作者の操作により入力される情報とに基づいて、フィーチャモデルを作成する手段、前記目標アーキテクチャモデル、前記フィーチャモデル、及び操作者の操作により入力される情報に基づいて、前記現状アーキテクチャモデルを改善のために変更作業しながら編集することにより、前記作成目標とするソフトウェアに対応する現実アーキテクチャモデルを作成する手段、として機能させるためのソフトウェア資産再利用支援プログラムである。   A second aspect of the present invention is a software asset reuse support program for use in a computer that creates a real architecture model by supporting the reuse of software assets including a plurality of source code files stored in a storage device. Means for searching the computer for each source code file in the storage device and extracting symbol definition information having a file name of a source code file including a predefined symbol; and each source code file in the storage device Means for extracting symbol reference information having a file name of a source code file including a symbol to be referenced, a reference source that is a file name in the symbol definition information based on the symbol definition information and the symbol reference information File name and file name in the symbol reference information A means for creating inter-file dependency analysis information including a reference file name, a reference source file based on an architecture structure rule that associates file name pattern information associated with multiple source code file names with component name of the architecture model A means for creating inter-architecture component dependency structure information including a name, a reference file name, and a component name of an architecture model, and a reference relationship between source code files indicated in the inter-file dependency analysis information Each component name based on the component name corresponding to the reference source file name and the reference destination file name in the inter-file architecture component dependency relationship structure information and the information input by the operation of the operator Present architecture model expressing the reference relationship Means for creating a target architecture model based on a requirement definition that defines functional requirements to be satisfied by software to be created, and information input by an operator's operation, and software for the creation target Means for creating a feature model based on a product road map indicating a development plan for each product in the product series to be installed and information input by an operator's operation, the target architecture model, the feature model, and an operator In order to function as a means for creating a real architecture model corresponding to the creation target software by editing the current architecture model for improvement based on information input by the operation of This is a software asset reuse support program.

以上説明したように本発明によれば、既存のソフトウェア資産を再利用しつつ新たにソフトウェアを開発する場合に、既存ソフトウェア資産の品質(使用性、保守性、移植性など)や再利用性を低下させている阻害要因を低減させ、品質(使用性、保守性、移植性など)や再利用性を改善できる。   As described above, according to the present invention, when developing new software while reusing existing software assets, the quality (usability, maintainability, portability, etc.) and reusability of existing software assets can be reduced. It is possible to reduce the obstructive factors that have been lowered, and to improve quality (usability, maintainability, portability, etc.) and reusability.

以下、本発明の各実施形態について図面を用いて説明する。
(第1の実施形態)
図1は本発明の第1の実施形態に係るソフトウェア資産再利用支援プログラムが適用された計算機の構成を示す模式図である。この計算機10は、補助記憶装置11、主記憶装置12、キーボード13、マウス14、中央演算装置15及びディスプレイ装置16を備えている。
Hereinafter, embodiments of the present invention will be described with reference to the drawings.
(First embodiment)
FIG. 1 is a schematic diagram showing a configuration of a computer to which a software asset reuse support program according to the first embodiment of the present invention is applied. The computer 10 includes an auxiliary storage device 11, a main storage device 12, a keyboard 13, a mouse 14, a central processing unit 15, and a display device 16.

ここで、補助記憶装置11は、中央演算装置15から読出/書込み可能な大容量記憶装置であり、例えばハードディスク装置であって、図2に示すように、ソースコードファイルscf、メタモデルmt10、モデル編集プログラム生成プログラムpro1、モデル編集プログラムpro2、シンボル定義・参照解析プログラムpro3、製品ロードマップrm1、現状アーキテクチャモデルmd1、現実アーキテクチャモデルmd3、フィーチャモデルmd4などが記憶される。なお、各実施形態中、添字proを含むプログラムの集合がソフトウェア資産再利用支援プログラムに該当する。係るソフトウェア資産再利用支援プログラムは、予めネットワーク又は記憶媒体から計算機10にインストールされ、対応する機能を計算機10に実現させる。また、ソフトウェア資産再利用支援プログラムのうち、モデル編集プログラム生成プログラムpro1を除くプログラムproをアーキテクチャモデル作成プログラムpro10とも呼ぶ。   Here, the auxiliary storage device 11 is a mass storage device that can be read / written from the central processing unit 15, for example, a hard disk device, and as shown in FIG. 2, a source code file scf, a meta model mt10, a model An edit program generation program pro1, a model edit program pro2, a symbol definition / reference analysis program pro3, a product road map rm1, a current architecture model md1, a real architecture model md3, a feature model md4, and the like are stored. In each embodiment, a set of programs including the subscript pro corresponds to the software asset reuse support program. The software asset reuse support program is installed in the computer 10 from a network or a storage medium in advance, and causes the computer 10 to realize a corresponding function. Of the software asset reuse support program, the program pro excluding the model editing program generation program pro1 is also referred to as an architecture model creation program pro10.

ここで、ソースコードファイルscfは、既存の製品に用いられた複数の既存のソースコードファイルであり、再利用可能となっている。なお、ソースコードファイルscfはアセット(ソフトウェア資産)の一部である。   Here, the source code file scf is a plurality of existing source code files used for existing products, and can be reused. The source code file scf is a part of an asset (software asset).

アセットとは、要件定義書、各種設計書、アーキテクチャモデル、フィーチャモデル、ソースコードなど開発に必要な全ての情報をいう。コンテキストによっては、この中で特に、(部品化された)ソースコードをアセットという場合もある。   An asset is all information necessary for development, such as a requirement definition document, various design documents, an architecture model, a feature model, and a source code. Depending on the context, the source code (partified) may be referred to as an asset.

メタモデルmt10とは、モデリングに使用され、モデルの要素や構成の枠組み、規則、制限を提供する情報であり、また、トレーサビリティを実現するための情報構造を規定している。トレーサビリティとは、要件・アーキテクチャ・設計・実装(ソースコード)などの関係を追跡可能な情報であり、これらのいずれかに変更が発生した場合に、他のどの要素に影響が及ぶかを判断でき、変更履歴を把握できるという利点がある。   The meta model mt10 is information used for modeling, and provides information on frameworks, rules, and limitations of model elements and configurations, and defines an information structure for realizing traceability. Traceability is information that can trace relationships such as requirements, architecture, design, and implementation (source code), and if any of these changes, it can be determined which other factors will be affected. There is an advantage that the change history can be grasped.

アーキテクチャとは、ソフトウェアシステム全体としての構造・振る舞いなどを規定する情報である。   The architecture is information that defines the structure and behavior of the entire software system.

アーキテクチャモデルmd1,md3とは、アーキテクチャメタモデルに準拠して作成されたアーキテクチャについてのモデルである。   The architecture models md1 and md3 are models for the architecture created in conformity with the architecture metamodel.

アーキテクチャメタモデルとは、アーキテクチャが満たすべきメタモデルであり、どのような観点でアーキテクチャモデルを記述すべきかが規定され、構造及び振る舞いといった要素により構成される。構造とは、抽象度の異なる階層的な関係を規定する情報である。振る舞いとは、構成要素間の動的な相互作用や状態の遷移を規定する情報である。   The architecture metamodel is a metamodel to be satisfied by the architecture. It is defined from what viewpoint the architecture model should be described, and is configured by elements such as structure and behavior. The structure is information that defines a hierarchical relationship with different levels of abstraction. The behavior is information that defines a dynamic interaction or state transition between components.

製品ロードマップrm1とは、ある特定の製品系列における製品別開発計画を示す情報であり、例えば、その製品系列の仕向け地(例、日本、アメリカ、EUなど)、グレード(例、エントリーモデル、標準モデル、上位モデルなど)、将来に向けての機能拡張内容、などを体系的にまとめた情報である。   The product roadmap rm1 is information indicating a development plan for each product in a specific product line. For example, the destination of the product line (eg, Japan, USA, EU, etc.), grade (eg, entry model, standard) Model, higher-level model, etc.), and information on function expansion for the future.

フィーチャモデルmd4とは、フィーチャメタモデルに準拠し、製品ロードマップrm1(場合により技術ロードマップも合わせて使用される)を元に、後述する図15に示すように、製品系列の特徴的な差異をグラフ等により表現した情報であり、製品についての共通部、差異部について必須、選択、オプションなどの関係が記述される。   The feature model md4 conforms to the feature meta model and is based on the product road map rm1 (sometimes used together with the technical road map), as shown in FIG. Is expressed in a graph or the like, and the relationships such as essential, selection, and options are described for the common part and the difference part of the product.

フィーチャメタモデルとは、フィーチャモデルmd4が満たすべきメタモデルであり、どのような観点でフィーチャモデルmd4を記述すべきかが規定される情報である。   The feature meta model is a meta model that the feature model md4 should satisfy, and is information that defines in what viewpoint the feature model md4 should be described.

モデル編集プログラム生成プログラムpro1は、メタモデルmt10を入力とし、メタモデルmt10で規定されている枠組み/規則/制限にそってモデルを作成・編集するための「モデル編集プログラムpro2」を生成する手段として計算機10を機能させるためのプログラムである。場合によっては、この生成を行う過程で、モデルが満たすべき規定が追加される。なお、本明細書中、モデルの「作成」を「編集」と読み替えてもよく、モデルの「編集」を「作成」と読み替えてもよい。   The model editing program generation program pro1 receives the meta model mt10 as an input, and as a means for generating a “model editing program pro2” for creating and editing a model according to the framework / rules / restrictions defined in the meta model mt10 This is a program for causing the computer 10 to function. In some cases, in the process of generating this, a rule to be satisfied by the model is added. In this specification, “creation” of a model may be read as “edit”, and “edit” of a model may be read as “creation”.

モデル編集プログラムpro2は、モデル編集プログラム生成プログラムpro1を実行した中央演算装置15により作成され、シンボル定義・参照解析プログラムpro3の実行により作成されたシンボル定義情報、シンボル参照情報及びソースコードファイルscfと、アーキテクチャモデルの構成要素名のうちの当該各ソースコードファイルscfのファイル名に対応する構成要素名と、操作者によるキーボード13又はマウス14の操作により入力された情報とに基づいて、現状アーキテクチャモデルmd1、フィーチャモデルmd4及び現実アーキテクチャモデルmd3を作成する手段として計算機を機能させるためのプログラムである。   The model editing program pro2 is created by the central processing unit 15 that has executed the model editing program generation program pro1, and is created by executing the symbol definition / reference analysis program pro3. Symbol definition information, symbol reference information, and a source code file scf, Based on the component name corresponding to the file name of each source code file scf among the component names of the architecture model and the information input by the operation of the keyboard 13 or the mouse 14 by the operator, the current architecture model md1 This is a program for causing a computer to function as a means for creating the feature model md4 and the real architecture model md3.

シンボル定義・参照解析プログラムpro3は、補助記憶装置11又は主記憶装置12内の各ソースコードファイルscfに関して、所定のシンボルの定義を含むか否か及び当該シンボルを参照するか否かを解析する手段、として計算機10を機能させるためのプログラムである。   The symbol definition / reference analysis program pro3 analyzes whether each source code file scf in the auxiliary storage device 11 or the main storage device 12 includes a definition of a predetermined symbol and whether to refer to the symbol. , As a program for causing the computer 10 to function.

具体的には、シンボル定義・参照解析プログラムpro3は、補助記憶装置11又は主記憶装置12内の各ソースコードファイルscfを検索し、予め定義されたシンボルを含むソースコードファイルのファイル名を有するシンボル定義情報を抽出する手段、当該記憶装置11又は12内の各ソースコードファイルscfを検索し、参照するシンボルを含むソースコードファイルのファイル名を有するシンボル参照情報を抽出する手段、として計算機10を機能させるためのプログラムである。   Specifically, the symbol definition / reference analysis program pro3 searches each source code file scf in the auxiliary storage device 11 or the main storage device 12, and has a symbol having a file name of a source code file including a predefined symbol. The computer 10 functions as means for extracting definition information, means for searching each source code file scf in the storage device 11 or 12, and extracting symbol reference information having a file name of a source code file including a symbol to be referenced. It is a program to make it.

但し、シンボル定義・参照解析プログラムpro3としては、補助記憶装置11又は主記憶装置12内の各ソースコードファイルscfを検索し、図3に示すように、予め定義されたシンボルを示す定義シンボル名及び行番号と、当該シンボルを含むソースコードファイルのファイル名とを有するシンボル定義情報を抽出する手段、当該記憶装置11又は12内の各ソースコードファイルscfを検索し、図4に示すように、参照するシンボルを示す参照シンボル名及び行番号と、当該シンボルを含むソースコードファイルのファイル名とを有するシンボル参照情報を抽出する手段、として計算機10を機能させるためのプログラムとしてもよい。シンボルとは、マクロ、変数、関数、クラス、メソッドなどである。   However, as the symbol definition / reference analysis program pro3, each source code file scf in the auxiliary storage device 11 or the main storage device 12 is searched, and as shown in FIG. A means for extracting symbol definition information having a line number and a file name of a source code file including the symbol, each source code file scf in the storage device 11 or 12 is searched, and as shown in FIG. A program for causing the computer 10 to function as means for extracting symbol reference information having a reference symbol name and line number indicating a symbol to be processed and a file name of a source code file including the symbol may be used. A symbol is a macro, variable, function, class, method, or the like.

補足すると、シンボル定義・参照解析プログラムpro3は、シンボルが定義されている箇所、参照している箇所を網羅的に抽出し、異なる粒度・抽象度で依存関係や複雑度の解析を行うためのものである。利点としては、解析時間が小さく、大局的にも局所的にも複雑性・依存関係を解析可能であり、最終的な管理対象であるファイルを解析対象とし、多重定義として可変部・共通部の候補を検出可能である。   Supplementally, the symbol definition / reference analysis program pro3 is used to exhaustively extract the locations where symbols are defined and the locations that are referenced, and analyze dependencies and complexity at different granularities and abstractions. It is. The advantage is that the analysis time is short, the complexity and dependency can be analyzed globally and locally, the file that is the final management target is the analysis target, and the variable part and common part are Candidates can be detected.

現状アーキテクチャモデルmd1とは、各種設計書等を参照しながら、実際のソースコードを解析(リバース)して現状でのソフトウェアシステムの構造・振る舞いをアーキテクチャモデルとして表現したものである。   The current architecture model md1 represents the structure and behavior of the current software system as an architecture model by analyzing (reverse) actual source code while referring to various design documents and the like.

現実アーキテクチャモデルmd3とは、現状アーキテクチャmd1を改善のために変更作業しながら、後述する目標アーキテクチャmd2に近づけることを検討するが、その過程で各種の評価を行って実行可能なアーキテクチャを作成し、モデルとして表現したものである。   The real architecture model md3 considers approaching the target architecture md2 which will be described later while changing the current architecture md1 for improvement, but creates an executable architecture by performing various evaluations in the process, It is expressed as a model.

各種の評価としては、(i)変更に必要とされるコストの予測値を算出し、予算内に収まるか否かを示す予算の評価、(ii)変更が技術的に実現可能か否かを示す実現性の評価、(iii)変更が納期・期限までに実行可能であるか否かを示す期限の評価、がある。   Various evaluations include (i) calculating a predicted value of the cost required for the change and evaluating the budget to indicate whether or not it falls within the budget, and (ii) whether the change is technically feasible. There is an evaluation of feasibility, and (iii) evaluation of a deadline indicating whether or not the change can be executed by the delivery date / deadline.

主記憶装置12は、中央演算装置15から読出/書込み可能な記憶装置であり、例えばRAMである。   The main storage device 12 is a storage device that can be read / written from the central processing unit 15, and is, for example, a RAM.

キーボード13及びマウス14は、通常の入力装置であり、例えば、操作者の操作により、データ又は命令からなる各種情報を中央演算装置15に入力する機能をもっている。   The keyboard 13 and the mouse 14 are normal input devices, and have a function of inputting various information including data or commands to the central processing unit 15 by an operation of an operator, for example.

中央演算装置15は、通常のCPUであり、例えば、補助記憶装置11の記憶内容を主記憶装置12に読み出して各プログラムを実行する機能と、キーボード13又はマウス14から入力される情報に基づいて各プログラムの実行を制御する機能と、実行結果等をディスプレイ装置16に出力する機能とをもっている。   The central processing unit 15 is a normal CPU. For example, the central processing unit 15 reads out the stored contents of the auxiliary storage device 11 to the main storage device 12 and executes each program, and information input from the keyboard 13 or the mouse 14. It has a function for controlling the execution of each program and a function for outputting execution results and the like to the display device 16.

ディスプレイ装置16は、通常の表示装置であり、例えば、編集中の各アーキテクチャモデルやフィーチャモデル等を表示して可視化し、他にも中央演算装置15から出力された情報を表示する機能をもっている。   The display device 16 is a normal display device. For example, the display device 16 displays and visualizes each architecture model and feature model being edited, and has a function of displaying information output from the central processing unit 15.

次に、以上のように構成されたソフトウェア資産再利用支援システムの動作を図5の模式図を用いて説明する。   Next, the operation of the software asset reuse support system configured as described above will be described with reference to the schematic diagram of FIG.

計算機10においては、操作者によるキーボード13又はマウス14の操作により、中央演算装置15がモデル編集プログラム生成プログラムpro1を起動する。   In the computer 10, the central processing unit 15 starts the model editing program generation program pro1 by the operation of the keyboard 13 or the mouse 14 by the operator.

中央演算装置15は、補助記憶装置11からモデル編集プログラム生成プログラムpro1の実行ファイルを読み出して主記憶装置12に書き込むと、操作者によるキーボード13又はマウス14の操作により、主記憶装置12上のモデル編集プログラム生成プログラムpro1を逐次実行する。   When the central processing unit 15 reads the execution file of the model editing program generation program pro1 from the auxiliary storage device 11 and writes it to the main storage device 12, the model on the main storage device 12 is operated by the operation of the keyboard 13 or the mouse 14 by the operator. The edit program generation program pro1 is executed sequentially.

中央演算装置15は、モデル編集プログラム生成プログラムpro1の実行中、操作者によるキーボード13又はマウス14の操作により、補助記憶装置11内のメタモデルmt10に基づいてモデル編集プログラムpro2を生成し(ST10)、このモデル編集プログラムpro2を補助記憶装置11に格納する。   The central processing unit 15 generates the model editing program pro2 based on the metamodel mt10 in the auxiliary storage device 11 by the operation of the keyboard 13 or the mouse 14 by the operator during the execution of the model editing program generation program pro1 (ST10). The model editing program pro2 is stored in the auxiliary storage device 11.

続いて、計算機10においては、操作者によるキーボード13又はマウス14の操作により、中央演算装置15がアーキテクチャ作成プログラムpro10を起動する。   Subsequently, in the computer 10, the central processing unit 15 starts the architecture creation program pro10 by the operation of the keyboard 13 or the mouse 14 by the operator.

中央演算装置15は、補助記憶装置11からアーキテクチャ作成プログラムpro10に含まれる各プログラムpro2,3の実行ファイルを読み出して主記憶装置12に書き込んだ後、操作者によるキーボード13又はマウス14の操作により、主記憶装置12上の実行ファイルを逐次実行する(ST20〜ST30)。   The central processing unit 15 reads the execution files of the programs pro2, 3 included in the architecture creation program pro10 from the auxiliary storage device 11, writes them in the main storage device 12, and then operates the keyboard 13 or mouse 14 by the operator. The execution file on the main storage device 12 is sequentially executed (ST20 to ST30).

具体的には、中央演算装置15は、操作者によるキーボード13又はマウス14の操作により、シンボル定義・参照解析プログラムpro3を実行し、開発者に指定された解析対象であるソースコードファイルscfを補助記憶装置11から読み出して主記憶装置12に書き込む。   Specifically, the central processing unit 15 executes the symbol definition / reference analysis program pro3 by the operation of the keyboard 13 or the mouse 14 by the operator, and assists the source code file scf which is the analysis target designated by the developer. Read from the storage device 11 and write to the main storage device 12.

続いて中央演算装置15は、シンボル定義・参照解析プログラムpro3に基づき、ソースコードファイルscfに含まれるシンボルであるマクロ名、変数名、クラス名、関数名、が定義されている部位と、その定義を参照している部位を抽出し、シンボル定義情報抽出結果及びシンボル参照情報抽出結果を作成して主記憶装置12に書き込む(ST20)。   Subsequently, the central processing unit 15 defines a macro name, a variable name, a class name, and a function name, which are symbols included in the source code file scf, based on the symbol definition / reference analysis program pro3, and its definition Are extracted, a symbol definition information extraction result and a symbol reference information extraction result are created and written to the main memory 12 (ST20).

次に、中央演算装置15は、操作者によるキーボード13又はマウス14の操作により、モデル編集プログラムpro2を実行する(ST30)。   Next, the central processing unit 15 executes the model editing program pro2 by the operation of the keyboard 13 or the mouse 14 by the operator (ST30).

始めに中央演算装置15は、モデル編集プログラムpro2の実行中、操作者によるキーボード13又はマウス14の操作により、主記憶装置12内のソースコードファイルscf、シンボル定義情報抽出結果及びシンボル参照情報抽出結果に基づく現状アーキテクチャモデル編集処理を実行し(ST31)、現状アーキテクチャモデルmd1を作成する。ここで、現状アーキテクチャモデル編集処理は、具体的には例えば、シンボル定義情報及びシンボル参照情報に示される各ソースコードファイルscf間の参照関係と、アーキテクチャモデルの構成要素名のうちの当該各ソースコードファイルscfのファイル名に対応する構成要素名と、操作者の操作により入力される情報とに基づいて、当該構成要素名毎に当該参照関係を表現した現状アーキテクチャモデルを作成する処理である。なお、「ソースコードファイル間の参照関係」の用語は、「ソースコードファイル間の階層関係及び振る舞い」を意味している。   First, the central processing unit 15 causes the source code file scf, the symbol definition information extraction result, and the symbol reference information extraction result in the main storage device 12 by the operation of the keyboard 13 or the mouse 14 by the operator during the execution of the model editing program pro2. The current architecture model editing process based on the above is executed (ST31), and the current architecture model md1 is created. Here, the current architecture model editing process specifically includes, for example, the reference relationship between each source code file scf indicated in the symbol definition information and the symbol reference information, and each source code among the component names of the architecture model. This is a process of creating a current architecture model expressing the reference relationship for each component name based on the component name corresponding to the file name of the file scf and information input by the operation of the operator. The term “reference relationship between source code files” means “hierarchical relationship and behavior between source code files”.

中央演算装置15は、操作者によるキーボード13又はマウス14の操作により、この現状アーキテクチャモデルmd1を補助記憶装置11に格納する。   The central processing unit 15 stores the current architecture model md1 in the auxiliary storage device 11 by the operation of the keyboard 13 or the mouse 14 by the operator.

また、中央演算装置15は、モデル編集プログラムpro2の実行中、操作者によるキーボード13又はマウス14の操作により、補助記憶装置11から主記憶装置12に読み出した製品ロードマップrm1をディスプレイ装置16に表示させる。   Further, the central processing unit 15 displays the product road map rm1 read from the auxiliary storage device 11 to the main storage device 12 by the operation of the keyboard 13 or the mouse 14 by the operator during the execution of the model editing program pro2. Let

中央演算装置15は、モデル編集プログラムの実行中、操作者によるキーボード13又はマウス14の操作により入力される情報に基づいて、表示中の製品ロードマップrm1に基づくフィーチャモデル編集処理を実行し(ST32)、フィーチャモデルmd4を作成する。フィーチャモデルmd4の作成は、表示中の製品ロードマップrm1に基づく場合に限らず、それぞれ紙面または電子ファイルである製品ロードマップrm1と技術ロードマップrm2のどちらか又は両方を参照しながら、実行することができる。   During execution of the model editing program, the central processing unit 15 executes a feature model editing process based on the displayed product road map rm1 based on information input by an operation of the keyboard 13 or the mouse 14 by the operator (ST32). ) Create a feature model md4. The creation of the feature model md4 is not limited to the case based on the displayed product roadmap rm1, but should be executed while referring to the product roadmap rm1 and / or the technology roadmap rm2, which are paper or electronic files, respectively. Can do.

中央演算装置15は、操作者によるキーボード13又はマウス14の操作により、このフィーチャモデルmd4を補助記憶装置11に格納する。   The central processing unit 15 stores the feature model md4 in the auxiliary storage device 11 by the operation of the keyboard 13 or the mouse 14 by the operator.

しかる後、中央演算装置15は、モデル編集プログラムpro2の実行中、操作者によるキーボード13又はマウス14の操作により、現状アーキテクチャモデルmd1及びフィーチャモデルmd4を補助記憶装置11から主記憶装置12に読み出した後、現状アーキテクチャモデルmd1及びフィーチャモデルmd4に基づく現実アーキテクチャモデル編集処理を実行し(ST33)、現実アーキテクチャモデルmd3を作成する。また、中央演算装置15は、操作者によるキーボード13又はマウス14の操作により、この現実アーキテクチャモデルmd3を補助記憶装置11に格納する。   Thereafter, the central processing unit 15 reads the current architecture model md1 and the feature model md4 from the auxiliary storage device 11 to the main storage device 12 by the operation of the keyboard 13 or the mouse 14 by the operator during the execution of the model editing program pro2. Thereafter, a real architecture model editing process based on the current architecture model md1 and the feature model md4 is executed (ST33) to create a real architecture model md3. The central processing unit 15 stores the actual architecture model md3 in the auxiliary storage device 11 by the operation of the keyboard 13 or the mouse 14 by the operator.

上述したように本実施形態によれば、既存のソフトウェア資産としての既存のソースコードファイルscfを再利用しつつ新たにソフトウェアを開発する場合に、操作者の操作により現実アーキテクチャモデルmd3を作成するので、ソフトウェアの品質(使用性、保守性、移植性など)や再利用性を改善することができる。   As described above, according to the present embodiment, when a new software is developed while reusing an existing source code file scf as an existing software asset, the actual architecture model md3 is created by the operation of the operator. Software quality (usability, maintainability, portability, etc.) and reusability can be improved.

また、ステップST33の現実アーキテクチャモデル編集処理において、操作者の操作により、可変性の実現方法を洗い出し、整理・統合できるので、可変性の実現方法の非統一を解消することができる。   In addition, in the real architecture model editing process in step ST33, variability realization methods can be identified, organized, and integrated by the operator's operation, so that non-unification of the variability realization methods can be eliminated.

同様に、ステップST33の現実アーキテクチャモデル編集処理において、操作者の操作により、ヘッダファイルと実装ファイルとの依存関係を洗い出し、整理・統合できるので、クラス−ソースコードファイル関係の複雑化を解消することができる。   Similarly, in the real architecture model editing process of step ST33, the dependency relationship between the header file and the mounting file can be identified and organized / integrated by the operation of the operator, so that the complexity of the class-source code file relationship is eliminated. Can do.

(第2の実施形態)
次に、本発明の第2の実施形態に係るソフトウェア資産再利用支援システムが適用された計算機について説明するが、前述した図面と同一又は類似した部分には同一符号を付してその詳しい説明を省略し、ここでは異なる部分について主に述べる。なお、以下の各実施形態も同様にして重複した説明を省略する。
(Second Embodiment)
Next, a computer to which the software asset reuse support system according to the second embodiment of the present invention is applied will be described. The same or similar parts as those in the above-mentioned drawings are denoted by the same reference numerals and detailed description thereof will be given. Omitted, here the differences are mainly described. In the following embodiments, the same description is omitted.

第2の実施形態は、第1の実施形態の変形例であり、補助記憶装置11が、図2に示した記憶内容に加え、図6に示すように、モデル検証プログラムpro4及び対応関係推定・推奨プログラムpro5を含むアーキテクチャモデル作成プログラムpro10と、制約条件記述ccdとを更に備えている。なお、計算機10の構成は、図1に示した構成と同一であり、これは以下の各実施形態でも同様である。また、本実施形態は、モデル検証プログラムpro4及び対応関係推定・推奨プログラムpro5を備えた場合について述べるが、これに限らず、モデル検証プログラムpro4及び対応関係推定・推奨プログラムpro5のうちのいずれか一方を省略した構成に変形してもよい。この変形は、後述する第4及び第6の実施形態でも同様に実施できる。   The second embodiment is a modification of the first embodiment. In addition to the stored contents shown in FIG. 2, the auxiliary storage device 11 has a model verification program pro4 and a correspondence estimation / An architecture model creation program pro10 including a recommended program pro5 and a constraint condition description ccd are further provided. The configuration of the computer 10 is the same as that shown in FIG. 1, and this is the same in the following embodiments. Further, although the present embodiment describes a case where the model verification program pro4 and the correspondence relationship estimation / recommendation program pro5 are provided, the present invention is not limited to this, and either one of the model verification program pro4 and the correspondence relationship estimation / recommendation program pro5 You may deform | transform into the structure which abbreviate | omitted. This modification can be similarly performed in the fourth and sixth embodiments described later.

モデル検証プログラムpro4は、各アーキテクチャモデルmd1,md3及びフィーチャモデルmd4の作成中、図7に示す如き制約条件記述ccdに基づいて、当該作成中のモデルが制約条件に違反していないことを検証し、制約条件に違反している場合には当該違反を示す情報を出力する手段、として計算機10を機能させるためのプログラムである。   While creating each architecture model md1, md3 and feature model md4, the model verification program pro4 verifies that the model being created does not violate the constraint conditions based on the constraint condition description ccd as shown in FIG. A program for causing the computer 10 to function as a means for outputting information indicating the violation when the constraint condition is violated.

補足すると、モデル検証プログラムpro4は、制約条件記述ccdにより以下の制約例が満たされていることを確認するためのものである。   Supplementally, the model verification program pro4 is for confirming that the following constraint example is satisfied by the constraint condition description ccd.

名称記述:アーキテクチャ構成要素には必ず名称が記述されていること。   Name description: The name must be described in the architecture component.

循環参照:ファイル間、または、アーキテクチャ構成要素間で、参照関係がお互いを参照する(循環している)ことになってはいけない。   Circular reference: Reference relationships between files or architecture components must not refer to each other (circulate).

アーキテクチャ規約:階層構造(ハードウェア、OS、ハードウェア抽象化層、コンポーネントミドルウェア、コンポーネントフレームワークなど)やアーキテクチャパターンまたはデザインパターンにより規定された構造を違反しないこと。違反とは、階層構造を飛び越したAPI呼び出しを行うことや、アーキテクチャパターンまたはデザインパターンにより規定された関係とは異なるAPI呼び出しを行うことを指す。   Architecture contract: Do not violate the structure defined by the hierarchical structure (hardware, OS, hardware abstraction layer, component middleware, component framework, etc.) or the architecture pattern or design pattern. Violation means making an API call that skips the hierarchical structure or making an API call that is different from the relationship defined by the architecture pattern or design pattern.

これらの制約条件記述ccdはモデル検証処理30bにより次の時点で適用される。   These constraint condition descriptions ccd are applied at the next time by the model verification process 30b.

アーキテクチャモデル編集手段103が補助記憶装置11からファイル間アーキテクチャ構成要素間依存関係構造111を読み出した時点。   When the architecture model editing unit 103 reads the inter-file architecture component dependency structure 111 from the auxiliary storage device 11.

開発者がキーボード3またはマウス7によりアーキテクチャモデル編集手段103を操作し、アーキテクチャモデルを変更した時点。   When the developer changes the architecture model by operating the architecture model editing means 103 with the keyboard 3 or the mouse 7.

なお、制約条件記述ccdとしては、OMG(The Object Management Group:オブジェクトマネージメントグループ、http://www.omg.org/)で標準化が行われているOCL(Object Constraint Language:オブジェクト制約言語、http://www.omg.org/technology/documents/formal/ocl.htm)などの技術を適用することが好ましい。   As the constraint condition description ccd, OCL (Object Constraint Language: Object Constraint Language, http: www: omg.org/), which is standardized by OMG (The Object Management Group: http://www.omg.org/) It is preferable to apply a technology such as //www.omg.org/technology/documents/formal/ocl.htm).

対応関係推定・推奨プログラムpro5は、現状アーキテクチャモデルmd1、又は、現実アーキテクチャモデルmd3、又はフィーチャモデルmd4、の作成中、操作者の操作により入力される情報に基づいて、参照先ファイル名と構成要素名との関係を変更又は新規に作成した場合、当該参照先ファイル名の参照シンボル数が一定値以上である、当該参照先ファイル名に対応する参照元ファイル名についても変更又は新規に関係付けられた構成要素名に当該関係を変更することを推奨する情報を出力する手段、として計算機10を機能させるためのプログラムである。   Correspondence estimation / recommendation program pro5 is a reference destination file name and component based on information input by the operation of the operator during creation of the current architecture model md1, real architecture model md3, or feature model md4 When the relationship with the name is changed or newly created, the reference source file name corresponding to the reference destination file name in which the number of reference symbols of the reference destination file name is equal to or greater than a certain value is also changed or newly related. This is a program for causing the computer 10 to function as a means for outputting information that recommends changing the relationship to the component name.

補足すると、対応関係推定・推奨プログラムpro5は、ソースコードファイルとソースコードファイル間、ソースコードファイルとアーキテクチャ構成要素間、アーキテクチャ構成要素とアーキテクチャ構成要素間などの関係性を変更又は新規に作成する操作を操作者が行い、対応関係が変更又は新規に作成された場合、他の対応関係を推定及び推奨する手段として計算機10を機能させるためのプログラムである。   Supplementally, the correspondence estimation / recommendation program pro5 is an operation to change or newly create a relationship between a source code file and a source code file, between a source code file and an architecture component, between an architecture component and an architecture component, etc. This is a program for causing the computer 10 to function as means for estimating and recommending other correspondence when the correspondence is changed or newly created.

次に、以上のように構成されたソフトウェア資産再利用支援システムの動作を図8の模式図を用いて説明する。   Next, the operation of the software asset reuse support system configured as described above will be described with reference to the schematic diagram of FIG.

始めに、計算機10は、前述同様に、ステップST10〜ST30を実行する。但し、アーキテクチャ作成プログラムpro10がモデル検証プログラムpro4及び対応関係推定・推奨プログラムpro5を含むので、ステップST30のモデル編集プログラムpro2の実行中、モデル検証プログラムpro4及び対応関係推定・推奨プログラムpro5も実行される。   First, the computer 10 executes steps ST10 to ST30 as described above. However, since the architecture creation program pro10 includes the model verification program pro4 and the correspondence estimation / recommendation program pro5, the model verification program pro4 and the correspondence estimation / recommendation program pro5 are also executed during the execution of the model editing program pro2 in step ST30. .

すなわち、ステップST30内のステップST31〜ST33においては、制約条件記述ccdに基づくモデル検証処理が実行される(ST30a)。また、ステップST30内のステップST33においては、対応関係推定・推奨処理が実行される(ST30b)。   That is, in steps ST31 to ST33 in step ST30, model verification processing based on the constraint condition description ccd is executed (ST30a). In step ST33 in step ST30, correspondence estimation / recommendation processing is executed (ST30b).

具体的にはステップST30aにおいては、中央演算装置15は、モデル検証プログラムpro4の実行により、ステップST31,ST32,ST33にて編集中のモデルに対し、補助記憶装置11から読み出した制約条件記述ccdに基づいて、当該モデルが制約条件に違反していないことを検証する。   Specifically, in step ST30a, the central processing unit 15 adds the constraint condition description ccd read from the auxiliary storage device 11 to the model being edited in steps ST31, ST32, and ST33 by executing the model verification program pro4. Based on this, it is verified that the model does not violate the constraints.

また、ステップST30bにおいては、中央演算装置15は、対応関係推定・推奨プログラムpro5の実行により、ステップST33にて編集中のモデルに対し、操作者によるキーボード13及びマウス14への操作をモニターし、ファイルとファイル間、ファイルとアーキテクチャ構成要素間、アーキテクチャ構成要素とアーキテクチャ構成要素間などの関係性を変更又は新規に作成した場合、例えば他のソースコードファイルについても対応関係を推定し、対応関係が強いと判定した場合には関係性の変更を推奨するメッセージ情報をディスプレイ装置16に出力する。   In step ST30b, the central processing unit 15 monitors the operation of the keyboard 13 and mouse 14 by the operator for the model being edited in step ST33 by executing the correspondence estimation / recommendation program pro5. When relationships such as between files, between files and architecture components, between architecture components and architecture components are changed or newly created, for example, correspondence relationships are estimated for other source code files. If it is determined that the message is strong, message information that recommends a change in the relationship is output to the display device 16.

例えば、中央演算装置15は、操作者によるキーボード13又はマウス14の操作により、あるソールコードファイルscf1をアーキテクチャ構成要素E1に関連付けた場合、ソースコードファイルscf1を参照している別のソースコードファイルscf2の参照数が予め開発者が設定していた閾値(値=xx)以上であるか否かを判定する。   For example, when the central processing unit 15 associates a certain source code file scf1 with the architecture component E1 by the operation of the keyboard 13 or the mouse 14 by the operator, another source code file scf2 referring to the source code file scf1 It is determined whether or not the number of references is equal to or greater than a threshold value (value = xx) set in advance by the developer.

判定の結果、閾値以上である場合には、中央演算装置15は、ソースコードファイルscf2もアーキテクチャ構成要素E1に関連が強いと判定し、ソースコードファイルscf2もアーキテクチャ構成要素E1に分類すべきではないかというメッセージ情報をディスプレイ装置16に出力して開発者に通知する。この通知は、ポップアップウィンドウ等、適宜な形態で実施して構わない。   As a result of the determination, if it is equal to or greater than the threshold value, the central processing unit 15 determines that the source code file scf2 is also strongly related to the architecture component E1, and the source code file scf2 should not be classified into the architecture component E1. Is output to the display device 16 to notify the developer. This notification may be implemented in an appropriate form such as a pop-up window.

上述したように本実施形態によれば、第1の実施形態の効果に加え、モデル検証プログラムpro4の実行により、制約条件記述ccdに違反せず、品質(使用性、保守性、移植性など)の高い現実アーキテクチャモデルを作成することができる。   As described above, according to the present embodiment, in addition to the effects of the first embodiment, the execution of the model verification program pro4 does not violate the constraint condition description ccd, and the quality (usability, maintainability, portability, etc.) Real architecture model with high level can be created.

(第3の実施形態)
次に、本発明の第3の実施形態について説明する。
第3の実施形態は、第1の実施形態の変形例であり、補助記憶装置11が、図2に示した記憶内容に加え、図9に示すように、技術ロードマップrm2と、要件定義rdと、汎用ドメインノウハウkh1と、特定ドメインノウハウkh2と、目標アーキテクチャモデルmd2とを更に備えている。なお、目標アーキテクチャモデルmd2は、モデル編集プログラムpro2により作成されるものである。モデル編集プログラムpro2は、前述した手段に加え、要件定義rd、汎用ドメインノウハウkh1及び特定ドメインノウハウkh2に基づき、目標アーキテクチャモデルmd2を作成する手段として計算機10を機能させるプログラムとなっている。
(Third embodiment)
Next, a third embodiment of the present invention will be described.
The third embodiment is a modification of the first embodiment. In addition to the stored contents shown in FIG. 2, the auxiliary storage device 11 has a technology road map rm2 and a requirement definition rd as shown in FIG. And general domain know-how kh1, specific domain know-how kh2, and target architecture model md2. The target architecture model md2 is created by the model editing program pro2. The model editing program pro2 is a program that causes the computer 10 to function as means for creating the target architecture model md2 based on the requirement definition rd, the general domain know-how kh1, and the specific domain know-how kh2 in addition to the means described above.

ここで、技術ロードマップrm2とは、ある特定の製品系列に関連する技術について、世の中での技術発展やイノベーションを予測し、体系的にまとめた情報である。技術ロードマップは、それら関連技術をいつどのように自社製品に取り込むかを検討するために使用される。フィーチャモデルmd4は、前述した製品ロードマップrm1に加え、この技術ロードマップrm2にも基づいて作成される。   Here, the technology roadmap rm2 is information that systematically summarizes the technology related to a specific product line by predicting technological development and innovation in the world. Technology roadmaps are used to consider when and how to incorporate these related technologies into their products. The feature model md4 is created based on the technology road map rm2 in addition to the product road map rm1 described above.

要件定義rdとは、ソフトウェアシステムが保持すべき、満たすべき機能、及び非機能(品質など)についての定義、規定である。   The requirement definition rd is a definition or provision for functions to be maintained, functions to be satisfied, and non-functions (quality, etc.) that the software system should maintain.

品質とは、品質特性(ISO 9126/JIS X 0129)などにより規定されるソフトウェアシステムの特徴である。   Quality is a characteristic of a software system defined by quality characteristics (ISO 9126 / JIS X 0129).

目標アーキテクチャモデルmd2とは、各種設計書等を参照しながら、本来あるべきアーキテクチャを検討し、モデルとして表現した情報である。   The target architecture model md2 is information expressed as a model by examining the architecture that should be originally used with reference to various design documents and the like.

目標アーキテクチャモデルmd2を作成する場合、操作者はモデル編集プログラムpro2を用いて、開発対象であるシステムとして、あるべき目標とするアーキテクチャの設計を行う。このとき開発者は、以下の(1)〜(4)のいずれか、または複数を組み合わせた方法により作業を行う。   When creating the target architecture model md2, the operator uses the model editing program pro2 to design the desired architecture for the system to be developed. At this time, the developer performs the work by any one of the following (1) to (4) or a combination of a plurality of methods.

(1)過去の開発経験に基づき、新規にアーキテクチャモデルの作成を行う。   (1) Create a new architecture model based on past development experience.

(2)世の中で適用実績のあるアーキテクチャの構造がパターン化され整理されたモデルを出発点としてアーキテクチャモデルの作成を行う。このパターン化されたモデル(のカタログ)は汎用ドメインノウハウと言われる場合があり、その利用方法には以下の方法などがある。(汎用ドメインノウハウは、例えばカーナビゲーション以外というように制約が緩いノウハウである。)
(2−1)紙面に印刷されたものを開発者が必要に応じて閲覧する
(2−2)アーキテクチャメタモデルmt11にそって予めモデル化・電子化され、補助記憶装置11に記録されたものを必要に応じて開発者がモデル編集プログラムpro2により参照し、モデル作成の参考、または土台として利用する。
(2) An architecture model is created starting from a model in which the structure of an architecture that has been applied in the world is patterned and arranged. This patterned model (or catalog) is sometimes referred to as general-purpose domain know-how, and its usage includes the following methods. (The general-purpose domain know-how is loose know-how, for example, other than car navigation.)
(2-1) The developer browses what is printed on paper as needed. (2-2) Modeled and digitized in advance along the architecture meta model mt11 and recorded in the auxiliary storage device 11. Is referred to by the model editing program pro2 as necessary, and used as a reference for creating a model or as a basis.

(3)自社または自部門において蓄積してきた過去に適用実績のあるアーキテクチャ構造がパターン化されたモデル(のカタログ)があり、特定ドメインノウハウと言われる場合があり、その利用方法には同様に以下の方法などがある。   (3) There is a model (a catalog) in which the architecture structure that has been applied in the past and has been accumulated in the company or in its own department is patterned, and it may be referred to as specific domain know-how. There are methods.

(3−1)紙面に印刷されたものを開発者が必要に応じて閲覧する。   (3-1) The developer browses what is printed on the paper as needed.

(3−2)アーキテクチャメタモデルmt11にそって予めモデル化・電子化され、補助記憶装置11に記録されたものを必要に応じて開発者がモデル編集プログラムpro2により参照し、モデル作成の参考、または土台として利用する。(特定ドメインノウハウは、例えばカーナビゲーション専用というように制約がきついノウハウである。)。   (3-2) The model editing program pro2 refers to what is modeled and digitized in advance according to the architecture meta model mt11 and recorded in the auxiliary storage device 11 as necessary, for reference in model creation, Or use it as a foundation. (Specific domain know-how is tight know-how, such as dedicated car navigation.)

(4)開発対象のシステムとして実現すべき機能的、非機能的な要件を定義したものであり、その利用方法には同様に以下の方法などがある。   (4) Functional and non-functional requirements to be realized as a system to be developed are defined, and their usage methods include the following methods as well.

(4−1)紙面に印刷されたものを開発者が必要に応じて閲覧する。   (4-1) The developer browses what is printed on the paper as needed.

(4−2)アーキテクチャメタモデルmt11にそって予めモデル化・電子化され、補助記憶装置11に記録されたものを必要に応じて開発者がアーキテクチャモデル編集プログラムpro21により参照する。   (4-2) The developer references the architecture metamodel mt11 preliminarily modeled and digitized and recorded in the auxiliary storage device 11 by the architecture model editing program pro21 as necessary.

いずれにしても、どのような要件を満たすのかを明確に表現するように、目標アーキテクチャモデルmd2を作成する。これにより要件に変更が発生した場合に、その変更の影響が目標アーキテクチャモデルmd2の何処におよぶのかを明確にすることができる。   In any case, the target architecture model md2 is created so as to clearly express what requirements are satisfied. As a result, when a change occurs in the requirement, it is possible to clarify where the influence of the change affects the target architecture model md2.

次に、以上のように構成されたソフトウェア資産再利用支援システムの動作を図10の模式図を用いて説明する。   Next, the operation of the software asset reuse support system configured as described above will be described with reference to the schematic diagram of FIG.

始めに、計算機10においては、前述同様に、モデル編集プログラム生成プログラムpro1を起動する。中央演算装置15は、モデル編集プログラム生成プログラムpro1の実行中、操作者によるキーボード13又はマウス14の操作により、補助記憶装置11内のアーキテクチャメタモデルmt11及びフィーチャメタモデルmt12に基づいてモデル編集プログラムpro2を生成し(ST10)、このモデル編集プログラムpro2を補助記憶装置11に格納する。なお、ここでは、前述したメタモデルmt10に代えて、アーキテクチャメタモデルmt11及びフィーチャメタモデルmt12に基づいて、モデル編集プログラムpro2を生成している。   First, in the computer 10, as described above, the model editing program generation program pro1 is activated. The central processing unit 15 performs the model editing program pro2 based on the architecture metamodel mt11 and the feature metamodel mt12 in the auxiliary storage device 11 by the operation of the keyboard 13 or the mouse 14 by the operator during the execution of the model editing program generation program pro1. (ST10), and the model editing program pro2 is stored in the auxiliary storage device 11. Here, the model editing program pro2 is generated based on the architecture meta model mt11 and the feature meta model mt12 instead of the meta model mt10 described above.

続いて、計算機10においては、操作者によるキーボード13又はマウス14の操作により、中央演算装置15がアーキテクチャ作成プログラムpro10を起動する。   Subsequently, in the computer 10, the central processing unit 15 starts the architecture creation program pro10 by the operation of the keyboard 13 or the mouse 14 by the operator.

中央演算装置15は、補助記憶装置11からアーキテクチャ作成プログラムpro10に含まれる各プログラムpro2,3の実行ファイルを読み出して主記憶装置12に書き込んだ後、操作者によるキーボード13又はマウス14の操作により、主記憶装置12上の実行ファイルを逐次実行する(ST20,ST40)。   The central processing unit 15 reads the execution files of the programs pro2, 3 included in the architecture creation program pro10 from the auxiliary storage device 11, writes them in the main storage device 12, and then operates the keyboard 13 or mouse 14 by the operator. The execution file on the main storage device 12 is sequentially executed (ST20, ST40).

具体的には、中央演算装置15は、前述した通り、ステップST20を実行し、シンボル定義情報抽出結果及びシンボル参照情報抽出結果を作成して主記憶装置12に書き込む(ST20)。   Specifically, as described above, central processing unit 15 executes step ST20, creates a symbol definition information extraction result and a symbol reference information extraction result, and writes them to main memory 12 (ST20).

次に、中央演算装置15は、操作者によるキーボード13又はマウス14の操作により、モデル編集プログラムpro2を実行する(ST40)。   Next, the central processing unit 15 executes the model editing program pro2 by the operation of the keyboard 13 or the mouse 14 by the operator (ST40).

始めに中央演算装置15は、モデル編集プログラムpro2の実行中、操作者によるキーボード13又はマウス14の操作により、主記憶装置12内のソースコードファイルscf、シンボル定義情報抽出結果及びシンボル参照情報抽出結果に基づく現状アーキテクチャモデル編集処理を実行し(ST41)、現状アーキテクチャモデルmd1を作成する。   First, the central processing unit 15 causes the source code file scf, the symbol definition information extraction result, and the symbol reference information extraction result in the main storage device 12 by the operation of the keyboard 13 or the mouse 14 by the operator during the execution of the model editing program pro2. The current architecture model editing process based on the above is executed (ST41), and the current architecture model md1 is created.

中央演算装置15は、操作者によるキーボード13又はマウス14の操作により、この現状アーキテクチャモデルmd1を補助記憶装置11に格納する。   The central processing unit 15 stores the current architecture model md1 in the auxiliary storage device 11 by the operation of the keyboard 13 or the mouse 14 by the operator.

続いて、中央演算装置15は、モデル編集プログラムpro2の実行中、操作者によるキーボード13又はマウス14の操作により、補助記憶装置11内の要件定義rd、汎用ドメインノウハウkh1及び特定ドメインノウハウkh2を主記憶装置12に読み出す。また、中央演算装置15は、操作者によるキーボード13又はマウス14の操作により、この要件定義rd、汎用ドメインノウハウkh1及び特定ドメインノウハウkh2に基づく目標アーキテクチャモデル編集処理を実行し(ST42)、目標アーキテクチャモデルmd2を作成する。   Subsequently, the central processing unit 15 mainly receives the requirement definition rd, the general domain know-how kh1 and the specific domain know-how kh2 in the auxiliary storage device 11 by operating the keyboard 13 or the mouse 14 by the operator during the execution of the model editing program pro2. Read to the storage device 12. Further, the central processing unit 15 executes a target architecture model editing process based on the requirement definition rd, the general domain know-how kh1 and the specific domain know-how kh2 by the operation of the keyboard 13 or the mouse 14 by the operator (ST42). Create model md2.

中央演算装置15は、操作者によるキーボード13又はマウス14の操作により、この目標アーキテクチャモデルmd2を補助記憶装置11に格納する。   The central processing unit 15 stores the target architecture model md2 in the auxiliary storage device 11 by the operation of the keyboard 13 or the mouse 14 by the operator.

また、中央演算装置15は、モデル編集プログラムpro2の実行中、操作者によるキーボード13又はマウス14の操作により、補助記憶装置11から主記憶装置12に読み出した製品ロードマップrm1及び技術ロードマップrm2をディスプレイ装置16に表示させる。   The central processing unit 15 also stores the product road map rm1 and the technology road map rm2 read from the auxiliary storage device 11 to the main storage device 12 by the operation of the keyboard 13 or the mouse 14 by the operator during the execution of the model editing program pro2. It is displayed on the display device 16.

中央演算装置15は、モデル編集プログラムの実行中、操作者によるキーボード13又はマウス14の操作に基づいて、表示中の製品ロードマップrm1及び技術ロードマップrm2に基づくフィーチャモデル編集処理を実行し(ST43)、フィーチャモデルmd4を作成する。   During execution of the model editing program, the central processing unit 15 executes feature model editing processing based on the displayed product road map rm1 and technology road map rm2 based on the operation of the keyboard 13 or mouse 14 by the operator (ST43). ) Create a feature model md4.

中央演算装置15は、操作者によるキーボード13又はマウス14の操作により、このフィーチャモデルmd4を補助記憶装置11に格納する。   The central processing unit 15 stores the feature model md4 in the auxiliary storage device 11 by the operation of the keyboard 13 or the mouse 14 by the operator.

しかる後、中央演算装置15は、モデル編集プログラムpro2の実行中、操作者によるキーボード13又はマウス14の操作により、現状アーキテクチャモデルmd1及びフィーチャモデルmd4を補助記憶装置11から主記憶装置12に読み出した後、現状アーキテクチャモデルmd1、目標アーキテクチャモデルmd2及びフィーチャモデルmd4に基づく現実アーキテクチャモデル編集処理を実行し(ST44)、現実アーキテクチャモデルmd3を作成する。また、中央演算装置15は、操作者によるキーボード13又はマウス14の操作により、この現実アーキテクチャモデルmd3を補助記憶装置11に格納する。   Thereafter, the central processing unit 15 reads the current architecture model md1 and the feature model md4 from the auxiliary storage device 11 to the main storage device 12 by the operation of the keyboard 13 or the mouse 14 by the operator during the execution of the model editing program pro2. Thereafter, a real architecture model editing process based on the current architecture model md1, the target architecture model md2, and the feature model md4 is executed (ST44) to create a real architecture model md3. The central processing unit 15 stores the actual architecture model md3 in the auxiliary storage device 11 by the operation of the keyboard 13 or the mouse 14 by the operator.

(具体例)
図11乃至図15は、ステップST44で用いられた現状アーキテクチャモデル、目標アーキテクチャモデル、現状アーキテクチャとソースコードファイル間の関係(修正前)、現状アーキテクチャとソースコードファイル間の関係(修正後)、及びフィーチャモデルの一例を示す模式図である。この例では以下の違反(1)〜(3)が検出された。
(Concrete example)
11 to 15 show the current architecture model, the target architecture model used in step ST44, the relationship between the current architecture and the source code file (before correction), the relationship between the current architecture and the source code file (after correction), and It is a schematic diagram which shows an example of a feature model. In this example, the following violations (1) to (3) were detected.

違反(1)は、アーキテクチャ規約違反であり、ハードウェア抽象化層を使わずにデバイスドライバに直結している。このアーキテクチャ規約違反は、性能問題発生時に、少しでも性能を稼ぐためにハードウェア抽象化層を使わず直接ハードウェア依存API(デバイスドライバ)を使用したものであり、品質(使用性、保守性、移植性など)低下を招いている。   The violation (1) is an architecture rule violation, and is directly connected to the device driver without using the hardware abstraction layer. This violation of the architecture rule is a result of using a hardware-dependent API (device driver) directly without using a hardware abstraction layer in order to gain even a little performance when a performance problem occurs, and quality (usability, maintainability, Portability).

違反(2)は、MVCモデル規約違反であり、ビュー(View:表示処理)とモデル(Model:モデル化された処理)は必ずコントローラ(Controller:制御処理)を経由して連携するところを直接ViewがModelのAPIを呼び出しているものであり、品質(使用性、保守性、移植性など)低下を招いている。   Violation (2) is a violation of the MVC model convention, and the view (View: display processing) and the model (Model: modeled processing) must be linked directly via the controller (Controller: control processing). Is calling the API of Model, and quality (usability, maintainability, portability, etc.) is reduced.

違反(3)は、メディエータ(Mediator:調停者)デザインパターン違反であり、カリーグ(Colleague:同僚)がメディエータとのみ連携するところを、相互にAPI呼び出しを行っているものであり、品質(使用性、保守性、移植性など)低下を招いている。   Violation (3) is a mediator (mediator) design pattern violation, where the College (colleague) collaborates only with the mediator, making API calls to each other, and the quality (usability , Maintainability, portability, etc.).

しかしながら、これらの違反(1)〜(3)は、操作者の操作により、ステップST44において修正されている。   However, these violations (1) to (3) are corrected in step ST44 by the operation of the operator.

上述したように本実施形態によれば、第1の実施形態の効果に加え、目標アーキテクチャモデルmd2を明確に定義し、目標アーキテクチャモデルmd2を逸脱したコードをアーキテクチャ規約違反として検出し、整理・統合等により修正するので、アーキテクチャ規約違反を無くすことができる。また、予め要件定義に基づいて目標アーキテクチャを作成するので、実現性を前倒し検証することができる。   As described above, according to the present embodiment, in addition to the effects of the first embodiment, the target architecture model md2 is clearly defined, and code that deviates from the target architecture model md2 is detected as an architecture contract violation, and is organized and integrated. Since it is corrected by, etc., it is possible to eliminate the violation of the architecture contract. Moreover, since the target architecture is created in advance based on the requirement definition, the feasibility can be verified in advance.

補足すると、本実施形態では、目標としてフィーチャモデル、目標アーキテクチャモデルを構築し、現状として既存ソースコードの複雑度を解析して依存関係を可視化した現状アーキテクチャモデルを構築し、目標と現状の突合せ・検証したので、ソースコードファイルの品質(使用性、保守性、移植性など)を高め、アセット化を支援することができる。なお、
(第4の実施形態)
次に、本発明の第4の実施形態について説明する。
Supplementally, in this embodiment, a feature model and a target architecture model are constructed as goals, and a current architecture model is created that analyzes the complexity of the existing source code and visualizes dependencies as the current status. Since verified, the source code file quality (usability, maintainability, portability, etc.) can be improved and assetization can be supported. In addition,
(Fourth embodiment)
Next, a fourth embodiment of the present invention will be described.

第4の実施形態は、第3の実施形態に第2の実施形態を組み合わせた例であり、補助記憶装置11が、図9に示した記憶内容に加え、図16に示すように、モデル検証プログラムpro4及び対応関係推定・推奨プログラムpro5を含むアーキテクチャモデル作成プログラムpro10と、制約条件記述ccdとを更に備えている。   The fourth embodiment is an example in which the second embodiment is combined with the third embodiment, and the auxiliary storage device 11 performs model verification as shown in FIG. 16 in addition to the stored contents shown in FIG. It further includes an architecture model creation program pro10 including a program pro4 and a correspondence estimation / recommendation program pro5, and a constraint condition description ccd.

次に、以上のように構成されたソフトウェア資産再利用支援システムの動作を図17の模式図を用いて説明する。   Next, the operation of the software asset reuse support system configured as described above will be described with reference to the schematic diagram of FIG.

始めに、計算機10は、前述した第3の実施形態と同様に、ステップST10,ST20,ST40を実行する。但し、アーキテクチャ作成プログラムpro10がモデル検証プログラムpro4及び対応関係推定・推奨プログラムpro5を含むので、ステップST40のモデル編集プログラムpro2の実行中、モデル検証プログラムpro4及び対応関係推定・推奨プログラムpro5も実行される。   First, the computer 10 executes Steps ST10, ST20, and ST40, as in the third embodiment described above. However, since the architecture creation program pro10 includes the model verification program pro4 and the correspondence estimation / recommendation program pro5, the model verification program pro4 and the correspondence estimation / recommendation program pro5 are also executed during the execution of the model editing program pro2 in step ST40. .

すなわち、ステップST40内のステップST41,ST42,ST43,ST44においては、制約条件記述ccdに基づくモデル検証処理が実行される(ST41a,ST42a,ST43a,ST44a)。また、ステップST40内のステップST41,ST44においては、対応関係推定・推奨処理が実行される(ST41b,ST44b)。   That is, in steps ST41, ST42, ST43, and ST44 in step ST40, model verification processing based on the constraint condition description ccd is executed (ST41a, ST42a, ST43a, ST44a). In steps ST41 and ST44 in step ST40, correspondence estimation / recommendation processing is executed (ST41b and ST44b).

具体的にはステップST41a〜ST44aにおいては、中央演算装置15は、モデル検証プログラムpro4の実行により、ステップST41〜ST44にて編集中のモデルに対し、補助記憶装置11から読み出した制約条件記述ccdに基づいて、当該モデルが制約条件に違反していないことを検証する。   Specifically, in steps ST41a to ST44a, the central processing unit 15 adds the constraint condition description ccd read from the auxiliary storage device 11 to the model being edited in steps ST41 to ST44 by executing the model verification program pro4. Based on this, it is verified that the model does not violate the constraints.

また、ステップST41b,ST44bにおいては、中央演算装置15は、対応関係推定・推奨プログラムpro5の実行により、ステップST41,ST44にて編集中のモデルに対し、操作者によるキーボード13及びマウス14への操作をモニターし、前述同様に、関係性を変更した場合であって、他のものについても対応関係が強いと判定した場合には関係性の変更を推奨するメッセージ情報をディスプレイ装置16に出力する。   In steps ST41b and ST44b, the central processing unit 15 operates the keyboard 13 and mouse 14 by the operator for the model being edited in steps ST41 and ST44 by executing the correspondence estimation / recommendation program pro5. As described above, when it is determined that the relationship is changed and it is determined that the corresponding relationship is strong, message information recommending the change of the relationship is output to the display device 16.

上述したように本実施形態によれば、第3及び第2の実施形態の効果を同時に得ることができる。   As described above, according to this embodiment, the effects of the third and second embodiments can be obtained simultaneously.

(第5の実施形態)
次に、本発明の第5の実施形態について説明する。
第5の実施形態は、第3の実施形態の変形例であり、補助記憶装置11が、図9に示した記憶内容に加え、図18に示すように、アーキテクチャ構造ルールasr、ファイル間依存関係解析プログラムpro6、アーキテクチャ構造ルール適用プログラムpro7、アーキテクチャモデル編集プログラムpro21、フィーチャモデル編集プログラムpro22、を更に備えている。
(Fifth embodiment)
Next, a fifth embodiment of the present invention will be described.
The fifth embodiment is a modification of the third embodiment. In addition to the stored contents shown in FIG. 9, the auxiliary storage device 11 has an architecture structure rule asr and inter-file dependency as shown in FIG. An analysis program pro6, an architecture structure rule application program pro7, an architecture model editing program pro21, and a feature model editing program pro22 are further provided.

ここで、ファイル間依存関係解析プログラムpro6は、シンボル定義・参照解析プログラムpro3の実行により得られたシンボル定義情報及びシンボル参照情報に基づいて、図19に示すように、シンボル定義情報内のファイル名である参照元ファイル名と、シンボル参照情報内のファイル名である参照先ファイル名とを含むファイル間依存関係解析情報を作成する手段、として計算機10を機能させるためのプログラムである。   Here, the inter-file dependency analysis program pro6 is based on the symbol definition information and symbol reference information obtained by executing the symbol definition / reference analysis program pro3, as shown in FIG. Is a program for causing the computer 10 to function as means for creating inter-file dependency analysis information including the reference source file name and the reference destination file name that is the file name in the symbol reference information.

但し、ファイル間依存関係解析プログラムpro6は、シンボル定義・参照解析プログラムpro3の実行により得られたシンボル定義情報及びシンボル参照情報に基づいて、図19に示すように、シンボル定義情報内のファイル名である参照元ファイル名と、シンボル参照情報内のファイル名である参照先ファイル名と、シンボル参照情報内の同一参照シンボル名における行番号の個数に相当する参照シンボル数とを有するファイル間依存関係解析情報を作成する手段、として計算機10を機能させるためのプログラムとしてもよい。   However, the inter-file dependency analysis program pro6 uses the file name in the symbol definition information as shown in FIG. 19 based on the symbol definition information and the symbol reference information obtained by executing the symbol definition / reference analysis program pro3. Dependency analysis between files having a reference source file name, a reference destination file name that is a file name in symbol reference information, and the number of reference symbols corresponding to the number of line numbers in the same reference symbol name in symbol reference information It is good also as a program for functioning the computer 10 as a means to produce information.

アーキテクチャ構造ルール適用プログラムpro7は、図20に示す如き、複数のソースコードファイル名に関連付けるファイル名パターン情報をアーキテクチャモデルの構成要素名に関連付けるアーキテクチャ構造ルールasrに基づいて、参照元ファイル名、参照先ファイル名、及びアーキテクチャモデルの構成要素名を含むファイル間アーキテクチャ構成要素間依存関係構造情報を作成する手段、として計算機10を機能させるためのプログラムである。   The architecture structure rule application program pro7, as shown in FIG. 20, is based on the architecture structure rule asr that associates the file name pattern information associated with a plurality of source code file names with the component name of the architecture model. This is a program for causing the computer 10 to function as means for creating inter-architecture component inter-component dependency structure information including a file name and an architectural model component name.

なお、アーキテクチャ構造ルール適用プログラムpro7は、前述したアーキテクチャ構造ルールasrに基づいて、ファイル間依存関係解析情報内の参照元ファイル名及び参照先ファイル名をそれぞれアーキテクチャモデルの構成要素名に関連付けし、当該関連付け(マッピング)した構成要素間にファイル間依存関係解析情報内の参照シンボル数を関連付けることにより、互いに関連付けられた参照元ファイル名、参照先ファイル名、アーキテクチャモデルの構成要素名及び参照シンボル数を含むファイル間アーキテクチャ構成要素間依存関係構造情報を作成する手段、として計算機10を機能させるためのプログラムとしてもよい。   Note that the architecture structure rule application program pro7 associates the reference source file name and the reference destination file name in the inter-file dependency analysis information with the component name of the architecture model based on the architecture structure rule asr described above. By associating the number of reference symbols in the inter-file dependency analysis information between the associated (mapped) components, the reference source file name, reference destination file name, architecture model component name, and reference symbol count associated with each other can be obtained. It is good also as a program for functioning the computer 10 as a means to produce the dependency structure structure information between the inter-file architecture components included.

補足すると、アーキテクチャ構造ルールasrは、アーキテクチャ構成要素名と、複数のソースコードファイル名のパターンとの関係を定義した情報であり、ソースコードファイルをアーキテクチャ構成要素にマッピングするときのマッピング適用ルールとして用いられる。各ソースコードファイル名のパターンは、正規表現などの文字列パターン表記により記述されている。   Supplementally, the architecture structure rule asr is information that defines the relationship between the architecture component name and multiple source code file name patterns, and is used as a mapping application rule when mapping source code files to architecture components. It is done. Each source code file name pattern is described by a character string pattern notation such as a regular expression.

アーキテクチャモデル編集プログラムpro21は、前述したモデル編集プログラムpro2のうち、アーキテクチャモデルmd1〜md3を編集するためのプログラムに対応する。   The architecture model editing program pro21 corresponds to a program for editing the architecture models md1 to md3 among the model editing program pro2 described above.

具体的にはアーキテクチャモデル編集プログラムpro21は、ファイル間依存関係解析情報に示される各ソースコードファイル間の参照関係と、ファイル間アーキテクチャ構成要素間依存関係構造情報内の参照元ファイル名及び参照先ファイル名に対応する構成要素名と、操作者の操作により入力される情報とに基づいて、当該構成要素名毎に当該参照関係を表現した現状アーキテクチャモデルmd1を作成する手段、作成目標とするソフトウェアが満たすべき機能要件を定義した要件定義と、操作者の操作により入力される情報とに基づいて、目標アーキテクチャモデルmd2を作成する手段、目標アーキテクチャモデルmd2、フィーチャモデルmd4、及び操作者の操作により入力される情報に基づいて、現状アーキテクチャモデルmd1を改善のために変更作業しながら編集することにより、作成目標とするソフトウェアに対応する現実アーキテクチャモデルmd3を作成する手段、として計算機10を機能させるためのプログラムである。   Specifically, the architecture model editing program pro21 uses the reference relationship between the source code files indicated in the inter-file dependency analysis information, the reference source file name and the reference destination file in the inter-file architecture component dependency structure information. Based on the component name corresponding to the name and the information input by the operation of the operator, means for creating the current architecture model md1 expressing the reference relationship for each component name, and the creation target software A means for creating the target architecture model md2, based on the requirement definition that defines the functional requirements to be satisfied, and information input by the operation of the operator, input by the operation of the target architecture model md2, the feature model md4, and the operator The current architecture model md1 is modified to improve By editing with a program for functioning the computer 10 the actual architectural model md3 corresponding to the software to create target means for generating, as a.

フィーチャモデル編集プログラムpro22は、前述したモデル編集プログラムpro2のうち、フィーチャモデルmd4を編集するためのプログラムに対応する。   The feature model editing program pro22 corresponds to a program for editing the feature model md4 among the model editing programs pro2 described above.

具体的にはフィーチャモデル編集プログラムpro22は、作成目標とするソフトウェアが搭載される製品系列における製品別開発計画(例、仕向け地、グレード及び機能拡張内容)を示す製品ロードマップと、操作者の操作により入力される情報とに基づいて、フィーチャモデルmd4を作成する手段、として計算機10を機能させるためのプログラムである。   Specifically, the feature model editing program pro22 includes a product road map indicating a product-specific development plan (eg, destination, grade, and function expansion content) in the product series in which the software to be created is installed, and the operation of the operator Is a program for causing the computer 10 to function as a means for creating the feature model md4 based on the information input by.

次に、以上のように構成されたソフトウェア資産再利用支援システムの動作を図21の模式図を用いて説明する。   Next, the operation of the software asset reuse support system configured as described above will be described with reference to the schematic diagram of FIG.

始めに、計算機10においては、前述同様に、モデル編集プログラム生成プログラムpro1を起動する。   First, in the computer 10, as described above, the model editing program generation program pro1 is activated.

中央演算装置15は、モデル編集プログラム生成プログラムpro1の実行中、操作者によるキーボード13又はマウス14の操作により、補助記憶装置11内のアーキテクチャメタモデルmt11に基づいてアーキテクチャモデル編集プログラムpro21を生成し(ST11)、このアーキテクチャモデル編集プログラムpro21を補助記憶装置11に格納する。   The central processing unit 15 generates the architecture model editing program pro21 based on the architecture metamodel mt11 in the auxiliary storage device 11 by the operation of the keyboard 13 or the mouse 14 by the operator during the execution of the model editing program generation program pro1 ( ST11), the architecture model editing program pro21 is stored in the auxiliary storage device 11.

同様に、中央演算装置15は、モデル編集プログラム生成プログラムpro1の実行中、操作者によるキーボード13又はマウス14の操作により、補助記憶装置11内のフィーチャメタモデルmt12に基づいてフィーチャモデル編集プログラムpro22を生成し(ST12)、このフィーチャモデル編集プログラムpro2を補助記憶装置11に格納する。   Similarly, the central processing unit 15 executes the feature model editing program pro22 based on the feature metamodel mt12 in the auxiliary storage device 11 by the operation of the keyboard 13 or the mouse 14 by the operator during the execution of the model editing program generation program pro1. The feature model editing program pro2 is generated and stored in the auxiliary storage device 11 (ST12).

続いて、計算機10においては、操作者によるキーボード13又はマウス14の操作により、中央演算装置15がアーキテクチャ作成プログラムpro10を起動する。   Subsequently, in the computer 10, the central processing unit 15 starts the architecture creation program pro10 by the operation of the keyboard 13 or the mouse 14 by the operator.

中央演算装置15は、補助記憶装置11からアーキテクチャ作成プログラムpro10に含まれる各プログラムpro2,pro3,pro6,pro7の実行ファイルを読み出して主記憶装置12に書き込んだ後、操作者によるキーボード13又はマウス14の操作により、主記憶装置12上の実行ファイルを逐次実行する(ST20,ST40’)。   The central processing unit 15 reads out the execution files of the programs pro2, pro3, pro6, and pro7 included in the architecture creation program pro10 from the auxiliary storage device 11 and writes them into the main storage device 12, and then the keyboard 13 or mouse 14 by the operator. As a result, the execution file on the main storage device 12 is sequentially executed (ST20, ST40 ′).

具体的には、中央演算装置15は、前述した通り、ステップST20を実行し、シンボル定義情報抽出結果及びシンボル参照情報抽出結果を作成して主記憶装置12に書き込む(ST20)。   Specifically, as described above, central processing unit 15 executes step ST20, creates a symbol definition information extraction result and a symbol reference information extraction result, and writes them to main memory 12 (ST20).

次に、中央演算装置15は、ファイル間依存関係解析プログラムpro6の実行により、主記憶装置12内のシンボル定義情報抽出結果及びシンボル参照情報抽出結果に基づくファイル間依存関係解析処理を実行し(ST21)、得られたファイル間依存関係解析結果を主記憶装置12に書き込む。   Next, the central processing unit 15 executes inter-file dependency analysis processing based on the symbol definition information extraction result and the symbol reference information extraction result in the main storage device 12 by executing the inter-file dependency analysis program pro6 (ST21). ), And the obtained inter-file dependency analysis result is written in the main storage device 12.

また、中央演算装置15は、アーキテクチャ構造ルール適用プログラムpro7の実行により、補助記憶装置11から読み出したアーキテクチャ構造ルールasrを主記憶装置12に書き込む。続いて、中央演算装置15は、アーキテクチャ構造ルール適用プログラムpro7の実行により、主記憶装置12内のファイル間依存関係解析結果に対し、主記憶装置12内のアーキテクチャ構造ルールasrを適用してファイル間アーキテクチャ構成要素間依存関係構造情報を作成するアーキテクチャ構造ルール適用処理を実行し(ST22)、得られたファイル間アーキテクチャ構成要素間依存関係構造情報を補助記憶装置11に格納する。   The central processing unit 15 writes the architecture structure rule asr read from the auxiliary storage device 11 to the main storage device 12 by executing the architecture structure rule application program pro7. Subsequently, the central processing unit 15 applies the architecture structure rule asr in the main storage device 12 to the inter-file dependency analysis result in the main storage device 12 by executing the architecture structure rule application program pro7. The architecture structure rule application process for creating the dependency structure information between the architecture components is executed (ST22), and the inter-file architecture component dependency structure information obtained is stored in the auxiliary storage device 11.

中央演算装置15は、操作者によるキーボード13又はマウス14の操作により、アーキテクチャモデル編集プログラムpro21及びフィーチャモデル編集プログラムpro22を実行する(ST40’〜ST44’)。   The central processing unit 15 executes the architecture model editing program pro21 and the feature model editing program pro22 by the operation of the keyboard 13 or the mouse 14 by the operator (ST40 'to ST44').

始めに中央演算装置15は、アーキテクチャモデル編集プログラムpro21の実行中、操作者によるキーボード13又はマウス14の操作により、補助記憶装置11から読み出したファイル間アーキテクチャ構成要素間依存関係構造情報を主記憶装置12に書き込む。また、中央演算装置15は、アーキテクチャモデル編集プログラムpro21の実行中、操作者によるキーボード13又はマウス14の操作により、主記憶装置12内のファイル間アーキテクチャ構成要素間依存関係構造情報に基づく現状アーキテクチャモデル編集処理を実行し(ST41’)、現状アーキテクチャモデルmd21を作成する。   First, during execution of the architecture model editing program pro21, the central processing unit 15 stores the inter-file architecture component inter-component dependency structure information read from the auxiliary storage device 11 by the operation of the keyboard 13 or the mouse 14 by the operator. 12 is written. The central processing unit 15 also executes the current architecture model based on the inter-file architecture component dependency relationship structure information in the main storage device 12 by the operation of the keyboard 13 or the mouse 14 by the operator during the execution of the architecture model editing program pro21. The editing process is executed (ST41 ′), and the current architecture model md21 is created.

中央演算装置15は、操作者によるキーボード13又はマウス14の操作により、この現状アーキテクチャモデルmd1を補助記憶装置11に格納する。   The central processing unit 15 stores the current architecture model md1 in the auxiliary storage device 11 by the operation of the keyboard 13 or the mouse 14 by the operator.

続いて、中央演算装置15は、アーキテクチャモデル編集プログラムpro21の実行中、操作者によるキーボード13又はマウス14の操作により、補助記憶装置11内の要件定義rd、汎用ドメインノウハウkh1及び特定ドメインノウハウkh2を主記憶装置12に読み出す。また、中央演算装置15は、操作者によるキーボード13又はマウス14の操作により、この要件定義rd、汎用ドメインノウハウkh1及び特定ドメインノウハウkh2に基づく目標アーキテクチャモデル編集処理を実行し(ST42’)、目標アーキテクチャモデルmd2を作成する。   Subsequently, the central processing unit 15 obtains the requirement definition rd, the general domain know-how kh1 and the specific domain know-how kh2 in the auxiliary storage device 11 by operating the keyboard 13 or the mouse 14 by the operator during the execution of the architecture model editing program pro21. Read to the main storage device 12. Further, the central processing unit 15 executes target architecture model editing processing based on the requirement definition rd, general domain know-how kh1 and specific domain know-how kh2 by the operation of the keyboard 13 or the mouse 14 by the operator (ST42 '). Create architecture model md2.

中央演算装置15は、操作者によるキーボード13又はマウス14の操作により、この目標アーキテクチャモデルmd2を補助記憶装置11に格納する。   The central processing unit 15 stores the target architecture model md2 in the auxiliary storage device 11 by the operation of the keyboard 13 or the mouse 14 by the operator.

また、中央演算装置15は、フィーチャモデル編集プログラムpro22の実行中、操作者によるキーボード13又はマウス14の操作により、補助記憶装置11から主記憶装置12に読み出した製品ロードマップrm1及び技術ロードマップrm2をディスプレイ装置16に表示させる。   The central processing unit 15 also reads the product road map rm1 and the technical road map rm2 read from the auxiliary storage device 11 to the main storage device 12 by the operation of the keyboard 13 or the mouse 14 by the operator during the execution of the feature model editing program pro22. Is displayed on the display device 16.

中央演算装置15は、フィーチャモデル編集プログラムpro2の実行中、操作者によるキーボード13又はマウス14の操作に基づいて、表示中の製品ロードマップrm1及び技術ロードマップrm2に基づくフィーチャモデル編集処理を実行し(ST43’)、フィーチャモデルmd4を作成する。   During execution of the feature model editing program pro2, the central processing unit 15 executes feature model editing processing based on the displayed product road map rm1 and technology road map rm2 based on the operation of the keyboard 13 or the mouse 14 by the operator. (ST43 '), a feature model md4 is created.

中央演算装置15は、操作者によるキーボード13又はマウス14の操作により、このフィーチャモデルmd4を補助記憶装置11に格納する。   The central processing unit 15 stores the feature model md4 in the auxiliary storage device 11 by the operation of the keyboard 13 or the mouse 14 by the operator.

しかる後、中央演算装置15は、アーキテクチャモデル編集プログラムpro21の実行中、操作者によるキーボード13又はマウス14の操作により、現状アーキテクチャモデルmd1及びフィーチャモデルmd4を補助記憶装置11から主記憶装置12に読み出した後、現状アーキテクチャモデルmd1、目標アーキテクチャモデルmd2及びフィーチャモデルmd4に基づく現実アーキテクチャモデル編集処理を実行し(ST44’)、現実アーキテクチャモデルmd3を作成する。また、中央演算装置15は、操作者によるキーボード13又はマウス14の操作により、この現実アーキテクチャモデルmd3を補助記憶装置11に格納する。   Thereafter, the central processing unit 15 reads the current architecture model md1 and feature model md4 from the auxiliary storage device 11 to the main storage device 12 by the operation of the keyboard 13 or the mouse 14 by the operator during execution of the architecture model editing program pro21. After that, a real architecture model editing process based on the current architecture model md1, the target architecture model md2 and the feature model md4 is executed (ST44 ′) to create a real architecture model md3. The central processing unit 15 stores the actual architecture model md3 in the auxiliary storage device 11 by the operation of the keyboard 13 or the mouse 14 by the operator.

上述したように本実施形態によれば、第3の実施形態の効果に加え、アーキテクチャ構造ルールasr、アーキテクチャモデル編集プログラムpro21、フィーチャモデル編集プログラムpro22、ファイル間依存関係解析プログラムpro6、アーキテクチャ構造ルール適用プログラムpro7を用いる構成により、操作者の操作の負荷を低減することができる。   As described above, according to the present embodiment, in addition to the effects of the third embodiment, the architecture structure rule asr, the architecture model editing program pro21, the feature model editing program pro22, the inter-file dependency analysis program pro6, and the architecture structure rule application With the configuration using the program pro7, the operation load of the operator can be reduced.

(第6の実施形態)
次に、本発明の第6の実施形態について説明する。
(Sixth embodiment)
Next, a sixth embodiment of the present invention will be described.

第6の実施形態は、第5の実施形態に第2の実施形態を組み合わせた例であり、補助記憶装置11が、図18に示した記憶内容に加え、図22に示すように、モデル検証プログラムpro4及び対応関係推定・推奨プログラムpro5を含むアーキテクチャモデル作成プログラムpro10と、制約条件記述ccdとを更に備えている。   The sixth embodiment is an example in which the second embodiment is combined with the fifth embodiment, and the auxiliary storage device 11 performs model verification as shown in FIG. 22 in addition to the stored contents shown in FIG. It further includes an architecture model creation program pro10 including a program pro4 and a correspondence estimation / recommendation program pro5, and a constraint condition description ccd.

次に、以上のように構成されたソフトウェア資産再利用支援システムの動作を図23の模式図を用いて説明する。   Next, the operation of the software asset reuse support system configured as described above will be described with reference to the schematic diagram of FIG.

始めに、計算機10は、前述した第5の実施形態と同様に、ステップST11,ST12,ST20,ST40’〜ST44’を実行する。但し、アーキテクチャ作成プログラムpro10がモデル検証プログラムpro4及び対応関係推定・推奨プログラムpro5を含むので、ステップST40’〜ST44’のモデル編集プログラムpro21, pro22の実行中、モデル検証プログラムpro4及び対応関係推定・推奨プログラムpro5も実行される。   First, the computer 10 executes steps ST11, ST12, ST20, ST40 'to ST44' as in the fifth embodiment described above. However, since the architecture creation program pro10 includes the model verification program pro4 and the correspondence estimation / recommendation program pro5, the model verification program pro4 and the correspondence estimation / recommendation are executed during the execution of the model editing programs pro21 and pro22 in steps ST40 'to ST44'. Program pro5 is also executed.

すなわち、ステップST41’〜ST44’においては、制約条件記述ccdに基づくモデル検証処理が実行される(ST41’a〜ST44’a)。また、ステップST41’,ST44’においては、対応関係推定・推奨処理が実行される(ST41’b,ST44’b)。   That is, in steps ST41 'to ST44', model verification processing based on the constraint condition description ccd is executed (ST41'a to ST44'a). In steps ST41 'and ST44', correspondence estimation / recommendation processing is executed (ST41'b and ST44'b).

具体的にはステップST41’a〜ST44’aにおいては、中央演算装置15は、モデル検証プログラムpro4の実行により、ステップST41’〜ST44’にて編集中のモデルに対し、補助記憶装置11から読み出した制約条件記述ccdに基づいて、当該モデルが制約条件に違反していないことを検証する。   Specifically, in steps ST41′a to ST44′a, the central processing unit 15 reads the model being edited in steps ST41 ′ to ST44 ′ from the auxiliary storage device 11 by executing the model verification program pro4. Based on the constraint condition description ccd, it is verified that the model does not violate the constraint condition.

また、ステップST41’b,ST44’bにおいては、中央演算装置15は、対応関係推定・推奨プログラムpro5の実行により、ステップST41’,ST44’にて編集中のモデルに対し、操作者によるキーボード13及びマウス14への操作をモニターし、前述同様に、関係性を変更又は新規に作成した場合であって、他のものについても対応関係が強いと判定した場合には関係性の変更を推奨するメッセージ情報をディスプレイ装置16に出力する。   In steps ST41′b and ST44′b, the central processing unit 15 executes the correspondence estimation / recommendation program pro5, and the keyboard 13 by the operator for the model being edited in steps ST41 ′ and ST44 ′. In addition, when the operation on the mouse 14 is monitored and the relationship is changed or newly created as described above, it is recommended to change the relationship when it is determined that the correspondence is strong for other things. The message information is output to the display device 16.

上述したように本実施形態によれば、第5及び第2の実施形態の効果を同時に得ることができる。   As described above, according to this embodiment, the effects of the fifth and second embodiments can be obtained simultaneously.

(第7の実施形態)
次に、本発明の第7の実施形態について説明する。
第7の実施形態は、第1の実施形態の変形例であり、前述した図5とは異なり、図24に示すように、前述したステップST31を省略して現状アーキテクチャモデルmd1を作成せずに、ステップST33’において、シンボル定義・参照解析プログラムpro3の実行による解析結果と、ステップST32で得られたフィーチャモデルと、操作者の操作により入力された情報とに基づき、現実アーキテクチャモデルmd3を作成する構成となっている。
(Seventh embodiment)
Next, a seventh embodiment of the present invention will be described.
The seventh embodiment is a modification of the first embodiment. Unlike FIG. 5 described above, the seventh embodiment omits the above-described step ST31 and does not create the current architecture model md1 as shown in FIG. In step ST33 ′, a real architecture model md3 is created based on the analysis result obtained by executing the symbol definition / reference analysis program pro3, the feature model obtained in step ST32, and the information input by the operation of the operator. It has a configuration.

すなわち、本実施形態のモデル編集プログラムpro2は、作成目標とするソフトウェアが搭載される製品系列における製品別開発計画を示す製品ロードマップrm1と、操作者の操作により入力される情報とに基づいて、フィーチャモデルmd4を作成する手段、図25の左側に示すように、このフィーチャモデルmd4と、図25の右側に示すように、シンボル定義・参照解析プログラムpro3の実行による解析結果として得られた各ソースコードファイル間の参照関係(シンボル定義情報及びシンボル参照情報)を用いて表記される既存ソフトウェア資産の構造と、操作者の操作により入力される情報とに基づいて、図26及び図27に示すように、ソースコードファイルscfを改善のために変更作業しながら編集すると共に、フィーチャモデルの構成要素毎に当該参照関係を表現した現実アーキテクチャモデルを作成する手段、として計算機10を機能させるためのプログラムとなっている。   That is, the model editing program pro2 of the present embodiment is based on the product roadmap rm1 indicating the development plan for each product in the product series in which the software to be created is installed, and information input by the operation of the operator, Means for creating a feature model md4, as shown on the left side of FIG. 25, and each source obtained as an analysis result by execution of the symbol definition / reference analysis program pro3 as shown on the right side of FIG. As shown in FIGS. 26 and 27, based on the structure of the existing software assets expressed using the reference relationship (symbol definition information and symbol reference information) between the code files and the information input by the operation of the operator. In addition, the source code file scf is edited while making changes to improve it, and each component of the feature model is edited. It has a program for operating the computer 10 means, as to create a real architecture model representing the reference relationship.

これに伴い、補助記憶装置11は、図2に示した記憶内容に比べ、作成されない現状アーキテクチャモデルmd1が省略されたものとなる。   Accordingly, in the auxiliary storage device 11, the current architecture model md1 that is not created is omitted as compared with the stored contents shown in FIG.

次に、以上のように構成されたソフトウェア資産再利用支援システムの動作を図24の模式図を用いて説明する。   Next, the operation of the software asset reuse support system configured as described above will be described with reference to the schematic diagram of FIG.

始めに、計算機10は、前述した通り、ステップST10,ST20を実行することにより、モデル編集プログラムpro2、シンボル定義情報抽出結果及びシンボル参照情報抽出結果を主記憶装置12に格納する。   First, the computer 10 stores the model editing program pro2, the symbol definition information extraction result, and the symbol reference information extraction result in the main storage device 12 by executing steps ST10 and ST20 as described above.

続いて、中央演算装置15は、操作者によるキーボード13又はマウス14の操作により、モデル編集プログラムpro2を実行する(ST30’)。   Subsequently, the central processing unit 15 executes the model editing program pro2 by the operation of the keyboard 13 or the mouse 14 by the operator (ST30 ').

始めに中央演算装置15は、モデル編集プログラムpro2の実行中、操作者によるキーボード13又はマウス14の操作により、補助記憶装置11から主記憶装置12に読み出した製品ロードマップrm1をディスプレイ装置16に表示させる。   First, the central processing unit 15 displays the product road map rm1 read from the auxiliary storage device 11 to the main storage device 12 by the operation of the keyboard 13 or the mouse 14 by the operator during the execution of the model editing program pro2. Let

中央演算装置15は、モデル編集プログラムpro2の実行中、操作者によるキーボード13又はマウス14の操作に基づいて、表示中の製品ロードマップrm1に基づくフィーチャモデル編集処理を実行し(ST32)、フィーチャモデルmd4を作成する。   During execution of the model editing program pro2, the central processing unit 15 executes a feature model editing process based on the displayed product road map rm1 based on the operation of the keyboard 13 or the mouse 14 by the operator (ST32), and the feature model. Create md4.

中央演算装置15は、操作者によるキーボード13又はマウス14の操作により、このフィーチャモデルmd4を補助記憶装置11に格納する。   The central processing unit 15 stores the feature model md4 in the auxiliary storage device 11 by the operation of the keyboard 13 or the mouse 14 by the operator.

続いて、中央演算装置15は、モデル編集プログラムpro2の実行中、操作者によるキーボード13又はマウス14の操作により、現実アーキテクチャモデル編集処理を実行し(ST33’)、現実アーキテクチャモデルmd3を作成する。   Subsequently, during execution of the model editing program pro2, the central processing unit 15 executes a real architecture model editing process by the operation of the keyboard 13 or the mouse 14 by the operator (ST33 ') to create a real architecture model md3.

具体的には中央演算装置15は、フィーチャモデルmd4を補助記憶装置11から主記憶装置12に読み出した後、このフィーチャモデルmd4をディスプレイ装置16の一部に表示させる。   Specifically, the central processing unit 15 reads the feature model md4 from the auxiliary storage device 11 to the main storage device 12, and then displays the feature model md4 on a part of the display device 16.

これに加え、中央演算装置15は、このフィーチャモデルmd4と、主記憶装置12内のシンボル定義情報及びシンボル参照情報を用いて表記される既存ソフトウェア資産の構造をディスプレイ装置16の残りの一部に表示させる。このとき、ディスプレイ装置16においては、図25に示すように、例えばフィーチャモデルmd4が画面の左半分に表示され、既存ソフトウェア資産の構造が画面の右半分に表示される。なお、フィーチャモデルmd4及び既存ソフトウェア資産の構造は、図25の例に限らず、同一画面内のどの領域に表示してもよい。   In addition, the central processing unit 15 uses the feature model md4 and the structure of the existing software assets expressed using the symbol definition information and symbol reference information in the main storage device 12 as the remaining part of the display device 16. Display. At this time, in the display device 16, as shown in FIG. 25, for example, the feature model md4 is displayed on the left half of the screen, and the structure of the existing software asset is displayed on the right half of the screen. Note that the structure of the feature model md4 and the existing software assets is not limited to the example of FIG. 25, and may be displayed in any region within the same screen.

続いて、中央演算装置15は、フィーチャモデルmd4及び既存ソフトウェア資産の構造の表示中、操作者の操作により入力される情報とに基づいて、既存ソフトウェア資産のソースコードファイルscfを改善のために変更作業しながら編集すると共に、アーキテクチャモデルの構成要素毎に当該参照関係を表現した現実アーキテクチャモデルmd3を作成する。   Subsequently, during the display of the feature model md4 and the structure of the existing software asset, the central processing unit 15 changes the source code file scf of the existing software asset for improvement based on the information input by the operation of the operator. While editing, the real architecture model md3 expressing the reference relation for each component of the architecture model is created.

このようなステップST33’にて行う処理は、図26に示すように、「フィーチャモデルmd4」のフィーチャと、「既存ソフトウェア資産」の機能との対応関係を明らかにし、以下の違反(A)〜(C)を見つけ、図27に示すように解決することである。   As shown in FIG. 26, the processing performed in step ST33 ′ as described above clarifies the correspondence between the feature of “feature model md4” and the function of “existing software asset”, and the following violations (A) to Find (C) and solve as shown in FIG.

[違反(A):循環参照違反]
図26に示すように、既存のソースコードファイルscf間で相互に参照が行われているため、「選択」フィーチャに対応する実装であるソースコードファイルを不必要な場合でも切り離すことが出来ない。このため、図26及び図27に示すように、例えば、ソースコードファイル「F.cpp」が参照しているソースコードファイル「D.cpp」に含まれるシンボル(またはシンボルを含む機能ブロック。矛盾無く独立して動作するソフトウェア領域)をソースコードファイル「F.cpp」に移動させそれぞれ新たなソースコードファイル「D.cpp’」「F.cpp’」とする。この新たなソースコードファイル「F.cpp’」は、「選択」フィーチャに対応した切り離し可能なソフトウェア資産となり、再利用性が向上する。
[Violation (A): Circular reference violation]
As shown in FIG. 26, since the reference is made between the existing source code files scf, the source code file which is an implementation corresponding to the “selected” feature cannot be separated even if unnecessary. Therefore, as shown in FIG. 26 and FIG. 27, for example, the symbols (or functional blocks including the symbols included in the source code file “D.cpp” referred to by the source code file “F.cpp”. Software areas that operate independently) are moved to the source code file “F.cpp”, and are respectively set as new source code files “D.cpp ′” and “F.cpp ′”. This new source code file “F.cpp '” becomes a separable software asset corresponding to the “select” feature, and reusability is improved.

[違反(B):飛び越し参照違反]
図26及び図27に示すように、既存のソースコードファイル「I.cpp」が参照している「C.cpp」に含まれるシンボル(またはシンボルを含む機能ブロック)をソースコードファイル「I.cpp」または「A.cpp」に移行し、新たなソースコードファイル「I.cpp’」又は「A.cpp’」とする。この新たなソースコードファイル「I.cpp’」又は「A.cpp’」は、「選択」フィーチャに対応した切り離し可能なソフトウェア資産となり、再利用性を向上することができる。
[Violation (B): Jumping reference violation]
As shown in FIGS. 26 and 27, symbols (or functional blocks including symbols) included in “C.cpp” referenced by the existing source code file “I.cpp” are stored in the source code file “I.cpp”. ”Or“ A.cpp ”to obtain a new source code file“ I.cpp ′ ”or“ A.cpp ′ ”. The new source code file “I.cpp ′” or “A.cpp ′” becomes a detachable software asset corresponding to the “selection” feature, and can improve reusability.

[違反(C):機能参照違反]
図26及び図27に示すように、フィーチャモデルmd4により「選択」として分析された機能間で参照関係があると、同様にソフトウェア部品としての独立性が損なわれるため、既存のソースコードファイル「C.cpp」が参照しているソースコードファイル「B.cpp」に含まれるシンボル(またはシンボルを含む機能ブロック)を別のソースコードファイル「C.cpp」に移行し、それぞれ新たなソースコードファイル「B.cpp’」「C.cpp’」とする。
[Violation (C): Violation of function reference]
As shown in FIGS. 26 and 27, if there is a reference relationship between the functions analyzed as “selection” by the feature model md4, the independence as a software component is similarly lost. The symbols (or functional blocks that include symbols) included in the source code file "B.cpp" referenced by ".cpp" are transferred to another source code file "C.cpp", and each new source code file " B.cpp '"and"C.cpp'".

これらの作業は、ここでフィーチャと機能分類との対応で問題(矛盾)が発生しないことを確認しながら行う。   These operations are performed while confirming that no problem (inconsistency) occurs in correspondence between the feature and the function classification.

現状では操作者が手動で、将来的には支援プログラムにより自動的に処理が行われる。以上の作業により得られる「図27」の右半分に示す領域が「現実アーキテクチャモデル」である。   Currently, processing is performed manually by an operator, and in the future automatically by a support program. The area shown in the right half of “FIG. 27” obtained by the above work is the “real architecture model”.

以上のようなステップST33’が完了した後、中央演算装置15は、操作者によるキーボード13又はマウス14の操作により、この現実アーキテクチャモデルmd3を補助記憶装置11に格納する。   After step ST33 'as described above is completed, the central processing unit 15 stores the real architecture model md3 in the auxiliary storage device 11 by the operation of the keyboard 13 or the mouse 14 by the operator.

上述したように本実施形態によれば、シンボル定義・参照解析処理による解析結果と、フィーチャモデルmd4とに基づき、操作者の操作により現実アーキテクチャモデルmd3を作成するので、第1の実施形態の効果に加え、現状アーキテクチャモデルmd3の作成を省略することができる。   As described above, according to the present embodiment, the real architecture model md3 is created by the operator's operation based on the analysis result by the symbol definition / reference analysis processing and the feature model md4. Therefore, the effect of the first embodiment is achieved. In addition, the creation of the current architecture model md3 can be omitted.

また、本実施形態は、前述同様に、第2の実施形態を組み合わせることにより、モデル検証プログラムpro4及び対応関係推定・推奨プログラムpro5を含むアーキテクチャモデル作成プログラムpro10と、制約条件記述ccdとを更に備えたものに変形できる。この場合、ステップST32、ST33’においては、前述同様に、制約条件記述ccdに基づくモデル検証処理が実行されると共に、対応関係推定・推奨処理が実行される。従って、本実施形態の変形例によれば、前述した本実施形態の効果と、第2の実施形態の効果とを同時に得ることができる。   Further, as described above, this embodiment further includes an architecture model creation program pro10 including a model verification program pro4 and a correspondence relationship estimation / recommendation program pro5 by combining the second embodiment, and a constraint condition description ccd. It can be transformed into an object. In this case, in steps ST32 and ST33 ', the model verification process based on the constraint condition description ccd is executed and the correspondence estimation / recommendation process is executed as described above. Therefore, according to the modification of this embodiment, the effect of this embodiment mentioned above and the effect of 2nd Embodiment can be acquired simultaneously.

なお、上記実施形態に記載した手法は、コンピュータに実行させることのできるプログラムとして、磁気ディスク(フロッピー(登録商標)ディスク、ハードディスクなど)、光ディスク(CD−ROM、DVDなど)、光磁気ディスク(MO)、半導体メモリなどの記憶媒体に格納して頒布することもできる。   Note that the method described in the above embodiment includes a magnetic disk (floppy (registered trademark) disk, hard disk, etc.), an optical disk (CD-ROM, DVD, etc.), a magneto-optical disk (MO) as programs that can be executed by a computer. ), And can be distributed in a storage medium such as a semiconductor memory.

また、この記憶媒体としては、プログラムを記憶でき、かつコンピュータが読み取り可能な記憶媒体であれば、その記憶形式は何れの形態であっても良い。   In addition, as long as the storage medium can store a program and can be read by a computer, the storage format may be any form.

また、記憶媒体からコンピュータにインストールされたプログラムの指示に基づきコンピュータ上で稼働しているOS(オペレーティングシステム)や、データベース管理ソフト、ネットワークソフト等のMW(ミドルウェア)等が上記実施形態を実現するための各処理の一部を実行しても良い。   In addition, an OS (operating system) running on a computer based on an instruction of a program installed in the computer from a storage medium, MW (middleware) such as database management software, network software, and the like realize the above-described embodiment. A part of each process may be executed.

さらに、本発明における記憶媒体は、コンピュータと独立した媒体に限らず、LANやインターネット等により伝送されたプログラムをダウンロードして記憶または一時記憶した記憶媒体も含まれる。   Furthermore, the storage medium in the present invention is not limited to a medium independent of a computer, but also includes a storage medium that downloads and stores or temporarily stores a program transmitted via a LAN, the Internet, or the like.

また、記憶媒体は1つに限らず、複数の媒体から上記実施形態における処理が実行される場合も本発明における記憶媒体に含まれ、媒体構成は何れの構成であっても良い。   Further, the number of storage media is not limited to one, and the case where the processing in the above embodiment is executed from a plurality of media is also included in the storage media in the present invention, and the media configuration may be any configuration.

尚、本発明におけるコンピュータは、記憶媒体に記憶されたプログラムに基づき、上記実施形態における各処理を実行するものであって、パソコン等の1つからなる装置、複数の装置がネットワーク接続されたシステム等の何れの構成であっても良い。   The computer according to the present invention executes each process in the above-described embodiment based on a program stored in a storage medium, and is a single device such as a personal computer or a system in which a plurality of devices are connected to a network. Any configuration may be used.

また、本発明におけるコンピュータとは、パソコンに限らず、情報処理機器に含まれる演算処理装置、マイコン等も含み、プログラムによって本発明の機能を実現することが可能な機器、装置を総称している。   In addition, the computer in the present invention is not limited to a personal computer, but includes an arithmetic processing device, a microcomputer, and the like included in an information processing device, and is a generic term for devices and devices that can realize the functions of the present invention by a program. .

なお、本願発明は、上記実施形態そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化できる。また、上記実施形態に開示されている複数の構成要素の適宜な組合せにより種々の発明を形成できる。例えば、実施形態に示される全構成要素から幾つかの構成要素を削除してもよい。更に、異なる実施形態に亘る構成要素を適宜組合せてもよい。   Note that the present invention is not limited to the above-described embodiment as it is, and can be embodied by modifying the constituent elements without departing from the scope of the invention in the implementation stage. Moreover, various inventions can be formed by appropriately combining a plurality of constituent elements disclosed in the embodiment. For example, some components may be deleted from all the components shown in the embodiment. Furthermore, you may combine the component covering different embodiment suitably.

本発明の第1の実施形態に係るソフトウェア資産再利用支援プログラムが適用された計算機の構成を示す模式図である。It is a schematic diagram which shows the structure of the computer with which the software asset reuse support program which concerns on the 1st Embodiment of this invention was applied. 同実施形態における補助記憶装置の記憶内容を示す模式図である。It is a schematic diagram which shows the memory content of the auxiliary storage device in the same embodiment. 同実施形態におけるシンボル定義情報を示す模式図である。It is a schematic diagram which shows the symbol definition information in the same embodiment. 同実施形態におけるシンボル参照情報を示す模式図である。It is a schematic diagram which shows the symbol reference information in the same embodiment. 同実施形態における動作を説明するための模式図である。It is a schematic diagram for demonstrating the operation | movement in the embodiment. 本発明の第2の実施形態に係る補助記憶装置の記憶内容を示す模式図である。It is a schematic diagram which shows the memory content of the auxiliary storage device which concerns on the 2nd Embodiment of this invention. 同実施形態における制約条件記述を示す模式図である。It is a schematic diagram which shows the constraint condition description in the embodiment. 同実施形態における動作を説明するための模式図である。It is a schematic diagram for demonstrating the operation | movement in the embodiment. 本発明の第3の実施形態に係る補助記憶装置の記憶内容を示す模式図である。It is a schematic diagram which shows the memory content of the auxiliary storage device which concerns on the 3rd Embodiment of this invention. 同実施形態における動作を説明するための模式図である。It is a schematic diagram for demonstrating the operation | movement in the embodiment. 同実施形態における現状アーキテクチャモデルの一例を示す模式図である。It is a schematic diagram which shows an example of the present architecture model in the embodiment. 同実施形態における目標アーキテクチャモデルの一例を示す模式図である。It is a schematic diagram which shows an example of the target architecture model in the embodiment. 同実施形態における現状アーキテクチャとソースコードファイル間の関係(修正前)の一例を示す模式図である。It is a schematic diagram which shows an example of the relationship (before correction) between the present architecture and the source code file in the embodiment. 同実施形態における現状アーキテクチャとソースコードファイル間の関係(修正後)の一例を示す模式図である。It is a schematic diagram which shows an example of the relationship between the present architecture and the source code file (after correction) in the embodiment. 同実施形態におけるフィーチャモデルの一例を示す模式図である。It is a schematic diagram which shows an example of the feature model in the embodiment. 本発明の第4の実施形態に係る補助記憶装置の記憶内容を示す模式図である。It is a schematic diagram which shows the memory content of the auxiliary storage device which concerns on the 4th Embodiment of this invention. 同実施形態における動作を説明するための模式図である。It is a schematic diagram for demonstrating the operation | movement in the embodiment. 本発明の第5の実施形態に係る補助記憶装置の記憶内容を示す模式図である。It is a schematic diagram which shows the memory content of the auxiliary storage device which concerns on the 5th Embodiment of this invention. 同実施形態におけるフィル間依存関係解析結果を示す模式図である。It is a schematic diagram which shows the inter-fill dependency relationship analysis result in the same embodiment. 同実施形態におけるアーキテクチャ構造ルールを示す模式図である。It is a schematic diagram which shows the architecture structure rule in the embodiment. 同実施形態における動作を説明するための模式図である。It is a schematic diagram for demonstrating the operation | movement in the embodiment. 本発明の第6の実施形態に係る補助記憶装置の記憶内容を示す模式図である。It is a schematic diagram which shows the memory content of the auxiliary memory device which concerns on the 6th Embodiment of this invention. 同実施形態における動作を説明するための模式図である。It is a schematic diagram for demonstrating the operation | movement in the embodiment. 本発明の第7の実施形態における動作を説明するための模式図である。It is a schematic diagram for demonstrating the operation | movement in the 7th Embodiment of this invention. 同実施形態におけるフィーチャモデル及び既存ソフトウェア資産の構造を示す模式図である。It is a schematic diagram which shows the structure of the feature model and the existing software asset in the embodiment. 同実施形態における現実アーキテクチャモデル編集処理を説明するための模式図である。It is a schematic diagram for demonstrating the real architecture model edit process in the embodiment. 同実施形態におけるフィーチャモデル及び現実アーキテクチャモデルを説明するための模式図である。It is a schematic diagram for demonstrating the feature model and real architecture model in the embodiment.

符号の説明Explanation of symbols

10…計算機、11…補助記憶装置、12…主記憶装置、13…キーボード、14…マウス、15…中央演算装置、16…ディスプレイ装置、scf…ソースコードファイル、mt10…メタモデル、pro1…モデル編集プログラム生成プログラム、pro2…モデル編集プログラム、pro3…シンボル定義・参照解析プログラム、pro4…モデル検証プログラム、pro5…対応関係推定・推奨プログラム、pro6…ファイル間依存関係解析プログラム、pro7…アーキテクチャ構造ルール適用プログラム、pro10…アーキテクチャモデル作成プログラム、pro21…アーキテクチャモデル編集プログラム、pro22…フィーチャモデル編集プログラム、ccd…制約条件記述、rd…要件定義、rm1…製品ロードマップ、rm2…技術ロードマップ、kh1…汎用ドメインノウハウ、kh2…特定ドメインノウハウ、asr…アーキテクチャ構造ルール、md1…現状アーキテクチャモデル、md2…目標アーキテクチャモデル、md3…現実アーキテクチャモデル、md4…フィーチャモデル。   DESCRIPTION OF SYMBOLS 10 ... Computer, 11 ... Auxiliary storage device, 12 ... Main storage device, 13 ... Keyboard, 14 ... Mouse, 15 ... Central processing unit, 16 ... Display device, scf ... Source code file, mt10 ... Meta model, pro1 ... Model edit Program generation program, pro2 ... model editing program, pro3 ... symbol definition / reference analysis program, pro4 ... model verification program, pro5 ... correspondence estimation / recommendation program, pro6 ... inter-file dependency analysis program, pro7 ... architecture structure rule application program , Pro10 ... architecture model creation program, pro21 ... architecture model editing program, pro22 ... feature model editing program, ccd ... restriction condition description, rd ... requirement definition, rm1 ... product roadmap, rm2 ... technological roadmap, kh1 ... general domain know-how , Kh2 ... Specific domain know-how , Asr ... architecture structure rules, md1 ... current architecture model, md2 ... target architecture model, md3 ... real architecture model, md4 ... feature model.

Claims (6)

記憶装置に記憶された複数のソースコードファイルを含むソフトウェア資産の再利用を支援して現実アーキテクチャモデルを作成する計算機に用いられるソフトウェア資産再利用支援プログラムであって、
前記計算機を、
前記記憶装置内の各ソースコードファイルに関して、所定のシンボルの定義を含むか否か及び当該シンボルを参照するか否かを解析する手段、
この解析結果として得られた各ソースコードファイル間の参照関係と、アーキテクチャモデルの構成要素名のうちの当該各ソースコードファイルのファイル名に対応する構成要素名と、操作者の操作により入力される情報とに基づいて、当該構成要素名毎に前記参照関係を表現した現状アーキテクチャモデルを作成する手段、
作成目標とするソフトウェアが搭載される製品系列における製品別開発計画を示す製品ロードマップと、操作者の操作により入力される情報とに基づいて、フィーチャモデルを作成する手段、
前記フィーチャモデル、及び操作者の操作により入力される情報に基づいて、前記現状アーキテクチャモデルを改善のために変更作業しながら編集することにより、前記作成目標とするソフトウェアに対応する現実アーキテクチャモデルを作成する手段、
として機能させるためのソフトウェア資産再利用支援プログラム。
A software asset reuse support program used in a computer that creates a real architecture model by supporting reuse of software assets including a plurality of source code files stored in a storage device,
The calculator
Means for analyzing whether each source code file in the storage device includes a definition of a predetermined symbol and whether to refer to the symbol;
The reference relationship between the source code files obtained as a result of this analysis, the component name corresponding to the file name of each source code file among the component names of the architecture model, and the operator's operation are input. A means for creating a current architecture model expressing the reference relationship for each component name based on the information;
A means for creating a feature model based on a product roadmap showing a development plan for each product in a product line on which software to be created is installed, and information input by an operator's operation,
Based on the feature model and information input by the operation of the operator, the actual architecture model corresponding to the creation target software is created by editing the current architecture model while making changes for improvement. Means to
Software asset reuse support program to function as
請求項1に記載のソフトウェア資産再利用支援プログラムにおいて、
前記計算機を、
前記各アーキテクチャモデル及び前記フィーチャモデルの作成中、制約条件記述に基づいて、当該作成中のモデルが制約条件に違反していないことを検証し、制約条件に違反している場合には当該違反を示す情報を出力する手段、
として更に機能させるためのソフトウェア資産再利用支援プログラム。
In the software asset reuse support program according to claim 1,
The calculator
During the creation of each of the architecture models and the feature models, it is verified that the model being created does not violate the constraint conditions based on the constraint description, and if the constraint conditions are violated, the violation is Means for outputting the indicated information;
Software asset reuse support program to further function as
請求項1又は請求項2に記載のソフトウェア資産再利用支援プログラムにおいて、
前記計算機を、
前記現状アーキテクチャモデル、又は、前記現実アーキテクチャモデル、又は、前記フィーチャモデル、の作成中、前記操作により入力される情報に基づいて、参照先ファイル名と構成要素名との関係を変更又は新規に作成した場合、当該参照先ファイル名の参照シンボル数が一定値以上である、当該参照先ファイル名に対応する参照元ファイル名についても変更又は新規に関係付けられた構成要素名に当該関係を変更することを推奨する情報を出力する手段、
として更に機能させるためのソフトウェア資産再利用支援プログラム。
In the software asset reuse support program according to claim 1 or 2,
The calculator
During the creation of the current architecture model, the real architecture model, or the feature model, the relationship between the reference file name and the component name is changed or newly created based on the information input by the operation. In such a case, the reference source file name corresponding to the reference destination file name in which the number of reference symbols of the reference destination file name is equal to or greater than a certain value is also changed or the relation is changed to a newly associated component name. A means of outputting recommended information,
Software asset reuse support program to further function as
記憶装置に記憶された複数のソースコードファイルを含むソフトウェア資産の再利用を支援して現実アーキテクチャモデルを作成する計算機に用いられるソフトウェア資産再利用支援プログラムであって、
前記計算機を、
前記記憶装置内の各ソースコードファイルを検索し、予め定義されたシンボルを含むソースコードファイルのファイル名を有するシンボル定義情報を抽出する手段、
前記記憶装置内の各ソースコードファイルを検索し、参照するシンボルを含むソースコードファイルのファイル名を有するシンボル参照情報を抽出する手段、
前記シンボル定義情報及び前記シンボル参照情報に基づいて、前記シンボル定義情報内のファイル名である参照元ファイル名と、前記シンボル参照情報内のファイル名である参照先ファイル名とを含むファイル間依存関係解析情報を作成する手段、
複数のソースコードファイル名に関連付けられるファイル名パターン情報をアーキテクチャモデルの構成要素名に関連付けるアーキテクチャ構造ルールに基づいて、参照元ファイル名、参照先ファイル名、及びアーキテクチャモデルの構成要素名を含むファイル間アーキテクチャ構成要素間依存関係構造情報を作成する手段、
前記ファイル間依存関係解析情報に示される各ソースコードファイル間の参照関係と、前記ファイル間アーキテクチャ構成要素間依存関係構造情報内の参照元ファイル名及び参照先ファイル名に対応する構成要素名と、操作者の操作により入力される情報とに基づいて、当該構成要素名毎に前記参照関係を表現した現状アーキテクチャモデルを作成する手段、
作成目標とするソフトウェアが満たすべき機能要件を定義した要件定義と、操作者の操作により入力される情報とに基づいて、目標アーキテクチャモデルを作成する手段、
前記作成目標とするソフトウェアが搭載される製品系列における製品別開発計画を示す製品ロードマップと、操作者の操作により入力される情報とに基づいて、フィーチャモデルを作成する手段、
前記目標アーキテクチャモデル、前記フィーチャモデル、及び操作者の操作により入力される情報に基づいて、前記現状アーキテクチャモデルを改善のために変更作業しながら編集することにより、前記作成目標とするソフトウェアに対応する現実アーキテクチャモデルを作成する手段、
として機能させるためのソフトウェア資産再利用支援プログラム。
A software asset reuse support program used in a computer that creates a real architecture model by supporting reuse of software assets including a plurality of source code files stored in a storage device,
The calculator
Means for searching each source code file in the storage device and extracting symbol definition information having a file name of a source code file including a predefined symbol;
Means for searching each source code file in the storage device and extracting symbol reference information having a file name of a source code file including a symbol to be referred to;
Based on the symbol definition information and the symbol reference information, an inter-file dependency including a reference source file name that is a file name in the symbol definition information and a reference destination file name that is a file name in the symbol reference information Means for creating analysis information,
Based on the architecture structure rule that associates the file name pattern information associated with multiple source code file names with the component name of the architecture model, between files including the reference source file name, the reference destination file name, and the component name of the architecture model Means for creating dependency structure information between architecture components,
A reference relationship between source code files indicated in the inter-file dependency analysis information, a component name corresponding to a reference source file name and a reference destination file name in the inter-file architecture component dependency relationship structure information, and Means for creating a current architecture model expressing the reference relationship for each component name based on information input by an operator's operation;
A means for creating a target architecture model based on a requirement definition that defines the functional requirements to be satisfied by the software to be created and information input by the operation of the operator;
Means for creating a feature model based on a product road map indicating a development plan for each product in a product line on which the software to be created is mounted, and information input by an operator's operation;
Based on the target architecture model, the feature model, and information input by an operator's operation, the current architecture model is edited while being changed for improvement, thereby corresponding to the creation target software. A means to create a real architecture model,
Software asset reuse support program to function as
請求項4に記載のソフトウェア資産再利用支援プログラムにおいて、
前記計算機を、
前記各アーキテクチャモデル及び前記フィーチャモデルの作成中、制約条件記述に基づいて、当該作成中のモデルが制約条件に違反していないことを検証し、制約条件に違反している場合には当該違反を示す情報を出力する手段、
として更に機能させるためのソフトウェア資産再利用支援プログラム。
In the software asset reuse support program according to claim 4,
The calculator
During the creation of each of the architecture models and the feature models, it is verified that the model being created does not violate the constraint conditions based on the constraint description, and if the constraint conditions are violated, the violation is Means for outputting the indicated information;
Software asset reuse support program to further function as
請求項4又は請求項5に記載のソフトウェア資産再利用支援プログラムにおいて、
前記計算機を、
前記現状アーキテクチャモデル、又は、前記現実アーキテクチャモデル、又は、前記フィーチャモデル、の作成中、前記操作により入力される情報に基づいて、参照先ファイル名と構成要素名との関係を変更又は新規に作成した場合、当該参照先ファイル名の参照シンボル数が一定値以上である、当該参照先ファイル名に対応する参照元ファイル名についても変更又は新規に関係付けられた構成要素名に当該関係を変更することを推奨する情報を出力する手段、
として更に機能させるためのソフトウェア資産再利用支援プログラム。
In the software asset reuse support program according to claim 4 or 5,
The calculator
During the creation of the current architecture model, the real architecture model, or the feature model, the relationship between the reference file name and the component name is changed or newly created based on the information input by the operation. In such a case, the reference source file name corresponding to the reference destination file name in which the number of reference symbols of the reference destination file name is equal to or greater than a certain value is also changed or the relation is changed to a newly associated component name. A means of outputting recommended information,
Software asset reuse support program to further function as
JP2008126137A 2008-05-13 2008-05-13 Software asset reuse support program Expired - Fee Related JP5085421B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2008126137A JP5085421B2 (en) 2008-05-13 2008-05-13 Software asset reuse support program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2008126137A JP5085421B2 (en) 2008-05-13 2008-05-13 Software asset reuse support program

Publications (2)

Publication Number Publication Date
JP2009276911A true JP2009276911A (en) 2009-11-26
JP5085421B2 JP5085421B2 (en) 2012-11-28

Family

ID=41442308

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008126137A Expired - Fee Related JP5085421B2 (en) 2008-05-13 2008-05-13 Software asset reuse support program

Country Status (1)

Country Link
JP (1) JP5085421B2 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8694481B2 (en) 2011-03-18 2014-04-08 Fujitsu Limited Computer product, information processing apparatus, and information processing method

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102258275B1 (en) * 2019-07-05 2021-05-28 주식회사 엘지씨엔에스 Business asset management system

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004272909A (en) * 2003-03-06 2004-09-30 Microsoft Corp Verification of system at designing
JP2007265089A (en) * 2006-03-29 2007-10-11 Fujitsu Ltd Software maintenance support program, processing method, and device

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004272909A (en) * 2003-03-06 2004-09-30 Microsoft Corp Verification of system at designing
JP2007265089A (en) * 2006-03-29 2007-10-11 Fujitsu Ltd Software maintenance support program, processing method, and device

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8694481B2 (en) 2011-03-18 2014-04-08 Fujitsu Limited Computer product, information processing apparatus, and information processing method

Also Published As

Publication number Publication date
JP5085421B2 (en) 2012-11-28

Similar Documents

Publication Publication Date Title
US8706771B2 (en) Systems and methods for analyzing and transforming an application from a source installation to a target installation
KR101130525B1 (en) Method and apparatus for generating forms using form types
US9037595B2 (en) Creating graphical models representing control flow of a program manipulating data resources
US8291372B2 (en) Creating graphical models representing control flow of a program manipulating data resources
US20080114810A1 (en) Declarative data binding and data type propagation in a remote workflow schedule authoring system
US20090235229A1 (en) Graphical Modelization of User Interfaces for Data Intensive Applications
JP2010003291A (en) Apparatus, method, program and computer readable recording medium for assisting software development
US8527254B2 (en) Simulator engine development system and simulator engine development method
RU2461058C2 (en) Definable application assistant
JP2013518321A (en) Pattern-based user interface
US9003359B2 (en) User customizable queries to populate model diagrams
JPH10254689A (en) Application constitution design supporting system for client/server system
JP2008204333A (en) Project management system based on traceability of specification and program for specification change management method
JP5085421B2 (en) Software asset reuse support program
JP2016224579A (en) Information processor and information processing method
JP2010277572A (en) Code generation program, computer readable recoding medium recording the same, code generation device, and code generation method
JP2001296996A (en) Automatic generating device of component and expressing method
JP2008003817A (en) Apparatus, method and program for supporting program development
Pietsch et al. Delta-oriented development of model-based software product lines with DeltaEcore and SiPL: A comparison
JP2009009494A (en) Information processor, information processing method and control program
JP4906424B2 (en) Web service design method and apparatus
JP2009053767A (en) Program analysis device and program analysis method
JP2012523640A (en) Methods for supporting the development or use of complex systems
JP4413810B2 (en) Product configuration management program, product configuration management method, and product configuration management apparatus
JP2006171913A (en) Information processor, information processing method, program and storage medium

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20110223

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20120801

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

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

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20150914

Year of fee payment: 3

LAPS Cancellation because of no payment of annual fees