дипломы,диссертации,курсовые,контрольные,рефераты,отчеты на заказ

Объектно-ориентированное программирование
Лаборатория инструментальных систем моделирования и обучения
Томск-2000

Указаны только правильные ответы, другие варианты можно узнать скачав файл из архива → Об_ор_пр.АСУ.

 
дипломы,курсовые,рефераты,контрольные,диссертации,отчеты на заказ

№ 1
Цикл жизни, требования к программным продуктам. Цикл (цикл жизни) разработки программного обеспечения делится на 6 частей, которые приведены ниже вместе с временными затратами на реализацию каждого из этапов цикла:

1) анализ требований, предъявляемых к системе- 10%
2) определение спецификаций- 15%
3) проектирование- 20%
4) кодирование- 20%
5) тестирование- 20%
6) эксплуатация и сопровождение- 25%.

№ 2
Парадигмы программирования:

1) визуальное,
2) процедурное,
3) логическое,
4) параллельное,
5) программирование потоков данных,
6) программирование реального времени,
7) др.

№ 3
Определение объектно-ориентированного подхода:
• ОБЪЕКТНО-ОРИЕНТИРОВАННОЕ ПРОГРАММИРОВАНИЕ - это способ программирования, обеспечивающий модульность программ за счет разделения памяти на области, содержащие данные и процедуры. Области могут использоваться в качестве образцов, с которых по требованию могут делаться копии.

№ 4
Вопросы при создании программного продукта:

1) Общая характеристика программы,
2) Функции системы,
3) Сфера применения,
4) Сбор, корректировка и проверка данных,
5) Отчет,
6) Вычислительная среда,
7) Технические средства,
8) Программные средства,
9) Связь с внешней средой,
10) Режимы работы,
11) Вход системы,
12) Выход системы,
13) Управляющие параметры,
14) Рабочие инструкции,
15) Соблюдение стандартов и общепринятых обозначений,
16) Универсальность программы,
17) Надежность функционирования,
18) Защита информации,
19) Документация,
20) Спецификация программы и подпрограмм,
21) Организация данных.

№ 5
Инкапсуляция:
• (Incapsulation) - объединение в типе данных объект полей данных и методов (процедур и функций ), работающих с этими данными.

№ 6
Наследование:
• (Inheritauce) - процесс получения данных и методов от объекта-предка. Возможно многоуровневое наследование.

№ 7
Полиморфизм:
• (Polimorphism) - возможность использования методов с одинаковыми именами для работы с различными типами данных.

№ 8
РАННЕЕ СВЯЗЫВАНИЕ:
• (Early binding) - ситуация, при которой адрес вызываемого метода известен в момент компиляции/компоновки.

№ 10
КОНСТРУКТОР (Constructor):
• - специальная процедура, инициализирующая экземпляр объекта, содержащий виртуальные методы, путем установки связи между экземпляром объекта и таблицей виртуальных методов.

№ 11
МЕТОД (Method):
• - процедура или функция, определенная внутри объекта для работы с данными объекта. Методу доступны данные объекта без явной передачи их в качестве параметров. Возможно наследование методов. Методы могут быть статическими и виртуальными. Для виртуальных объектов существуют два специальных метода - конструктор и деструктор.

№ 12
НАСЛЕДОВАНИЕ. МНОЖЕСТВЕННОЕ НАСЛЕДОВАНИЕ:
• (Inheritauce) - процесс получения данных и методов от объекта-предка. Возможно многоуровневое наследование.
(Multiple inheritauce) - наличие у объекта нескольких родителей.

№ 13
ОБЪЕКТ (Object):
• - тип данных ОБЪЕКТ. Совокупность данных и процедур - операций над этими данными (называемых методами). Дополнительно объекты могут наследовать методы и данные объектов- предков. Термин ОБЬЕКТ является синонимом термина класс.

№ 14
ОБЪЕКТЫ - КОНТЕЙНЕРЫ (Container object):
• - объекты, способные хранить в себе другие объекты. Например, стек, очередь, дерево, динамический массив, хэш- таблица и другие подобные структуры.

№ 15
ПРАВИЛА ДОСТУПНОСТИ ЧЛЕНОВ КЛАССА В С++:
• В С++ существует три служебных слова, определяющих доступ членов класса. Первое из них, это PUBLIC. После этого слова двоеточие означает, что все нижеследующие члены класса будут считаться общедоступными, пока не встретиться другое описание доступности. Другое слово PROTECTED - определяет, что члены класса доступны только дружественным функциям и классам, а также классам- наследникам данного класса. Слово PRIVATE ограничивает круг “посвященных” только дружественными функциями и классами. Дружественные функции и классы - это функции и классы, упомянутые внутри описания класса с описателем FRIEND. Это слово ставиться самым первым в описании такой функции или класса.

