JP2017224126A - 機能特定装置、機能特定方法、及び、機能特定プログラム - Google Patents

機能特定装置、機能特定方法、及び、機能特定プログラム Download PDF

Info

Publication number
JP2017224126A
JP2017224126A JP2016118513A JP2016118513A JP2017224126A JP 2017224126 A JP2017224126 A JP 2017224126A JP 2016118513 A JP2016118513 A JP 2016118513A JP 2016118513 A JP2016118513 A JP 2016118513A JP 2017224126 A JP2017224126 A JP 2017224126A
Authority
JP
Japan
Prior art keywords
request
function
information
specifying
target system
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2016118513A
Other languages
English (en)
Inventor
さやか 伊豆倉
Sayaka Izukura
さやか 伊豆倉
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.)
NEC Corp
Original Assignee
NEC 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 NEC Corp filed Critical NEC Corp
Priority to JP2016118513A priority Critical patent/JP2017224126A/ja
Publication of JP2017224126A publication Critical patent/JP2017224126A/ja
Pending legal-status Critical Current

Links

Images

Landscapes

  • Stored Programmes (AREA)

Abstract

【課題】対象システムに対する要求が変更された場合に、該対象システムの設計を支援することが可能な機能特定装置等を提供する。
【解決手段】
機能特定装置201は、システムに対する要求を表すある要求に関して変更が施された場合に、その変更が該ある要求とは異なる要求に対して与える影響を表す関連性情報から、該影響に関して、該システムに関する変更対象である第1要求に相反している第2要求を特定する要求特定部202と、該システムが有する第1機能の部分機能を表す第2機能と、該第2機能が実現されることが要求に対して与える影響の増減とを含むモデル情報に基づき、選択された該第2要求に関して影響を与える該第2機能を特定する機能特定部203とを有する。
【選択図】 図9

Description

