ВУЗ: Не указан
Категория: Не указан
Дисциплина: Не указана
Добавлен: 04.02.2024
Просмотров: 291
Скачиваний: 2
ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.
Рисунок 2.5 – Типы вызовов модулей
Для моделирования условных и циклических вызовов применяются следующие узлы (рисунок 2.6):
-
условный узел применяется для моделирования конструкций IF-THEN-ELSE (на диаграмме из узла выходят два потока) и IF-THEN (из узла выходит один поток). Условный узел изображается в виде ромба, потоки — альтернативные вызовы — изображаются выходящими из него; -
итерационный узел используется для того, чтобы показать, что вызываемый модуль выполняется в цикле. Он изображается полуокружностью со стрелкой с выходящими из него потоками.
Рисунок 2.6- Условные и циклические вызовы модулей:
а - циклический; б— условный; в — однократный
Если необходимо показать, что подчиненный модуль вызывается однократно, это осуществляется указанием цифры «1» рядом со стрелкой, обозначающей вызов модуля-наследника.
Связи по данным и управлению между модулями (передаваемые как параметры) обозначают стрелками, параллельными дуге вызова, которые показывают направления связей (рисунок 2.7).
Рисунок 2.7 - Связи
а — по данным; б- по управлению
Пример.
Разработать структурную карту Константайна для задачи сортировки одномерного массива с помощью алгоритмов Пузырька, прямого выбора и Шелла.
Программа состоит из модулей Меню, Методов сортировки и Вывода результата. Пользователь выбирает нужный метод, вводит массив и получает в результате отсортированный массив.
Рисунок 2.8 – Пример структурной карты Константайна
Результат приведен на рисунке 2.8.
Структурные карты Джексона
Техника структурных карт Джексона основана на методе структурного программирования Джексона, который выявляет соответствие между структурой потоков данных и структурой программы. Основное внимание в методе сконцентрировано на соответствии входных и выходных потоков данных. Структуры на диаграммах Джексона строятся из четырех основных компонентов, представленных на рис. 2.9:
-
операция — блок кодов, имеющий один вход и один выход (рисунок 2.9, а); -
следование — последовательное выполнение операций слева направо (рисунок 2.9, б); -
выбор — выполнение одной из операций в зависимости от выполнения условия (рисунок 2.9, в); -
итерация — многократное выполнение блока (рисунок 2.9, г).
Рисунок 2.9 – Элементы структурных диаграмм Джексона
Пример.
У менеджера торговой фирмы имеется файл, содержащий записи о принтерах со следующими полями: фирма-производитель, марка, скорость печати, стоимость, количество единиц на складе. Эти поля образуют структуру входных данных. По запросу менеджера программа выдает сведения о нужных покупателю принтерах в соответствии с критерием поиска. Критерием может быть: цена, скорость или фирма-производитель. Выходными данными является список, содержащий наименования выбранных принтеров.
С точки зрения структурного программировании Джексона алгоритм программы будет следующим:
Программа
Цикл пока не конец файла
Прочитать запись
Сравнить заданные поля с критерием поиска
Если совпали
Сохранить в выходной список
Конец-если
Конец-цикл
Вывод результирующего списка
Конец-программа
Рисунок 2.10 – Структурная карта Джексона
Полученная структурная карта Джексона приведена на рисунке 2.10.
CASE-технологии
CASE-технологии (Computer-Aided Software/System Engineering — разработка программного обеспечения/систем с использованием компьютерной поддержки) — это реализованные в виде программных продуктов технологические системы, ориентированные на создание сложных программных систем и поддержку их полною жизненною цикла или его основных этапов. В настоящее время CASE-технологии используются не только для производства ПП, но и как мощный инструмент решения исследовательских и проектных задач (структурный анализ предметной области, моделирование деловых предложений с целью решения задач оперативного и стратегического планирования и управления ресурсами).
CASE-технологии начали развиваться в связи с развитием методологии структурного программирования. Их развитие стало возможным благодаря тому, что формализация в структурном программировании оказалась наиболее приемлемой для автоматизации. Таким образом, CASE-средства являются результатом эволюционного развития отрасли инструментальных (или технологических) средств.
CASE-средства обладают следующими основными достоинствами:
-
повышают качество создаваемого ПО с помощью средств автоматического контроля; -
ускоряют процесс проектирования и разработки; -
позволяют за короткое время создавать прототип будущей системы, что позволяет на ранних этапах оценить ожидаемый результат; -
освобождают разработчика от рутинной работы, частично генерируя коды программ; -
поддерживают технологии повторного использования компонентов ПО; -
поддерживают развитие и сопровождение разработки.
При использовании CASE-технологий изменяются фазы жизненного цикла программного продукта, как показано в таблице 2.2.
Таблица 2.2 – Сравнительная характеристика этапов жизненного цикла ПО
Наиболее просто автоматизируемыми оказались стадии «контроль проекта» и «кодогенерация», хотя все остальные этапы Жизненного цикла ПО также поддерживаются СASЕ-технологнями. Кроме изменения содержания фаз, существенно изменилось Распределение трудозатрат по фазам, как показано в таблице 2.3.
Таблица 2.3. Распределение трудозатрат по фазам жизненного цикла ПО
Таблица 2.4 содержит сравнительную характеристику целей и содержания этапов жизненного цикла ПО при традиционной разработке и с помощью CASE-средств.
Таблица 2.4 – Цели и содержание этапов жизненного цикла ПО
CASE-технология базируется на спиральной модели жизненного цикла ПО. На начальных этапах жизненною цикла (анализ требований, проектирование спецификаций, предварительное и детальное проектирование) проверяется и обосновывается реализуемость технических решений путем создания прототипов. Эта работа повторяется на каждом витке спирали, причем каждый следующий виток характеризуется более высокой степенью детализации создаваемого ПО. Окончанием витка является уточнение целей и характеристик проекта и планирование работ следующего витка спирали. Тем самым реализуется нисходящий принцип проектирования.
Чем же принципиально CASE -технология отличается от традиционной технологии разработки ПО? Девизом разработчиков CASE-технологий является фраза «одна картинка стоит тысячи слов». Поэтому при использовании CASE-средств функционирование объекта (разрабатываемого ПО)
отражается в различных схемах, таблицах, диаграммах, картах и т. п.
Большинство CASE-технологий основано на парадигме методология/метод/нотация/ средство.
Методология па основе некоторого подхода определяет шаги работы, их последовательность, а также правила распределения и назначения методов.
Метод определяет способ достижения той или иной цели.
Нотацией называют систему обозначений, используемых для описания структуры системы, элементов данных, этапов обработки и других компонентов. Нотации могут быть графические (представление моделей в виде таблиц, графов, диаграмм, схем и т. п.) и текстовые (описания моделей на формальных и естественных языках).
Средства — инструментарий для поддержки методов. Эти инструменты обеспечивают работу пользователей-разработчиков при создании и редактировании проекта в интерактивном режиме, выполняют проверки соответствия компонентов и кодируют на некотором языке программирования модули ПО.
Наиболее часто и эффективно в методологии структурного анализа используются следующие средства:
-
DFD (Data Flow Diagrams) — диаграммы потоков данных совместно со словарями данных и спецификациями про- -
ERD (Entity-Relationship Diagrams) диаграммы «сущность—связь»; -
STD (State Transition Diagrams) — диаграммы переходов состояний.
Современные структурные методологии анализа и проектирования классифицируются по следующим признакам:
-
по типу целевых систем — для систем реального времени и для информационных систем; -
по отношению к школам — Software Engineering (SE) и Information Engineering (IE); -
по порядку построения моделей — процедурно-ориентированные, ориентированные на данные и информационно-ориентированные.
В таблице 2.5 приведены отличия информационных систем от систем реального времени.
Таблица 2.5 – Отличия информационных систем от систем реального времени
SE применяется при разработке как информационных систем, так и систем реального времени и реализует нисходящий подход к проектированию ПО. Эта дисциплина более апробирована, так как появилась раньше IE.
IE используется для проектирования информационных систем. Она новее, чем SE, и имеет более широкую область применения, поскольку является дисциплиной построения систем вообще, а не только систем ПО.
Различие в порядке построения моделей трактуется следующим образом. Традиционный процедурно-ориентированный подход регламентирует первичность проектирования функциональных компонентов по отношению к проектированию структур данных. При подходе, ориентированном на данные, вход и выход являются наиболее важными — структуры данных определяются первыми, а процедурные компоненты являются производными от данных. Информационно-ориентированный подход позволяет работать с неиерархическими структурами данных.
Ускорение разработки программного обеспечения. Методология RAD
В связи с развитием CASЕ-технологий в рамках спиральной модели жизненного цикла ПО в последнее время широкое рас-
распространение получила методология быстрой разработки приложений RAD (Rapid Application Development). Процесс разработки при этом содержит три элемента:
-
небольшую команду программистов (от 2 до 10 человек), что облегчает управление проектом; -
короткий, но тщательно проработанный производственный график (от 2 до 6 мес.), повышает эффективность работы; -
итерационный подход, при котором разработчики, по мере того как приложение начинает обретать форму, запрашивают и реализуют в продукте требования, полученные через взаимодействие с заказчиком.
Команда разработчиков представляет собой группу профессионалов, имеющих опыт в анализе, проектировании, генерации кода и тестировании ПО с использованием CASE-средств. Кроме того, разработчики должны уметь, преобразовывать в рабочие прототипы предложения конечных пользователей.
Жизненный цикл ПО методологии RAD состоит из четырех фаз:
-
анализа и планирования требований; -
проектирования; -
реализации; -
внедрения.
На фазе анализа и планирования происходит определение требований к разрабатываемому ПО силами пользователей под руководством специалистов-разработчиков. Пользователи системы определяют функции, которые она должна выполнять, выделяют те, которые требуют проработки в первую очередь, описывают информационные потребности. Определяется возможность реализации данного проекта в установленных рамках финансирования, на данных аппаратах средствах и т.п. Затем определяются временные рамки самого проекта в каждой из последующих фаз. Результатом данной фазы должны быть состав и приоритеты функций будущем ИС, предварительные функциональные и информационные модели ИС.