Архитектура Аудит Военная наука Иностранные языки Медицина Металлургия Метрология Образование Политология Производство Психология Стандартизация Технологии |
Структурные карты Константайна
Методика структурных карт используется на этапе проектирования ПО для того, чтобы продемонстрировать, каким образом программный продукт выполняет системные требования. При этом наиболее часто применяются две техники: структурные карты Константайна (Constantine), предназначенные для описания отношений между модулями, и структурные карты Джексона (Jackson), предназначенные для описания внутренней структуры модулей. Структуру программной системы составляют модули, которые в любом языке программирования имеют следующие общие свойства: q модуль имеет имя, по которому к нему можно обращаться как к единому фрагменту; q модуль состоит из множества операторов языка программирования, записанных последовательно; q модуль может принимать и/или передавать данные как параметры в вызывающей последовательности или связывать данные через фиксированные ячейки или общие области. Структурные карты Константайна представляют собой модель отношений между модулями программы. Узлы структурных карт соответствуют модулям и областям данных, потоки изображают межмодульные связи. На диаграмме специальными узлами изображаются циклические и условные вызовы модулей, а потоки проходят через эти специальные узлы. Потоки, изображающие межмодульные связи по данным и управлению также изображаются на диаграмме специальными узлами, а стрелками указываются направления потоков. На рис. 4 приведены основные компоненты структурных карт Константайна: Рис. 4. Элементы структурных карт а – модуль; б – вызов модуля; в – связь по данным; связь по управлению Модуль является базовым элементом структурной карты. Различают следующие типы модулей (см. рис. 5): q модуль (рис. 5, а); q подсистема – детализированный модуль или программа. Может использоваться повторно любое число раз (рис. 5, б); q библиотека – совокупность подпрограмм размещенных в модуле отдельно от данной системы (рис. 5, в); q область данных – описывает модули, содержащие исключительно области глобальных/распределенных данных (рис. 5, г). Рис. 5. Типы модулей Отдельные части программной системы (программы, подпрограммы) могут вызываться последовательно, параллельно или как сопрограммы (см. рис. 6). Для моделирования условных и циклических вызовов применяются следующие узлы (рис. 7): q условный узел применяется для моделирования конструкций IF-THEN-ELSE (на диаграмме из узла выходят два потока) и IF-THEN (из узла выходит один поток). Условный узел изображается в виде ромба, потоки – альтернативные вызовы изображаются выходящими из него; q итерационный узел используется для того, чтобы показать, что вызываемый модуль выполняется в цикле. Он изображается полуокружностью со стрелкой с выходящими из него потоками. Рис. 6. Типы вызовов модулей Если необходимо показать, что подчиненный модуль вызывается однократно, это осуществляется указанием цифры "1" рядом со стрелкой, обозначающей вызов модуля-наследника. Рис. 7. Условные и циклические вызовы модулей а - циклический; б - условный; в - однократный Связи по данным и управлению между модулями (передаваемые как параметры) обозначают стрелками, параллельными дуге вызова, которые показывают направления связей (рис. 8). Рис. 8. Связи а – по данным и б – по управлению Пример 2. Разработать структурную карту Константайна для задачи сортировки одномерного массива с помощью алгоритмов Пузырька, прямого выбора и Шелла. Программа состоит из модулей Меню, Методов сортировки, и Вывода результата. Пользователь выбирает нужный метод, вводит массив и получает в результате отсортированный массив. Результат приведен на рис. 9: Рис. 9. Пример структурной карты Константайна |
Последнее изменение этой страницы: 2019-05-08; Просмотров: 663; Нарушение авторского права страницы