Процесс создания программного обеспечения

Содержание

Слайд 2

План лекции

Жизненный цикл программного обеспечения:
процессы жизненного цикла;
модель жизненного цикла.
Инструментарий технологии программирования.
Методологии разработки

План лекции Жизненный цикл программного обеспечения: процессы жизненного цикла; модель жизненного цикла.
программного обеспечения.
прогнозируемые (предикативные) методологии;
Адаптивные (гибкие) методологии.

Слайд 3

Жизненный цикл программного обеспечения

Жизненный цикл программного обеспечения

Слайд 4

Жизненный цикл программного обеспечения

Жизненный цикл программного обеспечения – это период времени, который

Жизненный цикл программного обеспечения Жизненный цикл программного обеспечения – это период времени,
начинается с момента принятия решения о необходимости создания ПО и заканчивается в момент его полного изъятия из эксплуатации.
Основной нормативный документ, регламентирующий состав процессов ЖЦ ПО – это международный стандарт ISO/IEC 12207: 1995 «Information Technology -Software Life Cycle Processes». Определяет структуру ЖЦ, содержащую процессы действия и задачи, которые должны быть выполнены во время создания ПО.
Программный продукт – это набор компьютерных программ, процедур и, возможно, связанной с ними документации и данных.
Процесс – это совокупность взаимосвязанных действий, преобразующих некоторые входные данные в выходные.

Слайд 5

Процессы жизненного цикла программного обеспечения

Приобретение

Поставка

Разработка

Эксплуатация

Сопровождение

Основные процессы

Документирование

Управление конфигурацией

Обеспечение качества

Верификация

Аттестация

Вспомогательные процессы

Совместная оценка

Аудит

Управление

Усовершенствование

Создание инфраструктуры

Обучение

Организационные процессы

Разрешение

Процессы жизненного цикла программного обеспечения Приобретение Поставка Разработка Эксплуатация Сопровождение Основные процессы
проблем

Слайд 6

Приобретение и поставка программного средства

Инициирование приобретения

Подготовка заявочных предложений

Подготовка и корректировка договора

Приемка и

Приобретение и поставка программного средства Инициирование приобретения Подготовка заявочных предложений Подготовка и
завершение работ

Надзор за деятельностью поставщика

Инициирование поставки

Подготовка ответа на заявочные предложения

Подготовка договора

Выполнение и контроль договорных работ и их оценка

Планирование работ по договору

Поставка и завершение работ

Слайд 7

Разработка программного средства

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

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

Слайд 8

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

Требование – это некоторая функция, которая должна быть включена в создаваемую

Анализ требований Требование – это некоторая функция, которая должна быть включена в
систему.
Спецификация требований – структурированный набор требований к программному обеспечению.
интервьюирование, анкетирование, мозговой штурм, сценарии и ролевые игры, создание прототипов, совместная разработка приложений, моделирование, uses case, наблюдение за деятельностью предприятия, изучение документов (особенно тех, которые используются для сбора или представления информации).

Слайд 9

Метод Uses Case

Метод Uses Case

Слайд 10

Детальное проектирование ПО

описание компонентов ПО и интерфейсов между ними на более низком

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

Слайд 11

Кодирование и тестирование ПО

кодирование и документирование каждого компонента ПО, а также подготовка

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

Слайд 12

Модель жизненного цикла ПС

ТЗ – техническое задание
ЭП – эскизный проект
ТП – технический

Модель жизненного цикла ПС ТЗ – техническое задание ЭП – эскизный проект
проект
РП – рабочий проект

Слайд 13

Оригинальная спиральная модель жизненного цикла разработки по Боэму

Оригинальная спиральная модель жизненного цикла разработки по Боэму

Слайд 14

Оригинальная спиральная модель жизненного цикла разработки по Боэму

Оригинальная спиральная модель жизненного цикла разработки по Боэму

Слайд 15

Инструментарий технологии программирования

Инструментарий технологии программирования

Слайд 16

Инструментарий технологии программирования

библиотека функций, процедур, объектов и методов обработки;
макрокоманды;
клавишные макросы;
языковые макросы;
конструкторы экранных

Инструментарий технологии программирования библиотека функций, процедур, объектов и методов обработки; макрокоманды; клавишные
форм и объектов;
генераторы приложений;
языки запросов высокого уровня;
конструкторы меню

Слайд 17

Языки программирования

Языки программирования

Слайд 18

Языки программирования

Vala
2006

Языки программирования Vala 2006

Слайд 19

Методологии разработки программного обеспечения

Методологии разработки программного обеспечения

Слайд 20

Прогнозируемые (предикативные) методологии

Детальное планирование будущего.
Известны запланированные задачи и ресурсы на весь срок

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

Слайд 21

RUP (Rational Unified Process)

Методология RUP описывает абстрактный общий процесс, на основе которого

RUP (Rational Unified Process) Методология RUP описывает абстрактный общий процесс, на основе
организация или проектная команда должна создать специализированный процесс, ориентированный на ее потребности.

Слайд 22

Адаптивные (гибкие) методологии

Когда меняются требования, команда разработчиков тоже меняется.
Команда, участвующая в

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

Нацелены на преодоление ожидаемой неполноты требований и их постоянного изменения.

Слайд 23

Scrum

Scrum предоставляет эмпирический подход к разработке ПО. Этот процесс быстр, адаптивен, умеет

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

Слайд 24

Экстремальное программирование (eXtreme Programming)

При использовании XP тщательное предварительное проектирование ПО заменяется, с

Экстремальное программирование (eXtreme Programming) При использовании XP тщательное предварительное проектирование ПО заменяется,
одной стороны, постоянным присутствием в команде заказчика, готового ответить на любой вопрос и оценить любой прототип, а с другой –регулярными переработками кода (так называемый рефакторинг).
Основой проектной документации считается тщательно прокомментированный код.
Очень большое внимание в методологии уделяется тестированию. Как правило, для каждого нового метода сначала пишется тест, а потом уже разрабатывается собственно код метода до тех пор, пока тест не начнет выполняться успешно. Эти тесты сохраняются в наборах, которые автоматически выполняются после любого изменения кода.

Слайд 25

Crystal Clear

Crystal Clear

Слайд 26

Выводы

В лекции выделены основные этапы жизненного цикла программного обеспечения, их особенности и

Выводы В лекции выделены основные этапы жизненного цикла программного обеспечения, их особенности
процессы, которые происходят на каждом этапе. Приведены модели жизненного цикла ПО двух типов: каскадная и спиральная.
Рассмотрен инструментарий технологий программирования:
языки и системы программирования,
инструментальные среды пользователя.
Наглядно представлены методологии разработки программного обеспечения:
Прогнозируемые (RUP),
адаптивные (Scrum, eXtreme Programming, Crystal Clear).

Слайд 27

Вопросы по лекции

Что такое жизненный цикл программного обеспечения?
Из каких этапов состоит жизненный

Вопросы по лекции Что такое жизненный цикл программного обеспечения? Из каких этапов
цикл программного обеспечения?
Что представляет собой требование к программному обеспечению?
Каким образом можно собрать требования к программному обеспечению?
Для чего нужна спецификация требований? Что она из себя представляет?
Какие типы моделей жизненного цикла вы знаете?
Какие средства создания приложений бывают?
Какие виды языков программирования вы знаете?
Назовите 5 современных языков программирования.
Какие методологии разработки ПО вы знаете?
Назовите ключевые отличия прогнозируемых и гибких методологий разработки ПО.
Имя файла: Процесс-создания-программного-обеспечения.pptx
Количество просмотров: 33
Количество скачиваний: 0