Разработка системы компьютерного контроля знаний по дисциплинам кафедры

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

Рубрика Программирование, компьютеры и кибернетика
Вид дипломная работа
Язык русский
Дата добавления 24.10.2010
Размер файла 6,1 M

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.

16

МОСКОВСКИЙ ГОСУДАРСТВЕННЫЙ ОТКРЫТЫЙ УНИВЕРСИТЕТ

Факультет информатики и радиоэлектроники

Кафедра управление и информатика в технических системах

ДИПЛОМНЫЙ ПРОЕКТ

НА ТЕМУ: «Разработка системы компьютерного контроля знаний по дисциплинам кафедры»

Москва

СОДЕРЖАНИЕ

Введение

1. Серверная часть программного комплекса

О программе

1.1 Интерфейс серверной части программного комплекса

1.2 Как работает серверная часть программного комплекса

2. Административная часть программного комплекса

О программе

2.1 Настройки соединения с серверной частью программного комплекса

2.2 Подключение к серверной части программного комплекса

2.3 Описание интерфейса программы

2.3.1 Администрирование

2.3.2 Тестовые вопросы

3. Клиентская часть программного комплекса

О программе

3.1 Интерфейс клиентской части программного комплекса

3.2 Как работает клиентская часть программного комплекса

4. Описание технологий использованных при разработке

4.1 Технология COM

4.1.1 Базовые понятия

4.1.2 Объект

4.1.3 Интерфейс

4.1.4 Интерфейс IUnknown

4.1.5 Сервер СОМ

4.2 Технология DataSnap

4.2.1 Сервер приложения

4.2.2 Клиентское приложение

5. Настройка программного комплекса

5.1 Руководство по установке программного комплекса

5.2 Настройка удаленного доступа.

5.2.1 Настройка DCOM

5.2.2 Удаленный доступ по протоколу HTTP

5.2.3 Удаленный доступ по протоколу TCP/IP

5.3 Настройка IIS

5.3.1 Internet Information Services

5.3.2 Установка компонентов IIS и узлов по умолчанию

6. Организационно экономическая часть

7. Безопасность и экологичность проектных решений

Приложение: Исходный код программного комплекса

Список литературы

Введение

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

Проведя, такой сравнительный анализ я решил, что необходимо разработать программу контроля знаний, которая не имеет выше перечисленных недостатков. С технической точки зрения разработанный мной программный комплекс представляет собой типичное приложение «клиент-сервер», то есть база вопросов и ответов расположена на одном центральном компьютере - сервере. На компьютерах испытуемых устанавливается только клиентская часть, которая предоставляет пользователю удобный интерфейс для проведения контроля знаний. На компьютере преподавателя устанавливается такое же клиентское приложение, которое несет в себе функции редактора вопросов и ответов, а также позволяет просмотреть результаты проведения контроля знаний. Всю обработку информации и выставление оценок осуществляет серверная часть программного комплекса, которая устанавливается на сервере.

Такого рода организация имеет следующие преимущества:

- Изменение или добавление новых вопросов отражаются сразу на всех компьютерах с установленной клиентской частью системы контроля знаний;

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

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

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

1. Серверная часть программного комплекса

О программе

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

1.1 Интерфейс серверной части программного комплекса

Серверная часть программного комплекса (далее сервер) не имеет ни какого пользовательского интерфейса (смотри рисунок 1.1.1.) и после запуска представлен в виде значка на панели задач MS Windows, в трее. При двойном щелчке левой кнопки мыши на значке сервера (глобус) откроется окно сервера (рисунок 1.1.1.) в правой части окна, которого можно наблюдать список подключенных клиентов их IP адрес и имя компьютера

Рисунок 1.1.1.

Если в данный момент ни кто не подключен к серверу, то этот список пуст.

Для хранения вопросов и ответов могут быть использованы база данных MS Access или MS SQL сервер. Для выбора базы данных, а также для минимально необходимой настройке сервера используется контекстное меню. Для получения доступа к контекстному меню сервера необходимо один раз щелкнуть правой кнопкой мыши на значке сервера в трее (рисунок 1.1.2.), и выбрать пункт контекстного меню «Настройка».

Рисунок 1.1.2.

После выбора этого меню будет показано диалоговое окно настроек сервера вид которого зависит от выбранного типа базы данных (смотри рисунок 1.1.3. и рисунок 1.1.4.).

Рисунок 1.1.3.

Рисунок 1.1.4.

Такой способ организации доступа позволяет сделать программный комплекс более гибким. Если необходимо использовать какую либо другую базу данных, то в серверную часть надо будет внести минимальные изменения, которые ни каким образом не коснутся клиентских приложений. То есть клиент даже ни знает, с каким типом базы данных он работает, все необходимые действия по передачи данных от клиента к серверу базы данных (СУБД) и от сервера базы данных к клиенту осуществляет серверная часть программного комплекса.

1.2 Как работает серверная часть программного комплекса

При создании такой архитектуры доступа к данным использовалась технологии СОМ (Component Object Model - модель многокомпонентных объектов) в частности ее расширение технология Borland DataSnap (ранее известной под именем MIDAS, Middle-Tier Distributed Application Services - Средства разработки распределенных приложений среднего уровня), которая позволяет реализовать сервисы промежуточного слоя внутри серверов автоматизации или компонентов Microsoft Component Services. Подробнее об этих технологиях смотри «Описание технологий использованных при разработки». Структурная схема такого рода организации работы представлена на рисунке 1.2.1. Рабочая станция - удаленный компьютер на котором установлена клиентская часть программного комплекса. Серверная часть программного комплекса может быть установлена как на отдельном компьютере подключенном к локальной сети или Интернет так и непосредственно на компьютере на котором установлен сервер базы данных СУБД. Если планируется работать с программным комплексом через Интернет то из соображений безопасности рекомендуется устанавливать серверную часть на специально выделенный для этих целей компьютер, оснащенный брандмауэром, чтобы исключить возможность проникновения злоумышленников из сети Интернет в локальную сеть учебного заведения.

