Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Ответы на экзаменационные вопросы_2007.doc
Скачиваний:
111
Добавлен:
26.09.2019
Размер:
4.91 Mб
Скачать
  1. Структура жизненного цикла. Большой жизненный цикл.

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

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

Следует различать программы с большим и малым (неполным) жизненным циклами.

Большой жизненный цикл программы характеризуется:

  • большой продолжительностью использования (от 5 до 20 лет);

  • программы (программный комплекс) включает в свой состав несколько программных частей (модулей) и значительно больше по объему;

  • программы разрабатываются большой группой специалистов;

  • программы принимаются группой специалистов с оформлением акта испытаний.

  1. Структура жизненного цикла. Малый жизненный цикл.

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

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

Следует различать программы с большим и малым (неполным) жизненным циклами.

Малый жизненный цикл программы характеризуется:

  • небольшой продолжительностью использования (от 1 месяца до двух лет);

  • программы разрабатываются одним специалистом или небольшой группой специалистов;

  • программы невелики по объему;

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

  • в программах отсутствует оформленное испытание и общее документирование;

  • такие программы не предназначены для продажи;

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

  1. Классический жизненный цикл пи. Водопадная модель. Классический жизненный цикл

Старейшей парадигмой процесса разработки программного обеспечения является классический жизнен­ный цикл (автор Уинстон Ройс, 1970).

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

Обобщенный жизненный цикл можно представить в виде следующей последовательности этапов, которые, в свою очередь, можно также разбить на стадии:

  1. планирование разработки;

  2. определение требований к системе; 2.1 выработка требований;

  3. анализ требований;

  4. проектирование системы; 3.1 проектирование архитектуры системы;

  5. детальное проектирование компонент системы, в т.ч. для программного обеспечения;

  6. реализация и тестирование системы;

  7. создание отдельных компонент системы, в т.ч. для программного обеспечения; 4.1.1 создание отдельных программных модулей; 4.1.2 тестирование отдельных программных модулей;

  8. тестирование компонент системы, в т.ч. программного обеспечения как единого компонента системы;

  9. интегрирование отдельных компонент в систему;

  10. выпуск системы;

  11. эксплуатация системы; 7 завершение разработки.

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

Охарактеризуем содержание основных этапов.

Подразумевается, что разработка начинается на системном уровне и проходит че­рез анализ, проектирование, кодирование, тестирование и сопровождение.

Системный анализ задает роль каждого элемента в компьютерной системе, взаи­модействие элементов друг с другом. Поскольку ПО является лишь частью боль­шой системы, то анализ начинается с определения требований ко всем системным элементам и назначения подмножества этих требований программному «элемен­ту». Необходимость системного подхода явно проявляется, когда формируется интерфейс ПО с другими элементами (аппаратурой, людьми, базами данных). На этом же этапе начинается решение задачи планирования проекта ПО. В ходе пла­нирования проекта определяются объем проектных работ и их риск, необходимые трудозатраты, формируются рабочие задачи и план-график работ.

Анализ требований относится к программному элементу — программному обеспе­чению. Уточняются и детализируются его функции, характеристики и интерфейс. Все определения документируются в спецификации анализа. Здесь же завершает­ся решение задачи планирования проекта.

Проектирование состоит в создании представлений:

  • архитектуры ПО;

  • модульной структуры ПО;

  • алгоритмической структуры ПО;

  • структуры данных;

  • входного и выходного интерфейса (входных и выходных форм данных).

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

Кодирование состоит в переводе результатов проектирования в текст на языке про­граммирования.

Тестирование — выполнение программы для выявления дефектов в функциях, логике и форме реализации программного продукта.

Сопровождение — это внесение изменений в эксплуатируемое ПО.

Цели изменений:

  • исправление ошибок;

  • адаптация к изменениям внешней для ПО среды;

  • усовершенствование ПО по требованиям заказчика.

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

Как и любая инженерная схема, классический жизненный цикл имеет достоин­ства и недостатки.

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

Недостатки классического жизненного цикла:

  1. реальные проекты часто требуют отклонения от стандартной последовательности шагов;

  2. цикл основан на точной формулировке исходных требований к ПО (реально в начале проекта требования заказчика определены лишь частично);

  3. результаты проекта доступны заказчику только в конце работы.