本発明は、情報通信技術システムの設計を支援する機能特定装置等に関する。
情報通信技術(Information_and_Communication_Technology:ICT)システムが設計(または、構築、作成)される場合に、該ICTシステム(以降、「対象システム」と表す)に対する要求は、機能要求と、非機能要求とに大別される。
機能要求は、対象システムの主たる目的に対する要求であり、対象システムにて実現される機能に関する要求であり、かつ、ユーザが対象システムに対して感じる価値(品質)に関係している。したがって、対象システムが設計される場合に、該対象システムの設計者と、該対象システムのユーザとの間において、該対象システムに対する機能要求に関しては、齟齬は発生しにくい。さらに、対象システムが機能要求を満たしているか否かを検証することは容易である。
これに対して、非機能要求は、対象システムに対する要求のうち、機能要求と異なる要求を表す。たとえば、非機能要求は、機能要求が実現された場合に達成される性能の程度、または、機能要求が実現された場合に達成される信頼性の程度等の、対象システムの品質に関する要求を含む。非機能要求は、機能要求にて定義された機能が実現された場合の対象システムの品質を表すので、機能要求を支えることを目的に派生的に定義された要求を表す。したがって、非機能要求は、該機能要求に付随している属性(attribute)として捉えることができる。また、非機能要求は、たとえば、可用性、性能/拡張性、運用/保守性、移行性、セキュリティ、及び、対象システム環境/エコロジーという6つのカテゴリに分類されることもある。
非機能要求は、機能要求と比べて、人、対象システムを展開する展開先、または、該対象システムに関する社会的影響度等によって、適切であると感じられる品質の程度が異なっている。この結果、対象システムが設計される場合に、該対象システムの設計者と、該対象システムのユーザとの間において、該対象システムに関する非機能要求に対する認識(たとえば、対象システムにて達成される品質の程度等)の齟齬は、機能要求に比べ、発生しやすい。
対象システムを設計する場合には、該対象システムを利用するユーザの特性、該対象システムを利用する状況、該対象システムの目的、及び、該対象システムの外部環境等の背景情報に応じて、ユーザ等のステークホルダから生じる要求、及び、該要求間の優先順位は変わる。以降の説明においては、説明の便宜上、対象システムに対するステークホルダから生じる要求、または、該対象システムの価値を判断する基準に影響を与える要因(要素)を「コンテキスト(文脈、前後関係)」と表す。「対象システムの価値が、該対象システムを利用するプロセスにおける顧客特有のコンテキストに基づき認知される」という文脈価値(Value−in−context)の概念は、一般に、提唱されている。
対象システムの設計者は、該対象システムを設計する場合に、該対象システムにて実現する必要がある品質のレベルを、該ユーザと共有する必要がある。すなわち、該対象システムの設計者は、該対象システムのユーザが有しているコンテキストを、正確に把握する必要がある。次に、設計者は、要求(機能要求、または、非機能要求)間のトレードオフや、要求に関する制約条件(フレームワーク)を鑑みながら、該対象システムに関して、各要求を満たしている機能を作成する必要がある。
特許文献1、乃至、特許文献5は、対象システムの設計を支援する技術の一例を開示している。
たとえば、特許文献1は、対象システムの設計を、適切に実現する機能を導出する技術を開示する。該技術においては、対象システムに対する品質に対する要求(以降、「品質要求」と表す)を実現するソフトウェア(または、ミドルウェア)における処理と、各処理に関して、該処理によって阻害される品質要求とを特定する。
特許文献2は、対象システムに関する仕様変更に基づきソフトウェアアーキテクチャを設計するのを支援する技術を開示する。該技術においては、ソフトウェアに対する品質要求を実現する複数の対策案に関して、該対策案の間の相反している関係(トレードオフの関係)、及び、両立(並存)している関係等が定義される。次に、該技術においては、機能要求、及び、非機能要求を満たしつつ、対象システムと異なるシステムの設計にて採用された設計パターン等に基づき、該対象システムにおけるアーキテクチャ構成、動作原理等を採用するか否かを判定する。
特許文献3は、設備データを操作するソフトウェアの設計を支援する機能特定装置を開示している。該機能特定装置は、設備データの構造、及び、性質が、オブジェクト指向に従い定義されたオブジェクトデータモデル情報を入力する。該機能特定装置は、さらに、設備データの構造、及び、性質が、関係指向に従い定義された関係モデル情報における設備データと、入力した該オブジェクトデータモデル情報における設備データとの対応関係を入力する。さらに、該機能特定装置は、入力した該オブジェクトデータモデル情報に対する演算ロジックが定義されたデータ演算ロジックモデル情報を入力する。該支援装置は、これらの入力に基づき、オブジェクトデータベースに格納されている設備データを操作するプログラムを作成する。
特許文献4は、対象システムの設計手順を表す設計案を、該対象システムを設計する場合の制約に基づき作成する機能特定装置を開示している。該機能特定装置は、該設計案を作成する処理において、該制約に矛盾が生じた場合に、生じた矛盾を解消する方法を出力する。該機能特定装置は、該矛盾を解消できなかった場合に、該制約を緩和することによって設計案を作成する。
特許文献5は、設計対象を表すモデル情報に基づき、該設計対象を設計するプロジェクトを管理するモデル情報を作成し、作成したモデル情報を用いて、設計方式を表す情報を提供する機能特定装置を開示している。該機能特定装置は、プロジェクトに含まれている全プロセスに関する制約グラフを、該設計対象を設計するプロセスごとに登録された制約データに基づき作成する。該機能特定装置は、作成した該制約グラフに基づき、所要時間に関するクリティカルパスを算出することによって、該制約に関する優先度を求める。
特許第5049911号公報 特許第3887571号公報 特開2012−230583号公報 特開平06−089314号公報 特開平08−314986号公報
しかし、特許文献1、乃至、特許文献5に開示された技術は、いずれも、ステークホルダから生じる要求がコンテキストの違いに応じて変更されること、該要求が変更されるのに応じて、対象システムが備えるべき機能の構成が変更されること等を表すことができない。たとえば、特許文献1に開示された技術においては、ステークホルダごとのコンテキストに従い要求の優先度が変更され、該優先度の変更に応じて実現すべき処理が変更されることは考慮されていない。特許文献2に開示された技術においては、要求の変更の根拠と、コンテキストとの関連性については述べられていない。特許文献3乃至特許文献5に開示された支援装置において用いられているモデル情報は、いずれも、ステークホルダから生じる要求が変更されたことを表すことができない。この結果、特許文献3乃至特許文献5に開示された支援装置は、いずれも、作成する対象システムに対する要求が変更された場合に、該対象システムの作成を的確に支援できるとは限らない。
そこで、本発明の目的の1つは、対象システムに対する要求が変更された場合に、該対象システムの設計を支援することが可能な機能特定装置等を提供することである。
前述の目的を達成するために、本発明の一態様において、機能特定装置は、
システムに対する要求を表すある要求に関して変更が施された場合に、その変更が前記ある要求とは異なる要求に対して与える影響を表す関連性情報から、前記影響に関して、前記システムに関する変更対象である第1要求に相反している第2要求を特定する要求特定手段と、
前記システムが有する第1機能の部分機能を表す第2機能と、前記第2機能が実現されることが要求に対して与える影響の増減とを含むモデル情報に基づき、選択された前記第2要求に関して影響を与える前記第2機能を特定する機能特定手段と
を備える。
また、本発明の他の見地として、機能特定方法は、
システムに対する要求を表すある要求に関して変更が施された場合に、その変更が前記ある要求とは異なる要求に対して与える影響を表す関連性情報から、前記影響に関して、前記システムに関する変更対象である第1要求に相反している第2要求を特定し、
前記システムが有する第1機能の部分機能を表す第2機能と、前記第2機能が実現されることが要求に対して与える影響の増減とを含むモデル情報に基づき、選択された前記第2要求に関して影響を与える前記第2機能を特定する。
また、本発明の他の見地として、係る機能特定プログラムは、
システムに対する要求を表すある要求に関して変更が施された場合に、その変更が前記ある要求とは異なる要求に対して与える影響を表す関連性情報から、前記影響に関して、前記システムに関する変更対象である第1要求に相反している第2要求を特定する要求特定機能と、
前記システムが有する第1機能の部分機能を表す第2機能と、前記第2機能が実現されることが要求に対して与える影響の増減とを含むモデル情報に基づき、選択された前記第2要求に関して影響を与える前記第2機能を特定する機能特定機能と
をコンピュータに実現させる。
さらに、同目的は、係るプログラムを記録するコンピュータが読み取り可能な記録媒体によっても実現される。
本発明に係る機能特定装置等によれば、対象システムに対する要求が変更された場合であっても、該対象システムの設計を支援することができる。
本発明の第1の実施形態に係る機能特定装置が有する構成を示すブロック図である。 第1の実施形態に係る機能特定装置における処理の流れを示すフローチャートである。 コンテキスト情報の一例を概念的に表す図である。 コンテキスト情報の一例を概念的に表す図である。 関連性情報記憶部に格納されている関連性情報の一例を概念的に表す図である。 メタモデル情報記憶部に格納されているメタモデル情報の一例を概念的に表す図である。 モデル情報の一例を概念的に表す図である。 優先情報記憶部に格納されている優先情報の一例を概念的に表す図である。 本発明の第2の実施形態に係る機能特定装置が有する構成を示すブロック図である。 第2の実施形態に係る機能特定装置における処理の流れを示すフローチャートである。 モデル情報の一例を概念的に表す図である。 関連性情報記憶部に格納されている関連性情報の一例を概念的に表す図である。 本発明の各実施形態に係る機能特定装置を実現可能な計算処理装置のハードウェア構成例を概略的に示すブロック図である。
次に、本発明を実施する実施形態について図面を参照しながら詳細に説明する。
<第1の実施形態>
図1を参照しながら、本発明の第1の実施形態に係る機能特定装置101が有する構成について詳細に説明する。図1は、本発明の第1の実施形態に係る機能特定装置101が有する構成を示すブロック図である。
本発明の第1の実施形態に係る機能特定装置101は、コンテキスト情報入力部102と、要求特定部103と、機能特定部104とを有する。機能特定装置101は、さらに、モデル情報部111と、要求推定部112と、優先要求特定部113と、関連性情報記憶部105と、優先情報記憶部114と、メタモデル情報記憶部115とを有してもよい。
機能特定装置101は、コンテキスト情報(図3、または、図4を参照しながら後述する)が変更された場合に、変更されたコンテキスト情報、及び、モデル情報(図7を参照しながら後述する)に基づき、設計(開発)する対象であるシステム(以降、「対象システム」と表す)にて実現される対象である機能を特定する。ここで、コンテキスト情報(図3、図4に例示)、モデル情報(図7に例示)、対象システムに対する要求間の関連性を表す関連性情報(図5に例示)、優先する対象である要求を表す優先情報(図8に例示)、及び、モデル情報(図7に例示)を作成する場合に従うフレームを表すメタモデル情報(図6に例示)について説明する。
図3、及び、図4を参照しながらコンテキスト情報について説明する。図3、及び、図4は、コンテキスト情報の一例を概念的に表す図である。図3、及び、図4に例示されたコンテキスト情報は、対象システムがメールシステムである場合のコンテキスト情報を表す。
コンテキスト情報は、対象システムに関するコンテキストを構成している要素(要素)に関する値を含む。コンテキスト情報は、さらに、該コンテキストに関係している要求(たとえば、非機能要求)を表す情報、または、要求が変化したことを表す情報を含んでいてもよい。
図3(または、図4)を参照すると、コンテキスト情報は、あるコンテキストに関する背景情報を表す要素(たとえば、要素「When」、要素「Who」、要素「Why」、要素「Where」、及び、要素「How」)に関する値と、該あるコンテキストに関係している要求を表す情報とを含む。要素「When」、要素「Who」、要素「Why」、要素「Where」、及び、要素「How」は、該あるコンテキストに関する要因(すなわち、「Who(誰が)、When(いつ)、Where(どこで)、Why(なぜ)、及び、How(どのように)」)を表す。
図3に例示されたコンテキスト情報は、該あるコンテキストに関する背景情報を表す要素「When」に関する値として、値「メールシステムが普及し始めたころ」を含む。これは、該あるコンテキストが、メールシステムが普及し始めたころに作成されたことを表す。また、図4に例示されたコンテキスト情報は、該あるコンテキストに関する背景情報を表す要素「When」に関する値として、値「メールの誤送信による情報漏えい事故が多発しているころ」を含む。これは、該あるコンテキスト情報が、メールの誤送信による情報漏えい事故が多発しているころに作成されたことを表す。
図3に例示されたコンテキスト情報、及び、図4に例示されたコンテキスト情報を比較すると、コンテキストに含まれている要素「When」に関する値は異なっている。したがって、図3、及び、図4に示されたコンテキスト情報においては、要素「When」に関して、値「メールシステムが普及し始めたころ」が、値「メールの誤送信による情報漏えい事故が多発しているころ」に変更されている。また、さらに、図3、及び、図4に示された例においては、要求の値が「使用性」から、「使用性よりもセキュリティを優先する」に変更されている。すなわち、これは、該メールシステムが利用される時代(When)として、「メールシステムが普及し始めたころ」から、「メールの誤送信による情報漏えい事故が多発しているころ」に変更されたコンテキストを表している。さらに、これは、「メールシステムが普及し始めたころ」に要求として「使用性」を優先していたが、「メールの誤送信による情報漏えい事故が多発しているころ」に要求として「セキュリティ」を優先するという背景情報を表す。コンテキスト情報においては、対象システムと、該対象システムに対するステークホルダとの間に生じた相互作用に関する背景情報に基づき、該対象システムの設計者(または、対象システムを設計する設計装置)等によって、該背景情報等に関する値が設定される。
尚、図4に示された例において、値「使用性よりもセキュリティを優先する」は、たとえば、ステークホルダから生じる要求が変更されたことを表す。機能特定装置101は、ステークホルダから生じる要求が変更されたことをコンテキスト情報が含んでいる場合に、該コンテキスト情報をトリガーとして、図2を参照しながら説明するような処理を開始してもよい。
また、機能特定装置101は、コンテキスト情報(図3、図4に例示)に含まれている要素に関する値に基づき、優先度が高い要求を選択してもよい。たとえば、機能特定装置101は、要素と、該要素に関する値と、該要素がある値である場合に優先される要求とが関連付けされた要求情報に基づき、コンテキスト情報(図3、図4に例示)に含まれている値に関して優先される要求を特定する。機能特定装置101がコンテキスト情報(図3、図4に例示)に含まれている値に基づき要求を特定する処理は、たとえば、該値に関する要求を特定可能な予測モデルを、コンテキスト情報に含まれている値に適用することによって実現することができる。また、該予測モデルは、機械学習法等における処理手順に従い該要求情報が処理されることによって、該要素に関する値に対して優先される要求を算出可能なモデルとして作成することができる。たとえば、対象システムに関して、Who(誰が)、When(いつ)、Where(どこで)、Why(なぜ)、及び、How(どのように)のうち、少なくとも一つの要素に関する値が指定されることによって、機能特定装置101は、指定された値に基づき、該対象システムに関する要求を特定することができる。
機能特定装置101が、コンテキスト情報(図3、図4に例示)に含まれている要素に関する値(たとえば、「いつ」、「どこで」等)に基づき、優先度が高い要求を選択する処理によって、設計に不慣れな人であっても容易に対象システムを設計することができる。この理由は、対象システムに関して優先される要求がコンテキストに応じて決まる傾向があり、機能特定装置101が該傾向に従いコンテキストに応じた要求を特定するからである。
コンテキスト情報は、上述した例に限定されない。
図5を参照しながら、要求間の関連性を表す関連性情報について説明する。図5は、関連性情報記憶部105に格納されている関連性情報の一例を概念的に表す図である。
関連性情報においては、対象システムに関するセキュリティ、該対象システムの性能等に関する非機能要求が関連付けされている。図5に例示された関連性情報において、行方向には、変更を加える要求を表し、列方向には、該要求に加えられた変更によって影響を受ける可能性がある要求を表す。図5に例示された関連性情報においては、一方の要求を表す行と、他方の要求を表す列とが交差している領域に、該2つの要求が類似(両立、併存)している関係を表す符号「+」が記載されている。図5に例示された関連性情報においては、一方の要求を表す行と、他方の要求を表す列とが交差している領域に、該2つの要求が相反している関係(トレードオフの関係)を表す符号「−」が記載されている。非特許文献3には、関連性情報の一例が開示されている。
たとえば、対象システムに関するセキュリティを高めるにつれ、該対象システムの性能(Efficiency)、または、該対象システムの可用性(Availability)は低下する。すなわち、該セキュリティと、性能(または、可用性)との間には、相反している関係性(すなわち、トレードオフ)がある。また、該対象システムに関する保全性(maintainability)を高くするにつれ、該対象システムの柔軟性(flexibility)は高くなる。すなわち、該保全性と、該柔軟性との間には、類似している関連性がある。図5に例示された関連性情報は、可用性(availability)、効率性(efficiency)、柔軟性(flexibility)、整合性(integrity)、相互運用性(interoperability)、保全性(Maintainability)、移植性(portability)、信頼性(reliability)、再使用性(reusability)、頑健性(robustness)、及び、有用性(usability)の間の関係を表す。
尚、関連性情報は、必ずしも、対称な情報でなくともよい。この理由について説明する。たとえば、柔軟性を高めた場合に整合性は低下する(「柔軟性」に示される行、「整合性」に示される列によって示される領域における「−」)が、整合性を高めた場合であっても、必ずしも、柔軟性が低下するとは限らない(「整合性」に示される行、「柔軟性」に示される列によって示される領域における空値)。したがって、該2つの領域には、必ずしも、同じ値が格納されているとは限らない。また、関連性情報は、上述したような例に限定されず、たとえば、後述するような、セキュリティに関する要求を含んでいてもよい。
関連性情報は、対象システムに対する要求を表すある要求に関して変更が施された場合に、その変更が該ある要求とは異なる要求に対して与える影響を表す情報であればよく、上述した例に限定されない。
図7を参照しながら、モデル情報について説明する。図7は、モデル情報の一例を概念的に表す図である。
モデル情報は、対象システムに関する機能と、該機能が実現されることによって影響を受ける要求(さらに、要求を満たす方向であるのか否かを表す情報)とが関連付けされた情報である。モデル情報においては、第1機能と、該第1機能に含まれている第2機能とが関連付けされている。この関連性は、図7に例示されたモデル情報において、第1機能と、第2機能とを結ぶ線(矢印)を用いて表されている。第1機能と、第2機能とが、該第2機能から第1機能に向かう矢印によって結ばれている場合に、該矢印は、該第2機能が該第1機能の部分機能であることを表す。モデル情報においては、さらに、第1機能と、第2機能とを結ぶ線(矢印)に、一方の機能が他方の機能に与える、機能要求(または、非機能要求)に関する影響(さらに、要求を満たす方向であるのか否かを表す情報)を表すラベルが付与されている。
図7に例示されたモデル情報は、対象システムがメールシステムである場合に、メタモデル情報(図6を参照しながら後述する)に従い作成される情報を表す。該モデル情報は、該メールシステムの主たる目的である「メールを送信する」機能を表すノードと、「あて先を入力する」機能を表すノードと、「本文を入力する」機能を表すノードと、「送信処理を行う」機能を表すノードとを含む。該モデル情報は、さらに、「あて先を補完する」なる部分機能を表すノードを含む。
モデル情報においては、「メールを送信する」機能を表すノードと、「あて先を入力する」機能を表すノードとを結ぶ線が、「メールを送信する」機能を表すノードから「あて先を入力する」機能を表すノードに向かう矢印を用いて表されている。これは、「メールを送信する」機能が、「あて先を入力する」機能を含んでいることを表す。同様に、モデル情報においては、「メールを送信する」機能を表すノードと、「本文を入力する」機能を表すノードとを結ぶ線が、「メールを送信する」機能を表すノードから「本文を入力する」機能を表すノードに向かう矢印を用いて表されている。これは、「メールを送信する」機能が、「あて先を入力する」機能を含んでいることを表す。同様に、モデル情報は、「メールを送信する」機能が「送信処理を行う」機能を含んでいることを表す。
また、モデル情報においては、「あて先を入力する」機能を表すノードと、「あて先を補完する」機能を表すノードとを結ぶ線が、「あて先を補完する」機能を表すノードから「あて先を入力する」機能を表すノードに向かう矢印(線)を用いて表されている。さらに、該線には、「使用性、improve(すなわち、高める)」なるラベルが付与されている。これは、「あて先を入力する」機能に関する非機能要求に関する使用性を「あて先を補完する」機能によって高めることができることを表す。
モデル情報(図7に例示)は、メタモデル情報(図6に例示)に従い、モデル情報部111によって作成されてもよい。この場合に、モデル情報部111は、メタモデル情報(図6に例示)に従い、ある機能と、該ある機能を実現する部分機能と、該部分機能が実現されることによって要求に対して与える影響とが関連付けされたモデル情報(図7に例示)を作成する。
モデル情報は、上述した例に限定されない。
図7を参照しながら説明したような、モデル情報は、たとえば、対象システムに関するモデル情報を作成する場合のフレーム(または、枠組み、規則、制限)を表すメタモデル情報(図6に例示)に従い作成される。図6を参照しながら、メタモデル情報について説明する。図6は、メタモデル情報記憶部115に格納されているメタモデル情報の一例を概念的に表す図である。
メタモデル情報は、対象システムに関して作成されるモデル情報に関するフレーム(または、枠組み、規則、制限)を表す。メタモデル情報は、対象システムに関するステークホルダから生じる要求が生じたコンテキスト(たとえば、ステークホルダの特性、または、嗜好)、該対象システムが利用される状況や目的、外部環境、時代背景、技術動向等を表すノードを含む。さらに、該メタモデル情報は、相互に関連しているノードが結ばれた線を含む。
図6に例示されたメタモデル情報は、「Who」とラベル付けされたノード、「When」とラベル付けされたノード、「Where」とラベル付けされたノード、「Why」とラベル付けされたノード、及び、「コンテキスト」とラベル付けされたノードを含む。これらのラベルは、図3、及び、図4を参照しながら説明したような要素を表す。
また、該メタモデル情報は、「Who」とラベル付けされたノードから「コンテキスト」とラベル付けされたノードに向かう線を含む。さらに、該メタモデル情報においては、該線に、「identify」なるラベルが付与されている。これは、該対象システムに関する情報(この場合に、要素「Who」、要素「When」、要素「Where」、及び、要素「Why」)によって、コンテキストが特定されることを表す。
また、該メタモデル情報は、「効率性」とラベル付けされたノード、「可用性」とラベル付けされたノード、「セキュリティ」とラベル付けされたノード、及び、「非機能要求」とラベル付けされたノードを含む。さらに、該メタモデル情報は、「可用性」とラベル付けされたノードと、「非機能要求」とラベル付けされたノードとを結ぶ線を含む。これは、
非機能要求が、効率性に関する情報、可用性に関する情報、及び、セキュリティに関する情報を含んでいることを表す。
該メタモデル情報は、「機能要求」とラベル付けされたノードから「非機能要求」とラベル付けされたノードに方向付けされた線であって、「has Attribute」とラベル付けされた線を含む。これは、機能要求が、該機能要求に付随している属性(Attribute、すなわち、非機能要求)を含んでいる(has)ことを表す。また、該メタモデル情報は、「コンテキスト」とラベル付けされたノードから「非機能要求」とラベル付けされたノードに方向付けされた線であって、「has Influence」とラベル付けされた線を含む。これは、コンテキストが、非機能要求に対して影響(Influence)を与えることを表す。
さらに、該メタモデル情報は、「主機能」とラベル付けされたノードから「機能要求」とラベル付けされたノードに方向付けされた線であって、「realize」とラベル付けされた線を含む。これは、対象システムに関する主機能が実現される(realize)ことによって、ある機能要求に影響を与えることを表す。同様に、該メタモデル情報は、「部分機能」とラベル付けされたノードから「非機能要求」とラベル付けされたノードに方向付けされた線であって、「realize」とラベル付けされた線を含む。これは、対象システムに関する部分機能が実現される(realize)ことによって、ある機能要求に影響を与えることを表す。たとえば、影響を与えるとは、ある機能が実現されることによって、ある要求が満たされる(または、満たされなくなる)ことを表す。
メタモデル情報は、上述した例に限定されない。
図8を参照しながら、優先情報について説明する。図8は、優先情報記憶部114に格納されている優先情報の一例を概念的に表す図である。
優先情報は、非機能要求に含まれている要求と、該要求よりも優先される対象である要求とを含む。図8に例示された優先情報は、該要求と、該要求よりも優先される対象である要求とが関連付けされている。
図8に例示された優先情報においては、要求「効率性」と、優先される要求「有用性」とが関連付けされている。これは、対象システムを設計する場合に、有用性に関する要求が、効率性に関する要求よりも優先される対象である要求であることを表す。
優先情報は、上述した例に限定されない。
次に、図2を参照しながら、本発明の第1の実施形態に係る機能特定装置101における処理について詳細に説明する。図2は、第1の実施形態に係る機能特定装置101における処理の流れを示すフローチャートである。
ステップS101、乃至、ステップS104にて、コンテキスト情報(図3、または、図4に例示)、関連性情報(図5に例示)、及び、モデル情報(図7に例示)が入力される。ステップS101、乃至、ステップS104に示された処理は、必ずしも、図2に示された処理順でなくともよく、また、並行(または、擬似並行)に実行されてもよい。
コンテキスト情報入力部102は、対象システムに関するコンテキスト情報(図3、または、図4に例示)を入力する(ステップS101)。コンテキスト情報は、たとえば、ステークホルダ等からの要求を含んでいる。ステークホルダは、該対象システムの設計から該対象システムの運用に亘るライフサイクルに関する利害関係者等を含む。ステークホルダは、たとえば、該対象システムのユーザ、該対象システムを運用する運用管理者、該対象システムを導入するか否かを判断する経営幹部、該対象システムの設計者、または、対象システムに関する設計(または、管理、判定)を行う設計装置等である。ステークホルダから生じる要求は、該ステークホルダの主目的を表す機能要求と、該機能要求に付随する非機能要求とを含んでいる。
要求特定部103は、関連性情報記憶部105に格納されている関連性情報(図5に例示)を読み取る(ステップS102)。モデル情報部111は、対象システムに関するモデル情報(図7に例示)を入力する(ステップS103)。尚、モデル情報部111は、メタモデル情報記憶部115に格納されているメタモデル情報(図6に例示)に従い、該対象システムに関するモデル情報(図7に例示)を作成してもよい。
要求特定部103は、さらに、対象システムに対する要求を入力する(ステップS104)。該要求は、コンテキスト情報(図3、図4に例示)に含まれている要求であってもよいし、優先要求特定部113が、優先情報(図8に例示)に従い、コンテキスト情報(図3、図4に例示)に含まれている要求よりも高い優先度の要求として特定した要求であってもよい。
該要求は、たとえば、対象システムに関する非機能要求(または、機能要求)におけるセキュリティが優先される対象であると判定される場合に、要素「セキュリティ」を表す情報である。要求特定部103は、述したように、外部の装置から該要求を読み取ってもよいし、コンテキスト情報(図3、図4に例示)に含まれている要素に関する値に基づき、機械学習等の手順に従い、該対象システムに関するステークホルダから生じる要求(または、価値を判断する基準)を推定してもよい。要求特定部103が、コンテキスト情報に含まれている要素に関する値に基づき要求を推定することによって、該要求を入力する処理を減らすことができるという効果を奏する。説明の便宜上、要求特定部103が、ステップS104(または、ステップS101)に示す処理に従い読み取った要求を「第1要求」と表す。
要求特定部103は、関連性情報(図5に例示)に含まれている要求のうち、該第1要求に相反している要求(以降、「第2要求」と表す)を特定する(ステップS105)。該要求が「効率性」である場合に、要求特定部103は、たとえば、関連性情報(図5に例示)の「効率性」にて指示された行のうち、「−」(すなわち、相反している関係を表す)を含む列(たとえば、「効率性」、「相互運用性」、「保全性」等)を特定する。要求が「効率性」である場合に、要求特定部103は、「効率性」にて指示された行のうち、「−」を含む列にて示された項目のうち、たとえば、「有用性」を特定する。
機能特定部104は、要求特定部103が特定した第2要求を満たしている機能を、モデル情報(図7に例示)に基づき特定する(ステップS106)。機能特定部104は、たとえば、モデル情報(図7に例示)のうち、2つのノードを結ぶ線に関するラベルに、要求特定部103によって特定された第2要求を含む線を特定し、特定した線によって結ばれているノードを特定する。上述したように2つのノードを結ぶ線のラベルが、該線を用いて結ばれたノードに示された機能が実現されることによって奏される効果を表しているので、機能特定部104は、対象システムに対する要求に相反している要求に影響を与える機能を特定する。第2要求が項目「有用性」である場合に、機能特定部104は、たとえば、ラベル「有用性、向上する」が付された線によって結ばれている部分機能「あて先を補完する」を特定することによって、相反している要求に好適な影響を与える機能を特定する。
尚、優先要求特定部113は、ステップS104(または、ステップS101)にて入力された第1要求よりも、優先度が高い第3要求を、優先情報記憶部114に格納されている優先情報(図8に例示)に従い特定してもよい。たとえば、優先要求特定部113は、優先情報(図8に例示)において、該第1要求に関連付けされている要求を特定する。第1要求が、「効率性」である場合に、優先要求特定部113は、優先情報(図8に例示)において、「効率性」に関連付けされた「有用性」を、優先度が高い要求として特定する。この場合に、要求特定部103は、優先要求特定部113が特定した第3要求に相反している第2要求を特定する。
次に、第1の実施形態に係る機能特定装置101に関する効果について説明する。
第1の実施形態に係る機能特定装置101によれば、対象システムに対する要求が変更された場合であっても、該対象システムの設計を支援することができる。この理由は、コンテキストに関する要求を満たすよう機能が実現される場合であっても、該機能が実現されるのに伴い生じる副作用を軽減することが可能な機能を、機能特定装置101が、上述したような処理に従い特定するからである。この理由をより詳細に説明する。
本実施形態に係る機能特定装置101は、対象システムにて実現される可能性がある要求と、該要求を実現する機能との関連性を表すモデル情報(図7に例示)を入力する。機能特定装置101は、対象システムにて実現される第1要求に相反している第2要求を、要求間の関連性を表す関連性情報(図5に例示)に基づき特定する。機能特定装置101は、該第2要求を満たしている機能を、入力したモデル情報に基づき特定する。言い換えれば、機能特定装置101は、対象システムにて実現する対象である機能を、ユーザの特性や、対象システムを利用する状況や目的、外部環境等に関する要求と、該対象システムにて実現することが可能な機能とが関連付けされたモデル情報と、要求間の関連性を表す関連性情報とに基づき特定する。したがって、機能特定装置101が特定する機能は、対象システムにおいて、第1要求を満たす機能が実現されるのに伴い生じる副作用を軽減することが可能な機能を表す。
優先要求特定部113によれば、指示された要求より高い優先度を有する要求を満たすシステムを提示することができる。この理由は、優先要求特定部113が、対象システムに対する要求よりも、さらに優先度が高い要求を満たしている機能を特定するからである。
要求特定部103は、関連性情報(図5に例示)において、たとえば、第1要求と両立(並存)している第4要求、該第4要求に相反している第5要求を特定してもよい。あるいは、要求特定部103は、関連性情報(図5に例示)において、たとえば、第1要求に相反している第2要求、及び、第2要求と両立している第6要求を特定してもよい。この場合に、第5要求、及び、第6要求が、第1要求に相反しており、かつ、第2要求と両立している可能性が高いので、本実施形態に係る機能特定装置101によれば、上述した効果に加え、さらに、対象システムの設計を支援することができる。
<第2の実施形態>
次に、本発明の第2の実施形態について説明する。
図9を参照しながら、本発明の第2の実施形態に係る機能特定装置201が有する構成について詳細に説明する。図9は、本発明の第2の実施形態に係る機能特定装置201が有する構成を示すブロック図である。
本発明の第1の実施形態に係る機能特定装置201は、要求特定部202と、機能特定部203とを有する。機能特定装置201は、さらに、関連性情報記憶部204を有してもよい。
機能特定装置201は、対象システムが満たす要求を受信した場合に、関連性情報記憶部204に格納されている関連性情報(図12に例示)と、モデル情報(図11に例示)と、受信した要求に基づき、図10に示された処理に従い、該対象システムに関する機能を特定する。ここで、図11に例示されたモデル情報と、図12に例示された関連性情報について説明する。
図12を参照すると、関連性情報記憶部204には、対象システムに対する要求と、該要求に相反している(該要求とトレードオフの関係にある)要求とが関連付けされた関連性情報が格納されている。図12は、関連性情報記憶部204に格納されている関連性情報の一例を概念的に表す図である。
図12に例示された関連性情報は、図5に例示された関連性情報において、相反している要求のみが関連付けされた情報である。たとえば、図12に例示された関連性情報において、要求「柔軟性」と、要求「効率性」とは関連付けされている。これは、要求「柔軟性」と、要求「効率性」とが相反している要求であることを表す。
図11を参照しながら、モデル情報について説明する。図11は、モデル情報の一例を概念的に表す図である。
モデル情報は、対象システムに関する主機能(第1機能)の部分機能を表す第2機能を表す情報と、該部分機能が実現された場合に該対象システムに対する要求に与える影響を表す情報とが関連付けされている。モデル情報は、さらに、第2機能を表す情報に、第1機能を表す情報が関連付けされていてもよい。図11に例示されたモデル情報は、図7に例示されたモデル情報において、第1機能を表す情報と、第2機能を表す情報と、第1機能、及び、第2機能が結ばれた線に付与されたラベルを表す情報とが関連付けされた情報である。
次に、図10を参照しながら、本発明の第2の実施形態に係る機能特定装置201における処理について詳細に説明する。図10は、第2の実施形態に係る機能特定装置201における処理の流れを示すフローチャートである。
要求特定部202は、対象システムに対する第1要求を表す情報を入力し、関連性情報(図12に例示)において、該第1要求に相反している第2要求を特定する(ステップS201)。機能特定部203は、たとえば、関連性情報において、第1要求に関連付けされた第2要求を特定する。
次に、機能特定部203は、モデル情報において、要求特定部202が特定した第2要求に影響を与える機能を特定する(ステップS202)。機能特定部203は、たとえば、モデル情報において、第2要求を含む影響に関連付けされた第2機能を特定する。すなわち、機能特定部203は、対象システムにて実現されることによって、該対象システムに対する第2要求を満たしている機能を特定する。
要求特定部202は、たとえば、要求特定部103が有する機能を用いて実現することができる。機能特定部203は、たとえば、機能特定部104が有する機能を用いて実現することができる。また、機能特定装置201は、機能特定装置101が有する機能を用いて実現することができる。
次に、第2の実施形態に係る機能特定装置201に関する効果について説明する。
第2の実施形態に係る機能特定装置201によれば、対象システムに対する要求が変更された場合であっても、該対象システムの設計を支援することができる。この理由は、コンテキストに関する第1要求を満たすよう機能が実現される場合であっても、該機能が実現されるのに伴い生じる副作用を軽減することが可能な機能を、機能特定装置201が、上述したような処理に従い特定するからである。
(ハードウェア構成例)
上述した本発明の各実施形態における機能特定装置を、1つの計算処理装置(情報処理装置、コンピュータ)を用いて実現するハードウェア資源の構成例について説明する。但し、係る機能特定装置は、物理的または機能的に少なくとも2つの計算処理装置を用いて実現されてもよい。また、係る機能特定装置は、専用の装置として実現されてもよい。
図13は、第1の実施形態、及び、第2の実施形態に係る機能特定装置を実現可能な計算処理装置のハードウェア構成例を概略的に示すブロック図である。計算処理装置20は、中央処理演算装置(Central_Processing_Unit、以降「CPU」と表す)21、メモリ22、ディスク23、不揮発性記録媒体24、及び、通信インターフェース(以降、「通信IF」と表す)27を有する。計算処理装置20は、入力装置25、出力装置26に接続可能であってもよい。計算処理装置20は、通信IF27を介して、他の計算処理装置、及び、通信装置と情報を送受信することができる。
不揮発性記録媒体24は、コンピュータが読み取り可能な、たとえば、コンパクトディスク(Compact_Disc)、デジタルバーサタイルディスク(Digital_Versatile_Disc)である。また、不揮発性記録媒体24は、ユニバーサルシリアルバスメモリ(USBメモリ)、ソリッドステートドライブ(Solid_State_Drive)等であってもよい。不揮発性記録媒体24は、電源を供給しなくても係るプログラムを保持し、持ち運びを可能にする。不揮発性記録媒体24は、上述した媒体に限定されない。また、不揮発性記録媒体24の代わりに、通信IF27、及び、通信ネットワークを介して係るプログラムを持ち運びしてもよい。
すなわち、CPU21は、ディスク23に格納されているソフトウェア・プログラム(コンピュータ・プログラム:以下、単に「プログラム」と称する)を、実行する際にメモリ22にコピーし、演算処理を実行する。CPU21は、プログラム実行に必要なデータをメモリ22から読み取る。表示が必要な場合に、CPU21は、ディスプレー28に出力結果を表示する。外部への出力が必要な場合に、CPU21は、出力装置26に出力結果を出力する。外部からプログラムを入力する場合に、CPU21は、入力装置25からプログラムを読み取る。CPU21は、上述した図1、または、図9に示す各部が表す機能(処理)に対応するところのメモリ22にある機能特定プログラム(図2、または、図10)を解釈し実行する。CPU21は、上述した本発明の各実施形態において説明した処理を順次実行する。
すなわち、このような場合に、本発明は、係る機能特定プログラムによっても成し得ると捉えることができる。さらに、係る機能特定プログラムが記録されたコンピュータが読み取り可能な不揮発性の記録媒体によっても、本発明は成し得ると捉えることができる。
以上、上述した実施形態を模範的な例として本発明を説明した。しかし、本発明は、上述した実施形態には限定されない。すなわち、本発明は、本発明のスコープ内において、当業者が理解し得る様々な態様を適用することができる。
101 機能特定装置
102 コンテキスト情報入力部
103 要求特定部
104 機能特定部
105 関連性情報記憶部
111 モデル情報部
112 要求推定部
113 優先要求特定部
114 優先情報記憶部
115 メタモデル情報記憶部
201 機能特定装置
202 要求特定部
203 機能特定部
204 関連性情報記憶部
20 計算処理装置
21 CPU
22 メモリ
23 ディスク
24 不揮発性記録媒体
25 入力装置
26 出力装置
27 通信IF

