Разработка приложения для автоматического обеспечения передачи оповещения с мобильного телефона на компьютер

Разработка системы синхронизации уведомлений (клиентское приложение для смартфонов под управлением операционной системы Android версии 4.0.0 и выше). Разработка сервера, работающего под управлением Windows. Расчет себестоимости создания системы.

Рубрика Программирование, компьютеры и кибернетика
Вид дипломная работа
Язык русский
Дата добавления 17.07.2016
Размер файла 706,7 K

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

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

- Buffer - массив типа Byte, который является местоположением памяти для полученных данных.

- Offset - отсчитываемая с нуля позиция в параметре buffer, начиная с которой хранятся принятые данные.

- Size - число принимаемых байтов.

- socketFlags - поразрядное сочетание значений SocketFlags.

- Callback - делегат AsyncCallback, ссылающийся на метод, вызываемый по завершении данной операции.

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

Делегат AsyncCallback ссылается на метод ReceiveCallback.

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

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

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

Если во всем стеке вызовов нет ни единого блока catch, то программа прекращает свое выполнение.

В блоке try метода ReceiveCallback создается локальный объект класса StateObject и локальный объект класса Socket, которые называются state и client соответственно. Объекту state присваивается значение свойства AsyncState объекта AsyncResult, а затем объекту client приравнивается свойство workSocket объекта state.

Далее, если метод EndReceive объекта client возвращает значение большее, чем нуль, значит сервер получил какие-то данные и необходимо их обработать.

При помощи метода Decode, данные расшифровываются и строковое значение возвращается переменной text.

По задумке, сервер должен получать только два вида сообщений - "@@onConnection#name" и "name##packageName: text". Если сервер, каким-то образом, получит сообщение другого типа, то оно просто не будет обработано, уничтожится и сервер продолжит свою работу.

Здесь сервер проверяет, имеет ли сообщение необходимый вид. Если в сообщении присутствует строка "@@onConnection", то эта строка разделяется сепаратором "#" на две строки, которые добавляются в локальный строковый массив parts. Затем полю name объекта state присваивается вторая строка (parts [1]).

Иначе, строка так же делится на две сепаратором "#", обе строки добавляются в локальный строковый массив parts. При помощи оператора foreach перечисляются все подключения.

Каждое из которых проверяется на совпадение поля name, к которому приписывается постфикс "-pc", с именем текущего поля state и таким же постфиксом "-pc". Если же они совпали, то вторая часть текста (parts [1]) зашифровывается методом Encode, после чего вызывается метод Send, который отправляет нужному подключению зашифрованное сообщение.

public static void ReceiveCallback (IAsyncResult ar)

{

try

{

StateObject state = (StateObject) ar. AsyncState;

Socket client = state. workSocket;

// Read data from the remote device.

int bytesRead = client. EndReceive (ar);

if (bytesRead > 0)

{

state. buffer = Decode (state. buffer);

state. sb. Append (Encoding. ASCII. GetString (state. buffer, 0, bytesRead));

string text = state. sb. ToString ();

if (text. Contains ("@@onConnection"))

{

string [] parts = text. Split ('#');

state. name = parts [1];

}

else

{

string [] parts = text. Split ('#');

foreach (var item in sockets)

{

if (item. name. Equals (state. name + "-pc"))

{

string toSend = Encode (parts [1])

Send (item. workSocket, toSend);

}

}

Console. WriteLine (parts [1]);

}

state. sb. Clear ();

client. BeginReceive (state. buffer, 0, StateObject. BufferSize, 0,new AsyncCallback (ReceiveCallback), state);

}

}

catch (Exception e)

{

Console. WriteLine (e. ToString ());

}

}

Рисунок 26. Метод ReceiveCallback

Метод Send отправляет данные нужному подключению.

Этот метод принимает два параметра:

- handler - объект класса Socket.

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

- data - строковая переменная.

Хранит данные, которые необходимо отправить.

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

- buffer. Массив типа Byte, который содержит передаваемые данные.

- offset. Отсчитываемая с нуля позиция в параметре buffer, с которой начинается отправка данных.

- size. Количество байт для записи.

- socketFlags. Поразрядное сочетание значений SocketFlags.

- callback. Делегат AsyncCallback.

