Объём
дисциплины по видам учебных занятий (в
часах) Виды
учебной работы Объем
в
часах по семестрам Всего 1
семестр 2
семестр 1. Контактная
работа обучающихся
с преподавателем по
видам учебных занятий (всего) Аудиторная
работа (всего) 51 51 Лекции
(Л) 17 17 лабораторные
работы (ЛР) 34 34 2.
Самостоятельная работа обучающихся
(СР) (всего) 93 21 72 Проработка
учебного материала лекций 4 4 Подготовка
к лабораторным работам
10 10 Подготовка
к рубежному контролю, контрольной
работе 3 3 Выполнение
домашнего задания 4 4 Выполнение
курсового проекта / курсовой работы 72 72 Вид
промежуточной аттестации обучающегося
экз диф.зач. Содержание
дисциплины, структурированное по
разделам (темам) Модуль
1. Программный проект
и управление его созданием
(37 часов). Лекции
по модулю 1 (8 часов). Методологии
и стратегии разработки программного
обеспечения и модели жизненного цикла
(2 часа). Методологии
и стратегии разработки программного
обеспечения и модели жизненного цикла:
каскадная модель, спиральная модель,
инкрементная модель, макетирование,
модель быстрой разработки RAD, экстремальное
программирование (XP-процесс),
компонентно-ориентированная модель и
модель, управляемая архитектурой (MDA),
унифицированный процесс (RUP). Тяжеловесные
(прогнозирующие) и адаптивные (облегченные)
процессы разработки. Перечень,
последовательность и содержимое этапов
разработки по методологиям.
Руководство
программным проектом (2 часа). Планирование
проекта. Анализ и управление рисками.
Структурная декомпозиция работ.
Трассировка и контроль. Вехи. Типы связей
задач. Календари ресурсов. Планирование,
определяемое трудозатратами. Распределение
ресурсов. Оценка бюджета проекта.
Отслеживание выполнения проекта.
Отслеживание графика выполнения и
бюджета. Меры и метрики. Оценка затрат,
длительности и стоимости разработки.
Метрический базис. Оценка размера
проекта на основе LOC, функциональных и
объектных указателей. Размерно-ориентированные
и функционально-ориентированные метрики.
Вычисление затрат, длительности и
стоимости разработки на основе моделей
СОСОМО -81, СОСОМО –II. Модели композиции
приложения, раннего этапа проектирования
и этапа пост-архитектуры. Анализ
чувствительности программного проекта
с применением СОСОМО –II. Инструментальные
средства для разработки программного
обеспечения (2 часа). Инструментальные
средства для разработки программного
обеспечения: управление проектом,
моделирование систем, управление
версиями, интегрированные среды
разработки. Их возможности и область
применения. Проектные документы и
спецификации проекта: функциональная,
системная, проектная, архитектуры и
пользовательского интерфейса.
Автоматическая генерация документов. Унифицированный
процесс RUP (2 часа). Унифицированный
процесс RUP. Этапы и итерации. Вехи.
Управление рисками. Рабочие процессы,
их деятельности и модели. Определение
требований. Кандидаты в требования.
Контекст системы. Функциональные и
нефункциональные требования. Модели
прецедентов (требований) и предметной
области. Нахождение актеров и прецедентов.
Определение приоритетов и детализация
прецедентов. Создание прототипа
пользовательского интерфейса.
Структурирование модели прецедентов.
Модель анализа (пакеты, их зависимости
и состав, диаграммы коопераций анализа).
Анализ архитектуры, прецедентов, классов
и пакетов. Граничные, управляющие и
классы сущностей. Модель проектирования
(подсистемы всех уровней, их состав,
интерфейсы и зависимости, диаграмма
развертывания и активные классы, примеры
диаграмм взаимодействия подсистем).
Проектирование архитектуры, прецедентов,
классов и подсистем. Модели реализации
(компоненты, интерфейсы и подсистемы
реализации, стереотипы и зависимости
файлов). Реализация архитектуры,
подсистем, классов. Сборка системы.
Тестирование модулей. Цели, методы и
методики тестирования: модульного,
интеграционного, регрессионного и
системного. Трассировка между элементами
моделей различных рабочих процессов. Лабораторные
работы по модулю 1 (18 часов). Инструментальные
средства управления проектом и совместной
разработкой. Оценка чувствительности
программного проекта к изменению его
характеристик. График задач и выполнение
распределения ресурсов. (6 часов) Инструментальные
средства управления версиями и
составления проектной документации.
(6 часов). Сбор
и анализ требований при разработке ПО.
Построение модели требований и модели
анализа в инструментальной среде. (6
часов). Самостоятельная
работа по модулю 1 (11 часов). Проработка
учебного материала лекций (2 часа). Подготовка
к лабораторным работам и написание
отчета (6 часов). Подготовка
к рубежному контролю (3 часа).
Модуль
2 – Разработка
программного обеспечения с применением
CASE-средств и шаблонов проектирования
(24 часа). Лекции
по модулю 2 (9 часов). Проектирование
программных систем (2 часа).
Предварительное
и детальное проектирование. Проектирование
пользовательского интерфейса.
Структурирование системы. Модели
архитектуры: хранилище данных,
клиент-сервер, трехуровневая модель,
многоуровневая модель, каналы и фильтры,
компонентная модель и каркасы. Модели
управления: вызов-возврат, менеджер,
широковещательная модель, модель с
прерываниями. Интерфейсы взаимодействия
на основе: API, иерархии классов, форматов
данных, компонентных технологий.
Декомпозиция подсистем на модули.
Оптимальное разбиение. Типы связности
модуля: функциональная, информационная,
коммуникативная, процедурная, временная,
логическая и объектная связность,
связность по совпадению. Типы сцепление
модулей: по данным, по образцу, по
управлению, по внешним ссылкам, по общей
области, по содержанию. Оценка качества
проекта. Сложность модуля: объем, длина,
цикломатическая сложность. Сложность
программной системы. Иерархическая
структура. Метрики высоты, ширины,
невязки. Коэффициенты объединения по
входу и по выходу. Оценка сложности
системы. Метрики объектно-ориентированных
систем: Чидамбера и Кемерера, Лоренца
и Кидда, Абреу. Разработка
структурного проекта (2 часа). Выделение
уровней. Управление зависимостями.
Устранение циклической зависимости.
Зависимости наследования, уровней,
методов. Зависимости реализации и
интерфейсов. Использование интерфейсов
для устранения циклических зависимостей.
Синхронные и асинхронные сообщения.
Организация подписки. Знакомства и
пакет знакомств. Структурные шаблоны:
MVC, PCMEF и PCMEF+. Подсистемы шаблонов, их
назначение и схема взаимодействия. Шаблоны
и паттерны проектирования (3 часа). Назначение
и принцип описания. Параметры. Паттерны
для реализации бизнес-логики: сценарий
транзакций, модель предметной области,
модуль таблицы, слой служб. Паттерны
для работы с базой данных: шлюз таблицы,
шлюз записи, активная запись, медиатор
(посредник). Вспомогательные паттерны.
Паттерны GoF: структурные, порождающие
и поведенческие, паттерны классов и
объектов. Паттерны пользовательского
интерфейса: наблюдатель, абстрактная
фабрика, фасад, цепочка обязанностей,
посредник, декоратор и команда. Диаграммы
классов и последовательностей для
паттернов GoF. Паттерны реализации
программного проекта. Тестирование
программного обеспечения (2 часа). Назначение
и цели. Возможности. Тестовый вариант.
Критерии разработки и оценки качества.
Виды тестирования: модульное,
интеграционное, регрессионное и
системное. Виды системного тестирования.
Драйверы и заглушки. Функциональное и
структурное тестирование. Особенности
и возможности. Тестирование базового
пути. Тестирование условий. Тестирование
ветвей и операторов отношений. Тестирование
данных. Тестирование циклов. Разбиение
по эквивалентности. Анализ граничных
значений. Лабораторные
работы по модулю 2 (15 часов). Построение
моделей проектирования и реализации
в инструментальной среде. Применение
шаблонов проектирования при разработке
ПО. Прямое и обратное проектирование.
Автоматическая генерация кода. (8
часов). Инструментальные
средства для тестирования и оценки
качества ПО на основе метрик. Автоматизация
тестирования. Расчет метрик. (7 часов) Создание
базы данных NoSQL и приложения для работы
с ней. (8 часов) Создание
приложения для работы с постреляционной
базой данных. Использование LINQ и
проекции классов. (8 часов). Самостоятельная
работа по модулю 2 (10 часов). Проработка
учебного материала лекций (2 часа). Подготовка
к лабораторным работам и написание
отчета (4 часа). Выполнение
домашнего задания (4 часа).
Контрольные мероприятия
По дисциплине предусмотрены 8 лабораторных работ:
Пароль для просмотра учебника - номера этаже, на которых располагается наша кафедра.