Поиск

Полнотекстовый поиск:
Где искать:
везде
только в названии
только в тексте
Выводить:
описание
слова в тексте
только заголовок

Рекомендуем ознакомиться

'Документ'
1. Цель и задачи дисциплины: приобретение знаний об основах искусственного интеллекта и основных интеллектуальных информационных системах и технология...полностью>>
'Документ'
Обеспечение пожарной безопасности является одной из важнейших функций государства. Особое внимание в системе обеспечения пожарной безопасности занима...полностью>>
'Программа'
Программа по информатике и информационным технологиям составлена на основе федерального компонента государственного стандарта основного общего образо...полностью>>
'Экзаменационные вопросы'
2. Использование работы внутренних аудиторов внешними аудиторами в процессе проведения аудиторской проверки в соответствии с федеральным стандартом №...полностью>>

М. В. Красильникова проектирование информационных систем раздел: Теоретические основы проектирования информационных систем Учебное пособие

Главная > Учебное пособие
Сохрани ссылку в одной из сетей:

МЕТОДОЛОГИИ СТРУКТУРНОГО И СИСТЕМНОГО АНАЛИЗА И ПРОЕКТИРОВАНИЯ

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

В настоящее время успешно используются такие методологии, как SADT (Structure Analysis and Design Technique), структурный системный анализ Гейна-Сарсона, структурный анализ и проектирование Йодана/Де Марко, развитие систем Джексона и другие.

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

Несмотря на достаточно широкий спектр используемых методов и диаграммных техник, большинство методологий базируется на следующей "классической" совокупности:

  • диаграммы потоков данных в нотации Йодана/Де Марко или Гейна-Сарсона, обеспечивающие анализ требований и функциональное проектирование информационных систем;

  • расширения Хатли и Уорда-Меллора для проектирования систем реального времени, основанные на диаграммах переходов состояний, таблицах решений, картах и схемах потоков управления;

  • диаграммы "сущность-связь" (в нотации Чена или Баркера) для проектирования структур данных, схем БД, форматов файлов как части всего проекта;

  • структурные карты Джексона и/или Константайна для проектирования межмодульных взаимодействий и внутренней структуры модулей.

Разработка ПО основана на модели ВХОД-ОБРАБОТКА-ВЫХОД: данные входят в систему, обрабатываются или преобразуются и выходят из системы. Такая модель используется во всех структурных методологиях. При этом важен порядок построения модели. Традиционный процедурно-ориентированный подход регламентирует первичность проектирования функциональных компонент по отношению к проектированию структур данных: требования к данным раскрываются через функциональные требования. При подходе, ориентированном на данные, вход и выход являются наиболее важными – структуры данных определяются первыми, а процедурные компоненты являются производными от данных.

Методологии структурного анализа Йодана/Де Марко и Гейна-Сарсона

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

Обе методологии фокусируют внимание на потоках данных, их главное назначение – создание базированных на графике документов по функциональным требованиям. Методологии поддерживаются традиционными нисходящими методами проектирования спецификаций и обеспечивают один из лучших способов связи между аналитиками, разработчиками и пользователями системы. При это используются следующие средства:

  1. DFD-диаграммы потоков данных. Являются графическими иерархическими спецификациями, описывающими систему с позиций потоков данных.

  2. Словари данных. Являются каталогами всех элементов данных, присутствующих в DFD, включая групповые и индивидуальные потоки данных, хранилища и процессы, а также все их атрибуты.

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

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

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

SADT – технология структурного анализа и проектирования

SADT – одна из самых известных методологий анализа и проектирования информационных систем, введенная в 1973 году Россом.

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

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

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

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

Правила SADT включают:

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

  • связность диаграмм (номера блоков);

  • уникальность меток и наименований (отсутствие повторяющихся имен);

  • синтаксические правила для графики (блоков и дуг);

  • разделение входов и управлений (правило определения роли данных).

  • отделение организации от функции, т.е. исключение влияния организационной структуры на функциональную модель.

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