- state. Объект, содержащий сведения о сотоянии данного запроса.

private static void Send (Socket handler, String data)

{

byte [] byteData = Encoding. ASCII. GetBytes (data);

handler. BeginSend (byteData, 0, byteData. Length, 0,new AsyncCallback (SendCallback), handler);

}

Рисунок 27. Метод Send

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

Сначала создается локальный экземпляр класса Socket, handler, которому приравнивается свойство AsyncState объекта IAsyncResult. Затем создается локальная переменная bytesSent, которой приравнивается возвращаемое значение метода EndSend объекта handler. Этот метод завершает передачу данных подключению.

В консоль приложение отправляет отчет об отправленных байтах. Затем уничтожается локальный объект handler.

private static void SendCallback (IAsyncResult ar)

{

try

{

Socket handler = (Socket) ar. AsyncState;

int bytesSent = handler. EndSend (ar);

Console. WriteLine ("Sent {0} bytes to client.", bytesSent);

handler. Shutdown (SocketShutdown. Both);

handler. Close ();

}

catch (Exception e)

{

Console. WriteLine (e. ToString ());

}

}

Рисунок 28. Метод SendCallback

Также, в этом классе имеется метод Main. Это самый главный метод, с которого начинает любая программа, написанная на языках C#, Java, C++ и многих других известных языках.

В этом методе всего лишь вызывается метод StartListening.

public static void Main (String [] args)

{

StartListening ();

}

Рисунок 29. Метод Main

2.3 Безопасность разработанной системы

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

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

Для обеспечения конфиденциальности информации в данной системе используется XOR-шифрование.

XOR (исключающее ИЛИ) - это логическая булева операция. В языках программирования обозначается знаком ^ (циркумфлекс). Выполняется с двумя битами (a и b). Результат выполнения этой операции равняется 1 (истина), если один из битов равен 1. Во всех остальных случаях результатом будет 0 (ложь).

Таблица 1. XOR-операции

a

b

a ^ b

0

0

0

0

1

1

1

0

1

1

1

0

Шифрование на основе операций XOR использует функцию:

где k - выступает в роли ключа.

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

Метод шифрования:

public static byte [] encode (String text) {

string pKey = "ppCS3b1";

byte [] txt = text. getBytes ();

byte [] key = pKey. getBytes ();

byte [] res = new byte [text. length ()];

for (int i = 0; i < txt. length; i++) {

res [i] = (byte) (txt [i] ^ key [i % key. length]);

}

return res;

}

Рисунок 30. Метод encode

Метод дешифрования:

public static String decode (byte [] pText) {

string pKey = "ppCS3b1";

byte [] res = new byte [pText. length];

byte [] key = pKey. getBytes ();

for (int i = 0; i < pText. length; i++) {

res [i] = (byte) (pText [i] ^ key [i % key. length]);

}

return new String (res);

}

Рисунок 31. Метод decode

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

3. Результаты тестирования

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

Таблица 2. Устройства для тестирования

№ Уст-ва

Android-устройство

ПК клиента

ПК сервер

1

Samsung Galaxy S4

ОS Android 4.4.4 (KitKat)

Процессор Samsung Exynos 5410, 1600 МГц

Объем ОЗУ 2гб

МП ASUS Z97-K

ЦП Intel Core i5 Skylake

Объем ОЗУ 8гб

МП ASUS Z9NA-D6C

ЦП Intel Core i5

Объем ОЗУ 16гб

2

Sony Xperia Z3

OS Android 5.1.1 (Lolipop)

Процессор Qualcomm Snapdragon 801 MSM8974AC, 2500 МГц

Объем ОЗУ 3гб

МП ASUS M5A97 LE R2.0

ЦП Intel Core i5 Haswell

Объем ОЗУ 8гб

МП ASUS Z9NA-D6C

ЦП Intel Core i5

Объем ОЗУ 16гб

3

OnePlus One

OS Android 5.1.1 (Lolipop)

Процессор Qualcomm Snapdragon 801, 2500 МГц

Объем ОЗУ 3гб

МП MSI H81M-P33

ЦПAMD FX Vishera

Объем ОЗУ 4гб

МП ASUS P10S-I

ЦП Intel Core i7

Объем ОЗУ 16гб

4

HTC Desire 326G

