Главная » Просмотр файлов » Метрические особенности ООП систем

Метрические особенности ООП систем (548338), страница 4

Файл №548338 Метрические особенности ООП систем (Метрические особенности ООП систем) 4 страницаМетрические особенности ООП систем (548338) страница 42015-08-23СтудИзба
Просмтор этого файла доступен только зарегистрированным пользователям. Но у нас супер быстрая регистрация: достаточно только электронной почты!

Текст из файла (страница 4)

Этоувеличивает сложность, в связи с чем возрастает вероятность ошибок при проектировании.Высокие значения LCOM означают, что класс, вероятно, надо спроектировать лучше(разбиением на два или более отдельных класса). Любое вычисление LCOM помогает определитьнедостатки в проектировании классов, так как эта метрика характеризует качество упаковкиданных и методов в оболочку класса.Вывод: связность в классе желательно сохранять высокой, то есть следует добиваться низкогозначения LCOM.Набор метрик Чидамбера-Кемерера — одна из пионерских работ по комплексной оценкекачества ОО-проектирования. Известны многочисленные предложения по усовершенствованию,развитию данного набора. Рассмотрим некоторые из них.Недостатком метрики WMC является зависимость от реализации. Приведем пример.9Рассмотрим класс, предлагающий операцию интегрирования.

Возможны две реализации:1) несколько простых операций:Set_interval (min. max)Setjnethod (method)Set_precision (precision)Set_function_to_integrate (function)Integrate;2) одна сложная операция:Integrate (function, min, max. method, precision)Для обеспечения независимости от этих реализаций можно определить метрику WMC2:nWMC 2 = ∑ (Количество параметров i − го метода ) .i =1Для нашего примера WMC2 = 5 и для первой, и для второй реализации. Заметим, для первойреализации WMC = 5, а для второй реализации WMC = 1.Дополнительно можно определить метрику Среднее число аргументов метода ANAM (AverageNumber of Arguments per Method):ANAM = WMC2/WMC.Полезность метрики ANAM объяснить еще легче. Она ориентирована на принятые в ООпроектировании решения — применять простые операции с малым количеством аргументов, анесложные операции — с многочисленными аргументами.Еще одно предложение — ввести метрику, симметричную метрике LCOM.

В то время какформула метрики LCOM имеет вид:LCOM = max (0, НЕ СВЯЗАНЫ - СВЯЗАНЫ),симметричная ей метрика Нормализованная NLСОМ вычисляется по формуле:NLCOM = СВЯЗАНЫ/(НЕ СВЯЗАНЫ + СВЯЗАНЫ).Диапазон значений этой метрики: 0 ≤ NLCOM ≤ 1, причем чем ближе NLCOM к 1, тем вышесвязанность класса.В наборе Чидамбера-Кемерера отсутствует метрика для прямого измерения информационнойзакрытости класса. В силу этого была предложена метрика Поведенческая закрытостьинформации BIH (Behaviourial Information Hiding):BIH - (WEOC/WIEOC),где WEOC — взвешенные внешние операции на класс (фактически это WMC);WIEOC — взвешенные внутренние и внешние операции на класс.WIEОС вычисляется так же, как и WMC, но учитывает полный набор операций, реализуемыхклассом.

Если BIH = 1, класс показывает другим классам все свои возможности. Чем меньше ВIM,тем меньше видимо поведение класса. BIH может рассматриваться и как мера сложности.Сложные классы, вероятно, будут иметь малые значения BIH, а простые классы — значения,близкие к 1. Если класс с высокой WMC имеет значение BIH, близкое к 1, следует выяснить,почему он настолько видим извне.Использование метрик Чидамбера-КемерераПоскольку основу логического представления ПО образует структура классов, для оценки еекачества удобно использовать метрики Чидамбера-Кемерера.

Для вычисления метрики LCOMнадо определить количество пар методов класса. Оно рассчитывается по формулеC m2 = m!/(2(m − 2)!) ,где т — количество методов класса.Поскольку в классе три метода, возможны три пары: op_al( )&ор_а2(), op_al( )&ор_а3() и ор_а2()&ор_а3(). Первая и вторая пары не имеют общих свойств, третья пара имеет общее свойство (pal).Таким образом, количество несвязанных пар равно 2, количество связанных пар равно 1, и LCOM= 2-1 = 1.Отметим также, что для класса Class D метрика СВО равна 2, так как здесь используютсясвойство pal и метод op_f() из других классов. Метрика LCOM в этом классе равна 0, посколькуметоды op_dl() и op_d2() связаны по свойству pdl, а отрицательное значение запрещено.10Метрики Лоренца и КиддаКоллекция метрик Лоренца и Кидда — результат практического, промышленного подхода коценке ОО-проектов [45].Метрики, ориентированные на классыМ.