Рисунок 1.2.1.

При подключении к серверу какого либо клиента сервер проверяет на наличие прав доступа у данного клиента если таковые права у него имеются то пользователю будет позволена дальнейшая работа с сервером, в случае отсутствия у него прав (незарегистрированный пользователь) соединение разрывается. В любом случае (успешном или не успешном соединении) ведется запись в журнале, который находится в той же директории где установлен сервер, и имеет название «имя сервера».log, просмотреть его можно с помощью любого текстового редактора.

Помимо предоставления доступа к базе данных вопросов и ответов, сервер также после проведения экзаменационного теста студентом выставляет оному оценку, которую преподаватель может посмотреть с помощью административной части программного комплекса (смотри «Административная часть программного комплекса»). Оценка вычисляется в зависимости от процентного отношения общего количества вопросов, на которые должен ответить студент и правильных ответов (смотри «оценочную таблицу»).

Оценочная таблица.

Диапазон ответов в процентах

Оценка

0

49

2

50

79

3

80

89

4

90

100

5

2. Административная часть программного комплекса

О программе

Данная программа является частью программного комплекса для проверки знаний студентов. И предназначена для административных целей, те есть для ведения базы данных вопросов, вариантов ответов и пользователей. Так же для вывода результатов проверочных тестов студентов в формате Microsoft Excel. Эта программа устанавливается на рабочем месте преподавателя, к которому студенты не имеют доступа.

Данная программа работает под управлением MS Windows XP/Windows 2000/Windows NT.

2.1 Настройки соединения с серверной частью программного комплекса

При первом запуске программы admin.exe необходимо выполнить минимальные необходимые настройки для соединения с серверной частью комплекса. Для этого выбрать пункт меню «Соединение» > «Настройки соединения». В предлагаемом диалоговом окне (смотри рисунок 2.1.1.) указать способ соединения и имя удаленного компьютера, на котором установлена серверная часть программного комплекса.

Рисунок 2.1.1.

Тип соединения означает, какой протокол удаленного доступа будет использоваться программой. Протоколы доступа должны быть уже соответствующим образом сконфигурированы. О настройке протоколов смотри «Настройка программного комплекса».

2.2 Подключение к серверной части программного комплекса

После запуске программы admin.exe, внешний вид которой можно увидеть на рисунке 2.2.1., для соединения с серверной частью программного комплекса, далее сервер (о работе сервера смотри «серверная часть программного комплекса»), необходимо выбрать пункт меню «Соединение» > «Подключение», и предлагаемом окне ввести имя пользователя (логин) и пароль смотри рисунок 2.2.2.

Рисунок 2.2.1.

Подключены Вы или отключены от сервера в данный момент можно узнать по бегущей строке расположенной в строке статуса.

Рисунок 2.2.2.

После ввода правильного имени пользователя и пароля становятся доступными основные функции программы. В случае неверного ввода логина или пароля выдается сообщение «имя пользователя или пароль не опознаны сервером».

2.3 Описание интерфейса программы

2.3.1 Администрирование

Этот пункт меню предназначен для ввода и редактирования списка пользователей, студентов и преподавателей.

Список пользователей

При выборе этого пункта меню появляется диалоговое окно, в котором можно ввести новых пользователей, отредактировать или удалить старых пользователей (рисунок 2.3.1.1.)

Рисунок 2.3.1.1.

При нажатии на кнопку «Добавить» появится диалоговое окно (рисунок 2.3.1.2.), в котором необходимо указать имя пользователя его пароль и статус (студент или преподаватель) которые будут в дальнейшем использоваться для авторизации доступа. После для запоминания введенных данных необходимо нажать на кнопку «Запомнить» появится диалоговое окно внешний вид, которого зависит от выбранного статуса пользователя. Если вы указали статус пользователя «студент» то в данном диалоговом окне необходимо заполнить данные о студенте, с которым будет ассоциироваться указанное ранее имя и пароль (смотри рисунок 2.3.1.3.). Если выбран статус пользователя преподаватель, то необходимо будет указать данные о преподавателе (смотри рисунок 2.3.1.4.). При нажатии на кнопку «Редактировать» можно редактировать данные пользователя внешний вид окна редактирования также зависит от статуса пользователя.

Рисунок 2.3.1.2.

Рисунок 2.3.1.3.

Рисунок 2.3.1.4.

Список студентов.

При выборе этого пункта меню можно наблюдать окно со списком имеющихся студентов (рисунок 2.3.1.5.) в котором при нажатии на кнопку «Ведомость успеваемости» можно получить отчет о результатах сдачи тестовых зачетов и экзаменов в формате Microsoft Excel (рисунок 2.3.1.6.). Для корректной работы необходимо чтобы на компьютере преподавателя было установлено приложение Microsoft Excel.

Рисунок 2.3.1.5.

Рисунок 2.3.1.6.

2.3.2 Тестовые вопросы

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

Предметы и темы

После выбора этого пункта меню появляется диалоговое окно внешний вид оного можно увидеть на рисунке 2.3.2.1. В этом окне можно добавлять и редактировать предметы и темы, касающиеся этих предметов. Для каждой темы необходимо задать необходимое количество вопросов, на которые должен ответить студент.

Рисунок 2.3.2.1.

При нажатии на кнопке «плюс» в разделе «Список предметов» на навигационной панели появится диалоговое окно добавления нового предмета (рисунок 2.3.2.2.). При нажатии на кнопке «плюс» в разделе «Список тем» соответственно появится окно для ввода новой темы, в котором необходимо задать название темы и минимальное количество вопросов, на которые должен ответить студент (рисунок 2.3.2.3.). При добавлении новой темы необходимо следить, чтобы в разделе список предметов был выделен предмет, к которому эта тема относится

.

Рисунок 2.3.2.2.

Рисунок 2.3.2.3.

Кнопка «минус» осуществляет удаление выбранного предмета или темы. При удалении предмета все темы, относящиеся, к этому предмету будут, также удалены. При удалении темы все вопросы и варианты ответов, относящиеся, к этой теме будут удалены. Кнопка «треугольник» позволяет редактировать уже имеющиеся предметы и темы.

Вопросы и ответы

При выборе этого пункта меню в появившемся диалоговом окне, интерфейс которого показан на рисунке 2.3.2.4., можно добавлять, удалять и редактировать вопросы и ответы. При добавлении нового вопроса (перед нажатием на кнопку «плюс» на навигационной панели) необходимо выбрать предмет и тему в выпадающем списке, к которому будет относиться данный вопрос.

Рисунок 2.3.2.4.

При нажатии на «плюс» появится окно для ввода всех необходимых данных касающихся нового вопроса рисунок 2.3.2.5.

Рисунок 2.3.2.5.

После нажатии в этом окне кнопки «Сохранить» можно наблюдать следующее окно (рисунок 2.3.2.6.), в котором необходимо ввести варианты ответов на этот вопрос и указать один правильный ответ. При задании ограничении времени на ответ при тестировании время на обдумывания ответа на вопрос будет ограничено заданным числом. (время ограничения указывается в минутах), если ограничение времени равно нулю, то время на раздумья неограниченно. Рекомендуется задавать ограничение времени равной одной минуте. Данный программный комплекс тестировался на студентах «Волоколамского техникума экономики и права» специальности «Техник программист». Группа из 35 человек, 30 вопросов тестирование, при установке ограничения времени на раздумья одна минута, завершилось по истечении 30 минут с момента начала тестирования. Причем на время проведения тестирование не влияет количество испытуемых студентов, то есть количество одновременно испытуемых студентов ограниченно только наличием средств вычислительной техники соединенных в локальную сеть или подключенных к Интернет серверу учебного заведения.

Рисунок 2.3.2.6.

3. Клиентская часть программного комплекса

О программе

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

3.1 Интерфейс клиентской части программного комплекса

Данная программа работает под управлением MS Windows XP/Windows 2000/Windows NT, внешний вид программы можно увидеть на рисунке 3.1.1.

Рисунок 3.1.1.

При первом запуске программы необходимо выполнить минимальные необходимые настройки для соединения с серверной частью комплекса. Для этого выбрать пункт меню «Подключение» > «Настройки подключения». В предлагаемом диалоговом окне (смотри рисунок 3.1.2.) указать способ соединения и имя удаленного компьютера, на котором установлена серверная часть программного комплекса.

Рисунок 3.1.2.

Тип соединения означает, какой протокол удаленного доступа будет использоваться программой. Если вы выбрали тип соединения DCOM или TCP/IP то необходимо указать имя удаленного компьютера, при выборе типа соединения HTTP то указывается URL адрес удаленного компьютера (смотри рисунок 3.1.3.).

Рисунок 3.1.3.

После завершения всех необходимых настроек можно соединиться с серверной частью программного комплекса (далее сервер), для этого необходимо выбрать меню «Подключение» и предлагаемом диалоговом окне (рисунок 3.1.4.) указать свое имя пользователя и пароль (имя пользователя и пароль получают у преподавателя). Если имя пользователя и пароль указаны правильно то возможна дальнейшая работа с программой, в противном случае выдается сообщение «имя пользователя или пароль не опознаны сервером». Подключены вы или отключены от сервера, в данный момент, можно увидеть в строке статуса в низу главного окна программы.

Рисунок 3.1.4.

3.2 Как работает клиентская часть программного комплекса

После успешного подключения к серверу, для получения задания от студента требуется выбрать пункт меню «Тестовые вопросы» > «Получить задание» и в появившимся диалоговом окне выбрать предмет, а затем и тему по которым он хотел бы проверить свои знания (рисунок 3.2.1.).

Рисунок 3.2.1.

После выбора предмета и темы и нажатии на кнопку «Принять» в следующем диалоговом окне (рисунок 3.2.2.) студенту будут предложены ряд случайно выбранных вопросов касающихся данного предмета и темы, на которые он должен ответить, выбрав из предлагаемого списка вариантов ответов один ответ который он считает правильным.

Рисунок 3.2.2.

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

После того как студент ответит на все вопросы ему будет выставлена соответствующая оценка согласно процентного соотношения верных и неверных ответов.

4. Описание использованных технологий при разработке программного комплекса

4.1 Технология COM

Технология COM (Component Object Model -- модель многокомпонентных объектов) представляет собой платформо-независимую распределенную объектно-ориентированную систему, обеспечивающую взаимодействие между своими компонентами. Технология СОМ является основой для технологий OLE, ActiveX и многих других. СОМ не определяет структуру приложения. Язык программирования, структура и реализация деталей оставлены на усмотрение программиста. Скорее, СОМ предоставляет разработчику объектную модель и код, необходимые для получения доступа к данному объекту и взаимодействия с другими объектами. Объекты могут быть расположены «внутри» данного процесса, в другом процессе или на удаленной машине. Для того чтобы иметь возможность работать с СОМ - объектами, язык программирования должен поддерживать структуру указателей и также, явно или неявно, вызов функций через указатели. В общем случае объект приложения представляет собой совокупность данных и функций, манипулирующих ими. Объект СОМ взаимодействует с данными при помощи зависимых функций. Эти функции называются интерфейсами, а функции, вызываемые интерфейсами, называют методами. Кроме того, СОМ определяет, что получить доступ к методам интерфейса можно только через указатель на интерфейс. С другой стороны, устанавливая стандарт простых двоичных объектов, СОМ определяет универсальные интерфейсы, предоставляющие функции для работы со всеми СОМ - технологиями.

4.1.1 Базовые понятия

