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

semi, 2010г

Перечень контрольных вопросов по дисциплине «Системное программирование»

  1. Понятие системного программного продукта.

Современные задачи и их сложность. Один разработчик не в состоянии охватить все аспекты такой программы. Простая программа и её назначение: пригодна для запуска автором и его знакомыми на той же системе, где была разработана.

Программа → программный продукт. Требования к программному продукту (ПП): обобщённый стиль, надёжность, документация, сопровождение.

Программа → программный комплекс. Требования к программному комплексу (ПК): набор взаимодействующих программ (компонент), согласование по функциям и по форматам данных, системное тестирование.

Системный программный продукт – комплекс взаимодействующих программ, надлежащим образом написанный, протестированный и задокументированный с обеспечением сопровождения в процессе его применения пользователями.

Системное программирование – процесс разработки сложных программных систем в целом или их отдельных компонент.

  1. Стадии разработки программного обеспечения.

Типичная ошибка: после получения задания немедленное написание кода. Правильно для маленькой программы и недопустимо для большой системы.

Этапы: постановка задачи, анализ требований и исследование проблемы, проектирование, написание и тестирование компонент, системное тестирование, документирование и сопровождение.

  1. Технология инкрементального программирования.

Программа наращивается путём пошаговой разработки.

Этап №1: заставить выполняться (пустая программа).

Этап №2: создание каркаса системы, реализующего схему работы системы на самом верхнем уровне. Используются функции-заглушки (фиктивные подпрограммы) и определяются необходимые переменные.

Этап №3,4,...: обрастание системы «мясом». Реализация заглушек, возможно с использованием других заглушек и дополнительных временных переменных. Последовательное добавление новой функциональности (наращивание каркаса).

  1. Понятие объекта: состояние, поведение, методы. Понятие класса и идентичность объектов.

Объекты это элементы проблемной области и их представление в области реализации. ООП описывает проблему в терминах самой проблемы, а не компьютера. Объект – нечто, обладающее состоянием, поведением и индивидуальностью. Объект может иметь имя.

Состояние объекта характеризуется перечнем (обычно статическим) всех свойств объекта и текущими (обычно динамическими) значениями каждого из этих свойств.

Поведение – это то, как объект действует и реагирует, поведение выражается в терминах состояния объекта и передачи сообщений.

Метод – функция, принадлежащая классу или объекту

Класс – разновидного абстрактного типа данных.

  1. Принципы объектной модели

Абстракция — это придание объекту характеристик, которые отличают его от всех других объектов, четко определяя его концептуальные границы. Это позволяет работать с объектами, не вдаваясь в особенности их реализации.

Инкапсуляция — это принцип, согласно которому любой класс должен рассматриваться как чёрный ящик — пользователь класса должен видеть и использовать только интерфейсную часть класса и не вникать в его внутреннюю реализацию. Поэтому данные принято инкапсулировать в классе таким образом, чтобы доступ к ним по чтению или записи осуществлялся не напрямую, а с помощью методов. Принцип инкапсуляции (теоретически) позволяет минимизировать число связей между классами и, соответственно, упростить независимую реализацию и модификацию классов.

Модульность — принцип, согласно которому программное средство (ПС, программа, библиотека, web-приложение и др.) разделяется на отдельные именованные сущности, называемые модулями. Модульность часто является средством упрощения задачи проектирования ПС и распределения процесса разработки ПС между группами разработчиков. При разбиении ПС на модули для каждого модуля указывается реализуемая им функциональность, а также связи с другими модулями.

Роль модулей могут играть структуры данных, библиотеки функций, классы, сервисы и др. программные единицы, реализующие некоторую функциональность и предоставляющие интерфейс к ней.

Иерархия:

Наследованием называется возможность порождать один класс от другого с сохранением всех свойств и методов класса-предка (прародителя, иногда его называют суперклассом) и добавляя, при необходимости, новые свойства и методы. Набор классов, связанных отношением наследования, называют иерархией. Наследование призвано отобразить такое свойство реального мира, как иерархичность.

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