Темы лекций

План

Проектирование ПО

семестр лекций практических занятий лабораторных работ контроль
экзамен

1. Место проектирования в процессе разработки ПО. Основные процессы жизненного цикла программных средств. Состав работ процесса разработки. Определение проектирования. Унифицированный процесс (UP) разработки ПО. Место дисциплины «Проектирование» в UP. Фазы и дисциплины UP. Итерационный и инкрементный характер разработки. ООА - Проектирование - Кодирование. Входные и выходные артефакты для этапа проектирования. Особенности процесса проектирования. Модель проектирования. Предварительное проектирование, детальное проектирование, проектирование пользовательского интерфейса. Стандарты. Задачи проектирования.

2. Особенности процесса проектирования. Предварительное проектирование. Структурирование системы. Моделирование управления. Декомпозиция подсистем на модули. Модульность. Информационная закрытость. Сложность программной системы. Связность модуля. Сцепление модулей.

3. Методы проектирования. UML. Шаблоны. CASE.Метод структурного проектирования. Метод объектно-ориентированного проектирования. UML. Диаграммы модели проектирования. Кооперации. Шаблоны. Паттерны. Шаблоны приложений. Инструментальные средства поддержки процесса проектирования программного обеспечения.

4. Архитектура приложений. Определение типа приложения. Мобильное приложение. Насыщенное клиентское приложение. Насыщенное Интернет-приложение. Сервис. Веб-приложение. Выбор стратегии развертывания. Выбор технологий. Выбор показателей качества. Решение о путях реализации сквозной функциональности. Архитектурные шаблоны и стили. Объектно-ориентированная парадигма. Компонентная архитектура. Проектирование на основе предметной области. Многослойная архитектура. Аспектно-ориентированное программирование. Архитектура клиент-сервер. N-уровневая / 3-уровневая архитектура. Сервисно-оринетрированная архитектура (SOA). Архитектура, остнованная на шине сообщений.

5. Структурный проект. Управление зависимостями. Архитектурный шаблон MVC. Архитектурный шаблон PCMEF. Структурные паттерны. Паттерны GoF. Фасад. Абстрактная фабрика. Цепочка обязанностей. Наблюдатель. Посредник.

6. Проектирование базы данных. Концептуальное, логическое и физическое моделирование данных. Объектно-реляционное отображение. PowerDesigner. Связь между моделями.

7. Проектирование классов и взаимодействия. Структурная разработка проекта классов. Взаимодействия. Диаграммы последовательности.

8. Структурный рефакторинг. Цели и методы рефакторинга (Класс извлечения, Метод подключения, Интерфейс извлечения). Паттерны рефакторинга (Коллекция идентичности объектов, Преобразователь данных, Загрузка по требованию, Единица работы).

9. Проектирование пользовательского интерфейса. Паттерны и пользовательский интерфейс (Наблюдатель, Декоратор , Цепочка обязанностей, Команда).

10. Проектирование пользовательского интерфейса на основе веб-технологии. Технологии для уровня Web-клиента и уровня Web-сервера. Транзакции Интернет-систем. Паттерны и Web-технология (Наблюдатель, Компоновщик, Фабричный метод, Стратегия, Декоратор, MVC, Контроллер запросов).

11. Безопасность и целостность. Авторизация. Ограничения целостности.

12. Транзакции и параллелизм. Параллелизм в системных транзакциях. ACID-свойства. Уровни изоляции. Способы и уровни блокировки. Модели транзакций. Схемы управления параллелизмом. Параллелизм в бизнес-транзакциях. Паттерны автономного параллелизма.