Сервис для совместной работы в режиме реального времени. Клиентская часть

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

Сервис для совместной работы в режиме реального времени. Клиентская часть

 














Сервис для совместной работы в режиме реального времени. Клиентская часть

1.       Основные сведения о предметной области

 

1.1     Актуальность


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

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

В настоящее время информационные технологии интенсивно развиваются и стремительно внедряются в разные сферы человеческой деятельности. Статичный веб меняется на динамичный. Современному пользователю важно получать информацию мгновенно. Для описания многих проектов стандартом становится язык гипертекстовой разметки HTML с таблицами каскадных стилей CSS и языка JS [5]. В связи с быстрым развитием интернет технологий и увеличением скорости доступа, стало возможным создавать и использовать интернет для ранее недостижимого уровня взаимодействия между людьми - видео общения, совместного редактирования документов и больших корпоративных проектов в реальном времени. Уже сейчас Интернет становится лучшей площадкой для организация видеосвязи. Задача упростить разработку совместных проектов сейчас становится всё более востребованной. Давно известно, что команда разработчиков более продуктивна и способна создавать проекты высокой сложности, что пока недостижимо одному разработчику в силу недостатка времени и / или наличия средств. Учитывая, что нынешний потребитель все более требователен к качеству выпускаемого продукта, для написания конкурентных программ, требуется помощь дизайнера, менеджера, верстальщика и многих-многих других. Отсюда необходимость в качественных веб-сервисов, способных в любую минуту предоставить функционал для совместного редактирования кому угодно.

1.2     Критика. Состояние. Проблемы


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

Проверенные решения базирующиеся на устоявшихся технологиях становятся все более тяжелыми и менее удобными. Их архитектура не поспевает за прогрессом и требованиями конечного пользователя. Прежде популярные языки и базы данных вытесняются новыми философиями разработки. Идеи NoSQL и событийно-ориентированного программирования дают новые возможности для создания прикладных программ. В среде веб-разработки - они позволяют убрать грань между различной разработкой на клиенте и сервере. JavaScript стал стандартом де-факто в среде веб-разработки, и развивается семимильными шагами, предоставляя с каждым годом все более новый и совершенный функционал [6]. Вместе с ним развиваются различные фреймворки и готовые решения, такие как jQuery, Angular, KO и пр. Корпорации Microsoft, Google, Yahoo и др. представляют общественности свое видение JS. Отсюда появление трансляторов, таких как CofeeScript, TypeScript и Dart, с улучшенным функционалом для разработки больших высоконагруженных приложений. При этом нативный JS порой позволяет создавать более компактные, быстрые и надежные программы. Именно для него, например, появляются библиотеки «asm.js», от консорциума Mozilla или «Native Client» от Google. Они предлагают различные уровни оптимизации низкоуровневого подмножества JS, тем самым увеличивая скорость выполнения работы веб-скриптов.

1.3     Цель работы


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

1.4     Анализ требований

 

1.4.1  Сравнительный анализ средств решения поставленной задачи

Для выполнения поставленной задачи, следует использовать определенные клиентские и серверные языки. Архитектура веб-приложения должна соблюдать стиль построения REST [7]. На данный момент такими возможностями обладают ASP.NET SignalR и RESTful Web Service. Языков программирования поддерживающих множественные подключения не так много. Это, в первую очередь, такие молодые языки как Erlang, JavaScript, Scala, C#. Язык JS выбран благодаря его событийной модели. Используя её, уменьшается время на тестирование, ведь при правках основная логика работы не ломается, а только добавляются обработчики, и наоборот, обработчики не зависят от изменений сценария.

К клиентским технологиям построения RIA приложения, сегодня принято относить: HTML 5, Flash 11, Silverlight, Java Applet.

Таблица 1.4.1. Возможности современных веб-платформ

Возможности

HTML 4.01

HTML 5

Flash 11

Silverlight 5

Многопоточность

-

+

-

+

Растровая графика

-

+

+

+

Векторная графика

-

+

+

+

Трёхмерная графика

-

+

+

+

Поддержка сокетов

-

+

+

+

Асинхронные HTTP запросы

-

+

+

+

Синхронные HTTP запросы

+

+

+

+


Таблица 1.4.1.1. Возможности современных веб-платформ

Анализ HTTP заголовков запроса

+

+

-

+

Модификация HTTP заголовков запроса

-

+

-

+

Хранилище данных

-

+

+

+

Поддержка cookie

+

+

+

+

Пользовательские шрифты

-

+

+

+

Поддержка аудио

+

+

+

+

Поддержка видео

-

+

+

+

Поддержка доступа к DOM браузера

+

+

-

-

Поддержка исполнения скриптов JS

+

+

+

+

Поддержка вызова кода RIA из JS

-

+

+

+


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

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

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

1.5     Сценарий работы пользователя с системой


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

Рис. 1.5.1. Регистрация пользователя

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

Рис. 1.5.2. Создание нового проекта

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

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

Рис. 1.5.3. Совместная работа над проектом

Рис. 1.5.4. Опции веб-приложения

1.6     Обоснование выбора архитектуры программного изделия


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

Паттерн MVVM делится на три части:

-        Model. Так же, как в классическом паттерне MVC, Модель представляет собой фундаментальные данные, необходимые для работы приложения.

-        View. Так же, как в классическом паттерне MVC, Вид - это графический интерфейс, то есть окно, кнопки и т.п.

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

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


-        Разрабатываемый продукт должен устойчиво функционировать в последних ОС: Windows, MacOS, Ubuntu, а также на Android.