В технологии СОМ приложение предоставляет для использования свои службы, применяя для этого СОМ - объекты. Приложение может использовать один или несколько объектов. Любой объект СОМ может иметь один или несколько интерфейсов. Интерфейс предоставляет приложению методы, позволяющие получить доступ к данным и работать с ними. Как правило, в интерфейсы объединяются методы, предназначенные для выполнения операций одного типа.

Клиентское приложение может обращаться к функциям объекта только через интерфейсы и их методы. Приложению достаточно знать несколько базовых методов для того, чтобы получить информацию о совокупности свойств, интерфейсов и методов данного объекта. Объект работает в составе сервера СОМ. Сервер СОМ может быть исполняемым файлом либо динамической библиотекой. В любом случае, он обязательно предоставляет приложению описание объектов, входящих в его состав. Для доступа к методам объекта клиент должен получить указатели на соответствующие интерфейсы. Используя методы объекта, клиент может вызывать его службы и обращаться к его свойствам. Взаимодействие между объектом и клиентом обеспечивается средствами СОМ и скрыто от клиента. На рисунке. 4.1.1.1. представлена схема, изображающая сказанное. Объект СОМ может находиться в другом процессе, библиотеке или даже на другой машине. Клиентское приложение будет работать с ним точно так же, как если бы он находился в адресном пространстве приложения. Механизм, позволяющий клиенту вызывать функции «удаленных» объектов, называется маршалингом.

Рисунок 4.1.1.1.

Любой объект СОМ является обычным экземпляром некоего класса, документирующего свои свойства и методы. Информация обо всех зарегистрированных и доступных в данной операционной системе классах СОМ собрана в специальной библиотеке СОМ, которая используется для инициализации экземпляра класса. Сначала клиент обращается к библиотеке СОМ, передавая ей имена требуемого класса и необходимого интерфейса. Библиотека находит нужный класс и сначала запускает сервер, который затем создает объект -- экземпляр класса. После этого библиотека возвращает клиенту указатели на объект и интерфейс. В последующей работе клиент может обращаться непосредственно к объекту.

За создание объекта отвечает специальный объект СОМ, называемый фабрикой классов. После создания объекта наступает фаза его инициализации, в ходе которой считываются настройки из системного реестра и загружаются необходимые стартовые данные. За эти процессы отвечают специальные объекты СОМ, называемые моникерами. С любым объектом СОМ поставляется библиотека типов, в которой описываются его свойства, методы и интерфейсы. Данная библиотека создается с помощью специального языка описания интерфейса Interface Definition Language (IDL).

4.1.2 Объект

Объект СОМ является обычным объектом со специфичной реализацией ряда свойств. Физически он реализован в виде исполняемого кода, который выполняет какую-либо функцию и имеет один и более интерфейс. Каждый объект СОМ реализует экземпляр соответствующего класса. Объект может иметь любое число интерфейсов, и каждый интерфейс имеет свой собственный указатель. Основное отличие СОМ - объекта от объекта ООП заключается в том, что он наследует не реализацию интерфейсов, а только их объявления. Если какому-либо объекту нужен наследуемый метод другого объекта, то он вызывает его -- данный механизм называется включением. Каждый объект СОМ имеет свой уникальный идентификационный номер. К примеру, какой-либо объект «знает» о том, что другой объект имеет интерфейс с необходимым методом. Если сторонний разработчик переопределил данный метод, то информация, которую имеет первый объект, будет неверной. Следовательно, возникнет ошибка со всеми вытекающими последствиями. Механизм агрегирования позволяет использовать интерфейсы других объектов, передавая вызывающему объекту указатели на них.

4.1.3 Интерфейс

Интерфейс является связующим звеном между объектом СОМ и клиентским приложением. Через интерфейс приложение может корректно обратиться к объекту и получить от него данные. Интерфейс является группой логически и семантически связанных методов, обеспечивающих взаимодействие между сервисом сервера СОМ и его клиентом. Любой интерфейс однозначно идентифицируется глобальным уникальным идентификатором GUID (Globally Unique Identifier). Этот идентификатор является 128-битным номером, вероятность повторения которого стремится к нулю. Данный номер для интерфейсов называется IID (Interface Identifiers). Также интерфейс имеет имя, перед которым ставится символ «I». Идентификатор интерфейса позволяет избежать конфликта имен между разными версиями данного интерфейса или

интерфейсами других объектов.

Все объекты СОМ поддерживают базовый интерфейс IUnknown. Данный интерфейс имеет метод Querylnterface, используя который, клиентское приложение может получить информацию обо всех интерфейсах объекта. Вместе с объектом СОМ поставляется библиотека типов, в которой на языке IDL описываются методы интерфейса. Так как объекты СОМ хранятся в двоичном формате (скомпилированном виде), то это обеспечивает их независимость от конкретного языка программирования, что и делает эту технологию универсальной. Интерфейс имеет специальную виртуальную таблицу (VTable), которая содержит массив указателей на все его методы. Клиентское приложение обращается к определенному интерфейсу через его указатель, затем данный интерфейс получает указатель на необходимый метод, используя виртуальную таблицу. На рисунке. 4.1.3.1 приведена соответствующая схема.

Рисунок 4.1.3.1.

Когда указатель на нужный метод получен, можно выполнять соответствующий метод. Таким образом, обращение происходит по цепочке. Виртуальная таблица представляет собой механизм, сходный с таблицами виртуальных функций в Delphi.

4.1.4 Интерфейс IUnknown

Интерфейс IUnknown является базовым интерфейсом для всех объектов. Он управляет механизмом учета ссылок и позволяет клиентам получать указатели на другие интерфейсы данного объекта, используя метод Querylnterface. Все интерфейсы, прямо или косвенно, берут свое начало от этого интерфейса. В виртуальной таблице VTable три метода интерфейса IUnknown расположены первыми, а за ними следуют собственные методы интерфейса.

