Пояснительная записка к диплому (1228397), страница 2
Текст из файла (страница 2)
Таблица 1 – Сравнение возможных решений автоматизации деятельности складских рабочих
решение критерий | MS Excel | 1С:Предприятие | СУБД | АРМ |
сложность освоения | Низкая | Высокая | Очень высокая | Средняя |
возможность конфигурации решения | + | + | + | + |
шанс ошибки пользователя | Средний | Средний | Высокий | Средний |
интеграция с другими системами | ± | + | ± | + |
время реализации решения | Низкое | Высокое | Малое | Высокое |
Таким образом решение на основе АРМ является наиболее подходящим под нужды предприятия, потому как возможен учёт всех особенностей его программной инфраструктуры и в то же время существует возможность создания решения, попадающего под лицензию свободного ПО. Также данное решение позволяет обеспечить работу даже малограмотных в отношении информационных технологий пользователей, возможность дальнейшей интеграции с другими системами и создания эргономичного интерфейса пользователя, позволяющего предотвратить случайные ошибки при работе с системой. Однако за эти преимущества приходится платить увеличенным временем разработки и требованием от разработчика определённой компетенции для чтобы воплотить остальные преимущества данного решения, для пользователя же это не является серьёзной проблемой, поэтому можно сказать что преимущества данной системы перевешивают её недостатки с точки зрения пользователей и предприятия, в связи с этим в дальнейшем автоматизация деятельности складских рабочих будет вестись посредством разработанного АРМ и дальнейшая работа будет посвящена обзору технологий на базе языков программирования, позволяющих создать требуемый АРМ, выбору средств для разработки АРМ, проектированию АРМ и базы данных для него, а также непосредственной разработке АРМ.
1.2 Обзор технологий создания АРМ на базе языков программирования
Так как ранее решено разрабатывать АРМ следует описать в каком виде он может быть представлен. Выделяют глобальные и локальные АРМ.
Для начала следует дать определения локальных и глобальных АРМ. Под локальным АРМ понимается программа, функционирующая в той же самой локальной сети, где работает сервер базы данных (или на том же компьютере). Взаимодействие с базой данных осуществляется через специально разработанные процедуры среднего уровня, использующие стандартные API-запросы к SQL-серверу базы данных. Основной спецификой локального АРМ является возможность непосредственного взаимодействия с базой данных по достаточно быстрым и надежным каналам, что минимизирует потребности буферирования данных в каждом локальном узле. Локальные АРМ размещаются непосредственно на рабочих местах.
Основным отличием удаленного АРМ от локального является необходимость обеспечения функционирования рабочего места в условиях ненадежных и низкоскоростных каналов связи. Чтобы обеспечить работоспособность в подобных условиях, удаленные рабочие места снабжаются локальными базами данных для буферизации запросов и хранения вспомогательной информации, а также специальными процедурами, реализующими взаимодействие с основной базой данных в фоновом режиме. Основным назначением удаленных АРМ является обеспечение работы территориально удаленных отделов предприятия, а также отдельных, небольших подразделений, не имеющих достаточно развитых средств для хранения и администрирования собственных баз данных [5].
Теперь зная, что именно подразумевается под локальным и глобальным АРМ, а также понимая разницу между ними, нужно осознать, что же является технологией создания АРМ. Чаще всего под технологией создания АРМ подразумевается технология, позволяющая осуществлять создание программных систем, входящих в его состав, так как подобрать технические средства и организовать их связь не является существенной проблемой, к тому же именно программные системы и определяют какой именно АРМ получится в результате. Таким образом под технологий создания АРМ в дальнейшем будет подразумеваться технология программирования, потому нужно ответить ещё на один вопрос, что из себя представляет такая технология [6].
Можно сказать, что технология программирования – это совокупность методов и инструментов, позволяющих создавать программное обеспечение. Технологии программирования могут иметь различный уровень применения. В процессе разработки программного обеспечения могут применяться технологии, решающие как конкретные задачи, так и технологии, являющиеся платформой для создания частей приложения или всего приложения. Поэтому, как правило, для создания программного обеспечения применяется целый набор различных технологий [7].
Теперь следует описать технологии которые возможно использовать для создания АРМ. Для создания АРМ может быть использован широкий спектр технологий и множество их комбинаций. Если рассматривать «чистые» технологии, то для создания АРМ подойдут такие технологии как C#, Java и др. Довольно часто работа с АРМ подразумевает работу с базой данных, многие языки высокого уровня являются объектно-ориентированными, поэтому в них для работы с базой данных достаточно подключить соответствующую библиотеку или набор библиотек, что позволяет значительно упростить процесс разработки АРМ. Однако используя только вышеописанные технологии (в «чистом» виде) возможно создание лишь обычного приложения, использующего некоторый канал связи для получения данных с сервера, до появления веб-технологий такой подход являлся приемлемым, однако сейчас гораздо удобнее использовать веб-приложение. Для создания веб-приложения в дополнение к обычным высокоуровневым языкам программирования используются веб-технологии HTML, CSS и другие, так, например, АРМ можно создать используя комбинацию Java, HTML и CSS.
Далее следует определить разработку какого именно АРМ следует осуществлять. Как сказано выше АРМ бывают локальные и глобальные. АРМ складского рабочего ориентирован на использование большим количеством людей на большой территории. В связи с этим использование локального АРМ представляется несколько неудобным, в то время как глобальный АРМ позволит обеспечить приемлемую скорость работы даже в районах с низкой скоростью соединения с сетью, массовую работу пользователей в АРМ и удобство начала работы с АРМ (для этого достаточно зайти на веб-сервер и ввести свои учётные данные). Потому в дальнейшем будет произведён обзор возможных технологий создания глобальных АРМ.
Теперь следует разобрать какие же языки позволяют создавать глобальные АРМ. Как отмечалось ранее, глобальный АРМ – это как правило веб-приложение, работающее через браузер. Для создания такого АРМ требуется использование высокоуровнего языка программирования, например, C#, PHP или Java, в сочетании с веб-технологиями такими как HTML и CSS. В этом случае приложение работает на сервере, а пользователю посылается некоторый ответ, который представляется в виде веб-страницы. Если в случае PHP который сам по себе является частью веб-технологий и ориентирован на разработку динамических веб-страниц, применение для создания глобального АРМ весьма очевидно, то для Java не ориентированному по умолчанию на создание такого типа АРМ, не вполне понятно. Дело в том, что Java имеет специальное издание Java Platform, Enterprise Edition (Java EE), которое располагает множеством технологий, таких как JSP (java server pages), Java Servlet, фреймворком поддерживающим популярный подход к программированию модель-представление-контроллер (Model-View-Controller (MVC)) и так далее, что и позволяет при помощи веб-технологий HTML и CSS сгенерировать страницу, посылаемую пользователю как ответ сервера. То же касается и C#, для возможности создания веб-приложения с его помощью следует использовать некоторый фреймворк, например, ASP.NET MVC, который, также, как и стандартный фреймворк Java – Java Server Faces (JSF), предоставляет возможность инкапсулировать отдельные части приложения и обеспечить тем самым снижение сложности работы над проектом, простоту его дальнейшей модификации и расширения, а также значительно упрощает его поддержку. Однако работа с платформой, требует определённых знаний от программиста в дополнение к базовым аспектам веб-разработки, так, например, нужно иметь представление о том, как взаимодействуют между собой инкапсулированные части программы, знать основы технологии программирования используемой для разработки и т.д.
1.2.1 Общая характеристика технологии PHP
Рассмотрим подробнее возможности описанных выше технологий создания АРМ. Технология PHP, как и высказывалось ранее состоит из одноимённого языка программирования и платформы представленной интерпретатором, средствами реализации CGI-протоколов и библиотекой функций.
Язык программирования РНР – это объектно-ориентированный интерпретируемый язык программирования высокого уровня, со слабым (динамическим) контролем типов данных для написания сценариев (скриптов) различного назначения. Он во многом похож на JavaScript, но имеет и существенные отличия, из которых здесь отметим лишь некоторые наиболее важные [8]:
– РНР регистрозависим относительно имен переменных и констант, однако ключевые слова языка (if, while, function и т. п.), а также имена функций эквивалентны в любом регистре; JavaScript – полностью регистрозависимый;
– в РНР параметры функции могут быть переданы как по значению, так и посылке, а в JavaScript – только по значению;
– в РНР объекты основаны на классах, а в JavaScript – на прототипах;
– РНР интерпретирует строки символов, заключенные в двойные кавычки (например, если строка в двойных кавычках содержит имена определенных переменных, то они будут заменены их значениями); в JavaScript символы в двойных кавычках не интерпретируются.
Все технологии, основанные на PHP так или иначе будут заимствовать достоинства и недостатки языка программирования PHP, а потому следует описать их, для возможности вынести комплексное и адекватное решение касательно применимости технологии в разработке АРМ.
PHP как отмечалось выше, язык разработки динамических веб страниц, он неплохо подходит для разработки АРМ глобального типа, потому как он напрямую (без использования фреймворков) имеет возможность работать с такими веб-технологиями как HTML, CSS, JavaScript и др. Также PHP весьма прост в освоении.
Этот язык обладает многими преимуществами, такими как:
– простота освоения;
– бесплатный характер;
– большая база готовых решений и библиотек для работы;
– кроссплатформенность.
Однако у PHP есть также и недостатки:
– безопасность данной технологии не лишена изъянов, и для корректной работы её следует должным образом настроить, что далеко не всегда просто сделать. Также PHP задумывался как язык разработки динамических веб-страниц, а не АРМ, которые должны работать в некоторой корпоративной сети, и потому не включает в себя средства защиты уровня логики бизнес процессов, в следствие чего созданные веб-приложения зачастую имеют проблемы с безопасностью;
– медлительность при работе с большими и сложными сценариями является серьёзным препятствием для использования PHP в приложениях которые в перспективе могут развиться в достаточно громоздкие системы;
– слабая выраженность объектной ориентации языка, проявляющаяся в отсутствии классов основных типов данных, например, int, string и т. д. приводит к возникновению дополнительных трудностей в процессе разработки приложения, а также может повлечь за собой сбои логики приложения во время работы с ним пользователя;
– регулярные выражения выполнены посредством функции обработчика. Из-за чего многие возможности, которые доступны в технологиях с классической реализацией регулярных выражений, в PHP делаются с большими затруднениями и зачастую весьма неочевидными способами. Это может привести к сбоям логики приложения при использования регулярных выражений.
Также можно выделить и другие изъяны этого языка в плане реализации.
Таким образом, использование этой технологии для реализации АРМ складского рабочего не рекомендуется, потому как хоть этот язык и обладает рядом весомых преимуществ для разработчика, для пользователя полученное приложение может получиться неэффективным за счёт многочисленных сбоев в логике приложения, которые могут быть вызваны как неправильным пониманием разработчиком используемых типов данных, так и сбои в работе с регулярными выражениями. Все эти проблемы в случае с достаточно большим приложением обернутся для разработчика огромными затратами времени на поиск и устранение проблемы, а для пользователя невозможностью выполнить некоторые действия которые могут иметь критичное значение для производственного процесса. Также, в пользу того что данная технология не рекомендуется для использования при разработке АРМ, говорит то что она довольна медлительна при работе с большими сценариями, что в случае АРМ которые могут разрастись до больших размеров может весьма негативно сказаться на возможностях работы с ним.
1.2.2 Общая характеристика технологии Java
Рассмотрим теперь подробнее технологии Java. Технология Java – это язык программирования Java и платформа Java, разрабатываемые компанией Sun Microsystems, Inc. Помимо компании Sun разработкой продуктов Java занимается сообщество Java, объединяющее как компании, так и независимых разработчиков.
Язык программирования Java представляет собой объектно-ориентированный язык программирования, имеющий синтаксис, близкий к синтаксису языка C++. Отличия языка Java от языка C++ обусловлены самим происхождением этих языков программирования. Язык C++ является расширением языка С, который создавался как язык системного программирования. Язык Java, в свою очередь, создавался для решения задач сетевого программирования и является самостоятельным языком программирования. Главные отличия языка Java от языка C++ – это более строгая типизация, ограничения работы с памятью, автоматическая сборка мусора.
Платформа Java состоит из виртуальной машины Java Virtual Machine (JVM) и библиотек интерфейса программирования Java Application Programming Interface (API). Для всех распространенных операционных систем существуют свои виртуальные машины JVM. тем самым реализуется принцип «Write Once, Run Anywhere» («Написанное однажды, работает везде»). Реализация платформы Java – это конкретная реализация JVM для конкретной операционной системы плюс библиотеки Java API [7].