- •Методология структурного анализа и проектирования sadt (Structured Analysis & Design Technique)
- •Глава 11. Соглашения по построению диаграмм
- •Часть 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.6.1. Разветвление дуг
- •2.6.2. Слияние дуг
- •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.3.1. Подготовка
- •7.3.2. Проведение опроса
- •7.3.3. Завершение
- •7.4. Что нужно помнить при опросе
- •7.5. Резюме
- •Глава 8. Начало моделирования
- •8.1. Основные этапы
- •8.2. Выбор цели и точки зрения
- •8.3. Составление списка данных
- •8.4. Составление списка функций
- •8.5. Построение диаграммы ао
- •8.6. Обобщение диаграммы ао
- •8.7. Резюме
- •Глава 9. Продолжение моделирования
- •9.1. Декомпозиция ограниченного объекта
- •9.1.1. Выбор блока
- •9.1.2. Объект, определяемый блоком
- •9.1.3. Создание новой диаграммы
- •9.2. Выявление интерфейсных ошибок
- •9.3. Принципы и приемы расположения дуг
- •9.4. Резюме
- •Глава 10. Проверка диаграммы автором
- •10.1. Процесс авторской проверки
- •10.2. Выявление недостатков новой диаграммы
- •10.2.1. Вопросы о блоках
- •10.2.2. Вопросы о связи с родительской диаграммой
- •10.2.3. Вопросы о внутренних дугах
- •10.3. Создание альтернативных декомпозиций
- •10.3.1. Альтернативная декомпозиция и объединение функций
- •10.3.2. Альтернативное объединение и разъединение дуг
- •10.3.3. Тестирование
- •10.3.4. Схематичное изображение декомпозиции следующего уровня
- •10.4. Корректировка новой диаграммы
- •10.4.1. Переопределение доминирования
- •10.4.2. Содержательные названия блоков
- •10.4.3. Дуги, хорошо передающие информацию о себе
- •10.4.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. Организация папки
- •3.4. Размеры папки
- •13.5. Когда формировать папку
- •13.6. Резюме
- •Глава 14. Чтение диаграмм и моделей
- •14.1. Процедура чтения
- •14.2. Изучение деталей диаграммы
- •14.2.1. Прочитайте название и номер узла
- •14.2.2. Изучите каждый блок
- •14.2.3. Изучите внутренние дуги
- •14.2.4. Прочитайте авторские замечания
- •14.2.5. Прочитайте приложения к диаграмме
- •14.3. Изучение ближайшего контекста диаграммы
- •14.3.1. Чтение родительского блока и его дуг
- •14.5. Критическая оценка содержания диаграммы
- •14.5.1. Вопросы о синтаксисе
- •14.5.2. Вопросы о понимании диаграммы
- •14.5.3. Вопросы о согласии с автором
- •14.6. Резюме
- •Глава 15. Конструктивное комментирование
- •15.1. Запись о продолжительности работы
- •15.2. Проверка заполнения полей бланка диаграммы
- •15.3. Обозначения согласия и несогласия с автором
- •15.4. Замечания
- •15.5. Язык ссылок sadt
- •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. Разделение интерфейсов верхнего уровня
14.5.3. Вопросы о согласии с автором
Согласие с автором основывается на сравнении с: (1) вашим пониманием содержания диаграммы, (2) вашим пониманием того, что должна содержать диаграмма. Поэтому для решения вопроса о согласии с автором нужно провести оценку декомпозиции, цели и точки зрения диаграммы, адекватности описания, точности изображения, активизации блоков.
Чтобы оценить декомпозицию диаграммы, спросите себя:
Достаточна ли полная декомпозиция?
Не отсутствует ли какой-нибудь блок?
Нет ли блока, не относящегося к делу?
Нет ли в декомпозиции каких-либо неожиданностей?
Не сделал бы я совершенно другую декомпозицию?
Чтобы определить цель и точку зрения диаграммы, уточните:
На какие вопросы отвечает эта диаграмма?
Соответствует ли это цели модели?
С чьей точки зрения описана модель?
Совпадает ли это с точкой зрения модели?
Чтобы оценить непротиворечивость диаграммы, спросите себя:
Не является ли диаграмма слишком запутанной или слишком детальной, чтобы ответить на вопросы, связанные с целью модели?
Не отвечает ли диаграмма на вопросы, не относящиеся к цели модели?
Используются ли термины в одном и том же смысле?
Все ли факты соответствуют точке зрения модели?
Чтобы оценить адекватность описания, спросите:
Отражает ли модель реальность?
Соответствует ли порядок расположения блоков убыванию их доминантности?
Нет ли лишних или отсутствующих дуг между блоками?
Чтобы оценить точность представления, задайте вопросы:
Не вводят ли в заблуждение названия блоков и дуг?
Содержит ли ветви дуг только те данные, которые действительно нужны блоку?
Не перекрываются ли функции двух блоков?
Нет ли ненужных дуг, касающихся блока?
Для оценки правильности активизации блоков (т.е. какова возможная последовательность их функционирования в ходе реальной работы системы) спросите себя:
Работает ли "нормальный" путь потока данных?
Как ошибочные данные будут влиять на блок?
Объясняются ли чем-либо ошибочные пути?
Не должна ли функция выполнять больше, чем это определяется касающимися ее дугами?
И, наконец, один из самых полезных вопросов: "что нового я узнал, читая диаграмму?" Он ведет к последнему вопросу: "стоило ли читать диаграмму?". При положительном ответе, возможно, диаграмму стоит включить в модель.
14.6. Резюме
Умение читать диаграммы — один из основных навыков, необходимых участникам SADT-проекта. Первая цель процесса чтения состоит в том, чтобы разобраться в деталях диаграммы. Для этого вначале читают название и номер узла, блоки, внутренние дуги, авторские замечания и дополнительный материал. Вторая цель — понять непосредственный контекст диаграммы. Для этого изучают декомпозированный блок и его дуги, ICOM-коды, родительскую диаграмму и приложение к ней. Это помогает определить место диаграммы в модели. Последняя цель — критическая оценка представленного автором материала. Для этого читатель задает вопросы, связанные с использованием синтаксиса, названий блоков и дуг, стилем изложения и процессом активизации блоков. Все эти шаги предпринимаются читателем для выработки мнения об обоснованности и правильности диаграммы.
Дополнительная литература:
Freedman, D., and Weinberg, G.: "Walkthroughs, Inspections, and Technical Reviews", Little Brown, Boston, 1982.
MacKay, D.: Information, Mecanism and Meaning, MIT Press, Cambridge, Mass., 1969.
Macnamara, J.: Names of Things, MIT Press, Cambridge, Mass., 1982.
O’Rourke, J.: "Writing for the Reader", DEC, 1976.
SofTech, Inc.: "IDEFO Forms and Procedures Guide", SofTech Deliverable no. 7500-11, September 1979.