- •Вопросы к экзамену.
- •Современная аис.
- •Группа проекта пс.
- •Жизненный цикл программных систем.
- •Case-средства.
- •Функциональная модель. Конкретизация требований к проектируемой системе с использованием функциональной модели.
- •Конкретизация требований к системе с использованием илм
- •Конкретизация требований к проектируемой системе с использованием вариантов использования.
- •Унифицированный язык моделирования uml.
- •Диаграмма вариантов использования uml.
- •Диаграмма классов uml.
- •Паттерны проектирования GoF.
- •Диаграмма взаимодействия uml.
- •Архитектура программной системы.
- •Диаграмма деятельности uml
- •Диаграмма состояний uml.
- •Модульное тестирование. Разработка посредством тестирования.
- •Ответ: tdd (Test Driven Development)
- •Диаграмма компонентов и диаграмма развёртывания uml.
- •Непрерывная интеграция и основные этапы интеграции.
Диаграмма взаимодействия uml.
Ответ: Диаграммы взаимодействия (interaction diagrams) представляют собой модели, предназначенные для описания поведения взаимодействующих групп объектов.
Как правило, диаграмма взаимодействия описывает поведение только одного варианта использования. На такой диаграмме отображаются только экземпляры объектов и сообщения, которыми они обмениваются между собой в рамках данного варианта использования.
Частными случаями диаграмм взаимодействия являются диаграммы последовательностей (Sequence diagram) и кооперации (Collaboration diagram).
Диаграммой последовательностей называется диаграмма взаимодействий, акцентирующая внимание на временной упорядоченности сообщений.
Рис.1 Диаграмма последовательности
Графически такая диаграмма представляет собой таблицу, объекты в которой располагаются вдоль оси X, а сообщения в порядке возрастания времени - вдоль оси Y.
Диаграммой кооперации (Collaboration diagram) называется диаграмма взаимодействий, основное внимание в которой уделяется структурной организации объектов, принимающих и отправляющих сообщения.
Графически такая диаграмма представляет собой граф из вершин и ребер.
Рис. 2 Диаграмма кооперации.
Диаграммы взаимодействия относятся к динамическому виду системы. При этом диаграммы последовательности отражают временную упорядоченность сообщений, а диаграммы кооперации - структурную организацию обменивающихся сообщениями объектов. Эти диаграммы являются изоморфными, то есть могут быть преобразованы друг в друга.
Архитектура программной системы.
Ответ: Выделяют как минимум три архитектурных слоя, каждый из которых, как правило, реализуется в виде отдельных библиотек (сборок на примере .NET Framework):
- слой представления;
- слой модели;
- слой интерфейса данных.
Рисунок 1 – Архитектурные слои программной системы верхнего уровня АСУТП
Слой представления выступает в роли интерфейса пользователя. Слой предоставляет услуги по отображению данных, обработке событий пользовательского графического интерфейса (GUI), поддержки функций командной строки и инициализации пакетного выполнения вычислений по созданным алгоритмам модели.
Слой модели (или слой организации бизнес-логики) – это логика работы системы. Здесь реализуются основные алгоритмы системы, предназначенные для достижения поставленной цели. К таким алгоритмам относятся вычисления на основе вводимых и хранимых данных, проверка всех элементов данных и обработка команд, поступающих от слоя представления, передача информации слою источника данных и т.д.
Слой интерфейс данных обеспечивает доступ к СУБД и работу с ней (чтение, создание, обновление и удаление данных), обмен сообщениями, управление транзакциями, взаимодействие со сторонними системами, которые выполняют задания в интересах ПС. Слой может быть реализован двумя способами. Первый способ, когда основная часть логики интерфейса данных сосредоточена в СУБД, в виде хранимых процедур, таким образом, хранимые процедуры инкапсулируют физическую структуру базы данных (“тонкий” клиент – “толстый” сервер). Второй способ, когда вся логика интерфейса данных программируется в сборке.
Многослоевая архитектура, прежде всего, обеспечивает гибкость и структуризацию программной системы. Слой более высокого уровня пользуется службами, предоставляемыми нижележащим слоем. Промежуточный слой (слой модели) скрывает нижний слой от верхнего слоя. Каждый слой предоставляет определенный интерфейс взаимодействия другим слоям и инкапсулирует свою структуру, т.е. воспринимается как единое самодостаточное целое.