Главная страница
Навигация по странице:

  • 4 Сущность структурного подхода

  • 4.1 Методология функционального моделирования SADT

  • IDEF0

  • синтаксические правила для графики

  • 2. Тип временной связности.

  • Тип процедурной связности.

  • 4. Тип коммуникационной связности.

  • 5. Тип последовательной связности.

  • Учебноисследовательская лаборатория Математические и программные технологии для современных


    Скачать 0.86 Mb.
    НазваниеУчебноисследовательская лаборатория Математические и программные технологии для современных
    Дата08.03.2023
    Размер0.86 Mb.
    Формат файлаpdf
    Имя файлаConspect.pdf
    ТипАнализ
    #975312
    страница2 из 5
    1   2   3   4   5
    фаза внедрения. На фазе внедрения производится обучение пользователей, организационные изменения и параллельно с внедрением новой системы осуществляется работа с существующей системой (до полного внедрения новой). Так как фаза построения достаточно непродолжительна, планирование и подготовка к внедрению должны начинаться заранее, как правило, на этапе проектирования системы. Приведенная схема разработки ИС не является абсолютной. Возможны различные варианты, зависящие, например, от начальных условий, в которых ведется разработка: разрабатывается совершенно новая система; уже было проведено обследование предприятия и существует модель его деятельности; на предприятии уже существует некоторая ИС, которая может быть использована в качестве начального прототипа или должна быть интегрирована с разрабатываемой.
    Методология RAD, как и любая другая, не может претендовать на универсальность, она хороша в первую очередь для относительно небольших проектов, разрабатываемых для конкретного заказчика. Если же разрабатывается типовая система, которая не является законченным продуктом, а представляет собой комплекс типовых компонент ( централизованно сопровождаемых, адаптируемых к программно-техническим платформам,
    СУБД, средствам телекоммуникации, организационно-экономическим особенностям объектов внедрения и интегрируемых с существующими разработками) на первый план выступают такие показатели проекта, как управляемость и качество, которые могут войти в противоречие с простотой и скоростью разработки. Для таких проектов необходимы высокий уровень планирования и жесткая дисциплина проектирования, строгое следование заранее разработанным протоколам и интерфейсам, что снижает скорость разработки.
    Методология RAD неприменима для построения сложных расчетных программ, операционных систем или программ управления космическими кораблями, т.е. программ, требующих написания большого объема (сотни тысяч строк) уникального кода.
    Не подходят для разработки по методологии RAD приложения, в которых отсутствует ярко выраженная интерфейсная часть, наглядно определяющая логику работы системы
    (например, приложения реального времени). А также приложения, от которых зависит безопасность людей (например, управление самолетом или атомной электростанцией), так как итеративный подход предполагает, что первые несколько версий наверняка не будут полностью работоспособны, что в данном случае исключается.
    Оценка размера приложений производится на основе так называемых функциональных элементов (экраны, сообщения, отчеты, файлы и т.п.) Подобная метрика не зависит от языка программирования, на котором ведется разработка. Размер приложения, которое может быть выполнено по методологии RAD, для хорошо отлаженной среды разработки ИС с максимальным повторным использованием программных компонентов, определяется следующим образом:
    • менее 1000 функциональных элементов - один человек;

    1000-4000 функциональных элементов - одна команда разработчиков;
    • более 4000 функциональных элементов – несколько команд из расчета 4000 функциональных элементов на одну команду разработчиков.

    Основные принципы методологии RAD:
    • разработка приложений итерациями;
    • необязательность полного завершения работ на каждом из этапов жизненного цикла;
    • обязательное вовлечение пользователей в процесс разработки ИС;
    • необходимое применение CASE-средств, обеспечивающих целостность проекта;
    • применение средств управления конфигурацией, облегчающих внесение изменений в проект и сопровождение готовой системы;
    • необходимое использование генераторов кода;
    • использование прототипирования, позволяющее полнее выяснить и удовлетворить потребности конечного пользователя;
    • тестирование и развитие проекта, осуществляемые одновременно с разработкой;
    • ведение разработки немногочисленной хорошо управляемой командой профессионалов;
    • грамотное руководство разработкой системы, четкое планирование и контроль выполнения работ.
    4 Сущность структурного подхода
    Сущность структурного подхода к разработке ИС заключается в ее декомпозиции
    (разбиении) на автоматизируемые функции: система разбивается на функциональные подсистемы, которые в свою очередь делятся на подфункции, подразделяемые на задачи и так далее. Процесс разбиения продолжается вплоть до конкретных процедур. При этом автоматизируемая система сохраняет целостное представление, в котором все составляющие компоненты взаимоувязаны. При разработке системы "снизу-вверх" от отдельных задач ко всей системе целостность теряется, возникают проблемы при информационной стыковке отдельных компонентов.
    Все наиболее распространенные методологии структурного подхода базируются на ряде общих принципов. В качестве двух базовых принципов используются:
    принцип "разделяй и властвуй" - принцип решения сложных проблем путем их разбиения на множество меньших независимых задач, легких для понимания и решения;
    принцип иерархического упорядочивания - принцип организации составных частей проблемы в иерархические древовидные структуры с добавлением новых деталей на каждом уровне.
    Выделение двух базовых принципов не означает, что остальные принципы являются второстепенными, поскольку игнорирование любого из них может привести к непредсказуемым последствиям (в том числе и к провалу всего проекта). Основными из этих принципов являются:
    принцип абстрагирования - заключается в выделении существенных аспектов системы и отвлечения от несущественных;
    принцип формализации - заключается в необходимости строгого методического подхода к решению проблемы;
    принцип
    непротиворечивости - заключается в обоснованности и согласованности элементов;
    принцип структурирования данных - заключается в том, что данные должны быть структурированы и иерархически организованы.

    В структурном анализе используются в основном две группы средств, иллюстрирующих функции, выполняемые системой и отношения между данными. Каждой группе средств соответствуют определенные виды моделей (диаграмм), наиболее распространенными, среди которых являются следующие:
    SADT (Structured Analysis and Design Technique) модели и соответствующие функциональные диаграммы;
    DFD (Data Flow Diagrams) диаграммы потоков данных;
    ERD (Entity-Relationship Diagrams) диаграммы "сущность-связь".
    На стадии проектирования ИС модели расширяются, уточняются и дополняются диаграммами, отражающими структуру программного обеспечения: архитектуру ПО, структурные схемы программ и диаграммы экранных форм.
    Перечисленные модели в совокупности дают полное описание ИС независимо от того, является ли она существующей или вновь разрабатываемой. Состав диаграмм в каждом конкретном случае зависит от необходимой полноты описания системы.
    4.1 Методология функционального моделирования SADT
    Методология SADT разработана Дугласом Россом. На ее основе разработана, в частности, известная методология IDEF0 (Icam DEFinition), которая является основной частью программы ICAM (Интеграция компьютерных и промышленных технологий), проводимой по инициативе ВВС США.
    Методология SADT представляет собой совокупность методов, правил и процедур, предназначенных для построения функциональной модели объекта какой-либо предметной области. Функциональная модель SADT отображает функциональную структуру объекта, т.е. производимые им действия и связи между этими действиями. Основные элементы этой методологии основываются на следующих концепциях:
    графическое представление блочного моделирования. Графика блоков и дуг
    SADT-диаграммы отображает функцию в виде блока, а интерфейсы входа/выхода представляются дугами, соответственно входящими в блок и выходящими из него.
    Взаимодействие блоков друг с другом описываются посредством интерфейсных дуг, выражающих "ограничения", которые в свою очередь определяют, когда и каким образом функции выполняются и управляются;
    строгость и точность. Выполнение правил SADT требует достаточной строгости и точности, не накладывая в то же время чрезмерных ограничений на действия аналитика. Правила SADT включают:
    ограничение количества блоков на каждом уровне декомпозиции (правило 3-6 блоков);
    связность диаграмм (номера блоков);
    уникальность меток и наименований (отсутствие повторяющихся имен);
    синтаксические правила для графики (блоков и дуг);
    разделение входов и управлений (правило определения роли данных);
    отделение организации от функции, т.е. исключение влияния организационной структуры на функциональную модель.
    Методология SADT может использоваться для моделирования широкого круга систем и определения требований и функций, а затем для разработки системы, которая удовлетворяет этим требованиям и реализует эти функции. Для уже существующих систем SADT может быть использована для анализа функций, выполняемых системой, а также для указания механизмов, посредством которых они осуществляются.

    Результатом применения методологии SADT является модель, которая состоит из диаграмм, фрагментов текстов и глоссария, имеющих ссылки друг на друга. Диаграммы - главные компоненты модели, все функции ИС и интерфейсы на них представлены как блоки и дуги. Место соединения дуги с блоком определяет тип интерфейса. Управляющая информация входит в блок сверху, в то время как информация, которая подвергается обработке, показана с левой стороны блока, а результаты выхода показаны с правой стороны.
    Механизм (человек или автоматизированная система), который осуществляет операцию, представляется дугой, входящей в блок снизу (рисунок 1).
    Одной из наиболее важных особенностей методологии SADT является постепенное введение все больших уровней детализации по мере создания диаграмм, отображающих модель.
    Рис. 1. Функциональный блок и интерфейсные дуги
    На рисунке 2 показана структура SADT-модели. Каждый компонент модели может быть декомпозирован на другой диаграмме. Каждая диаграмма иллюстрирует "внутреннее строение" блока на родительской диаграмме.

    Рис. 2. Структура SADT-модели. Декомпозиция диаграмм
    Построение SADT-модели начинается с представления всей системы в виде простейшей компоненты - одного блока и дуг, изображающих интерфейсы с функциями вне системы.
    Поскольку единственный блок представляет всю систему как единое целое, имя, указанное в блоке, является общим. Это верно и для интерфейсных дуг - они также представляют полный набор внешних интерфейсов системы в целом.
    Затем блок, который представляет систему в качестве единого модуля, детализируется на другой диаграмме с помощью нескольких блоков, соединенных интерфейсными дугами. Эти блоки представляют основные подфункции исходной функции. Данная декомпозиция выявляет полный набор подфункций, каждая из которых представлена как блок, границы которого определены интерфейсными дугами. Каждая из этих подфункций может быть декомпозирована подобным образом для более детального представления.
    Во всех случаях каждая подфункция может содержать только те элементы, которые входят в исходную функцию. Кроме того, модель не может опустить какие-либо элементы,
    т.е., как уже отмечалось, родительский блок и его интерфейсы обеспечивают контекст. К нему нельзя ничего добавить, и из него не может быть ничего удалено.
    Модель SADT представляет собой серию диаграмм с сопроводительной документацией, разбивающих сложный объект на составные части, которые представлены в виде блоков.
    Детали каждого из основных блоков показаны в виде блоков на других диаграммах. Каждая детальная диаграмма является декомпозицией блока из более общей диаграммы. На каждом шаге декомпозиции общая диаграмма называется родительской для более детальной диаграммы.
    Дуги, входящие в блок и выходящие из него на диаграмме верхнего уровня, являются точно теми же самыми, что и дуги, входящие в диаграмму нижнего уровня и выходящие из нее, потому что блок и диаграмма представляют одну и ту же часть системы.
    Некоторые дуги присоединяются к блокам диаграммы обоими концами, у других же один конец остается не присоединенным. Не присоединенные дуги соответствуют входам, управлениям и выходам родительского блока. Источник или получатель этих пограничных дуг может быть обнаружен только на родительской диаграмме. Не присоединенные концы должны соответствовать дугам на исходной диаграмме. Все граничные дуги должны продолжаться на родительской диаграмме, чтобы она была полной и непротиворечивой.
    На SADT-диаграммах явно не указываются ни последовательность, ни время. Обратные связи, итерации, продолжающиеся процессы и перекрывающиеся (по времени) функции могут быть изображены с помощью дуг. Обратные связи могут выступать в виде комментариев, замечаний, исправлений и т.д. (рисунок 3).
    Рис. 3. Пример обратной связи
    Как было отмечено, механизмы (дуги с нижней стороны) показывают средства, с помощью которых осуществляется выполнение функций. Механизм может быть человеком, компьютером или любым другим устройством, которое помогает выполнять данную функцию.
    Каждый блок на диаграмме имеет свой номер. Блок любой диаграммы может быть далее описан диаграммой нижнего уровня, которая, в свою очередь, может быть далее детализирована с помощью необходимого числа диаграмм. Таким образом, формируется иерархия диаграмм. Для того, чтобы указать положение любой диаграммы или блока в иерархии, используются номера диаграмм
    Одним из важных моментов при проектировании ИС с помощью методологии SADT является точная согласованность типов связей между функциями. Различают, по крайней мере, семь типов связывания:

    0. Тип случайной связности: наименее желательный. Случайная связность возникает, когда конкретная связь между функциями мала или полностью отсутствует. Это относится к ситуации, когда имена данных на SADT-дугах в одной диаграмме имеют малую связь друг с другом. Крайний вариант этого случая показан на рисунке 4.
    Рис. 4. Случайная связность
    1. Тип логической связности. Логическое связывание происходит тогда, когда данные и функции собираются вместе вследствие того, что они попадают в общий класс или набор элементов, но необходимых функциональных отношений между ними не обнаруживается.
    2. Тип временной связности. Связанные по времени элементы возникают вследствие того, что они представляют функции, связанные во времени, когда данные используются одновременно или функции включаются параллельно, а не последовательно.
    3. Тип процедурной связности. Процедурно-связанные элементы появляются сгруппированными вместе вследствие того, что они выполняются в течение одной и той же части цикла или процесса. Пример процедурно-связанной диаграммы приведен на рисунке 5.
    Рис. 5. Процедурная связность
    4. Тип
    коммуникационной
    связности.
    Диаграммы демонстрируют коммуникационные связи, когда блоки группируются вследствие того, что они используют одни и те же входные данные и/или производят одни и те же выходные данные (рисунок 6).

    Рис. 6. Коммуникационная связность
    5. Тип
    последовательной
    связности.
    На диаграммах, имеющих последовательные связи, выход одной функции служит входными данными для следующей функции. Связь между элементами на диаграмме является более тесной, чем на рассмотренных выше уровнях связок, поскольку моделируются причинно-следственные зависимости (рисунок 7).
    Рис. 7. Последовательная связность
    6. Тип
    функциональной
    связности.
    Диаграмма отражает полную функциональную связность, при наличии полной зависимости одной функции от другой. Диаграмма, которая является чисто функциональной, не содержит чужеродных элементов, относящихся к последовательному или более слабому типу связности. Одним из способов определения функционально-связанных диаграмм является рассмотрение двух блоков, связанных через управляющие дуги, как показано на рисунке 8. В математических терминах необходимое условие для простейшего типа функциональной связности, показанной на рисунке 8, имеет следующий вид: C = g(B) = g(f(A))
    Рис. 8. Функциональная связность

    Ниже в таблице представлены все рассмотренные типы связей. Важно отметить, что уровни 4-6 устанавливают типы связностей, которые разработчики считают важнейшими для получения диаграмм хорошего качества.
    Значимость Тип связности
    Для функций
    Для данных
    0
    Случайная
    Случайная
    Случайная
    1
    Логическая
    Функции одного и того же множества или типа
    (например, "редактировать все входы")
    Данные одного и того же множества или типа
    2
    Временная
    Функции одного и того же периода времени (например,
    "операции инициализации")
    Данные, используемые в каком-либо временном интервале
    3
    Процедурная
    Функции, работающие в одной и той же фазе или итерации (например,
    "первый проход компилятора")
    Данные, используемые во время одной и той же фазы или итерации
    4
    Коммуникационная Функции, использующие одни и те же данные
    Данные, на которые воздействует одна и та же деятельность
    5
    Последовательная
    Функции, выполняющие последовательные преобразования одних и тех же данных
    Данные, преобразуемые последовательными функциями
    6
    Функциональная
    Функции, объединяемые для выполнения одной функции
    Данные, связанные с одной функцией
    4.2 Моделирование потоков данных (процессов)
    В основе данной методологии (методологии Gane/Sarson) лежит построение модели анализируемой ИС - проектируемой или реально существующей. В соответствии с методологией модель системы определяется как иерархия диаграмм потоков данных (ДПД или DFD), описывающих асинхронный процесс преобразования информации от ее ввода в систему до выдачи пользователю. Диаграммы верхних уровней иерархии (контекстные диаграммы) определяют основные процессы или подсистемы ИС с внешними входами и выходами. Они детализируются при помощи диаграмм нижнего уровня. Такая декомпозиция продолжается, создавая многоуровневую иерархию диаграмм, до тех пор, пока не будет достигнут такой уровень декомпозиции, на котором процесс становятся элементарными и детализировать их далее невозможно.
    Источники информации (внешние сущности) порождают информационные потоки
    (потоки данных), переносящие информацию к подсистемам или процессам. Те в свою очередь преобразуют информацию и порождают новые потоки, которые переносят информацию к другим процессам или подсистемам, накопителям данных или внешним сущностям - потребителям информации. Таким образом, основными компонентами диаграмм потоков данных являются:

    1   2   3   4   5


    написать администратору сайта