Удаленное управление компьютером с мобильного устройства

  • Вид работы:
    Дипломная (ВКР)
  • Предмет:
    Информационное обеспечение, программирование
  • Язык:
    Русский
    ,
    Формат файла:
    MS Word
    546,22 Кб
  • Опубликовано:
    2013-03-31
Вы можете узнать стоимость помощи в написании студенческой работы.
Помощь в написании работы, которую точно примут!

Удаленное управление компьютером с мобильного устройства

Содержание

1. Введение

. Постановка задачи

.1 Выбор программных средств

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

.1.2 Выбор программного средства для серверной части

.2 Анализ существующих аналогов

.2.1 Анализ приложения «Gmote»

.2.2 Анализ приложения «Remote for VLC»

.2.3 Анализ приложения «Пульт MPC&VLC»

2.2.4 Анализ приложения «The Remote Control»

2.3 Требования к программному обеспечению

. Описание программного средства

.1 Описание серверной части

.1.1 Схема работы серверной части

.1.2 Принцип работы серверной части

.2 Описание клиентской части

.2.1 Схема функционирования клиентской части

.2.2 Принцип работы клиентской части

.2.3 Реализация управления жестами

. Руководство пользователя

.1 Установка серверной части приложения

.2 Установка клиентского приложения

.3 Руководство по эксплуатации

.3.1 Окно подключения

.3.2 Окно управления

.3.3 Окно EasyControl

. тестирование

.1 Тестирование серверной части

.2 Тестирование клиентского приложения

.2.1 Тестирование окна подключения

.2.2 Тестирование окна управления

.2.3 Тестирование режима EasyControl

. Безопасность Жизнедеятельности

.1 Влияние ЭМИ на живые организмы

.1.1 Влияние электромагнитного поля на организм

.1.2 Методы защиты здоровья людей от ЭМИ

.2 Проект рабочего места оснащенного ПК

.3 Создание оптимальных условий труда на рабочем месте

.4 Экологические проблемы утилизации ПК.

. расчет экономических показателей программного продукта

. Заключение

Приложение А

Приложение Б

Приложение В

 

1. Введение


Первый пульт дистанционного управления был разработан и запатентован Николой Тесла, еще в 1893 году. Тогда для передачи сигнала использовались электромагнитные волны. С тех пор было испробовано несколько технологий, среди них: ультразвук и фотоэлементы. Первый пульт на ИК-лучах (современный вариант) появился в 1974 году[1].

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

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

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

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

В 90-ых годах широкое распространение получили карманные персональные компьютеры. Многие модели того времени были оснащены инфракрасным портом, использовавшимся, в основном, для обмена данными с другими мобильными устройствами или с компьютером. Довольно скоро было применение для инфракрасного порта - появились программы позволявшие использовать карманный персональный компьютер в качестве пульта. Обычно такие программы заранее содержали набор самых распространенных протоколов кодирования сигналов, но, при желании, всё еще можно было самому запрограммировать нужный «пульт». Преимущество такого универсального пульта довольно очевидно - пользователь не привязан к конкретному набору клавиш. За счет графического интерфейса можно реализовать управление, какими угодно клавишами, и в каком угодно объеме.

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

2. Постановка задачи

Была поставлена задача - реализовать программными средствами пульт управления для персонального компьютера (ПК). В результате опроса пользователей были выявлены самые востребованные функции пульта:

·      управление мультимедийным проигрывателем, запущенным на ПК

·        управление питанием компьютера

 

.1 Выбор программных средств


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

 

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

В данный момент на рынке операционных систем для мобильных устройств успешно существуют 3 системы: iOS (разработка Apple), Windows Phone(разработка Microsoft) и Android(разработка Google). Остальные ОС уходят с рынка.

iOS (на рынке с 2007 года) устанавливается только на устройства компании Apple, iPhone, iPod, iPad. Продукция компании Apple широко распространена в Америке, а в России до недавнего времени ее можно было приобрести лишь нелегально. Исходный код является закрытым. Система предустановленна на устройства компании Apple на заводе, и у пользователей нет возможности установить её на устройства других компаний.

Windows Phone это обновленная версия Windows Mobile. Попытка Microsoft поспеть за Android и iOS, ведущими операцинными системами для мобильных устройств. Система от Microsoft увидела свет осенью 2010 и до сих пор не смогла завоевать особых симпатий среди пользователей. Причиной является невысокая стабильность.

В 2008 году в свет вышла операционная система для мобильных устройств, Android OS. Довольно быстро система получила широкое применение, не только в смартфонах и карманных персонлаьных компьютерах, но даже в часах, и цифровых проигрывателях. Уже к 2011 году Android уверенно вытеснил остальные ОС с рынка. Если ранее каждый производитель сотовых телефонов имел свою собственную систему, то в данный момент они практически целиком перешли на Android, кроме, разумеется, Apple. Так же как и iOS, Android является частью семейства Unix систем, но, в отличие от iOS, исходный код Android является открытым, что позволяет сообществу вносить огромный вклад в развитие системы. Дистрибутив Android доступен для свободного скачивания из сети Интернет. Таким образом, область применения операционной системы ограничена лишь фантазией пользователя, или программиста[2].

В результате анализа, в качестве операционной системы для клиентского приложения был выбран Android. «Родным» языком для этой системы является Java. Сообществу предоставляется огромный набор инструментов для написания приложений под Android на Java. Так же есть возможность использовать в Java-приложениях код, написанный на C++, что дает огромный потенциал для разработки.

В качестве аудио-проигрывателя на стороне сервера было выбрано свободное программное обеспечение «Rhythmbox», которое входит в тройку самых популярных аудио-проигрывателей для Linux систем. Кроме того, данный проигрыватель входит в базовый «комплект» многих дистрибутивов Linux.

 

.1.2 Выбор программного средства для серверной части

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

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

 

.2 Анализ существующих аналогов


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

)        Все программы узко специализированы на работу с одним и тем же проигрывателем

)        Скорость и корректность работы оставляют желать лучшего

)        Отсутствие учета выполненных действий

)        Слишком сложный интерфейс

)        Узко-специализированность

Для анализа были выбраны решения, наиболее различающиеся между собой. Все они бесплатны и доступны для скачивания при помощи Интернет-Магазина Google Play Market.

 

.2.1 Анализ приложения «Gmote»

Плюсы данного приложения:

·        Возможность использования экрана телефона в качестве тачпада для компьютера.

·        Управление аудио-проигрывателем

·        Совместимость со всеми операционными системами: Windows, Linux, Mac OS X

·        Возможность воспроизводить музыку с ПК на телефоне.

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

·        Придется смириться с необходимостью установки дополнительного ПО, Java Runtime Environment, необходимого для функционирования серверного приложения.

·        Позиционирование курсора при использовании функции тачпада недостаточно точно.

·        Время отклика после нажатия может составлять до десятка секунд, что слишком велико для комфортного использования.

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

·        Бедный функционал управления воспроизведением.

·        Неудобный интерфейс

 

.2.2 Анализ приложения «Remote for VLC»

Более стабильное в работе приложение, чем предыдущий образец.

Плюсы:

·        Возможность управлять воспроизведением, как аудио, так и видео.

·        Работает с довольно распространенным проигрывателем VLC, что позволяет использовать в системе лишь один проигрыватель для воспроизведения аудио- и видео-файлов любых форматов.

·        Обладает широким функционалом управления воспроизведением.

·        Не требует наличия дополнительного ПО на компьютере, кроме самого проигрывателя VLC.

·        Проигрыватель VLC доступен для всех ОС: Windows, Linux, Mac OS X.

·        Удобный интерфейс.

Минусы:

·        Для работы с проигрывателем VLC используется встроенный функционал проигрывателя - пульт управления доступный по протоколу HTTP. Взаимодействие с этим пультом нередко происходит некорректно и с заметными задержками.

·        Нет возможности работать с другими проигрывателями.

 

.2.3 Анализ приложения «Пульт MPC&VLC»

Данное приложение напоминает предыдущее решение за некоторым исключением - основным плеером является Media Player Classic (MPC), хотя VLC так же числится среди поддерживаемых плееров.

Плюсы:

·        Возможность управлять воспроизведением, как аудио, так и видео.

·        Работает с довольно распространенными проигрывателями MPC и VLC, что позволяет использовать в системе лишь один проигрыватель на все случаи жизни.

·        Обладает широким функционалом управления воспроизведения.

·        Не требует наличия дополнительного ПО на компьютере, кроме самого проигрывателя.

·        Проигрыватель VLC доступен для всех ОС: Windows, Linux, Mac OS X.

·        Удобный интерфейс.

Минусы:

·        Проигрыватель MPC доступен только для Windows.

·        Для работы с проигрывателем, MPC или VLC, используется встроенный функционал проигрывателя - пульт управления доступный по протоколу HTTP. Взаимодействие с этим пультом нередко происходит некорректно и с заметными задержками.

 

.2.4 Анализ приложения «The Remote Control»

Пульт управления подкупающий простотой интерфейса. Его плюсы:

·        Простой, не перегруженный и интуитивно понятный интерфейс

·        Большой список поддерживаемых проигрывателей: MPC, VLC, KMP.

Минусы:

·        Помимо установки проигрывателя требуется установка серверного приложения

·        Несмотря на большое количество поддерживаемых проигрывателей, они должны быть установлены только в среде Windows.

·        Для работы с проигрывателем, KMP, MPC или VLC, используется встроенный функционал проигрывателя - пульт управления доступный по протоколу HTTP. Взаимодействие с этим пультом нередко происходит некорректно и с заметными задержками.

 

.3 Требования к программному обеспечению


В результате анализа существующих решений были сформулированры следующие требования к функционалу ПО:

1)    Возможность приостанавливать воспроизведение аудио-файлов

2)      Возможность смены воспроизводимого аудио-файла

)        Возможность изменять громкость воспроизведения

)        Проигрыватель должен иметь возможность работать и без пульта

)        Возможность выключать компьютер при помощи пульта

)        Работа серверной части не должна мешать остальной работе ПК

)        Серверная часть должна быть реализована в формате «демона»

)        Возможность учета операций на стороне сервера

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

1)    Гибкость (возможность адаптации кода сервера для работы с другим проигрывателем)

2)      Высокая скорость работы серверного приложения

)        Простой, интуитивно-понятный интерфейс клиента

3. Описание программного средства

 

.1 Описание серверной части

 

.1.1 Схема работы серверной части

С учетом требований, предъявленных к серверной части, была выбрана следующая схема функционирования серверного приложения (Рисунок 3.1):


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

 

.1.2 Принцип работы серверной части

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

int j=fork(); // j возвращает ID дочернего процесса

if (j<0) exit(1); // j<0 означает ошибку создания дочернего процесса

if (j>0) exit(0); // j>0 означает успешное создание дочернего процесса

В дочернем процессе j равно 0, а в родительском будет равно ID дочернего процесса (положительное значение).

Связка Порт+IP-адрес называется сокетом. Серверное приложение создает свой сокет и ожидает соединения («слушает порт»):

sock_descriptor = socket(AF_INET, SOCK_STREAM, 0);((char *)&serv_addr, sizeof(serv_addr));_addr.sin_family = AF_INET;_addr.sin_addr.s_addr = INADDR_ANY;_addr.sin_port = htons(19913);(sock_descriptor, (struct sockaddr *)&serv_addr, sizeof(serv_addr);

listen(sock_descriptor, 5);

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

Данные, поступающие на сокет, передаются в обработчик команд. Если эта команда принадлежит множеству допустимых команд, то в журнал добавляется запись, в которой указана команда и дата ее поступления. Затем создается дочерний процесс, выполняющий системный вызов при помощи функции system() в соответствии с командой поступившей в обработчик команд. Создание дочернего процесса необходимо для обеспечения бесперебойной работы серверного приложения:

conn_desc = accept(sock_descriptor, (struct sockaddr *)&client_addr, &size);

…( read(conn_desc, buff, sizeof(buff)-1) > 0)(!strcmp(buff,"next") && work==1)

{=0;=fork();(j==0){("echo `date +\%F\\ \%X`: Command received: Next song >> ~/mediaremote.log");("rhythmbox-client --next");=2;return 0;}

}

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

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

API проигрывателя позволяет реализовать функции относящиеся непосредственно к воспроизведению:

1)    Возможность приостанавливать воспроизведение аудио-файлов

2)      Возможность смены воспроизводимого аудио-файла

)        Возможность изменять громкость воспроизведения

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

1)    Возможность выключать компьютер при помощи ПДУ

2)      Работа серверной части не должна мешать остальной работе ПК

)        Серверная часть должна быть реализована в формате «демона»

)        Гибкость (возможность адаптации кода сервера для работы с другим проигрывателем)

)        Высокая скорость работы серверного приложения

)        Возможность логирования операций на стороне сервера

)        Проигрыватель должен иметь возможность работать и без ПДУ

 

.2 Описание клиентской части

 

.2.1 Схема функционирования клиентской части

В соответствии с поставленной задачей к клиенту выдвигаются следующие требования:

1)    Простой, интуитивно-понятный интерфейс

2)      Низкое потребление ресурсов мобильного устройства

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

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

 

 

.2.2 Принцип работы клиентской части


При запуске клиента на телефоне ПС выполняет ряд преднастроек, среди которых запрет блокировки экрана, определение глобальных переменных для удобного доступа к видам, полям ввода, управляющим клавишам и переменным. Например:ConnectView = findViewById(R.id.ConnectView);EditText InputWindow = (EditText) findViewById(R.id.editText1);Button ConnectButton = (Button) findViewById(R.id.button3);

Загружается библиотека жестов необходимая для работы режима управления жестами (EasyControl)[4]:

if (!((GestureLibrary) mLibrary).load()) {finish();}gestures = (GestureOverlayView) findViewById(R.id.gestures);.addOnGesturePerformedListener(this);

Записывается текущее значение яркости экрана для того чтобы позднее вернуть яркость экрана к исходному значению:
 WindowManager.LayoutParams lp = getWindow().getAttributes();

devbright = lp.screenBrightness;

Определяется функционал клавиш:

// Next button.setOnClickListener(new OnClickListener() {void onClick(View v) {(!socket.isConnected()).showPrevious();

sendcmd("next");

}}

);

Sendcmd - функция для отправки управляющей команды в сокет:

public void sendcmd(String cmd)

{{(socket.isConnected()) {out = new PrintWriter(new BufferedWriter(new OutputStreamWriter(socket.getOutputStream())), true);.println(cmd);}

} catch (Exception e) {}; }

Перехватываются нажатия клавиш громкости и возврата для управления плеером, определяются «виды» где происходит перехват[5]:

public boolean dispatchKeyEvent(KeyEvent event) {action = event.getAction();keyCode = event.getKeyCode();(keyCode) {KeyEvent.KEYCODE_VOLUME_UP:(action == KeyEvent.ACTION_UP) {( vf.getCurrentView().getId() ) {

…KeyEvent.KEYCODE_BACK:(action == KeyEvent.ACTION_UP) {( vf.getCurrentView().getId() ) {R.id.gestures: {.showPrevious();.LayoutParams lp = getWindow().getAttributes();.screenBrightness = devbright;().setAttributes(lp);;}R.id.ControlView: {{.close();.showPrevious();

} catch (IOException e) {.printStackTrace();

};}R.id.ConnectView: {();;}

}

}true;: super.dispatchKeyEvent(event);

}

}

Определяются операции вызываемые жестами:

//control gesturesvoid onGesturePerformed(GestureOverlayView overlay, Gesture gesture) {<Prediction> predictions = mLibrary.recognize(gesture);

// We want at least one prediction(predictions.size() > 0 && predictions.get(0).score > 1.0) {action = predictions.get(0).name;("next".equals(action)) {("next");

} else if ("prev".equals(action)) {("prev");

} else if ("pause".equals(action)) {("play");

}

}       

При загрузке приложения пользователь видит Окно Подключения: поле для ввода IP-адреса, кнопку Connect (Подключиться) и Quit (Выйти). Так же пользователю доступна физическая клавиша Возврата, закрывающая приложение. Введя адрес и нажав на кнопку Connect (Подключиться) в случае успешного соединения экран переключается на вид «Окно управления» где пользователю доступны следующие графические клавиши управления:

·        Приостановить\Воспроизвести (Pause\Play)

·        Предыдущая композиция (Prev.)

·        Следующая композиция (Next)

·        Приостановить (Stop)

·        Уменьшить громкость (Vol -)

·        Увеличить громкость (Vol +)

·        EasyControl - переключение в режим управления жестами

·        Отключиться (Disconnect) - отключиться от сервера

·        Выключить ПК (Shutdown PC) - выключить ПК где запущено серверное приложения

В том числе пользователю доступны 3 физические клавиши:

·        Увеличить громкость (верхняя клавиша громкости)

·        Уменьшить громкость (нижняя клавиша громкости)

·        Отключиться (кнопка Возврат)

Все клавиши кроме «Отключиться» и «EasyContol» подразумевают отправку управляющей команды серверу при помощи функции Sendcmd().

При переходе в режим управления жестами (EasyControl) пользователю доступны три жеста: «Следующая композиция», «Предыдущая композиция» и «Приостановить\Возобновить воспроизведение».

 

.2.3 Реализация управления жестами

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

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

Жесты заранее записаны при помощи инструмента Gesture Builder, входящего в состав Android Source Developer Kit (набор разработчика для Android) и сохранены в библиотеке mLibrary. Встроенная библиотека для работы с жестами позволяет присвоить нескольким жестам одно и то же имя. Это необходимо для лучшего распознания жестов. Даже если сделать десяток попыток, каждый жест будет отличаться от предыдущих, пусть и не на много. Создавая такую базу похожих, но разных, жестов, повышается точность распознания. В данном приложении был также использован этот приём. На каждый жест было записано по 5 наиболее отличающихся друг от друга «попыток». Это позволило значительно снизить ошибки при распознании жестов.

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


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

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

4. Руководство пользователя

 

.1 Установка серверной части приложения


Для функционирования серверной части приложения необходимо в первую очередь наличие установленного аудио-проигрывателя «Rhythmbox». Кроме того, чтобы проигрыватель функционировал корректно, в системе должны быть установлены соответствующие аудиокодеки (программы для декодирования аудио-файлов). Наиболее распространенным аудио-кодеком для системы Linux является GStreamer.

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

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

Пользователи Debian систем должны воспользоваться менеджером пакетов Aptitude, или запустить скачивание и установку через командную строку:

# sudo apt-get install Rhythmbox

# sudo apt-get install gstreamer

Пользователи RPM систем должны воспользоваться менеджером пакетов YUM, или запустить скачивание и установку через командную строку:

# yum install Rhythmbox

# yum install gstramer

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

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

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

Рисунок 4.1 Интерфейс аудио-проигрывателя «Rhythmbox»

При наличии аудиозаписей в библиотеке и успешном их воспроизведении, можно сказать, что подготовка серверной части практически закончена. Остается только убедиться в том, что клиент сможет получить доступ к серверу. Сетевой экран (firewall) не должен запрещать входящие подключения по протоколу TCP на порт 19913.

Если сетевой экран в системе включен и функционирует, его можно настроить следующими командами:

# iptables -A INPUT -p tcp --dport 19913 -j ACCEPT

# /etc/init.d/iptables save

# /etc/init.d/iptables restart

Теперь, когда компьютер настроен, можно скачать и запустить серверное приложение. Оно не требует отдельной настройки или установки. Во время работы приложение пишет журнал всех действий в домашнюю папку пользователя, в файл ~/mediaremote.log.

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

 

.2 Установка клиентского приложения


Установочный файл приложения для Android представляет из себя один .apk файл. Чтобы установить приложение на телефон потребуется файл-менеджер который позволит запустить этот файл. По умолчанию в ОС отсутствует полноценный файл-менеджер, поэтому придется скачать его с каталога Google «Play Market» при помощи встроенного приложения «Play Market», которое работает, по сути, так же как менеджер пакетов в операционной системе Linux, загружает и устанавливает приложения за вас, не требуя от вас глубоких познаний. Самым лучшим файловым менеджером для Android в данный момент считается ASTRO. Бесплатный, быстрый, удобный, обладает богатым функционалом. Рекомендуется использовать именно его.


После установки файл-менеджера необходимо найи и запустить файл MediaRemote.apk (файл представляющий разработанное приложение - пульт дистанционного управления). При запуске файла будет предложено установить файл или отказаться от установки. Согласившись с установкой нужно будет так же подтвердить разрешение доступа к сетевому подключению, оно необходимо для связи с сервером. Установка займет пару секунд, и можно будет приступать к работе.

В будущем планируется распространять приложение через Google Play Market, что позволит устанавливать приложение всего в пару кликов.

4.3 Руководство по эксплуатации

 

.3.1 Окно подключения

Перед запуском пульта необходимо убедиться, что присутствует доступ в сеть(WiFi или GRPS, в зависимости от личных предпочтений). При запуске приложения вы увидите следующий экран (Рисунок 4.5):


Для удобства пользователя в окне для ввода IP адреса заранее находится часть адреса «192.168.1.», который принадлежит самой распространенной подсети используемой для локальных сетей: 192.168.1.0/24. Необходимо ввести IP адрес сервера, и нажать кнопку «Connect» чтобы установить соединение, или же нажать кнопку «Quit» чтобы закрыть приложение. Так же физическая клавиша «Возврат» выполняет функции кнопки «Quit».

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

 

.3.2 Окно управления

После установления соединения пользователю становится доступен вид на Окно управления (Рисунок 4.6).

Внешний вид напоминает привычный всем дизайн пульта от мультимедиа-центра. Пользователю доступны восемь графических клавиш:

·        Приостановить/Воспроизвести (Pause/Play)

·        Предыдущая композиция (Prev.)

·        Следующая композиция (Next)

·        Приостановить (Stop)

·        Уменьшить громкость (Vol -)

·        Увеличить громкость (Vol +)

·        EasyControl - переключение в режим управления жестами

·        Отключиться (Disconnect) - отключиться от сервера

·        Выключить ПК (Shutdown PC) - выключить компьютер где запущено серверное приложения

В том числе пользователю доступны три физические клавиши:

·        Увеличить громкость (верхняя клавиша громкости)

·        Уменьшить громкость (нижняя клавиша громкости)

·        Отключиться (кнопка Возврат)

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

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

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

 

.3.3 Окно EasyControl

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

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

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

Во время начертания жеста на экране палец оставляет за собой желтый след (Рисунок 4.8) - будущий жест который будет закончен как только палец будет убран с экрана. Это поможет поначалу освоиться с системой управления жестами.

 

5. тестирование


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

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

 

.1 Тестирование серверной части


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

Для тестирования использовалась следующая команда, запущенная на сервере:

# telnet localhost 19913

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

Результаты тестирования отражены в таблице 5.1.

Отправленное слово

Ожидаемый результат

Полученный результат

Команды известные серверу

play

Приостановка воспроизведения (при воспроизведениии)/ Воспроизведение (при паузе)

Приостановка воспроизведении/ Воспроизведение

next

Переключение на следующую композицию

Переключение на следующую композицию

prev

Переключение на предыдущую композицию

Переключение на предыдущую композицию

stop

Остановка воспроизведения

Остановка воспроизведения

voup

Увеличение громкости

Увеличение громкости

vodn

Уменьшение громкости

Уменьшение громкости

quit

Выключение компьютера

Выключение компьютера

Команды неизвестные серверу

gnowgwgsdgj

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

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

<пустая строка>

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

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

 

.2 Тестирование клиентского приложения


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

Результаты тестирования клиентской части приведены в таблицах 5.2, 5.3 и 5.4.

5.2.1 Тестирование окна подключения


Действие

Ожидаемый результат

Полученный результат

Нажатие на кнопку «Quit»

Выход из приложения

Выход из приложения

Нажатие на кнопку «Возврат»

Выход из приложения

Выход из приложения

Попытка подключиться с действительным IP

Подключение

Подключение

Попытка подключиться к несуществующему IP

Ошибка «не удается подключиться»

Ошибка «не удается подключиться»

Попытка подключиться к некорректному IP

Ошибка «некорректный IP»

Ошибка «некорректный IP»

 

.2.2 Тестирование окна управления

Действие

Ожидаемый результат

Полученный результат

Нажатие на клавишу Pause/Play

Приостановка воспроизведения (при воспроизведениии)/ Воспроизведение (при паузе)

Приостановка воспроизведении/ Воспроизведение

Нажатие на клавишу Next

Переключение на следующую композицию

Переключение на следующую композицию

Нажатие на клавишу Prev

Переключение на предыдущую композицию

Переключение на предыдущую композицию

Нажатие на клавишу Stop

Остановка воспроизведения

Остановка воспроизведения

Нажатие на клавишу Vol +

Увеличение громкости

Увеличение громкости

Нажатие на клавишу Vol -

Уменьшение громкости

Уменьшение громкости

Нажатие на клавишу «EasyControl»

Переход в режим EasyControl

Переход в режим EasyControl

Нажатие на клавишу «Disconnect»

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

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

Нажатие на клавишу «Shutdown PC»

Выключение компьютера

Выключение компьютера

Нажатие на кнопку «Возврат»

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

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

Нажатие на кнопку «Увеличить громкость»

Увеличение громкости

Увеличение громкости

Нажатие на кнопку «Уменьшить громкость»

Уменьшение громкости

Уменьшение громкости

5.2.3 Тестирование режима EasyControl


Действие

Ожидаемый результат

Полученный результат

Нажатие на кнопку «Возврат»

Возврат к окну управления

Возврат к окну управления

Нажатие на кнопку «Увеличить громкость»

Увеличение громкости

Увеличение громкости

Нажатие на кнопку «Уменьшить громкость»

Уменьшение громкости

Уменьшение громкости

Жест

Переключение на следующую композицию

Жест

Переключение на предыдущую композицию

Переключение на предыдущую композицию

Жест

Приостановка воспроизведения (при воспроизведениии)/ Воспроизведение (при паузе)

Приостановка воспроизведении/ Воспроизведение

программный клиентский серверный приложение

6. Безопасность Жизнедеятельности

 

.1 Влияние ЭМИ на живые организмы


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

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

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

 

.1.1 Влияние электромагнитного поля на организм

) Влияние электромагнитного поля на нервную систему.

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

2) Влияние электромагнитного поля на иммунную систему.

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

3) Влияние электромагнитного поля на эндокринно-регулятивную систему.

Исследования российских ученых, начавшиеся в 60-е годы XXв. показали, что при действии электромагнитного поля происходит стимуляция гипофиза, сопровождающаяся увеличением содержания адреналина в крови и активизацией процессов свертывания крови. Также замечены изменения в коре надпочечников и структуре гипоталамуса (отдела мозга, регулирующего физиологические и инстинктивные реакции).

4) Влияние электромагнитного поля на половую систему.

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

5) Общее влияние электромагнитного поля на организм человека.

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

У людей, находящихся (в основном, по долгу службы) в зоне облучения непрерывно, возникают изменения в структуре костного мозга в сторону увеличения скорости регенерации. Через 1-3 года у некоторых появляется чувство внутренней напряженности, суетливость. Нарушаются внимание и память. Возникают жалобы на малую эффективность сна и на утомляемость. Имеются также данные о возникновении психических расстройств у людей, в течение 5 лет и более, систематически подвергавшихся облучению электромагнитным полем с напряженностью, близкой к предельно допустимой.

 

.1.2 Методы защиты здоровья людей от ЭМИ

) Организационные мероприятия по защите населения от электромагнитных полей.

К организационным мероприятиям по защите от действия электромагнитных полей относятся:

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

Ограничение места и времени нахождения людей в зоне действия поля.

Обозначение и ограждение зон с повышенным уровнем излучения.

Защита временем.

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

Защита расстоянием.

Применяется, если невозможно ослабить воздействие другими мерами, в том числе и защитой временем. Метод основан на падении интенсивности излучения, пропорциональном квадрату расстояния до источника. Защита расстоянием положена в основу нормирования санитарно-защитных зон - необходимого разрыва между источниками поля и жилыми домами, служебными помещениями и т.п. Границы зон определяются расчетами для каждого конкретного случая размещения излучающей установки при работе её на максимальную мощность излучения. В соответствии с ГОСТ 12.1.026-80 зоны с опасными уровнями излучения ограждаются, на ограждениях устанавливаются предупреждающие знаки с надписями: «Не входить, опасно!».

2) Инженерные мероприятия по защите людей от электромагнитного воздействия.

Инженерные защитные мероприятия строятся на использовании явления экранирования электромагнитных полей, либо на ограничении эмиссионных параметров источника поля (снижении интенсивности излучения). При этом второй метод применяется в основном на этапе проектирования излучающего объекта. Электромагнитные излучения могут проникать в помещения через оконные и дверные проемы (явление дисперсии электромагнитных волн). Для экранирования оконных проемов применяются либо мелкоячеистая металлическая сетка (этот метод защиты не распространён по причине неэстетичности самой сетки и значительного ухудшения вентиляционного газообмена в помещении), либо металлизированное (напылением или горячим прессованием) стекло, обладающее экранирующими свойствами. Металлизированное стекло горячего прессования имеет кроме экранирующих свойств повышенную механическую прочность и используется в особых случаях (например, для наблюдательных окон на атомных регенерационных установках). Для защиты от электромагнитного воздействия населения чаще всего применяется стекло, металлизированное напылением. Напылённая плёнка металлов (олово, медь, никель, серебро) и их оксидов обладает достаточной оптической прозрачностью и химической стойкостью. Нанесенная на одну сторону поверхности стекла, она ослабляет интенсивность излучения в диапазоне [0,8..150] см в 1000 раз. При нанесении плёнки на обе стороны стекла достигается 10- тысячекратное снижение интенсивности.

Экранирование дверных проемов в основном достигается за счет использования дверей из проводящих материалов (стальные двери).

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

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

 

.2 Проект рабочего места оснащенного ПК


Площадь на одно рабочее место пользователей ПК с монитором на базе электронно-лучевой трубки должна составлять не менее 6 м2 или же 4,5 м2, если речь идет о ЖК-мониторах. По отношению к световым проемам, ПК должны располагаться так, чтобы естественный свет падал сбоку, преимущественно слева. Свет, падающий спереди на рабочее место, утомляет зрение. Свет, падающий сзади, ухудшает видимость, создает блики на экране.

