
- •1 Модели процессов жизненного цикла программ, модели процесса разработки программных продуктов
- •2 Проектирование программного обеспечения. Автоматизация проектирования программных продуктов
- •3 Тестирование и отладка программного средства. Структурное и функциональное тестирование программного средства. Организация процесса тестирования
- •Нисходящее тестирование
- •Восходящее тестирование интеграции
- •4 Структурное моделирование, анализ и проектирование программного обеспечения
- •5 Объектное моделирование, анализ и проектирование программного обеспечения
1 Модели процессов жизненного цикла программ, модели процесса разработки программных продуктов
Жизненный цикл ПО - период времени, который начинается с момента принятия решения о необходимости создания ПО и заканчивается в момент его полного изъятия из эксплуатации Под моделью ЖЦ понимается структура, определяющая последовательность выполнения и взаимосвязи процессов, действий и задач, выполняемых на протяжении ЖЦ.
Преимущества:
1.на каждой стадии формируется законченный набор проектной документации, отвечающий критериям полноты и согласованности;
2.выполняемые в логичной последовательности стадии работ облегчают планирование сроков завершения всех работ и соответствующих затрат; Недостатки классического подхода: 1.позднее обнаружение проблем; 2.выход из календарного графика, запаздывание с получением результатов; 3.высокий риск создания системы.
ПОДХОД ЗАПЛАНИРОВАННЫХ УЛУЧШЕНИЙ:
Инкрементная модель является классическим примером инкрементной стратегии конструирования Она объединяет элементы последовательной водопадной модели с итерационной философией макетирования. По своей природе инкрементный процесс итеративен, но, в отличие от макетирования, инкрементная модель обеспечивает на каждом инкременте работающий продукт.
ПОДХОД НЕ ЗАПЛАНИРОВАННЫХ УЛУЧШЕНИЙ:
Основные особенности спиральной модели (незапланированных улучшений): 1. идентификация и анализ риска на каждой итерации; 2. назначение приоритетов пользовательским требованиям; 3. оценка результатов по завершении каждой итерации и планирование следующей итерации; 4. завершение проекта при нецелесообразности его продолжения. Достоинства: 1. ускорение разработки; 2. участие заказчика в процессе разработки; 3. снижение риска. Проблемы: 1. планирование (определение количества и длительности итераций); 2. управление процессом разработки;3.напряженный режим работы.
2 Проектирование программного обеспечения. Автоматизация проектирования программных продуктов
Проектирование программного обеспечения — процесс создания проекта программного обеспечения (ПО), а также дисциплина, изучающая методы проектирования. Проектирование подразумевает выработку свойств системы на основе анализа постановки задачи, а именно: моделей предметной области, требований к ПО, а также опыта проектировщика
Результатами проектирования ПС являются:
– архитектура ПС: модульная структура, алгоритмическая структура, структуры данных и т.п.;
– входной и выходной интерфейс.
Исходными данными для процесса проектирования ПС являются результаты анализа требований к ПС.
Проектирование ПС включает следующие основные этапы:
– подготовка задания на создание проекта ПС;
– анализ хода разработки проекта ПС;
– проверка соответствия проекта разработки установленным требованиям;
– проверка возможности применения проекта ПС в реальных условиях;
– внесение изменений в задание на проектирование ПС.
ОСНОВНЫЕ КЛАССЫ ИНСТРУМЕНТАЛЬНЫХ СРЕД РАЗРАБОТКИ И СОПРОВОЖДЕНИЯ ПС
Инструментальная среда программирования предназначена в основном для поддержки процессов:
– кодирования;
– тестирования;
– отладки ПС.
Рабочее место компьютерной технологии ориентировано на поддержку ранних этапов разработки ПС:
– системного анализа;
– спецификаций;
– автоматической генерации программ по спецификациям [14.1, 14.4].
Инструментальная система технологии программирования предназначена для поддержки всех процессов разработки и сопровождения в течение всего жизненного цикла ПС и ориентирована на коллективную разработку больших программных систем с продолжительным жизненным циклом.
Обязательными свойствами ее являются:
– комплексность;
– ориентированность на коллективную разработку;
– интегрированность.
Инструментальная система технологии программирования это интегрированная совокупность программных и аппаратных инструментов (интегрированная совокупность вышеописанных видов инструментальных сред разработки сопровождения ПС), поддерживающая все процессы разработки и сопровождения больших ПС в течение всего его жизненного цикла в рамках определенной технологии.