Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

ИТУП / лекционный материал / Управление проектами и разработка ПО

.pdf
Скачиваний:
84
Добавлен:
05.02.2016
Размер:
5.47 Mб
Скачать

Элементы «Заголовка» и «Подвала» диаграммы IDEF0.

Поле

Перевод

 

Назначение

 

 

 

Элементы

заголовка диаграммы

 

 

 

Used At

Используется

Используется для внешних ссылок на

 

В

диаграмму

 

 

 

 

Author,

Автор, проект,

Содержит имя автора диаграммы, даты

project, date,

дата,

создания

и последнего

внесения

revised

пересмотр

изменений, название проекта

 

 

Notes 1…10

Замечания

При ручном редактировании очередная

 

 

цифра зачеркивается

при

внесении

 

 

изменений

 

 

 

 

Status:

Состояние:

Отражает

состояние

разработки

или

 

 

утверждения диаграммы

 

 

Working

Рабочая версия

Новая

диаграмма,

глобальные

 

 

изменения или новый автор

 

 

Draft

Эскиз

Диаграмма достигла уровня готовности

 

 

представления на утверждение

 

 

Recommended

Рекомендовано

Диаграмма одобрена и утверждена

 

Publication

Публикация

Диаграмма готова для печати и

 

 

публикации

 

 

 

Reader

Читатель

Имя читателя

 

 

 

Date

Дата

Дата знакомства читателя с диаграммой

Context

Контекст

Схематическое

изображение

 

 

функциональных

блоков

на

 

 

родительской диаграмме

 

 

 

Элементы

подвала диаграммы

 

 

 

Node

Узел

 

 

 

 

 

Title

Название

 

 

 

 

 

C-Number

Номер

 

 

 

 

 

Функциональная декомпозиция

Каждая IDEF0-диаграмма содержит блоки и дуги. Блоки изображают функции моделируемой системы. Дуги связывают блоки и отображают взаимодействия и взаимосвязи между ними. Функциональные блоки на диаграммах изображаются прямоугольниками. Блок представляет функцию или активную часть системы, поэтому названиями блоков служат глаголы или глаголы с пояснительными словами. SADT рекомендует, чтобы в диаграмме было не менее трех и не более шести блоков.

141

Рис. 4 Типичная IDEF0-диаграмма.

Блоки должны размещаться на диаграмме по степени важности (с точки зрения автора диаграммы). В SADT этот относительный порядок называется доминированием. Доминирование понимается как влияние, которое один блок оказывает на другие блоки диаграммы. Например, самым доминирующим блоком диаграммы может быть либо первая из требуемой последовательности функций, либо планирующая или контролирующая функция, влияющая на все другие функции. Наиболее доминирующий блок обычно размещается в верхнем левом углу диаграммы, а наименее доминирующий — в правом нижнем углу.

Блоки должны быть перенумерованы. Номера блоков служат однозначными идентификаторами для системных функций и автоматически организуют эти функции в иерархию модели.

Дуги на диаграмме изображаются одинарными линиями со стрелками на концах. Для IDEF0-диаграмм дуга представляет множество объектов и описывается существительным или существительным с определениями. Здесь используется общее понятие «объекты», поскольку дуги в SADT могут представлять планы, данные в компьютерах, машины, информацию или что-то другое — материальное или нематериальное. Поскольку дуги представляют наборы объектов, они могут иметь множество начальных и конечных точек. Поэтому дуги могут различными способами разветвляться и соединяться.

142

Между объектами и функциями возможны четыре отношения:

вход (input), управление (control), выход (output), механизм

(mechanism). Каждое из этих отношений изображается дугой, связанной с определенной стороной блока: левая сторона блока предназначена для входов, верхняя – для управления, правая – для выходов, нижняя – для механизмов. Такое обозначение отражает определенные системные принципы: входы преобразуются в выходы, управление ограничивает или предписывает условия выполнения преобразований, механизмы показывают, какие ресурсы необходимы для выполнения функции.

