SADT - МЕТОДОЛОГИЯ СТРУКТУРНОГО АНАЛИЗА И ПРОЕКТИРОВАНИЯ

На сайте http://or-rsv.narod.ru/SADT/SADT.htm размещена электронная копия известной книги Марка и Макгоуэна "МЕТОДОЛОГИЯ СТРУКТУРНОГО АНАЛИЗА И ПРОЕКТИРОВАНИЯ", посвященная методологии SADT. Следует отметить, что SADT в нотации авторов книги практически не отличается от нотации IDEF0. Ниже приведен сокращенный отрывок из этой книги и ее оглавление. (Все выделения шрифтом и подчеркивания сделаны мною. АИ).

Предпосылки создания SADT

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

Эта последовательность всегда выполнялась итерационно, в частности потому что система полностью никогда не удовлетворяла требованиям пользователей, поскольку их требования часто менялись. И, тем не менее, с этой моделью создания системы, ориентированной на управление, постоянно возникали сложности. Эксплуатационные расходы, возникавшие после сдачи системы, стали существенно превышать расходы на ее создание и продолжали расти с огромной скоростью из-за низкого качества исходно созданной системы. Некоторые считали, что рост эксплуатационных расходов обусловлен характером ошибок, допущенных в процессе создания системы. Исследования показали, что большой процент ошибок в системе возник в процессе анализа и проектирования, гораздо меньше их было допущено при реализации и тестировании, а цена (временная и денежная) обнаружения и исправления ошибок становилась выше на более поздних стадиях проекта. Например, исправление ошибки на стадии проектирования стоит в 2 раза, на стадии тестирования - в 10 раз, а на стадии эксплуатации системы - в 100 раз дороже, чем на стадии анализа…

Традиционные подходы к созданию систем приводили к возникновению многих проблем. Не было единого подхода. Привлечение пользователя к процессу разработки не контролировалось. Проверка на согласованность проводилась нерегулярно или вообще отсутствовала. Результаты одного этапа не согласовывались с результатами других. Процесс с трудом поддавался оценкам, как качественным, так и количественным. Утверждалось, что когда создатели систем пользуются методологиями типа структурного программирования и проектирования “сверху вниз”, они решают либо не поставленные задачи, либо плохо поставленные, либо хорошо поставленные, но неправильно понятые задачи. Кроме того, ошибки в создании систем становились все менее доступны выявлению с помощью аппаратных средств или программного обеспечения, а наиболее катастрофические ошибки допускались на ранних этапах создания системы. Часто эти ошибки были следствием неполноты функциональных спецификаций или несогласованности между спецификациями и результатами проектирования. Проектировщики знали, что сложность систем возрастает и что определены они часто весьма слабо. Рост объема и сложности систем является жизненной реалией. Эту предпосылку нужно было принять как неизбежную. Но ошибочное определение системы не является неизбежным: оно - результат неадекватности методов создания систем. Вскоре был выдвинут тезис: совершенствование методов анализа есть ключ к созданию систем, эффективных по стоимости, производительности и надежности. Для решения ключевых проблем традиционного создания систем широкого профиля требовались новые методы, специально предназначенные для использования на ранних стадиях процесса. Применение SADT проистекало из этого убеждения. Методы, подобные SADT, на начальных этапах создания системы позволяли гораздо лучше понять рассматриваемую проблему. А это сокращает затраты как на создание, так и на эксплуатацию системы, а кроме того, повышает ее надежность. SADT - это способ уменьшить количество дорогостоящих ошибок за счет структуризации на ранних этапах создания системы, улучшения контактов между пользователями и разработчиками и сглаживания перехода от анализа к проектированию.

Дуглас Т. Росс часть своих теорий относящихся к методологии и языку описания систем, назвал "Методология структурного анализа и проектирования" (SADT). Исходная работа над SADT началась в 1969 г. Первое ее крупное приложение было реализовано в 1973 г. при разработке большого аэрокосмического проекта, когда она была несколько пересмотрена сотрудниками SofTech, Inc. В 1974 г. SADT была еще улучшена и передана одной из крупнейших европейских телефонных компаний. Появление SADT на рынке произошло в 1975 г. после годичного оформления в виде продукта. К 1981 г. SADT уже использовали более чем в 50 компаниях при работе более чем над 200 проектами, включавшими более 2000 людей и охватывавшими дюжину проблемных областей, в том числе телефонные сети, аэрокосмическое производство, управление и контроль, учет материально-технических ресурсов и обработку данных. Ее широкое распространение в настоящее время в европейской, дальневосточной и американской аэрокосмической промышленности (под названием IDEFO) позволяет эти цифры существенно увеличить. Таким образом, SADT выделяется среди современных методологий описания систем благодаря своему широкому применению. Почему SADT имеет такое широкое применение? Во-первых, SADT является единственной методологией, легко отражающей такие системные характеристики, как управление, обратная связь и исполнители. Это объясняется тем, что SADT изначально возникла на базе проектирования систем более общего вида в отличие от других структурных методов, "выросших" из проектирования программного обеспечения. Во-вторых, SADT в дополнение к существовавшим в то время концепциям и стандартам для создания систем имела развитые процедуры поддержки коллективной работы и обладала преимуществом, связанным с ее применением на ранних стадиях создания системы. Кроме того, широкое использование SADT показало, что ее можно сочетать с другими структурными методами. Это достигается использованием графических SADT-описаний в качестве схем, связывающих воедино различные методы, примененные для описания определенных частей системы с различным уровнем детализации. Таким образом, неадекватные спецификации систем того времени вызвали создание графического языка SADT, а его усиленное использование преобразовало SADT в законченную методологию, способную повысить качество продуктов, создаваемых на ранних стадиях развития проекта. Итак, SADT началась как язык описания функционирования систем общего вида, а по мере применения ее процедуры описания систем были улучшены и дополнены."

 

 