№ 16
ВИРТУАЛЬНЫЙ МЕТОД:
• - это метод, который, будучи описан в потомках, замещает собой соответствующий метод везде, даже в методах, описанных для предка, если они вызываются для потомка.

№ 17
Объектно-ориентированная разработка программных продуктов.
• Объектно-ориентированная разработка программного обеспечения связана с применением объектно-ориентированных моделей при разработке программных систем и их компонентов. Говоря об объектно-ориентированной разработке, надо иметь в виду:
1) oбъектно-ориентированные методологии (технологии) разработки программных систем;
2) инструментальные средства, поддерживающие эти технологии.

№ 18
ТАБЛИЦА ВИРТУАЛЬНЫХ МЕТОДОВ (Virtual method table):
• - таблица, хранимая в сегменте данных. Эта таблица создается для каждого объекта, имеющего виртуальные методы. В этой таблице хранятся адреса описанных в объекте виртуальных методов.

№ 19
Объектная модель системы:
• При объектно-ориентированном подходе анализ требований к системе сводится к разработке моделей этой системы. Моделью системы (или какого-либо другого объекта или явления) мы называем формальное описание системы, в котором выделены основные объекты, составляющие систему, и отношения между этими объектами. Построение моделей - широко распространенный способ изучения сложных объектов и явлений. В модели опущены многочисленные детали, усложняющие понимание. Моделирование широко распространено и в науке, и в технике.

№ 20
УКАЗАТЕЛЬ:
• (pointer) на объект обеспечивает косвенный способ доступа к объектам. Определив набор классов и операций, мы можем понять, что конкретно делает данная программа.

№ 21
ДЕСТРУКТОР:
• (destructor) - специальная процедура для освобождения памяти, занятой объектом. Если по завершении работы с объектом (перед его удалением из памяти) необходимо выполнение каких - либо специальных действий, они должны быть выполнены внутри деструктора.

№ 22
Атрибуты зависимостей:
• Между объектами можно устанавливать зависимости по данным. Эти зависимости выражают связи или отношения между классами указанных объектов.

№ 24
Агрегация:
• - это зависимость между классом составных объектов и классами, представляющими компоненты этих объектов (отношение 'целое'-'часть').

№ 25
ПЕРЕОПРЕДЕЛЕНИЕ:
• (Override) - процесс создания у объекта-потомка новых методов с теми же именами, что и у объекта-предка, но с новыми функциями, это делает возможным расширение объектов.

№ 26
ПЕРЕДАЧА СООБЩЕНИЯ (Message passing):
• - вызов метода для конкретного экземпляра объекта. Отличие сообщения от метода в том, что одно и то же сообщение может вызывать разные методы.

№ 27
РАСШИРЯЕМОСТЬ ( Extendibility):
• - благодаря свойству наследования, объекты могут быть расширены новыми функциями и/или полями данных. Новый метод изменяет или расширяет функции унаследованного метода и заменяет его в объекте-потомке. Возможно так же добавление ряда новых методов к уже существующим.

№ 28
ССЫЛКА:
• - это переменная, задаваемая указателем. Ссылка во всем себя ведет так же, как и функцией того же типа, но при этом надо помнить, что на самом деле она совпадает с другой функцией, адрес которой указывается при объявлении ссылки.

№ 29
КЛАСС И СТРУКТУРА:
• Ближайшим родственником класса является структура. Если структуру наделить механизмом наследования, то она станет классом. Механизм наследования позволяет вновь создаваемым классам данных наследовать свойства уже существующих классов. Именно способность передавать и получать свои свойства по наследству отличает класс от структуры. Синтаксически класс описывается также как и структура: сначала идет ключевое слово class, затем имя класса, затем, в фигурных скобках, члены класса - данные или функции. Все, что сказано о структурах, справедливо и для классов.

№ 30
ДОСТУПНОСТЬ ЧЛЕНОВ КЛАССА:
• При описании класса можно определять доступность членов класса для 'чужих' функций. Вообще, в ООП считается хорошим тоном задавать все данные и служебные методы описываемого класса для доступа 'извне'.

№ 31
ПРОЦЕДУРНАЯ ТЕХНОЛОГИЯ ПРОГРАМИРОВАНИЯ:
• В истинно процедурных программах их выполнение происходит от одной строки до другой с вызовами подпрограмм и выполнением условных переходов. Вы можете писать такую программу, создавая необходимые подпрограммы и вызывая их в необходимой последовательности.