OS Android 4.4.4 (KitKat)

Процессор Spreadtrum SC7731G

Объем ОЗУ 1гб

МП ASUS X99-DELUXE II

ЦП Intel Core i7 Devil's Canyon

Объем ОЗУ 16гб

МП ASUS Z9NA-D6C

ЦП Intel Core i7

Объем ОЗУ 16гб

5

LG G4s H736

OS Android 5.1.1 (Lolipop)

Процессор Snapdragon 815, 1500 МГц

МП Supermicro X10SLL+-F

Intel Pentium Haswell

Объем ОЗУ 4гб

МП ASUS Z10PA-D8

ЦП Intel Core i3

Объем ОЗУ 4гб

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

- скорость отправки/получения данных

- задержка между двумя операциями

- максимальная нагрузка

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

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

№ Связки

№ Android-устройства

(см. Таблицу 1)

№ ПК клиента

(см. Таблицу 1)

№ ПК Сервера

(см. Таблицу 1)

Оценка

(0-10)

1

1

1

1

9,5

2

1

2

1

8,9

3

1

3

3

8,1

4

1

4

3

8,8

5

1

5

5

7,9

6

2

3

1

9,1

7

2

4

1

9,0

8

3

1

3

9,1

9

3

4

3

9,2

10

3

5

5

7,5

11

3

4

2

9,3

12

3

4

5

8,5

13

4

3

3

7,1

14

4

2

3

6,9

15

4

4

3

7,0

16

4

5

2

6,9

17

4

1

4

7,5

18

5

5

5

7,9

19

5

4

4

8,9

20

5

4

3

8,9

Средняя оценка - 8,3.

Основные проблемы возникли на Android-устройстве №4 (HTC Desire 326G), ПК №5 (МП Supermicro X10SLL+-F, Intel Pentium Haswell, Объем ОЗУ 4гб) и серверным компьютером №5 (МП ASUS Z10PA-D8, ЦП Intel Core i3, Объем ОЗУ 4гб). На HTC Desire приложение часто выходило из строя по непонятным причинам. Некоторые уведомления не отправлялись. Один раз сервис вообще не создался. На ПК №4 основные проблемы были связаны с задержкой между двумя уведомлениями. Не смотря на то, то они были отправлены с интервалом в 1 секунду, приложение отображало из с интервалом в 2,5-3 секунды. К серверному компьютеру №5, в отличие от остальных, доступ осуществлялся удаленно, так как компьютер находился на расстоянии нескольких тысяч километров. Из-за большого расстояния скорость отправки/приема данных была хуже, чем у остальных.

Несмотря на это, система отлично прошла тестирование и готова к эксплуатации.

4. Экономическое обоснование дипломного проекта

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

Характер проекта:

Вспомогательный

Направление использования инвестиций:

Исследования и разработки

Продукция (услуги):

Наименование продукции (услуги) - создание системы синхронизации уведомлений при помощи языков программирования Java и C#.

Назначение и основные характеристики - "Система синхронизации уведомлений" ориентирована на повседневное использование любым физическим лицом.

Масштабы и направления:

Весь мир

Потребительская характеристика:

Любой владелец android-смартфона и ПК

Привлекательные характеристики:

Сокращение времени.

Характеристика рынка сбыта продукции (услуг):

Основной потребитель - любой владелец смартфона с ОС Android.

Обеспеченность сбыта продукции (услуг):

Отсутствует

Конкуренция:

Основным конкурентом является студия Pushbullet с их одноименным проектом.

4.1 Расчет себестоимости создания системы

Для расчета затрат на программные средства имеются следующие исходные данные:

- стадии разработки системы;

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

- заработную плату разработчиков;

- стоимость машинного часа работы оборудования;

- время работы оборудования при разработке программы.

Затраты на разработку программы - себестоимость программы, определяется по формуле:

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

ТЗР - транспортно-заготовительные расходы, руб.;

Зэл. - затраты на силовую электроэнергию, руб.;

Ззп - затраты по заработной плате специалистам, участвующим в разработке программы, с учетом страховых взносов, руб.;

Зо - затраты, связанные с работой оборудования, руб.;

НР - накладные расходы, руб.

Таблица 4 - Затраты на материалы, полуфабрикаты, покупные изделия

