- •Программная инженерия: назначение, основные принципы и понятия
- •Предпосылки и история
- •Повторное использование кода (модульное программирование)
- •Рост сложности программ (структурное программирование)
- •Модификация программ (ооп)
- •Некоторые итоги
- •Продолжение кризиса программирования
- •Программная инженерия – что это такое?
- •Начнем с определений
- •Разберемся в вопросах
- •Что такое программное обеспечение (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 в тезисах
Iso 15504. Sup: Вспомогательные процессы
Вспомогательная категория состоит из процессов, которыми могут пользоваться любые другие процессы (включая другие вспомогательные процессы) в различные моменты жизненного цикла программных средств.
Включает следующие процессы:
SUP.1 Процесс документирования (Documentation process)
SUP.2 Процесс управления конфигурацией (Configuration management process)
SUP.3 Процесс обеспечения качества (Quality assurance process)
SUP.4 Процесс верификации (Verification process)
SUP.5 Процесс проверки соответствия (Validation process)
SUP.6 Процесс совместных проверок (Joint review process)
SUP.7 Процесс аудита (Audit process)
SUP.8 Процесс разрешения проблем (Problem resolution process)
Iso 15504. Man: Управленческие процессы
Управленческая категория состоит из процессов, содержащих практики общего характера, которые могут быть использованы каждым, кто управляет любым проектом или процессом в ходе жизненного цикла программных средств.
К управленческой категории относятся следующие процессы:
MAN.1 Процесс административного управления (Management process)
MAN.2 Процесс управления проектами (Project management process)
MAN.3 Процесс управления качеством (Quality Management process)
MAN.4 Процесс управления рисками (Risk Management process)
Iso 15504. Org: Организационные процессы
Организационная категория процессов состоит из процессов, которые устанавливают цели функционирования организации и создают активы процессов, продуктов и ресурсов, которые, будучи использованы в проектах организации, способствуют выполнению ее целей. Хотя организационные практики в целом относятся не только к процессам, относящимся к программным средствам, последние выполняются в общем контексте организации, и для их эффективного использования необходимо соответствующее окружение. Кратко, эти организационные процессы:
создают инфраструктуру организации;
используют все лучшее из того, что имеется (передовой опыт) во всех частях организации (эффективные процессы, лучшие навыки, качественный программный код, хорошие средства поддержки);
делают это общедоступным в рамках всей организации;
создают базу для постоянного совершенствования во всей организации.
Организационной категории принадлежат процессы:
ORG.1 Процесс организационных установок (Organizational alignment process)
ORG.2 Процесс усовершенствования (Improvement process)
ORG.2.1 Процесс создания процессов (Process establishment process)
ORG.2.2 Процесс аттестации процессов (Process assessment process)
ORG.2.3 Процесс усовершенствования процессов (Process improvement process)
ORG.3 Процесс административного управления кадрами (Human resource management process)
ORG.4 Процесс создания инфраструктуры (Infrastructure process)
ORG.5 Процесс измерения (Measurement process)
ORG.6 Процесс повторного использования (Reuse process)
Модель жизненного цикла программного продукта
Модель жизненного цикла ПО описывается набор фаз (этапов, стадий) проекта по созданию ПО, в которых выполняются отдельные процессы, разбитые на операции и задачи. В глоссарии PMI (PMI. Глоссарий http://www.pmi.ru/glossary/) даются следующие определения этих понятий:
Жизненный цикл проектаНабор обычно последовательных фаз проекта, количество и состав которых определяется потребностями управления проектом организацией или организациями, участвующими в проекте.
Фаза проектаОбъединение логически связанных операций проекта, обычно завершающихся достижением одного из основных результатов.
Процесс Набор взаимосвязанных ресурсов и работ, благодаря которым входные воздействия преобразуются в выходные результаты.
Операция, работаЭлемент работ проекта. У операций обычно имеется ожидаемая длительность, потребность в ресурсах, стоимость. Операции могут далее подразделяться на задачи.
В этих определениях существенным является следующее:
Состав, количество и, можно добавить, порядок выполнения фаз определяется особенностью проекта.
Каждая фаза завершается получением одного из основных результатов, в то время как процесс или задача – просто значимого результата
Разберемся немного подробнее.
Схема модели ЖЦ ПО
Для схемы модели жизненного цикла ПО характерно следующее:
Результатом выполнения каждой фазы является некоторая модель ПО. Описание требований – модель того, что должен делать программный продукт; результат анализа – модель основных архитектурных решений и GUI, …
Результат выполнения каждой фазы является входом следующей фазы и фазы должны выполняться в определенной моделью ЖЦ последовательности.
Некоторые процессы могут выполняться на нескольких фазах, некоторые – в пределах одной.
В стандарте ISO 12207 модель жизненного цикла (life cycle model) определяется как структура, состоящая из процессов, работ и задач, включающих в себя разработку, эксплуатацию и сопровождение программного продукта, охватывающая жизнь системы от установления требований к ней до прекращения ее использования. При этом, конкретные модели определяются особенностью задач, ограничениями на ресурсы, опытом разработчиков и т.д. Между тем, известны некоторые типовые модели ЖЦ ПО, которые проявили себя в определенных условиях, имеют определенные преимущества, недостатки и условия применимости. Эти типовые модели устанавливают некоторые принципы организации модели жизненного цикла ПО.