Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Проект-СРВ-3ИС-2012.doc
Скачиваний:
2
Добавлен:
30.08.2019
Размер:
344.06 Кб
Скачать

2. Общие вопросы проектирования встроенных систем реального времени

2.1. Подходы к преодолению сложности проекта

Проектирование – это творческая человеческая деятельность, которая не может быть сведена до некоторого ряда правил из книг – руководств по проектированию. Проектирование – это искусство, дополненное научными принципами. Поэтому тщетно пытаться установить полный набор правил проектирования, можно сформулировать лишь только общие подходы к проектированию и дать некоторые рекомендации по их использованию.

Существует общность проектной деятельности в различных областях техники. Проектировщик должен найти решение, которое удовлетворяет различным, часто конфликтным, целям. Экономическим критерием оценки полученного решения является его стоимость.

Стоимость системы прямо вытекает из сложности ее проектирования, реализации и тестирования. Постоянное снижение отношения цена/производительность аппаратного обеспечения приводит к тому, что стоимость программного обеспечения по большей части определяет стоимость всей системы. Поэтому главное усилие при проектировании программного обеспечения должно быть направлено на управление сложностью путем структурирования.

Сложность системы растет с ростом числа элементов и интенсивности их взаимодействия. Преодоление растущей сложности путем структурирования состоит в выделении таких подсистем, которые имеют высокую внутреннюю связность элементов, и в то же самое время слабо взаимодействуют между собой через простые и стабильные интерфейсы.

Два способа структурирования системы можно использовать, чтобы снизить ее сложность: горизонтальное и вертикальное структурирование.

  1. Горизонтальное структурирование: горизонтальное структурирование это процесс представления системы в виде иерархически упорядоченных слоев. Структурное программирование представляет собой пример горизонтального структурирования.

  1. Вертикальное структурирование: вертикальное структурирование представляет собой процесс разбиения системы на ряд почти независимых подсистем с хорошо специфицированными интерфейсами между ними. Узлы распределенной СРВ являются примерами такого разбиения.

При проектировании большого приложения могут быть использованы преимущества обоих видов структурирования. Сначала оно может быть разбито на подсистемы высокой внутренней связности и низкой внешней связности. На втором шаге каждая подсистема может быть структурирована путем разбиения на слои.

Вертикальное структурирование приведет к построению распределенной системы, в которой подсистемы будут отображаться в кластеры и узлы.

Главное преимущество вертикального структурирования по сравнению с горизонтальным структурированием состоит в том, что сформированные кластеры и узлы могут рассматриваться как области ограничения распространения ошибок, что способствует построению надежной системы. В системе разбитой на слои такие области определить гораздо труднее.

2.2. Подходы к анализу проблем проектирования

Существует два противоположных подхода к выполнению начальных фаз жизненного цикла большой системы:

  1. Последовательный подход, когда каждая фаза жизненного цикла полностью завершается и проверяется перед тем, как начинается следующая фаза;

  1. Подход с построением прототипа, когда реализация ключевых решений начинается еще до того, как будет завершен анализ требований (быстрое макетирование)

Рациональным в последовательном подходе является то, что детальная спецификация всей проблемы должна быть в наличии перед тем, как принимается определенное решение. Однако в реальной ситуации понимание сложной проблемы никогда не может быть завершено полностью.

Рациональным в подходе с построением прототипа является то, что при макетировании на ранней стадии многое узнается о проблемной области. Однако, как правило, макет, созданный для конкретного случая, не отражает всех аспектов проблемы.

Поскольку оба подхода имеют положительные стороны, целесообразно использовать компромиссный вариант: небольшая группа проектировщиков пытается понять проблему в целом, а неясности относящиеся к отдельным ее сторонам, преодолеваются путем создания прототипа.