Диплом: Информационная система автоматического мониторинга цен конкурентов (на примере ООО ПКФ "Стройбаза №1")

Внимание! Если размещение файла нарушает Ваши авторские права, то обязательно сообщите нам
38
обеспечения могут возникать ошибки, которые не позволяют полноценно
использовать ту или иную функцию.
Кроме того, многие внешние программные продукты имеют собственные
серверы, работа которых не зависит от пользователя, использующего данный
продукт. В случае неисправности такого сервиса, пользователь не будет иметь
возможность дальнейшего использования программного продукта. Более того,
существует вероятность потери всей накопленной базы.
6. Конфиденциальность данных. Данная проблема по большей мере имеет
отношение к онлайн-сервисам. Многие из онлайн-сервисов запрашивают ту или
иную информацию о компании. Данная информация служит в первую очередь для
сравнения с остальными магазинами. Однако, может существовать такая
информация, которую компания не хотела бы разглашать. Более того, существует
вероятность взлома сервиса и утечки информации третьим лицам, в том числе и
конкурентам.
Учитывая данные пункты, можно рассмотреть несколько стратегий
автоматизации задач:
1. Кусочная (хаотичная) автоматизация. Хаотичная автоматизация
состоит из набора автоматизированных участков, не связанных друг
с другом. Такая автоматизация определяется оперативными
задачами и обычно не отражается в стратегических планах компании.
2. Автоматизация по участкам. представляет собой процесс
автоматизации отдельных функциональных участков
3. Автоматизация по направлениям. Отличается от автоматизации по
участкам тем, что предполагает участие всех функциональных
подразделений, деятельность которых связана с направлением
автоматизации.
4. Комплексная автоматизация. предполагает автоматизацию
абсолютно всех бизнес-процессов компании.
39
Поскольку в рамках данной работы не стоит автоматизация всего процесса
оприходования товара, а лишь автоматизация процесса мониторинга цен
конкурентов, то будет применяться стратегия автоматизации по участкам.
Кроме того, из-за ряда проблем, описанных выше, даже такая
автоматизации не сможет быть полноценной. Для решения отдельных пунктов всё
равно потребуется человеческое вмешательство в процесс.
1.3.3. Выбор и обоснование способа приобретения ИС для
автоматизации комплекса задач
При выборе способа приобретения ИС для автоматизации комплекса задач
можно рассмотреть несколько подходов:
Приобретение готового решения и использование «как есть»;
Приобретение готового решения и модификация сторонними
разработчиками;
Приобретение готового решения и самостоятельная модификация;
Заказ на создание приложения сторонними организациями;
Самостоятельная разработка.
Если рассматривать данные пункты, то можно сделать следующие выводы:
Приобретение готового решения и использование «как есть».
Данный вариант не подходит изначально, поскольку задача автоматизации
в конкретном случае нетривиальна, а продукт, который по умолчанию способен
предоставлять необходимую автоматизацию не существует. Либо существует, но
с излишком, в котором нет необходимости.
Приобретение готового решения и модификация сторонними
разработчиками.
Данный подход возможен. Однако, в этом случае организация становится
зависима от сторонних разработчиков.
40
Приобретение готового решения и самостоятельная модификация.
Данный подход вполне приемлем, но есть существенный недостаток –
подходящий продукт может быть написан на языке программирования, который
не знаком штатному сотруднику. Более того, подходящий готовый продукт может
иметь закрытый исходный код, что не даст возможности самостоятельно
модифицировать его.
Заказ на создание приложения сторонними организациями.
В этом случае снова появляется зависимость от сторонних разработчиков.
Однако, данный вариант является подходящим. Но в силу того, что он не может
использоваться в рамках текущей работы, применить его нельзя.
Самостоятельная разработка.
Этот подход является оптимальным, поскольку нет зависимости от
сторонних разработчиков и продуктов, нет зависимости от языка
программирования. Кроме этого, в будущем будет иметься возможность
использовать исходный код программы для дальнейшего её развития.
1.4. Обоснование проектных решений
1.4.1. Обоснование проектных решений по информационному
обеспечению
Информационное обеспечение - в автоматизированных системах -
совокупность единой системы классификации и кодирования информации,
унифицированных систем документации и информационных массивов.
Информационное обеспечение в разрабатываемом программном решении
включает в себя:
Информационную базу;
Входные данные;
Выходные данные;
Пользовательский интерфейс.
Входные данные:
41
Наименования организаций;
Номенклатура;
Ссылки;
Группы.
Выходные данные:
Цены;
История цен.
Информационная база необходима для хранения всех входных и выходных
данных.
Пользовательский интерфейс необходим для удобства ввода данных, а
также для удобства оперирования выходными данными. В роли
пользовательского интерфейса будет выступать графический интерфейс
пользователя, включающий в себя следующие элементы:
Кнопки;
Списки;
Таблицы;
Поля ввода.
1.4.2. Обоснование проектных решений по программному обеспечению
Программное обеспечение (ПО) - совокупность программ системы
обработки данных и программных документов, необходимых для их
эксплуатации.[9] ПО предназначено для придания вычислительной системе
определенных свойств, связанных с увеличением производительности,
повышением достоверности получаемых результатов, повышением надежности
функционирования системы, улучшения работы пользователя.
Программное обеспечение является одним из видов обеспечения
вычислительной системы, наряду с техническим (аппаратным), математическим,
информационным, лингвистическим, организационным, методическим и
правовым обеспечением.[10]
42
Разрабатываемый программный продукт должен создаваться на
максимально актуальных и распространённых программных средствах. Для
выбора средств проектирования будущего программного продукта можно
рассмотреть несколько подходящих для решения задачи языков
программирования. Для сравнения будет использоваться сводная таблица 2.
Таблица 2
Выбор языка программирования
Java
C++
Python
Go
Кроссплатформенность
+
-/+
+
+
GUI
+
+
+
-/+
Компиляция в
машинный код
-
+
-
+
Простота дополнения
+
-
+
+
Распространённость
+
+/-
+
-
Отдельным образом необходимо пояснение по поводу GUI и Go, а также
кроссплатформенности и распространённости C++.
Язык Go предоставляет возможность использования сторонних библиотек
для разработки графических интерфейсов. Однако же, этой возможности нет в
нативном виде. Кроме того, разработка графического интерфейса как такового не
является сильной чертой данного языка программирования. В качестве
пользовательского интерфейса в данном языке предпочтительней WEB-
интерфейс.
C++ является кроссплатформенным языком программирования. Однако,
разрабатываемое приложение, написанное на Windows и использующее вызовы
свойств данного семейства операционных систем не будет работать на других
операционных системах. Что касается распространённости – C++ чаще
используется для системного программирования. И в силу своей сложности
данный язык программирования слабо подходит под использование для решения
подобных задач.
Java в настоящий момент является лидером по распространённости
(рисунок 16). Кроме того, регулярно выпускаются новые версии. Кроме того, этот
43
язык программирования является наиболее знаком большему числу
программистов. По этим причинам выбор сделан в пользу него.
Рис. 16 - Рейтинг языков программирования.
Исходя из данного выбора следует вывод: на компьютере пользователя
должна быть установлена виртуальная машина Java (JVM).
Для хранения всей информации так же должна быть использована СУБД.
Для выбора СУБД будет использована сводная таблица 3, в которой перечислены
наиболее подходящие СУБД для решения поставленной задачи.
Таблица 3
Выбор СУБД
MS
SQL
Postgre
SQL
Oracle
Database
MySQL
SQLite
Свободное ПО
-
+
-
+
+
Кроссплатформен
ность
-
+
+
+
+
Требование
установки
+
+
+
+
-
Внутренняя
авторизация
+
+
+
+
-
Задача по автоматизации стоит только перед конкретным сотрудником на
предприятии. Кроме того, нет необходимости полученные данные автоматически
фиксировать в других существующих системах.
44
Также исходя из выбора языка программирования, который даёт гарантию
запуска приложения независимо от операционной системы, следует выбирать
СУБД, которая может дать такие же гарантии. Поэтому в качестве СУБД подойдёт
к использованию встраиваемая реляционная СУБД – SQLite. Данный продукт не
требует на рабочем месте какого-либо дополнительно установленного
программного обеспечения. Все действия с БД осуществляются исключительно с
помощью встраиваемых в приложение библиотек.
Помимо непосредственно разрабатываемого приложения на рабочей
станции необходим редактор электронных таблиц. Его необходимость
обусловлена оперированием выходных данных, которые так или иначе связаны с
прочими табличными обработками, которыми занимается аналитик организации.
В качестве операционной системы для функционирования приложения, а
также редактора электронных таблиц может подойти Windows 7 (x64) и выше,
дистрибутивы на ядре Linux, а также MacOS X. Возможность такого выбора
обусловлена в первую очередь кроссплатформенностью Java.
Поскольку выбор языка программирования пал на Java, то для разработки
требуется IDE. Самым популярным решением в данном случае является Intellij
IDEA.
IntelliJ IDEA уже довольно немолодая, но, тем не менее, динамично
развивающаяся интегрированная среда разработки.
По сравнению с известными мировыми брендами в этой области с точки
зрения рядовых Java-разработчиков IntelliJ IDEA выглядит чрезвычайно
привлекательно, поскольку старается воплотить все новые веяния в процессе
создания программного обеспечения на Java. Кроме того, она, ориентируясь
больше на ручное написание, позволяет писать код максимально быстро, удобно
и без ошибок.
По заявлению компании JetBrains, IntelliJ IDEA разрабатывается Java-
разработчиками для Java-разработчиков. Стоит лишь несколько часов пописать
код в IntelliJ IDEA, как становится понятно, что это действительно так. Если
45
продолжить писать код в IntelliJ IDEA около недели, окажется, что все остальные
среды разработки выглядят громоздкими и неудобными.[11]
Начиная с версии 6.0, среда предоставляет встроенный набор инструментов
для разработки графического пользовательского интерфейса.
Позже, с версии 9.0, среда стала доступна в двух редакциях: Ultimate Edition
и Community Edition. Версия для сообщества, как и следует ожидать, является
официально бесплатной. Однако, функционал её несколько ограничен по
сравнению с Ultimate Edition.[12]
В настоящее время IntelliJ IDEA это не только среда разработки Java.
Помимо Java поддерживаются следующие языки: Java, JavaScript, CoffeeScript,
HTML/XHTML/HAML, CSS/SASS/LESS, XML/XSL/XPath, YAML,
ActionScrip10t/MXML, Python, Ruby, Haxe, Groovy, Scala, SQL, PHP, Kotlin,
Clojure, C/C++, Go.[13]
Благодаря плагинам так же осуществляется поддержка и других языков.
Итак, подведя итог, можно выдвинуть следующие требования к
программному обеспечению, необходимому для полноценного
функционирования разрабатываемой системы:
Операционная система: Windows 7 (x64) и выше, дистрибутив на
ядре Linux, MacOS X;
Редактор электронных таблиц (например, Calc из пакета LibreOffice,
или Excell из пакета MS Office в случае использования Windows и
MacOS X);
Виртуальная машина Oracle Java.
1.4.3. Обоснование проектных решений по техническому обеспечению
Под техническим обеспечением в рамках данного раздела имеется в виду
необходимые технические условия, которые способны обеспечить нормальное
функционирование разрабатываемой системы.
46
Исходя из раздела требований программного обеспечения можно
сопоставить требования технического обеспечения с каждым пунктом
программного обеспечения.
Для Windows 7 (x64):
64-разрядный процессор с тактовой частотой 1 ГГц или выше;
2 ГБ ОЗУ;
20 ГБ свободного места на жестком диске;
Графическое устройство DirectX 9 с драйвером WDDM 1.0 или более
поздней версии.
Для Linux (например, Ubuntu):
Оперативная память:
2Gb - Unity, Gnome, KDE;
1Gb - XFCE, Mate, LXDE;
512Mb - Openbox, Fluxbox, IceWM, Enlightenment.
Процессор:
Двухъядерный процессор с частотой 1,6GHz и мощнее - Unity,
Gnome, KDE;
Одноядерный процессор с частотой 1,3GHz и мощнее - XFCE, Mate,
LXDE, Openbox, Fluxbox, IceWM, Enlightenment.
Видеокарта:
Любая, для которой есть драйвер.
Жесткий диск:
5GB и более - Unity, Gnome, KDE, XFCE, Mate, LXDE;
4GB и более - Openbox, Fluxbox, IceWM, Enlightenment.
Оригинальная MacOS X поставляется с фирменным аппаратным
обеспечением, поэтому требования в этом случае не применимы.
47
Для Oracle JVM дополнительные аппаратные требования не имеют
значения, поскольку всё функционирование зависит исключительно от
операционной системы. Однако, для самого приложения необходимы следующие
условия:
Не менее 200MB физической памяти для установки Oracle JVM, а
также для хранения информации в базе данных;
Не менее 100MB оперативной памяти;
Доступ к сети Интернет.
Приложение не требует внешнего сервера БД или сервера приложения,
поэтому аппаратные требования заканчиваются на рабочей станции пользователя.
Подводя итог, в таблице 4 перечислены следующие общие оптимальные
требования технического обеспечения:
Таблица 4
Требования технического обеспечения
Процессор
Любой двухъядерный процессор с
поддержкой 64-разрядных
инструкций.
Оперативная память
DDR2-DDR4 объёмом не менее 1GB
Постоянная память
HDD/SSD объёмом не менее 10GB
Видеокарта
Любая, поддерживаемая
операционной системой
Блок питания
Любой. В зависимости от требований
конкретных комплектующих
Монитор
Любой с возможностью вывода
изображения разрешением выше
640x480 px
Клавиатура
Любая
Мышь
Любая
Доступ в Интернет
Не менее 1Mbps
Электропитание
220В
Принтер
Любой лазерный, имеющий
поддержку используемой
операционной системы
ГЛАВА 2. ПРОЕКТНАЯ ЧАСТЬ

Смотрите также:

"Автоматизация обработки заявок ООО "Проектно-Строительная Компания"
"Автоматизация процесса аттестации персонала для ООО "Нэт Бай Нэт Холдинг"
"Анализ интернет-активности конкурентов ( на примере конкурентов "Газпром нефть")
"Бухгалтерский учёт и аудит расчётов с подотчётними лицами в организации на примере ООО "ЛОЦ 10""
«Психологическое сопровождение персонала в организации на примере ООО «Крокус»
Cовершенствование деловой оценки персонала в организации (на примере ООО "Даймонд кейтеринг развитие")
PR как средство продвижения организации (на примере ПАО "Тамбовский завод "Комсомолец им. Н.С. Артемова")
PR-коммуникации в сфере общественного питания (на примере кафе-кондитерской «Cream Cheese»)
SMM как средство повышения эффективности работы учреждений социокультурной сферы (на примере Малого театра)
Value-based education: ценности в системе образования и способы их реализации на уроке английского языка. Опыт Европейских стран