-        Объем оперативной памяти должен составлять не менее 1Гб.

-        Процессор должен быть двухъядерным 1Ггц.

-        На жестком диске зарезервировано не менее 50 мб для организации кэша.

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

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

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

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

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

Движок

Возможности

Gecko

Свободный кроссплатформенный движок вывода веб-страниц для браузера Firefox. На сегодняшний день Gecko работает на всех популярных ОС: Linux, MacOS, FreeBSD, Windows.

WebKit

Свободный движок для отображения веб-страниц, разработанный на основе кода библиотек KHTML и KJS, используемых в графической среде KDE.


Таблица 1.7.2. Системные требования для работы веб-приложения

Наименование

Мобильный компьютер

Настольный компьютер

Операционная система

Android 4;

Windows Vista и выше; Ubuntu Linux 12.04 и выше; Mac OS X 10.7 и выше

Центральный процессор

Двухъядерный ARM-совместимый 1 ГГц

Двухъядерный X86-совместимый 2 ГГц

Объем оперативной памяти

1024 Мб

Объем энергонезависимой памяти

50 Мб

Устройства ввода

Клавиатура, мышь или сенсорный экран

Браузер

Google Chrome или Safari или Firefox

Веб-камера

1.2 Мпикс

Сеть

10 МБ/с


2.       Описание предметной области

 

2.1     Основные черты веб-приложения


Проект использует наработки дизайнерского языка «Modern UI» от компании Microsoft, ориентированного на типографское оформление интерфейса пользователя. Вместе с ним, некоторые стили заимствуют идеи Twitter Bootstrap. Основными принципами Metro является акценты на хорошей типографике и крупный текст, который сразу бросается в глаза. Палитра состоит из неярких, но оригинальных и запоминающихся цветов. Основной чертой проекта является очень маленький размер и быстрая работа.

2.2     Современное положение дел в отрасли


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

На сегодняшний день программы такого рода исповедуют разную философию разработки. Контроль изменений версий, вносимых редакторами варьируется от сервиса к сервису. Одними из таких систем являются Wiki-движки и EtherPad редакторы. Такие проекты как Wikipedia уже давно заняли особую нишу, и их относят к Web 2.0. В проектах использующих Wiki-разметку каждое изменение документа осуществляется при однократном сохранении. При этом могут возникнуть конфликты, когда несколько пользователей начали редактировать документ, и каждый внес свое изменение. EtherPad редакторы позволяют видеть происходящие изменения без перезагрузки страницы. Используя автоматическое сохранение при изменении содержимого, тем самым кардинально решая вопрос о синхронизации и конфликтов данных.

2.3     Обзор аналогов

 

2.3.1  Cloud 9

Интегрированная среда разработки, основанная на текстовом редакторе Ace. Поддерживается работа с PHP, ruby, python, node. Развертывание приложений осуществляется с помощью Windows Azure или Heroku.

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

Рис. 2.3.1. Node проект в Cloud 9

К недостаткам Cloud 9 можно отнести малофункциональный терминал и ограниченное количество частных проектов в бесплатной версии. Большим преимуществом веб-сервиса является современный интерфейс, поддержка новейших ЯП и фреймворков, таких как Ruby on Rails, Python Django и др.

2.3.2  Google Apps Script

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

Рис. 2.3.2. Скрипт в Google Apps Script

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

2.3.3 
JsFiddle

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

Поддерживаемые фреймворки: Mootools, Prototype, ExtJS, ThreeJS и др. «jsFiddle» все еще находится в альфа тестировании. Проект бесплатен, имеет высокий порог входа.

Рис. 2.3.3. Окно jsFiddle

2.4     Уникальность разрабатываемого проекта


Продукт разрабатывается на основе новейших ЯП, NoSQL и использует богатые возможности HTML5. Благодаря новейшим спецификациям современных браузеров, веб-приложение передает веб-клиенту необходимую часть пользовательского интерфейса, оставляя большую часть данных, таких как ресурсы программы на сервере. Это позволяет клиенту не загружать целиком веб-приложение сразу, а загружать только те участки кода, которые ему необходимы в данный момент. Таким образом, получается высокая загрузка приложения, где критичное взаимодействие с приложением обрабатывается удаленным сервером.

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

Рис. 2.4.1. Модель RIA

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

Преимуществом такого подхода является:

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

-        Быстрое обновление и распространение приложения;

-        Автоматическое обновление версий;

-        Пользователи могут пользоваться приложением на любом компьютере, имеющем соединение с Интернетом, причем неважно, какая ОС на нем установлена. Вся необходимая отрисовка и логика происходят в браузере;

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

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

-        Новая парадигма веб-страниц. Традиционные веб-приложения представляли из себя набор веб-страниц, каждая из которых требует отдельного скачивания, инициированного запросом HTTP GET. RIA вносит дополнительный сервер асинхронной коммуникации, позволяя тем самым добиться плавного интерактивного интерфейса.

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

 

2.5.1  Microsoft Windows 8

Для среды разработки используется операционная система Windows 8 Professional.

2.5.2  JetBrains WebStorm 6

JetBrains WebStorm - кроссплатформенная ИСР на JavaScript, CSS и HTML от компании JetBrains. Разработана на основе платформы IntelliJ IDEA, которая прежде использовалась в качестве плагина в ИСР Visual Studio. Программа включает в себя набор всех необходимых компонентов для создания интерактивных веб-сайтов. Имеется поддержка расширяемых плагинов и встроенная возможность отладки кода.

Отличительными возможностями WebStorm от других ИСР является удобная система лицензирования и невысокая цена. В WebStorm 6 встроена система LiveEdit - позволяющая одновременно при редактировании видеть, как результат отображается в браузере.

Рис. 2.5.1. Открытый проект в WebStorm 6

6 включает встроенный HTTP-сервер для статических файлов, поддержку функций контроля версий, глубокую интеграцию с GitHub, осуществляет развертывание и синхронизацию проектов через протокол FTP (протокол передачи файлов). Интерфейс программы использует типичный интерфейс в стиле Visual Studio или NetBeans. Программа использует концепцию удаленного добавления популярных библиотек. Таким образом, можно всегда установить последние обновления библиотек, или обновить компилятор.

2.5.3 
Google Chrome

Google Chrome - широко используемый браузер от корпорации Google основанный на свободном браузере Chromium. На начало 2013 года является лидером по количеству пользователей в русском сегменте интернета. Присутствует удобный режим отладки клиентского кода.

Рис. 2.5.2. Debug панель в Google Chrome

2.6     Выбор языка программирования

 

2.6.1  HTML 5

Пятая версия гипертекстовой разметки. Открытая платформа, предназначенная для создания совершенно новых, более качественных веб-приложений. Семантика дает представление о структуре документа и позволяет более полно управлять данными. В HTML 5 по сравнению с HTML 4.01 добавлено множество новых семантических тегов, а также микроформатов и микроданных. Разработка HTML 5 была начата W3C в 2004 году. Окончательная спецификация вышла в 2012 году. Отдельно стоит заметить, что старые браузеры не поддерживают новую технологию. К ним можно причислить: браузеры основанные на WAP 1.2, Opera 11, Firefox 3, Internet Explorer 9 и ниже.

2.6.2  CSS 3

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

2.6.3  ECMAScript 5

ECMAScript - это официальный стандарт языка JavaScript [8]. Используемая редакция стандарта ECMA-262 утверждена в 2009 году. JS обладает рядом возможностей динамического связывания, что роднит его с языками Ruby и Python.

JS сочетает в себе несколько парадигм программирования:

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

2.       Объектно-ориентированное программирование. ООП представляет все экземпляры того или иного класса в виде объектов. Объект абстрагируется от субъекта, соединяя внутри себя как данные, так и методы. ООП поддерживает такие возможности как наследование, инкапсуляцию и полиморфизм. Парадигма ООП в JS наиболее полно соответствует языкам C# и Java.

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

4.       Функциональное программирование. Функциональное программирование основано на лямбда-исчислении Черча. Функциональное программирование обладает следующими двумя примечательными свойствами:

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

-        Настраиваемость. Любой программный объект является выражением.

JS состоит из 3-х отдельны частей:

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

2.       Document Object Model. DOM - это специальная, языково-независимая интерфейсная модель разбора XML и HTML документов. DOM представляет документ как иерархию узлов. На данный момент последней версией является DOM Level3. Спецификация этой модели состоит из трех частей: DOM3-ASLS, DOM3-Core, DOM3-Events, DOM3-XPath. JS имеет прямую модификацию DOM структуры.

Рис. 2.3.3. Дерево DOM проекта

3.       Browser Object Model. BOM - Объектная модель браузера набор объектов, описывающих содержимое документа. В отличие от DOM, объектная модель браузера содержит набор объектов связанных непосредственно с браузером, объектов позволяющих управлять окнами (открывать, перемещать, менять размер, закрывать), строкой состояния браузера, cookie и т.п.Worker

Технология позволяющая выполнять JS в фоновом режиме, предназначенная для создания многопоточных приложений. Позволяет воспользоваться преимуществами многоядерных архитектур. Использование Web Worker ограничено. Так, Web Worker не имеет доступа к DOM, объектам window, document, parent.

AJAX

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

WS - следующий эволюционный шаг в мире веб-коммуникаций после технологий Comet и Ajax. Стандарт хорошо подходит для реализации двунаправленной веб-коммуникации и управлениями подключениями, позволяя в реальном времени получать информацию с наименьшими задержками.Object Notation - формат обмена данными, основанный на подмножестве JS. JSON полностью независим от языка реализации и, в отличие от XML, более компактен и легко читаем человеком.

JSON основан на следующих структурах:

-        Коллекция пар ключ / значение;

-        Упорядоченный список значений.RTC- проект с открытым исходным кодом, предназначенный для организации передачи потоковых данных между браузерами или другими поддерживающими его приложениями по технологии точка-точка [9]. В WebRTC в качестве данных могут использоваться абсолютно любые данные. В качестве передачи мультимедиа, выступают GIPS и Vorbs аудиокодеки, а также видеоформат VP8 (WebM).

WebM

Это открытый формат мультимедиа, представленный компанией Google в 2010 года. Формат основан на открытом видеокодеке VP8, аудиокодеке Vorbs и подмножестве медиаконтейнера Matroska. Новый формат вместе с VP8 призван заменить проприетарный стандарт H.264/MPEG-4. Поддержка формата уже осуществлена в браузерах Google Chrome, Mozilla Firefox и Opera.

2.7     Используемые библиотеки


В роли библиотеки реализующий паттерн MVVM, выбран knockout.js. Обладая небольшим размером, она использует все последние преимущества языка JavaScript, а также имеет бесплатную неограниченную лицензию MIT. Что делает ее выбор ещё более оправданным, с точки зрения дальнейшей поддержки.