Лоренц и Д. Кидд подразделяют метрики, ориентированные на классы, на четыре категории:метрики размера, метрики наследования, внутренние и внешние метрики.Размерно-ориентированные метрики основаны на подсчете свойств и операций для отдельныхклассов, а также их средних значений для всей ОО-системы. Метрики наследования акцентируютвнимание на способе повторного использования операций в иерархии классов. Внутренниеметрики классов рассматривают вопросы связности и кодирования. Внешние метрики исследуютсцепление и повторное использование.Метрика 1: Размер класса CS (Class Size)Общий размер класса определяется с помощью следующих измерений:‰ общее количество операций (вместе с приватными и наследуемыми экземплярнымиоперациями), которые инкапсулируются внутри класса;‰ количество свойств (вместе с приватными и наследуемыми экземплярными свойствами),которые инкапсулируются классом.Метрика WMC Чидамбера и Кемерера также является взвешенной метрикой размера класса.Большие значения CS указывают, что класс имеет слишком много обязанностей.

Ониуменьшают возможность повторного использования класса, усложняют его реализацию итестирование.При определении размера класса унаследованным (публичным) операциям и свойствампридают больший удельный вес. Причина — приватные операции и свойства обеспечиваютспециализацию и более локализованы в проекте.Могут вычисляться средние количества свойств и операций класса. Чем меньше среднеезначение размера, тем больше вероятность повторного использования класса.Рекомендуемое значение CS ≤ 20 методов.Метрика 2: Количество операций, переопределяемых подклассом, NOO(Number of Operations Overridden by a Subclass)Переопределением называют случай, когда подкласс замещает операцию, унаследованную отсуперкласса, своей собственной версией.Большие значения NOO обычно указывают на проблемы проектирования.

Ясно, что подклассдолжен расширять операции суперкласса. Расширение проявляется в виде новых имен операций.Если же NOО велико, то разработчик нарушает абстракцию суперкласса. Это ослабляет иерархиюклассов, усложняет тестирование и модификацию программного обеспечения.Рекомендуемое значение NOO ≤ 3 методов.Метрика 3: Количество операций, добавленных подклассом, NOA(Number of Operations Added by a Subclass)Подклассы специализируются добавлением приватных операций и свойств. С ростом NOAподкласс удаляется от абстракции суперкласса. Обычно при увеличении высоты иерархии классов(увеличении DIT) должно уменьшаться значение NOA на нижних уровнях иерархии.Для рекомендуемых значений CS = 20 и DIT = 6 рекомендуемое значение NOA ≤ 4 методов(для класса-листа).Метрика 4: Индекс специализации SI (Specialization Index)Обеспечивает грубую оценку степени специализации каждого подкласса.

Специализациядостигается добавлением, удалением или переопределением операций:SI = (NOO x уровень) /Mобщ,11где уровень — номер уровня в иерархии, на котором находится подкласс, Мобщ — общееколичество методов класса.Чем выше значение SI, тем больше вероятность того, что в иерархии классов есть классы,нарушающие абстракцию суперкласса.Рекомендуемое значение SI ≤ 0,15.Операционно-ориентированные метрикиЭта группа метрик ориентирована на оценку операций в классах.

