JP2009276911A - Software asset reuse support program - Google Patents
Software asset reuse support program Download PDFInfo
- 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
Links
- 238000004458 analytical method Methods 0.000 claims description 22
- 238000011161 development Methods 0.000 claims description 10
- 230000006872 improvement Effects 0.000 claims description 7
- 230000006866 deterioration Effects 0.000 abstract 1
- 230000005764 inhibitory process Effects 0.000 abstract 1
- 238000012545 processing Methods 0.000 description 94
- 238000000034 method Methods 0.000 description 44
- 238000010586 diagram Methods 0.000 description 36
- 230000006870 function Effects 0.000 description 35
- 230000008569 process Effects 0.000 description 24
- 238000000605 extraction Methods 0.000 description 14
- 238000005516 engineering process Methods 0.000 description 12
- 102100029860 Suppressor of tumorigenicity 20 protein Human genes 0.000 description 11
- 230000008859 change Effects 0.000 description 10
- 101000585359 Homo sapiens Suppressor of tumorigenicity 20 protein Proteins 0.000 description 9
- 238000013461 design Methods 0.000 description 9
- 230000000694 effects Effects 0.000 description 8
- 238000012795 verification Methods 0.000 description 7
- 230000004048 modification Effects 0.000 description 6
- 238000012986 modification Methods 0.000 description 6
- 101150004094 PRO2 gene Proteins 0.000 description 5
- 230000006399 behavior Effects 0.000 description 5
- 238000012937 correction Methods 0.000 description 4
- 238000011156 evaluation Methods 0.000 description 4
- 238000007726 management method Methods 0.000 description 3
- 101100071632 Schizosaccharomyces pombe (strain 972 / ATCC 24843) hsp9 gene Proteins 0.000 description 2
- 230000008901 benefit Effects 0.000 description 2
- 239000000470 constituent Substances 0.000 description 2
- 238000013507 mapping Methods 0.000 description 2
- 101100409308 Neurospora crassa (strain ATCC 24698 / 74-OR23-1A / CBS 708.71 / DSM 1257 / FGSC 987) adv-1 gene Proteins 0.000 description 1
- 230000004913 activation Effects 0.000 description 1
- 230000007423 decrease Effects 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 230000008846 dynamic interplay Effects 0.000 description 1
- 235000019580 granularity Nutrition 0.000 description 1
- 230000010365 information processing Effects 0.000 description 1
- 230000009191 jumping Effects 0.000 description 1
- 230000000414 obstructive effect Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 230000007704 transition Effects 0.000 description 1
Images
Landscapes
- Stored Programmes (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
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がある。
しかしながら、以上のようなソフトウェアは、既存のソフトウェア資産を再利用しつつ開発されることから、例えば携帯電話の場合には、本来、機種毎に開発すべき各機種のソースコードが混在し、いわゆるスパゲッティコードになり易い不都合がある。これは、携帯電話のソフトウェアに限らず、車載端末等の他の製品のソフトウェアでも同様である。 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
ここで、補助記憶装置11は、中央演算装置15から読出/書込み可能な大容量記憶装置であり、例えばハードディスク装置であって、図2に示すように、ソースコードファイルscf、メタモデルmt10、モデル編集プログラム生成プログラムpro1、モデル編集プログラムpro2、シンボル定義・参照解析プログラムpro3、製品ロードマップrm1、現状アーキテクチャモデルmd1、現実アーキテクチャモデルmd3、フィーチャモデルmd4などが記憶される。なお、各実施形態中、添字proを含むプログラムの集合がソフトウェア資産再利用支援プログラムに該当する。係るソフトウェア資産再利用支援プログラムは、予めネットワーク又は記憶媒体から計算機10にインストールされ、対応する機能を計算機10に実現させる。また、ソフトウェア資産再利用支援プログラムのうち、モデル編集プログラム生成プログラムpro1を除くプログラムproをアーキテクチャモデル作成プログラムpro10とも呼ぶ。
Here, the
ここで、ソースコードファイル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
モデル編集プログラムpro2は、モデル編集プログラム生成プログラムpro1を実行した中央演算装置15により作成され、シンボル定義・参照解析プログラムpro3の実行により作成されたシンボル定義情報、シンボル参照情報及びソースコードファイルscfと、アーキテクチャモデルの構成要素名のうちの当該各ソースコードファイルscfのファイル名に対応する構成要素名と、操作者によるキーボード13又はマウス14の操作により入力された情報とに基づいて、現状アーキテクチャモデルmd1、フィーチャモデルmd4及び現実アーキテクチャモデルmd3を作成する手段として計算機を機能させるためのプログラムである。
The model editing program pro2 is created by the
シンボル定義・参照解析プログラムpro3は、補助記憶装置11又は主記憶装置12内の各ソースコードファイルscfに関して、所定のシンボルの定義を含むか否か及び当該シンボルを参照するか否かを解析する手段、として計算機10を機能させるためのプログラムである。
The symbol definition / reference analysis program pro3 analyzes whether each source code file scf in the
具体的には、シンボル定義・参照解析プログラムpro3は、補助記憶装置11又は主記憶装置12内の各ソースコードファイルscfを検索し、予め定義されたシンボルを含むソースコードファイルのファイル名を有するシンボル定義情報を抽出する手段、当該記憶装置11又は12内の各ソースコードファイルscfを検索し、参照するシンボルを含むソースコードファイルのファイル名を有するシンボル参照情報を抽出する手段、として計算機10を機能させるためのプログラムである。
Specifically, the symbol definition / reference analysis program pro3 searches each source code file scf in the
但し、シンボル定義・参照解析プログラム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
補足すると、シンボル定義・参照解析プログラム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
キーボード13及びマウス14は、通常の入力装置であり、例えば、操作者の操作により、データ又は命令からなる各種情報を中央演算装置15に入力する機能をもっている。
The
中央演算装置15は、通常のCPUであり、例えば、補助記憶装置11の記憶内容を主記憶装置12に読み出して各プログラムを実行する機能と、キーボード13又はマウス14から入力される情報に基づいて各プログラムの実行を制御する機能と、実行結果等をディスプレイ装置16に出力する機能とをもっている。
The
ディスプレイ装置16は、通常の表示装置であり、例えば、編集中の各アーキテクチャモデルやフィーチャモデル等を表示して可視化し、他にも中央演算装置15から出力された情報を表示する機能をもっている。
The
次に、以上のように構成されたソフトウェア資産再利用支援システムの動作を図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
中央演算装置15は、補助記憶装置11からモデル編集プログラム生成プログラムpro1の実行ファイルを読み出して主記憶装置12に書き込むと、操作者によるキーボード13又はマウス14の操作により、主記憶装置12上のモデル編集プログラム生成プログラムpro1を逐次実行する。
When the
中央演算装置15は、モデル編集プログラム生成プログラムpro1の実行中、操作者によるキーボード13又はマウス14の操作により、補助記憶装置11内のメタモデルmt10に基づいてモデル編集プログラムpro2を生成し(ST10)、このモデル編集プログラムpro2を補助記憶装置11に格納する。
The
続いて、計算機10においては、操作者によるキーボード13又はマウス14の操作により、中央演算装置15がアーキテクチャ作成プログラムpro10を起動する。
Subsequently, in the
中央演算装置15は、補助記憶装置11からアーキテクチャ作成プログラムpro10に含まれる各プログラムpro2,3の実行ファイルを読み出して主記憶装置12に書き込んだ後、操作者によるキーボード13又はマウス14の操作により、主記憶装置12上の実行ファイルを逐次実行する(ST20〜ST30)。
The
具体的には、中央演算装置15は、操作者によるキーボード13又はマウス14の操作により、シンボル定義・参照解析プログラムpro3を実行し、開発者に指定された解析対象であるソースコードファイルscfを補助記憶装置11から読み出して主記憶装置12に書き込む。
Specifically, the
続いて中央演算装置15は、シンボル定義・参照解析プログラムpro3に基づき、ソースコードファイルscfに含まれるシンボルであるマクロ名、変数名、クラス名、関数名、が定義されている部位と、その定義を参照している部位を抽出し、シンボル定義情報抽出結果及びシンボル参照情報抽出結果を作成して主記憶装置12に書き込む(ST20)。
Subsequently, the
次に、中央演算装置15は、操作者によるキーボード13又はマウス14の操作により、モデル編集プログラムpro2を実行する(ST30)。
Next, the
始めに中央演算装置15は、モデル編集プログラムpro2の実行中、操作者によるキーボード13又はマウス14の操作により、主記憶装置12内のソースコードファイルscf、シンボル定義情報抽出結果及びシンボル参照情報抽出結果に基づく現状アーキテクチャモデル編集処理を実行し(ST31)、現状アーキテクチャモデルmd1を作成する。ここで、現状アーキテクチャモデル編集処理は、具体的には例えば、シンボル定義情報及びシンボル参照情報に示される各ソースコードファイルscf間の参照関係と、アーキテクチャモデルの構成要素名のうちの当該各ソースコードファイルscfのファイル名に対応する構成要素名と、操作者の操作により入力される情報とに基づいて、当該構成要素名毎に当該参照関係を表現した現状アーキテクチャモデルを作成する処理である。なお、「ソースコードファイル間の参照関係」の用語は、「ソースコードファイル間の階層関係及び振る舞い」を意味している。
First, the
中央演算装置15は、操作者によるキーボード13又はマウス14の操作により、この現状アーキテクチャモデルmd1を補助記憶装置11に格納する。
The
また、中央演算装置15は、モデル編集プログラムpro2の実行中、操作者によるキーボード13又はマウス14の操作により、補助記憶装置11から主記憶装置12に読み出した製品ロードマップrm1をディスプレイ装置16に表示させる。
Further, the
中央演算装置15は、モデル編集プログラムの実行中、操作者によるキーボード13又はマウス14の操作により入力される情報に基づいて、表示中の製品ロードマップrm1に基づくフィーチャモデル編集処理を実行し(ST32)、フィーチャモデルmd4を作成する。フィーチャモデルmd4の作成は、表示中の製品ロードマップrm1に基づく場合に限らず、それぞれ紙面または電子ファイルである製品ロードマップrm1と技術ロードマップrm2のどちらか又は両方を参照しながら、実行することができる。
During execution of the model editing program, the
中央演算装置15は、操作者によるキーボード13又はマウス14の操作により、このフィーチャモデルmd4を補助記憶装置11に格納する。
The
しかる後、中央演算装置15は、モデル編集プログラムpro2の実行中、操作者によるキーボード13又はマウス14の操作により、現状アーキテクチャモデルmd1及びフィーチャモデルmd4を補助記憶装置11から主記憶装置12に読み出した後、現状アーキテクチャモデルmd1及びフィーチャモデルmd4に基づく現実アーキテクチャモデル編集処理を実行し(ST33)、現実アーキテクチャモデルmd3を作成する。また、中央演算装置15は、操作者によるキーボード13又はマウス14の操作により、この現実アーキテクチャモデルmd3を補助記憶装置11に格納する。
Thereafter, the
上述したように本実施形態によれば、既存のソフトウェア資産としての既存のソースコードファイル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
モデル検証プログラム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
補足すると、モデル検証プログラム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
開発者がキーボード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
補足すると、対応関係推定・推奨プログラム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
次に、以上のように構成されたソフトウェア資産再利用支援システムの動作を図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
すなわち、ステップ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
また、ステップST30bにおいては、中央演算装置15は、対応関係推定・推奨プログラムpro5の実行により、ステップST33にて編集中のモデルに対し、操作者によるキーボード13及びマウス14への操作をモニターし、ファイルとファイル間、ファイルとアーキテクチャ構成要素間、アーキテクチャ構成要素とアーキテクチャ構成要素間などの関係性を変更又は新規に作成した場合、例えば他のソースコードファイルについても対応関係を推定し、対応関係が強いと判定した場合には関係性の変更を推奨するメッセージ情報をディスプレイ装置16に出力する。
In step ST30b, the
例えば、中央演算装置15は、操作者によるキーボード13又はマウス14の操作により、あるソールコードファイルscf1をアーキテクチャ構成要素E1に関連付けた場合、ソースコードファイルscf1を参照している別のソースコードファイルscf2の参照数が予め開発者が設定していた閾値(値=xx)以上であるか否かを判定する。
For example, when the
判定の結果、閾値以上である場合には、中央演算装置15は、ソースコードファイルscf2もアーキテクチャ構成要素E1に関連が強いと判定し、ソースコードファイルscf2もアーキテクチャ構成要素E1に分類すべきではないかというメッセージ情報をディスプレイ装置16に出力して開発者に通知する。この通知は、ポップアップウィンドウ等、適宜な形態で実施して構わない。
As a result of the determination, if it is equal to or greater than the threshold value, the
上述したように本実施形態によれば、第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
ここで、技術ロードマップ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
(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
(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
いずれにしても、どのような要件を満たすのかを明確に表現するように、目標アーキテクチャモデル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
続いて、計算機10においては、操作者によるキーボード13又はマウス14の操作により、中央演算装置15がアーキテクチャ作成プログラムpro10を起動する。
Subsequently, in the
中央演算装置15は、補助記憶装置11からアーキテクチャ作成プログラムpro10に含まれる各プログラムpro2,3の実行ファイルを読み出して主記憶装置12に書き込んだ後、操作者によるキーボード13又はマウス14の操作により、主記憶装置12上の実行ファイルを逐次実行する(ST20,ST40)。
The
具体的には、中央演算装置15は、前述した通り、ステップST20を実行し、シンボル定義情報抽出結果及びシンボル参照情報抽出結果を作成して主記憶装置12に書き込む(ST20)。
Specifically, as described above,
次に、中央演算装置15は、操作者によるキーボード13又はマウス14の操作により、モデル編集プログラムpro2を実行する(ST40)。
Next, the
始めに中央演算装置15は、モデル編集プログラムpro2の実行中、操作者によるキーボード13又はマウス14の操作により、主記憶装置12内のソースコードファイルscf、シンボル定義情報抽出結果及びシンボル参照情報抽出結果に基づく現状アーキテクチャモデル編集処理を実行し(ST41)、現状アーキテクチャモデルmd1を作成する。
First, the
中央演算装置15は、操作者によるキーボード13又はマウス14の操作により、この現状アーキテクチャモデルmd1を補助記憶装置11に格納する。
The
続いて、中央演算装置15は、モデル編集プログラムpro2の実行中、操作者によるキーボード13又はマウス14の操作により、補助記憶装置11内の要件定義rd、汎用ドメインノウハウkh1及び特定ドメインノウハウkh2を主記憶装置12に読み出す。また、中央演算装置15は、操作者によるキーボード13又はマウス14の操作により、この要件定義rd、汎用ドメインノウハウkh1及び特定ドメインノウハウkh2に基づく目標アーキテクチャモデル編集処理を実行し(ST42)、目標アーキテクチャモデルmd2を作成する。
Subsequently, the
中央演算装置15は、操作者によるキーボード13又はマウス14の操作により、この目標アーキテクチャモデルmd2を補助記憶装置11に格納する。
The
また、中央演算装置15は、モデル編集プログラムpro2の実行中、操作者によるキーボード13又はマウス14の操作により、補助記憶装置11から主記憶装置12に読み出した製品ロードマップrm1及び技術ロードマップrm2をディスプレイ装置16に表示させる。
The
中央演算装置15は、モデル編集プログラムの実行中、操作者によるキーボード13又はマウス14の操作に基づいて、表示中の製品ロードマップrm1及び技術ロードマップrm2に基づくフィーチャモデル編集処理を実行し(ST43)、フィーチャモデルmd4を作成する。
During execution of the model editing program, the
中央演算装置15は、操作者によるキーボード13又はマウス14の操作により、このフィーチャモデルmd4を補助記憶装置11に格納する。
The
しかる後、中央演算装置15は、モデル編集プログラムpro2の実行中、操作者によるキーボード13又はマウス14の操作により、現状アーキテクチャモデルmd1及びフィーチャモデルmd4を補助記憶装置11から主記憶装置12に読み出した後、現状アーキテクチャモデルmd1、目標アーキテクチャモデルmd2及びフィーチャモデルmd4に基づく現実アーキテクチャモデル編集処理を実行し(ST44)、現実アーキテクチャモデルmd3を作成する。また、中央演算装置15は、操作者によるキーボード13又はマウス14の操作により、この現実アーキテクチャモデルmd3を補助記憶装置11に格納する。
Thereafter, the
(具体例)
図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
次に、以上のように構成されたソフトウェア資産再利用支援システムの動作を図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
すなわち、ステップ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
また、ステップST41b,ST44bにおいては、中央演算装置15は、対応関係推定・推奨プログラムpro5の実行により、ステップST41,ST44にて編集中のモデルに対し、操作者によるキーボード13及びマウス14への操作をモニターし、前述同様に、関係性を変更した場合であって、他のものについても対応関係が強いと判定した場合には関係性の変更を推奨するメッセージ情報をディスプレイ装置16に出力する。
In steps ST41b and ST44b, the
上述したように本実施形態によれば、第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
ここで、ファイル間依存関係解析プログラム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
但し、ファイル間依存関係解析プログラム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
アーキテクチャ構造ルール適用プログラム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
なお、アーキテクチャ構造ルール適用プログラム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
補足すると、アーキテクチャ構造ルール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
フィーチャモデル編集プログラム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
次に、以上のように構成されたソフトウェア資産再利用支援システムの動作を図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
中央演算装置15は、モデル編集プログラム生成プログラムpro1の実行中、操作者によるキーボード13又はマウス14の操作により、補助記憶装置11内のアーキテクチャメタモデルmt11に基づいてアーキテクチャモデル編集プログラムpro21を生成し(ST11)、このアーキテクチャモデル編集プログラムpro21を補助記憶装置11に格納する。
The
同様に、中央演算装置15は、モデル編集プログラム生成プログラムpro1の実行中、操作者によるキーボード13又はマウス14の操作により、補助記憶装置11内のフィーチャメタモデルmt12に基づいてフィーチャモデル編集プログラムpro22を生成し(ST12)、このフィーチャモデル編集プログラムpro2を補助記憶装置11に格納する。
Similarly, the
続いて、計算機10においては、操作者によるキーボード13又はマウス14の操作により、中央演算装置15がアーキテクチャ作成プログラムpro10を起動する。
Subsequently, in the
中央演算装置15は、補助記憶装置11からアーキテクチャ作成プログラムpro10に含まれる各プログラムpro2,pro3,pro6,pro7の実行ファイルを読み出して主記憶装置12に書き込んだ後、操作者によるキーボード13又はマウス14の操作により、主記憶装置12上の実行ファイルを逐次実行する(ST20,ST40’)。
The
具体的には、中央演算装置15は、前述した通り、ステップST20を実行し、シンボル定義情報抽出結果及びシンボル参照情報抽出結果を作成して主記憶装置12に書き込む(ST20)。
Specifically, as described above,
次に、中央演算装置15は、ファイル間依存関係解析プログラムpro6の実行により、主記憶装置12内のシンボル定義情報抽出結果及びシンボル参照情報抽出結果に基づくファイル間依存関係解析処理を実行し(ST21)、得られたファイル間依存関係解析結果を主記憶装置12に書き込む。
Next, the
また、中央演算装置15は、アーキテクチャ構造ルール適用プログラムpro7の実行により、補助記憶装置11から読み出したアーキテクチャ構造ルールasrを主記憶装置12に書き込む。続いて、中央演算装置15は、アーキテクチャ構造ルール適用プログラムpro7の実行により、主記憶装置12内のファイル間依存関係解析結果に対し、主記憶装置12内のアーキテクチャ構造ルールasrを適用してファイル間アーキテクチャ構成要素間依存関係構造情報を作成するアーキテクチャ構造ルール適用処理を実行し(ST22)、得られたファイル間アーキテクチャ構成要素間依存関係構造情報を補助記憶装置11に格納する。
The
中央演算装置15は、操作者によるキーボード13又はマウス14の操作により、アーキテクチャモデル編集プログラムpro21及びフィーチャモデル編集プログラムpro22を実行する(ST40’〜ST44’)。
The
始めに中央演算装置15は、アーキテクチャモデル編集プログラムpro21の実行中、操作者によるキーボード13又はマウス14の操作により、補助記憶装置11から読み出したファイル間アーキテクチャ構成要素間依存関係構造情報を主記憶装置12に書き込む。また、中央演算装置15は、アーキテクチャモデル編集プログラムpro21の実行中、操作者によるキーボード13又はマウス14の操作により、主記憶装置12内のファイル間アーキテクチャ構成要素間依存関係構造情報に基づく現状アーキテクチャモデル編集処理を実行し(ST41’)、現状アーキテクチャモデルmd21を作成する。
First, during execution of the architecture model editing program pro21, the
中央演算装置15は、操作者によるキーボード13又はマウス14の操作により、この現状アーキテクチャモデルmd1を補助記憶装置11に格納する。
The
続いて、中央演算装置15は、アーキテクチャモデル編集プログラムpro21の実行中、操作者によるキーボード13又はマウス14の操作により、補助記憶装置11内の要件定義rd、汎用ドメインノウハウkh1及び特定ドメインノウハウkh2を主記憶装置12に読み出す。また、中央演算装置15は、操作者によるキーボード13又はマウス14の操作により、この要件定義rd、汎用ドメインノウハウkh1及び特定ドメインノウハウkh2に基づく目標アーキテクチャモデル編集処理を実行し(ST42’)、目標アーキテクチャモデルmd2を作成する。
Subsequently, the
中央演算装置15は、操作者によるキーボード13又はマウス14の操作により、この目標アーキテクチャモデルmd2を補助記憶装置11に格納する。
The
また、中央演算装置15は、フィーチャモデル編集プログラムpro22の実行中、操作者によるキーボード13又はマウス14の操作により、補助記憶装置11から主記憶装置12に読み出した製品ロードマップrm1及び技術ロードマップrm2をディスプレイ装置16に表示させる。
The
中央演算装置15は、フィーチャモデル編集プログラムpro2の実行中、操作者によるキーボード13又はマウス14の操作に基づいて、表示中の製品ロードマップrm1及び技術ロードマップrm2に基づくフィーチャモデル編集処理を実行し(ST43’)、フィーチャモデルmd4を作成する。
During execution of the feature model editing program pro2, the
中央演算装置15は、操作者によるキーボード13又はマウス14の操作により、このフィーチャモデルmd4を補助記憶装置11に格納する。
The
しかる後、中央演算装置15は、アーキテクチャモデル編集プログラムpro21の実行中、操作者によるキーボード13又はマウス14の操作により、現状アーキテクチャモデルmd1及びフィーチャモデルmd4を補助記憶装置11から主記憶装置12に読み出した後、現状アーキテクチャモデルmd1、目標アーキテクチャモデルmd2及びフィーチャモデルmd4に基づく現実アーキテクチャモデル編集処理を実行し(ST44’)、現実アーキテクチャモデルmd3を作成する。また、中央演算装置15は、操作者によるキーボード13又はマウス14の操作により、この現実アーキテクチャモデルmd3を補助記憶装置11に格納する。
Thereafter, the
上述したように本実施形態によれば、第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
次に、以上のように構成されたソフトウェア資産再利用支援システムの動作を図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
すなわち、ステップ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
また、ステップST41’b,ST44’bにおいては、中央演算装置15は、対応関係推定・推奨プログラムpro5の実行により、ステップST41’,ST44’にて編集中のモデルに対し、操作者によるキーボード13及びマウス14への操作をモニターし、前述同様に、関係性を変更又は新規に作成した場合であって、他のものについても対応関係が強いと判定した場合には関係性の変更を推奨するメッセージ情報をディスプレイ装置16に出力する。
In steps ST41′b and ST44′b, the
上述したように本実施形態によれば、第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
これに伴い、補助記憶装置11は、図2に示した記憶内容に比べ、作成されない現状アーキテクチャモデルmd1が省略されたものとなる。
Accordingly, in the
次に、以上のように構成されたソフトウェア資産再利用支援システムの動作を図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
続いて、中央演算装置15は、操作者によるキーボード13又はマウス14の操作により、モデル編集プログラムpro2を実行する(ST30’)。
Subsequently, the
始めに中央演算装置15は、モデル編集プログラムpro2の実行中、操作者によるキーボード13又はマウス14の操作により、補助記憶装置11から主記憶装置12に読み出した製品ロードマップrm1をディスプレイ装置16に表示させる。
First, the
中央演算装置15は、モデル編集プログラムpro2の実行中、操作者によるキーボード13又はマウス14の操作に基づいて、表示中の製品ロードマップrm1に基づくフィーチャモデル編集処理を実行し(ST32)、フィーチャモデルmd4を作成する。
During execution of the model editing program pro2, the
中央演算装置15は、操作者によるキーボード13又はマウス14の操作により、このフィーチャモデルmd4を補助記憶装置11に格納する。
The
続いて、中央演算装置15は、モデル編集プログラムpro2の実行中、操作者によるキーボード13又はマウス14の操作により、現実アーキテクチャモデル編集処理を実行し(ST33’)、現実アーキテクチャモデルmd3を作成する。
Subsequently, during execution of the model editing program pro2, the
具体的には中央演算装置15は、フィーチャモデルmd4を補助記憶装置11から主記憶装置12に読み出した後、このフィーチャモデルmd4をディスプレイ装置16の一部に表示させる。
Specifically, the
これに加え、中央演算装置15は、このフィーチャモデルmd4と、主記憶装置12内のシンボル定義情報及びシンボル参照情報を用いて表記される既存ソフトウェア資産の構造をディスプレイ装置16の残りの一部に表示させる。このとき、ディスプレイ装置16においては、図25に示すように、例えばフィーチャモデルmd4が画面の左半分に表示され、既存ソフトウェア資産の構造が画面の右半分に表示される。なお、フィーチャモデルmd4及び既存ソフトウェア資産の構造は、図25の例に限らず、同一画面内のどの領域に表示してもよい。
In addition, the
続いて、中央演算装置15は、フィーチャモデルmd4及び既存ソフトウェア資産の構造の表示中、操作者の操作により入力される情報とに基づいて、既存ソフトウェア資産のソースコードファイルscfを改善のために変更作業しながら編集すると共に、アーキテクチャモデルの構成要素毎に当該参照関係を表現した現実アーキテクチャモデルmd3を作成する。
Subsequently, during the display of the feature model md4 and the structure of the existing software asset, the
このようなステップ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
上述したように本実施形態によれば、シンボル定義・参照解析処理による解析結果と、フィーチャモデル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.
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
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
前記計算機を、
前記各アーキテクチャモデル及び前記フィーチャモデルの作成中、制約条件記述に基づいて、当該作成中のモデルが制約条件に違反していないことを検証し、制約条件に違反している場合には当該違反を示す情報を出力する手段、
として更に機能させるためのソフトウェア資産再利用支援プログラム。 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
前記計算機を、
前記現状アーキテクチャモデル、又は、前記現実アーキテクチャモデル、又は、前記フィーチャモデル、の作成中、前記操作により入力される情報に基づいて、参照先ファイル名と構成要素名との関係を変更又は新規に作成した場合、当該参照先ファイル名の参照シンボル数が一定値以上である、当該参照先ファイル名に対応する参照元ファイル名についても変更又は新規に関係付けられた構成要素名に当該関係を変更することを推奨する情報を出力する手段、
として更に機能させるためのソフトウェア資産再利用支援プログラム。 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
前記計算機を、
前記各アーキテクチャモデル及び前記フィーチャモデルの作成中、制約条件記述に基づいて、当該作成中のモデルが制約条件に違反していないことを検証し、制約条件に違反している場合には当該違反を示す情報を出力する手段、
として更に機能させるためのソフトウェア資産再利用支援プログラム。 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
前記計算機を、
前記現状アーキテクチャモデル、又は、前記現実アーキテクチャモデル、又は、前記フィーチャモデル、の作成中、前記操作により入力される情報に基づいて、参照先ファイル名と構成要素名との関係を変更又は新規に作成した場合、当該参照先ファイル名の参照シンボル数が一定値以上である、当該参照先ファイル名に対応する参照元ファイル名についても変更又は新規に関係付けられた構成要素名に当該関係を変更することを推奨する情報を出力する手段、
として更に機能させるためのソフトウェア資産再利用支援プログラム。 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
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)
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)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR102258275B1 (en) * | 2019-07-05 | 2021-05-28 | 주식회사 엘지씨엔에스 | Business asset management system |
Citations (2)
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 |
-
2008
- 2008-05-13 JP JP2008126137A patent/JP5085421B2/en not_active Expired - Fee Related
Patent Citations (2)
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)
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 |