Введение в программную инженерию
Презентации к лекциям:
- Введение.
- Унифицированный процесс.
- Четыре <<П>>, требования и риски.
- Варианты использования.
- Архитектура.
- Микросервисная архитектура.
- Асинхронный ввод/вывод и DHT.
- Реализация + тестирование
- Итеративный и инкрементный
- Введение в Agile, бизнес-модель
- Extreme Programming и Rapid Application Development
Темы проектов
Проекты представлены на уровне идей и не являются техническими заданиями.
Фактическое задание должно быть выработано в ходе обсуждения.
Форма реализации может устанавливаться коллективно, и у исполнителя могут быть свои взгляды на неё.
ВНИМАНИЕ! Не все проекты хорошо укладываются в методологию унифицированного процесса,
но оценка тем выше, чем хуже проект подходит.
- (занято магистры) Программный компонент для интерактивной навигации по онтологии в формате Web Ontology Language.
- (занято бакалавры) Программный компонент для чтения структур файлов в формате FB2 (предпочтительно Java).
- (занято бакалавры) Грамматика ANTLR для чтения файлов в формате TeX.
- Обработчик командных утилит BlueZ в Linux для управления устройствами Bluetooth.
- (занято бакалавры) Клиент для протокола OPDS.
- Автоматизированный интерфейс для утилиты
parted
.
- (занято бакалавры) Трансформер геометрического представления блоков на странице HTML.
- Грамматика ANTLR для чтения файлов в формате Lilypond.
- (занято бакалавры) Потокобезопасное хранилище сообщений электронной почты в кроссплатформенной встраиваемой СУБД (рекомендуется задействовать Javax.mail, Nitrite, Lombok и др. библиотеки).
- (занято бакалавры) Мобильное приложение для просмотра обучающих курсов с поддержкой xAPI (можно ограничиться только форматом HTML). (язык и инструментарий любые).
- Клиент на Java для доступа к базовым функциям Moodle через сервисный API.
- (занято бакалавры) Компонент для закачки файлов с возможностью докачки (предполагается возможность прерывания как штатного пользователем, так и непредвиденного; желательно Java).
Рекомендуемая литература
- Якобсон А., Буч Г., Рамбо Дж. Унифицированный процесс разработки программного обеспечения. – СПб.: Питер, 2002.
- Арлоу Дж., Нейштадт А. UML 2 и Унифицированный процесс. Практический объектно-ориентированный анализ и проектирование, 2-е изд. – СПб.: Символ-Плюс, 2013.
- Ларман К. Применение UML и шаблонов проектирования. (второе издание) – М.: Вильямс, 2002. Или 3-е издание, 2019.
- Крачтен Ф. Введение в Rational Unified Process (второе издание) – М.: Вильямс, 2002.
- Поллис Г., Огастин Л., Лоу К., Мадхар Д. Разработка программных проектов: на основе Rational Unified Process (RUP) – М.: ООО «Бином-Пресс», 2005.
- Ауэр К., Миллер Р. Экстремальное программирование: постановка процесса. С первых шагов и до победного конца. – СПб.: Питер, 2004.
- Мацяшек Л.А. Анализ требований и проектирование систем. Разработка информационных систем с использованием UML. – М: Изд. Дом «Вильямс», 2002.
- Kniberg H. Scrum and XP from the Trenches (2nd Edition). 2015.
Дополнительные материалы
Константин Беляков обратился с просьбой распространить среди студентов справочник предпринимателя. Его можно загрузить по этой ссылке.