Графический интерфейс сайта использует наработки корпорации Microsoft в области создания современных интерфейсов. Их «Style UI» отлично себя показал в Windows 8 и Windows Phone 8 и был хорошо принят общественностью. Благодаря использованию такого стиля, веб-приложение имеет удобное и наглядное интуитивное управление.        В качестве шаблона, была взята бесплатная библиотека «Metro Style UI» от российского дизайнера.

Роль библиотеки для работы с текстом выполняет codemirror.js. Это по сути полноценный онлайн-редактор исходного кода с подсветкой синтаксиса.

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

В веб-приложении используется технология WebRTC, которая в будущем позволит воспользоваться видео связью просто имея последнюю версию веб-браузера на любом устройстве подключенного к интернету. Библиотека реализующая данную технологию носит название «WebRTC.io». Эта технология быстро развивается и поддерживается такими именитыми компаниями как Opera, Google, W3C. Благодаря BSD лицензии, создаваемое веб-приложение может принять коммерческий характер [10].

Большинство графических ресурсов являются отдельными векторными CSS или SVG файлами, лицензии которых MIT или GNU GPLv2.

2.7.1  Npm

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

2.7.2  Webrtc.io

Реализация технологии WebRTC для node. Предоставляет абстрактный слой для WebRTC. Проект носит экспериментальных характер, предоставляя функциональность технологии WebRTC рассылки через WebSockets.

2.7.3 
Knockout.js

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

KO Реализует:

-        Механизм привязки свойств DOM-элементов к полям ViewModel.

-        Идентифицирует целевое свойство через свои встроенные привязки.

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

Паттерн опубликовать-подписаться определяет интерфейс «Подписки». Объекты - подписчики реализуют этот интерфейс и динамически регистрируются для получения информации о некотором событии.

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

Возможности KO:

-        Ленивая загрузка данных - подгрузка данных происходит дополнительным Ajax-запросом уже после загрузки страницы.

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

-        Совместимость с другими библиотеками. KO совместим с любой другой JS-библиотекой или ее плагином.

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

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

-        Расширяемость. Можно создавать нестандартные привязки.

-        Совместимость. KO позволяет работать с любыми клиентскими и серверными технологиями.

-        Компактность. Размер библиотеки 30Кб без сжатия.

-        Кроссбраузерность - полноценная работа в IE 7, Firefox 3, Chrome 12, Safari 5.

-        Хорошая документация.

HTML5 Boilerplate

Это базовый HTML/CSS/JS шаблон, ориентированный на быстрое развертывание сайта. Содержит необходимый набор для кросс-браузерной совместимости, настройки производительности, кросс-доменных Ajax запросов и др. Его использование позволяет полноценно использовать воедино современные технологии, не обращая внимания на различия в браузерах.

3.       Описание разработанной системы

 

3.1     Принципы функционирования и модель архитектуры системы


Рис. 3.1.1. Принцип функционирования системы

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


Передача видео данных происходит через сервера STUN. STUN позволяет клиентам NAT устанавливать сеансы связи с провайдером VoIP, находящимся за пределами локальной сети.

В качестве основного сервера STUN выступает stun.l.google.com.

3.3     Организации P2P связи.


Алгоритм работы WebRTC:

-        new PeerConnection(): Новый пользователь.

-        Участник дает доступ к своей камере, после чего происходит запись видео потока. Видео кодируется в формат WebM.

-        (new, remote candidates received): Проверка на наличие приемщика данных. На этом этапе браузеры обмениваются разными сообщениями чтобы узнать, как связаться друг с другом. В сообщениях типа candidate приходят разные варианты, в том числе полученные от STUN сервера.

-        (checking, found usable connection): Клиент подключен. Формируется уникальный идентификатор (GUID) который передается на сторонние серверы и посредством RTCPeerConnection формируется связь между браузерами напрямую. Воспроизведение данных происходит с использованием тега <video>.

-        (checking, gave up): Ошибка. Приемщик не найден.

-        (connected, finished all checks): Звонок завершен. При удачном выполнении, в ответ приходят сообщения от другого браузера.

-        (connected, lost connectivity): Отключение. Нормальное закрытие туннеля.

-        (any state, ICE restart occurs): Новое подключение происходящее при перезагрузке сокетов.

-        Close(): Закрытие браузера и остановка P2P передач.

3.4     Передача текста


3.4.1  Принцип организации пользовательского интерфейса

При первоначальном входе на сайт:

-        Регистрация. Требуется ввести уникальный логин и пароль

-        Вход через аккаунт

Если пользователь уже зарегистрирован, тогда его переключают на собственную «стену».

Возможности «стены»:

-        Создание документа

a.       Приватный

b.       Публичный

-        Удаление документа

-        Пересылка документа

Правая боковая панель содержит пункты:

-        Сохранение

-        Отправка ссылки

-        Закрытие проекта

-        Создание видео чата

-        Завершение видео чата

4.       Описание модулей


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

.         Определение пользовательского интерфейса.

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

.         Модули обмена данными.

.         Модуль управления содержимым.

.         Модуль привязки данных.

4.1     Пользовательский интерфейс


Просмотр проекта осуществляется с помощью сочетания клавиш «CTRL+F5». При этом боковые панели становятся скрыты. Центральная область становится полупрозрачной.

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

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

Отрисовка пользовательского интерфейса формируется автоматически браузерным движком, который самостоятельно интерпретирует разметку HTML. Передача картинок осуществляется через команду IMG, видеопоток через VIDEO. С помощью глобального объекта window, содержащего данные о окне браузера, происходит редактирование любого элемента DOM.

