Файл: Конспект лекций междисциплинарного курса.doc

ВУЗ: Не указан

Категория: Не указан

Дисциплина: Не указана

Добавлен: 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 состоит из четырех фаз:

  • анализа и планирования требований;

  • проектирования;

  • реализации;

  • внедрения.

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