Липаев В.В. Программная инженерия. Методологические основы.


Учебники Липаева В.В.

Программная инженерия. Методологические основы.

Учебник. - М.: ТЕИС, 2006. - 608с.

Программная инженерия. Методологические основы.

Учебник содержит курс лекций, отражающий методологические основы современной программной инженерии, обеспечивающей жизненный цикл (ЖЦ) сложных программных средств (ПС). Представлены профили международных стандартов ЖЦ систем и комплексов программ, регламентирующие в программной инженерии, модели и процессы управления проектами ПС. Значительное внимание уделено системному анализу и технико-экономическому обоснованию проектов крупных ПС. Ряд лекций посвящен разработке требований, планированию, структурному и объектно-ориентированному проектированию ПС. Рассмотрены процессы управления ресурсами проектов ПС, дефекты, ошибки и риски в ЖЦ сложных комплексов программ. Представлены стандартизированные характеристики качества программных средств и проанализированы методы их выбора в проектах ПС. Детально изложены методы и процессы верификации, тестирования и оценивания корректности программных компонентов, а также их интеграции, квалификационного тестирования и испытаний крупных комплексов программ. В лекциях подробно отражены процессы сопровождения, мониторинга и управления конфигурацией в жизненном цикле ПС. Завершают курс лекций методы и процессы документирования, удостоверения качества и сертификации программных продуктов.

Учебник целесообразно использовать при обучении студентов старших курсов, аспирантов и менеджеров проектов, созданию сложных комплексов программ на всем их жизненном цикле (64 часа лекций и 32 часа семинарских занятий). Курс лекций ориентирован также на заказчиков, менеджеров крупных проектов, аналитиков и ведущих специалистов, обеспечивающих все этапы ЖЦ сложных программных средств и систем, к которым предъявляются высокие требования к качеству функционирования и ограничены доступные ресурсы разработки.


Содержание:


Предисловие

Лекция 1. Программная инженерия в жизненном цикле программных средств (3 часа).
1.1. Основы жизненного цикла программных средств.
1.2. Роль системотехники в программной инженерии.
1.3. Системные основы современных технологий программной инженерии.

Лекция 2. Профили стандартов жизненного цикла систем и программных средств в программной инженерии (4 часа).
2.1. Назначение профилей стандартов жизненного цикла в программной инженерии.
2.2. Жизненный цикл профилей стандартов систем и программных средств.
2.3. Модель профиля стандартов жизненного цикла сложных программных средств.

Лекция 3. Модели и процессы управления проектами программных средств (4 часа).
3.1. Управление проектами программных средств в системе – СMMI.
3.2. Стандарты менеджмента (административного управления) качеством систем.
3.3. Стандарты открытых систем, регламентирующие структуру и интерфейсы программных средств.

Лекция 4.
Системное проектирование программных средств (3 часа).
4.1. Цели и принципы системного проектирования сложных программных средств.
4.2. Процессы системного проектирования программных средств.
4.3. Структурное проектирование сложных программных средств.
4.4. Проектирование программных модулей и компонентов.

Лекция 5.
Технико-экономическое обоснование проектов программных средств (4 часа).
5.1. Цели и процессы технико-экономического обоснования проектов программных средств.
5.2. Методика 1 - экспертное технико-экономическое обоснование проектов программных средств.
5.3. Методика 2 - оценка технико-экономических показателей проектов программных продуктов с учетом совокупности факторов предварительной модели СОСОМО II.
5.4. Методика 3 - уточненная оценка технико-экономических показателей проектов программных продуктов с учетом полной совокупности факторов детальной модели СОСОМО II.2000.

Лекция 6.
Разработка требований к программным средствам (3 часа).
6.1. Организация разработки требований к сложным программным средствам.
6.2. Процессы разработки требований к характеристикам сложных программных средств.
6.3. Структура основных документов, отражающих требования к программным средствам.

Лекция 7.
Планирование жизненного цикла программных средств (3часа).
7.1. Организация планирования жизненного цикла сложных программных средств.
7.2. Задачи планов для обеспечения жизненного цикла сложных программных средств.
7.3. Планирование процессов управления качеством сложных программных средств.