Входные дуги изображают объекты, используемые и преобразуемые функциями. Управленческие дуги представляют информацию, управляющую действиями функций. Выходные дуги изображают объекты, в которые преобразуются входы. Дуги механизмов отражают то, как функции реализуются. Таким образом, IDEF0диаграммы не являются ни блок-схемами, ни просто диаграммами потоков данных. Это предписывающие диаграммы, представляющие преобразования входов в выходы и указывающие правила этих преобразований. Дуги на них изображают интерфейсы между функциями системы и между системой и окружающей средой.

В методологии SADT определены пять типов взаимосвязей между блоками для описания их отношений:

управление,

вход,

обратная связь по управлению,

обратная связь по входу,

выход-механизм (встречается редко и отражают ситуацию, при которой выход одной функции становится средством достижения цели для другой; в этом случае дуга механизма обозначает строго последовательную взаимосвязь: приготовления должны быть завершены до начала работы).

Взаимосвязь диаграмм в модели

Для описания системы в целом, как правило, требуется несколько диаграмм. Диаграммы, собранные и связанные вместе, становятся моделью. В SADT дополнительно к правилам синтаксиса диаграмм существуют правила синтаксиса моделей, позволяющие определить границу модели, связать диаграммы в одно целое и обеспечить точное согласование между диаграммами.

SADT-модель является иерархически организованной совокупностью диаграмм. Диаграммы состоят из блоков, каждый из которых может быть детализирован на другой диаграмме. Каждый блок может рассматриваться как отдельный строго определенный объект. Разделение такого объекта на его структурные части (блоки и дуги, составляющие диаграмму) называется декомпозицией.

143

Декомпозиция формирует границы новой диаграммы. Декомпозируемый блок и касающиеся его дуги определяют точную границу диаграммы, представляющей декомпозицию этого блока. Эта диаграмма, называемая диаграммой-потомком, описывает все связанное с этим блоком и его дугами и не описывает ничего вне этой границы. Декомпозируемый блок называется родительским блоком, а содержащая его диаграмма — родительской диаграммой.

Принцип ограничения объекта встречается на каждом уровне. Один блок и несколько дуг на самом верхнем уровне используются для определения границы всей системы. Этот блок описывает общую функцию, выполняемую системой. Дуги, касающиеся этого блока, описывают главные управления, входы, выходы и механизмы этой системы. Диаграмма, состоящая из одного блока и его дуг, определяет границу системы и называется контекстной диаграммой модели (рис. 2), при этом все, что лежит внутри этого, считается частью описываемой системы, а все, лежащее вне его, образует среду системы.

SADT-модели развиваются в процессе структурной декомпозиции сверху вниз. Сначала декомпозируется один блок контекстной диаграммы на диаграмму, содержащую от трех до шести блоков, затем декомпозируется один или несколько из этих блоков и так далее. Название диаграммы совпадает с названием декомпозируемого блока. Результатом этого процесса является модель, диаграмма верхнего уровня которой описывает систему в общих терминах «черного ящика», а диаграммы нижнего уровня описывают детализированные аспекты и операции системы.

В методологии SADT идентифицируется каждая диаграмма модели посредством номера узла. Номер узла для контекстной диаграммы имеет следующий вид: название модели или аббревиатура, заглавная буква A (Activity в функциональных диаграммах), ноль. Например, номером узла для контекстной диаграммы модели лаборатории АВР «АВР А0». Все другие номера узлов образуются посредством добавления к номеру узла родительской диаграммы номера декомпозируемого блока. Так диаграмма на рис. 3 декомпозирует блок 1 диаграммы на рис. 2 (первый ноль при образовании номера узла принято опускать, поэтому вместо АВР А01 пишется АВР А1).

Как только в результате декомпозиции образуется направленная вниз связь, на диаграмме-потомке формируется ссылка на родительскую диаграмму. В области контекста SADT-бланка (правый верхний угол) автор изображает каждый блок родительской диаграммы маленькими квадратиками, заштриховывает квадратик декомпозируемого блока и размещает С-номер родительской диаграммы возле заштрихованного квадратика. Это образует «направленную вверх» (к родительской диаграмме) связь. Метод соединения диаграмм посредством однозначно определенных номеров гарантирует, что именно нужная версия диаграммы станет частью модели.

