Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Ответы по Информатике (экзамен 2 семестр).docx
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
10.56 Mб
Скачать

42. Модели жизненного цикла программного обеспечения.

Жизненный цикл программного обеспечения (ПО) — период времени, который начинается с момента принятия решения о необходимости создания программного продукта и заканчивается в момент его полного изъятия из эксплуатации. Этот цикл — процесс построения и развития ПО.

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

Общепринятая модель

Классическая итерационная модель

Каскадная модель

43. Императивные и декларативные парадигмы программирования.

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

• указание логики управления в программе;

• определение порядка выполнения операций;

• наличие операторов присваивания, выполняющих разрушающее присваивание.

Императивная парадигма основана на «фон-неймановской» вычислительной модели, основными параметрами которой являются:

• программа состоит из набора команд, которые выполняются последовательно;

• поименованные области памяти (концепция переменных как областей памяти, к которым можно обращаться по имени).

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

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

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

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

• малой пригодностью для символьных вычислений;

• отсутствием строгой математической основы;

• высокой эффективностью реализации на традиционных ЭВМ.

Одним из важнейших классификационных признаков процедурного языка является его уровень. Уровень языка программирования определяется семантической (смысловой) емкостью его конструкций и степенью его ориентации на программиста. Язык программирования частично ликвидирует разрыв между методами решения различного рода задач человеком и вычислительной машиной. Чем более язык ориентирован на человека, тем выше его уровень. К императивным языкам программирования относятся ассемблеры и хорошо распространенные языки программирования высокого уровня, например такие, как Фортран, Паскаль, Си.

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

Декларативная парадигма программирования реализуется с помощью одного из двух стилей программирования: функционального или логического программирования.