(57)【要約】【課題】  結合テスト工程においてモジュールの誤結合を防止することが可能なソフトウェア開発装置を提供する。【解決手段】  記憶部の設計書に分割情報を記憶しておく。分割情報はファイル記号及び分割単位記号で構成され、分割単位記号は、ソフトウェアの分割単位を示すものであり、この分割単位でモジュールが結合される。そこで、分割単位ごとのファイル名を取得した後（Ｓ３００）、モジュール名に含まれる分割単位記号と分割情報を構成する分割単位記号とを比較し（Ｓ３３０）、一致しているか否かを判断する（Ｓ３４０）。ここで分割単位記号が一致していると判断された場合（Ｓ３４０：ＹＥＳ）、モジュールを結合して（Ｓ３５０）、結合テストを実施する（Ｓ３６０）。【選択図】  図３
2014206865.tif 000002
【特許請求の範囲】
【請求項１】
構造設計工程にて設計されるソフトウェアの分割単位に含まれるソフトウェアモジュールを、当該分割単位毎に結合し結合テストを実施するソフトウェア開発装置（１）であって、
前記ソフトウェアモジュールは、前記分割単位を示す分割単位情報を有しており、
結合対象となるソフトウェアモジュールのモジュール名のリストを含む管理情報（３１）及び前記分割単位情報を含む分割情報（３２ａ）を記憶する記憶部（３０）と、
前記管理情報に含まれる前記リストに基づき、保存先のファイルから結合対象のソフトウェアモジュールを検索する検索手段（１１）と、
前記記憶部に記憶された前記分割情報に含まれる前記分割単位情報と前記ソフトウェアモジュールの有する前記分割単位情報とを比較し、前記検索手段にて検索されたソフトウェアモジュールの正当性を判断する判断手段（１２）と、
を備えていることを特徴とするソフトウェア開発装置。
【請求項２】
請求項１に記載のソフトウェア開発装置において、
さらに、前記判断手段による判断結果に従って、前記ソフトウェアモジュールを結合して結合テストを実施する結合実施手段（１３）を備えていること
を特徴とするソフトウェア開発装置。
【請求項３】
請求項１又は２に記載のソフトウェア開発装置において、
前記ソフトウェアモジュールは、そのモジュール名に前記分割単位情報が含まれるように命名されていること
を特徴とするソフトウェア開発装置。
【請求項４】
請求項１〜３のいずれか一項に記載のソフトウェア開発装置において、
前記ソフトウェアモジュールは、前記保存先のファイルを示すファイル情報を有していること
を特徴とするソフトウェア開発装置。
【請求項５】
請求項４に記載のソフトウェア開発装置において、
前記ソフトウェアモジュールは、そのモジュール名に前記ファイル情報が含まれるように命名されていること
を特徴とするソフトウェア開発装置。
【請求項６】
請求項１〜５のいずれか一項に記載のソフトウェア開発装置において、
前記分割情報は、前記分割単位情報と前記ファイル情報とで構成されていること
を特徴とするソフトウェア開発装置。
【請求項７】
請求項１〜６のいずれか一項に記載のソフトウェア開発装置において、
前記ソフトウェアモジュールは、前記分割単位の中でユニークとなるような識別情報を有していること
を特徴とするソフトウェア開発装置。
【請求項８】
請求項７に記載のソフトウェア開発装置において、
前記ソフトウェアモジュールは、そのモジュール名に前記識別情報が含まれるように命名されていること
を特徴とするソフトウェア開発装置。
【請求項９】
請求項１〜８のいずれか一項に記載のソフトウェア装置において、
前記モジュール名は、前記各種情報を示す記号で構成されていること
を特徴とするソフトウェア開発装置。
【請求項１０】
請求項１〜９のいずれか一項に記載のソフトウェア開発装置において、
前記管理情報を入力する管理情報入力部（１０）と、
前記管理情報入力部を介して入力された前記管理情報を前記記憶部に記憶する管理情報記憶制御手段（１４）と、
を備えていることを特徴とするソフトウェア開発装置。
【請求項１１】
請求項１〜１０のいずれか一項に記載のソフトウェア開発装置において、
前記分割情報を入力する分割情報入力部（１０）と、
前記分割情報入力部を介して入力された前記分割情報を前記記憶部に記憶する分割情報記憶制御手段（１５）と、
を備えていることを特徴とするソフトウェア開発装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、いわゆるＶモデルに沿ってソフトウェアを開発するためのソフトウェア開発装置に関する。
【背景技術】
【０００２】
ソフトウェアの設計では、いわゆるＶモデルが採用されることが多く、例えば図６（ａ）に示すように、「要件定義工程」→「構造設計工程」→「単体設計工程」→「コーディング工程」→「単体テスト工程」→「結合テスト工程」→「適確性確認テスト工程」という流れで開発がなされる。この設計手法は、車両制御ソフトウェア（以下「車両制御ソフト」という）にも採用されている。
【０００３】
車両制御ソフトには、エアコン制御やメータ制御など種々のものがある。車両制御ソフトは、単体設計工程で設計されるソフトウェアモジュール（以下「モジュール」という）を構成要素とし、構造設計工程での設計に基づき、複数のモジュールが結合されて構成される。そのため、単体設計工程に対応する単体テスト工程における単体テスト、及び、構造設計工程に対応する結合テスト工程における結合テストを経て、適確性確認テスト工程において適確性が確認される。
【０００４】
従来、結合テスト工程における結合テストを効率よく行う装置が開示されている（例えば、特許文献１参照）。この装置では、設計書情報を読み取り、ソフトウェアの実行結果から処理データを実行履歴情報として読み取り、実行履歴情報と設計書情報とを比較して、その判定結果を出力する。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２０００−２７６３７５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
ところで、結合対象となるモジュールは構成管理リストに記載される。このとき、モジュールの特性に合わせたモジュール名が構成管理リストに記載されるのであるが、機能の異なるモジュールに同一のモジュール名が付与されることがあり、この場合、構成管理リストに基づく結合を行うと、誤結合を招来する虞があった。
【０００７】
もちろん、結合後には結合テストが行われるが、図６（ｂ）に示すように、所定のテストポイントでテストを行った場合、当該テストポイントでたまたま同一の実行結果が得られることがある。このときは、結合テスト工程では相違を発見できず、次の工程である適確性確認テスト工程で相違を発見するという事態が生じる。結果として、テストに要する工数が増大することになってしまっていた。
【０００８】
本発明は、上述した課題を解決するためになされたものであり、その目的は、結合テスト工程においてモジュールの誤結合を防止することが可能なソフトウェア開発装置を提供することにある。
【課題を解決するための手段】
【０００９】
上記目的を達成するためになされた本発明のソフトウェア開発装置（１）は、構造設計工程にて設計されるソフトウェアの分割単位に含まれるソフトウェアモジュールを、当該分割単位毎に結合し結合テストを実施するものである。
【００１０】
ここで、ソフトウェアモジュールは、分割単位を示す分割単位情報を有している。分割単位とは、図５に示すように、同一ファイル内のモジュールを単体設計者ごとに分割する単位である。例えば図５では、単体設計者Ａにモジュールａ，ｂ，ｃが割り振られている。同様に、単体設計者Ｂにモジュールｄ，ｅ，ｆが割り振られ、単体設計者Ｃにモジュールｇ，ｈ，ｉが割り振られ、単体設計者Ｄにモジュールｊ，ｋ，ｌが割り振られている。そして、これら割り振りの単位が分割単位である。
【００１１】
本発明では、記憶部（３０）に、管理情報（３１）及び分割情報（３２ａ）を記憶する。管理情報は、結合対象となるソフトウェアモジュールのモジュール名のリストを含む。一方、分割情報は、上述の分割単位情報を含む。
【００１２】
ここで特に、検索手段（１１）が、管理情報に含まれるリストに基づき、保存先のファイルから結合対象のソフトウェアモジュールを検索する。すると、判断手段（１２）が、記憶部に記憶された分割情報に含まれる分割単位情報とソフトウェアモジュールの有する分割単位情報とを比較し、検索手段にて検索されたソフトウェアモジュールの正当性を判断する。
【００１３】
つまり、結合対象となるモジュールの検索をかけた後、分割情報に含まれる分割単位情報を用い、モジュールの正当性を判断するのである。このようにすれば、結合テスト工程においてモジュールの誤結合を防止することができ、その結果、テストに要する工数の増大を抑制することができる。
【００１４】
なお、判断手段による判断結果に従い、結合実施手段（１３）によって、ソフトウェアモジュールを結合し結合テストを実施するようにしてもよい。
【図面の簡単な説明】
【００１５】
【図１】ソフトウェア開発装置の概略構成を示すブロック図である。
【図２】（ａ）は設計処理を示すフローチャートであり、（ｂ）はコーディング処理を示すフローチャートである。
【図３】結合テスト処理を示すフローチャートである。
【図４】従来の結合テスト処理を示すフローチャートである。
【図５】ファイル内でのモジュールの分割単位を示す説明図である。
【図６】（ａ）はソフトウェア開発におけるＶモデルを示す説明図であり、（ｂ）は結合テストのテストポイントと実行結果の一致を示す説明図である。
【発明を実施するための形態】
【００１６】
以下、本発明の一実施形態を図面に基づいて説明する。
図１に示すように、本実施形態のソフトウェア開発装置１は、処理実行部１０を中心に構成されている。処理実行部１０は、ＣＰＵ、ＲＯＭ、ＲＡＭ、Ｉ／Ｏ及びこれらを接続するバスラインを備えている。処理実行部１０には、入力部２０、記憶部３０、表示部４０が接続されている。
【００１７】
入力部２０は、ユーザが情報を入力するための構成であり、例えばキーボードやマウスなどのポインティングデバイスとして具現化される。
記憶部３０は、入力された情報を記憶するための構成であり、ハードディスクドライブ（ＨＤＤ）などとして具現化される。この記憶部３０には、構成管理リスト３１、及び、設計書３２が記憶される。
【００１８】
表示部４０は、情報出力を行うための構成であり、液晶ディスプレイなどとして具現化される。
次に、図２（ａ）のフローチャートに基づき、設計処理について説明する。設計処理は、ユーザから入力された情報を記憶部３０に記憶するものである。
【００１９】
最初のＳ１００では、構成管理リスト３１を登録する。この処理は、記憶部３０に記憶される構成管理リスト３１に各種情報を登録するものである。具体的には、モジュールの保存先ファイル名、所定の命名規則に従ったモジュール名が登録される。ここでユーザは、定義された要件により車両制御ソフトの構造を検討し、分割単位を決定する。この分割単位の決定が構造設計に該当し、当該分割単位が結合テストの対象となる。また、各モジュールの設計が単体設計に相当する。そして、分割単位毎にモジュール名が構成管理リスト３１に登録される。すなわち、分割単位とは、図５に示すように、同一ファイル内のモジュールを単体設計者ごとに分割する単位である。図５では、単体設計者Ａにモジュールａ，ｂ，ｃが割り振られている。同様に、単体設計者Ｂにモジュールｄ，ｅ，ｆが割り振られ、単体設計者Ｃにモジュールｇ，ｈ，ｉが割り振られ、単体設計者Ｄにモジュールｊ，ｋ，ｌが割り振られている。そして、これら割り振りの単位が分割単位である。
【００２０】
ここで本実施形態におけるモジュールの命名規則について説明する。本実施形態のモジュール名は、各種情報を示す記号で構成されている。具体的には、モジュールの保存先ファイル名を示す記号（以下「ファイル記号」という）＋分割単位を示す記号（以下「分割単位記号」という）＋番号である。例えば保存先ファイルがファイルＡ、ファイルＢ、ファイルＣ、・・・となっている場合、ファイル記号を「Ａ」、「Ｂ」、「Ｃ」、・・・という具合に示す。また例えば、分割単位が「Ａ」、「Ｂ」、「Ｃ」、・・・となっている場合、分割単位記号を、「Ａ」、「Ｂ」、「Ｃ」、・・・という具合に示す。そして、この分割単位に含まれるモジュールを区別するために付されるのが「番号」である。「番号」は、識別情報であり、連番で付すことが考えられる。したがって、保存先のファイル名が「ファイルＡ」である場合、分割単位が「Ａ」のモジュールは、「ＡＡ１」、「ＡＡ２」、「ＡＡ３」、・・・という具合に命名され、分割単位が「Ｂ」のモジュールは、「ＡＢ１」、「ＡＢ２」、「ＡＢ３」という具合に命名される。
【００２１】
なお、ここでは、ファイル記号及び分割単位記号を共に「Ａ」、「Ｂ」、「Ｃ」、・・・としたが、同一の記号である必要はない。例えばファイル記号を「Ａ」、「Ｂ」、「Ｃ」、・・・とし、分割単位記号を「Ｘ」、「Ｙ」、「Ｚ」、・・・としてもよい。
【００２２】
次のＳ１１０では、設計書３２を登録する。この設計書３２には、分割情報３２ａが記憶される。この分割情報３２ａは、本実施形態では、ファイル記号、及び、分割単位記号で構成されている。したがって、保存先ファイル名が「ファイルＡ」であり、分割単位が「Ａ」及び「Ｂ」の２つである場合、分割情報３２ａは、「ＡＡ」及び「ＡＢ」となる。
【００２３】
次に、図２（ｂ）のフローチャートに基づき、コーディング処理について説明する。
最初のＳ２００では、モジュール名の再登録を行う。これは、構造設計段階で分割単位が決定された後、上述したモジュールの単体設計において１つのモジュールが２以上のモジュールに分割されることがあり得るためである。ここでは、モジュールの命名規則に基づきユーザがモジュールに付する「番号」を決定するため、新たな番号を有するモジュール名を構成管理リスト３１に再登録する。
【００２４】
続くＳ２１０では、ファイルの保存を行う。この処理は、保存先のファイルに、モジュールを保存するものである。このモジュールは、ユーザによってコーディングされたものであり、構成管理リスト３１のモジュール名に対応する実体である。
【００２５】
次に、図３のフローチャートに基づき、結合テスト処理について説明する。この結合テスト処理は、各モジュールの単体テストを経て行われる。また、結合テスト処理は、分割単位毎に繰り返される。
【００２６】
最初のＳ３００では、分割単位毎のモジュール名を取得する。この処理は、構成管理リスト３１に登録された分割単位でモジュール名を取得するものである。
続くＳ３１０では、保存先のファイルからモジュール名を検索する。この処理は、Ｓ３００で取得したモジュール名で、保存先のファイルを検索し、結合対象となるモジュールを決定するものである。
【００２７】
次のＳ３２０では、保存先のファイルが正しいか否かを判断する。この処理は、Ｓ３１０で検索されたモジュールの保存先のファイルが正しいか否かを判断するものである。ここで保存先のファイルが正しいと判断された場合（Ｓ３２０：ＹＥＳ）、Ｓ３３０へ移行する。一方、保存先のファイルが正しくないと判断された場合（Ｓ３２０：ＮＯ）、Ｓ３９０にてエラー出力を行い、その後、結合テスト処理を終了する。
【００２８】
Ｓ３３０では、分割単位記号を比較する。この処理は、結合対象として検索されたモジュール名を構成する分割単位記号と分割情報３２ａを構成する分割単位記号とを比較するものである。
【００２９】
次のＳ３４０では、分割単位記号が一致しているか否かを判断する。この処理は、Ｓ３００にて取得したモジュールのすべてが同じ分割単位に含まれるか否かを判断するものであり、検索したモジュールの正当性を判断するものである。ここで一致していると判断された場合（Ｓ３４０：ＹＥＳ）、Ｓ３５０にてモジュールを結合し、Ｓ３６０にて結合テストを実施して、Ｓ３７０へ移行する。一方、一致していないと判断された場合（Ｓ３４０：ＮＯ）、Ｓ３９０にてエラー出力を行い、その後、結合テスト処理を終了する。
【００３０】
結合テスト実施後に移行するＳ３７０では、結合テストにエラーが有るか否かを判断する。ここでエラーが有ると判断された場合（Ｓ３７０：ＹＥＳ）、Ｓ３８０にてエラー出力を行い、その後、ユーザによるエラー箇所の修正を経て、Ｓ３００からの処理を繰り返す。一方、エラーが無いと判断された場合（Ｓ３７０：ＮＯ）、結合テスト処理を終了する。
【００３１】
次に本実施形態のソフトウェア開発装置１が奏する効果を説明する。なお、ここでの説明に対する理解を容易にするため、従来の結合テスト処理を最初に説明し、その課題を述べる。
【００３２】
従来の結合テスト処理は、図４に示すごとくである。本実施形態の結合テスト処理と同様、最初に分割単位毎のモジュール名を取得し（Ｓ４００）、保存先のファイルからモジュール名を検索し（Ｓ４１０）、保存先のファイルが正しいか否かを判断する（Ｓ４２０）。この後、本実施形態とは異なり、モジュールを結合し（Ｓ４３０）、結合テストを実施する（Ｓ４４０）。ところが、同一のモジュール名が、保存先のファイル中に２以上存在することがあった。
【００３３】
その理由は、従来のモジュールの命名規則が、例えばモジュールの特性を表すものとして設定されていたためである。例えば内気温に関するモジュールをＩｎｓｉｄｅの頭文字をとって「Ｉ−Ｔｅｍｐ」とし、外気温に関するモジュールをＥｘｔｅｒｉｏｒの頭文字をとって「Ｅ−Ｔｅｍｐ」とする。また例えば、エンジン水温に関するモジュールをＥｎｇｉｎｅの頭文字をとって「Ｅ−Ｔｅｍｐ」とし、エアコン設定温度に関するモジュールをＳｅｔｔｉｎｇの頭文字をとって「Ｓ−Ｔｅｍｐ」とする。
【００３４】
このとき、これら４つのモジュールが１つの保存先ファイルに存在した場合、モジュール名「Ｅ−Ｔｅｍｐ」で検索をかけると、結合対象とは異なるファイルが結合されてしまうことがある（図４中のＳ４３０）。そして、結合テストが実施されたとき（Ｓ４４０）、図５（ｂ）に示すように、所定のテストポイントで同一の実行結果が得られた場合には、エラーが無いと判断されて（Ｓ４５０：ＮＯ）、結合テスト処理で相違を発見できない。このときは、次の工程である適確性確認テスト工程で相違を発見することになり、結果として、テストに要する工数が増大することになってしまっていた。
【００３５】
これに対し、本実施形態では、記憶部３０の設計書３２に分割情報３２ａを記憶しておく。分割情報３２ａはファイル記号及び分割単位記号で構成され、分割単位記号は、ソフトウェアの分割単位を示すものであり、この分割単位でモジュールが結合される。そこで、ファイルからモジュール名で検索をかけた後（図３中のＳ３１０）、モジュール名に含まれる分割単位記号と分割情報３２ａを構成する分割単位記号とを比較し（Ｓ３３０）、一致しているか否かを判断する（Ｓ３４０）。ここで分割単位記号が一致していると判断された場合（Ｓ３４０：ＹＥＳ）、モジュールを結合して（Ｓ３５０）、結合テストを実施する（Ｓ３６０）。
【００３６】
すなわち、ソフトウェアモジュール（モジュール）は、分割単位を示す分割単位情報（分割単位記号）を有しており、結合対象となるソフトウェアモジュールのモジュール名のリストを含む管理情報（３１）及び分割単位情報を含む分割情報３２ａを記憶する記憶部３０と、管理情報に含まれるリストに基づき、保存先のファイルから結合対象のソフトウェアモジュールを検索する検索手段１１と、記憶部３０に記憶された分割情報３２ａに含まれる分割単位情報とソフトウェアモジュールの有する分割単位情報とを比較し、検索手段１１にて検索されたソフトウェアモジュールの正当性を判断する判断手段１２と、判断手段１２による判断結果に従って、ソフトウェアモジュールを結合して結合テストを実施する結合実施手段１３と、を備えている。
【００３７】
つまり、結合対象となるモジュールの検索をかけた後、分割情報３２ａに含まれる分割単位情報を用い、モジュールの正当性を判断するのである。このようにすれば、結合テスト工程においてモジュールの誤結合を防止することができ、その結果、テストに要する工数の増大を抑制することができる。
【００３８】
また、本実施形態では、モジュールの命名規則から、モジュール名に「分割単位記号」が含まれている。すなわち、モジュールは、そのモジュール名に分割単位情報（分割単位記号）が含まれるように命名されている。これにより、分割情報３２ａに含まれる分割単位記号との比較が容易となる。
【００３９】
さらにまた、本実施形態では、モジュールの命名規則から、モジュール名に「ファイル記号」が含まれている。すなわち、モジュールは、保存先のファイルを示すファイル情報（ファイル記号）を有している。具体的には、モジュール名にファイル情報が含まれるように命名されている。これにより、モジュールの検索をした後、当該モジュールの保存先のファイルが正しいか否かを容易に判断することができる。
【００４０】
また、本実施形態では、モジュールの命名規則から、モジュール名に「番号」が含まれている。すなわち、モジュールは、分割単位の中でユニークとなるような識別情報（番号）を有している。具体的には、モジュールは、そのモジュール名に識別情報が含まれるように命名されている。ところで、構造設計段階で分割単位が決定された後、上述したモジュールの単体設計において１つのモジュールが２以上のモジュールに分割されることがあり得る。そのため、番号をユニークに付するようにすれば、各モジュールが分割単位の中でユニークとなり、各モジュールの管理が容易になる。
【００４１】
さらにまた、本実施形態では、モジュール名が、モジュールの保存先ファイル名を示すファイル記号＋分割単位を示す分割単位記号＋番号となっている。したがって、保存先のファイル名が「ファイルＡ」である場合、分割単位が「Ａ」のモジュールは、「ＡＡ１」、「ＡＡ２」、「ＡＡ３」、・・・という具合に命名され、分割単位が「Ｂ」のモジュールは、「ＡＢ１」、「ＡＢ２」、「ＡＢ３」という具合に命名される。すなわち、モジュール名は、各種情報を示す記号で構成されている。これにより、モジュールの命名規則が簡潔になる。また、ファイル記号、分割単位記号という具合に設計段階に即したものとなっているため、設計工程レベルがモジュール名から区別し易くなる。
【００４２】
また、本実施形態では、設計処理において、構成管理リスト３１を登録する（図２（ａ）中のＳ１００）。また、設計書３２を登録する（Ｓ１１０）。さらに、コーディング処理において、モジュール名を再登録し（図２（ｂ）中のＳ２００）、ファイル保存を行う（Ｓ２１０）。すなわち、管理情報を入力する管理情報入力部（２０）と、管理情報入力部（２０）を介して入力された管理情報（３１）を記憶部３０に記憶する管理情報記憶制御手段１４とを備えている。また、分割情報３２ａを入力する分割情報入力部（２０）と、分割情報入力部（２０）を介して入力された分割情報３２ａを記憶部３０に記憶する分割情報記憶制御手段１５とを備えている。これにより、必要情報の入力も本装置で可能となる。
【００４３】
以上、本発明は、上述した実施形態に何ら限定されるものではなく、その技術的範囲を逸脱しない限り、種々なる形態で実施することができる。
例えば、上記実施形態では、従来と同様に検索をかけたファイルが保存先ファイルとして正しいか否かを判断している（図３中のＳ３２０）。本実施形態では、分割情報３２ａが分割単位記号とファイル記号とで構成されている。すなわち、分割情報３２ａは、分割単位情報とファイル情報とで構成されている。そこで、この分割情報３２ａを構成するファイル記号を用いて、保存先ファイルの正当性を判断するようにしてもよい。このようにすれば、保存先ファイルが正しいか否かを確実に判断することができる。
【符号の説明】
【００４４】
１…ソフトウェア開発装置、１０…処理実行部、１１…検索手段、１２…判断手段、１３…結合実施手段、１４…管理情報記憶制御手段、１５…分割情報記憶制御手段、２０…入力部、３０…記憶部、３１…構成管理リスト、３２…設計書、３２ａ…分割情報、４０…表示部
【図１】
2014206865.tif 000003
【図２】
2014206865.tif 000004
【図３】
2014206865.tif 000005
【図４】
2014206865.tif 000006
【図５】
2014206865.tif 000007
【図６】
2014206865.tif 000008