Взаимодействие программы с ОС
Проекты классов и методов
Проект программы
Требования к программе
Производительность и оптимизация кода
Характеристики качества и производительность
Общее обсуждение производительности ПО
Ключевые моменты.
Главный Закон Контроля Качества ПО.
Стоимость исправления дефектов.
Методика, способствующая раннему обнаружению ошибок, снижает стоимость их исправления.
Для достижения высокого качества ПО можно использовать следующую комбинацию:
- формальные инспекции всех требований, всех аспектов архитектуры и всех проектов критических частей системы;
- моделирование или прототипирование;
- чтение или инспекции кода;
- тестирование выполнения программы.
4. Когда выполнять контроль качества ПО?
Контролю качества следует уделять должное внимание на всех этапах проекта.
Лучшим способом повышения производительности труда программистов и качества ПО является минимизация времени, затрачиваемого на исправление кода, чем бы оно ни объяснялось.
- Высокого качества можно достичь без дополнительных затрат, если предотвращать дефекты, а не исправлять их.
- Стремление к одним характеристикам качества препятствует достижению других.
- Никакая методика обнаружения дефектов не является достаточно эффективной.
- Чем раньше вы обнаружите дефект, тем меньше вреда он успеет принести.
- В мире программирования контроль качества ориентирован на процесс.
Лекция 12 «Методы оптимизации»
Стремление к повышению быстродействия может снизить общую производительность программы, а не повысить ее.
Не торопитесь улучшать быстродействие или объем на уровне кода. Подумайте об эффективности в контексте:
- требований к программе;
- проекта программы;
- проектов классов и методов;
- взаимодействия программы с ОС;
- компиляции кода;
- оборудования;
- оптимизации кода.
Прежде чем тратить время на решение проблемы с производительностью, убедитесь, что она действительно требует решения.
Проект программы определяет ее основные черты — главным образом, способ ее разделения на классы.
- Задание отдельных целевых показателей использования ресурсов делает производительность системы предсказуемой.
- Простое задание явных целей повышает вероятность их достижения.
- Вы можете поставить цели, которые непосредственно не направлены на повышение эффективности, но способствуют этому в долгосрочной перспективе.
Проектирование классов и методов предоставляет еще одну возможность повышения производительности ПО.
Низкая производительность может объясняться большим объемом или медленным выполнением методов ОС.