Если вариант sadt диаграммы одобрен экспертами то ему присваивается статус

Обновлено: 22.11.2024

Как уже отмечалось, практически во всех методах структурного анализа используются три группы средств моделирования:

• диаграммы, иллюстрирующие функции, которые система должна выполнять, и связи между этими функциями - для этой цели чаще всего используются DFD или SADT (IDEF0);

• диаграммы, моделирующие данные и их взаимосвязи (ERD);

• диаграммы, моделирующие поведение системы (STD).

Таким образом, наиболее существенное различие между разновидностями структурного анализа заключается в методах и средствах функционального моделирования. С этой точки зрения все разновидности структурного системного анализа могут быть разбиты на две группы - применяющие методы и технологию DFD (в различных нотациях) и использующие SADT-методологию. Соотношение применения этих двух разновидностей структурного анализа в существующих CASE-средствах составляет по материалам CASE Consulting Group 90% для DFD и 10% для SADT. По данным автора, основанным на анализе 127 существующих CASE-пакетов, это соотношение выглядит как 94% к 3%, соответственно. Оставшиеся 3% CASE-средств используют методологии, не относящиеся ни к одной из перечисленных разновидностей. Представляется очевидным, что соотношение такого же порядка справедливо и для цифр распространенности рассматриваемых методологий на практике.

Сравнительный анализ этих двух разновидностей методологий проводится по следующим параметрам:

• адекватность средств рассматриваемой проблеме;

• согласованность с другими средствами структурного анализа;

• интеграция с последующими этапами разработки (и прежде всего, с этапом проектирования).

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

1. Адекватность. Выбор той или иной структурной методологии напрямую зависит от предметной области, для которой создается модель. Предметом бизнес-консалтинга являются организационные системы (точнее, функционирование или деятельность таких систем). Для моделирования таких систем традиционно используется методология SADT (точнее, ее подмножество IDEF0). Однако статическая SADT-модель не обеспечивает полного решения задач бизнес-консалтинга, необходимо иметь возможность исследования динамических характеристик бизнес-процессов. Одним из решений является использование методологии и средств динамического моделирования, основанной, например, на цветных (раскрашенных) сетях Петри CPN (Color Petri Nets). Фактически SADT и CPN служат компонентами интегрированной методологии бизнес-консалтинга: SADT-диаграммы автоматически преобразуются в прообраз CPN-модели, которая затем дорабатывается и исполняется в различных режимах, чтобы получить соответствующие оценки.

Следует отметить, что не существует принципиальных ограничений в использовании DFD в качестве средства построения статических моделей деятельностей. Более того, в настоящий момент доступен ряд методологий и продуктов динамического моделирования (INCOME Mobile, CPN-AMI и др.), базирующихся на сетях Петри различного вида и интегрируемых с DFD-моделью, которые позволяют успешно решать задачи бизнес-консалтинга.

Методология SADT успешно работает только для реорганизации хорошо специфицированных и стандартизованных западных бизнес-процессов, поэтому она и принята на Западе в качестве типовой. Например, в Министерстве Обороны США десятки лет существуют четкие должностные инструкции и методики, которые жестко регламентируют деятельность, делают ее высокотехнологичной и ориентированной на бизнес-процесс. В российской действительности с ее слабой типизацией бизнес-процессов, их стихийным появлением и развитием, разумнее ориентироваться на методологию организации и/или реорганизации потоков информации и отношений: для таких задач методологии, основанные на потоковых диаграммах, не просто допустимы, а являются единственно возможными.

Если же речь идет об информационно-технологическом консалтинге, где методологии применяются к системам обработки информации, а не к системам вообще, как это предполагается в SADT, то здесь DFD вне конкуренции. Практически любой класс систем успешно моделируется при помощи DFD-ориентированных методов: в этом случае вместо реальных объектов рассматриваются отношения, описывающие свойства этих объектов и правила их поведения. Примерами таких систем служат системы документооборота, управления и другие системы, богатые разнообразными отношениями.

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

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

Ограничения SADT, запрещающие использовать более 5-7 блоков на диаграмме, в ряде случаев вынуждают искусственно детализировать систему, что затрудняет понимание модели заказчиком, резко увеличивает ее объем и. как следствие, ведет к неадекватности модели реальной картине.

2. Согласованность. Главным достоинством любых моделей является возможность их интеграции с моделями других типов. В данном случае речь идет о согласованности функциональных моделей со средствами информационного и событийного (временного) моделирования. Согласование SADT-модели с ERD и/или STD практически невозможно или носит тривиальный характер. В свою очередь, DFD, ERD и STD взаимно дополняют друг друга и по сути являются согласованными представлениями различных аспектов одной и той же модели. В таблице 2.1 отражена возможность такой интеграции для DFD и SADT-моделей.

Возможность интеграции между моделями различных типов

Название ERD STD Структурные карты
DFD + + +
SADT + - -

Отметим, что интеграция DFD-STD осуществляется за счет расширения классической DFD специальными средствами проектирования систем реального времени (управляющими процессами, потоками, хранилищами данных), и STD является детализацией управляющего процесса, согла-сованной по управляющим потокам и хранилищам. Интеграция DFD-ERD осуществляется с исполь-зованием отсутствующего в SADT объекта - хранилища данных, структура которого описывается с помощью ERD и согласуется по соответствующим потокам и другим хранилищам на DFD.

3. Интеграция с последующими этапами.Важная характеристика методологии - ее совместимость с последующими этапами применения результатов анализа. DFD могут быть легко преобразованы в модели проектирования (структурные карты) - это близкие модели. Более того, известен ряд алгоритмов автоматического преобразования иерархии DFD в структурные карты различных видов, что обеспечивает логичный и безболезненный переход от этапа анализа требований к проектированию системы. С другой стороны, автору неизвестны формальные методы преобразования SADT-диаграмм в проектные решения системы обработки информации.

В заключение необходимо отметить, что рассмотренные разновидности структурного анализа по сути - два приблизительно одинаковых по мощности языка для передачи понимания. И одним из основных критериев выбора является следующий: насколько хорошо каждым из этих языков владеет консультант или аналитик, насколько грамотно он может на этом языке выражать свои мысли. Автору неоднократно приходилось видеть проекты, выполненные с использованием как DFD, так и SADT, в которых просто невозможно разобраться.

Методология SSADM

Примером еще одной методологии, ориентированной на диаграммы потоков данных, является методология SSADM (Structured Systems Analysis and Design Method). Она создана в начале 1980-х годов и принята в 1993 году в качестве национального стандарта Великобритании для разработки информационных систем. Ее несомненным достоинством является наличие взаимосогласованных методик, регламентирующих начальные этапы разработки системы, центральным из которых является этап итеративного определения требований. В то же время SSADM не распространяется на этапы, связанные с реализацией, внедрением и сопровождением системы, отсылая разработчика к другим общедоступным методологиям, рекомендуемым британским государственным агентством по информатике и вычислительной технике.

В SSADM применяется нисходящий подход к построению интегрированных функциональных, информационных и событийных моделей. При моделировании функций используются классические DFD (включающие только базовые объекты: процесс, поток данных, хранилище данных, внешнюю сущность) с миниспецификациями на структурированном естественном языке. Моделирование данных осуществляется с использованием нотации LDS (Logical Data Structure), являющейся диалектом ER-модели. Для событийного моделирования используются диаграммы истории жизни сущностей ELH (Entity Life History), поддерживающие индикаторы состояний, события с привязанными к ним действиями, возможность задавать последовательные, параллельные и итеративные конструкции, а также конструкции выбора.

Согласно SSADM определение системных требований включает следующие шесть основных этапов.

1. Оценка реализуемости. Данный этап предваряет инициацию работ по созданию системы.

Его основными процессами являются следующие:

• анализ первичных бизнес-требований (включая определение целевого назначения будущей системы, ее основных пользователей и т.п.);

• предварительную экономическую оценку проекта;

• построение план-графика выполнения основных работ;

• подготовку документов по оценке возможности создания системы.

2. Предпроектное обследование и моделирование требований. Результатом данного этапа должна являться функционально полная модель требований, а также оценки важности этих требований для будущего пользователя и оценки необходимых для реализации каждого требования ресурсов. SSADM рекомендует следующие шаги для достижения результата этапа:

• определение границ будущей системы;

• выявление основных требований;

• выявление процессов обработки информации;

• выявление обрабатываемых данных;

• построение информационно-логической модели требований;

• обобщение результатов и подготовка отчетов.

3. Выбор варианта автоматизации. На основании результатов (оценок) предшествующего этапа предлагаются несколько (от 3 до 6) вариантов автоматизации. Из них на основании выявленных ограничений совместно с заказчиком выбирается окончательный вариант.

4. Разработка логического проекта. На данном этапе осуществляется пересмотр выявленных требований с учетом выбранного варианта автоматизации. При этом требования детализируются и уточняются, выявляются противоречия между ними, создается и оценивается прототип будущей системы. После завершения данного этапа SSADM запрещает добавление новых функциональных требований, допускается лишь их корректировка и уточнение.

5. Выбор варианта реализации. Этап включает проработку нескольких вариантов реализации, касающихся технической и программной среды.

6. Физическое проектирование.Этап состоит из:

• разработки физической информационной модели;

• разработки спецификаций к программным компонентам;

• оптимизации информационной модели;

• уточнения спецификаций к программным компонентам;

Отличительной чертой SSADM является четкое выделение и поддержка соответствующими методиками так называемых "нефункциональных требований". Нефункциональные требования специфицируют, с каким уровнем качества система должна выполнять свои функции. Примерами таких требований являются:

В значительной мере успех методологии SADT объясняется ее графическим языком, хотя не менее ценным является сам процесс моделирования. Процесс моделирования в SADT включает сбор информации об исследуемой области, документирование полученной информации и представление ее в виде модели и уточнение модели посредством итеративного рецензирования. Кроме того, этот процесс подсказывает вполне определенный путь выполнения согласованной и достоверной структурной декомпозиции, что является ключевым моментом в квалифицированном анализе системы. SADT уникальна в своей способности обеспечить как графический язык, так и процесс создания непротиворечивой и полезной системы описаний.

Мы утверждаем, что SADT является методологией в полном смысле, потому что она объединяет итеративный процесс создания модели, нотации, управляющие конфигурацией модели, язык ссылок для диаграмм, язык функций моделей с графическим языком описания системы, а также рекомендации по реализации аналитических проектов. Нотации, управляющие конфигурацией, гарантируют, что новые диаграммы будут корректно встроены в иерархическую структуру модели. Язык ссылок в SADT, правила сокращений для ссылок, адресованных к отдельным частям диаграммы, облегчают оформление замечаний при рецензировании модели. Язык функций позволяет декларативно определять правила работы системы, что часто является особенно важным завершающим шагом в описании системы.

На рис. 4-1 изображен процесс моделирования в SADT, описанный с помощью SADT -диаграммы. Диаграмма отражает тот факт, что процесс моделирования в SADT является итеративной последовательностью шагов, приводящих к точному описанию системы. Высокая эффективность этого процесса обусловлена его организацией, в основе которой лежит разделение функций, выполняемых участниками создания

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

В процессе моделирования сведения об изучаемой системе получают с помощью испытанной методики сбора информации - опросов или интервью. Для получения наиболее полной информации SADT предлагает использовать различные ее источники (например, читать документы, опрашивать людей, наблюдать за работой системы). Независимо от конкретного источника информации методология SADT рекомендует руководствоваться определенной целью при его использовании. Это означает, что вы должны определить свои потребности в информации прежде, чем выбрать очередной источник. Во время опроса графический язык SADT используется как средство для заметок, которые служат основой для построения диаграмм. Процесс опроса подробно описан в главе 7.

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

Создание модели (блок 2 на рис. 4-1) - это второй важный этап в процессе моделирования, на котором аналитик документирует полученные им знания о данной проблемной области, представляя их в виде одной или нескольких SADT -диаграмм. Процесс создания модели осуществля-


Рис. 4-1. Процесс создания SADT -модели

ется с помощью специального метода детализации ограниченного субъекта. Коротко говоря, в SADT автор вначале анализирует объекты, входящие в систему, а затем использует полученные знания для анализа функций системы. На основе этого анализа создается диаграмма, в которой объединяются сходные объекты и функции. Этот конкретный путь проведения анализа системы и документирования его результатов является уникальной особенностью методологии SADT.

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

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

Обычно отдельная папка рецензируется одновременно несколькими читателями, и все их замечания поступают к определенному сроку к автору. Затем автор отвечает на каждое замечание и обобщает критику, содержащуюся в замечаниях. С помощью таких обсуждений можно достаточно быстро обмениваться идеями. Таким образом, методология SADT поддерживает как параллельный, так и асинхронный просмотр модели, что является наиболее эффективным способом распределения работы в коллективе. Это показывает, что моделирование в SADT является инженерной дисциплиной, потому что итеративная коллективная деятельность - признак инженерной деятельности. Это связано с тем, что модель в SADT очень редко создается одним автором. На практике над различными частями модели могут совместно работать множество авторов, потому что каждый функциональный блок модели представляет отдельный субъект, который может быть независимо проанализирован и декомпозирован. Таким образом, модель сама координирует работу коллектива авторов, в то время как процесс моделирования SADT координирует совместное рецензирование возникающих идей. Полное описание инженерного процесса приведено в части III.

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

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

