
- •1)Объектно-ориентированный подход к разработке программного обеспечения: основные понятия, концепции и принципы.
- •3) Понятие нормальных форм в отношении. Особенности приведения отношений к 1nf, 2nf, 3nf.
- •2Нф (Вторая Нормальная Форма)
- •3Нф (Третья Нормальная Форма)
- •4)Надежность программного обеспечения.
- •3)Основные этапы проектирования баз данных.
- •4)Основные показатели надёжности программного обеспечения
- •2) История развития операционной системы Windows. Введение в операционную систему Windows. Особенности и различия версий операционной системы Windows. Архитектура операционной системы Windows nt
- •3) Операции над данными (включить, удалить, обновить, объединение, пересечение, вычитание, декартово произведение, выборка, проекция, соединение, деление).
- •Специальные реляционные операторы
- •Операции над множествами
- •4)Категории тестируемых требований к программному обеспечению.
- •2) Модели данных (сетевая, иерархическая, реляционная).
- •3) Критерии, используемые при тестировании требований.
- •Ненумерованные списки
- •Нумерованные списки
- •Раскрывающейся список
- •Переход внутри одного документа
- •Переход к другому документу или ссылки
- •2)Селекторы css: класса, id, тега. Способы подключения таблиц стилей.
- •Селекторк лассов
- •Селектор id
- •3)Уровни абстракции в субд.
- •4)Содержание плана тестирования.
- •2)Сервлеты. Жизненный цикл сервлета. Класс HttpServlet. Интерфейсы HttpServletRequest, HttpServletResponse.
- •Интерфейс Servlet и жизненный цикл сервлета
- •Класс HttpServlet
- •3)Субд в многопользовательских системах. Архитектура многопользовательских субд (с телеобработкой, файл-серверные, клиент-серверные).
- •2)Сервлеты. Обработка http-запросов get и post.
- •3)Основные функции субд. Типовая организация субд. Основные компоненты типичной субд.
- •4)Основные этапы проведения системных испытаний.
- •1)Библиотека stl: назначение, основные элементы.
- •2)Субд. Классификация субд. Технология использования субд
- •3)Стратегии «белого» ящика. Покрытие операторов. Покрытие решений.
- •4)Jsp. Архитектура jsp-страницы. Жизненный цикл jsp.
- •1)Диаграммы idef0: элементы, правила построения, демонстрационный пример.
- •2)Стили. Общий синтаксис. Назначение, возможности. Каскадность css.
- •3)Понятия базы данных, банка данных. Классификация баз данных.
- •4)Стратегии «белого» ящика. Покрытие условий. Покрытие решений/условий.
- •1)Диаграммы idef0: иерархия диаграмм, правила построения, стратегии декомпозиции и критерии завершения декомпозиции.
- •2)Формы в html. Назначение, теги, параметры, примеры.
- •3)Файловые системы и файловые базы данных. Особенности и основные характеристики.
- •5)Стратегии «белого» ящика. Комбинаторное покрытие условий.
- •1) Диаграммы idef1x: назначение, элементы, правила построения.
- •2)Теги таблиц. Назначение, примеры.
- •3)Язык sql (Structured Query Language). Интерактивный и встроенный sql. Составные части sql. Типы данных sql. Основные типы команд sql.
- •4)Тестирование приложения методом «черного» ящика.
- •1)Диаграмма вариантов использования uml 2: назначение, элементы и правила построения.
- •Понятие тега
- •3)Язык sql. Команды манипулирования данными.
- •1)Диаграмма классов uml 2: назначение, классы и их обозначение.
- •3)Архитектуры приложений. Основные различия между архитектурами приложений.
- •1)Диаграмма деятельности uml 2: назначение, действия и деятельности, объекты, дуги деятельности
- •2)Http-протокол. Идеология построения протокола http. Общая структура сообщений, методы доступа. Заголовок и данные http-запросов. Стандартные коды ответов.
- •4)Структуры данных, основанные на хеш-таблицах.
- •1)Создание и использование статических библиотек в операционной системе Windows. Создание и использование динамических библиотек в операционной системе Windows: раннее и позднее связывание.
- •2)Диаграмма развертывания uml 2: назначение, элементы и правила построения.
- •3)Понятие экспертной системы. Назначение и основные свойства экспертных систем, основные области применения и примеры экспертных систем.
- •4)Деревья двоичного поиска. Методы их реализации.
- •1)Логическая организация файловой системы: типы файлов, иерархическая структура файловой системы, имена файлов, адресация файлов.
- •2)Жизненный цикл программного обеспечения. Классическая модель жизненного цикла: основные этапы, принципы организации, преимущества и недостатки
- •3)Архитектура и особенности экспертных систем.
- •4)Алгоритм Хаффмена, структуры данных для его реализации. Пример построения кода.
- •1)Физическая организация файловой системы: диски, разделы, секторы, кластеры, адресация файла.
- •2)Классификация экспертных систем
- •4)Сбалансированные и несбалансированные деревья поиска.
- •1)Иерархия запоминающих устройств. Кэш-память. Способы отображения основной памяти на кэш. Схемы выполнения запросов в системах с кэш-памятью.
- •2)Жизненный цикл программного обеспечения. Эволюционная модель жизненного цикла: основные этапы, принципы организации, преимущества и недостатки.
- •3)Разработка экспертных систем. Этапы разработки экспертной системы. Человеческий фактор при разработке экспертной системы.
- •5)Алгоритмы быстрой сортировки
- •1) Страничное распределение памяти. Сегментное распределение памяти. Сегментно-страничное распределение памяти.
- •2)Диаграмма последовательностей uml 2: назначение, линия жизни и сообщения.
- •3)Модели представления знаний: продукционные модели, семантические сети, фреймы и формальные логические модели.
- •4)Алгоритмы внешней сортировки.
- •1)Понятие операционной системы. Иерархическая и многослойная структуры операционной системы. Многослойная структура ядра операционной системы.
- •2)Диаграмма последовательностей uml 2: назначение, комбинированные фрагменты взаимодействия и их применение.
- •3)Знания и данные. Глубинные и поверхностные знания. Интенсионал и экстенсионал понятия. Классификация моделей представления знаний.
- •4)Документирование результатов тестирования. Важность дефекта. Градации важности дефекта.
4)Содержание плана тестирования.
План тестирования (тест план -Test Plan) - это документ описывающий весь объем работ по тестированию, начиная с описания объекта, стратегии, расписания, критериев начала и окончания тестирования, до необходимого в процессе работы оборудования, специальных знаний, а также оценки рисков с вариантами их разрешения.
1. Идентификатор плана проведения испытаний. В долгосрочной перспективе можно сэкономить время, если присвоить всем тестовым документам идентификаторы, которые нетрудно отслеживать.
2. Введение. Цель введения заключается в том, чтобы дать краткую информацию для любого исполнителя, желающего воспользоваться планом проведения испытаний.
3. Компоненты, которые должны тестироваться. Здесь приводятся высокоуровневые списки компонент, которые вы намерены тестировать.
4. Характеристики и свойства, которые должны тестироваться. Приводится список того, что было обещано заказчику, и должно быть протестировано.
5. Характеристики и свойства, которые не должны тестироваться. Этот раздел предназначен для того, чтобы заблаговременно и однозначно определить, какие объекты не должны охватываться тестированием.
6. Подход. Этот раздел плана проведения испытаний предназначен для описания на высоком уровне, как вы намерены проводить испытания программного продукта. Это описание не является подробной спецификацией всех методик испытаний, которые планируется использовать.
7. Критерии успешного/неудачного прохождения испытаний. С самого начала вы должны определить, что следует считать успешным прохождением стадии тестирования, а что считать провалом тестов.
8. Критерий приостановки испытаний и требования возобновления испытаний. Критерии приостановки и возобновления испытаний описывают, что происходит, когда продолжению испытаний препятствуют дефекты.
9. Выходные результаты тестов. Этот раздел плана проведения испытаний является тем местом, в котором определяются выходные данные работ по тестированию.
10. Задачи тестирования. Этот раздел является подходящим местом для определения индивидуальных задач, которые необходимы для подготовки и выполнения тестирования.
11. Информация о конфигурации средств тестирования (требования окружающей среды). Этот раздел предназначен для того, чтобы позволить любому другому заинтересованному лицу построить такую же испытательную установку в случае необходимости воспроизведения неисправности или проверки, что неисправность устранена.
12. Распределение ответственности при проведении тестирования. Если возможности вашей тестовой группы по завершению тестирования каким-то образом зависят от деятельности другой группы, в этом разделе плана проведения тестирования должно быть указано, кто что делает.
13. Подбор кадров и подготовка персонала. В этом разделе можно привести список персонала, который вы намерены привлечь к тестированию программного продукта.
14. График работ. краткий список ключевых этапов тестирования, например, срок начала тестовых работ, когда бета-версия продукта должна поступить к первым пользователям и когда завершатся испытания
15. Риски и непредвиденные обстоятельства. описываться в таблице, в которой указываются риски, вероятность овеществления этого риска, влияние этого риска и план мероприятий по снижению от овеществления рисков.
16. Утверждение плана проведения испытаний. Для решения этой задачи на титульном листе плана проведения тестовых работ потребуется составить список лиц, утверждающих план, и получить их одобрение.
Билет №6.
1)Шаблоны классов: назначение и применение. Примеры на языке С++.
Шаблоны С++ облегчают генерацию семейств функций или классов, оперирующих со множеством различных типов данных, освобождая от необходимости создавать отдельную функцию или класс для каждого типа. Другими словами, шаблоны предоставляют все удобства для написания общего (родового) определения функции или класса, которое компилятор автоматически транслирует в специфическую версию функции или класса для каждого из типов, данных, с которыми программа работает в данный момент.
В определении шаблона может быть задан параметр типа, который обозначает тип переменной или константы, передаваемой через вызов функции. Если программа передает, например, целочисленное значение, то компилятор будет автоматически генерировать версию функции, в которой параметр типа имеет значение int, и это будет вставлено в код, вызывающий данную версию функции.
Шаблоны, в некотором смысле, напоминают макросы, однако они более разнообразны и надежны. Тем не менее, достаточно часто шаблоны реализуются как обычные С-макросы.
Определение шаблона класса имеет вид:
template <список_параметров_типов> class имя_класса { /* тело класса */ }
В шаблон класса можно включить любое количество параметров типа и параметров констант, помещая их в список_параметров_типов. Внутри определения класса можно использовать параметр типа в любом месте кода, в котором допустимо применение спецификации типа, и параметр константы в любом месте, где допустимо применение константного выражения.
Пример определения шаблона класса:
template <class T> class Vector {
T *data;
int size;
public:
Vector(int);
~Vector( ) { delete[ ] data; }
T& operator[ ] (int i) { return data[i]; }
};
// Note the syntax for out-of-line definitions.
template <class T> Vector<T>::Vector(int n) {
data = new T[n];
size = n;
};
void main() {
Vector<int> x(5); // Generate a vector to store five integers
for (int i = 0; i < 5; ++i)
x[i] = i; // Initialize the vector.
}
В списке_параметров_типов собственно параметры типов указываются с ключевым словом class, а параметры констант - с какими-либо другими ключевыми словами, применяемыми для идентификации типа.
Функции-члены шаблона класса автоматически являются шаблонами функций, т.е. они могут использовать параметр типа шаблона класса, не требуя его явного описания в шаблоне функции. Шаблоны функций, которые являются членами класса, нельзя описывать как virtual. Т.о. реализация функции-члена шаблона класса, которая находится вне определения шаблона класса, должна дополнительно включать следующие два элемента:
Определение должно начинаться с ключевого слова template, за которым следует такой же список_параметров_типов, какой указан в определении шаблона класса.
За именем_класса, предшествующим оператору разрешения видимости, должен следовать список_имен_параметров шаблона.
Пример определение функции-члена шаблона класса:
template <class T, class S> class demo {T var1; S var2;
public: T func(void);};
template <class T, class S> T demo<T,S>::func(void) { return var1;}