ソフトウェアエンジニアリングプロセスでのソースコードメトリクスの使用に関する論文を提出する必要があります。ソースコードメトリックの分類を導入することから始めるのが良いと思いました(たとえば、コードの静的分析を行う平面LOCカウントとを使用して)が、さまざまなタイプの本や記事を見つけることができませんメトリックとおそらくいくつかの歴史的背景情報(本と記事は私のインストラクターによってWebサイトよりも好まれています)。
誰もがそのような情報源を知っていますか?
ソフトウェアエンジニアリングプロセスでのソースコードメトリクスの使用に関する論文を提出する必要があります。ソースコードメトリックの分類を導入することから始めるのが良いと思いました(たとえば、コードの静的分析を行う平面LOCカウントとを使用して)が、さまざまなタイプの本や記事を見つけることができませんメトリックとおそらくいくつかの歴史的背景情報(本と記事は私のインストラクターによってWebサイトよりも好まれています)。
誰もがそのような情報源を知っていますか?
Patrick SmacchiaのNDependサイトには、優れた定義のセットがあります:メトリック定義。彼のNDependツール(.NET用)は、コードベースを定量化するさまざまな方法を提供します。
メトリックがどれほど有用であるか、それはもう少し論争の的です。これらはコードベースの空のレベルのビューを取得するのに適していますが、日常的に役立ちますか?週単位でメトリックを使用する(または気にする)ショップはいくつありますか?修正されたバグの数と報告されたバグの数など、ほとんどの人がバグの数に関心を持っていると思います。
確かに、凝集度や結合度などの測定値は、可能なリファクタリングポイントの指標を提供します。
もう1つの重要な指標:テストの数と、それらのテストが表すコードカバレッジの概算。テストなしのリファクタリングと適切なテストカバレッジは、リスクの高いビジネスです。
Pressman's Software Engineering:A Practitioner's Approachには、ソフトウェアメトリクスに関する多くの優れた情報があります(とりわけ)。
おそらく、メトリックに関する重要なアドバイスは、測定対象に注意することです。LOCを測定する場合、それは人々が集中するものです。
「数えられるものすべてが数えられるわけではなく、数えられるものすべてが数えられるわけでもありません。」
- アルバート・アインシュタイン
「コード行でソフトウェアの生産性を測定することは、飛行機の進行状況を重量で測定するようなものです。」
- ビルゲイツ
ハルステッドの「ソフトウェア科学の要素」は、この分野での独創的な作品でした。話を思い出すと、彼は15の異なるメトリックを定義しました。これらはすべて、コードのさまざまな品質を測定することを目的としています。
残念ながら、van der Meulen&Revillaは、いくつかの主要なメトリックがSLOC(コードのソース行)と非常に強く相関していることを示しました。(これが実証されたのはこれが初めてではありませんでしたが、私がすぐに見つけた最初の論文でした。)SLOCは他のものよりもはるかに測定が簡単なので、SLOCは測定および管理する必要があります。
メトリックの変化を視覚化することについての質問で述べたように、 Henderson-SellersによるObject-Oriented Metrics:Measures of Complexityと、私が長年所有していた以前のObject-OrientedSoftwareMetricsという本があります。
Software Quality Engineering、Second Editionにはメトリクスとモデルがあります。これは、上記のメトリクスといくつかの業界の結果について説明している章があるSafariで利用できる唯一の本です。
また、2006年に出版された 『Object-Oriented Metrics in Practice:Using Software Metrics to Characterize、Evaluate、and Improve the Design of Object-Oriented Systems 』を見つけました。レビューはありませんが(良い兆候ではありません)、面白そうです。