Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Modelirovanie_sistem_uch_posobie_izdatelstvo.doc
Скачиваний:
100
Добавлен:
15.04.2019
Размер:
5.93 Mб
Скачать

6. Методика и стандарты функционального моделирования

Методика функционального моделирования, в основе которой лежит методика структурного анализа и проектирования (Structured Analysis and Design Technique – SADT) информационных систем, успешно использовалась в военных, промышленных и коммерческих организациях США для решения широкого круга задач, таких, как долгосрочное и стратегическое планирование, автоматизированное производство и проектирование, разработка ПО для оборонных систем, управление финансами и материально-техническим снабжением и др. Метод SADT поддерживается Министерством обороны США, которое было инициатором разработки семейства стандартов IDEF (Icam DEFinition), являющегося основной частью программы ICAM (интегрированная компьютеризация производства), проводимой по инициативе ВВС США. Метод SADT реализован в одном из стандартов этого семейства ‑ IDEF0, который был утвержден в качестве федерального стандарта США в 1993 г.

6.1. Методика функционального моделирования sadt

Методика SADT – это совокупность правил и процедур, предназначенных для построения функциональных моделей управляющих информационных систем, работающих в какой-либо предметной области. SADT-модель дает полное, точное и адекватное описание целенаправленной управляющей информационной системы, т.е. системы имеющей конкретное целевое назначение. Этап проектирования модели такой системы всегда начинается с разработки целей всей системы и её компонент. Формулировка целей позволяет создать такую управляющую информационную систему, которая будет оптимальным образом направлять организационную систему к поставленным целям, т.е. организовать целенаправленное или целевое управление организацией. Цели организационных систем могут быть не только финансовыми (получение максимальной прибыли, увеличение инвестиционной стоимости организации), но и нефинансовыми, такими как, ‑ удовлетворенность заказчика, степень лояльности клиентов, инновационность и конкурентоспособность используемых в организации рабочих процессов, обучение и повышение квалификации персонала и т.д.

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

Модели как взаимосвязанные наборы диаграмм. После того как определены субъект, цель и точка зрения модели, начинается первая итерация процесса моделирования по методологии SADT. Разработчик определяет, что включить в модель, а что исключить из нее. Точка зрения диктует автору модели выбор нужной информации о субъекте и форму ее подачи. Цель становится критерием окончания моделирования. Конечным результатом этого процесса является построение функциональной (SADT-) модели программной системы, которая отображает функциональную структуру программного объекта.

Рис. 6.1. Иерархическая структура SADT-модели

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

Состав функциональной модели. Основным структурным элементом DFD-диаграмм является функциональный блок (ФБ) со строго регламентированным набором направленных интерфейсных дуг, которые отображают потоки данных, связывающие ФБ между собой и смежными диаграммами (рис. 6.2).

Рис 6.2. Функциональный блок SADT и его интерфейсы

Входные (Input) дуги изображают потоки данных на входе функциональных блоков, которые преобразуют эти потоки в выходные потоки данных, изображаемые выходными (Output) дугами. Управленческие (Control) дуги, входящие в ФБ сверху, представляют информацию, управляющую действиями функциональных блоков. Обычно управляющие дуги несут информацию с высших уровней функциональной иерархии, которая указывает, что должна выполнять соответствующая функция. Дуги механизмов (Mechanism) отражают, по крайней мере, частично, ‑ как функции реализуются, определяя, таким образом, как функциональные блоки влияют друг на друга. Это влияние может выражаться либо в передаче выходной информации к другой функции для дальнейшего преобразования, либо в выработке управляющей информации, предписывающей, что именно должна выполнять подчинённая подфункция.

