
- •Оглавление
- •Введение
- •Предпосылки создания 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-7
- •Глава 23. Уроки 8-10
- •Глава 24. Уроки 11-14
- •Глава 25. Уроки 15-17
- •Глава 26. Уроки 18-21
- •Глава 27. Уроки 22-25
- •Глава 22. Начало моделирования
- •Глава 23. Построение декомпозиции первого уровня
- •Глава 24. Разделение интерфейсов верхнего уровня
- •Глава 25. Создание декомпозиции второго уровня
- •Глава 26. Решение проблем интерфейса первого уровня
- •Глава 27. Написание спецификации
- •Спецификации модели "Питание семьи"
19.3. Генерация правил действия
Иногда аналитику трудно определить все способы действия функции в процессе работы системы. В этих случаях мы рекомендуем воспользоваться приемом построения таблиц истинности, первоначально разработанный в логическом исчислении высказываний и часто применяемый в общей теории систем.
Действие каждого блока описывается таблицей истинности, представляющей собой декартово произведение всех возможных сочетаний присутствия (отмечаемого с помощью "true" или Т) и обязательного отсутствия (отмечаемого с помощью "false" или F) входных дуг, дуг управления и выходных дуг. Каждый столбец такой таблицы становится тогда потенциальным правилом действия. (Иногда не имеет значения, принимает ли конкретная дуга участие в действии. В этих случаях представляется разумным использование буквы D. Однако запомните, что для полного отражения декартова произведения потребуется существенное увеличение размера таблиц.)
Обычно не все, что входит в таблицу, становится правилом действия, но каждое действие в таблице определено. Например, в табл. 19-1 представлено декартово произведение с отсутствующими или присутствующими дугами для блока подготовить рабочее место.Для экспериментального механического цеха реален только случай 1, когда все входные дуги и дуги управления участвуют в действии. Попробуйте применять этот
Условия |
Варианты действий |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 | |
Выбранные инструментыСтанки в цехеЧертежи и указанияОборудованное рабочее место |
T F T F T F T F T F T F T F T FT T F F T T F F T T F F T T F FT T T T F F F F T T T T F F F FT T T T T T T T T F F F F F F F |
Таблица 19-1. Все возможные действия блока "Подготовить рабочее место"
прием, когда вы точно не знаете, как выполняется конкретная функция моделируемой вами системы.
19.4. Резюме
Метки свойств в SADT описывают конкретные аспекты системы. Они помещаются на диаграмме в виде примечаний, часто как подготовительный этап к созданию спецификации модели. Правила действия в SADT кодируют набор возможных действий блоков модели. Иногда для какого-либо блока эти правила трудно определить. В этом случае для создания полного набора возможных действий мы советуем использовать методы, применяемые в логическом исчислении.
Дополнительная литература
Dickover, M., and С. McGowan: "Software Design Using SADT", SofTech Technical paper TP061, August 1977.
Mendelson, E.: Introduction to Mathematical Logic, VAn Nostrand Reinhold, New York, 1964.
Martin, J., and C. McClure: Diagramming Techniques for Analysts and Programmers, Prentice-Hall, Englewood Cliffs, N.J., 1985.
Parnas, D.: "On the Criteria to be Used in Decomposing Systems into Modules", CACM, December 1972.
Ross, D.: "An Essay on Activity Diagramming", SofTech Technical Report no. 7104, November 1976.
Ross D.: "Structured Analysis (SA): A Language for Communicating Ideas", IEEE Transactions on Software Engineering, vol. 3, no. 1, January 1977.
Schoman, K.: "SADT and PERT", SofTech Deliverable no. CLIN#0-02AG, November 1977.
SofTech, Inc.: "The DWS/CS Emergency Preset Structured Specification", Technical Paper no. 1083-1, August 1981.
Savith, W.: Abstract Machines and Grammars, Litt;e, Brown, Boston, 1982.
Weinberg, G.: An Introduction to General Systems Theory, John Wiley, New York, 1975.
Weinberg, G.: Rethinking Systems Analysis and Design, Little Brown, Boston, 1982