Разработка информационной подсистемы управления доступом к электронным ресурсам компьютерной сети для ООО "Еврософт", г. Ставрополь

 

Содержание


Введение

1 предпроектное обследование ООО «Еврософт»

1.1 Постановка задачи предпроектного обследования

1.1.1 Объект и методы проведения предпроектного обследования

1.1.2 Программа проведения обследования

1.1.3 План-график выполнения работ на стадии предпроектного обследования

1.2 Характеристика предприятия ООО «Еврософт»

1.2.1 Общая характеристика предприятия

1.2.2 Организационная структура предприятия

1.2.3 Организационно-управленческая модель

1.3 Технические и программные средства ООО «Еврософт» для решения функциональных задач

1.3.1 Технические средства ООО «Еврософт»

1.3.2 Программные средства

1.3.3 Локальная сеть ООО «Еврософт»

1.3.4 Организация доступа к мировым информационным сетям

1.3.5 Обеспечение информационной безопасности, защита информации

1.3.6 Информационные потоки предприятия ООО «Еврософт»

1.3.7 Проблемные ситуации и способы их решения

1.3.8 Выбор проблемной ситуации для решения

1.4 Формулировка задачи проектирования

1.4.1 Общие сведения о проекте

1.4.2 Назначение, цели создания информационной подсистемы

1.4.3 Характеристика объекта автоматизации

1.4.4 Требования к подсистеме

1.4.5 Состав и содержание работ по созданию системы

1.4.6 Порядок контроля приёмки подсистемы

1.4.7 Требования к составу и содержанию работ по подготовке объекта автоматизации к вводу подсистемы в действие

1.4.8 Требования к документированию

1.4.9 Источники разработки

Выводы

2 Реализация информационной подсистемы «a_class»

2.1 Выбор среды разработки

2.2 Разработка структур данных и алгоритмов функционирования программного комплекса

2.2.1 Реализация функции запуска внешних приложений

2.2.2 Реализация пользовательского проводника

2.2.3 Реализация авторизации пользователя

2.2.4 Реализация запросов к серверу

2.2.5 Организация хранения служебной информации

2.2.6 Реализация общей безопасности

2.2.7 Реализация обновления информационной подсистемы

2.3 Разработка пользовательского интерфейса

2.3.1 Разработка интерфейса формы «Авторизация»

2.3.2 Разработка интерфейса главной формы

2.3.3 Разработка интерфейса формы «Настройки»

2.3.4 Разработка интерфейса формы «Проводник»

Выводы

3. информационное и программное обеспечение

3.1 Общие сведения о программе

3.2 Функциональное назначение программы

3.3 Описание логической структуры программы

3.4 Требования к техническому обеспечению

3.4.1 Общие требования

3.4.2 Требования к центральному процессору

3.4.3 Требования к оперативному запоминающему устройству

3.4.4 Требования к наличию сводного места на жестком диске

3.4.5 Требования к монитору

3.5 Установка и вызов программы

3.6 Входные данные программы

3.7 Выходные данные программы

3.8 Результаты тестирования программы

3.9 Краткая инструкция администратору по работе с программой

3.10 Краткая инструкция клиенту по работе с программой

Выводы

4 технико-ЭКОНОМИЧЕСКОЕ ОБОСНОВАНИЕ ПРОЕКТА

4.1 Краткая характеристика проекта

4.2 Трудоемкость выполняемых работ

4.3 Расчет себестоимости автоматизированной информационной системы

4.4 Оценка экономической эффективности внедрения программного продукта

4.5 Основные технико-экономические показатели проекта

Выводы

5 БЕЗОПАСНОСТЬ И ЭКОЛОГИЧНОСТЬ ПРОЕКТА

5.1 Общая характеристика опасных, вредных факторов на рабочем месте оператора информационной подсистемы

5.2 Общие мероприятия по обеспечению безопасности на рабочем месте

5.3 Расчет искусственного освещения в рабочем помещении

Выводы

Заключение

Библиографический список

Приложение А. Листинг файла main_a_class.cpp

Приложение Б. Листинг файла dialog_dir.cpp

Приложение В. Листинг файла dialog_option.cpp

Приложение Г. Экранные формы программы «A_Class»

Введение


Информатизация общества происходит стремительным путём. Потребность в вычислительной техники наблюдается во всех сферах человеческой деятельности

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

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

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

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

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

В заключении подводятся основные итоги дипломного проектирования.

В приложении А приведёт листинг файла «main_a_class.cpp».

В приложении Б приведёт листинг файла «dialog_dir.cpp».

В приложении В приведёт листинг файла «dialog_option.cpp».

В приложении Г находятся все экранные формы программы «A_Class».

1. предпроектное обследование ООО «Еврософт»


1.1 Постановка задачи предпроектного обследования


1.1.1 Объект и методы проведения предпроектного обследования

Основными объектами предпроектного обследования являются:

организационная структура общества с ограниченной ответственностью «Еврософт», г. Ставрополь;

цели функционирования предприятия ООО «Еврософт», г. Ставрополь;

документооборот предприятия ООО «Еврософт», г. Ставрополь;

технические и программные средства преобразования, хранения и корректировки информации предприятия ООО «Еврософт», г. Ставрополь;

Основными целями выполнения предпроектного обследования ООО «Еврософт», г. Ставрополь:

выявление основных параметров предметной области;

установление условий, в которых будет функционировать проектируемая информационная подсистема - имеющиеся технические средства и программное обеспечение, уровень подготовки персонала к работе со средствами вычислительной техники и программными продуктами;

выявление временных ограничений на процесс проектирования информационной подсистемы для предприятия ООО «Еврософт», г. Ставрополь;

Используемые методы для проведение предпроектного обследования общества с ограниченной ответственностью «Еврософт», г. Ставрополь приведены в таблице 1.1.

Таблица 1.1 - Методы проведения обследования

Признак метода проведения обследованияВыбранный методПо цели проектированияЛокальное обследованиеПо числу исполнителейИндивидуальное обследованиеПо степени охвата предметной областиСплошное обследованиеПо степени одновременности выполнения работ первого и второго этаповПараллельное обследование

1.1.2 Программа проведения обследования

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

При выборе метода учитывались следующие критерии:

степень личного участия проектировщика в сборе материала;

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

Программа обследования предприятия ООО «Еврософт», г. Ставрополь, представлена в таблице 1.2.


Таблица 1.2 - Программа обследования общества с ограниченной ответственностью «Еврософт», г. Ставрополь

Наименование вопросаИсточник информацииПолучатель информации123Общая характеристика о предприятииГен. директор Золин Л. М.Разработчик Солдатов А. П.123Организационная структура предприятияГен. Директор Золин Л. М.АналогичноЦели деятельности предприятияГен. директор Золин Л. М.АналогичноДокументооборот предприятияГен. директор Золин Л. М.АналогичноНаличие средств вычислительной техники и программного обеспеченияНачальник IT отдела Болдасов Н. А.АналогичноНаличие проблемных ситуаций в деятельности предприятияНачальник IT отдела Болдасов Н. А.Аналогично

1.1.3 План-график выполнения работ на стадии предпроектного обследования

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


Таблица 1.3 - План-график выполнения работ на стадии сбора материалов обследования

Наименование работыКод работыИсполнительДата началаДлительность выполненияДата окончания123456Получение общей характеристики предприятия001Разработчик Солдатов А.П.6.12.10713.12.10Обследование организационной структуры предприятия002 Аналогично13.12.10720.12.10Изучение цели деятельности предприятия003Аналогично20.12.101030.12.10123456Обследование документооборота предприятия004 Аналогично30.12.103128.01.11Получение сведений о средствах вычислительной техники и программного обеспечения005Аналогично28.01.111714.02.11Изучение проблемных ситуаций в деятельности предприятия006Аналогично14.02.112611.03.11Всего затрачено дней98

1.2 Характеристика предприятия ООО «Еврософт»


1.2.1 Общая характеристика предприятия

Предприятие ООО «Еврософт», г. Ставрополь создано в сентябре 2004 года.

Адрес предприятия: 355000, г. Ставрополь ул. Нижняя, 4.

Реквизиты предприятия:

ИНН 2634061423

КПП 263601001

Северо-Кавказский банк Сбербанка Росси г. Ставрополь, доп. офис 130

БИК 040702660

к/с 30101810600000000660

р/с 40702810460240101257

Основные виды деятельности предприятия:

обслуживание компьютерных залов (предоставление программных и аппаратных средств);

предоставление сервисов собственной платёжной системы «Cyberexpress».

1.2.2 Организационная структура предприятия

Генеральный директор возглавляет предприятие «Еврософт», г. Ставрополь. В его непосредственном подчинении находятся:

начальник отдела информационных технологий;

начальник отдел по технической поддержке;

начальник отдел менеджмента и управления.

Каждый из начальников соответствующих отделов имеет в подчинении соответствующих специалистов. Структура общества с ограниченной ответственностью «Еврософт», г. Ставрополь представлена на рисунке 1.1.


Рисунок 1.1 - Структура ООО «Еврософт», г. Ставрополь


1.2.3 Организационно-управленческая модель

При обследовании деятельности предприятия выявились основные функциональные области и процессы протекающие в этих областях. Структурировано функциональные области и процессы представлены в таблице 1.4

Таблица 1.4 - Функциональные области и процессы в них протекающие в ООО «Еврософт»

Функциональная область (Ф.О.)Процессы, протекающие в функциональной области (Ф.П.)1. Производственная (оказание услуг)1.1 Обслуживание компьютерных залов (предоставление программных и аппаратных средств) 1.2 Предоставление сервисов платёжной системы «Cyberexpress»2. Управленческая2.1 Управление производством 2.2 Управление персоналом 2.3 Разработка стратегических планов3. Обеспечивающая3.1 Закупка материально-технических средств 3.2 Закупка программных средств

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


Таблица 1.5 - Организационно-управленческая модель ООО «Еврософт», г. Ставрополь

Должностное лицоФункциональная областьПроизводственная (оказание услуг)УправленческаяОбеспечивающаяФ.П. 1.1Ф.П. 1.2Ф.П. 2.1Ф.П. 2.2Ф.П. 2.3Ф.П. 3.1Ф.П. 3.2Генеральный директор//\/\//Начальник IT отдела\\Начальник отдела по технической поддержке\\Начальник отдела менеджмента и управления×\×Программисты/××Системные администраторы×/Бухгалтер//Инспектор по кадрам×/

Примечание - На пересечении строк (должностные лица) и столбцов (функциональные области, включающие в себя функциональные процессы) в таблицы 1.5 проставлены следующие символы:

× - основной участник процесса;

/ - частичное участие в процессе;

\ - основная ответственность за выполнение процесса;

пустая ячейка - очень слабое или безучастие в процессе.


1.3 Технические и программные средства ООО «Еврософт» для решения функциональных задач


1.3.1 Технические средства ООО «Еврософт»

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

Таблица 1.6 - Испульзуемые технические средства

Группа средствСредстваКол-воКомпьютерыГлавный коммуникационный сервер1Резервный коммуникационный сервер1Web сервер1Рабочие станции IT отдела3Рабочие станции отдела по технической поддержке3Рабочие станции отдела менеджмента и управления3Телекоммуникационное оборудованиеСетевой концентратор D-Link DES-1008D, 8 портов 3Сетевой концентратор D-Link DFE 932Rx, 32 порта1Оборудование кабельных систем -Модем ADSL1Оборудование печатиЛазерный принтер1Струйный принтер1Другое оборудованиеСканер отдела менеджмента и управления1Сканер IT отдела1

Характеристики рабочих станций в соответствующих отделах и серверы детально рассмотрены в таблице 1.7.


Таблица 1.7 - Характеристики рабочих станций

Наименование отдела или тип сервераКол-во компьютеровПроцессорРазмер ОЗУРазмер ВЗУДисководВидео картаМониторIT отдел1Intel Celeron, 2,6Ггц1Гб80ГбCD-ROMRadeon, 256 МбLCD, 19''2Intel Core 2 Duo, 2,93Ггц2Гб300ГбDVD-ROMRadeon, 512 МбLCD, 19''отдела по технической поддержке1Intel Core 2 Duo, 2,93Ггц2Гб500ГбDVD-ROMRadeon, 512 МбLCD, 22''2Intel Celeron, 2,2 Ггц512 МБ80Гб-Radeon, 256 МбLCD, 17''отдела менеджмента и управления1Intel Core 2 Duo, 3,00Ггц2Гб300ГбDVD-ROMRadeon, 512 МбLCD, 19''2Intel Core 2 Duo, 1,80Ггц2Гб300Гб-Radeon, 256 МбLCD, 19''Web сервер1Intel Core i7 8x2,66Ггц 24 Гб1500Гб-Radeon, 512 МбLCD, 17''Коммуникационный сервер2Intel Core 2 Duo, 1,80Ггц2Гб80Гб-Radeon, 256 МбLCD, 17''

1.3.2 Программные средства

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


Таблица 1.8 - Используемые программные средства

Программные средства Категорияфункциональной области и процессыПроизводственнаяУправленческаяОбеспечивающаяФ.П. 1.1Ф.П. 1.2Ф.П. 2.1Ф.П. 2.2Ф.П. 2.3Ф.П. 3.1Ф.П. 3.21234567891С Бухгалтерияадаптированное××Classуникальное×Cyberexpressуникальное×Microsoft Officeобщего назначения\\\\\\\Open Officeобщего назначения\\\\\\\Operaобщего назначения\\\\\\\Skypeобщего назначения\\\\\\\Traffproадаптированное\\\Kaspersky Work Space Securityобщего назначения\\\\\\\Windows 7системное//123456789Windows xpсистемное////Arch Linuxсистемное//Debian Linuxсистемное/

На пересечении строк и столбцов в таблицы проставлены следующие символы, отражающие роль данного программного средства в соответствующем функциональном процессе:

× - основное использование в процессе, решение основных задач;

\ - частичное использование, вспомогательное использование,

/ - обеспечение работы других средств.


1.3.3 Локальная сеть ООО «Еврософт»

Основное назначение локальной сети общества с ограниченной ответственностью «Еврософт», г. Ставрополь является обмен информацией между рабочими станциями разных или одного отдела, а также организация доступа к ресурсам глобальной сети Internet по средствам коммуникационного сервера. Используется сеть в стандарте Ethernet, основанная на стандарте IEEE 802.3. В сети используется топология «Дерево». В качестве кабельной системы используется витая пара. Схема локальной сети ООО «Еврософт» представлена на рисунке 1.2.

Рисунок 1.2 - Схема локальной сети ООО «Еврософт»


На рисунке:

Рабочие станции 1.1 - 1.3 - рабочие станции отдела информационных технологий;

Рабочие станции 2.1 - 2.3 - Рабочие станции отдела по технической поддержке;

Рабочие станции 3.1 - 3.3 - Рабочие станции отдела менеджмента и управления;Link DFE 932Rx - 32-х портовый сетевой концентратор;Link DES-1008D - 8-ми портовый сетевой концентратор;s 1 - порт коммуникационного сервера;h 1 - Ph 4 - порты сетевого концентратора D-Link DFE 932Rx;h 5 - Ph 16 - порты сетевых концентраторов D-Link DES-1008D;c 1 - Pc 9 - сетевые порты рабочих станций.


1.3.4 Организация доступа к мировым информационным сетям

Для полноценного выполнения всех функциональных задач, каждая рабочая станция ООО «Еврософт» имеет доступ к ресурсам глобальной сети Internet. Для обеспечения безопасности и контроля за трафиком, на коммуникационный сервер установлено программное обеспечение «Traffpro». В данной программе прописываются IP адреса рабочих станций, которые могут получить доступ к ресурсам сети Internet. Также возможно установить лимит для конкретной рабой станции на месяц входящего и исходящего трафика, просматривать статистику и создавать отчёты. Поставщиком услуг высокоскоростного доступа к ресурсам мировой сети, является ставропольский филиал открытого акционерного общества "ЮТК". В соответствии с выбранным тарифным планом максимальная скорость доступа к сети Internet 8 Мбит/с.


