- •Программная инженерия: назначение, основные принципы и понятия
- •Предпосылки и история
- •Повторное использование кода (модульное программирование)
- •Рост сложности программ (структурное программирование)
- •Модификация программ (ооп)
- •Некоторые итоги
- •Продолжение кризиса программирования
- •Программная инженерия – что это такое?
- •Начнем с определений
- •Разберемся в вопросах
- •Что такое программное обеспечение (software)?
- •Что такое программная инженерия?
- •В чем отличия от информатики?
- •В чем отличие от других инженерий?
- •В чем еще отличие от других инженерий?
- •Из чего складывается стоимость по?
- •Еще вопросы
- •Программный процесс?
- •Модель программного процесса?
- •Методы программной инженерии?
- •Модель прецедентов (требований)
- •Модель классов
- •Модель сущность-связь
- •Нотации модели
- •Что такое case?
- •Свойства хорошей программы?
- •Основные трудности
- •Профессинальные и этические требования
- •Кодекс этики ieee-cs/acm
- •Кодекс этики - Преамбула
- •Кодекс этики: 8 принципов
- •Стандартизация и стандарты
- •Стандарты и сертификация
- •Что такое технология
- •Что такое стандарт?
- •Что такое сертификация?
- •Какие бывают стандарты?
- •Кто разрабатывает стандарты se?
- •Iso - International Organization for Standardization
- •Acm - Association for Computing Machinery
- •Sei - Software Engineering Institute
- •Pmi - Project Management Institute
- •Ieee – Institute of Electrical and Electronics Engineers
- •Основные стандарты se
- •Iso/iec12207-95
- •Лекция 2. Жизненный цикл программного продукта Немного истории
- •История. Стандарты и проблемы жц по
- •Iso 12207 (15504) Жизненный цикл пп: структура и организация Стандарт iso/iec 12207
- •Iso 12207. Основные определения
- •Iso 12207. Структура жц по
- •Iso 15504. Процессы жц по
- •Iso 15504. Классификация процессов
- •Iso 15504. Cus: Потребитель-поставщик
- •Iso 15504. Eng: Инженерные процессы
- •Iso 15504. Sup: Вспомогательные процессы
- •Iso 15504. Man: Управленческие процессы
- •Iso 15504. Org: Организационные процессы
- •Модель жизненного цикла программного продукта
- •Каскадная модель. Принципы
- •Каскадная модель. Преимущества и недостатки
- •Каскадная модель. Применимость
- •Спиральная модель. Принципы
- •Спиральная модель. Схема
- •Спиральная модель. Преимущества и недостатки
- •Спиральная модель. Применимость
- •Другие типы моделей жц по
- •Итерационная модель
- •V-образная модель
- •Инкрементная (пошаговая) модель
- •Модель быстрого прототипирования
- •Модели жизненного цикла msf,rup,xp
- •Модель MicrosoftSolutionFramework
- •Модель Rational Unified Process
- •Модель ExtremeProgramming
- •Extreme Programming. Принципы
- •Лекция 3. Управление программным проектом
- •Немного философии (понятия и определения)
- •Что такое управление?
- •Что такое проект?
- •Проект – это…
- •Управление проектами
- •История управления проектами
- •Категории управления проектами
- •Треугольник ограничений проекта
- •Не проекты – это …
- •Что вы запомнили?
- •Что должен знать менеджер проекта?
- •Pmbok: 9 областей управленческих знаний
- •Sqi: 34 компетенции it менеджера
- •Так что же должен знать менеджер проекта?
- •Управление командой проекта
- •Ролевая модель команды
- •Модели организации команд
- •Peopleware – человеческий фактор
- •Административная модель (теорияX)
- •Модель хаоса (теорияY)
- •Открытая архитектура (теория z)
- •Общение в команде
- •Коммуникации
- •Принятие решений – компромисс и консенсус
- •Как добиться консенсуса?
- •Корпоративная политика (наведение мостов)
- •Можно посмотреть:
- •Что же вы запомнили?
- •Планирование и контроль
- •Зачем надо планировать?
- •Задачи планирования
- •Что надо планировать?
- •Как проверять и оценивать?
- •Метрики проекта
- •Как надо планировать?
- •Когда начинать планировать?
- •Структурная декомпозиция работ
- •Создание сдр
- •Критерии сдр
- •Стандарты планирования
- •Средства управления проектом
- •Функции систем управления проектами
- •Обзор систем управления проектами
- •Лекция 4. Управление качеством ит проекта
- •Качество и управление качеством (экскурс в историю)
- •Что такое качество?
- •Теория иерархии потребностей
- •Мера качества: ценность и стоимость
- •Эволюция методов обеспечения качества
- •Фаза отбраковки
- •Фаза управления качеством
- •Фаза планирования качества
- •Что вы запомнили?
- •Iso9000: система управления качеством
- •Iso9000. Фундаментальные требования
- •Iso9000. Структура документов ск
- •Iso9000. Заявление о политике и целях в области качества
- •Iso9000. Руководство по качеству
- •Iso9000. Документированные процедуры
- •Iso9000. Записи о качестве
- •Iso9000. Как работает система управления качеством
- •Iso9000. Немного истории
- •Iso 9000. Версия 1994 г.
- •Iso9000.94. Базовые стандарты
- •Iso9000.94. Стандарты поддержки
- •Iso9000.94. Методические руководства
- •Iso 9000. Версия 2000г.
- •Iso9000. Что вы запомнили?
- •Iso12207: процессы качества по
- •Iso12207. Процесс обеспечения качества
- •Iso12207. Процесс верификации
- •Iso12207. Процесс аттестации
- •Iso12207. Процесс усовершенствования
- •Iso12207. Некоторые выводы
- •Cmm: зрелость организаций и процессов
- •Cmm. Причины и история создания
- •Cmm. Модель технологической зрелости
- •Cmm. Пять уровней зрелости
- •Cmm. Определение модели зрелости
- •Cmm. Критерии оценки уровня зрелости
- •Cmm. Вопросы, вопросы, вопросы?
- •Cmm. Резюме: cmm в тезисах
- •Iso15504: аттестация, определение зрелости и усовершенствование процессов
- •Iso15504. Причины и история создания
- •Iso15504. Назначение и структура стандарта
- •Iso15504.Структура эталонной модели
- •Iso15504. Измерение «Процесс»
- •Iso15504. Измерение «Зрелость»
- •Iso15504. Рейтинги атрибутов
- •Iso15504. Процесс аттестации
- •Iso15504. Компетентность аттестаторов
- •Iso15504. Вопросы, вопросы, вопросы
- •Iso15504. Резюме: iso15504 в тезисах
Iso15504.Структура эталонной модели
Эталонная модель состоит из двух измерений:
Измерения «Процесс», содержащего перечень аттестуемых процессов ЖЦ ПО.
Измерения «Зрелость», содержащего приложимый к любому процессу набор атрибутов, представляющих собой измеримые характеристики, необходимые для управления процессом и повышения зрелости его выполнения.
Iso15504. Измерение «Процесс»
Измерение «Процесс» представляет расширенный и уточненный вариант процессов, представленных в стандарте ISO 12207. В продвинутой версии выделяются:
Тип процесса. Выделяются пять типов процессов: три типа для первого уровня (базовый, расширенный и новый) и два для второго (составляющий и расширенный составляющий), определяемые следующим образом:
базовый — процесс из 12207;
расширенный — расширение процесса из 12207;
новый — процесс, не описанный в 12207;
составляющий — часть процесса из 12207;
расширенный составляющий — расширенная часть процесса из 12207
Три группы и пять категорий. Процессы делятся на три группы (как в ISO12207) и на пять категорий:
Основные процессы:
CUS: Потребитель-поставщик. Процессы, непосредственно затрагивающие потребителя, поддерживающие разработку и передачу программного средства потребителю и обеспечивающие правильные эксплуатацию и использование программного продукта и/или услуги.
ENG: Инженерная. Инженерная категория состоит из процессов, которые непосредственно специфицируют, реализуют или сопровождают программный продукт, его взаимодействие с системой и его пользовательскую документацию. В случае, если система состоит целиком из программных средств, Инженерные процессы занимаются только созданием и сопровождением этих программных средств.
Вспомогательные процессы:
SUP: Вспомогательная. Процессы, которые могут быть использованы любыми другими процессами (включая и другие вспомогательные процессы) в различных пунктах жизненного цикла программного средства.
Организационные процессы:
MAN Управленческая. Процессы, содержащие общие действия, которые могут быть использованы теми, кто управляет проектом любого типа или процессом в рамках жизненного цикла программного средства.
ORG: Организационная. Процессы, которые устанавливают бизнес-цели организации и разрабатывают процессы, продукты или активы ресурсов, которые, будучи использованы в проектах организации, помогают ей достигать своих бизнес-целей
Подробнее: ISO 15504. Процессы ЖЦ ПО
Iso15504. Измерение «Зрелость»
В измерении «Зрелость» эталонной модели мера зрелости основывается на наборе атрибутов процессов (process attribute - PA). Атрибуты процессов используются для определения того, достиг ли процесс определенной способности. Каждый атрибут является мерой конкретного аспекта зрелости процесса. Атрибуты, в свою очередь, оцениваются в процентах, что дает дополнительное понимание конкретных аспектов зрелости процессов, необходимое для усовершенствования процессов и определения их зрелости.
В эталонной модели ISO15504 в отличие отCMMприменяется шесть уровней зрелости процессов со следующими атрибутами:
Неполный процесс (Incomplete). Процесс не реализован, или не способен достичь итога процесса. На данном уровне доказательства систематического обладания любым из предписанных атрибутов отсутствуют либо недостаточны.
Выполняемый (Performed)- реализованный процесс достигает итог процесса.
PA 1.1 Выполнение процесса- степень, в которой процесс достигает соответствующего результата процесса, преобразуя идентифицируемые входные рабочие продукты в идентифицируемые выходные рабочие продукты. В случае обладания данным атрибутом в полной мере:
будут понятны объем выполняемых работ и рабочие продукты, которые надо произвести;
будут получены рабочие продукты, поддерживающие достижение итога процесса.
Управляемый (Managed) - ранее описанный осуществляемый процесс выполняется теперь под управлением, основанном на определенных целевых показателях (т.е., планируется, отслеживается, верифицируется и настраивается).
PA 2.1 Управление выполнением
PA 2.2 Управление рабочими продуктами
Устоявшийся (Established) - ранее описанный управляемый процесс теперь выполняется на основе заданного процесса, основанного на правильных с точки зрения программной инженерии принципах и способного достичь своего назначения.
PA 3.1 Задание процесса
PA 3.2 Обеспечение процесса ресурсами
Предсказуемый (Predictable) - ранее описанный устоявшийся процесс теперь устойчиво выполняется в заданных пределах для достижения назначения процесса.
PA 4.1 Измерение
PA 4.2 Количественное управление процессом
Оптимизируемый (Optimizing) - ранее описанный предсказуемый процесс теперь динамически адаптируется и изменяется для того, чтобы эффективно отвечать соответствующим текущим и проектируемым бизнес–целям организации.
PA 5.1 Изменение процесса
PA 5.2 Непрерывное усовершенствование
Подробнее: Измерение Зрелость