Метод Querylnterface возвращает указатель на интерфейс объекта, идентификатор IID которого указывает на запрашиваемый интерфейс. Если объект не имеет интерфейса с данным IID, то метод возвращает значение NULL. Интерфейс IUnknown реализует механизм учета ссылок с помощью методов AddRef и Release. Объект должен существовать до тех пор, пока с ним работает хотя бы один клиент. Объект имеет специальный счетчик ссылок, который увеличивается на единицу при подключении нового клиента и уменьшается на единицу при завершении его работы. Клиент не может уничтожить объект, так как с ним могут работать другие клиенты. Увеличение счетчика ссылок выполняется методом AddRef. Метод возвращает увеличенное на единицу количество ссылок на объект. Данный метод должен вызываться, когда указатель на интерфейс передается какому-либо объекту. Метод Release уменьшает счетчик ссылок на объект на единицу. Когда значение счетчика достигает нуля, объект завершает свою работу и выгружается из памяти. Данный метод должен обязательно вызываться клиентом, использовавшим данный интерфейс.

4.1.5 Сервер СОМ

Сервер СОМ является библиотекой или приложением, предоставляющим сервисы клиентскому приложению или библиотеке. Сервер СОМ может состоять из одного и более объектов СОМ. Объекты СОМ выступают в роли наборов свойств и методов. Клиенту не обязательно знать, где расположен объект СОМ, так как технология предоставляет прозрачный доступ независимо от расположения объекта.

Различают три типа серверов:

- Внутренний сервер (In-process server) является библиотекой DLL, подключаемой к клиентскому приложению и работающей с ним в одном адресном пространстве. В качестве примера можно привести элемент управления ActiveX, отображаемый на веб-странице. Элемент управления запускается внутри некоторого процесса браузера. Схема показана на рисунке 4.1.5.1.

Рисунок 4.1.5.1.

- Локальный сервер (Local server) создается отдельным процессом, работающим на той же машине, что и клиентское приложение.

- Удаленный сервер (Remote server) является динамической библиотекой или приложением, которое выполняется на другой машине. Удаленный сервер использует технологию Distributed COM (DCOM) для предоставления доступа к интерфейсам.

При разработке серверной части программного комплекса использовался как раз третий тип COM - сервера.

Как показано рисунке 4.1.5.2., если объект СОМ расположен вне текущего процесса на той же машине, что и клиент, или на удаленной, то получаемый клиентом указатель интерфейса ссылается на специальный proxy-объект СОМ, который функционирует внутри клиентского процесса. Прокси предоставляет клиенту те же интерфейсы, что и вызываемый объект СОМ на локальном или удаленном сервере. Получив вызов от клиента, прокси упаковывает его параметры и с помощью специальных служб операционной системы передает его серверу. На стороне сервера расположен специальный объект СОМ -- заглушка (Stub). Он распаковывает вызов и передает его требуемому объекту СОМ. Результаты возвращаются тем же путем, но в обратном порядке. Удаленный сервер функционирует так же, как и локальный, за исключением того, что передача вызовов между клиентом и сервером осуществляется средствами DCOM при помощи механизма вызова удаленных процедур (Remote Procedure Calls). Механизм, позволяющий клиенту получать доступ к объектам, расположенным в другом адресном пространстве или на другой машине, называется маршалингом (Marshaling).

Рисунок 4.1.5.2.

Маршалинг должен выполнять две основные функции:

- принимать указатель на интерфейс из процесса сервера и делать доступным указатель на прокси в процессе клиента;

- передавать аргументы вызовов интерфейса таким образом, как будто они пришли от клиента, и размещать аргументы в процесс удаленного объекта.

Маршалинг обеспечивает процесс упаковки параметров запроса, а демаршалинг, соответственно, их распаковку. Может использоваться стандартный тип маршалинга, реализуемый сервером СОМ, либо альтернативный, в случае использования которого для каждого объекта динамически настраиваются параметры прокси и заглушки.

4.2 Технология DataSnap

Технология DataSnap применяется для создания распределенных систем, состоящих в общем случае из сервера баз данных, сервера приложения и клиентского приложения, часто называемого «тонким клиентом». Как правило, тонкий клиент представляет собой «облегченное» приложение, предоставляющее пользователю возможность получать и редактировать данные. Клиентское приложение взаимодействует с сервером приложения (Application Server), который напрямую взаимодействует с сервером баз данных, передает ему запросы и возвращает полученные данные тонкому клиенту. В рамках технологии DataSnap сервер приложения является сервером СОМ, предоставляющим свои интерфейсы конечным пользователям. В общем случае сервер приложения располагается на той же машине, что и сервер СУБД, но может располагаться и на удаленном сервере.

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

В качестве промежуточного слоя используется сервер приложения. Этот сервер взаимодействует с сервером БД, используя одну из технологий доступа к данным, предоставляемых Delphi. Как известно, Delphi позволяет для доступа к данным использовать ADO, BDE, InterBase eXpress и dbExpress. Удаленные клиентские приложения строятся на основе компонентов палитры DataSnap. Как правило, клиентские компьютеры являются довольно слабыми системами, поэтому использование сервера приложений позволяет существенно снизить нагрузку на них и поднять производительность системы в целом.

Передача данных между сервером приложений и клиентом осуществляется с помощью интерфейса IAppServer, предоставляемого сервером приложения. Этот интерфейс использует компоненты, основанные на классе TDataSetProvider на стороне клиента и компоненты TClientDataSet на стороне сервера.

4.2.1 Сервер приложения

