В курсе представлено изложение ключевых понятий, методов и средств программной инженерии как деятельности, нацеленной на создание программных систем, отвечающих потребностям заказчиков, с соблюдением плановых сроков и бюджета.
Рассмотрены темы, актуальные для специалистов на пути от формулировки заказчиком требований до создания работоспособного и качественного программного продукта. Рассмотрены вопросы программной инженерии как инженерной дисциплины (применение инженерами не только теоретических методов и средств разработки ПО, но и стандартов, правил и методик управления разработкой ПО), а также вопросы проведения инженерных оценок качества, затраченных ресурсов, трудозатрат, стоимости и др.), основные процессы при создании программного обеспечения, среди которых такие ключевые разделы планирование (это анализ целей и задач, принципов реализации и управления планами и ресурсами), сопровождение (устранение найденных недостатков в ПО и внесение изменений как эволюционное развитие ПО ). Слушатели курса овладеют умением создавать системы с большими функциональными возможностями, управлять целями, сроками, ресурсами и ценой проекта, минимизировать затраты и стоимость.
Дано определение программной инженерии,
ее место в инженерной деятельности специалистов при создании компьютерных систем и общее описание десяти областей знаний профессионального ядра знаний SWEBOK.
Изложен ЖЦ стандарта ISO/IEC 12207 и связь его процессов с областями знаний SWEBOK
-
Описываются основные модели жизненного цикла, которые используются в практике проектирования программных систем. Рассмотрен стандарт ISO/IEC 12207 и подходы к формированию рабочих моделей жизненного цикла на его основе. Дана характеристика фундаментальных моделей ЖЦ (водопадной, спиральной, инкрементной, эволюционной) и стандартной модели
-
Приведены методы и инженерия требований к системе.
Рассмотрен процесс сбора, накопления и спецификации требований.
Дана классификация требований и характеристика функциональных и нефункциональных требований.
-
Проведено рассмотрение и дана характеристика методов анализа предметной области и построения моделей.
Рассмотрены объектно-ориентированные и стандартизованные, традиционные методы проектирования архитектуры системы
-
Изложены базовые основы методов прикладного,
систематического (структурного, компонентного, аспектно-ориентированного и др.)
и теоретического (алгебраического, композиционного, концепторного и алгебро-алгоритмического)
программирования для ознакомления студентов с теоретическими и прикладными аспектами методов программирования
-
Дано описание формальных методов спецификаций (Z, VDM, RAISE),
методов доказательства правильности программ с помощью утверждений,
пред- и постусловий и верификации программ
-
Изложены методы и процессы тестирования (и верификации),
сбора данных о дефектах и отказах,
модели оценки надежности программ,
использующие данные результатов тестирования
-
Рассмотрены основы интеграции и преобразования
разноязыковых программ и данных, методы изменения (реинженерия,
реверсная инженерия и рефакторинг) компонентов и систем, дана характеристика стандарта о независимости типов и структур данных от языков программирования,
а также рассмотрены принципы взаимодействия неоднородных компонентов в современных промежуточных средах
-
Излагаются современные основы инженерии приложений и предметных областей (доменов),
тенденции и направления их развития в плане производства одиночных программных систем из повторных компонентов
и целых семейств с многоразовым применением компонентов и одиночных программных систем
-
Глава посвящена представлению моделей качества ПС, метрикам и методам достижения и измерения качества ПС.
Приведена характеристика и дана классификация математических моделей надежности Марковского и пуассоновского типов
-
Проведен анализ и дано описание инженерии программирования,
принципов и методов планирования и управления программным проектом,
рисками и формированием версий программных систем
-
Дан обзор современных языковых средств и спецификации интерфейсов объектов программирования.
Изложены средства разработки MSF фирмы Microsoft
-