Вопросы качества при создании классов и объектов.



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

· -взаимосвязанность (зацепление), степень глубины связи между отдельными модулями;

· -связность, степень взаимодействия между элементами отдельного модуля (наиболее предпочтительна наибольшая связанность);

· -достаточность, наличие в классе или модуле всего необходимого для реализации логичного и необходимого поведения;

· - полнота, наличие в интерфейсной части класса всех необходимых характеристик абстракции. Существует формализованная описание абстракции и теория вывода полноты.

· -простота/примитивность, все операции должны быть простыми.

Объектно-ориентированный анализ.

Задача классификации

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

Целью классификации является нахождение общих свойств в объектах. Классифицируя, мы объединяем в одну группу объекты, имеющие одинаковое строение или одинаковое поведение. Разумная классификация -часть любой точной науки. Классификация - последовательный и итерационный процесс. Трудность классификации обуславливается в основном широким выбором возможных равноправных решений.

Исторически сложились три основных подхода к классификации:

· - классическое распределение по категориям,

· - концептуальная кластеризация,

· - теория прототипов.

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

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

Эти три способа классификации составляют теоретические основы объектно-ориентированного анализа групп, которые мы можем применить для идентификации классов и объектов при проектировании сложной системы. На практике мы идентифицируем классы и объекты исходя, прежде всего из свойств рассматриваемой предметной области. Если с помощью этого подхода не удается составить приемлемую структуру, приходится концептуально группировать объекты. Если и в этом случае не можем адекватно смоделировать задачу, то приходится прибегать к классификации с помощью ассоциативных методов, выделяя группы объектов по признаку сходства их с некоторым объектом прототипом.


Дата добавления: 2018-02-15; просмотров: 673; Мы поможем в написании вашей работы!

Поделиться с друзьями:






Мы поможем в написании ваших работ!