Метрика програмного забезпечення

Матеріал з Вікіпедії — вільної енциклопедії.
Перейти до: навігація, пошук

Метрика програмного забезпечення (англ. software metric) — це міра, що дозволяє отримати числове значення деяких властивостей програмного забезпечення та його специфікацій. Кількісні методи оцінювання добре показали себе в інших сферах науки, а тому багато теоретиків та практиків в галузі інформаційних технологій, спробували перенести цей підхід в розробку програмного забезпечення. В загальному випадку застосування метрик дозволяє визначити складність розробленого проекта, або проекта, що перебуває у розробці, оцінити об'єм робіт, стилістику розроблюваного проекту і зусилля, витрачені кожним розробником для реалізації того чи іншого рішення, однак метрики можуть служити лише рекомендаційними характеристиками.

Метрики[ред.ред. код]

Набір метрик складається з:

Критика[ред.ред. код]

Потенційні недоліки підходу, на які націлена критика:

  • Неетичність: стверджується, що неетично зводити оцінку роботи людини до декількох числових параметрів та за ними судити про продуктивності. Менеджер може назначити найталановитішого програміста на дуже важку частину роботи; це не значить, що розробка цієї частини займе найбільше часу та буде зроблено найбільше помилок, через складність роботи. Інший менеджер, що не знає про ці деталі, може вирішити, що програміст зробив свою роботу погано.
  • Заміна «управління людьми» на «управління цифрами», які не враховують досвід програмістів та інші якості.
  • Спотворення процесу. Процес розробки може бути перекрученим через те, що програмісти знають про метрики та намагаються оптимізувати ці показники, а не свою роботу. Наприклад, якщо кількість рядків вихідного коду є важливим показником, то програмісти зможуть писати неоптимальні рішення, які займають багато місця на екрані. Так, в середовищі програмістів є фразеологізм «індуський код».
  • Неточність: нема метрик, які б були одночасно значущими та досить точними. Наприклад, кількість рядків коду — це просто кількість рядків, цей показник не демонструє складність рішення проблеми. Аналіз функціональних точок був розроблений з метою кращого вимірювання складності коду та специфікацій, але він використовує особисті оцінки оцінювача, тому різні люди отримують різні результати.

Див. також[ред.ред. код]