Проектирование мобильного приложения

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

Рубрика Программирование, компьютеры и кибернетика
Вид дипломная работа
Язык русский
Дата добавления 13.09.2017
Размер файла 2,6 M

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

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

(E) - норматив трудоемкости реализации одного типа объектов в процессе разработки с номером i=1,2,...,6. {[человеко-час]/[тип объектов]};

(T) - норматив трудоемкости реализации одного свойства типа объекта в процессе разработки с номером i=1, 2,...,6. {[человеко-час]/[свойство типа объектов]};

(I) - норматив трудоемкости реализации одного взаимодействия между типами объектов в процессе разработки с номером i=1,2,...,6. {[человеко-час]/[взаимодействие между типами объектов]};

(N) - норматив трудоемкости реализации одного типа узла в процессе разработки с номером i=1,2,...,6. {[человеко-час]/[узел]};

165- количество человеко-часов в одном человеко-месяце.

Далее необходимо рассчитать трудоемкость этапов согласно нормативам трудоемкостям по процессам (табл. 2.2).

Таблица 2.2 Нормативы трудоемкости по процессам в разрезе функциональных единиц

Наименование процесса

Функциональная единица измерения

вариант использования

тип объекта

свойства типа объект

свойства взаимоотношения между объектами

тип узла

Трудоемкость, чел.час

Бизнес моделирование

32,12

28,33

0,00

14,15

0,00

Управление требованиями

58,03

28,04

0,00

20,32

0,00

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

45,42

61,75

31,35

37,52

24,02

Реализация

31,57

81,51

50,72

36,11

0,00

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

88,96

0,00

0,00

0,00

0,00

Развертывание

8,69

0,00

0,00

0,00

23,74

Трудоемкость этапов по процессам (табл. 2.3):

Таблица 2.3. Расчет трудоёмкости этапов по процессам разработки

Наименование процесса

Бизнес моделирование

Управление требованиями

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

Реализация

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

Развертывание

Срок

7

8

22

28

3

2

Трудоемкость этапов с поправочным коэффициентом(Приложение 2).

- КП1=К11·К16·К17;

- КП2=К1·К2·К4·К5·К6·К7·К8·К9·К16·К17·К18;

- КП3=К1·К2·К4·К5·К6·К7·К8·К9·К11·К12·К13·К14·К15·К16·К17·К18;

- КП4=К1·К2·К4·К5·К6·К7·К8·К9·К10·К12·К13·К14·К15·К16·К17·К18;

- КП5=К1·К2·К4·К5·К6·К7·К8·К9·К10·К11·К12·К13·К14·К15·К16·К17·К18;

- КП6=К1·К2·К11·К16·К18.

Рассчитаем трудоемкость этапов с учетом поправочных коэффициентов (табл. 2.4).

Таблица 2.4 Расчет трудоемкости по процессам разработки с учетом поправочных коэффициентов

Наименование процесса

Бизнес моделирование

Управление требованиями

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

Реализация

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

Развертывание

Срок

8

12

31

28

3

3

При сложении все сроки по этапам на каждый процесс разработки - получается срок разработки восемьдесят пять человеко-месяцев. Так как в команде работы над проектом будет участвовать семь человек, которые будут выполнять следующие роли Programmanager, Productmanager, Userexperience, Architect, Programmer, Tester, Releasemanagerи иногда их совмещать. Срок разработки данного мобильного приложения составляет двенадцать месяцев.

2.2 Расчет расходов

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

Первое перед созданием компании, проекту необходимо оформить юридическое лицо, для того что бы были соблюдены федеральные законы [27]. Для оформления будет привлечена сторонняя организация, которая предоставляет необходимые услуги. Цена такой услуги составляет от 3000 до 9000, в зависимости от компании, которая этим занимается. Для данного стартапа будет взята средняя цена, которая составляет 6 500 рублей, компания называется Сильвер.

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

У каждой компании должно быть оборудование. Для программистов наиболее удобно и оптимально использовать в своей работе IMac и Macbook. Поэтому будут куплены два macbook и два imac, стоимость 91 000 рублей и 173 000 рублей соответственно. Так же четыре членам команды будут приобретены компьютеры Dell стоимость которых составляет 200 000 рублей.

Для работы над проектом потребуется специфическое платное ПО. Поэтому будет приобретено следующие ПО: Photoshop CC, лицензия разработчик Apple. Остальное необходимое ПО бесплатное или хватит время использования в период пробного периода. Цена платного ПО составит 58 000 рублей.

Для постоянной работы приложения необходимо купить сервера у специальных хостинговых компаний. Для полноценной работы приложения необходимо три сервера. Стоимость трех серверов составляет 16 000 рублей в месяц.

Главный расход компании составит зарплата сотрудникам компании. Возьмем среднюю зарплату по каждой роли сотрудника компании: Programmanager - 60 000 рублей, Productmanager - 50 000рублей, Userexperience - 60 000 рублей, Architect - 50 000 рублей, Programmer - 70 000 рублей, Tester - 50 000 рублей , Releasemanager - 50 000 рублей.

Так же тут необходимо учесть страховые взносы, которые составляют 2,9% с зарплат сотрудников. Сумма страховых взносов в год составит 93000 рублей. Рост зарплат в год составляет примерно 4% и после выпуска продукта все сотрудники будут устроены на постоянную работу, поэтому затраты на зарплаты увеличатся. Плюс аренда офиса будет повышаться в среднем на 8% в год (рис. 2.1).

Рисунок 2.1 Таблица расходов проекта

2.3 Расчет доходов

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

В исследовании, которое недавно провел eMarketer, обнаружили, что только 33% пользователей мобильных устройств в США готовы платить авансом за пользование приложениями, а это означает, что оставшаяся часть, если видит, что приложение требует покупки премиум-класса -- начинают искать в App Store или Google Play бесплатную версию этого же продукта. Поэтому возьмем в расчет что страна распространения приложения является Россия и покупательская способность ниже в половину и более, то готовы платить будут только лишь 12% пользователей приложения [28].

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

За данные функции пользователь должен будет платить в месяц 20рублей [29]. За год эта сумма составит 240рублей.

Получается, что доход с платных функций составит 14 400 000рублей в год.

Последующие года данная сумма будет увеличиваться на 10% в виду увеличения пользователей за счет маркетинговой кампании, и добавлением нового функционала (рис. 2.2).

Рисунок 2.2 Таблица расчета доходов

2.4 Выбор системы налогообложения

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

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

2. Упрощённая система налогообложения (УСН) - данная система предназначена для представителей малого и среднего бизнеса. Имеет всего один вид налога, невысокий процент налогов, но для ее использования предприятие должно удовлетворять определенным требованиям

3. Единый налог на вмененный доход (ЕНВД) - очень удобная система налогообложения, поскольку налог фиксированный и не зависит от доходов. Величина налога зависит от параметров производства, таких как количество работников, величина торгового зала и т.д. Данная система применяется только к определенным видам деятельности

4. Патентная система налогообложения - данная система похожа на ЕНВД: она тоже действует только для определенных видов деятельности и применяется наряду с общей системой налогообложения или УСН.

5. Единый сельскохозяйственный налог (ЕСХН) - применяется только к сельскохозяйственному производству

Общая система налогообложения не подходит для проекта, поскольку нужно вести бухучёт в полном объеме и формировать книгу учета доходов и расходов. Для этого необходимо иметь бухгалтерию, что понесет за собой дополнительные траты. Помимо этого, у данной системы довольно высокий налог на прибыль - 20%, а также необходимо платить налоги на имущество и платить НДС с проданных товаров. В итоге данная система требует довольно много затрат и наносит ощутимый ущерб заработку, что не очень хорошо для стартапа.

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

Виды деятельности по для проекта ОКВЭД:

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

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

1. 73.11 Деятельность рекламных агентств.

2. 62.02 Деятельность консультативная и работы в области компьютерных технологий.

3. 62.01 Разработка компьютерного программного обеспечения.

4. 47.91 Торговля розничная по почте или по информационно-коммуникационной сети Интернет.

5. 62.03 Деятельность по управлению компьютерным оборудованием.

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

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

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

Остается упрощённая система налогообложения (УСН). Данная система распространена среди начинающих предпринимателей поскольку в ней всего один вид налогов, налоги перечисляются раз в квартал и отчетность необходимо предоставлять всего раз в год.

В данной системе существует два объекта налогообложения: доходы (налоговая ставка от 1 до 6%) и доходы минус расходы (налоговая от 5 до 15%). При выборе налога на доход можно уменьшить налоговую ставку за счет взносов в пенсионный фонд.

Для данного проекта лучше всего подходит УСН Доходы по нескольким причинам:

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

2. Расходы могут быть подтверждены документально (счета, договоры, акты).

2.5 Расчет ставки дисконтирования

Существует 8 наиболее популярных методов расчета ставки дисконтирования:

1. CAMP;

2. MCAMP;

3. модель Е. Фамы и К. Френча;

4. модель М. Кархата;

5. модель Гордона;

6. WACC;

7. рентабельность капитала;

8. экспертная оценка.

Рассмотрим какие из этих ставок подходят данному проекту и почему. Данный проект не имеет никаких акций и ценных бумаг, поэтому сразу можно отбросить модели Е. Фамы и К. Френча, М. Кархата, Гордона и рентабельность капитала, так как эти модели основаны на доходности акций и ценных бумаг.

Остаются CAMP, MCAMP, WACC и Экспертная оценка. Начнем с экспертной оценки. Для стартапа довольно сложно найти экспертов, а даже если они и найдутся, то вряд ли будут готовы помогать бесплатно. Поскольку ставка дисконтирования нужна для убеждения инвестора, то значит, на момент ее расчёта у нас не будет бюджета для оплаты услуг экспертов.CAMP и MCAMP предлагают получить ставку дисконтирования с помощью безрисковой ставки доходности. Для получения этой ставки имеются таблицы с становыми рисками и поправками на них. Для поправок на риски даются промежутки, число из которых выбирается, по всей видимости, субъективно. Будем считать, что имеющиеся знания и опыт не позволяют достаточно точно выбрать правильное число из ранга, поэтому отказываемся от данного метода.

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

Итоговая ставка дисконтирования рассчитывается по формуле (2.2):

, (2.2)

где Re- 7,2% процентная ставка по вкладам в сбербанке;

Rd - 15% доля, которой будет владеть акселератор;

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

E - 1 000 000 руб. вклад от команды;

t - 6% налог, по УСН.

Подставив все данные в формулу получим ставку дисконтирования равную 0,13.

2.6 Расчет эффективности проекта

Для расчета экономической эффективности проекта необходимо рассчитать эффективность проекта по следующей формуле (2.3):

, (2.3)

где n, t -- количество временных периодов;

CF -- денежный поток (Cash Flow);

R -- стоимость капитала (ставка дисконтирования, Rate).

Рисунок 2.3. Расчет эффективности проекта

Т.е. полная окупаемость проекта достигается спустя 3 года (рис. 2.3 -2.4).

Рисунок 2.4 Диаграмма эффективности проекта

2.7 Заключение главы обоснование эффективности разработки

Для учета трудозатрат по проекту была выбрана методика оценки трудозатрат CETIN. В результате срок разработки программы получился 12 месяцев. В качестве инвесторов были определен Акселератор ФРИИ, который предоставит инвестиции в размере 9 000 000 рублей. Собственные инвестиции составляют 1 000 000 рублей. В качестве системы налогообложения выбран УСН, и процентная ставка составит 6%. Для определения эффективности инвестиционного проекта был выбран метод дисконтирования WACC. Ставка дисконтирования составляет 13%. Для инвестора был составлен инвестиционный проект. Произведен анализ расходов и доходов. Первый доход за год составляет 14 400 000 рублей, а расходы 4 500 000рублей. В результате расчета эффективностиполучилось, что инвестор окупит вложения на 3 года.

Глава 3. Проектирование мобильного приложения

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

3.1 Проектирование мобильного приложения на основе UseCase

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

Приложение должно выполнять следующие функции:

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

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

3. просмотр списка неправильных глаголов;

4. выбор темы текста для обучения;

5. обучение в виде теста;

6. просмотр оценки после прохождения теста;

7. просмотр ошибок после прохождения теста;

8. загрузка текста на сайт.

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

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

На основе требований определим актеров и прецеденты (табл. 3.1).

Таблица 3.1 Таблица прецедентов

Название

Актер

Прецедент

1

Регистрация и аутентификация пользователя.

Пользователь

Регистрация

Пользователь

Авторизация

2

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

Пользователь

Просмотр списка неправильных глаголов

3

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

Пользователь

Просмотр правил использования времен английских глаголов

4

Прохождение обучения

Пользователь

Выбор темы

Пользователь

Просмотр ошибки

Пользователь

Получение оценки

Пользователь

Обучение в виде теста

5

Выбор текста для обучения по темам

Пользователь

Выбор текста

6

Загрузка текста на сайт

Пользователь

Загрузка текста на сайт

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

Описание прецедента: Регистрация (табл. 3.2).

Таблица 3.2 Описание прецедента: Регистрация

Название

Регистрация

Краткое описание

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

Актер

Пользователь

Триггеры

Загрузка приложения

Основные потоки

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

Подпотоки

Добавление пользователя в БД

Альтернативные потоки

Пользователь не захотел регистрироваться

Описание прецедента: Авторизация (табл. 3.3).

Таблица 3.3 Описание прецедента: Авторизация

Название

Авторизация

Краткое описание

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

Актер

Пользователь

Триггеры

Регистрация в приложении

Основные потоки

Вход пользователя в приложение

Подпотоки

Проверка существования индивидуального логина и пароля в БД

Альтернативные потоки

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

Описание прецедента: Просмотр ошибок (табл. 3.4).

Таблица 3.4 Описание прецедента: Просмотр ошибок

Название

Просмотр ошибок

Краткое описание

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

Актер

Пользователь

Триггеры

Изменение глаголов на правильную форму

Основные потоки

Просмотр ошибок в окне приложения

Подпотоки

Запрос к БД и проверка на удовлетворение значения

Альтернативные потоки

Пользователь решил продолжить работу над заданием

Описание прецедента: Получение оценки (табл. 3.5).

Таблица 3.5 Описание прецедента: Получение оценки

Название

Получение оценки

Краткое описание

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

Актер

Пользователь

Триггеры

Изменение глаголов на правильную форму

Основные потоки

Просмотр оценки

Подпотоки

Расчет оценки и добавление в БД

Альтернативные потоки

Пользователь решил продолжить работу над заданием

Описание прецедента: Изменение глаголов в тексте (табл. 3.6).

Таблица 3.6 Описание прецедента: Изменение глаголов в тексте

Название

Изменение глаголов в тексте

Краткое описание

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

Актер

Пользователь

Триггеры

Выбор текста

Основные потоки

Изменение глаголов на правильную форму

Подпотоки

Добавление текста из БД и отображение в окне мобильного приложения

Альтернативные потоки

Пользователь решает выбрать другую тему или не проходить задание

Описание прецедента: Выбор текста(табл. 3.7).

Таблица 3.7 Описание прецедента: Выбор текста

Название

Выбор текста

Краткое описание

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

Актер

Пользователь

Триггеры

Вход в приложение

Основные потоки

Выбор темы из списка

Подпотоки

Добавление названий статей в TableViewControllerиз БД

Альтернативные потоки

Пользователь решает не проходить обучение

Описание прецедента: Загрузка текста (табл. 3.8).

Таблица 3.8 Описание прецедента: Загрузка текста

Название

Загрузка текста

Краткое описание

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

Актер

Пользователь

Триггеры

Вход и аутентификация на сайте

Основные потоки

Ввод названия текста, загрузка текста в формате txt

Подпотоки

Запрос к БД на добавление текста

Альтернативные потоки

Пользователь решает не загружать текст, текст загружен в не верном формате

3.2 Проектирование мобильного приложения с помощью диаграмм деятельности

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

Диаграмма деятельности для прецедента «Авторизация» (рис. 3.2):

Рисунок 3.2. Диаграмма деятельности «Авторизация»

Диаграмма деятельности для прецедента «Регистрация» (рис. 3.3):

Рисунок 3.3. Диаграмма деятельности «Регистрация»

Диаграмма деятельности для прецедента «Просмотр правил использования времен английских глаголов» (рис. 3.4):

Рисунок 3.4 Диаграмма деятельности «Просмотр правил использования времен английских глаголов»

Диаграмма деятельности для прецедента «Просмотр списка неправильных глаголов» (рис. 3.5):

Рисунок 3.5 Диаграмма деятельности «Просмотр списка неправильных глаголов»

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

Рисунок 3.6 Диаграмма деятельности «Получение оценки», «Выбор правильного глагола», «Просмотр ошибки»

Диаграмма деятельности для прецедента «Загрузка текста на сайт» (рис. 3.7):

Рисунок 3.7 Диаграмма деятельности «Загрузка текста на сайт»

3.3 Проектирование интерфейса пользователя мобильного приложения

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

3.3.1 Окно входа

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

Рисунок 3.8. Окно входа в приложение

Если пользователь оставил пустое поле, то появится сообщение об этом (рис. 3.9):

Рисунок 3.9 Сообщение об ошибке

3.3.2 Окно регистрации

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

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

Рисунок 3.10. Окно регистрации

3.3.3 Меню навигации по приложению

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

Рисунок 3.11 Меню приложения

3.3.4 Окно просмотра информации о пользователе и его средней оценки за выполнения заданий

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

Рисунок 3.12. Окно просмотра информации о пользователе

3.3.5 Окно выполнения задания

Окно выполнения задания выглядит в виде теста с выбором вариант ответа. Существует поле с предложением, в котором будет содержаться предложение с глаголом в нормальной форме, выделенном многоточием: …verb… Выбор варианта ответа будет происходить с помощью кнопок, где представлены варианты глаголов в разных формах. Пользователю необходимо выбрать правильный вариант глагола. При правильном варианте ответа кнопка будет подсвечиваться зеленым цветом, при неверном варианте красным цветом. С помощью кнопок внизу окна можно перейти на предыдущее и следующее предложение (рис. 3.13).

Рисунок 3.13. Окно выполнения задания

3.3.6. Окно просмотра правил использования времен английских глаголов

Окно просмотра правил содержит в себе изображение с правилами использования времен глаголов, которое можно увеличить (рис. 3.14).

Рисунок 3.14 Окно просмотра правил использования времен английских глаголов

3.3.7 Окно просмотра списка неправильных глаголов

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

Рисунок 3.15. Окно просмотра неправильных глаголов

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

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

3.4.1 Окно входа на сайт

Данное окно представляет собой краткое описание необходимости сайта, где написан следующий текст: «Данный сайт предоставляет возможность загрузки файлов для автоматической генерации в тестовые задания. Скачать приложение можно по следующей ссылке http://iVerb» и поля для ввода emailи пароля (рис. 3.16).

Рисунок 3.16. Окно входа на сайт

3.4.2 Окно загрузки текста или файла

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

Рисунок 3.17. Окно зугрузки текста или файла

3.5 Заключение главы проектирования мобильного приложения

В результате проектирования системы была спроектирована работа приложения с помощью диаграммы UseCase, где был выявлен один Актер - Пользователь. Диаграмма содержит одного актера и девять прецедентов. Была описана диаграмма прецедентов с помощью таблиц, в которых указывались краткое описание прецедента, актер, триггеры, основные потоки, подпотоки и альтернативные потоки. Был спроектирован интерфейс мобильного приложения для проверки использования времен английских глаголов и компоненты для разработки клиента. После чего была создана иерархия представления для наглядного просмотра вариантов использования мобильного приложения для проверки использования времен английских глаголов. Были определены основные окна работы с приложением такие как: окно входа, окно регистрации, меню навигации, окно просмотра информации о пользователе, окно просмотра правил использования времен английских глаголов, окно просмотра списка неправильных глаголов. Определены основные функции, выполняемые на каждом окне работы с приложением. Спроектирован интерфейс веб приложения, который содержит две веб-страницы, для входа и загрузки файла в базу данных.

Глава 4. Реализация мобильного приложения

Данное приложение было написано на языке Objective-C, в среде разработки Xcode. Данный язык был выбран, как наиболее распространенный и классический для написания iOS приложений. Сервер мобильного приложения был написан на языках pythonи php. Сервер для мобильного приложения будет расположен на хостинге digitalocean, который является вторым крупнейшим хостингом по количеству общедоступных серверов.

Для полноценной работы приложения необходимо разработать следующие модули (рис. 4.1):

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

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

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

- сервер авторизации и регистрации - необходим для связи с БД при авторизации и регистрации пользователя мобильного приложения.

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

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

4.1 Создание базы данных

База данных находится на сервере digitalocean. Для взаимодействия с базой данных и удобства использования используется веб интерфейс для администрирования СУБД MySqlPhpMyAdmin [30]. Взаимодействие между разработчиком и базой данных происходит через удобный интерфейс браузера. Для установки PhpMyAdminна сервере должен быть установлен ApacheHTTPServer. ApacheHTTPServer - является популярным веб сервером. Apacheсоздан для обеспечения надежных и соответствующих стандартом разработки программного обеспечения. Данный сервер поддерживается на операционных системах Linux, BSD, MacOS, MicrosoftWindows, NovellNetWare, BeOS. Главным достоинством Apacheявляется надежность и гибкость настройки. Apcheпозволяет подключать внешние модули для представления данных, развертывании web-серверов, использование СУБД и т.д. Ниже представлена физическая модель, которая отражает физические свойства проектируемой базы данных (типы данных, размер полей, индексы). Параметры физической информационной модели зависят от выбранной СУБД (рис. 4.2).

Рисунок 4.2.Структура базы данных

4.2 Реализация сервера авторизации и регистрации

Сервер авторизации и регистрации выполняет запросы к БД для добавления или проверки существования пользователя. Сервер написан на языке php и отправляет GET запросы из мобильного приложения.

Сервер авторизации выглядит следующим образом (рис. 4.3):

Рисунок 4.3 Листинг кода для регистрации и авторизации

SwitchCase 1, выполнят проверку на существование данных о пользователе в базе данных. Если пользователя не существует, выводится ошибка.

SwitchCase 2, выполняет добавление информации о пользователе в базе данных.

4.3 Реализация сервера для webscraping

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

В данной работе используется Фреймворк для Web Scraping-а, Scrapy[31]. Это свободно распространяемая средаWeb Scraping, написанная на Python. Первоначально разработанный для Web Scraping он также может использоваться для извлечения данных с использованием API или в качестве поискового робота общего назначения. В настоящее время он поддерживается компанией Scrapinghub Ltd., компанией, занимающейся разработкой и обслуживанием веб-сайтов.

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

Структура работы Scrapy состоит из следующих файлов (рис. 4.4):

Рисунок 4.4 Структура работы Scrapy

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

Рисунок 4.5 Код приложения для WebScraping

4.4 Реализация сервера для обработки текста

Сервер для обработки текста представляет собой программу Python, с использованием сторонних библиотек NLTK и Flask.

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

1. Команда для разбора текста на слова будет выполнятся следующей командой: nltk.word_tokenize.

2. Команда для разбора текста на предложения: sent_detector.tokenize.

3. Команда для поиска глаголов в тексте: nltk.pos_tag.

4. Команда для изменения глаголов в тексте на нормальную форму: WordNetLemmatizer().lemmatize.

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

Для того что бы данная программа работала в виде сервера, необходимо использовать стороннюю библиотеку Flask, которая выполняет преобразование программы в веб-сервер[32]. Flask зависит от двух внешних библиотек: в jinja2 шаблонизаторе и Werkzeug инструментария WSGI. Эти библиотеки не документированы. Flask стремится придерживаться простого, но расширяемого ядра. Структура flask представлена в следующем виде (рис. 4.6):

Рисунок 4.6. Структура Flask

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

4.5 Реализация сервера для запуска сервера в определённое время

Для запуска сервера в определённое время, в данной работе используется программа CRON[33]. Cron - это название программы, которая позволяет пользователям unix выполнять команды или скриптов (групп команд) автоматически в указанное время / дату. Выражение cron представляет собой строку, состоящую из 6 или 7 полей, разделенных пробелом. Поля могут содержать любые допустимые значения, а также различные комбинации разрешенных специальных символов для этого поля. Имеются следующие поля (табл. 4.1):

Таблица 4.1 Поля для задачи времени запуска сервера

Имя поля

Обязательное

Допустимые значения

Разрешенные специальные символы

Секунды

ДА

0-59

, - * /

Минуты

ДА

0-59

, - * /

Время работы

ДА

0-23

, - * /

День месяца

ДА

1-31

, - *? / LW

Месяц

ДА

1-12 или JAN-DEC

, - * /

День недели

ДА

1-7 или SUN-SAT

, - *? / L #

Год

НЕТ

Empty, 1970-2099

, - * /

С помощью данной программы будет запущен сервер webscraping-а, а через 20 минут после этого, сервер для обработки текста. Данный код будет запускать программу каждый день в полночь (рис. 4.7).

0 0 * * * *

Рисунок 4.7 Код для запуска CronTab

Данный код будет запускать программу каждый день в 12.20 (рис.4.8):

0 20 * * * *

Рисунок 4.8. Код для запуска CronTab

4.6 Реализация клиента

Для реализации клиента будут использованы стандартные элементы разработки iOS приложения. Данная разработка будет производится на платформе XCode, и языке Objective-C [34]. Для реализация сайта будет использованы языки htmlиcss.

4.6.1 Создание интерфейса мобильного приложения

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

4.6.1.1 Интерфейс EnterViewController

Рисунок 4.9 Окно входа в приложение

Окно входа содержит кнопку Segment Control, при нажатии на которую, происходит выбор окна для входа или регистрации пользователя (рис. 4.9). В окне входа так же присутствуют два TextField для ввода email и пароля. Предусмотрена проверка на пустые TextField и проверка присутствуют ли в базе данных пользователь с данным emailи паролем, если хотя бы одно из условий не выполняется, происходит вывод окна предупреждения об ошибке (рис. 4.10):

Рисунок 4.10 Сообщение об ошибке

4.6.1.2 Интерфейс RegViewController

Из окна входа можно перейти в окно регистрации нажав на кнопку SegmentControl. Окно регистрации представляет собой ViewControllна котором содержатся три TextField-а, для ввода email, пароля и повторного ввода пароля. На данном окне происходит проверка на пустой ввод и на несоответствия паролей. Так же на данном окне существует Labelв виде ссылки, при нажатии на который будет происходить переход на web-страницу ознакомления с лицензией и правилами использования данного приложения. Рядом с Labelнаходится контролл Switch который проверяет, согласен ли пользователь с правилами использования приложением и лицензией на использование.

Для входа в приложение будет отвечать кнопка Button (рис. 4.11).

Рисунок 4.11. Окно регистрации

4.6.1.3 Интерфейс SWRevealViewController

Навигация по мобильному приложению будет происходить с помощью нестандартного элемента iOS, данный элемент представляет собой всплывающее боковое меню и называется SWRevealViewController. Данный компонент представлен в открытом доступе на GitHub. С помощью данного меню будет происходить переход по ViewControll-ам. Каждый из которых отвечает за определенную функцию приложения (рис. 4.12).

Рисунок 4.12 Меню приложения

4.6.1.4 Интерфейс PersonViewcontroller

Диалог просмотра информации о пользователе содержит место для фотографии пользователя, которую можно будет добавить после регистрации. Так же данное окно содержит один Labelотвечающего за отображение email-а пользователя. В данном окне представлена информация о количестве выполненных заданий и средняя оценка. За отображение данной информации отвечает 4 Label-а (рис. 4.13).

Рисунок 4.13 Окно просмотра информации о пользователе

4.6.1.5 ИнтерфейсTestViewController

Окно выполнения задания выглядит в виде теста с выбором вариант ответа. Текст содержится в компоненте TextView, в котором будет содержаться предложение с глаголом в нормальной форме, выделенном многоточием: …verb… Выбор варианта ответа будет происходить с помощью кнопок Button. При правильном варианте ответа кнопка будет подсвечиваться зеленым цветом, при неверном выборе красным цветом. С помощью кнопок внизу окна можно перейти на предыдущее и следующее предложение (рис. 4.14).

Рисунок 4.14. Окно выполнения задания

4.6.1.6 Интерфейс TabViewController

Окно просмотра правил использования глаголов состоит из Labe, который используется в качестве заголовка данного окна. Так же на данной форме присутствуетImageViewController, в котором будет содержаться картинка для структурированного вида правил использования времен английских глаголов (рис. 4.15).

Рисунок 4.15 Окно просмотра правил использования времен английских глаголов

4.6.1.7. ИнтерфейсVerbViewController

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


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

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