Метрика програмного забезпечення (англ. software metric) — це міра, що дозволяє отримати числове значення деяких властивостей програмного забезпечення та його специфікацій. Кількісні методи оцінювання добре показали себе в інших сферах науки, а тому багато теоретиків та практиків в галузі інформаційних технологій, спробували перенести цей підхід в розробку програмного забезпечення. В загальному випадку застосування метрик дозволяє визначити складність розробленого проєкта, або проєкта, що перебуває у розробці, оцінити об'єм робіт, стилістику розроблюваного проєкту і зусилля, витрачені кожним розробником для реалізації того чи іншого рішення, однак метрики можуть служити лише рекомендаційними характеристиками.
Метрики
Набір метрик складається з:
- порядок зростання (мається на увазі аналіз алгоритмів, в термінах теорії складності обчислень)
- кількість рядків коду
- цикломатична складність
- (ООП - метрики коду)
- (аналіз функціональних точок)
- кількість помилок на рядок коду
- ступінь (покриття коду) тестуванням
- покриття вимог
- кількість класів та інтерфейсів
- метрики від Роберта Сесіль Мартіна. ([en])
- зв'язність (англ. coupling)
- пов'язаність (англ. cohesion)
- час завантаження програми
- час виконання програми
- розмір бінарних файлів
- та інше.
Критика
Потенційні недоліки підходу, на які націлена критика:
- Неетичність: стверджується, що неетично зводити оцінку роботи людини до декількох числових параметрів та за ними судити про продуктивності. Менеджер може назначити найталановитішого програміста на дуже важку частину роботи; це не значить, що розробка цієї частини займе найбільше часу та буде зроблено найбільше помилок, через складність роботи. Інший менеджер, що не знає про ці деталі, може вирішити, що програміст зробив свою роботу погано.
- Заміна «управління людьми» на «управління цифрами», які не враховують досвід програмістів та інші якості.
- Спотворення процесу. Процес розробки може бути перекрученим через те, що програмісти знають про метрики та намагаються оптимізувати ці показники, а не свою роботу. Наприклад, якщо кількість рядків вихідного коду є важливим показником, то програмісти зможуть писати неоптимальні рішення, які займають багато місця на екрані. Так, в середовищі програмістів є фразеологізм «індуський код».
- Неточність: нема метрик, які б були одночасно значущими та досить точними. Наприклад, кількість рядків коду — це просто кількість рядків, цей показник не демонструє складність рішення проблеми. Аналіз функціональних точок був розроблений з метою кращого вимірювання складності коду та специфікацій, але він використовує особисті оцінки оцінювача, тому різні люди отримують різні результати.
Див. також
Вікіпедія, Українська, Україна, книга, книги, бібліотека, стаття, читати, завантажити, безкоштовно, безкоштовно завантажити, mp3, відео, mp4, 3gp, jpg, jpeg, gif, png, малюнок, музика, пісня, фільм, книга, гра, ігри, мобільний, телефон, android, ios, apple, мобільний телефон, samsung, iphone, xiomi, xiaomi, redmi, honor, oppo, nokia, sonya, mi, ПК, web, Інтернет