Основой сервера приложений является удаленный модуль данных. Он инкапсулирует все необходимые объекты и интерфейсы для разработки многозвенных баз данных. Удаленный модуль данных может содержать невизуальные компоненты доступа к данным. Также этот модуль данных может включать в себя готовый удаленный сервер. Удаленный модуль данных осуществляет взаимодействие с клиентскими приложениями при помощи интерфейса IAppServer. Интерфейс предоставляет методы, используя которые, клиентское приложение может получать и передавать данные. В модуле данных также размещаются компоненты-провайдеры TDataSetProvider, связываемые со всеми наборами данных. Они получают данные и передают их компонентам TClientDataSet, расположенным на клиентской стороне. В состав Delphi входят несколько удаленных модулей данных. Они располагаются на страницах палитры компонентов Multitier, WebServices и WebSnap:

- Компонент CORBA Data Module позволяет реализовать сервер CORBA.

- Компонент Remote Data Module создает сервер автоматизации.

- Компонент Transactional Data Module является расширением Remote Data Module и реализует сервер MTS.

- Компонент WebSnap Data Module позволяет реализовать веб - сервер.

- Компонент Soap Server Data Module используется для создания сервера SOAP (Simple Object Access Protocol).

4.2.2 Клиентское приложение

Клиентское приложение строится на базе компонента-соединения, предоставляющего доступ к серверу приложения через интерфейс IAppServer. В Delphi реализовано несколько компонентов соединений, взаимодействующих по различным протоколам:

- Компонент TDCOMConnection использует для взаимодействия технологию DCOM.

- Компонент TSocketConnection для той же цели использует сокеты.

- Компонент TWebConnection использует протокол HTTP.

- Компонент TSOAPConnection использует протокол SOAP.

Компоненты TClientDataSet получают данные и работают с ними в режиме кэширования. На рисунке 4.2.2.1. приведена схема, иллюстрирующая порядок работы.

Рисунок 4.2.2.1.

В данном программном комплексе реализована возможность соединения с удаленным сервером с помощью DCOM, TCP/IP и HTTP. Технология Microsoft Distributed Component Object Model (DCOM) является расширением COM, позволяющим взаимодействовать объектам СОМ, расположенным на разных машинах. Используя эту технологию, взаимодействующие объекты СОМ могут функционировать в локальной сети, в Интернете и иных подключенных системах.

Рисунок 4.2.2.2.

На рисунке 4.2.2.2. представлена схема работы технологии DCOM. Одной из центральных частей технологии является механизм установления соединения и создание нового экземпляра объекта. Клиент вызывает метод CoCreatelnstance, в качестве параметра которому передает идентификатор CLSID требуемого объекта. Если CLSID и имя сервера известны, библиотека СОМ вызывает менеджер служб (Service Control Manager) клиентской машины, который передает запрос менеджеру служб сервера и инициирует создание объекта СОМ. Далее взаимодействие происходит через службу RPC.

5. Настройка программного комплекса

5.1 Руководство по установке программного комплекса

Для установки программного обеспечения входящего в систему компьютерного контроля знаний (далее система) необходимо вставить в привод CD или DWD ROMа компакт диск с установочным комплектом системы, после чего будет автоматически запущено графическое меню в котором можно выбрать компоненты которые вы хотите установить (смотри рисунок 5.1.1).

Рисунок 5.1.1.

После выбора необходимого компонента появится диалоговое окно мастера установки программ, в котором можно выбрать язык мастера установки (рисунок 5.1.2.)

Рисунок 5.1.2.

Выбрав язык который будет использоваться в процессе установке и нажав кнопку «ОК» на экране монитора можно будет увидеть окно приветствия мастера установки в котором необходимо будет нажать кнопку «Далее». Поле этого появится окно лицензионного соглашения, в котором вам, будет предложено, согласится с этим или не согласится, в случае несогласия установка программного обеспечения будет прервана (рисунок 5.1.3.).

Рисунок 5.1.3.

Установив галочку в «Я принимаю условия соглашения» и, нажав кнопку «Далее», которая после этого станет активной - мастер установки отобразит следующее диалоговое окно. В этом окне необходимо будет указать информацию о пользователе и также нажать кнопку далее для продолжения установки ПО.

Далее в процессе установки мастер отобразит диалоговое окно, где можно указать директорию или оставить ту, которую предлагает мастер по умолчанию, куда мастер установит программу (рисунок 5.1.4.).

Рисунок 5.1.4.

Нажмите кнопку «Далее» для появления следующего окна мастера. В этом окне укажите папку в меню пуск, в которой будут созданы ярлыки для запуска программы и нажмите кнопку «Далее». Появится следующее окно, в котором дополнительно можно выбрать, чтобы мастер создал ярлык для запуска программы на рабочем столе и нажмите кнопку «Далее» для продолжения установки и появления следующего окна мастера установки. В этом окне нажмите кнопку «Установить» и дождитесь окончания установки (рисунок 5.1.5).

Рисунок 5.1.5.

После окончания установки программу можно запустить через меню пуск или из ярлыка на рабочем столе. Если вы не хотите больше пользоваться программой, удалить ее можно с помощью мастера удаления программ, ярлык, для запуска которого расположен в меню пуск в папке с установленной программой (рисунок 5.1.6).

Рисунок 5.1.6.

5.2 Настройка удаленного доступа

5.2.1 Настройка DCOM

