Слайд 1Структурный подход к проектированию ИС
Сущность структурного подхода
Слайд 2Общие сведения
Метод SADT разработан Дугласом Россом(SoftTech
Inc.) в 1973 г. На
основе SADT по инициативе
Министерства обороны США было разработано
семейство стандартов
IDEFx (Icam DEFinition, x –
номер стандарта),где ICAM – Integrated Computer Aided
Manufacturing (интегрированная компьютеризация
производства).
Метод SADT представляет собой совокупность правил
и процедур, предназначенных для построения
функциональной модели объекта какой-либо
предметной области.
Слайд 3Функциональная модель SADT
Функциональная модель SADT отображает
функциональную структуру объекта, т.е.
производимые
им действия и связи между этими действиями.
Основные элементы
этого метода основываются на
следующих концепциях:
графическое представление блочного моделирования.
Графика блоков и дуг SADT-диаграммы отображает функцию в виде блока, а интерфейсы входа-выхода представляются дугами, соответственно входящими в блок и выходящими из него.
Взаимодействие блоков друг с другом описывается посредством интерфейсных дуг, выражающих "ограничения", которые определяют, когда и каким образом функции выполняются и управляются;
Слайд 4Функциональная модель SADT
строгость и точность.
Выполнение правил SADT требует достаточной
строгости и точности, не накладывая в то же время чрезмерных
ограничений на действия аналитика.
Правила SADT включают:
ограничение количества блоков на каждом уровне декомпозиции (правило 3—6 блоков),
связность диаграмм (номера блоков),
уникальность меток и наименований (отсутствие повторяющихся имен),
синтаксические правила для графики (блоков и дуг), разделение входов и управлений (правило определения роли данных);
Слайд 5Функциональная модель SADT
отделение организации от функции, т.е. исключение влияния административной
структуры организации на функциональную модель.
Метод SADT может использоваться для
моделирования
самых разнообразных систем и
определения требований и функций с последующей
разработкой информационной системы,
удовлетворяющей этим требованиям и реализующей
эти функции.
В существующих системах метод SADT может
применяться для анализа функций, выполняемых
системой, и указания механизмов, посредством
которых они осуществляются.
Слайд 6Базовые принципы структурного подхода к проектированию ИС
принцип "разделяй и властвуй"
- принцип решения сложных проблем путем их разбиения на множество
меньших независимых задач, легких для понимания и решения;
принцип иерархического упорядочивания - принцип организации составных частей проблемы в иерархические древовидные структуры с добавлением новых деталей на каждом уровне.
Слайд 7Базовые принципы структурного подхода к проектированию ИС (продолжение)
принцип абстрагирования -
заключается в выделении существенных аспектов системы и отвлечения от несущественных;
принцип формализации - заключается в необходимости строгого методического подхода к решению проблемы;
принцип непротиворечивости - заключается в обоснованности и согласованности элементов;
принцип структурирования данных - заключается в том, что данные должны быть структурированы и иерархически организованы.
Слайд 8Средства описания модели системы, проектируемой на основе структурного подхода
В структурном
подходе используются в основном две
группы средств, описывающих функциональную
структуру системы и
отношения между данными.
Каждой группе средств соответствуют определенные
виды моделей (диаграмм), наиболее
распространенными среди которых являются:
SADT (Structured Analysis and Design Technique) модели и соответствующие функциональные диаграммы;
DFD (Data Flow Diagrams) диаграммы потоков данных;
ERD (Entity-Relationship Diagrams) диаграммы "сущность-связь".
Слайд 9Компоненты метода функционального моделирования SADT
Методология SADT содержит следующие методики:
IDEF0 - методология функционального моделирования. С помощью наглядного графического языка
IDEF0 изучаемая система предстает перед разработчиками и аналитиками в виде набора взаимосвязанных функций (функциональных блоков - в терминах IDEF0). Как правило, моделирование средствами IDEF0 является первым этапом изучения любой системы;
IDEF1 – методология моделирования информационных потоков внутри системы, позволяющая отображать и анализировать их структуру и взаимосвязи;
Слайд 10Компоненты метода функционального моделирования SADT (продолжение)
IDEF1X (IDEF1 Extended) – методология
построения реляционных структур. IDEF1X относится к типу методологий “Сущность-взаимосвязь” (ER
– Entity-Relationship) и, как правило, используется для моделирования реляционных баз данных, имеющих отношение к рассматриваемой системе;
Слайд 11Компоненты метода функционального моделирования SADT (продолжение)
IDEF2 – методология динамического моделирования
развития систем. В связи с весьма серьезными сложностями анализа динамических
систем от этого стандарта практически отказались, и его развитие приостановилось на самом начальном этапе. Однако в настоящее время присутствуют алгоритмы и их компьютерные реализации, позволяющие превращать набор статических диаграмм IDEF0 в динамические модели, построенные на базе “раскрашенных сетей Петри” (CPN – Color Petri Nets);
Слайд 12Компоненты метода функционального моделирования SADT (продолжение)
IDEF3 – методология документирования процессов,
происходящих в системе, которая используется, например, при исследовании технологических процессов
на предприятиях. С помощью IDEF3 описываются сценарий и последовательность операций для каждого процесса. IDEF3 имеет прямую взаимосвязь с методологией IDEF0 – каждая функция (функциональный блок) может быть представлена в виде отдельного процесса средствами IDEF3;
IDEF4 – методология построения объектно-ориентированных систем. Средства IDEF4 позволяют наглядно отображать структуру объектов и заложенные принципы их взаимодействия, тем самым, позволяя анализировать и оптимизировать сложные объектно-ориентированные системы;
Слайд 13Компоненты метода функционального моделирования SADT (продолжение)
IDEF5 – методология онтологического исследования
сложных систем. С помощью методологии IDEF5 онтология системы может быть
описана при помощи определенного словаря терминов и правил, на основании которых могут быть сформированы достоверные утверждения о состоянии рассматриваемой системы в некоторый момент времени. На основе этих утверждений формируются выводы о дальнейшем развитии системы и производится её оптимизация.
Слайд 14Принципы функционального моделирования в стандарте IDEF0
В IDEF0 реализованы три базовых
принципа моделирования процессов: принцип функциональной декомпозиции; принцип ограничения сложности; принцип
контекстной диаграммы.
Слайд 15Принцип функциональной декомпозиции
Принцип функциональной декомпозиции представляет собой способ моделирования типовой
ситуации, когда любое действие, операция, функция могут быть разбиты (декомпозированы)
на более простые действия, операции, функции. Другими словами, сложная функция может быть представлена в виде совокупности элементарных функций.
Слайд 16Принцип ограничения сложности
При работе с IDEF0 диаграммами существенным является условие
их разборчивости и удобочитаемости. Суть принципа ограничения сложности состоит в
том, что количество блоков на диаграмме должно быть не менее трех и не более шести. Практика показывает, что соблюдение этого принципа приводит к тому, что функциональные процессы, представленные в виде IDEF0 модели, хорошо структурированы, понятны и легко поддаются анализу.
Слайд 17Принцип контекстной диаграммы.
Моделирование делового процесса начинается с
построения контекстной диаграммы. На
этой
диаграмме отображается только один блок – главная
функция моделируемой системы.
Главная
функция системы - это назначение системы.
Нельзя правильно сформулировать главную функцию
предприятия, не имея представления о его стратегии.
При определении главной функции необходимо всегда
иметь в виду цель моделирования и точку зрения на
модель. Одно и то же предприятие может быть
описано по-разному, в зависимости от того, с какой
точки зрения его рассматривают: директор предприятия
и налоговой инспектор видят организацию совершенно
по-разному.
Слайд 18Принцип контекстной диаграммы.
Контекстная диаграмма играет еще одну роль в
функциональной модели.
Она “фиксирует” границы
моделируемой системы, определяя то, как
моделируемая система взаимодействует со
своим
окружением. Это достигается за счет описания дуг,
соединенных с блоком, представляющим главную
функцию.
Слайд 19Основные элементы и понятия IDEF0
Модель IDEF0 состоит из диаграмм, фрагментов
текстов и глоссария, имеющих ссылки друг на друга.
Диаграммы -
главные компоненты модели, все функции ИС и интерфейсы на них представлены как блоки и дуги. Место соединения дуги с блоком определяет тип интерфейса.
Одной из наиболее важных особенностей методологии IDEF0 является постепенное введение все больших уровней детализации по мере создания диаграмм, отображающих модель.
Графический язык IDEF0 удивительно прост и гармоничен. В основе методологии лежат четыре основных понятия: функциональный блок, интерфейсная дуга, контекстная диаграмма и диаграмма декомпозиции.
Слайд 20Понятие функционального блока
Функциональный блок графически изображается в виде прямоугольника и
олицетворяет собой некоторую конкретную функцию в рамках рассматриваемой системы. По
требованиям стандарта название каждого функционального блока должно быть сформулировано с помощью глаголов (например, “производить услуги”, а не “производство услуг”) и должно уникальным в рамках одной и той же модели.
Слайд 21Изображение функционального блока на IDEF0-диаграмме
Слайд 22Назначение сторон функционального блока
Каждая из четырех сторон функционального блока имеет
своё определенное значение (роль), при этом:
верхняя сторона имеет значение
“Управление” (Control) (стрелки сверху, означающие, на основании чего выполняется данный процесс - законы, стандарты, приказы и т.д.);
левая сторона имеет значение “Вход” (Input) (стрелки слева - данные или объекты, потребляемые или изменяемые процессом);
Слайд 23Назначение сторон функционального блока
правая сторона имеет значение “Выход” (Output) (стрелки
справа - основные результаты деятельности процесса, конечные продукты);
нижняя сторона
имеет значение “Механизм” (Mechanism) (стрелки снизу, означающие, посредством чего или с помощью кого реализуется данный процесс - материальные и/или кадровые ресурсы, необходимые для процесса).
Каждый функциональный блок в рамках единой рассматриваемой системы должен иметь свой уникальный идентификационный номер.
Слайд 24Понятие интерфейсной дуги
Интерфейсные дуги(Arrow) также часто называют потоками, или стрелками.
Интерфейсная дуга отображает элемент системы, который обрабатывается функциональным блоком или
оказывает иное влияние на функцию, отображенную данным функциональным блоком.
Графическим отображением интерфейсной дуги является однонаправленная стрелка. Каждая интерфейсная дуга должна иметь свое уникальное наименование (Arrow Label).
По требованию стандарта наименование должно быть оборотом существительного.
Слайд 25Требования стандарта к построению интерфейсных дуг
С помощью интерфейсных дуг отображают
различные объекты, в той или иной степени определяющие процессы, происходящие
в системе. Такими объектами могут быть элементы реального мира (детали, вагоны, сотрудники и т.д.) или потоки данных и информации (документы, данные, инструкции и т.д.).
В зависимости от того, к какой из сторон подходит данная интерфейсная дуга, она носит название “входящей”, “исходящей” или “управляющей”.
Кроме того, “источником” (началом) и “приемником” (концом) каждой функциональной дуги могут быть только функциональные блоки, при этом “источником” может быть только выходная сторона блока, а “приемником” любая из трех оставшихся.
Слайд 26Требования стандарта к построению интерфейсных дуг (продолжение)
Необходимо отметить, что любой
функциональный блок по требованиям стандарта должен иметь по крайней мере
одну управляющую интерфейсную дугу и одну исходящую. Это и понятно – каждый процесс должен происходить по каким-то правилам (отображаемым управляющей дугой) и должен выдавать некоторый результат (выходящая дуга), иначе его рассмотрение не имеет никакого смысла.
Обязательное наличие управляющих интерфейсных дуг является одним из главных отличий стандарта IDEF0 от других методологий DFD (Data Flow Diagram) и WFD (Work Flow Diagram).
Слайд 27Понятие контекстной диаграммы
Модель IDEF0 всегда начинается с представления системы как
единого целого – одного функционального блока с интерфейсными дугами, простирающимися
за пределы рассматриваемой области. Такая диаграмма с одним функциональным блоком называется контекстной диаграммой и обозначается идентификатором “А-0”.
В пояснительном тексте к контекстной диаграмме должна быть указана цель (Purpose) построения диаграммы в виде краткого описания и зафиксирована точка зрения (Viewpoint).
Слайд 29Принцип декомпозиции контекстной диаграммы
Четвертым понятием стандарта IDEF0 является декомпозиция (Decomposition).
Принцип декомпозиции применяется при разбиении сложного процесса на составляющие его
функции. При этом уровень детализации процесса определяется непосредственно разработчиком модели.
Декомпозиция позволяет постепенно и структурировано представлять модель системы в виде иерархической структуры отдельных диаграмм, что делает ее менее перегруженной и легко усваиваемой.
Слайд 30Принцип декомпозиции контекстной диаграммы
Контекстная диаграмма, которая представляет систему в качестве
единого модуля, детализируется на другой диаграмме с помощью нескольких блоков,
соединенных интерфейсными дугами.
Эти блоки представляют основные подфункции исходной функции. Данная декомпозиция выявляет полный набор подфункций, каждая из которых представлена как блок, границы которого определены интерфейсными дугами.
Каждая из этих подфункций может быть декомпозирована подобным образом для более детального представления.
Слайд 31Принцип декомпозиции контекстной диаграммы (продолжение)
Модель IDEF0 представляет собой серию диаграмм
с сопроводительной документацией, разбивающих сложный объект на составные части, которые
представлены в виде блоков. Детали каждого из основных блоков показаны в виде блоков на других диаграммах. Каждая детальная диаграмма является декомпозицией блока из более общей диаграммы. На каждом шаге декомпозиции более общая диаграмма называется родительской для более детальной диаграммы.
Дуги, входящие в блок и выходящие из него на диаграмме верхнего уровня, являются точно теми же самыми, что и дуги, входящие в диаграмму нижнего уровня и выходящие из нее, потому что блок и диаграмма представляют одну и ту же часть системы.
Слайд 32Принцип декомпозиции контекстной диаграммы (продолжение)
Слайд 33Пример декомпозиции контекстной диаграммы
Слайд 34Диаграммы, дополняющие контекстную диаграмму IDEF0 и диаграммы декомпозиции
В дополнение к
контекстным диаграммам и
диаграммам декомпозиции другие виды диаграмм
позволяют упростить разработку и
представление
модели. К таким диаграммам относятся:
древовидные диаграммы;
диаграммы FEO (For Exposition Only – только для экспозиции или представления).
Слайд 35Типы связей между функциями
Различаются 7 типов связей между функциональными блоками
в IDEF0 – модели:
случайная;
логическая;
временная;
процедурная;
коммуникационная;
последовательная;
функциональная.
Слайд 36Случайная связь между функциями
Случайная связь между функциями показывает, что
конкретная связь
между функциями незначительна или
Полностью отсутствует. Это относится к ситуации,
когда имена
данных на SADT-дугах в одной диаграмме
имеют слабую связь друг с другом.
Слайд 37Пример случайная связь между функциями
Случайная связь между функциями показывает, что
конкретная
связь между функциями незначительна или
Полностью отсутствует. Это относится к ситуации,
когда
имена данных на SADT-дугах в одной диаграмме
имеют слабую связь друг с другом.
Слайд 38Логическая и временная связи между функциями
Логическая связь — данные и
функции собираются вместе благодаря тому, что они попадают в общий
класс или набор элементов, но необходимых функциональных отношений между ними не обнаруживается.
Временная связь - представляет функции, связанные
во времени, когда данные используются одновременно
или функции включаются параллельно, а не
последовательно.
Слайд 39Коммуникационная связь между функциями
Коммуникационная связь — функции группируются благодаря тому
что они используют одни и те же входные данные и/или
производят одни и те же выходные данные.
Слайд 40Пример коммуникационная связь между функциями
Случайная связь между функциями показывает, что
конкретная
связь между функциями незначительна или
Полностью отсутствует. Это относится к ситуации,
когда
имена данных на SADT-дугах в одной диаграмме
имеют слабую связь друг с другом.
Слайд 41Процедурная между функциями
Процедурная связь — функции сгруппированы вместе
благодаря тому, что
они выполняются в течение одной и
той же части цикла или
процесса.
Слайд 42Пример процедурная связь между функциями
Слайд 43Функциональная связь между функциями
Функциональная связь — все элементы функции влияют
на
выполнение одной и только одной функции.
Диаграмма, являющаяся чисто функциональной, не
содержит
чужеродных элементов, относящихся к
последовательному или более слабому типу связи.
Одним из способов определения функционально
связанных диаграмм является рассмотрение двух
блоков, связанных через управляющие дуги.
В математических терминах необходимое условие для
простейшего типа функциональной связи имеет
следующий вид С = g(B) = g(f(A)).
Слайд 44Пример функциональная связь между функциями
Слайд 45Обратные связи между функциями
На функциональных диаграммах не указаны явно ни
последовательность,
ни время. Обратные связи,
итерации, продолжающиеся процессы
перекрывающиеся (по времени) функции могут
быть
изображены с помощью дуг.
Слайд 46Пример обратной связи между функциями