- •Алгоритмические основы программной инженерии
- •1 Семестр вопросы и ответы
- •1 Вопрос. Кризисная история развития программного обеспечения: необходимость повторного использования кода, рост сложности по, модификация по.
- •Необходимость повторного использования кода
- •Функциональное программирование. Достоинства и недостатки
- •2 Вопрос. Этапы разработки программного обеспечения. Состав технического задания.
- •Модели процесса разработки программного обеспечения
- •Каскадная модель
- •Итеративная модель rup
- •Гибкий цикл agile
- •Итеративная модель xp
- •Спиральная модель
- •3 Вопрос. Проектирование и алгоритмизация программы. Свойства алгоритма.
- •4 Вопрос. Понятие и определение сложности алгоритма.
- •5 Вопрос. Кодирование, тестирование и отладка программы.
- •Концепция xp: программирование в паре.
- •Тестирование и отладка.
- •6 Вопрос. Доработка и сопровождение программного продукта.
- •7 Вопрос. Модели жизненного цикла по. Экстремальное программирование (xp).
- •Концепция xp
- •11. Взаимодействие с заказчиком.
- •Если требования проекта могут быть сформулированы достаточно исчерпывающим образом, то имеет смысл прибегать к более надежной стратегии разработки.
- •8 Вопрос. Унифицированная концепция (rup) разработки по: фазы, операции. Определение требований в uml-формате.
- •9 Вопрос. Унифицированная концепция (rup) разработки по: анализ и проектирование. Понятие класса, типы и примеры классов, uml-диаграммы.
- •Стратегия rup Rational Unified Process
- •1. Определение требований.
- •3. Реализация.
- •Ниже представлена самостоятельная работа — пример реализации диаграммы компонентов
- •4. Внедрение.
- •Ниже представлена самостоятельная работа — пример реализации диаграммы развертывания
- •10 Вопрос. Состав и функционал системного программного обеспечения.
- •Операционная система (ос)
- •Система управления файлами (суф)
- •Интерфейсная оболочка для взаимодействия пользователя с ос и операционными средами
- •Системы программирования
- •Трансляторы
- •Утилиты
- •11 Вопрос. Классификация языков программирования.
- •Не существует общепринятой систематичной таксономии языков программирования. Поколения языков
- •Функциональная классификация языков программирования
- •12 Вопрос. Определение ядра операционной системы.
- •13 Вопрос. Классификация операционных систем по функциональности.
- •Системы пакетной обработки
- •Системы разделения времени
- •Системы реального времени
- •14 Вопрос. Определение задачи. Преимущества и недостатки процессов и потоков.
- •15 Вопрос. Свойства задач.
- •16 Вопрос. Механизмы диспетчеризации (планирования) задач.
3. Реализация.
С созданными классами соотносятся компоненты реализации программного продукта на диаграмме компонентов (Component Diagram).
Ниже представлена самостоятельная работа — пример реализации диаграммы компонентов
4. Внедрение.
На диаграмме развертывания (Deployment Diagram) обозначаются физические устройства (серверы, клиент-машины), которые необходимы для работы ПО, а также процессы, выполняемые на этих устройствах.
Ниже представлена самостоятельная работа — пример реализации диаграммы развертывания
На диаграмме указана зависимость компонента реализации диалога "dialog.exe" на удаленном терминале от интерфейса IAuthorise, реализованного компонентом "main.exe", который, в свою очередь, развернут на анонимном узле-экземпляре "Сервер банка". Последний зависит от компонента базы данных "Клиенты банка", который развернут на этом же узле. Примечание указывает на необходимость использования защищенной линии связи для обмена данными в данной системе.
——————————————————————————
10 Вопрос. Состав и функционал системного программного обеспечения.
——————————————————————————
СПО — комплекс программ, которые обеспечивают взаимодействие пользовательских приложений с аппаратурой и эффективное управление этой аппаратурой, к которой относится процессор, оперативная память, устройство ввода-вывода, сетевое оборудование и т. д.
В состав СПО входят 6 базовых компонентов:
1. Операционная система.
2. Система управления файлами («СУФ», File Control System).
3. Интерфейсная оболочка для взаимодействия пользователя с ОС и операционными средами.
4. Системы программирования.
5. Утилиты.
6. Системы управления базами данных (СУБД).
Операционная система (ос)
Операционная система — комплекс управляющих и обрабатывающих программ, который, с одной стороны, выступает как интерфейс между пользовательскими приложениями и аппаратурой, а с другой стороны — предназначен для наиболее эффективного использования ресурсов вычислительной системы и организации надежных вычислений. ОС выполняет следующие основные функции:
1. Обеспечение работы пользовательских программ и систем программирования.
2. Прием и обработка пользовательских команд.
3. Прием и исполнение запросов на запуск, приостановку и завершение программ.
4. Загрузка программ, подлежащих исполнению, в оперативную память.
5. Передача управления программе и выполнение программных процессов.
6. Идентификация всех программ и данных.
7. Обеспечение работы СУФ и СУБД.
8. Управление операциями ввода-вывода.
9. Распределение памяти.
10. Диспетчеризация задач.
11. Поддержка механизмов обмена данными между исполняемыми программами.
12. Защита памяти, в том числе для защиты системы от Арсения и любого другого пользователя, а также одного приложения от другого.
Система управления файлами (суф)
СУФ — (1) система организации данных в виде файлов; (2) часть операционной системы, назначение которой в том, чтобы организовать эффективную работу с данными, хранящимися во внешней памяти, и обеспечить пользователю удобный интерфейс при работе с этими данными.
Диск — набор кластеров (с точки зрения ОС).
Каталог является файлом, содержащим список файлов в данном каталоге.
Драйверы файловой системы отслеживают какие из кластеров в настоящее время используются, какие свободны, а какие помечены как неисправны.
Вместе с тем, файловая система не обязательно напрямую связана с физическим носителем информации. Существуют виртуальные и сетевые файловые системы, которые являются всего лишь способом доступа к файлам, находящимся на удаленном компьютере.