Вспомним, что SADT-модели создаются с конкретной целью, и эта цель записана на диаграмме А-0 модели. В каком-то смысле эта цель определяет, как будет использоваться модель. Таким образом, как только завершено создание модели с требуемым уровнем детализации и модель проверена, она может применяться для достижения поставленной цели. Например, модель экспериментального механического цеха создана для описания деятельности различных работников механического цеха, хотя результирующая модель всегда предназначалась как основа учебного руководства для нового персонала. Если эта модель точно описывает работу персонала в цехе, но не может служить для подготовки учебного руководства - она бесполезна. Точная модель не всегда полезна.

В процессе SADT-моделирования рекомендуется выделить специальную группу людей, ответственных за то, что создаваемая в процессе анализа модель будет точна и используема в дальнейшем. Эта группа, называемая Комитетом технического контроля (см. блок 5 на рис. 4-1), отвечает за контроль качества моделей, создаваемых авторами SADT-проекта. Комитет следит за выполняемой работой и ее соответствием конечным целям всего проекта. Члены Комитета обсуждают модель и оценивают, насколько она может быть использована и будет использована соответствующим образом в ходе выполнения проекта для достижения его глобальных целей.

Таким образом Комитет технического контроля находится в наиболее выгодном положении при определении текущего направления развития проекта и выработке предложений по его корректировке. Комитет реализует это с помощью рецензий. Модели, которые достигли желаемого уровня детализации и точности с точки зрения технических требований, направляются членам Комитета технического контроля для обсуждения и утверждения. Комитет оценивает, насколько применима данная модель. Если модель признана Комитетом применимой, она публикуется. В противном случае авторам направляются замечания для необходимой доработки.

4.6. Резюме

SADT - это методология, потому что она интегрирует процесс моделирования, управление конфигурацией проекта, использование дополнительных языковых средств и руководство проектом со своим графическим языком. Процесс моделирования может быть разделен на несколько этапов: опрос экспертов, создание диаграмм и моделей, распространение документации, оценка адекватности моделей и принятие их для дальнейшего использования. Этот процесс хорошо отлажен, потому что при разработке проекта специалисты выполняют конкретные обязанности, а библиотекарь обеспечивает своевременный обмен информацией. Успех SADT-проектов объясняется также и тем, что Комитет технического контроля оценивает модели с точки зрения их реального использования.

На этом завершается обзор основных концепций SADT, связанных с функциональными диаграммами и функциональными моделями. Главы 5 и 6 посвящены более глубокому изучению материала, касающегося диаграмм, моделей и процесса их разработки, который называется созданием модели. Вы, возможно, пожелаете теперь перейти к части II, чтобы узнать, как начинается создание функциональной модели. Если это так, не стесняйтесь вернуться к главам 5 и 6, когда захотите глубже познакомиться с концепциями методологии SADT.

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

Процесс декомпозиции в SADT сводится к представлению каждого блока диаграммы с помощью диаграммы следующего уровня детализации. Во время декомпозиции составляют список данных и список функций, объединяют функции в блоки и используют список данных при формировании взаимосвязей между блоками. В ходе этого процесса аналитик выполняет такие шаги, как выбор блока, изучение его объекта и построение новой диаграммы. Целью аналитика на этом этапе является в первую очередь ясное восприятие сути декомпозируемой модели.

Построив диаграмму, попытайтесь самостоятельно выявить ее недостатки, прежде чем рассылать ее для подробного рецензирования. Опытные SADT-аналитики при декомпозиции блока разделяют этап создания и этап критического рассмотрения диаграммы. Они специально выбирают время для того, чтобы окинуть ее критическим взглядом, помня о том, что за несколько минут можно самому обнаружить те ошибки, которые часто выявляются с помощью обратной связи с читателями. Создание диаграмм и критическая оценка их обсуждаются последовательно в главах 9 и 10, чтобы выявить различие этих этапов и подчеркнуть тот факт, что процесс декомпозиции в SADT включает и то, и другое. Рассмотрим теперь процесс критической оценки своей работы.

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

Процесс авторской проверки дает новое направление работе - определение ее качества. На этапе декомпозиции возникает диаграмма, которая декомпозирует блок и его дуги. Аналитик пытается объяснить объект самому себе. Неудивительно, что результат может оказаться малодоступным для других. В работе, естественно, появляются жаргон и неявно подразумеваемые факты. При критической оценке аналитик

