Системный анализ без обратной
связи невозможен, потому что для построения
системы по заказу пользователей имеет смысл
применять только одобренные ими модели.
Например, разработка информационной системы
управления по спецификациям, которых не видели
конечные пользователи, непременно приведет к
созданию неиспользуемой системы. Данные будут
неверны или их будет не хватать, формат отчетов
не будет удовлетворять информационные
потребности. Для того чтобы в процессе
системного анализа создать полезное описание
системы, необходимо своевременно получать
точную информацию от тех людей, которые в конце
концов будут пользоваться этой системой.
Сбор точной и своевременной
информации начинается в момент определения
требований - первого шага
цикла по созданию системы. Как и при любом
процессе моделирования, потребуется несколько
итераций, прежде чем исходные идеи приведут к
концепции, удовлетворяющей пользователей. Вот
почему в SADT предусмотрен
хорошо определенный процесс итеративного
рецензирования моделей, создаваемых в ходе
проекта. Как уже упоминалось, процесс
итеративного рецензирования называется "цикл
автор/читатель".
Цикл автор/читатель создан для
облегчения асинхронного и альтернативного
рецензирования работы нескольких SADT-аналитиков.
Он рассчитан на максимизацию обратных связей
одного или более аналитика с конечными
пользователями за кратчайшее время и с минимумом
усилий. Цикл автор/читатель предполагает
индивидуальную работу, поскольку она позволяет
выполнять построение моделей и рецензирование
их в удобном режиме. Это имеет принципиальное
значение для получения обратной связи от
пользователей, которые заняты своей основной
деятельностью, и для координации работы
нескольких SADT-авторов по созданию одной или
нескольких взаимосвязанных
моделей. Вот почему в SADT применяется письменное
рецензирование, позволяющее лучше
координировать работу и документировать идеи,
возникающие у участников аналитического
проекта.
В цикле автор/читатель
принимают участие специалисты с разными
обязанностями: авторы создают модели, читатели
читают и комментируют работу авторов, Комитет
технического контроля утверждает результаты, а
библиотекарь организует хранение и
распространение материалов. Эти функции и их
взаимодействие отражены на рис. 12-1. Ниже в этой
главе приведено подробное описание этапов цикла
автор/читатель.
12.1. Составление исходной
документации
Основная роль SADT-аналитика -
документально зафиксировать свое понимание
системы путем создания нескольких SADT-диаграмм, в
совокупности составляющих модель. Иногда эта
модель должна входить в сеть взаимосвязанных
моделей. Этот процесс, называемый в SADT созданием
модели, является деятельностью, связанной как с
получением знаний, так и с их представлением.
Знания получают в процессе чтения документов,
опроса экспертов, наблюдения за
функционированием системы или придумывая
сценарии. Чаще всего авторы опрашивают
экспертов, чтобы узнать принципиально важные
факты об изучаемой системе. Записи опросов,
документы и все другие формы фиксации знаний
используются как база для построения SADT-диаграмм
и моделей. Полученные знания представляют с
помощью графического языка SADT, часто с
добавлением текстовых записей и графических
обозначений, подобно рассмотренным в главе 19.
Приводя свою диаграмму в
соответствие с создаваемой моделью или моделями,
автор руководствуется общим планом. Полученные в
результате диаграммы и модели посылают
библиотекарю, который помещает их в архив
моделей проекта. В определенный момент автор
составляет
Рис. 12-1. Процесс проверки
модели в SADT
из своих рабочих материалов
небольшой комплект или папку, которая является
основной единицей рецензируемого материала.
Папку посылают библиотекарю для распространения
материалов среди участников проекта. Прежде чем
передать папку для распространения, автор
записывает в соответствующие поля титульного
листа список адресатов, дату возврата и другую
необходимую информацию, как показано на рис. 12-2.
Одну из копий папки библиотекарь посылает
автору.
12.2. Комментирование
работы
Полученные библиотекарем папки
регистрируются, копируются, посылаются автору и
рассылаются читательской аудитории в
соответствии со списком адресатов на титульном
листе папки. Записываются дата рассылки папки и
срок ответа автору. Таким образом, библиотекарь
знает, кто и когда получил папку и дату ее
возврата. Эта информация нужна для контроля за
документами с тем, чтобы обратная связь от
читателей поступала своевременно. Читатели
после получения папки от библиотекаря
знакомятся с включенными в нее материалами,
записывают свои комментарии и возвращают ее
библиотекарю. Папки с комментариями, полученные
библиотекарем, регистрируются и немедленно
отсылаются автору. Опаздывающим читателям
библиотекарь напоминает о необходимости вернуть
задержанные папки. Таким образом обеспечивается
своевременная обратная связь между авторами и
читательской аудиторией.
Как только у читателя возникает
какой-либо вопрос или предложение, он записывает
его красным цветом (в книге записи показаны
светло-серыми) в форме замечания. С этих записей
начинается письменный диалог между читателем и
автором, в ходе которого немедленно фиксируются
все сомнения читателя. Этот прием немедленной
записи сомнений очень важен. Он служит гарантией,
что ни одна идея, возникшая в ходе
проектирования, не пропадет. Детали беседы часто
забываются, а к диалогу в письменной форме всегда
можно обратиться при решении проблем или
повторном просмотре материалов. Обратите
внимание на рис. 12-3: читатель согласился помочь
автору, сделав соответствующую пометку на
титульном листе, поместив комментарии на
диаграмме, проставив дату комментирования и
указав срок ответа для автора.
Рис. 12-2. Титульный лист папки и
диаграмма, подготовленная автором
12.3. Ответы на комментарии
Автор просматривает папки с
комментариями и пишет ответы на них. Папки с
ответами передаются библиотекарю для
регистрации и возврата читателям. После этого
каждый экземпляр папки остается у своего
владельца и библиотекарь никогда больше не
обрабатывает их. Опаздывающим читателям
библиотекарь напоминает о необходимости вернуть
задержанные ими папки. Таким образом
поддерживается своевременная связь в обоих
направлениях от читателя к автору и обратно.
Просматривая папку с
комментариями, автор пишет ответ на каждое
замечание синим цветом (в книге эти ответы
изображаются темно-серыми) рядом с
соответствующим замечанием. Комментарии таким
образом связаны со своими ответами, но
отличаются от них по цвету. Например, на рис. 12-4
автор отметил галочкой замечание читателя,
отреагировал на записанный на диаграмме совет
относительно деталей и проставил дату своего
ответа на титульном листе. По ходу чтения автор
может добавить еще какую-либо информацию для
пояснения своих ответов или для указания на свое
намерение переделать диаграмму в соответствии с
рецензией. Таким образом, автор вносит свой вклад
в письменный диалог.
В процессе ответов на
комментарии каждого читателя, автор вносит
изменения в свой экземпляр папки. Комментарии
всех читателей сводятся воедино в авторском
экземпляре. Это позволяет автору анализировать и
обобщать различные и, возможно, противоречивые
взгляды читателей. Обобщения используются при
переделке диаграмм для получения улучшенной
версии разрабатываемой модели. Переделанные
диаграммы поступают к библиотекарю, который
помещает их в архивы модели. После этого данный
цикл рецензирования считается завершенным, и
автор может начинать новый цикл на основе
переработанного материала (см. пример в главах
14-16).
12.4. Совершенствование
моделей
После нескольких циклов
автор/читатель читательская аудитория обычно
начинает приходить к консенсусу относительно
содержания конкретной модели. Появляется общее
понимание того, как работает или должна работать
данная система. Взаимодействие и согласие
достигается в результате высказывании каждого
из группы специалистов и обмена их своими идеями.
Это приближает к определенной цели. Для
аналитического SADT-проекта такой целью является
общее понимание системы.
SADT-авторы используют
стандартные ключевые выражения, определяющие
степень принятия диаграмм и
отражающие уровень достижения консенсуса,
относительно данной диаграммы. Значения
терминов: "рабочая версия", "эскиз",
"рекомендовано", "публикация",
составляющих стандартный набор для SADT,
определяются на начальной стадии
проектирования. Это дает возможность для каждого
аналитического проекта вырабатывать свои
критерии документального контроля за уровнем
достижения консенсуса. Например, термин
"рабочая версия" может относиться к первому,
черновому варианту диаграммы, "эскиз" может
относиться к следующим ее версиям, которые
нуждаются в уточнениях, "рекомендовано"
может означать, что диаграмма готова для
окончательного утверждения, а "публикация"
- что диаграмма окончательно
утверждена.
Автор делает на диаграммах
пометки, соответствующие степени их принятия
читателями, а затем посылает диаграммы
библиотекарю, который вносит изменения в
архивной модели. Как только автор сочтет, что
набор диаграмм, представляющий собой хорошо
проработанную часть модели, достиг уровня
"рекомендовано", он посылает их на
окончательное утверждение в Комитет
технического контроля. Диаграммы объединяются в
папку для прохождения цикла комментарий/ответ,
через который проходили более ранние версии.
Комитет технического контроля представляет
письменно свои замечания, автор отвечает на них,
а библиотекарь обеспечивает своевременность
рецензирования, рассылая напоминания.
Авторы переделывают диаграммы
в соответствии с замечаниями Комитета
технического контроля. Когда Комитет
технического контроля сочтет, что данный набор
диаграмм можно утвердить, решение об утверждении
поступает к библиотекарю, который сообщает о нем
автору. Позже в ходе проектирования утвержденные
диаграммы печатаются и распространяются как
среди участников проекта, так и среди других
специалистов. Утвержденные модели печатаются
также в виде документов для использования на
более поздних стадиях проекта.
Рис. 12-3. Титульный лист папки и
диаграмма после рецензирования
Рис. 12-4. Диаграмма и титульный
лист с ответами автора
12.5. Цикл автор/читатель
В приведенном обзоре
представлен полный формализованный набор
процедур, составляющий цикл автор/читатель.
Входящие в него процедуры дают возможность
разрешить любую ситуацию, которая может
возникнуть в ходе одновременного рецензирования
материала несколькими экспертами,
формализованным он называется потому, что
предписывает правила координации работы многих
людей для достижения ими консенсуса. Опыт
показал, что эти процедуры легко модифицируются.
Поэтому с их помощью в любом проекте можно
осуществить рецензирование, не смотря на то, что
каждый проект предъявляет свои требования к
полноте и формализованности этого процесса.
Несколько примеров из опыта
работы авторов книги могут служить иллюстрацией
целесообразности цикла автор/читатель. Так, этот
цикл применялся в одном правительственным
проекте для учета мнения военных специалистов
при классификации специфической военной
информации. Цикл автор/читатель использовался
также в полном объеме при работе авторов книги
над множеством проектов для распространения и
рецензирования всех своих проектных материалов,
включая программное обеспечение, руководства
для пользователей, протоколы собраний и
дополняющие их технические материалы. Участники
всех этих проектов были хорошо информированы,
хотя их не обременяли чрезмерно чтением
проектных материалов. Для индивидуальных
аналитических проектов, требующих совсем узкий
круг читателей, мы обычно организуем свою
собственную библиотеку.
Это только несколько случаев
применения цикла автор/читатель, облегчающего
процесс рецензирования и ведущего к достижению
группой специалистов консенсуса относительно
работы системы. Следует подчеркнуть, что мы не
призываем к использованию цикла автор/читатель в
полном объеме в каждом проекте по системному
анализу. Напротив, мы советуем всегда учитывать,
в какой степени этот процесс соответствует
авторам, читательской аудитории, величине и
сложности системы, цели аналитического проекта.
12.6. Резюме
Целью аналитика является
создание точного описания системы. В SADT принято, что точность может быть
достигнута только с помощью рецензирования.
Поэтому SADT-методология включает процесс
рецензирования, называемый цикл автор/читатель.
Авторы создают небольшие комплекты рабочих
материалов, называемые папками. Библиотекарь
рассылает эти папки читателям, которые
записывают в них свои замечания. Авторы рядом с
каждым замечанием пишут ответ, возвращают папки
читателям и обобщают различные, а иногда и
противоречивые замечания на своих экземплярах
диаграмм. Вопросы, которые не удалось
согласовать в процессе письменного диалога,
разрешаются впоследствии в ходе обсуждений,
называемых "беседа автор/читатель". После
нескольких таких циклов автор/читатель модель
достигает уровня, необходимого для ее
утверждения.
Дополнительная
литература
Curtis, В. (ed): "Human Factors in Software
Development", IEEE Catalog no. EHO 185-9, IEEE Computer Society, 1981.
Connor, M.: "Structured Analysis and Design Technique - SADT", Auerbach
portfolio 32-04-02, 1979.
Freedman, D., and Weinberg, G.: "Walkthroughs,
Inspections, and Technical
Reviews", Little Brown, Boston, 1982.
Kemmer, R.: "Testing Formal Specifications to Detect Design Errors", IEEE
Transactions on Software Engineering, vol. 11, no. 1, January, 1985.
Mihram, A.: "The Modeling Process", IEEE Transactions on Systems, Man and
Cybernetics, vol. 2, no. 5, November 1972.
Mumford, E.: Designing Human Systems for New
Technology, Manchester Business School, MAnchester, England, 1983.
Ross, D. and Schoman, K.: "Structured Analysis for Requirements Definitions",
IEEE Transactions on Software engineering, vol. SE-3, no. 1, January 1977.
SofTech, Inc.: "IDEFO Forms and Procedures Guide", SofTech Deliverable
no.
7500-11, September 1979.
Weinberg, G.: The Psychology of Computer
Programming, Van Nostrand Reinhold, New York,
1971.
Yourdon, E.: Structured Walkthroughs, Yourdon
Press, New York, 1978.