JP7733622B2 - Development Support System - Google Patents
Development Support SystemInfo
- Publication number
- JP7733622B2 JP7733622B2 JP2022123907A JP2022123907A JP7733622B2 JP 7733622 B2 JP7733622 B2 JP 7733622B2 JP 2022123907 A JP2022123907 A JP 2022123907A JP 2022123907 A JP2022123907 A JP 2022123907A JP 7733622 B2 JP7733622 B2 JP 7733622B2
- Authority
- JP
- Japan
- Prior art keywords
- data
- component
- support system
- development
- unit
- 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.)
- Active
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/20—Software design
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q10/00—Administration; Management
- G06Q10/04—Forecasting or optimisation specially adapted for administrative or management purposes, e.g. linear programming or "cutting stock problem"
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q10/00—Administration; Management
- G06Q10/06—Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
- G06Q10/063—Operations research, analysis or management
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q10/00—Administration; Management
- G06Q10/06—Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
- G06Q10/063—Operations research, analysis or management
- G06Q10/0633—Workflow analysis
Landscapes
- Engineering & Computer Science (AREA)
- Business, Economics & Management (AREA)
- Human Resources & Organizations (AREA)
- Economics (AREA)
- Strategic Management (AREA)
- Theoretical Computer Science (AREA)
- Entrepreneurship & Innovation (AREA)
- General Physics & Mathematics (AREA)
- Physics & Mathematics (AREA)
- Operations Research (AREA)
- Marketing (AREA)
- Quality & Reliability (AREA)
- Tourism & Hospitality (AREA)
- Game Theory and Decision Science (AREA)
- General Business, Economics & Management (AREA)
- Development Economics (AREA)
- Educational Administration (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
- Stored Programmes (AREA)
Description
本発明は、ソフトウェア開発等のプロジェクトにおいて、ある入力変数がプロジェクトの成果にどの程度寄与するかを予測する開発支援システムに関する。 The present invention relates to a development support system that predicts the extent to which an input variable will contribute to the outcome of a project such as software development.
一般的にソフトウェア開発現場においては、そのプロジェクトが終了するまで、すなわちソフトウェアの最終バージョンがリリースされるまでには複数回のバージョンアップを経る。そして、それぞれのバージョンがどれだけ最終目標に近づいているかを判断するための基準として、近年KPI(Key Performance Index)と呼ばれる概念が導入されている。KPIとは、「重要業績評価指標」とも呼ばれ、一般的にはプロジェクトの最終目標を達成するための過程を管理するために設ける、定量的な計測基準である。KPIの具体例としては、例えばCPU負荷、ROM消費量、RAM消費量、バグ数、開発工数、ソフトウェア再利用率等が挙げられる。 In software development, a project typically goes through multiple version upgrades before the final version of the software is released. In recent years, a concept called KPI (Key Performance Index) has been introduced as a standard for determining how close each version is to achieving the final goal. KPIs, also known as "key performance indicators," are generally quantitative measurement standards established to manage the process of achieving a project's final goal. Specific examples of KPIs include CPU load, ROM consumption, RAM consumption, number of bugs, development man-hours, and software reuse rate.
このKPIを、ソフトウェアアーキテクチャ設計データメトリクスを用いて予測する技術も近年提案されつつある。ここで、ソフトウェアアーキテクチャ設計データメトリクスとは、あるプロジェクトにおける開発対象であるソフトウェアアーキテクチャ(ソフトウェアの構造や機能/非機能要件等)を定量的に評価するための基準を定義するものである。その具体例としては、コア別モジュール数、依存関係数/データ量、依存関係方向、循環的複雑度などが挙げられ、他にも、システム規模の計測、変更に対するシステムの影響の感度の把握、要素間連結の度合いの把握、要素間結合の度合いの把握、要素の循環度合いの把握、といった観点から種々の基準が採用される。なお、以下ではソフトウェアアーキテクチャ設計を単にソフトアーキ設計と呼称し、ソフトウェアアーキテクチャ設計データメトリクスを単にソフトアーキ設計データメトリクスと呼称することがある。 In recent years, technologies have been proposed that use software architecture design data metrics to predict these KPIs. Software architecture design data metrics define criteria for quantitatively evaluating the software architecture (software structure, functional/non-functional requirements, etc.) that is the development target of a project. Specific examples include the number of modules per core, the number/volume of dependencies, the direction of dependencies, and cyclomatic complexity. Various other criteria are also adopted from the perspectives of measuring system scale, understanding the sensitivity of the system's impact to changes, understanding the degree of inter-element coupling, understanding the degree of inter-element coupling, and understanding the degree of element circularity. In the following, software architecture design will be referred to simply as software architecture design, and software architecture design data metrics will be referred to simply as software architecture design data metrics.
ソフトウェアのバージョン変更の場合には、ソフトアーキ設計データ以外に、ハードウェアやプロジェクトに関する情報も変更する場合がある。しかも、近年のソフトウェア開発プロジェクトにおける規模の巨大化や複雑さの増大に伴い、KPI予測のために必要な変数の数も増え続けている。従って、KPIの予測結果に対して各入力変数がどの程度影響を与えたかの絶対量を算出する方法と、ソフトアーキ設計変更の影響を算出する方法の確立が必要とされる。 When software versions are updated, in addition to software architecture design data, hardware and project information may also change. Furthermore, as software development projects have grown in scale and complexity in recent years, the number of variables required for KPI prediction continues to increase. Therefore, it is necessary to establish a method for calculating the absolute amount of impact each input variable has on KPI prediction results, as well as a method for calculating the impact of software architecture design changes.
特許文献1には、入力を値域の範囲内でランダムに変更し、対象に関する目的を達成するための入力(特徴量)を特定する技術が開示されている。 Patent document 1 discloses a technology that randomly changes input within a range of values and identifies the input (feature) required to achieve a target objective.
また、特許文献2には、プロジェクトのパラメータ集合と終了予定日から、予測モデルを用いて(第二)プロジェクト成功確率を算出し、プロジェクトに変更があった場合の新たなパラメータ集合と終了予定日から、同様に(第一)プロジェクト成功確率を算出し、第一と第二の成功確率の差分から、プロジェクト変更によるリスクを推定する技術が開示されている。 Patent Document 2 also discloses a technology that uses a prediction model to calculate a (second) project success probability from a project parameter set and planned end date, and similarly calculates a (first) project success probability from a new parameter set and planned end date when a project is changed, and estimates the risk of project changes from the difference between the first and second success probabilities.
しかしながら、特許文献1で開示されている技術では、ソフトウェア設計データのようにバージョン管理され、時系列で連続性のあるデータの取り扱いは考慮しておらず、アーキテクチャの設計変更に対するKPI影響の予測値(絶対量)は算出できない。特許文献2においても同様である。 However, the technology disclosed in Patent Document 1 does not take into account the handling of data that is version-managed and has continuity over time, such as software design data, and is therefore unable to calculate the predicted value (absolute amount) of the impact on KPIs of architectural design changes. The same is true for Patent Document 2.
本発明は、上記の点を鑑みてなされたものであり、プロジェクト遂行中にソフトアーキ設計を変更した場合、他の入力変数のKPIに対する影響度を予測モデルを用いて予測し、早期にソフトアーキ設計の妥当性を検証することが可能な開発支援システムを提供することを目的とする。 The present invention was made in consideration of the above points, and aims to provide a development support system that uses a predictive model to predict the impact of other input variables on KPIs when the software architecture design is changed during project execution, thereby enabling early verification of the validity of the software architecture design.
本発明に係る開発支援システムの一例は、開発成果物の第1構成要素の更新履歴データ及び第2構成要素の現データを少なくとも記憶する記憶部と、構成要素毎の、開発成果度に対する評価値を予測する評価予測部と、第1構成要素の現データと、更新履歴データのうちの1つのデータである更新前データとの差分を抽出する差分抽出部と、差分抽出部の出力に基づいて、第2構成要素の現データを変更した変更後データを生成するデータ変更部と、を備え、評価予測部は、第1構成要素の現データと更新前データとに基づいて評価値の第1変動値を算出し、第2構成要素の現データと変更後データとに基づいて評価値の第2変動値を算出する。 An example of a development support system according to the present invention includes a storage unit that stores at least update history data for a first component of a development deliverable and current data for a second component; an evaluation prediction unit that predicts an evaluation value for the development success level for each component; a difference extraction unit that extracts the difference between the current data for the first component and pre-update data, which is one piece of update history data; and a data modification unit that generates post-modification data by modifying the current data of the second component based on the output of the difference extraction unit. The evaluation prediction unit calculates a first variation of the evaluation value based on the current data and pre-update data for the first component, and calculates a second variation of the evaluation value based on the current data and post-modification data for the second component.
本発明によれば、プロジェクト遂行中にソフトアーキ設計を変更した場合、他の入力変数のKPIに対する影響度を予測モデルを用いて予測し、早期にソフトアーキ設計の妥当性を検証することが可能になる。
本発明に関連する更なる特徴は、本明細書の記述、添付図面から明らかになるものである。また、上記した以外の課題、構成及び効果は、以下の実施例の説明により明らかにされる。
According to the present invention, when the software architecture design is changed during the execution of a project, the impact of other input variables on KPIs can be predicted using a prediction model, making it possible to verify the validity of the software architecture design at an early stage.
Further features related to the present invention will become apparent from the description of the present specification and the accompanying drawings. Furthermore, problems, configurations, and effects other than those described above will become apparent from the following description of the embodiments.
以下、本発明の実施例について、図面を参照しながら詳細に説明する。 The following describes in detail an embodiment of the present invention with reference to the drawings.
図1は、ソフトアーキ設計データ及び、ソフトアーキ設計データ以外のKPI関連データをKPI予測モデルに入力してKPIを予測する手法の概要を示す図である。ソフトアーキ設計データとは、開発対象のソフトウェアの構成要件を示すデータであり、上述の通りコア別モジュール数、依存関係数/データ量、依存関係方向、循環的複雑度等が挙げられる。KPI関連データとは、開発対象のソフトウェア自体に関するデータではないが、開発プロジェクトに関するその他のデータのことであり、過去案件との類似性や顧客からの要求等のプロジェクトそのものに関するプロジェクト管理データと、マイコンスペック等のハードウェア設計データとを含む。具体的には例えば図1の変数名X2~X8で示されるようなデータ種である。 Figure 1 shows an overview of a method for predicting KPIs by inputting software architecture design data and KPI-related data other than software architecture design data into a KPI prediction model. Software architecture design data is data that indicates the configuration requirements of the software being developed, and as mentioned above, includes the number of modules per core, the number of dependencies/amount of data, the direction of dependencies, and cyclomatic complexity. KPI-related data is not data related to the software being developed itself, but other data related to the development project, and includes project management data related to the project itself, such as similarities with past projects and customer requirements, as well as hardware design data such as microcontroller specifications. Specifically, this is the type of data indicated by variable names X2 to X8 in Figure 1, for example.
そして、これらのデータを、過去の入力変数と、実際に算出されたKPIとの関係を示すデータを学習させたAIによるKPI予測モデルに入力し、KPIを予測する。図1においては、KPIの例としてSoftware productivity[LoC/hour](単位時間当たりに生成されるソースコード行数:生産性を示す)、CPU workload[%](CPU負荷率)、及びSoftware bugs[Number/LoC](ソースコード1行当たりのバグ数)が示されている。 This data is then input into an AI-based KPI prediction model that has been trained on data showing the relationship between past input variables and actually calculated KPIs, and the KPIs are predicted. Figure 1 shows examples of KPIs such as Software Productivity [LoC/hour] (number of lines of source code generated per unit time: indicating productivity), CPU workload [%] (CPU load rate), and Software Bugs [Number/LoC] (number of bugs per line of source code).
図1に示すように、開発対象のソフトウェアのバージョンが修正されるたびに、各KPIも変動していることがわかる。これらの結果は再びKPI予測モデルのAIへとフィードバックされ、その予測精度も向上していく。 As shown in Figure 1, each KPI fluctuates every time the version of the software being developed is revised. These results are then fed back into the AI of the KPI prediction model, improving its prediction accuracy.
しかしながら、当然のことながらソフトウェアのバージョン修正に伴って各ソフトアーキ設計データ及びKPI関連データも変更されていく。すると、既述の通り、近年のソフトウェア開発プロジェクトの複雑化に伴う、扱うべき変数の増加とも相俟って、KPIに対する変数全体の変化の影響はある程度予測できるが、変数毎の変化がKPIの変化にどれだけ影響を与えているかを把握することが非常に困難である。 However, naturally, software architecture design data and KPI-related data also change as software versions are revised. As mentioned above, this, coupled with the increasing complexity of software development projects in recent years and the resulting increase in the number of variables that must be handled, means that while it is possible to predict to some extent the impact of overall variable changes on KPIs, it is extremely difficult to grasp the extent to which changes in each variable affect changes in KPIs.
本発明は上記背景を基になされたものであり、図2に本発明の一実施例に係る開発支援システム1の機能構成ブロック図を示す。なお、開発支援システム1は、ハードウェア構成としては例えばメモリ及びプロセッサを備えたコンピュータであってもよく、サーバ上に実装されたクラウドであってもよい。 The present invention was made based on the above background, and Figure 2 shows a functional configuration block diagram of a development support system 1 according to one embodiment of the present invention. Note that the hardware configuration of the development support system 1 may be, for example, a computer equipped with a memory and a processor, or it may be a cloud implemented on a server.
開発支援システム1は、正規化処理部11、差分抽出部12、スケール調整部13、データ変更部14、評価予測部15、変動割合算出部16、変動割合比較部17、及び評価結果出力部18を備える。これらの機能の詳細については後述する。開発支援システム1はまた記憶部100を備える。 The development support system 1 includes a normalization processing unit 11, a difference extraction unit 12, a scale adjustment unit 13, a data modification unit 14, an evaluation prediction unit 15, a fluctuation rate calculation unit 16, a fluctuation rate comparison unit 17, and an evaluation result output unit 18. Details of these functions will be described later. The development support system 1 also includes a memory unit 100.
記憶部100には、ソフトアーキ設計データ101及びKPI関連データ102が格納されており、KPI関連データ102はさらにハードウェア設計データ1021及びプロジェクト管理データ1022を含む。これらソフトアーキ設計データ101及びKPI関連データ102は、ソフトウェアバージョン毎に紐づけられて格納されている。 The storage unit 100 stores software architecture design data 101 and KPI-related data 102, which further includes hardware design data 1021 and project management data 1022. The software architecture design data 101 and KPI-related data 102 are stored and linked to each software version.
開発支援システム1はまた、開発支援システム1の不図示の通信インターフェースに接続された通信路2を介して外部サーバ3へと接続されている。通信路2は、物理的には複数の通信バスを含んでもよく、各通信バスの規格はすべて同一でもよいし異なっていてもよい。外部サーバ3は通信路2を介して開発支援システム1との間でメッセージの送受信を行う。 The development support system 1 is also connected to an external server 3 via a communication path 2 connected to a communication interface (not shown) of the development support system 1. The communication path 2 may physically include multiple communication buses, and the standards of each communication bus may all be the same or different. The external server 3 sends and receives messages to and from the development support system 1 via the communication path 2.
図2に示す機能ブロック図は例示であり、機能の単位及び名称はこれに限らない。例えば、本実施例においてスケール調整部13が実現する機能は、図1に示す他の機能部によって実現されてもよく、図1に示さない機能部によって実現されてもよい。 The functional block diagram shown in Figure 2 is an example, and the units and names of the functions are not limited to this. For example, the functions realized by the scale adjustment unit 13 in this embodiment may be realized by other functional units shown in Figure 1, or may be realized by functional units not shown in Figure 1.
図3は、開発支援システムが実行する処理において各機能部間の関係を示す図である。ここでは一例として、図1を参照してソフトウェアバージョンがv2.0からv3.0へと更新された場合の処理を説明する。まず、正規化処理部11は、記憶部100から、ソフトアーキ設計データ101の現データ(ソフトウェアバージョンv3.0のデータ)と更新前のデータ(ソフトウェアバージョンv2.0のデータ)を抽出し、正規化処理を行う。ここでいう正規化とは任意の形式を利用できる。例えば線形変換やアフィン変換を用いて、それぞれのデータにおける最大値を1、最小値を0とする変換等が採用できる。 Figure 3 shows the relationship between each functional unit in the processing executed by the development support system. As an example, referring to Figure 1, the processing when the software version is updated from v2.0 to v3.0 will be described here. First, the normalization processing unit 11 extracts the current data (data for software version v3.0) and the data before the update (data for software version v2.0) of the software architecture design data 101 from the storage unit 100, and performs normalization processing. Any form of normalization can be used here. For example, a linear transformation or affine transformation can be used, where the maximum value of each data is 1 and the minimum value is 0.
続いて、差分抽出部12は、正規化処理部11で処理された現データと更新前データとの差分を抽出する。この差分は、0~1に正規化されているものの差分であるため、-1~1の値をとることになる。 Next, the difference extraction unit 12 extracts the difference between the current data processed by the normalization processing unit 11 and the pre-update data. This difference is the difference between data normalized to 0 to 1, so it takes on a value between -1 and 1.
抽出された差分はスケール調整部13に渡される。同時に、またはこれに先立って、データ変更部14のデータ変更前メトリクス値算出部141は、記憶部100のKPI関連データ102を参照し、現データ(ソフトウェアバージョンv3.0のデータ)を抽出し、予め設定された観点から測定し、メトリクス値を算出する。この際、KPI関連データの中から複数のデータを抽出し、まとめてメトリクス値として算出してもよい。算出したメトリクス値はスケール調整部13へと渡される。 The extracted difference is passed to the scale adjustment unit 13. At the same time, or prior to this, the pre-data-change metrics value calculation unit 141 of the data change unit 14 references the KPI-related data 102 in the storage unit 100, extracts the current data (data for software version v3.0), measures it from a pre-set perspective, and calculates a metrics value. At this time, multiple data may be extracted from the KPI-related data and calculated together as a metrics value. The calculated metrics value is passed to the scale adjustment unit 13.
スケール調整部13は、差分抽出部12から受け取った差分及びデータ変更前メトリクス値算出部141から受け取ったKPI関連データ102の現データに関するメトリクス値を関連付けて、データ変更後メトリクス値算出部142に渡す。 The scale adjustment unit 13 associates the difference received from the difference extraction unit 12 with the metrics value related to the current data of the KPI-related data 102 received from the pre-data-change metrics value calculation unit 141, and passes it to the post-data-change metrics value calculation unit 142.
データ変更後メトリクス値算出部142は、受け取ったデータに基づいて、現KPI関連データのメトリクス値を、差分抽出部12が抽出した、更新前後のソフトアーキ設計データメトリクス値の正規化された差分と同じだけ差分を有する値へと変更する。具体的には例えば、ソフトアーキ設計データメトリクス値の正規化された差分が0.5であった場合、すなわち更新前のソフトアーキ設計データメトリクス値から更新後のソフトアーキ設計データメトリクス値へと、最大値の50%分の値だけ増加したと仮定した場合に、データ変更後メトリクス値算出部142は、現在のKPI関連データメトリクス値を正規化した値から0.5を減じ、その値をさらに正規化前の基準で数値化したものを、変更後KPI関連データメトリクス値として算出する。これらの値は評価予測部15へと渡される。 Based on the received data, the post-data-change metrics value calculation unit 142 changes the metrics value of the current KPI-related data to a value having the same difference as the normalized difference between the software architecture design data metrics values before and after the update extracted by the difference extraction unit 12. Specifically, for example, if the normalized difference between the software architecture design data metrics value is 0.5, that is, assuming that the software architecture design data metrics value before the update has increased by 50% of the maximum value from the software architecture design data metrics value before the update to the software architecture design data metrics value after the update, the post-data-change metrics value calculation unit 142 subtracts 0.5 from the normalized value of the current KPI-related data metrics value, and then further quantifies this value using the pre-normalization standard to calculate the post-change KPI-related data metrics value. These values are passed to the evaluation prediction unit 15.
評価予測部15のデータ変更前評価予測値算出部151は、データ変更前メトリクス値算出部141から受信した、現在(データ変更前)のKPI関連データメトリクス値の、KPIに対する評価を予測する。また、データ変更後評価予測値算出部152も同様に、データ変更後メトリクス値算出部142から受信した、データ変更後のKPI関連データメトリクス値の、KPIに対する評価を予測する。算出したこれらの値は変動割合算出部16へと渡される。 The pre-data-change evaluation prediction value calculation unit 151 of the evaluation prediction unit 15 predicts the evaluation of the current (pre-data-change) KPI-related data metric value received from the pre-data-change metrics value calculation unit 141, relative to the KPI. Similarly, the post-data-change evaluation prediction value calculation unit 152 predicts the evaluation of the post-data-change KPI-related data metric value received from the post-data-change metrics value calculation unit 142, relative to the KPI. These calculated values are passed to the fluctuation rate calculation unit 16.
変動割合算出部16は、評価予測部15から受け取った2つの予測値を比較し、その変動割合を算出する。すなわち、正規化された更新前後のソフトアーキ設計データメトリクス値の差分に基づいて変更されたKPI関連データメトリクス値から現在のKPI関連データメトリクス値への変動が、現在のKPI関連データメトリクス値に対してどれほどの割合を占めているか、を算出する。算出した割合は変動割合比較部17へと渡される。 The fluctuation ratio calculation unit 16 compares the two predicted values received from the evaluation prediction unit 15 and calculates their fluctuation ratio. In other words, it calculates the percentage of the current KPI-related data metrics value that is accounted for by the fluctuation from the modified KPI-related data metrics value based on the difference between the normalized software architecture design data metrics values before and after the update. The calculated ratio is passed to the fluctuation ratio comparison unit 17.
変動割合比較部17は、変動割合算出部16から、全てのKPI関連データメトリクス値についての変動割合を受け取った後、ソフトアーキ設計データメトリクス値の変動割合も含めて、全ての変数間の変動割合を比較する。算出された結果は入力変数影響度評価結果19として、評価結果出力部18から外部の管理者等へと出力される。 After receiving the fluctuation rates for all KPI-related data metric values from the fluctuation rate calculation unit 16, the fluctuation rate comparison unit 17 compares the fluctuation rates between all variables, including the fluctuation rate of the software architecture design data metric values. The calculated results are output as input variable impact evaluation results 19 from the evaluation result output unit 18 to an external administrator, etc.
図4は、図3で説明した処理を視覚的に示した、開発支援システムを適用した場合の、KPIに対する変数間の変動割合比較の算出方法を説明するための図である。 Figure 4 visually illustrates the process described in Figure 3, and explains how to calculate the fluctuation rate comparison between variables for KPIs when a development support system is applied.
まず、変数名X1で表される任意のソフトアーキ設計データメトリクスの更新前後の値がKPI予測モデルを構成するAIに入力され、それぞれに対するKPIの評価予測が算出される。一例として図4においてKPIはバグ数であり、現Ver(更新後)におけるソフトアーキ設計データメトリクス値に対して予測されるバグ数は20であり、旧Ver(更新前)におけるソフトアーキ設計データメトリクス値に対して予測されるバグ数は10である。 First, the values before and after the update of any software architecture design data metric represented by variable name X1 are input into the AI that constitutes the KPI prediction model, and a KPI evaluation prediction for each is calculated. As an example, in Figure 4, the KPI is the number of bugs, and the number of bugs predicted for the software architecture design data metric value in the current version (after the update) is 20, and the number of bugs predicted for the software architecture design data metric value in the old version (before the update) is 10.
このことから、現Verにおけるソフトアーキ設計データメトリクス値に対して予測されるバグ数(20)に対して更新前後のKPIの変動値(10)が占める割合は50%であることから、図4において変動割合算出部16は、変数名X1で表されるソフトアーキ設計データメトリクス値のKPIに対する変動割合として50%を算出する。 From this, since the proportion of the change in the KPI value (10) before and after the update to the number of bugs (20) predicted for the software architecture design data metrics value in the current version is 50%, in Figure 4 the change proportion calculation unit 16 calculates 50% as the change proportion of the software architecture design data metrics value represented by variable name X1 to the KPI.
これと並行して、変数名X2で表されるKPI関連データメトリクス(図4においては過去プロジェクト類似度メトリクス)についてもKPIが予測され、変動割合が算出される。上述したように、正規化された更新前後のソフトアーキ設計データメトリクス値の差分と一致するようにKPI関連データメトリクス値を変更する。図4においては、現在の過去プロジェクト類似度メトリクスの正規化された値が0.7であり、上述の正規化された更新前後のソフトアーキ設計データメトリクス値の差分が-0.02であったとして、変更後の過去プロジェクト類似度メトリクスの正規化された値を0.72と設定する。 In parallel with this, a KPI is predicted for the KPI-related data metric represented by variable name X2 (past project similarity metric in Figure 4), and the rate of change is calculated. As described above, the KPI-related data metric value is changed so that it matches the difference in the normalized software architecture design data metric value before and after the update. In Figure 4, the normalized value of the current past project similarity metric is 0.7, and the difference in the normalized software architecture design data metric value before and after the update described above is -0.02, so the normalized value of the changed past project similarity metric is set to 0.72.
そして、これらの値をKPI予測モデルへと入力し、それぞれに対するKPIの評価予測が算出される。図4の例においては、現在の過去プロジェクト類似度メトリクス値に対して予測されるバグ数は20であり、データ変更後の過去プロジェクト類似度メトリクス値に対して予測されるバグ数は18である。 These values are then input into the KPI prediction model, and a KPI evaluation prediction is calculated for each. In the example of Figure 4, the number of bugs predicted for the current past project similarity metric value is 20, and the number of bugs predicted for the past project similarity metric value after the data change is 18.
このことから、変更前後において過去プロジェクト類似度メトリクス値の変動値は2であり、現在の過去プロジェクト類似度メトリクス値に対して予測されるバグ数20に占める割合は10%であることから、図4において変動割合算出部16は、過去プロジェクト類似度メトリクス値のKPIに対する変動割合として10%を算出する。 From this, the change in the past project similarity metrics value before and after the change is 2, and the proportion of the current past project similarity metrics value to the predicted number of bugs of 20 is 10%, so in Figure 4, the change proportion calculation unit 16 calculates 10% as the change proportion of the past project similarity metrics value to the KPI.
上記の処理を、残りの変数名X3~X5で表されるKPI関連データメトリクスに対しても同様に行う。その結果として、変動割合算出部16は、変数名X3~X5で表されるKPI関連データメトリクスの、KPIに対する変動割合としてそれぞれ15%、8%、及び30%を算出する。 The above process is similarly performed on the remaining KPI-related data metrics represented by variable names X3 to X5. As a result, the fluctuation rate calculation unit 16 calculates the fluctuation rates relative to the KPI for the KPI-related data metrics represented by variable names X3 to X5 as 15%, 8%, and 30%, respectively.
そして、変動割合比較部17は、上記の変動割合算出部16の算出結果に基づいて、変数間の変動割合を比較する。これは、例えば全体が100%となるようにそれぞれの変動割合を平準化することによって得られる。この結果から、ソフトウェアバージョンを更新した際に、ソフトアーキ設計データメトリクス値がKPIの変動に与える影響は全体の44%であり、例えば変数名X3で表される要求の複雑度メトリクス値がKPIの変動に与える影響は全体の13%であることがわかる。 The fluctuation rate comparison unit 17 then compares the fluctuation rates between variables based on the calculation results of the fluctuation rate calculation unit 16. This can be obtained, for example, by leveling out each fluctuation rate so that the total is 100%. From this result, it can be seen that when the software version is updated, the impact of the software architecture design data metrics value on KPI fluctuations is 44% of the total, and the impact of the requirement complexity metrics value represented by variable name X3, for example, on KPI fluctuations is 13% of the total.
最後に、開発支援システム1が実行する処理のフローを、図5のフローチャートを用いて説明する。 Finally, the processing flow executed by the development support system 1 will be explained using the flowchart in Figure 5.
まずステップS501において、Ver毎のソフトアーキ設計データ及びKPI関連データから任意のデータを抽出し、所定の基準で評価することによって数値化(メトリクス値計算)する。この処理は、例えばデータ変更部14によって実行されてもよいし、開発支援システムの備える不図示のCPUによって実行されてもよい。 First, in step S501, arbitrary data is extracted from the software architecture design data and KPI-related data for each version, and is quantified (metric value calculation) by evaluating it using predetermined criteria. This process may be performed, for example, by the data modification unit 14, or by a CPU (not shown) provided in the development support system.
次に、ステップS502において、Ver間ソフトアーキ設計データメトリクス変更割合を算出する。これは、具体的にはすでに説明した正規化処理部11による正規化処理(ステップS5021)及び差分抽出部12による差分抽出処理(ステップS5022)によって実行される。 Next, in step S502, the inter-version software architecture design data metrics change ratio is calculated. Specifically, this is performed by the normalization processing by the normalization processing unit 11 (step S5021) and the difference extraction processing by the difference extraction unit 12 (step S5022), as already explained.
続いて、ステップS503において、現在(変更前)のKPI関連データメトリクス値及びVer間ソフトアーキ設計データメトリクス値差分から、スケール調整部13によるスケール調整が行われ、ステップS504において、データ変更後メトリクス値算出部142によるデータ変更が行われる。 Next, in step S503, the scale adjustment unit 13 performs scale adjustment based on the current (pre-change) KPI-related data metrics value and the difference in software architecture design data metrics value between versions, and in step S504, the data is changed by the post-data-change metrics value calculation unit 142.
ステップS505において、変更後のKPI関連データメトリクス値が評価予測部15に入力され、KPI予測値が算出される。 In step S505, the changed KPI-related data metrics values are input to the evaluation prediction unit 15, and the KPI prediction values are calculated.
ステップS507において、以上の処理を入力変数全てに対して実行したかを判定し、入力変数全てに対して実行するまでステップS504~S505の処理を繰り返す。 In step S507, it is determined whether the above processing has been performed for all input variables, and steps S504 and S505 are repeated until it has been performed for all input variables.
また上記の処理と並行してまたは先立って、ステップS506において、現在のソフトアーキ設計データメトリクス値及びKPI関連データメトリクス値の、KPI予測値が算出される。 In parallel with or prior to the above process, in step S506, predicted KPI values are calculated for the current software architecture design data metrics values and KPI-related data metrics values.
ステップS508において、変動割合算出部16が、変更前後のKPI関連データメトリクス値のKPI予測値から、変動割合を算出する。 In step S508, the fluctuation rate calculation unit 16 calculates the fluctuation rate from the KPI predicted values of the KPI-related data metrics values before and after the change.
最後に、ステップS509において、変動割合比較部17が、入力変数間におけるKPI予測値の変動割合を比較し、入力変数影響度評価結果19として算出する。 Finally, in step S509, the fluctuation rate comparison unit 17 compares the fluctuation rates of the KPI predicted values between the input variables and calculates the input variable influence evaluation result 19.
以上説明したように、本実施例によれば、KPI関連データメトリクス値を、既知であるソフトアーキ設計データメトリクス値の更新前後と同一の変動幅になるように調整し、KPI予測モデルを用いてKPIを予測している。これにより、ソフトアーキ設計データメトリクス値を含めた、変数毎のKPIへの影響度を評価することが可能になる。従って、当該評価結果を用いて、ソフトアーキ設計の妥当性を迅速に評価することが可能になる。 As explained above, according to this embodiment, KPI-related data metric values are adjusted so that they have the same fluctuation range as before and after updates to known software architecture design data metric values, and KPIs are predicted using a KPI prediction model. This makes it possible to evaluate the impact on KPIs of each variable, including software architecture design data metric values. Therefore, the results of this evaluation can be used to quickly evaluate the validity of the software architecture design.
以上で説明した本発明の実施例によれば、以下の作用効果を奏する。
(1)本発明に係る開発支援システムの一例は、開発成果物の第1構成要素の更新履歴データ及び第2構成要素の現データを少なくとも記憶する記憶部と、開発成果物の構成要素毎の、開発成果度に対する評価値を予測する評価予測部と、第1構成要素の現データと、更新履歴データのうちの1つのデータである更新前データとの差分を抽出する差分抽出部と、差分抽出部の出力に基づいて、第2構成要素の現データを変更した変更後データを生成するデータ変更部と、を備え、評価予測部は、第1構成要素の現データと更新前データとに基づいて評価値の第1変動値を算出し、第2構成要素の現データと変更後データとに基づいて評価値の第2変動値を算出する。
According to the embodiment of the present invention described above, the following advantageous effects are achieved.
(1) An example of a development support system according to the present invention includes a memory unit that stores at least update history data of a first component of a development product and current data of a second component; an evaluation prediction unit that predicts an evaluation value for the development success level for each component of the development product; a difference extraction unit that extracts the difference between the current data of the first component and pre-update data, which is one of the update history data; and a data modification unit that generates post-modification data by modifying the current data of the second component based on the output of the difference extraction unit, wherein the evaluation prediction unit calculates a first variation value of the evaluation value based on the current data and pre-update data of the first component, and calculates a second variation value of the evaluation value based on the current data and post-modification data of the second component.
上記構成により、プロジェクト遂行中にソフトアーキ設計を変更した場合、他の入力変数のKPIに対する影響度を予測モデルを用いて予測し、早期にソフトアーキ設計の妥当性を検証することが可能になる。 With the above configuration, if the software architecture design is changed during the project, the predictive model can be used to predict the impact of other input variables on KPIs, making it possible to verify the validity of the software architecture design at an early stage.
(2)第1構成要素の現データと更新前データとを正規化処理する正規化処理部をさらに備え、差分抽出部は、正規化された第1構成要素の現データと更新前データとの差分を抽出し、データ変更部は、第2構成要素の現データを、差分抽出部が抽出した、正規化された差分に対応するように変更して変更後データを生成する。これにより、構成要素間でデータの粒度や単位が異なっていたとしても、正規化して無次元化することにより容易にデータ間の比較をすることが可能になる。 (2) The system further includes a normalization processing unit that normalizes the current data and pre-update data of the first component, where the difference extraction unit extracts the difference between the normalized current data and pre-update data of the first component, and the data modification unit modifies the current data of the second component to correspond to the normalized difference extracted by the difference extraction unit, thereby generating modified data. This makes it possible to easily compare data by normalizing and non-dimensionalizing it, even if the granularity or units of data differ between components.
(3)第1変動値及び第2変動値のそれぞれの、開発成果度に対する変動割合を算出する変動割合算出部をさらに備える。これにより、変動値間で開発成果に対する影響度の大小を比較することが可能になり、どの構成要素が開発成果により影響を与えるのかを容易に判断することが可能になる。 (3) The system further includes a fluctuation rate calculation unit that calculates the fluctuation rate of each of the first and second fluctuation values relative to the development performance level. This makes it possible to compare the degree of influence on the development performance between the fluctuation values, making it easy to determine which components have a greater influence on the development performance.
(4)評価予測部は、複数の第2構成要素の評価値を予測し、第1構成要素と複数の第2構成要素と間のそれぞれの変動割合を比較する変動割合比較部をさらに備える。これにより、(3)の効果に加えて、構成要素が複数ある場合に、それらの影響の大きさを順位付けして把握することが可能になる。 (4) The evaluation prediction unit further includes a fluctuation rate comparison unit that predicts the evaluation values of multiple second components and compares the fluctuation rates between the first component and the multiple second components. This makes it possible to rank and understand the magnitude of the influence of multiple components, in addition to the effect of (3).
(5)第1変動値及び第2変動値を出力する出力部をさらに備える。これにより、評価結果を外部の管理者等が閲覧可能な表示装置等に対して出力することが可能になり、管理者等にとって情報管理の利便性が向上する。 (5) An output unit that outputs the first variable value and the second variable value is further provided. This makes it possible to output the evaluation results to a display device or the like that can be viewed by an external administrator, etc., thereby improving the convenience of information management for administrators, etc.
(6)開発成果物はソフトウェアであり、第1構成要素はソフトウェア自身が含む構成要素であり、第2構成要素は、ソフトウェアの開発環境に関する構成要素またはソフトウェアを実行するためのハードウェアに関する構成要素のいずれかを少なくとも含む。本発明は、このようなソフトウェア開発環境において好適に適用可能である。 (6) The development deliverable is software, the first components are components included in the software itself, and the second components include at least either components related to the software development environment or components related to hardware for executing the software. The present invention is suitably applicable to such software development environments.
なお、本発明は、上記の実施例に限定されるものではなく、様々な変形が可能である。例えば、上記の実施例は、本発明を分かりやすく説明するために詳細に説明したものであり、本発明は、必ずしも説明した全ての構成を備える態様に限定されるものではない。また、ある実施例の構成の一部を他の実施例の構成に置き換えることが可能である。また、ある実施例の構成に他の実施例の構成を加えることも可能である。また、各実施例の構成の一部について、削除したり、他の構成を追加・置換したりすることが可能である。 The present invention is not limited to the above-described examples, and various modifications are possible. For example, the above-described examples have been described in detail to clearly explain the present invention, and the present invention is not necessarily limited to embodiments that include all of the described configurations. Furthermore, it is possible to replace part of the configuration of one example with the configuration of another example. It is also possible to add the configuration of another example to the configuration of one example. It is also possible to delete part of the configuration of each example, or to add or replace other configurations.
1 開発支援システム、11 正規化処理部、12 差分抽出部、13 スケール調整部、14 データ変更部、15 評価予測部、16 変動割合算出部、17 変動割合比較部、18 評価結果出力部(出力部)、100 記憶部、101 ソフトアーキ設計データ、102 KPI関連データ 1 Development support system, 11 Normalization processing unit, 12 Difference extraction unit, 13 Scale adjustment unit, 14 Data modification unit, 15 Evaluation prediction unit, 16 Fluctuation rate calculation unit, 17 Fluctuation rate comparison unit, 18 Evaluation result output unit (output unit), 100 Storage unit, 101 Software architecture design data, 102 KPI-related data
Claims (6)
前記開発成果物の第1構成要素の更新履歴データ及び第2構成要素の現データを少なくとも記憶する記憶部と、
前記開発成果物の構成要素毎の、開発成果度に対する評価値を予測する評価予測部と、
前記第1構成要素の現データと、前記更新履歴データのうちの1つのデータである更新前データとの差分を抽出する差分抽出部と、
前記差分抽出部の出力に基づいて、前記第2構成要素の現データを変更した変更後データを生成するデータ変更部と、を備え、
前記評価予測部は、前記第1構成要素の現データと前記更新前データとに基づいて前記評価値の第1変動値を算出し、前記第2構成要素の現データと前記変更後データとに基づいて前記評価値の第2変動値を算出する、
ことを特徴とする開発支援システム。 A development support system for supporting evaluation of development deliverables,
a storage unit that stores at least update history data of a first component of the development deliverable and current data of a second component;
an evaluation prediction unit that predicts an evaluation value of a development performance level for each component element of the development deliverable;
a difference extraction unit that extracts a difference between current data of the first component and pre-update data that is one data item of the update history data;
a data modification unit that generates modified data by modifying the current data of the second component based on the output of the difference extraction unit,
the rating prediction unit calculates a first variation of the rating value based on the current data of the first component and the pre-update data, and calculates a second variation of the rating value based on the current data of the second component and the post-change data;
A development support system characterized by:
前記第1構成要素の現データと前記更新前データとを正規化処理する正規化処理部をさらに備え、
前記差分抽出部は、正規化された前記第1構成要素の現データと前記更新前データとの差分を抽出し、
前記データ変更部は、前記第2構成要素の現データを、前記差分抽出部が抽出した、正規化された前記差分に対応するように変更して前記変更後データを生成する、
ことを特徴とする開発支援システム。 2. The development support system according to claim 1,
a normalization processing unit that normalizes the current data of the first component and the pre-update data,
the difference extraction unit extracts a difference between the normalized current data of the first component and the pre-update data;
the data modification unit modifies the current data of the second component so as to correspond to the normalized difference extracted by the difference extraction unit, thereby generating the modified data.
A development support system characterized by:
前記第1変動値及び前記第2変動値のそれぞれの、前記開発成果度に対する変動割合を算出する変動割合算出部をさらに備える、
ことを特徴とする開発支援システム。 2. The development support system according to claim 1,
a fluctuation rate calculation unit that calculates a fluctuation rate of each of the first fluctuation value and the second fluctuation value with respect to the development result level,
A development support system characterized by:
前記評価予測部は、複数の前記第2構成要素の前記評価値を予測し、
前記第1構成要素と複数の前記第2構成要素と間のそれぞれの前記変動割合を比較する変動割合比較部をさらに備える、
ことを特徴とする開発支援システム。 4. The development support system according to claim 3,
the evaluation prediction unit predicts the evaluation values of the second components;
a fluctuation rate comparison unit that compares the fluctuation rate between the first component and each of the second components;
A development support system characterized by:
前記第1変動値及び前記第2変動値を出力する出力部をさらに備える、
ことを特徴とする開発支援システム。 2. The development support system according to claim 1,
further comprising an output unit that outputs the first variable value and the second variable value;
A development support system characterized by:
前記開発成果物はソフトウェアであり、
前記第1構成要素は前記ソフトウェア自身が含む構成要素であり、
前記第2構成要素は、前記ソフトウェアの開発環境に関する構成要素または前記ソフトウェアを実行するためのハードウェアに関する構成要素のいずれかを少なくとも含む、
ことを特徴とする開発支援システム。 2. The development support system according to claim 1,
The development deliverable is software,
the first component is a component included in the software itself,
The second components include at least one of a component related to a development environment for the software and a component related to hardware for executing the software.
A development support system characterized by:
Priority Applications (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2022123907A JP7733622B2 (en) | 2022-08-03 | 2022-08-03 | Development Support System |
| PCT/JP2023/020992 WO2024029189A1 (en) | 2022-08-03 | 2023-06-06 | Development support system |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2022123907A JP7733622B2 (en) | 2022-08-03 | 2022-08-03 | Development Support System |
Publications (3)
| Publication Number | Publication Date |
|---|---|
| JP2024021216A JP2024021216A (en) | 2024-02-16 |
| JP2024021216A5 JP2024021216A5 (en) | 2025-03-04 |
| JP7733622B2 true JP7733622B2 (en) | 2025-09-03 |
Family
ID=89849255
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2022123907A Active JP7733622B2 (en) | 2022-08-03 | 2022-08-03 | Development Support System |
Country Status (2)
| Country | Link |
|---|---|
| JP (1) | JP7733622B2 (en) |
| WO (1) | WO2024029189A1 (en) |
Citations (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| WO2020110201A1 (en) | 2018-11-27 | 2020-06-04 | 日本電気株式会社 | Information processing device |
Family Cites Families (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP4845625B2 (en) * | 2006-07-27 | 2011-12-28 | 株式会社富士通マーケティング | Risk calculation program |
| JP2021071831A (en) * | 2019-10-30 | 2021-05-06 | 三菱電機株式会社 | Machine learning device for software evaluation, software evaluation support device, and machine learning method for software evaluation |
-
2022
- 2022-08-03 JP JP2022123907A patent/JP7733622B2/en active Active
-
2023
- 2023-06-06 WO PCT/JP2023/020992 patent/WO2024029189A1/en not_active Ceased
Patent Citations (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| WO2020110201A1 (en) | 2018-11-27 | 2020-06-04 | 日本電気株式会社 | Information processing device |
| US20220004154A1 (en) | 2018-11-27 | 2022-01-06 | Nec Corporation | Information processing apparatus |
Also Published As
| Publication number | Publication date |
|---|---|
| WO2024029189A1 (en) | 2024-02-08 |
| JP2024021216A (en) | 2024-02-16 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US11036483B2 (en) | Method for predicting the successfulness of the execution of a DevOps release pipeline | |
| US7035786B1 (en) | System and method for multi-phase system development with predictive modeling | |
| US7031901B2 (en) | System and method for improving predictive modeling of an information system | |
| JP4240504B2 (en) | Apparatus and method for analyzing influence of design change in product development process | |
| US12019604B2 (en) | Generating context tree data based on a tailored data model | |
| CN110033123A (en) | Method and apparatus for business assessment | |
| EP3367241B1 (en) | Method, computer program and system for providing a control signal for a software development environment | |
| JP7733622B2 (en) | Development Support System | |
| EP3657411A1 (en) | Method for risk-based testing | |
| CN113158177A (en) | Dynamic measurement method, device, equipment and storage medium | |
| CN120765327A (en) | Method, device, computer equipment and storage medium for dynamically adjusting product amounts | |
| US20130317889A1 (en) | Methods for assessing transition value and devices thereof | |
| Voneva et al. | Optimizing parametric dependencies for incremental performance model extraction | |
| US20140236667A1 (en) | Estimating, learning, and enhancing project risk | |
| CN116627958A (en) | Big data quality checking method, device, equipment and storage medium | |
| US7996763B2 (en) | Generating metrics on data representations | |
| CN120181126B (en) | Method, device, equipment, medium and product for processing data using intelligent agents | |
| CN113239064A (en) | Database updating method and device, electronic equipment and storage medium | |
| CN116244179B (en) | System firmware measuring method capable of self-improving | |
| Korunović et al. | Real-time structural analysis assistance in customized product design | |
| CN115098150B (en) | Grayscale publishing method, device, system, electronic device and storage medium | |
| AU2024204770B2 (en) | Artificial intelligence and tracing-enabled automated healing for distributed mobile deployments | |
| US20250037012A1 (en) | Schema-based machine learning model monitoring | |
| US20230306349A1 (en) | Benchmarking processes of an organization to standardized processes | |
| CN121785826A (en) | System abnormality cause determining method and device, electronic equipment and storage medium |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20230822 |
|
| A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20250221 |
|
| A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20250221 |
|
| 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: 20250819 |
|
| A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20250822 |
|
| R150 | Certificate of patent or registration of utility model |
Ref document number: 7733622 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |