Банк знаний по Программной инженерии [SWEBOOK]
Software Engineering for Students: A Programming Approach учебник
Тарасов С. Дефрагментация мозга. Софтостроение изнутри
Сомервилл Инженерия ПО
- Уровни и виды требований
- Методы извлечения и сбора требований
- Анализ требований
- Документирование требований
Important
Химонин Ю. И. Сбор и анализ требований к программному продукту Практическое пособие по разработке требований
Халл Э. Разработка и управление требованиями Практическое руководство пользователя
Алистер Корбен Современные методы описания функциональтых требований к системам Варианты использования как писать
Note
Практика: Стандартные задачи
Задача 1 Концепция программного проекта
Задача 2 Моделирование предметной области
Задача 3 Анализ аналогов
Задача 5 Моделирование вариантов использования
Задача 7. Составление ТЗ или спецификации
- Архитектурное проектирование, стили и паттерны
- Принципы проектирования
- Проектирование GUI
- Нотации (UML)
Important
Richards Mark Software Architecture Patterns, 2015
Hands-On Software Architecture with Java Архитектурный подход к разработке
Simon Brown Software Architecture for Developers: Technical leadership by coding, coaching, collaboration, architecture sketching and just enough up front design наброски об архитектуре
Note
Практика: Стандартные задачи
Задача 21 Разделение по компонентам
Задача 22 Проектирование пользовательского интерфеса
Задача 23 Построение информационной архитектуры (модели данных)
Задача 24 Моделирование взаимодействия
-
Структурирование данных (коллекции данных)
-
Паттерны проектирования
-
Методы конструирования: Обработка исключений, логгирование, использование перечислений
Important
Керниrан, Брайан У., Пайк, Роб. Практика программирования. : Пер. с англ. - М. : ООО "И.Д. Вильяме", -288 с.
Кулямин В.В. Технологии программирования. Компонентный подход java web
Макконнелл С. Совершенный код Совершенный код
Эндрю Хант, Дэвид Томас Программист-прагматик. Путь от подмастерья к мастеру
Note
ПРАКТИКА
Задача 31. Использование перечислений в реализации программы
Задача 32. Обработка ошибочных ситуаций и исключений
Задача 33. Использование логгирования
Задача 35. Обзор кода
Задача 36. Написание комментариев
- Тестирование ПО (включая Функциональное, unit-тесты и средства автоматизации)
- Понятие тестирования, уровни
- Процесс тестирования
- Методы функционального тестирования
- Методы структурного тестирования
Important
Куликов Тестирование программного обеспечения. Базовый курс Месарош, Джерард. Шаблоны тестирования xUnit: рефакторинг кода тестов. : Пер. с англ. — М. : ООО “И.Д. Вильямс”, 2016. — 832 с. Хориков В. Принципы юнит-тестирования. — СПб.: Питер, 2021. — 320 с.:
Note
ПРАКТИКА Практическое задание 1
- Теория
- [Примеры]
-
Верификация и оценка качества программного продукта
- Сборка
- Конфигурационное управление
- Система контроля версий (git)
- Липаев В.В. Документирование сложных программных средств. – М.: СИНТЕГ, 2005. - 124.с.
-
- эволюция ПО
- реинженеринг
- рефакторинг
Important
Вольф Эберхард Continuous delivery. Практика непрерывных апдейтов. — СПб.: Питер, 2018. — 320 с. Непрерывное развертывание Физерс, Майкл. Эффективная работа с унаследованным кодом. : Пер. с англ. — М. : ООО “И.Д. Вильямс”, 2009. — 400 с. Унаследованный код
Note
ПРАКТИКА Практическое задание 1