абстрагируется от своей работы. Это позволяет взглянуть свежим взглядом на диаграмму с тем, чтобы информация, которую она несет, стала доступной не только ее автору, но и другим людям. Процесс критической оценки осуществляется в следующем порядке:

1) выявление недостатков новой диаграммы;

2) создание альтернативных декомпозиции;

3) корректировка новой диаграммы;

4) корректировка всех связанных с ней диаграмм.

Часто в ходе критической оценки выполняют альтернативные декомпозиции, чтобы проверить, является ли исходный набросок лучшим для передачи желаемой информации. Кроме того, проверяют взаимосвязи с родительской и другими диаграммами. После этого во все диаграммы вносятся необходимые изменения. Действия автора во время критической оценки весьма сходны с действиями читателей при рецензировании. Поэтому всегда учитывайте приведенные в главе 14 рекомендации, связанные с чтением диаграмм, моделей и замечаний.

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


Рис. 10-1. Диаграмма после критики рецензента

Вначале следует критически оценить блоки диаграммы. Определим функциональные аспекты диаграммы, задавая вопросы типа:

· Представляют ли блоки содержательную декомпозицию функции?

· Не выглядит ли диаграмма запутанной?

· Все ли блоки соответствуют точке зрения модели ?

· Несут ли блоки достаточный объем новой информации ?

· Все ли блоки имеют одинаковый уровень детализации ?

· Соразмерна ли сложность всех блоков?

· Отражает ли каждый блок какой-либо аспект блока родительской диаграммы?

Например, на рис. 10-1 нет замечаний, связанных с блоками данной диаграммы. Однако для блоков определить степень выполнения задания и обработать на станке и собрать можно было бы выбрать другие названия. Кроме того, имя блока выбрать инструменты может означать слишком простую функцию, поэтому новое наименование выбрать ручные инструменты может больше сообщить об их выборе.

10.2.2. Вопросы о связи с родительской диаграммой

Теперь зададим вопросы о связи диаграммы с ее родителем. При этом мы проверим, как диаграмма вписывается в модель.

· Все ли внешние дуги имеют ICOM-коды?

· Все ли ICOM-коды соединяют дуги с одним и тем же значением?

Рис. 10-2. Примеры расположения дуг

· Дополняют ли названия внешних дуг информацию, сообщаемую диаграммой?

· Не противоречит ли смысл анализируемой диаграммы смыслу родительской диаграммы ?

Замечания 3 и 4 на рис. 10-1 исправляют ошибку в названии дуги (12) станки и инструменты, а замечания 7 и 8 отражают развитие спора автора с самим собой относительно природы отходов и сырья - проблема, которая нередко возникает в связи с производственными процессами.

10.2.3. Вопросы о внутренних дугах

Вопросами о внутренних дугах обычно заканчивают поиск ошибок в диаграмме. Теперь, после разрешения основных вопросов, следует проанализировать детали диаграммы. Мы можем задать вопросы типа:

· Не слишком ли много внутренних дуг?

· Нет ли блоков без дуг управления?

· Нет ли блоков без выходных дуг?

· Правильно ли отражают дуги, представляющие ограничения, доминирование блоков?

· Верно ли решение диаграммы?

· Все ли важные обратные связи отражены?

· Все ли ошибочные ситуации учтены?

Замечания 1 и 2 на рис. 10-1 показывают, что автор изменил свое мнение относительно взаимоотношения дуги результаты обработки и внешнего входа сырье и заготовки. Окончательное решение заключается в том, что они не очень близки и должны быть разделены. Метка следующий шаг задания уточняет, что именно управляет функцией обработать на станке и собрать.

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

10.3.1. Альтернативная декомпозиция и объединение функций

Иногда у аналитика возникают сомнения относительно блоков диаграммы. На хорошей SADT-диаграмме блоки должны обладать некоторыми важными качествами:

· выполнять строго определенные функции;

· иметь одинаковую сложность;

· иметь одинаковый уровень детализации;

· просто соединяться с другими блоками диаграммы;

· воздействовать на управления, входы и выходы с определенным смыслом;

· работать вместе с другими блоками для выполнения функции диаграммы.

Попробуйте объединить функции и данные иначе или составьте новый список функций, если исходный набор блоков не позволяет осуществит! декомпозицию удачно. Вы можете это сделать и для того, чтобы убедиться в правильности исходного разбиения. Например, разделите блок обработать на станке и собрать на две функции. Вы увидите, что это очень просто, но при этом объем новой информации ничтожен. В данном случае исходное объединение обработки на станке и сборки в один блок на этом уровне модели является наилучшим.