Для конфигурирования DCOM существует утилита DCOMCNFG, входящая в комплект поставки Windows NT, Windows 2000 и Windows XP (запустить ее можно из командной строки). Для Windows 95/98 поддержка DCOM устанавливается отдельно, и соответствующую утилиту для этих операционных систем можно найти на web сайте компании Microsoft (http://www.Microsoft.com) .

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

При таком способе доступа к серверу необходимо, чтобы все клиенты и сам сервер располагались внутри одного домена.

Получив список пользователей и групп пользователей домена, с помощью утилиты DCOMCNFG следует предоставить права на запуск сервера тем или иным пользователям. Запустив эту утилиту, в случае Windows NT/2000 находят нужный сервер в списке всех COM-серверов, зарегистрированных на данном компьютере и затем задают правила использования выбранного сервера.

В случае Windows XP выполнение команда DCOMCNFG приводит к запуску средства управления службами компонентов Component Services Explorer, и для настройки доступа к приложениям с помощью DCOM следует найти раздел Console Root/Component Services/Computers/My Computer/DCOM Config (Корень консоли/Службы компонентов/Компьютеры/Мой компьютер/Настройка DCOM) - в нем находится список всех зарегистрированных на данном компьютере COM-серверов. (рисунок 5.2.1.1.)

Для задания правила использования выбранного сервера в Windows NT/2000 нужно щелкнуть на кнопке Properties (Свойства). В случае Windows XP нужно выбрать команду Properties в контекстном меню соответствующего сервера. Далее в открывшимся диалоговом окне перейти на вкладку Location (Расположение) и установить флажок Run Application on this computer (Запускать приложение на данном компьютере) (рисунок 5.2.1.2).

Далее нужно перейти на вкладку Security (Безопасность), установить переключатель Use custom access permission (Разрешение на доступ настраиваемое).

Рисунок 5.2.1.1.

После чего щелкнуть на находящейся рядом кнопке Edit (Изменить) (рисунок 5.2.1.3). Это позволит выбрать пользователей и группы пользователей, которые смогут подключиться к уже запущенному серверу (из этого разрешения вовсе не следует, что они могут инициировать его запуск).

Затем в открывшемся окне со списком пользователей (рисунок 5.2.1.4), уже имеющих разрешение (он может быть пуст), следует выбрать Add (Добавить) и выбрать в списке пользователей домена (рабочей группы) того пользователя (или группу пользователей), которому нужно дать подобное разрешение.

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

Чтобы разрешить пользователю или группе пользователей не только удаленно обращаться к запущенному серверу, но и инициировать его запуск, в окне задания параметров разрешения (рисунок 5.2.1.3.) следует установить переключатель Use custom launch permissions (Разрешение на запуск), щелкнуть на кнопке Edit (Изменить) и повторить все описанные выше шаги. С помощью переключателя Use custom configuration (Разрешение на изменение настроек) и соответствующей кнопки Edit (Изменить) можно указать кому из пользователей разрешено менять настройки данного сервера, если таковые имеются.

Рисунок 5.2.1.2.

Чтобы окно сервера отображалось на экране, и был доступен пользовательский интерфейс этого сервера, следует в окне задания параметров разрешений (рисунок 5.2.1.2) перейти на вкладку Identity (Удостоверение) и установить переключатель The interactive user (Текущий пользователь). В этом случае приложение будет запущено от имени пользователя, зарегистрированного на данном компьютере, и именно этому пользователю будут доступны экран и внешние устройства - мышь, клавиатура.

Во всех остальных случаях кнопка приложения, сигнализирующая о наличии сервера, на панели задач отображаться не будет, пользовательский интерфейс сервера окажется недоступным, то есть его формы на экране не появятся, а команды от мыши и клавиатуры не будут выполняться. При этом если в процессе работы сервера потребуется вывести модальное диалоговое окно, создастся впечатление «зависания» приложения. Выгрузить такое приложение можно, только уничтожив его процесс с помощью утилиты Task Manager (Диспетчер Задач), что удается далеко не всегда - ведь владельцем процесса является другой пользователь.

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

Рисунок 5.2.1.3.

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

Рисунок 5.2.1.4.

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

После этого можно с помощью той же утилиты DCOMCNFG указать, что выбранный COM-сервер запускается не на данном компьютере, а на удаленном.

5.2.2 Удаленный доступ по протоколу HTTP

Применение протокола HTTP для удаленного доступа к COM-серверам основано на том же принципе, что и применение протокола TCP/IP, на компьютере, содержащем COM-сервер, запускается универсальный COM-клиент, способный обращаться к определенным категориям COM-серверов и вызывать их методы, при этом COM-клиент взаимодействует не с сервером, а с универсальным COM-клиентом, используя для этой цели протокол HTTP. Такой клиент входит в комплект поставки Delphi и реализован в виде ISAPI-библиотеки HTTPSRVR.DLL, выполняющийся в адресном пространстве сервера Microsoft Internet Information Services (IIS), начиная с версии 4.0, или сервера Microsoft Personal Web Server (последний доступен на web-сервере компании Microsoft). Эту библиотеку следует поместить в каталог, который предназначен для хранения файлов, исполняемых с помощью IIS по запросу внешних пользователей (если использовать настройки IIS заданные по умолчанию, это каталог InetPub\wwwroot\Scripts), при этом сам сервер IIS должен быть запущен.

Рисунок 5.2.2.1.

Кроме того ISS должен быть соответствующем образом сконфигурирован, то есть должен быть установлено разрешение на запуск сценариев и исполняемых файлов. (рисунок 5.2.2.1)

Подробнее об Internet Information Services смотри «Настройка Internet Information Services».

5.2.3. Удаленный доступ по протоколу TCP/IP

Удаленный доступ к COM-серверам с помощью протокола TCP/IP обычно реализуется путем создания COM-клиента, который располагается на том же компьютере, что и сервер, и может инициировать его запуск и вызывать его методы. Удаленный контролер автоматизации при этом обращается не к серверу, а к созданному COM-клиенту, передавая ему имя сервера, имена методов и их параметры и получая в ответ результаты их выполнения. Таким образом, ни какие сервисы DCOM в этом случае не используются - COM-клиент и COM-сервер выполняются на одном и том же компьютере.

В состав Delphi, входит универсальный COM-клиент - Borland Socket Server (файл scktsrvr.exe в каталоге Delphi\Bin). Версии этого приложения, входившие в состав Delphi 3 и 4, будучи запущенными, на каком-либо компьютере, позволяли осуществить доступ к любым COM-серверам, причем с любого удаленного компьютера, который мог обращаться к данному компьютеру по протоколу TCP/IP (в общем случае не только через локальную сеть, но и через Интернет). При этом к компьютеру, содержащему клиентское приложение, не предъявлялось практически ни каких требований, кроме собственно поддержки протокола TCP/IP и возможности доступа по указанному порту к компьютеру, содержащему Socket Server.

Загрузить Socket Server можно как исполняемый файл, просто запустив исполняемый файл scktsrvr.exe из каталога Delphi\Bin, или зарегистрировать его как сервис Windows NT или Windows 2000 (с помощью команды scktsrvr.exe /install). После запуска на панели задач появится соответствующий значок, при щелчке на котором открывается окно приложения Socket Server (рисунок 5.2.3.1)

Рисунок 5.2.3.1.

5.3 Настройка IIS

5.3.1 Internet Information Services

Службы Microsoft Internet Information Services (IIS, Информационные службы Интернета) -- средства разработки надежных и масштабируемых приложений, предназначенных для создания и управления узлами и серверами World Wide Web. Они позволяют публиковать информацию в интрасетях, внешних сетях и Интернете, а также предоставляют разнообразные взаимосвязанные службы, необходимые современным Web-узлам: File Transfer Protocol (FTP), Simple Mail Transfer Protocol (SMTP), Network News Transfer Protocol (NNTP) и др. В IIS имеется и дополнительная служба - Indexing Service (Служба индексирования). Она связана с перечисленными компонентами и служит для создания каталогов документов. Indexing Service, реализованная на Web-узле, позволяет производить поиск информации с помощью обычной HTML-формы.

IIS обладает множеством функций. Вот некоторые из них.

* Протокол HTTP 1.1 и HTTP-сжатие IIS полностью поддерживают протокол Hyper Text Transfer Protocol (HTTP) версии 1.1 и используемые им усовершенствованные алгоритмы сжатия. HTTP-сжатие позволяет сжимать статичные и динамические результаты HTTP-запросов для передачи их клиентам, поддерживающим протокол HTTP 1.1.

* Заголовки узлов На компьютере с одним IP-адресом можно размещать несколько Web-узлов. Для определения запрошенного клиентом узла IIS использует имя компьютера, переданное в HTTP-заголовке.

* Перезапуск FTP при разрыве связи с FTP-узлом позволяет воспользоваться командой REST и продолжить загрузку файла с места разрыва.

* Active Server Pages (ASP) Этот язык сценариев предназначен для создания динамических интерактивных Web-приложений, выполняющихся на Web-сервере. ASP допускает использование HTML-кода, сценариев и СОМ-компонентов.

* Защита приложения. ASP-приложения выполняются в отдельной области памяти. Приложения с низким уровнем защиты выполняются в процессе и разделяют ресурсы с IIS. Приложения со средним уровнем защиты -- в групповом процессе, т. с. используют один и тот же процесс, отличный от обычных ресурсов IIS. Приложения с высоким уровнем защиты выполняются полностью вне процесса: они не разделяют какие-либо процессы, и их отказ не влияет на другие программы,


Подобные документы

  • Проект реляционной базы данных "Спортивные соревнования": oпиcaние предметнoй oблacти. Организация выборки информации из БД, механизмы управления, обмен данными между серверной частью и клиентским приложением. Экономическое обосновaние внедрения проекта.

    курсовая работа [5,3 M], добавлен 21.06.2011

  • Структура данных в динамической памяти, однонаправленные списки. Разработка программного комплекса, предназначенной для хранения и предоставления пользователям данных об улицах города. Реализация данной программы при помощи метода расширения ядра.

    курсовая работа [438,3 K], добавлен 11.01.2016

  • Автоматизация процессов трудоустройства безработных; разработка приложения "DBcontrolle" для государственного учреждения "Ставропольская трудовая биржа". Управление данными в базе, триггеры. Обмен данными между серверной частью и клиентским приложением.

    курсовая работа [1004,9 K], добавлен 03.07.2011

  • Анализ методов и средств контроля доступа к файлам. Проблемы безопасности работы с файлами, средства контроля доступа ним. Идеология построения интерфейса, требования к архитектуре. Работа классов системы. Оценка себестоимости программного продукта.

    дипломная работа [2,5 M], добавлен 21.12.2012

  • Характеристика системы программирования. Главные составные части Delphi. Интерфейс программного приложения. Результаты работы программы. Руководство системного программиста и оператора. Язык программирования Delphi, среда компилятора Borland 7.0.

    курсовая работа [1,6 M], добавлен 29.05.2013

  • Операционная система Windows фирмы Microsoft во всех ее проявлениях. Ее интерфейс как универсальный механизм управления любым приложением ОС. Свойства анимационного пользовательского интерфейса. Настройка программного продукта, его адаптация к технике ПК.

    контрольная работа [50,5 K], добавлен 03.05.2009

  • Разработка программного приложения WindowsForms для работы с базой данных на языке высокого уровня C# в автономном режиме с использованием ADO.NET. Проектирование реляционной модели базы данных, интерфейса приложения, основных функций и возможностей.

    курсовая работа [4,3 M], добавлен 30.06.2015

  • Системный анализ предметной области. Выбор инструментальных средств для создания программного обеспечения. Программирование на стороне SQL-сервера. Создание клиентского Win-приложения, пользовательский интерфейс. Физическое проектирование базы данных.

    курсовая работа [3,7 M], добавлен 20.11.2013

  • Проектирование базы данных "Менеджер". Выбор системы проектирования и реализации. Задачи, выполняемые приложением. Технические требования, предъявляемые к базе данных. Ее информационно-логическая структура. Основные принципы работы с приложением.

    дипломная работа [2,5 M], добавлен 20.05.2013

  • Проектирование серверного компонента, исполняющегося на узле кластера EMC Centera. Протокол взаимодействия компонентов, способный восстанавливаться после разрыва соединения между компонентами. Графический интерфейс пользователя для программного комплекса.

    дипломная работа [1,1 M], добавлен 18.07.2014

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.