Дуги на DFD-диаграммах могут разветвляться и соединяться различными сложными способами. Вся дуга или ее часть может выходить из одного или нескольких блоков и заканчиваться в одном или нескольких блоках, причём на подчинённых DFD-диаграммах дуги нумеруются метками с указанием в первом символе типа дуги (I# - номер входной (Input-) дуги, C# - номер управляющей (Control-) дуги, O# -номер выходной (Output-) дуги и M# - номер дуги механизмов (Mechanism-дуги), ‑ см рис. 6.2 и 6.4. В SADT разработаны специальные соглашения по разъединению и соединению дуг внутри диаграмм.

Каждый функциональный блок можно представлять как отдельный тщательно определенный функциональный объект. Разделение такого объекта на более мелкие структурные части называется декомпозицией, причём степень декомпозиции (число блоков в подчинённой диаграмме) не должно превышать 3-6.

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

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

Рис. 6.3. Контекстная диаграмма SADT-модели экспериментального механического цеха

В качестве примера на рис. 6.3 показана контекстная диаграмма модели экспериментального механического цеха (ЭМЦ) производственного предприятия. Блок с названием Изготовить нестандартную деталь образует контекстную диаграмму модели механического цеха и имеет номер 0 (блок самого верхнего (контекстного) уровня модели всегда нумеруется нулем). Этот блок представляет функциональную модель всего экспериментального механического цеха. Дуги управления Требования по срокам выполнения задания и Справочник стандартов качества определяют, каким образом экспериментальный механический цех преобразует входы Рабочие комплекты и Станки и инструменты в выходы Готовые детали и Оценку степени завершенности задания. Они моделируют управляющий интерфейс между экспериментальным механическим цехом и остальной частью производственного предприятия, выполняющего роль внешней среды по отношению к ЭМЦ.

Диаграммы двух следующих уровней декомпозиции SADT-модели ЭМЦ показаны на рис. 6.4.

Идентификация декомпозиции номерами узлов. Каждую диаграмму иерархической SADT-модели называют «узлом», который нумеруется алфавитно-числовым идентификатором следующего формата:

<аббревиатура-названия-узла>/A [-] #

где: A – первый символ англ. термина Activity (действие), / ‑ знак-разделитель («слэш»), - ‑ необязательный знак «дефис» (испольльзуется только в номере контекстной диаграммы), # ‑ десятичный номер родительского блока (номер контекстного блока всегда 0).

В примере на рис. 6.3 узел контекстной диаграммы имеет идентификатор ЭМЦ/А-0 (см. левое поле нижнего штампа). Дочерние узлы уровня 1 и 2 (верхняя и нижняя диаграммы на рис. 6.4) имеют идентификаторы ЭМЦ/А0 (без дефиса) и ЭМЦ/А1 соответственно.

Правила построения иерархии DFD-диаграмм. В методологии SADT разработаны достаточно строгие и точные правила построения иерархии DFD-диаграмм. В то же время эти правила не накладывают чрезмерных ограничений на действия аналитика.

Рис. 6.4. Диаграммы двух нижних уровней декомпозиции модели ЭМЦ

Приведём краткий перечень основных правил функциональной декомпозиции.

  • Каждая детальная диаграмма является декомпозицией блока из диаграммы предшествующего уровня иерархии. Данная декомпозиция выявляет полный набор подфункций, каждая из которых представлена как блок, границы которого определены интерфейсными дугами. Подобным же образом каждая из этих подфункций может быть декомпозирована на более детальные подфункции в DFD-диаграммах нижних уровней иерархии.

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

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

  • Количество блоков на каждом уровне декомпозиции ограничено (как правило, 3-6 блоками).

Процесс моделирования SADT. В значительной мере успех методологии SADT объясняется ее графическим языком, хотя не менее ценным является сам процесс моделирования. Процесс моделирования в SADT включает сбор информации об исследуемой области, документирование полученной информации и представление ее в виде модели и уточнение модели посредством итеративного рецензирования. Кроме того, этот процесс подсказывает вполне определенный путь выполнения согласованной и достоверной структурной декомпозиции, что является ключевым моментом в квалифицированном анализе системы. Методология SADT уникальна в своей способности обеспечить как графический язык, так и процесс создания непротиворечивой и полезной системы описаний.

Процесс моделирования SADT можно описать с помощью DFD-диаграммы (рис. 6.5). Эта диаграмма отражает тот факт, что процесс моделирования в SADT является итеративной последовательностью шагов, приводящих к точному описанию системы. Высокая эффективность этого процесса обусловлена его организацией, в основе которой лежит разделение функций, выполняемых участниками создания SADT-проектов: эксперты являются источниками информации, авторы создают диаграммы и модели, библиотекарь координирует обмен письменной информацией, читатели рецензируют и утверждают модели, а Комитет технического контроля принимает и утверждает модель. Ниже приводится краткое описание этого процесса.

Рис. 6.5. Процесс создания SADT-модели

Получение знаний в процессе опроса (блок А1 на рис. 6.5). В процессе моделирования сведения об изучаемой системе получают с помощью испытанной методики сбора информации - опросов или интервью. Для получения наиболее полной информации SADT предлагает использовать различные ее источники (например, читать документы, опрашивать людей, наблюдать за работой системы). Независимо от конкретного источника информации методология SADT рекомендует руководствоваться определенной целью при его использовании. Это означает, что вы должны определить свои потребности в информации прежде, чем выбрать очередной источник. Во время опроса графический язык SADT используется как средство для заметок, которые служат основой для построения диаграмм.

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

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

Цикл «автор/читатель» начинается в тот момент, когда автор принимает решение распространить информацию о какой-либо части своей работы с целью получения отзыва о ней (блок А3). Материал для распространения оформляется в виде "папок" - небольших пакетов с результатами работы, которые критически обсуждаются другими специалистами в течение определенного времени. Сделанные письменные замечания также помещаются в папку в виде нумерованных комментариев. Папки с замечаниями являются, таким образом, обратной связью, которую авторы получают на свою работу. Читатели - это те, кто читает и критикует создаваемую модель (блок А4), а затем помещает свои замечания в папки. Их работа возможна благодаря тому, что графический язык DFD-диаграмм позволяет создавать диаграммы и модели, которые можно легко и быстро читать. Простота DFD-языка не случайна. Она позволяет получить достаточно точное представление о системе, на основе которого можно дать обоснованное заключение о достоверности модели.

Обычно отдельная папка рецензируется одновременно несколькими читателями, и все их замечания поступают к определенному сроку к автору. Затем автор отвечает на каждое замечание и обобщает критику, содержащуюся в замечаниях. С помощью таких обсуждений можно достаточно быстро обмениваться идеями. Методология SADT поддерживает как параллельный, так и асинхронный просмотр модели, что является наиболее эффективным способом распределения работы в коллективе. Это показывает, что моделирование в SADT является инженерной дисциплиной, потому что итеративная коллективная деятельность - признак инженерной деятельности. Это связано с тем, что модель в SADT очень редко создается одним автором. На практике над различными частями модели могут совместно работать множество авторов, потому что каждый функциональный блок модели представляет отдельный субъект, который может быть независимо проанализирован и декомпозирован. Таким образом, модель сама координирует работу коллектива авторов, в то время как процесс моделирования SADT координирует совместное рецензирование возникающих идей.

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

Модели используются после их одобрения. Вспомним, что SADT-модели создаются с конкретной целью, и эта цель записана на диаграмме А-0 модели (см. рис. 6.3). В каком-то смысле эта цель определяет, как будет использоваться модель. Таким образом, как только завершено создание модели с требуемым уровнем детализации, и модель проверена, она может применяться для достижения поставленной цели. Результирующая модель всегда предназначалась как основа учебного руководства для нового персонала. Если эта модель точно описывает работу персонала, но не может служить для подготовки учебного руководства - она бесполезна.

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

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]