Технологии анализа, планирования и модификации систем
Технократический подход в СА Предпосылки: Необходимость планирования, анализа и модификации сложных систем при ограниченных возможностях аналитиков Повсеместная потребность в формализованных технологиях Алгоритмический стиль мышления аналитиков Развитие компьютерных технологий – автоматизация процесса описания систем Необходимость привлечения специалистов различных областей знаний Необходимость единых стандартов описания История возникновения: США и Европа, с 1960-х Две основные области распространения и применения Бизнес-консалтинг (реинжениринг) Современные системы вооружений (Пентагон)
Пример Этапы реструктуризации деятельности компании Обследование существующей бизнес-архитектуры, бизнес- процессов, бизнес-правил и информационных потоков Идентификация «узких мест», влияющих на эффективность деятельности и стоимость предприятия Формирование и обоснование «нормативной модели» бизнес- процессов и информационных потоков Разработка и реализация мероприятий по переходу от существующей модели (as is) к нормативной модели (to be) Разработка и сопровождение информационной системы предприятия
Структурно-функциональный анализ и проектирование систем Методология SADT (Structure analysis and design technique) Формальное описание структурных связей, входящих и исходящих потоков, управлений и требующихся ресурсов Применяется для документирования, анализа, планирования и модификации систем Система стандартов IDEF Integrated computer-aided manufacturing DEFinition IDEF_0 – функциональное моделирование IDEF_3 – моделирование деятельности (описание процессов) DFD – (data flow diagram) анализ потоков данных
Функциональная модель (IDEF_0) Система как набор действий, в котором каждое действие преобразует объект или набор объектов Функциональный блок – основной структурный элемент Название блока отвечает выполняемому действию (глагол или отглагольное существительное) Взаимодействие элемента с внешней средой и другими элементами отображается с помощью стрелок
Пример: функциональный блок Распределение поступивших доходов Доходы из разных источников Принципы распределения доходов Информация о накопленных сбережениях Семейный совет Текущие расходы Новые сбережения
Синтаксис моделей IDEF_0 Модель IDEF_0: комплект взаимосвязанных функциональных блоков с возможной декомпозицией отдельных элементов Назначение модели – набор вопросов, на которые должна отвечать модель Границы моделирования – отделение внешней среды Целевая аудитория – кто является потребителем создаваемой модели Точка зрения – перспектива, с которой наблюдалась система при построении модели
Классификация связей («стрелок») Вход (I, input): все, что потребляется (изменяется) в ходе выполнения процесса в данном функциональном блоке /ЛЕВАЯ граница функционального блока/ Управление (C, control) – ограничения и инструкции, влияющие на ход выполнения процесса /ВЕРХНЯЯ граница функционального блока/ Выход (O, output) – все, что является результатом выполнения процесса /ПРАВАЯ граница функционального блока/ Механизм (M, mechanism) – все, что используется, но не изменяется в ходе выполнения процесса /НИЖНЯЯ граница функционального блока/ Как правило, для названия стрелок используются имена существительные
Пример: типы связей Функциональный блок Вход Управление Механизм исполнения Выход
Комбинации связей Выход – вход: исходный блок должен завершить работу до начала работы следующего за ним блока Выход – управление: функциональное преобладание одного блока над другим Выход – механизм: результат действия одного блока является инструментом деятельности другого блока Выход – обратная связь на управление: отражает контроль коррекции исполнения действий Выход – обратная связь на вход: используется для описания циклических (повторяющихся процессов)
Инструкция по калькуляции Стипендия Пенсия Примеры комбинированных связей Формирование принципов распределения доходов Калькуляция доходов и сбережений Распределение доходов и сбережений Текущие расходы Новые сбережения Семейный совет Правила арифметики Ответственный за калькуляцию Общие доходы и сбережения Принципы распределения доходов Информация о (не)достаточности расходов Знания, навыки, умения, социальные установки
Особенности оформления Нумерация функциональных блоков Производится последовательно на каждом уровне иерархии. Верхний уровень имеет индекс 0 Вложенные блоки имеют двойную (тройную, …) нумерацию Ограничение на ширину и глубину модели До 4-5 блоков на одной диаграмме До 3-4 уровней иерархии на одного аналитика
Моделирование деятельности в динамике (IDEF_3) Способ структурированного описания процессов в виде упорядоченной последовательности событий с одновременным описанием объектов, имеющих непосредственное отношение к моделируемым процессам Отвечает стратегии декомпозиции системы по жизненному циклу Дополняет (либо замещает) функциональную модель IDEF_0
Синтаксис и семантика моделей IDEF_3 (в терминах бизнес-процессов) Модель IDEF_3 – это сценарий бизнес-процесса, который выделяет последовательность действий или подпроцессов анализируемой системы Основной единицей моделирования является диаграмма или набор взаимосвязанных диаграмм, состоящих из блоков-действий и связей между ними Сценарий документируется, результатом документирования является алгоритм действий исполнителя либо, в более общем случае, его должностная инструкция
Синтаксис диаграммы в модели IDEF_3 Единица моделирования – действие («работа») – отображается блоком, включающим: название действия – глагол, глагольная фраза, отглагольное существительное уникальный идентификационный номер, включающий последовательный номер текущего действия и номер «родительского» действия Связи выделяют существенные взаимоотношения между действиями. все связи в IDEF_3 являются однонаправленными могут начинаться или оканчиваться на любой стороне блока-действия обычно организуются «слева направо» (иногда также «сверху вниз») Соединения – выполняют регламентирующую роль в последовательном взаимодействии блоков при ветвлении процессов
Типы связей в моделях IDEF_3 «Временное предшествование» указывает, что исходное действие должно полностью завершиться, прежде чем начнется выполнение последующего действия отображается одиночной стрелкой «Объектный поток» объект, являющийся результатом выполнения предшествующего действия, необходим для выполнения конечного действия отображается двойной стрелкой Нечеткое отношение определяет дополнительные условия, необходимые для корректного перехода от исходного действия к последующему действию отображается пунктиром и сопровождается текстовым описанием
Типы соединений в моделях IDEF_3 «Разворачивающее» - разбиение (ветвление) потока «Сворачивающее» – объединение потоков Соединение «И» (&) Каждое последующее действие должно инициироваться Каждое предшествующее действие должно завершиться Соединение «ИЛИ» (O) Хотя бы одно последующее действие должно инициироваться Хотя бы одно предшествующее действие должно завершиться Соединение «исключающее ИЛИ» (X) Ровно одно последующее действие должно инициироваться Ровно одно предшествующее действие должно завершиться
Некоторые практические советы Составление списка данных Составление списка функций Составление «глоссария» Несколько вариантов декомпозиции первого уровня, выбор лучшего варианта Выделение новых структурных блоков Выделение подсистем Грамотный дизайн диаграммы
Признаки хорошей диаграммы Каждый блок диаграммы должен обладать следующими свойствами: Выполнять строго определенные функции Иметь одинаковую сложность Иметь одинаковый уровень детализации Просто соединяться с другими блоками диаграммы Воздействовать на управления, входы и выходы с определенным смыслом Работать вместе с другими блоками для выполнения функций диаграммы
Контрольные вопросы о блоках Представляют ли блоки содержательную декомпозицию системы? Не выглядит ли диаграмма запутанной? Все ли блоки соответствуют точке зрения модели? Несут ли блоки достаточный объем новой информации? Все ли блоки имеют одинаковый уровень детализации? Соразмерна ли сложность всех блоков? Отражает ли каждый блок какой-либо аспект блока родительской диаграммы?
Контрольные вопросы о дугах Не слишком ли много внутренних дуг? Нет ли блоков без дуг управления? Нет ли блоков без выходных дуг? Все ли обратные связи отражены? Все ли ошибочные ситуации учтены?
Более глубокие концепции Модели SADT структурируют естественный язык Универсальная форма чтения диаграммы: «Блок B преобразует входы I в выходы O при ограничениях (управлениях) C с помощью механизмов M» Точка зрения модели влияет на расстановку акцентов и терминологию Дуги имеют различное содержание могут быть подвергнуты декомпозиции могут быть «помещены в тоннель» различия между входными дугами и дугами управления дуги механизмов определяют способы реализации функций