Разработка программного комплекса сбора информации из вычислительной системы и сохранения ее в общий файл (или базу данных) на сервере - Курсовая работа
Сравнительный анализ языков программирования Delphi и С . Определение информации о мониторе, сетевых адаптерах и запущенных процессах. Транспортировка информации на сервер. Сбор информации о времени работы пользователей. Описание основных алгоритмов.
Аннотация к работе
Тема курсового проекта: Разработка программного комплекса сбора информации из вычислительной системы и сохранением ее в общий файл (или базу данных) на сервере. В работе необходимо рассмотреть следующие вопросы: определение полной информации о мониторе; сбор информации о дате и времени входа и выхода из системы определенного пользователя (подсчет времени, сколько каждый пользователь провел в системе).Delphi имеет один из самых быстрых компиляторов, порождающий, тем не менее, весьма и весьма неплохой объектный код. облегчающие жизнь нововведения - вроде свойств (properties); программы, написанные на Delphi, не требуется снабжать дополнительными библиотеками (в отличие от связки C /MFC). В самом деле, VCL предоставляет удобный, легко расширяемый объектно-ориентированный интерфейс к Windows, что ни в коей мере не мешает программисту опускаться в самые глубины Windows API.Главный, на мой взгляд, недостаток (и одновременно достоинство) - статическое присоединение библиотеки VCL и компонентов к исполняемому файлу. Однако если не увлекаться интерфейсными «наворотами» и использовать в программе минимально необходимое число компонентов, то исполняемый файл будет невелик. Другой недостаток (и опять же достоинство) состоит в том, что в используемой в Delphi парадигме форм (Forms) вся информация о форме, включая свойства, настройки компонентов, значения по умолчанию, хранится в exe-файле, причем не оптимальным образом. Мне, например, не достает шаблонов, перегрузки операторов и объектной модели, похожей на объектную модель C .Весь код, неявно генерируемый компилятором для реализации языковых возможностей (например, при преобразовании переменной к другому типу), определен в стандарте. Это дает возможность замерять или рассчитывать время реакции программы на внешнее событие; Это упрощает (достаточно объявить переменную) и делает более надежным освобождение ресурсов (память, файлы, семафоры и т. п.), а также позволяет гарантированно выполнять переходы состояний программы, не обязательно связанные с освобождением ресурсов (например, запись в журнал); Это делает программу надежнее, так как позволяет компилятору, например, диагностировать ошибочные попытки изменения значения переменной. Объявление константности дает программисту, читающему текст программы дополнительное представление о правильном использовании классов и функций, а также может являться подсказкой для оптимизации.Их легко спутать, при этом операция присваивания возвращает значение, поэтому присваивание на месте выражения является синтаксически корректным, а в конструкциях цикла и ветвления появление числа на месте логического значения также допустимо, так что ошибочная конструкция оказывается синтаксически правильной. В результате, вместо того, чтобы сравнить текущее значение x с нулем, программа присвоит x нулевое значение, а потом интерпретирует его как значение условия в операторе if. Наличие этих операций в Си было вызвано желанием получить инструмент ручной оптимизации кода, но в настоящее время оптимизирующие компиляторы обычно генерируют оптимальный код и на традиционных выражениях. С другой стороны, один из основных принципов языков Си и C - позволять программисту писать в любом стиле, а не навязывать «хороший» стиль; Подключение интерфейса внешнего модуля через препроцессорную вставку заголовочного файла (#include) серьезно замедляет компиляцию при подключении большого количества модулей (потому что результирующий файл, который обрабатывается компилятором, оказывается очень велик).Рассмотрим класс Win32_DESKTOPMONITOR [3]. Класс Win32_DESKTOPMONITOR предоставляет сведения о мониторе, подключенном к компьютерной системе. Set OBJSERVICE = GETOBJECT("winmgmts:{IMPERSONATIONLEVEL=impersonate}!\\.
oot\CIMV2") WSCRIPT.Echo Err.Number & ": "& Err.Description For Each OBJMON In OBJSERVICE.EXECQUERY("SELECT * FROM Win32_DESKTOPMONITOR")Рассмотрим классы Win32_NETWORKADAPTER и Win32_NETWORKADAPTERCONFIGURATION по [3]. Классы Win32_NETWORKADAPTER и Win32_NETWORKADAPTERCONFIGURATION содержат сведения о сетевых адаптерах. Класс Win32_NETWORKADAPTERCONFIGURATION предоставляет ряд свойств сетевого адаптера, а также включает дополнительные методы, которые поддерживают управление протоколами TCP/IP и IPX, службами DNS, DHCP, WINS и т.д. Перечень свойств и методов этого класса достаточно обширен; для получения информации обращайтесь к MSDN. WSCRIPT.Echo Err.Number & ": "& Err.DescriptionДля получения и описания списка процессов используется класс Win32_Process. Пример программы: OPTIONEXPLICIT Dim OBJWMISERVICE, OBJPROCESS, COLPROCESS ("Select * from Win32_Process")Транспортировку информации можно осуществить при помощи компоненты класса IDFTP, в которой определены свойства: host, port, username, password и функции управления: connect, changedir, put, disconnect. В качестве сервера необходимо указать IP-адрес. Пример программы с использованием IDFTP: IDFTP1.Host:=Trim(EDITIP.
План
Содержание
Введение
1. Сравнительный анализ языков программирования
1.1 Анализ языка программирования Delphi
1.1.1 Достоинства языка программирования
1.1.2 Недостатки языка программирования
1.2 Анализ языка программирования С
1.2.1 Достоинства языка программирования
1.2.2 Недостатки языка программирования
2. Сбор информации о компьютере
2.1 Определение информации о мониторе
2.2 Определение информации о сетевых адаптерах
2.3 Определение информации о запущенных процессах
2.4 Транспортировка информации на сервер
2.5 Сбор информации времени работы Windows
2.6 Сбор информации о времени работы пользователей