Описание слайда:
M= n2*/6, (5.12) M= n2*/6, (5.12) де n2* – загальна кількість вхідних і вихідних змінних у програмі. З рівняння роботи отримаємо таке рівняння помилок: B=LE / E0, (5.13) де В – кількість помилок у програмі, Е0 – середня кількість елементарних відмінностей між помилками програмування. Використовуючи перетворене рівняння роботи: Е= (V*)3 / 2, (5.14) а також значення рівня англійської мови (=2,16), як аналог мови програмування, і гіпотезу про «шість об'єктів» ідеальної за витратами пам'яті програми (n1=n1*=2, n2=n2*=6), Холстед вивів таке рівняння для прогнозу кількості помилок у програмі: B= Е 2/3 /3000, (5.15) або B= V / 3000, (5.16) де V – обсяг програми (5.4). Якщо розрахунки довжини програми і довжини реалізації відрізняються більш ніж на десять відсотків, то це свідчить про можливу наявність у програмі таких 6 класів недосконалостей: 1). Наявність послідовності операторів, що доповнюють один одного до того ж самого операнда, наприклад, А+C–А. 2). Наявність неоднозначних операндів, наприклад, A=D і A=С. 3). Наявність операндів-синонімів, наприклад, А=В и Т=В. 4). Наявність загальних підвиразів: (А+B)C + D(А+B). 5). Непотрібне присвоювання, наприклад C=А+B, якщо змінна C використовується в програмі тільки один раз. 6). Наявність виразів, що не подані в згорнутому вигляді як добуток множників, наприклад XX+2XY+YY не подається як (X+Y)(X+Y). Добуток рівня програми на обсяг є постійною величиною, що дорівнює потенційному обсягу реалізації даного алгоритму: LV = V* = const. Якщо мова не змінюється, а змінюється тільки алгоритм, то для будь-якої мови добуток потенційного обсягу на рівень програми залишається сталою величиною і дорівнює рівню мови: LV* = = const.