Пояснение с помощью рисунков
Хотя для определения терминологии и изложения содержания используются текстовые описания, слова следует употреблять экономно. Мы советуем для пояснения тонких моментов и того, что трудно выразить словами, использовать, где это возможно, и рисунки. В SADT любое изображение, которое не является строго диаграммой, считается дополнительным рисунком. SADT-рисунки - это обычно либо картинки, либо диаграммы с дополнительными изображениями, связанные с конкретной диаграммой модели. Связь указывается с помощью добавления к номеру узла поясняемой диаграммы буквы Р и порядкового номера, как показано на рис. 18-4. Рисунок-дополнение - это любое изображение, сделанное для дополнения модели. Рисунки часто служат для того, чтобы показать, как выглядит конкретная часть системы (например, станок, готовый к работе), как соединяются две части системы (например, как зажимают в тисках заготовку перед началом обработки), как правильно использовать часть системы, (например, как обрабатывать алюминий на токарном станке). Рисунки также могут отражать конкретное событие в процессе работы системы (например, пуск станка) или развитие событий во вре-
мени (например, график поступления заданий). На рис. 18-4 показано, как выглядит типичное готовое рабочее место. Хорошие картинки незаменимы, но их нужно долго рисовать. Автор всегда должен иметь под рукой достаточный запас картинок, готовых к использованию - диаграммы самой SADT-модели. SADT-авторы обычно выделяют некоторые фрагменты изображения на нескольких диаграммах модели, чтобы подчеркнуть отдельные важные моменты. Диаграмма с дополнительной графикой может уточнить какие-либо детали, показывая различные группы дуг, описывая варианты действия блока или функционирование системы при изменяющейся окружающей среде, показывая основной поток данных, детализируя роли обратных связей, описывая принципиально неверные ситуации и случаи ошибочной трактовки или просто документируя важные изменения в диаграмме. На рис. 18-5 выделены преобразования, которые происходят с оборудованием (т.е. станками и инструментами), при превращении их в оборудованное рабочее место. Сравните это с текстовым описанием подготовки рабочего места, приведенным на рис. 18-3.
Для выделения каких-либо частей диаграммы чаще всего используют жирные линии. Мы, однако, при любой возможности пользуемся цветом. Цвет может отразить в диаграмме еще одну важную характеристику информации - разделение ее по типам. Попробуйте раскрасить дуги диаграммы подготовить рабочее место следующим образом: планы изобразите красным, оборудование - синим, остальную информацию -зеленым. Обратите внимание, как цвет по-новому осветил диаграмму, разбив представленные дугами объекты на типы. Раскрасив таким образом всю модель, можно описать влияние определенных данных на функции системы (например, на каких этапах нужен чертеж), а также указать те функции, которым необходим определенный тип данных (например, на каких этапах обрабатываются заготовки). Цвет - не универсальное, но очень эффективное средство, когда имеется не более 10 категорий. Учтите, что хотя типичные SADT-рисунки - это картинки или диаграммы с SADT - графикой, в принципе для создания рисунка можно воспользоваться любым языком. Мы, например, использовали языки таблиц решений и конечных автоматов для уточнения SADT-моделей систем телефонной коммуникации и графики системы PERT для преобразования SADT-модели, открывающей процесс планирования, в формат, понятный менеджерам очень большого правительственного проекта. Поэтому мы рекомендуем использовать все доступные вам изобразительные средства для дополнения SADT-моделей.
Дополнение моделей Иерархические наборы SADT-диаграмм, называемые "моделями", вводят объект описания и уточняют его регулярным, управляемым и понятным образом. Это обеспечивается тем, что диаграммы модели всегда организованы в соответствии с порядком нумерации узлов. Это означает, что первым идет узел А-0, вторым - узел АО, третьим - узел А1, четвертым - узел All и т. д. Такой порядок расположения SADT-диаграмм является копией "древовидной" структуры, часто встречающейся в математике и информатике. Полная SADT-модель обычно читается двумя способами. Первый способ - обзорное чтение, когда читаются все диаграммы верхнего уровня, прежде чем перейти к диаграммам следующего. Это называется чтением "в ширину". Второй способ -детальное чтение, когда читают отдельную ветвь дерева вплоть до диаграмм самого нижнего уровня. Это называется чтением "в глубину". Чтобы помочь читателям правильно двигаться по древовидному набору диаграмм, разработаны дополнительные средства. Примерами таких средств могут служить указатель диаграмм и указатель узлов. Они представляют собой составленные с отступами списки узлов или диаграмм (по типу оглавления), определяющих содержание модели. В указателе диаграмм перечисляются все диаграммы модели с приведенными в отдельной строке названием и номером узла каждой диаграммы. В указателе узлов перечисляются все блоки модели, причем в каждой отдельной строке записываются название и номер узла соответствующего блока. Таким образом, указатель узлов является просто более подробным, чем указатель диаграмм, списком. Указатели диаграмм для моделей обсуждаются в части VI. Обратите внимание на то, что оглавления (таблицы содержаний) служат как кратким конспектом системы, так и средством быстрого поиска при рассмотрении конкретного функционального фрагмента системы. Рис. 18-5. На диаграмме показан основной путь Резюме SADT-диаграммы иногда нуждаются в дополнительной информации для описания подробностей, важных для понимания систем. В SADT применяются три типа дополнений к диаграммам: глоссарии, тексты и рисунки. Страницы глоссария содержат определения и часто структурное описание данных системы. Страницы глоссария используются для составления словаря данных модели. Текстовые страницы излагают содержание диаграмм, что часто имеет большое значение при детализации диаграмм самого нижнего уровня модели. Страницы рисунков содержат иллюстрации, поясняющие важные аспекты системы (например, законченную часть, область хранения, карту). Хотя дополнения в определенных ситуациях могут быть очень полезны, мы настоятельно рекомендуем никогда не использовать их вместо диаграмм для декомпозиции модели. Они должны только обеспечивать соответствие диаграмм цели модели. Указатели диаграмм и указатели узлов - это списки (оглавления) с отступами, которые играют роль как краткого конспекта системы, так и средства быстрого поиска при рассмотрении конкретной функциональной области системы.
Дополнительная литература
Berlin, J.: Semiology of Graphics, University of Wisconsin Press, Madison, 1983.
DeMarco, Т.: Structured Analysis and System Specification, Yourdon Press, New York, 1978.
Hurley, R.: Decision Tables in Software Engineering, Van Nostrand Reinhold, New York, 1983. Lannon, J.: Technical Writing, Little, Brown, Boston, 1982.
Marca, D.: Applying Software Engineering Principles, Little Brown, Boston, 1984.
Martin, J., and McClure, C.: Diagramming Techniques for Analysts and Programmers, Prentice-Hall, Englewood Cliffs, N.J., 1985.
Weinberg, G.: Rethinking Systems Analysis and Design, Little Brown, Boston, 1982. Глава 19. Примечания на диаграммах и моделях Язык блоков и дуг в SADT описывает все функции, и объекты системы и, следовательно позволяет раскрыть функциональное содержание системы. Однако иногда графика функциональной SADT-модели недостаточно описывает, как именно действует система. Обратите внимание, мы сказали "недостаточно", а не "неточно". Правильно созданная проверенная функциональная SADT-модель точно описывает функциональное содержание системы со статической точки зрения, но этого может оказаться недостаточно для описания других аспектов работы системы и ее поведения, необходимых для полного понимания того, как она должна функционировать. Свойства системы и правила выполнения ее функций - вот два наиболее общих аспекта такого рода. Свойства - это численные и текстовые описания характеристик функций и данных системы. Действия определяют, что необходимо для того, чтобы функции выполнялись правильно, и каковы результаты их выполнения. Используя понятия свойств и действий, SADT предоставляет возможность уточнять диаграмму с помощью примечаний, описывающих ее динамику. Записи таких примечаний оживляют модель.
Информация о свойствах Свойства - это нефункциональные характеристики, именованные величины, описывающие некоторые важные аспекты объектов и функций системы. Например, к свойствам объектов относятся скорость, объем и частота доступа. Свойства функций часто включают место, время и частоту их выполнения. Свойства статичны по времени. Например, базы данных имеют фиксированные размеры с ожидаемой и устойчивой скоростью наполнения в течение некоторого периода времени. Чтобы было яснее - пол в цехе можно рассматривать как базу данных, поскольку он является вместилищем с ограниченным количеством помещений, которые заполнены до определенного возможного уровня станками и их рабочими зонами. Свойства очень важны, потому что они связаны с требованиями системы, которые должны удовлетворяться, иначе система не будет правильно функционировать. Например, время, которое затрачивает угольный ликвационный реактор на обработку определенной порции угля, зависит от веса и качества угля. Для этой системы свойства угля и время ликвации - критические требования. То же относится и к контролю качества в механическом цехе. Справочник стандартов качества и точки контроля на чертеже - это то, что управляет качеством выполнения задания в экспериментальном механическом цехе. Без этих ограничений цех не сможет производить детали для новых моделей самолетов. Не удивительно, что понимание системы будет не полным, пока не определены свойства функций и объектов. SADT требует, чтобы свойства определялись с использованием так называемых "меток свойств". Метка свойства - это замечание "с квадратом", соединенное с блоком или дугой с помощью зигзагообразной линии и описывающее это свойство. Описания не всех свойств конкретного блока или дуги помещаются на диаграмму, а только тех, которые проясняют содержание диаграммы. Например, на рис. 19-1 показано, как используются метки свойств для описания стандартной частоты выполнения функций в ходе выполнения работ с рабочим комплектом. Эти метки присоединены к блокам диаграммы.
На рис. 19-1 видно, как всего несколько меток могут подчеркнуть суть диаграммы. Однако для полноты для каждого блока или дуги должен составляться глоссарий, связанный с их свойствами. Наш опыт показывает, что помещение информации такого рода из глоссария в словарь данных - надежный способ записать эти сведения. Таким образом, описания свойств всегда доступны и их легко находить.
Рис. 19-1. Добавление меток, описывающих свойства моделируемой системы Правила действия Вспомните, что функциональные диаграммы SADT - это диаграммы ограничений, потому что они отражают ограничения, накладываемые функциями системы друг на друга. Законченная функциональная диаграмма дает моментальный снимок всех дуг управления, которые ограничивают функцию в какой-либо момент работы системы. Поэтому, вообще говоря, не все ограничения на функцию действуют одновременно. В большинстве случаев только некоторые ограничения на каждую отдельную функцию действуют в какой-либо момент времени. SADT определяет "действие" как вид работы функции после того, как она "включается" посредством некоторых ее входов или управлений для создания выходов. Таким образом, каждое конкретное действие использует не все возможные управления и входы и производит не все возможные выходы. Количество возможных действий функции зависит исключительно от количества возможных взаимодействий ее данных, а не от количества входящих в блок дуг. Позже об этом будет сказано подробнее. Описание правила действия в SADT - это примечание (сходное с принятыми в формальных грамматиках), которое описывает отдельную комбинацию управления, входа и выхода для некоторой функции конкретной модели. Правила действия включают номер блока, уникальный идентификатор действия, предусловия и постусловия. Каждое правило действия для модели формулируется в соответствии с синтаксисом:
[Модель/] блок * действие: предусловия--> постусловия
Блок и действие дают правилу уникальное имя. Блок идентифицирует определенный блок модели. Действие идентифицирует одно правило действия для этого конкретного блока. Поэтому сочетание блок и действие однозначно идентифицирует одно правило действия в модели. Одновременно могут рассматриваться правила действия для более чем одной модели. В таком случае модель, точнее имя той модели, к которой относится правило, пишется в начале правила. Предусловия и постусловия - это то, что требуется для действия и что является его результатом. Обобщая, можно сказать, что каждое правило действия может быть интерпретировано следующим образом. Рис. 19-2. Функция, имеющая единственное правило действия
Для функции блок правило действия действие определяется так: если истинны предусловия, выполняется функция блок и делает истинными постусловия. Как предусловия, так и постусловия представляют собой логические выражения, построенные с помощью ICOM-кодов, где каждый ICOM-код идентифицирует единичную дугу управления, входную или выходную дугу конкретного блока. Логические операторы AND, OR и NOT вместе со скобками представляют средства для записи различных сложных логических выражений. Например, на рис. 19-2 показан блок диаграммы ЭМЦ/А2, у которого только одно правило действия. Это правило утверждает, что функции. подготовить рабочее место необходимы выбранное инструменты, станки в цехе, чертеж и указания, чтобы рабочий подготовил оборудованное рабочее место. Это пример правила действия, которое утверждает необходимость участия всех входных дуг, дуг управления и выходных дуг в действии конкретного блока. Часто возникают ситуации, в которых для правильного действия блока необходимо отсутствие одной или нескольких дуг. Дуги, не участвующие в конкретном действии, отмечаются горизонтальным штрихом (символизирующим NOT) над ICOM-кодом, если они входят в предусловие. Это означает, что объекты, представляемые этой дугой, должны отсутствовать для того, чтобы действие было выполнено. Например, действие 3 на рис. 19-3 утверждает, что план выполнения заданий не должен быть представлен в момент оценки задания, который предшествует приемке. Рис. 19-3. Функция, имеющая несколько правил действия
Встречаются также ситуации, когда только некоторые из дуг используются в процессе действия для производства выходов. Если входная дуга или дуга управления не участвуют в действии, они просто опускаются в предусловии. Аналогично если только часть выходов блока производится во время действии, то ICOM-коды для этих не создаваемых выходов опускаются в постусловиях. Например, отсутствие 02 и 03 в действии 4 означает, что в процессе этого действия вырабатывается только статус задания. Иногда функции полностью используют свои входы или управления в процессе действия. В таких случаях эти входные дуги и дуги управления перечисляются в постусловии со штрихом отрицания NOT над ними. Это означает, что объекты, представленные данными дугами, использованы во время действия функции и недоступны для других блоков или будущих действий. Генерация правил действия Иногда аналитику трудно определить все способы действия функции в процессе работы системы. В этих случаях мы рекомендуем воспользоваться приемом построения таблиц истинности, первоначально разработанный в логическом исчислении высказываний и часто применяемый в общей теории систем. Действие каждого блока описывается таблицей истинности, представляющей собой декартово произведение всех возможных сочетаний присутствия (отмечаемого с помощью "true" или Т) и обязательного отсутствия (отмечаемого с помощью "false" или F) входных дуг, дуг управления и выходных дуг. Каждый столбец такой таблицы становится тогда потенциальным правилом действия. (Иногда не имеет значения, принимает ли конкретная дуга участие в действии. В этих случаях представляется разумным использование буквы D. Однако запомните, что для полного отражения декартова произведения потребуется существенное увеличение размера таблиц.) Обычно не все, что входит в таблицу, становится правилом действия, но каждое действие в таблице определено. Например, в табл. 19-1 представлено декартово произведение с отсутствующими или присутствующими дугами для блока подготовить рабочее место. Для экспериментального механического цеха реален только случай 1, когда все входные дуги и дуги управления участвуют в действии. Попробуйте применять этот
Таблица 19-1. Все возможные действия блока "Подготовить рабочее место"
прием, когда вы точно не знаете, как выполняется конкретная функция моделируемой вами системы. Резюме Метки свойств в 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, Little, 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. Глава 20. Управление проектом Управление проектом в методологии SADT не сводится просто к созданию набора диаграмм. Наш опыт показывает, что эффективное проектирование в SADT для получения результатов в соответствии со сроками и сметами должно представлять собой процесс, в ходе которого координируется работа экспертов, авторов, читателей и тех, кто принимает окончательную версию модели системы. Успешные проекты должны иметь хорошее начало, в ходе их выполнения должны создаваться полезные результаты, разрабатываться только необходимые модели и дополнения к ним. В этой главе обсуждается наш опыт проектирования в SADT. Особое внимание уделяется управлению проектами и координации работ в методологии SADT отдельных людей и коллективов. Начало проекта Успешный проект всегда имеет хороший старт, который обычно включает формирование технического задания на проектирование, исходный выбор создаваемых моделей, организацию группы аналитиков, выбор Комитета технического контроля и составление графика работ. Такое начало приводит к созданию плана проекта, который координирует усилия многих людей и делает проект управляемым. Техническое задание вырабатывается на самом первом этапе проекта (иногда техническое задание называют концепцией проекта). В техническом задании определяются назначение, сфера, ограничения, ожидаемые результаты и преимущества проекта. Техническое задание может также включать набросок плана проекта, который помогает документировать предварительные предложения организаторов и руководителей проекта. Обычно на этом этапе заняты небольшие коллективы. Однако если проект очень мал, он может быть инициирован одним автором. Основные пункты работы - какие создавать модели и в какие сроки - планируются после формирования технического задания. Это помогает определить наиболее важные объекты, прояснить цели проекта и разработать его детальный план. Прежде чем определить основные пункты работы, мы советуем выяснить, что известно по данной проблеме, какую новую информацию надо собрать и какие источники ее доступны для проекта. Может быть вам даже придется построить несколько небольших SADT-моделей, чтобы получить эти сведения. Например, мы часто строим модель самого проекта с помощью SADT, чтобы определить, какие модели будут создаваться (текущие операции, будущие операции, план преобразований, архитектура системы). План, основанный на такой информации, быстрее приведет к созданию точных и полезных моделей. Верно выбранные основные пункты работы служат базой для правильного подбора коллектива специалистов. Определите число экспертов, авторов, читателей и вспомогательный персонал (библиотекарь, делопроизводители и технические оформители) для получения необходимых результатов. (Представление о необходимом объеме работ дают обзоры проектов в части VI.) Определите также, кто войдет в Комитет технического Рис. 20-1. Типичная структура SADT-проекта
контроля. Эти лица должны отвечать за разрешение конфликтов, проведение политики проекта, принятие результатов, интерпретацию и реализацию технического задания. Обеспечьте участие в работе Комитета нескольких специалистов с высоким уровнем компетентности, которые смогут отстоять свои решения. В процессе работы над проектом ваша организационная структура будет иметь вид, аналогичный приведенному на рис. 20-1.
Воспользуйтесь поиском по сайту: ©2015 - 2024 megalektsii.ru Все авторские права принадлежат авторам лекционных материалов. Обратная связь с нами...
|