Добавил:
СПбГУТ * ИКСС * Программная инженерия Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

АОПИ. Вопросы к экзамену

.txt
Скачиваний:
21
Добавлен:
31.05.2021
Размер:
7.81 Кб
Скачать
АОПИ. Вопросы к экзамену:
1. Этапы разработки ПО. Состав ТЗ. Модели разработки ПО
2. Алгоритм и его свойства. Определение сложности алгоритма.
3. Экстремальная (XP) разработка ПО.
4. Унифицированная разработка (RUP) ПО. UML-диаграммы.
5. Состав системного программного обеспечения.
6. Определение ядра операционной системы.
7. Разновидности и свойства задач.
8. Диспетчеризация (планирование) задач.
9. Ядро ОС и системные вызовы. Создание процессов и потоков.
10. Синхронизация задач с использованием функций ожидания.
11. Синхронизация задач с помощью объектов ядра "события".
12. Классификация языков программирования.
13. Компиляция.
14. Типы алгоритмов.
15. Оценка сложности по циклам. Профилирование.
16. Работа с виртуальной памятью в системе Windows. Определение ресурсоемкости.
17. Разрешимость алгоритма. Описание алгоритма с помощью детерминированной машины Тьюринга.
18. Недетерминированные машины Тьюринга.
19. Формальное определение сложности и классов сложности на машинах Тьюринга.

Первый вопрос: надо описать все этапы разработки ПО, а именно постановку задачи, разработку ИЗ (описав состав ТЗ), алгоритмизацию (дать определение алгоритма и больше ничего про него не писать), кодирование, тестирование и отладку, эксплуатацию (два этапа).
Все про алгоритм надо рассказать во втором вопросе.
Опят дать определение, рассказать про его свойства, дать определение сложности, описать определение сложности по флопам, привести пример с пузырьковой сортировкой, рассказать про типы (мин, макс, средняя), рассказать про признаки типовых сложностей.
Вопросы 3-8 очевидны из лекций.
Когда будете рассказывать про диспетчеризацию, будьте готовы к переключению на свойства задач.
Ибо схемы диспетчеризации напрямую связаны с выбором задач по дескрипторам, а также с переключением контекста.
Я про это много раз писал в лекциях.
В вопросе 12 надо обязательно привести примеры кода расчета факториала на трех языках.
Все примеры есть в лекции.
В вопросе 14 после описания типов алгоритмов не забыть про признаки целесообразности рекурсии. Четыре признака.
Вопрос 9 включает в себя весь материал по ядру и системным вызовам, в том числе функций CreateProcess и CreateThread.
С кучей красивых картинок.

Теперь по UML-диаграммам.
Диаграмма сценариев использования: на ней надо отразить, какие функции видны пользователю и в каком порядке они вызываются.
Вначале надо указать функцию, которая вызывается пользователем в первую очередь.
Поскольку данные считываются из файла, можно нарисовать человека и провести от ассоциативную связь до функции "Чтение входных данных".
Функция оформляется как сценарий (ее название записывается в овале).
К этой можно связь включения присоединить функцию "Проверка входных данных". К сценарию "Проверка входных данных" связью расширения можно присоединить функцию выдачи сообщений об ошибках.
Далее опять же ассоциативной связью связать функцию "Чтение входных данных" со следующей функцией, например "Сортировка ..." (указать метод сортировки). Ну и далее той же связью перейти ко второму методу. Ну и так далее.
Это один из вариантов для понимания смысла связей.
Диаграмма последовательности действий отображает все действия, часть которых может быть скрыта от пользователя, и последовательность этих действий по времени (чем ниже действие, тем позднее выполняется).
На этой диаграмме программное обеспечение должно быть разбито на отдельные модули.
Разбиение на потоки как раз и выполняется и для создания модульной структуры.
Модули - это прямоугольники с названиями "Сортировка", "Интерполяция"...
Надо ввести отдельный модуль, который считывает входные данные, проверяет их. Назвать его надо как отдельную функцию.
Ну и последняя диаграмма - диаграмма классов.
На ней отражаются потоки, каждый из которых считаем классом. Изображается прямоугольником, в верхней части - название класса (потока), в средней части - атрибуты (входные, выходные, промежуточные параметры потока), в нижней части - функции, которые выполняются в составе потока.
На этом всё.

Экзамен можно сдавать в любой момент после сдачи последней лабораторной работы.
Листы бумаги, ручка, съестные припасы. Никакого списывания, выгоняю сразу.
Не надо бояться, надо сдавать, чем раньше, тем лучше. Вообще ничего не теряете, ставлю только последнюю заработанную вами оценку. Оценку нельзя ухудшить, можно только улучшить.