Содержание

Предисловие

Введение

Предпосылки создания SADT

Часть I Принципы функционального моделирования

Глава 1. Системы и модели

1.1. SADT-модели

1.2. Модель отвечает на вопросы

1.3. Модель имеет единственный субъект

1.4. У модели может быть только одна точка зрения

1.5. Модели как взаимосвязанные наборы диаграмм

1.6. Резюме

Дополнительная литература

Глава 2. Синтаксис и применение диаграмм

2.1. Диаграммы содержат блоки и дуги

2.2. Блоки представляют функции

2.3. Блоки имеют доминирование

2.4. Дуги изображают объекты

2.5. Дуги изображают взаимосвязи между блоками

2.6. Дуги представляют наборы объектов

2.7. Идентификация версий диаграмм С-номерами

2.8. Резюме

Дополнительная литература

Глава 3. Синтаксис моделей и работа с ними

3.1. Система представляется одним блоком

3.2. Идентификация декомпозиции номерами узлов

3.3. Связывание декомпозиции с помощью С-номеров

3.4. Коды ICOM гарантируют стыковку диаграмм

3.5. Обозначения для менее распространенных интерфейсов по дугам

3.6. Резюме

Дополнительная литература

Глава 4. Процесс моделирования

4.1. Получение знаний в процессе опроса

4.2. Документирование полученных знаний

4.3. Корректность модели проверяется в процессе итеративного рецензирования

4.4. Координация процесса рецензирования

4.5. Модели используются после их одобрения

4.6. Резюме

Дополнительная литература

Глава 5. Более глубокие концепции диаграмм

5.1. Дуги имеют различное содержание

5.2. Дуги могут быть декомпозированы

5.3. Дуги могут быть "помещены в тоннель"

5.4. Различие между входными дугами и дугами управления

5.5. Дуги механизмов определяют способы реализации функций

5.6. Обратная связь по управлению и по потоку данных

5.7. Резюме

Дополнительная литература

Глава 6. Более глубокие концепции моделей

6.1. Модели SADT структурируют естественный язык

6.2. Точка зрения модели влияет на расстановку акцентов и терминологию

6.3. Декомпозиция в ходе моделирования

6.4. Некоторые стратегии декомпозиции

6.5. Выбор стратегии декомпозиции

6.6. Момент прекращения декомпозиции определяется точностью

6.7. Резюме

Дополнительная литература

Часть II Создание функциональных моделей и диаграмм

Глава 7. Сбор информации

7.1. Источники информации

7.2. Типы опроса

7.3. Процесс опроса

7.4. Что нужно помнить при опросе

7.5. Резюме

Дополнительная литература

Глава 8. Начало моделирования

8.1. Основные этапы

8.2. Выбор цели и точки зрения

8.3. Составление списка данных

8.4. Составление списка функций

8.5. Построение диаграммы АО

8.6. Обобщение диаграммы АО

8.7. Резюме

Дополнительная литература

Глава 9. Продолжение моделирования

9.1. Декомпозиция ограниченного объекта

9.2. Выявление интерфейсных ошибок

9.3. Принципы и приемы расположения дуг

9.4. Резюме

Дополнительная литература

Глава 10. Проверка диаграммы автором

10.1. Процесс авторской проверки

10.2. Выявление недостатков новой диаграммы

10.3. Создание альтернативных декомпозиций

10.4. Корректировка новой диаграммы

10.5. Исправление взаимосвязанных диаграмм

10.6. Резюме

Дополнительная литература:

Глава 11. Соглашения по построению диаграмм

11.1. Соглашения по размещению блоков

11.2. Соглашения по размещению дуг

11.3. Соглашения по размещению блоков и дуг

11.4. Резюме

Дополнительная литература

