sadt_2013

advertisement
Методология структурного
анализа и проектирования
SADT
Методология структурного моделирования SADT
Методология SADT (Structured Analysis and Design
Technique) была создана и опробована на практике в
период с 1969 по 1973 гг. Автором методологии SADT
является Дуглас Росс.
Предназначения для моделирования систем на основе
принципов структурного анализа. Методология
предлагает графический язык проектирования систем, в
котором сочетаются декомпозиция и иерархическое
упорядочение и для обозначения составляющих
системы используется графическая конструкция,
называемая SA-блок.
Предпосылки создания SADT


Возрастание сложности проектируемых систем.
Необходимость формализации процесса разработки при
создании крупномасштабных систем.
Процесс разработки систем был формально разбит на этапы:
Проблемы традиционного подхода
 Неучастие пользователя в процессе разработки.
 Сложности и отсутствие согласования результатов
этапов разработки.
 Сложности в качественной и количественной оценке
процесса разработки.
 Трудности в выявлении ошибок, допущенных на ранних
этапах разработки системы.
 Неполнота функциональных спецификаций.
 Отсутствие согласованности между спецификациями и
результатами проектирования.
Результат применения традиционного подхода
 Выявление необходимости совершенствования методов
анализа как ключа к созданию систем, эффективных по
стоимости, производительности и надежности.
 Поиск методологии, применение которой способно было
бы преодолеть выявленные недостаки традиционного
подхода.
 Появление и совершенствование методологии
структурного анализа SADT.
Преимущества SADT




Легко отражает такие системные характеристики как управление,
обратная связь и исполнители, так как возникла на базе
проектирования систем общего вида в отличие от структурных
методов, «выросших» из проектирования программного обеспечения.
Имеет развитые процедуры поддержки коллективной работы.
Применяется на ранних стадиях создания системы, что позволяет
избежать наиболее дорогостоящих ошибок.
Успешно сочетается с другими структурными методами.
Разработка и широкое успешное использование ее графического
языка превратило SADT в методологию, способную значительно
повысить качество продуктов, создаваемых на ранних этапах
проектов.

Сущность структурного подхода
Система декомпозируется (разбивается) на
функциональные подсистемы до нужной
степени детализации.
Базовые принципы:
 принцип «разделяй и властвуй».
 принцип иерархического упорядочивания
Использование SADT
Методология SADT может использоваться для
моделирования широкого круга систем и определения
требований и функций, а затем для разработки системы,
которая удовлетворяет этим требованиям и реализует эти
функции. Для уже существующих систем SADT может быть
использована для анализа функций, выполняемых системой,
а также для указания механизмов, посредством которых они
осуществляются.
Методология SADT может быть направлена как для описания функций,
выполняемых системой, так и на описание обьектов, составляющих
систему.
В первом случае методология SADT представляет собой
совокупность методов, правил и процедур, предназначенных для
построения функциональной модели объекта какой-либо предметной
области. Функциональная модель SADT отображает функциональную
структуру объекта, т.е. производимые им действия и связи между этими
действиями.
Во-втором случае методология SADT представляет собой
совокупность методов, правил и процедур, предназначенных для
описания обьектов, входящих в систему, их свойств и взаимосвязей
между ними
Методологии SADT
 IDEF0 (Icam Definition) модели и
соответствующие функциональные диаграммы.
 DFD (Data Flow Diagrams) диаграммы потоков
данных.
 ERD (Entity-Relationship Diagrams) диаграммы
«сущность-связь».
Методология функционального
моделирования IDEF0
Методология функционального моделирования
IDEF0 (Icam DEFinition) была разработана на
основе SADT и являлась основной частью
программы ICAM (Интеграция компьютерных и
промышленных технологий), проводимой по
инициативе ВВС США.
Принципы функционального
моделирования. Основные понятия.

Система – совокупность взаимодействующих компонент и
взаимосвязей между ними.


Моделирование – процесс создания точного описания системы.

Цель модели – получение ответов на некоторую совокупность
вопросов относительно системы. Список вопросов сводится к
одной-двум фразам, которые и формулируют цель.
SADTмодель – полное, точное и адекватное описание системы,
имеющее конкретное назначение, которое называется целью
модели. SADTмодель может быть сосредоточена либо на функциях
системы (функциональная модель), либо на ее обьектах (модель
данных).


Субьект моделирования – сама система.

Точка зрения – позиция, с которой наблюдается система и создается
ее модель. Это позиция человека или обьекта, в которую нужно
встать, чтобы увидеть систему в действии.
Границы системы - точно определяют, что является и что не
является субьектом моделирования, что входит в систему и что
лежит за ее пределами. SADT-модель всегда имеет единственный
субьект.
В процессе моделирования субьект определяет, что включить в
модель, а что исключить из нее. Точка зрения диктует выбор
нужной информации о субьекте и форму ее подачи. Цель становится
критерием окончания моделирования.
Концепции IDEF0






