Студопедия

Главная страница Случайная страница

Разделы сайта

АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника






  • Как продвинуть сайт на первые места?
    Вы создали или только планируете создать свой сайт, но не знаете, как продвигать? Продвижение сайта – это не просто процесс, а целый комплекс мероприятий, направленных на увеличение его посещаемости и повышение его позиций в поисковых системах.
    Ускорение продвижения
    Если вам трудно попасть на первые места в поиске самостоятельно, попробуйте технологию Буст, она ускоряет продвижение в десятки раз, а первые результаты появляются уже в течение первых 7 дней. Если ни один запрос у вас не продвинется в Топ10 за месяц, то в SeoHammer за бустер вернут деньги.
    Начать продвижение сайта
  • Метрики Холстеда






    Введение

    Качество ПО - это совокупность свойств, определяющих полезность изделия (программы) для пользователей в соответствии с функциональным назначением и предъявлёнными требованиями.

    Характеристика качества программы - понятие, отражающее отдельные факторы, влияющие на качество программ и поддающиеся измерению.

    Критерий качества - численный показатель, характеризующий степень, в которой программе присуще оцениваемое свойство.

    Критерии качества включают следующие характеристики: экономичность, документированность, гибкость, модульность, надёжность, обоснованность, тестируемость, ясность, точность, модифицируемость, эффективность, легкость сопровождения и т.д.

    Критерий должен:

    * численно характеризовать основную целевую функцию программы;

    * обеспечивать возможность определения затрат, необходимых для достижения требуемого уровня качества, а также степени влияния на показатель качества различных внешних факторов;

    * быть по возможности простым, хорошо измеримым и иметь малую дисперсию.

    Для измерения характеристик и критериев качества используют метрики.

    Метрики Холстеда

    Метрики Холстеда включают следующие характеристики.

    1) Длина программы:

    N'= n1 x log2(n1) + n2 x log2(n2)

    Объем программы:

    V = N * log2(n) (бит)

    2) Потенциальный (минимальный) объем:

    V* = (2+ n2*) * log2(2+ n2*)

    3) Граничный объем:

    V** = (2+ (n2*)* log2(n2*)) * log2(2+ n2*)

    5) Cоотношения между операциями и операндами (зависимость числа операндов n2 от числа операций n1):

    A = n2* /(n2* +2) * log2(n2*/2)

    B = n2* - 2 * A

    n2 = A * n1 + B

    6) Уровень программы:

    L = V*/V

    где V* - потенциальный объем, V - объем программы.

    Альтернативное определение уровня L:

    L' = (n1*) * n2/(n1*N2)

    где n1*=2

    Альтернативным методом определение уровня программы получили значение на 0.001 превышающее значение полученное в первом методе.

    7) Интеллектуальное содержание:

    I = L' * V

    8) Работа по программированию (общее число элементарных мысленных различий, требуемых для порождения программы):

    E = V 2/ V*

    9) Приближенное время программирования:

    T' = E/S

    где S = 18 моментов (различий)/сек - постоянная Страуда.

    T' =6882(сек)

    Время программирования указанное в техническом задании – 1 час

    10) Уровень языка:

    A = L * L* V

    Уровень языка определяет его производительность.

    11) Уравнение ошибок:

    Число переданных ошибок в программе: B = V/Е0

    где E0 = V* x V* x V*/(A x A) - среднее число элементарных различений между возможными ошибками в программировании.

     

    Исходя из полученных данных, можно предположить, что качество реализации алгоритма в большей степени определяется следующими параметрами:

    * интеллектуальное содержание

    * работа по программированию

    * приближенное время программирования

    * уровень языка

    * уравнение ошибок

     

    Описание метрик Холстеда

    Метрики Холстеда предлагают разумный подход к решению следующих задач:

    - предсказание условий, необходимых для программирования по предложенным проектам;

    - определение норм первоначальных ошибок;

    - количественная оценка языков программирования и эффекта модульности;

    - обоснование метода измерения различий между программами, написанными специалистами разного уровня.

     

    В основе вычисления метрик Холстеда лежит концепция, согласно которой алгоритм состоит только из операторов и операндов (проверяется рассмотрением простых вычислительных машин с форматом команд, содержащим две части: код операции и адрес операнда). Операнды - переменные или константы, используемые в данной реализации алгоритма. Операторы - комбинации символов, влияющие на значение или порядок операндов.

     

    В основе вычисляемых свойств алгоритма лежат следующие характеристики:

    - n1 - число различных операторов данной реализации;

    - n2 - число различных операндов данной реализации;

    - N1 - общее число всех операторов;

    - N2 - общее число всех операндов;

    - n2*- число различных входных и выходных операндов

     

    На основании приведенных выше характеристик вычисляются:

    словарь n = n1 + n2;

    длина реализации N = N1 + N2.

    объем программы V=N*log2(n) (бит).

    Под битом подразумевается логическая единица информации - символ, оператор, операнд.

    Далее М. Холстед вводит n* - теоретический словарь программы, т.е. словарный запас, необходимый для написания программы, с учетом того, что необходимая функция уже реализована в данном языке и, следовательно, программа сводится к вызову этой функции. Например, согласно М. Холстеду, возможное осуществление процедуры выделения простого числа могло бы выглядеть так:

    - CALL SIMPLE (X, Y),

    - где Y - массив численных значений, содержащий искомое число X.

    - Теоретический словарь в этом случае будет состоять из

    - n1*: {CALL, SIMPLE (...)},

    - n1*=2; n2*: {X, Y},

    - n2*=2,

    - а его длина, определяемая как

    - n* = n1* + n2*,

    - будет равняться 4.

    - Используя n*, Холстед вводит оценку V*:

    - V* = n* * log2 n*, (3)

    с помощью которой описывается потенциальный объем программы, соответствующий максимально компактному тексту программы, реализующей данный алгоритм.

     






    © 2023 :: MyLektsii.ru :: Мои Лекции
    Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав.
    Копирование текстов разрешено только с указанием индексируемой ссылки на источник.