- кресло (оптимальные размеры 40×40 см); 2 - столешница (оптимальные размеры 160×90 см); 3 - настенный аэроионизатор; 4 - огнетушитель; 5 - окна; 6 - воздухоочиститель; 7 - батарея центрального отопления.

Рисунок 6.1 - Рекомендуемое размещение рабочих мест с ПК

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

Конструкция кресла должна обеспечивать поддержание рациональной рабочей позы, позволять изменять позу с целью снижения статического напряжения мышц шейно-плечевой области и спины для предупреждения развития утомления. Кресло должно быть подъемно-поворотным и регулируемым по высоте, углам наклона спинки и сиденья, расстоянию спинки от переднего края сиденья[6].

- аппарат аэроионной профилактики; 2 - рабочее кресло; 3 - подставка под кисти рук; 4 - подставка под документы; 5 - регулируемая по высоте подставка для ног; 6 - заземленная панель питания.

Рисунок 6.2 - Рекомендуемая организация рабочего места

6.3 Создание оптимальных условий труда на рабочем месте


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

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

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

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

При выполнении основной работы уровень шума не должен превышать 50дБА (СанПиН 2.2.2/2.4.1340-03 «Гигиенические требования к персональным электронно-вычислительным машинам и организации работы»).

Искусственное освещение в помещениях для работы с УВО и ПЭВМ должно осуществляться системой общего равномерного освещения. Допускается применение системы комбинированного освещения: к общему освещению дополнительно устанавливаются светильники местного освещения, предназначенные для освещения зоны расположения документов. Освещённость на поверхности стола в зоне размещения рабочего документа должна быть 300 - 500 лк. Допускается установка светильников местного освещения для подсветки документов. Местное освещение не должно создавать бликов на поверхности экрана и увеличивать освещённость экрана более 300 лк.

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

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

Временные допустимые значения уровня ЭМП, согласно СанПиН 2.2.2/2.4.1340-03 «Гигиенические требования к персональным электронно-вычислительным машинам и организации работы», приведено в таблице 6.1

Таблица 6.1 - Временные допустимые значения уровня ЭМП создаваемые ПЭВМ на рабочих местах

Наименования параметров

ВДУ

Напряжённость электрического поля

в диапазоне 5 Гц. - 2 кГц.

25 В./м.


в диапазоне 2 кГц. - 400 кГц.

2,5 В./м.

Плотность магнитного потока

в диапазоне 5 Гц. - 2 кГц.

250 нТл.


в диапазоне 2 кГц. - 400 кГц.

25 нТл.

Напряжённость электростатического поля

15 кВ./м.


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

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

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

В Санитарных правилах (СанПиН 2.2.2-2.4.1340-03 «Гигиенические требования к персональным электронно-вычислительным машинам и организации работы») режим труда и отдыха пользователей нормируется в зависимости от характера и напряженности выполняемой работы и учитывает не только зрительную работу, но и нервно-эмоциональное напряжение, мышечное утомление, воздействие ЭМИ и другие неблагоприятные факторы.

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

Виды трудовой деятельности на ПК разделяются на 3 группы: группа А - работа по считыванию информации с экрана с предварительным запросом; группа Б - работа по вводу информации; группа В - творческая работа в режиме диалога с ПК .

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

Категории тяжести и напряженности работы на ПК определяются уровнем нагрузки за рабочую смену: для группы А - по суммарному числу считываемых знаков; для группы Б - по суммарному числу считываемых или вводимых знаков; для группы В - по суммарному времени непосредственной работы на ПК.

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

При 8-часовой рабочей смене и работе на ПК регламентированные перерывы следует устанавливать:

·        для первой категории работ через 2 часа от начала смены и через 2 часа после обеденного перерыва продолжительностью 15 минут каждый;

·        для второй категории работ - через 2 часа от начала рабочей смены и через 1,5-2,0 часа после обеденного перерыва продолжительностью 15 минут каждый или продолжительностью 10 минут через каждый час работы;

·        для третьей категории работ - через 1,5- 2,0 часа от начала рабочей смены и через 1,5-2,0 часа после обеденного перерыва продолжительностью 20 минут каждый или продолжительностью 15 минут через каждый час работы.

При 12-часовой рабочей смене регламентированные перерывы должны устанавливаться в первые 8 часов работы аналогично перерывам при 8-часовой рабочей смене, а в течение последних 4 часов работы, независимо от категории и вида работ, каждый час продолжительностью 15 минут.

Продолжительность непрерывной работы на ПК без регламентированного перерыва не должна превышать 1 часа.

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

Эффективными являются нерегламентированные перерывы (микропаузы) длительностью 1-3 минуты.

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

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

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

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

В соответствии с этим работник обязан:

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

-       проходить медосмотры ежегодно;

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

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

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

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

 

.4 Экологические проблемы утилизации ПК


Экологи бьют тревогу, грозят санкциями ведущим производителям электроники, если те не примут меры по утилизации персональной и другой техники. За период с 1991 года по настоящее время в Россию завезено разными поставщиками около 10 млн. единиц (около 400000 т.) персональной и оргтехники (это по самым скромным подсчетам), мобильных телефонов - 37-40 млн. шт. (около 4800 т.). И это приблизительные данные. Точного подсчёта никто не проводит.

Обеспокоенность общественности проблемами экологии, а также новые, более жесткие законы по защите окружающей среды вынуждают крупных производителей оборудования создавать сети по сбору вышедшей из обращения техники и заводы по ее утилизации. Кроме того, в конструкции оборудования максимально увеличивается доля материалов, пригодных для переработки. Размеры сети по утилизации "электронного лома" зависят от региона и местного законодательства. Так, например, в Западной Европе, где экологические законы весьма строги, компания Hewlett-Packard создала весьма внушительную инфраструктуру по сбору и переработке устаревших компьютеров и оргтехники. Всего в Европе продукцию НР перерабатывают 30 заводов, один из которых находится в России. Справедливости ради нужно отметить, что эти заводы не являются собственностью НР. Они принадлежат партнерским компаниям американского вендора, участвующим в программе утилизации списанной техники.

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

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

Таблица.6.2. Наименование: благородные металлы (гр), черные и цветные металлы (кг), полимеры и стекло (кг).

Au

Ag

Al

Cu

Fe

АБС (пластик)

Стекло

0,05-0,09

0,8-1,1

0,1-0,4

0,1-0,2

3-4

3-3,5

10-20

(Данные, приведенные в таблице, ориентировочные).

Все эти компоненты не являются опасными в процессе эксплуатации изделия. Однако ситуация коренным образом меняется, когда изделие попадает на свалку. Такие металлы, как свинец, сурьма, ртуть, кадмий, мышьяк входящие в состав электронных компонентов переходят под воздействием внешних условий в органические и растворимые соединения и становятся сильнейшими ядами. Утилизация пластиков, содержащих ароматические углеводороды, органические хлорпроизводные соединения является насущной проблемой экологии Поэтому вся оргтехника должна утилизироваться по методике утвержденной Государственным комитетом РФ по телекоммуникациям (от 19 октября 1999 г. ). Благодаря комплексной системе утилизации оргтехники сводятся к минимуму неперерабатываемые отходы, а основные материалы (пластмассы, цветные и черные металлы) и ценные компоненты (редкие металлы, люминофор, ферриты и др.) возвращаются в производство. Драгметаллы, содержащиеся в электронных компонентах оргтехники концентрируются и после переработки на аффинажном заводе сдаются в Госфонд.

Учет драгметаллов в изделиях

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

