- •Визначення трудомісткості розробки інформаційних систем і технологій.
- •Об’єктно-орієнтований аналіз.
- •Структурний підхід до розробки програмного забезпечення
- •Методи тестування програмного продукту.
- •Вимоги до документів на стадії розробки технічного завдання.
- •Статичні і динамічні структури даних.
- •Об’єктно-орієнтоване програмування.
- •Виключні ситуації у програмних продуктах
- •Архітектура та характеристики сучасних мікропор-рів.
- •Архітектура комп’ютера на базі сучасних мікропроцесорів.
- •Принципи та організація візуальних середовищ швидкої розробки програмного забезпечення.
- •Класифікація і основні властивості операційних систем.
- •Режими роботи і типи операційних систем.
- •Багатозадачне і багатопотокове програмування.
- •Об’єктно-орієнтоване візуальне програмування.
- •Розробка та програмна реалізація імітаційної моделі з використанням детермінованого алгоритму.
- •Розробка та програмна реалізація імітаційної моделі з використанням синхронного алгоритму.
- •Розробка та програмна реалізація імітаційної моделі з використанням агрегатного підходу.
- •Синтез математичної моделі за експериментальними даними.
- •Апаратні засоби комп’ютерних мереж.
- •Топології комп’ютерних мереж
- •Протокол пріоритетної передачі маркера.
- •Модель osi.
- •Взаємодія між рівнями у стеку мережевих протоколів.
- •Маршрутизація з статичними каталогами.
- •Маршрутизація з каталогами, що орієнтовані на сеанси.
- •Маршрутизація з динамічними каталогами
- •Глобальні та локальні мережі.
- •Логічна і фізична структура баз даних.
- •Організація реляційних баз даних.
- •Ідентифікація функціональних відношень.
- •Алгоритми нормалізації відношень.
- •Багатозначні залежності.
- •Створення і модифікація об’єктів баз даних.
- •Основи навігації по базах даних.
- •Сортування, фільтрація, пошук даних в базі даних.
- •Створення програмного забезпечення ведення баз даних у візуальних середовищах субд.
- •Побудова звітів в інтегрованих середовищах розробника баз даних.
- •Системний аналіз об’єктів і процесів комп’ютеризації на різних стадіях проектування інформаційних технологій.
- •Декомпозиція складних об’єктів і систем.
- •Етапи проектування програмного забезпечення комп’ютерних інформаційних систем.
- •Оптимізація застосувань типа клієнт/сервер. В основе клиент-серверной технологии лежат следующие идеи:
- •Програмні засоби обробки текстової і графічної інформації.
- •Методи обробки текстової інформації.
- •Технології розробки об’єктно-орієнтованих застосувань.
- •Методи представлення знань в експертних системах.
- •Математичні методи представлення знань. Числення предикатів.
- •48. Математичні методи представлення знань. Семантичні мережі.
- •Математичні методи представлення знань. Фрейми.
- •Етапи проектування експертних систем.
Статичні і динамічні структури даних.
Структуры данных могут быть статическими и динамическими.
Статические структуры относятся к разряду структур, которые представляют собой структурированное множество примитивных (базовых) структур. Поскольку по определению статические структуры отличаются отсутствием изменчивости, память для них выделяется автоматически – как правило, на этапе компиляции или при выполнении, в момент активизации того программного блока, в котором они описаны.
Массив – упорядоченный набор данных, для хранения данных одного типа, идентифицируемых с помощью одного или нескольких индексов. Массив имеет постоянную длину и хранит единицы данных одного и того же типа.
Связанные динамические структуры данных отличаются от статических тем, что могут, иметь бесконечное число элементов. Они характеризуются высокой гибкостью создания структур данных различной конфигурации за счет возможности выделять и освобождать память под элементы в любой момент времени работы программы и возможности установить связь между любыми двумя элементами с помощью указателей.
Среди динамических структур данных выделяют: стек, очередь, списки, деревья.
Стек – структура вида LIFO (last in, first out). В стеке имеется доступ только последнему поступившему элементу – вершине стека. Она является его первым звеном. Каждое звено стека содержит ссылку на следующее звено, причем «дно», т.е. элемент, занесенный в стек раньше всего, имеет ссылку null.
Очередь – структура, в которой элемент, который вошел первый, будет извлечен из очереди также первым ( FIFO - first in, first out).
Для создания очереди и работы с ней необходимо, как минимум два указателя: на начало очереди (BegQ) и на конец очереди (EndQ).
Линейные списки – данные с рекурсивной структурой. Применяется в случаях, когда надо обработать данные, количество элементов которых заранее не определено, а взаимный порядок следования играет важную роль.
Линейный однонаправленный список – данные, которые представляют собой линейно связанные элементы, которые можно добавлять между любыми двумя другими, и удалять любой элемент.
Линейные двунаправленные списки – списки, в каждом звене которых присутствуют ссылки как на следующее, так и на предыдущее звено, что позволяет от каждого звена двигаться по списку в любом направлении.
Кольцевые списки имеют дополнительные связи между первым и последним элементами списка.
Двоичное дерево – это динамические данные иерархической структуры произвольной конфигурации. Элементы дерева называются вершинами (узлами). В нем одинаково эффективно реализуются все три основные операции: поиска, записи и удаления информации.
Об’єктно-орієнтоване програмування.
Объектно-ориентированное программирование (ООП) – метод программирования, основанный на представлении программы в виде совокупности взаимодействующих объектов, каждый из которых является экземпляром определённого класса, а классы – членами определенных иерархических наследований. В таких программах классы обычно считаются статичными сущностями, а объекты имеют динамическую природу, поддерживаемую механизмами динамического связывания и полиморфизма.
Класс – множество объектов, обладающих общей структурой, поведением и семантикой. Класс объектов представляет собой программную структуру, в которой данные и функции образуют единое целое и отражают свойства и поведение этого целого в рамках моделируем ситуации.
Объект – экземпляр класса. Является сущностью в адресном пространстве вычислительной системы, которая появляется при создании экземпляра класса.
Основными понятиями ООП являются:
Инкапсуляция – принцип, согласно которому любой класс должен рассматриваться как чёрный ящик. Пользователь класса должен видеть и использовать только интерфейсную часть класса (т. е. список декларирующих свойств и методов класса) и не вникать в его внутреннюю реализацию. Поэтому данные принято инкапсулировать в классе таким образом, чтобы доступ к ним по чтению или записи осуществлялся не напрямую, а с помощью методов.
Наследование – отношение между классами, при котором класс использует структуру или поведение, которые определены в другом классе (одиночное наследование) или нескольких других классах (множественное наследование). Наследование определяет иерархию классов «общее/частное», в которой подкласс наследует свойства одного или нескольких более общих суперклассов. Подкласс обычно конкретизирует суперкласс, дополняя или переопределяя его структуру и поведение.
Полиморфизм – концепция теории типов, согласно которой имена могут обозначать объекты разных классов, имеющих общий суперкласс. Полиморфизм позволяет использовать одно имя для обозначения действий, общих для родственных классов. При этом конкретизация выполняемых действий производится в зависимости от типа обрабатываемых данных. К примеру, в С++ можно выделить следующие свойства:
перегрузка функций
виртуальные функции
обобщенные функции (шаблоны)
Перегрузка функций и операций является статическим полиморфизмом, т.е. поддерживаемым на этапе компиляции.
Виртуальные функции относятся к динамическому полиморфизму, так как выполняется во время выполнения программы.
Типичными языками, поддерживающими парадигму объектно-ориентированного программирования, являются C++, C# и Java.