Методы Window

close

-

- Закрывает текущее окно.

focus

-

- Выводит окно на передний план.

open

-

Открывает новое окно.


Свойства Window

parent

-

- Возвращает данные о непосредственном родители текущего окна.

name

-

- Устанавливает, либо возвращает имя окна.

frames

-

Содержит список iframe.

opener

-

- Возвращает ссылку на окно предка, которое открыло данное окно.

closed

-

- Возвращает логическое значение в зависимости от того, закрыто указанное окно или отрыто.

history

-

- Позволяет переходить на страницы в истории браузера.

top

-

- Ссылка на верхнее окно в иерархии фреймов.

location

-

- Получает, либо устанавливает URL окна и его компоненты.


4.2     Описание модуля обмена данными


События WS

Open

-

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

Message

-

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

Error

-

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

Close


- Закрывает текущее подключение.


Методы WS

Send

-

Передача данных используя текущее соединение.

Close

-

Отключение коммуникации.


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

4.3     Описание модуля управления содержимым


Методы

updatePreview

-

Рисует содержимое каждые 300 мс.

CodeMirror.commands.save

-

Сохранение документа в LocalStorage.

InsertProjectText

Получает выделенных данных о курсоре на форме.


События

change

-

Событие изменение содержимого одной строки

viewportChange

-

Событие возникающее при переходе из одной строки в другую

cursorActivity

-

Событие возникает при изменении активности курсора

delete

-

Возникает при удалении строки

clear

-

Происходит при очистке документа

redraw

-

Событие перерисовки экрана

 

4.4     Описание модуля привязки данных


В проекте используется базовый уровень связывания данных модели представления с целевыми элементами. Проект не использует собственных шаблонов привязок, ввиду наличия всех необходимых встроенных привязок, присутствующих в KO. В проекте используется такая привязка как value, применимая ко многим типам HTML-элементов: input, textbox, radiobutton. Для многих из них используются встроенные источники привязки: «value» и «text». Также в проекте используется связывание с событиями. KO реализует специализированные встроенные привязки click и submit и др.

4.5     Модуль WebRTC.io


Модуль WebRTC реализует методы:

-        getUserMedia (MediaStream) - использует захват видео потока в браузере.

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

-        RTCDataChannel: необходим для обмена различными данными, текстом, бинарными данными и другими.

5.       Безопасность и санитарно-технические условия труда на рабочем месте программиста


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

5.1     Характеристика рабочего места разработчика ПО


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

Таблица 6.1.1. Характеристики помещения

№ п.п.

Наименование характеристики

Значение параметра

1

Ширина

7 м.

2

Длина

10 м.

3

Высота потолка

3 м.

4

Площадь помещения

70

5

Объем помещения

210

6

Количество рабочих

8 чел

 

5.2     Требования к помещениям для рабочих мест с ПК


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

5.3     Расчет параметров микроклимата


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

Микроклимат производственного помещения определяется:

-        Температурой;

-        Относительной влажностью;

-        Скоростью движения воздуха.

Исходные данные для расчета параметров микроклимата в холодный период времени представлены в таблице 6.3.1.

Таблица 6.3.1. Исходные данные для расчета параметров микроклимата в холодный период времени

Величина

Значение

Производительность системы вентиляции L,

800

Удельная теплоемкость воздуха С, кДж/(кг*град)

1

Плотность воздуха p, кг/

1,425

Площадь окон или ограждения помещения ,

14

Коэффициент теплопередачи К, кДж/()

8

Температура наружного воздуха , град

-30

Температура приточного воздуха , град

23

Площадь сечения воздухораспределителя  

0,13

Количество воздухораспределителей n

6

Относительная влажность W, %

54


Нормируемые оптимальные параметры микроклимата представлены в таблице 6.3.3.

Таблица 6.3.3. Нормируемые оптимальные параметры микроклимата

Вариант

Период года

Категория

Параметры микроклимата




Температура воздуха t,

Относительная влажность W, %

Скорость движения воздуха V, м/с

10

Холодный

Тяжелая 3

16-18

40-60

0,3


Исходные данные для расчета параметров микроклимата в теплый период времени представлены в таблице 6.3.4.

Таблица 6.3.4. Исходные данные для расчета параметров микроклимата в теплый период времени

Величина

Значение

Производительность системы вентиляции L,

1286,6

Избыточная теплота в помещении , кДж/ч

2500

Удельная теплоемкость воздуха С, кДж/(кг*град)

1

Плотность воздуха p, кг/

1,181

Площадь окон или ограждения помещения ,

14

Коэффициент теплопередачи К, кДж/()

23

Наружная температура воздуха , град

29

Площадь сечения воздухораспределителя  

0,22

Количество воздухораспределителей n

4

Относительная влажность W, %

48


Таблица 6.3.5. Нормируемые оптимальные параметры микроклимата

Вариант

Период года

Категория

Параметры микроклимата




Температура воздуха t,

Относительная влажность W, %

Скорость движения воздуха V, м/с

10

Теплый

Тяжелая 3

18-20

40-60

0,4


В таблице 6.3.6 приведены полученные результаты после обработки исходных данных программным пакетом «Расчет параметров микроклимата».

Таблица 6.3.6. Результаты системы воздушного отопления для холодного периода года

Проверка параметров системы при наружной температуре ℃

-30

Параметры микроклимата

Расчет (было / стало)

Нормативные значения

Температура воздуха в помещении, ℃

6,7/18,3

18

Скорость движения воздуха, м/с

0,4/0,28

0,3

Относительная влажность, %

54/54

40-60

Количество воздухораспределителей

Стало

6


Изменение параметров системы или дополнительные мероприятия:

Для обеспечения оптимизации было увеличено количество воздухораспределителей с 4 до 6 и уменьшены теплопередачи за счет установки тройных стеклопакетов


Таблица 6.3.7. Результаты системы водяного отопления для холодного периода года

Подбор параметров системы при наружной температуре ℃

-30

Характеристики системы

Система водяного отопления альтернативная воздушному отоплению

Необходимая теплопроизводительность, кДж/ч

6451,2

Коэффициент теплопередачи радиатора кДж/()

33

Площадь поверхности нагрева радиатора,

1,3

Средняя температура теплоносителя, град.

90

Необходимое количество радиаторов

Целое число

2


Таблица 6.3.8. Результаты системы воздушного отопления для теплого периода года

Проверка параметров системы при наружной температуре ℃+

29

Температура в помещении без СКВ

30,4

Норма температуры

18

Температура в помещении с СКВ

18

Корректированная производительность СКВ,

1286,6

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

14

Количество воздухораспределителей после корректировки производительности

4



Таблица 6.3.9. Разность температур при изменении производительности

41,1

31,7

26,9

24

22

20,5

19,4

17,8

14,5

200

300

400

500

600

700

800

1000

2000


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

5.4     Вредные вещества и воздухообмен


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

Таблица 6.4.1. Уровни ионизации

Уровни

Число ионов в 1  воздуха


п+

п-

Минимально необходимые

400

600

Оптимальные

1500-3000

3000-5000

Максимально допустимые

50000

50000


Для нормализации воздушной среды производится расчет воздухообмена в помещении. Согласно санитарным нормам проектирования СН 245-71 в производственных помещениях с объемом на одного работающего менее 20 следует проектировать подачу наружного воздуха в количестве не менее 30 на каждого работающего, а в помещениях с объемом на одного работающего более 20 - не менее 20 на каждого работающего. В помещениях с объемом на каждого работающего более 40 при наличии окон и при отсутствии выделения вредных и неприятно пахнущих веществ допускается предусматривать периодически действующую естественную вентиляцию (открывание створок переплетов окон).

5.5     Требование к шуму и вибрации


Вибрация, инфразвук и ультразвук в помещении отсутствуют. Источниками шума являются работающие компьютеры и периферийные устройства, промышленные предприятия, объекты городского коммунального и складского хозяйства, движущиеся суда, строительные площадки. Шум транспортных потоков зависит от их состава, интенсивности и скорости движения транспорта. Основными источниками внешнего шума от промышленных предприятий являются открытые площадки, здания цехов. Согласно ГОСТ 12.1.003 - 89 ПДУ звука составляет 50 дБА. В таблице 6.5.1 приведены варианты работы и нормативные уровни для расчета внешнего шума.

Таблица 6.5.1. Вариант работы

Назначение района застройки

Нормативные уровни звука, дБА


День с 7 до 23 ч

Ночь с 23 до 7 ч

Проектируемый жилой район

55

45


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

Таблица 6.5.2. Полученные результаты расчета уровней звука в зоне застройки, дБА

Величина

Дневное время

Ночное время

Нормативный уровень звука

55

45

Уровень звука без средств его уменьшения

60,711

75,4

Уровень звука в случае применения средств

37,6

42,8


Таблица 6.5.2. Полученные результаты расчета уровней звука в зоне застройки, дБА

Ценовые баллы комплексов средств уменьшения шума:

100, 300, 150, 20, 100

Состав принятого комплекса средств

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

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

1570


5.6     Обоснование системы освещения, расчет осветительной установки


Помещения с ПК должны иметь естественное и искусственное освещение. Естественное освещение должно осуществляться через световые проемы, ориентированные преимущественно на север и северо-восток и обеспечить коэффициент естественной освещенности (КЕО) не ниже 1,2% в зонах с устойчивым снежным покровом и не ниже 1,5% на остальной территории. Искусственное освещение в помещениях эксплуатации ВДТ и ПЭВМ должно осуществляться системой общего равномерного освещения. В производственных и административно - общественных помещениях, в случаях преимущественной работы с документами, допускается применение системы комбинированного освещения (к общему освещению дополнительно устанавливаются светильники местного освещения, предназначенные для освещения зоны расположения документов). Освещенность на поверхности стола в зоне размещения рабочего документа должна быть 300-500 лк. Следует ограничивать прямую блескость от источников освещения, при этом яркость освещения поверхностей (окна, светильников и др.), находящихся в поле зрения, должна быть не более 200 кд/.

Показатель ослепленности для источников общего искусственного освещения в производственных помещениях должен быть не более 20, показатель дискомфорта в административно - общественных помещениях не более 40. Следует ограничить неравномерность распределения яркости в поле зрения пользователя ПК, при этом соотношение яркости между рабочими поверхностями не должно превышать 3:1 - 5:1, а между рабочими поверхностями и поверхностями стен и оборудования 10:1.

В качестве источников света при искусственном освещении должны применяться преимущественно люминесцентные лампы типа ЛБ. При устройстве отраженного освещения в производственных и административно-общественных помещениях допускается применение металлогалогенных ламп мощностью до 250 Вт. Допускается применение ламп накаливания в светильниках местного освещения. Общее освещение следует выполнить в виде сплошных или прерывистых линий зрения пользователя при рядном расположении ПК. При периметрическом расположении компьютеров линии светильников должны располагаться локализовано над рабочим столом ближе к его переднему краю, обращенному к оператору. Яркость светильников общего освещения в зоне углов излучения от 50 до 90 градусов с вертикалью в продольной и поперечной плоскостях должна составлять не более 200 кд/, защитный угол светильников должен быть не менее 40 градусов. Коэффициент запаса (Кз) для осветительных установок общего освещения должен приниматься равным 1,5. Коэффициент пульсации не должен превышать 5%, что должно обеспечиваться применением газоразрядных ламп в светильных общего и местного освещения с высокочастотными пускорегулирующими аппаратами (ВЧ ПРА) для любых типов светильников.

При отсутствии светильников с ВЧ ПРА лампы многоламповых светильников или рядом расположенные светильники общего освещения следует включать на разные фазы трехфазной сети. Для обеспечения нормируемых значений освещенности в помещениях использования ВДТ и ПЭВМ следует проводить чистку стекол оконных рам и светильников не реже 2-х раз в год и проводить своевременную замену перегоревших ламп.

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

h = h - hc - hp,

где h - высота помещения, м; hc - расстояние от потолка до светильника, м; hp - высота рабочей поверхности, равная 0,8 м.

Расчетная высота подвеса:

h = 2,5 - 0,35 - 0,8 = 1,35 (м).

Индекс помещения вычисляется по формуле:

i = (A*B)/(h*(A+B))

А - длина помещения, м; В-ширина помещения, м; h - расчетная высота подвеса светильника, м.

Индекс помещения:

i = (2*4)/(1,35*(2+4)) = 0,99

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

Таблица 6.6.1. Исходные данные для расчета освещения

Наименование

Обозначение

Величина

Нормированная освещенность Коэффициент запаса Коэффициент неравномерности освещения

Енк Кз Z

300 лк 1,5 1,1


Таблица 6.6.2. Исходные характеристики светильника

Характеристики светильника:

Тип


Вид КСС Число ламп Мощность одной лампы КПД Габаритные размеры: Длина Ширина Высота

ЛСПО2 Д n Р А В Н

 2 40 Вт 45%  1234 мм 275 мм 156 мм


Таблица 6.6.3. Характеристики помещения

Характеристики помещения:

Тип


Длина Ширина Высота Коэффициент отражения: - от потолка - от стен - от рабочей поверхности

А В Н  Рп Рс Рр

4 м 2 м 2,5 м  50% 50% 10%


На экономичность и равномерность общего освещения оказывает влияние отношение расстояния между рядами соседних светильников L1 к высоте их подвеса

λ = L1/h.

Оптимальное значение этого отношения зависит от типа светильника и его КСС и определяется из справочных таблиц. Расстояние крайних светильников от стен L2 следует принимать в пределах /0,3 - 0,5/ L1.

Коэффициент использования светового потока: h = 1,35

Число светильников в осветительной установке в соответствии с формулой:

N = (300*8*1,5*1,1)/(2*0,84*3000) = 0,79

Оптимальное отношение между рядами светильников к расчетной высоте подвеса: λ=1,5.

Рекомендуемое расстояние между рядами:

L1 = 1,5*1,35 = 2,025 (м)

Рекомендуемое расстояние от крайних светильников до стен:

L2 = 0,4*2,025 = 0,81 (м)

Расстояния между светильниками в ряду:

D = (А-2 * а-2 * L2) = (4-2 * 1,234-2 * 0,81) = 1,24 (м)

Т.к. количество ламп в ряду равно 2-м, то расстояние между светильниками в ряду = D: 2 = 2,48 м.

Из конструктивных соображений допускается изменять количество светильников в осветительной установке. При этом фактическое число светильников Nф не должно отличаться от расчетного N, не менее -10% и более +20%. В данном помещении число светильников составило 1,1 шт., что соответствует данному условию. При эксплуатации установок искусственного освещения необходимо регулярно производить очистку светильников от загрязнений, своевременную замену перегоревших или отработавших свой срок службы ламп, контроль напряжений в осветительной сети, регулярную окраску или побелку стен и потолка. Периодически, но не реже одного раза в год, должен проводиться контроль освещенности на рабочих поверхностях с помощью фотоэлектрических люксметров Ю-116, Ю-117 и др.

5.7     Обеспечение электрической безопасности


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

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

Значение силы тока, проходящего через организм человека, зависит от напряжения, под которым находится человек и от сопротивления участка тела, к которому приложено это напряжение. Учитывая, что большинство поражений происходит при напряжении 127, 220 и 380В, а пробой кожи начинается при напряжении 40-50 В, в качестве безопасного напряжения переменного тока в нашей стране выбрано 42 В, 110 В для постоянного тока.

Таблица 6.7.1. Общие исходные данные. Задача 1

Фазное напряжение Uф, В

220

Линейное напряжение Uл, В

380

Частота тока f, Гц

50

Время действия тока t, с

1

Допустимый ток через человека Iч.д.

0,05

Допустимое напряжение Uпр.д.

50

Сопротивление человека Rч

2500



Таблица 6.7.2. Исходные данные. Задача 2

Сопротивление рабочего заземления нейтральной точки (НТ) трансформатора Rо (Лист 3), Ом

4

Сопротивление человека Rч (Лист3), Ом

1500

Сопротивление обуви Rоб (Лист4, табл. 3), Ом

1500

Сопротивление пола Rп (Лист4, табл. 3), Ом

3000


Таблица 6.7.3. Задача №1а. Двухфазное прикосновение человека

Ток, проходящий через человека Iч, А

0,152

Допустимый ток Iчд, А

0,05

Напряжение прикосновение Uпр, В

380

Допустимое напряжение Uпрд, В

50

Таблица 6.7.4. Задача №1б. К фазе и к нулевому проводу

Ток, проходящий через человека Iч, А0,088


Допустимый ток Iчд, А

0,05

Напряжение прикосновение Uпр, В

220

Допустимое напряжение Uпрд, В

50

Таблица 6.7.5. Задача №2. Однофазное прикосновение человека к фазе

Ток, проходящий через человека Iч, А0,037


Допустимый ток Iчд, А

0,05

Напряжение прикосновение Uпр, В

55

Допустимое напряжение Uпрд, В


5.8     Обеспечение пожарной безопасности


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

 = (1,27…1,37)*

 - номинальное значение тока в приборе.

 = (1,27…1,37)*8,3А=(10,04…11,37) А

Обозначение предохранителя содержит тип, номинальную длину, номинальный ток (ГОСТ). Для защиты исполнительного механизма используются предохранители СП ГОСТ 5010-53 на ток 15А. Пожарная безопасность помещений, имеющих электрические сети, регламентируется ГОСТ 12.1.033-81, ГОСТ 12.1.004-85.

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

Для соблюдения теплового режима в корпусе ЭВМ предусмотрены вентиляционные отверстия и охлаждающий вентилятор. Внутренний монтаж выполнен проводом с повышенной теплостойкостью. Основываясь на примере нормы первичных средств пожаротушения на предприятиях, в помещениях, оборудованных ПЭВМ, площадью до 100  достаточно одного порошкового огнетушителя марки ОП-2 (ОП-5) или одного углекислотного огнетушителя марки ОУ-2 (ОУ-5).

Пожарная безопасность объекта обеспечивается:

-        Системой предотвращения пожара;

-        Системой противопожарной защиты;

-        Организационно-техническими мероприятиями.

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

5.9     Мероприятия для отдыха после компьютера


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

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

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

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

Проведенные исследования показывают, что безопасность и санитарно-гигиенические условия труда на рабочем месте пользователя в целом соответствуют установленным в СанПиН 2.2.2/2.4.1340-03. Электрическая сеть в помещении оснащена устройствами защитного отключения. Данное помещение полностью соответствует всем требованиям по электробезопасности, а также всем правилам пожарной безопасности.

Заключение


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

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

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

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

Проведенные результаты исследования:

-        Рассмотрен шаблон проектирования MVVM и описан вариант его работы и необходимость в данном проекте.

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

-        Исследованы возможности JavaScript библиотек: KO, codemirror, WebRTC.io.

-        Проведен анализ языка HTML5, CSS3 и описаны их возможности: просмотр видео, History API, WebSockets, Ajax, WebRTC и многопоточных приложений с использованием Web Workers.

-        Произведен краткий анализ клиент-серверных протоколов, включая P2P сетей.

-        Рассмотрены форматы хранения данных (WebM, JSON).

-        Сравнение возможностей различных RIA (Flash, Silverlight, HTML5).

Автором выявлены и проанализированы следующие проблемы:

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

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

Перспективы дальнейшего улучшения веб-приложения:

-        Улучшение технической поддержки

-        Раскрутка проекта и поиск инвесторов

-        Улучшения пользовательского функционала

-        Внедрение новейших широко используемых языков программирования

-        Разработка эффективных техник управления содержимым.

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

Итогом дипломного проекта служит разработанный программный продукт позволяющий в реальном времени работать над проектами: править документы, запускать их, и в то же время общаться между участниками. Продукт исправно работает в браузерах: Google Chrome 27, Mozilla Firefox 20 и Opera 15.

Список источников

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

1.   Коллективный блог, связанный с информационными технологиями: habrahabr.ru

2.       Система вопросов и ответов о программировании: stackoverflow.com

3.       URL: http://ru.wikipedia.org/wiki/Управление_проектами

.         URL: http://www.tiobe.com/content/paperinfo/tpci/index.html

5.       Дэвид Флэнаган. JavaScript. Подробное руководство. Отсутствие блочной области видимости

6.       Cesare Pautasso; Olaf Zimmerman; Frank Leymann RESTful Web Services vs. Big Web Services: Making the Right Architectural Decision

.         URL: http://javascript.ru/ecma

.         URL: http://www.webrtc.org/reference/architecture

.         URL: http://habrahabr.ru/post/46329/

.         URL: http://base.consultant.ru/cons/cgi/online.cgi? req=doc; base=LAW; n=120902; fld=134; dst=100006; rnd=0.3447937252931297

.         URL: http://www.techrepublic.com/blog/tablets/a-nail-in-the-html5-coffin/2316

12.     Дэвид Хэррон «Node.js Разработка серверных веб-приложений на JavaScript», - ДМК Пресс, 2012.

.         Джон Ресиг, «Секреты джаваскриптного ниндзи», - Manning publications, 2009.

.         Мартин Фаулер «Архитектура корпоративных программных приложений», - Вильямс, 2007.

.         П. Лабберс, Б. Олберс, Ф. Салим «HTML 5 для профессионалов. Мощные инструменты для разработки современных веб-приложений», - Вильямс, 2011.

.         Стоян Стефанов «Паттерны JavaScript. Создание быстрых приложений», - O’Reilly Media, 2010.

.         Эдди Османи, «Разработка высоконагруженных JavaScript архитектур», 2011.

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

 

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