№ 32
СОБЫТИЙНО-УПРАВЛЯЕМАЯ ТЕХНОЛОГИЯ ПРОГРАММИРОВАНИЯ:
• В событийно-управляемой программе, нет строгой последовательности в выполнении кода, хотя написание кода структурировано. Телом такой программы является цикл наблюдения за входными действиями, такими как нажатие кнопок на клавиатуре или щелчок кнопкой мыши. Когда одно из таких действий происходит, программа переводит его во внутренний код события, после чего программа либо реагирует на событие и удаляет его из системы, либо передает его другому объекту. Это продолжается до тех пор, пока событие не обработано полностью или пока очередь сообщений, порожденных этим событием, не опустеет.

№ 33
МОДУЛЬНОСТЬ:
• Объектно-ориентированные программы с модульным характером обладают высокой надежностью. Модульность также помогает при управлении обработкой ошибок. Хорошо спроектированные объекты очень слабо связаны с другими объектами; они соединяются друг с другом только тогда, когда это абсолютно необходимо.

№ 34
ПАРАМЕТР SELF:
• Кроме явных параметров в PASCAL, указанных в определении метода, каждый метод также имеет неявный параметр Self. Этот параметр соответствует непосредственно экземпляру объекта, из которого метод вызывался, и все поля данных этого экземпляра доступны через параметр Self.

№ 35
Объектно-ориентированная разработка программ:
• Объектно-ориентированная разработка может начаться на самом первом этапе жизненного цикла; она не связана с языком программирования, на котором предполагается реализовать разрабатываемую программную систему: этот язык может и не быть объектно-ориентированным.

№ 36
Технология программирования ОМТ:
• В технологии OMT проектируемая программная система представляется в виде трех взаимосвязанных моделей:
1) o объектной модели, которая представляет статические, структурные аспекты системы, в основном связанные с данными;
2) o динамической модели, которая описывает работу отдельных частей системы;
3) o функциональной модели, в которой рассматривается взаимодействие отдельных частей системы (как по данным, так и по управлению) в процессе ее работы.

№ 37
Методология программирования SA/SD:
• SA/SD (Structured Analysis/Structured Design) содержит несколько вариантов систем обозначений для формальной спецификации программных систем. На этапе анализа требований и предварительного проектирования для логического описания проектируемой системы используются спецификации (формальные описания) процессов, словарь данных, диаграммы потоков данных, диаграммы состояний и диаграммы зависимостей объектов.

№ 38
Методология программирования JSD:
• В методологии JSD не делается различий между этапом анализа требований к системе и этапом ее разработки; оба этапа объединяются в один общий этап разработки спецификаций проектируемой системы. На этом этапе решается вопрос 'что должно быть сделано'; вопрос 'как это должно быть сделано' решается на следующем этапе - этапе реализации системы.

№ 39
Методология программирования OSA:
• OSA (Object-Oriented System Analysis) обеспечивает объектно-ориентированный анализ программных систем и не содержит возможностей, связанных с поддержкой этапа разработки.

№ 40
Методология программирования OMT:
• OMT (Object Modeling Technique), поддерживает две первые стадии разработки программных систем. Первая фаза жизненного цикла - анализ требований и предварительное проектирование системы и Вторая - Объектно-ориентированное моделирование.

№ 41
Объектно-ориентированные модели:
• О-О Модели помогают:
1) o проверить работоспособность разрабатываемой системы на ранних этапах ее разработки;
2) o общаться с заказчиком системы, уточняя его требования к системе;
3) o вносить (в случае необходимости) изменения в проект системы (как в начале ее проектирования, так и на других фазах ее жизненного цикла).

№ 42
АТРИБУТЫ ОБЪЕКТОВ:
• Среди атрибутов различаются постоянные атрибуты (константы) и переменные атрибуты. Постоянные атрибуты характеризуют объект в его классе. Текущие значения переменных атрибутов характеризуют текущее состояние объекта; изменяя значения этих атрибутов, мы изменяем состояние объекта.

№ 43
ПОНЯТИЕ РОЛИ:
• Роль определяет одну сторону зависимости. В бинарной зависимости определены две роли. Имя роли однозначно определяет одну сторону зависимости. Роли дают возможность рассматривать бинарную зависимость как связь между объектом и множеством зависимых объектов: каждая роль является обозначением объекта или множества объектов, связанных зависимостью с объектом на другом конце зависимости.

№ 44
АГРЕГАЦИЯ:
• - это зависимость между классом составных объектов и классами, представляющими компоненты этих объектов (отношение 'целое'-'часть'). Наиболее важным свойством отношения агрегации является его транзитивность.

№ 45
ПЕРЕОПРЕДЕЛЕНИЕ:
• может преследовать одну из следующих целей:
1) расширение: новая операция расширяет унаследованную операцию, учитывая влияние атрибутов подкласса;
2) ограничение: новая операция ограничивается выполнением лишь части действий унаследованной операции, используя специфику объектов подкласса;
3) оптимизация: использование специфики объектов подкласса позволяет упростить и ускорить соответствующий метод;
4) удобство.


на главную база по специальностям база по дисциплинам статьи