WWW.LIBRUS.DOBROTA.BIZ
БЕСПЛАТНАЯ  ИНТЕРНЕТ  БИБЛИОТЕКА - собрание публикаций
 

«МАГИСТЕРСКАЯ ДИССЕРТАЦИЯ Тема работы Мобильное приложение для системы автоматизации франчайзинговых сетей Fraisys УДК 004.451:005.591.43 Студент Группа ФИО Подпись Дата 8ВМ6Г Ларионов ...»

Министерство образования и науки Российской Федерации

федеральное государственное автономное образовательное учреждение

высшего образования

«НАЦИОНАЛЬНЫЙ ИССЛЕДОВАТЕЛЬСКИЙ

ТОМСКИЙ ПОЛИТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ»

Школа: Информационных технологий и робототехники

Направление подготовки: 09.04.01 «Информатика и вычислительная техника»

Отделение школы (НОЦ): Информационных технологий

МАГИСТЕРСКАЯ ДИССЕРТАЦИЯ

Тема работы Мобильное приложение для системы автоматизации франчайзинговых сетей Fraisys УДК 004.451:005.591.43 Студент Группа ФИО Подпись Дата 8ВМ6Г Ларионов Сергей Сергеевич Руководитель Должность ФИО Ученая степень, Подпись Дата звание Доцент Цапко Ирина к.т.н .

Валерьевна

КОНСУЛЬТАНТЫ:

По разделу «Финансовый менеджмент, ресурсоэффективность и ресурсосбережение»

Должность ФИО Ученая степень, Подпись Дата звание Доцент Рыжакина Татьяна к.э.н .

Гавриловна По разделу «Социальная ответственность»

Должность ФИО Ученая степень, Подпись Дата звание Ассистент Авдеева Ирина Ивановна

ДОПУСТИТЬ К ЗАЩИТЕ:

Руководитель ООП ФИО Ученая степень, Подпись Дата звание Доцент Кочегурова Елена к.т.н .

Алексеевна Томск – 2018 г .

ПЛАНИРУЕМЫЕ РЕЗУЛЬТАТЫ ОБУЧЕНИЯ

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

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

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

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

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

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

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





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

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

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

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

–  –  –

Тема работы:

Мобильное приложение для системы автоматизации франчайзинговых сетей FRAISYS Утверждена приказом директора (дата, номер) Раздел на иностранном языке Кудряшова Александра Владимировна Названия разделов, которые должны быть написаны на русском и иностранном языках:

Архитектура приложения Дата выдачи задания на выполнение выпускной квалификационной работы по линейному графику

–  –  –

Школа информационных технологий и робототехники Направление подготовки (специальность) 09.04.01 Информатика и вычислительная техника Уровень образования магистратура Отделение школы Информационных технологий Период выполнения весенний семестр 2017/2018 учебного года

–  –  –

РЕФЕРАТ Выпускная квалификационная работа содержит 112 страниц, 19 рисунков, 25 таблиц, 39 источников, 2 приложения .

Ключевые слова: мобильное приложение, разработка, Android, iOS, Xamarin, франчайзинговая сеть. Целью работы является разработка дополнительного функционала мобильного приложения для системы управления франчайзинговыми сетями Fraisys, а также переработка программной архитектуры приложения .

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

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

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

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

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

ОБОЗНАЧЕНИЯ И СОКРАЩЕНИЯ

Android, iOS – операционные системы для мобильных устройств;

MVVM – архитектурный шаблон проектирования, используемый в том числе для разработки кроссплатформенных приложений;

N-Layer – шаблон проектирования, предназначенный для деления приложения на слои;

SDK – комплект средств разработки;

– набор готовых структур и классов, предоставляемых API приложением;

DTO – объект, приведенный к удобной для передачи форме;

Библиотека – набор подпрограмм или объектов, используемых в процессе разработки приложения;

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

Фискальный принтер – принтер чеков, устанавливаемый для регистрации продаж;

ФЗ – сокращение от «Федеральный закон»;

ШК – сокращение от «штрих-код» .

ОГЛАВЛЕНИЕ

ВВЕДЕНИЕ

1 ОБЗОР ТЕХНОЛОГИЙ

1.1 Паттерн «N-Layer»

1.2 Паттерн «MVVM»

1.3 Паттерн «Repository»

1.4 REST-API

1.5 Zeroconf

1.6 Xamarin

2 ПРЕДМЕТНАЯ ОБЛАСТЬ ПРОЕКТА

2.1 Франшиза

2.2 Система Fraisys

2.3 Типы пользователей в системе

2.4 Сравнительный анализ конкурентов

3 АРХИТЕКТУРА ПРИЛОЖЕНИЯ

3.1 Диаграмма вариантов использования

3.2 Диаграмма пакетов

4 МОБИЛЬНОЕ ПРИЛОЖЕНИЕ

4.1 Цель разработки

4.2 Задачи

4.3 Переработка архитектуры приложения

4.4 Интеграция с системой эквайринга

4.5 Интеграция с фискальными принтерами для печати чеков

4.6 Обеспечение общего доступа к принтеру чеков

4.7 Использованное программное обеспечение

4.8 Актуальность мобильного приложения Fraisys

5 РАЗДЕЛ «ФИНАНСОВЫЙ МЕНЕДЖМЕНТ,

РЕСУРСОЭФФЕКТИВНОСТЬ И РЕСУРСОСБЕРЕЖЕНИЕ»

6 РАЗДЕЛ «СОЦИАЛЬНАЯ ОТВЕТСТВЕННОСТЬ»

ЗАКЛЮЧЕНИЕ

СПИСОК ПУБЛИКАЦИЙ СТУДЕНТА

СПИСОК ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ

Приложение А

Приложение Б

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

Можно выделить следующие признаки франчайзинга:

владелец франшизы (франчайзер) получает некоторые денежные отчисления от партнеров своей сети за использование принадлежащего владельцу франшизы товарного знака;

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

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

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

Fraisys [1] - система управления, являющаяся инструментом для автоматизации и управления франчайзинговыми сетями. Идея данной системы принадлежит компании Система Fraisys была Arview .

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

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

Серверная часть также предоставляет пользователям web-интерфейс .

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

Мобильное приложение системы реализовано как кроссплатформенное приложение (поддерживаются мобильные операционные системы Android и iOS). Данная возможность достигается за счет использования набирающего популярность фреймворка Xamarin, который обеспечивает разработчиков возможностью написания приложений на языке C# для работы на различных мобильных платформах [2] .

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

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

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

Далее описано краткое содержание и структура данной магистерской диссертации .

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

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

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

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

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

1 ОБЗОР ТЕХНОЛОГИЙ

1.1 Паттерн «N-Layer»

N-Layer (многоуровневая архитектура) [7-8] – архитектура или шаблон проектирования, который представляет собой разделение всего исходного кода программы на слои, где каждый следующий слой (n) имеет доступ только к предыдущему слою (n – 1). Подобный подход позволяет получить ясную архитектуру программы, уменьшить связность [9], улучшает понимание и читаемость кода другими разработчиками. Разделение программного кода приложения на логические слои, при продекларированном интерфейсе между ними позволяет разным разработчикам реализовывать их независимо. Каждый слой в данном шаблоне проектирования выполняет определенную функцию. На рисунке 1 представлена схема слоев шаблона проектирования N-Layer. Также при использовании архитектуры NLayer совместно применяется подход «инъекции зависимостей (Dependency Injection)» [10], который является частью более общего архитектурного подхода «инверсия управления (Inversion of Control)», данный подход позволяет уменьшить связность кода .

Обычно выделяют следующие слои: Data Layer – слой данных, представляет собой базу данных, явно в коде не выражается; Data Access Layer – слой доступа к данным, на данном слое реализуется доступ к базе данных, выполняется отображение реляционной базы данных на сущности ООП (таблица – класс, ORM), применяются паттерны организации доступа к данным такие как репозиторий, запрос (query) и другие. Также на данном уровне находятся подключения приложения к внешним сетевым сервисам (например, к API сервера); Buisness Logic Layer – слой бизнес-логики, содержит описание всех доменных объектов (объектов предметной области) и бизнес-процессов, применяется паттерн «Domain object (Доменный объект)» для описания предметной области, и паттерн «Service (сервис)», для связывания доменной логики с инфраструктурой приложения, т. е. другими слоями: использует слой «Data Access Layer» и является интерфейсом для слоя «Presentation Layer». В случае несложной бизнесс-логики некоторой функции системы использование паттерна «доменный объект» можно опустить, поместив бизнес-логику непосредственно в сервисах; Presentation Layer – слой интерфейса программы, применяются паттерны: MVC, MVP, MVVM [11] и другие. На этом слое инкапсулируется логика диалога программы с пользователем .

Рисунок 1 – Схема слоев шаблона проектирования N-Layer

1.2 Паттерн «MVVM»

Шаблон (MVVM) (МодельModel-View-ViewModel ПредставлениеМодель представления) – применяется при проектировании архитектуры приложения. При использовании многослойной архитектуры (N-Layer) приложения паттерн MVVM обычно применяется на уровне представления (Presentation Layer), на котором инкапсулируется логика взаимодействия (диалога) программы с пользователем. MVVM – шаблон, широко используемый для разделения данных или модели с отображением или представлением данных. Данное разделение необходимо и полезно для предоставления возможности изменения данных и представления независимо друг от друга. К примеру, в то время, когда разработчик строит логику работы данных в приложении и работает над ней, дизайнер может параллельно этому работать над построением и отображением этих данных пользователю посредством пользовательского интерфейса. Шаблон проектирования MVVM – модификация распространенного шаблона MVC (Модель-Представление-Контроллер). В MVVM вместо контроллера появляется модель представления, которая помимо функций контроллера по осуществлению запросов из представления в модель, позволяет модели оповещать представление об изменениях в ней. Благодаря этому достигается естественное соответствие данных, которые видит пользователь в интерфейсе программы, и данных внутри модели приложения (ядра). В приложениях, в которых применяется паттерн MVVM, зачастую отсутствуют кнопки «Обновить» и подобные за ненадобностью, т. к. интерфейс такого приложения всегда способен отображать актуальные данные без дополнительных действий со стороны пользователя.

Шаблон MVVM состоит из трех частей:

модель (англ. Model) содержит данные и информацию, участвующие в процессе исполнения приложения;

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

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

1.3 Паттерн «Repository»

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

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

Однако данная операция может быть неприемлемо дорогостоящей из-за того, что весь код программы напрямую зависим и адаптирован под конкретную систему долгосрочного хранения. Попытка изменить модуль хранения на другой в данном случае вызовет множество правок в зависимом коде логики приложения, и для перехода потребуются большие трудозатраты на изменения в коде и на последующий большой этап отладки всех зависимых функций приложения. Также отсутствие обобщения от конкретной реализации системы долгосрочного хранения информации в приложении затруднит либо вообще сделает невозможном написание модульных тестов для кода приложения, так как модульный тест пишется для конкретного изолированного от зависимостей модуля приложении (для ООП – это класс), что требует от модуля, чтобы все зависимости передавались в него по абстрактному интерфейсу, и при написании модульного теста вместо реальных реализаций зависимостей в тестируемый модуль передаются так называемые моки (mock object) – объекты-заглушки. Зависимость тестируемого модуля от конкретной реализации системы долгосрочного хранения вместо обобщенного интерфейса не позволит создать объектызаглушки. Данные проблемы решает шаблон проектирования «репозиторий» .

Его суть в создании обобщенного интерфейса для системы хранения, и весь код логики приложения работает через данный интерфейс, не завися напрямую от конкретной реализации постоянного хранилища. Это позволяет подменять используемый модуль постоянного хранилища без изменений в коде логики приложения. Например, если в приложении требуется хранение информации о налогах в постоянном хранилище, можно создать интерфейс ITaxRepository, и необходимые конкретные реализации данного интерфейса, например, SQLiteDBTaxaRepository и MonoDBTaxaRepository. На рисунке 1.1 изображена схема данного примера .

Рисунок 1.1 – Схематический пример паттерна «репозиторий»

1.4 REST-API REST [15-17] (Representational State Transfer — «передача состояния представления») – определенный стиль, описывающий взаимодействие нескольких компонентов сетевого приложения. REST является набором из множества ограничений, которые учитываются при построении, проектировании и реализации распределённой системы работы в сети. В некоторых случаях соблюдения данных договоренностей может привести к улучшению производительности и значительному упрощению построения архитектуры. В сети Интернет, вызов удалённой процедуры или определенного действия, ответа, представляет собой обыкновенный HTTPзапрос («GET», «POST»; данный запрос называется «REST-запрос»), а необходимые при передаче данные отправляются в качестве параметров данного запроса. Для веб-служб, использующих технологию REST применяют термин «RESTful». В отличие от других веб-служб на основе SOAP, для RESTful служб не существует определенного, официального свода правил или стандарта. Причина заключается в том, что REST представляет собой архитектурный стиль, а технология SOAP представляет собой протокол. Несмотря на то, что REST не представляет из себя стандарта, большинство RESTful приложений пользуются стандартами, например URL, HTTP, XML или JSON .

1.5 Zeroconf Zeroconf [10] или Zero Configuration Networking – технология, автоматически создающая локальную IP-сеть. Данная технология не использует конфигурацию при построении сети, либо необходимый для построения сети сервер. Данная технология также называется Automatic Private IP Addressing (APIPA). Технология позволяет неопытным пользователям объединять устройства в работающую и функционирующую сеть. Не имея технологии пользователю пришлось бы Zeroconf, устанавливать специальные программы или сервисы, или производить построение сети и ее настройку вручную. Идеология Zeroconf широко была применена в утилите Rendezvous, разработанной Apple, во времена, когда компания переходила с технологии AppleTalk на технологию IP. Zeroconf обеспечивает решение сразу трех известных проблем:

обнаружение в сети сервисов, таких как принтер;

нахождение в сети компьютеров по их имени;

задание адреса в сети для каждого устройства .

1.6 Xamarin Xamarin – набор инструментов, предназначенный для разработки мобильных приложений для различных мобильных платформ. Главная идея данного продукта состоит в том, чтобы использовать для создания мобильных приложений язык С#, и, таким образом, предоставить профессиональным.NET-программистам возможность задействовать свой предыдущий опыт, а также сделать код приложения переносимым .

В инструментарий входят: Xamarin.iOS (ранее известный как MonoTouch), Xamarin.Android (Mono for Android), Xamarin.Mac. Платформа включает как общие библиотеки для реализации базовой функциональности, так и платформенно-зависимые «обертки» для стандартных API соответствующих мобильных ОС. К первым относятся не только библиотеки Mono, но и сторонние: вроде Xamarin.Mobile для работы с GPS, камерой, контактами. К последним относятся, прежде всего, средства построения пользовательского интерфейса, которые сделать универсальными затруднительно. Стандартной средой разработки для Xamarin является Xamarin Studio, прежде называвшаяся MonoDevelop. Версия для Mac OS X поддерживает разработку как для iOS, так и для Android; для Windows – только для Android .

Пользовательские интерфейсы для Android создаются в оригинальном визуальном дизайнере, для iOS – в Xcode Interface Builder из iOS SDK, который интегрируются в общую среду. Xamarin так же позволяет использовать Visual Studio. C Xamarin в Visual Studio интегрируется не только Xamarin.Android, но и Xamarin.iOS. Благодаря полной интеграция Xamarin.iOS, в Visual Studio появляются соответствующие типы проектов, отладчиков и других необходимых сущностей; можно использовать все стандартные возможности среды, начиная с IntelliSense; популярные плагины и даже коллективную разработку с помощью TFS. Однако, поскольку iOS SDK существует только для Mac OS X, то именно в этой среде необходимо выполнять окончательную компиляцию и подписывать готовые программы .

2 ПРЕДМЕТНАЯ ОБЛАСТЬ ПРОЕКТА

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

2.2 Система Fraisys Система Fraisys является инструментом для автоматизации работы и управления франчайзинговыми сетями. Система Fraisys состоит из серверной и клиентской части. Серверная часть предоставляет web-интерфейс .

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

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

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

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

Внешний вид приложения Fraisys для устройств Android и iOS представлен на рисунках 2.1 и 2.2 .

–  –  –

Рисунок 2.2 – Внешний вид для iOS

2.3 Типы пользователей в системе В системе для работы с франчайзинговыми сетями Fraisys выделяются следующие типы пользователей:

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

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

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

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

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

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

- «1С Торговля»;

- «Эвотор» .

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

Решение использовать «Excel» или «Google docs» вполне логично в силу небольших затрат либо отсутствия затрат на приобретение данных систем учета. Но имеются и существенные неудобства, в том числе постоянная трата времени на оформление большого количества документации вручную, возможность ошибиться в силу большого количества таблиц, неудобство занесения каждой прошедшей продажи в строки таблицы, необходимость постоянной отправки и получения документов от владельцев сети (а соответственно и большое количество накапливающейся лишней документации) .

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

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

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

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

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

3 АРХИТЕКТУРА ПРИЛОЖЕНИЯ

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

3.1 Диаграмма вариантов использования Возможности неавторизованного пользователя представлены на рисунке 2 .

Рисунок 2 - Возможности неавторизованного пользователя 3.1.1 Возможность «Авторизоваться»

Цель: авторизоваться в системе;

Начальное состояние: приложение открыто на экране авторизации .

Сценарий:

пользователь вводит название франшизы;

пользователь вводит логин;

пользователь вводит пароль;

приложение отправляет запрос на сервер:

oв случае успеха приложение открывает основной экран приложения;

o в случае неудачи приложение отображает информацию об ошибке .

3.1.2 Возможность «Восстановить пароль»

Цель: восстановить забытый пароль .

Начальное состояние: приложение открыто на экране авторизации .

Сценарий:

пользователь нажимает кнопку «Восстановить пароль»;

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

приложение отправляет запрос на сервер:

o в случае успеха приложение показывает сообщение что пароль успешно восстановлен и отправлен на почту;

o в случае неудачи приложение показывает сообщение об ошибке .

3.1.3 Возможность «Написать в поддержку»

Цель: написать в службу поддержки приложения Fraisys .

Начальное состояние: приложение открыто на экране авторизации .

Сценарий:

пользователь нажимает на кнопку «Написать в поддержку»;

пользователь вводит текст сообщения и нажимает кнопку «Отправить»;

приложение отправляет запрос на сервер:

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

o в случае неудачи приложение показывает сообщение об ошибке .

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

Рисунок 3 - Возможности авторизованного пользователя 3.1.4 Возможность «Продать товар»

Цель: оформить продажу товара на торговой точке .

Начальное состояние: приложение открыто на основном экране .

Сценарий:

пользователь нажимает на товар, который необходимо продать;

пользователь нажимает кнопку «Добавить в чек»;

пользователь нажимает кнопку «Открыть чек»;

пользователь выбирает тип оплаты чека и нажимает кнопку «Завершить оплату»;

приложение отправляет продажу на сервер:

o в случае успеха приложение возвращается на экран «Продать товар»;

oв случае неудачи продажа добавляется на экран «Неотправленные» и будет пытаться отправиться на сервер каждые 5 минут .

3.1.5 Возможность «Оформить возврат»

Цель: вернуть сломанный товар и вернуть деньги покупателю .

Начальное состояние: приложение открыто на основном экране .

Сценарий:

пользователь открывает экран «Оформить возврат» и выбирает один из проданных товаров;

пользователь нажимает кнопку «Оформить возврат»;

приложение отправляет возврат на сервер:

o в случае успеха приложение возвращается на экран «Оформить возврат»;

o в случае неудачи приложение показывает сообщение об ошибке .

3.1.6 Возможность «Инвентаризация»

Цель: провести инвентаризацию торговой точки .

Начальное состояние: приложение открыто на основном экране .

Сценарий:

пользователь открывает экран «Инвентаризация» и выбирает необходимую торговую точку для проведения инвентаризации;

пользователь добавляет товары из списка товаров и их количество в текущую инвентаризацию;

пользователь нажимает кнопку «Завершить инвентаризацию» для завершения инвентаризации торговой точки и ее отправки на сервер;

приложение отправляет завершенную инвентаризацию на сервер:

oв случае успеха приложение возвращается на экран «Инвентаризация»;

o в случае неудачи приложение показывает сообщение об ошибке .

3.1.7 Возможность «Посмотреть статистику»

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

Начальное состояние: приложение открыто на основном экране .

Сценарий:

пользователь открывает экран статистики продаж;

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

приложение получает список чеков с сервера:

o в случае успеха статистика отображается пользователю;

o в случае неудачи приложение показывает сообщение об ошибке .

3.1.8 Возможность «Изменить настройки»

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

Начальное состояние: приложение открыто на основном экране .

Сценарий:

пользователь открывает экран «Настройки»;

пользователь меняет настройки приложения .

3.1.9 Возможность «Прочитать справку»

Цель: прочитать справку чтобы понять, как работает приложение .

Начальное состояние: приложение открыто на основном экране .

Сценарий:

пользователь открывает экран «Справка»;

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

3.1.10 Возможность «Выйти из аккаунта»

Цель: выйти из текущего аккаунта .

Начальное состояние: приложение открыто на основном экране .

Сценарий:

пользователь нажимает кнопку открытия левого меню приложения ;

пользователь нажимает кнопку «Выйти»;

приложение открывает экран авторизации .

3.2 Диаграмма пакетов Проект «Fraisys» состоит из серверной и клиентской частей .

Разработанное мобильное приложение предназначено для оформления продаж, возврата товаров, отображения статистики и др. Диаграмма пакетов разработанного мобильного приложения представлена на рисунке 4 .

Рисунок 4 – Диаграмма пакетов

Подробнее о каждом пакете описано далее:

- «Infrastructure» содержит все возможные взаимодействия между пакетами и модулями приложения. Классы в данном пакете контролируют и проверяют все данные в приложении;

- «PriceList» содержит прайс - лист, а также все операции с прайс листом приложения. Данный пакет содержит такие операции, как поиск, фильтрация и т.д .

- «Sale» содержит все данные о текущей продаже в приложении .

Данные о текущей продаже содержат информацию об оплате, количество продуктов, скидку и т.д .

- «CardPayment» содержит все данные о безналичной оплате в приложении. Классы данного пакета отвечают за работу приложения с платежными терминалами, а также контролируют процесс безналичной оплаты .

«Stocktake» содержит все операции и данные по работе инвентаризации в приложении .

- «Settings» содержит информацию и данные о текущих установленных настройках приложения .

«User» содержит информацию о пользователе, такую, как изображение профиля, имя пользователя и т.д .

- «Login» содержит операции по авторизации пользователя в приложении. Классы данного пакета отвечают за процессы авторизации пользователей в системе .

- «Statistics» содержит операции по отображению статистики, а также получению статистики из сервера .

- «Guide» содержит страницу справки о приложении, а также скриншоты экранов приложения для лучшего понимания работы приложения Fraisys .

- «Fiscal» содержит операции по работе с печатью чеков. Приложение может соединяться с принтерами чеков и печатать кассовые чеки посредством классов данного пакета .

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

4 МОБИЛЬНОЕ ПРИЛОЖЕНИЕ

Система Fraisys разрабатывается компанией ООО "Arview" начиная с 2015 года. Разработка мобильного клиента ведется командой мобильных разработчиков компании "Arview" на языке программирования С# с использованием фреймворка Xamarin. На момент моего подключения к разработке мобильного клиента системы, в мобильном приложении был готов модуль продаж. Цели и задачи, поставленные передо мной, а также их решение описаны далее .

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

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

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

4.3 Переработка архитектуры приложения В первую очередь задача стояла переработать архитектуру имеющегося приложения. Приложение имело монолитную программную архитектуру, которая плохо поддается модификации и расширению (схема архитектуры представлена на рисунке 7). Так как проект активно развивается, регулярно появляются запросы на новую функциональность и на внесение изменений в существующую, плохая программная архитектура становится серьезной помехой. Также подобная архитектура не поддается покрытию модульными тестами. Поэтому стало необходимо сделать переработку архитектуры приложения с использованием шаблонов N-Layer и MVVM (рис. 8) .

Рисунок 7 – Схема архитектуры Fraisys

Рисунок 8 – Схема обновленной архитектуры Fraisys Так как ключевой функцией мобильного приложения является регистрация продаж на торговой точке, было решено для начала переработать подсистему продаж с использованием современных паттернов проектирования приложений N-Layer и MVVM, которые хорошо себя зарекомендовали в среде разработки корпоративных приложений .

В ходе выполнения задачи была спроектирована архитектура для подсистемы продаж Fraisys в соответствии с описанными выше шаблонами проектирования: N-Layer, MVVM, Domail Model. В слое бизнес-логики были описаны объекты предметной области и их взаимодействие.

В слой доступа к данным (Data Access Layer) вошли следующие классы и интерфейсы:

ISaleRepository и SaleRepository – интерфейс и класс, выполненные в соответствии с шаблоном проектирования «Репозиторий». Используются для доступа к данным о продажах в постоянном хранилище данных .

SaleRepository – реализация интерфейса ISaleRepository, обеспечивает доступ к базе данных SQLite. IApi и Api – интерфейс и класс, его реализующий, содержат функциональность по отправке сущностей продаж на сервер через API сервера; SaleDto и SaleItemDto – DTO (data transfer object – объект для передачи данных) продажи и позиции продажи. Данные классы используется для объектно-реляционного отображения (ORM) при работе с продажей в базе данных, а также для преобразования в формат данных JSON, для последующей отправки продажи на сервер через API сервера. В слой бизнесс-логики (Domain Logic Layer) вошли следующие классы и интерфейсы: Sale и SaleItem – доменные модели (паттерн Domain Model) продажи и позиции продажи. Инкапсулируют логику работы продажи и позиции продажи. В соответствии с паттерном Domain Model не имеют зависимостей на инфраструктуру приложения. ISaleRegistrationService и SaleRegistrationService – сервис, выполняющий функцию отложенной отправки завершенных продаж на сервер через API сервера. Если очередная продажа по каким-либо причинам не может быть незамедлительно отправлена на сервер, то она попадает в специальную очередь отложенных продаж, сервис пытается отправить продажи на сервер повторно через определенные промежутки времени. ICurrentSaleService и CurrentSaleService – интерфейс и класс, содержащие логику текущей (в данный момент оформляемой) продажи. Класс использует репозиторий ISaleRepository для считывания и записи текущей продажи, Sale и SaleItem – для выполнения операций над текущей продажей. В слое моделей представления находятся следующие классы: ItemViewModel – модель представления (ViewModel) позиции продажи, инкапсулирует логику диалога с пользователем приложения при взаимодействии с позицией чека, также является абстракцией от платформозависымых компонентов пользовательского интерфейса в операционных системах Android и iOS. В слой представлений попали классы: ItemActivity и SaleActivity – платформозависимые реализации окон позиции чека и чека для операционной системы Android, содержат специфическую для операционной системы Android логику и компоненты графического интерфейса пользователя; ItemViewController и SaleViewController – платформозависимые реализации окон позиции чека и чека для операционной системы iOS, содержат специфическую для операционной системы iOS логику и компоненты графического интерфейса пользователя .

4.4 Интеграция с системой эквайринга Так как одной из главных функций приложения Fraisys является оформление продаж, возникает необходимость как можно большей автоматизации этой операции. Система эквайринга – система оплаты банковскими картами через терминалы оплаты – важная часть торговых отношений между магазином и покупателями. Поэтому было решено интегрировать приложение Fraisys с системой оплаты банковскими картами .

В качестве поставщика услуги эквайринга была выбрана система GoSwiff .

Система GoSwiff состоит из мобильного приложения устанавливаемого на мобильное устройство (Android либо iPhone), а также считывателя банковских карт, подключаемого к мобильному устройству через гнездо для наушников либо через беспроводное соединение Bluetooth. Приложение GoSwiff предоставляет программный интерфейс для инициации оплаты картой из других приложений. В приложении Fraisys была реализована подсистема оплаты банковскими картами, которая организует взаимодействие с GoSwiff организуется через данный программный интерфейс. Были реализованы функции оплаты покупки банковской картой, отмены платежа, а также возврата средств на банковскую карту при проведении возврата товара. На рисунке 8 представлена сокращенная UMLдиаграмма классов разработанной подсистемы эквайринга .

Рисунок 9 – UML-диаграмма классов подсистемы эквайринга

4.5 Интеграция с фискальными принтерами для печати чеков Ключевой функцией мобильного приложения Fraisys является регистрация продаж кассиром. Ранее при оформлении продажи кассиру было необходимо внести информацию о приобретаемых товарах как в приложение Fraisys, так и в кассовый аппарат. Для исключения данного рутинного повтора действий при регистрации продажи, было решено автоматизировать печать чека при оформлении продажи в приложении Fraisys. Задачей являляется подключение мобильного приложения Fraisys к фискальным принтерам фирмы АТОЛ [25] и фирмы Штрих. Порядок выдачи фискального чека, а также требования к его содержанию регулируютя федеральным законом 54-ФЗ «О применении контрольнокассовой техники при осуществлении наличных денежных расчетов и (или) расчетов с использованием платежных карт» [26]. Также существует федеральный закон 290-ФЗ «О внесении изменений в Федеральный закон «О применении контрольно-кассовой техники при осуществлении наличных денежных расчетов и (или) расчетов с использованием платежных карт» [27] и отдельные законодательные акты Российской Федерации», требования которого необходимо учитывать. Драйвер ККМ – программа (драйвер), предоставляющая возможность обмена информацией и данными между кассовым аппаратом печати чеков и кассовым программным приложением у клиента программы. Его основное назначение — предоставить возможность без особых усилий и дополнительных знаний максимально полно и удобно управлять фискальным регистратором, «подавая» простые и понятные команды. Драйвер избавляет разработчиков пользовательского программного обеспечения от рутинной реализации протокола работы ККМ, а также предоставляет дополнительный сервис и удобные средства по настройке ККМ. Компания АТОЛ предоставляет драйвер [28] для программного подключения к принтеру из различных платформ (Linux, Windows, Java, Android). Для выполнения задачи использовался драйвер Android. Драйвер для принтеров чеков Штрих [29-31] представляет собой расширение свободной библиотеки для взаимодействия с кассовым оборудованием JPOS .

Предоставляется реализация драйвера для операционной системы Android .

Драйверы фискальных принтеров для Android представляет собой скомпилированные библиотеки классов на языке Java. Так как в проекте Fraisys используется язык программирования C# и фреймворк Xamarin, возникла задача вызова Java-кода из C#-кода. Для подобных задач в фреймворке Xamarin существует инструмент Binding Library, позволяющий в полуавтоматическом режиме генерировать библиотеки-обертки для Java и Objective-C библиотек для языка C#. Была реализована обертка драйвера Java для языка программирования C#, также был разработан и выполнен высокоуровневый интерфейс. Код был оформлен в виде отдельного проекта и не связан с кодом проекта Fraisys, что позволяет переиспользовать данное решение и в других проектах. При разработке были учтены изменения требований нового закона о торговле ФЗ-54, который регламентирует новый порядок для оформления чеков, и вступит в силу 2 июля 2017 года .

Приложение Fraisys использует разработанный модуль для печати чеков продаж и возвратов товаров. На рисунках с 9 по 15 содержатся UMLдиаграммы классов, а также структуры классов и интерфейсов: IFiscalService, IFiscalSettingsRepository, Check, CheckPosition, IAtolDriver и IShtrihDriver .

Рисунок 10 – UML-диаграмма классов библиотеки для печати чеков Рисунок 11 – Структура интерфейса IFiscalService Рисунок 12 – Структура интерфейса IfiscalSettingsRepository

–  –  –

Рисунок 14 – Структура класса CheckPosition Рисунок 15 – Структура интерфейса IAtolDriver Рисунок 16 – Структура интерфейса IShtrihDriver Для подключения приложения к принтеру чеков необходимо произвести настройку подключения. В приложение были добавлены экраны для настройки подключения к принтеру. В экран «Настройки», в который можно перейти с помощью бокового экрана навигации, был добавлен раздел «Принтер чеков», состоящий из следующих пунктов: – «Печать чеков» – выбор режима печати чеков: «Печать чеков отключена», «Печать через АТОЛ» и «Печать через ШТРИХ»; – «Настройка Bluetooth» – системные настройки Bluetooth для настройки сопряжения с принтером при использовании канала Bluetooth для связи с принтером чеков; – «Подключение к принтеру АТОЛ» – ведет на экран настройки соединения с принтером чеков фирмы АТОЛ; – «Подключение к принтеру ШТРИХ» – ведет на экран настройки соединения с принтером чеков фирмы ШТРИХ; – «Клише чека» – открывает диалог настройки клише чека: верхнего и нижнего заголовка в чеке .

Рисунок 17 – Подключения к принтеру

4.6 Обеспечение общего доступа к принтеру чеков После реализации возможности печати чеков, данная функция была протестирована в одной из торговых сетей. У пользователей возник запрос на функцию одновременного доступа к принтеру с нескольких устройств (смартфонов). При изучении документации для принтеров АТОЛ и Штрих была выявлена невозможность подключения нескольких устройств к одному принтеру чеков через драйверы. При попытке подключить второе устройство к принтеру драйвер возвращает ошибку «Порт занят, подключение невозможно». В качестве решения поддержка АТОЛ предлагает иметь «главный» компьютер или смартфон, который всегда будет напрямую привязан к принтеру, а остальные устройства будут использовать этот «главный» компьютер как прокси для печати чеков. Подход с «главным»

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

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

прокси-компьютера несет издержки для пользователей системы Fraisys, т. к .

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

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

Таким образом выделяется некоторое виртуальное «главное» устройство, которое фактически обрабатывается на одном из физических устройств локальной сети. Алгоритм работы приложения Fraisys с принтером в данном подходе следующий. При запросе к принтеру чеков сервис NetworkFiscalService проверяет, есть ли уже в локальной сети устройствосервер, которое подключено к принтеру чеков напрямую. Если да, то запрос делегируется на этот сервер. Если нет, то производится прямое подключение к принтеру через драйвер, если это еще не было сделано, производится запуск сервера и регистрация сервиса в локальной сети, если это еще не было сделано, и осуществляется выполнение запроса к принтеру. Данный подход позволяет достигнуть абстракции, будто принтер чеков поддерживает множественное подключение устройств. Также плюсом является снижение сложности настройки инфраструктуры для пользователей, т.к. вся конфигурация сетевого взаимодействия осуществятся автоматически программой Fraisys. Данное решение опирается на возможность обеспечения каждого из устройств локальной сети информацией о том, какое из устройств является на данный момент сервером. Данная возможность была обеспечена с помощью Zeroconf (Zero Configuration Networking), набора технологий, которые автоматически создают IP-сеть без конфигурации или специальных серверов, также известный как Automatic Private IP Addressing (APIPA) .

Позволяет необученным пользователям соединять компьютеры, сетевые принтеры и другие устройства вместе и получать работающую сеть. Без Zeroconf, или чего-нибудь подобного, пользователь должен либо установить специальные сервисы, например DHCP и DNS, или настраивать всё вручную .

С помощью технологии Zeroconf устройство-сервер регистрирует себя как сервис локальной сети. А другие устройства обнаруживают этот сервис и имеют возможность подключиться к устройству-серверу. Zeroconf имеет реализацию «Bonjour» для iOS и «NSD (Network Service Discovery)» для Android .

4.7 Использованное программное обеспечение

– линейка продуктов компании Microsoft Visual Studio 2015 Майкрософт, включающих интегрированную среду разработки программного обеспечения и ряд других инструментальных средств [34] .

Xamarin – фреймворк для кроссплатформенной разработки мобильных приложений (iOS, Android, Windows Phone) с использованием языка C#. Git – распределённая система управления версиями. Программа является свободной и выпущена под лицензией GNU GPL версии 2 [35] .

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

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

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

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

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

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

5 РАЗДЕЛ «ФИНАНСОВЫЙ МЕНЕДЖМЕНТ,

РЕСУРСОЭФФЕКТИВНОСТЬ И РЕСУРСОСБЕРЕЖЕНИЕ»

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

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

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

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

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

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

–  –  –

5.1.3 SWOT-анализ SWOT – Strengths (сильные стороны), Weaknesses (слабые стороны), Opportunities (возможности) и Threats (угрозы) – представляет собой комплексный анализ научно-исследовательского проекта. SWOT-анализ применяют для исследования внешней и внутренней среды проекта .

Для начала необходимо определить сильные стороны разрабатываемого решения:

- энергоэффективность и экономичность вследствие минимальных затрат на оборудование торговой точки (вместо приобретения дорогого оборудования, для продаж необходимо только мобильное устройство на базе операционной системы "Android", и принтер печати чеков);

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

- удобный и понятный пользовательский интерфейс;

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

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

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

- отсутствие бумажной документации, а хранение всех документов в актуальном состоянии в облаке системы;

- экологичность технологии .

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

- поддерживаются только принтеры печати чеков "АТОЛ" и "ШТРИХМ". И, хотя данные модели принтеров являются самыми популярными и распространенными, в дальнейшем планируется добавить поддержку также и других принтеров печати чеков;

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

Далее необходимо определить и описать возможности разрабатываемого решения:

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

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

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

- на данный момент система "Fraisys" полностью удовлетворяет действующему законодательству в своей сфере;

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

Далее следует выделить и описать возможные угрозы разрабатываемого решения:

–  –  –

5.4 Ограничения и допущения проекта К ограничениям проекта "Fraisys" следует отнести следующие ограничения:

- не тратить на разработку более 40 часов в неделю;

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

- использовать только лицензионное программное обеспечение в процессе разработки проекта;

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

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

Ограничения проекта представлены в таблице 9 .

Таблица 9. Ограничения проекта Фактор Ограничения / допущения 5 .

4.1 Бюджет проекта 159851,16 5.4.1.1 Источник финансирования ООО «Арвью»

5.4.2 Сроки проекта: 26.02.2018 - 10.05.2018 5.4.2.1 Дата утверждения плана управления 26.02.2018 проектом 5.4.2.2 Дата завершения проекта 10.05.2018

–  –  –

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

5.6.1.2 Дисконтированный срок окупаемости Одним из недостатков показателя простого срока окупаемости является игнорирование в процессе его расчета разной ценности денег во времени .

Для устранения этой проблемы рассчитывается дисконтированный срок окупаемости (таблица 17) .

Таблица 19. Дисконтированный срок окупаемости № Наименование показателя Шаг расчета

–  –  –

Значение ставки, при которой обращается в нуль, носит название «внутренней ставки доходности» или «внутренней нормы прибыли». Из графика ниже следует, что IRR = 0,86 .

–  –  –

I0 – первоначальные инвестиции .

Рассчитаем PI:

PI = (104,153 + 91,607 + 83,799 + 77,373) / 159,851 = 1,806 .

Проект можно считать эффективным, так как показатель PI имеет значение большее, чем 1 .

–  –  –

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

Таблица 22. Сравнительная эффективность разработки Исп. 1 Исп. 2 Исп. 3 Стоимость 159851,16 172965,90 219401,44 варианта Интегральный 0,73 0,79 1 финансовый показатель Интегральный 6,45 5,5 3,34 показатель ресурсоэффективн ости Сравнительная 1,0 0,91 0,86 эффективность вариантов исполнения Полученный в итоге интегральный показатель разрабатываемого проекта эффективности имеет высокое значение относительно пятибалльной шкалы. Данный показатель и его значение свидетельствуют о том, что результат разработки проекта может считаться положительным. При этом, данный проект сравнительно дешевле его аналогов, что хорошо отражается на конкурентоспособности готового проекта на рынке .

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

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

Общий бюджет разработки на данном этапе составил 159851,16 руб .

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

6 РАЗДЕЛ «СОЦИАЛЬНАЯ ОТВЕТСТВЕННОСТЬ»

–  –  –

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

Длина офисного помещения, в котором проводилась разработка составляет 5 метров, ширина составляет 4 метра, а высота помещения составляет 3 метра. Высота рабочей поверхности разработчика составляет 0,7 метра .

В рассматриваемом офисном помещении установлены источники искусственного освещения типа ARS/R 418. Характеристика данного типа светильника приведена в таблице 3. Каждый светильник оснащен четырьмя люминесцентными лампами мощностью 20 Вт. Размеры светильников равны 595х595х36 мм .

На рисунке 19 отображено расположение светильников в офисном помещении .

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

Коэффициент Z (отношение средней освещенности к минимальной освещенности) для имеющихся в помещении ламп примем равным 1,1 .

Коэффициент запаса определяется в зависимости от запылённости помещения, в нашем случае коэффициент запаса равен 1,5. Коэффициент использования, выражается отношением светового потока, падающего на расчетную поверхность, к суммарному потоку всех ламп и исчисляется в долях единицы. Он зависит от характеристик светильника, размеров помещения, окраски стен и потолка, характеризуемых коэффициентами отражения от стен (РС) и потолка (РП), значение коэффициентов РC и РП определим из СНиП 23-05-95 равным Рс = 70%, Рп = 50% .

Определим индекс помещения исходя из формулы:

I = S / (h * (a + b)) Площадь помещения составляет 20 м2 .

I = 20 / (3 * (4 + 5)) = 0.74 Зная индекс помещения I, а также зная Рс и Рп, определим коэффициент использования светового потока из СНиП 23-05-95, = 0,5 .

Стандартный световой поток возьмем, зная мощность и тип люминесцентной лампы, соответственно Фст = 1060.

Рассчитаем по формуле:

Eф = (N * n * Фст * ) / (S * k * z), подставим значения и получим:

Eф = (4 * 3 * 1060 * 0,5) / (15 * 1,5 * 1,1) = 293 лк Исходя их требований и норм, установленных СНиП 23-05-95, минимальная освещённость рабочих поверхностей в офисных помещениях для работ средней точности при общем освещении должна быть не менее 200 лк [3] .

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

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

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

работнику обеспечены перерывы в течение рабочего дня, продолжительностью не более 5 минут, минимум каждые 30 минут рабочего времени, максимум каждый час рабочего времени [4];

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

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

Принятые решения и меры для снижения и профилактики зрительного перенапряжения при работе за персональным компьютером:

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

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

- работник придерживается правильного расстояния глаз от экрана монитора (обычно, данное расстояние равно от 1,5 до 2 диагоналей монитора) в течение всего рабочего дня и не приближается к экрану монитора на долгое время;

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

6.2.4 Монотонность трудового процесса Работа по разработке программного обеспечения за персональным компьютером относится к группам А и Б (А - работа по считыванию информации с экрана, Б - работа по вводу информации). Для данного типа работ предусматриваются регламентированные перерывы длительностью 50 минут при 8-часовой смене и 80 минут при 12-часовой смене .

Принятые решения и меры согласно СанПиН 2.2.2/2.4.1340-03, для снижения уровня утомляемости трудовым процессом:

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

- сотруднику обеспечены перерывы в работе длительностью от 10 до 15 минут в течение рабочего дня с интервалами минимум каждые 45 минут и максимум каждый час рабочего времени .

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

6.2.5 Повышенный уровень шума Источниками шума в помещении с персональными компьютерами являются:

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

- вентиляторы, установленные на процессорах;

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

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

- жесткие диски;

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

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

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

- нарушение слуха;

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

- снижения иммунитета;

уменьшение возможности сосредоточиться на работе и концентрироваться в процессе работы .

Принятые решения и меры для предотвращения последствий негативного влияния шума на рабочем месте:

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

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

–  –  –

Таблица 25.

Допустимые значения показателей микроклимата на рабочих местах производственных помещений Температура, 0С Период Температур Относитель Скорость движения года а ная воздуха, м/с поверхност влажность Для Для Для Для ей, 0С воздуха, % диапазона диапазона диапазона диапазона ниже выше температу температу оптимальн оптимальн ры воздуха ры воздуха ых ых ниже выше значений значений оптимальн оптимальн ых ых значений значений Холодн 19,0-20,9 23,1-24,0 18,0-25,0 15-75 0,1 0,2 ый Теплый 20,0-21,9 24,1-28,0 19,0-29,0 15-75 0,1 0,3 В офисном помещении на рабочем месте, где проводилась разработка проекта, температура воздуха и температура поверхностей составляли:

- 210C и 200C при относительной влажности воздуха 50% в холодный период года;

- 240C и 230C при относительной влажности воздуха 55% в теплый период года .

Данные показатели соответствует нормам СанПиН 2.2.4.548-96 .

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

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

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

сырость;

токопроводящая пыль;

токопроводящие полы;

высокая температура;

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

К мероприятиям по предотвращению возможности поражения электрическим током следует отнести [7]:

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

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

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

все работы по устранению неисправностей должен производить квалифицированный персонал;

необходимо постоянно следить за исправностью электропроводки .

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

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

6.3.2 Опасность поражения электрическим током Помещение относится к категории «В» по пожарной и взрыва опасности. Поражение электрическим током человека, очевидно, может привести к его травме. В виду этого, опасность поражения электрическим током отнесена к опасным производственным факторам. Нормы электробезопасности на рабочем месте определены в СанПиН 2.2.2/2.4.1340Требования по защите от поражения электрическим током регламентируются ГОСТ Р 12.1.019-2009 ССБТ .

Принятые решения и меры, необходимые для предотвращения поражения электрическим током разработчика:

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

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

- регулярно проверяется состояние электропроводки;

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

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

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

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

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

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

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

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

Данные лампы сдавались в специальные пункты приема для последующей их утилизации, так как ртуть является чрезвычайно-опасным химическим веществом [7] .

6.5 Безопасность в чрезвычайных ситуациях 6.5.1 Чрезвычайные ситуации на рабочем месте Разделяют чрезвычайные ситуации различных видов: техногенного, природного, биологического, социального и экологического характера .

В процессе работы разработчика программного обеспечения, в рабочем помещении могут возникнуть такие чрезвычайные ситуации, как:

- техногенные чрезвычайные ситуации: пожар, взрывы, обрушения;

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

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

- экологические чрезвычайные ситуации: разрушение озонового слоя, загрязнения биосферы;

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

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

Для предупреждения возникновения данной чрезвычайной ситуации заранее предприняты следующие меры

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

- в помещении размещен план эвакуации сотрудников в случае пожара;

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

регулярно проверяется состояние электроприборов и электропроводки;

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

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

При возникновении пожара, работник обязан предпринять следующие действия:

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

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

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

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

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

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

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

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

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

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

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

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

- рабочее место сотрудника должно способствовать рациональному положению сотрудника, которым считается такое положение тела, в котором ступни расположены параллельно полу, либо на специальной подставке, бедра расположены также горизонтально, параллельно полу, вертикальный угол наклона локтей сотрудника не должен быть менее 70 градусов либо более 90 градусов [3];

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

Заключение Компоновка рабочей зоны разработчика, описанная ранее, полностью соблюдается в компании разработки программного обеспечения «Arview» .

Также компания придерживается всех правовых норм, описанных в пункте 6.6 .

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

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

За время работы над проектом «Fraisys» в компании «Arview», не было выявлено нарушения норм законодательства Российской Федерации. Также не было выявлено возникновения угроз, обусловленных вредными и опасными производственными факторами, представленными в таблице 1, что говорит о хорошей подготовленности и информированности персонала о профилактике возможных угроз .

ЗАКЛЮЧЕНИЕ Целью разработки данного проекта являлась разработка нового функционала мобильного приложения для системы управления франчайзинговыми сетями Fraisys, а также переработка программной архитектуры приложения. Были рассмотрены следующие проблемы: не расширяемая архитектура существующей версии приложения, отсутствие покрытия кода модульными тестами даже самых важных подмодулей приложения, потребность автоматизации оплаты платежными картами и печати чеков, обеспечение общего доступа к принтеру чеков, использование устаревшей технологии WCF для организации API. Для решения проблемы плохой программной архитектуры приложения были рассмотрены имеющиеся зарекомендовавшие себя подходы организации архитектуры. В качестве глобальной архитектуры приложения был выбран паттерн N-Layer (многоуровневая архитектура). Для слоя доступа к данным – паттерн репозиторий. Для слоя модели (бизнес-логики) выбран подход Domain Object (объект предметной области). Для связывания пользовательского интерфейса приложения с уровнем модели выбран паттерн MVVM (модель-вид-модель вида). Новая архитектура позволит снизить трудоемкость внесения изменений в код и добавления новой функциональности. Система продаж приложения была покрыта автоматическими модульными тестами, которые помогут сохранить корректность кода при внесении в него изменений в ходе разработки. Была добавлена поддержка работы приложения с принтерами чеков фирм АТОЛ и Штрих-М. Это позволит печатать чеки для покупателей непосредственно в процессе оформления продажи внутри приложения Fraisys, что избавит продавцов от рутинного дополнительного шага оформления продажи. Реализована связь приложения с системой оплаты электронными банковскими картами (эквайринг), что позволит проводить оплату покупки непосредственно из приложения Fraisys. Это также автоматизирует процесс оформления продажи продавцом. Для обеспечения общего доступа к принтеру чеков с нескольких мобильных устройств (принтеры чеков фирм АТОЛ и Штрих не позволяют произвести одновременное подключение с нескольких устройств) была реализована подсистема децентрализованного общего доступа к принтеру, работающая на основе объединения устройств с сеть на основе технологии Zeroconf. Это позволит производить печать чеков с нескольких мобильных устройств на торговой точке, несмотря на аппаратную невозможность подобного у принтеров фискальных чеков. Спроектирован программный интерфейс (API) для взаимодействия мобильного приложения с сервером на основе подхода REST, что позволяет упростить архитектуру API и привнести прозрачность для разработчиков .

СПИСОК ПУБЛИКАЦИЙ СТУДЕНТА

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

1. Ларионов С.С. ИСПОЛЬЗОВАНИЕ ТЕХНОЛОГИИ MVVM В

СРЕДЕ РАЗРАБОТКИ XAMARIN STUDIO ДЛЯ МОБИЛЬНОГО

ПРИЛОЖЕНИЯ ПОД УПРАВЛЕНИЕМ IOS / Молодежь и современные информационные технологии. Сборник трудов XIV Международной научнопрактической конференции студентов, аспирантов и молодых учёных – Томск, 2017. – Т.2. – С. 17-18 .

2. Ларионов С.С. СОЗДАНИЕ ПРИЛОЖЕНИЯ–КЛИЕНТА СИСТЕМЫ АВТОМАТИЗАЦИИ ФРАНЧАЙЗИНГОВЫХ СЕТЕЙ / Молодежь и современные информационные технологии. Сборник трудов XV Международной научно-практической конференции студентов, аспирантов и молодых учёных – Томск, 2018. – С. 201-202 .

СПИСОК ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ

1. Официальный сайт Fraisys [Электронный ресурс]. – Режим доступа:

http://fraisys.com/, свободный (дата обращения: 08.12.2017) .

2.. Документация Xamarin [Электронный ресурс]. – Режим доступа:

https://www.xamarin.com/support, свободный (дата обращения: 08.12.2017) .

3. Bilgin C. Mastering Cross-Platform Development with Xamarin. – Packt Publishing, 2016. – 390 c .

4. Hermes D. Xamarin Mobile Application Development. – Apress, 2015. – 425 c .

5. Reynolds M. Xamarin Essentials. – Packt Publishing, 2014. – 234 c .

6. Рихтер Дж. CLR via C#. Программирование на платформе.NET Framework 4.5 на языке C#. 4-ое изд. – СПб.: Питер, 2013. – 896 с .

7. Статья Layered Application Guidelines [Электронный ресурс]. – Режим доступа: https://msdn.microsoft.com/en-us/library/ee658109.aspx, свободный (дата обращения: 08.12.2017) .

8. Фаулер М. Архитектура корпоративным программных приложений.:

Пер. с англ. – М.: Вильямс, 2006. – 544 с .

9. Мартин Р., Мартин М. Принципы, паттерны и методики гибкой разработки на языке С#. – Пер. с англ. – СПб: Символ-Плюс, 2011. – 768 с .

10. Seemann M. Dependency Injection in.NET. – Manning Publications Co., 2012. – 586 c .

11. Браун П. Silverlight практическое руководство. – Питер, 2010. – с .

471 – 517 .

12. Эванс Э. Предметно-ориентированное проектирование (DDD) .

Структуризация сложных программных систем. – М.: Вильямс, 2010. – 448 с .

13. Фаулер М. Предметно-ориентированные языки программирования .

– М.: Вильямс, 2011. – 576 с .

14. Эмбер В., Садаладж Дж. Рефакторинг баз данных: эволюционное проектрование. – Пер. с англ. – М.: Вильямс, 2007. – 672 с .

15. Руководство по REST API [Электронный ресурс]. – Режим доступа:

http://www.restapitutorial.ru/, свободный (дата обращения: 08.12.2017) .

16. Patni S. Pro RESTful APIs: Design, Build and Integrate with REST, JSON, XML and JAX-RS. – Apress, 2017. – 136 c .

17. Richardson L., Amundsen M. RESTful Web APIs. – O’Reilly, 2013. – 404 c .

18. Zero Configuration Networking [Электронный ресурс]. – Режим доступа: http://www.zeroconf.org/, свободный (дата обращения: 08.12.2017) .

19. Cheshire S., Aboba B., Guttman E. RFC 3927: Dynamic Configuration of IPv4 Link-Local Addresses. – The Internet Society, 2005. – 33 c .

20. Фаулер М. UML. Основы, 3-е издание. – Пер. с англ. – СПб:

СимволПлюс, 2004. – 192 с .

21. Официальный сайт АТОЛ [Электронный ресурс]. – Режим доступа:

www.atol.ru, свободный (дата обращения: 08.12.2017) .

22. Федеральный закон РФ от 22 мая 2003 г. N 54-ФЗ О применении контрольно-кассовой техники при осуществлении наличных денежных расчетов и (или) расчетов с использованием платежных карт [Электронный ресурс]. – Режим доступа:

http://www.consultant.ru/document/cons_doc_LAW_42359/, свободный (дата обращения: 22.03.2017) .

23. Федеральный закон РФ от 3 июля 2016 г. N 290-ФЗ О внесении изменений в Федеральный закон «О применении контрольно-кассовой техники при осуществлении наличных денежных расчетов и (или) расчетов с использованием платежных карт» и отдельные законодательные акты

Российской Федерации [Электронный ресурс]. – Режим доступа:

http://www.consultant.ru/document/cons_doc_LAW_200743/, свободный (дата обращения: 22.03.2018) .

Драйвер контрольно-кассовых машин v. 9. Руководство 24 .

программиста. – Управляющая Компания «АТОЛ», 2015. – 206 с .

25. UnifiedPOS Retail Peripheral Architecture v.1.12 International Standard .

– National Retail Federation, 2007. – 1968 c .

26. ШТРИХ-М: Протокол работы ФР v.1.12. – НТЦ ШТРИХ-М, 2008. – 70 с .

27. ШТРИХ-М: JPOS драйвер. Руководство пользователя. – НТЦ ШТРИХ-М, 2017. – 34 с .

28. Официальный сайт SQLite [Электронный ресурс]. – Режим доступа:

https://sqlite.org/, свободный (дата обращения: 08.12.2017) .

29. Kreibich A. Using SQLite. – O’Reilly, 2010. – 530 c .

30. Сайт IDE Visual Studio [Электронный ресурс]. – Режим доступа:

https://www.visualstudio.com/vs/, свободный (дата обращения: 08.12.2017) .

31. Официальный сайт Git [Электронный ресурс]. – Режим доступа:

https://git-scm.com/, свободный (дата обращения: 08.12.2017) .

СанПиН 2.2 .

4.548-96. «Гигиенические требования к 32 .

персональным электронно-вычислительным машинам и организации работы» .

СНиП 23-05-95. «Естественное и искусственное освещение» .

33 .

ГОСТ 12.1 .

003-83. «ССБТ. Шум. Общие требования 34 .

безопасности» .

ГОСТ 12.1 .

009-76. «Электробезопасность. Термины и 35 .

определения»

ГОСТ 12.1 .

019-79. ССБТ «Электробезопасность. Общие 36 .

требования и номенклатура видов защиты» .

СНиП 21-01-97. «Пожарная безопасность зданий и сооружений» .

37 .

ГОСТ 17.4 .

3.04-85. «Охрана природы. Почвы. Общие требования 38 .

к контролю и охране от загрязнения» .

ГОСТ 12.2 .

032-78. «ССБТ. Рабочее место при выполнении работ 39 .

сидя. Общие эргономические требования» .

–  –  –

Figure 2 – Case diagram of unauthorized user options

1.1 Use case «Sign in»

Goal: to authorize in a system .

Default state: application is opened on a login screen .

Scenario:

o user enters a franchize name;

o user enters a login;

o user enters a password;

o applications sends the request to a server:

in case of success the application opens the main application screen;

in case of failure the application shows an error message .

1.2 Use case «Restore password»

Goal: to restore a forgotten password .

Default state: application is opened on a login screen .

Scenario:

o user presses the «Restore password» button;

o user enters email for password restoring;

o application sends a request to a server:

in case of success the application shows the message that the password was restored;

in case of failure the application shows an error message .

1.3 Use case «Write to support»

Goal: to write to the Fraisys support .

Default state: application is opened on a login screen .

Scenario:

o user presses the «Write to support» button;

o user writes a text message and presses the «Send» button;

o application sends a request to a server:

in case of success the application shows a success message;

in case of failure the application shows an error message .

Authorized user interactions are presented in use case diagram (fig. 2) .

Figure 2 – Use case diagram of authorized user

1.4 Use case «Sell product»

Goal: to sell product on a trade point .

Default state: application is opened on the main screen .

Scenario:

o user clicks the selected product in price list;

o user presses the «Add to sell» button;

o user presses the «Open sell» button;

o user selects the type of payment and presses the «Complete sale» button;

o the application sends a completed sale to the server:

in case of success the application gets back to «Sell product» screen;

in case of failure the application adds this sale to «Unsent sales» screen and tries to send this sale to the server every 5 minutes .