Применяя эти приемы, помните, что критерий качества для блоков достаточно противоречив. Например, добиваясь одинаковой сложности блоков, вы можете усложнить соединения между ними, а упрощение связи между двумя блоками может скрыть какой-либо важный на данном уровне детализации факт. Основным для вас всегда должно быть наилучшее описание декомпозируемого объекта. Построение хороших блоков возможно только при достижении равновесия между требованиями к сложности соединения блоков и к достаточности уровня детализации.

10.3.2. Альтернативное объединение и разъединение дуг

Иногда можно обнаружить две дуги, которые начинаются и кончаются в одних и тех же местах диаграммы. То есть обе дуги начинаются и кончаются у одних и тех же блоков (см. рис. 10-2). В этом случае посмотрите на эти две дуги внимательно. Может оказаться, что их следует объединить в одну. Если вы можете придумать хорошее наименование, объединяющее названия этих дуг, объедините их. Если наличие двух дуг имеет определенный смысл, не объединяйте их. Объединение скрывает детали, поэтому не делайте это механически. Исчезновение деталей повредит диаграмме. Например, замечания 7 и 8 на рис. 10-1 отражают попытку объединить брак и сырье, отвергнутую из-за того, что они оказались различными вещами.

Вы можете обнаружить также дугу, описывающую два совершенно различных набора данных. В этом случае изучите дугу, чтобы оценить, приведет ли разделение ее на две к прояснению важных для диаграммы деталей. Будьте очень осторожны и старайтесь сохранить равновесие между стремлением к детализации и сохранением наглядности диаграммы. Например, дуги статус задания и незаконченное задание не были объединены в одну выходную дугу. Они отражают различные типы данных (первая - понятие, вторая - физическую реальность) и каждая влияет на свою часть родительской диаграммы и контролировать качество выполнения соответственно). Поэтому их раздельное изображение дает более ясную картину результатов работы блока определить степень выполнения задания.


Рис. 10-3. Пересмотренная диаграмма

Хороший способ оценки диаграммы заключается в рассмотрении сценариев ее работы. Вы представляете себе возможную ситуацию и смотрите, как работает диаграмма в заданных условиях. По мере развития сценария делайте пометки на диаграмме. Это даст вам возможность всегда повторить сценарий, а информация может помочь при декомпозиции блоков этой диаграммы. Таким образом, вы проверите и точность, и понятность изложенного в диаграмме.

Рассмотрим, что описывает диаграмма выполнить задание, начиная обрабатывать новое задание: изучается план выполнения задания и выбирается следующий шаг задания. Это определяет, какие выбрать инструменты и как подготовить рабочее место. Затем сырье и брак обрабатываются на станке и собираются и выдаются результаты обработки. Далее по этим результатам определяется степень выполнения задания и выбирается следующий шаг задания.

10.3.4. Схематичное изображение декомпозиции следующего уровня

Еще один хороший способ проверки правильности диаграммы - разложение одного - двух ее блоков. (При этом сохраняйте свои наброски, чтобы облегчить будущие декомпозиции этой диаграммы.) Детализация некоторой части новой диаграммы поможет определить сбалансированность декомпозиции и выявить неувязки в распределении функций между новыми блоками.

Например, диаграмма выполнить задание состоит из четырех блоков. Иногда диаграмму, состоящую из четырех блоков, можно декомпозировать по-другому, заменив ее диаграммой из пяти - шести блоков, которая будет ненамного сложнее, но более информативная. Однако, декомпозировав любой из блоков диаграммы выполнить задание, вы увидите, что каждый из них весьма содержателен. Несмотря на то, что на диаграмме выполнить задание четыре блока, каждый из них сам по себе достаточно сложен. Не имеет смысла соединять или разделять эти блоки для создания альтернативной диаграммы. Самый лучший способ продолжения этой части модели заключается, по-видимому, в сохранении этих четырех блоков с дальнейшей декомпозицией каждого из них.

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

Обычно, потратив время на вопросы к диаграмме, тестирование, выполнение альтернативных набросков, автор корректирует диаграмму. В ходе корректировки следите за правильным доминированием, выбором названий блоков, информативностью дуг и делайте пояснения. Помните, что теперь вы рисуете диаграмму, чтобы донести информацию в точном и понятном виде до читательской аудитории. Обращайтесь к рис. 10-3 по мере обсуждения конкретных методик корректировки.

10.4.1. Переопределение доминирования

