- •Введение
- •1. Общие вопросы проектирования встроенных систем реального времени
- •1.1. Подходы к преодолению сложности проекта
- •1.2. Подходы к анализу проблем проектирования
- •1.3. Анализ требований к системе
- •1.4. Проектирование архитектуры системы
- •1.5. Оценка результатов проектирования архитектуры
- •1.6. Особенности детального проектирования и реализации
- •1.7. Выводы по разделу 1
- •2. Задания на выполнение курсового проекта
- •3. Основные этапы проектирования
- •3.1. Анализ требований к системе
- •3.1.1. Контекстные диаграммы
- •3.1.2. Спецификация сообщений и событий
- •3.1.3. Выявление вариантов использования системы
- •3.1.4. Построение сценариев
- •3.1.5. Описание сценариев последовательными диаграммами
- •3.1.6. Описание сценариев диаграммами сотрудничества
- •3.1.7. Выводы
- •3.2. Определение структуры системы
- •3.2.1. Основные стратегии определения объектов
- •3.2.2. Определение объектов системы
- •3.2.3. Определение отношений между объектами системы
- •3.2.4. Определение атрибутов объектов
- •3.2.5. Определение классов
- •3.2.6. Выводы
- •3.3. Определение поведения системы
- •3.3.1. Построение диаграммы состояний системы
- •3.3.2. Построение диаграмм активности
- •3.3.3. Определение операций классов
- •3.3.4. Выводы
- •3.4. Проектирование системы
- •3.4.1. Проблемы архитектурного проектирования
- •3.4.2. Выбор архитектурного образца
- •3.4.3. Выявление параллельных задач в системе
- •3.4.4. Этап технического проектирования
- •3.4.5. Детальное проектирование
- •3.4.6. Реализация системы
- •3.4.7. Выводы
- •3.5. Выводы по разделу 3
- •Раздел 3 описывает основные этапы объектно-ориентированного подхода к проектирования информационной системы.
- •4. Требования к пояснительной записке
- •Список литературы
3.1.3. Выявление вариантов использования системы
Поскольку отдельное внешние событие практически всегда порождает целый поток обмена сообщениями между объектами системы и ее окружения, то после формирования списка внешних событий необходимо более детально рассмотреть отклик системы на каждое событие. Этой цели служат варианты использования системы.
Диаграммы вариантов использования представляют собой одно из средств описания реакции системы на определенные внешние события и являются детализацией контекстных диаграмм, рассмотренных выше.
Для выявления вариантов использования следует пытаться отвечать на вопросы типа:
Каковы цели создания системы?
Каковы наиболее важные функции системы?
Каковы дополнительные функции системы?
Как функционировала аналогичная система предыдущего поколения?
Анализ ответов на подобные вопросы позволяет определить:
Роли внешних объектов и системы при выполнении системой определенной функции.
Последовательности появления событий и сообщений при выполнении системой определенной функции.
На рис. 3.2 представлена диаграмма вариантов использования системы лифта.
Система
лифта
Пассажир
Обслуживающий
персонал
Потенциальный
пассажир
Рис. 3.2. Диаграмма вариантов использования системы лифта
Представленная диаграмма перечисляет варианты использования системы и показывает объекты, участвующие в каждом из вариантов.
3.1.4. Построение сценариев
Дальнейшей детализацией вариантов использования являются сценарии. Любой отдельный вариант использования порождает множество сценариев. Например, вариант «Вызов лифта» может породить следующие сценарии:
Лифт уже на этаже;
Лифт двигается к этажу, с которого сделан вызов;
Лифт имеет запрос, который должен быть обработан.
В начальном этапе анализа в качестве объектов, участвующих в сценариях, выступают система и внешние объекты, определенные в контексте и вариантах использования. При последующем анализе система разбивается на объекты, и процесс построения сценариев может быть продолжен.
Сценарии обеспечивают инструмент для уточнения требований к системе с учетом разнообразия возможный ситуаций, в которых может оказаться система в процессе своего функционирования.
Построение и анализ сценариев – это сложная творческая деятельность.
В табл. 3.2 показан пример одного из возможных сценариев вызова лифта.
Табл. 3.2. Пример сценария вызова лифта
Шаг |
Событие |
Действие |
|
[Лифт свободен на 1-м этаже] |
|
1 |
Запрос лифта на подъем на этаж 6 |
Лифт начинает подъем на этаж 6 |
2 |
[Лифт проходит этаж 2] |
|
3 |
Запрос лифта на этаже 2 на спуск |
Лифт запоминает запрос |
4 |
Лифт прибыл на этаж 6 |
|
5 |
Пассажир 1 входит и выбирает этаж 8 |
Лифт закрывает дверь и начинает движение на этаж 8 |
6 |
Лифт прибывает на этаж 8 и открывает дверь |
|
7 |
Пассажир 1 выходит |
|
8 |
Время таймера закрытия двери истекает |
Лифт закрывает дверь и начинает движение на этаж 2 |
9 |
Лифт прибывает на этаж 2 и открывает дверь |
|
10 |
Пассажир 2 входит и запрашивает этаж 1 |
Лифт закрывает дверь и начинает движение на этаж 1 |
11 |
Лифт прибывает на этаж 1 и открывает дверь |
Пассажир 2 выходит |
12 |
Лифт закрывает дверь и остается свободным |
|
Две описания сценариев используют два варианта диаграмм – последовательные диаграммы и диаграммы сотрудничества.