1.3.5 Обеспечение информационной безопасности, защита информации

Для обеспечения информационной безопасности каждой рабочей станции в частности, используется программный продукт «Kaspersky Work Space Security», который предоставляет:

максимальную защиту от вредоносных программ;

защиту от хакерских атак;

надежный сетевой экран;

безопасную работу с электронной почтой.

Платёжная система «Cyberexpress» располагается на арендованном сервере в германии. Владелец сервера является фирма «HETZNER Online AG», она и отвечает за сохранность данных хранящихся на этом сервере. И как одно из возможных решений информационной безопасности, на данном сервере установлен программный продукт «Dr.Web Server Security Suite».


1.3.6 Информационные потоки предприятия ООО «Еврософт»

Документооборот - это движение документов от момента их создания до момента окончания работы с ними.

Основными документами, которые использует предприятие ООО «Еврософт», г. Ставрополь являются:

приказ о приеме на работу;

приказ директора по основной деятельности;

штатное расписание руководителей, специалистов и служащих, дополнения и изменения к нему.

В таблице 1.9 рассмотрен документооборот предприятия ООО «Еврософт», г. Ставрополь.


Таблица 1.9 - Документооборот ООО «Еврософт», г. Ставрополь

Код документаНаименование документаКем готовитсяКем используетсяПериодичность 04-01Приказ о приеме на работуИнспектор по кадрамГенеральный директорПо необходимости04-03Приказ директора по основной деятельностиГенеральный директорIT отдел, отдел по технической поддержке, отдел менеджмента и управленияПо необходимости04-05Штатное расписание руководителей, специалистов и служащих, дополнения и изменения к немуНачальник отдел менедж-мента и управленияБухгалтер, инспектор по кадрам 1 раз в год

1.3.7 Проблемные ситуации и способы их решения

В результате предпроектного обследования на предприятии ООО «Еврософт» был выявлен ряд проблемных ситуаций, который представлены в таблице 1.10.


Таблица 1.10 - Проблемные ситуации ООО «Еврософт» и способы их решения

ПроблемаВариант решенияПрограмма «Class», используемая в компьютерных клубах, устарелаРазработка нового программного продуктаОтсутствие сайта у предприятияРазработка web сайтаЧастичный переход на электронный документооборотРазработать программу для электронного документооборота

1.3.8 Выбор проблемной ситуации для решения

Наиболее важной проблемной ситуацией в предприятии ООО «Еврософт» из перечисленных в таблице 1.9 является использование устаревшего программного обеспечения «Class» в компьютерных клубах. Основные недостатки программы «Class»:

сложность установки программы. Установка программы «Class» состоит из строгой последовательности предписанных этапов. Если последовательность будет нарушена, то с большой долей вероятности программа «Class» будет работать некорректно;

требует достаточно много ресурсов оперативной памяти. Это связано с необходимостью запуска внешних программ для полноценной работы программного продукта «Class»;

возможность работы только с 32-х разрядной операционной системой «Windows xp». В момент разработки программы «Class» 2004 год, была широко распространена операционная система «Windows XP», она же являлась и последней версией на тот момент среди операционных систем семейства «Windows NT»;

необходимость переустановки операционной системы после удаления программного продукта «Class». Программа «Class» удаляет приложение «explorer» и заменяет часть динамических библиотек, необходимых для функционирования операционной системы;

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

не удовлетворение всем требованием безопасности. С помощью уже запушенных программ через «Class» пользователь мог несанкционированно запустить другие программы установленные на компьютере.

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


1.4 Формулировка задачи проектирования


1.4.1 Общие сведения о проекте

Полное наименование подсистемы: «подсистема управления доступом к электронным ресурсам для ООО «Еврософт», г. Ставрополь».

Наименование предприятия разработчика: Северо-Кавказский государственный технический университет, факультет информационных технологий и телекоммуникаций, кафедра информационных систем и технологий, студент группы ИС-061 Солдатов Александр Петрович.

Наименование заказчика: общество с ограниченной ответственностью «Еврософт», г. Ставрополь.


1.4.2 Назначение, цели создания информационной подсистемы

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

Целью создания информационной подсистемы является устранение имеющихся недостатков в уже существующей подсистеме, что позволит продлить контракты с уже обслуживаемыми клубами и подписать новые. Всё это будет способствовать увеличению прибыли предприятия ООО «Еврософт», г. Ставрополь.


1.4.3 Характеристика объекта автоматизации

Разрабатываемая информационная подсистема будет использоваться в компьютерных клубах. Помещения в компьютерных клубах являются вентилируемые, закрытые и отапливаемые.


1.4.4 Требования к подсистеме

Разрабатываемая информационная подсистема в целом должна отвечать следующим требованиям:

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

минимизировать требования к ресурсам оперативной памяти. Минимизация одновременно запущенных приложений, необходимых для полноценной работы информационной подсистемы;

возможность работы с различными версиями операционных систем семейства «Windows NT»;

возможность восстановления настроек операционной системы в состояние до установления информационной подсистемы. Восстановление должно происходить «просто и быстро»;

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

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

Среди требований к функциям, выполняемым подсистемой, основными являются:

возможность дистанционного обновления

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

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

все запущенные пользователем программы через разрабатываемую подсистему должны автоматически завершиться при переходе пользователя на вкладку «Бизнес» или окончании средств пользователя.


1.4.5 Состав и содержание работ по созданию системы

Перечень стадий работ по созданию информационной подсистемы в соответствии с ГОСТ 34.601 - 90 и техническому заданию выполняется по календарному плану проведения работ по дипломному проектированию.

изучение предметной области - с 6 декабря 2010 по 14 марта 2011 г.;

разработка информационной подсистемы - с 14 марта 2011 г. по 4 апрля 2011 г.

тестирование информационной подсистемы - с 4 апреля 2011 г. по 18 апреля 2011 г.

написание документации - с 18 апреля 2011 г. по 9 мая 2011 г.

сдача темы - с 9 мая 2011 г. по 23 мая 2011 г.


1.4.6 Порядок контроля приёмки подсистемы

Испытания должны проводиться на рабочих станциях заказчика, при этом на рабочих станциях должны быть установлены различными версиями 32-х разрядных операционных систем семейства «Windows NT». Тестовые входные данные подбираются заказчиком совместно с исполнителем. Испытания продолжаются до тех пор, пока не закончатся наборы тестовых входных данных. Результаты испытаний отражаются в протоколе испытаний. Приёмка системы в целом осуществляется комиссией создаваемой Заказчиком. Факт завершения работ оформляется актом сдачи-приёмки работ.


1.4.7 Требования к составу и содержанию работ по подготовке объекта автоматизации к вводу подсистемы в действие

Для внедрения разработанной информационной подсистемы, заказчик должен предоставить:

компьютерный зал с установленной на каждую рабочую станцию 32-х разрядную операционную систему любой версии семейства «Windows NT»;

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

1.4.8 Требования к документированию

Рабочая документация должна соответствовать требованиям ГОСТ 34.201 - 89. Обязательными являются документы:

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

инструкция пользователя;

описание информационной подсистемы;


1.4.9 Источники разработки

Источниками разработки являются:

документация программного продукта «Class»;

ГОСТ 34.602.89 Комплекс стандартов на автоматизированные системы;

заказ на разработку;

отчёт о преддипломной практике.


Выводы


В результате проделанной работы были:

проведён анализ организационной структуры управления предприятием, и установлено, что она является линейной. Это 3-х уровневая иерархическая система управления, в которой вышестоящий руководитель осуществляет единоличное руководство подчиненными ему нижестоящими руководителями, а нижестоящие руководители подчиняются только одному лицу - своему непосредственному вышестоящему руководителю;

выявлены основные программные и технические средства необходимые для функционирования: информационной системы «Cyberexpress», подсистемы «Class» и коммутационного сервера;

выявлена проблемная ситуация: «Программа «Class», используемая в компьютерных клубах устарела» и предложен способ её решения путём разработки новой информационной подсистемы управления доступом к электронным ресурсам компьютерной сети для ООО «Еврософт», г. Ставрополь.

2. Реализация информационной подсистемы «a_class»


2.1 Выбор среды разработки


Инструментальной средой разработки проектируемой информационной подсистемы является Qt Creator с использованием библиотеки Qt 4.6.3. Qt Creator - кроссплатформенная <#"justify">2.2 Разработка структур данных и алгоритмов функционирования программного комплекса


2.2.1 Реализация функции запуска внешних приложений

Одно из функциональных назначений разработанной информационной подсистемы - это предоставление пользователю возможности запуска внешних программ. В разработанной программе «A_Class» запуск внешних приложений реализован на основе класса «QProcess» из стандартной библиотеки «qprocess.h». В данном классе реализованы все необходимые методы для работы с процессами. Выбранное пользователем приложение запускается с помощью метода «void QProcess::start(const QString &program)». В параметре указывается местонахождение запускаемого файла приложения. Если запускается приложение с вкладки «Бизнес», то запустить приложение с любой другой вкладки не представляется возможным, так как на вкладке бизнес могут располагаться программы, работающие с другими платёжными системами.

Максимальное количество одновременно запущенных программ с вкладок «Офис», «Мультимедиа» и «Интернет» равно пяти, это связано с особенностью технического решения по определению наиболее дорогостоящего из запущенных приложений. Максимальное количество одновременно запущенных программ с вкладки «Бизнес» равно одной, это связано с возможным расположением на данной вкладке программ, работающих с другими платёжными системами.

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

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

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

в случае если запущено приложение с вкладки «Офис», «Мультимедиа» или «Интернет», то все дочерние процессы автоматически уничтожаются. Это служит защитой от несанкционированного запуска других внешних приложений.

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

Если баланс компьютера нулевой, то все ранее запущенные внешние приложения с вкладок «Офис», «Мультимедиа» и «Интернет» завершают работу, и до пополнения баланса, попытки запуска внешних приложений будут неудачны. Код основных методов, необходимых для запуска внешних приложений представлен в приложении А «Листинг файла main_a_class.cpp».


2.2.2 Реализация пользовательского проводника

С точки зрения безопасности, проводник операционной системы windows не удовлетворяет всем требованиям разработанной информационной подсистемы. Это объясняется тем, что пользователь имеет возможность несанкционированного доступа к программам и к файлам на диске с операционной системой. Поэтому был разработан специальный проводник, который включает базовые возможности:

перемещение по каталогам различных дисков (кроме локального диска «C») и съёмных устройств;

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

удаление файлов и каталогов с файлами;

переименование файлов и каталогов;

создание новых каталогов.

Для определения содержимого каталога использовался стандартные классы библиотеки Qt «QFileInfoList» и «QFileInfo». При копировании файлов и каталогов с файлами, вызов методов отвечающих за копирование отдельных файлов выполняется методом рекурсии. Листинг модуля «Dialog_dir» представлен в приложении Б «Листинг файла dialog_dir.cpp».

В случае если пользователь авторизовался под администратором, то ему доступен стандартный проводник операционной системы windows.


2.2.3 Реализация авторизации пользователя

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

Для авторизации с правами клиента, пользователь должен выбрать логин «Пользователь» и нажать кнопку «Вход».

Для авторизации с правами администратора, пользователь должен выбрать логин «Администратор», правильно ввести пароль и нажать кнопку «Вход».

По умолчанию установлен пароль «a_class». Он действителен в случае, если администратор не сменил пароль или файл с паролем был удалён. Если администратор сменил пароль, то он шифруется методом md5, и результат криптографии сохраняется в файл «pas.myps».

MD5 (<#"justify">.2.4 Реализация запросов к серверу

Цель запросов к серверу может быть различной:

проверка наличия обновлений информационной подсистемы;

запрос на загрузку с сервера обновлённых файлов;

запрос о состоянии баланса компьютера;

запрос на списание определённого количества средств с баланса компьютера;

запрос на перевод средств в другую платёжную систему;

запрос на возврат средств с других платёжных систем в «Cyberexpress».

В стандартной библиотеке Qt реализованы классы «QNetworkAccessManager», «QNetworkReply» и «QNetworkRequest», в которых реализованы методы для формирования и отправки post запросов по протоколу http, а также реализован перехватчик события ответа с сервера. В зависимости от ожидаемого ответа с сервера, обработчик события несёт в себе различный код.

Для запросов: о состоянии баланса компьютера, на перевод средств в другую платёжную систему и на возврат средств с других платёжных систем в «Cyberexpress» реализованы отдельные модули. Каждый из модулей связан с модальным диалоговым окном, в котором осуществляется информирование пользователя о состоянии прохождения запроса. В случае если ответ с сервера не был получен в отведённый интервал времени или ответ не соответствует требованиям разработанной программы, то запрос повторяемся на другой сервер, в котором реализованы идентичные API функции по обработке запроса. Такая реализация необходима в условиях сильной загрузки или выхода из работоспособного состояния одного из серверов. Ограничения, накладываемые программой на возвращаемое значение API функции следующие:

возвращаемое значение не должно быть пустой строкой;

возвращаемое значение после приведения к типу double не должно быть отрицательным, так как отрицательное значение свидетельствует об ошибки во время выполнение API функции;

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

Если сервер не отвечает на запросы или проблемы на линии, то запущенные пользователем приложения продолжают функционировать, до завершения пользователем. Новые приложения запустить нельзя.

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

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


2.2.5 Организация хранения служебной информации

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

name, используется для хранения подписи пиктограммы;

way, используется для хранения пути к внешней запускаемой программе;

name_exe, используется для хранения имени запускаемого приложения;

name_icon, используется для хранения имени картинки выступающей в роли пиктограммы;

dop_paramm, используется для хранения дополнительного параметра, необходимого для перевода средств из одной платёжной системы в другую.

При добавлении новой программы на любую вкладку, первоначально происходит проверка на существование файла «storage.myst» в соответствующем подкаталоге. Если файл не существует, то он создаётся. Далее происходит проверка на наличие картинки по указанному пути, так как она будет копироваться в соответствующий подкаталог. При обнаружении картинки она копируется и в файл «storage.myst» записывается вся необходимая информация по добавляемой программе, иначе выдаётся соответствующая ошибка, и добавление программы на вкладку завершается неудачно.

Если же файл «storage.myst» существует, то он считывается, всё его содержимое помещается в очередь типа «My_type». После чего происходит сравнение записей из очереди и записей по добавляемой программе. А именно идёт сравнение по следующим полям:

подписи пиктограммы. В случае совпадения выдаётся соответствующая ошибка, и добавление программы на вкладку завершается неудачно, так как в программе механизм распознавания выбранной программы для запуска основан на подписях к пиктограммам;

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

Если в результате сравнения совпадений не обнаружено, то картинка служащая пиктограммой для добавляемой программы копируется в соответствующий подкаталог, а в файл «storage.myst» добавляется вся необходимая информация по добавляемой программе.

Языковая настройка хранится в файле «Language.mycl». Данная настройка представляет наименование языка используемого в программе. При отсутствии файла, по умолчанию устанавливается английский язык.

Имя компьютера, номер компьютера, пароль компьютера, имя компьютерного зала, цены за использование программ с каждой вкладки и ссылки на API функции хранятся в файле «com_class.mycl». Чтение и запись в файл осуществляется с помощью объектов разработанного класса «com_class». Для удобства чтения и записи в файл в классе «com_class» реализованы две перегрузки операторов: логического сдвига влево и логического сдвига вправо. Также в классе «com_class» имеются следующие поля:

cost_work, используется для хранения цены за использование программ с вкладки «Офис»;

cost_function, используется для хранения цены за использование программ с вкладки «Мультимедиа»;

cost_internet, используется для хранения цены за использование программ с вкладки «Интернет»;

cost_instrum, используется для хранения цены за использование программ с вкладки «Бизнес»;

name_class, используется для хранения имени компьютера;

number_comp, используется для хранения номера компьютера;

password, используется для хранения пароля компьютера;

service_id, используется для хранения номера сервиса платёжной системы;

api_coordinate, используется для хранения ссылки на текстовый файл с соглашением об использовании сервиса «Cyberclub»;

api_balance, используется для хранения ссылки на API функцию по запросу баланса;

api_transaction, используется для хранения ссылки на API функцию для списания средств;

api_trans_from_partner, используется для хранения ссылки на API функцию для возвращения средств с других платёжных систем;

api_trans_to_partner, используется для хранения ссылки на API функцию для перевода средств на другие платёжные системы.

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

Файл «com_class.mycl» хранится в одном каталоге с файлом разработанного приложения.

Все картинки, используемые для оформления программы, хранятся в подкаталоге «image».

Для хранения ссылки указывающей на текстовый файл, необходимый для обновления информационной подсистемы, используется файл «file_update.mycl». Он содержит имена файлов и соответствующие md5 суммы. При запуске информационной подсистемы, сверяются md5 суммы имеющихся файлов и файлов, располагающихся на сервере. Если имеются различия, то необходимые файлы скачиваются с сервера.


2.2.6 Реализация общей безопасности

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

В ветви реестра «HKEY_CURRENT_USER/ Software/ Microsoft/ Windows/ CurrentVersion/ Policies/ Explorer» добавлены записи:

«NoWinKeys» со значением 1, для отключения клавиши «Win»;

«NoSetTaskbar» со значением 1, для отключения панель задач в меню «Пуск»;

«NoStartMenuMorePrograms» со значением 1, для скрытия «Все программы» в меню «Пуск»;

«NoStartMenuPinnedList» со значением 1, для скрытия фиксированного списка программ в меню «Пуск», а также значков «Интернет» и «Электронная почта»;

«NoStartMenuMFUprogramsList» со значением 1, для скрытия списка часто используемых программ в меню «Пуск»;

«NoSMMyPictures» со значением 1, для скрытия папки «Изображения» в меню «Пуск»;

«NoStartMenuMyMusic» со значением 1, для скрытия папки «Музыка» в меню «Пуск»;

«NoFavoritesMenu» со значением 1, для скрытия папки «Избранное» в меню «Пуск»;

«NoSMMyDocs» со значением 1, для скрытия папки «Мои документы» в меню «Пуск»;

«NoRecentDocsMenu» со значением 1, для скрытия пункта «Недавние документы» в меню «Пуск»;

«NoFind» со значением 1, для скрытия команды «Поиск» в меню «Пуск» и отключения соответствующей опции в диалоговом окне «Настройки»;

«NoRun» со значением 1, для скрытия команды «Выполнить», отключения флагов в окне «Настройки», отключения возможности запуска программ в «Диспетчере задач», блокирования нажатия клавиш Win+R;

«NoSetFolders» со значением 1, запрещается доступ к настройкам Windows;

«NoControlPanel» со значением 1, запрещается доступ к панели управления wWindows;

«NoDesktop» со значением 1, для скрытия всего с рабочего стола;

«NoTrayContextMenu» со значением 1, для скрытия контекстного меню для трэя, включая кнопку «Пуска» и часы;

«NoViewContextMenu» со значением 1, для скрытия контекстного меню правой кнопки мыши из проводника;

«NoDriveTypeAutoRun» со значением ff в шестнадцатеричной системе счисления, для запрета автозапуска любых носителей информации.

В ветви реестра «HKEY_CURRENT_USER/ Software/ Microsoft/ Windows/ CurrentVersion/ Explorer/ Advanced» добавлены записи:

«Start_SearchPrograms» со значением 0, для скрытия поиска в меню «Пуск» в Windows 7;

«Start_ShowMyGames» со значением 0, для скрытия пункта «Игры» в меню «Пуск»;

«Start_ShowMyComputer» со значением 0, для скрытия пункта «Компьютер» в меню «Пуск»;

«Start_ShowUser» со значением 0, для скрытия пункта «Личная папка» в меню «Пуск»;

«Start_ShowControlPanel» со значением 0, для скрытия пункта «Панель управления» в меню «Пуск»;

«Start_ShowSetProgramAccessAndDefaults» со значением 0, для скрытия пункта «Программы по умолчанию» в меню «Пуск»;

«Start_ShowDownloads» со значением 0, для скрытия пункта «Загрузки» в меню «Пуск».

В ветви реестра «HKEY_CURRENT_USER/ Software/ Microsoft/ Windows/ CurrentVersion/ Policies/ System » добавлена запись «EnableLUA» со значением 0, для отключения контроля учетных записей пользователей.

В ветви реестра «HKEY_CURRENT_USER/ Software/ Microsoft/ Windows NT/ CurrentVersion/ Winlogon » изменена запись «Shell» на значение «C:/ Program Files/ a_class/ start.exe», для замены автоматического запуска «Explorer.exe» на программу информационной подсистемы.

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

Для предотвращения возможности несанкционированного закрытия программ «a_class» и «start», в них переопределён метод closeEvent(QCloseEvent* ev), который игнорирует событие закрытие программы до тех пор, пока пользователь не воспользуется средствами выхода из программы предлагаемыми самой программой.

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


2.2.7 Реализация обновления информационной подсистемы

Для поддержания информационной подсистемы дистанционно в актуальном состоянии были разработаны две программы: «CUF» и «Start».

Программа «CUF» предназначена для формирования файла «update.txt», в котором хранятся имена фалов и соответствующие md5 суммы. Программа «CUF» работает следующим образом:

пользователь создаёт каталог «a_class» и помещает в него файлы, которые главным образом влияют на версию информационной подсистемы (рекомендуемые: exe-файлы, картинки и некоторые служебные; не рекомендуемые: файлы библиотеки «Qt», необходимые для функционирования информационной подсистемы);

в программе указывается путь к каталогу «a_class», в котором находятся файлы выбранные пользователем предыдущем этапе, после чего на главной форме приложения «CUF» нажимается кнопка «Готово»;

программа автоматически начинает перебирать все файлы из указанного каталога, в том числе и во вложенных каталогах, и подсчитывать их md5 суммы. Имена файлов (относительно каталога «a_class») и соответствующие им md5 суммы указываются в файле «update.txt». Необходимость указания относительных имён объясняется тем, что на стороне пользователя информационной подсистемы надо знать о точном расположении файлов на сервере;

сформированный файл «update.txt» находится в одном каталоге с приложением «CUF».

Каталог «a_class» и сформированный файл «update.txt» вручную копируются на сервер в каталог, соответствующий ссылке для обновления информационной подсистемы на стороне пользователя.

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

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

осуществляется попытка скачать файл «update.txt» с сервера по ссылке расположенной в файле «file_update.mycl». На скачивание файла отводится тридцать секунд, в случае если загрузка не произошла, то осуществляется запуск основного приложения разработанной информационной подсистемы. В противном случае в каталоге «a_class» создаётся подкаталог «update», в который помещается скаченный файл «update.txt»;

выполняется подсчёт md5 суммы для имеющихся файлов в каталоге «a_class» и его подкаталогах, имена файлов и их md5 суммы записываются в файл «update.txt», который расположен в одном каталоге с приложением «start» (данная процедура выполняется в случае отсутствия файла «update.txt» в одном каталоге с приложением «start»);

сравниваются md5 суммы для файлов с одинаковыми именами, которые располагаются в файлах «update.txt» в каталоге «a_class» и подкаталоге «update». В случае расхождения md5 сумм или отсутствии файла в каталоге «a_class», необходимый файл скачивается с сервера. При этом все скаченные файлы помещаются в подкаталог «update», в котором уже находится скаченный ранее файл «update.txt». Структура файлов и подкаталогов в каталоге «update» сохраняется в том же виде, что и на сервере относительно каталога «a_class»;

осуществляется копирование файлов из подкаталога «update» в каталог «a_class», в случае необходимости происходит замена необходимых файлов.


2.3 Разработка пользовательского интерфейса


2.3.1 Разработка интерфейса формы «Авторизация»

На форме авторизации расположены четыре вида элемента управления: label, comboBox, pushButton и lineEdit.

Объекты элемента управления label необходимы для:

отображения текущей версии программы;

информирования о неверно введённом пароле;

информирования о отсутствии файла с паролем в каталоге «a_class».

Объект элемента управления pushButton необходим вызова экранной клавиатуры, а также для выполнения функции авторизации под выбранным логином.

Объект элемента управления comboBox необходим для выбора логина, под которым пользователь намерен авторизоваться.

Объект элемента управления lineEdit необходим для ввода пароля. Данный объект отображается, только если выбранным логином является «Администратор». В приложении Г «Экранные формы программы «A_Class»» на рисунке Г.1 иллюстрирована форма «Авторизация».


2.3.2 Разработка интерфейса главной формы

На главной форме расположено пять видов элемента управления: label, pushButton, widget, tabWidget, listWidget. В приложении Г «Экранные формы программы «A_Class»» на рисунке Г.2 иллюстрирована главная форма программы «A_Class».

Объект элемента управления tabWidget необходим для выбора вкладки с программами и совмещает функции контейнера, в котором располагаются объекты элемента управления listWidget. Размер данного объекта зависит от установленного пользователем разрешения экрана, а именно устанавливается на всю ширину экрана, а по высоте 65 пикселей снизу недостаёт. Это сделано с целью размещения в нижнеё части экрана кнопок по управлению программой. Объект имеет четыре вкладки. Заголовок каждой вкладки задан соответствующей картинкой. Чтобы данный элемент сливался с композицией главной формы программы, фон данного элемента тёмно-синий.

На каждой вкладке объекта элемента управления tabWidget располагается по одному объекту элемента управления listWidget. На каждом располагается свой список программ. Запуск программы осуществляется одним нажатием левой кнопки мыши по соответствующей пиктограмме или подписи к ней. Для каждого элемента списка выделяется клетка размером 180 пикселей по высоте и 180 пикселей по ширине. В данной клетке размещается пиктограмма запускаемой программы и её подпись, при этом всё выравнивается по центру. Так как при добавлении новой программы на вкладку рекомендовано использовать пиктограммы одинакового размера, то они равноудалены друг от друга, что придаёт эстетичный вид главной форме программы. Границы клетки невидимы. На фоне объектов элемента управления listWidget располагаются равноудалённые полупрозрачные логотипы информационной подсистемы.

На главной форме располагается 21 объект управления pushbutton. Описание каждого объект следующее:

объект «button_exit» предназначен для смены логина для текущего пользователя. Располагается в правом верхнем углу экрана. Размер объекта: 70 пикселей по высоте и 71 пиксель по ширине. На весь объект растянуто изображение «exit.png» из подкаталога «image». Объект доступен пользователю с любым логином;

объект «button_updata_balance» предназначен для обновления баланса пользователя. Располагается левее объекта «button_exit» и под немодальным диалоговым окном «dialog_balanse», в котором отображается текущий баланс клиента. Размер объекта: 170 пикселей по ширине и 40 пикселей по высоте. Фон темно-синий. Объект доступен пользователю, вошедшему с правами клиента;

объект «button_explorer» предназначен для запуска проводника, при этом в зависимости от того под каким логином авторизовался пользователь запускается различный проводник. Если пользователь авторизовался с правами администратора, то объект «button_explorer» запускает стандартный проводник ОС Windows, иначе запускает специально разработанный проводник с урезанными возможностями для пользователя. Располагается данный объёкт в левом нижнем углу экрана. Размер объекта: 162 пикселей по ширине и 65 пикселей по высоте. На весь объект растянуто изображение «explorer.png» из подкаталога «image». Объект доступен пользователю с любым логином;

объекты: «button_proc1», «button_proc2», «button_proc3», «button_proc4» и «button_proc5» предназначены для отображения работающих приложений, запущенных пользователем через программу «a_class», а также разворачивания и установки на передний план главного окна соответствующих приложений. Располагаются данные объёкты последовательно друг за другом в нижней части экрана, на 3 пикселя правее объекта «button_explorer». Размер каждого объекта: 160 пикселей по ширине и 65 пикселей по высоте. На весь фон объекта растянуто изображение «button.png» из каталога «image». Также на объект помещается уменьшенная пиктограмма и подпись запущенной программы. Объекты отображаются последовательно по мере запуска пользователем приложений. При закрытии запущенного ранее пользователем приложения, соответствующий объект, отвечающий за данное приложение, скрывается;

объекты «button_pr1_close», «button_pr2_close», «button_pr3_close», «button_pr4_close» и «button_pr5_close» предназначены для завершения работы соответствующего приложения. Размер каждого объекта: 25 пикселей по ширине и 25 пикселей по высоте. На весь фон объекта растянуто изображение «close1.png» из каталога «image». При закрытии запущенного ранее пользователем приложения, соответствующий объект, отвечающий за данное приложение, скрывается;

объект «button_keybroad» предназначен для запуска экранной клавиатуры. Располагается данный объёкт в правом нижнем углу экрана. Размер объекта: 160 пикселей по ширине и 65 пикселей по высоте. На весь объект растянуто изображение «keybroad.png» из подкаталога «image». Объект доступен пользователю с любым логином;

объект «button_switch_off» предназначен для выключения компьютера. Располагается данный объёкт в нижней части экрана, на 4 пикселя левее объекта «button_keybroad». Размер объекта: 63 пикселей по ширине и 65 пикселей по высоте. На весь объект растянуто изображение «poweroff.png» из подкаталога «image». Объект доступен пользователю с любым логином;

объект «button_restart» предназначен для перезагрузки компьютера. Располагается данный объёкт в нижней части экрана, на 3 пикселя левее объекта «button_switch_off». Размер объекта: 63 пикселей по ширине и 65 пикселей по высоте. На весь объект растянуто изображение «reboot.png» из подкаталога «image». Объект доступен пользователю с любым логином;

объект «button_option» предназначен для установки настроек разработанной информационной подсистемы. Располагается данный объёкт в нижней части экрана, на 3 пикселя левее объекта «button_restart». Размер объекта: 63 пикселей по ширине и 65 пикселей по высоте. На весь объект растянуто изображение «settings.png» из подкаталога «image». Объект доступен пользователю, вошедшему с правами администратора;

объект «button_delete» предназначен для удаления добавленных программ с вкладок программы «a_class». Располагается данный объёкт в нижней части экрана, на 3 пикселя левее объекта «button_option». Размер объекта: 63 пикселей по ширине и 65 пикселей по высоте. На весь объект растянуто изображение «minus.png» из подкаталога «image». Объект доступен пользователю, вошедшему с правами администратора;

объект «button_add_icon» предназначен для добавления программ на вкладки программы «a_class». Располагается данный объёкт в нижней части экрана, на 3 пикселя левее объекта «button_delete». Размер объекта: 63 пикселей по ширине и 65 пикселей по высоте. На весь объект растянуто изображение «plus.png» из подкаталога «image». Объект доступен пользователю, вошедшему с правами администратора;

объект «button_close» предназначен для выхода из программы «a_class». Располагается данный объёкт в нижней части экрана, на 3 пикселя левее объекта «button_add_icon». Размер объекта: 63 пикселей по ширине и 65 пикселей по высоте. На весь объект растянуто изображение «close.png» из подкаталога «image». Объект доступен пользователю, вошедшему с правами администратора;

объект «button_change» предназначен для редактирования параметров добавленных программ на вкладках программы «a_class». Располагается данный объёкт в нижней части экрана, на 3 пикселя левее объекта «button_close». Размер объекта: 63 пикселей по ширине и 65 пикселей по высоте. На весь объект растянуто изображение «change.png» из подкаталога «image». Объект доступен пользователю, вошедшему с правами администратора.

Все объекты элемента управления «pushbutton», кроме «button_updata_balance» имеют закруглённые углы радиусом 10 пикселей.

Также на главной форме располагается 2 объект управления widget, которые необходимы для отображения фонового рисунка главной формы. Эти два объекта располагаются в верхней и нижней частях экрана. По ширине они растянуты на весь экран, а по высоте верхний на 80 пикселей, а нижний 65 пикселей.


2.3.3 Разработка интерфейса формы «Настройки»

На форме «Настройки» программы «a_class» располагаются объекты следующих элементов управления: label, radioButton, pushButton, groupBox, comboBox и lineEdit. В приложении Г «Экранные формы программы «A_Class»» на рисунке Г.3 иллюстрирована форма «Настройки». Объекты элемента управления label применяются для подписи объектов элементов управления comboBox и lineEdit. Все подписи находятся слева от подписываемых объектов. Объекты элемента управления groupBox применяются с целью группировки по смысловому назначению других объектов управления. Так на форме «Настройки» выделено три группы объектов управления по смысловому назначению:

установление цены за использование программ с каждой вкладки. Для вкладки «Бизнес» установленные цены должны быть нулевыми. Цены указываются из расчёта за 1 час использования;

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

настройка авторизации администратора. При необходимости заменить пароль администратора, выбирается объект элемента управления comboBox с подписью «Заменить пароль» и в расположенные ниже текстовые поля дважды вводится новый пароль.

Смена языка информационной подсистемы осуществляется по средствам объекта «comboBox_Language», который предлагает на выбор русский или английский язык. После выбора языка, все подписи и надписи объектов элементов управления переводятся на язык выбранный пользователем.

Для «включения» и «выключения» разработаннойой информационной подсистемы используются два объекта «button_save_reg» и «button_del_reg», по средствам которых осуществляются соответствующие записи в реестр ОС Windows.

Для сохранения всех внесённых изменений используется объект «button_save». Для закрытия формы «Настройки» без сохранения внесённых изменений пользователем используется объект «button_cancel».


2.3.4 Разработка интерфейса формы «Проводник»

По средствам формы «Проводник» пользователь получает доступ к файлам и каталогам, которые не находятся на одном диске с системой, а также возможность совершать над ним простейшие операции. В приложении Г «Экранные формы программы «A_Class»» на рисунке Г.4 иллюстрирована форма «Проводник»

Отображение содержимого текущего каталога осуществляется с помощью объекта элемента управления «listWidget» Все элементы расположены в нём в виде списка. Для большей наглядности содержимого каждого каталога перед именем подкаталога следует изображение «papka.png» из подкаталога «image», а перед именем файла следует изображение «file.png» из подкаталога «image».

Справа от объекта элемента управления «listWidget» располагаются объекты следующих элементов управления: label, pushButton, comboBox и lineEdit. В целом они предоставляют пользователю проводить операции с каталогами и файлами.

Объекты элемента управления label, выступают в качестве подписи к текстовому полю и выпадающему списку.

На форме «Проводник» находится 6 объектов элемента управления pushButton:

button_create_dir - предназначен для создания нового подкаталога в текущем каталоге, при этом имя нового подкаталога уникально и задаётся автоматически;

button_delete_dir - предназначен для удаления выделенного подкаталога или файла;

button_copy - предназначен для копирования выделенного файла или каталога как пустого, так и с файлами;

button_past - предназначен для вставки в текущий каталог ранее копируемого файла или каталога как пустого, так и с файлами;

button_rename_dir - предназначен для переименования выделенного каталога или файла;

button_rename_ok - предназначен для подтверждения нового имени файла или каталога.

Объект элемента управления «comboBox» предназначен для смены корневого каталога.


Выводы


В качестве среды разработки информационной подсистемы выбрана «Qt Creator», так как она имеет ряд преимуществ: библиотека Qt имеет ряд реализованных классов, которые непосредственно использовались при разработке программного комплекса, Qt Creator и библиотека Qt распространяется по лицензии LGPL <#"justify">Программа называется «A_Class», версия 1.00. Основное назначение которой, управление доступом к ресурсам ЭВМ и компьютерной сети. Данное программное обеспечение написано в среде Qt Creator с использованием библиотеки Qt на языке высокого уровня программирования C++. Для функционирования программы необходимо операционная система Windows XP/Vista/Seven.


3.2 Функциональное назначение программы


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

Администратор может добавлять, удалять и редактировать внешние приложения на вкладках, а также выставлять цены за использование программ, настраивать идентификационные данные компьютера и менять пароли администратора для авторизации.

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


3.3 Описание логической структуры программы


При запуске разработанного программного обеспечения первоначально происходит проверка на наличие обновлений информационной подсистемы. Проверкой занимается программа «start». Она считывает ссылку из файла «file_update.mycl», и по этой ссылке отправляет запрос на скачивание текстового файла, в котором хранятся имена файлов и их md5 коды. На ожидание ответа с сервера отводится 30 секунд. Если сервер не отвечает, то запускается имеющаяся версия программы «A_Class». В противном случае сравниваются md5 коды имеющихся файлов подсистемы и файлов, указанных в скаченном файле. Если обнаружены не совпадения, то соответствующие файлы скачиваются. После установки обновлений запускается программы «A_Class». Спецификация основных функций модуля программы «start» представлена в таблице 3.1.


Таблица 3.1 - Спецификация функций модуля «mainwindow»

Прототип функцииНазначениеНазначение формальных параметров123MainWindow(QWidget *parent = 0);Конструктор класса. Служит для первоначальной инициализации полей класса.Указывает на родительский widget.~MainWindow()Деструктор классанетПродолжение таблицы 3.1

123start_a_class()Запускает программу «a_class».нетzapros()Формирует запрос на скачивание с сервера файла «update.txt».нетgetReplyFinished (QNetworkReply *reply)Обработчик события ответа с сервера.Указывает на ответ с сервераpoisk(QString s)Осуществляет поиск всех файлов и подкаталогов в указанном каталоге.Передаёт в функцию полное имя каталога.hashir(QString s)Хеширует указанный файл.Передаёт в функцию полное имя файла подлежащего хешированию.compare()Сравнивает хеш-коды имеющихся файлов подсистемы и файлов указанных в скаченном файле «update.txt», а также скачивает файлы у которых имеются различия в хеш-коде. нетpaste(QString str_copy, QString str_paste)Заменяет скаченными файлами уже имеющиеся файлы подсистемы.Передаёт в функцию имя файла подлежащего копированию и путь куда необходимо вставить.delete_update(QString s)Удаляет ранее скаченные файлы.Передаёт в функцию имя файла или каталога подлежащего удалению.keyt()Обработчик события одновременного нажатия клавиш «Alt» + «C». Закрывает программу «start».нетtick()Обработчик события для 1-го таймера. Осуществляет проверку на попытку выключения или перезагрузки компьютера из под программы «a_class»нетtick_2()Обработчик события для 2-го таймера. Даёт разрешение на запуск программы «a_class» по истечению 20 секунд.нетДо отображения экранной формы программы происходит определение языка программы. Определение языка программы осуществляется в два этапа: определение наличия файла «Language.mycl» отвечающего за язык программы, и непосредственного чтения этого файла. Если файл «Language.mycl» имеется с записью «Russian», то язык в программе устанавливается русский, в противном случае английский.

Первоначальной формой после запуска файла «A_Class.exe» является форма с логотипом «Cyberclub». Щелчком левой кнопки мыши по логотипу пользователь может перейти к форме с соглашением об использовании сервиса Cyberclub. Щелчком левой кнопки мыши по кнопке «я согласен» или «I agree» (в зависимости от языка программы) формируется запрос для сервера на баланс конкретного компьютера из конкретного зала. В случае удачного получения ответа пользователь попадает на главную форму программы. В противном случае программа предлагает повторить запрос. В любой момент до перехода на главную форму пользователь может перейти на форму авторизации путём одновременного нажатия сочетания клавиш «Alt»+«Q». Из формы авторизации пользователь может попасть в главную форму программы с правами администратора, если выберет логин «Администратор» («Administrator» если программа работает на английском языке) и верно введет пароль. Если логин выбран как «Пользователь» («User» если программа работает на английском языке), то пользователь попадёт на форму с логотипом «Cyberclub». Спецификация основных функций модуля «main_a_class» программы «A_Class» представлена в таблице 3.2.


Таблица 3.2 - Спецификация функций модуля «main_a_class»

Прототип функцииНазначениеНазначение формальных параметров123Main_a_class (QWidget *parent)Конструктор класса. Служит для первоначальной инициализации полей класса.Указывает на родительский widget.~Main_a_class()Деструктор классанетon_pushButton_ clicked()Обработчик события нажатия на кнопку «Закрыть». Выход из программы. нетload()Загружает элементы «listWidget» соответствующим содержимым.нетload_view()Настраивает интерфейс программы в зависимости от прав пользователя.нетon_button_restart _clicked()Обработчик события нажатия на кнопку «Перезагрузка компьютера». Сохраняет в файл «exit.exit» команду перезагрузки компьютера.нетon_button_switch _off_clicked()Обработчик события нажатия на кнопку «Выключение компьютера». Сохраняет в файл «exit.exit» команду выключения компьютера.нетon_button_add_ icon_clicked()Обработчик события нажатия на кнопку «Добавить иконку». Вызывает диалоговое окно «Добавление иконки».нетon_button_delete _clicked()Обработчик события нажатия на кнопку «Удалить иконку». Вызывает диалоговое окно «Удаление иконки».нетon_listWidget_ itemClicked (QListWidgetItem* item)Обработчик события клика по элементу списка «listWidget». Запускает программу, привязанную к данному элементу списка.Указывает на элемент списка «listWidget».on_listWidget_2_ itemClicked (QListWidgetItem* item)Обработчик события клика по элементу списка «listWidget_2». Запускает программу, привязанную к данному элементу списка.Указывает на элемент списка «listWidget_2».on_listWidget_3_ itemClicked (QListWidgetItem* item)Обработчик события клика по элементу списка «listWidget_3». Запускает программу, привязанную к данному элементу списка.Указывает на элемент списка «listWidget_3».on_listWidget_ itemClicked (QListWidgetItem* item)Обработчик события клика по элементу списка «listWidget». Запускает программу, привязанную к данному элементу списка.Указывает на элемент списка «listWidget».on_listWidget_2_ itemClicked (QListWidgetItem* item)Обработчик события клика по элементу списка «listWidget_2». Запускает программу, привязанную к данному элементу списка.Указывает на элемент списка «listWidget_2».on_listWidget_3_ itemClicked (QListWidgetItem* item)Обработчик события клика по элементу списка «listWidget_3». Запускает программу, привязанную к данному элементу списка.Указывает на элемент списка «listWidget_3».on_listWidget_4_ itemClicked (QListWidgetItem* item)Обработчик события клика по элементу списка «listWidget_4». Запускает программу, привязанную к данному элементу списка.Указывает на элемент списка «listWidget_4».tick()Обработчик события для таймера «timer». Осуществляет поиск наиболее дорогостоящего из запущенных приложений, возвращает средства с других платёжных систем, переведённые ранее пользователем, вызывает функцию для формирования запроса на списания средств нетzapros_snyat(double d)Формирует запрос на списание средств.Передаёт в функцию сумму для списания.getReplyFinished (QNetworkReply *reply)Обработчик события ответа с сервера.Указывает на ответ с сервераon_pushButton_2_ clicked()Обработчик события нажатия на кнопку «Проводник», вызывает диалоговое окно «Проводник»нетon_button_option_ clicked()Обработчик события нажатия на кнопку «Настройки», вызывает диалоговое окно «Настройки»нетon_button_exit_clicked()Обработчик события нажатия на кнопку «Выход», вызывает форму авторизации.нет123sort()Сортирует запущенные программы по стоимости.нетon_tabWidget_ currentChanged (int index)Обработчик события смены вкладки элемента «tabWidget»Передаёт в функцию номер выбранной вкладки.sort_button()Сортирует кнопки с программами в трее. нетon_button_proc1_clicked()Разворачивает и выводит на передний план главное окно приложения, привязанное к кнопке «button_proc1».нетon_button_proc2_clicked()Разворачивает и выводит на передний план главное окно приложения, привязанное к кнопке «button_proc2».нетon_button_proc3_clicked()Разворачивает и выводит на передний план главное окно приложения, привязанное к кнопке «button_proc3».нетon_button_proc4_clicked()Разворачивает и выводит на передний план главное окно приложения, привязанное к кнопке «button_proc4».нетon_button_proc5_clicked()Разворачивает и выводит на передний план главное окно приложения, привязанное к кнопке «button_proc5».нетon_button_ keybroad_clicked()Обработчик события нажатия на кнопку «Клавиатура», запускает экранную клавиатуру.нет

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


Таблица 3.3 - Спецификация функций модуля «dialog_option»

Прототип функцииНазначениеНазначение формальных параметровDialog_option(QWidget *parent)Конструктор класса. Служит для первоначальной инициализации полей класса.Указывает на родительский widget.~Dialog_option()Деструктор классанетon_button_save_clicked()Обработчик события нажатия кнопки «Сохранить». Записывает все внесенные изменения в соответствующие файлы.нетon_button_cancel_ clicked()Обработчик события нажатия кнопки «Отмена». Закрывает диалоговое окно «Настройки» без сохранения изменений.нетon_button_save _reg_clicked()Обработчик события нажатия кнопки «Включить класс». Осуществляет необходимые записи в реестр ОС.нетon_button_del _reg_clicked()Обработчик события нажатия кнопки «Выключить класс». Возвращает реестр ОС в исходное состояние до «включения класса».нетon_comboBox_ Language_ currentIndexChanged (int index)Обработчик события смены языка программы. Записывает в файл «Language.mycl» выбранный язык.Передаёт в функцию номер выбранной строки.EN_Language()Загружает английский интерфейс программы.нетRU_Language()Загружает русский интерфейс программы.нетon_radioButton_clicked()Очищает и делает недоступными текстовые поля для смены пароля. нетon_radioButton_2_ clicked()Делает доступными текстовые поля для смены пароля.нет

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

-выбрать или указать в ручную добавляемую программу,

-выбрать вкладку, на которую будет помещена программа,

-указать наименование, под которым будет представлена пользователю;

-выбрать или указать в ручную картинку (рекомендуемый формат «.png» и рекомендуемый размер 100 пикселей по высоте и 100 пикселей по ширине), которая будет служить пиктограммой для запуска приложения;

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

Перед сохранением введённых данных происходит проверка на наличие указанного рисунка. Спецификация основных функций модуля «dialog_add» программы «A_Class» представлена в таблице 3.4.


Таблица 3.4 - Спецификация функций модуля «dialog_add»

Прототип функцииНазначениеНазначение формальных параметровDialog_add (QWidget *parent)Конструктор класса. Служит для первоначальной инициализации полей класса.Указывает на родительский widget.~Dialog_add ()Деструктор классанетon_button_save_clicked()Обработчик события нажатия кнопки «Сохранить». Сохраняет внесённые изменения.нетon_button_exit_clicked()Обработчик события нажатия кнопки «Закрыть». Закрывает окно «Настройки» без сохранения изменений.нетon_button_select1_clicked()Вызывает диалоговое окно «Выбор рисунка»нетon_button_select2_clicked()Вызывает диалоговое окно «Выбор запускаемого файла».нет

Из главного окна программы «A_Class» с правами клиента можно вызвать специально разработанный проводник, который предоставляет базовые возможности работы с каталогами и файлами.


3.4 Требования к техническому обеспечению


3.4.1 Общие требования

Для нормального функционирования разработанной информационной подсистемы необходимо наличие на компьютере пользователя операционной системы Microsoft Windows XP или старше. Поцессор, оперативное запоминающее устройство (ОЗУ), жесткий диск и монитор должны обладать определенными характеристиками, значения которых определим далее.


3.4.2 Требования к центральному процессору

В результате контрольных прогонов установлено, что для нормального функционирования разработанной информационной подсистемой «a_class» требуется компьютер с процессором, тактовая частота которого не ниже 700 МГц, рекомендуется использовать компьютер с процессором Pentium 4 или более быстрым. Такое требование объясняется тем, что помимо работы операционной системы и разработанной информационной подсистемы будут работать и другие внешние программы. При использовании данной информационной подсистемы на процессорах с меньшей тактовой частотой компьютер будет «перегружен».


3.4.3 Требования к оперативному запоминающему устройству

Необходимый размер ОЗУ WОЗУ, Мбайт, рассчитаем по формуле

ОЗУ= WОЗУ1 + WОЗУ2,(3.1)


где WОЗУ1 - минимально необходимый размер ОЗУ, требуемый для работы операционной системы (ОС);

WОЗУ2 - объем ОЗУ, требуемый для работы информационной подсистемы.

Значение параметра WОЗУ1 для Windows XP определяется, как 128 Мбайт. Обоснование: данное требование сформулировано фирмой Microsoft, как рекомендованное при установке Microsoft Windows XP.

Значение параметра WОЗУ2 в рассматриваемом случае определяется необходимостью загрузки в оперативную память персонального компьютера информационной подсистемы, которая состоит из программы «a_class» составляет 50 Мбайт и программа «start» составляет 27 Мбайт оперативной памяти.

Таким образом, воспользовавшись формулой (3.1) получаем

ОЗУ = 128 + 77 = 205 Мбайт.


Таким образом, для нормальной работы информационной подсистемы «a_class» под управлением операционной системы Windows XP будет достаточно 205 Мбайт оперативной памяти. Рекомендуется использовать ОЗУ размером 256 Мбайт и более.


3.4.4 Требования к наличию сводного места на жестком диске

Важной характеристикой работы компьютера и вместе с ним и разработанного программного обеспечения, является размер свободного пространства на жестком диске компьютера. Определить минимально необходимое свободное пространство WПЗУ, Мбайт, можно, используя формулу следующим соотношением:

ПЗУ = WПЗУ1 + WПЗУ2,(3.2)


где WПЗУ1 - размер пространства, которое занимает инсталляция разработанной информационной подсистемы «a_class», Мбайт;ПЗУ2 - размер служебных файлов, создаваемых при работе с программой, Мбайт.

Размер пространства WПЗУ1, которое занимает инсталляция информационной подсистемы «a_class» определили опытным путем, просмотрев какое количество Мбайт, которое занимают исполняемые файлы, динамические библиотеки и дополнительные файлы требуемые для нормального функционирования приложения. WПЗУ1= 376 Мбайт.

В процессе эксплуатации информационной подсистемы «Post» будут создаваться временные файлы (pas.myps, Language.mycl, file_update.mycl, update.txt и др.). Размер служебных файлов может составлять минимум 1,5 Мбайт памяти жесткого диска. WПЗУ2 =1,5 Мбайт.

Итак, на основании формулы (3.2) приходим к выводу, что для корректной работы информационной подсистемы «a_class» необходимо следующее количество свободной памяти жесткого диска:

ПЗУ = 376 + 1,5 = 377,5 Мбайт.


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

3.4.5 Требования к монитору

В расчёт необходимого разрешения экрана, ключевым является количество пикселей по ширине. Количество требуемых программой «a_class» пикселей по ширине рассчитывается по формуле 3.3.


Rш = ? Rш. элем (3.3)


где Rш. элем - ширина элементов управления следующих друг за другом разработанной информационной подсистемы «a_class», Мбайт;

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

Итак, на основании формулы (3.3) приходим к выводу, что для корректной работы информационной подсистемы «a_class» необходимо следующее количество пикселей по ширине экрана:


Rш = 830 + 170 + 70 =1070 пикселей.


Для нормальной работе программы «a_class» разрешение монитора должно быть как минимум 1152×864. Если разрешение экрана будет меньше рекомендованного, то некоторые объекты элементов управления будут накладываться друг на друга. Качество цветопередачи рекомендуется 16 бит, это необходимо для качественного отображения картинок.

3.5 Установка и вызов программы


Установка программы производится следующим образом.

1.В дисковод для компакт-дисков необходимо поместить CD-ROM с предварительно записанной программой установки информационной подсистемы «A_Class».

2.Средствами проводника Windows запустить файл Setup_a_class.exe на выполнение.

.В открывшемся первом окне программы инсталлятора выбрать язык установки и нажать кнопку «Далее» (рисунок 3.1).


Рисунок 3.1 - Установка приложения


4.В открывшемся втором окне программы инсталлятора ознакомиться с рекомендациями и нажать кнопку «Далее».

5.В открывшемся третьем окне программы инсталлятора для установки программы нажать кнопку «Установить».

Процесс установки программы завершен.

Установленная программа находится в папке C:\Program Files\a_class.

Вызов программы может осуществляться через кнопку Пуск ® Все программы ® a_class ® a_class (рисунок 3.2) или с помощью файла приложения располагающегося в каталоге C:\Program Files\a_class.

Рисунок 3.2 - Запуск программы «A_Class»


3.6 Входные данные программы


Входными данным программного продукта «A_Class» являются:

-цены за один час использования программ с вкладок «Офис», «Мультимедиа» и «Интернет» ;

-данные по идентификации компьютера (логин зала, имя компьютера, пароль компьютера);

-пароль администратора;

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


3.7 Выходные данные программы


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

3.8 Результаты тестирования программы


Программа прошла тестирование у сотрудников предприятия ООО «Еврософт», г. Ставрополь. В результате тестирования установлено, что она в полном объеме удовлетворяет требованиям заказчика. В настоящее время разработанная информационная подсистема «A_Class» передана заказчику и находится в стадии эксплуатации.


3.9 Краткая инструкция администратору по работе с программой


Для входа в программу «A_Class» с правами администратора необходимо: при старте программы до подтверждения соглашения об использовании сервиса «Cyberclub» нажать сочетание клавиш «Alt» + «Q» для перехода на форму авторизации (рисунок Г.1), после чего выбрать пользователя «администратор» и ввести пароль. Если администраторам пароль ранее не был изменён, то пароль «a_class». Для удобства ввода пароля имеется возможность запуска экранной клавиатуры. Для запуска экранной клавиатуры надо нажать кнопку «keyboard».

Войдя в программу с правами администратора, из главной экранной формы программы, изображённой на рисунке Г.2, пользователь имеет возможность:

-добавлять внешние программы на вкладки программы «A_Class»;

-удалять внешние программы из вкладок программы «A_Class»;

-редактировать внешние программы на вкладках программы «A_Class»;

-устанавливать цена за час использования программ с различных вкладок;

-вносить изменения в данные об идентификации компьютера;

-менять пароль авторизации администратора;

-менять язык программы;

-вызывать экранную клавиатуру и стандартный проводник ОС Windows;

-выключать или перезагружать компьютер.

Для перехода на форму «Настройки» необходимо нажать кнопку «Настройка». В диалоговом окне «Настройки», изображённом на рисунке Г.3, пользователь может устанавливать цена за час использования программ с различных вкладок, вносить изменения в данные об идентификации компьютера, менять пароль авторизации администратора, а также «включать» и «выключать» программу «A_Class». Включить программу «A_Class» означает внести соответствующие изменения в реестр ОС Windows для автозапуска программы и предотвращения возможности пользователя несанкционированного доступа к электронным ресурсам компьютера и компьютерной сети. Включить программу «A_Class» означает внести соответствующие изменения в реестр ОС Windows, которые вернут работу ОС в состояние до «включения» программы «A_Class». Для сохранения внесённых изменений необходимо нажать кнопку «Сохранить». Для закрытия диалогового окна «Настройки» без внесения изменений необходимо нажать кнопку «Отмена».

Для добавления внешних программ на вкладки программы «A_Class» необходимо вызвать диалоговое окно «Добавление иконки» изображённое на рисунке Г.5, заполнить все имеющиеся текстовые поля, после чего нажать кнопку «Сохранить». Вызвать диалоговое окно «Добавление иконки» можно из главной формы, нажав кнопку «Добавить иконку». В появившемся диалоговом окне необходимо указать:

-путь и имя рисунка, который будет выступать в качестве пиктограммы;

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

-подпись к пиктограмме;

-вкладку, на которую выносится пиктограмма;

-дополнительный параметр при необходимости.

Для удобства выбора рисунка и внешней программы, правее соответствующего текстового поля имеется кнопка с надписью «…», при нажатии на которую вызывается диалоговое окно для выбора файла. Рекомендуемый размер картинки 100 пикселей по высоте на 100 пикселей по ширине. Дополнительный параметр необходим для перевода средств из одной платёжной системы в другую. Его указать можно только для программ, которые будут добавлены на вкладку «Бизнес».

Для сохранения внесённых изменений необходимо нажать кнопку «Сохранить». Для выхода из диалогового окна «Добавление иконки» без внесения изменений необходимо нажать кнопку «Отмена».

Удаление внешних программ с вкладок программы «A_Class» производится с помощью диалогового окна «Удаление иконки» изображенного на рисунке Г.6, которое вызывается из главного окна с помощью кнопки «Удалить иконку». В нём выбирается имя вкладки, с которой будет удаляться программа и подпись, которая соответствует удаляемой программы. Указав необходимые данные нажать кнопку «Удалить» для подтверждения удаления. Чтобы удалить все программы с конкретной вкладки, необходимо выбрать соответствующую вкладку и нажать кнопку «Удалить всё». Для выхода из диалогового окна «Удаление иконки» без внесения изменений надо нажать кнопку «Закрыть».

Редактирование вынесенных внешних программ на вкладки программы «A_Class» производится в диалоговом окне «Редактирование иконок» изображенного на рисунке Г.7, которое вызывается из главной формы нажатием на кнопку «Редактирование». В диалоговом окне «Редактирование иконок» пользователь имеет возможность заменить рисунок, выступающие в качестве пиктограммы на соответствующей вкладке, заменить запускающуюся программу при нажатии по соответствующей пиктограмме, сменить подпись к пиктограмме и изменить дополнительный параметр, если это возможно. Для внесения изменений надо в диалоговом окне «Редактирование иконок» выбрать вкладку, на которой находится редактируемая программа. Далее, двойным щелчком левой кнопки мыши выбрать подпись редактируемой программы из списка имеющихся программ, после чего внести необходимые изменения в содержимое текстовых полей и нажать кнопку «Применить». Для смены редактируемой программы без сохранения изменений достаточно выбрать другую подпись программы из списка имеющихся программ. Чтобы закрыть диалоговое окно «Редактирование иконок» без сохранения изменений достаточно нажать кнопку «Закрыть».

Запустить стандартный проводник ОС Windows можно нажатием на кнопке «Открыть проводник», которая находится на главной форме.

Запустить экранную клавиатуру можно нажатием на кнопке «Экранная клавиатура», которая находится на главной форме.

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


3.10 Краткая инструкция клиенту по работе с программой

информационный система доступ ресурс компьютерный

Для входа в программу «A_Class» с правами клиента необходимо: при старте программы щелкнуть левой кнопкой мыши по логотипу «Cyberclub» на форме с логотипом изображенной на рисунке Г.8. На следующей форме «Соглашение» изображенной на рисунке Г.9, для подтверждения соглашения об использовании сервиса «Cyberclub» надо нажать кнопку «Я согласен», в противном случае пользователь вернётся на форму с логотипом. После подтверждения соглашения об использовании сервиса «Cyberclub» высвечивается диалоговое окно, информирующее пользователя о процессе получения баланса пользователя с сервера. В случае удачного получения баланса с сервера пользователь попадает в главное окно программы с правами клиента. В противном случае пользователю предлагается повторить попытку запроса баланса.

Из главной формы пользователь может запускать внешние программы, запускать экранную клавиатуру, вызвать специально разработанный проводник и обновлять баланс.

Запуск внешних приложений осуществляется одинарным щелчком по пиктограмме соответствующей программы. Максимальное количество одновременно запущенных программ с вкладок «Офис», «Мультимедиа» и «Интернет», не должно превышать пяти. С вкладки «Бизнес» можно запускать только одну программу. После запуска программы в нижней части экрана формируется кнопка с уменьшенной копией пиктограммы программы и её подписью, при нажатии на которую главной окно соответствующей программы становится активным и выводится поверх других окон. На данной кнопке в правом верхнем углу располагается кнопка в виде крестика, при нажатии на которую запущенная программа зарывается. После запуска внешней программы на сервер каждые 20 секунд отправляется запрос о списании соответствующей суммы, ответом на запрос является текущий баланс компьютера. При переходе на вкладку «Бизнес» все ранее запущенные приложения с других вкладок закрываются. При запуске внешнего приложения с вкладки бизнес при наличии дополнительного параметра, на сервер отправляется запрос о переводе средств в другую платёжную систему. Если перевод осуществлён удачно, то запускается выбранное ранее приложение, в противном случае пользователю предлагается повторить попытку. После завершения работы приложения с дополнительным параметром снова отправляется запрос на сервер о переводе средств в платёжную систему «Cyberexpress».

Для обновления баланса под окном, отображающим текущий баланс пользователя, имеется кнопка «Обновить», щелчок по которой обновляет баланс пользователя. Обновлять баланс можно не чаще чем 1 раз в 10 секунд. Обновлять баланс нельзя, если запущено хотя бы одно внешнее приложение.

Вызов диалогового окна «Проводник» изображённого на рисунке Г.4 осуществляется из главной экранной формы программы «A_Class». В данном диалоговом окне предоставлена возможность работы пользователю с каталогами и файлами. Для каких либо действий с каталогами и файлами необходимо выбрать текущий каталог. С помощью выпадающего списка выбирается корневой каталог. Выбрав корневой каталог, появляется список, содержащий подкаталоги и файлы. Для создания нового подкаталога в текущем каталоге надо нажать кнопку «Создать папку». Для удаления выбранного файла или каталога надо нажать кнопку «Удалить». Удалять можно не только пустые каталоги, но каталоги, содержащие в себе подкаталоги и файлы. Для копирования файла или каталога надо первоначально выделить копируемый файл или каталог и нажать кнопку «Копировать», после чего переместиться в каталог, в который будет скопирован файл или каталог и нажать кнопку «Вставить». Чтобы переименовать файл или каталог, надо выделить файл или каталог подлежащий переименованию и нажать кнопку «Переименовать». Под кнопкой появится текстовое поле для ввода нового имени и кнопка «Ок», для подтверждения нового имени.

Запустить экранную клавиатуру можно нажатием на кнопке «Экранная клавиатура», которая находится на главной форме.

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


Выводы


1.Для нормального функционирования программы достаточно наличия:

-операционной системы Windows XP, 32 разрядная;

-персонального компьютера с процессором Pentium 4 700 МГц;

-256 Мбайт оперативной памяти;

-377,5 Мбайт свободной памяти жесткого диска;

-любого современного монитора с разрешением 1152×864;

2.В ходе разработки программы использовались среда Qt Creator с использованием библиотеки Qt. Языком программирования являлся C++.

3.Функциональные ограничения на применение обусловлены тем, что разработанная программа требует наличия на компьютере пользователя установленной 32-х разрядной операционной системой Windows XP или старше, внешние программы, добавляемые на вкладки программы «A_Class» должны создавать только 1 процесс.

.Логическая структура программы включает в себя 16 классов.

.Установка программы на компьютер пользователя производится при помощи программы инсталлятора Setup_a_class.exe.

.Программа прошла тестирование у сотрудников предприятия ООО «Еврософт», г. Ставрополь. В результате тестирования установлено, что она в полном объеме удовлетворяет требованиям заказчика.

4. технико-ЭКОНОМИЧЕСКОЕ ОБОСНОВАНИЕ ПРОЕКТА


4.1 Краткая характеристика проекта


В дипломном проекте разработана информационная подсистема управление доступом к электронным ресурсам компьютерной сети.

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

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

Язык программирования - С++. Число операторов программы
= 1496 ед.
Ориентировочный срок службы программы до морального старения 4 года.

В этом разделе рассмотрены вопросы расчета:

-трудоемкости выполняемых работ;

-суммарных затрат на создание программного продукта;

-экономии, достигаемой, в результате перехода от ручной обработки информации на автоматизированную обработку;

-чистого дисконтированного дохода при использовании программного продукта;

-внутренней нормы доходности проекта и времени его окупаемости.

4.2 Трудоемкость выполняемых работ


Создание программного продукта предполагает разработку программ и всей программной документации, предусмотренной техническим заданием.

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

Трудоемкость разработки программного обеспечения ТПО, чел.- ч., определяется по формуле:


ТПО = ТО + ТИ + ТА + ТП + ТОТЛ + ТД, (4.1)


где ТО - затраты труда на описание задачи, чел.-ч.;

ТИ - затраты на исследование предметной области, чел.-ч.;

ТА - затраты на разработку блок-схем, чел.-ч.;

ТП - затраты на программирование, чел.-ч.;

ТОТЛ - затраты на отладку, чел.-ч.;

ТД - затраты на подготовку документации, чел.-ч.

Условное число операторов определяется через общее число операторов D, ед.:


D = ??c ? (1 + p), (4.2)


где ? - число операторов, ед. (? = 1496 ед.);

с ? коэффициент сложности задачи;

р - коэффициент коррекции программы, учитывающий новизну проекта.

Коэффициент сложности задачи «с» характеризует относительную сложность программы по отношению к так называемой типовой задаче, реализующей стандартные методы решения, сложность которой принята равной единице (величина коэффициента «с» лежит в пределах от 1,25 до 2). Для рассматриваемого программного продукта коэффициент сложности задачи равен 1,7 (c = 1,7).

Коэффициент «p» коррекции программы, учитывающий новизну проекта, количественно характеризует увеличение объема работ по реализации программного продукта, возникающего за счет внесения изменений в алгоритм или в тексте программы по результатам её тестирования и отладки. Так как программный продукт разрабатывался как новый проект, то коэффициент «p» коррекции программы равен 0,1.

В результате подстановки численных значений коэффициентов и параметров в формулу (4.2) получим следующее общее число операторов:

= 1496? 1,7? (1 + 0,1) = 2797,52 ед.


Затраты труда на описание задачи принимаем: ТО = 40 чел.-ч. Работу по описанию задачи выполняет инженер-программист с окладом 6000 руб. в месяц и коэффициентом квалификации kК = 0,8 (опыт работы по специальности до 2 лет).

Затраты труда на изучение задачи ТИ с учетом уточнения описания и квалификации программиста могут быть определены по формуле:


ТИ = (D?b)/(sи?kк),(4.3)


где D - общее число операторов, ед.;

b - коэффициент увеличения затрат труда, вследствие недостаточного описания задачи;

sи - количество операторов, приходящееся на один чел.-ч., (ед./ чел.-ч.);

kK - коэффициент квалификации работника (определяется в зависимости от стажа работы).

В связи с тем, что решение рассматриваемой задачи потребовало уточнения поставленной задачи, то коэффициент b = 1,35.

Количество операторов, приходящееся на один чел.-ч., sи = 75.

Таким образом, на основании формулы (4.3), затраты труда на изучение задачи равняются:


ТИ = (2797,52 ?1,35) / (75?0,8) = 62,94 чел.-ч.


Затраты труда на разработку алгоритма решения задачи ТА, чел.-ч., рассчитывается по формуле:


,(4.4)


где D - общее число операторов, ед.;

sa - количество операторов алгоритма решения задачи, приходящееся
на один чел.-ч., (ед./ чел.-ч.). В данном случае sa = 22 ед./ чел.-ч;
kK - коэффициент квалификации работника (определяется в зависимости от стажа работы).

Подставив численные значения параметров и коэффициентов в формулу (4.4), затраты труда на разработку алгоритма решения задачи равняются:


ТА = 2797,52 /(22 ? 0,8) = 158,95 чел.-ч.


Затраты труда на составление программы по готовой блок-схеме ТП определяется по формуле:


, (4.5)


где D - общее число операторов, ед.;

sп - количество операторов алгоритма решения задачи, приходящееся
на один чел.-ч., (ед./ чел.-ч.). В данном случае sп = 25 ед./ чел.-ч;
kK - коэффициент квалификации работника (определяется в зависимости от стажа работы).

Подставив численные значения параметров и коэффициентов в формулу (4.5), затраты труда на составление программы по готовой блок-схеме составляют:


ТП = 2797,52/ (25?0,8) = 139,88 чел.-ч.


Затраты труда на отладку программы на персональном компьютере ТОТЛ, чел.-ч., рассчитывается по формуле:


, (4.6)


где D - общее число операторов, ед.;

sотл - количество отлаживаемых операторов программы, приходящееся на один чел.-ч., (ед./ чел.-ч.), для данной задачи sотл =5;

kK - коэффициент квалификации работника (определяется в зависимости от стажа работы).

Подставив численные значения параметров и коэффициентов в формулу (4.6), затраты труда на отладку программы составляют:


ТОТЛ = 2797,52 / (5?0,8) = 699,38 чел.-ч.


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


, (4.7)

где ТДР - затраты труда на подготовку материалов в рукописи, чел.-ч.;

ТДО - затраты труда на редактирование, печать и оформление документации, чел.-ч.

Затраты труда на подготовку материалов в рукописи ТДР, чел.-ч., вычисляются по формуле:


,(4.8)


гдеsдр - количество операторов программы в рукописи, приходящееся на один чел.-ч., (ед./ чел.-ч.). В данном случае sдр = 15 ед./ чел.-ч;

kK - коэффициент квалификации работника (определяется в зависимости от стажа работы).

Подставив численные значения параметров и коэффициентов в формулу (4.8), затраты труда на подготовку материалов в рукописи равны:


ТДР = 2797,52/ (15?0,8) = 233,13 чел.-ч.


Затраты труда на редактирование, печать и оформление документации ТДО, чел.-ч., вычислим по формуле:


. (4.9)


Подставив численные значения параметров и коэффициентов в формулу (4.9), затраты труда на редактирование, печать и оформление документации составляют:

ТДО = 0,75?233,13= 174,85 чел.-ч.


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


ТД = 233,13 + 174,85 = 407,98 чел.-ч.


Подставив все полученные данные в формулу (4.1), получим полную трудоемкость разработки программного обеспечения:


ТПО = 40,0 + 62,94 + 158,95 + 139,88 + 699,38 + 407,98 = 1509,13 чел.-ч.


С учетом уровня языка программирования трудоемкость разработки программы может быть скорректирована следующим образом:


, (4.10)


где kКОР - коэффициент коррекции, учитывающий изменения трудоемкости разработки программного обеспечения в зависимости уровня языка программирования (таблица 4.1).


Таблица 4.1 - Изменение трудоемкости в зависимости уровня языка программирования

Уровень языка программированияХарактеристика языка программированияКоэффициент изменения трудоемкости1Ассемблер12Макроассемблер0,953Алгоритмические языки высокого уровня0,8 ? 0,9

Использованный для разработки программного обеспечения язык программирования С++ относится к алгоритмическим языкам высокого уровня, с учетом этого примем kКОР = 0,8.

Окончательно, трудоемкость разработки программы с учетом корректировки равняется:


ТКОР = 1509,13 ?0,8 = 1207,3 чел.-ч.


4.3 Расчет себестоимости автоматизированной информационной системы


Себестоимость создания автоматизированной информационной системы определяется по следующим статьям калькуляции:

-основная заработная плата производственного персонала;

-дополнительная заработная плата производственного персонала;

-отчисления в социальные фонды;

-затраты на потребляемую электроэнергию;

-расходы на материалы и запасные части;

-затраты на амортизацию и ремонт вычислительной техники.

Плановый фонд рабочего времени одного специалиста производственного персонала в месяц tпф, ч, вычисляется по формуле:


tпф = Nрд?tрд, (4.11)


гдеNрд - количество рабочих дней специалиста производственного персонала за месяц;

?tрд - продолжительность рабочего дня специалиста производственного персонала, ч.

Для расчетов по формуле (4.11) необходимо принять Nрд = 22 дня, ?tрд = 8 ч. Подставив указанные численные значения параметров Nрд и ?tрд в формулу (4.11) получится, что плановый фонд рабочего времени одного специалиста производственного персонала в месяц составляет:


tпф = 22 ? 8 = 176 ч.


Таким образом, часовая тарифная ставка sч, руб./ч, инженера-программиста первой категории составляет:


sч = 6000 / 176= 34,09 руб./ч.


Основная заработная плата ЗО, руб., производственного персонала определяется по формуле:


ЗО = sч ? ТКОР. (4.12)


Подставив все численные значения параметров в формулу (4.12) получим, что основная заработная плата инженера-программиста составит:


ЗО = 34,09?1207,3 = 41156,86 руб.


Дополнительная заработная плата ЗД, руб., производственного персонала определяется по формуле:


ЗД = ЗО?Д, (4.13),


где?Д - коэффициент дополнительной заработной платы.

Коэффициент дополнительной заработной платы инженера-программиста составляет ?Д = 0,1. Таким образом, дополнительная заработная плата ЗД, руб., инженера-программиста, вычисленная по формуле (4.13), равна:

ЗД = 41156,86 ?0,1 = 4115,69 руб.


Отчисления в социальные фонды, ЗС, руб.:


, (4.14)


где ? норматив социальных отчислений, %.

В соответствии с Федеральным законом норматив социальных отчислений ?С = 34 %. Подставив все численные значения в формулу (4.14) получим, что отчисления в социальные фонды равны:


ЗС = = 15392,67 руб.


Таким образом, единый социальный налог составит 15392,67 руб.

Затраты на потребляемую электроэнергию ЗЭ, руб.:


ЗЭ = PВ ? tВ ? sЭ, (4.15)


гдеPВ - мощность ЭВМ, кВт;

tВ - время работы вычислительного комплекса, ч;

sЭ - стоимость 1 кВтч электроэнергии, руб./ кВтч.

Мощность ЭВМ, на которой работает инженер-программист, равна
PВ = 0,3 кВт.
Время работы вычислительного комплекса tв, ч, при создании программного продукта вычисляется по формуле:


tв = ?п?(ТП + ТД + ТОТЛ)?, (4.16)

где?п - коэффициент, учитывающий затраты времени на профилактические работы на ЭВМ. В данном случае ?п = 1,15.

Подставив все численные значения параметров в формулу (4.16), время работы вычислительного комплекса рано:


tВ = 1,15? (139,88 + 407,98 + 699,38) = 1434,33 ч.


Стоимость 1 кВтч электроэнергии составляет sЭ = 2,82 руб./ кВтч.

Подставив все численные значения параметров в формулу (4.15), затраты на потребляемую электроэнергию составят:


ЗЭ =0,3?1434,33 ?2,82 = 1213,44 руб.


Расходы на материалы составляют 30 руб. Это стоимость одного CD-R. Таким образом, ЗМ = 30,00.

Затраты на ремонт вычислительной техники ЗП, руб.:


, (4.17)


гдеКВ ? балансовая стоимость вычислительной техники, руб. В данном случае

= 10000,00 руб.;

? - норма отчислений на ремонт, %. В данном случае ? = 4%;

tВ.Г - годовой фонд времени работы вычислительной техники, ч. В данном случае tВ.Г = 2112 ч.

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

ЗП = 10000 ?0,04 ? (1434,33/2112) = 271,65 руб.


Затраты на амортизацию ЗАМ , руб.:


ЗАМ = Кв,(4.18)


где - норма отчислений на амортизацию, %. В данном случае = 12,5%;

Подставив значения в формулу (4.18) затраты на амортизацию составят:


ЗАМ = 10000 ?0,125 ? (1434,33/2112) = 848,92 руб.


Полные затраты на создание программного продукта, З, руб.:


З = ЗО + ЗД + ЗС + ЗЭ + ЗМ + ЗП + ЗАМ (4.19)


Подставив данные в формулу (4.19), полные затраты на создание программного продукта составят:


З=41156,86+4115,69+15392,67 + 1213,44 + 30,00 + 271,65 +848,92=63029,23 руб.


Таким образом, полные затраты на создание программного продукта составляют 63029,23руб.

Поскольку разработка программного продукта ведется и инженером-программистом информационного отдела предприятия, оптовая и договорная цена программного продукта не определяется. Капиталовложения при внедрении программного продукта равняются его себестоимости.

4.4 Оценка экономической эффективности внедрения программного продукта


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


П = Э - З,(4.20)


гдеЭ - стоимостная оценка результатов применения программного продукта в течение года, руб.;

З - стоимостная оценка затрат при использовании программного продукта в течение года, руб.

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


Э = (ЗРУЧ - ЗАВТ) + ЭДОП,(4.21)


гдеЗРУЧ - затраты на ручную обработку информации, руб.;

ЗАВТ - затраты на автоматизированную обработку информации, руб.;

ЭДОП - дополнительный экономический эффект, связанный с уменьшением числа используемых бланков, высвобождением рабочего времени и т. д., руб.

Данный продукт используется сотрудником предприятия ООО «Еврософт», г. Ставрополь. Оклад сотрудника - 6000 руб., премиальный фонд - 50% от оклада. Цена одного часа работы составляет:


sЧ = (6000+6000×0,5)/176 = 51,14 руб./ч.

Затраты на ручную обработку информации, руб., определяется по формуле:


Зручн = tр sч kд,(4.22)


где tр - время, затрачиваемое на обработку информации вручную, ч;ч - цена одного часа работы оператора, руб.;

kд = 1 - коэффициент, учитывающий дополнительные затраты

времени на логические операции.

Затраты на автоматизированную обработку информации, руб., определяется по формуле:


Завт=tа sч kд,(4.23)


где tа - затраты времени на автоматизированную обработку той же самой информации, ч.

Общие затраты времени на ручную обработку информации в месяц tр, ч, составляют tр = 100 ч, а общие затраты на автоматизированную обработку информации - tа = 4 ч.

Подставив значения в формулу (4.22), получим:


ЗРУЧ =100?51,14 ?1 = 5114 руб.


Подставив значения в формулу (4.23), получим:


ЗАВТ =4?51,14 ?1 = 204,56 руб.


Следовательно, приток денежных средств от внедрения программного продукта за месяц, даже без учета дополнительный экономический эффекта (ЭДОП = 0), на основании формулы (4.21), получится равным

Э = ЗРУЧН - ЗАВТ = 5114 - 204,56 = 4909,44 руб.


Та же величина за год будет иметь значение 58913,28 руб.

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

На основании формулы (4.15), для персонального компьютера сотрудника ООО «Еврософт» за 12 месяцев затраты на электроэнергию при потребляемой мощности компьютера PВ =0,3 кВт составят (стоимость электроэнергии sЭ =2,82 руб./кВт-ч.):


ЗЭ = 0,3?4?12?2,82 = 40,61 руб.


Балансовая стоимость вычислительной техники = 10000,00 руб. Тогда, на основании формул (4.17) и (4.18), для персонального компьютера сотрудника ООО «Еврософт» за 12 месяцев затраты на амортизацию и текущий ремонт составят:


ЗП = 10000 ?0,04 ? (4?12/2112) = 9,09 руб.


Затраты на амортизацию вычислительной техники:


ЗАМ = 10000 ?0,125 ? (4?12/2112) = 28,41 руб.


Тогда, эксплуатационные затраты при использовании программного продукта составят:


З = ЗЭ + ЗП + ЗАМ = 40,61 + 9,09 +28,41 = 78,11 руб.

Прибыль рассчитаем по формуле (4.20):


П = Э - З = 58913,28 - 78,11 = 58834,89 руб.


Таким образом, мы имеем следующий денежный поток:

0 шаг (капиталовложения) - 63029,23 руб.;

шаг - 58834,89 руб.;

шаг - 58834,89 руб.;

шаг - 58834,89 руб.;

шаг - 58834,89 руб.;

Срок окупаемости проекта рассчитывается по формуле (4,24)


(4.24)


гдеK - капиталовложения при внедрении программного продукта, руб.;

П - прибыль от использования программного продукта за год его эксплуатации, руб.

Срок окупаемости проекта TОК, год, составит:


TОК = 63029,23 / 58834,89 =1,07 года.


Чистый дисконтированный доход от использования программного продукта ЧДД , руб., определяют по формуле (4,25)


, (4.25)


где n - расчетный период, год;

- прибыль от использования программного продукта за k-й год его эксплуатации, руб.;

Е = 20 % - норма дисконта;

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

Чистый дисконтированный доход за 2 года использования программного продукта (так как продукт окупается в течении двух лет) при норме дисконта 20% составит:



4.5 Основные технико-экономические показатели проекта


Для удобства анализа, все основные технико-экономические показатели проекта сведены в таблицу 4.5.


Таблица 4.5 ? Основные технико-экономические показатели проекта

Основные характеристикиЕдиницы измеренияПроектИтоговая трудоемкость разработкичел.-ч.1207,3Полные затраты на создание программного продукта руб.63029,23Годовой экономический эффект от внедрения программного продуктаруб.58913,28Прибыль от внедрения и использования программного продуктаруб.58834,89Срок окупаемости проектагод1,07

Выводы


1.Итоговая трудоемкость разработки программного продукта составляет 1207,3чел.-ч.

2.Полные затраты на создание программного продукта - 63029,23 руб.

.Годовой экономический эффект от внедрения программного продукта составляет 58913,28 руб.

.Прибыль от внедрения и использования программного продукта - 58834,89 руб.

.Срок окупаемости проекта 1,07 года.

.После внедрения программного продукта ежемесячные затраты времени администратора компьютерного зала, связанных с контролем за несанкционированное использование информационных ресурсов клиентами компьютерных залов, сократились с 100 до 4 часов.

5. БЕЗОПАСНОСТЬ И ЭКОЛОГИЧНОСТЬ ПРОЕКТА


5.1 Общая характеристика опасных, вредных факторов на рабочем месте оператора информационной подсистемы


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

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

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

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

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

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

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

Видеотерминалы являются источником широкого спектра электромагнитных излучений: рентгеновского, ультрафиолетового (УФ), видимого спектра, инфракрасного (ИК), радиочастот, очень низких частот, включая промышленную. Кроме того, они создают аэроионные потоки и электростатическое поле.

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

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

5.2 Общие мероприятия по обеспечению безопасности на рабочем месте


Кабинет, в котором работает оператор ПЭВМ, находится на третьем этаже здания, он рассчитан на четыре рабочих места. Помещение имеет следующие размеры: длина - 6,5 м, ширина - 5 м и высота - 2,5 м.

Таким образом, на одно рабочее место оператора приходится 8,125 м2 полезной площади и 20,31 м3 объема кабинета, что превышает установленную нормы.

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

В здании предусмотрено защитное заземление. Все провода имеют надёжную изоляцию.

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

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

Рабочее место оператора ПЭВМ представлено на рисунке 5.1. Конструкция рабочего стола обеспечивает оптимальное размещение на рабочей поверхности: монитора, клавиатуры и мыши. Рабочий стол имеет следующие размеры: длина - 1,3 м, ширина - 0,8 м, высота рабочей поверхности относительно пола - 0,7 м.

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


5.3 Расчет искусственного освещения в рабочем помещении


Целью расчета является определение типа, числа и расположения светильников и ламп, необходимых для требуемого уровня освещенности. Так как минимальным объектом различения при работе с ПЭВМ является пиксель - одна светящаяся точка, а ее размер составляет 0,28мм. В соответствии с нормой освещенности рабочей поверхности (СНиП 23-05-95) характеристика зрительной работы «Очень высокой точности». Следует также учесть, что продолжительность зрительной работы составляет больше половины рабочего дня. На основании этих данных заключаем, что зрительная работа имеет второй разряд с подразрядом «в».

Для искусственного освещения используются светильники типа ОД, каждый из которых содержит две лампы дневного света типа ЛД- 80, мощность лампы P = 80 Вт, световой поток Ф = 3800 лм. Световая отдача люминесцентной лампы в несколько раз больше, чем у ламп накаливания <#"justify">К = 1,3 (коэффициент запаса освещенности);

S = 32,5 м2 (площадь помещения);

Z = 1,1 (коэффициент неравномерности освещения);

Ф = 7600 (световой поток светильника с двумя лампами типа ЛД-80, лм, таблица 5.2);

h ? коэффициент использования светового потока.

Для того чтобы определить h, необходимо найти индекс помещения:


i = (А?В) / (Нр?(А + В)), (5.2)


где А = 6,5 и В = 5 (длина и ширина помещения, в метрах);

Нр - расчетная высота подвеса светильника, метрах:


Нр = h - hрп, (5.3)


где h = 2,45 (высота подвеса светильника (от пола до светильника, в метрах); hрп = 0,7 (высота рабочей поверхности над полом, в метрах);


Нр = 2,45 - 0,7 = 1,75 м. (5.4)


Подставив это значение в формулу (5.2), получим индекс помещения

i = (6,5?5) / (1,75?(6,5 + 5)) = 1,61.(5.5)


Требуемый нормативными документами коэффициент использования светового потока равняется h = 0,52.

Подставив найденные значения в формулу (5.1), получим


N = (300?1,3?32,5?1,1) / (7600?0,52) = 13942,5/ 3952 ? 4 шт.(5.6)


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

Вычисления показали, что для искусственного освещения рабочего помещения площадью 32,5 м2 необходимое количество светильников равно четырем. Схема размещения светильников в рабочем помещении представлена ранее на рисунке 5.1.


Выводы


-В соответствии с принятыми нормами в рабочем помещении обеспечивается необходимый микроклимат, соблюдены все требования пожарной безопасности, соблюдены требования технической эстетики и требования к ПЭВМ. В рабочем помещении все значения описываемых параметров находятся в пределах допустимых норм.

-Расчеты показывают, что для обеспечения требуемого уровня освещенности, соответствующего нормам СНиП 23-05-95, в рассматриваемом помещении необходимо четыре светильника типа ОД.

-В целом условия труда в рассматриваемом помещении соответствуют общепринятым нормам, сотрудникам обеспечены комфорт и благоприятные условия труда.

Заключение


В результате дипломного проектирования был проведён анализ организационной структуры управления предприятием, выявлены основные программные и технические средства необходимые для функционирования информационных систем, выявлена проблемная ситуация и решена путём разработки новой информационной подсистемы управления доступом к электронным ресурсам компьютерной сети для ООО «Еврософт», г. Ставрополь.

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

Полные затраты на создание программного продукта - 63029,23 руб. Годовой экономический эффект от внедрения программного продукта составляет 58913,28 руб. Прибыль от внедрения и использования программного продукта - 58834,89 руб. Срок окупаемости проекта 1,07 года.

Библиографический список


1.Бланшет Ж., Саммерфилд М. Qt 4: Программирование GUI на С++, издание 2-е, Кудиц-Пресс, 2008г.

2.Шлее М. Qt4. Профессиональное программирование на C++, БХВ-Петербург, 2007г.

3.Земсков Ю.В. Программирование на C++ с использованием библиотеки Qt 4, БХВ-Петербург, 2007г.

.Лаптев В.В. С++ объектно-ориентированное программирование, Питер, 2008г.

.Хабибуллин И.Ш. Программирование на языке высокого уровня С/С++, БХВ-Петербург, 2006г.

.Давыдов В.Г. Технологии программирования C++, БХВ-Петербург, 2005г.

.Марченко А.Л. C++. Бархатный путь, Питер, 2005г.

.Хомоненко А.Д. Программирование на C++. Учебное пособие, Альтекс, 2003г.

9.Дейтел Х. М., Дейтел П. Дж. Как программировать на C++, Бином-Пресс <#"justify">Приложение А. Листинг файла main_a_class.cpp


#include "main_a_class.h"

#include "ui_main_a_class.h"

#include "qdesktopwidget.h"

#include "qmessagebox.h"

#include "dialog_add.h"

#include "dialog_delete.h"

#include "qfile.h"

#include "qprocess.h"

#include "qdir.h"

#include "qtimer.h"

#include "dialog_option.h"

#include "com_class.h"

#include "dialog_first.h"

#include "dialog_dir.h"

#include "Q_PID"

#include "qnetworkaccessmanager.h"

#include "qnetworkrequest.h"

#include "qnetworkreply.h"

#include "qurl.h"

#include "connect_perem.h"

#include "dialog_trans_to_partner.h"

#include "dialog_connection.h"

#include "dialog_balanse.h"

#include "QCloseEvent"

#include "dialog_trans_from_partner.h"

#include "dialog_change_icon.h"_a_class::Main_a_class(QWidget *parent) :

QMainWindow(parent),

ui(new Ui::Main_a_class)

{//QMessageBox::information(0,QString::fromLocal8Bit("Warning"),QString::fromLocal8Bit("More than 5 programs can not run at the same time!"),1,0,0);

second11=false;

//проверка языка

language=false;

QFile file_Language;

QString str_byte_mas="";

file_Language.setFileName("Language.mycl");

if(file_Language.exists()==true)

{

file_Language.open(QIODevice::ReadOnly);

QByteArray byte_mas;

byte_mas=file_Language.readAll();

file_Language.close();

str_byte_mas=byte_mas;

}

if(str_byte_mas=="Russian")

{

language=true;

}

else

{language=false;}

this->timer=new QTimer(0);

this->timer_2=new QTimer(0);

this->timer_proc_parent=new QTimer(0);

this->timer_keybroad=new QTimer(0);

this->timer_explorer=new QTimer(0);

admin=false;pr_exit=false;

time_balanse=false;

restart_pc=false;

cost_work=cost_funktion=cost_instrum=cost_internet=0.0;

number=username=password="";

manager= new QNetworkAccessManager;

connect(manager, SIGNAL(finished(QNetworkReply*)),this, SLOT(getReplyFinished(QNetworkReply*)));

QAction* act2 = new QAction("test2", this);

act2 -> setShortcut(QKeySequence((Qt::Key_Escape)));connect(act2, SIGNAL(triggered()), this, SLOT(keyt2()));

addAction(act2);

end==false; end_1=0;end_2=0;

for(int i=0; i<5; i++)

{

my_cost[i].number_pr=-1;

my_cost[i].cost_pr=0.0;

parent_proc[i]=NULL;

}

x=y=0;

x=(QApplication::desktop()->size().width());

y=(QApplication::desktop()->size().height());

this->setWindowFlags(Qt::CustomizeWindowHint | Qt::FramelessWindowHint );//| Qt::WindowStaysOnTopHint

ui->setupUi(this);

this->setGeometry(0,0,x,y);

QColor color; color.setRgb(76,97,124,255);

QPalette palet;

palet.setColor(QPalette::Window,color);

ui->tabWidget->setGeometry(0,0,x,y-65);

// ui->tab->setStyleSheet("background-image: url(image/top-bg.png);");

ui->widget->setGeometry(0,0,x,80);

ui->widget->setStyleSheet("background-image: url(image/top-bg.png);");

ui->widget_2->setGeometry(0,y-65,x,65);

ui->widget_2->setStyleSheet("background-image: url(image/bottom-bg.png);");

//1 часть

update_language();

//обновление баланса

ui->button_updata_balance->setGeometry(x-240,40,170,40);

ui->button_updata_balance->setStyleSheet("border-radius: 10px; color: rgb(255,255,255);");

//лист1

QColor col_fon;col_fon.setRgb(229,229,229);

QPalette pal_1;pal_1.setColor(QPalette::Base,col_fon);

QPalette pal_2;pal_2.setColor(QPalette::Window,col_fon);

ui->listWidget->setGeometry(0,0,x,y-145);

// ui->listWidget->setStyleSheet("background-color: rgb(33,66,100);");

ui->listWidget->setStyleSheet("background-image: url(image/logos.png);");

ui->listWidget_2->setGeometry(0,0,x,y-145);ui->listWidget_2->setStyleSheet("background-image: url(image/logos.png);");

ui->listWidget_3->setGeometry(0,0,x,y-145);ui->listWidget_3->setStyleSheet("background-image: url(image/logos.png);");

ui->listWidget_4->setGeometry(0,0,x,y-145);ui->listWidget_4->setStyleSheet("background-image: url(image/logos.png);");

ui->tabWidget->setStyleSheet("background-color: rgb(33,66,100); color: rgb(204,204,204); font-family: Arial; font-size: 12pt;");

ui->listWidget->setStyleSheet("padding-top: 30px; background-image: url(image/logos.png); ");

ui->listWidget_2->setStyleSheet("padding-top: 30px; background-image: url(image/logos.png);");

ui->listWidget_3->setStyleSheet("padding-top: 30px; background-image: url(image/logos.png);");

ui->listWidget_4->setStyleSheet("padding-top: 30px; background-image: url(image/logos.png);");

ui->tab->setPalette(pal_1);

ui->tab_2->setPalette(pal_2);

//обновление

ui->button_update->setGeometry((x-620),(y-65),63,65);

QPixmap pixmap_update=QPixmap("image/update.png");

QIcon i_update=QIcon(pixmap_update);

ui->button_update->setIcon(i_update);

if(language==false)

ui->button_update->setToolTip(QString::fromLocal8Bit("Update"));

else

ui->button_update->setToolTip(QString::fromLocal8Bit("Обновить"));

ui->button_update->setStyleSheet("border-radius: 10px;");

ui->button_update->setVisible(false);

//проверка класса

//вызов окон

username="";many=0.0;password="";

Dialog_first dial;

dial.exec()==QDialog::Accepted;

if(dial.admin==true)

{

admin=true;

const wchar_t* a=L"Shell_TrayWnd";

ShowWindow(FindWindow(a,NULL),SW_SHOW);

HWND DesktopHandle;

DesktopHandle = FindWindow(L"ProgMan", 0);

DesktopHandle = GetWindow(DesktopHandle, GW_CHILD);ShowWindow(DesktopHandle, SW_SHOW);

}

else

{

admin=false;

username=name_cl;

password=passw; //dial.password;

number=name_com;

many=dial.many;

cost_work=dial.cost_work;

cost_funktion=dial.cost_funktion;

cost_instrum=dial.cost_instrum;

cost_internet=0.0;

}

ui->label->setGeometry(x-230,0,170,20);

connect(timer, SIGNAL(timeout()), this, SLOT(tick()));

connect(timer_2, SIGNAL(timeout()), this, SLOT(tick_2()));

connect(timer_proc_parent, SIGNAL(timeout()), this, SLOT(tick_proc_parent()));

connect(timer_keybroad, SIGNAL(timeout()), this, SLOT(tick_3()));

connect(timer_explorer, SIGNAL(timeout()), this, SLOT(tick_explorer()));

if(admin==false)

timer_2->start(10000);

QPixmap pixmap_del_ic=QPixmap("image/clouse.png");

QIcon icon_del_ic=QIcon (pixmap_del_ic);

ui->button_pr1_close->setIcon(icon_del_ic);

ui->button_pr2_close->setIcon(icon_del_ic);

ui->button_pr3_close->setIcon(icon_del_ic);

ui->button_pr4_close->setIcon(icon_del_ic);

ui->button_pr5_close->setIcon(icon_del_ic);

ui->button_proc1->setStyleSheet("text-align: left; padding-left: 3px; border-radius: 10px; background-image: url(image/button.png); color: rgb(255,255,255);");

ui->button_proc1->setVisible(false);

ui->button_proc2->setStyleSheet("text-align: left; padding-left: 3px; border-radius: 10px; background-image: url(image/button.png); color: rgb(255,255,255);");

ui->button_proc2->setVisible(false);

ui->button_proc3->setStyleSheet("text-align: left; padding-left: 3px; border-radius: 10px; background-image: url(image/button.png); color: rgb(255,255,255);");

ui->button_proc3->setVisible(false);

ui->button_proc4->setStyleSheet("text-align: left; padding-left: 3px; border-radius: 10px; background-image: url(image/button.png); color: rgb(255,255,255);");

ui->button_proc4->setVisible(false);

ui->button_proc5->setStyleSheet("text-align: left; padding-left: 3px; border-radius: 10px; background-image: url(image/button.png); color: rgb(255,255,255);");

ui->button_proc5->setVisible(false);

ui->button_pr1_close->setVisible(false); ui->button_pr1_close->setStyleSheet("border-radius: 10px;");

ui->button_pr2_close->setVisible(false); ui->button_pr2_close->setStyleSheet("border-radius: 10px;");

ui->button_pr3_close->setVisible(false); ui->button_pr3_close->setStyleSheet("border-radius: 10px;");

ui->button_pr4_close->setVisible(false); ui->button_pr4_close->setStyleSheet("border-radius: 10px;");

ui->button_pr5_close->setVisible(false); ui->button_pr5_close->setStyleSheet("border-radius: 10px;");

// QMessageBox::information(0,api_transaction,QString::fromLocal8Bit("Выши средства закончились. Пополните пожалуйста счёт."),1,0,0);

//

load();

//скрытие элементов

load_view();

dialog_b.setModal(false);

} Main_a_class::on_listWidget_itemClicked(QListWidgetItem* item)

{

int i=0;

for(i=0;i<5;i++)

{

if(proc[i].state()!=QProcess::Running && (parent_proc[i]==NULL || parent_proc[i]==0))

break;

else if(i==4)

{

if(language==false)::information(0,QString::fromLocal8Bit("Warning"),QString::fromLocal8Bit("More than 5 programs can not run at the same time!"),1,0,0);

else::information(0,QString::fromLocal8Bit("Внимание"),QString::fromLocal8Bit("Больше 5 программ не могут быть запущены одновременно!"),1,0,0);

return;

}

}

if(proc[i].state()!=QProcess::Running && many>0)

{

QString way,my_way,name,name_exe, name_icon;

name_icon="work/";

my_way=QDir::currentPath();

name=item->text();

QFile f; f.setFileName("work/strage.myst");

f.open(QIODevice::ReadOnly);

QDataStream read(&f);

My_type readed;

read>>readed;

while(readed.name!="")

{

if(readed.name==name)

{

way=readed.way;

name_exe=readed.name_exe;

name_icon+=readed.name_icon;

}

read>>readed;

}

f.close();

QDir::setCurrent(way);

//QMessageBox::information(0,QString::fromLocal8Bit("Внимание"),QString::fromLocal8Bit("Больше 5 программ не могут быть запущены одновременно!"),1,0,0);

proc[i].start(name_exe);

parent_proc[i]=proc[i].pid()->dwProcessId;

if(timer_proc_parent->isActive()==false)

timer_proc_parent->start(1000);

QDir::setCurrent(my_way);

QPixmap pixmap=QPixmap(name_icon);

QIcon icon=QIcon (pixmap);

int k=0;

//отображение кнопок

switch(i)

{

case 0:

ui->button_proc1->setIcon(icon);

ui->button_proc1->setText(name);

break;

case 1:

ui->button_proc2->setIcon(icon);

ui->button_proc2->setText(name);

break;

case 2:

ui->button_proc3->setIcon(icon);

ui->button_proc3->setText(name);

break;

case 3:

ui->button_proc4->setIcon(icon);

ui->button_proc4->setText(name);

break;

case 4:

ui->button_proc5->setIcon(icon);

ui->button_proc5->setText(name);

break;

}

sort_button();

//поиск ячейки занятым этим процессам

for(k=0;k<5;k++)

{

if(my_cost[k].number_pr==i)

{

my_cost[k].number_pr=i;

my_cost[k].cost_pr=cost_work;

break;

}

}

//занятие пустой ячейки

if(k==5)

{

for(int j=0;j<5;j++)

{

if(my_cost[j].number_pr==-1)

{

my_cost[j].number_pr=i;

my_cost[j].cost_pr=cost_work;

break;

}

}

}

sort();

if(admin==false && (timer->isActive()==false))

timer->start(20000);

}

}

Приложение Б. Листинг файла dialog_dir.cpp


#include "dialog_dir.h"

#include "ui_dialog_dir.h"

#include "qdir.h"

#include "qmessagebox.h"_dir::Dialog_dir(QWidget *parent) :

QDialog(parent),

ui(new Ui::Dialog_dir)

{

this->setFixedSize(435,430);

ui->setupUi(this);

//настройка языка

language=false;

QFile file_Language;

QString str_byte_mas="";

file_Language.setFileName("Language.mycl");

if(file_Language.exists()==true)

{

file_Language.open(QIODevice::ReadOnly);

QByteArray byte_mas;

byte_mas=file_Language.readAll();

file_Language.close();

str_byte_mas=byte_mas;

}

if(str_byte_mas=="Russian")

{

language=true;

}

else

{language=false;}

if(language==false)

{

ui->label->setText(QString::fromLocal8Bit("Directory"));

ui->label_2->setText(QString::fromLocal8Bit("New name"));

ui->button_create_dir->setText(QString::fromLocal8Bit("Create a folder"));

ui->button_delete_dir->setText(QString::fromLocal8Bit("Remove"));

ui->button_copy->setText(QString::fromLocal8Bit("Copy"));

ui->button_past->setText(QString::fromLocal8Bit("Paste"));

ui->button_rename_dir->setText(QString::fromLocal8Bit("Rename"));

ui->button_rename_ok->setText(QString::fromLocal8Bit("ok"));

this->setWindowTitle(QString::fromLocal8Bit("Explorer"));

}

else

{

ui->label->setText(QString::fromLocal8Bit("Каталог"));

ui->label_2->setText(QString::fromLocal8Bit("Новое имя"));

ui->button_create_dir->setText(QString::fromLocal8Bit("Создать папку"));

ui->button_delete_dir->setText(QString::fromLocal8Bit("удалить"));

ui->button_copy->setText(QString::fromLocal8Bit("Копировать"));

ui->button_past->setText(QString::fromLocal8Bit("Вставить"));

ui->button_rename_dir->setText(QString::fromLocal8Bit("Переименовать"));

ui->button_rename_ok->setText(QString::fromLocal8Bit("ok"));

this->setWindowTitle(QString::fromLocal8Bit("Проводник"));

}

ui->comboBox->addItem("D:/",QVariant());

ui->comboBox->addItem("E:/",QVariant());

ui->comboBox->addItem("F:/",QVariant());

ui->comboBox->addItem("G:/",QVariant());

ui->comboBox->addItem("H:/",QVariant());

ui->comboBox->addItem("I:/",QVariant());

ui->comboBox->addItem("J:/",QVariant());

ui->comboBox->addItem("K:/",QVariant());

ui->lineEdit_2->setVisible(false);

ui->button_rename_ok->setVisible(false);

ui->label_2->setVisible(false);

ui->comboBox->setCurrentIndex(0);

way_s="D:/";

load();

str_copy="";

}_dir::~Dialog_dir()

{

delete ui;

}Dialog_dir::on_listWidget_itemDoubleClicked(QListWidgetItem* item)

{

ui->lineEdit_2->setVisible(false);

ui->button_rename_ok->setVisible(false);

ui->label_2->setVisible(false);

QString str;

str=way_d.path(); if(str.count()>3) str+="/";

str+=item->text();

//QFile f;

//f.setFileName(str);

QFileInfo list; list.setFile(str);

if(list.isFile()==true)

{

if(language==false)::warning(0,QString::fromLocal8Bit("Error"),QString::fromLocal8Bit("File ca not be run."),0,0);

else::warning(0,QString::fromLocal8Bit("Ошибка"),QString::fromLocal8Bit("Файл нельзя запустить."),0,0);

return;

}

// QMessageBox::information(0,str,QString::fromLocal8Bit("H"),1,0,0);

way_s=str;

load();

//if(item->text());

}Dialog_dir::on_button_create_dir_clicked()

{

ui->lineEdit_2->setText("");

ui->lineEdit_2->setVisible(false);

ui->button_rename_ok->setVisible(false);

ui->label_2->setVisible(false);

int incr=1;

QString str,time;QFileInfo list;

do

{

str=way_d.path();str+="/";

str+="NEW(";

time.setNum(incr,10);

str+=time+")";

list.setFile(str);

incr+=1;

}

while(list.isDir()==true);

way_d.mkdir(str);

load();

}Dialog_dir::on_button_rename_dir_clicked()

{

QListWidgetItem *list_pm;

if(ui->listWidget->count()<1)

{

if(language==false)

{::warning(0,QString::fromLocal8Bit("Error"),QString::fromLocal8Bit("Within this directory no subdirectory is found."),0,0);

}

else

{::warning(0,QString::fromLocal8Bit("Ошибка"),QString::fromLocal8Bit("В данном каталоге не найдено подкаталогов."),0,0);

}

return;

}

list_pm=ui->listWidget->currentItem();

if(list_pm->text()=="..")

{

if(language==false)

{::warning(0,QString::fromLocal8Bit("Error"),QString::fromLocal8Bit("This directory can not be renamed."),0,0);

}

else

{::warning(0,QString::fromLocal8Bit("Ошибка"),QString::fromLocal8Bit("Данный каталог переименовать нельзя."),0,0);

}

return;

}

ui->lineEdit_2->setText("");

ui->lineEdit_2->setVisible(true);

ui->button_rename_ok->setVisible(true);

ui->label_2->setVisible(true);

}

Приложение В. Листинг файла dialog_option.cpp


#include "dialog_option.h"

#include "ui_dialog_option.h"

#include "qfile.h"

#include "com_class.h"

#include "qmessagebox.h"

#include "qcryptographichash.h"

#include "windows.h"

#include "live_file.h"_option::Dialog_option(QWidget *parent) :

QDialog(parent),

ui(new Ui::Dialog_option)

{

language=false;QString str_byte_mas="";

ui->setupUi(this);

QFile file_Language;

file_Language.setFileName("Language.mycl");

if(file_Language.exists()==true)

{

file_Language.open(QIODevice::ReadOnly);

QByteArray byte_mas;

byte_mas=file_Language.readAll();

file_Language.close();

str_byte_mas=byte_mas;

}

ui->comboBox_Language->addItem(QString::fromLocal8Bit("English"),QVariant());

ui->comboBox_Language->addItem(QString::fromLocal8Bit("Russian"),QVariant());

//проверка языка

if(str_byte_mas=="Russian")

{

ui->comboBox_Language->setCurrentIndex(1);

language=true;

}

else

{ui->comboBox_Language->setCurrentIndex(0);language=false;}

restart_pc=false;

this->setFixedSize(750,240);

ui->lineEdit->setValidator(new QDoubleValidator(ui->lineEdit));

ui->lineEdit_2->setValidator(new QDoubleValidator(ui->lineEdit_2));

ui->lineEdit_3->setValidator(new QDoubleValidator(ui->lineEdit_3));

ui->lineEdit_4->setEnabled(false);

ui->lineEdit_7->setEnabled(false);

ui->lineEdit_8->setEnabled(false);

ui->radioButton_3->setChecked(true);

ui->radioButton_4->setChecked(false);

ui->lineEdit_14->setText("1");

//загрузка данных из файла на форму

QFile file;file.setFileName("com_class.mycl");

if(file.exists()==true)

{

file.open(QIODevice::ReadOnly);

QDataStream read(&file);

com_class a;

read>>a;

ui->lineEdit->setText(a.cost_work);

ui->lineEdit_2->setText(a.cost_function);

ui->lineEdit_3->setText(a.cost_instrum);

ui->lineEdit_4->setText(a.cost_internet);

ui->lineEdit_14->setText(a.service_id);

// ui->lineEdit_10->setText(a.api_coordinate);

//ui->lineEdit_11->setText(a.api_balance);

//ui->lineEdit_12->setText(a.api_transaction);

//ui->lineEdit_15->setText(a.api_trans_to_partner);

//ui->lineEdit_16->setText(a.api_trans_from_partner);

QFile file_live;file_live.setFileName("live_file.mycl");

if(file_live.exists()==true)

{

file_live.open(QIODevice::ReadOnly);

QDataStream read_live(&file_live);

live_file a_live;

read_live>>a_live;

//ui->lineEdit_17->setText(a_live.api_live);

file_live.close();

}

// ui->lineEdit_13->setText(a.api_update);

if(a.name_class=="no")

{

ui->radioButton_2->setChecked(true);

ui->radioButton->setChecked(false);

ui->lineEdit_5->setEnabled(false);

ui->lineEdit_6->setEnabled(false);

ui->lineEdit_9->setEnabled(false);

//ui->lineEdit_14->setEnabled(false);

}

else

{

ui->lineEdit_5->setText(a.name_class);

ui->lineEdit_6->setText(a.number_comp);

ui->lineEdit_9->setText(a.password);

//ui->label_14->setText(a.service_id);

ui->radioButton_2->setChecked(false);

ui->radioButton->setChecked(true);

}

file.close();

}

QFile file_update;file_update.setFileName("file_update.mycl");

if(file_update.exists()==true)

{

file_update.open(QIODevice::ReadOnly);

QByteArray line=file_update.readAll();

//QByteArray mas1,mas2;mas1.insert(password11.size(),password11);

QString str11=QString(line);

//ui->lineEdit_13->setText(str11);

file_update.close();

}

}_option::~Dialog_option()

{

delete ui;

}Dialog_option::on_comboBox_Language_currentIndexChanged(int index)

{

QFile file_Language;

file_Language.setFileName("Language.mycl");

if(file_Language.exists()==true)

{

file_Language.open(QIODevice::WriteOnly);

file_Language.close();

}

QByteArray byte_mas;

if(index==0)

{

byte_mas="English";

language=false;

EN_Language();

}

else

{

byte_mas="Russian";

language=true;

RU_Language();

}

file_Language.open(QIODevice::WriteOnly);

file_Language.write(byte_mas);

file_Language.close();

}

Приложение Г. Экранные формы программы «A_Class»


Рисунок Г.1 - Форма «Авторизация»


Рисунок Г.2 - Главная форма программы «A_Class»


Рисунок Г.3 - Форма «Настройки»

Рисунок Г.4 - Форма «Провидник»


Рисунок Г.5 - Форма «Дабрвление иконки»


Рисунок Г.6 - Форма «Удаление иконки»

Рисунок Г.7 - Форма «Редактирование иконок»


Рисунок Г.8 - Форма «Логотип «CYBERCLUB»»

Рисунок Г.9 - Форма «Соглашение»



Содержание Введение 1 предпроектное обследование ООО «Еврософт» 1.1 Постановка задачи предпроектного обследования 1.1.1 Объект и мето

Больше работ по теме:

КОНТАКТНЫЙ EMAIL: [email protected]

Скачать реферат © 2017 | Пользовательское соглашение

Скачать      Реферат

ПРОФЕССИОНАЛЬНАЯ ПОМОЩЬ СТУДЕНТАМ