Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ТРПП(4к2с).docx
Скачиваний:
17
Добавлен:
24.08.2019
Размер:
102.61 Кб
Скачать

Введение в программную инженерию История и основные понятия

Программная инженерия – есть применение определенного систематического измеримого подхода при разработке эксплуатации и поддержки программного обеспечения.

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

Профессиональное программирование – это деятельность, направленная на получение доходов при помощи программирования.

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

Разработка и поддержка

Проект разработки версия 1.0

Проект разработки версия 2.0

Развертывание

Проект внедрения версия 1.0

Проект внедрения версия 2.0

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

Время

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

Модель процесса разработки ПО формализовано представления процесса разработки ПО.

Области знаний, на которых базируется процессы разработки ПО (ПП):

  1. Программные требования

  2. Дизайн

  3. Конструирования ПО

  4. Тестирование

  5. Эксплуатация (поддержка ПО)

  6. Конфигурационное управление

  7. Управление в программной инженерии

  8. Процессы в программной инженерии

  9. Инструменты и методы

  10. Качество программного обеспечения

Дополнительные области знаний:

  1. Разработка компьютеров

  2. Информатика

  3. Общий менеджмент

  4. Математика

  5. Управление проектами

  6. Управление качеством

  7. Системное проектирование

Эволюция подходов к управлению программными проектами

  1. Как получится – разомкнутая система управления, полное доверие техническим лидерам, представители бизнеса практически не участвуют в проекте, планирование – словесное, бюджет и время – не контролируются.

  2. Водопад (каскадная модель) – жесткое управление с обратной связью, имеется план проекта.

  3. Гибкое управление – расчет опорной траектории - измерение отклонений - расчет новой траектории.

  4. Метод частых поставок – аналогичен предыдущему, более жестко идет к первоначальной цели.

Модели процесса разработки по

Модели процесса принято классифицировать по весу – количеству формализованных процессов и детальности их регламентации. Чем больше процессов документировано и более детально они описаны, тем больше вес модели.

Наиболее распространенные современные процессы разработки ПО:

  1. ГОСТ 19 и ГОСТ 34 ориентирован на последовательный подход к разработке ПО (разработка по этапам).

ГОСТ 19 – единая система программной документации

ГОСТ 34 – стандарты на разработку и сопровождение автоматизированных систем

  1. SW CMM – в качестве эталонной модели организации разработки ПО определяет 5 уровней зрелости процесса разработки ПО:

    1. Начальный – процесс разработки носит хаотичный характер, определены немногие процессы и успех проекта зависит от конкретного исполнителя.

    2. Повторяемый – установлены основные процессы управления проектами (отслеживание затрат, сроки исполнения, функциональность).

    3. Определенный – процессы разработки ПО и управление проектами описаны и внедрены в единую систему процесса компании.

    4. Управляемый – собираются детальные количественные данные по функционированию процессов разработки и качеству конечного продукта (анализ и динамика).

    5. Оптимизируемый – пробное внедрение новых идей и технологий.

  2. RUP – унифицированный процесс, описывает общий процесс абстрактный общий процесс, на основе которого организация или проектная команда должна создать конкретный специализированный процесс, ориентированный на ее потребности.

  3. PSP/TSP – одна из последних разработок института программной инженерии. Данный институт определил требования к компетенциям разработчика. Согласно этой модели каждый программист должен уметь:

    1. Учитывать время, затраченное на работу над проектом

    2. Учитывать найденные дефекты

    3. Классифицировать типы дефектов

    4. Оценивать размер задачи

    5. Осуществлять систематический подход к описанию результатов тестирования

    6. Планировать программные задачи

    7. Распределять их по времени и составить график работы

    8. Осуществлять индивидуальную проверку кода

    9. Выполнять регрессивное тестирование

  4. Agile – гибкие модели. Применяемый в разработке ПО процесс должен быть адаптивным (ориентированным на людей).

Каждый новый проект должен определять процесс разработки ПО заново, в зависимости от проекта, продукта и персонала, в соответствии с законом 4П.

Персонал

Процесс

проекта

Продукт

Профессионализм:

Сработанность

Стабильность

Мотивация

Эффективность коммуникаций

Техническая сложность:

Новый продукт, новые технологии, инновации

Критичность для заказчика:

Угроза жизни, значительные денежные потери

Большой: трудоемкость – более 240, команда – более 20 человек, длительность – более 12 месяцев.

Средний: трудоемкость – от 36 до 240, команда – до 5 человек, длительность – от 6 до 12 месяцев.

Малый: трудоемкость – от 6 до 36, команда – до 5 человек, длительность – до 6 месяцев.

Проект