Участник:Herol27/Черновик
Материал из Википедии — свободной энциклопедии
Основы теории разработки программного обеспечения
[править | править код]01 | 02 | 03 | 04 |
---|---|---|---|
11 | 12 | 13 | 14 |
21 | 22 | 23 | 24 |
31 | 32 | 33 | 34 |
Модели жизненного цикла программного обеспечения
[править | править код]Базовым понятием в методологии проектирования программного обеспечения (ПО) можно назвать понятие жизненного цикла ее ПО. Жизненный цикл программного обеспечения (ЖЦ ПО) — это определенные стадии, через которые проходит программное обеспечение от возникновения идеи до программной реализации с последующей поддержкой. Жизненный цикл заканчивается, в момент полного изъятия программного обеспечения из эксплуатации.
Обычно, жизненный цикл представляют в виде различных моделей. Модель ЖЦ ПО — это структура, которая определяет последовательность выполнения и взаимосвязи процессов на различных этапах, на протяжении всего жизненного цикла. Модель ЖЦ ПО зависит от определенных параметров, которыми обладает ПО:
- специфика ПО;
- масштаб ПО;
- сложность проекта;
- специфика условий, в которых создается и функционирует ПО.
Модель жизненного цикла отражает в себе различные состояния ПО, с момента возникновения необходимости в данном ПО до момента полного выхода из эксплуатации.
Далее представлены основные модели ЖЦ ПО, их описание, достоинства и недостатки, а также их особенности.
Каскадная модель жизненного цикла программного обеспечения
[править | править код]Основная суть каскадной модели заключается в том, что содержащиеся в ней этапы зависят друг от друга и следующий этап сможет начаться только тогда, когда закончен предыдущий, образуя таким образом последовательное движение вперед.
В результате завершения всех этапов формируются промежуточные продукты, которые не могут изменяться на следующих этапах. Каскадная модель представлена на рисунке 1.
Основные этапы каскадной модели:
- анализ требований;
- проектирование;
- кодирование;
- тестирование и отладка;
- эксплуатация и сопровождение.
Среди достоинств такой модели можно выделить:
- на каждой стадии формируется законченный набор документации, который выполняет критерии полноты и согласованности;
- простота и удобство в применении обусловлены тем, что процесс разработки такой модели выполняется поэтапно;
- так как шаги в этой модели осуществляются в логичной последовательности, можно запланировать сроки завершения всех этих шагов и соответствующие траты.
К недостаткам каскадной модели относятся:
- определение ошибок и недоработок на любом шаге, возможно только на следующих шагах;
- изменение каких-либо деталей в проекте возможно после того, как все этапы завершатся;
- промежуточный продукт, полученный такой моделью, будет непригоден для использования пользователями;
- трудность формулирования четких требований и отсутствие возможности динамически изменять их, на протяжении всего жизненного цикла;
- малое участие пользователя в создании системы, так как это возможно только на этапе разработки требований и в конце, когда система уже будет готова.
Несмотря на все те минусы, которые есть у этой модели, она не ограничена только одной сферой применения, ее используют для решения таких типов задач, как научно-вычислительные, операционные системы и компиляторы, системы реального времени управления определенными объектами. Также каскадная модель может применяться при повторной разработке типового продукта, при выпуске новой версии существующей системы, если требования к вносимым изменениям четко определены.
Длинное и умное название для второго параграфа
[править | править код]Для того, чтобы заполнить матрицу значениями, их необходимо вычислить с использованием различных методов интерполяции. В листинге ниже приведена функция, которая реализует метод интерполяции методом обратно взвешенных расстояний, для нахождения значений в тех точках, что обозначены нулями по формуле[1]:
где — функция взвешивания обратного расстояния, n — количество опорных точек, — значение функции в опорной точке, — координата искомой точки.
static double idw(int cx, int cy)
{
double res = 0, num = 0, denom = 0;
for (int i = 0; i < 12; i++)
{
if(Math.Abs(Math.Pow(cx - _X[i], 2) + Math.Pow(cy - _Y[i], 2)) == 0)
{
return 0;
} else
{
num += _Z[i] / Math.Abs(Math.Pow(cx - _X[i], 2) + Math.Pow(cy - _Y[i], 2));
denom += 1 / Math.Abs(Math.Pow(cx - _X[i], 2) + Math.Pow(cy - _Y[i], 2));
}
}
res = num / denom;
return res;
}
Литература
[править | править код]- Иванов И. И. Книга про книгу . — Волжский, 2023. — 272 с.
- Мамонтов С. В. Статья про статью . — Волжский: Oxford Press, 2023. — С. 127—227.
- Родословная книга Князей и Дворян российских и выезжих (Бархатная книга). — М.: Университетская Типография у Н. Новикова, 1787.
- Мильчин А. Э., Чельцова Л. К. Справочник издателя и автора. Редакционно-издательское оформление издания : [арх. 25 марта 2023]. — 2-е изд., испр. и доп. — М. : ОЛМА-Пресс, 2003. — 800 с. — ISBN 5-224-04565-7.
- ↑ Иванов И. И. Книга про книгу . — Волжский, 2023. — 272 с.
Text is available under the CC BY-SA 4.0 license; additional terms may apply.
Images, videos and audio are available under their respective licenses.