Наименование сырья, материалов, топлива

Единица измерения

Кол-во израсходованного материала единиц

Планово-заготовительная цена, рублей за единицу

Сумма, руб.

1

Флэш-накопитель

4 Гб

шт.

1

250

250

2

Бумага

упаковка

2

200

400

3

Ручки

шт.

2

11

22

4

Карандаши

шт.

1

7

7

5

Папка

шт.

1

80

80

6

Дырокол

шт.

1

100

100

7

Ластик

шт.

1

10

10

ИТОГО:

869

Исходя из таблицы 5, затраты на основные материалы составили 869 руб.

Транспортно-заготовительные расходы составляют исходя из затрат на основные материалы. Они определяются по формуле:

ТЗР = 869 * 3,4/100 = 29,546 (руб.)

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

гдеTэл - тариф на электроэнергию,

КПД - коэффициент полезного действия оборудования;

Fэф - эффективный фонд работы оборудования;

U - Мощность оборудования.

Таким образом:

Зэл. = 3.9*0,9*132*0,8 = 370,656

Затраты по заработной плате определяются по формуле:

ФЗП = ФОЗП + ФДЗП (руб.), (5)

где ФОЗП - фонд основной заработной платы;

ФДЗП - фонд дополнительной заработной платы;

ФЗП = 14998,54 +916,3=15914,84 руб.

Фонд основной заработной платы определяется по формуле:

ФОЗП = ФЗП тар. + П (руб.), (6)

где ФЗП тар. - тарифная (прямая) заработная плата;

П - премия.

ФОЗП = 15914,84+1000 =16914,84 руб.

Прямая заработная плата определяется по формуле:

ФЗП тар. = (Ом * tшт.) / (Дм. * d) (руб.), (7)

где Ом - оклад за месяц;

tшт. - затраты времени на разработку этапа программы, час;

Дм. - количество рабочих дней в месяце;

d - Продолжительность рабочего дня.

ФЗП тар1. = (10000 * 12) / (24 * 8) = 625руб.

ФЗП тар2. = (10000* 89) / (24 *8) = 4635,41руб.

ФЗП тар3. = (10000 * 20) / (24*8) = 1041,66руб.

ФЗП тар4. = (10000 *19) / (24*8) = 989,58руб.

ФЗП тар = (10000 * 140) / (24 * 8) = 7291,66руб.

Таблица 5 - Расчет основной заработной платы

Этапы работы

Трудоемкость (час)

Расчет

Затраты (рублей)

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

12

(10000 * 12) / (24 * 8)

625

Разработка приложений

89

(10000* 89) / (24 *8)

4635,41

Отладка приложений

20

(10000 * 20) / (24*8)

1041,66

Выпуск технической документации

19

(10000 *19) / (24*8)

989,58

Итого

140

(10000 * 140) / (24 * 8)

7291,66

Премия рассчитывается от прямого заработка.

П = %П * ФЗП тар. / 100% (руб.), (8)

П = 32* 15914,84/100 = 5092,74 руб.

Фонд дополнительной заработной платы рассчитывается от фонда основной заработной платы и определяется по формуле:

ФДЗП = % ФДЗП * ФОЗП / 100% (руб.), (9)

ФДЗП = 8 * 16914,84/100 = 1353,18 руб.

Страховые взносы (СВ) рассчитываются от суммы фонда основной и фонда дополнительной заработной платы определяются по формуле:

СВ = (ФОЗП + ФДЗП) *СВ%/100% (руб.), (10)

СВ = (16914,84 + 916,3) * 30.2/100 = 5385 руб.

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

Ззп = ФЗП + СВ (руб.), (11)

Ззп = 15914,84 + 5385 = 21299,84 руб.

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

где tоб. - время работы оборудования при составлении программы (час);

Сэ. о. - стоимость часа эксплуатации оборудования.

Зо = tоб. * Сэ. о. (руб.), (12)

Зо = 132 * 2.14 = 282,48 руб.

где tоб. - время работы оборудования при составлении программы (час);

Сэ. о. - стоимость часа эксплуатации оборудования.

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

Сэ. о. = (Цоб. / Т) * tшт. (руб.), (13)

где Цоб. - стоимость оборудования;

Таблица 6 - Стоимость оборудования