Claims (10)

  1. システムに対する要求を表すある要求に関して変更が施された場合に、その変更が前記ある要求とは異なる要求に対して与える影響を表す関連性情報から、前記影響に関して、前記システムに関する変更対象である第1要求に相反している第2要求を特定する要求特定手段と、
    前記システムが有する第1機能の部分機能を表す第2機能と、前記第2機能が実現されることが要求に対して与える影響の増減とを含むモデル情報に基づき、選択された前記第2要求に関して影響を与える前記第2機能を特定する機能特定手段と
    を備える機能特定装置。
  2. 前記ある要求よりも優先度が高い要求を表す優先情報に基づき、前記第1要求よりも優先度の高い第3要求を特定する優先要求特定手段
    をさらに備え、
    前記要求特定手段は、前記第3要求に相反している前記第2要求を特定する
    請求項1に記載の機能特定装置。
  3. 前記ある要求と、前記ある要求と異なる要求とが関連付けされた前記関連性情報が格納されている関連性情報記憶手段
    をさらに備え、
    前記要求特定手段は、前記関連性情報記憶手段に格納されている前記関連性情報において、前記第1要求に関連付けされた前記第2要求を特定する
    請求項1に記載の機能特定装置。
  4. 前記モデル情報を作成する枠組みを表すメタモデル情報に従い、前記システムに関する前記モデル情報を作成するモデル情報手段
    をさらに備える請求項1、または、請求項2に記載の機能特定装置。
  5. 前記要求特定手段は、前記システムの状況を表すコンテキスト情報に基づき、前記第1要求を推定し、推定した前記第1要求に相反している前記第2要求を特定する
    請求項1乃至請求項3のいずれかに記載の機能特定装置。
  6. 前記要求は、前記システムに対する機能要求と、前記機能要求に付随している非機能要求とを含む
    請求項1乃至請求項4のいずれかに記載の機能特定装置。
  7. 前記関連性情報における前記影響は、前記ある要求が前記ある要求と異なる要求に相反しているのか、両立しているのか、または、影響がないのかを表し、
    前記要求特定手段は、前記第1要求に関して、前記相反している影響を表す前記第2要求を特定する
    請求項1乃至請求項5のいずれかに記載の機能特定装置。
  8. 前記コンテキスト情報は、前記システムが利用される時間を表す情報を含み、
    前記要求特定手段は、前記時間を表す情報にて優先される要求を、ある時間にて優先する要求を表す要求情報に基づき、前記第1要求として特定する
    請求項5に記載の機能特定装置。
  9. システムに対する要求を表すある要求に関して変更が施された場合に、その変更が前記ある要求とは異なる要求に対して与える影響を表す関連性情報から、前記影響に関して、前記システムに関する変更対象である第1要求に相反している第2要求を特定し、
    前記システムが有する第1機能の部分機能を表す第2機能と、前記第2機能が実現されることが要求に対して与える影響の増減とを含むモデル情報に基づき、選択された前記第2要求に関して影響を与える前記第2機能を特定する
    機能特定方法。
  10. システムに対する要求を表すある要求に関して変更が施された場合に、その変更が前記ある要求とは異なる要求に対して与える影響を表す関連性情報から、前記影響に関して、前記システムに関する変更対象である第1要求に相反している第2要求を特定する要求特定機能と、
    前記システムが有する第1機能の部分機能を表す第2機能と、前記第2機能が実現されることが要求に対して与える影響の増減とを含むモデル情報に基づき、選択された前記第2要求に関して影響を与える前記第2機能を特定する機能特定機能と
    をコンピュータに実現させる機能特定プログラム。
