Пояснительная записка к диплому (1228397), страница 4
Текст из файла (страница 4)
– библиотека JSF;
– сервер для запуска приложения;
– библиотека поставщика JPA.
При выборе набора разработчика и среды запуска Java, следует отталкиваться от актуальных в данный момент версий указанных средств. На момент написания данной работы для набора разработчика Java актуальной является версия 1.8.31, а для набора запуска Java версия 1.8.45.
Далее следует определиться со средой разработки. Для разработки приложений на Java можно использовать различные среды разработки, такие как:
– Eclipse;
– NetBeans;
– Intellij IDEA.
Из перечисленных сред разработки, полностью бесплатными являются только Eclipse и NetBeans. Intellij IDEA поставляется в бесплатной версии с ограниченным функционалом и с платной лицензией, предоставляющей пользователю все возможности среды. В связи с этим для разработки эта среда не подходит для использования в разработке АРМ, потому что часть функций, требуемых для реализации в АРМ может быть тяжело реализуема в этой среде, при том что для пользователя результат будет одинаков.
Eclipse является мощным инструментом разработки с большим набором подключаемых модулей и неплохой автоматизацией написания кода. К его преимуществам также можно отнести возможность подключения сторонних библиотек, работа с удалёнными хранилищами, возможность тонкой настройки, при должном знании среды и многими другими. К его недостаткам можно отнести специфичный графический интерфейс и общую сложность настройки и последующей работы для нового пользователя.
NetBeans же представляет собой весьма неплохую среду разработки вполне сопоставимую с Eclipse. Он также поддерживает подключение сторонних модулей и библиотек, содержит большой набор встроенных библиотек (среди которых есть также JSF, JPA и многие другие), обладает эргономичным и приятным графическим интерфейсом, также предоставляет обширные возможности по автоматизации процесса написания кода, возможностью работать с удалёнными хранилищами, простотой освоения и т.д. Из недостатков часто выделяют общую простоту по сравнению с Eclipse, которая выражается в отсутствии некоторых модулей упрощающих разработку (например, редактора форм), в остальном же эти две среды предоставляют примерно одинаковые возможности.
Таким образом для разработки АРМ будет использоваться среда разработки NetBeans, в связи с простотой освоения и лучшим интерфейсом по сравнению с Eclipse.
Выбор сервера для запуска Java приложения довольно важный вопрос. По большому счёту все Java сервера представляют собой контейнер для выполнения веб-приложения, однако между ними есть определённые различия, заключающиеся в поддерживаемых библиотеках быстродействии и т.д. В основном выделяют следующие сервера:
– Apache Tomcat;
– Glassfish;
– JBoss;
– WildFly;
– Oracle Web Logic.
Однако на предприятии уже есть используемый свободный сервер из приведённого списка – Apache Tomcat, поэтому для дальнейшей разработки предпочтительно использовать его. Однако, Apache Tomcat не содержит возможности работы с платформой Java EE, которая необходима для реализации приложения. Поэтому для работы будет применяться улучшенная версия используемого сервера – Apache Tomcat Enterprise Edition (Apache TomEE) 1.7.2, для того чтобы не задеть уже существующую инфраструктуру.
Выбор библиотек JPA и JSF следует основывать на том какую последнюю версию этих библиотек поддерживает выбранный сервер. Apache TomEE поддерживает JSF вплоть до версии 2.1 и JPA в пределах до 2.1.
Также для работы приложения понадобится база данных, поэтому следует также рассмотреть средства создания и работы с требуемой базой данных. Указанные выше средства включают в себя:
– сервер базы данных;
– систему управления базой данных.
Помимо вышеперечисленных средств понадобится также библиотека для соединения АРМ с базой данных, которая будет определена после выбора сервера. Таким образом сначала следует выбрать сервер для будущей базы данных. Существуют следующие основные сервера баз данных:
– MySQL;
– PostgreSQL;
– Microsoft SQL Server.
MySQL – свободная, кроссплатформенная СУБД управляемая в данный момент компанией Oracle. Эта система представляет собой популярное решение для построения многих баз данных. Обладает большой гибкостью и поддержкой многих языков программирования. MySQL поставляется в следующих изданиях [10]:
– MySQL Community Edition, для нужд разработчиков;
– MySQL Pro Certified Server, разработан для нужд предприятий и критически важных приложений, работающих с базами данных;
– MySQL Cluster, предоставляет терпимую к изъянам систему кластеризации базы данных.
У MySQL можно выделить следующие преимущества:
– лицензия свободного программного обеспечения, все вышеуказанные издания поставляются бесплатно, но с платной поддержкой;
– быстродействие, за счёт отхождения от некоторых стандартов SQL, достигается быстродействие недоступное у конкурентов;
– большой набор возможностей, проявляется в том, что MySQL поддерживает большую часть функциональности SQL.
Однако эта система не лишена недостатков:
– простаивающая разработка, в данный момент MySQL не развивается потому что основной приоритет компания владелец сервера (Oracle) отводит развитию основанных на MySQL (полностью с ним совместимых), серверов баз данных;
– ограничения функциональности, MySQL не предназначен чтобы делать всё возможное и это проявляется в функциональных ограничениях.
Далее следует описать PostgreSQL.
PostgreSQL – свободно распространяемая объектно-ориентированная СУБД основанная на СУБД Postgres изначально являвшейся разработкой калифорнийского университета в Беркли и открывшей многие концепции которые стали доступны в некоторых других коммерческих системах баз данных гораздо позднее.
Эта система поддерживает большую часть стандартов SQL и предлагает множество современных возможностей, таких как [11]:
– сложные запросы;
– внешние ключи;
– триггеры;
– представления;
– целостность транзакций.
Также Postgre SQL может быть изменён пользователем множеством способов, например, добавлением новых:
– типов данных;
– функций;
– операторов.
У этой системы есть следующие достоинства:
– свободное распространение, благодаря свободной лицензии, PostgreSQL, может быть использован, модифицирован и распространяем кем угодно бесплатно вне зависимости от целей;
– мощный набор базовых инструментов и возможность изменения;
У этой системы есть всего один весомый недостаток перед ближайшим конкурентом, MySQL, – производительность. Так, например, простые операции чтения большого массива данных могут привести к выведению сервера из строя и в целом являются менее производительными чем аналоги в MySQL. В связи этим она не рекомендуется к использованию как база данных для АРМ складского рабочего, потому что недостаток производительности станет серьёзным ограничением в развитии будущего АРМ.
Теперь следует описать Microsoft SQL Server.
Microsoft SQL Server – реляционная СУБД с коммерческой лицензией от компании Microsoft. Эта система ориентирована в первую очередь на корпоративных клиентов и включает в себя большой функционал, например, графический пользовательский, административный интерфейсы, а также интерфейс для моделирования данных [12].
Среди преимуществ данной системы можно указать следующее:
– наличие большого количества схем репликации данных, из сохранённых состояний, на основе транзакций и слияния;
– генерация отчётов по различным вопросам, позволяет легко вести обнаружение ошибок и их исправление.
В то же время у системы можно выделить следующие недостатки:
– коммерческая лицензия;
– узкий круг поддерживаемых языков программирования;
– специфически реализованный синтаксис SQL запросов;
– наличие версии только для операционной системы Windows.
Эта система вполне сравнима с остальными представленными здесь, однако она имеет два серьёзных недостатка, она поставляется либо в платном издании, либо в бесплатном, но с серьёзными ограничениями, например, по максимальному объёму базы данных в несколько гигабайт и др. что для базы данных, подразумевающей постоянное расширение неприемлемо. Также недостатком является наличие версии лишь для одной операционной системы – Windows, которая в свою очередь является платной системой и потому не рекомендуется. Таким образом MS SQL Server не подходит для использования в качестве базы данных для АРМ складского рабочего.
На основании вышеизложенного можно заключить что для разработки следует использовать сервер базы данных MySQL, предоставляющий отличное быстродействие, легкую интеграцию со сторонними системами и свободное распространение, чего не могут предложить конкуренты в дополнение к мощному базовому функционалу. Разумеется, MySQL не идеален и ограничения функционала могли бы стать серьёзным препятствие для его использования, однако в данной работе от базы данных для АРМ не требуется ничего кроме хранения данных и поддержки стандартных SQL запросов, так что данный недостаток несущественен.
Стоит заметить, что для приложения с использованием JPA не имеет значения какую базы данных использовать, достаточно иметь драйвер для соединения с выбранной базой данных, в этом заключается весомое преимущество данной технологии. Также это не является принципиально важным вопросом для предприятия, потому что существуют механизмы миграции данных между базами данных, что позволяет предприятию выбрать базу данных лучше всего подходящую для текущих нужд.
На этом выбор средств для разработки АРМ следует считать завершённым и можно подвести итог выполненной в данном разделе работы.
1.4 Заключение по разделу постановки и анализа задачи
В данном разделе выполнены постановка задачи и анализ предметной области. В ходе постановки задачи установлено что в общем случае имеется потребность в автоматизации деятельности складских рабочих, в связи с использованием ручных методов работы, также эту потребность можно расширить на складских рабочих деятельность которых уже автоматизирована, но в автоматизации используется программное обеспечение по какой-либо причине не удовлетворяющее либо нуждам предприятия, либо неэффективное в плане использования.
В ходе анализа предметной области выявлено что автоматизировать деятельность складских рабочих можно при помощи четырёх наиболее распространённых решений:
– MS Excel;
– 1С:Предприятие;
– СУБД;
– АРМ.
В ходе анализа этих решений, с учётом плана предприятия о переходе на свободное программное обеспечение, выявлено что наиболее подходящим решением для автоматизации деятельности складских рабочих на предприятии, является АРМ.
Далее дать более выполнить обзор технологий, позволяющих вести разработку АРМ. Среди таких технологий выделены следующие основные:
– PHP;
– Java;
– C#.
В процессе обзора технологий установлено что наиболее подходящей технологией является Java обладающая платформонезависимостью, свободной лицензией и предоставляющая широкий спектр технологий для разработки веб-приложений.
Таким образом в дальнейшем будет осуществляться разработка АРМ с использованием технологии Java.
2 Проектирование АРМ складского рабочего
Задача проектирования АРМ складского рабочего состоит из нескольких этапов, сначала следует определить стоящие перед АРМ задачи и на их основе выполнить проектирование базы данных, затем следует описать возможные подходы к непосредственной разработке АРМ и выбрать наиболее подходящий для практического применения в данном случае, и наконец осуществить проектирование самого АРМ на основе выбранного подхода.
2.1 Определение задач, стоящих перед АРМ, и проектирование базы данных
Процесс проектирования базы данных состоит из нескольких частей:
– определение первоначального набора сущностей базы данных;
– определение первоначального набора атрибутов сущностей базы данных;
– определение связей между сущностями;
– нормализация полученной схемы базы данных.
В соответствии с этим планом и будет выполняться дальнейшая работа по проектированию базы данных.
2.1.1 Определение первоначального набора сущностей базы данных
Как упоминалось ранее основная работа складского рабочего заключается в ведении различных журналов, поиска информации по этим журналам и манипуляции с единицами товара на складе. И автоматизация деятельности будет заключаться именно в автоматизации ведения журналов и поиска информации, исходя из этого и будет формироваться функционал будущего приложения.
Можно выделить следующие виды журналов, которые ведут складские рабочие:
– журнал операций по складу;
– журнал посещений склада;
– журнал запросов, поданных на склад;
– журнал учёта единиц товара на складе;
– журнал сотрудников склада.
Каждому из указанных выше журналов соответствует одна сущность. В дополнение к сущностям, используемым складским рабочим для выполнения его рабочих обязанностей, в базе данных также будут присутствовать дополнительные сущности для обеспечения функционирования АРМ и внесения интеграции с остальными системами. Так, например, можно выделить сущность сотрудников дороги. Эта сущность по сути поглощает логически меньшую, описывающую работников конкретного склада, также являющихся сотрудниками дороги. В связи с этим сущность, описывающую работников склада следует изменить таким образом, чтобы она содержала в себе ссылку на сотрудника дороги и ссылку на склад которому он принадлежит. Также в этой сущности удобно будет хранить учётные данные пользователей для авторизации в АРМ.
В дополнение к указанным выше сущностям следует выделить сущность хранящую информацию о складах, для возможности оценки состояния различных складов, оперативного получения данных о складе, а также возможности связи в базе данных товаров, событий и работников со складами.
Далее следует выполнить предварительное определение полей в сущностях, после чего можно будет перейти к заключительному этапу в проектировании базы данных, а именно – нормализации.
2.1.2 Определение первоначального набора атрибутов сущностей базы данных
Для определения атрибутов сущностей необходимо иметь представление о назначении этой сущности в общей картине приложения и об объекте который она представляет. Несомненно, региональный характер будущего приложения накладывает определённый отпечаток на то как будут выглядеть атрибуты сущностей, так, например, в журнале о единицах на складе, хранящемся непосредственно на складе, нет необходимости указывать склад к которому принадлежит товар и т.д. В дальнейшем выбор атрибутов для сущностей базы данных будет осуществляться с учётом указанного фактора.
Для начала выполняется составление атрибутов для сущности характеризующей журнал операций. Этот журнал предназначен для учёта различных операций по складу, потому он должен отображать такие параметры как временную информацию об операции, информацию о действующих в ней лицах, её вид, а также информацию о товаре который был затронут и затронутых складах. Таким образом для сущности, описывающей журнал операций можно выделить следующий набор атрибутов:
– идентификатор (ID) операции, который будет использован как первичный ключ и будет обозначать конкретную операцию;
– вид операции, будет использоваться для записи вида проведённой операции (приход, расход и т.д.);
– инициатор операции, этот атрибут обозначает сотрудника дороги, выступившего инициатором операции, с тем чтобы в дальнейшем иметь возможность найти этого сотрудника и связаться с ним в случае необходимости;
– дежурный рабочий/ответственный, этот атрибут используется для обозначения складского рабочего, находившегося в момент начала проведения операции на посту и занимавшегося исполнением операции, либо являющегося ответственным за проведение контроля над выполнением операции;