Наименование оборудования

Срок эксплуатации

Количество единиц

Стоимость единицы, руб.

Суммарная стоимость оборудования, руб.

Системный блок CoolerMaster

5

1

17000

17000

Монитор LG 21'

6

1

2200

2200

Комплект мышь 4tech X7, клавиатура SpeedLink

1

1

800

800

Windows 8

10

1

1000

1000

ИТОГО:

21000

Т - срок эксплуатации оборудования;

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

Т =tэкс. * Дг. * d (часов), (14)

где tэкс. - количество лет эксплуатации оборудования;

Дг. - количество рабочих дней

Срок эксплуатации системного блока:

Тс. б = 5 * 247 * 8 = 9880 час.

Срок эксплуатации монитора:

Тм. = 6 * 247 * 8 = 11856 час.

Срок эксплуатации мыши и клавиатуры:

Тм. к = 1 * 247 *8 = 1976 час.

Срок эксплуатации оперативной системы:

То. с = 10 * 247 * 8 = 19760 час.

Стоимость часа эксплуатации системного блока:

Сэ. с. б = 15000/9880 = 1,51 руб/час

Стоимость часа эксплуатации монитора

Сэ. м = 2200/11856 = 0,18 руб/час

Стоимость часа эксплуатации мыши и клавиатуры:

Сэ. м. к = 800/1976 = 0,40 руб/час

Стоимость часа эксплуатации операционной системы:

Сэ. о. с = 1000/19760 = 0,05 руб/час

Сэ. o = 1,51+0,18+0,40+0,05 = 2.14 руб/час

Зо1 = 2,14 * 93 = 199,02 руб.

Зо2 = 2,14 * 20 = 42,8 руб.

Зо3 = 2,14 * 19 = 40,66 руб.

Зобщ =199,02 +42,8 +40,66 = 282,48 руб

Таблица 7 - Расчет амортизационных отчислений

Этапы работы

Трудоемкость (час)

Расчет

Затраты (рублей)

Разработка приложений

89

2,14 * 89

190,46

Отладка приложений

20

2,14 * 20

42,8

Выпуск технической документации

19

2,14 * 19

40,66

Итого:

132

190,46+42,8+40,66

273,92

Накладные расходы составляют рассчитываются от основной заработной платы и определяются по формуле:

НР=ФОЗП * %НР/100% (руб.) (15)

НР = 14998,54 * 33/100 = 4949.51 руб.

Сп = 897,54 + 370,656 + 21299,84 + 282,48 + 4949,51 = 27800,02 руб.

Калькуляция себестоимости программы представлена в таблице 5.

Таблица 8 - Калькуляция себестоимости создания сайта

Статьи затрат

Затраты (руб.)

Затраты на материалы, в том числе:

основные материалы;

транспортно-заготовительные расходы.

897,54

869

29,54

Затраты на силовую электроэнергию

370,656

Затраты на заработную плату, в том числе:

фонд основной заработной платы;

фонд дополнительной заработной платы;

страховые взносы

21299,84

14998,54

916,3

5385

Затраты на эксплуатацию оборудования

282,48

Накладные расходы

4949.51

Полная себестоимость

27800,02

Прибыль определяется по формуле:

Прибыль = Сп*%R/100% (руб.), (16)

где %R - рентабельность создания сайта

П = 37177 * 26/100 = 9666 руб.

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

Ц = Сп + Прибыль (руб.) (17)

Ц = 37177 + 9666 = 46843 руб.

4.2 Расчет срока окупаемости системы

Срок окупаемости вычисляется по формуле:

Ток. = К2 - К1/ С2 - С1 (лет) (18)

Ток. = (21000-15000) / ( (37177-20000) * 16) = 0,021

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

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

Q = T/t (руб) (19)

Где t - трудоемкость создания программы, дни;

Т - количество дней работы оборудования в год, дни.

4.3 Анализ действующих цен на рынке

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

Таблица 9 - Цены на создание ПО

Название этапа

Стоимость моей работы

Доля затрат,

%

Стоимость работ фирмы - конкурента (Pushbullet)

руб

Доля затрат

Разработка ПК-клиента

18000

34,93

21000

31,91

Разработка Android-приложения

23000

44,63

33000

50,16

