JP2020077191A - プロダクトライン開発支援装置 - Google Patents

プロダクトライン開発支援装置 Download PDF

Info

Publication number
JP2020077191A
JP2020077191A JP2018209970A JP2018209970A JP2020077191A JP 2020077191 A JP2020077191 A JP 2020077191A JP 2018209970 A JP2018209970 A JP 2018209970A JP 2018209970 A JP2018209970 A JP 2018209970A JP 2020077191 A JP2020077191 A JP 2020077191A
Authority
JP
Japan
Prior art keywords
source code
development
variability
unit
function
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2018209970A
Other languages
English (en)
Other versions
JP7134068B2 (ja
Inventor
智也 白川
Tomoya Shirakawa
智也 白川
正実 岩橋
Masami Iwahashi
正実 岩橋
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Mitsubishi Electric Corp
Original Assignee
Mitsubishi Electric Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Mitsubishi Electric Corp filed Critical Mitsubishi Electric Corp
Priority to JP2018209970A priority Critical patent/JP7134068B2/ja
Publication of JP2020077191A publication Critical patent/JP2020077191A/ja
Application granted granted Critical
Publication of JP7134068B2 publication Critical patent/JP7134068B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Machine Translation (AREA)
  • Stored Programmes (AREA)

Abstract

【課題】従来の派生開発からソフトウェアプロダクトライン開発への開発環境の移行を支援するソフトウェアプロダクトライン開発支援装置を提供する。【解決手段】ソフトウェアプロダクトライン開発支援装置は、派生開発のソースコード21をもとに種々の処理を行って、プロダクトライン開発で用いるコア資産の生成を支援する。プロダクトライン開発支援装置は、ソースコード21から、可変部分及び可変部分に対応するソフトウェア部品が定義されて再構成される複数機種対応ソースコード221を生成し、ソースコード21から、ソースコード21の制御項目名が自然言語で記述されて各制御項目名に対応するソースコード21の内容が記述されるソフトウェア設計書222を生成し、機能仕様書223、複数機種対応ソースコード221及びソフトウェア設計書222に基づいて、可変性/フィーチャ定義書225を生成する。【選択図】図4

Description

本発明は、製品系列に再利用可能なソフトウェア資産の開発支援装置に関する。
従来のソフトウェア開発は、類似機種と共通する部分を流用して、共通しない部分のみを作成する派生開発が主流であった。しかし、近年の、組み込み機器の高機能化に伴うソフトウェアの大規模化、及び顧客ニーズの多様化による派生機種の増加により、ソフトウェア開発の効率化が重要な課題となっている。
ソフトウェア開発の効率化を実現する方法として、プロダクトライン開発(ソフトウェアプロダクトライン開発ともいう。以後、SPL開発という)がある。SPL開発では、製品系列のロードマップがあらかじめ定義され、各製品間の、可変部分及び当該可変部分に対応するソフトウェア部品が定義される。可変部分及びソフトウェア部品は、区別されて再利用可能な資産(以後、コア資産という)として開発され、各製品に適用される。これにより、製品系列全体のソフトウェア開発は効率化する。
特開2012−226398号公報 特開2013−206443号公報 特開2009−86791号公報
派生開発からSPL開発に開発環境を移行する場合、コア資産を開発するための技術を獲得して、コア資産を開発する必要がある。
コア資産を開発するための技術として、フィーチャ分析技術がある。フィーチャとは、例えば、外部から識別可能な製品間の特性の差異などの、製品系列において、各製品を特徴付ける要素のことをいう。フィーチャを適切に分析することによって、可変部分及びソフトウェア部品を定義して、コア資産を開発する。しかし、高精度なフィーチャ分析は、製品系列全体を俯瞰して各製品間の依存関係を考慮することを要するので容易ではない。
また、コア資産は、ソースコードと、各顧客や開発部門等からのニーズに対応する仕様書やソフトウェア設計書等のドキュメントとを含む。ドキュメントは、顧客や開発部門等のソフトウェア開発に精通していない者に対しても高い可読性を有する必要がある。
さらに、派生開発におけるドキュメントは、その内容がソースコードと乖離していたり、記載が不十分であったりする場合がある。当該ドキュメントは、SPL開発に移行する際に、記載を充実化した上でコア資産とする必要がある。
特許文献1は、UML形式のソフトウェア設計書を自動生成する技術を開示している。しかしながら、UML形式のソフトウェア設計書は、ソフトウェア開発に精通していない者にとって可読性が低い。
特許文献2は、仕様書からフィーチャの候補を生成するソフトウェア資産再利用支援装置を開示している。しかしながら、特許文献2の装置は、仕様書の内容がソースコードと乖離していたり、記載が不十分であったりする場合、適切にフィーチャの候補を生成することができない。
特許文献3は、SPL開発において、コア資産の変更履歴に基づいてコア資産をグループ化することで、可変部分及びソフトウェア部品の定義を効率化する技術を開示している。しかしながら、特許文献3は、派生開発からSPL開発への開発環境の移行を支援するものではない。
本発明は、従来の派生開発からSPL開発への開発環境の移行を支援するプロダクトライン開発支援装置を提供する。
本発明の一態様にかかるSPL開発支援装置は、派生開発のソースコードを分析して、プロダクトライン開発で使用するコア資産の生成を支援する。SPL開発支援装置は、派生開発のソースコードをもとに種々の処理を行う処理部を備える。処理部は、ソースコード解析/生成部と、仕様書リバース部と、可変性/フィーチャ分析部と、を備える。ソースコード解析/生成部は、派生開発のソースコードから、可変部分及び可変部分に対応するソフトウェア部品が定義されて再構成される複数機種対応ソースコードを生成する。仕様書リバース部は、派生開発のソースコードから、派生開発のソースコードの制御項目名が自然言語で記述されて各制御項目名に対応するソースコードの内容が記述されるソフトウェア設計書を生成する。可変性/フィーチャ分析部は、機能仕様書、複数機種対応ソースコード、及びソフトウェア設計書に基づいて、可変性/フィーチャ定義書を生成する。機能仕様書は、派生開発のソースコードの各機能項目名及び内容が自然言語で記述されるデータである。可変性/フィーチャ定義書は、機能仕様書の機能項目名、可変部分、ソフトウェア部品、及び派生開発の各機種を特徴付ける要素であるフィーチャを対応付けたデータである。
本発明に係るSPL開発支援装置は、従来の派生開発からSPL開発への開発環境の移行を支援することができる。
実施の形態1に係るSPL開発支援装置の構成を示すブロック図 SPL開発支援装置のコア資産DBに格納される情報を示す図 コア資産DBの機能仕様書とソフトウェア設計書との関係を説明するための図 SPL開発支援装置の構成要素と各構成要素に対する入出力データとを示す図 ソースコード解析/生成部の動作を示すフローチャート 従来の派生開発のソースコードの一例を示す図 ユーザによるソースコード解析/生成部の操作を説明するための図 複数機種対応ソースコードの一例を示す図 仕様書リバース部の動作を示すフローチャート 仕様書リバース部の動作を説明するための図 仕様書リバース部の動作を説明するための図 可変性/フィーチャ分析部の動作を示すフローチャート 可変性/フィーチャ分析部の動作を説明するための図 依存関係DBを説明するための図 可変性/フィーチャ分析部の動作を示すフローチャート 可変性/フィーチャ定義書の一例を示す図 可変性/フィーチャ分析部の動作を説明するための図 可変性/フィーチャ分析部の動作を説明するための図 可変性/フィーチャ分析部の動作を説明するための図 実施の形態2に係るSPL開発支援装置の構成要素と各構成要素に対する入出力データとを示す図 仕様書リバース部の動作を説明するための図 従来の派生開発の別のソースコードの一例を示す図
以下で説明する複数の実施の形態及びその変形例は、それぞれ、特徴的構成を有する。ある形態における特徴的構成または動作は、他の形態においても適用可能であり、また、本発明は、以下の例示する形態に限定されるものではない。
実施の形態1.
1.構成
図1は、実施の形態1に係るSPL開発支援装置1の構成を示すブロック図である。SPL開発支援装置1は、従来の派生開発で作成されたソースコードを読み込んで、コア資産を生成する。SPL開発支援装置1は、プロセッサ10と、記憶部20と、表示部30と、操作部40と、を備える。プロセッサ10は、処理部の一例である。
プロセッサ10は、中央演算処理装置(CPU)、MPU、DSP、マイコン、FPGA、ASIC等で実現できる。プロセッサ10は、OS、アプリケーションプログラム、種々のデータを読み込んで演算処理を実行することにより、種々の機能を実現する。プロセッサ10は、機能的構成として、ソースコード解析/生成部11と、仕様書リバース部12と、可変性/フィーチャ分析部13と、を備える。
記憶部20は、従来の派生開発のソースコード21と、コア資産を格納するコア資産データベース22と、を備える。以下、データベースを「DB」という。本実施の形態のソースコード21は、C言語で記述されている。
表示部30は、ユーザ操作に従って、後述する文字列や画像を表示する。表示部30は、液晶ディスプレイ、有機ELディスプレイなどで構成される。
操作部40は、キーボード、マウスなどで構成される。ユーザは、操作部40を介してSPL開発支援装置1を操作する。
図2は、コア資産DB22に格納される情報を示す図である。コア資産DB22は、複数機種対応ソースコード221と、ソフトウェア設計書222と、機能仕様書223と、依存関係DB224と、可変性/フィーチャ定義書225とを含む。
複数機種対応ソースコード221は、ソースコード21の間の、可変部分及び可変部分に対応するソフトウェア部品が定義されて再構成されるソースコードである。本実施の形態の複数機種対応ソースコード221は、C言語で記述される。詳細は後述する。
ソフトウェア設計書222は、ソースコード21の制御項目名が自然言語で記述されて各制御項目名に対応するソースコード21の内容が記述されるデータである。本実施の形態において、自然言語は例えば日本語など、ソフトウェア技術の知識が無い人が容易に解読できる言語である。ソフトウェア設計書222は、所定の制御項目毎に分かれて記載される。制御項目は、制御大項目、及び制御大項目を細分化した制御小項目から構成される。各制御小項目には、当該制御小項目の制御を実現するソースコード21の内容が記載される。
機能仕様書223は、ソースコード21の各機能項目名及び内容が自然言語で記述されるデータである。機能仕様書223は、例えば、従来の派生開発において、ソースコード21を作成するために事前に準備される。機能仕様書223は、所定の機能項目毎に分かれて記載される。機能項目は、機能大項目、及び機能大項目を細分化した機能小項目から構成される。各機能小項目には、当該機能小項目の機能を実現する処理の内容が自然言語で記載される。
機能仕様書223の各機能項目は、複数のソフトウェア設計書222と対応する場合がある。図3は、ソフトウェア設計書222と機能仕様書223との関係を説明するための図である。図3の機能仕様書223Aには、起動中、運転中、及び停止中の処理に関する機能項目及び処理の内容が記載されている。ソフトウェア設計書222A〜222Cにはそれぞれ、起動制御、制御内容、及び停止制御に関する制御項目及び制御を実現するソースコード21の内容が記載されている。例えば、空調装置の冷房機能がファン、電磁弁、及び圧縮機を用いて実現されるのであれば、機能仕様書223Aの起動中の機能項目には、ファン制御、電磁弁制御、及び圧縮機制御のソフトウェア設計書222A〜222Cの各制御項目と対応する機能項目及び処理の内容が記載されている。
依存関係DB224は、複数の機能仕様書223の間の依存関係を示す情報を格納する。依存関係DB224は、後述する可変性/フィーチャ分析部13により管理される。
可変性/フィーチャ定義書225は、機能仕様書223の機能項目と、可変部分と、ソフトウェア部品と、フィーチャと、機種名と、が一覧表形式で定義されたデータである。可変性/フィーチャ定義書225は、後述する可変性/フィーチャ分析部13により管理される。可変性/フィーチャ定義書225は、例えば、Excel形式、CSV形式のデータとして管理される。
2.動作
以上のように構成されるSPL開発支援装置1の動作について、図1〜19を参照して説明する。
図4は、SPL開発支援装置1の構成要素と、各構成要素に対する入出力データと、を示す図である。SPL開発支援装置1は、従来の派生開発のソースコード21を読み込んで、SPL開発を行うためのコア資産DB22を構築する。
図4において、ソースコード解析/生成部11は、ソースコード21が入力されると、複数機種対応ソースコード221を出力する。仕様書リバース部12は、ソースコード21が入力されると、ソフトウェア設計書222を出力する。また、仕様書リバース部12は、ソフトウェア設計書222と、機能仕様書223と、を対応付けて記憶部20に記憶する。
可変性/フィーチャ分析部13は、複数の機能仕様書223が入力されると、機能仕様書223間の依存関係を分析して、当該依存関係を示す情報を依存関係DB224に格納する。また、可変性/フィーチャ分析部13は、複数機種対応ソースコード221、ソフトウェア設計書222、及び機能仕様書223が入力されると、可変性/フィーチャ定義書225を出力する。SPL開発支援装置1は、複数機種対応ソースコード221、ソフトウェア設計書222、機能仕様書223、依存関係DB224、及び可変性/フィーチャ定義書225を、コア資産DB22に格納する。
2−1.ソースコード解析/生成部の動作
図4のソースコード解析/生成部11は、ソースコード21が入力されると、ユーザ操作に従って、複数機種対応ソースコード221を出力する。図5は、ソースコード解析/生成部11の動作を示すフローチャートである。図6は、ソースコード21の一例を示す図である。図7は、ユーザによるソースコード解析/生成部11の操作を説明するための図である。図8は、ソースコード解析/生成部11により出力される複数機種対応ソースコード221の一例を示す図である。以下、図5のフローチャートに即して、ソースコード解析/生成部11の動作を説明する。
図5において、最初に、ソースコード解析/生成部11は、ユーザ操作に従って、所定の機種のソースコード21を読み込む(S101)。ユーザは、操作部40を介して、ソースコード解析/生成部11を操作する。本実施の形態のソースコード21は、所定の制御単位毎に作成される。各ソースコード21の先頭には、機種名及び制御名がコメントされる。各ソースコード21の各関数の一つ上の行には、関数の処理名及び関数名がコメントされる。ここで、機種名は、製品名であるがこれに限定されない。例えば、開発中の製品に付与される開発コードであってもよい。
図6(A)のソースコード21Aは、機種Aのソースコード21のうち、ファンの回転制御を実現するためのものである。ソースコード21Aは、ファンの回転速度を変更するための関数speed2を含む。関数speed2は、ファンの回転速度を2段階切り替えるための関数である。ソースコード21Aの先頭には、機種名「機種A」及び制御名「ファン制御」がコメントされている。関数speed2の一つ上の行には、処理名「ファン速」及び関数名「2段」がコメントされている。
図6(B)のソースコード21Bは、機種Bにおいて、図6(A)のソースコード21Aと同様の制御を実現するためのものである。ソースコード21Bは、関数speed2の代わりに、ファンの回転速度を3段階切り替えるための関数speed3を含む。ソースコード21Bの先頭には、機種名「機種B」及び制御名「ファン制御」がコメントされている。関数speed3の一つ上の行には、処理名「ファン速」及び関数名「3段」がコメントされている。
次に、ソースコード解析/生成部11は、読み込んだ二つの機種のソースコード21の差異を抽出する(S103)。図6の例では、ソースコード解析/生成部11は、ソースコード21Aとソースコード21Bとの間の差異として、speed2関数とspeed3関数とを抽出する。
次に、ソースコード解析/生成部11は、ステップS103にて抽出した差異を表示部30に表示する(S104)。図6の例では、ソースコード解析/生成部11は、差異「speed2()」及び「speed3()」を、図7(A)のように表示部30に表示する。ソースコード解析/生成部11は、ファイル名列の最上欄に、ソースコード21Aの名称「fan.c」を表示し、差異コード列の最上欄に、差異として抽出された関数「speed2()」を表示する。同様に、ソースコード解析/生成部11は、ファイル名列の上から二番目の欄に、ソースコード21Bの名称「fan.c」を表示し、差異コード列の上から二番目の欄に、差異として抽出された関数「speed3()」を表示する。なお、図6のソースコードの場合、ソースコード解析/生成部30は、マクロ名列に際を表示しない。詳細は後述する。
次に、ソースコード解析/生成部11は、ユーザ操作に従って、可変部分と可変部分のラベルとを定義する(S105)。可変部分は、コア資産において可変性を実現する場所のことをいう。ユーザは、表示部30に表示された差異について、可変部分の名称と、可変部分のラベルと、可変部分の実現形式と、可変部分の実装方法と、を定義する。ユーザは、可変部分の名称列及び可変部分のラベル列の各欄に文字を入力することによって、各可変部分の名称及び可変部分のラベルを定義する。また、ユーザは、プルダウンメニューに表示される文字列のうちの一つを選択することによって、可変部分の実現形式及び可変部分の実装方法を定義する。ユーザが操作部40を介して形式列の「∨」を押下すると、ソースコード解析/生成部11は、プルダウン形式で「定数」、「処理」、及び「関数」を表示部30に表示する。ユーザが操作部40を介して実装列の「∨」を押下すると、ソースコード解析/生成部11は、プルダウン形式で「静的」及び「動的」を表示部30に表示する。
図6の例では、ユーザは、操作部40を介して、図7(B)の可変部分の名称列の最上欄に「ファン速」を、可変部分のラベル列の最上欄に「FANSPEED」を、定義する。ユーザは、可変部分の名称列の最上欄に「2段」を、可変部分のラベル列の最上欄に「speed2」を定義する。同様に、ユーザは、図7(B)の可変部分の名称列の上から2番目の欄に「ファン速」を、可変部分のラベル列の上から2番目の欄に「FANSPEED」を、定義する。ユーザは、可変部分の名称列の上から2番目の欄に「3段」を、可変部分のラベル列の上から2番目の欄に「speed3」を定義する。また、ユーザは、形式列において、上から一番目の欄及び二番目の欄にて「関数」を定義し、実装列において、上から一番目の欄及び二番目の欄に「静的」を定義する。ユーザは、入力を終えると、操作部40を介して、OK釦を押下する。
次に、ソースコード解析/生成部11は、複数機種対応ソースコード221を生成する(S106)。ソースコード解析/生成部11は、ステップS101及びS102にて読み込んだ、二つのソースコード21の差異を、ステップS105にて可変部分のラベル欄に入力された文字列に置き換えることによって、可変部分ソースコード221Aを生成する。また、ソースコード解析/生成部11は、可変点のラベル欄に入力された文字列と、置き換えられた二つのソースコード21の差異と、を対応付けることによって、ソフトウェア部品ソースコード221Bを生成する。
図7(B)の例では、ソースコード解析/生成部11は、図8の複数機種対応ソースコード221を生成する。ソースコード解析/生成部11は、図6の二つのソースコードの差異「speed2(){・・・}」及び「speed3(){・・・}」を、図7(B)の可変部分のラベル「FANSPEED」に置き換えて、可変部分ソースコード221Aを生成する。
また、ソースコード解析/生成部11は、#ifdef文及び#define文を用いて、機種Aでは、文字列「FANSPEED」が「speed2()」であることを定義する。同様に、ソースコード解析/生成部11は、#ifdef文及び#define文を用いて、機種Bでは、文字列「FANSPEED」が「speed3()」であることを定義する。これにより、ソースコード解析/生成部11は、機種Aにおいて、文字列「FANSPEED」と「speed2(){・・・}」とを対応付けて、機種Bにおいて、文字列「FANSPEED」と「speed3(){・・・}」とを対応付ける。
上述したように、ソースコード解析/生成部11は、従来の派生開発のソースコード21から、複数機種対応ソースコード221を生成する。複数機種対応ソースコード221は、可変部分ソースコード221A及びソフトウェア部品ソースコード221Bから構成される。複数機種対応ソースコード221に基づいてSPL開発を行う場合、ユーザは、ソフトウェア部品ソースコード221Bのみ変更すればよい。よって、ソースコード解析/生成部11は、効率の高い開発環境を提供することができる。
2−2.仕様書リバース部の動作
図4の仕様書リバース部12は、ソースコード21及び機能仕様書223が入力されると、ソフトウェア設計書222を出力する。その後、仕様書リバース部12は、ソフトウェア設計書222と機能仕様書223とを対応付ける。図9は、仕様書リバース部12の動作を示すフローチャートである。図10,11は、仕様書リバース部12の動作を説明するための図である。以下、図9のフローチャートに即して、仕様書リバース部12の動作を説明する。
図9において、最初に、仕様書リバース部12は、ユーザ操作に従って、ソースコード21を読み込む(S201)。ユーザは、操作部40を介して、仕様書リバース部12を操作する。
次に、仕様書リバース部12は、ソフトウェア設計書222を自動生成する(S202)。仕様書リバース部12は、所定の処理毎に、機種名と、各機種の処理を実現する関数と、を対応付けて、ソフトウェア設計書222を生成する。図10は、仕様書リバース部12が、ソースコード21A,21Bに基づいて、ソフトウェア設計書222Aを自動生成する例を示している。仕様書リバース部12は、処理「ファン速」において、機種名「機種A」、関数名「2段」、及び関数「speed2(){・・・}」と、機種名「機種B」、関数名「3段」、及び関数「speed3(){・・・}」と、を対応付けている。
仕様書リバース部12は、ソースコード21A及びソースコード21Bの「ファン制御」を、ソフトウェア設計書222Aの名称とする。仕様書リバース部12は、ソースコード21Aの「ファン速」を「<<ファン速>>」として、ソフトウェア設計書222Aに記述する。仕様書リバース部12は、ソースコード21Aの「機種A」を「機種A:」として、ソフトウェア設計書222Aの「<<ファン速>>」の次の行に記述する。仕様書リバース部12は、ソースコード21Aの「2段」を「<2段>」として、「機種A:」の次の行に記述する。仕様書リバース部12は、ソースコード21Aの「speed2(){・・・}」を、「<2段>」の次の行に記述する。仕様書リバース部12は、ソースコード21Aと同様に、ソースコード21Bの「機種B」、「3段」、「speed3(){・・・}」を、ソフトウェア設計書222Aに記述する。
次に、仕様書リバース部12は、機能仕様書223を読み込んで、表示部30に、ソフトウェア設計書222及び機能仕様書223を表示部30に表示する(S203)。例えば、図11に示すように、仕様書リバース部12は、機能仕様書223の機能項目と、ソフトウェア設計書222の制御項目と、を一覧形式で表示部30に表示する。図11において、仕様書リバース部12は、機能大項目「冷房機能」と、機能小項目「起動制御」,「冷房制御」,「停止制御」と、を表示部30に表示している。また、仕様書リバース部12は、制御大項目「ファン制御」,「電磁弁制御」,「圧縮機制御」と、制御小項目「ファン速」と、を表示部30に表示している。
次に、仕様書リバース部12は、ユーザ操作に従って、ソフトウェア設計書222と機能仕様書223とを対応付ける(S204)。例えば、図11において、ユーザは、操作部40を介して、表示部30に表示された機能仕様書223の機能小項目「冷房制御」を選択し、ソフトウェア設計書222の制御小項目「ファン速」を選択することによって、ソフトウェア設計書222の制御項目と機能仕様書223の機能項目とを対応付ける。その後、ユーザは、表示部30に表示されたOK釦を、操作部40を介して押下する。仕様書リバース部12は、OK釦の押下を検出すると、図9の処理を終了する。
上述したように、ソフトウェア設計書222は、制御項目名が日本語で記述される。よって、仕様書リバース部12は、可読性の高いソフトウェア設計書222を、ユーザに提供することができる。また、ソフトウェア設計書222は、ソースコード21の記載に基づいて作成されるので、仕様書リバース部12は、ソースコード21の記載から乖離することのないソフトウェア設計書222をユーザに提供することができる。
2−3.可変性/フィーチャ分析部の動作
図4に示すように、可変性/フィーチャ分析部13は、機能仕様書223が入力されると、機能仕様書223間の依存関係を分析して、当該依存関係を示す情報を依存関係DB224に格納する。また、可変性/フィーチャ分析部13は、複数機種対応ソースコード221、ソフトウェア設計書222、及び機能仕様書223が入力されると、可変性/フィーチャ定義書225を出力する。可変性/フィーチャ定義書225は、機能仕様書223の機能項目と、可変部分と、ソフトウェア部品と、フィーチャと、機種名と、が一覧表形式で定義されたデータである。可変性/フィーチャ分析部13は、ユーザ操作に従って、機種名を追記し、依存関係DB224に記録された情報に基づいて、機種名と対応付ける機能項目名の候補を、ユーザに提示する。以下、可変性/フィーチャ分析部13の各動作を説明する。
2−3−1.依存関係DBへの依存関係を示す情報の格納動作
図12は、可変性/フィーチャ分析部13による依存関係DB224を管理する動作を示すフローチャートである。図13は、可変性/フィーチャ分析部13による依存関係DB224を管理する動作を説明するための図である。図14は、依存関係DB224に格納された依存関係を示す情報を説明するための図である。以下、図12のフローチャートに即して、当該動作を説明する。
図12において、最初に、可変性/フィーチャ分析部13は、機能仕様書223から名詞を抽出する(S301)。図13(A)の例において、相対補正の機能仕様書223Bに、文字列「周波数を相対補正する。」が記載されている場合、可変性/フィーチャ分析部13は、名詞「周波数」及び「相対補正」を抽出する。
次に、可変性/フィーチャ分析部13は、抽出した名詞が、依存関係DB224に既に登録されているか否かを判断する(S302)。図13(A)の例において、可変性/フィーチャ分析部13は、名詞「周波数」及び「相対補正」が、依存関係DB224に登録されていないことを判断する。
次に、可変性/フィーチャ分析部13は、抽出した名詞と、既に登録されている名詞とを対応付けて依存関係DB224に登録する(S303)。図13(A)の例では、依存関係DB224には、名詞「周波数」及び「相対補正」が登録されていない。したがって、可変性/フィーチャ分析部13は、名詞「周波数」及び「相対補正」を、依存関係DB224に登録されている名詞と対応付けることなく、依存関係DB224に登録する。
可変性/フィーチャ分析部13は、例えば、図14(A)のような表形式で名詞を登録する。表は、機能仕様ID、名詞ID、及び名詞の三つの列から構成される。可変性/フィーチャ分析部13は、機能仕様IDの列において、機能仕様書223毎に欄を分けて、機能仕様IDを入力する。可変性/フィーチャ分析部13は、名詞IDの列において、名詞毎に欄を分けて、名詞IDを入力する。可変性/フィーチャ分析部13は、名詞の列において、抽出した名詞を入力する。
機能仕様IDは、登録順に割り当てられる番号であり、図14(A)の例では、「1」が割り当てられている。名詞IDは、機能仕様IDの後ろに「.」及びアルファベットを繋げたものであり、アルファベットは、「A」から登録順に割り当てられる。図14(A)の例では、「周波数」に割り当てられる名詞IDは「1.X」であり、「相対補正」に割り当てられる名詞IDは「1.Y」である。
可変性/フィーチャ分析部13は、機能仕様書223の名詞を登録すると、図12の処理を終了する。
図13(B)は、可変性/フィーチャ分析部13が、図13(A)の機能仕様書223Bの名詞を登録した後に、別の機能仕様書223Cの名詞を登録する動作を示している。機能仕様書223Cに文字列「周波数を相対補正する場合は、必ず簡易検知をする。」が記載されている場合、可変性/フィーチャ分析部13は、名詞「周波数」、「相対補正」、及び「簡易検知」を抽出する(S301)。
次に、可変性/フィーチャ分析部13は、抽出した名詞のうち「周波数」及び「相対補正」が依存関係DBに登録されていることを判断する(S302)。
次に、可変性/フィーチャ分析部13は、抽出した名詞を依存関係DBに登録する。このとき、可変性/フィーチャ分析部13は、「周波数」及び「相対補正」を、依存関係DBに登録されている名詞と対応付けて登録する(S303)。
図13(B)の例では、可変性/フィーチャ分析部13は、図14(B)のような表形式で名詞を登録する。表は、追加機能仕様ID、名詞ID、名詞、及び対応する名詞IDの四つの列から構成される。可変性/フィーチャ分析部13は、追加機能仕様書IDの列において、機能仕様書223毎に欄を分けて、追加機能仕様IDを入力する。可変性/フィーチャ分析部13は、名詞IDの列において、図14(A)と同様の形式で名詞IDを入力する。
可変性/フィーチャ分析部13は、名詞の列において、図14(A)と同様の形式で抽出した名詞を入力する。可変性/フィーチャ分析部13は、対応する名詞IDの列において、対応する名詞に割り当てられている名詞IDを入力する。
追加機能仕様IDは、登録順に割り当てられる番号であり、図14(B)の追加機能仕様ID欄には、図14(A)の機能仕様ID「1」に続いて、「2」が入力される。図14(A)の場合と同様に、「周波数」に割り当てられる名詞IDは「2.X」であり、「相対補正」に割り当てられる名詞IDは「2.Y」であり、「簡易検知」に割り当てられる名詞IDは「2.Z」である。「周波数」に対応する名詞IDは図14(A)の「1.X」であり、「相対補正」に対応する名詞IDは図13(A)の「1.Y」である。
上述したように、可変性/フィーチャ分析部13は、機能仕様書223に含まれる名詞を、依存関係DB224に登録し、特に、複数の機能仕様書223に共通して含まれる名詞を対応付けて登録する。したがって、ユーザは、依存関係DB224に登録された情報を確認することによって、例えば、一部の機能仕様書223を修正するときに、あわせて別の機能仕様書223も修正する必要があるか否かを判断することができる。
2−3−2.可変性/フィーチャ定義書の出力動作
図15は、可変性/フィーチャ分析部13による可変性/フィーチャ定義書225を生成する動作を示すフローチャートである。図16は、可変性/フィーチャ定義書225の一例を示す図である。図17〜19は、可変性/フィーチャ分析部13の動作を説明するための図である。以下、図15のフローチャートに即して、可変性/フィーチャ分析部13の動作を説明する。
図15において、最初に、可変性/フィーチャ分析部13は、複数機種対応ソースコード221、ソフトウェア設計書222、及び機能仕様書223を読み出す(S401)。
次に、可変性/フィーチャ分析部13は、可変性/フィーチャ定義書225の機能項目列、機能ブロック列、及び可変性列を生成する(S402)。可変性/フィーチャ分析部13は、機能仕様書223の機能項目の番号及びタイトルを抽出して、機能項目列に入力する。ユーザは、操作部40を介して、機能ブロック列に機能項目の名称、ラベル、及び目的を入力する。可変性/フィーチャ分析部13は、複数機種対応ソースコード21から可変部分の名称及びラベル、並びにソフトウェア部品の名称及びラベルを抽出して、可変性列に入力する。
図17は、可変性/フィーチャ分析部13が、複数機種対応ソースコード21から可変部分の名称及びラベル、並びにソフトウェア部品の名称及びラベルを抽出して、可変性列に入力する例を示している。可変性/フィーチャ分析部13は、可変部分ソースコード221Aの「ファン速」及び「FANSPEED」を、可変性/フィーチャ定義書225Aに入力する。可変性/フィーチャ分析部13は、ソフトウェア部品ソースコード221Bの「2段」、「speed2」、「3段」、及び「speed3」を、可変性/フィーチャ定義書225Aに入力する。同様に、可変性/フィーチャ分析部13は、周波数補正及び異常検知の複数機種対応ソースコード21から文字列を抽出して、当該文字列を可変性/フィーチャ定義書225Aの可変性列に入力する。
次に、可変性/フィーチャ分析部13は、ユーザ操作に従って、フィーチャを定義して、ソフトウェア部品とフィーチャとを対応付ける(S403)。ユーザは、操作部40を介して、フィーチャの名称を入力する。その後、ユーザは、ソフトウェア部品と、フィーチャの名称とを対応付ける。
図18の例では、XX方式の温度センサ、YY方式の温度センサ、冷房の運転モード、暖房の運転モード、及び送風の運転モードが、フィーチャとして設定されている。ユーザは、各フィーチャの列と、各ソフトウェア部品の行とが交わる欄に「○」を入力することによって、所望のフィーチャ及びソフトウェア部品を対応付ける。
図18において、ソフトウェア部品「2段」はフィーチャ「XX方式」と、ソフトウェア部品「3段」はフィーチャ「YY方式」と、対応付けられている。ソフトウェア部品「相対補正」はフィーチャ「暖房」と、ソフトウェア部品「絶対補正」はフィーチャ「冷房」と、対応付けられている。ソフトウェア部品「通常検知」はフィーチャ「暖房」と、ソフトウェア部品「簡易検知」はフィーチャ「送風」と、対応付けられている。可変性/フィーチャ分析部13は、ユーザ操作に従って、OK釦が押下されたことを検出すると、ステップS403を終了する。
次に、可変性/フィーチャ分析部13は、ユーザ操作に従って、機種名を定義して、当該機種にて採用するソフトウェア部品を選択する(S404)。ユーザは、操作部40を介して機種名を入力する。図19の例では、機種A、機種B、及び機種Cが機種名として定義されている。ユーザは、各機種の列と、各ソフトウェア部品の行とが交わる欄に「○」を入力することによって、所望のソフトウェア部品及び機種を対応付ける。図19において、「機種A」はソフトウェア部品「3段」、「絶対補正」、及び「簡易検知」と、「機種B」はソフトウェア部品「3段」、「相対補正」、及び「簡易検知」と、「機種C」はソフトウェア部品「2段」及び「相対補正」と、対応付けられている。
このとき、可変性/フィーチャ分析部13は、依存関係DB224に記録された情報に基づいて、機種名と対応付ける機能項目の候補を、ユーザに提示する。図18において、可変性/フィーチャ分析部13は、「機種C」が「簡易検知」と対応付けられていることを検出する。その後、可変性/フィーチャ分析部13は、図14(B)の表を参照して、「機種C」が「相対補正」とも対応する可能性が高いと判断して、機種Cの列と相対補正の行とが交わる欄を色付けすることにより、候補をユーザに提示する。
上述したように、可変性/フィーチャ分析部13は、機能仕様書223の機能項目と、可変部分と、ソフトウェア部品と、フィーチャと、機種名と、が定義された、可変性/フィーチャ定義書225を出力する。可変性/フィーチャ定義書225が一覧表形式で生成されるので、可変性/フィーチャ定義書225は、ユーザに、可読性の高いドキュメントを提供することができる。また、可変性/フィーチャ分析部13は、機能名と対応付ける機能項目の候補をユーザに提示するので、ユーザ操作による誤りを抑制することができる。
3.まとめ
以上説明したように、本実施の形態に係るSPL開発支援装置1は、派生開発のソースコード21を分析して、SPL開発で使用するコア資産の生成を支援する。SPL開発支援装置1は、ソースコード21をもとに種々の処理を行う処理部10を備える。処理部10は、ソースコード解析/生成部11と、仕様書リバース部12と、可変性/フィーチャ分析部13と、を備える。ソースコード解析/生成部11は、ソースコード21から、可変部分及び可変部分に対応するソフトウェア部品が定義されて再構成される複数機種対応ソースコード221を生成する。仕様書リバース部12は、ソースコード21から、ソースコード21の制御項目名が自然言語で記述されて各制御項目名に対応するソースコード21の内容が記述されるソフトウェア設計書222を生成する。可変性/フィーチャ分析部13は、機能仕様書223、複数機種対応ソースコード221、及びソフトウェア設計書222に基づいて、可変性/フィーチャ定義書225を生成する。機能仕様書223は、ソースコード21の各機能項目名及び内容が自然言語で記述されるデータである。可変性/フィーチャ定義書225は、機能仕様書223の機能項目名、可変部分、ソフトウェア部品、及び派生開発の各機種を特徴付ける要素であるフィーチャを対応付けたデータである。
このことにより、SPL開発支援装置1は、従来の派生開発からSPL開発への開発環境の移行を支援することができる。
ソースコード解析/生成部11は、派生開発のソースコード21の差異をユーザに提示して、ユーザ操作に従って、差異を可変部分及びソフトウェア部品に設定して、複数機種対応ソースコード221を生成する。
このことにより、ソースコード解析/生成部11は、ユーザによる可変部分及びソフトウェア部品の設定操作を支援することができる。
仕様書リバース部12は、ソフトウェア設計書222の制御項目名と、機能仕様書223の機能項目名とをユーザに一覧形式で提示して、ユーザ操作に従って、ソフトウェア設計書222の制御項目名と、機能仕様書223の機能項目名とを対応付ける。
このことにより、仕様書リバース部12は、ユーザによる、ソフトウェア設計書222と機能仕様書223との間の対応付け操作を支援することができる。
SPL開発支援装置1は、依存関係データベース224をさらに備える。可変性/フィーチャ分析部13は、さらに、機能仕様書223に含まれる名詞を抽出して、名詞を別の機能仕様書223に含まれる名詞と対応付けて、依存関係DB224に記録する。
可変性/フィーチャ分析部13は、ユーザ操作に従って、機種名を、可変性/フィーチャ定義書225に追記して、依存関係DB224に記録された情報に基づいて、機種名と対応付ける機能仕様書223の機能項目名の候補を、ユーザに提示する。
このことにより、可変性/フィーチャ分析部13は、可変性/フィーチャ定義書225を作成する際のユーザ操作の誤りを抑制することができる。
実施の形態2.
実施の形態2のプロセッサ10は、ソースコード解析/生成部11を備えない点で、実施の形態1のものと異なる。また、実施の形態2の仕様書リバース部12Aは、従来の派生開発のソースコード21に代えて複数機種対応ソースコード221に基づいて、ソフトウェア設計書222を生成する点で、実施の形態1の仕様書リバース部12と異なる。
図20は、本実施の形態に係るSPL開発支援装置1の構成要素と、各構成要素に対して入出力されるデータと、を示す図である。仕様書リバース部12Aは、複数機種対応ソースコード221に基づいて、ソフトウェア設計書222を生成する。図21は、仕様書リバース部12Aの動作を説明するための図である。図21は、仕様書リバース部12Aが、複数機種対応ソースコード221に基づいて、ソフトウェア設計書222を自動生成する例を示している。
図21において、仕様書リバース部12Aは、複数機種対応ソースコード221の可変部分ソースコード221Aの「ファン制御」を、ソフトウェア設計書222Aの名称とする。仕様書リバース部12は、可変部分ソースコード221Aの「ファン速」を「<<ファン速>>」として、ソフトウェア設計書222Aに記述する。仕様書リバース部12Aは、ソフトウェア部品ソースコード221Bの「機種A」を「機種A:」として、ソフトウェア設計書222Aの「<<ファン速>>」の次の行に記述する。仕様書リバース部12Aは、ソフトウェア部品ソースコード221Bの「2段」を「<2段>」として、ソフトウェア設計書222Aの「機種A:」の次の行に記述する。仕様書リバース部12Aは、ソフトウェア部品ソースコード221Bの「speed2();」を、ソフトウェア設計書222Aの「<2段>」の次の行に記述する。仕様書リバース部12Aは、ソフトウェア部品ソースコード221Bの「機種B」を「機種B:」として、ソフトウェア設計書222Aの「speed2();」の次の行に記述する。仕様書リバース部12Aは、ソフトウェア部品ソースコード221Bの「3段」を「<3段>」として、ソフトウェア設計書222Aの「機種B:」の次の行に記述する。仕様書リバース部12Aは、ソフトウェア部品ソースコード221Bの「speed3();」を、ソフトウェア設計書222Aの「<3段>」の次の行に記述する。
以上説明したように、本実施の形態に係る仕様書リバース部12Aは、さらに、複数機種対応ソースコード221から、ソフトウェア設計書222を生成する。このことにより、仕様書リバース部12Aは、例えば、派生開発からSPL開発への開発環境の移行後に、新機種に対応した複数機種対応ソースコード221に基づいて、ソフトウェア設計書222を自動生成することができる。したがって、仕様書リバース部12は、複数機種対応ソースコード221の記載から乖離することのないソフトウェア設計書222をユーザに提供することができる。
他の実施の形態.
以上のように、本発明における技術の例示として、実施の形態を説明した。しかしながら、本発明における技術は、これに限定されず、適宜、変更、置き換え、付加、省略などを行った実施の形態にも適用可能である。また、上記実施の形態で説明した各構成要素を組み合わせて、新たな実施の形態とすることも可能である。
実施の形態1のSPL開発支援装置1は、図6のように機種毎に作成されたファイルであるソースコード21に基づいてコア資産を生成するが、これに限定するものではない。SPL開発支援装置1は、例えば、図22のように一つのファイルに複数機種のコードが記述されたソースコード21Cに基づいてコア資産を生成してもよい。この場合、ソースコード解析/生成部30は、図7(A)の差異コード列の「speed2()」「speed3()」に加えて、マクロ名列の上から一番目の欄に「AAA」を、マクロ名列の上から二番目の欄に「BBB」を表示する。
上記の実施の形態では、ソースコード21はC言語で記述されるが、これに限定されない。例えば、C++、Java(登録商標)、Python、Ruby等の他の言語で記述されていてもよい。
上記の実施の形態のSPL開発支援装置1は、日本語を含むソースコード21及び機能仕様書223に基づいてコア資産DBを構築するが、これに限定されない。例えば、ソースコード21及び機能仕様書223は、英語、フランス語、スペイン語等の他の言語を含んでもよい。
上記の実施の形態では、ソースコード21のコメントは、ファイルの先頭及び関数の一つ上の行に記載されるが、これに限定するものではない。コメントの記載位置は、別途定義ファイルを用意することによって、自由に変更できてもよい。
実施の形態2のSPL開発支援装置1は、ソースコード解析/生成部11を備えず、仕様書リバース部12に代えて仕様書リバース部12Aを備えたが、これに限定するものではない。例えば、実施の形態2のSPL開発支援装置1は、ソースコード解析/生成部11、仕様書リバース部12,12Aの全てを備えてもよい。
1 プロダクトライン開発支援装置
10 プロセッサ
11 ソースコード解析/生成部
12 仕様書リバース部
13 可変性/フィーチャ分析部
20 記憶部
21 ソースコード
22 コア資産データベース
221 複数機種対応ソースコード
222 ソフトウェア設計書
223 機能仕様書
224 依存関係データベース
225 可変性/フィーチャ定義書

Claims (6)

  1. 派生開発のソースコードを分析して、プロダクトライン開発で使用するコア資産の生成を支援する装置であって、
    前記派生開発のソースコードをもとに種々の処理を行う処理部を備え、
    前記処理部は、
    前記派生開発のソースコードから、可変部分及び前記可変部分に対応するソフトウェア部品が定義されて再構成される複数機種対応ソースコードを生成するソースコード解析/生成部と、
    前記派生開発のソースコードから、前記派生開発のソースコードの制御項目名が自然言語で記述されて各前記制御項目名に対応するソースコードの内容が記述されるソフトウェア設計書を生成する仕様書リバース部と、
    前記派生開発のソースコードの各機能項目名及び内容が自然言語で記述される機能仕様書、前記複数機種対応ソースコード、及び前記ソフトウェア設計書に基づいて、前記機能仕様書の機能項目名、前記可変部分、前記ソフトウェア部品、及び派生開発の各機種を特徴付ける要素であるフィーチャを対応付ける可変性/フィーチャ定義書を生成する可変性/フィーチャ分析部と、を備える、
    プロダクトライン開発支援装置。
  2. 前記ソースコード解析/生成部は、前記派生開発のソースコードの差異をユーザに提示して、ユーザ操作に従って、前記差異を前記可変部分及び前記ソフトウェア部品に設定して、複数機種対応ソースコードを生成する、請求項1に記載のプロダクトライン開発支援装置。
  3. 前記仕様書リバース部は、さらに、前記ソフトウェア設計書の制御項目名と、前記機能仕様書の機能項目名とをユーザに一覧形式で提示して、ユーザ操作に従って、前記ソフトウェア設計書の制御項目名と、前記機能仕様書の機能項目名とを対応付ける、請求項1又は請求項2に記載のプロダクトライン開発支援装置。
  4. 依存関係データベースをさらに備え、
    前記可変性/フィーチャ分析部は、さらに、前記機能仕様書に含まれる名詞を抽出して、前記名詞を別の機能仕様書に含まれる名詞と対応付けて、前記依存関係データベースに記録する、請求項1〜3のいずれか1項に記載のプロダクトライン開発支援装置。
  5. 前記可変性/フィーチャ分析部は、さらに、ユーザ操作に従って、機種名を、前記可変性/フィーチャ定義書に追記して、前記依存関係データベースに記録された情報に基づいて、前記機種名と対応付ける前記機能仕様書の機能項目名の候補を、ユーザに提示する、請求項4に記載のプロダクトライン開発支援装置。
  6. 前記仕様書リバース部は、さらに、前記複数機種対応ソースコードから、前記ソフトウェア設計書を生成する、請求項1〜5のいずれか1項に記載のプロダクトライン開発支援装置。
JP2018209970A 2018-11-07 2018-11-07 プロダクトライン開発支援装置 Active JP7134068B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2018209970A JP7134068B2 (ja) 2018-11-07 2018-11-07 プロダクトライン開発支援装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2018209970A JP7134068B2 (ja) 2018-11-07 2018-11-07 プロダクトライン開発支援装置

Publications (2)

Publication Number Publication Date
JP2020077191A true JP2020077191A (ja) 2020-05-21
JP7134068B2 JP7134068B2 (ja) 2022-09-09

Family

ID=70724119

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2018209970A Active JP7134068B2 (ja) 2018-11-07 2018-11-07 プロダクトライン開発支援装置

Country Status (1)

Country Link
JP (1) JP7134068B2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2023148987A1 (ja) * 2022-02-07 2023-08-10 日立Astemo株式会社 演算装置、ソフトウエア部品選択方法

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH05324289A (ja) * 1992-05-20 1993-12-07 Toshiba Corp プログラム設計書自動作成装置
JPH09292984A (ja) * 1996-04-24 1997-11-11 Nippon Denki Joho Service Kk システム情報管理装置
JP2005250590A (ja) * 2004-03-01 2005-09-15 Denso Corp 検査仕様生成システム
JP2009086791A (ja) * 2007-09-28 2009-04-23 Hitachi Ltd ソフトウェア製品系列分析装置
JP2009134445A (ja) * 2007-11-29 2009-06-18 Mitsubishi Electric Corp ソフトウェア部品抽出支援装置

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH05324289A (ja) * 1992-05-20 1993-12-07 Toshiba Corp プログラム設計書自動作成装置
JPH09292984A (ja) * 1996-04-24 1997-11-11 Nippon Denki Joho Service Kk システム情報管理装置
JP2005250590A (ja) * 2004-03-01 2005-09-15 Denso Corp 検査仕様生成システム
JP2009086791A (ja) * 2007-09-28 2009-04-23 Hitachi Ltd ソフトウェア製品系列分析装置
JP2009134445A (ja) * 2007-11-29 2009-06-18 Mitsubishi Electric Corp ソフトウェア部品抽出支援装置

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2023148987A1 (ja) * 2022-02-07 2023-08-10 日立Astemo株式会社 演算装置、ソフトウエア部品選択方法

Also Published As

Publication number Publication date
JP7134068B2 (ja) 2022-09-09

Similar Documents

Publication Publication Date Title
JP2021099819A (ja) データへの論理的妥当性検査規則の指定および適用
JP6417791B2 (ja) アプリケーションテスト支援装置、そのデータ処理方法、およびプログラム
JP2006195529A (ja) ユースケース図作成支援装置及び方法、並びに方法を実行させるためのプログラム
JP6723893B2 (ja) データ統合装置およびデータ統合方法
JP2008052312A (ja) 業務仕様抽出支援システム
JP7134068B2 (ja) プロダクトライン開発支援装置
JP2010015458A (ja) プログラム修正支援システム、プログラム修正支援方法、およびプログラム修正支援プログラム
JP2013020437A (ja) 要件管理支援装置
JP2008027290A (ja) 日本語文作成支援方法及びその装置
JPWO2012124301A1 (ja) 関連仕様対応付けシステム、関連仕様対応付け方法およびプログラム
JP5504212B2 (ja) テストケース自動生成システム、テストケース自動生成方法、およびテストケース自動生成プログラム
JP6562850B2 (ja) 差分解析装置、差分解析方法及び差分解析プログラム
JP4960188B2 (ja) 画面遷移図の表示方法およびシステム
JP6419902B1 (ja) プログラム比較方法、プログラム比較装置およびプログラム比較プログラム
JP6442908B2 (ja) 修正装置、翻訳装置、修正方法、および、コンピュータ・プログラム
US20080250036A1 (en) Information processing apparatus, control method therefor, program, and storage medium
JP6089497B2 (ja) データ作成装置およびデータ作成方法
JP6330257B2 (ja) 設計書データ作成支援プログラム、設計書データ作成支援方法および情報処理装置
US11868726B2 (en) Named-entity extraction apparatus, method, and non-transitory computer readable storage medium
JP6062735B2 (ja) ソフトウェア開発支援装置、ソフトウェア開発支援方法、ソフトウェア開発支援プログラム
JP4247849B2 (ja) 氏名入力装置
JP2006293891A (ja) プロパティ変換装置
JP2010102606A (ja) 製品構成決定支援装置及び方法
JP6606028B2 (ja) 文書不備検出プログラム、文書不備検出装置および文書不備検出方法
JP2019016201A (ja) プログラム比較方法、プログラム比較装置およびプログラム比較プログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20210903

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20220722

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20220830

R150 Certificate of patent or registration of utility model

Ref document number: 7134068

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150