Файл: Занятие Основные понятия методологии ооап план.docx

ВУЗ: Не указан

Категория: Не указан

Дисциплина: Не указана

Добавлен: 25.10.2023

Просмотров: 25

Скачиваний: 1

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.

Практическое занятие 2. Основные понятия методологии ООАП

План

    1. Основные понятия моделирования систем и программных приложений


    2. Разработка модели. Формы представления модели

    3. Основные понятия методологии ООАП
Цель занятия: ознакомление с понятием моделированием систем, программных приложений, разработкой модели, формы представления модели. Рассмотреть основные понятия методологии объектно-ориентированного анализа и проектирования (ООАП).



Основные понятия моделирования систем и программных приложений

Модель (model) – абстракция произвольной системы или объекта, рассматриваемая с определенной точки зрения и представленная на некотором языке или графической форме.

Модель должна полностью описывать только те аспекты, которые являются релевантными конкретной цели моделирования на требуемом уровне детализации.

Конечная задача модели:

Получение информации о свойствах или поведении системы – оригинала, но с меньшими затратами, по сравнению с созданием оригинала.

Моделирование – это процессы создания и получения требуемой информации об объекте.

Модель сложной системы, как правило, состоит из набора представлений, рассматриваемых объект под разным углом:

  • модель с позиции пользователя (главное — это набор предоставляемых услуг и удобство использования)

  • модель с позиции программиста проектировщика (Прозрачность кода и легкость расширения наращивания возможностей.

  • модель с позиции бизнес-аналитика и т. д. (оценка используемых ресурсов при разработке и реализации).

Представление (view) – проекция модели, которая рассматривается с определенной точки зрения и учитывает только существенные аспекты модели с позиции этой точки.
Разработка модели. Формы представления модели

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

При этом на каждом этапе модели дополняются все большим количеством деталей
, что позволяет все более адекватно отражать различные аспекты системы.

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

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

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

Это одно из требований, которое привело к разработке унифицированного языка моделирования (UML).

UML (Unified Modeling Language) Унифицированный язык моделирования.

UML – язык визуального моделирования, предназначенный для спецификации, визуализации и документирования объектно-ориентированных систем и бизнес процессов во время их проектирования.

Методология (methodology) – совокупность принципов и методик разработки ПС, определяющих процесс построения модели системы.
Современные методологии разработки ПС тесно связаны с концепцией автоматизированной разработки программного обеспечения (Computer Aided Software Engineering, CASE) и соответствующими программными средствами, реализующими эту концепцию.

Основные понятия методологии ООАП

Фундаментальными понятиями ООАП являются понятия класса и объекта, а также ее основные принципы: абстракция, инкапсуляция, полиморфизм, наследование.

Класс (class) представляет собой абстракцию совокупности реальных объектов, которые имеют общий набор свойств и обладают одинаковым поведением.

Объект (object) в контексте ООАП рассматривается как экземплярсоответствующегокласса.

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

пространстве, класс определяет лишь абстракцию существенного в объекте.

Итак, объект обладает состоянием, поведением и идентичностью. Структура и поведение схожих объектов определяет общий для них класс. Термины «экземпляр класса» и «объект» взаимозаменяемы. Объекты, которые не имеют идентичных свойств или не обладают одинаковым поведением, по определению, не могут быть отнесены к одному классу.

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

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

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

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

На использовании вышеперечисленных принципов основывается методология построения объектно-ориентированных моделей.

Модель(model) абстракция произвольной системы или объекта, рассматриваемая с определенной точки зрения и представленная на некотором языке или в графической форме. Попросту говоря, она является упрощенным представлением реальности. Хорошая модель должна описывать важнейшие аспекты проблемы и опускать все прочие.

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

Процесс построения и последующего применения моделей называется моделированием.

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

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

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

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

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

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