JP2014222458A - 設計文章変更の影響範囲分析確認装置、及び影響範囲分析自動実行装置 - Google Patents

設計文章変更の影響範囲分析確認装置、及び影響範囲分析自動実行装置 Download PDF

Info

Publication number
JP2014222458A
JP2014222458A JP2013102282A JP2013102282A JP2014222458A JP 2014222458 A JP2014222458 A JP 2014222458A JP 2013102282 A JP2013102282 A JP 2013102282A JP 2013102282 A JP2013102282 A JP 2013102282A JP 2014222458 A JP2014222458 A JP 2014222458A
Authority
JP
Japan
Prior art keywords
design
sentence
verification
influence range
analysis
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
JP2013102282A
Other languages
English (en)
Inventor
雄一郎 中川
Yuichiro Nakagawa
雄一郎 中川
真澄 川上
Masumi Kawakami
真澄 川上
正敏 村上
Masatoshi Murakami
正敏 村上
三部 良太
Ryota Sambe
良太 三部
晴彦 西山
Haruhiko Nishiyama
晴彦 西山
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.)
Hitachi Ltd
Original Assignee
Hitachi Ltd
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 Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP2013102282A priority Critical patent/JP2014222458A/ja
Publication of JP2014222458A publication Critical patent/JP2014222458A/ja
Pending legal-status Critical Current

Links

Images

Landscapes

  • Stored Programmes (AREA)

Abstract

【課題】仕様変更や差分開発において設計文章を変更する際に、正確な影響範囲の分析を行う。
【解決手段】予め用意した設計文章型定義を用い設計文章から設計文章要素を抽出する設計文章変換手段と、文章型定義に対して設計文章間の整合性を規定した検証ルールと、設計文章要素と検証ルールから設計文章間の整合性が取れるかを検証する設計文章検証手段と、設計文章間の整合性の検証結果を任意の形式に合わせ変換する検証結果変換手段と、変換された形式に従い結果をユーザーに通知するための影響範囲出力手段を備えることで、明示的な参照関係以外の影響範囲の分析、および多重整合性違反を加味した影響範囲分析を解決する。
【選択図】 図1

Description

本発明は、ソフトウェア設計文書の変更に対する影響範囲の分析確認装置、及び分析自動実行装置に関する。
ソフトウェアの構造や処理仕様が記載される設計文書は、動作するソースコードを作成する指針となる重要なドキュメントである。設計文書に抜け漏れや矛盾など不具合があると、それを元にして作成されたソースコードにバグが埋め込まれることになり、ソフトウェア品質の低下や修正のために開発工程遅延に繋がる恐れがある。
従来の紙に書かれた設計文書を用いると、書き手の意図した情報を、読み手に誤解なく伝達するコミュニケーションの際にエラーが発生するリスクが高まる問題点を改善する手法として、またソフトウェア品質向上およびコスト低減を目的として、モデルベース開発(MBD)技術を組込みソフトウェア開発などへの適用が増えている。
ソフトウェアの開発では、抜け漏れや矛盾などがない整合性がとれた設計文章が作成されても、開発途中での仕様変更や、設計文章を改変し開発を行う差分開発の場合、整合性のとれた設計文章を改変する必要が生じる。一つの仕様変更は複数の設計文章に影響を与えることがあるが、設計文章間の関係は複雑な依存関係を持っており、その影響範囲が分からず、想定外の開発遅延を発生させることがある。
特許文献1には、ソフトウェア設計文章の変更に対する影響を知る手段として、ソフトウェア設計文章に対して更新通知を設定することで、設計資産の参照先の設計資産が更新された場合に、更新の影響を受ける設計資産の開発者に更新を通知する手法が記載されている。
特開2007−172223号公報
特許文献1が開示する技術では、設計文章間の関係に明示的な参照関係を設定することで影響範囲分析を行うことを可能としている。しかし、仕様変更や差分開発等の状況によっては、設計文章間に明示的な参照関係が存在する場合でも、一つの設計文章の変更が参照関係先に影響を与えないことがあり、明示的な参照関係のみでは、正しい影響範囲の分析が困難である。
また、仕様変更や差分開発の状況によっては、それまで設計文章間の整合性を保つために必要であった検証内容が変更になることがあり、明示的な参照関係のみでは影響範囲の分析に不要な参照関係を外すことが難しく検証内容の変更に応じた正しい影響範囲の分析が困難である。
また、上記技術では、参照関係の多重整合性違反の検証を可能としているが、参照関係以外の整合性違反が発生しても、その結果を加味した影響範囲の分析を行うことができない。正確な影響範囲分析を行うためには、全ての整合性の検証内容を加味した影響範囲の分析を行う必要がある。
また、上記技術では、設計文章そのものが変更にならず整合性の検証内容そのものが変更になるような状況においては、参照関係を設計文章一つ一つに再設定する必要があり、正しい影響範囲の分析が困難である。
また、上記技術では影響範囲を分析する時点で、最新の状況に合わせて検証を行う必要があり、参照関係が多くなった場合に影響範囲の分析をリアルタイムにユーザに通知することが困難である。一般的なソフトウェア開発において、仕様変更や差分開発での設計文章の変更に対する影響分析にかける時間は短いため、ユーザからの影響範囲の分析指示にリアルタイムに応答を返す必要がある。
本発明では、明示的な参照関係以外の影響範囲の分析、および多重整合性違反を加味した影響範囲分析を解決することを目的とする。
また、リアルタイムの影響範囲の分析結果応答を解決することを目的とする。
上記課題を解決するために本発明では、ユーザが定義入力したシステムのモデルを記述する設計文章の構造を定義する設計文章型定義データ記憶部と、前記設計文章型定義を用いて、ユーザが入力した設計文章を設計文章要素に変換する設計文章変換部と、設計文章要素データを記憶する設計文章要素データ記憶部と、設計文章間の整合性を前記設計文章型定義に従った前記設計文章要素間の整合性をルールとして定義する検証ルールを記憶する検証ルール記憶部と、ユーザインタフェースを提示して、設計文章の変更、分析対象文章、適用検証ルール、および影響範囲分析処理の開始の指示を受け付ける影響範囲分析実行入力部と、前記設計文章の変更に対する前記分析対象文章への影響範囲を、前記適用検証ルールを満足しない違反数を設計文章要素単位に検証する設計文章検証部と、前記設計文章検証部が検出した検証結果を設計文章の変更に対する影響範囲として出力する影響範囲出力部とを備えることを特徴とする影響範囲の分析確認装置を構成した。
また、上記課題を解決するために本発明では、ユーザが定義入力したシステムのモデルを記述する設計文章の構造を定義する設計文章型定義データ記憶部と、前記設計文章型定義を用いて、ユーザが入力した設計文章を設計文章要素に変換する設計文章変換部と、設計文章要素データを記憶する設計文章要素データ記憶部と、設計文章間の整合性を前記設計文章型定義に従った前記設計文章要素間の整合性をルールとして定義する検証ルールを記憶する検証ルール記憶部と、ユーザインタフェースを提示して、設計文章の変更、分析対象文章、適用検証ルール、および変更パターンの登録の指示を受け付けて、変更パターンデータ記憶部へ登録する変更パターン入力部と、ユーザインタフェースより、影響範囲の分析処理の自動検証の指示を受付けて開始し、前記設計文章の変更に対する前記分析対象文章への影響範囲を、前記適用検証ルールを満足しない違反数を設計文章要素単位に検証し、検出した検証結果を設計文章の変更に対する影響範囲として変更パターンに対応させて検証結果データ記憶部へ登録する自動検証実行部とを備えることを特徴とする影響範囲の分析自動実行装置を構成した。
本発明によれば、検証ルールを用いた設計文書の変更に対する影響範囲の分析が可能となり、より正確な結果を求めることが可能となる。また、適用する検証ルールの選択や、検証ルール自体の変更に対する分析も可能としており、開発状況に応じた影響範囲分析が可能となる。
本発明の一実施形態に係る影響範囲分析装置の概略構成を示すブロック図である。 本発明の一実施形態に係る影響範囲分析入力画面の例を示す図である。 本発明の一実施形態に係る設計文章検証部における整合性違反数を算出する処理を示すフローチャートである。 本発明の一実施形態に係る設計文章検証部における多重整合性違反数を算出する処理を示すフローチャートである。 本発明の一実施形態に係る設計文章検証部における検証ルール変更に対する整合性違反数を算出する処理を示すフローチャートである。 本発明の一実施形態に係る検証ルールデータのテーブル構成の一例を示す図である。 本発明の一実施形態に係る設計文章要素データの一例を示す図である。 本発明の一実施形態に係る設計文章要素データの一例を示す図である。 本発明の一実施形態に係る検証結果変換部の処理を示すフローチャートである。 本発明の一実施形態に係る設計文章の変更に対する影響範囲分析処理の出力画面の一例を示す図である。 本発明の一実施形態に係る設計文章の変更に対する多重影響範囲分析処理の出力画面の一例を示す図である。 本発明の一実施形態に係る検証ルールの変更に対する影響範囲分析処理の出力画面の一例を示す図である。 本発明の第二の実施形態に係る影響範囲分析自動実行装置の概略構成を示すブロック図である。 本発明の第二の実施形態に係る変更パターン入力画面の一例を示す図である。 本発明の第二の実施形態に係る自動検証実行部の処理を示すフローチャートである。
以下、実施例を図面を用いて説明する。
図1は、本発明の一実施形態に関わるソフトウェア設計文書の変更に対する影響範囲の分析確認装置100の構成例を示す図である。
影響範囲の分析確認装置100は、設計文章間の変更に対する影響範囲分析を支援する装置であり、CPU、メモリなどより成る中央演算処理装置110、キーボード、マウスなどより成る入力装置120、CRTディスプレイなどより成る出力装置130、記憶装置140、及び通信装置150を備えている。通信装置150は、ネットワーク200に接続され、ネットワーク200を介して外部記憶装置210、外部演算装置220と接続されている。
中央演算処理装置110は、記憶装置140に記憶された各種プログラム(図示せず)をダウンロードして実行することにより、以下の各種機能を実現する。中央演算処理装置110には、設計文章間の整合性をルールとして入力装置120より入力されたデータを受付けて記憶装置140へ格納するための検証ルール入力部1110と、設計文章の構造を設計文章型定義として入力されたデータを受付けて記憶装置140へ格納するための設計文章型定義入力部1120と、設計文章をモデルとしてユーザが入力するために、入力装置120にユーザインタフェースを表示して、ユーザ入力を受付ける設計文章入力部1130と、設計文章入力部1130により受付けられたユーザ入力の設計文章を設計文章型定義に合わせて設計文章の要素単位に分解し意味を付加するための設計文章変換部1140と、設計文章の変更、設計文章型定義の変更、検証ルールの変更に対する影響範囲の分析処理内容をユーザが設定した実行指示を受付けるための影響範囲分析実行入力部1150と、記憶装置140に記憶されている設計文章要素が影響範囲分析実行入力部1150により入力された設計文章の変更内容により受ける影響範囲の大きさを検証する設計文章検証部1160と、設計文章検証部1160により検証された影響範囲の大きさの検証結果を所定の形式に変換する検証結果変換部1170と、検証結果変換部1170により生成された検証結果を出力装置130上のユーザインタフェースに出力する影響範囲出力部1180とを備える。
なお、本実施例における中央演算処理装置110内の実行部は全て同一の装置内に実装される必要はなく、例えば同じ開発プロジェクトに属するそれぞれ別の装置(外部演算装置220)内に実装される形式であっても適用可能である。この場合には、これらの処理は同じ開発プロジェクト内で共通に使用されるデータベースを外部記憶装置210に構成して、共通にアクセスする運用形式となる。
記憶装置140には、検証ルール入力部1110により入力装置120から入力された設計文章間の整合性ルールデータが格納された検証ルールデータ1410と、設計文章型定義入力部1120により入力装置120から入力された設計文章の構造の型定義データが格納された設計文章型定義データ1420と、設計文章変換部1140により生成された設計文章要素データ1430と、ある設計文章の変更・追加・削除、または検証ルールの変更などに伴ってその影響範囲分析の結果が格納された影響範囲分析結果1440とを記憶する領域を有する。
なお、本実施例における記憶装置140内のデータは、単一の影響範囲分析確認装置100においてソフトウェア設計文書を開発して、分析を行なう場合には全てのデータを記憶装置140内に格納する例が考えられる。しかし、一般に各種組込みシステムの設計・開発プロジェクトの場合には、関係する多数の装置がネットワークを介して接続された構成となる。その場合には、例えば、同じ設計・開発プロジェクト内で共通となるデータベースを外部記憶装置210に構成して、設計・開発プロジェクト内の全ての装置からアクセス可能とすることが考えられる。この場合には、各影響範囲分析確認装置100内で作成・変更されて、記憶装置140に記録された検証ルールデータ1410、設計文章型定義データ1420、および設計文章要素データ1430は、その後、外部記憶装置210のデータベースへ登録されて、全ての装置から共通にアクセスされる。
本実施例のソフトウェア設計文章の変更に対する影響範囲の分析確認装置100が対象とする設計文章データの表現形式は、汎用モデル(例えばUML等)だけではなく、特定の領域の問題を解決するために設計されたドメイン特化(独自に記法等を定義)モデルも対象とする。
図2は、ソフトウェア開発者が、例えば自らが開発した設計文章に変更を加えることにより、その変更がその開発者が関わるXプロジェクトにおいて既に作成された全ての設計文章に対して、どの設計文章に影響を及ぼすかを検証する際に使用する影響範囲分析入力画面3100の例である。開発者は、設計文書表示画面3110に変更を加える設計文章を呼び出して、画面上で設計文章を変更して、影響範囲を調べる対象である分析対象文章欄3120にXプロジェクト全文章を指定して、及び例えばXプロジェクト内で取り決められている適用ルール3130としてルール1,3を指定して、画面下段の「文章変更影響分析」釦3150をクリックすることで分析処理を実行させる。
本実施例の設計文章変更の影響分析確認装置100において、分析処理を実行するに先立ち、検証ルール、および設計文章型定義を図示しない入力画面より入力して登録しておく。
検証ルールは、例えば製品開発プロジェクトを立ち上げる際に、製品毎に、またはプロジェクトに対応して、それに関わる全ての設計文章間に共通に取り決められる規則を記述したものである。例えば、XML(Extensible Markup Language)文書のスキーマ定義言語、QVT(Queries Views Transformations)言語などで記載できるものであれば、自由に規則を記載することを許可している。図6に検証ルールデータを登録した記憶装置140の検証ルールデータテーブル1410の構成例を示す。検証ルールデータテーブル1410は、ID1411と、名称1412と、検証式1413のデータ項目を有する。検証式1413の中の記載で、Typeとは、以下に説明する設計文章型のことである。
検証ルールは、ソフトウェア開発システムに厳密性が求められるところは特に詳細に決められる。製品に固有のルールがある。プロジェクト毎に決められる。設計文章型を引用して、検証式が記載される。
例えば、エントリ1415は、ID「1」を持ち、名称「ルール1」を持ち、検証式「Typeが“A設計文章”の“設定”に該当する全ての要素は、“C設計文章”の“word”に登録された要素名と一致すること」を持つことを示している。事例では、検証ルールを自然言語で示しているが、本実施例においては、登録される検証ルールは設計文章型定義との対応が可能なプログラミング言語であれば特定の言語に依存しないものである。
設計文章型は、OMG(Object Management Group)が提案するMOF(Meta-Object Facility)と呼ばれる言語で文章の構造が記述されるメタモデルのことである。メタモデルはモデルの意味を定義する。OMGが提案している典型的なメタモデルは、UML、SysML、SPEM、CWMなどである。本実施例では、例えばUMLモデルを設計文章として型定義している。設計文章型は、検証ルールを登録する前に定義される。
設計文章型は、設計文章型定義入力部1120が出力装置130へ入力インタフェース画面(図示せず)を表示して、ユーザが入力装置120により定義して、記憶装置140の設計文章型定義データ記憶領域1420に予め登録する。この設計文章型定義データは、ネットワーク200を介して外部記憶装置210へ送られて登録され、プロジェクト内で共通に使用される。
前記検証ルールは、検証ルール入力部1110が出力装置130へ入力インタフェース画面(図示せず)を表示して、ユーザが前記設計文章型を考慮に入れて入力装置120により定義して、記憶装置140の検証ルールデータ記憶領域1410に予め登録する。この検証ルールデータは、ネットワーク200を介して外部記憶装置210へ送られて登録され、プロジェクト内で共通に使用される。
中央演算処理装置110の設計文章入力部1130は、出力装置130へ設計文章入力インタフェース画面(図示せず)を表示して、ユーザが各種モデリング言語によって設計文章を入力した設計文章データを受け付ける。
設計文章変換部1140は、設計文章入力部1130が受け付けた設計文章データを、記憶装置140に登録されている前記設計文章型定義データ1420により、または外部記憶装置210に登録されている前記設計文章型定義データを読み出して、設計文章型に合わせて設計文章要素データに変換して、記憶装置140の設計文章要素データ記憶領域1430に登録するエディタ機能を有する。さらに、設計文章要素データをネットワーク200を介して外部記憶装置210へ送って登録して、プロジェクト内で共通に使用されるように機能する。
影響範囲分析実行入力部1150は、前記した図2の影響範囲分析入力画面3100をソフトウェア開発者へ提示して、開発者が指定した設計文章の変更、追加、削除などが、分析対象文章への影響を調べる処理の実行を受け付けて、開始する。
影響範囲分析入力画面3100上で、開発者は既に登録されている設計文章要素データ1430を記憶装置140、または外部記憶装置210から読み出すことが出来る。設計文章変更釦3180をクリックして、設計文書表示画面3110上に読み出した設計文章要素データを表示する。この設計文章要素データに変更を加えて、その変更の影響範囲を調べる対象を分析対象文章欄3120に指定入力して、適用ルール欄3130へ既登録の検証ルールデータ1410より一覧を表示して、例えば選択のチェックマークをルール1とルール3に付けて指示入力をする。文章変更影響分析釦3150をクリックすることにより、影響範囲分析処理の実行を影響範囲分析実行入力部1150へ指示する。
図3は影響範囲分析実行入力部1150により起動された設計文章検証部1160における処理手順を説明するフローチャートである。図3に示すフローは、設計文章の変更内容の入力に対し分析対象の設計文章要素データ1430がユーザが適用を指定した検証ルールデータ1410を満たさない件数を検出する処理を示している。
影響範囲の分析処理のステップS201において、ユーザから指定された適用する検証ルールデータを取得する。
ステップS202において、分析対象となる設計文章要素データを記憶装置140、または外部記憶装置210から全て取得する。ここで、取得する設計文章要素データはプロジェクト単位やフォルダ単位等の分析対象文章欄3120で指定した単位での取得が可能である。
影響範囲の分析処理のステップS203において、ユーザが影響範囲分析入力画面3100から指定した設計文章の変更データを取得する。
設計文章の変更を分析対象の全ての設計文章要素データに対し、適用を指定された検証ルールデータ全てを適用できたか判定する(ステップS204)。
未検証の検証ルールを1つ選択する(ステップS205)。
変更が加えられた設計文章と、全ての分析対象の設計文章要素データに対し、選択された検証ルールデータを適用して整合性違反を検出する(ステップS206)。
該当の分析対象の全ての設計文章要素データが検証ルールを満たしているか確認する(ステップS207)。
満たしていない場合は、検証ルール違反数を設計文章要素単位に影響範囲分析結果記憶領域1440に記憶する(ステップS208)。
図2の影響範囲分析入力画面3100において、ユーザが多重影響分析階層指定欄3140に分析階層上限数lを更に指定して、文章変更影響分析釦3150をクリックすることで分析処理を実行させた場合には、設計文章検証部1160は、図4のフローチャートに示す通り、設計文章の変更内容の入力に対し分析対象の設計文章要素データ1430が適用される検証ルールデータ1410を満たさない件数を検出し、さらに検証ルールを満たしていない検証結果がもたらす影響を階層的に検出して階層毎の整合性違反件数として検出する処理を行なう。
ステップS301〜S303は、ステップS201〜S203と同一の処理である。
ステップS304において、ユーザが多重影響分析階層指定欄3140に指定した影響範囲の分析階層数上限数lを取得する。
検索階層数を1に設定する(ステップS305)。
検索階層数まで検証ルールを適用したか判定する(ステップS306)。
ユーザが指定した階層数(上限数)lに検索階層数が到達したかを判定する(ステップS307)。Yesなら処理を終了する。NoならばステップS308へ移行する。
ステップS308において、検索階層数をインクリメントする。
検索階層数まで、変更が加えられた設計文章と、全ての分析対象の設計文章要素データに対し、検証ルールデータを適用して整合性違反を検出する(ステップS309)。
ステップS310において、検索階層数における全ての設計文章要素は検証ルールを満たしているか判定する。YesならばステップS306へ移行する。Noならば検索階層数の検証ルール整合性違反数を設計文章要素単位に影響範囲分析結果記憶領域1440に記憶する(ステップS311)。
図2の影響範囲分析入力画面3100において、開発者が検証ルール変更釦3190をクリックして、検証ルール表示画面3110上に既に登録されている検証ルールデータ1410を記憶装置140、または外部記憶装置210から読み出して、変更を加える場合を説明する。開発者は、検証ルールに加えた変更の影響を調べる分析対象文章を分析対象文章欄3120に指定して、検証ルール変更釦3190を再度クリックすることにより、検証ルールを変更したことによる影響範囲分析処理の実行を影響範囲分析実行入力部1150へ指示する。
図5は検証ルールデータ1410の変更の入力に対して、分析対象の設計文章要素データ1430が変更される検証ルールデータを満たさない件数(整合性違反数)を検出する処理を示している。
ステップS401,S402は、ステップS201,S202と同一の処理である。
ステップS403において、ユーザが変更した検証ルールの変更案を取得する。
ステップS404において、分析対象の全ての設計文章要素データに対し、変更検証ルールを適用下か判定する。Yesなら処理を終了する。NoならばステップS405へ移行する。
ステップS405において、全ての分析対象の設計文章要素データに対し、変更を加えた検証ルールデータを適用して整合性違反を検出する。
ステップS406において、分析対象の設計文章要素データは変更を加えた検証ルールデータを満たしているか判定する。YesならばステップS404へ移行する。NoならばステップS407において、検証ルール(整合性)違反数を設計文章要素単位に影響範囲分析結果記憶領域1440に記憶する。
本実施例においては、検証ルールの変更は図4の処理フローに示す分析階層数を用いた検証も可能である。
図2の影響範囲分析入力画面3100において、設計文章を新たに追加してその影響を調べる場合には、ユーザは設計文書表示画面3110上に新たな設計文章を入力・表示して、同様に分析対象文章欄3120、適用ルール欄3130を指定して、文章追加影響分析釦3160をクリックすることにより、設計文章検証部1160は新たな設計文章を加えた全ての設計文章間の整合性を検証する。
また、既存の設計文章要素を設計文書表示画面3110上に読み出してきて、その設計文章を削除した場合の影響を調べる場合には、ユーザは上記と同様に分析対象文章欄3120、適用ルール欄3130を指定して、文章削除影響分析釦3170をクリックすることにより、設計文章検証部1160は指定された設計文書を削除した全ての設計文章間の整合性を検証する。
図9は検証結果変換部1170における処理手順を説明するフローチャートである。図9に示すフローは、例えば設計文章変更の影響範囲分析結果1440をユーザに通知するため、整合性違反数を所定の形式に変換する処理を示している。設計文章検証部11620が記憶装置140の影響範囲分析結果記憶領域1440に記憶した検証結果の整合性違反数を取得し(ステップS501)、影響範囲分析実行入力部1150よりユーザが指定した出力形態フォーマットを取得し(ステップS502)、出力形態フォーマットに合わせて整合性違反数の再計算を行い(ステップS503)、出力可能なフォーマットに合わせて影響範囲分析結果を出力装置130に通知する処理を行う(ステップS504)。
図7に示す設計文章例により図3のフローチャートの影響範囲分析処理の一実施の形態を説明する。設計文章要素データ1430は、TypeがA設計文章2010の場合、Type:名前2030と、番号2040と、設定2050と、実行2060の4つのフィールドを持ち、TypeがB設計文章2090の場合、Type:名前2100と、番号2110と、設定2120と、実行2130の4つのフィールドを持ち、TypeがC設計文章2180の場合、Type:名前2190と、cate(gory)2200と、word2210の3つのフィールドを持つ。
例えば、エントリ2230はTypeが「A設計文章」で名前が「A1設計文章」であることを示し、エントリ2070は、番号が「1」の要素において、設定の「A1」が成立する場合、「X=x1」を実行することを示している。同様に、エントリ2080は、Typeが「A設計文章」である名前「A2設計文章」の、番号が「1」の要素において、設定の「A1」が成立する場合、「X=x1」を実行することを示している。
また、例えばエントリ2140は、Typeが「B設計文章」である名前「B1設計文章」の、番号が「1」の要素において、設定の「A1」が成立する場合、「X=x1」を実行することを示している。同様にエントリ2250は、Typeが「B設計文章」である名前「B2設計文章」の、番号が「1」の要素において、設定の「A2」が成立する場合、「X=x3」を実行することを示している。同様にエントリ2170は、Typeが「B設計文章」である名前「B3設計文章」の、番号が「1」の要素において、設定の「A1」が成立する場合、「X=x2」を実行することを示している。
また、例えばエントリ2220は、cate(gory)が「A」に属するwordとして「A1」が登録されていることを示している。
図8に示す設計文章例により図4のフローチャートの影響範囲分析処理の一実施の形態を説明する。設計文書要素データ1430は、TypeがD設計文章2310の場合、Type:名前2320と、ref:参照先設計文章名2330の2つのフィールドを持ち、TypeがE設計文章2380の場合、Type:名前2390と、条件2400と、結果2410のフィールドを持つ。
例えば、設計文章2310は、Typeが「D設計文章」である名前「D1設計文章」2320の、参照先となる設計文章は「E1設計文章」2330であることを示している。同様に、Typeが「D設計文章」である名前「D2設計文章」は参照先に「E2設計文章」を持ち2350、Typeが「D設計文章」である名前「D3設計文章」は参照先に「E3設計文章」を持ち2360、Typeが「D設計文章」である名前「D4設計文章」は参照先に「E4設計文章」を持つ2370ことを示している。
また、設計文章要素データ1160は、設計文章間の処理順序を規定する矢印(構成要素)2340を持つ。なお、本技術では設計文章要素間の関係性を規定可能であり、処理順序のみでなく、汎化や集約と言った関係性も登録可能である。
また、例えば設計文章2450において、Typeが「E設計文章」である名前「E1設計文章」は、条件が「*」(*は無条件を意味する)で、結果が「a=A」を実行することを示している。同様に、Typeが「E設計文章」である名前「E2設計文章」2420は、条件「a==A」が成立した場合に、結果「b=B」を実行することを示し、Typeが「E設計文章」2430である名前「E3設計文章」は、条件「b==B」が成立した場合に、結果「c=C」を実行することを示し、Typeが「E設計文章」である名前「E4設計文章」2440は、条件「c==C」が成立した場合に、結果「d=D」を実行することを示している。
図10、図11、図12は本発明の一実施形態に係る影響範囲分析結果の画面表示例を示す図である。ユーザにより指定された出力単位形式に検証結果変換部1170が影響範囲分析結果を変換して、影響範囲出力部1180が出力装置130に出力する。
図10は、図2の影響範囲分析入力画面3100において、C1設計文章に変更を加え、適用ルールとしてルール1を指定して、図3のフローチャートに従って指定の検証ルールに照らし合せて検証を行った場合、影響範囲を特定の単位(設計文章要素の単位)に整合性違反数で表示した結果を示したものである。例えば、出力画面3310ではC1設計文章2180のエントリ2220のwordを「A1」から「A3」に変更し、適用するルールを「ルール1」と指定3330した場合の結果を示す。影響範囲の分析結果として、影響範囲を設計文章の名前単位3340に、整合性違反している要素数3350を出力している。「A1設計文章」ではエントリ2070において設定の「A1」が「C1設計文章」におけるwordに登録されていないデータを使用しており、結果として「A1設計文章」内で整合性違反が1つ発生し3360、同様に「A2設計文章内」では整合性違反が1つ発生していることを表している3370。なお、設計文章の変更は単一のみでなく、複数個所の変更を同時に分析することも可能である。
また、影響範囲出力画面3310に出力する影響範囲の単位は、設計文章型定義データ1420より抽出可能な単位で設定可能である。また、出力結果の要素数に関しては、同一の設計文章要素に対して複数の違反がある場合、総数を出力することも、延べ数を出力することも可能である。また、設計文章型定義や設計文章要素や検証ルールに対して予め重みを付けることで、重み付け評価も適用可能とする。また、設計文章要素の変更のみでなく、追加や削除に関しても適用可能である。
図11は、図2の影響範囲分析入力画面3100において、各種の設計文章を変更する際に、多重影響分析階層数を指定3140し、適用ルールとしてルール4を指定して、図4のフローチャートに従って指定のルールに照らし合せて検証を行った場合に、影響範囲を特定の単位に整合性違反数で表示した結果を示したものである。例えば、出力画面3410は、「E1設計文章」2450のフィールドの結果「a=A」を「−」(何もしない)に変更し、階層指定の影響範囲分析で「階層上限数l=3」を指定し3430、適用するルールとしてルール4を指定3440した場合の、階層単位の影響範囲を整合性違反数で表示した結果3450と、階層1に対応する影響範囲の分析結果を影響範囲3460と、整合性違反数3470で出力した結果を示している。図8(B)において、変更により「E1設計文章」2450の結果「a=A」2410が設定されないため、「E2設計文章」2420においては条件「a==A」が成立するパスが存在しなくなるため階層1で違反が1つ発生し3480、「E3設計文章」2430においては前記の処理の影響で条件「b==B」が成立するパスが存在しなくなるため階層2で違反が1つ発生し、「E4設計文章」2440においては前記の処理の影響で条件「c==C」が成立するパスが存在しなくなるため階層3で違反が1つ発生する。なお、階層(上限数)無しを指定3140した場合は、整合性違反が無くなるまで階層を増やして検証を実施する。また、設計文章要素の変更のみでなく、追加や削除に関しても適用可能である。
図12は、図2の影響範囲分析入力画面3100において、検証ルール表示画面3110上でルール1を変更して、適用ルール欄3130で更にルール2にチェックマークを付けた場合に、影響範囲を特定の単位に整合性違反数で表示した結果を示したものである。出力画面3510では、変更を加えたルールを示す変更ルール欄3520と、適用ルールを示す適用ルール欄3530と、影響を受ける設計文章を表示する影響範囲欄3540と、影響を受ける設計文章毎の整合性違反数を示す要素数欄3550を表示する。
例えば、図6のルールテーブル1410において、エントリ1415の検証式1413を「Typeが“A設計文章”の“設定”に該当する全ての要素は、“C設計文章”の“word”に登録された要素名と一致すること」から、「Typeが“A設計文章”の“設定”に該当する全ての要素は、“C設計文章”の“word”に登録された、cateがAに含まれる要素名と一致すること」と変更し、変更した「ルール1」に加えて「ルール2」を適用3530した場合、影響範囲の分析結果として、「A1設計文章」2010の設定「B1」および「C1」がルール違反となり、「A1設計文章」において2つの整合性違反が発生していることを示す3560。同様に、「A2設計文章」2020においても、2つの要素が影響を受けていることを示す3570。影響範囲欄、および要素数欄にはその他の影響を受ける設計文書の結果が表示されている。それらの中で、「A1設計文章」と「A2設計文章」の要素数(整合性違反数)が他に比べて大きいことを強調して明示するために、要素数「2」の文字を大きく表示している。又は、色を変えて表示することでも良い。
なお、検証ルールの変更による影響範囲の分析は、単一の検証ルールのみでなく、複数の検証ルールを変更した場合の影響範囲の分析が可能である。また、検証ルールの変更では図11で示した分析階層数を指定した影響範囲分析も可能である。また、設計文章要素の変更のみでなく、追加や削除に関しても適用可能である。また、ルールと設計文章要素を同時に変更した場合の分析も可能である。
図13は本発明の第一の実施形態に関わるソフトウェア設計文書の変更に対する影響範囲の分析確認装置100に自動検証機能を加えた第二の実施形態に関わる影響範囲の分析自動実行装置102の構成例を示す図である。
分析自動実行装置102は、予め想定される設計文章の変更、追加、削除などに対して、分析対象文章、適用ルールなどの指定を含めて変更パターンとしてユーザが登録しておいて、ユーザが不在の間に影響範囲の分析処理を変更パターンに合わせて予め自動実行して結果を記録しておくことで、ユーザからの影響範囲分析指示に対してリアルタイムの応答を支援する装置である。
図13に示す影響範囲の分析自動実行装置102の構成図では、中央演算処理装置110に入力装置120に変更パターンを予め指定するためのインタフェースを表示して、変更パターンの入力を受け付ける変更パターン入力部1190と、変更パターンデータと検証ルールデータと設計文章要素データから検証を自動実施する自動検証実行部1100が加わり、記憶装置140には、変更パターンを登録する変更パターンデータ記憶領域1450と、自動検証実行部1100により影響範囲分析処理を自動実行した結果を記録する検証結果データ記憶領域1460が加わっている。
なお、分析自動実行装置102は影響範囲の分析確認装置100(図1)と同一装置上に配置する適用形態が可能である。
図14は、変更パターン入力部1190が入力装置120に変更パターンを予め指定するためのインタフェースを表示した変更パターン入力画面3102の例である。画面の構成は、図2の影響範囲分析入力画面3100の下段に、変更パターン入力釦3210と、自動検証実行釦3220が追加された構成である。
ユーザは影響範囲分析入力画面における入力指示と同様に、文章変更などによる影響範囲を分析するための変更パターンを画面上で作成して、変更パターン入力釦3210をクリックすることにより、変更パターン入力部1190が変更パターンを変更パターンデータ記憶領域1450へ登録する。ユーザは複数の変更パターンを登録することができる。
ユーザは、処理時間を要する影響範囲分析処理を、例えば夜中などの不在の間に分析自動実行装置102に実行指示するために、自動検証実行釦3220をクリックして、自動検証実行部1100を起動する。
図15は自動検証実行部1100において、既登録で、かつ未検証の変更パターンデータ1450に対して、設計文章要素データ1430が検証ルールデータ1410を満たさない件数(整合性違反数)を自動的に検出する処理手順を説明するフローチャートである。
ステップS601において、変更パターンデータ記憶領域1450に登録されている変更パターンデータを取得する。
ステップS602において、検証結果データ記憶領域1460に記憶されている検証結果データを取得する。
ステップS603において、未検証の変更パターンに対応する検証ルールデータ1410を取得する。
ステップS604において、未検証の変更パターンに対応する設計文章要素データ1430を全て取得する。
ステップS605において、取得した未検証の変更パターンの全てを、変更パターンが適用される全てのルールと、全ての設計文章要素に対して検証実施したか確認する。Yesなら処理を終了する。NoならばステップS606へ移行する。
ステップS606において、未実施の変更パターンを1つ選択する。
ステップS607において、検証結果データ記憶領域1460に既に検証した結果が登録されているか確認する。YesならばステップS605へ移行する。NoならばステップS608へ移行する。
ステップS608において、選択された変更パターンの影響範囲分析処理をを実施する。検証の実施方法は図3、図4に記載の方法と同様である。
ステップS609において、検証結果を検証結果データ記憶領域1460へ登録して、ステップS605へ移行する。
図3、図4、図5に示した処理フローにおいて、検証結果データ記憶領域1460に登録した検証結果データを活用することを可能とする。
100・・影響範囲の分析確認装置
102・・影響範囲の分析自動実行装置
110・・中央演算処理装置
120・・入力装置
130・・出力装置
140・・記憶装置
150・・通信装置
200・・ネットワーク
210・・外部記憶装置
220・・外部演算装置
1100・・自動検証実行部
1110・・検証ルール入力部
1120・・設計文章型定義入力部
1130・・設計文章入力部
1140・・設計文章変換部
1150・・影響範囲分析実行入力部
1160・・設計文章検証部
1170・・検証結果変換部
1180・・影響範囲出力部
1190・・変更パターン入力部
1410・・検証ルールデータ記憶領域
1420・・設計文章型定義データ記憶領域
1430・・設計文章要素データ記憶領域
1440・・影響範囲分析結果記憶領域
1450・・変更パターンデータ記憶領域
1460・・検証結果データ記憶領域
2010・・A設計文章
2090・・B設計文章
2180・・C設計文章
2310・・D設計文章
2380・・E設計文章
3100・・影響範囲分析入力画面
3102・・変更パターン入力画面
3110・・設計文書表示画面、
3120・・分析対象文章欄
3130・・適用ルール欄
3140・・多重影響分析階層指定欄
3150・・文章変更影響分析釦
3160・・文章追加影響分析釦
3170・・文章削除影響分析釦
3180・・設計文章変更釦
3190・・検証ルール変更釦
3210・・変更パターン入力釦
3220・・自動検証実行釦
3310・・影響範囲出力画面
3410・・多重影響範囲出力画面
3510・・検証ルール変更影響範囲出力画面

Claims (8)

  1. ユーザが定義入力したシステムのモデルを記述する設計文章の構造を定義する設計文章型定義データ記憶部と、
    前記設計文章型定義を用いて、ユーザが入力した設計文章を設計文章要素に変換する設計文章変換部と、
    設計文章要素データを記憶する設計文章要素データ記憶部と、
    設計文章間の整合性を前記設計文章型定義に従った前記設計文章要素間の整合性をルールとして定義する検証ルールを記憶する検証ルール記憶部と、
    ユーザインタフェースを提示して、設計文章の変更、分析対象文章、適用検証ルール、および影響範囲分析処理の開始の指示を受け付ける影響範囲分析実行入力部と、
    前記設計文章の変更に対する前記分析対象文章への影響範囲を、前記適用検証ルールを満足しない違反数を設計文章要素単位に検証する設計文章検証部と、
    前記設計文章検証部が検出した検証結果を設計文章の変更に対する影響範囲として出力する影響範囲出力部と、
    を備えることを特徴とする影響範囲の分析確認装置。
  2. 前記影響範囲分析実行入力部は、前記設計文章要素データ記憶部から既登録の設計文章要素データを読み出して、ユーザからの変更を受付け、
    前記検証ルール記憶部から既登録の検証ルールの一覧を表示して、ユーザから適用検証ルールの選択を受付け、及び
    前記設計文章要素データ記憶部に既登録の設計文章要素データの中より、影響範囲の対象となる分析対象文章を選択するユーザ指定を受付けることを特徴とする請求項1に記載の影響範囲の分析確認装置。
  3. 前記設計文章検証部により検出した設計文章間の整合性の違反数を任意の出力形態に合わせる検証結果変換部を更に備え、
    前記検証結果変換部が変換した検証結果を設計文章の変更に対する影響範囲として影響範囲出力部が出力することを特徴とする請求項1に記載の影響範囲の分析確認装置。
  4. 前記影響範囲分析実行入力部は、前記検証ルール記憶部から既登録の検証ルールデータを読み出して、ユーザからの変更を受付け、
    前記設計文章検証部は、前記影響範囲分析実行入力部で変更された検証ルールを用いた影響範囲の分析処理を行うことを特徴とする請求項1に記載の影響範囲の分析確認装置。
  5. 前記影響範囲分析実行入力部は、更にユーザより多重影響分析階層上限数の指定を受付けて、
    前記設計文章検証部は、検証ルールを満たしていない検証結果がもたらす影響を階層的に検出して階層毎の整合性違反件数として検出することを特徴とする請求項1に記載の影響範囲の分析確認装置。
  6. 前記設計文章型定義データ記憶部が記憶する設計文章型定義データは設計文章型に対する重みを定義する項目を更に有し、前記設計文章要素データは設計文章要素に対する重みを定義する項目を更に有し、前記検証ルールは検証ルールに対する重みを定義する項目を更に有し、
    前記設計文章検証部は、前記設計文章型に対する重みと、前記設計文章要素に対する重みと、前記検証ルールに対する重みを用い、影響範囲の分析を重み付け評価することを特徴とする請求項1に記載の影響範囲の分析確認装置。
  7. ユーザが定義入力したシステムのモデルを記述する設計文章の構造を定義する設計文章型定義データ記憶部と、
    前記設計文章型定義を用いて、ユーザが入力した設計文章を設計文章要素に変換する設計文章変換部と、
    設計文章要素データを記憶する設計文章要素データ記憶部と、
    設計文章間の整合性を前記設計文章型定義に従った前記設計文章要素間の整合性をルールとして定義する検証ルールを記憶する検証ルール記憶部と、
    ユーザインタフェースを提示して、設計文章の変更、分析対象文章、適用検証ルール、および変更パターンの登録の指示を受け付けて、変更パターンデータ記憶部へ登録する変更パターン入力部と、
    ユーザインタフェースより、影響範囲の分析処理の自動検証の指示を受付けて開始し、前記設計文章の変更に対する前記分析対象文章への影響範囲を、前記適用検証ルールを満足しない違反数を設計文章要素単位に検証し、検出した検証結果を設計文章の変更に対する影響範囲として変更パターンに対応させて検証結果データ記憶部へ登録する自動検証実行部と、
    を備えることを特徴とする影響範囲の分析自動実行装置。
  8. 前記変更パターン入力部は、前記設計文章要素データ記憶部から既登録の設計文章要素データを読み出して、ユーザからの変更を受付け、
    前記検証ルール記憶部から既登録の検証ルールの一覧を表示して、ユーザから適用検証ルールの選択を受付け、
    前記設計文章要素データ記憶部に既登録の設計文章要素データの中より、影響範囲の対象となる分析対象文章を選択するユーザ指定を受付け、及び
    以上のユーザ指示内容を変更パターンとして登録する指示に従って、変更パターンデータ記憶部へ登録することを特徴とする請求項7に記載の影響範囲の分析自動実行装置。
JP2013102282A 2013-05-14 2013-05-14 設計文章変更の影響範囲分析確認装置、及び影響範囲分析自動実行装置 Pending JP2014222458A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2013102282A JP2014222458A (ja) 2013-05-14 2013-05-14 設計文章変更の影響範囲分析確認装置、及び影響範囲分析自動実行装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2013102282A JP2014222458A (ja) 2013-05-14 2013-05-14 設計文章変更の影響範囲分析確認装置、及び影響範囲分析自動実行装置

Publications (1)

Publication Number Publication Date
JP2014222458A true JP2014222458A (ja) 2014-11-27

Family

ID=52121949

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2013102282A Pending JP2014222458A (ja) 2013-05-14 2013-05-14 設計文章変更の影響範囲分析確認装置、及び影響範囲分析自動実行装置

Country Status (1)

Country Link
JP (1) JP2014222458A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2016143106A (ja) * 2015-01-30 2016-08-08 株式会社日立製作所 業務バリエーションに基づく業務影響箇所抽出方法および業務影響箇所抽出装置

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2016143106A (ja) * 2015-01-30 2016-08-08 株式会社日立製作所 業務バリエーションに基づく業務影響箇所抽出方法および業務影響箇所抽出装置

Similar Documents

Publication Publication Date Title
US8930337B2 (en) Mapping dataset elements
JP5659238B2 (ja) ソースコード変換方法およびソースコード変換プログラム
US9418230B2 (en) Automated tools for building secure software programs
US20230086854A1 (en) Dynamically controlling case model structure using case fragments
US8887083B2 (en) Generating equations based on user intent
AU2009201680B2 (en) Computer Implemented Method for Generating Interrelated Computer Executable Files Computer-Based System and Computer Program Product
US9235661B2 (en) Configurable business rules
US20160292305A1 (en) System, method, and program for storing and analysing a data graph
CN101710275B (zh) 利用gui工具来编辑工作流逻辑和屏幕的方法和系统
CN103049504A (zh) 基于源代码查询的半自动插桩方法
US11977473B2 (en) Providing a pseudo language for manipulating complex variables of an orchestration flow
JP2008226090A (ja) プラントモデル開発システム
JP2014222458A (ja) 設計文章変更の影響範囲分析確認装置、及び影響範囲分析自動実行装置
US9405514B1 (en) Process fragment management
JP6336922B2 (ja) 業務バリエーションに基づく業務影響箇所抽出方法および業務影響箇所抽出装置
JP4929018B2 (ja) セルコンセプトを用いた設計方法、図面作成装置、プログラム、および記録媒体
JP4957043B2 (ja) 情報処理装置、プログラム及び業務アプリケーション導入方法
JP5337754B2 (ja) 開発支援装置
EP4261678A1 (en) Generation of a technical instruction
JP4905117B2 (ja) 仕様記述支援装置
Härtull Implementation of an Application for Analyzing and Visualizing Benchmark Results for Optimization Solvers
AU2020200471A1 (en) Web Application Builder
JP2012215912A (ja) 情報処理装置、情報処理方法、情報処理システム、プログラム、記録媒体
Yang et al. A DEVS Visual Front-End Interface for Model Reusability and Maintainability
JP2023031614A (ja) 変更度計測装置、方法及びプログラム

Legal Events

Date Code Title Description
RD02 Notification of acceptance of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7422

Effective date: 20140908