IDEF0-Модель отображает систему в виде иерархии диаграмм.
Каждая диаграмма содержит блоки и дуги.
Диаграмма в виде блока отображает функцию. Блоки имеют
доминирование;
Интерфейсы входа/выхода представляются дугами, входящими в
блок и выходящими из него;
Интерфейсные дуги показывают взаимодействие блоков друг с
другом;
Интерфейсные дуги выражают "ограничения", определяющие,
когда и каким образом функции выполняются и управляются.







Правила IDEF0
Диаграмма, лежащая на вершине иерархии, называется контекстной.
На этой диаграмме вся система представляется в виде единого
функционального блока.
Следующей в иерархии является диаграмма декомпозиции контекстной
диаграммы. На ней функциональный блок контекстной диаграммы
декомпозируется на составляющие его функциональные блоки. Каждый из
этих блоков может иметь свою диаграмму декомпозиции.
Количество блоков на каждом уровне декомпозиции ограничено (может
быть от 3 до 6);
Диаграммы связаны по номерам блоков;
Метки и наименования уникальны;
Входы и управления разделены по роли данных;
Исключено влияние организационной структуры на функциональную
модель.
Состав функциональной модели IDEF0
Функциональная модель состоит из диаграмм,
фрагментов текстов и глоссария, имеющих ссылки
друг на друга.
Диаграммы - главные компоненты модели, все функции системы и
интерфейсы на них представлены как блоки и дуги.
Место соединения дуги с блоком определяет тип интерфейса.
Функциональный блок и интерфейсные дуги
Управляющая информация
входит в блок сверху,
информация, которая
подвергается обработке, слева,
результаты выхода - справа
стороны.
Механизм (человек или
автоматизированная система),
который осуществляет
операцию, входит в блок
снизу.
Иерархия диаграмм
На вершине иерархии находится диаграмма, на которой
система представляется в виде единого блока и дуг,
изображающих интерфейсы с функциями вне системы.
Контекстная диаграмма.
Уровнем ниже находится диаграмма, на которой блок,
представляющий систему в целом, детализируется с
помощью нескольких блоков, соединенных
интерфейсными дугами. Эти блоки представляют
основные подфункции исходной функции.
Правила декомпозиции функциональных блоков
 Каждая функция может быть декомпозирована на
подфункции;
 Подфункция может содержать только те элементы, которые
входят в исходную функцию;
 Родительский блок и его интерфейсы обеспечивают
контекст. Из модели нельзя выбросить какие-либо элементы
или добавить их;
 Дуги, входящие в блок и выходящие из него на диаграмме
верхнего уровня, являются точно теми же самыми, что и
дуги, входящие в диаграмму нижнего уровня и выходящие
из нее.
Структура
IDEF0модели.
Декомпозиц
ия диаграмм
 Каждый блок на диаграмме имеет свой номер.
 Для того, чтобы указать положение любой диаграммы или
блока в иерархии, используются номера диаграмм.
Например, А21 является диаграммой, которая детализирует
блок 1 на диаграмме А2. Аналогично, А2 детализирует блок
2 на диаграмме А0, которая является самой верхней
диаграммой модели.
Иерархия диаграмм
Функциональная модель
специалиста
Процесс создания SADT-модели
А-0 Питание семьи (контекст)
 Все члены семьи в будние дни питаются дома два

раза в день (завтрак и ужин), обедая в школе или на
работе, и три раза в день по субботам и воскресеньям
(завтрак, обед и ужин).
На деньги, которые мы дали, покупайте продукты.
Старайтесь уложиться в бюджет, чтобы вы смогли
питаться в течение всей недели. Держите "малышей"
в порядке, следуя обычным семейным правилам. В
этом случае им будет труднее спорить с вами. И не
забудьте, что мусоросборочная машина приезжает в
семь часов утра по средам. Чтобы выбросить мусор,
вам придется проснуться рано, поскольку его нельзя
оставлять на ночь снаружи.
АО Питание семьи (обзор)

Меню на целую неделю составляется утром каждую субботу. Продукты покупаются и запасаются в субботу
после обеда. Еда, готовящаяся в будни два раза в день, подается на стол сразу после приготовления. Стол и
кухня убираются сразу после того, как все поедят.


Планирование


Запасание продуктов


Приготовление


Еда