·   Ø Федеральный закон от 26.03.98 №41 ФЗ «О драгоценных металлах и драгоценных камнях» (п.2 ст.20);

·   Ø Инструкция по учету драгметаллов, разработанная в Минфине.

·   «…Организации обязаны вести учет драгоценных металлов и драгоценных камней во всех видах и состояниях, включая драгоценные металлы и драгоценные камни, входящие в состав основных и оборотных средств, покупных комплектующих деталей…» (Пункт 6.3 Инструкции о порядке учета и хранения драгоценных металлов и драгоценных камней, продукции из них и ведения отчетности при их производстве использовании и обращении, утвержденной приказом Минфина России от 29.08.01. № 68н.)

Несмотря на то, что эти нормативные акты никто не отменял, они как-то выпали из поля зрения фирм, деятельность которых напрямую не связана с драгметаллами. Чем же обернется фирме отсутствие учета «драгоценных» запчастей? Отвечают специалисты Центральной государственной инспекции пробирного надзора Российской государственной пробирной палаты (именно этот госорган проверяет, правильно ли фирмы ведут учет драгметаллов). «Вести учет драгметаллов, в том числе содержащихся в компьютерной технике, обязаны все фирмы, - ответили нам в инспекции. - Нарушителям грозит штраф по статье 19.14. КоАП РФ. Для организации он составляет от 20 до 30 тыс. рублей, а для ее руководителя - от 2 до 3 тыс. рублей».

Компьютерами и оргтехникой в нашей стране владеют физические и юридические лица. Утилизация оргтехники физическими лицами происходит очень прозаично - выбросил на свалку в худшем случае, в лучшем - разборка на части для дальнейшего применения, что в конечном счете заканчивается той же свалкой. Иногда продвинутые руководители, чтобы не связываться с утилизацией, просто дарят старую технику своим подшефным организациям (детские дома, школы, учреждения культуры).Но сама проблема остаётся. Этот процесс в настоящее время не волнует ни большую часть населения, ни государство. Утилизацией в этом случае занимаются искатели цветных и черных металлов. С юридическими лицами все гораздо сложнее. Согласно законодательству, персональные компьютеры относятся к основным средствам и подлежат бухгалтерскому учету на предприятии с указанием количества драгоценных металлов, которые в них содержатся. Мало того, на эту технику распространяется правило об амортизации в течении 10 лет.

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

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

Процесс переработки

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

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

НР впервые предложила переработку отслужившей свой срок продукции еще в 1981 году. Сегодня НР обладает инфраструктурой по сбору и переработке использованных ПК и оргтехники в 50 странах мира. В год утилизации подвергается около 2,5 млн. единиц продукции. В одном только 2007 году НР переработал около 100 тыс. тонн списанного оборудования и расходных материалов, - почти в полтора раза больше, чем годом ранее.

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

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

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

7. расчет экономических показателей программного продукта


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

Основные этапы разработки программного продукта:

1.    Постановка задачи

2.      Спецификация

.        Проектирование

.        Написание программы

.        Отладка и тестирование

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

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

,        (1)

где  − среднее время, полученное на основе экспертных оценок;

 − оценка времени, данная руководителем проекта;

 − оценка времени, данная разработчиком.

Требуемое время на разработку каждого этапа необходимо привести для трех случаев:

1       наименее возможная величина затрат , дни;

2       наиболее возможная величина затрат , дни;

3       наиболее вероятная величина затрат , дни.

Результаты расчета этих величин приведены в таблице 1.

Таблица 7.1 - Оценка затрат времени на разработку программного продукта

Этапы разработки программы

Наименее возможная величина затрат ai, дни

Наиболее возможная величина затрат bi, дни

Наиболее вероятная величина затрат mi, дни










Постановка задачи

9

10

9,4

14

15

14,4

11

12

11,4

Спецификация

10

12

10,8

16

17

16,4

13

14

13,4

Проектирование

14

15

14,4

23

25

23,8

18

20

18,8

Написание программы

28

30

28,8

47

50

48,2

37

40

38,2

Отладка и тестирование

8

10

8,8

14

15

14,4

11

12

11,4


Затем находится величина математического ожидания затрат времени для каждого этапа по формуле

,       (2)

где  − математическое ожидание затрат времени для i-го этапа;

, ,  − средние оценки, найденные ранее;

i изменяется от 1 до n (n - количество этапов разработки, равное 5).

Далее определяется стандартное отклонение для каждого этапа по формуле

,         (3)

где  − стандартное отклонение для i-го этапа;

, ,  − средние оценки, найденные ранее;

i изменяется от 1 до n (n - количество этапов разработки, равное 5).

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

,        (4)

где  − общая оценка затрат;

 − математическое ожидание затрат времени для i-го этапа;

i изменяется от 1 до n (n - количество этапов разработки, равное 5).

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

, (5)

где  − стандартное отклонение общей оценки затрат;

 − стандартное отклонение оценки затрат для i-го этапа;

i изменяется от 1 до n (n - количество этапов разработки, равное 5).

На основе расчетов математического ожидания и стандартного отклонения вычисляется коэффициент вариации - коэффициент согласованности мнения экспертов. Этот коэффициент рассчитывается по формуле

,    (6)

где  − коэффициент вариации для i-го этапа;

 − стандартное отклонение оценки затрат для i-го этапа;

 − математическое ожидание затрат времени для i-го этапа;

i изменяется от 1 до n (n - количество этапов разработки, равное 5).

Если коэффициент вариации меньше либо равен 0,3, то мнения экспертов считаются согласованными.

Результаты расчета MOi, Gi и Yi приведены в таблице 2.

Таблица 7.2 - Затраты времени на разработку программного продукта

Этапы разработки программы

Средняя величина затрат времени по этапам, дни

Математическое ожидание MOi, дни

Стандартное отклонение Gi, дни

Коэффициент вариации Yi, дни


Наименее возможная величина затрат ai

Наиболее возможная величина затрат bi

Наиболее вероятная величина затрат mi




Постановка задачи

9,4

14,4

11,4

11,6

0,83

0,072

Спецификация

10,8

16,4

13,4

13,5

0,93

0,069

Проектирование

14,4

23,8

18,8

18,9

1,57

0,083

Написание программы

28,8

48,2

38,2

38,3

3,2

0,084

Отладка и тестирование

8,8

14,4

11,4

11,5

0,93

0,081

Итого

72,2

117,2

93,2

93,8

3,9

0,04


Коэффициент вариации равен 0,04, то есть не превосходит 0,3. Поэтому мнения экспертов считаются согласованными.

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

Себестоимость программного продукта вычисляется по формуле

,(7)

где C − себестоимость программного продукта;

З − среднемесячная заработная плата программиста с учетом районного коэффициента. Примем З = 10000 рублей;

М − количество рабочих дней в месяце. Примем М = 22 дням;

t1 − трудозатраты на постановку задачи. Подсчитано t1 = 11,6 дня;

t2 − трудозатраты на спецификацию. Подсчитано t2 = 13,5 дня;

t3 − трудозатраты на проектирование. Подсчитано t3 = 18,9 дня;

t4 − трудозатраты на написание программы. Подсчитано t4 = 38,3 дня;

t5 − трудозатраты на отладку и тестирование. Подсчитано t5 = 11,5 дня;

k − коэффициент, учитывающий отчисления во внебюджетные фонды (k = 1,302);

kн − коэффициент, учитывающий накладные расходы (kн = 0,5);

Cмаш − стоимость одного часа машинного времени;

Cинт − стоимость одного часа работы в Интернете. Примем Cинт = 0,76 руб.;

Tмаш − количество дней работы на компьютере;

Tинт − количество дней работы в Интернете.

Рассчитаем стоимость одного часа машинного времени. Для этого рассчитаем затраты на эксплуатацию персонального компьютера за год по формуле

