1 Методология структурного анализа и проектирования SADT
2 Методология структурного моделирования SADT Методология SADT (Structured Analysis and Design Technique) была создана и опробована на практике в период с 1969 по 1973 гг. Автором методологии SADT является Дуглас Росс. Предназначения для моделирования систем на основе принципов структурного анализа. Методология предлагает графический язык проектирования систем, в котором сочетаются декомпозиция и иерархическое упорядочение и для обозначения составляющих системы используется графическая конструкция, называемая SA-блок.
3 Предпосылки создания SADT n Возрастание сложности проектируемых систем. n Необходимость формализации процесса разработки при создании крупномасштабных систем. Процесс разработки систем был формально разбит на этапы: 1. Анализ –определение того, что система будет делать 2. Проектирование – определение подсистем и их взаимодействие 3. Реализация – разработка подсистем по отдельности 4. Обьединение – сборка подсистем в целое 5. Тестирование – проверка работы системы 6. Установка – введение системы в действие 7. Функционирование – использование системы Данная последовательность этапов разработки стала традиционной
4 Проблемы традиционного подхода n Неучастие пользователя в процессе разработки. n Сложности и отсутствие согласования результатов этапов разработки. n Сложности в качественной и количественной оценке процесса разработки. n Трудности в выявлении ошибок, допущенных на ранних этапах разработки системы. n Неполнота функциональных спецификаций. n Отсутствие согласованности между спецификациями и результатами проектирования.
5 Результат применения традиционного подхода n Выявление необходимости совершенствования методов анализа как ключа к созданию систем, эффективных по стоимости, производительности и надежности. n Поиск методологии, применение которой способно было бы преодолеть выявленные недостаки традиционного подхода. n Появление и совершенствование методологии структурного анализа SADT.
6 Преимущества SADT n Легко отражает такие системные характеристики как управление, обратная связь и исполнители,так как возникла на базе проектирования систем общего вида в отличие от структурных методов, «выросших» из проектирования программного обеспечения. n Имеет развитые процедуры поддержки коллективной работы. n Применяется на ранних стадиях создания системы, что позволяет избежать наиболее дорогостоящих ошибок. n Успешно сочетается с другими структурными методами. Разработка и широкое успешное использование ее графического языка превратило SADT в методологию, способную значительно повысить качество продуктов, создаваемых на ранних этапах проектов.
7 Сущность структурного подхода Система декомпозируется (разбивается) на функциональные подсистемы до нужной степени детализации. Базовые принципы: n принцип «разделяй и властвуй». n принцип иерархического упорядочивания
8 Использование SADT Методология SADT может использоваться для моделирования широкого круга систем и определения требований и функций, а затем для разработки системы, которая удовлетворяет этим требованиям и реализует эти функции. Для уже существующих систем SADT может быть использована для анализа функций, выполняемых системой, а также для указания механизмов, посредством которых они осуществляются.
9 Методология SADT может быть направлена как для описания функций, выполняемых системой, так и на описание обьектов, составляющих систему. В первом случае методология SADT представляет собой совокупность методов, правил и процедур, предназначенных для построения функциональной модели объекта какой-либо предметной области. Функциональная модель SADT отображает функциональную структуру объекта, т.е. производимые им действия и связи между этими действиями. Во-втором случае методология SADT представляет собой совокупность методов, правил и процедур, предназначенных для описания обьектов, входящих в систему, их свойств и взаимосвязей между ними
10 Методологии SADT IDEF0 (Icam Definition) модели и соответствующие функциональные диаграммы. n DFD (Data Flow Diagrams) диаграммы потоков данных. ERD (Entity-Relationship Diagrams) диаграммы "сущность-связь«.
11 Методология функционального моделирования IDEF0 Методология функционального моделирования IDEF0 (Icam DEFinition) была разработана на основе SADT и являлась основной частью программы ICAM (Интеграция компьютерных и промышленных технологий), проводимой по инициативе ВВС США.
12 Принципы функционального моделирования. Основные понятия. n Система – совокупность взаимодействующих компонент и взаимосвязей между ними. n Моделирование – процесс создания точного описания системы. n SADTмодель – полное, точное и адекватное описание системы, имеющее конкретное назначение, которое называется целью модели. SADTмодель может быть сосредоточена либо на функциях системы (функциональная модель), либо на ее обьектах (модель данных). n Цель модели – получение ответов на некоторую совокупность вопросов относительно системы. Список вопросов сводится к одной-двум фразам, которые и формулируют цель.
13 n Субьект моделирования – сама система. n Границы системы - точно определяют, что является и что не является субьектом моделирования, что входит в систему и что лежит за ее пределами. SADT-модель всегда имеет единственный субьект. n Точка зрения – позиция, с которой наблюдается система и создается ее модель. Это позиция человека или обьекта, в которую нужно встать, чтобы увидеть систему в действии. В процессе моделирования субьект определяет, что включить в модель, а что исключить из нее. Точка зрения диктует выбор нужной информации о субьекте и форму ее подачи. Цель становится критерием окончания моделирования.
14 Концепции IDEF0 IDEF0-Модель отображает систему в виде иерархии диаграмм. Каждая диаграмма содержит блоки и дуги. Диаграмма в виде блока отображает функцию. Блоки имеют доминирование; Интерфейсы входа/выхода представляются дугами, входящими в блок и выходящими из него; Интерфейсные дуги показывают взаимодействие блоков друг с другом; Интерфейсные дуги выражают "ограничения", определяющие, когда и каким образом функции выполняются и управляются.
15 Правила IDEF0 n Диаграмма, лежащая на вершине иерархии, называется контекстной. На этой диаграмме вся система представляется в виде единого функционального блока. n Следующей в иерархии является диаграмма декомпозиции контекстной диаграммы. На ней функциональный блок контекстной диаграммы декомпозируется на составляющие его функциональные блоки. Каждый из этих блоков может иметь свою диаграмму декомпозиции. n Количество блоков на каждом уровне декомпозиции ограничено (может быть от 3 до 6); n Диаграммы связаны по номерам блоков; n Метки и наименования уникальны; n Входы и управления разделены по роли данных; n Исключено влияние организационной структуры на функциональную модель.
16 Состав функциональной модели IDEF0 Функциональная модель состоит из диаграмм, фрагментов текстов и глоссария, имеющих ссылки друг на друга. Диаграммы - главные компоненты модели, все функции системы и интерфейсы на них представлены как блоки и дуги. Место соединения дуги с блоком определяет тип интерфейса. Управляющая информация входит в блок сверху,информация, которая подвергается обработке, - слева, результаты выхода - справа стороны. Механизм (человек или автоматизированная система), который осуществляет операцию, входит в блок снизу.
17 Функциональный блок и интерфейсные дуги
18 Иерархия диаграмм На вершине иерархии находится диаграмма, на которой система представляется в виде единого блока и дуг, изображающих интерфейсы с функциями вне системы. Контекстная диаграмма. Уровнем ниже находится диаграмма, на которой блок, представляющий систему в целом, детализируется с помощью нескольких блоков, соединенных интерфейсными дугами. Эти блоки представляют основные подфункции исходной функции.
19 Правила декомпозиции функциональных блоков n Каждая функция может быть декомпозирована на подфункции; n Подфункция может содержать только те элементы, которые входят в исходную функцию; n Родительский блок и его интерфейсы обеспечивают контекст. Из модели нельзя выбросить какие-либо элементы или добавить их; n Дуги, входящие в блок и выходящие из него на диаграмме верхнего уровня, являются точно теми же самыми, что и дуги, входящие в диаграмму нижнего уровня и выходящие из нее.
20 Структура IDEF0-модели. Декомпозиция диаграмм
21 n Каждый блок на диаграмме имеет свой номер. n Для того, чтобы указать положение любой диаграммы или блока в иерархии, используются номера диаграмм. Например, А21 является диаграммой, которая детализирует блок 1 на диаграмме А2. Аналогично, А2 детализирует блок 2 на диаграмме А0, которая является самой верхней диаграммой модели.
22 Иерархия диаграмм