3 как составляются структурные схемы константайна
Перейти к содержимому

3 как составляются структурные схемы константайна

Структурные карты Константайна

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

Различают четыре типа вершин (рис. 5.7):

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

При этом отдельные части программной системы (программы, подпрограммы) могут вызываться последовательно, параллельно или как сопрограммы (рис. 5.8).

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

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

Обозначения вершин по стандартам IBM, ISO и ANSI

Рис. 5.7. Обозначения вершин по стандартам IBM, ISO и ANSI:

а — модуль; б — подсистема; в — библиотека; г — область данных

Обозначения типа вызова

Рис. 5.8. Обозначения типа вызова:

а — последовательный вызов; б — параллельный вызов; в — вызов сопрограммы

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

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

Диаграммы реализации параллельного вызова (а) и вызова сопрограммы (б)

Рис. 5.9. Диаграммы реализации параллельного вызова (а) и вызова сопрограммы (б):

Если стрелка, изображающая вызов, касается блока, то обращение происходит к модулю целиком, а если входит в блок, то — к элементу внутри модуля.

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

Связи по данным и управлению обозначают стрелками, параллельными дуге вызова, направление стрелки указывает направление связи (рис. 5.11).

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

Пример 5.2. Представим в виде структурной карты Константайна полную структурную схему, полученную в предыдущем примере (см. рис. 5.6).

Обозначение типа связи

Рис. 5.11. Обозначение типа связи:

а — по данным; б — по управлению

Обозначения особых условий вызова

Рис. 5.10. Обозначения особых условий вызова:

а — циклический; б — условный; в — однократный

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

Для остальных подпрограмм покажем особые условия вызова и типы связей (рис. 5.12).

Модули Расчет значений функции, Вывод таблицы и Построение графика связаны с основной программой по образцу, так как параметры X и Y структурные (массивы), следовательно, программа считается сцепленной по образцу.

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

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

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

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

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

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

Построение структурных карт Константайна и джексона

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

Для создания диаграммы дерева узлов следует выбрать в меню пункт Insert/Node Tree. Возникает диалог формирования диаграммы дерева узлов Node Tree Definition

В диалоге Node Tree Definition следует указать глубину дерева — Number of Levels (по умолчанию 3) и корень дерева (по умолчанию — родительская работа текущей диаграммы)

Контекстная диаграмма — вид IDEF0-диаграммы. Это диаграмма, расположенная на вершине древовидной структуры диаграмм, представляющая собой самое общее описание системы и ее взаимодействие с внешней средой (как правило, здесь описывается основное назначение моделируемого объекта)

ДИАГРАММЫ ДЕКОМПОЗИЦИИпредназначены для детализации функций и получаются при разбиении контекстной диаграммы на крупные подсистемы (функциональная декомпозиция) и описывающие каждый подсистему и их взаимодействие.

Отчет 2

Построение логической информационной модели уровня сущность связь

Часто ее называют ER-моделью (Entity –сущность, Relation – связь). В ней моделирование структуры данных предметной области базируется на использовании графических средств – ER-диаграмм (диаграмм "сущность–связь"). В наглядном виде они представляют связи между сущностями.

Модель данных, основанная на ключах

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

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

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

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

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

Построение атрибутивной модели

FA (Fuller Attributer) модель – это модель данных, которая полностью описывает все атрибуты сущности с указанием типов данных. Атрибуты могут однозначными (дата рождения человека) и многозначными (у человека может быть несколько телефонов).

Построение физической модели

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

Отчет 3

Модель AS-IS — это модель «как есть», т.е. модель уже существующего процесса / функции. Обследование процессов является обязательной частью любого проекта создания или развития системы. Построение функциональной модели AS-IS позволяет четко зафиксировать, какие процессы осуществляются на предприятии, какие информационные объекты используются при выполнении функций различного уровня детализации. Описание системы с помощью IDEF0 называется функциональной моделью. Функциональная модель предназначена для описания существующих бизнес-процессов: в котором используются как естественный, так и графический языки. Для передачи информации о конкретной системе источником графического языка является сама методология IDEF0.

Построение структурных карт Константайна и джексона

Структурные карты Константайна

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

Различают четыре типа вершин:

· библиотека — совокупность подпрограмм, размещенных в отдельном модуле,

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

При этом отдельные части программной системы (программы, подпро­граммы) могут вызываться последовательно, параллельно или как сопро­граммы.

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

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

Структурные карты Джексона

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

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

1. СТРУКТУРНЫЙ блок (базовая компонента методологии) представляет частную функцию или блок кодов с одним входом и одним выходом.

2. ПРОЦЕДУРНЫЙ блок является специальным видом структурного блока, представляющим вызов ранее определенной процедуры.

3. БИБЛИОТЕЧНЫЙ блок аналогичен процедурному и представляет вызов библиотечного модуля.

Для взаимоувязывания блоков используются связи следующих типов:

· последовательная связь, обеспечивающая последовательное выполнение слева направо;

· параллельная связь, обеспечивающая одновременное выполнение блоков;

· условная связь, обеспечивающая выбор одной из альтернатив;

· итерационная связь, обеспечивающая выполнение блока в цикле.

Дата добавления: 2018-06-01 ; просмотров: 1904 ; Мы поможем в написании вашей работы!

5.3. Структурные карты Константайна

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

Различают четыре типа вершин (рис. 5.7):

библиотека — совокупность подпрограмм, размещенных в отдельном модуле,

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

При этом отдельные части программной системы (программы, подпро­граммы) могут вызываться последовательно, параллельно или как сопро­граммы (рис. 5.8).

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

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

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

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

Если стрелка, изображающая вызов, касается блока, то обращение про­исходит к модулю целиком, а если входит в блок, то — к элементу внутри мо­дуля.

При необходимости на структурной карте можно уточнить особые усло­вия вызова (рис. 5.10): циклический вызов, условный вызов и однократный вызов — при повторном вызове основного модуля однократно вызываемый модуль не активизируется.

Связи по данным и управлению обозначают стрелками, параллельными дуге вызова, направление стрелки указывает направление связи (рис. 5.11).

Структурные карты Константина позволяют наглядно представить ре­зультат декомпозиции программы на модули и оценить ее качество, т. е. со­ответствие рекомендациям структурного программирования (сцепление и связность).

Пример 5.2. Представим в виде структурной карты Константайна пол­ную структурную схему, полученную в предыдущем примере (см. рис. 5.6).

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

Для остальных подпрограмм покажем особые условия вызова и типы связей (рис. 5.12).

Модули Расчет значений функции, Вывод таблицы и Построение графи­ка связаны с основной программой по образцу, так как параметры X и Y структурные (массивы), следовательно программа считается сцепленной по образцу.

Анализ показывает, что количество сцеплений по образцу в программе можно уменьшить, если подпрограмму Расчет значений функции перенести на следующий уровень (рис. 5.13). Однако в этом случае при смене вида ре­зультата таблица значений будет рассчитываться заново.

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

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

В соответствии с требованиями нисходящей разработки (комбинирован­ный подход) можно предложить следующий порядок реализации модулей:

Добавить комментарий

Ваш адрес email не будет опубликован.