Результатом применения методологии SADT является модель, которая состоит из диаграмм, фрагментов текстов и глоссария, имеющих ссылки друг на друга. Диаграммы – главные компоненты модели, все функции ИС и интерфейсы на них представлены как блоки и дуги. Место соединения дуги с блоком определяет тип интерфейса. Управляющая информация входит в блок сверху, в то время как информация, которая подвергается обработке, показана с левой стороны блока, а результаты выхода показаны с правой стороны. Механизм (человек или автоматизированная система), который осуществляет операцию, представляется дугой, входящей в блок снизу (рисунок 14).

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

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

На рисунке 15, где приведены четыре диаграммы и их взаимосвязи, показана структура SADT-модели. Каждый компонент модели может быть декомпозирован на другой диаграмме. Каждая диаграмма иллюстрирует "внутреннее строение" блока на родительской диаграмме.

Рис. 15. Структура SADT-модели. Декомпозиция диаграмм.

Иерархия диаграмм

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

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

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

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

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

На рисунках 16-18 представлены различные варианты выполнения функций и соединения дуг с блоками.

Рис. 16. Одновременное выполнение.

Рис. 17. Соответствие должно быть полным и непротиворечивым.

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

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

Рис. 18. Пример обратной связи.

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

Рис. 19. Пример механизма.

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

Для того, чтобы указать положение любой диаграммы или блока в иерархии, используются номера диаграмм. Например, А11 является диаграммой, которая детализирует блок 1 на диаграмме А1. Аналогично, А1 детализирует блок 1 на диаграмме А0, которая является самой верхней диаграммой модели. На рисунке 20 показано типичное дерево диаграмм.

Рис. 20. Иерархия диаграмм.

Синтаксис диаграмм

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

Функциональные блоки изображаются прямоугольниками. Поскольку блоки отображают функции системы, то в названии блоков используют глаголы или глагольные обороты (рассчитать, выполнить задание и т.д.).

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

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

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

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

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

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

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

Р
ис. 21. Пример
SADT-диаграммы.

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

Отношение входа возникает тогда, когда выход одного блока становится входом для блока с меньшим доминированием. Пример: выход "законченное или незаконченное задание" является входом функции "контролировать качество выполнения" при выполнении функции "выполнить задание".

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

Обратная связь по управлению возникает тогда, когда выход некоторого блока влияет на блок с большим доминированием. Пример: функция "управлять выполнением задания" ограничивает действие функции "контролировать качество выполнения" с помощью чертежа, в котором указаны разрешенные допуски. Кроме того, дуга штамп "принято", являющаяся выходом блока "контролировать качество выполнения", организует работу блока "управлять выполнением задания", поскольку именно штамп "принято" указывает, что задание завершено. Таким образом, штамп "принято" влияет на будущую деятельность блока "управлять выполнением задания", поэтому соответствующая дуга направлена назад.

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

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

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

Бывают варианты, когда две разные дуги объединяются и образуют больший набор объектов.

Для объяснения того, как дуги представляют разъединение и соединение наборов объектов, в SADT были разработаны специальные соглашения.

Разветвление дуг

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

  • Непомеченные ветви содержат все объекты, указанные в метке дуги перед разветвлением (т.е. все объекты принадлежат этим ветвям);

  • Ветви, помеченные после точки разветвления, содержат все объекты или их часть, указанные в метке дуги перед разветвлением (т.е. каждая метка ветви уточняет, что именно содержит ветвь).

Слияние дуг

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

Кроме того, каждая ветвь перед слиянием может помечаться или не помечаться в соответствии со следующими правилами:

  • непомеченные ветви содержат все объекты, указанные в общей метке дуги после слияния (т.е. все объекты исходят из всех ветвей);

  • помеченные перед слиянием ветви содержат все или некоторые объекты из перечисленных в общей метке после слияния (т.е. метка ветви ясно указывает, что содержит ветвь).

Синтаксис моделей и работа с ними

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

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

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

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

Понятие цели системы

SADT-модель дает полное, точное и адекватное описание системы, имеющее конкретное назначение. Это назначение называют целью системы. Таким образом, целью модели является получение ответов на совокупность вопросов. Если модель отвечает не на все вопросы или ее ответы недостаточно точны, то говорят о том, что модель не достигла своей цели. Определяя модель таким образом, SADT закладывает основы практического моделирования.

Точка зрения модели

С определением модели тесно связана позиция, с которой наблюдается система и создается ее модель. Эта позиция и называется "точкой зрения" данной модели. "Точку зрения" лучше всего представлять себе как место (позицию) человека или объекта, в которое надо встать, чтобы увидеть систему в действии.

Построим контекстную диаграмму модели изготовления нестандартной детали (рис. 22).

Определим для начала цель и точку зрения модели.

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

Точка зрения: лучше всего описать все функции может начальник цеха, в котором изготавливаются нестандартные детали.

SADT-модели развиваются в процессе структурной декомпозиции сверху вниз. Сначала декомпозируется один блок, являющийся границей модели. Название диаграммы совпадает с названием декомпозируемого блока. В методологии SADT идентифицируется каждая диаграмма данной модели посредством того, что называется "номер узла". Номер узла для контекстной диаграммы имеет следующий вид: название модели или аббревиатура, косая черта, заглавная буква A (activity в функциональных диаграммах), дефис и ноль.

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

Рис.22. Контекстная диаграмма.

Синтаксис диаграмм

При создании SADT-модели одну и ту же диаграмму вместе с ее блоками и дугами иной раз перечерчивают по несколько раз, что приводит к появлению различных ее вариантов. Чтобы различать версии одной и той же диаграммы, в SADT используется схема контроля конфигурации диаграмм, основанная на хронологических номерах, или С-номерах. С-номерные коды образуются из инициалов автора и последовательных номеров. Эти коды ставятся в нижнем правом углу SADT-бланка. Если диаграмма заменяет более старую версию, то автор помещает в скобках предыдущий С-вариант в скобках, чтобы указать на связь с предыдущей работой (рис. 23).


Рис. 23. SADT-диаграмма А0.

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


Рис. 24. SADT-диаграмма А1.

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

Кроме этого, в SADT принята система обозначений, позволящая аналитику точно идентифицировать и проверять связи по дугам между диаграммами. Эта схема кодирования дуг – "ICOM" – получила название по первым буквам английских эквивалентов слов вход (Input), управление (Control), выход (Output) и механизм (Mechanism).

Существуют правила присваивания кодов ICOM внешним дугам новой диаграммы:

  1. Присвоить код каждой внешней дуге. Используйте I - для входных дуг, C – для связей между дугами управления, O – для связей между выходными дугами, M – для связей между дугами механизма.

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



Скачать документ

Похожие документы:

  1. Программы учебных дисциплин Допущено Учебно-методическим объединением по направлениям педагогического образования Министерства образования и науки РФ в качестве учебно-методических материалов по направлению «050700 Педагогика»

    Документ
    П 44 Подготовка магистра в сфере дошкольного и начального образования (программы учебных дисциплин). В 3-х ч. Часть 2./ Под ред. Г.И.Вергелес, М.И.Калинина, Л.
  2. Секция 4 Учебники и учебные пособия

    Учебники и учебные пособия
    In the work questions of merit of use of electronic learning means for students are considered. The possibility of freedom of choice of different parameters of acquisition knowledge process is singled out as basic merit.
  3. Т. В. Дергилева формирование и развитие информационно-библиотечной системы российской академии наук (организационно-методический аспект) Учебное пособие

    Учебное пособие
    В учебном пособии изложена история формирования и развития информационно-библиотечной системы Российской академии наук с момента организации первых академических библиотек до 2003 г.
  4. В. В. Гура Теоретические основы педагогического проектирования личностно-ориентированных электронных образовательных ресурсов и сред

    Монография
    Гура В.В. Теоретические основы педагогического проектирования личностно-ориентированных электронных образовательных ресурсов и сред. Ростов н/Д: Изд-во Южного федерального ун-та, 2007.
  5. 1992 2010 Анисимов О. С

    Документ
    Анцупов А.Я. Социально-психологические проблемы: предупреждение и разрешение межличностных конфликтов во взаимоотношениях офицеров. - М.: ГА ВС, 1992.

Другие похожие документы..