Kafe-sviaz.ru

Финансовый журнал
0 просмотров
Рейтинг статьи
1 звезда2 звезды3 звезды4 звезды5 звезд
Загрузка...

Метод структурного анализа это

Метод структурного анализа

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

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

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

3. Принцип формализации заключается в необходимости строгого методологического подхода и решению проблемы.

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

5. Принцип полноты заключается в контроле на присутствие лишних элементов.

6. Принцип непротиворечивости заключается в обоснованности и согласованности элементов.

7. Принцип логической независимости заключается в концентрации внимания на логическом проектировании для обеспечения независимости от физического исполнения.

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

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

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

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

* функции, которые система должна выполнять;

* отношения между данными;

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

Для этого применяются:

* DFD (Data Flow Diagrams) – диаграммы потоков данных совместно со словарями данных и спецификациями процессов;

* ERD (Entity–Relationship Diagrams) – диаграммы сущность–связь;

* STD (State Transition Diagrams) – диаграммы переходов–состояний.

Все они содержат графические и текстовые средства описания: первые – для удобства демонстрирования компонентов модели, вторые – для обеспечения точного определения ее компонентов и связей.

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

Структура каждого хранилища описывается с помощью ERD. В случае наличия реального времени DFD дополняется средствами описания, зависящего от времени поведения системы, которые описываются с помощью STD. Эти связи показаны на рис. 6.

Рис. 6. Взаимосвязь средств структурного анализа

Информатика: учебник для студентов всех направлений и специальностей подготовки

ФБГОУ ВПО «Новосибирский государственный технический университет»

Главная страница / 29. Структурное программирование: 29.2. Структурные методы .

29.2. Структурные методы анализа и проектирования ПО

Одной из основных проблем, которые приходится решать при создании больших и сложных систем любой природы, в том числе и ПО, является проблема сложности. Ни один разработчик не в состоянии выйти за пределы человеческих возможностей и понять всю систему в целом. Единственный эффективный подход к решению этой проблемы, который выработало человечество за всю свою историю, заключается в построении сложной системы из небольшого количества крупных частей, каждая из которых, в свою очередь, строится из частей меньшего размера, и т.д., до тех пор, пока самые небольшие части можно будет строить из имеющегося материала. Этот подход известен под самыми разными названиями, среди них такие, как «разделяй и властвуй» (divide et imperd), иерархическая декомпозиция и др. По отношению к проектированию сложной программной системы это означает, что ее необходимо разделить (декомпозировать) на небольшие подсистемы, каждую из которых можно разрабатывать независимо от других. Это позволяет при разработке подсистемы любого уровня иметь дело только с ней, а не со всеми остальными частями системы [18].

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

Читать еще:  Виды статического анализа

Таким образом, первым шагом упрощения сложной системы является ее разбиение на «черные ящики», при этом такое разбиение должно удовлетворять следующим критериям:

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

Второй важной идеей, лежащей в основе структурных методов, является идея иерархии. Для понимания сложной системы недостаточно разбить ее на части, необходимо эти части организовать определенным образом, а именно в виде иерархических структур. Все сложные системы Вселенной организованы в иерархии: от галактик до элементарных частиц. Человек при создании сложных систем также подражает природе. Любая организация имеет директора, заместителей по направлениям, иерархию руководителей подразделений, рядовых служащих [18].

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

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

Для таких методов характерно:

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

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

Все наиболее распространенные методы структурного подхода базируются на ряде общих принципов. Базовыми принципами являются:

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

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

  • принцип абстрагирования – выделение существенных аспектов системы и отвлечение от несущественных;
  • принцип непротиворечивости – обоснованность и согласованность элементов системы;
  • принцип структурирования данных – данные должны быть структурированы и иерархически организованы.

Тема 2. Классический подход к разработке программных средств

Оглавление по теме

2.1. Классические методы анализа

Системный анализ проводится с целью:

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

В системной спецификации описываются:

  • функции;
  • характеристики системы;
  • ограничения разработки;
  • входная и выходная информация.

Анализ требований дает возможность:

  1. определить функции и характеристики программного продукта;
  2. обозначить интерфейс продукта с другими системными элементами;
  3. определить проектные ограничения программного продукта;
  4. построить модели процесса, данных, а также режимов функционирования продукта;
  5. создать такие формы представления информации и функций системы, которые можно использовать в ходе проектирования.

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

Известно два подхода к разработке ПО:

  1. Функционально-модульный или структурный.
  2. Объектно — ориентированный подход.

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

Объектно-ориентированный подход использует объектную декомпозицию.

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

2.1.1. Структурный анализ

Структурный анализ — один из формализованных методов анализа требований к ПО.

Все известные методы структурного подхода базируются на ряде общих принципов :

  • принцип «разделяй и властвуй»;
  • принцип иерархического упорядочения — принцип организации составных частей системы в иерархические древовидные структуры с добавлением новых деталей на каждом уровне;
  • принцип абстрагирования — выделение существенных аспектов системы и отвлечение от несущественных;
  • принцип непротиворечивости — обоснованность и согласованность элементов системы;
  • принцип структурирования данных — данные должны быть структурированы и иерархически организованы.
Читать еще:  Экономика и анализ деятельности предприятия

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

  1. DFD (Data Flow Diagrams) — диаграммы потоков данных;
  2. SADT (Structured Analysis and Design Technique) — метод структурног o анализа и проектирования;
  3. ERD (Entity-Relationship Diagrams) — диаграммы «сущность — связь».

DFD и ERD — наиболее часто используемые в CASE-cредствах виды моделей. Основной элемент структурного анализа — диаграммы потоков данных (DFD-data flow diagrams). Конкретный вид диаграмм и интерпретация их конструкций зависят от стадии разработки ПО. Программное изделие рассматривается как преобразователь информационного потока данных.

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