144

В SADT принята система обозначений, позволяющая идентифицировать и проверять связи по дугам между диаграммами. Эта схема кодирования дуг – «ICOM» – получила название по первым буквам английских эквивалентов слов вход – Input, управление –

Control, выход – Output, механизм – Mechanism. При построении диаграммы следующего уровня, дуги, касающиеся декомпозируемого блока, используются в качестве источников и приемников для дуг, которые создаются на новой диаграмме. После завершения диаграммы ее внешние дуги стыкуются с родительской диаграммой для обеспечения согласованности. Одним из способов такой стыковки может служить присваивание кодов ICOM внешним дугам новой диаграммы согласно согласованным правилам.

Другие диаграммы IDEF0

В дополнение к диаграммам декомпозиции IDEF0 предусматривает использование других видов диаграмм:

дерево модели

презентационные диаграммы.

Дерево модели — это обзорная диаграмма древовидной структуры, на которой отражается подчиненность всех диаграмм модели.

Презентационная диаграмма (For Exposition Only) позволяет нарушение любых правил синтаксиса диаграмм IDEF0 в целях выделения важных с точки зрения аналитика частей модели. Например, можно отразить стрелки, относящиеся только к одному функциональному блоку, чтобы прояснить его связь с другими блоками.

6.3.3. Стандарт и методология моделирования IDEF3

Стандарт IDEF3 был создан для описания последовательностей и логики взаимодействия операций и событий в анализируемой системе. IDEF3 обеспечивает аналитика методологией структурированного подхода и графическим языком для наглядного представления с необходимой степенью детализации знаний об очередности событий и действий описываемого процесса.

Для описания процесса в IDEF3 определены две стратегии и, соответственно, два типа диаграмм:

process-centered strategy — стратегия описания процесса как последовательности выполняемых действий. Диаграммы этого типа получили название Process Flow Description Diagrams (PFDD) –

диаграммы потокового описания процесса;

object-centered strategy — стратегия описания процесса как последовательности изменений состояний объекта, над которым

145

выполняются действия. Диаграммы такого типа получили название

Object State Transition Network (OSTN) – диаграммы последовательности изменений состояний объекта.

Описание процесса в IDEF3 может содержать диаграммы PFDD и OSTN или диаграммы какого-либо одного типа. Наиболее известными и широко используемыми являются потоковые диаграммы PFDD. Поэтому в дальнейшем мы ограничимся описанием только этих диаграмм.

Синтаксис диаграмм PFDD моделирования процессов

Для диаграмм PFDD в IDEF3 используется понятие сценария в качестве базовой структурной единицы описания процесса.

Сценарий – повторяющаяся ситуация или набор ситуаций, описывающих типичный класс проблем в системе или организации, обстановка или среда, в которой происходит рассматриваемый процесс.

Описание процесса может состоять из одного или нескольких сценариев. Основным назначением сценария является определение контекста описания через присвоение сценарию имени. Именем сценария может быть глагол с поясняющими словами («Оформить заказ на товары», «Проверить пригодность товара») или название совокупности характерных действий («Выполнение последовательности проверок»). Таким образом, сценарий устанавливает ориентацию и границы описания.

Графические элементы, используемые в диаграммах PFDD, включают

модули единицы поведения UOB (Unit Of Behavior),

связи старшинства,

узлы,

модули ссылок и примечаний.

Модули UOB имеют вид прямоугольника со специальными полями как показано на рис.5.

Имя модуля

Номер

Рис. 5 Модуль UOB

146

Центральное поле предназначено для уникального (в рамках данного описания) имени модуля, а левое нижнее поле для его порядкового номера. Имя модуля выражается глаголом с поясняющими словами. Порядковый номер модуля определяет его место в диаграммах сценария.

В IDEF3, также как и в IDEF0, для более детального представления действий в описываемом процессе используется декомпозиция функциональных модулей. Декомпозиции модулей представляются на отдельных диаграммах. На рис. 6 представлен пример декомпозиции модулей и принцип формирования их номеров. Для наглядности все модули представлены на одном рисунке, но в IDEF3 описании они будут представлены на трех диаграммах.