,         (8)

где Cмаш − стоимость одного часа машинного времени;

Зэл − затраты на электроэнергию за год работы;

Зам − амортизационные отчисления;

Зкомпл − затраты на комплектующие материалы. Примем Зкомпл = 1000 руб.;

Зраб − затраты на заработную плату обслуживающего персонала;

Зпр − прочие расходы;

Тобщ − общее время работы компьютера за год. Тобщ = 22*12*8 = 2112 часов.

Рассчитаем затраты на электроэнергию за год работы по формуле

,       (9)

где Зэл − затраты на электроэнергию за год работы;

Тобщ − общее время работы компьютера за год;

Сэл − тариф электроэнергии за 1кВт. Сэл = 1,76 руб;

Р − потребляемая персональным компьютером мощность по паспортным данным. Р = 360 Вт*ч.

Тогда по формуле (9) находим:

Зэл = 2112 * 1,76 * 0,36 = 1338,1 руб.

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

,       (10)

где Зам − амортизационные отчисления;

С − стоимость компьютера. Примем С = 10000 руб.;

Пр − процент отчисления за амортизацию. Он составляет 33%.

Тогда по формуле (10) находим:

Зам = 10000 * 0,33 = 3300 руб.

Затраты на заработную плату обслуживающего персонала за год рассчитываются по формуле

,    (11)

где Зраб − затраты на заработную плату обслуживающего персонала за год;

Знадб − затраты на заработную плату обслуживающего персонала за месяц. Примем Знадб = 6000 руб.

Тогда по формуле (11) находим:

Зраб = 12 * 5000 = 60000 руб.

Прочие расходы составляют 5% от общей суммы затрат. Они рассчитываются по формуле

, (12)

где Зпр − прочие расходы.

Найдем их:

Зпр = 0,05 * (1338,1 + 3300 + 1000 + 60000) / 0,95 = 3454,6 руб.

Зная все данные, подсчитаем стоимость одного часа машинного времени:

Смаш = (1338,1 + 3300 + 1000 + 60000 + 3454,6) / 2112 = 32,7 руб.

В итоге получаем себестоимость программного продукта:

С = (10000 / 22) * 1,302 * (11,6 + 13,5 + 18,9 + 38,3 + 11,5) * (1 + 0,5) + 8 * 30 * 32,7 + 8 * 10 * 0,76 = 91169,3 руб.

Найдем цену программного продукта по формуле

,   (13)

где Ц − цена программного продукта;

С − себестоимость программного продукта;

R − рентабельность программного продукта. R = 20%.

Получим:

Ц = 91169,3 * (1 + 0,2) = 109403,2 руб.

Найдем цену с НДС по формуле

,         (14)

где Цсндс − цена программного продукта с НДС;

Ц − цена программного продукта;

НДС − 18% от цены программного продукта

Получим:

Цсндс = 109403,2 + 109403,2 * 0,18 = 129095,7 руб.


Таблица 7.3 - Сравнительная таблица

ПО Возможности

«GMote»

«Remote for VLC»

«Пульт MPC&VLC»

«The Remote Control»

Разработанный программный продукт

Кроссплатформерность

Есть

Есть

Есть

Есть

Нет

Простота установки

Нет

Есть

Есть

Есть

Есть

Быстродействие

Нет

Нет

Нет

Нет

Есть

Независимость от HTTP

Есть/Нет*

Нет

Нет

Нет

Есть

Простой интерфейс

Нет

Нет

Нет

Есть

Есть

Возможность работы с различными проигрывателями

Нет

Нет

Есть

Нет

Есть

Управление жестами

Нет

Нет

Нет

Нет

Есть

* - в зависимости от ОС

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

8. Заключение


Увеличение количества пультов дистанционного управления в доме привело к появлению спроса на универсальные пульты управления.

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

1)    Возможность управлять воспроизведением аудио-файлов

2)      Возможность смены воспроизводимого аудио-файла

)        Возможность изменять громкость воспроизведения

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

)        Возможность выключать компьютер при помощи пульта

)        Работа серверной части не должна мешать остальной работе ПК

)        Серверная часть должна быть реализована в формате «демона»

)        Возможность учета операций на стороне сервера

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

1)    Гибкость (возможность адаптации кода сервера для работы с другим проигрывателем)

2)      Высокая скорость работы серверного приложения

)        Простой, интуитивно-понятный интерфейс клиента

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

Система прошла успешное тестирование, и готова к выходу на рынок. В дальнейшем планируется распространять её через онлайн-каталог Google Play Market, что сделает её более доступной для пользователей. Так же планируется развивать и совершенствовать приложение, в чём помогут отзывы пользователей, которые можно собирать непосредственно через Google Play Market. Это позволит программе всегда быть актуальной - отвечать вкусам и потребностям пользователей.

Приложение А

(справочное)

Библиография

1       Энциклопедия Википедия [ Электронный ресурс ]. - Режим доступа : <http://ru.wikipedia.org/wiki/Пульт_дистанционного_управления> - Загл. с экрана. - яз. рус.

         Энциклопедия Википедия [ Электронный ресурс ]. - Режим доступа : <http://ru.wikipedia.org/wiki/Android> - Загл. с экрана. - яз. рус.

         Чан Т. Системное программирование на C++ для Unix. Пер. с англ./Тимачева С.- К.: BHV, 1997. - 212 с.

         Android Developers [ Электронный ресурс ]. - Режим доступа : <http://developer.android.com/resources/articles/gestures.html> - Загл. с экрана. - яз. англ.

         Android Developers [ Электронный ресурс ]. - Режим доступа : http://android-developers.blogspot.com/2009/12/back-and-other-hard-keys-three-stories.html - Загл. с экрана. - яз. англ.

         Н.Н. Симакова Организация рабочих мест с персональными электронно-вычислительными машинами (ПЭВМ).СибГУТИ., 2010г. - С. 75

Приложение Б

Исходный код серверного приложения

#include <time.h>

#include <stdio.h>

#include <unistd.h>

#include <sys/socket.h>

#include <sys/types.h>

#include <netinet/in.h>

#include <stdlib.h>

#include <string.h>

#define MAX_SIZE 50

#define LOGFILE "mediaremote.log"tolog(char msg[256])

{buffer[22];_t curtime;tm *loctime;= time (NULL);= localtime (&curtime);*log;=fopen(LOGFILE,"at");(buffer, 23,"%Y-%m-%d %H:%M:%S: ", loctime);(log,"%s",buffer);(log,"%s\n",msg);(log);;

}main()

