Место моделирования в проектировании больших программных систем. Моделируемые аспекты программных систем
Реферат, 15 Ноября 2013, автор: пользователь скрыл имя
Описание работы
Моделирование программных систем позволяет:
визуализировать систему в ее текущем или желательном для нас состоянии;
определить структуру или поведение системы;
получить шаблон, позволяющий затем сконструировать систему;
документировать принимаемые решения, используя полученные модели.
Файлы: 1 файл
Ekzamen2.doc
— 1.48 Мб (Скачать файл)1. Сущности.
2. Связи.
3. Диаграммы.
Сущности – это абстракции, которые являются основными элементами модели, связи соединяют их между собой, а диаграммы группируют представляющие интерес наборы сущностей.
9. Язык UML. Типы сущностей.
Сущности:
1. Структурные
- Класс - описание совокупности объектов с общими атрибутами, отношениями и семантикой. Имя класса - обязательный элемент.
- Интерфейс - совокупность операций (только их сигнатуры), которые определяют набор действий (услуг класса).
- Кооперация - определяет взаимодействие и является совокупностью других элементов и ролей, которые производят коллективное действие.
- Прецедент - описание последовательности действий системы, приводящих к наблюдаемому результату в интересах определённого актёра.
- Актёр - любая внешняя по отношению к системе сущность.
- Активный класс - класс, объекты которого имеют один или несколько процессов, инициирующих управляющие воздействия (ограничивается жирной линией).
- Компонент - физическая заменяемая часть системы, обеспечивающая реализацию набора интерфейсов.
- Узел - элемент реальной физической системы, как правило, вычислительный ресурс.
Все структурные сущности могут иметь разновидности.
2. Поведенческие
Описывают поведение модели во времени и пространстве.
- Взаимодействие - поведение, связанное с обменом сообщением.
- Автомат - алгоритм поведения, выраженный в последовательности состояний.
3. Группирующие
- Пакет - универсальный механизм организации элементов в группы. В пакет можно поместить структурные и поведенческие сущности, а также другие группирующие сущности. В отличие от компонента, существующего во время работы, пакет носит чисто концептуальный характер для этапа разработки. Это блоки, на которые можно разложить модель.
4. Аннотационные
- Комментарии - пояснительные части моделей.
10. Язык UML. Типы отношений.
Отношения:
- Зависимость - семантическое отношение между двумя сущностями.
- Ассоциация - структурное отношение.
- Обобщение - отношение наследования, соотношение с более общим вариантом.
- Реализация - отношение реализации, например, интерфейса или прецедентов и их коопераций.
11. Язык UML. Диаграмма прецедентов (использования). Вид диаграммы. Назначение диаграммы.
Диаграмма прецедентов отражает функциональное назначение системы. Является концептуальной моделью системы. Она же диаграмма использования. Формализация требований заказчика к системе.
Применение:
- моделирование контекста системы;
- охватывает внешнее окружение системы, с которой она взаимодействует;
- вводит стереотипы их поведения, связи с системой;
- моделирует требования к системе;
- устанавливает внешние связи;
- определяет поведение системы;
- определяет функциональные требования к системе.
Актёры – действующие лица, любая внешняя по отношению к системе сущность, которая взаимодействует с системой.
Прецеденты – варианты использования.
На диаграмме могут быть показаны интерфейсы. Подробно они никогда не расписываются, реализация не показывается, потому что диаграмма нужна только для понимания функционирования системы в целом.
Взаимодействия между
- ассоциация;
- расширение;
- обобщение;
включение.
12. Язык UML. Диаграмма классов. Вид диаграммы. Назначение диаграммы.
Диаграммы классов – статическая структура модели системы в терминологии классов. Включает классы, интерфейсы, объекты и кооперации, а также их отношения. Не указываются временные аспекты функционирования системы.
Применение:
- моделирования словаря системы – предполагает принятие решения о том, какие абстракции являются частью системы, а какие - нет
- моделирования простых коопераций – сообществ классов, интерфейсов и других элементов, работающих совместно для обеспечения некоторого кооперативного поведения, более значимого, чем сумма составляющих его элементов
- визуализировать и специфицировать классы и отношения между ними
- моделирование логической схемы базы данных
Структура класса:
- имя класса (уникальное);
- атрибуты;
- операции (методы);
- интерфейсы.
Отношения:
- ассоциация;
- агрегация;
- обобщение.
13. Язык UML. Диаграмма объектов. Вид диаграммы. Назначение диаграммы.
Диаграммы объектов (Object diagram) – представляет объекты и отношения между ними. Является «фотографией» сущностей, показанных на диаграмме классов.
На диаграмме объектов отображаются экземпляры классов (объекты) системы с указанием текущих значений их атрибутов и связей между объектами. Диаграммы объектов удобны для показа примеров связанных друг с другом объектов. Во многих ситуациях точную структуру можно определить с помощью диаграммы классов, но при этом структура остается трудной для понимания. В таких случаях пара примеров диаграммы объектов может прояснить ситуацию.
14. Язык UML. Диаграммы взаимодействий. Диаграмма последовательностей. Вид диаграммы. Назначение диаграммы.
Диаграммы взаимодействия – отражают динамическое поведение системы. Реализуются в двух изоморфных диаграммах: последовательностей и кооперации
Диаграмма последовательностей – диаграмма взаимодействий, акцентирующая внимание на временной упорядоченности сообщений. При этом внимание акцентируется на передаче сообщений во времени, что бывает особенно полезно для визуализации динамического поведения в контексте прецедентов. Простые итерации и ветвления на диаграммах последовательностей отображать удобнее, чем на диаграммах кооперации.
- Отображаются только те объекты, которые участвуют во временном взаимодействии
- Каждый объект имеет линию жизни
- На линии жизни отражается фокус управления, когда данный объект является активным
- Объекты обмениваются между собой сообщениями
- Объекты должны быть соотнесены классам
15. Язык UML. Диаграммы взаимодействий. Диаграмма коопераций. Вид диаграммы. Назначение диаграммы.
Диаграммы взаимодействия – отражают динамическое поведение системы. Реализуются в двух изоморфных диаграммах: последовательностей и кооперации
Диаграмма кооперации – диаграмма взаимодействий, основное внимание в которой уделяется структурной организации объектов, принимающих и отправляющих сообщения. Основное внимание при этом уделяется моделированию структурных отношений между взаимодействующими экземплярами, вдоль которых передаются сообщения. Для визуализации сложных итераций, ветвлений и параллельных потоков управления диаграммы кооперации подходят лучше, чем диаграммы последовательностей.
- Моделируется структурная организация взаимодействующих объектов
- Основное – потоки сообщений между объектами
- Последовательность сообщений задается номером сообщения
- Сообщения передаются по связям между объектами
16. Язык UML. Диаграмма состояний. Вид диаграммы. Назначение диаграммы.
Диаграмма состояний – моделирует динамическое поведение сущностей в виде автоматных схем. Описывают возможные последовательности состояний и переходов.
Диаграмма состояний показывает автомат, фокусируя внимание на потоке управления от состояния к состоянию.
- Автомат – описание последовательности состояний, через которые проходит объект на протяжении своего жизненного цикла, реагируя на события, в том числе описание реакций на эти события.
- Состояние - это ситуация в жизни объекта, протяжении которой он удовлетворяет некоторому условию, осуществляет определенную деятельность или ожидает какого-то события. Состояние может содержать список внутренних действий: <метка> / <выражение действия> Начальное (конечное) состояние не содержит внутренних действий. В этом состоянии находится объект в начальный (конечный) момент времени.
- Событие - это спецификация существенного факта, который происходит во времени и пространстве. В контексте автоматов событие - это стимул, вызывающий срабатывание перехода.
- Переход - это отношение между двумя состояниями показывающее, что объект, находящийся в первом состоянии, должен выполнять некоторые действия и перейти во второе состояние как только произойдет определенное событие и будут выполнены заданные условия.
- Деятельность - это продолжающееся неатомарное вычисление внутри автомата.
- Действие - это атомарное вычисление, которое приводит к смене состояния или возврату значения
17. Язык UML. Диаграмма деятельности. Вид диаграммы. Назначение диаграммы.
Диаграмма деятельности – динамическая модель системы. Описывает процесс выполнения операций (описание алгоритма).
- Моделирует динамическое поведение системы
- Показывает поток переходов от одной деятельности к другой
- Используется для любых видов абстракций
Диаграмма деятельности — диаграмма, на которой показано разложение некоторой деятельности на её составные части. Под деятельностью понимается спецификация исполняемого поведения в виде координированного последовательного и параллельного выполнения подчинённых элементов — вложенных видов деятельности и отдельных действий, соединённых между собой потоками, которые идут от выходов одного узла к входам другого.
Диаграммы деятельности используются при моделировании бизнес-процессов, технологических процессов, последовательных и параллельных вычислений.
18. Язык UML. Диаграмма компонентов. Вид диаграммы. Назначение диаграммы.
Диаграмма компонентов – описание организации компонентов и зависимостей между ними. Статическое описание системы. Представляет физическое представление системы.
Компонент – это физическая заменяемая часть системы, совместимая с одним набором интерфейсов. Компонент изображается в виде прямоугольника с вкладками.
- классы представляют собой логические абстракции, а компоненты - физические сущности. Таким образом, компоненты могут размещаться в узлах, a классы нет
- компоненты представляют собой физическую упаковку логических сущностей и, следовательно, находятся на другом уровне абстракции
- классы могут обладать атрибутами и операциями. Компоненты обладают только операциями, доступными через их интерфейсы
Интерфейс – это набор операций, которые описывают услуги, доставляемые классом или компонентом.
Стандартные стереотипы компонентов:
- executable (исполнимый) – определяеткомпонент, который может использоваться в узле
- library (библиотека) – определяет статическую или динамическую проектную библиотеку
- table (таблица) – определяет компонент, представляющий таблицу базы данных
- file (файл) – определяет компонент, представляющий документ, который содержит исходный текст или данные
- document (документ) – определяет компонент, представляющий документ
19. Язык UML. Диаграмма развертывания. Вид диаграммы. Назначение диаграммы.
Диаграмма развертывания (Deployment diagram) – представляет конфигурацию обрабатывающих узлов системы и размещенных в них компонентов. Статическое описание системы.
Узел – это физический элемент, который существует во время выполнения и представляет вычислительный ресурс, обычно обладающий как минимум некоторым объемом памяти, а зачастую также и процессором.
В UML диаграммы развертывания
20. Язык UML. Понятие прямого и обратного проектирования.
Проектирование с
- прямое – из модели UML можно получить готовый код описания проекта: все классы и объявления переменных и методов;
- обратное – из кода можно получить диаграмму классов.