Одной из методологий, ориентированных на исследование предметной области и описание процессов, является SADT-методология и технология структурного анализа и проектирования.SADT (Structured Analysis and Design Technique) была предложена Россом в 1973 году. Основным рабочим элементом при моделировании является диаграмма. Модель SADT объединяет и организует диаграммы в иерархические древовидные структуры, при этом, чем выше уровень диаграммы, тем она менее детализирована. В состав диаграммы входят блоки, изображающие функции моделируемой системы, и дуги, связывающие блоки вместе и изображающие взаимодействия и взаимосвязи между блоками.
Блоки на диаграммах изображаются прямоугольниками и сопровождаются текстами на естественном языке, описывающим функции. При этом каждая сторона блока имеет вполне определенное назначение: левая сторона предназначена для Входов (Input – I),верхняя – для Управления (Control – C),правая – для Выходов (Output – O), нижняя – для Механизмов (Mechanism - M).Такое обозначение отражает определенные принципы функционирования системы: Вводы преобразуются в Выходы, Управления ограничивают или предписывают условия выполнения, Механизмы описывают, за счет чего выполняются преобразования.
Дуги в SADT представляют наборы предметов (данных) и маркируются текстами на естественном языке. Данные могут состоять с функциями в четырех возможных отношениях: Вход, Выход, Управление, Механизм. Каждое из этих отношений изображается дугой, связанной с определенной стороной блока. Входные дуги изображают данные, используемые и преобразуемые функциями. Управляющие дуги изображают информацию, управляющую действиями функций. Выходные дуги изображают данные, в которые преобразуются входы. Дуги механизмов отражают методы и способы реализации функций.
Блоки на диаграмме размещаются на «ступенчатой» схеме в соответствии с их доминированием, которое понимается как влияние, оказываемое одним блоком на другие. Кроме того, блоки должны быть пронумерованы в соответствии с их доминированием. Номера блоков служат однозначными идентификаторами для функций и автоматически организуют эти функции в иерархическую модель.
В SADT требуются только пять типов взаимосвязей между блоками для описания их отношений: Управление, Вход, Обратная Связь по Управлению, Обратная Связь по Входу, Выход-Механизм (Схема 29). Отношения Управления и Входа являются простейшими, поскольку они отражают интуитивно очевидные прямые воздействия.
Схема 29. Отображение бизнес-функций
Отношение Управления возникает тогда, когда Выход одного блока непосредственно влияет на блок с меньшим доминированием. Отношение Входа возникает тогда, когда Выход одного блока становится Входом для блока с меньшим доминированием. Обратные связи более сложны, поскольку они выражают рекурсию или итерацию – Выходы из одной функции влияют на будущее выполнение других функций, что в последствии влияет на исходную функцию. Обратная Связь по Управлению возникает тогда, когда Выход некоторого блока влияет на блок с большим доминированием, а Обратная Связь по Входу имеет место, когда Выход одного блока становится Входом другого с большим доминированием. Отношение Выход – Механизм отражают ситуацию, при которой Выход одной функции становится средством достижения цели другой функции.
Дуги в SADT, как правило, изображают наборы данных, поэтому они могут разветвляться и соединяться вместе различным образом. Разветвления дуги означает, что часть ее содержимого (или весь набор данных) может появиться в каждом ответвлении дуги. Дуга всегда помечается до разветвления, чтобы дать название всему набору данных. Кроме того, каждая ветвь дуги может быть помечена в соответствии со следующими правилами: считается, что непомеченная одержит все данные, указанные в метке перед разветвлением; каждая метка ветви уточняет, что именно содержит эта ветвь. Слияние дуг указывает, что содержимое каждой ветви участвует в формировании после слияния объединенной дуги. После слияния дуга всегда помечается для указания нового набора, кроме того, каждая ветвь перед слиянием может помечаться в соответствии со следующими правилами: считается, что непомеченные ветви содержат все данные, указанные в общей метке после слияния; каждая метка ветви уточняет, что именно содержит эта ветвь.
Создание функциональных моделей и диаграмм происходит в следующей последовательности:
1. Сбор информации.
2. Декомпозиция объекта исследования.
3. Моделирование:
3.1. Выбор цели.
3.2. Составление списка данных.
3.3. Составление списка функций.
3.4. Построение и обобщение диаграммы А0 (А0 – А-0).
3.5. Декомпозиция ограниченного объекта.
3.6. Итерационный процесс рецензирования.
3.7. Завершение моделирования.
3.8. Документирование.
Начало моделирования в SADT означает создание диаграмм А0 и А-0, которые затем могут быть отрецензированы. Эти две диаграммы полностью рассказывают все об изучаемой системе с минимальной степенью детализации. Прежде чем начать моделирование необходимо подготовиться к нему, собрать информацию, декомпозировать объект исследования (декомпозиция – диаграмма А0 освещает наиболее важные функции и объекты системы), затем обобщить эту декомпозицию (диаграмма А-0 трактует систему как черный ящик, дает ей название и определяет наиболее важные входы, управления, выходы и механизмы).
Сбор информации может включать любую комбинацию следующих видов деятельности: чтение документов, наблюдение за существующими операциями, анкетирование группы экспертов, опрос одного или нескольких экспертов, использование собственных знаний и придуманного описания работы системы, которое впоследствии может быть откорректировано.
Декомпозируя объект, необходимо, прежде всего, обратить внимание на входные и выходные данные всей системы. Декомпозиция всей системы начинается с составления списка основных типов данных и основных функций системы. Делая это, мы, мысленно просматриваем основные функции системы, учитывая все нормальные и аномальные ситуации, обратные связи и случаи возможных ошибок. Эти списки снабжаются комментариями. Списки с комментариями используются для создания диаграммы А0, которая затем обобщается с помощью диаграммы А-0.
Цель и точка зрения модели определяется на самой ранней стадии создания модели. Выбор цели осуществляется с учетом вопросов, на которые должна ответить модель, а выбор точки зрения – в соответствии с выбором позиции, с которой описывается модель. Если выбор цели и точки зрения затруднен, то можно вначале построить диаграммуА0, и с ее помощью установить это. Иногда приходится строить несколько альтернативных диаграмм А-0 для достаточной уверенности в правильности выбранной цели и точки зрения.
Помочь нам могут списки данных и списки функций. При этом лучше, если данных больше, чем меньше. Данные можно сразу группировать по типам. Функции системы тоже лучше объединить по типу используемых данных. Затем функции объединяются в группы (от 3 до 6). Желательно, чтобы эти группы имели один и тот же уровень сложности, содержали примерно одинаковый объем действий и функции в каждой из них имели сходные операции и цели.
Исходное содержание диаграммы А0 обеспечивают списки данных и функций. Вначале изображаются блоки в соответствии с их доминированием. Затем основные дуги, представляющие ограничения. Эти дуги всегда являются внешними, так как представляют данные, поступающие из непосредственного окружения системы. В завершении изображаются все оставшиеся дуги.
Обобщение является последним важным шагом начального этапа моделирования. Для любой SADT – диаграммы есть родительская диаграмма, содержащая ее контекст. Контекстом для А0 служит А-0, представляющая обобщение всей модели. Эта диаграмма имеет несколько назначений: она объявляет общую функцию всей системы, дает множество основных типов или наборов данных, которые использует или производит система, указывает взаимоотношения между основными типами данных, производя их разграничение. Для построения А-0 в центре бланка рисуют один большой блок, название которого совпадает с названием диаграммы А0. Все внешние дуги диаграммы А0 изображаются на диаграмма А-0 входящими в соответствующую сторону блока. Далее на диаграмме выписывается цель и точка зрения модели.
Продолжение моделирования (декомпозиция ограниченного объекта) основывается на тех же методах и выводит модель на следующий уровень детализации. Этот процесс является рекурсивным. Начало процесса декомпозиции заключается в выборе блока рассматриваемой диаграммы и рассмотрении объекта, определяемого этим блоком и его дугами. При этом надо учесть, что рассматривать следует в первую очередь такой блок, декомпозиция которого выявит многие аспекты диаграммы А0 и будет оказывать большее влияние на будущие декомпозиции других блоков этой системы. При выборе самого содержательного блока нужно учесть и доминирование, и функциональную сложность и понятность. Лучшим блоком для первой декомпозиции будет тот, который позволит наиболее глубоко проникнуть в суть рассматриваемой системы. Детализация блока производится путем составления списка данных и списка функций и последующего построения диаграммы. Если Вы сомневаетесь, стоит ли включать некоторые блоки и дуги в диаграмму, то лучше ее включить, снабдив соответствующими записями.
Одна из самых важных проблем, возникающих при моделировании – когда следует завершить построение конкретной модели. SADT-модели иерархичны и поэтому их размер может увеличиваться со скоростью геометрической прогрессии. Хотя многие SADT-модели имеют глубину 5-6 уровней, они чаще всего состоят не более чем из нескольких десятков диаграмм. Декомпозиция модели или ее части прекращается, если модель достигла уровня детализации, достаточного для достижения цели. Декомпозиция блока может быть прекращена, если окажется, что функции блока очень сходны с другой частью модели, которая уже декомпозирована. Таким образом, достаточность деталей, изменение уровня абстракции, изменение точки зрения и сходная функциональность являются основными критериями для прекращения декомпозиции.
Сетевые графики
Помимо других графических методов, в управлении в целом и в исследованиях СУ в частности используются сетевые графики. Сетевой график - полная графическая модель направленная на выполнение единого задания комплекса работ, в которой представлена логическая взаимосвязь, последовательность работ и взаимосвязь между ними. Основными элементами сетевого графика являются работа, событие, критический путь.
Событие - результат (но не процесс) предшествующего ему управленческого или производственного процесса. События могут быть исходными, завершающими, начальными и конечными.
Пример сетевого графика приведен на схеме 30, а в таблице 2 дан план работ по созданию и внедрению конкретной автоматизированной финансово-управленческой системы.
Работа на сетевом графике является действием, которое следует совершить для перехода от одного события к другому. Для каждой работы на графике может быть указана ее продолжительность (в днях, часах или минутах).
Вся непрерывная последовательность работ на графике составляет путь определенной суммарной продолжительности. Этой продолжительности следует уделять особое внимание, так как при сравнении продолжительности всех путей на графике (от исходного до завершающего события) можно определить тот, который имеет по продолжительности наибольшее значение. Его называют критическим, поскольку он обусловливает время окончания всего комплекса работ.
События на графике отображаются в виде кружков с номером события внутри, а работы - в виде стрелок, направленных от начального события к следующему, а в итоге к конечному. Событий с одинаковыми номерами и работ с одними же кодами не должно быть. При необходимости вводят промежуточные события.
Схема 30. Сетевой график плана разработки и внедрения