Принципы и технологии использования языков разметки и высокоуровневых языков программирования при разработке интернет-ориентированных (Web-) приложений. Технические средства создания динамических Web-сайтов: средства автоматизации проектирования Web-приложений, многоуровневая архитектура. Механизм работы с сессиями. Оптимизация Web-приложений. Разделение кода и дизайна, использование регулярных выражений при разработке Web- приложений. Базовые требования безопасности при проектировании и эксплуатации Web-приложений. Разработка Web-приложений, устойчивых к ошибкам.
Классификация компьютерных сетей. Трафик и пропускная способность. Понятие сетевого ресурса, клиента, сервера. Основы функционирования компьютерных сетей: аппаратные средства, сетевые протоколы, сетевое ПО. Сетевые ОС: состав, функции. Эталонная модель взаимодействия открытых систем. Администрирование в сетях с сервером. Сетевые протоколы. Удаленный доступ и удаленное управление, распределенные вычисления. Основы программирования сетевых задач. Организация сетевого взаимодействия. Организация межсетевого взаимодействия. Обеспечение безопасности межсетевого взаимодействия. Удаленные сетевые атаки. Технологии межсетевых экранов. Виртуальные частные сети. Основы построения беспроводных сетей. Безопасность беспроводных сетей.
Организация и проектирование баз данных
Модели данных в ИС: объект, модель, данные, модель данных, классификация моделей данных. Теоретические основы реляционной модели базы данных: сущность, связь, целостность данных, нормализация данных. Языки запросов к реляционным базам данных: стандарты, структура языка запросов, операторы создания базы данных и таблиц, операторы манипулирования данными, операторы выборки данных. Основы проектирования реляционных баз данных: стандарты проектирования, методы и этапы проектирования, уровни проектирования. Средства автоматизированного проектирования и разработки баз данных. Организация СУБД: модели архитектур, настройка, управление службами, методы организации индексов, создание объектов базы данных, система безопасности, типы и виды транзакции, проблемы одновременного доступа и блокировки. Программирование бизнес-логики сервера баз данных: описание языка программирования, разработка процедур бизнес-логики.
Системное программирование
Современные инструментальные средства разработки системно-ориентированных приложений. Прикладной программный интерфейс. Механизм сообщений в ОС. Организация графического пользовательского интерфейса в ОС. Класс окна в ОС, предопределенные классы, получение и изменение данных окна и класса. Ресурсы ОС, их создание и использование. Организация интерфейса на основе меню. Обработка пользовательского ввода в ОС. Графические подсистемы. Организация вывода данных. Объекты ядра и их использование в приложении. Процессы и задания в прикладном программном интерфейсе. Управление группой процессов, объединенных в рамках задания. Методы управления потоками данных. Организация параллельной обработки данных с использованием средств исключения и предупреждения состязаний. Разработка и использование динамически загружаемых библиотек. Механизмы управления виртуальной и динамически распределяемой памятью. Обмен данными между процессами. Асинхронный файловый ввод- вывод данных. Удаленный запуск приложений.
Средства визуального программирования приложений
Базовые средства визуального проектирования приложений: технологии визуального программирования, обзор существующих библиотек для создания приложений с графическим интерфейсом, общие сведения о библиотеках, основные принципы создания графического интерфейса. Элементы управления и их позиционирование: базовый класс библиотеки, методы, свойства и события базового класса; классы описания кнопок, переключателей и элементов обработки текста, обработка ошибок ввода; элементы управления отображением списков и деревьев; модальные и немодальные диалоговые окна, способы обмена данными с диалоговым окном; способы динамического позиционирования элементов на форме. Пользовательские элементы управления и привязка данных: работа с изображениями, средства рисования, добавление открытых свойств и событий в элементы управления, управление привязкой данных при помощи стандартных классов, табличное представление данных. Доступ к источникам данных: доступ к файлам и базам данных, автономные модели данных.
Тестирование программного обеспечения
Этапы, методы, виды, уровни тестирования ПО. Связь тестирования ПО с его ЖЦ. Планирование тестовых испытаний ПО. Тестирование документации и требований к ПО. Разработка тестов. Поиск и документирование дефектов. Документирование результатов тестирования ПО. Автоматизация тестирования ПО, модульное тестирование, тестирование сборки. Тестирование безопасности ПО.
Технологии компонентного программирования
Основные понятия компонентного программирования. Модель составных объектов. Технологии программирования, основанные на модели составных объектов. Программирование на основе интерфейсов. Программная поддержка модели составных объектов и создание компонентов. Использование библиотек для создания компонентов. Реализация локального и удаленного серверов. Современные инструментальные системы и средства разработки клиентских и серверных приложений на базе модели компонентных объектов.
Технологии проектирования программного обеспечения информационных систем
Объектно-ориентированный подход к проектированию ПО и его стандартизация. Унифицированный процесс разработки ПО. Объектно-ориентированный язык визуального моделирования: основные элементы языка, классификация и назначение диаграмм, синтаксис и семантика диаграмм, правила построения диаграмм. Методологии и CASE-средства создания объектно-ориентированного ПО.