Студопедия.Орг Главная | Случайная страница | Контакты | Мы поможем в написании вашей работы!  
 

Взаимосвязь классов и объектов



В большинстве практических задач классы статичны, т. е. все их особенности и содержание определены в процессе компиляции программ. Объекты, в процессе вы­полнения программы, непрерывно создаются и разрушаются, т. е. объекты измен­чивы и динамичны.

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

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

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

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

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

46. Объектно-ориентированное проектирование.

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

Разработка структуры ПО при объектном подходе:

На этапе проектирования уточняются поля и методы классов, а также отношения между классами. Все это находит отражение на диаграмме классов.

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

· управляющий класс отвечает за координацию действий других классов и контролирует последовательность выполнения действий варианта использования для данного ПО. На каждой диаграмме классов должен быть хотя бы один управляющий класс (рис. 1, а).

· класс-сущность – пассивный класс, информация о котором должна храниться постоянно. Как правило, этот класс соответствует отдельной таблице БД. В этом случае его атрибуты являются полями этой таблицы, а операции - присоединенными или хранимыми процедурами (рис. 1, б).

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

Рис. 1. Графическое изображение классов для моделирования программного обеспечения: а – управляющий класс; б – класс-сущность; в – граничный класс

47. Отношения между классами в объектно-ориентированном проектировании:

Кроме внутреннего устройства или структуры классов, на диаграмме классов необходимо отобразить различные отношения между ними. Основными отношениями или связями в языке UML являются:

· отношение зависимости;

· отношение ассоциативности;

· отношение обобщения;

· отношение реализации.

Все эти отношения обозначаются по-своему на диаграмме и отражают различные типы взаимосвязей между классами и их объектами.

Отношение зависимости:

Отношение зависимости используется в ситуации, когда некоторое изменение одного элемента модели может потребовать изменения другого зависимого от него элемента модели.

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

Рис. 2. Графическое изображение отношения зависимости

на диаграмме классов

Отношение ассоциации:

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

Ассоциация, связывающая два класса (или класс с самим собой), называется бинарной. Для бинарной ассоциации на диаграмме может быть указан порядок следования классов с использованием треугольника в форме стрелки рядом с именем данной ассоциации. Направление этой стрелки указывает на порядок классов, один из которых является первым (со стороны основания треугольника), а другой – вторым (со стороны вершины треугольника). Отсутствие данной стрелки рядом с именем ассоциации означает, что порядок следования классов в данном отношении не определен.

К таким свойствам относятся:

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

· кратность отдельных классов, являющихся концами ассоциации. Интервал кратности записывается рядом с концом ассоциации и для N-арной ассоциации означает потенциальное число отдельных экземпляров этой ассоциации, которые могут иметь место, когда остальные N-1 экземпляров или значений классов фиксированы.

Отношение агрегации:

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

Отношение композиции:

Отношение композиции является частным случаем отношения агрегации. Это отношение служит для описания специальной формы отношения «часть-целое», при которой составляющие части в некотором смысле находятся внутри целого. Причем, части не могут выступать в отрыве от целого, т.е. с уничтожением целого уничтожаются и все его составные части.

Отношение обобщения:

Отношение обобщения является отношением между более общим элементом (родителем или предком) и более частным или специальным элементом (дочерним или потомком).

48. Понятие объекта. Отношения между объектами.

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

Для объектно-ориентированного проектирования представляет интерес два типа отношений между объектами:

· Отношение использование/ связь, которое подразумевает возможность обмена сооб­щениями между объектами. В зависимости от того, как объект действует, он выполняет одну из трех ролей: actor (актер, деятель), объект, воздействующий на другие объекты, server (сервер), объект, подвергающий воздействию со стороны других объектов, agent (агент), объект, который может быть как (1) так и (2).

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

49. Сущность «класс». Отношения между классами.

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

Реализация составляет его внутреннее проявление и определяет особенности по­ведения.

Известно три основных типа отношений между классами:

· Обобщение/специализация

· Агрегирование объектов или отношение целое/часть

· Отношение ассоциативности отражает семантическую связь между классами, ко­торые не связаны никакими другими типами отношений.

50. Взаимосвязь классов и объектов.

В большинстве практических задач классы статичны, т. е. все их особенности и содержание определены в процессе компиляции программ. Объекты, в процессе вы­полнения программы, непрерывно создаются и разрушаются, т. е. объекты измен­чивы и динамичны.

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

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

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

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

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

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

51. Объектно-ориентированное проектирование.





Дата публикования: 2015-01-25; Прочитано: 1767 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!



studopedia.org - Студопедия.Орг - 2014-2024 год. Студопедия не является автором материалов, которые размещены. Но предоставляет возможность бесплатного использования (0.009 с)...