JP2016118513A 2016-06-15 2016-06-15 機能特定装置、機能特定方法、及び、機能特定プログラム Pending JP2017224126A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2016118513A JP2017224126A (ja) 2016-06-15 2016-06-15 機能特定装置、機能特定方法、及び、機能特定プログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2016118513A JP2017224126A (ja) 2016-06-15 2016-06-15 機能特定装置、機能特定方法、及び、機能特定プログラム

Publications (1)

Publication Number Publication Date
JP2017224126A true JP2017224126A (ja) 2017-12-21

Family

ID=60688141

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2016118513A Pending JP2017224126A (ja) 2016-06-15 2016-06-15 機能特定装置、機能特定方法、及び、機能特定プログラム

Country Status (1)

Country Link
JP (1) JP2017224126A (ja)

Similar Documents

Publication Publication Date Title
US8689231B2 (en) System and method for ordering tasks with complex interrelationships
US10198405B2 (en) Rule-based layout of changing information
US9904524B2 (en) Method and device for visually implementing software code
US10261985B2 (en) Output rendering in dynamic redefining application
US7624349B2 (en) Declarative definition enabling graphical designer reuse
US20170003862A1 (en) User interface for sharing application portion
TW202129564A (zh) 領域模組運算單元,含有一企業之一模型之系統,單板運算單元,運算單元之網格,提供傳播可追溯性之方法,及非暫時性電腦程式產品
US20170003943A1 (en) Building of compound application chain applications
WO2017007864A1 (en) Gesture based sharing of user interface portion
US20120216201A1 (en) State management of operating system and applications
US20180046635A1 (en) Discovery of calling application for control of file hydration behavior
US20160364674A1 (en) Project management with critical path scheduling and releasing of resources
JP4798395B2 (ja) リソース自動構築システム及び自動構築方法並びにそのための管理用端末
US11295258B2 (en) Cross domain integration in product lifecycle management
US20180150786A1 (en) Efficient task planning using past performance
US11755297B2 (en) Compiling monoglot function compositions into a single entity
JP2017224126A (ja) 機能特定装置、機能特定方法、及び、機能特定プログラム
Würz et al. Migrating monolithic applications to function as a service
JP2014178912A (ja) サーバ移動計画策定支援方法
KR102315126B1 (ko) 정규형 위배 속성 식별 방법 및 그 장치
US20240126577A1 (en) Visualization of application capabilities
Repa Object-Oriented Analysis with Data Flow Diagram
WO2024081073A1 (en) Visualization of application capabilities
JP2015114898A (ja) プログラム仕様推定装置およびその方法、ならびにプログラム
JP6056546B2 (ja) UI(UserInterface)設計支援装置、UI設計支援方法及びプログラム