
Лекции ОДП / Лекция 2 Структурный анализ систем
.docЛекция 2
Структурный анализ систем
Содержание
1 Структурный анализ как метод исследования бизнес систем
2 Информационная модель системы
1 Структурный анализ как метод исследования бизнес систем
В основе деятельности по бизнес-моделированию, бизнес-анализу, организации/реорганизации бизнес-процессов лежит цикл реорганизации бизнес-процесса, включающий следующие основные этапы:
-
проведение организационных мероприятий, регламентирующих проведение работ по улучшению бизнес-процессов;
-
изучение процессов, включая их понимание, анализ и выявление узких мест;
-
анализ предложений по реорганизации;
-
выбор и аргументация приемлемого варианта;
-
собственно реализация улучшения.
Решение задач, стоящих на этапах изучения, анализа и выбора, невозможно без применения специальных методов системного анализа и моделирования из-за сложности и масштабности возникающих проблем. Любое современное предприятие или учреждение является чрезвычайно сложной системой. Способность понять, как эта система функционирует в деталях, находится за пределами человеческих возможностей. И только моделирование, по сути упрощающее систему до требуемого уровня адекватности, обеспечивает возможность принятия аргументированных решений по ее модификации.
Во многих аспектах системный анализ и моделирование являются чрезвычайно сложными и трудоемкими процессами. Ниже перечислены проблемы, с которыми сталкивается системный аналитик, они взаимосвязаны (и это является одной из главных причин их трудноразрешимости):
-
аналитику сложно получить исчерпывающую информацию о бизнес- системе;
-
эксперт предметной области, в свою очередь, не имеет достаточной ин формации о проблематике системного анализа и моделирования;
-
аналитик сталкивается с чрезмерным количеством подробных сведений как о предметной области вообще, так и о конкретной бизнес-системе;
-
язык эксперта, в изобилии использующий специальные термины, часто непонятен для аналитика.
Все эти (и многие другие) проблемы могут быть существенно облегчены за счет применения комплекса современных методов, среди которых центральное место занимают методологии структурного системного анализа.
Структурным анализом принято называть метод исследования системы, которое начинается с ее общего обзора и затем детализируется, приобретая иерархическую структуру с все большим числом уровней. Для таких методов характерно:
разбиение на уровни абстракции с ограничением числа элементов на каждом из уровней (обычно от 3 до 6 - 7);
ограниченный контекст, включающий лишь существенные на каждом уровне детали;
использование строгих формальных правил записи;
последовательное приближение к конечному результату.
Все методологии структурного анализа базируются на ряде общих принципов, регламентирующих организацию работ по моделированию и анализу бизнес-систем. В качестве двух базовых принципов используются следующие: принцип «разделяй и властвуй» и принцип иерархического упорядочивания. Первый является принципом решения трудных проблем путем разбиения их на множество меньших независимых задач, легких для понимания и решения (так называемых «черных ящиков» - его пользователю не требуется знать, как он работает, необходимо знать лишь его входы и выходы, а также его назначение, т.е. функцию, которую он выполняет). Второй принцип в дополнение к тому, что легче понимать систему, когда она разбита на части, декларирует, что устройство этих частей также существенно для понимания. Понимаемость системы резко повышается при организации ее частей в древовидные иерархические структуры, т.е. система может быть понята и построена по уровням, каждый из которых добавляет новые детали.
Важным моментом облегчения понимаемости сложных систем является широкое использование структурными методами графических нотаций. Известно, что «одна картинка стоит тысячи слов», читатель впитывает такое описание с первого взгляда.
Вышеизложенное не означает, что остальные принципы структурного анализа являются второстепенными, игнорирование любого из перечисленных ниже принципов может привести к непредсказуемым последствиям (в том числе и к неуспеху всего проекта). Прокомментируем наиболее важные из принципов.
-
Принцип абстрагирования - заключается в выделении существенных с некоторых позиций аспектов системы и отвлечении от несущественных ее аспектов с целью представления системы в простом общем виде.
-
Принцип формализации - заключается в необходимости строгого методологического подхода к решению проблемы.
-
Принцип доступности - заключается в ограничении доступа к несущественной на конкретном этапе информации: каждая часть «знает» только необходимую ей информацию.
-
Принцип полноты - заключается в контроле на присутствие лишних элементов.
-
Принцип непротиворечивости - заключается в обоснованности и согласованности элементов.
-
Принцип независимости данных - заключается в том, что модели данных должны быть проанализированы и спроектированы независимо от процессов их обработки.
Следование всем принципам в комплексе позволяет на более ранних стадиях проекта понять, что представляет собой моделируемая система, обнаружить промахи и недоработки. Фактически структурный анализ снабжает всех участников проекта общим языком, с одной стороны, - достаточно строгим и формализованным, с другой - простым и интуитивно понятным.
В настоящее время известно около 90 разновидностей структурного системного анализа, однако практически все активно используемые методологии могут быть разбиты на две группы - применяющие методы и технологию диаграмм потоков данных DFD (в различных нотациях) и использующие SADT-методологию (точнее ее стандартизированное подмножество IDEF0).
2 Информационная модель системы
DFD-технологии предполагают использование диаграмм «сущность-связь» (ERD) для разработки информационных моделей и обеспечения стандартного способа определения данных и отношений между ними. Фактически с помощью ERD осуществляется детализация накопителей данных DFD-диаграммы, а также документируются информационные аспекты бизнес-системы, включая идентификацию объектов, важных для предметной области (сущностей), свойств этих объектов (атрибутов) и их связей с другими объектами (отношений)
Сущность представляет собой множество экземпляров реальных или абстрактных объектов (людей, событий, состояний, идей, предметов и т.п.), обладающих общими атрибутами или характеристиками. Любой объект системы может быть представлен только одной сущностью, которая должна быть уникально идентифицирована. При этом имя сущности должно отражать тип или класс объекта, а не его конкретный экземпляр (например, АЭРОПОРТ, а не ВНУКОВО).
Отношение в самом общем виде представляет собой связь между двумя и более сущностями. Фактически отношение является ассоциацией между сущностями, при которой каждый экземпляр одной сущности ассоциируется с произвольным (в том числе и нулевым) количеством экземпляров другой сущности, и наоборот. Именование отношения осуществляется с помощью грамматического оборота глагола {ИМЕЕТ, ОПРЕДЕЛЯЕТ, МОЖЕТ ВЛАДЕТЬ и т.п.).
Другими словами, сущности представляют собой базовые типы информации, необходимые системе, а отношения показывают, как эти типы данных взаимоувязаны друг с другом.
Для идентификации-требований, в соответствии с которыми сущности вовлекаются в отношения, используются связи. Каждая связь соединяет сущность и отношение и может быть направлена только от отношения к сущности. Значение связи характеризует ее тип и, как правило, выбирается из следующего множества: {«О или 1», «О или более», «1», «1 или более», «p:q» ( диапазон )}. Пара значений связей, принадлежащих одному и тому же отношению, определяет тип этого отношения. Практика показала, что для моделирования большинства систем достаточно использовать следующие типы отношений:
1) 1*1 (один-к-одному). Отношения данного типа используются, как правило, на верхних уровнях иерархии модели данных, а на нижних уровнях встречаются сравнительно редко;
2) \*п (один-ко-многим). Отношения данного типа являются наиболее часто используемыми;
3) п*т (многие-ко-многим). Отношения данного типа обычно используются на ранних этапах моделирования с целью прояснения ситуации. В дальнейшем каждое из таких отношений должно быть преобразовано в комбинацию отношений типов 1 и 2 (возможно, с добавлением вспомогательных сущностей и с введением новых отношений).
Сущность на ERD представляется прямоугольником любого размера, содержащим внутри себя имя сущности, список имен атрибутов (возможно, неполный) и указатели ключевых атрибутов (знак «#» перед именем атрибута).
Отношения представляются линиями, соединяющими сущности и состоящими из двух частей (соответствующих паре связей), для которых должны быть определены имя, степень множественности (один или много объектов участвуют в связи) и степень обязательности (т.е. обязательная или необязательная связь между сущностями).
Выбор той или иной структурной методологии напрямую зависит от предметной области, для которой создается модель. Предметом бизнес-консалтинга являются бизнес-системы (точнее, их функционирование). Для моделирования таких систем традиционно используется методология IDF0.
Следует отметить, что не существует принципиальных ограничений в использовании DFD в качестве средства построения статических моделей бизнес-процессов.
Методология IDF0 успешно работает только для реорганизации хорошо специфицированных и стандартизованных западных бизнес-процессов, поэтому она и принята на Западе в качестве типовой. Например, в Министерстве обороны США десятки лет существуют четкие должностные инструкции и методики, которые жестко регламентируют деятельность, делают ее высокотехнологичной и ориентированной на бизнес-процесс. В российской действительности с ее слабой типизацией бизнес-процессов, их стихийным появлением и развитием разумнее ориентироваться на методологию организации и (или) реорганизации потоков информации и отношений: для таких задач методологии, основанные на потоковых диаграммах, не просто допустимы, а являются единственно возможными.
Если же речь идет об информационно-технологическом консалтинге, где методологии применяются к системам обработки информации, а не к системам вообще, как это предполагается в IDF0, то здесь DFD вне конкуренции. Практически любой класс систем успешно моделируется при помощи DFD-ориентированных методов: в этом случае вместо реальных объектов рассматриваются отношения, описывающие свойства этих объектов и правила их поведения. Примерами таких систем служат системы документооборота, управления и другие системы, богатые разнообразными отношениями.
IDF0-диаграммы значительно менее выразительны и удобны для моделирования систем обработки информации. Так, дуги в IDF0 жестко типизированы (вход, выход, управление, исполнитель). В то же время применительно к системам обработки информации стирается смысловое различие между входами-выходами, с одной стороны, и управлениями и механизмами - с другой: входы, выходы и управления являются потоками данных и(или) управления и правилами их трансформации.
В IDF0 вообще отсутствуют выразительные средства для моделирования особенностей систем обработки информации. DFD с самого начала создавались как средство проектирования информационных систем и имеют более богатый набор элементов, адекватно отражающих специфику таких систем (например, накопители данных являются прообразами файлов или баз данных, внешние сущности отражают взаимодействие моделируемой системы с внешним миром).
Наличие мини-спецификаций DFD-процессов нижнего уровня позволяет преодолеть логическую незавершенность IDF0 (а именно обрыв модели на некотором достаточно низком уровне, когда дальнейшая ее детализация становится бессмысленной) и построить полную функциональную спецификацию разрабатываемой системы. Это позволит расширить возможности применения созданной модели (например, ее можно будет использовать для автоматизированного и быстрого обучения новых работников конкретному направлению деятельности).
Главным достоинством любых моделей является возможность их интеграции с моделями других типов. В данном случае речь идет о согласованности функциональных моделей со средствами моделирования данных и поведения системы.
Важная характеристика методологии - ее совместимость с последующими этапами применения результатов моделирования (и прежде всего с этапами автоматизации бизнес-процесса, опирающимися на результаты его моделирования).
DFD могут быть легко преобразованы в модели проектирования информационной системы (структурные карты) - это близкие модели. Более того, известен ряд алгоритмов автоматического преобразования иерархии DFD в структурные карты различных видов, что обеспечивает логичный и безболезненный переход от этапа моделирования бизнеса к проектированию системы. С другой стороны, авторам неизвестны формальные методы преобразования IDF0-диаграмм в проектные решения системы автоматизации.
В заключение необходимо отметить, что рассмотренные разновидности структурного анализа по сути - два приблизительно одинаковых по мощности языка для передачи понимания. И одним из основных критериев выбора является следующий: насколько хорошо каждым из этих языков владеет консультант или аналитик, насколько грамотно он может на этом языке выражать свои мысли. Авторам неоднократно приходилось рецензировать как изумительные по стройности и строгости IDF0-модели, так и ни на что не годные модели, выполненные в DFD-технологии.