- •Введение
- •1. Задания на выполнение проекта
- •2. Общие вопросы проектирования встроенных систем реального времени
- •2.1. Подходы к преодолению сложности проекта
- •2.2. Подходы к анализу проблем проектирования
- •2.3. Анализ требований к системе
- •2.4. Проектирование архитектуры системы
- •2.5. Оценка результатов проектирования архитектуры
- •Функциональная согласованность подсистем
- •Тестируемость подсистем
- •Надежность подсистем
- •Физические характеристики
- •2.6. Особенности детального проектирования и реализации
- •2.7. Выводы по разделу 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 описывает основные этапы объектно-ориентированного подхода к проектирования информационной системы.
Надежность подсистем
Следующий список вопросов позволяет оценить потенциальную надежность подсистем проектируемой системы:
Как влияет наиболее тяжелый отказ подсистемы на систему в целом? Как обнаруживается такой отказ? Как этот отказ влияет на критерий минимальной производительности?
Сколько времени требуется другим подсистемам, чтобы обнаружить отказ подсистемы?
Сколько времени требуется для рестарта подсистемы после отказа? Какова трудоемкость восстановления отказавшей подсистемы?
Насколько устойчив интерфейс по отношению к возможным изменениям требований?
Какова вероятность и степень изменений в оставшейся части системы?
Физические характеристики
Существует вероятность появления ошибок вследствие неудачной механической конструкции системы. Следующий список вопросов позволяет оценить удачность конструкции:
Специфицированы ли механические интерфейсы заменяемых модулей, и совпадают ли эти механические границы заменяемых модулей с границами диагностики ошибок?
Монтируются ли модули-дублеры на расстоянии друг от друга, чтобы уменьшить в случае аварии вероятность повреждения обоих модулей одновременно?
Используются ли различные источники питания модулей-дублеров, чтобы снизить возможность сбоев, обусловленных источниками питания?
Существует ли возможность сбоев в работе подсистем за счет электромагнитных помех, создаваемых кабелями и контактами?
Каковы внешние условия функционирования подсистем (температура, вибрация, влажность)? Согласованы ли эти условия со спецификацией на компоненты?
2.6. Особенности детального проектирования и реализации
Поскольку на этапе проектирования архитектуры были зафиксированы интерфейсы между подсистемами, то теперь можно направить усилия на слабосвязанные параллельные действия по проектированию, реализации и тестированию отдельных подсистем.
К числу наиболее важных элементов детального проектирования следует отнести следующие элементы:
Определение интерфейсов ввода/вывода между подсистемой и объектом управления
Разработка отдельных задач
На этом этапе проектируются задачи, которые будут выполняться в подсистеме, и программа, которая будет реализовывать эти задачи. Если имеется возможность, следует использовать простые задачи, не требующие синхронизации с другими задачами. Обобщенная структура любой задачи содержит ввод, обработку и вывод информации.
Планирование задач
На этом этапа разрабатывается структура временного управления подсистемой. Структура временного управления определяет, в какие моменты времени должны быть выполнены определенные задачи, и, в какие моменты времени должны быть посланы сообщения другим подсистемам.
2.7. Выводы по разделу 2
Приведенные в данном разделе особенности проектирования программного обеспечения не могут быть учтены с помощью формальных рекомендаций по проектированию. Но они могут неявно присутствовать в процессе проектирования за счет опыта и квалификации проектировщика.