Часть III Рецензирование диаграмм и моделей

Глава 12. Цикл автор/читатель

12.1. Составление исходной документации

12.2. Комментирование работы

12.3. Ответы на комментарии

12.4. Совершенствование моделей

12.5. Цикл автор/читатель

12.6. Резюме

Дополнительная литература:

Глава 13. Подготовка папки

13.1. Обмен информацией с помощью папок

13.2. Титульный лист

13.3. Организация папки

13.4. Размеры папки

13.5. Когда формировать папку

13.6. Резюме

Дополнительная литература

Глава 14.Чтение диаграмм и моделей

14.1. Процедура чтения

14.2. Изучение деталей диаграммы

14.3. Изучение ближайшего контекста диаграммы

14.4. Уточнение места диаграммы в модели

14.5. Критическая оценка содержания диаграммы

14.6. Резюме

Дополнительная литература

Глава 15. Конструктивное комментирование

15.1. Запись о продолжительности работы

15.2. Проверка заполнения полей бланка диаграммы

15.3. Обозначения согласия и несогласия с автором

15.4. Замечания

15.5. Язык ссылок 5ADT

15.6. Повторное чтение папки

15.7. Конструктивная критика

15.8. Резюме

Дополнительная литература

Глава 16. Ответы на комментарии и их обобщение

16.1. Чтение и ответы на замечания

16.2. Беседа автор/читатель

16.3. Обобщение читательских комментариев

16.4. Переделка диаграмм

16.5. Резюме

Дополнительная литература

Часть IV. Завершение моделирования. Руководство моделированием.

Глава 17. Завершение моделирования

17.1. Размер SADT-моделей

17.2. Прекращение декомпозиции

17.3. Достаточная детализированность

17.4. Изменение уровня абстракции

17.5. Изменение точки зрения

17.6. Сходные функции

17.7. Тривиальные функции

17.8. Принятие решения о завершении моделирования

17.9. Резюме

Дополнительная литература

Глава 18. Дополнения к диаграммам и моделям

18.1. Дополнения к диаграммам

18.2. Определение терминологии с помощью глоссария

18.3. Пояснение содержания с помощью текста

18.4. Пояснение с помощью рисунков

18.5. Дополнение моделей

18.6. Резюме

Дополнительная литература

Глава 19. Примечания на диаграммах и моделях

19.1. Информация о свойствах

19.2. Правила действия

19.3. Генерация правил действия

19.4. Резюме

Дополнительная литература

Глава 20. Управление проектом

20.1. Начало проекта

20.2. Создание и рецензирование результатов работы

20.3. Создание модели

20.4. Стратегии дополнения модели

20.5. Резюме

Дополнительная литература

Глава 21. Средства автоматизации

21.1. AUTOIDEFO

21.2. SPECIF_X

21.3. Design/IDEF

21.4. Сводный список для оценки автоматизированной поддержки SADT

21.5. Резюме

Часть V. Создание функциональной модели и спецификации. Уроки Глава 22. Начало моделирования

Урок 1. Очерчивание границ объекта

Урок 2. Определение цели и точки зрения модели

Урок 3. Построение диаграммы верхнего уровня

Урок 4. Обобщение диаграммы верхнего уровня

Урок 5. Критическая оценка обобщающей диаграммы

Урок 6. Критическая оценка диаграммы верхнего уровня

Урок 7. Переделка обобщающей диаграммы и диаграммы верхнего уровня

Глава 23. Построение декомпозиции первого уровня

Урок 8. Групповое построение диаграмм

Урок 9. Критическая оценка декомпозиции первого уровня

Урок 10. Подготовка папки

Глава 24. Разделение интерфейсов верхнего уровня

Урок 11. Групповое комментирование

Урок 12. Реагирование группы

Урок 13. Переделка диаграммы верхнего уровня

Урок 14. Переделка декомпозиции первого уровня

Глава 25. Создание декомпозиции второго уровня

Урок 15. Индивидуальное построение диаграмм

Урок 16. Критическая оценка декомпозиции второго уровня

Урок 17. Индивидуальная подготовка папки

Глава 26. Решение проблем интерфейса первого уровня

Урок 18. Индивидуальное комментирование

Урок 19. Индивидуальное реагирование

Урок 20. Переделка декомпозиции первого уровня

Урок 21. Переделка декомпозиции второго уровня

Глава 27. Написание спецификации

Урок 22. Запись требований для обобщенной диаграммы и диаграммы верхнего уровня

Урок 23. Аннотирование декомпозиции первого уровня

Урок 24. Запись требований для декомпозиции второго уровня

Урок 25. Написание спецификации

Спецификации модели "Питание семьи"

А-0 Питание семьи (контекст)

АО Питание семьи (обзор)

А2. Поддержание запасов

А21. Использование кладовой

Hosted by uCoz