Разработка сервера

4530

8,79

5500

8,36

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

6003

11,65

6300

9,57

Всего за создание ПО

51533

100

65800

100

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

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

5. Охрана окружающей среды и техника безопасности

В помещении, в котором находится электронно-вычислительная техника, должно быть и естественное, и искусственное освещение. Естественным освещением называют свет, проникающий в помещение через светопроемы со стороны севера или северо-востока. Тем самым обеспечивается коэффициент естественного освещения (КЕО) в пределах 1,5 %.

Одно рабочее место для пользователя ПЭВМ должно занимать место, площадью не менее 6,0 кв. м., а объемом не менее 20,0 куб. м.

Материалом внутренней отделки помещения, в котором располагается электронно-вычислительная техника, должен являться любой диффузно-отражающий материал с коэффициентом отражения для потолка - 0,7 - 0,8; для стен - 0,5 - 0,6; для пола - 0,3 - 0,5.

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

Как правило, в помещениях применяется боковое естественное освещение.

При том условии, что одного лишь естественного освещения недостаточно, можно установить совмещенное освещение. Дополнительное освещение (искусственное) будет применяться не только в темное, но и в светлое время суток.

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

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

Поверхности рабочего стола для размещения рабочего документа должна иметь освещенность равную 300 - 500 лк (люкс). Если же установлено местное освещение, оно не должно создавать бликов на поверхности экрана и увеличивать освещенность экрана более 300 лк.

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

Неравномерность яркости в поле зрения электронно-вычислительной техники необходимо ограничивать. Между рабочими поверхностями должно быть соотношения яркости не превышающее 3: 1 - 5: 1, а между рабочими поверхностями и поверхностями стен и оборудования 10: 1.

Для того, чтобы осветить помещение, в котором расположена электронно-вычислительная техника, нужно использовать светильники серии ЛП036 с рефлекторами и укомплектованными высокочастотными пускорегулирующими аппаратами. Применение светильников без рассеивателей и рефлекторов не допускается. Светильники общего освещения должны иметь яркость в зоне углов излучения от 50° до 90° с вертикалью в продольной и поперечной плоскостях. Защитный угол светильников должен составлять не менее 40°.

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

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

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

Схемы размещения рабочих мест ПЭВМ! должны учитывать расстояния между рабочими столами с видеомониторами (в направлении тьма поверхности одного видеомонитора и экрана другого видеомонитора), которое должно быть не мене 2,0 м, а расстояние между боковыми поверхностями видеомониторов - не менее 1,2 м.

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

Экран монитора должен находиться на расстоянии 600 - 700 мм, но не ближе 500 мм с учетом алфавитно-цифровых знаков и символов.

На рис.7 представлена схема расположения рабочих мест.

Рисунок 32. Схема расположения рабочих мест относительно светопроемов:

1 - системный блок; 2 - монитор; 3 - клавиатура; 4 - кресло; 5 - стол; 6 - подставка.

В таблице 10 представлены параметры одноместного стола.

Таблица 10 - Высота одноместного стола для занятий с ПЭВМ и В ДТ

Рост человека в обуви, см

Высота над полом, мм

поверхность стола

пространство для ног, не менее

130

520

400

131-145

580

520

146-160

640

580

161-175

700

640

выше 175

760

700

Заключение

В ходе выполнения дипломной работы были выполнены следующие задачи: получены знания об основных принципах разработки программного обеспечения для ОС Android, таких как xml разметка, принципы работы приложений, особенности работы с мобильными приложениями, работа с TCP-соединением и передачей данных через сеть интернет, разработка сервисов (служб) и задач, выполняемых в фоновом режиме. Целевой платформой была платформа Android версии 4.0.0. Целевым языком для разработки - язык Java версии 1.6. Были закреплены знания о работе с TCP-соединением на языке C#. Изучена разработка асинхронных соединений и асинхронной работы с данными.

Для реализации поставленной задачи были использованы следующие средства: среда разработки Microsoft Visual Studio 2015 Community edition и Android Studio 2.1 В процессе выполнения курсовой работы соответствующая система была разработана и доведена до рабочего, пригодного для эксплуатации, состояния.

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

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

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

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

Список используемых источников