Обычно методы имеюттенденцию быть небольшими как по размеру, так и по логической сложности. Тем не менеереальные характеристики операций могут быть полезны для глубокого понимания системы.Метрика 5: Средний размер операции OSAVG (Average Operation Size)В качестве индикатора размера может использоваться количество строк программы, однакоLOC-оценки приводят к известным проблемам. Альтернативный вариант — «количествосообщений, посланных операцией».Рост значения метрики означает, что обязанности размещены в классе не очень удачно.Рекомендуемое значение OSAVG ≤ 9.Метрика 6: Сложность операции ОС (Operation ComplexityСложность операции может вычисляться с помощью стандартных метрик сложности, то есть спомощью LOC- или FP-оценок, метрики цикломатической сложности, метрики Холстеда.М.

Лоренц и Д. Кидд предлагают вычислять ОС суммированием оценок с весовымикоэффициентами, приведенными в табл. 14.5.Таблица 14.5. Весовые коэффициенты для метрики ОСПараметрВесВызовы функций API5,0Присваивания0,5Арифметические2операции,0Сообщенияс3параметрами,0Вложенные выражения0,5Параметры0,3Простые вызовы7,0Временные переменные0,5Сообщениябез1параметров,0Поскольку операция должна быть ограничена конкретной обязанностью, желательноуменьшать ОС.Рекомендуемое значение ОС ≤ 65 (для предложенного суммирования).Метрика 7: Среднее количество параметров на операцию NPAVG(Average Number of Parameters per operation)Чем больше параметров у операции, тем сложнее сотрудничество между объектами.

Поэтомузначение NPAVG должно быть как можно меньшим.12Рекомендуемое значение NPAVG = 0,7.Метрики для ОО-проектовОсновными задачами менеджера проекта являются планирование, координация, отслеживаниеработ и управление программным проектом.Одним из ключевых вопросов планирования является оценка размера программного продукта.Прогноз размера продукта обеспечивают следующие ОО-метрики.Метрика 8: Количество описаний сценариев NSS (Number of Scenario Scripts)Это количество прямо пропорционально количеству классов, требуемых для реализациитребований, количеству состояний для каждого класса, а также количеству методов, свойств исотрудничеств.

Характеристики

Тип файла
PDF-файл
Размер
418,53 Kb
Тип материала
Высшее учебное заведение

Список файлов учебной работы

Свежие статьи
Популярно сейчас
Почему делать на заказ в разы дороже, чем купить готовую учебную работу на СтудИзбе? Наши учебные работы продаются каждый год, тогда как большинство заказов выполняются с нуля. Найдите подходящий учебный материал на СтудИзбе!
Ответы на популярные вопросы
Да! Наши авторы собирают и выкладывают те работы, которые сдаются в Вашем учебном заведении ежегодно и уже проверены преподавателями.
Да! У нас любой человек может выложить любую учебную работу и зарабатывать на её продажах! Но каждый учебный материал публикуется только после тщательной проверки администрацией.
Вернём деньги! А если быть более точными, то автору даётся немного времени на исправление, а если не исправит или выйдет время, то вернём деньги в полном объёме!
Да! На равне с готовыми студенческими работами у нас продаются услуги. Цены на услуги видны сразу, то есть Вам нужно только указать параметры и сразу можно оплачивать.
Отзывы студентов
Ставлю 10/10
Все нравится, очень удобный сайт, помогает в учебе. Кроме этого, можно заработать самому, выставляя готовые учебные материалы на продажу здесь. Рейтинги и отзывы на преподавателей очень помогают сориентироваться в начале нового семестра. Спасибо за такую функцию. Ставлю максимальную оценку.
Лучшая платформа для успешной сдачи сессии
Познакомился со СтудИзбой благодаря своему другу, очень нравится интерфейс, количество доступных файлов, цена, в общем, все прекрасно. Даже сам продаю какие-то свои работы.
Студизба ван лав ❤
Очень офигенный сайт для студентов. Много полезных учебных материалов. Пользуюсь студизбой с октября 2021 года. Серьёзных нареканий нет. Хотелось бы, что бы ввели подписочную модель и сделали материалы дешевле 300 рублей в рамках подписки бесплатными.
Отличный сайт
Лично меня всё устраивает - и покупка, и продажа; и цены, и возможность предпросмотра куска файла, и обилие бесплатных файлов (в подборках по авторам, читай, ВУЗам и факультетам). Есть определённые баги, но всё решаемо, да и администраторы реагируют в течение суток.
Маленький отзыв о большом помощнике!
Студизба спасает в те моменты, когда сроки горят, а работ накопилось достаточно. Довольно удобный сайт с простой навигацией и огромным количеством материалов.
Студ. Изба как крупнейший сборник работ для студентов
Тут дофига бывает всего полезного. Печально, что бывают предметы по которым даже одного бесплатного решения нет, но это скорее вопрос к студентам. В остальном всё здорово.
Спасательный островок
Если уже не успеваешь разобраться или застрял на каком-то задание поможет тебе быстро и недорого решить твою проблему.
Всё и так отлично
Всё очень удобно. Особенно круто, что есть система бонусов и можно выводить остатки денег. Очень много качественных бесплатных файлов.
Отзыв о системе "Студизба"
Отличная платформа для распространения работ, востребованных студентами. Хорошо налаженная и качественная работа сайта, огромная база заданий и аудитория.
Отличный помощник
Отличный сайт с кучей полезных файлов, позволяющий найти много методичек / учебников / отзывов о вузах и преподователях.
Отлично помогает студентам в любой момент для решения трудных и незамедлительных задач
Хотелось бы больше конкретной информации о преподавателях. А так в принципе хороший сайт, всегда им пользуюсь и ни разу не было желания прекратить. Хороший сайт для помощи студентам, удобный и приятный интерфейс. Из недостатков можно выделить только отсутствия небольшого количества файлов.
Спасибо за шикарный сайт
Великолепный сайт на котором студент за не большие деньги может найти помощь с дз, проектами курсовыми, лабораторными, а также узнать отзывы на преподавателей и бесплатно скачать пособия.
Популярные преподаватели
Добавляйте материалы
и зарабатывайте!
Продажи идут автоматически
6310
Авторов
на СтудИзбе
312
Средний доход
с одного платного файла
Обучение Подробнее