-
Notifications
You must be signed in to change notification settings - Fork 14
Home
-
Лекции 1-2 Основные задачи и методы проектирования программных средств
- Лекция 1. Роль и обязанности архитектора программных средств. Понятия аспекта в моделировании и сложности объекта проектирования. Методы оценки и измерения сложности автоматизированных систем и программных средств (IFPUG). Особенности объектно-ориентированного подхода. Объектно-ориентированный анализ (OOA), проектирование (OOD), программирование (OOP). Объектно-ориентированные языки программирования.
- Лекция 2. История развития итеративной разработки программных средств. Методология RUP. Понятие риска в разработке программных средств. Основные фазы, строительные блоки и поддерживающие процессы в RUP. Использование в RUP объектно-ориентированного подхода, основные конструкции языка UML.
-
Лекции 3-4 Математические методы в объектно-ориентированном проектировании
- Лекция 3. Информационные системы как системы массового обслуживания. Модели и методы статистической обработки информации. Применение объектно-ориентированного подхода в имитационном моделировании и симуляции.
- Лекция 4. Понятия исполнительного устройства и очереди в системе массового обслуживания. Виды и программная реализация очередей. Использование очередей с приоритетами в управлении разработкой ПО (SCRUM). Организация и использование очередей в веб-приложениях (AJAX).
-
Лекции 5-6 Проектирование топологии информационных систем
- Лекция 5. Отличия понятий связности в применении к классам и объектам. Понятие слоя в проектировании программного обеспечения. Проектирование физического размещения компонентов информационных систем. Распределенная обработка данных и параллельные алгоритмы.
- Лекция 6. Локальные, удаленные и распределенные базы данных. Простые и распределенные транзакции. Распределенные реестры и технологии блокчейн. Понятия блокировки и конфликта транзакций.
-
Лекции 7-8 Научный подход в программировании
- Лекция 7. Программирование как научная деятельность. Понятие эксперимента в разработке программных средств. Моделирование, прототипирование и исследовательские испытания.
- Лекция 8. Тестирование программных средств. Понятия пользовательской истории и приемочных испытаний в гибкой разработке программных средств. Тестовые наборы данных, эмуляторы и симуляторы. Роль пользователя в проведении испытаний.
-
Лекции 9-10 Проектирование взаимодействий
- Лекция 9. Вертикальное и горизонтальное взаимодействия. Понятие инициатора взаимодействия. Выталкивающее и втягивающее производство. Планирование запасов.
- Лекция 10. Управление сроками. Сетевое планирование и понятие критического пути. Планирование сроков в гибкой разработке программных средств. Планирование совещаний. Личный тайм-менеджмент.
-
Лекции 11-12 Проектирование конфигурационного управления
- Лекция 11. Управление требованиями, изменениями, инцидентами. Понятия конфигурации и конфигурационного управления. Сборки, выпуски и версии в гибкой разработке (SCRUM). Понятия инцидента, обходного пути и заплатки.
- Лекция 12. Управление конфигурацией. Разработка, управляемая моделями (MDD). Инжениринг в разработке, управляемой функциональностью (FDD), реинжениринг и рефакторинг в разработке, управляемой тестами (TFD, TDD, BDD). Документирование программного кода.
-
Лекции 13-14 Проектирование по шаблонам (паттернам)
- Лекция 13. Шаблоны проектирования систем. Шаблоны моделирования процессов и событий. Шаблоны решения изобретательских задач. Цифровые двойники и цифровые тени. Шаблоны в фреймворках. Функциональные и архитектурные шаблоны.
- Лекция 14. Шаблоны проектирования программ и баз данных. Понятия обновления структуры и горячего резерва баз данных. ООП-шаблоны в проектировании архитектуры программных средств. Фреймворк "Модель-Представление-Контроллер (MVC).
-
Лекции 15-16 Проектирование интеграционных решений
- Лекция 15. Справочники и классификаторы. Понятия классификации, классифицируемого множества и классификационного признака. Иерархическая и фасетная классификация. Системы классификации и кодирования.
- Лекция 16. Извлечение и очистка данных. Понятия нормализации и дедупликации. Технологии ETL. Понятие и технологии обработки больших данных.
-
Лекции 17-18 Проектирование высоконагруженных и аналитических систем
- Лекция 17. Высоконагруженные системы и системы реального времени. Понятия высокой доступности и высоконагруженного приложения. Архитектурные паттерны высоконагруженных систем. Понятия системы реального времени и интеллектуального агента. Понятия интернета вещей, индустриального интернета вещей, технологического уклада и Индустрии 4.0. Цифровое производство и робототехника.
- Лекция 18. Аналитические и экспертные системы. Сравнительный анализ транзакционных (OLTP) и аналитических (OLAP) систем. Многомерное моделирование и модель Свод данных (Data Vault). CPM-системы и консолидация данных. Экспертные системы, системы поддержки принятия решений и машинное обучение.
-
Семинар 1 Методология RUP, прецеденты и язык UML
-
Семинар 2 Управление разработкой ПО, методы Канбан и Скрам
-
Семинар 3 Прототипирование в разработке ПО
-
Семинар 4 Автоматизированное тестирование в разработке ПО
-
Лабораторная 1 Разметка личной страницы, разработка UML Use Case
-
Лабораторная 2 Заполнение личной страницы, разработка UML Class
-
Лабораторная 3 Реализация мини-приложения SPA, разработка UML Sequence
-
Лабораторная 4 Реализация приложения на Angular 7, разработка UML Component
-
Лабораторная 5 Разработка алгоритма и описания процедуры в выбранном проекте
-
Лабораторная 6 Разработка процедуры на JS в выбранном проекте
-
Лабораторная 7 Разработка unit-теста процедуры в выбранном проекте
Полноценная подготовка к экзамену является ключевым вопросом дисциплины и состоит из следующих шагов:
- Анализ набора экзаменационных билетов
- Выбор 2+ вопросов, заданные в которых темы наиболее близки к теме дипломного проекта, выбранному профессиональному направлению или другим собственным интересам (не обязательно брать в работу целиком один билет)
- Формирование мини-команды из 2+ человек, занимающихся теми же вопросами
- Командное формирование полноценного реферата по теме, заданной в вопросе
Реферат делается прямо в вики-странице билета или в виде отдельной вики-страницы (если реферат содержит информацию по нескольком билетам одновременно). При разработке реферата следует сосредоточиться на следующих показателях его качества:
- лаконичность (реферат не должен содержать "воды", не связанной с его темой)
- последовательность (рекомендуется начать с определения основных терминов, далее описать возможные задачи, связанные с темой вопроса, а также описать возможные способы решения этих задач и возможные проблемы)
- обоснованность (в реферате должны быть примеры, иллюстрации и ссылки на использованные источники)
В идеальной ситуации:
- Текст реферата можно 1:1 включить в состав ВКР (дипломной работы)
- В качестве примеров использованы собственные или коллективные материалы, разработанные в ходе лабораторных работ
- Выбранная тема может послужить основой для проведения каких-то дополнительных исследований