Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
бИЛЕТЫ_GOSam.doc
Скачиваний:
2
Добавлен:
01.04.2025
Размер:
1 Мб
Скачать
☆

3)Субд в многопользовательских системах. Архитектура многопользовательских субд (с телеобработкой, файл-серверные, клиент-серверные).

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

В сети СУБД следит за разграничением доступа разных пользователей к общей базе данных и обеспечивает защиту данных при одновременной работе пользователей с общими данными. Автоматически обеспечивается защита данных от одновременной их корректировки несколькими пользователями-клиентами.

В сети с файловым сервером база данных может размещаться на сервере. При этом СУБД загружается и осуществляет обработку данных базы на рабочих станциях пользователей. Концепция файлового сервера в локальной сети обеспечивается рядом сетевых операционных систем. Наиболее популярными являются Microsoft Windows NT и NetWare Novell.

В сети, поддерживающей концепцию «клиент-сервер», используется сервер баз данных, который располагается на мощной машине, выполняет обработку данных, размещенных на сервере, и отвечает за их целостность и сохранность. Для управления базой данных на сервере используется язык структурированных запросов SQL (Structured Queries Language). На рабочих станциях-клиентах работает СУБД-клиент. Пользователи могут взаимодействовать не только со своими локальными базами, но и с данными, расположенными на сервере. СУБД-клиент, в которой поддерживается SQL, в полном объеме может посылать на сервер запросы SQL, получать необходимые данные, а также посылать обновленные данные.

Подключение из СУБД к серверам баз данных SQL может осуществляться с помощью драйверов ODBC.

ODBC (Open Database Connectivity - открытый стандарт доступа к базам данных) поддерживает стандартный протокол для серверов баз данных SQL.

!!!!! 4)Основные этапы проектирования и разработки.

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

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

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

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

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

Билет №7.

1) Перегрузка методов и операций: виды и применение. Примеры на С++.

С++ позволяет определить несколько функций с одним и тем же именем, если эти функции имеют разные наборы параметров и/или разные типы параметров. Эта особенность называется перегрузкой функции. При вызове перегруженной функции компилятор С++ определяет соответствующую функцию путём анализа количества, типов и порядка следования аргументов в вызове. Перегруженные функции обычно используется для создания нескольких функций с одинаковым именем, предназначенных для выполнения сходных задач, но с различными типами данных, что делает программы более понятными и легко читаемыми.

Пример:

double Area (double R) {return 6.28318*R*R;}

double Area (double a, double b) {return a*b;}

Перегрузка операций - это возможность использовать знаки стандартных операций для записи. Все существующие операции могут быть перегружены, за исключением: . .* :: ?: и sizeof. Следующие символы препроцессора также не могут быть перегружены: # ##. Операции =,[ ],( ) и -> могут быть перегружены только как нестатические функции-элементы. Они не могут быть перегружены для перечислимых типов.

Чтобы использовать операцию над объектами классов, эта операция должна быть перегружена, но есть два исключения. Операция присваивания (=) может быть использована с каждым классом без явной перегрузки. По умолчанию операция присваивания сводится к побитовому копированию данных-элементов класса. Операция адресации (&) также может быть использована с объектами любых классов без перегрузки; она просто возвращает адрес объекта в памяти. Но операцию адресации можно также и перегружать.

В языке С++ для перегрузки операций используется ключевое слово operator, с помощью которого определяется специальная операция-функция (operator function).Ее формат:

тип_возвр_значения operator

знак_операции (специф_параметров)

{операторы_тела_функции}

Перегрузка унарных операций:

  • Любая унарная операция  может быть определена двумя способами: либо как компонентная функция без параметров, либо как глобальная (возможно дружественная) функция с одним параметром. В первом случае выражение  Z означает вызов Z.operator  (), во втором  вызов operator (Z).

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

  • Унарные операции, перегружаемые вне области класса (как глобальные функции), должны иметь один параметр типа класса.

  • в 1 случае (в области класса): тип_возвр_значения operator знак_операции

  • во втором случае (вне области класса): тип_возвр_значения operator знак_операции(идентификатор_типа)

Перегрузка бинарных операций

  • Любая бинарная операция  может быть определена двумя способами: либо как компонентная функция с 1 параметром, либо как глобальная функция с 2 параметрами.

  • Операции, перегружаемые внутри класса, могут перегружаться только нестатическими компонентными функциями с параметрами.

  • Операции, перегружаемые вне области класса, должны иметь два операнда, один из которых должен иметь тип класса.

class Complex{

public:

Complex( float re, float im );

Complex operator+( Complex &other );

friend Complex operator+( int first, Complex &second );

private: float real, imag; };

Complex Complex::operator+( Complex &other )

{ return Complex( real + other.real, imag + other.imag ); };

Complex operator+( int first, Complex &second )

{return Complex( first + second. real, second.imag ); }

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]