1. Албахари Дж., Албахари Б. C# 5.0. Карманный справочник, 2013 - 288 стр.

2. Брюс Эккель. Филосифия Java 4-е издание, 2014 - 1168 стр.

3. Герберт Шилдт. Java. Руководство для начинающих, 2012 - 624 стр.

4. Дейтел П. Android для разработчиков, 2015 - 384 стр.

5. Джеффри Рихтер. CLR via C#. Программирование на платформе Microsoft.net Framework 4.5 на языке C#.4-е изд., 2016 - 896 стр.

6. Дэвис А. Асинхронное программирование в C# 5.0, 2013 - 120 стр.

7. Крйег Хант. TCP/IP. Сетевое администрирование, 2006 - 816 стр.

8. Мартин Р., Мартин М. Принципы, паттерны и методики гибкой разработки на языке C#, 2011 - 768 стр.

9. Нейгел К., Ивьен Б. C# 5.0 и платформа.net 4.5 для профессионалов, 2014 - 1440 стр.

10. Роберт Лафоре. Ктуры данных и алгоритмы Java, 2013 - 704 стр.

11. Станислав Давыдов, Алексей Ефимов. IntelliJ IDEA. Профессиональное программирование на Java, 2005 - 800 стр.

12. Зигард Медникс, Лайрд Дорнин. Программирование под Android, 2012 - 496 стр.

13. Алексей Голощапов. Google Android. Системные компоненты и сетевые коммуникации, 2013 - 384 стр.

14. Рик Роджерс, Джон Ломбардо. Android. Разработка приложений, 2010 - 400 стр.

15. Тереза Нейл. Мобильная разработка. Галерея шаблонов, 2013 - 216 стр.

16. Виктор Олифер, Наталия Олифер. Компьютерные сети. Принципы, технологии, протоколы: Учеб. пособие - Изд.: Питер, 2016 - 992 стр.

17. Дж. Клейнберг Дж., Е. Тардос. Алгоритмы: разработка и применение. Классика Computers Science - Изд.: Питер, 2016 - 800 стр.

18. Дмитрий Мельников. Системы и сети передачи данных, 2015 - 624 стр.

19. Борис Соболь, Александр Доманин. Сети и телекоммуникации: Учеб. пособие - Изд.: Феникс, 2015 - 192 стр.

20. Энтони Уильямс. Параллельное программирование на C++ в действии. Практика разработки многопоточных программ, 2013 - 672 стр.

21. Многопоточность в C#. 2016. [Электронный ресурс] URL: http://www.albahari.com/threading/ Режим доступа: свободный. Дата обращения: 14.05.2016

22. Алгоритмы и структуры данных. 2016. [Электронный ресурс] URL: http://bourabai.ru/alg/ Режим доступа: свободный. Дата обращения: 14.05.2016

23. Форум программистов. 2016. [Электронный ресурс] URL: http://cyberforum.ru/ Режим доступа: свободный. Дата обращения: 15.05.2016

24. База знаний всех классов и интерфейсов языка Java. 2016. [Электронный ресурс] URL: http://docs. oracle.com/javase/8/docs/api/ Режим доступа: свободный. Дата обращения: 09.05.2016

25. Портал, посвященный IT-сфере. 2016. [Электронный ресурс] URL: http://habrahabr.ru/ Режим доступа: свободный. Дата обращения: 10.05.2016

26. Сеть разработчиков Microsoft. 2016. [Электронный ресурс] URL: http://msdn. microsoft.com/ru-ru/ Режим доступа: свободный. Дата обращения: 10.05.2016

27. Примеры алгоритмов. 2016. [Электронный ресурс] URL: http://programmersclub.ru/lab/ Режим доступа: свободный. Дата обращения: 11.05.2016

28. Портал о разработке для ОС Android. 2016. [Электронный ресурс] URL: http://startandroid.ru/ru/ Режим доступа: свободный. Дата обращения: 13.05.2016

29. Портал, посвященный IT-сфере. 2016. [Электронный ресурс] URL: http://toster.ru/ Режим доступа: свободный. Дата обращения: 13.05.2016

30. Сайт о программировании. 2016. [Электронный ресурс] URL: http://tproger.ru/ Режим доступа: свободный. Дата обращения: 10.05.2016

Размещено на Allbest.ru


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

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