SQALE (ライフサイクル期待に基づくソフトウェア品質評価) は、ソフトウェアアプリケーションのソースコードの評価をサポートする方法です。これは、言語やソースコード分析ツールに依存しない汎用的な方法で、 Creative Commons Attribution-NonCommercial-NoDerivs 3.0 Unportedライセンスの下でライセンスされています。[1]ソフトウェア編集者は、SQALEメソッドを自由に使用して実装できます。
SQALE メソッドは、inspearit France (旧 DNV ITGS France) によって開発されました。このメソッドは、あらゆるタイプと規模のアプリケーションで多くの組織によって使用されています。このメソッドは、定義されたインデックスとインジケーターを生成するいくつかの静的コード分析ツールによって実装されます。さらに、このメソッドを使用すると、アジャイル ソフトウェア開発プロジェクト の設計負債を正確に管理できます。
歴史
SQALE メソッドは、ソース コードの品質を評価する一般的なニーズに応えるために開発されました。次のような基本的な質問に答えることを目的としています。
- 開発者が提供するソースコードの品質はどうですか?
- コードは変更可能、保守可能、移植可能、再利用可能ですか?
- プロジェクトによって蓄積された設計負債とは何ですか?
ISO 9126などの標準では、グローバルな回答を構築する方法について効果的なサポートが提供されていません。ソース コードの品質を評価できるようにするには、開発者コミュニティには次の特性を持つ汎用的な方法が必要です。
- 客観的、具体的、再現可能
- 簡単に理解できるインデックス、統合、または指標を作成し、ソースコードの改善に関連する意思決定を支援します。
- 言語に依存しない
- 分析ツールに依存しない
基本原則
- ソースコードの品質は非機能要件です。
- ソース コードの品質に関する要件は、他のすべての要件と同じ品質基準に従って形式化する必要があります。
- ソース コードの品質を評価するということは、本質的には、その状態と期待される品質目標との間の距離を評価することです。
- SQALE メソッドは、ソース コードを適合させるために必要な修正コストを考慮して、要件への適合までの距離を評価します。
- SQALE メソッドは表現条件を尊重します。
- SQALE メソッドでは、修復コストを集計し、品質指標を計算するために加算を使用します。
- SQALE メソッドの品質モデルは直交です。
- SQALE メソッドの品質モデルでは、ソフトウェアのライフサイクルが考慮されています。
詳細
この方法は 4 つの主要な概念に基づいています。
- 品質モデル
- 分析モデル
- 指標
- 指標
品質モデル
SQALE 品質モデルは、コードの品質に関連する非機能要件を定式化および整理するために使用されます。これは 3 つの階層レベルで構成されています。最初のレベルは特性で構成され、2 番目のレベルはサブ特性で構成されます。3 番目のレベルは、ソース コードの内部属性に関連する要件で構成されます。これらの要件は通常、ソフトウェアのコンテキストと言語によって異なります。
分析モデル
SQALE 分析モデルには、コードに関連する測定とコントロールを正規化するために使用されるルールと、正規化された値を集計するためのルールが含まれています。SQALE メソッドは、ソース コード分析ツールから生成されたレポートを、修復コストに変換して正規化します。これを行うには、修復係数または修復関数のいずれかを使用します。SQALE メソッドは、品質モデルのツリー構造またはソース コードの成果物の階層で、修復コストを集計するためのルールを定義します。
指標
すべての SQALE インデックスはコストを表します。これらのコストは、作業単位、時間単位、または金銭単位で計算できます。いずれの場合も、インデックス値は比率タイプのスケールです。このタイプのスケールで許可されているすべての操作で処理できます。ソース コード成果物の階層の任意の要素について、特定の特性に関する修復コストは、特性の要件にリンクされているすべての修復コストを加算することで見積もることができます。SQALE 特性のインデックスは次のとおりです。
- SQALE テスト可能性インデックス: STI
- SQALE 信頼性指数 : SRI
- SQALE 変動性指数 : SCI
- SQALE 効率指数 : SEI
- SQALE セキュリティ インデックス: SSI
- SQALE 保守性指数: SMI
- SQALE ポータビリティ インデックス: SPI
- SQALE 再利用性インデックス : SRuI
この方法では、グローバル インデックスも定義します。ソース コード成果物の階層のどの要素についても、品質モデルのすべての要件にリンクされたすべての修正コストを追加することで、品質モデルのすべての特性に関連する修正コストを見積もることができます。この派生した測定値は、SQALE 品質インデックス (SQI) と呼ばれます。AGILE ソフトウェア開発の場合、SQI インデックスはプロジェクトの設計負債 (または技術的負債) に対応します。この方法では、異なるサイズの製品品質を比較できるインデックス密度も定義します (例: SQID: SQALE 品質密度インデックス)。
指標
SQALE メソッドは 3 つの合成指標を定義します。各ユーザーは必要に応じて指標を定義できます。
SQALE とアジャイルソフトウェア開発
SQALE メソッドは、アジャイル ソフトウェア開発の設計負債(または技術的負債) の管理に特化しています。これにより、次のことが可能になります。
- 設計負債の原因を明確に定義する
- 設計負債を正しく見積もるには
- この負債を、テスト可能性、信頼性、変更可能性、保守可能性などに関連するさまざまな部分に分けて説明します。この分類は、負債の影響に関する分析と、コード リファクタリングの優先アクションを定義する方法をサポートします。
この方法では、ソース コードに関連する要件 (SQALE 品質モデル) に、ユニット テストで到達すべき最小しきい値を含めることができます。このしきい値に到達しない場合は、アプリケーションの信頼性指標に影響します。
SQALEメソッドを実装するツール
参照
参考文献
- ^ 「SQALE の詳細は SQALE ウェブサイトで」 。2014年1 月 29 日閲覧。
- 信頼性の高いソフトウェア技術 - Ada-Europe 2011: 信頼性の高いソフトウェア技術に関する第 16 回 Ada-Europe 国際会議、Springer、2011 年、ISBN 978-3642213373
外部リンク
- インスピアリット フランス
- SQALEメソッドの公式サイト
- SQALEメソッドを説明するホワイトペーパー
