Автор: Дмитрий Кознов | Санкт-Петербургский государственный университет
Форма обучения:
дистанционная
Стоимость самостоятельного обучения:
бесплатно
Стоимость обучения с персональным тьютором:
500 руб. [?]
Доступ:
свободный
Документ об окончании:
 
Уровень:
Для всех
Длительность:
12:02:00
Студентов:
3726
Выпускников:
772
Качество курса:
4.44 | 4.12
Цель данного курса - представить программную инженерию в виде целостного изложения, концентрируясь на концепции процесса, различных методологиях разработки ПО (CMMI, MSF, Scrum), отдельных видах деятельности процесса - разработке архитектуры, конфигурационном управлении, работе с требованиями, тестировании. В стороне умышленно оставлены вопросы, собственно, программирования, поскольку в рамках общего курса их невозможно эффективно рассмотреть. В качестве программных средств, поддерживающих целостный процесс разработки ПО, рассматривается технология компании Microsoft - Visual Studio Team System (VSTS)с акцентом на Team Foundation Server (TFS). Показывается, как изложенный выше теоретический материал можно реализовать на практике, с поддержкой программных средств разработки. Представлено также описание практикума по MS VSTS, организованного на принципах Scrum.
Несколько слов о практикумах и семинарах, прилагаемых к данному курсу. Их задача – «прокрутить» лекционный материал через «сито» обсуждений, докладов и упражнений, основанных на картах памяти для лучшего усвоения. Серия таких экспериментов уже была проведена в прошлом году, на их основе была создана методика (опубликована в [1]) по активизации collaborative learning процессов и повышении активности студентов в изучении лекционного материала. Подобного рода поддержка лекционного курса крайне необходима, как показывает наш опыт, поскольку курс состоит в обсуждении проблем и способов их решений, с которыми студенты еще не сталкивались на практике. Мы хотели бы также дополнительно поддержать данный курс практикумами по средствам поддержки жизненного цикла разработки ПО на основе TFS и процессам разработки.
Специальности: Системный архитектор
 

План занятий

Занятие
Заголовок <<
Дата изучения
Лекция 1
15 минут
О предмете изучения
Понятие программной инженерии. Основные определения: информатика, Системотехника, Бизнес-реинжиниринг. Программное обеспечение: определение, свойства.
-
Лекция 2
31 минута
Процесс разработки программного обеспечения
Понятие процесса разработки ПО. Универсальный процесс. Текущий процесс. Конкретный процесс. Стандартный процесс. Совершенствование процесса. Pull/Push стратегии. Классические модели процесса: водопадная модель, спиральная модель. Фазы и виды деятельности.
-
Лекция 3
23 минуты
Рабочий продукт, дисциплина обязательств, проект
Рабочий продукт. Дисциплина обязательств. Проект. Управление проектами.
-
Лекция 4
34 минуты
Архитектура ПО
Понятие архитектуры ПО. Точка зрения и характеристики точек зрения. Множественность точек зрения при разработке ПО.
-
Лекция 5
21 минута
Управление требованиями
Виды требований: функциональные требования, нефункциональные требования. Свойства требований: ясность и недвусмысленность, полнота и непротиворечивость, необходимый уровень детализации, прослеживаемость, тестируемость и проверяемость, модифицируемость. Формализация требований. Цикл работы с требованиями.
-
Лекция 6
23 минуты
Конфигурационное управление
Понятие конфигурационного управления. Управление версиями. Понятие "ветки" проекта. Управление сборками. Средства версионного контроля. Единицы конфигурационного управления. Понятие baseline.
-
Тест 2
33 минуты
-
Лекция 7
37 минут
Тестирование
Стандартизация качества. Методы обеспечения качества ПО. Понятие тестирования. Тестирование черного ящика. Тестирование белого ящика. Инструменты тестирования. Критерии тестирования. Виды тестирования. Работа с ошибками. Средства контроля ошибок (bug tracking systems).
-
Лекция 8
36 минут
Диаграммные техники в работе со знаниями
Случаи использования. Работа с требованиями. Случаи использования в управлении разработкой. Итеративный цикл автор/рецензент. Карты памяти.
-
Лекция 9
27 минут
MSF
IT решение. Основные принципы MSF. Модель команды: основные принципы, ролевые кластеры. Масштабирование команды MSF. Модель процесса. Управление компромиссами.
-
Лекция 10
10 минут
CMMI
Понятие CMMI. Уровни зрелости процессов по CMMI. Области усовершенствования.
-
Лекция 11
14 минут
"Гибкие" (agile) методы разработки
Общее описание "гибких" методов разработки ПО. Extreme Programming: общее описание, основные принципы организации процесса. Scrum: общее описание, роли, практики.
Оглавление
-
Лекция 12
34 минуты
Обзор технологии Microsoft Visual Studio Team System (VSTS)
Состав продукта: обзор, клиентская часть VSTS, серверная часть VSTS. Правила инсталляции. Пакет Team Explorer.
-
Лекция 13
37 минут
VSTS: управление элементами работ (Work Items)
Определение, свойства, жизненный цикл. Реквизиты. Средства использования (на примере элемента работы task). Доступ к элементам работы. Элементы работы при планировании. Элементы работы в дальнейшей разработке. Элементы работы в отчетах.
-
Лекция 14
43 минуты
VSTS: конфигурационное управление
Система контроля версий. Отслеживание изменений отдельных файлов. Правила внесения изменений. Управление ветками. Сохранение без внесения. Автоматические сборки.
-
Лекция 15
38 минут
VSTS: тестирование
Система отслеживания ошибок. Создание описания ошибки. Связь изменений исходных текстов ПО и ошибок. Система оповещений. Модульные тесты. Пакеты тестов. Автоматическое тестирование Web-приложений.
-
Лекция 16
26 минут
VSTS: поддержка различных моделей процесса
Поддержка шаблонов процесса. Инструменты настройки. Обзор существующих шаблонов. MSF for Agile Software Development. Scrum.
-
Тест 5
42 минуты
-
Лекция 17
55 минут
Практикум
Требования к техническому оснащению. Организация процесса. Модельная задача. Требования к студентам. Масштабируемость практикума. Обзор тем и задач. Тема 1. Знакомство и создание проекта. Тема 2. Работа с системой отслеживания ошибок. Тема 3. Работа с системой контроля версий. Тема 4. Разработка модульных тестов. Тема 5. Создание и конфигурация автоматической сборки. Тема 6. Настройка шаблона процесса.
Оглавление
-
Вопросы и задания по курсу "Введение в программную инженерию"

Оглавление
-
1 час 40 минут
-
Владислав Нагорный
Владислав Нагорный

Подскажите, пожалуйста, планируете ли вы возобновление программ высшего образования? Если да, есть ли какие-то примерные сроки?

Спасибо!

Лариса Парфенова
Лариса Парфенова

1) Можно ли экстерном получить второе высшее образование "Программная инженерия" ?

2) Трудоустраиваете ли Вы выпускников?

3) Можно ли с Вашим дипломом поступить в аспирантуру?

 

Александр Качанов
Александр Качанов
Япония, Токио
Александр Санчиров
Александр Санчиров
Россия, Москва