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

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

Программа тренинга

  1. Понятие качества программного кода.
    • Понятие и вопросы управления качеством ПО.
    • Модели и атрибуты качества. Структурные характеристики ПО. Модели SQuaRE и ISO/IEC 25010:2011.
    • Методы оценки качества ПО. Работа с формальными моделями, исходным и исполняемым кодом, документацией.
    • Экспресс-анализ, исчерпывающий анализ и рефакторинг исходного кода. «Структурное» качество кода. Устранимые и неустранимые аномалии.
    • Метрики качества (объектно-ориентированной) программной архитектуры.
  2. Структурные показатели качества: часть 1.
    • Эффективность кода: оптимизация доступа к данным, иным ресурсам и операций с ними. Показатели эффективности.
    • Безопасность кода: контроль доступа, подходы к кодированию чувствительных подсистем. Критические ошибки и отказоустойчивость. Многоуровневая обработка ошибок и исключительных ситуаций. Нейтральность кода. Системы типов языков высокого уровня и соображения безопасности.
    • Безопасность и эффективность отдельных элементов языков Java и C++.
    • Существует ли архитектурный конфликт «эффективность — безопасность»? …
  3. Лабораторный практикум (I).
  4. Структурные показатели качества: часть 2.
    • Надежность кода: принцип «корректность по построению». Контрактное и защитное программирование. Использование утверждений.
    • Сложность кода: влияние предварительного проектирования и модульности. Оценки сложности кода. Что такое «несложный» код?
    • Повторная применимость кода: обеспечение переносимости и широты использования. Компонентная разработка.
    • Удобство сопровождения: антишаблоны, «грязные» техники и типовые ошибки в программном коде. Стандарты и стили оформления (C++ Style Guide и Code Conventions for Java), комментирование и документирование кода. Обеспечение расширяемости.
  5. Лабораторный практикум (II).
  6. Качество программной архитектуры.
    • Архитектура и характеристики программной системы: границы, точки расширения и атрибуты качества. Архитектурные метафоры и архитектурные стили, их связь с метриками дизайна.
    • Метрики архитектуры уровня классов: гранулярность, связность и сфокусированность.
    • Сложность архитектуры: влияние принципов S.O.L.I.D. и закона Деметра. Правила Фута – Опдайка. Принципы проектирования Рука.
    • Инструментарий управления качеством архитектуры и исходного кода (на примере SonarQube).
  7. Лабораторный практикум (III).

Общая продолжительность тренинга — от 16 до 24 акад. часов.

Добавить комментарий

Заполните поля или щелкните по значку, чтобы оставить свой комментарий:

Логотип WordPress.com

Для комментария используется ваша учётная запись WordPress.com. Выход /  Изменить )

Google photo

Для комментария используется ваша учётная запись Google. Выход /  Изменить )

Фотография Twitter

Для комментария используется ваша учётная запись Twitter. Выход /  Изменить )

Фотография Facebook

Для комментария используется ваша учётная запись Facebook. Выход /  Изменить )

Connecting to %s

This site uses Akismet to reduce spam. Learn how your comment data is processed.