{work,i,NotExited;sock_descriptor, conn_desc;sockaddr_in serv_addr, client_addr;buff[MAX_SIZE];j=fork();(j<0) exit(1);(j>0) exit(0);("Daemon started");(NotExited=1)

{_descriptor = socket(AF_INET, SOCK_STREAM, 0);(sock_descriptor < 0)

{("Failed to create a socket");(5);;

}((char *)&serv_addr, sizeof(serv_addr));_addr.sin_family = AF_INET;_addr.sin_addr.s_addr = INADDR_ANY;_addr.sin_port = htons(19913);(bind(sock_descriptor, (struct sockaddr *)&serv_addr, sizeof(serv_addr)) < 0)

{("Failed to bind");(5);;

}(sock_descriptor, 5);("Waiting for connection...");size = sizeof(client_addr);_desc = accept(sock_descriptor, (struct sockaddr *)&client_addr, &size);(conn_desc == -1)("Failed to accept connection");

{("Connected");("rhythmbox-client");

}=1;(work)

{(i=0;i<MAX_SIZE;i++) buff[i]=0;( read(conn_desc, buff, sizeof(buff)-1) > 0)

{[4]='\0';=1;(!strcmp(buff,"next") && work==1)

{("Command received: Next song");("rhythmbox-client --next");=2;

}(!strcmp(buff,"prev") && work==1)

{("Command received: Previous song");("rhythmbox-client --previous");=2;

}(!strcmp(buff,"play") && work==1)

{("Command received: Play");("rhythmbox-client --play-pause");=2;

}(!strcmp(buff,"stop") && work==1)

{("Command received: Pause");("rhythmbox-client --pause");=2;

}(!strcmp(buff,"voup") && work==1)

{("Command received: Volume Up");("rhythmbox-client --volume-up");=2;

}(!strcmp(buff,"vodn") && work==1)

{("Command received: Volume Down");("rhythmbox-client --volume-down");=2;

}(!strcmp(buff,"quit") && work==1)

{("Command received: Computer Shutdown");("halt");=0;=0;

}(!strcmp(buff,"exit") && work==1)

{("Command received: Exit");(conn_desc);=0;=0;

}(work==1)

{("Command received: Unknown command received");

}

}

{("Client disconnected");=0;

}

}(conn_desc);(sock_descriptor);

}("Daemon stopped");0;

}

Приложение В

Исходный код клиентского приложения

package media.remote;

import java.io.BufferedWriter;java.io.IOException;java.io.OutputStreamWriter;java.io.PrintWriter;java.net.InetAddress;java.net.Socket;java.net.UnknownHostException;java.util.ArrayList;android.app.Activity;android.gesture.Gesture;android.gesture.GestureLibraries;android.gesture.GestureLibrary;android.gesture.GestureOverlayView;android.gesture.GestureOverlayView.OnGesturePerformedListener;android.gesture.Prediction;android.os.Bundle;android.view.KeyEvent;android.view.View;android.view.View.OnClickListener;android.view.WindowManager;android.widget.Button;android.widget.EditText;android.widget.Toast;android.widget.ViewFlipper;class MediaRemoteActivity extends Activity implements OnGesturePerformedListener {Socket socket;GestureLibrary mLibrary;ViewFlipper vf;float devbright;

/** Called when the activity is first created. */

@Overridevoid onCreate(Bundle savedInstanceState) {.onCreate(savedInstanceState);(R.layout.main);.LayoutParams lp = getWindow().getAttributes();= lp.screenBrightness;= (ViewFlipper) findViewById(R.id.vf);

//Connect ViewConnectView = findViewById(R.id.ConnectView);EditText InputWindow = (EditText) findViewById(R.id.editText1);Button ConnectButton = (Button) findViewById(R.id.button3);Button quitButton = (Button) findViewById(R.id.button4);

//Control ViewControlView = findViewById(R.id.ControlView);Button plpaButton = (Button) findViewById(R.id.button5);Button nextButton = (Button) findViewById(R.id.button1);Button prevButton = (Button) findViewById(R.id.button6);Button stopButton = (Button) findViewById(R.id.button7);Button exitButton = (Button) findViewById(R.id.button2);Button voupButton = (Button) findViewById(R.id.button8);Button vodnButton = (Button) findViewById(R.id.button9);Button shutButton = (Button) findViewById(R.id.button10);Button easyButton = (Button) findViewById(R.id.button11);

//EasyControl View= GestureLibraries.fromRawResource(this, R.raw.gestures);(!((GestureLibrary) mLibrary).load()) {finish();}gestures = (GestureOverlayView) findViewById(R.id.gestures);.addOnGesturePerformedListener(this);

// Connect Window View

// Connect Button.setOnClickListener(new OnClickListener() {void onClick(View v) {{serverAddr = InetAddress.getByName(InputWindow.getText().toString());= new Socket(serverAddr,19913);(socket.isConnected()) vf.showNext();

} catch (UnknownHostException e1) {.makeText(getApplicationContext(), "IP address is incorrect", 2).show();

} catch (IOException e1) {.makeText(getApplicationContext(), "IP address is unreachable", 2).show();

}

}}

);.setOnClickListener(new OnClickListener() {void onClick(View v) {();

}});

// Control Window View

// Play/Pause button.setOnClickListener(new OnClickListener() {void onClick(View v) {(!socket.isConnected()).showPrevious();("play");

}}

);

// Next button.setOnClickListener(new OnClickListener() {void onClick(View v) {(!socket.isConnected()).showPrevious();("next");

}}

);

// Previous button.setOnClickListener(new OnClickListener() {void onClick(View v) {(!socket.isConnected()).showPrevious();("prev");

}}

);

// Stop button.setOnClickListener(new OnClickListener() {void onClick(View v) {(!socket.isConnected()).showPrevious();("stop");

}}

);

// Volume Down button.setOnClickListener(new OnClickListener() {void onClick(View v) {(!socket.isConnected()).showPrevious();("vodn");

}}

);

// Volume Up button.setOnClickListener(new OnClickListener() {void onClick(View v) {(!socket.isConnected()).showPrevious();("voup");

}}

);

// Easy Control Button.setOnClickListener(new OnClickListener() {void onClick(View v) {(socket.isConnected()) vf.showNext();.LayoutParams lp = getWindow().getAttributes();.screenBrightness = 0 / 100.0f;().setAttributes(lp);

}}

);

// Quit button.setOnClickListener(new OnClickListener() {void onClick(View v) {();

}});

// Shutdown button.setOnClickListener(new OnClickListener() {void onClick(View v) {(!socket.isConnected()) vf.showPrevious(); else {("quit");{.close();

} catch (IOException e) {}}();

}});

// Exit button.setOnClickListener(new OnClickListener() {void onClick(View v) {{(socket.isConnected())        socket.close();

} catch (IOException e) {

}.showPrevious();

}});

// Quit Button.setOnClickListener(new OnClickListener() {void onClick(View v) {();

}});

}

// Function to send commandsvoid sendcmd(String cmd)

{{(socket.isConnected()) {out = new PrintWriter(new BufferedWriter(new OutputStreamWriter(socket.getOutputStream())), true);.println(cmd);}

} catch (Exception e) {Toast.makeText(getApplicationContext(), "Failed to send command", 3).show();};

}

//control hardware keysboolean dispatchKeyEvent(KeyEvent event) {action = event.getAction();keyCode = event.getKeyCode();(keyCode) {KeyEvent.KEYCODE_VOLUME_UP:(action == KeyEvent.ACTION_UP) {( vf.getCurrentView().getId() ) {R.id.gestures: case R.id.ControlView: {("voup");;}

}

}true;KeyEvent.KEYCODE_VOLUME_DOWN:(action == KeyEvent.ACTION_DOWN) {( vf.getCurrentView().getId() ) {R.id.gestures: case R.id.ControlView: {("vodn");;}

}

}true;KeyEvent.KEYCODE_BACK:(action == KeyEvent.ACTION_UP) {( vf.getCurrentView().getId() ) {R.id.gestures: {.showPrevious();.LayoutParams lp = getWindow().getAttributes();.screenBrightness = devbright;().setAttributes(lp);;}R.id.ControlView: {{.close();.showPrevious();

} catch (IOException e) {};}R.id.ConnectView: {();;}

}

}true;:super.dispatchKeyEvent(event);

}

}

//control gesturesvoid onGesturePerformed(GestureOverlayView overlay, Gesture gesture) {<Prediction> predictions = mLibrary.recognize(gesture);

// We want at least one prediction(predictions.size() > 0 && predictions.get(0).score > 1.0) {action = predictions.get(0).name;("next".equals(action)) {("next");

} else if ("prev".equals(action)) {("prev");

} else if ("pause".equals(action)) {("play");

}

}

}

}

Похожие работы на - Удаленное управление компьютером с мобильного устройства

 

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