1 Тема 1 Введение в программную инженерию Основные понятия. Стандарты и методологии обеспечения качества программного обеспечения. Типы программных проектов.

Презентация:



Advertisements
Похожие презентации
Цикл жизни ПО Методологии разработки 8 октября 2008 г. 4 курс Технологии программирования.
Advertisements

Учебный курс Стандартизация и сертификация программного обеспечения Лекция 7 доктор технических наук, профессор, проректор по информатизации, заведующий.
Жизненный цикл программного обеспечения Лекция 4.
Технология внедрения CASE- средств Технология внедрения CASE-средств базируется в основном на стандартах IEEE (IEEE - Institute of Electrical and Electronics.
Дисциплина «Технология разработки программного обеспечения» Тема 1 « Основы разработки Тема 1 « Основы разработки программного продукта » программного.
Жизненный цикл программного обеспечения Подготовил студент 1 курса Лось Павел.
Направление «Информатика и вычислительная техника» Бакалавр по направлению подготовки Информатика и вычислительная техника науки должен решать следующие.
Разработка программного обеспечения (Software Engineering) Часть 2. Создание ПО.
Жизненный цикл информационной системы - Понятие 2 - Стадии 3 - Процессы 4 - Модели 6.
Разработка и стандартизация программных средств и информационных технологий Тема:СТАНДАРТЫ, РЕГЛАМЕНТИРУЮЩИЕ ПРОЦЕССЫ ЖИЗНЕННОГО ЦИКЛА ПРОГРАММНЫХ СРЕДСТВ.
Лекция 4 Жизненный цикл программного обеспечения информационных систем УЧЕБНЫЕ ВОПРОСЫ: УЧЕБНЫЕ ВОПРОСЫ: 1. информационных систем 1. Модели жизненного.
Лекция 4 Жизненный цикл программного обеспечения информационных систем УЧЕБНЫЕ ВОПРОСЫ: УЧЕБНЫЕ ВОПРОСЫ: 1. информационных систем 1. Модели жизненного.
ПРОЦЕСС УПРАВЛЕНИЯ ПРОЕКТОМ И ОРГАНИЗАЦИОННАЯ СТРУКТУРА.
Стандарт ISO 90003:2004
Проектный менеджмент(П.М.) Халудорова Л.Е., к.п.н., доцент.
Промышленная логистика Структуры управления проектами. Офис проекта.
Направление «Информатика и вычислительная техника» Бакалавр по направлению подготовки Информатика и вычислительная техника науки должен решать следующие.
Разработка программного обеспечения (Software Engineering) Часть 1. Введение.
Корпоративные информационные системы Внедрение КИС.
Задачи решаемые EPCM командой Июль 2009 г.. Термины и определения EPCM (EPCM = Engineering Procurement Construction Management - управление проектированием,
Транксрипт:

1 Тема 1 Введение в программную инженерию Основные понятия. Стандарты и методологии обеспечения качества программного обеспечения. Типы программных проектов. Модели жизненных циклов программных проектов. Технологический подход, процесс и стадия разработки программного изделия. Классификация технологических подходов, процессов и стадий. Жесткие и гибкие стратегии в методологиях программирования.

2 ПРОГРАММИРОВАНИЕ ПРОГРАММНАЯ ИНЖЕНЕРИЯ (промышленная разработка программного обеспечения)

3 Программная инженерия (инженерия программного обеспечения, software engineering) - инженерная дисциплина, связанная с теорией, методами и средствами профессиональной разработки программного обеспечения. [И. Соммервиль. Инженерия программного обеспечения. 6-е издание] Разработка программного обеспечения это род деятельности, направленный на создание и поддержание работоспособности программного обеспечения, используя технологии и методы из информатики, управления проектами, математики, инженерии и других областей знания.

4 Особенности разработки программного обеспечения 1.От неформального к формальному 2.Творческий характер 3.Статический продукт реализует динамическое поведение 4.Стремление к повторному использованию

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

6 Характеристики проекта Направленность на достижение конкретных целей Координированное выполнение взаимосвязанных действий Ограниченная протяженность во времени с определенным началом и концом Уникальность и важность Простое несение обязанностей, деятельность без четких границ или бесцельное времяпровождение проектами НЕ ЯВЛЯЮТСЯ

7 Виды проектов (1) По уровню сложности и области применения – Проекты по разработке /модификации ответственного ПО – Проекты, связанные со сложными многофункциональными системами – Малые проекты – «Наукоемкие» проекты – Проекты по сопровождению или модификации больших унаследованных приложений, систем или баз данных 7

8 Виды проектов (2) По способу применения – Проекты по разработке неотчуждаемого ПО – Разработка для заранее известного круга пользователей без дальнейшего тиражирования – Разработка или модификация ПО для конкретного заказчика – Разработка «коробочного продукта» 8

9 Виды проектов (3) По характеру отношений с заказчиком/потребителем: - Аутсорсинговые проекты - Заказные проекты - Проекты модификации или сопровождения ПО третьей стороны - Инициативная разработка 9

10 Управление проектом (менеджмент проекта) Под управлением проектом будем понимать деятельность, направленную на реализацию проекта с максимально возможной эффективностью при заданных ограничениях: по времени ресурсам качеству результатов

11 Управления проектами Способность сделать или достичь, применяя знания управления проектами Поведение, личная эффективность, лидерский качества, способность управлять командой и уравновешивать ограничения проекта ЗНАНИЯ РЕЗУЛЬТАТИВНОСТЬ ЛИЧНЫЕ КАЧЕСТВА Характеристики менеджера проекта

12 Выполнение Время Ресурсы График Проектный треугольник Качество Область действия Затраты minmax

13 Девиз To deliver the software your customer needs when it is needed Производить нужные Заказчику программные продукты в срок

14 Основная проблема создания качественных программных изделий - отсутствие теоретической базы: Не позволяет поставить проектирование ПИ на формальную основу Принципиально не позволяет увеличить производительность разработки ПИ

15 Стандарт – общепринятое определение компонента технических или программных средств, которое является результатом соглашения.

16 Классификация стандартов по типу установления требований: – требования к объекту – требования к процессу по масштабу: – международные – государственные – отраслевые – предприятий по юридическому оформлению: – принятые юридически – действующие фактически

17 Организации по стандартизации Международные организации, входящие в структуру ООН – ISO – международная организация по стандартизации – ITU-T – международный союз по телекоммуникации Промышленные профессиональные или административные организации – SEI - научно-исследовательский центр с государственным финансированием при университете Карнеги-Меллон – IEEE - международная некоммерческая ассоциация специалистов в области техники, мировой лидер в области разработки стандартов Промышленные консорциумы

18 Стандарты управления проектами разработки ПИ ISO 12207: в части определения процессов жизненного цикла и их характеристик ISO 9000: в части управления качеством разработки CMM/CMMI - в части определения уровня зрелости организации-разработчика в отношении способности разработки качественного программного обеспечения ISO/IEC (SPICE) в части самооценки организации-разработчика

19 Стандарт ISO 12207:1995 Делит процессы на три группы: Основные процессы Приобретение, Поставка, Разработка, Эксплуатация, Сопровождение Вспомогательные процессы Документирование, Управление конфигурацией, Обеспечение качества, Верификация, Аттестация, Совместная оценка, Аудит, Разрешение проблем Организационные процессы Управление, Создание инфраструктуры, Усовершенствование, Обучение

20 Группа стандартов ISO 9000:2000 Стандарт основан на трех основополагающих идеях: ориентация на потребителя, процессный подход, постоянное улучшение. Применение стандартов серии ISO 9000 в организациях по разработке программного обеспечения является довольно трудоемким

21 Стандарты CMM/CMMI Создан SEI (Software Engineering Institute). Первая официальная версия стандарта вышла в 1993 г.. Основная идея стандарта состоит в использования модели CMM (Capability Maturity Model модель зрелости возможностей) для приписывания каждой организации определенного уровня. Задает совокупность базовых технологических действий и умений, которые необходимы и достаточны для предсказуемого и управляемого процесса создания ПИ, и указывает путь для непрерывного улучшения этого процесса Нацелена только на разработку ПИ Не определяет, как выполнять разработку ПИ (методы, технологии, процедуры и средства не заданы)

22 Стандарт ISO (SPICE) Software Process Improvement and Capability dEtermination ( ) Основные цели SPICE: удовлетворение растущих потребностей в оценке возможностей процессов производства программного обеспечения в организациях; гармонизация методов и моделей, используемых для оценки процессов. Архитектура SPICE двумерна и состоит из так называемых «уровней возможностей» (6), категорий процессов (5) и типовых процессов (29), а также наилучших известных практик (best known practices, их более 200)

23 Жизненные циклы Жизненный цикл проекта (Projeсt Life Cycle) - набор обычно последовательных фаз проекта, количество и состав которых определяется потребностями управления организации или организаций, участвующих в проекте. Жизненный цикл можно документировать с помощью методологии. Жизненный цикл продукта (Product Life Cycle) – набор обычно последовательных, не перекрывающихся фаз продукта, название и количество которых определяется производственными и управленческими потребностями организации. Обычно последняя фаза жизненного цикла продукта – это окончание продаж и обслуживания (утилизация). Важно! В рамки одного жизненного цикла ПРОДУКТА обычно укладываются один или несколько жизненных циклов ПРОЕКТОВ.

24 Обобщенная структура ЖЦ проекта

25 Зависимости факторов выполнения проекта от времени

26 Классификация технологических подходов Подходы со слабой формализацией Строгие (классические, жесткие, предсказуемые) подходы – Каркасные подходы – Каскадные технологические подходы – Подходы на основе формальных преобразований Гибкие (адаптивные, легкие) подходы – Ранние технологические подходы быстрой разработки – Адаптивные подходы – Подходы исследовательского программирования 26

27 Упрощенная модель процесса разработки ПИ Фазы ПланированиеПроектирование и реализация Сопровождение Разработка спецификаций Процесс Деятельности Поставляемые продукты Документы

28 Каскадная модель Концептуализация Распределение системных ресурсов Анализ требований Проектирование Разработка концепции ПИ Привязывание концепции к требуемым системным ресурсам Анализ требований и разработка спецификаций Разработка проекта ПИ Кодирование и отладка Инсталляция Управление Опытная эксплуатация Сопровождение Уничтожение Запуск и планирование Проверка корректности и применимости Отслеживание и контроль Управление качеством ПИ Управление конфигурацией Разработка документации Повышение квалификации Поддержка Разработка

29 V-образная модель Разработка спецификаций и планирование Запуск в производство и эксплуатация Анализ требований и спецификаций Системное тестирование Высокоуровневое проектирование Сборка и тестирование Детальное проектирование Модульное тестирование Кодирование

30 Пошаговая модель Тесты приемки Анализ требований Предварительный проект Кодирование Детальный проектМодульное тестирование Приемо-сдаточное тестирование Системное тестирование Интеграционное тестирование Детальный проект Шаг 1 Реализация Шаг 1 Сборка и демонстрация Шаг 1 Детальный проект Шаг N Реализация Шаг N Сборка и демонстрация Шаг N

31 Спиральная модель Боэма

32 Объектно-ориентированная методология Данная методология предполагает конструирование программного решения из готовых объектов, для которых определяются правила их взаимодействия, переводящие объекты из одного состояния в другое. Такая модель, предусматривающая полное соответствие процесса разработки положениям объектно-ориентированной методологии (объектно-ориентированный анализ, проектирование, программирование)

33 Итеративная модель

34 Rational Unified Process

35 Microsoft Solutions Framework Треугольник компромиссов

36 Модели гибкой разработки Особенности модели : Максимум времени уделяется работе с Заказчиком, на которого ориентировано ПИ Группа разработчиков невелика и высоко профессиональна Сокращен цикл разработки Недостатки модели: Небольшая продолжительность ЖЦ ПИ Низкая продуктивность приложений Отсутствие возможности управления рисками Преимущества модели : Модель проста в использовании Низкая стоимость приложений, разработанных с использованием этой модели Высокая повторная используемость результатов разработки

37 Представление Заказчика о ПИ Желание Заказчика в начале проекта Начало проекта Гибкая разработки Классическая модель ЖЦ Желание Заказчика в конце проекта

38 Методология SCRUM Scrum одна из первых методологий циклического наращивания функциональности и корректировки хода проекта на основе анализа обратной связи от пользователей