Раньше людям приходилось тратить очень много времени, чтобы систематизировать нужную информацию и выполнялось это вручную. Составление архивов, медицинские карточки больных, картотеки, библиотеки, финансовые документы, чеки, анкеты и многое другое.
С появлением и развитием информационных технологий все стало гораздо проще. Большинство нужной информации переносится с бумаг в виртуальные базы данных. Это значительно облегчает доступ к данным и работу с ними. Для этого мы должны создать виртуальную справочную систему маршрутов общественного транспорта. Максимально автоматизировать ее и сделать понятной даже начинающему пользователю.
Цель курсового проекта состоит в разработке справочной системы маршрутов общественного транспорта. Программа должна быть организована согласно принципам архитектуры «клиент-сервер», клиент должен взаимодействовать с сервером по протоколу TCP/IP. Данные должны храниться посредством СУБД MySQL.
MySQL представляет собой свободную реляционную систему управления базами данных. Разработку и поддержку MySQL осуществляет корпорация Oracle, получившая права на торговую марку вместе с поглощённой Sun Microsystems, которая ранее приобрела шведскую компанию MySQL AB. Продукт распространяется как под GNU General Public License, так и под собственной коммерческой лицензией. Помимо этого, разработчики создают функциональность по заказу лицензионных пользователей.
В ходе решения поставленной задачи использовалась IDE NetBeans. NetBeans IDE представляет собой свободную интегрированную среду разработки приложений (IDE) на языках программирования Java, Python, PHP, JavaScript, C, C++, Ада и ряда других.
Проект NetBeans IDE поддерживается и спонсируется компанией Oracle, однако разработка NetBeans ведётся независимым сообществом разработчиков-энтузиастов (NetBeans Community) и компанией NetBeans Org.
Последние версии NetBeans IDE поддерживают рефакторинг, профилирование, выделение синтаксических конструкций цветом, автодополнение набираемых конструкций на лету и множество предопределённых шаблонов кода.
Для разработки программ в среде NetBeans и для успешной инсталляции и работы самой среды NetBeans должен быть предварительно установлен Sun JDK или J2EE SDK подходящей версии. Среда разработки NetBeans по умолчанию поддерживала разработку для платформ J2SE и J2EE. Начиная с версии 6.0 NetBeans поддерживает разработку для мобильных платформ J2ME, C++ (только g++) и PHP без установки дополнительных компонентов.
В сентябре 2016 года Oracle передала интегрированную среду разработки NetBeans в руки фонда Apache.
Пользователи могут выбирать, какую сборку NetBeans IDE они хотят загрузить для работы с кодом.
NetBeans IDE Bundle for Web & Java EE Сборка предоставляет инструменты для всех последних стандартов Java EE 6, включая новые: Java EE 6 Web Profile, Enterprise Java Beans (бины), сервлеты, Java Persistence API, веб-сервисы и аннотации. NetBeans также поддерживает JSF 2.0 (Facelets), JavaServer Pages (JSP), Hibernate, Spring, и Struts-фреймворки. А также веб-серверы, такие, как GlassFish и Apache Tomcat.
NetBeans IDE Bundle for PHP. Начиная с версии 6.5 Netbeans поддерживает PHP. Сборка для PHP включает:
При построении информационной модели применялся стандарт IDEF1x, поддерживаемый инструментальной средой Erwin фирмы LogicWorks . ERWin средство разработки структуры базы данных (БД). ERwin сочетает графический интерфейс Windows, инструменты для построения ER-диаграмм, редакторы для создания логического и физического описания модели данных и прозрачную поддержку ведущих реляционных СУБД и настольных баз данных.
ERwin создает визуальное представление (модель данных) для решаемой задачи. Это представление может использоваться для детального анализа, уточнения и распространения как части документации, необходимой в цикле разработки. Однако ERwin далеко не только инструмент для рисования. ERwin автоматически создает базу данных (таблицы, индексы, хранимые процедуры, триггеры для обеспечения ссылочной целостности и другие объекты, необходимые для управления данными).
Диаграмма ERwin строится из трех основных элементов - сущностей, атрибутов и связей. Если рассматривать диаграмму как графическое представление правил предметной области, то сущности являются существительными, а связи — глаголами.
Сущность - логическое понятие. Сущности соответствует таблица в реальной СУБД. В ERwin сущность визуально представляет 3 основных вида информации:
а) атрибуты, составляющие первичный ключ. Для каждого первичного ключа ERwin создает при генерации структуры БД уникальный индекс;
б) не ключевые атрибуты;
в) тип сущности (независимая/зависимая).
Связь это функциональная зависимость между двумя сущностями (в частности, возможна связь сущности с самой собой). Связь это понятие логического уровня, которому соответствует внешний ключ на физическом уровне. В ERwin связи представлены 5 основными элементами информации:
а) связи (идентифицирующая/ неидетифицирующая), полная/неполная категория, специфическая связь);
б) родительская сущность;
На рисунке 3.1 представлена главная страница проекта.
С данной странице можно перейти на страницы автопредприятий, маршрутов, расписания, остановок, транспорта, вид транспорта, сортировки и поиска.
На рисунке 3.2 представлена страница списка автопредприятий.
Разработанная программа может быть использована в любой системе электронного расписания, на совместимом компьютере. Ее основными преимуществами являются:
а) Простой и понятный интерфейс, позволяющий работать с программой любому пользователю вне зависимости от навыков работы с ПК.
б) Разработанная программа очень проста в использовании.
в) Данная программа является отказоустойчивой.
г) Разработанное программное приложение содержит огромное количество информации и при этом потребляет минимум ресурсов компьютера.
д) Есть возможность добавления и удаления данных из таблиц БД.
Разработанное ПС реализовано с использованием языка программирования Java на основе технологии «клиент-сервер».
Применение архитектуры «клиент-сервер» предоставляет пользователям возможность с различных компьютеров обращаться к серверу за необходимой информацией. Сервер предоставляет возможность для клиента для работы с базой данных. Он выступает в качестве посредника между клиентом и базой данных. Он принимает запросы от клиента, их обрабатывает и направляет в базу данных. Также он перенаправляет запросы назад клиенту.
Клиент имеет возможность работы с информацией, хранимой в базе данных. Такая информация представлена в виде таблиц базы данных. Клиент может просматривать, редактировать, осуществлять поиск и т.д. необходимой ему информации.
Применение базы данных в качестве хранилища информации позволяет оптимально и эффективно хранить информацию, ее структурировать. Реализованный многопоточный сервер позволяет производить распараллеливание работы сразу нескольких клиентов в разных потоках.
В результате выполнения данного курсового проекта были получены дополнительные навыки в работе с языком JAVA, UML. Были получены знания о различных методах построения функциональных и информационных моделей.
1 Леоненков. «Самоучитель UML».
2 Б. Хичков SYBASE: Настольная книга администратора. – Лори, 2000 г. 448 с.
3 Р. Мюллер. Базы данных и UML: Проектирование. – Лори, 2002г. 432 с.
4 Фельдман С.К. Система программирования Java без секретов: Как создать безопасное приложение с "нуля". – Новый издательский дом», 2005 г., 347 с.
5 Дейтел П.Дж., Дейтел Х.М. Как програмировать на Java. Книга 2. Файлы, сети, базы данных. – "Бином" 2005 г., 672 с.
6 Нотон П. JAVA:Справ.руководство :Пер.с англ./Под ред.А.Тихонова.-М.:БИНОМ:Восточ.Кн.Компания,1996:Восточ.Кн.Компания.-447с..-(Club Computer)
7 Патрик Нотон, Герберт Шилдт Полный справочник по Java .- McGraw-Hill,1997, Издательство "Диалектика",1997
8 Дэвид Флэнэген Java in a Nutshell .- O'Reilly & Associates, Inc., 1997, Издательская группа BHV, Киев, 1998
9 Ренеган Э.Дж.(мл.) 1001 адрес WEB для программистов: Новейший путеводитель программиста по ресурсам World Wide Web:Пер.с англ..-Минск:Попурри,1997.-512с.ил.
10 Сокольский М.В. Все об Intranet и Internet .-М.:Элиот,1998.-254с.ил.
11 Чен М.С. и др. Программирование на JAVA:1001 совет:Наиболее полное руководство по Java и Visual J++ :Пер.с англ./Чен М.С.,Грифис С.В.,Изи Э.Ф..-Минск:Попурри,1997.-640с.ил.+ Прил.(1диск.)
12 Майкл Эферган Java: справочник .- QUE Corporation, 1997, Издательство "Питер Ком", 1998
13 Джо Вебер Технология Java в подлиннике.- QUE Corporation, 1996, "BHV-Санкт-Петербург",1997
14 Джейсон Мейнджер Java: Основы программирования.- McGraw-Hill,Inc.,1996, Издательская группа BHV, Киев,1997
15 И.Ю.Баженова Язык программирования Java .- АО "Диалог-МИФИ", 1997
16 Джон Родли Создание Java-апплетов .- The Coriolis Group,Inc.,1996, Издательство НИПФ "ДиаСофт Лтд.",1996
17 Майкл Томас, Пратик Пател, Алан Хадсон, Доналд Болл(мл.) Секреты программирования для Internet на Java .- Ventana Press, Ventana Communications Group, U.S.A.,1996, Издательство "Питер Пресс", 1997
18 Аарон И.Волш Основы программирования на Java для World Wide Web .- IDG Books Worldwide,Inc.,1996, Издательство "Диалектика",1996
19 Кен Арнольд, Джеймс Гослинг Язык программирования Java .- Addison-Wesley Longman,U.S.A.,1996, Издательство "Питер-Пресс", 1997
20 Нейл Бартлетт, Алекс Лесли, Стив Симкин Программирование на Java. Путеводитель .- The Coriolis Group,Inc.,1996, Издательство НИПФ "ДиаСофт Лтд.",1996
21 Крис Джамса Библиотека программиста Java .- Jamsa Press, 1996, ООО "Попурри", 1996.