Уборка
В субботу утром первым делом составляйте меню на всю неделю. Сначала узнайте желания каждого и
запишите их, а затем проверьте, достаточно ли имеющихся продуктов для приготовления всех блюд.
Определите, сколько и каких продуктов вам не достает. Но помните о вашем бюджете. Поэтому определите
наилучший способ сочетания желаемой вами еды с имеющимися у вас деньгами.
Сразу после составления меню пойдите и купите все необходимые продукты. Возьмите с собой недельное
меню, чтобы вы могли быстро получить именно то, что вы хотите. И не забывайте, выходя из дома, брать с
собой деньги.
Подавайте завтрак в семь часов каждое утро, обед - в полдень каждый день и ужин в шесть часов каждый
вечер. Придерживайтесь этого распорядка и вы увидите, что так легко накормить всех. Кроме того, следуйте
спланированному в субботу меню, тогда продукты не кончатся раньше времени. И, наконец, выбирайте
простые рецепты. Это уменьшает вероятность неудачи.
Подавайте каждое блюдо сразу после приготовления, когда оно будет горячим и вкусным. Сажайте всех
членов семьи за стол на их обычные места. У вас хватит хлопот и без споров из-за места. Следите, чтобы все
хорошо вели себя за столом, и вы получите от еды больше удовольствия.
Сразу после того, как все поедят, уберите со стола, сложите объедки в мусорное ведро и спрячьте остатки.
Затем вымойте посуду и уберите кухню (это не займет слишком много времени). Тогда в оставшееся время вы
свободны.
А2. Поддержание запасов
Обзор







Покупки планируются сразу после составления недельных меню. Вы должны также составить
маршрут покупок (куда идти) и список покупок (что купить). При планировании покупок
проверьте кладовую, чтобы определить, сколько и каких продуктов есть под рукой. Продукты
закупаются после составления плана покупок. Иногда, в случае отсутствия некоторых
продуктов в магазинах, список покупок нуждается в изменениях.
Хранение
Слово "кладовая" обозначает любое место в доме, где хранятся продукты (чулан,
холодильник, морозильник). В недельном меню вы узнаете, как распорядиться кладовой. Два
вида продуктов идет в кладовую: то, что вы только что купили в магазине, и остатки еды,
которую вы только что ели. Доставайте продукты из кладовой, когда хотите проверить,
сколько и какой еды у вас есть, или когда нужно приготовить еду.
Планирование
Составляйте план покупок после составления меню на неделю. Проверьте кладовую, чтобы
узнать, сколько и каких продуктов у вас есть под рукой. Составьте список будущих покупок.
Обдумайте также, в какой магазин или магазины вам надо зайти. Если вы должны сходить в
несколько магазинов, составьте для сокращения пути маршрут покупок и не забудьте
уточнить, время работы магазинов.
Покупки
Когда идете покупать продукты, возьмите деньги, маршрут покупок и список покупок. Имейте
в виду ваше недельное меню, когда вы покупаете продукты. В этом случае у вас будет
двойной самоконтроль. Придерживайтесь списка покупок, чтобы у вас не кончились деньги.
Если в магазине нет того, что вы хотите купить, измените список покупок прямо там. В этом
случае вам надо изменить меню так, чтобы не покупать лишних продуктов. Когда вернетесь
домой, сразу же положите все покупки в кладовую. Тогда они не испортятся.











А21. Использование кладовой
Обзор
Принеся продукты домой, сразу же упакуйте их.. Продукты берутся из места хранения
непосредственно перед приготовлением еды или когда продукты должны быть проверены на
пригодность.. Прежде чем составить недельное меню, проверьте, сколько и какие продукты у вас
есть.
Упаковка
Остатки еды и большинство купленных в магазине продуктов нужно упаковать, прежде чем класть в
кладовую. Пользуйтесь по возможности контейнерами, пометив на каждом контейнере, какую еду
он содержит и сколько ее там
Хранение
Упакованные продукты или покупки, не нуждающиеся в упаковке, положите на хранение в
подходящие места... И всегда проверяйте, плотно ли закрыты дверцы холодильника и морозильника.
Извлечение
Извлекайте продукты из кладовой только тогда, когда вы хотите приготовить еду или проверить,
сколько и каких продуктов у вас под рукой. Берите столько продуктов, сколько необходимо, и
немедленно кладите оставшиеся назад, иначе о них можно случайно забыть и продукты испортятся.
Проверка
Тщательно проверьте продукты, если сомневаетесь в их доброкачественности. Понюхайте их и
посмотрите, нет ли на продуктах плесени. Если вы не уверены, можно ли их есть, возьмите чтонибудь другое.
Подсчет
При подсчете того, сколько каких продуктов у вас есть, не забывайте учитывать, что испортилось.
Запишите на бумаге, что испортилось, и оставьте эти записи в кладовой. Подсчитывайте подручные
продукты каждый раз, когда составляете недельное меню, поскольку запас продуктов на неделю
трудно запомнить.
Download