Введение в программную инженерию

Презентации к лекциям:

  1. Введение.
  2. Унифицированный процесс.
  3. Четыре <<П>>, требования и риски.
  4. Варианты использования.
  5. Архитектура.
  6. Микросервисная архитектура.
  7. Асинхронный ввод/вывод и DHT.
  8. Реализация + тестирование
  9. Итеративный и инкрементный
  10. Введение в Agile, бизнес-модель
  11. Extreme Programming и Rapid Application Development

Темы проектов

Проекты представлены на уровне идей и не являются техническими заданиями. Фактическое задание должно быть выработано в ходе обсуждения. Форма реализации может устанавливаться коллективно, и у исполнителя могут быть свои взгляды на неё.

ВНИМАНИЕ! Не все проекты хорошо укладываются в методологию унифицированного процесса, но оценка тем выше, чем хуже проект подходит.

  1. (занято магистры) Программный компонент для интерактивной навигации по онтологии в формате Web Ontology Language.
  2. (занято бакалавры) Программный компонент для чтения структур файлов в формате FB2 (предпочтительно Java).
  3. (занято бакалавры) Грамматика ANTLR для чтения файлов в формате TeX.
  4. Обработчик командных утилит BlueZ в Linux для управления устройствами Bluetooth.
  5. (занято бакалавры) Клиент для протокола OPDS.
  6. Автоматизированный интерфейс для утилиты parted.
  7. (занято бакалавры) Трансформер геометрического представления блоков на странице HTML.
  8. Грамматика ANTLR для чтения файлов в формате Lilypond.
  9. (занято бакалавры) Потокобезопасное хранилище сообщений электронной почты в кроссплатформенной встраиваемой СУБД (рекомендуется задействовать Javax.mail, Nitrite, Lombok и др. библиотеки).
  10. (занято бакалавры) Мобильное приложение для просмотра обучающих курсов с поддержкой xAPI (можно ограничиться только форматом HTML). (язык и инструментарий любые).
  11. Клиент на Java для доступа к базовым функциям Moodle через сервисный API.
  12. (занято бакалавры) Компонент для закачки файлов с возможностью докачки (предполагается возможность прерывания как штатного пользователем, так и непредвиденного; желательно Java).

Рекомендуемая литература

  1. Якобсон А., Буч Г., Рамбо Дж. Унифицированный процесс разработки программного обеспечения. – СПб.: Питер, 2002.
  2. Арлоу Дж., Нейштадт А. UML 2 и Унифицированный процесс. Практический объектно-ориентированный анализ и проектирование, 2-е изд. – СПб.: Символ-Плюс, 2013.
  3. Ларман К. Применение UML и шаблонов проектирования. (второе издание) – М.: Вильямс, 2002. Или 3-е издание, 2019.
  4. Крачтен Ф. Введение в Rational Unified Process (второе издание) – М.: Вильямс, 2002.
  5. Поллис Г., Огастин Л., Лоу К., Мадхар Д. Разработка программных проектов: на основе Rational Unified Process (RUP) – М.: ООО «Бином-Пресс», 2005.
  6. Ауэр К., Миллер Р. Экстремальное программирование: постановка процесса. С первых шагов и до победного конца. – СПб.: Питер, 2004.
  7. Мацяшек Л.А. Анализ требований и проектирование систем. Разработка информационных систем с использованием UML. – М: Изд. Дом «Вильямс», 2002.
  8. Kniberg H. Scrum and XP from the Trenches (2nd Edition). 2015.

Дополнительные материалы

Константин Беляков обратился с просьбой распространить среди студентов справочник предпринимателя. Его можно загрузить по этой ссылке.