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

4)Категории тестируемых требований к программному обеспечению.

Типы требований. Пример набора таких категорий представлен следующим списком:

Функциональные средства. -определяет, какие функции должен выполнять данный программ. продукт на системном или пользовательском уровне. Для ясности может быть указано, чего не должен делать данный продукт.

Интерфейсы- описывает входы, получаемые из внешних систем, и выходы, направляемые во внешние системы. Накладываются ли на эти интерфейсы какие-то ограничения, связанные с форматами данных и носителями информации?

Данные- описывают вход. и вых. данные системы. Формат данных ,Какие данные нужно сохранять? Какой объем данных поступает в систему и из системы, и с какой скоростью передачи? С какой точн. должны выполняться вычисления?

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

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

Физическая среда. Эта категория требований определяет, где должно функц-ть оборуд-ие. Установлено ли обор-ие более чем в одном месте? Имеют ли место ограничения по температуре, влажности или другие ограничения, связанные с окружающей средой?

Безопасность. Эта категория требований описывает, как осущ-ся доступ к системе и как осущ-ся управление ее данными. Как часто следует выполнять дублирование? На каких носителях сохраняются дублированные данные?

Документация. Эта категория требований связана с документацией и тем, должна ли она быть представлена в печатном виде или выдается в интерактивном режиме. Кроме того, здесь же определяется категория лиц, для которых эта документация предназначена.

Устранение неисправностей. Эта категория требований описывает, как система реагирует на возникновение неисправностей. Будет ли система обнаруживать неисправность и выдавать аварийные сигналы? Какой должна быть средняя длительность промежутка времени между двумя неисправностями? Каким должно быть максимальное время простоя?

Сопровождение. Эти требования определяют, как произв-ся устранение проблем, обнар-ых в системе

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

Билет №4.

1)Наследование: понятие, простое наследование, режимы наследования и их применение. Примеры на языке C++.

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

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

Простое наследование - класс, от которого произошло наследование, называется базовым или родительским (англ. base class). Класс, который произошел от базового, называются потомком, наследником или производным классом (англ. derived class): class B: public A {/*…*/}; класс B является наследником A. Это также означает, что любой объект типа B также является объектом (разновидностью) типа A (но не наоборот!).

Наследование:

Открытое (public) наследование. Отражает зависимость «являться». Все члены базового класса становятся членами класса-наследника (как интерфейс, так и реализация).

Закрытое (private) наследование. Об этом подробнее. Пусть имеется класс B, который открыто, наследует класс A. Такое наследование дает ряд преимуществ. Одним из них является то, что можно обращаться к классам-наследникам через указатель на базовый класс, т.е.: A *some = new B; // все хорошо: A – базовый класс, произойдет неявное преобразование Но теперь проделаем небольшую корректировку (а именно заменим public-наследование на private):

class A { /*…*/ };

class B: private A { /*…*/ };

Если попытаться написать

A *some = new B;

То компилятор выдаст ошибку. public-наследованием объект одного типа _ является_ разновидностью другого типа, а по поводу private такого сказать нельзя. Private-наследование используется только на этапе реализации, и оно скорее выражает зависимость «реализовано на основе». Т.е. на этапе проектирования private-наследование никоим образом не фигурирует, а появляется только на этапе написания программного кода. private-наследование в большинстве случаев можно заменить обычным внедрением, т.е. созданием члена-указателя на нужный класс.

Защищенное (protected) наследование – очень редко встречающийся на практике вид наследования. При protected-наследовании все члены с модификатором public наследуются с модификатором protected (т.е. все открытые члены базового класса становятся защищенными членами класса-наследника).

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