Главная » Все файлы » Просмотр файлов из архивов » PDF-файлы » Метрические особенности ООП систем

Метрические особенности ООП систем, страница 3

PDF-файл Метрические особенности ООП систем, страница 3 Проектирование программного обеспечения автоматизированных систем (5765): Другое - 9 семестр (1 семестр магистратуры)Метрические особенности ООП систем: Проектирование программного обеспечения автоматизированных систем - PDF, страница 3 (5765) - СтудИзба2015-08-23СтудИзба

Описание файла

PDF-файл из архива "Метрические особенности ООП систем", который расположен в категории "". Всё это находится в предмете "проектирование программного обеспечения автоматизированных систем" из 9 семестр (1 семестр магистратуры), которые можно найти в файловом архиве НИУ «МЭИ» . Не смотря на прямую связь этого архива с НИУ «МЭИ» , его также можно найти и в других разделах. Архив можно найти в разделе "остальное", в предмете "проектирование по автоматизированных систем" в общих файлах.

Просмотр PDF-файла онлайн

Текст 3 страницы из PDF

Рассмотрим каждую из метрик набора.Метрика 1: Взвешенные методы на класс WMC (Weighted Methods Per Class)Допустим, что в классе С определены п методов со сложностью с1...,c2,..., сn. Для оценкисложности может быть выбрана любая метрика сложности (например, цикломатическаясложность). Главное — нормализовать эту метрику так, чтобы номинальная сложность для методапринимала значение 1. В этом случаеnWMC = ∑ C ii =1Количество методов и их сложность являются индикатором затрат на реализацию итестирование классов. Кроме того, чем больше методов, тем сложнее дерево наследования (всеподклассы наследуют методы их родителей).

С ростом количества методов в классе егоприменение становится все более специфическим, тем самым ограничивается возможностьмногократного использования. По этим причинам метрика WMC должна иметь разумно низкоезначение.Очень часто применяют упрощенную версию метрики. При этом полагают Сi= 1, и тогда WMC— количество методов в классе.Оказывается, что подсчитывать количество методов в классе достаточно сложно. Возможныдва противоположных варианта учета.1.Подсчитываются только методы текущего класса. Унаследованные методы игнорируются.Обоснование — унаследованные методы уже подсчитаны в тех классах, где ониопределялись. Таким образом, инкрементность класса — лучший показатель егофункциональных возможностей, который отражает его право на существование.

Наиболееважным источником информации для понимания того, что делает класс, являются егособственные операции. Если класс не может отреагировать на сообщение (например, внем отсутствует собственный метод), тогда он пошлет сообщение родителю.2.Подсчитываются методы, определенные в текущем классе, и все унаследованные методы.Этот подход подчеркивает важность пространства состояний в понимании класса (а неинкрементности класса).Существует ряд промежуточных вариантов. Например, подсчитываются текущие методы иметоды, прямо унаследованные от родителей. Аргумент в пользу данного подхода — на поведениедочернего класса наиболее сильно влияет специализация родительских классов.На практике приемлем любой из описанных вариантов.

Главное — не менять вариант учета отпроекта к проекту. Только в этом случае обеспечивается корректный сбор метрических данных.Метрика WMC дает относительную меру сложности класса. Если считать, что все методыимеют одинаковую сложность, то это будет просто количество методов в классе. Существуютрекомендации по сложности методов. Например, М. Лоренц считает, что средняя длина методадолжна ограничиваться 8 строками для Smalltalk и 24 строками для C++ [45]. Вообще, класс,имеющий максимальное количество методов среди классов одного с ним уровня, являетсянаиболее сложным; скорее всего, он специфичен для данного приложения и содержит наибольшееколичество ошибок.Метрика 2: Высота дерева наследования DIT (Depth of Inheritance Tree)DIT определяется как максимальная длина пути от листа до корня дерева наследования классов.Для показанной на рис. 14.3 иерархии классов метрика DIT равна 3.7Рис.

14.3. Дерево наследования классовСоответственно, для отдельного класса DIT, это длина максимального пути от данного классадо корневого класса в иерархии классов.По мере роста DIT вероятно, что классы нижнего уровня будут наследовать много методов. Этоприводит к трудностям в предсказании поведения класса. Высокая иерархия классов (большоезначение DIT) приводит к большей сложности проекта, так как означает привлечение большегоколичества методов и классов.Вместе с тем, большое значение DIT подразумевает, что многие методы могут использоватьсямногократно.Метрика 3: Количество детей NOC (Number of children)Подклассы, которые непосредственно подчинены суперклассу, называются его детьми.Значение NOC равно количеству детей, то есть количеству непосредственных наследников классав иерархии классов.

