+7(495)926-7456
+7(495)926-7456
Электронные компоненты  Мануалы 

0 1 2 [ 3 ] 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104

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

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

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

Я хотел бы, кроме того, поблагодарить всех моих студентов, которые терпеливо «испытывали» на себе все многрчисленные усовершенствования читавшегося курса лекций.

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

Я никогда не сумел бы начать работу над этой книгой без настойчивых советов моего коллеги Арчи Боуэна.

Формированию излагаемых в книге концепций проектирования и реализации систем на протяжении многих лет способствовали обсуждения идей с моими коллегами и студентами, число которых столь велико, что всех их назвать невозможно, но особой признательности заслуживает в этой связи Деннис Мак-Киннон.

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

Р. Дж. Бар



Часть I

Концептуальные основы системного проектирования

в этой части книги дан постепенно детализируемый обзор языка Ада как средства проектирования систем. Подготовленный читатель (знакомый с языком Ада) может пропустить эту часть и перейти непосредственно к части II.

Глава 1

Введение в проблему

1.1. Обоснование предлагаемого подхода

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

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

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



в языке Ада и механизмов их взаимодействия представляют собой некие образы, позволяющие описывать систему как набор черных ящиков, закоммутированных кабелем, т. е. в виде аппаратных средств. Такое образное представление полезно и для удобства общения и для выбора интуитивных представлений.

Данная глава посвящена главным образом обоснованию предлагаемого подхода и уточнению его роли в проектировании систем. В разд. 1.2 процесс проектирования рассматривается с позиций концепций жизненного цикла системы. Современные проблемы и перспективные направления развития методов проектирования и реализации систем, порожденные успехами тех-10логии («технологическим взрывом») и кризисом программного Йбеспечения, исследуются в разд. 1.3, а в разд. 1.4 резюмируются основные особенности предлагаемого подхода. Нетерпеливый читатель может без потери связности изложения пропустить разделы 1.2 и 1.3.

1.2. Проектирование системы и ее жизненный цикл

в данной книге рассматриваются две стороны проектирования, связанные с получением ответа на вопрос как, а именно:

1) непосредственно процесс проектирования, т. е. методология создания проекта системы,

2) технические аспекты системного проектирования, иначе говоря, факторы, влияющие на структуру создаваемой системы.

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

1. АНАЛИЗ

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

2. ОПИСАНИЕ

Эта фаза связана с выработкой внешних технических требований к системе.

3. ПРОЕКТИРОВАНИЕ

Фаза, в которой разрабатывается проект всей системы в целом, включающий

- интерфейс пользователя,

- описание функций системы,

- архитектурные принципы построения системы,

- план испытаний, основанный на сформулированных технических требованиях к системе и общем ее проекте.



0 1 2 [ 3 ] 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104