Для того чтобы составить первое впечатление о выполняемых блоками функциях, читатель вашей диаграммы прочтет по порядку их наименования. Обеспечьте читателям верное первое впечатление от диаграммы, организовав блоки так, чтобы они как можно точнее указывали на взаимное влияние. Один из распространенных приемов для этого заключается в расположении наиболее доминантного блока в верхнем левом углу диаграммы, а наименее доминантного - в нижнем правом. Помните, что расположение блоков может облегчить или затруднить проведение дуг. Иногда вам придется жертвовать расположением блоков в порядке убывания доминантности ради простоты проведения дуг с тем, чтобы получить легко читаемую диаграмму. Например, блоки выбрать инструменты и подготовить рабочее место были определены как более доминантные, чем блок обработать на станке и собрать, по той простой причине, что они часто должны выполняться до того, как станки будут соответствующим образом использованы. Поэтому, несмотря на вспомогательную роль по отношению к блоку обработать на станке и собрать, блоки выбрать инструменты и подготовить рабочее место представляют собой очень важные шаги, предшествующие обработке, что и отражено в нумерации блоков.

10.4.2. Содержательные названия блоков

Для блоков обычно стараются выбрать содержательные название. Однако в SADT нет необходимости выражать все с помощью названий блоков, потому что о работе блока многое сообщают метки окружающих его дуг. Например, детали, сырье и брак превращаются в результаты обработки, в соответствии со следующим шагом задания. Читая дуги блока 4 на рис. 10-3, можно довольно хорошо разобраться в работе блока обработать на станке и собрать. Таким образом, более подробное название блоку не требуется. Оно может только затруднить понимание.

10.4.3. Дуги, хорошо передающие информацию о себе

Рисуя дуги, старайтесь располагать их аккуратно, минимизируя число пересечений и максимизируя пространство между ними. Правильное графическое расположение вносит большой вклад в повышение наглядности и понятности диаграммы. Помечайте дуги ясно и точно. Хотя определенное количество слов передает информацию лучше, следует ограничивать себя. Используйте лишнее слово, если ситуация этого требует. Сейчас как раз тот момент, когда необходимо учесть изложенные в главе 5 идеи, касающиеся более глубоких понятий, связанных с диаграммами и моделями.

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

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

Закончив построение диаграммы, поясните ее важные аспекты с помощью замечаний или дополнительного материала. Однако будьте осторожны с пояснениями: не используйте их как прикрытие плохого построения диаграмм. Проясняйте только те понятия, которые нельзя изобразить в виде блоков и дуг. Например, пометить дугу 11 на рис. 10-3 словом материалы и сделать замечание, что материалы - это сырье, заготовки, хуже, чем просто пометить дугу этими двумя этими словами. С другой стороны, описание типичных незаконченных заданий существенно облегчит объяснение того, как они должны быть завершены.

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

Создание диаграммы, ответы на связанные с ней вопросы и переделка ее обеспечивают более глубокое понимание родительской диаграммы и диаграмм - потомков вновь построенной диаграммы. Зафиксируйте свое понимание во время исправления диаграммы. (Это как раз тот случай, когда перенесение информации снизу-вверх естественным образом вписывается в технику декомпозиции.) Автор вынужден переносить информацию на другие диаграммы в трех ситуациях: при изменении меток внешних дуг, при появлении новых внешних дуг и при перераспределении функций.

Перенесение необходимо, если изменилось название внешней дуги. Перенесение измененных меток внешних дуг немедленно обеспечивает предоставление родительской диаграммой всех данных, необходимых диаграмме-потомку. Перенесение необходимо также, когда на новой диаграмме появляются новые входные или выходные дуги. Эти новые дуги должны так или иначе возникнуть на родительской диаграмме. Есть два пути сделать это: нарисовать новые дуги на родительской диаграмме или объединить дуги новой диаграммы в одну и изменить соответствующим образом метку дуги на родительской диаграмме. Делая это, соблюдайте правила соединения и разветвления дуг.

Перемещение блоков представляет самую сложную ситуацию. Оно происходит, когда функция (обычно на низком уровне модели) должна появиться, но не появляется на диаграмме, которую вы рисуете, а появляется на другой диаграмме модели, или наоборот. Перенести такую функцию, представленную блоком и всеми его дугами, с одной диаграммы на другую - нелегкое дело. Обычно это приводит к большим изменениям в метках дуг, появлению множества новых и исчезновению некоторых старых дуг. Иногда перемещение одного блока ведет к перемещению других блоков на различные диаграммы, вызывая целую волну изменений. Как правило, перемещение блока влечет за собой обилие технически сложной работы и может привести к ошибкам, если изменения не отслеживаются достаточно тщательно.

