Технологии анализа, планирования и модификации систем
Технократический подход в СА Предпосылки:Необходимость планирования, анализа и модификации сложных систем при ограниченных возможностях аналитиковПовсеместная потребность в формализованных технологияхАлгоритмический стиль мышления аналитиковРазвитие компьютерных технологий – автоматизация процесса описания системНеобходимость привлечения специалистов различных областей знаний Необходимость единых стандартов описания История возникновения:США и Европа, с 1960-хДве основные области распространения и примененияБизнес-консалтинг (реинжениринг)Современные системы вооружений (Пентагон)
Пример Этапы реструктуризации деятельности компанииОбследование существующей бизнес-архитектуры, бизнес-процессов, бизнес-правил и информационных потоковИдентификация «узких мест», влияющих на эффективность деятельности и стоимость предприятияФормирование и обоснование «нормативной модели» бизнес-процессов и информационных потоковРазработка и реализация мероприятий по переходу от существующей модели (“as is”) к нормативной модели (“to be”) Разработка и сопровождение информационной системы предприятия
Структурно-функциональный анализ и проектирование систем Методология SADT (Structure analysis and design technique)Формальное описание структурных связей, входящих и исходящих потоков, управлений и требующихся ресурсовПрименяется для документирования, анализа, планирования и модификации систем Система стандартов IDEFIntegrated computer-aided manufacturing DEFinitionIDEF_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»Точка зрения модели влияет на расстановку акцентов и терминологиюДугиимеют различное содержаниемогут быть подвергнуты декомпозициимогут быть «помещены в тоннель»различия между входными дугами и дугами управлениядуги механизмов определяют способы реализации функций