Введение 9
1. Анализ предметной области и постановка задачи на разработку 13
1.1Обоснование разработки 13
1.2 Анализ бизнес-процессов предметной области 16
1.3 Сравнительный анализ существующих аналогов 22
1.4 Постановка задачи на разработку 31
1.5 Функциональные возможности онлайн сервиса 37
1.6 Требования к архитектуре 40
1.7 Требования к пользовательскому интерфейсу 42
1.7.1 Критерии качества пользовательского интерфейса 44
1.7.2 Методика оценки эффективности пользовательского интерфейса на
основе модели GOMS 46
1.7.3 Требования к аппаратно-программному обеспечению 50
1.8 Выбор технологий и средств разработки 51
1.8.1 Выбор средств реализации серверной части 51
1.8.2 Выбор средств реализации клиентской части 56
1.8.3 Выбор среды разработки 58
2. Реализация онлайн сервиса 59
2.1 Разработка базы данных онлайн сервиса 59
2.2 Разработка логической модели базы данных 61
2.3 Разработка физической модели базы данных 77
2.4 Разработка программного обеспечения 87
2.4.1 Разработка и анализ пользовательского интерфейса 87
2.4.2 Разработка программного обеспечения клиентской части 102
2.4.3 Разработка программного обеспечения серверной части 110
3. Технология разработки и отладки web-приложений в среде NetBeans. ..117
3.1 Создание проекта в NetBeans 117
3.2 Отладка кода с помощью XDebug 122
3.2.1 Как работает отладка 124
4. Технико-экономическое обоснование разработки сайта «сервис
совместного поиска попутчиков» 127
4.1 Расчет себестоимости программного продукта 127
4.2 Эффективность разработки сайта 136
5. Безопасность жизнедеятельности. Организация рабочего места
программиста 139
5.1 Характеристика условий труда рабочего места программиста 139
5.2 Требование к рабочему помещению программиста 140
5.2.1 Окраска помещений 140
5.2.2 Освещение рабочего места 141
5.2.3 Параметры микроклимата на рабочем месте 143
5.2.4 Требования к шуму и вибрации в рабочих помещениях 145
5.2.5 Режим труда программиста 147
5.3 Расчет освещенности рабочего места программиста 149
Заключение 154
Список использованных источников 155
ЛИСТИНГ ПРИЛОЖЕНИЯ 156
Приложение А 156
ВЕДОМОСТЬ ДИПЛОМНОГО ПРОЕКТА 204
Приложение Б 204
ГРАФИЧЕСКАЯ ЧАСТЬ 205
Приложение В 205
ПРЕЗЕНТАЦИЯ 206
Приложение Г 206
С каждым годом компьютеры и прочие «умные» устройства все сильнее проникают в нашу жизнь. В 2018 году в России насчитывалось приблизительно 74,4 миллиона компьютеров [1], что на 20% больше, чем в предыдущем.Кроме того, все большее распространение получают различные переносные электронные устройства: ноутбуки, смартфоны, планшеты и другие - которые по возможностям сравнимы с настольными компьютерами.
Вместе с развитием компьютерной техники все большее количество устройств подключаются к глобальной сети Интернет. В 2017 году 49% жителей России уже имели доступ к сети Интернет. Для сравнения, в 2016 году лишь 43,6% были подключены к сети Интернет. По прогнозам Минкомсвязи РФ к 2020 году уже 90 миллионов жителей нашей страны будут пользоваться ресурсами Интернет [1].
От развития информационных технологий перейдем к одной из острейших проблем крупных городов - рост количества личного транспорта. Несмотря на все удобства личного транспорта, легковые автомобили - это самый расточительный транспорт по сравнению с другими. Основная доля (63 %) экологического ущерба планете связана с автотранспортом. Величина ежегодного экологического ущерба от функционирования транспортного комплекса РФ составляет 3,4 млрд долларов США, или примерно 1,5 % валового национального продукта. Выбросы загрязняющих веществ в атмосферу от автотранспортных средств составили 12 190,7 тыс. тонн[2].
Проблема любого крупного города - транспортные пробки. Для борьбы с данной проблемой существует множество методов и каждый из них имеет свои преимущества и недостатки. Один из таких методов - carpool- совместное использование автомобиля для поездок в определенные пункты назначения или с
определенных пунктов отправки[3].
Совместное использование автомобилей началось зарождаться еще в 70-х годах ХХ века. С появлением интернета и средств мобильной связи, данное направление использования автомобилей все шире начинает применяться во многих странах мира. Власти некоторых городов оказывают содействие автовладельцам прибегающим к системе совместного использования автомобилей. В некоторых странах для водителей, использующих систему carpool, иногда предусматривается даже выделение отдельных полос движения на дорогах города.
Выигрыш от использования системы совместного использования автомобилей очевиден. Кроме экономии самих автомобилистов, пользующихся данной системой, на топливе, дорожных и парковочных сборах, эксплуатационных расходах,- данный метод позволяет существенно разгрузить некоторые участки дорожного движения, а соответственно и вероятность возникновения дорожных пробок, уменьшить выхлоп вредных газов в атмосферу городов, а также снизить психологическую нагрузку на участников дорожного движения.
Целью дипломного проектирования является разработка системы, помогающей пользователям находить себе попутчиков для проезда в пределах города или путешествия на дальние расстояния. Предполагается, что подобная система поможет снизить нагрузку на транспортную систему города Пенза.
В ходе дипломного проектирования был проведен анализ предметной области и бизнес-процессов, происходящих в ней, поставлена задача на разработку, проведен анализ требований на разработку, выбраны технологии разработки и выполнена разработка и тестирование программного обеспечения.
При выполнении дипломного проекта активно использовалась средство визуального моделирования объектно-ориентированных информационных систем StartUML.
В результате выполненной работы получено программное обеспечение, протестированное и полностью удовлетворяющее поставленным требованиям, а также пояснительная записка к дипломному проекту.
В настоящее время разработанное программное обеспечение в виде сервиса находится в опытной эксплуатации. Акт о внедрении сервиса приведен в приложении Б.
В результате выполнения дипломного проекта был разработан интернет-сервис взаимного поиска попутного транспорта и пассажиров.
Серверная часть сервиса реализована средствами языка Java, сервера приложений GlassFish и СУБД PostgreSQL. Клиентская часть сервиса - на HTML5, JavaScript и jQuery. При разработке сервиса большое внимание было уделено интеграции с социальными сетями и картографическими сервисами.
Разработанный сервис предназначен для решения проблемы пробок в современных крупных городах, а также для снижения уровня загрязнения от транспорта путем оптимизации распределения пассажиров между автомобилями. Так как пользователем сервиса может любой человек, имеющий выход в сеть Интернет, нельзя предсказать его уровень компьютерной грамотности. В связи с этим обстоятельством каждый инструмент сервиса имеет интуитивно понятный интерфейс.
При разработке программных средств были учтены все требования, изложенные в техническом задании. Тем не менее, планируется дальнейшее развитие сервиса в направлении интеграции системы с кассами автовокзалов страны для обеспечения пользователям сервиса возможности покупки билета на междугородние автобусы «не выходя из дома».
Было произведено комплексное тестирование разработанных программных средств, в результате которого было установлено полное соответствие разработки и технического задания.
В настоящее время сервис находится в тестовой эксплуатации.
1. Биллиг В. А. Основы программирования на JAVA. — М.: Изд-во «Интернет-университет информационных технологий — ИНТУИТ.ру», 2018. — 488 c.
2. Брукс Ф. Мифический человеко-месяц, или как создаются программные комплексы. — М: «Символ-Плюс», 2010 г. — 304 с.
3. Ватсон К. PHP. Библия программиста. — М.: Лори, 2018. — 880 с.
4. Вирт Н. Алгоритмы и структуры данных. — Спб: Невский диалект, 2019 г. — 352 с.
5. Гиббонз П. Платформа Playдля Java-программистов. — СПб.: Питер, 2017. — 336 с.
6. Голуб А. И. JavaиHibernate. Правила программирования. — М: БИНОМ, 2006 г. — 272 с.
7. Гуннерсон Э. Введение в модели GOMS. Библиотека программиста. — СПб.: Питер, 2016. — 304 с.
8. Кораблев В. Самоучитель SQL. — СПб.: Питер; Киев: Издательская группа BHV, 2016. — 528 с.
9. Либерти Д. Программирование на jQuery. — СПб.: Символ-Плюс, 2017. — 688 с.
Майо Д. JAVA. Искусство программирования. Энциклопедия программиста. — Киев: «ДиаСофт», 2017. — 656 с.