Методология SADT может использоваться для моделирования широкого круга систем и определения требований и функций, а затем для разработки системы, которая удовлетворяет этим требованиям и реализует эти функции. Для уже существующих систем SADT может быть использована для анализа функций, выполняемых системой, а также для указания механизмов, посредством которых они осуществляются.

Состав функциональной модели

Результатом применения методологии SADT является модель, которая состоит из диаграмм, фрагментов текстов и глоссария, имеющих ссылки друг на друга. Диаграммы - главные компоненты модели, все функции ИС и интерфейсы на них представлены как блоки и дуги. Место соединения дуги с блоком определяет тип интерфейса. Управляющая информация входит в блок сверху, в то время как информация, которая подвергается обработке, показана с левой стороны блока, а результаты выхода показаны с правой стороны. Механизм (человек или автоматизированная система), который осуществляет операцию, представляется дугой, входящей в блок снизу(рис.1.).

Одной из наиболее важных особенностей методологии SADT является постепенное введение все больших уровней детализации по мере создания диаграмм, отображающих модель.

Рис 1. Функциональный блок и интерфейсные дуги

На рисунке 2, где приведены четыре диаграммы и их взаимосвязи, показана структура SADT-модели. Каждый компонент модели может быть декомпозирован на другой диаграмме. Каждая диаграмма иллюстрирует "внутреннее строение" блока на родительской диаграмме.

Иерархия диаграмм

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

Затем блок, который представляет систему в качестве единого модуля, детализируется на другой диаграмме с помощью нескольких блоков, соединенных интерфейсными дугами. Эти блоки представляют основные подфункции исходной функции. Данная декомпозиция выявляет полный набор подфункций, каждая из которых представлена как блок, границы которого определены интерфейсными дугами. Каждая из этих подфункций может быть декомпозирована подобным образом для более детального представления.

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

Модель SADT представляет собой серию диаграмм с сопроводительной документацией, разбивающих сложный объект на составные части, которые представлены в виде блоков. Детали каждого из основных блоков показаны в виде блоков на других диаграммах. Каждая детальная диаграмма является декомпозицией блока из более общей диаграммы. На каждом шаге декомпозиции более общая диаграмма называется родительской для более детальной диаграммы.

Дуги, входящие в блок и выходящие из него на диаграмме верхнего уровня, являются точно теми же самыми, что и дуги, входящие в диаграмму нижнего уровня и выходящие из нее, потому что блок и диаграмма представляют одну и ту же часть системы.

Рис.2. Структура SADT-модели. Декомпозиция диаграмм

На рисунках 3 - 5 представлены различные варианты выполнения функций и соединения дуг с блоками.

Рис. 3. Одновременное выполнение

Рис. 4. Соответствие должно быть полным и непротиворечивым

Некоторые дуги присоединены к блокам диаграммы обоими концами, у других же один конец остается неприсоединенным. Неприсоединенные дуги соответствуют входам, управлениям и выходам родительского блока. Источник или получатель этих пограничных дуг может быть обнаружен только на родительской диаграмме. Неприсоединенные концы должны соответствовать дугам на исходной диаграмме. Все граничные дуги должны продолжаться на родительской диаграмме, чтобы она была полной и непротиворечивой.

На SADT-диаграммах не указаны явно ни последовательность, ни время. Обратные связи, итерации, продолжающиеся процессы и перекрывающиеся (по времени) функции могут быть изображены с помощью дуг. Обратные связи могут выступать в виде комментариев, замечаний, исправлений и т.д. (рисунок 5).

Рис. 5. Пример обратной связи

Как было отмечено, механизмы (дуги с нижней стороны) показывают средства, с помощью которых осуществляется выполнение функций. Механизм может быть человеком, компьютером или любым другим устройством, которое помогает выполнять данную функцию (рисунок 6).

Рис. 6. Пример механизма

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

Для того, чтобы указать положение любой диаграммы или блока в иерархии, используются номера диаграмм. Например, А21 является диаграммой, которая детализирует блок 1 на диаграмме А2. Аналогично, А2 детализирует блок 2 на диаграмме А0, которая является самой верхней диаграммой модели. На рисунке 7 показано типичное дерево диаграмм.

Рис. 7. Иерархия диаграмм

Типы связей между функциями

Одним из важных моментов при проектировании ИС с помощью методологии SADT является точная согласованность типов связей между функциями. Различают по крайней мере семь типов связывания:

Читайте также: