top-image
Главная » Услуги и обучение » Информационные технологии » Программная инженерия » Управление качеством объектно - ориентированной архитектуры и программного кода

Код: PE03

Управление качеством объектно - ориентированной архитектуры и программного кода

Отправить нам заявку на участие в мероприятии Получить коммерческое предложение

Описание:

Цель тренинга:

Научить специалистов в области проектирования и разработки программного обеспечения (ПО) обнаруживать и устранять типовые проблемы, связанные с недостаточной эффективностью, безопасностью, надежностью исходного программного кода на языках объектно-ориентированного программирования (C++, Java), развивать и совершенствовать процессы разработки ПО, оценивать и повышать качество ПО с точки зрения его структурных характеристик.

Целевая аудитория:

  • руководители проектов разработки и архитекторы ПО;
  • руководители отделов (групп) разработки;
  • старшие и ведущие разработчики;
  • иные специалисты, желающие расширить и систематизировать свои знания в объеме программы тренинга.

Программа мероприятия:

Модуль №1.Понятие качества программного кода (4а.ч.)

  • Обзор тренинга.
  • Понятие и вопросы управления качеством ПО: актуальность проблемы, применимые точки зрения, необходимость управления качеством.
  • Модели и атрибуты качества. Структурные характеристики ПО. Модели SQuaRE и ISO/IEC 25010:2011.
  • Методы оценки качества ПО. Работа с формальными моделями, исходным и исполняемым кодом, документацией.
  • Экспресс-анализ, исчерпывающий анализ и рефакторинг исходного кода. «Структурное» качество кода. Устранимые и неустранимые аномалии.
  • Метрики качества (объектно-ориентированной) программной архитектуры.

Модуль №2.Структурные показатели качества: Часть 1 (2А.Ч.)

  • Эффективность кода: оптимизация доступа к данным, иным ресурсам и операций с ними. Работа с оперативной памятью. Пространственная и временная локальность данных и кода. Показатели эффективности.
  • Безопасность кода: контроль доступа, подходы к кодированию чувствительных подсистем. Критические ошибки и отказоустойчивость. Многоуровневая обработка ошибок и исключительных ситуаций. Нейтральность кода. Системы типов языков высокого уровня и соображения безопасности.
  • Безопасность и эффективность отдельных элементов языков Java и C++.
  • Существует ли архитектурный конфликт «эффективность — безопасность»?

Модуль №3.Обеспечение эффективности и безопасности кода (2А.Ч.)

  • Решение задач.
  • Защита работ и обсуждение результатов.

Модуль №4.Структурные показатели качества: Часть 2 (4А.Ч.)

  • Надежность кода: принцип «корректность по построению». Контрактное и защитное программирование. Использование утверждений.
  • Сложность кода: влияние предварительного проектирования и модульности. Оценки сложности кода. Что такое «несложный» код?
  • Повторная применимость кода: обеспечение переносимости и широты
  • использования. Компонентная разработка.
  • Удобство сопровождения: антишаблоны, «грязные» техники и типовые ошибки в программном коде. Стандарты и стили оформления (C++ Style Guide и Code Conventions for Java), комментирование и документирование кода. Обеспечение расширяемости.

Модуль №5.Обеспечение надежности, простоты и удобства сопровождения . Повторно используемого кода (4А.Ч.)

  • Решение задач.
  • Защита работ и обсуждение результатов.

Модуль №6.Качество программной архитектуры (4А.Ч.)

  • Архитектура и характеристики программной системы: границы, точки расширения и атрибуты качества. Архитектурные метафоры и архитектурные стили, их связь с метриками дизайна.
  • Метрики архитектуры уровня классов: гранулярность, связность и сфокусированность.
  • Сложность архитектуры: влияние принципов S.O.L.I.D. и закона Деметра. Правила Фута – Опдайка. Принципы проектирования Рука.
  • Инструментарий управления качеством архитектуры и исходного кода (на примере SonarQube).

Модуль №7.Обеспечение качества архитектуры (4А.Ч.)

  • Решение задач.
  • Защита работ и обсуждение результатов.
Оставить свой отзыв об этом мероприятии