Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
шпоры.docx
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
853.35 Кб
Скачать
  1. Подход rad – быстрая разработка приложений.

RAD-модель обеспечивает экстремально короткий цикл разработки.RAD — высокоскоростная адаптация линейной последовательной модели, в которой быстрая разработка достигается за счет использования компонентно-ориентированного конструирования.

Подход RAD предусматривает наличие трех составляющих:

  • небольших групп разработчиков (от 2 до 10 человек), выполняющих работы по проектированию отдельных подсистем ПО. Это обусловлено требованием максимальной управляемости коллектива;

  • короткого, но тщательно проработанного производственного графика (2-6 месяцев);

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

Жизненный цикл ПО в соответствии с подходом RAD включает четыре стадии:

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

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

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

  • внедрение.

RAD-подход ориентирован на разработку информационных систем и выделяет следующие этапы:

  • бизнес-моделирование. Моделируется информационный поток между бизнес-функциями. Ищется ответ на следующие вопросы: Какая информация руководит бизнес-процессом? Какая генерируется информация? Кто генерирует ее? Где информация применяется? Кто обрабатывает ее?

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

  • моделирование обработки. Определяются преобразования объектов данных, обеспечивающие реализацию бизнес-функций. Создаются описания обработки для добавления, модификации, удаления или нахождения (исправления) объектов данных;

  • генерация приложения. Предполагается использование методов, ориентированных на языки программирования 4-го поколения. Вместо создания ПОс помощью языков программирования 3-го поколения, RAD-процесс работает с повторно используемыми программными компонентами или создает повторно используемые компоненты. Для обеспечения конструирования используются утилиты автоматизации;

  • тестирование и объединение. Поскольку применяются повторно используемые компоненты, многие программные элементы уже протестированы. Это уменьшает время тестирования (хотя все новые элементы должны быть протестированы).

Применение RAD имеет - и свои недостатки, и ограничения:

  • для больших проектов в RAD требуются существенные людские ресурсы (необходимо создать достаточное количество групп).

  • RAD применима только для таких приложений, которые могут декомпозироваться на отдельные модули и в которых производительность не является критической величиной.

  • RAD не применима в условиях высоких технических рисков (то есть при использовании новой технологии).

3. Основные принципы структурного подхода. Преимущества и недостатки.

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

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

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

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

Также при структурном подходе применяются и другие принципы:

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

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

  • принцип непротиворечивости - заключается в обоснованности и согласованности элементов;

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

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

  • SADT (Structured Analysis and Design Technique) модели и соответствующие функциональные диаграммы;

  • DFD (Data Flow Diagrams) диаграммы потоков данных;

  • ERD (Entity-Relationship Diagrams) диаграммы "сущность-связь".

На стадии проектирования ИС модели расширяются, уточняются и дополняются диаграммами, отражающими структуру программного обеспечения: архитектуру ПО, структурные схемы программ и диаграммы экранных форм.

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

Недостатки структурного подхода:

Функциональную точку зрения трудно развивать

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

Реальные системы трудно охарактеризовать функционально

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

Фокусирование на функциональности теряет из виду данные

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

Функциональная ориентация производит код, менее пригодный для многократного использования

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

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

Конечно, есть области, где функциональный подход работает хорошо. Эта тенденция проявляется там, где:

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

  • Каждая из этих задач относительно мала и требует небольшое число параметров.

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

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

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

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]