logo
Проектирование / План лекций

Темы лекций

  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-свойства. Уровни изоляции. Способы и уровни блокировки. Модели транзакций. Схемы управления параллелизмом. Параллелизм в бизнес-транзакциях. Паттерны автономного параллелизма.

  13. Бизнес-компоненты.

  14. Метрики объектно-ориентированных программных систем. Локализация. Инкапсуляция. Информационная закрытость. Наследование . Абстракция. Классические метрики сложности. Меры связи для программных систем. Связность объектов. Метрики связности по данным. Метрики связности по методам. Сцепление объектов. Зависимость изменения между классами. Локальность данных. Набор метрик Чидамбера и Кемерера. Метрики Лоренца и Кидда. Набор метрик Фернандо Абреу.