Skip to content
okoff edited this page Feb 21, 2019 · 44 revisions

Лекции

  • Лекции 1-2 Основные задачи и методы проектирования программных средств

    • Лекция 1. Роль и обязанности архитектора программных средств. Понятия аспекта в моделировании и сложности объекта проектирования. Методы оценки и измерения сложности автоматизированных систем и программных средств (IFPUG). Особенности объектно-ориентированного подхода. Объектно-ориентированный анализ (OOA), проектирование (OOD), программирование (OOP). Объектно-ориентированные языки программирования.
    • Лекция 2. История развития итеративной разработки программных средств. Методология RUP. Понятие риска в разработке программных средств. Основные фазы, строительные блоки и поддерживающие процессы в RUP. Использование в RUP объектно-ориентированного подхода, основные конструкции языка UML.
  • Лекции 3-4 Математические методы в объектно-ориентированном проектировании

    • Лекция 3. Информационные системы как системы массового обслуживания. Модели и методы статистической обработки информации. Применение объектно-ориентированного подхода в имитационном моделировании и симуляции.
    • Лекция 4. Понятия исполнительного устройства и очереди в системе массового обслуживания. Виды и программная реализация очередей. Использование очередей с приоритетами в управлении разработкой ПО (SCRUM). Организация и использование очередей в веб-приложениях (AJAX).
  • Лекции 5-6 Проектирование топологии информационных систем

    • Лекция 5. Отличия понятий связности в применении к классам и объектам. Понятие слоя в проектировании программного обеспечения. Проектирование физического размещения компонентов информационных систем. Распределенная обработка данных и параллельные алгоритмы.
    • Лекция 6. Локальные, удаленные и распределенные базы данных. Простые и распределенные транзакции. Распределенные реестры и технологии блокчейн. Понятия блокировки и конфликта транзакций.
  • Лекции 6-7 Научный подход в программировании

    • Лекция 6. Программирование как научная деятельность. Понятие эксперимента в разработке программных средств. Моделирование, прототипирование и исследовательские испытания.
    • Лекция 7. Тестирование программных средств. Понятия пользовательской истории и приемочных испытаний в гибкой разработке программных средств. Тестовые наборы данных, эмуляторы и симуляторы. Роль пользователя в проведении испытаний.

Тема 11. Унифицированный язык моделирования UML. Введение в язык UML. Концептуальная модель UML. Классы. Объекты. Отношения. Общие механизмы. Диаграммы.

Тема 12. Диаграммы UML, моделирующие статические аспекты системы. Диаграммы классов. Диаграммы объектов. Диаграммы компонентов. Диаграммы развѐртывания.

Тема 13. Диаграммы UML, моделирующие динамические аспекты системы. Диаграммы прецедентов (вариантов использования). Диаграммы последовательности. Диаграммы кооперации. Диаграммы состояний. Диаграммы деятельности.

Тема 14. Методология UML. Методология быстрой разработки приложений (RAD). Рациональный унифицированный процесс проектирования (RUP).

Семинары

  • Семинар 1 Методология RUP, прецеденты и язык UML

  • Семинар 2 Управление разработкой ПО, методы Канбан и Скрам

  • Семинар 3 Прототипирование в разработке ПО

  • Семинар 4 Автоматизированное тестирование в разработке ПО

Лабораторные работы

Экзамен

Полноценная подготовка к экзамену является ключевым вопросом дисциплины и состоит из следующих шагов:

  1. Анализ набора экзаменационных билетов
  2. Выбор 2+ вопросов, заданные в которых темы наиболее близки к теме дипломного проекта, выбранному профессиональному направлению или другим собственным интересам (не обязательно брать в работу целиком один билет)
  3. Формирование мини-команды из 2+ человек, занимающихся теми же вопросами
  4. Командное формирование полноценного реферата по теме, заданной в вопросе

Реферат делается прямо в вики-странице билета или в виде отдельной вики-страницы (если реферат содержит информацию по нескольком билетам одновременно). При разработке реферата следует сосредоточиться на следующих показателях его качества:

  • лаконичность (реферат не должен содержать "воды", не связанной с его темой)
  • последовательность (рекомендуется начать с определения основных терминов, далее описать возможные задачи, связанные с темой вопроса, а также описать возможные способы решения этих задач и возможные проблемы)
  • обоснованность (в реферате должны быть примеры, иллюстрации и ссылки на использованные источники)

В идеальной ситуации:

  1. Текст реферата можно 1:1 включить в состав ВКР (дипломной работы)
  2. В качестве примеров использованы собственные или коллективные материалы, разработанные в ходе лабораторных работ
  3. Выбранная тема может послужить основой для проведения каких-то дополнительных исследований

Ресурсы для самостоятельного изучения

Площадки для тренировок

Software Risk Management

Rational Unfied Process

Анализ методов Agile

Абсурд (выявление чуши)

Clone this wiki locally