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

Microsoft DreamSpark

Бесплатные лицензионные инструменты разработки и дизайна для школьников, студентов, аспирантов и преподавателей.

Специальное предложение для студентов НОУ «ИНТУИТ».

 ...еще >>

План занятий

ЗанятиеЗаголовок <<Дата изучения
-
Лекция 1
15 минут
О предмете изучения
Понятие программной инженерии. Основные определения: информатика, Системотехника, Бизнес-реинжиниринг. Программное обеспечение: определение, свойства.
Оглавление
    -
    Лекция 2
    31 минута
    Процесс разработки программного обеспечения
    Понятие процесса разработки ПО. Универсальный процесс. Текущий процесс. Конкретный процесс. Стандартный процесс. Совершенствование процесса. Pull/Push стратегии. Классические модели процесса: водопадная модель, спиральная модель. Фазы и виды деятельности.
    Оглавление
      -
      Лекция 3
      23 минуты
      Рабочий продукт, дисциплина обязательств, проект
      Рабочий продукт. Дисциплина обязательств. Проект. Управление проектами.
      Оглавление
        -
        Тест 1
        36 минут
        -
        Лекция 4
        34 минуты
        Архитектура ПО
        Понятие архитектуры ПО. Точка зрения и характеристики точек зрения. Множественность точек зрения при разработке ПО.
        Оглавление
          -
          Лекция 5
          21 минута
          Управление требованиями
          Виды требований: функциональные требования, нефункциональные требования. Свойства требований: ясность и недвусмысленность, полнота и непротиворечивость, необходимый уровень детализации, прослеживаемость, тестируемость и проверяемость, модифицируемость. Формализация требований. Цикл работы с требованиями.
          Оглавление
            -
            Лекция 6
            23 минуты
            Конфигурационное управление
            Понятие конфигурационного управления. Управление версиями. Понятие "ветки" проекта. Управление сборками. Средства версионного контроля. Единицы конфигурационного управления. Понятие baseline.
            Оглавление
              -
              Тест 2
              33 минуты
              -
              Лекция 7
              37 минут
              Тестирование
              Стандартизация качества. Методы обеспечения качества ПО. Понятие тестирования. Тестирование черного ящика. Тестирование белого ящика. Инструменты тестирования. Критерии тестирования. Виды тестирования. Работа с ошибками. Средства контроля ошибок (bug tracking systems).
              Оглавление
                -
                Лекция 8
                36 минут
                Диаграммные техники в работе со знаниями
                Случаи использования. Работа с требованиями. Случаи использования в управлении разработкой. Итеративный цикл автор/рецензент. Карты памяти.
                Оглавление
                  -
                  Тест 3
                  36 минут
                  -
                  Лекция 9
                  27 минут
                  MSF
                  IT решение. Основные принципы MSF. Модель команды: основные принципы, ролевые кластеры. Масштабирование команды MSF. Модель процесса. Управление компромиссами.
                  Оглавление
                    -
                    Лекция 10
                    10 минут
                    CMMI
                    Понятие CMMI. Уровни зрелости процессов по CMMI. Области усовершенствования.
                    Оглавление
                      -
                      Лекция 11
                      14 минут
                      "Гибкие" (agile) методы разработки
                      Общее описание "гибких" методов разработки ПО. Extreme Programming: общее описание, основные принципы организации процесса. Scrum: общее описание, роли, практики.
                      Оглавление
                        -
                        Тест 4
                        36 минут
                        -
                        Лекция 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. Настройка шаблона процесса.
                                  Оглавление
                                    -
                                    Дополнительный материал 
                                    35 минут
                                    -
                                    5 часов
                                    -
                                    Илья Макаренко
                                    Илья Макаренко
                                    О начале обучения
                                    Саян Жанболатулы
                                    Саян Жанболатулы
                                    Как открыть Тесты после сдачи Экзамена?
                                    Александр Качанов
                                    Александр Качанов
                                    Япония, Токио
                                    Александр Санчиров
                                    Александр Санчиров
                                    Россия, Москва