1.5 Use case «Register refund»

Goal: to return a broken product and refund money to a buyer .

Default state: application is opened on the main screen .

Scenario:

o user opens «Register refund» screen and selects product from a completed sales list;

o user presses the «Refund product» button;

o the application sends refund to the server:

in case of success the application gets back to «Register refund» screen;

in case of failure the application shows the error and error description .

1.6 Use case «Stocktake store»

Goal: to take stock of the current trade point .

Default state: application is opened on the main screen .

Scenario:

o user opens «Stocktaking» screen and selects trade point for stocktaking;

o user adds products and their amount to current stocktake' o user presses the «Complete» button to send current stocktake to a server and close the stocktake;

o the application sends a completed stocktake to the server:

in case of success the application gets back to «Stocktaking» screen;

in case of failure the application shows the error and error description .

1.7 Use case «Check statistics»

Goal: to check sales statistics for a trade point or current seller .

Default state: application is opened on the main screen .

Scenario:

o user opens «Statistics» screen;

o user selects the time period for statistics;

o the application gets sales statistics from the server:

in case of success the statistics is displayed to the user;

in case of failure the application shows the error and error description .

1.8 Use case «Change app settings»

Goal: to change the installed application settings .

Default state: application is opened on the main screen .

Scenario:

o user opens «Settings» screen;

o user changes any option of the application .

1.9 Use case «Read user guide»

Goal: to read a guide to understand how the application works .

Default state: application is opened on the main screen .

Scenario:

o user opens «Guide» screen;

o user reads guide .

1.10 Use case «Logout»

Goal: to log out of the current account .

Default state: application is opened on the main screen .

Scenario:

o user opens the application left drawer;

o user presses the «Logout» button;

o application sends a logout request to the server:

in case of success the application shows the «Sign in» screen;

in case of failure the application shows the «Sign in» screen and tries to send log out request to the server every minute .

2. Package diagram Project «Fraisys» includes a server application and a mobile application .

Developed mobile application aims at selling, refunding, sales printing and statistics displaying. The package diagram of the mobile application is presented in Fig.3 .

Figure 3 – Package diagram

Description of every package is presented below:

- «Infrastructure» package contains all interactions between packages and modules in the application. The classes in this package control and validate all data inside the application;

- «PriceList» package contains all operations with price list of the application. It produces operations like search, filtration, categories presentation and etc .

- «Sale» package contains all data about current sale in the application .

Current sale data contains payment data, discount data, product amount data, type of payment data and etc .

- «CardPayment» package contains all operations by cashless payment .

Classes in this package are responsible for working with payment terminals and controlling payment processes .

- «Stocktake» package contains all operations and data for stocktaking .

These operations validate and control stocktaking processes .

- «Settings» package contains all application settings like fast items adding, sale printing settings and etc .

- «User» package contains all user information like avatar, user name, current trade point of user and etc .

- «Login» package contains all operations and validations of signing in process. Login classes are responsible for user authorization process .

- «Statistics» package contains operations for displaying user statistics. User statistics can be presented in textual or graphical form .

- «Guide» package contains guide page and application screenshots for a better understanding of application operations .

- «Fiscal» package contains all operations with receipts printing. Application can connect to a receipts printer by classes from this package and print receipts for sales or refunds .

- «Refund» package contains all refund operations. Refunds classes are



Похожие работы:

«М. М. Демидова. Особенности перевода герундия в художественном тексте. СОПОСТАВИТЕЛЬНАЯ ЛИНГВИСТИКА И ЛИНГВИСТИКА ТЕКСТА УДК 81`25 DOI: 10.23951/1609-624X-2018-8-39-44 ОСОБЕННОСТИ ПЕРЕВОДА ГЕРУНДИЯ В ХУДОЖЕСТВЕННОМ ТЕКСТЕ (НА МАТЕ...»

«ГОСТ 22974.9-96 МЕЖГОСУДАРСТВЕННЫЙ СТАНДАРТ ФЛЮСЫ СВАРОЧНЫЕ ПЛАВЛЕНЫЕ М етоды определения оксида титана (IV ) Издание официальное 0\ о\ МЕЖГОСУДАРСТВЕННЫЙ СОВЕТ ПО СТАНДАРТИЗАЦИИ, МЕТРОЛОГИИ И СЕРТИФИКАЦИИ Минск кардиган крючком ГОСТ 22974.9-96 Предисловие 1 РАЗРАБОТАН Межгосударственным техническим комитетом по стандартиза...»

«УСТАЛОСТНОЕ РАЗРУШЕНИЕ ЭЛЕМЕНТОВ АВИАЦИОННЫХ КОНСТРУКЦИЙ Бураго Н.Г., Журавлев А.Б., Никитин И.С. В предлагаемой работе исследуются критерии и модели многоосного разрушения в условиях малоцикловой усталости (МЦУ) и в условиях сверхмно...»

«ФЕДЕРАЛЬНОЕ АГЕНТСТВО ПО ОБРАЗОВАНИЮ Государственное образовательное учреждение среднего и профессионального образования "АРХАНГЕЛЬСКИЙ ЛЕСОТЕХНИЧЕСКИЙ КОЛЛЕДЖ ИМПЕРАТОРА ПЕТРА I (ГОУ СПО "АЛТК Императора Петра I) МЕТОДИЧЕСКИЕ УКАЗАНИЯ...»

«РПБ № 84035624.02.32073 стр. 3 Масла трансмиссионные G-Truck GL-5 по СТО 84035624-101-2013 Действителен до 09.10.2018 г. из 16 1. Идентификация химической продукции и сведения о производителе или поставщике 1.1. Идентификация химической продукции 1.1.1. Техническое н...»

«Инструкция ECL Comfort 110 Применение 116 (действует применительно к версии FT заданной температуры программного обеспечения 1.08) A R Поддержание D горячей воды в системе горячего водоснабжения (ГВС) Инструкция пользователя Установка и техническое обслуживание...»

«Тхан Вьет Зунг СИНТЕЗ СИСТЕМ АВТОМАТИЧЕСКОГО УПРАВЛЕНИЯ С ЗАПАЗДЫВАНИЕМ ЧИСЛЕННЫМ МЕТОДОМ Специальность: 05.13.01 Системный анализ, управление и обработка информации (технические системы) Автореферат диссертации на соискание учено...»

«Ганин Александр Васильевич Формирование учетно-контрольной системы в соответствии с МСФО на нреднриятиях дорожно-строительной отрасли 08.00.12 Бухгалтерский учет, статистика Автореферат диссертации на соискание ученой степени 1 доктора экономических наук 1 5 к | Д...»

«Закрытое акционерное общество "ЛСР. Недвижимость-Урал" ОГРН 1026605389667, ИНН 6672142550, КПП 660850001 620072, Россия, г. Екатеринбург, ул. 40-летия Комсомола, д.34 www.LSRrealestate-ural.ru телефон/факс: (343)215-99-00, E-mail: secret...»

«ФЕДЕРАЛЬНОЕ АГЕНТСТВО ПО ТЕХНИЧЕСКОМУ РЕГУЛИРОВАНИЮ И МЕТРОЛОГИИ НАЦИОНАЛЬНЫЙ ГО С ТР СТАНДАРТ МЭК 6 1 8 8 3 -7 РОССИЙСКОЙ ФЕДЕРАЦИИ АУДИО-/ВИДЕОАП ПАРАТУРА БЫТОВОГО НАЗНАЧЕНИЯ ЦИФРОВОЙ ИНТЕРФЕЙС Часть 7 Передача системы В ITU-R В0.1294 (IEC 61883-7:2003, ЮТ) Издание официальное Москва Стандартинформ э...»

«БУТЕНКО ОЛЕСЯ ЮРЬЕВНА Влияние параметров посадочного материала на лесоводственную эффективность культур ели 06.03.01 – "Лесные культуры, селекция и семеноводство" АВТОРЕФЕРАТ диссертации на соискание ученой степени кандидата сельскохозяйственных наук Санкт-Петербург, 2008 Диссертация выполнена на кафедре лесных культур Са...»







 
2019 www.librus.dobrota.biz - «Бесплатная электронная библиотека - собрание публикаций»

Материалы этого сайта размещены для ознакомления, все права принадлежат их авторам.
Если Вы не согласны с тем, что Ваш материал размещён на этом сайте, пожалуйста, напишите нам, мы в течении 1-2 рабочих дней удалим его.