Лекция 8.
Объектно-ориентированное проектирование программных средств (3часа).
8.1. Задачи и особенности объектно-ориентированного проектирования программных средств.
8.2. Основные понятия и модели объектно-ориентированного проектирования программных средств.
8.3. Варианты представления моделей и средства объектно-ориентированного проектирования программных средств.

Лекция 9.
Управление ресурсами в жизненном цикле программных средств (4 часа).
9.1. Основные ресурсы для обеспечения жизненного цикла сложных программных средств.
9.2. Ресурсы специалистов для обеспечения жизненного цикла сложных программных средств.
9.3. Ресурсы для обеспечения функциональной пригодности при разработке сложных программных средств.
9.4. Ресурсы на реализацию конструктивных характеристик качества программных средств.
9.5. Ресурсы на имитацию внешней среды для обеспечения тестирования и испытаний программных средств.

Лекция 10.
Дефекты, ошибки и риски в жизненном цикле программных средств (4 часа).
10.1. Общие особенности дефектов, ошибок и рисков в сложных программных средствах.
10.2. Причины и свойства дефектов, ошибок и модификаций в сложных программных средствах.
10.3. Риски в жизненном цикле сложных программных средств.
10.4. Риски при формировании требований к характеристикам сложных программных средств.

Лекция 11.
Характеристики качества программных средств (4 часа).
11.1. Основные факторы, определяющие качество сложных программных средств.
11.2. Свойства и атрибуты качества функциональных возможностей сложных программных средств.
11.3. Конструктивные характеристики качества сложных программных средств.
11.4. Характеристики качества баз данных.
11.5. Характеристики защиты и безопасности функционирования программных средств.

Лекция 12.
Выбор характеристик качества в проектах программных средств (2 часа).
12.1. Принципы выбора характеристик качества в проектах программных средств.
12.2. Пример выбора и формирования требований к характеристикам качества программного средства.

Лекция 13.
Верификация, тестирование и оценивание корректности программных компонентов (5 часов).
13.1. Принципы верификации и тестирования программ.
13.2. Процессы и средства тестирования программных компонентов.
13.3. Технологические этапы и стратегии систематического тестирования программ.
13.4. Процессы тестирование структуры программных компонентов.
13.5. Примеры оценок сложности тестирования программ.
13.6. Тестирование обработки потоков данных программными компонентами.

Лекция 14.
Интеграция, квалификационное тестирование и испытания комплексов программ (5 часов).
14.1. Процессы оценивания характеристик и испытания программных средств.
14.2. Организация и методы оценивания характеристик сложных комплексов программ.
14.3. Средства для испытаний и определения характеристик сложных комплексов программ.
14.4. Оценивание надежности и безопасности функционирования сложных программных средств.
14.5. Оценивание эффективности использования ресурсов ЭВМ программным продуктом.

Лекция 15.
Сопровождение и мониторинг программных средств (4 часа).
15.1. Организация и методы сопровождения программных средств.
15.2. Этапы и процедуры при сопровождении программных средств.
15.3. Задачи и процессы переноса программ и данных на иные платформы.
15.4. Ресурсы, для обеспечения сопровождения и мониторинга программных средств.

Лекция 16.
Управление конфигурацией в жизненном цикле программных средств (4 часа).
16.1. Процессы управления конфигурацией программных средств.
16.2. Этапы и процедуры при управлении конфигурацией программных средств.
16.3. Технологическое обеспечение при сопровождении и управлении конфигурацией программных средств.

Лекция 17.
Документирование программных средств (3 часа).
17.1. Организация документирования программных средств.
17.2. Формирование требований к документации сложных программных средств.
17.3. Планирование документирования проектов сложных программных средств.

Лекция 18.
Удостоверение качества и сертификация программных продуктов (2 часа).
18.1. Процессы сертификации в жизненном цикле программных средств.
18.2. Организация сертификации программных продуктов.
18.3. Документирование процессов и результатов сертификации программных продуктов.

Приложение 1.
Перечень основных стандартов программной инженерии.

Приложение 2.
Темы семинарских занятий по курсу Программная инженерия.

Литература.