Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
exam2012.doc
Скачиваний:
19
Добавлен:
20.09.2019
Размер:
70.66 Кб
Скачать

Экзамен по курсу Технологии проектирования 2012 г.

Билет содержит два вопроса и упражнение.

По каждому вопросу необходимо написать теорию и привести примеры для конкретной темы (тема выдается отдельно).

Темы вопросов:

Методологии и стратегии разработки ПО и модели жизненного цикла:

  • каскадная модель,

  • спиральная модель,

  • инкрементная модель,

  • макетирование,

  • модель быстрой разработки RAD,

  • экстремальное программирование (XP-процесс),

  • компонентно-ориентированная модель,

  • тяжеловесные (прогнозирующие) процессы разработки,

  • адаптивные (облегченные, agile) процессы разработки,

  • модель, управляемая архитектурой (MDA),

  • унифицированный процесс (RUP).

Перечень, последовательность и содержимое этапов разработки по методологиям.

Руководство программным проектом. Меры и метрики. Планирование проекта.

Анализ и управление рисками. Планирование проектных задач. Распределение работ.

Структурная декомпозиция работ. Диаграммы Ганта, сетевой график, метод критического пути.

Трассировка и контроль. Вехи. Оценка границ времени выполнения. Типы связей задач.

Рекуррентные и суммарные задачи. Календари ресурсов. Связи задач по ресурсам.

Планирование, определяемое трудозатратами. Распределение ресурсов.

Оценка бюджета проекта:

  • экспертная,

  • по аналогии,

  • алгоритмическая,

  • на основе графика выполнения.

Отслеживание выполнения проекта. Отслеживание графика выполнения и бюджета.

Оценка затрат на разработку. Точность оценки.

Оценка затрат, длительности и стоимости разработки. Метрический базис.

Оценка размера проекта на основе LOC, FP или OP.

Размерно-ориентированные и функционально-ориентированные метрики.

Вычисление затрат, длительности и стоимости разработки на основе моделей СОСОМО -81,

СОСОМО –II. Модели композиции приложения, раннего этапа проектирования и этапа пост-архитектуры. Анализ чувствительности программного проекта с применением СОСОМО –II.

Унифицированный процесс RUP. Этапы и итерации. Вехи. Управление рисками.

Рабочие процессы, их деятельности и модели:

  • Определение требований. Кандидаты в требования. Контекст системы. Функциональные и нефункциональные требования. Модели прецедентов (требований) и предметной области. Нахождение актеров и прецедентов. Определение приоритетов и детализация прецедентов. Создание прототипа пользовательского интерфейса. Структурирование модели прецедентов.

  • Анализ. Модель анализа (пакеты, их зависимости и состав, диаграммы коопераций анализа). Анализ архитектуры, прецедентов, классов и пакетов. Граничные, управляющие и классы сущностей.

  • Проектирование. Модель проектирования (подсистемы всех уровней, их состав, интерфейсы и зависимости, диаграмма развертывания и активные классы, примеры диаграмм взаимодействия подсистем). Проектирование архитектуры, прецедентов, классов и подсистем.

  • Реализация. Модели реализации (компоненты, интерфейсы и подсистемы реализации, стереотипы и зависимости файлов). Реализация архитектуры, подсистем, классов. Сборка системы. Тестирование модулей.

  • Тестирование. Цели, методы и методики тестирования: модульного, интеграционного, регрессионного и системного.

Трассировка между элементами моделей различных рабочих процессов.

Оценка качества проекта на основе объектно-ориентированых метрик.

Определение архитектурно-значимых прецедентов. Модель прецедентов, модель анализа (пакеты, классы и кооперации), модель проектирования (диаграммы развертывания, подсистемы, их интерфейсы и активные классы) и модель реализации (подсистемы и компоненты). Трассировка между элементами моделей.

Проектирование программных систем. Переход от моделей анализа к моделям проектирования.

Предварительное и детальное проектирование. Проектирование GUI.

Структурирование системы. Модели архитектуры:

  • хранилище данных,

  • клиент-сервер,

  • трехуровневая модель,

  • многоуровневая модель,

  • каналы и фильтры,

  • компонентная,

  • каркасы.

Модели управления:

  • вызов-возврат,

  • менеджер,

  • широковещательная,

  • с прерываниями.

Интерфейсы взаимодействия на основе:

  • API,

  • иерархии классов,

  • форматов данных,

  • компонентных технологий.

Декомпозиция подсистем на модули. Модуль и модульность. Оптимальное разбиение.

Связность модуля:

  • функциональная,

  • информационная,

  • коммуникативная,

  • процедурная,

  • временная,

  • логическая,

  • по совпадению,

  • объектная.

Сцепление модулей:

  • по данным,

  • по образцу,

  • по управлению,

  • по внешним ссылкам,

  • по общей области,

  • по содержанию.

Сложность модуля: объем, длина, цикломатическая сложность.

Сложность программной системы. Иерархическая структура. Метрики высоты, ширины, невязки. Коэффициенты объединения по входу и по выходу. Оценка сложности системы.

Структурный проект. Состав. Процесс построения. Выделение уровней.

Управление зависимостями. Устранение циклической зависимости. Зависимости наследования, уровней, методов. Делегирование. Зависимости реализации и интерфейсов.

Интерфейсы предоставляемые и требуемые. Использование интерфейсов для устранения циклических зависимостей.

Синхронные и асинхронные сообщения. Организация подписки. Знакомства. Пакет знакомств.

Структурные шаблоны:

  • MVC,

  • PCMEF,

  • PCMEF+.

Подсистемы шаблонов, их назначение и схема взаимодействия. Требования и особенности.

Использование в шаблонах паттернов проектирования: наблюдатель, компоновщик, команда и стратегия, фабричный метод. Делегирование и знакомство. Диаграммы классов и последовательностей.

Проектирование пользовательского интерфейса. Применение паттернов: наблюдатель, абстрактная фабрика, фасад, цепочка обязанностей, посредник, декоратор и команда. Диаграммы классов и последовательностей.

Паттерны для реализации бизнес-логики (Диаграммы классов и последовательностей):

  • сценарий транзакций,

  • модель предметной области,

  • модуль таблицы,

  • слой служб.

Паттерны для работы с базой данных (Диаграммы классов и последовательностей):

  • шлюз таблицы,

  • шлюз записи,

  • активная запись,

  • медиатор (посредник).

Паттерны проектирования. Назначение и принцип описания. Параметры.

Паттерны GoF. Структурные, порождающие и поведенческие. Паттерны классов и объектов. Диаграммы классов и последовательностей для паттернов GoF.

Метрики объектно-ориентированных систем:

  • Чидамбера и Кемерера,

  • Лоренца и Кидда,

  • Абреу.

Тестирование ПО. Назначение и цели. Процесс. Возможности.

Тестовый вариант. Критерии разработки и оценки качества.

Функциональное и структурное тестирование. Особенности и возможности.

Тестирование базового пути. Тестирование условий.

Тестирование ветвей и операторов отношений.

Тестирование данных. Тестирование циклов.

Разбиение по эквивалентности. Анализ граничных значений.

Виды тестирования: модульное, интеграционное, регрессионное и системное. Виды системного тестирования.

Драйверы и заглушки.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]