- •Методические указания к лабораторным работам
- •Лабораторная работа №1 простые программы с циклами и операторами консольного ввода/вывода
- •Задание
- •Описание примера
- •Методика выполнения
- •Содержание отчета
- •Контрольные вопросы
- •Лабораторная работа №2 работа с текстовыми файлами, структурами данных и меню
- •Задание
- •Структурное программирование и функциональная декомпозиция системы
- •Функции
- •Организация меню в консольном приложении
- •Структуры данных
- •Операции с файлами
- •Методика выполнения
- •Содержание отчета
- •Контрольные вопросы
- •Лабораторная работа №3 разработка и спецификация функций и модулей программы
- •Задание
- •Модульная структура программ
- •Параметры командной строки
- •Методика выполнения
- •Содержание отчета
- •Контрольные вопросы
- •Лабораторная работа №4 разработка и спецификация структур данных, использование указателей и динамических массивов структур
- •Задание
- •Указатели
- •Методика выполнения
- •Содержание отчета
- •Контрольные вопросы
- •Лабораторная работа №5 использование объектно-ориентированного программирования в разработке приложений
- •Задание
- •Конструкторы и деструкторы
- •Конструктор по умолчанию
- •Конструктор копирования
- •Массивы объектов
- •Friend-конструкции
- •Методика выполнения
- •Содержание отчета
- •Контрольные вопросы
- •Лабораторная работа №6 использование наследования, полиморфизма и абстрактных классов
- •Задание
- •Наследование данных и методов
- •Полиморфизм и виртуальные функции
- •Абстрактный класс
- •Методика выполнения
- •Содержание отчета
- •Контрольные вопросы
- •Лабораторная работа №7
- •Сложные структуры из объектов классов
- •Цель работы - изучение организации различных структур данных и разработка методов манипулирования данными.
- •Задание
- •Методика выполнения
- •Содержание отчета
- •Контрольные вопросы
- •Лабораторная работа №8 разработка windows-интерфейса приложения
- •Задание
- •Методика выполнения
- •Содержание отчета
- •Контрольные вопросы
- •Лабораторная работа №9 разработка и использование com-сервера
- •Задание
- •Шаблоны классов
- •Использование библиотеки atl для создания серверов сом
- •Методика выполнения
- •Содержание отчета
- •Контрольные вопросы
- •Литература
Методика выполнения
Запустите MS Visual Studio и создайте проект Диспетчера доступа, выполнив все шаги, описанные в разделе «Построение внутрипроцессного сервера СОМ с помощью ATL».
Откройте проект приложения из работы № 8 и добавьте в него проверку прав доступа пользователя к одной из функций. Для этого выполните действия, указанные в разделе «Использование методов COM-сервера в клиентском приложении». Проверьте совместную работу приложения и Диспетчера доступа.
Откройте проект Диспетчера доступа и измените методы проверки права пользователя на доступ к функции. Разработайте структуру записи файла для хранения имен пользователей, паролей и прав доступа. Включите в проект методы для добавления, удаления и редактирования записей о пользователях.
Добавьте в клиентское приложение проверку прав доступа при вызове всех функций приложения. Проверьте работу приложения.
Добавьте в проект экранную форму для работы с данными о пользователях и правах доступа к функциям приложения, а в главное меню клиентского приложения - пункт для вызова этой формы. Включите в состав формы кнопки для выполнения операций по добавлению, удалению и редактированию записей о пользователях в Диспетчере доступа.
Содержание отчета
Отчет готовится в письменном или печатном виде один на бригаду. В отчет включить модель записи файла о пользователе в виде диаграммы Джексона, листинги модулей, результаты тестовых прогонов программы. Листинги должны содержать спецификации модулей и функций, иметь структурированный вид и комментарии.
Контрольные вопросы
Какие существуют типы COM-серверов, их основные отличия?
Что такое интерфейс COM-класса?
Как клиентское приложение взаимодействует с COM-сервером?
Что такое шаблон класса и для чего он предназначен?
Что представляет собой ATL и для чего она предназначена?
Что представляет собой тип данных BSTR?
Назовите основные шаги, которые следует выполнить при создании COM-сервера с помощью мастера ATL COM.
Какие действия нужно выполнить для обращения к методам COM-сервера из клиентского приложения?
Литература
Черносвитов А. Visual C++ 6 и MFC. Курс MCSD для профессионалов – СПб: Издательство «Питер», 2000. – 544 с.: ил.
Тихомиров Ю. Visual C++ 6 – СПб.: БХВ – Санкт-Петербург, 1999. – 496 с., ил.
Павловская Т.А. С/С++. Программирование на языке высокого уровня. - Спб.: Питер, 2006. - 461 с.:ил.
Павловская Т.А., Щупак Ю.А. С/С++. Структурное программирование: практикум. - Спб.: Питер, 2005. - 239 с.:ил.
Павловская Т.А., Щупак Ю.А. С/С++. Объектно-ориентированное программирование: практикум. - Спб.: Питер, 2005. - 265 с.:ил.
Орлов С.А. Технология разработки программного обеспечения: Учебник для вузов. 3-е изд. – СПб.: Питер, 2004. – 527 с.: ил.
Рофэйл Э., Шохауд Я. COM и COM+ . Полное руководство: Пер.с англ. – К.: ВЕК+, К: НТИ, М.: Энтроп, 2000. – 560 с., ил.