- •Введение
- •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.3. Анализ требований к системе
Проектирование архитектуры начинается с анализа требований. На этой фазе проектировщик должен:
Получить глубокое понимание прикладной области, в которой будет функционировать разрабатываемая система. Это понимание трансформируется в ряд ограничений – экономических, функциональных, временных, надежности. Понимание приходит от знаний, опыта, анализа существующих решений и от результатов создания прототипа.
Выбрать архитектуру компьютерной системы, которая удовлетворяет сформированным ранее ограничениям. Хотя ранний выбор архитектуры и ограничивает пространство возможных решений, такой подход следует признать реалистичным, особенно для СРВ, в которых временное поведение сильно зависит от реализации, но должно быть предметом анализа на самых ранних стадиях проектирования.
Разработать ряд внутренних протоколов проекта. Эти протоколы должны охватывать следующие стороны проекта:
Представление информации: на архитектурном уровне специфические представления данных должны быть скрыты за интерфейсами, обеспечивающими унифицированное представление информации. Примерами объектов протоколирования форм представления данных являются признаки классификации данных, единицы измерений, структуры данных.
Именование: должны быть сформулированы и запротоколированы правила формализованного присвоения имен всем элементам данных, используемым в проекте.
Интерфейсы сообщений: внутри проекта должны быть унифицированы структуры интерфейсов сообщений, и определены протоколы, которые управляют обменом информации через эти интерфейсы.
Средства разработки: средства разработки, которые будут использованы в проекте, должны быть выбраны и зафиксированы до начала реализации. Необходимость этого обусловлена отсутствием полной совместимости как между “стандартными” средствами, так и между различными версиями одного и того же средства.
Документация: хорошо структурированная, внятная, проектная документация, включающая поддержку версий, соответствие программному коду, словарь терминов проекта, является залогом успешной реализации проекта, особенно, когда он выполняется большой группой разработчиков.
Контроль изменений: контроль над изменениями и своевременное внесение изменений в документацию должны выполняться с начальных стадий проектирования.
Одним из способов анализа требований является способ, при котором от заданных целей управления двигаются к ключевым алгоритмам и далее к требуемым входам датчиков. При таком способе могут быть определены требования к алгоритмам преобразования данных и важнейшие сущности. Динамика сущностей определит временные требования к транзакциям, такие как, например, периоды взятия отсчетов и времена отклика.
Следующим этапом может быть анализ требований наблюдаемости с учетом возможных аварийных ситуаций и ошибок. Результатом этого анализа будут дополнительные датчики и способы получения данных, согласованных с моделями процессов.
После определения сущностей необходимо исследовать такие атрибуты сущностей, как области значений, максимальные скорости изменения и интервалы временной точности наблюдений. Список сущностей определяет первую версию базы данных реального времени.
Каждое требование должно быть увязано с соответствующим критерием приемлемости, который позволяет оценить, степень выполнения требования. Если такой критерий нельзя определить, то нельзя считать требование важным, т.к. нельзя решить, выполнено оно или нет. К числу таких критериев можно отнести следующие критерии:
Критерий минимальной производительности: устанавливает производительность, которая должна быть сохранена в наиболее тяжелом режиме работы системы с точки зрения нагрузки и ошибок.
Критерий ограниченной надежности: специфицирует минимальные требования к надежности, что облегчает проектировщику поиск приемлемого решения.
Критерий ограниченной цены: принуждает проектировщика к изучению экономики прикладной области, что чрезвычайно важно для поиска подходящего решения.