
- •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)Документирование результатов тестирования. Важность дефекта. Градации важности дефекта.
Нумерованные списки
В нумерованных списках каждый элемент снабжен номером, вид и начальное значение которого настраивается специальными атрибутами.
Нумерованный список задается при помощи тега <OL>:
<OL>
<LI>Первый элемент списка</LI> <LI>Последний элемент списка</LI>
</OL>
Вид номера определяется значением атрибута type в теге <OL>:0, А, а,l, i.
Естественную нумерацию элементов списка (с единицы) можно изменить при помощи атрибута start=n. Число n задает начальное значение нумерации. Если для нумерации используются буквы или римские цифры, то стартовое значение равно n-му элементу в системе нумерации (например, 4 означает D или IV).
Раскрывающейся список
Тег <select> позволяет создать элемент интерфейса в виде раскрывающегося списка, а также список с одним или множественным выбором. Конечный вид зависит от использования атрибута size тега <select>, который устанавливает высоту списка. Ширина списка определяется самым широким текстом, указанным в теге <option>, а также может изменяться с помощью стилей. Каждый пункт создается с помощью тега <option>, который должен быть вложен в контейнер<select>. Если планируется отправлять данные списка на сервер или обращение к нему через скрипты, то требуется поместить элемент <select> внутрь формы.
Синтаксис
<select>
<option>Пункт 1</option> <option>Пункт 2</option>
</select>
Ссылка (гиперссылка) – это возможность «связать» любой находящийся на данной странице фрагмент текста (слово, фразу или целый абзац) либо рисунок с другой Интернет-страницей или файлом данных (например, графическим файлом GIF или JPEG).
Переход внутри одного документа
Для задания гипертекстового перехода внутри документа используют два тега <A>. Первая тег с атрибутом href является источником перехода, вторая с атрибутом name – приемником.
<A href=#Ololo>Переходим на Ololo</A> <A name = Ololo>
Переход к другому документу или ссылки
Для того чтобы браузер загрузил в свое окно новый HTML-документ, нужно записать в программе ссылку при помощи тега <A> с атрибутом href=имя_файла/ссылки.
<A href = ololo.html>Переходим на страницу ololo </>
Заголовки <Нn>…</Нn>,
Заголовки. Обозначают начало раздела документа. В стандарте определено 6 уровней заголовков: от Н1 до Н6. Текст, окруженный тегами <Н1></Н1>, получается большим - это основной заголовок. Если текст окружен тегами <Н2></Н2>, то он выглядит несколько меньше (подзаголовок); текст внутри <НЗ></НЗ>еще меньше и так далее до <Н6></Н6>.
Параграф <P>
Тег <P> применяется для разделения текста на параграфы.
Перевод строки <BR>
Принудительный перевод строки используется для того, чтобы нарушить стандартный порядок отображения текста. При обычном режиме интерпретации программа интерфейса пользователя отображает текст в рабочем окне, автоматически разбивая его на строки.
Билет №5.
1)Полиморфизм и его реализация посредством раннего и позднего связывания. Примеры на языке C++.
Полиморфизм – это третья составляющая ООП, наряду с инкапсуляцией и наследованием. Полиморфизм, означает, что клиент может рассматривать разные объекты как одинаковые на определенном уровне абстракции, и каждый из объектов будет вести себя соответствующим образом.
Полиморфизм реализуется посредством виртуальных функций. Если при использовании виртуальной функции запрос осуществляется с помощью указателя базового класса (или ссылки), то С++ выбирает правильную переопределённую функцию в производном классе, связанном с данным объектом.
Рассмотрим в качестве базового класса – класс форм Shape и несколько производных классов: Circl (круг), Rectangle (прямоугольник), Square (квадрат). Каждый из производных классов имеет свою функцию Draw, которая умеет рисовать соответствующую форму. Можно работать с объектами этих фигур, как с объектами базового класса Shape, не разбираясь в истинной природе каждого объекта.
class Shape{public: virtual void Draw(void);};
class Circl : public Shape{public: void Draw(void);};
class Rectangle : public Shape{public: void Draw(void);};
class Square : public Shape{public: void Draw(void);};
Shape * ShapeArray[10]; // создаём массив указателей базового класса
ShapeArray[0]=new Circl(); // загружаем массив указателями на объекты
ShapeArray[1]=new Rectangle(); разных фигур
ShapeArray[2]=new Square();
for(int i=0, i<3, i++)\
ShapeArray[i]->Draw(); // каждая фигура будет рисоваться своей функцией
Таким образом, интерпретация каждого вызова виртуальной функции через указатель на базовый класс зависит от значения этого указателя, т.е. от типа объекта, для которого выполняется вызов. Выбор того, какую виртуальную функцию вызвать, будет зависеть от типа объекта, на который фактически (в момент выполнения программы) направлен указатель, а не от типа указателя. Виртуальными могут быть только нестатические функции-члены.
Вирт.ф-ции предоставляют механизм позднего (отложенного) или динамического связывания. Любая нестатическая функция базового класса может быть сделана виртуальной, для чего используется ключевое слово virtual:
virtual тип имя_функции (списк_формальных _параметров);
Виртуальность наследуется. После того как функция определена как виртуальная, ее повторное определение в производном классе создает в этом классе новую виртуальную ф-цию, причем спецификатор virtual может не использоваться списке базовых классов при объявлениях классов с помощью ключевого слова virtual можно обеспечить разрешение проблемы множественного наследования. Нельзя указывать базов. кл. более 1раза при описании производного класса,но если добавить ключ. слово virtual ситуация меняется.
Пример разрешения конфликтов множественного наследования:
class X : virtual public B { ... }
class Y : virtual public B { ... }
class Z : public X, public Y { ... }
Объект класса Z имеет только 1 экземпляр объекта класса B.
Конструкторы виртуальных базовых классов выполняются до выполнения конструкторов других базовых классов.
Пример class X : public Y, virtual public Z:
Cоздание объекта класса X приведет к следующей последовательности вызовов:
Z(); // virtual base class initialization
Y(); // non-virtual base class
X(); // derived class
Конструкторы не могут быть вирт-ными, в отличие от деструкторов.Практически каждый класс, имеющий вирт. функцию,должен иметь вирт. деструктор. Опред-ние деструктора как вирт-ного позволяет корректно уничтожить объект производного класса по ссылке или указателю типа базового класса.Если базовый деструктор вирт.,то и все производные тоже. Вирт. ф-ции не могут быть статическими. Вирт. ф-ции могут не переопределяться в производных классах. В случае переопределения вирт. ф-ций, кол-во и типы аргументов должны совпадать с определением базовой вирт.ф-ции.