Рис. 1. Элементы диаграммы потоков данных

Рис. 2. Диаграмма потоков данных

Контекстная модель используется для указания внешних связей программного изделия. Для детализации (уточнения системы) вводится диаграмма 1-го уровня. Каждый из преобразователей этой диаграммы — подфункция общей системы. Дальнейшее уточнение приводит к диаграмме 2-го уровня.

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

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

Описание потоков данных и процессов

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

Структура словаря зависит от особенностей конкретного CASE-средства:

  1. Имя (основное имя элемента данных, хранилища или внешнего объекта).
  2. Прозвище (Alias) — другие имена того же объекта.
  3. Где и как используется объект — список процессов, которые используют данный элемент, с указанием способа использования (ввод в процесс, вывод из процесса, как внешний объект или как память.
  4. Описание содержания — запись для представления содержания.
  5. Дополнительная информация — дополнительные сведения о типах данных, допустимых значениях, ограничениях и т. д.

Спецификация процесса — это описание преобразователя.

  • ввод данных в преобразователь;
  • алгоритм обработки;
  • характеристики производительности преобразователя;
  • формируемые результаты.

Количество спецификаций равно количеству преобразователей диаграммы.

Рис. 3. Поток данных и процессов

2.1.2. Методы анализа, ориентированные на структуры данных

Элементами проблемной области для любой системы являются потоки, процессы и структуры данных. При структурном анализе активно работают только с потока­ми данных и процессами.

Методы, ориентированные на структуры данных, обеспечивают:

  1. определение ключевых информационных объектов и операций;
  2. определение иерархической структуры данных;
  3. компоновку структур данных из типовых конструкций — последовательности, выбора, повторения;
  4. последовательность шагов для превращения иерархической структуры данных в структуру программы.

Наиболее известны два метода: метод Варнье—Орра и метод Джексона .

В методе Варнье-Орра для представления структур применяют диаграммы Варнье. Для построения диаграмм Варнье используют 3 базовых элемента: последовательность, выбор, повторение (Рис. 4).

Рис. 4. Базовые элементы

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

Рис. 5. Информционная структура

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

Метод анализа Джексона.

Как и метод Варнье—Орра, метод Джексона появился в период революции струк­турного программирования. Оба метода решали одинаковую задачу: распространить базовые структуры программирования (последовательность, выбор, повторение) на всю область конструирования сложных программных систем.

Метод Джексона (1975) включает 6 шагов. Три шага выполняются на этапе анализа, а остальные — на этапе проектирования.

  1. Объект—действие. Определяются объекты — источники или приемники ин­формации и действия — события реального мира, воздействующие на объекты.
  2. Объект—структура. Действия над объектами представляются диаграммами Джексона.
  3. Начальное моделирование. Объекты и действия представляются как обрабатывающая модель. Определяются связи между моделью и реальным миром.
  4. Доопределение функций. Выделяются и описываются сервисные функции.
  5. Учет системного времени. Определяются и оцениваются характеристики планирования будущих процессов.
  6. Реализация. Согласование с системной средой, разработка аппаратной платформы.

Шаг объект—действие. Этот шаг начинается с определения проблемы на естественном языке. При выделении объектов и действий возможны ошибки. Но список объектов и действий может модифицироваться в ходе дальнейшего анализа.

Читать еще:  Математико статистические методы анализа данных

Шаг объект—структура. Структура объектов описывает последовательность действий над объектами (в условном времени). Для представления структуры объектов Джексон предложил 3 типа структурных диаграмм. Они показаны на Рис. 6.

В первой диаграмме к объектам применяется такое действие, как последовательность, во второй — выбор, в третьей — повторение.

СТРУКТУРНЫЕ МЕТОДЫ АНАЛИЗА

И ПРОЕКТИРОВАНИЯ ПО

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

Таким образом, первым шагом упрощения сложной системы является ее разбиение на «черные ящики», при этом такое разбиение должно удовлетворять следующим критериям:

· каждый «черный ящик» должен реализовывать единственную функцию системы;

· функция каждого «черного ящика» должна быть легко понимаема независимо от сложности ее реализации;

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

· связи между «черными ящиками» должны быть простыми, насколько это возможно, для обеспечения независимости между ними.

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

Все сложные системы Вселенной организованы в иерархии: от галактик до элементарных частиц. Человек при создании сложных систем также подражает природе. Любая организация имеет директора, заместителей по направлениям, иерархию руководителей подразделений, рядовых служащих.

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

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

· разбиение системы на уровни абстракции с ограничением числа элементов на каждом из уровней (обычно от 3 до 6—7);

· ограниченный контекст, включающий лишь существенные на каждом уровне детали;

· использование строгих формальных правил записи;

· последовательное приближение к конечному результату.

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

Все наиболее распространенные методы структурного подхода базируются на ряде общих принципов. Базовыми принципами являются:

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

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

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

· принцип абстрагирования— выделение существенных аспектов системы и отвлечение от несущественных;

· принцип непротиворечивости— обоснованность и согласованность элементов системы;

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

В структурном анализе и проектировании используются различные модели, описывающие:

1) функциональную структуру системы;

2) последовательность выполняемых действий;

3) передачу информации между функциональными процессами;

4) отношения между данными.

Наиболее распространенными моделями первых трех групп являются:

· функциональная модель SADT (Structured Analysis and Design Technique);

· DFD (Data Flow Diagrams) — диаграммы потоков данных. Модель «сущность — связь» (ERM — Entity-Relationship Model), описывающая отношения между данными, традиционно используется в структурном анализе и проектировании, однако, по существу, представляет собой подмножество объектной модели предметной области.

Ссылка на основную публикацию
Adblock
detector