На рис. 14.3 класс С2 имеет двух детей — подклассы С21 и С22.С увеличением NOC возрастает многократность использования, так как наследование — этоформа повторного использования.Однако при возрастании NOC ослабляется абстракция родительского класса. Это означает, чтов действительности некоторые из детей уже не являются членами родительского класса и могутбыть неправильно использованы.Кроме того, количество детей характеризует потенциальное влияние класса на проект. По мерероста NOC возрастает количество тестов, необходимых для проверки каждого ребенка.Метрики DIT и NOC — количественные характеристики формы и размера структуры классов.Хорошо структурированная объектно-ориентированная система чаще бывает организована как лесклассов, чем как сверхвысокое дерево. По мнению Г. Буча, следует строить сбалансированные повысоте и ширине структуры наследования: обычно не выше, чем 7 ± 2 уровня, и не шире, чем 7 + 2ветви [22].Метрика 4: Сцепление между классами объектов СВО (Coupling between object classes)СВО — это количество сотрудничеств, предусмотренных для класса, то есть количествоклассов, с которыми он соединен.

Соединение означает, что методы данного класса используютметоды или экземплярные переменные другого класса.Другое определение метрики имеет следующий вид: СВО равно количеству сцеплений класса;сцепление образует вызов метода или свойства в другом классе.Данная метрика характеризует статическую составляющую внешних связей классов.С ростом СВО многократность использования класса, вероятно, уменьшается. Очевидно, чточем больше независимость класса, тем легче его повторно использовать в другом приложении.Высокое значение СВО усложняет модификацию и тестирование, которое следует завыполнением модификации. Понятно, что, чем больше количество сцеплений, тем вышечувствительность всего проекта к изменениям в отдельных его частях. Минимизациямежобъектных сцеплений улучшает модульность и содействует инкапсуляции проекта.СВО для каждого класса должно иметь разумно низкое значение.

Это согласуется срекомендациями по уменьшению сцепления стандартного программного обеспечения.Метрика 5: Отклик для класса RFC (Response For a Class)Введем вспомогательное определение. Множество отклика класса RS — это множествометодов, которые могут выполняться в ответ на прибытие сообщений в объект этого класса.Формула для определения RS имеет видRS = {M }U all _ i {Ri } ,где {Ri} — множество методов, вызываемых методом г, {М} — множество всех методов вклассе.Метрика RFC равна количеству методов во множестве отклика, то есть равна мощности этогомножества:8RFC – card{RS}.Приведем другое определение метрики: RFC — это количество методов класса плюсколичество методов других классов, вызываемых из данного класса.Метрика RFC является мерой потенциального взаимодействия данного класса с другимиклассами, позволяет судить о динамике поведения соответствующего объекта в системе.

Даннаяметрика характеризует динамическую составляющую внешних связей классов.Если в ответ на сообщение может быть вызвано большое количество методов, то усложняютсятестирование и отладка класса, так как от разработчика тестов требуется больший уровеньпонимания класса, растет длина тестовой последовательности.С ростом RFC увеличивается сложность класса.

Наихудшая величина отклика можетиспользоваться при определении времени тестирования.Метрика 6: Недостаток связности в методах LСOM (Lack of Cohesion in Methods)Каждый метод внутри класса обращается к одному или нескольким свойствам (экземплярнымпеременным). Метрика LCOM показывает, насколько методы не связаны друг с другом черезсвойства (переменные). Если все методы обращаются к одинаковым свойствам, то LCOM = 0.Введем обозначения:‰ НЕ СВЯЗАНЫ — количество пар методов без общих экземплярных переменных;‰ СВЯЗАНЫ — количество пар методов с общими экземплярными переменными.‰ Ij— набор экземплярных переменных, используемых методом МjОчевидно, чтоНЕ СВЯЗАНЫ = card {Iij | Ii ∩ Ij = 0},СВЯЗАНЫ = card {Iij | Ii ∩ Ij ≠ 0}.Тогда формула для вычисления недостатка связности в методах примет вид⎧НЕ СВЯЗАНЫ - СВЯЗАНЫ, если (НЕСВЯЗАНЫ > СВЯЗАНЫ);LCOM = ⎨⎩0 в противном случае.Можно определить метрику по-другому: LCOM — это количество пар методов, не связанныхпо свойствам класса, минус количество пар методов, имеющих такую связь.Рассмотрим примеры применения метрики LCOM.Пример 1: В классе имеются методы: M1, M2, М3, М4.

Каждый метод работает со своимнабором экземплярных переменных:I1={a, b}; I2={а, с}; I3={х, у}; I4={т, п}.В этом случаеНЕ СВЯЗАНЫ = card (I13, I14, I23, I24, I34) = 5; СВЯЗАНЫ = card (I12) = 1.LCOM = 5-1=4.Пример 2: В классе используются методы: M1, M2, М3. Для каждого метода задан свой наборэкземплярных переменных:I1 = {a,b};I2={a,c};I3={x,y},НЕ СВЯЗАНЫ = card (I13, I23) = 2; СВЯЗАНЫ = card (I12) = 1,LCOM = 2- 1 = 1.Связность методов внутри класса должна быть высокой, так как это содействует инкапсуляции.Если LCOM имеет высокое значение, то методы слабо связаны друг с другом через свойства.

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