КАТЕГОРИИ:
АстрономияБиологияГеографияДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРиторикаСоциологияСпортСтроительствоТехнологияФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника
|
Классические методы анализа и проектирования программных систем.Структурный анализ Структурный анализ — один из формализованных методов анализа требований к ПО. Автор этого метода — Том Де Марко (1979). В этом методе программное изделие рассматривается как преобразователь информационного потока данных. Основной элемент структурного анализа — диаграмма потоков данных. Диаграммы потоков данных Диаграмма потоков данных ПДД — графическое средство для изображения информационного потока и преобразований, которым подвергаются данные при движении от входа к выходу системы. Элементы диаграммы имеют вид, показанный на рисунке. Диаграмма может использоваться для представления программного изделия на любом уровне абстракции. Диаграмма высшего (нулевого) уровня представляет систему как единый овал со стрелкой, ее называют основной или контекстной моделью. Контекстная модель используется для указания внешних связей программного изделия. Для детализации (уточнения системы) вводится диаграмма 1-го уровня. Каждый из преобразователей этой диаграммы — подфункция общей системы. Таким образом, речь идет о замене преобразователя F на целую систему преобразователей. Дальнейшее уточнение (например, преобразователя F3) приводит к диаграмме 2-го уровня. Говорят, что ПДД 1 разбивается на диаграммы 2-го уровня.
Диаграмма потоков данных – это абстракция, граф. Для связи графа с проблемной областью (превращения в граф-модель) надо задать интерпретацию ее компонентов – дуг и вершин.
Описание потоков данных и процессов Базовые средства диаграммы не обеспечивают полного описания требований к программному изделию. Очевидно, что должны быть описаны стрелки (потоки данных) и преобразователи (процессы). Для этих целей используются словарь требований (данных) и спецификации процессов. Словарь требований (данных) содержит описания потоков данных и хранилищ данных. Словарь требований является неотъемлемым элементом любой CASE-утилиты автоматизации анализа. Структура словаря зависит от особенностей конкретной CASE-утилиты. Тем не менее можно выделить базисную информацию типового словаря требований. Большинство словарей содержит следующую информацию. 1. Имя (основное имя элемента данных, хранилища или внешнего объекта). 2. Прозвище (Alias) — другие имена того же объекта. 3. Где и как используется объект — список процессов, которые используют данный элемент, с указанием способа использования (ввод в процесс, вывод из процесса, как внешний объект или как память). 4. Описание содержания — запись для представления содержания. 5. Дополнительная информация — дополнительные сведения о типах данных, допустимых значениях, ограничениях и т. д. Спецификация процесса — это описание преобразователя. Спецификация поясняет: ввод данных в преобразователь, алгоритм обработки, характеристики производительности преобразователя, формируемые результаты. Количество спецификаций равно количеству преобразователей диаграммы.
Методы анализа, ориентированные на структуры данных Элементами проблемной области для любой системы являются потоки процессы и структуры данных. При структурном анализе активно работают только с потоками данных и процессами. Методы, ориентированные на структуры данных, обеспечивают: 1. определение ключевых информационных объектов и операций; 2. определение иерархической структуры данных; 3. компоновку структур данных из типовых конструкций – последовательности, выбора, повторения; 4. последовательность шагов для превращения иерархической структуры данных в структуру программы. Наиболее известны два метода: метод Варнье-Орра и метод Джексона. В методе Варнье-Орра для представления структур применяют диаграммы Варнье. Для построения диаграмм Варнье используют 3 базовых элемента: последовательность, выбор, повторение. Как показано на рисунке, с помощью этих элементов можно строить информационные структуры с любым количеством уровней иерархии. Как видим, для представления структуры газеты здесь используются три уровня иерархии. Метод анализа Джексона Как и метод Варнье-Орра, метод Джексона появился в период революции структурного программирования. Фактически оба метода решали одинаковую задачу, распространить базовые структуры программирования (последовательность, выбор повторение) на всю область конструирования сложных программных систем Именно поэтому основные выразительные средства этих методов оказались так похожи друг на друга. Методика Джексона Метод Джексона (1975) включает 6 шагов. Три шага выполняются на этапе анализа, а остальные - на этапе проектирования. 1. Объект-действие. Определяются объекты - источники или приемники информации и действия - события реального мира, воздействующие на объекты. 2. Объект-структура. Действия над объектами представляются диаграммам Джексона. 3. Начальное моделирование. Объекты и действия представляются как обрабатывающая модель. Определяются связи между моделью и реальным миром. 4. Доопределение функций. Выделяются и описываются сервисные функции. 5. Учет системного времени. Определяются и оцениваются характеристики планирования будущих процессов. 6. Реализация. Согласование с системной средой, разработка аппаратной платформы. Шаг объект-действие начинается с определения проблемы на естественном языке.
Шаг объект-структура – структура объектов описывает последовательность действий над объектами (в условном времени). Для представления структуры объектов Джексон предложил 3 типа структурных диаграмм (на рисунке).
Шаг начального моделирования. Начальное моделирование - это шаг к созданию описания системы как модели реального мира. Описание создается с помощью диаграммы системной спецификации. Элементами диаграммы системной спецификации являются физические процессы (имеют суффикс 0) и их модели (имеют суффикс 1). Как показано на рисунке, предусматриваются 2 вида соединений между физическими процессами и моделями. Соединение потоком данных производится, когда физический процесс передает модель принимает информационный поток. Полагают, что поток передается через буфер неограниченной емкости типа FIFO (обозначается овалом). Соединение по вектору состояний происходит, когда модель наблюдает вектор состояния физического процесса. Вектор состояния обозначается ромбиком.
Метод структурного проектирования Исходными данными для метода структурного проектирования являются компоненты модели анализа ПС, которая представляется иерархией диаграмм потоков данных. Результат структурного проектирования — иерархическая структура ПС. Действия структурного проектирования зависят от типа информационного потока в модели анализа. Типы информационных потоков Различают 2 типа информационных потоков: 1) поток преобразований; 2) поток запросов. Как показано на рисунке, в потоке преобразований выделяют 3 элемента: Входящий поток, Преобразуемый поток и Выходящий поток. Потоки запросов имеют в своем составе особые элементы — запросы. Назначение элемента-запроса состоит в том, чтобы запустить поток данных по одному из нескольких путей. Анализ запроса и переключение потока данных на один из путей действий происходит в центре запросов. Структуру потока запроса иллюстрирует рисунок. Метод проектирования Джексона Для иллюстрации проектирования по этому методу продолжим пример с системой обслуживания перевозок. Метод Джексона включает шесть шагов. Три первых шага относятся к этапу анализа. Это шаги: объект — действие, объект — структура, начальное моделирование. Их мы уже рассмотрели.
Доопределение функций Следующий шаг — доопределение функций. Этот шаг развивает диаграмму системной спецификации этапа анализа. Уточняются процессы-модели. В них вводятся дополнительные функции. Джексон выделяет 3 типа сервисных функций: 1. Встроенные функции (задаются командами, вставляемыми в структурный текст процесса-модели). 2. Функции впечатления (наблюдают вектор состояния процесса-модели и вырабатывают выходные результаты). 3. Функции диалога. Они решают следующие задачи: · наблюдают вектор состояния процесса-модели; · формируют и выводят поток данных, влияющий на действия в процессе-модели; · выполняют операции для выработки некоторых результатов. Учет системного времени На шаге учета системного времени проектировщик определяет временные ограничения, накладываемые на систему, фиксирует дисциплину планирования. Дело в том, что на предыдущих шагах проектирования была получена система, составленная из последовательных процессов. Эти процессы связывали только потоки данных, передаваемые через буфер, и взаимные наблюдения векторов состояния. Теперь необходимо произвести дополнительную синхронизацию процессов во времени, учесть влияние внешней программно-аппаратной среды и совместно используемых системных ресурсов. Временные ограничения для системы обслуживания перевозок, в частности, включают: · временной интервал на выработку команды STOР; он должен выбираться путем анализа скорости транспорта и ограничения мощности; время реакции на включение и выключение ламп панели.
|