ソフトウェア品質の客観的なメトリックを探しています[閉じ

StackOverflow https://stackoverflow.com/questions/6802320

  •  22-10-2019
  •  | 
  •  

質問

ソフトウェア製品で測定できるさまざまな種類の品質があります。これらのいくつかは、やや主観的またはドメイン固有です(たとえば、GUIの設計の原則は、文化間で異なる場合があるか、使用法の文脈に依存している可能性があります。

私が興味を持っているのは、タイプのネットワーク(またはグラフ)に関連するより深い品質の形態とそれらの相互関係、つまり、各タイプが参照するものは、適切に関連する相互接続性の明確に識別可能なクラスターがありますか階層化されたアーキテクチャ、または逆に、タイプ参照の大きな「ボール」があります(「モノリシック」コード)。また、各タイプおよび/またはメソッドのサイズ(例:Javaバイトコードまたは.NET ILの量で測定)は、より管理可能/保守可能に分解される代わりに、コードのモノリシックなコードブロックとして大きな複雑なアルゴリズムが実装されている場所を示すものを与える必要があります。チャンク。

このようなアイデアに基づいた分析は、少なくとも品質の代理であるメトリックを計算できる可能性があります。高品質と低品質の間の正確なしきい値/決定ポイントは主観的であると思うでしょう。そのため、可能なすべてのシナリオで可能なすべてのソフトウェアを超越するソフトウェア品質の数学的に純粋な定義があることができるのだろうか。

また、これが危険なアイデアであり、品質の客観的なプロキシが人気になると、ビジネスの圧力が開発者が全体的な品質(プロキシによって測定されない品質の側面)を犠牲にしてこれらのメトリックを追求するようになるのではないかと思います。

補遺:品質についての別の考え方は、エントロピーの観点からです。エントロピーは、システムが秩序化された状態から障害のある状態に戻る傾向です。実世界で働いたことがある人なら誰でも、中規模から大規模なソフトウェアプロジェクトは、コードベースの品質が時間とともに劣化する傾向がある程度を高く評価します。一般に、ビジネスの圧力は、一般に、新しい機能に焦点を当てた変更をもたらします(品質自体が原則セールスポイント、たとえばアビオニクスソフトウェアである場合を除く)、および回帰問題とそれがうまく適合しない「靴ホーニング」機能性による品質の侵食品質とメンテナンスの観点。それでは、ソフトウェアのエントロピーを測定できますか?もしそうなら、どうですか?

役に立ちましたか?

解決

ndepend, 、少なくとも.NETコードの場合、これまでに必要なソフトウェア品質に最適なメトリックを提供します。 82種類のコードがあります メトリック. 。これはあなたが探しているものですか?あなたが.NETプログラマーの場合、あなたはこれを見つけるかもしれません ブログ投稿 非常に人気のある/大規模なオープンソースプロジェクトのNdepend分析について興味深いものです。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top