1. Принципы создания компонент в визуальных средах разработки.
В настоящее время методы визуального компонентного проектирования находят очень широкое применение. Обусловлено это как значительным упрощением разработки программного обеспечения по сравнению с традиционным процедурным и объектно-ориентированным подходом, так и возможностью создавать функциональные завершенные, проблемно-ориентированные, многократно используемые компоненты и манипулировать ими в процессе проектирования. В данной главе будут рассмотрены возможности, которые открывает объектный подход для компонентной сборки программных систем в интегрированной среде Borland Delphi.
Создание компоненты начинается с формирования словаря задачи, т.е. выбора объектов предметной области, а также понятий и терминов, которыми они будут описываться, т.е. фактически всего того, с чем впоследствии придется работать. Результатом первого этапа является набор классов – абстракций предметной области, инкапсулирующих определенные черты и характеристики поведения реальных объектов. Чем выше уровень абстракции, тем для более широкого круга задач они могут быть применимы. Затем необходимо определить степень соседства созданных классов и с помощью обобщения сформировать иерархию классов наследования.
Эти две задачи относятся к невизуальным этапам проектирования. Для получения функционирующих программных объектов необходимо перейти от классов к их экземплярам. Внутреннее состояние объектов будет определяться изменением их атрибутов. Фактически в течение своей жизни объекты последовательно проходят через множество состояний, выполняя полезную для пользователя работу.
Благодаря принадлежности к одной иерархической системе, объекты полиморфны, и могут, в случае необходимости, подменять своих предков при выполнении тех или иных операций. Такие случаи мы уже рассматривали на примерах работы с иерархией классов наследования.
Собственно этим и заканчиваются возможности объектно-ориентированного подхода. Однако средства, предоставляемые интегрированной средой Borland Delphi, позволяют продвинуться значительные дальше – визуализировать классы и работать с объектами (называемыми теперь компонентами) в двух различных режимах – на этапе проектирования и на этапе исполнения. Для этого путем незначительной модификации созданных на первом этапе классов их можно зарегистрировать на палитре компонент.
3.1.1. Логическая организация и представление компонент
Откроем среду разработки Borland Delphi и посмотрим на доступные компоненты (рис. 3.1). Все компоненты логически сгруппированы по страницам. Например, на странице «Standard» расположены стандартные графические компоненты для создания элементов интерфейса пользователя, на странице «System» – общесистемные компоненты, на странице «Data Access» –компоненты доступа к базам данных. Для быстрого перехода с одной страницы палитры компонент на другую при большом их количестве откройте всплывающее меню на палитре с помощью неактивной клавише мыши и выберите нужную страницу.
Каждый компонент, находящийся на палитре компонент, по-прежнему является объектно-ориентированным классом. Однако для создания объектов данного класса нет необходимости в вызове конструкторов и инициализации полей данных. Среда разработки предоставляет чрезвычайно удобную возможность создания объектов путем простого перемещения выбранного компонента с палитры на форму проектирования.
В задачу инспектора объектов (Object Inspector) входит представление состояния выделенного на форме компонента. При переходе к другому компоненту содержимое инспектора автоматически обновляется. Такое поведение оказывается возможным благодаря механизму, предоставляющего информацию о типе времени выполнения (RTTI, Run-time Type Information). Информация RTTI обеспечивает предоставление сведений об объектах непосредственно во время их исполнения, а также необходима для обмена информацией между компонентами и графической средой разработки. Информацию о типе можно получить для любого исполняемого объекта. Она содержится в памяти и при необходимости может быть получена с помощью библиотеки времени выполнения (RTL, Run-time Library). Базовый класс TObject содержит методы для извлечения этой информации.
Все публикуемые свойства компонента (объявленные в разделе Published) доступны в инспекторе объектов для изменения на его первой вкладке «Properties». Второй составляющей любого класса являются его методы, т.е. действия, которые служат для изменения внутреннего состояния объектов. Конечно, доступ возможен только к методам, объявленным в разделе Public.
Компоненты обладают еще одной возможностью – способностью реагировать на внешние воздействия, например, системные события или действия пользователя. Для этого используются события компонент, которые также являются свойствами, но иного, процедурного типа данных. Для назначения событий компонент служит вторая вкладка «Events» инспектора объектов. На рис. 3.3 показаны обе странице инспектора объектов для компонента Button1.
При работе в режиме проектирования среда постоянно обеспечивает обратную связь с исходным текстом программы. При помещении компонент на форму, соответствующие объявления автоматически формируются в редакторе, и, наоборот, при удалении компонент эти объявления также удаляются.
- Билет 1.
- 1. Инкапсуляция, наследование, полиморфизм. Классы, объекты и отношения между ними. Диаграммы логического уровня.
- 2. Симметричные блочные криптоалгоритмы. Сеть Фейстеля.
- Билет 2
- 1. Объявление и реализация классов на языке Паскаль.
- 2. Интерфейс. Пользовательский интерфейс. Классификация пользовательских интерфейсов.
- Билет 3.
- 1. Графы. Основные определения. Машинное представление графов в последовательной памяти и связанной памяти.
- 2. Общая схема симметричной криптосистемы. Алгоритм построения цепочек.
- 3. Написать процедуру, которая выполняет вставку компоненты по заданному ключу.
- Билет 4.
- 1. Нормальный алгоритм Маркова.
- 2. Парадигмы интерфейсов.
- Билет 5.
- 1. Понятие процесса. Состояние процессов. Алгоритмы планирования процессов.
- 2. Общие сведения об ассиметричных криптоалгоритмах. Понятие электронной цифровой подписи.
- 3. Вычислить факториал числа 8.
- Билет 6.
- 1. Файловая системаFat.
- 2. Основные компоненты графических пользовательских интерфейсов.
- 3. Если элементы массивыD[1…5] равны соответственно 4, 1, 5, 3, 2, то значение выражениеD[d[3]]-d[d[5]] равно?
- Билет 7
- 1. Структуры распределенных вычислительных систем(топология, физические и логические элементы сетей эвм)
- 2. Встроенные средства контроля доступа в современных ос.
- 3. Указать к какому классу относится каждый из перечисленныхIPадресов:
- Билет 8
- 1.Трансляторы, компиляторы и интерпретаторы: определение, общая схема работы. Варианты взаимодействия блоков транслятора.
- 2. Эргономические требования, предъявляемые к дизайну пользовательских интерфейсов.
- 3. Указать к какому классу относится каждый из перечисленныхIPадресов:
- Билет 9
- 1. Сети Петри. Моделирование процессов на основе сетей Петри.
- 2. Нормализация таблиц при проектировании баз данных. Нормальные формы (1нф, 2нф, 3нф, нфбк).
- 3. Составить программу, которая формирует очередь, добавляя в неё произвольное количество компонент.
- Билет 10.
- 1. Понятие алгоритма. Интуитивное понятие алгоритма.
- 2. Функции субд.
- Билет 11.
- 1. Структура данных типа стек. Логическая структура стека. Машинное представление стека и реализация операций.
- 2. Принципы и виды отладки программного средства. Автономная отладка программного средства. Комплексная отладка программного средства.
- 3. Дан массив типаwordразмерностьюn. Найти сумму всех элементов, не превышающих заданногоm, далее вывести на экран.
- Билет 12.
- 1. Сети Петри. Моделирование процессов на основе сетей Петри.
- 2. Модели объектов проектирования .
- Билет 13.
- 1. Концепции информационного моделирования. Создание моделей на языкеUml.
- 2. Модели систем управления данными: сетевая, иерархическая, реляционная модель.
- Билет 14.
- 1. Принципы создания компонент в визуальных средах разработки.
- 2. Жизненный цикл программного обеспечения. Модели жизненного цикла по: каскадная, спиральная. Стадии, фазы работы жизненного цикла.
- Билет 15.
- 1. Деревья. Основные определения. Логическое представление и изображение деревьев. Бинарные деревья. Машинное представление деревьев в памяти эвм. Алгоритмы прохождения деревьев.
- 2. Реляционная модель данных. Базовые понятия. Отношения и свойства отношений. Составляющие реляционной модели данных.
- Билет 16.
- 1. Предваренная, скулемовская и клазуальная формы. Логическое следование. Унификация. Алгоритм унификации. Исчисление метода резолюций.
- 2. Структура внешнего описания пс. Качество по. Критерии и примитивы качества.
- Билет 17.
- 1. Понятия прерывания. Виды прерываний. Механизмы прерываний.
- 2. Стадии и этапы разработки базы данных.
- 3. Дан массив типаwordразмерностьюn. Найти сумму всех элементов не прерывающих заданногоm, далее вывести на экран.
- Билет 18.
- 1. Понятие о способах коммутации в распределенных вычислительных системах(коммутации каналов, коммутация пакетов).
- 2. Процессы управления разработкой пс. Структура управления разработки пс. Планирование составление расписания по разработке пс. Аттестация пс.
- 3. НаписатьHtmLкод для отображения в браузере таблицы:
- Билет 19.
- 1. Характеристики транспортного и прикладного уровней стека протоколовTcp/ip.
- 2. Трехуровневая архитектура схем баз данных в субд.
- 3. НаписатьHtmLкод для отображения в браузере таблицы:
- Билет 20.
- 1. Формальные языки и грамматики. Классификация грамматик по Хомскому.
- 2. Методы разработки структуры пс. Восходящая разработка пс. Нисходящая разработка. Конструктивный подход. Архитектурный подход разработки пс.
- Билет 21.
- 1. Конечные автоматы, автомат со стековой памятью (магазин).
- 2. Организация шин.
- Билет 22.
- 1. Сети Петри. Моделирование процессов на основе сетей Петри.
- 2. Организация памяти эвм.
- Билет 23.
- 1. Понятия прерывания. Виды прерываний. Механизмы прерываний.
- 2. Инструментальные среды разработки и сопровождения программных средств и принципы их классификации. Основные классы инструментальных сред разработки и сопровождения программных средств.
- Билет 24.
- 1. Динамическое поведение объектов. Состояния, события, сигналы и сообщения. Модели взаимодействия объектов.
- 2. Типы структур вычислительных машин и систем, перспективы и развития.
- Билет 25
- 1. Структура данных типа стек. Логическая структура стека. Машинное представление стека и реализация операций.
- 2. Основные понятия, определения и назначение сапр
- 3. Составить программу, которая формирует очередь, добавляя в неё произвольное количество компонент.
- Билет 26.
- 1. Сравнительный анализ алгоритмов поиска: линейный, двоичный.
- 2. Факторы, определяющие развитие архитектуры вычислительных систем.
- 3. Составить программу, которая формирует очередь, добавляя в неё произвольное количество компонент.
- Билет 27.
- 1. Рекурсивные функции. Лямбда- исчисление Черча.
- 2. Обеспечивающие системы сапр.
- Билет 28.
- 1. Память. Типы адресов. Виды распределения памяти.
- 2. Архитектура системы команд.
- 3. Найти в массиве максимальный элемент и его индекс. Вывести на печать.
- Билет 29.
- 1. Аппаратура передачи данных (модемы).
- 2. Проектные процедуры в сапр.
- Билет 30.
- 1. Характеристика канального и сетевого уровней стека протоколовTcp/ip.
- 2. Стековая архитектура вычислительных машин.
- Билет 31
- 1. Синтаксический разбор. Классификация методов синтаксического разбора.
- 2. Интеграция систем автоматизации проектирования и управления(cad–cam–capp– системы).
- Билет 32
- 1. Понятие алгоритма. Интуитивное понятие алгоритма.
- 2. Объекты и отношения в программировании. Сущность объектного подхода к разработке программных средств. Особенности объектного подхода к разработке внешнего описания программного средства.
- 3. Указать к какому классу относится каждый из перечисленныхIPадресов:
- Билет 33.
- 1. Объявление и реализация классов на языке Паскаль.
- 2. Архитектура клиент-сервер. Распределенные базы данных.
- Билет 34.
- 1. Характеристики транспортного и прикладного уровней стека протоколовTcp/ip.
- 2. Вычислительные методы решения задач на эвм. Приближения функций. Интерполяция и Метод наименьших квадратов.
- Билет 35.
- 1. Компоненты и интерфейсы. Диаграммы физического уровня.
- 2. Правовые вопросы организации Интернет-сайта.
- Билет 36.
- 1. Структуры данных типа очередь. Логическая структура очереди. Машинное представление очередиFifOи реализация операций. Очереди с приоритетами.
- 2. Моделирование как процесс познания. Математическая модель, понятие вычислительного эксперимента и его структура.
- 3. Составить программу, которая формирует стек, добавляя в него произвольное количество компонент.
- Билет 37
- 1. Улучшенные методы сортировки. Сортировка Шелла, Хоара, улучшенная сортировка выбором. Сортировка с помощью дерева.
- 2. Правовые вопросы, возникающие при использовании электронной почты.
- 3. Составить программу, которая формирует стек, добавляя в него произвольное количество компонент.
- Билет 38.
- 1. Классификация ос. Требования, предъявляемые к ос.
- 2. Понятие системы. Математическое определение системы. Классификация систем.
- Билет 39.
- 1. Понятия файла. Структура файла. Реализация файлов
- 2. Виды объектов авторского права. Виды авторских прав. Программы для эвм и базы данных, как объектов авторского права.
- 3. Подсчитать сколько раз в массиве встречается заданный элементN. Вывести количество данных вхождений.
- Билет 40.
- 1. Характеристики локальных вычислительных сетей типаEthernet.
- 2. Нормальный алгоритм Маркова.
- 3. Написать кодcssфайла в котором при помощи псевдоклассов описывается поведение ссылок отличное от стандартного.
- Билет 41.
- 1. Взаимодействие узлов с использованием стека протоколовTcp/ip.
- 2. Объекты патентного права.
- 3. Указать к какому классу относится каждый из перечисленныхIPадресов:
- Билет 42.
- 1. Машина Тьюринга.
- 2. Уровни моделирования. Общая характеристика и особенности. Моделирование на микроуровне. Обобщенная модель и моделирование тепловых систем (краевая задача для уравнения теплопроводности)
- 2) Уравнение теплопроводности
- Билет 43.
- 1. Архитектура системы команд.
- 2. Уровни моделирования. Моделирование на макроуровне. Типичная общая модель и моделирование электрических систем.
- Билет 44.
- 1. Структуры данных типа очередь. Логическая структура очереди. Машинное представление очередиFifOи реализация операций. Очереди с приоритетами.
- 2. Принципы построения современных эвм.
- 3. Найти в массиве максимальный элемент и его индекс. Вывести на печать.
- Билет 45.
- 1. Характеристика канального и сетевого уровней стека протоколовTcp/ip.
- 2. Численное решение задачи Коши для обыкновенных дифференциальных уравнений. Метод Эйлера. Одношаговые и многошаговые методы.
- 3. Указать к какому классу относится каждый из перечисленныхIPадресов: