Архитектура ПО
1. Введение в архитектуру ПО
• Определение: Архитектура ПО – это набор решений о структуре, компонентах и взаимодействиях программной системы.
• Зачем нужна?
• Определяет, насколько ПО удобно, надежно и масштабируемо.
• Помогает команде разработчиков понимать, как строить систему.
2. Основные принципы архитектуры ПО
1. Разделение ответственности (SoC) – разные части системы выполняют конкретные задачи.
2. Масштабируемость – ПО должно работать стабильно при увеличении нагрузки.
3. Отказоустойчивость – ПО продолжает работать даже при сбоях.
4. Паттерны проектирования
• MVC (Model-View-Controller) – разделяет логику, интерфейс и данные.
3. Методы описания архитектуры
• C4-модель – визуализация системы на разных уровнях детализации.
• UML-диаграммы – используются для документирования архитектуры.
4. Групповая динамика и коммуникации
• Как договариваться о технологиях?
• Архитекторы проводят воркшопы и обсуждают плюсы/минусы.
• Как внедрять архитектурные решения?
• Через код-ревью и внутренние гайды.
Выводы
• Архитектура ПО определяет удобство и эффективность работы системы.
• Хорошо продуманная архитектура = успешный бизнес.
• Важна командная работа между архитекторами, разработчиками и аналитиками.
Тестирование ПО
1. Введение в тестирование
• Определение: Тестирование ПО – процесс проверки работоспособности системы и выявления ошибок.
• Зачем нужно?
• Помогает избежать серьезных сбоев.
• Виды тестирования:
• Модульное – тестирование отдельных функций.
• Интеграционное – проверка взаимодействия модулей.
• Системное – тестирование всей системы.
• Приемочное – проверка соответствия требованиям заказчика.
2. Подходы к тестированию
1. Ручное тестирование – тестировщик проверяет систему вручную.
2. Автоматизированное тестирование – используется код для автоматической проверки.
3. Методы тестирования
• Unit-тестирование – тестирование отдельных компонентов.
• Интеграционное тестирование – тестирование взаимодействия частей системы.
• Нагрузочное тестирование – проверка системы под высокой нагрузкой.
• Регрессионное тестирование – проверка работы старого функционала после обновлений.
4. Групповая динамика и коммуникации в тестировании
• Как оформлять баг-репорты?
• Четкое описание ошибки + шаги воспроизведения.
• Совместная работа с разработчиками
• Важно быстро находить и исправлять ошибки.
Выводы
• Тестирование помогает избежать ошибок и потерь.
• Разные виды тестирования важны на каждом этапе разработки.
• Командная работа между тестировщиками и разработчиками ускоряет процесс исправления ошибок.
Краткие выводы по двум лекциям
• Архитектура ПО – это каркас программы, который определяет, как она будет работать.
• Тестирование – критически важно для обеспечения надежности и качества продукта.
• Командная работа – без правильной коммуникации архитектура и тестирование теряют свою эффективность.