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

Метрические особенности ООП систем

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

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

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

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

Текст из PDF

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

С точки зрения метрик выделяют пять характеристик объектно-ориентированныхсистем: локализацию, инкапсуляцию, информационную закрытость, наследование и способыабстрагирования объектов. Эти характеристики оказывают максимальное влияние на объектноориентированные метрики.ЛокализацияЛокализация фиксирует способ группировки информации в программе.

В классическихметодах, где используется функциональная декомпозиция, информация локализуется вокругфункций. Функции в них реализуются как процедурные модули. В методах, управляемыхданными, информация группируется вокруг структур данных. В объектно-ориентированной средеинформация группируется внутри классов или объектов (инкапсуляцией как данных, так ипроцессов).Поскольку в классических методах основной механизм локализации — функция, программныеметрики ориентированы на внутреннюю структуру или сложность функций (длина модуля,связность, цикломатическая сложность) или на способ, которым функции связываются друг сдругом (сцепление модулей).Так как в объектно-ориентированной системе базовым элементом является класс, толокализация здесь основывается на объектах.

Поэтому метрики должны применяться к классу(объекту) как к комплексной сущности. Кроме того, между операциями (функциями) и классамимогут быть отношения не только «один-к-одному». Поэтому метрики, отображающие способывзаимодействия классов, должны быть приспособлены к отношениям «один-ко-многим», «многиеко-многим».ИнкапсуляцияВспомним, что инкапсуляция — упаковка (связывание) совокупности элементов. Дляклассических ПС примерами низкоуровневой инкапсуляции являются записи и массивы.Механизмом инкапсуляции среднего уровня являются подпрограммы (процедуры, функции).В объектно-ориентированных системах инкапсулируются обязанности класса, представляемыеего свойствами (а для агрегатов — и свойствами других классов), операциями и состояниями.Для метрик учет инкапсуляции приводит к смещению фокуса измерений с одного модуля нагруппу свойств и обрабатывающих модулей (операций).

Кроме того, инкапсуляция переводитизмерения на более высокий уровень абстракции (пример — метрика «количество операций накласс»). Напротив, классические метрики ориентированы на низкий уровень — количествобулевых условий (цикломатическая сложность) и количество строк программы.Информационная закрытостьИнформационная закрытость делает невидимыми операционные детали программногокомпонента. Другим компонентам доступна только необходимая информация.Качественные объектно-ориентированные системы поддерживают высокий уровеньинформационной закрытости.

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

Помере перемещения на более высокие уровни абстракции мы игнорируем все большее количестводеталей, обеспечивая все более общее представление понятия или элемента. По мере перемещенияна более низкие уровни абстракции мы вводим все большее количество деталей, обеспечиваяболее удачное представление понятия или элемента.Класс — это абстракция, которая может быть представлена на различных уровнях детализациии различными способами (например, как список операций, последовательность состояний,последовательности взаимодействий).

Поэтому объектно-ориентированные метрики должныпредставлять абстракции в терминах измерений класса. Примеры: количество экземпляров классав приложении, количество родовых классов на приложение, отношение количества родовых кколичеству неродовых классов.Эволюция мер связи для объектно-ориентированных программных системКлассической мерой сложности внутренних связей модуля является связность, а классическоймерой сложности внешних связей — сцепление. Рассмотрим развитие этих мер применительно кобъектно-ориентированным системам.Связность объектовВ классическом методе Л. Констентайна и Э. Йордана определены семь типов связности.1. Связность по совпадению. В модуле отсутствуют явно выраженные внутренние связи.2. Логическая связность.

Части модуля объединены по принципу функционального подобия.3. Временная связность. Части модуля не связаны, но необходимы в один и тот же периодработы системы.4. Процедурная связность. Части модуля связаны порядком выполняемых ими действий,реализующих некоторый сценарий поведения.5. Коммуникативная связность. Части модуля связаны по данным (работают с одной и тойже структурой данных).6. Информационная (последовательная) связность. Выходные данные одной частииспользуются как входные данные в другой части модуля.7. Функциональная связность.

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

Приизменении системы все действия над частью инкапсулируются в едином компоненте. Поэтому дляпроизводства изменения нет нужды модифицировать много компонентов.Если функциональность в объектно-ориентированной системе обеспечивается наследованиемот суперклассов, то связность объекта, который наследует свойства и операции, уменьшается. Вэтом случае нельзя рассматривать объект как отдельный модуль — должны учитываться все его2суперклассы.

Системные средства просмотра содействуют такому учету. Однако пониманиеэлемента, который наследует свойства от нескольких суперклассов, резко усложняется.Обсудим конкретные метрики для вычисления связности классов.Метрики связности по даннымЛ. Отт и Б. Мехра разработали модель секционирования класса [55]. Секционированиеосновывается на экземплярных переменных класса. Для каждого метода класса получают рядсекций, а затем производят объединение всех секций класса. Измерение связности основываетсяна количестве лексем данных (data tokens), которые появляются в нескольких секциях и«склеивают» секции в модуль.

Под лексемами данных здесь понимают определения констант ипеременных или ссылки на константы и переменные.Базовым понятием методики является секция данных. Она составляется для каждого выходногопараметра метода. Секция данных — это последовательность лексем данных в операторах,которые требуются для вычисления этого параметра.Еще одно базовое понятие методики — секционированная абстракция. Секционированнаяабстракция — это объединение всех секций данных метода.Введем главные определения.Секционированной абстракцией класса (Class Slice Abstraction) CSA(C) называют объединениесекций всех экземплярных переменных класса.

Полный набор секций составляют путем обработкивсех методов класса.Склеенными лексемами называют те лексемы данных, которые являются элементами более чемодной секции данных.Сильно склеенными лексемами называют те склеенные лексемы, которые являются элементамивсех секций данных.Сильная связность по данным (StrongData Cohesion) — это метрика, основанная на количествелексем данных, входящих во все секции данных для класса. Иначе говоря, сильная связность поданным учитывает количество сильно склеенных лексем в классе С, она вычисляется по формуле:SG (CSA (C ))SDC(C ) =,лексемы(C )где SG(CSA(C)) — объединение сильно склеенных лексем каждого из методов класса С,лексемы(С) — множество всех лексем данных класса С.Таким образом, класс без сильно склеенных лексем имеет нулевую сильную связность поданным.Слабая связность по данным (Weak Data Cohesion) — метрика, которая оценивает связность,базируясь на склеенных лексемах.

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