Рис. 6 Декомпозиция модулей в IDEF3 диаграммах.

Сточки зрения стандарта IDEF3 каждый функциональный модуль

это обобщенное представление действия или события, которое в различных ситуациях может иметь различные характеристики и свойства. Например, действие «Выписать счет за товар» может выполняться по-разному:

просто выписать счет;

проверить наличие нужного количества товара на складе, зарезервировать часть товара, уточнить в отделе маркетинга текущую цену на товар, уточнить в транспортном отделе тарифы на доставку товара, уточнить в бухгалтерии ставки налогов на данный вид товара, согласовать цену и количество товара с отделом продаж, выполнить какие-то другие действия и выписать счет;

представить процесс выписки счета как набор действий, которые могут выполняться в различном порядке, часть из которых может выполняться или не выполняться в конкретном случае.

147

В IDEF3 возможна многократная декомпозиция каждого функционального модуля. Как видно на рис. 6, в диаграмме декомпозиции первая цифра номера модуля указывает номер родительского модуля, а вторая цифра — порядковый номер декомпозиции. Третья цифра указывает порядковый номер модуля в диаграммах описания процесса. На рис. 7 представлен пример двух вариантов декомпозиции родительского модуля.

Рис. 7 Два варианта декомпозиции модуля

Связи между блоками

Для представления очередности взаимодействия модулей одной диаграммы используются связи, изображаемые соответствующими стрелками. Связи используются, чтобы непосредственно описать отношения между функциональными блоками. Эти отношения, в зависимости от описываемого процесса, могут быть постоянными, временными, логическими, причинными, условными, природными и другими. В большинстве случаев для описания процессов достаточно т.н. «простых связей старшинства», но в IDEF3 аналитику предоставляется возможность самому определить особенности связи,

148

описав её в соответствующей форме. В качестве базовых в IDEF3 используются два вида связей:

связи старшинства,

связи неопределенного типа (тип может быть определен пользователем).

Всвою очередь, связи старшинства подразделяются на

простые связи старшинства (Simple Precedence Links) и

принуждающие связи старшинства (Constrained Precedence Links).

Все связи нумеруются. При этом связи старшинства обозначаются символом PL (от «precedence link») и порядковым номером, а связи неопределенного типа символом DL (от «dashed link») и своим порядковым номером.

Связи неопределенного типа между модулями UOB изображаются пунктирной линией. Они указывают, что между модулями существуют некоторые отношения, но на момент описания процесса они не определены.

Простые связи старшинства обозначаются сплошной однонаправленной стрелкой или дугой (рис. 8.).

Рисунок 1. Простые связи старшинства (модуль А — предшественник модуля В, а модуль В — преемник модуля А).

Принуждающие связи старшинства добавляют смысловую нагрузку простым связям, определяя порядок предшествования действий. Двойные однонаправленные стрелки на верхней схеме рисунка 9 задают правило – действие модуля 1 должно предшествовать действию модуля 2.

149

Рис. 9 Принуждающие связи старшинства

Средняя схема на рис. 9 задает правило предшествования действий модуля В действиям модуля А. Последняя схема определяет, что модули А и В должны предшествовать друг другу. Таким образом, принуждающие связи старшинства определяют не то, как выполняются действия модулями, а то, как они должны выполняться.

Узлы (Junctions) обеспечивают аналитика инструментом, описывающим возможные ветвления и параллельность выполнения ряда действий в описываемом процессе. Дополнительно узлы усиливают описание временных отношений и отношений очередности выполнения различных частей процесса. В IDEF3 различают узлы слияния (Fan-in Junction) и узлы разветвления (Fan-out Junction). Примеры изображения узлов приведены на рис. 10.

Рис. 10 Узлы слияния и разветвления

Кроме этого, каждый узел может выполнять одну из логических функций И, ИЛИ, ИСКЛЮЧАЮЩЕЕ ИЛИ, быть синхронным или асинхронным. Узлы на диаграммах обозначаются символом J (от Junction) и порядковым номером.

150