Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
все ответы.docx
Скачиваний:
8
Добавлен:
26.09.2019
Размер:
2.71 Mб
Скачать

1.Понятие жизненного цикла программного обеспечения (по). Этапы разработки по.

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

Этапы ЖЦ разработки ПО: исполнители, задачи, решаемые на отдельных этапах, результаты.

Этап 1. Технико-экономическое обоснование разработки(бизнес план).

Исполнители: заказчик, руководитель проекта

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

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

Этап 2. Анализ предметной области.

Исполнители:

1.Заказчик: специалисты предметной области.

2.Разработчик: руководитель проекта, системные аналитики.

Решаемые задачи: Планирование и оценка проекта

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

Этап 3. Проектирование.

Исполнители: Руководитель проекта, проектировщики ПО, опытные программисты.

Решаемые задачи:

1.создание спецификаций модулей, подпрограмм и структур данных /прототипа.

2.распределение заданий между исполнителями.

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

При структурном(функционально-ориентированным) подходе:

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

При объектно-ориентированном подходе:

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

Использование CASE-средств: средства автоматизированной разработки приложений.

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

Этап 4. Программирование.

Исполнители: программисты

Решаемые задачи:

Разработка алгоритмов подпрограмм(методов) и их запись на псевдокоде.

Кодирование.

Результат этапа – созданные тексты на псевдокоде и полученные исходные тексты программ.

Этап 5. Тестирование и отладка.

Исполнители: программисты, руководители проекта, специальные организации.

Решаемые задачи:

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

Устранение выявленных ошибок.

Результат этапа-сведения об ошибках, использованных тестовых наборах.

Этап 6. Эксплуатация и сопровождение.

Эксплуатация – использование ПО для реализации тех функций, для которых оно было разработано.

Сопровождение – комплекс мероприятий, обеспечивающих правильное функционирование ПО.

2.Стратегии конструирования программного обеспечения.(3,4,подробнее о каскадной и спиральной).

Стратегия-план деятельности, способствующий достижению сложной цели.

1.Водопадная(каскадная)стратегия-линейная последовательность этапов конструирования.

Подходит при построении ПО, для которого в начале разработки можно сформулировать все требования (сложные расчетные системы, системы реального времени и т. п.).

1)Этапы разработки выполняются последовательно, переход к следующему этапу – после завершения предыдущего.

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

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

3.Инкрементная стратегия - (англ. increment – увеличение, приращение) подразумевает разработку информационной системы с линейной последовательностью стадий, но в несколько инкрементов (версий), т. е. с запланированным улучшением продукта 

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

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

· отсутствия у заказчика возможности сразу профинансировать весь дорогостоящий проект;

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

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

Достоинства:1)возможность планирования сроков завершения работ и соответствующих затрат;2)на каждом этапе – законченный набор полной и согласованной проектной документации.; 3)заказчик может раньше увидеть результаты. Уже по результатам разработки и внедрения первой версии он может незначительно изменить требования к разработке, отказаться от нее или предложить разработку более совершенного продукта с заключением нового договора.

Недостатки:1)отклонение от жесткой последовательности шагов в реальных проектах. Часто - возврат к предыдущим этапам и уточнение или пересмотр ранее принятых решений.;2)Все исходные требования должны быть четко сформулированы в начале проекта. Требования к ИС «заморожены» в виде технического задания на все время ее создания. Пользователи могут внести свои замечания только после того,как работа над системой будет полностью завершена.;3)Результаты доступны только лишь в конце каждого из этапов работы. Согласование результатов с пользователями производится только в точках, планируемых после их завершения.