Добавил:
Developer Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Курсовой Проект.docx
Скачиваний:
1
Добавлен:
30.12.2023
Размер:
2.12 Mб
Скачать

3.4 Реализация контрольного примера

Для демонстрации разработаем первоначальный пример, предполагающий тестовый запуск АСУ в компании, вследствие чего база данных в текущий момент имеет низкий уровень заполненности данными.

На рисунке 7 представлен пример хранения информации о должностях в компании.

Рисунок 7 - Таблица "Position"

Должности распределяются между сотрудниками по принципу, что у одного сотрудника может быть только 1 должность, но при этом несколько сотрудников могут иметь совпадающие должности. Пример хранения информации о сотрудниках представлен на рисунке 8.

Рисунок 8 - Таблица "Employee"

Для выполнения ряда работ строительная компания заказывает услуги субподрядчиков, информация о них представлена на рисунке 9. Субподрядчик, это юридическое лицо, у которого есть ИНН, КПП и номер телефона представителя, а также название.

Рисунок 9 - Таблица "Subcontractor"

Компания является также подрядчиком, вследствие чего выполняет заказы клиентов данной компании. Заказчиками, как правило, выступают какие-либо организации, либо юридические лица. Информация о них представлена в таблице 10.

Рисунок 10 - Таблица "Customer"

Для обозначения места ведения строительных работ используют понятие «строительный объект». Это физически существующее место, имеющее адрес, и как правило, название, хотя бы на уровне подрядчика. Информация об объекте строительства представлена в таблице 11.

Рисунок 11 - Таблица "Object"

Помимо этого, согласно законодательству, у строительных объектов обязаны быть паспорта, как правило это вывески рядом со строительными объектами. Таким образом, любой желающий может узнать: что строится, кем строится, когда строительство началось, и когда предполагается его окончание. Пример информации о паспорте объекта представлен на рисунке 12.

Рисунок 12 - Таблица "Passport"

Строительные работы принято подразделять на виды для облегчения процесса управления ими. Они имеют свою цену и единицы измерения, а также имя. Подобная хранящаяся в системе информация представлена на рисунке 13.

Рисунок 13 - Таблица "Type_Work"

Для выполнения каких-либо строительных работ между подрядчиком и субподрядчиком заключаются акты на проведение работ. Пример хранения информации об актах работ представлен на рисунке 14.

Рисунок 14 - Таблица "Act_Work"

Акты выступают формой отчётности о проделанной работе, затраченных деньгах и времени.

Таким образом, в данном разделе были приведены примеры реализации хранения обрабатываемой компанией информации.

4. Разработка программного обеспечения асу ооо «Энком Кабельные системы мегаполиса»

4.1 Анализ и выбор систем программирования

Операционная система, это программное обеспечение, с которым любой сотрудник работает на протяжении рабочего дня, и от которого зависит стабильность и качество работы автоматизированной системы, так как хранилища данных располагаются также на компьютерах, которые управляются и поддерживаются операционными системами, установленными на них.

Учитывая важность данного инструмента, были разработаны критерии, по которым были выбраны операционные системы, на которых будут работать сервер и АРМы.

Таким образом, критерии для операционной системы сервера:

  • высокая производительность. Так как на сервере будет развёрнута база данных, он должен быть в состоянии справляться с высокими нагрузками, учитывая тот факт, база данных предоставляет не только возможности по хранению данных, но и по их возврату по запросам. Помимо этого, выполнение самих запросов требует определённых ресурсов от системы. Исходя из перечисленного, использование систем, ориентированных на работу с однопроцессорными устройствами, недопустимо. Также, общий уровень производительности сервера зависит от того, сколько ресурсов тратит операционная система на своё собственное обслуживание. Это значит, что системы, требующие для работы меньше оперативной памяти и дискового пространства, при прочих равных будут иметь значительное преимущество над более перегруженными неиспользуемым в последствие функционалом операционными системами;

  • высокая гибкость настройки. В серверных операционных системах довольно важной является возможность очень тонко настраивать сервер, поэтому данный критерий хоть и не является самым важным, но остается предпочтительным;

  • высокий уровень экономической эффективности использования. Довольно серьёзным экономическим вопросом при выборе операционной системы является вопрос об экономической эффективности использования. Серверные ОС можно разделить на те, которые являются проприетарной собственностью, и ОС со свободной лицензией. Основное различие в уровне поддержки от производителя;

  • высокий уровень безопасности. На сервере развёрнута база данных, которая хранит информацию о текущих делах компании; попадание данной информации в чужие руки является довольно нежелательным событием, из-за чего соблюдение безопасности является необходимым критерием.

На основании указанных критериев в качестве операционной системы был выбран Linux дистрибутив CentOS.

Это обусловлено несколькими факторами. CentOS – дистрибутив, распространяющийся по лицензии GPL, что делает его весьма экономически выгодным, также, данный дистрибутив функционально совместим с Red Hat Enterprise Linux и разрабатывается в этой же компании, что указывает на его высокие показатели гибкости настройки и безопасности. Данный дистрибутив, как и многие дистрибутивы Linux, имеет высокий уровень производительности, так как количество функциональных возможностей по умолчанию сведено к необходимому минимум.

Критерии для операционной системы АРМов были выбраны следующие:

  • легкость в освоении. АРМами пользуются не сетевые администраторы со специальными знаниями в области работы с конкретными операционными системами, а обычные сотрудники с разным уровнем компьютерной грамотности, поэтому ОС должна быть очень «дружелюбной» к людям, не знакомым с ней, и как можно более интуитивно понятной;

  • по возможности, отсутствие необходимости в дополнительной настройке после установки ОС. Система должна быть максимально простой в развёртывании, а также время от момента установки до введения в полную дееспособность должно быть минимальным;

  • удобство в использовании. Операционная система должна предоставлять удобный и просто в использовании функционал для осуществления рабочих заданий.

Исходя из критериев, в качестве операционной системы АРМов была выбрана Windows 10. Данная операционная система является самой распространённой операционной системой домашнего использования, и в то же время, самой просто и дружелюбной к пользователю. Используя данную операционную систему, следует ожидать, что новый сотрудник уже будет знаком с частью её функционала, из-за чего время обучения будет значительно снижено, в следствие чего сотрудник раньше приступит к выполнению должностных обязанностей.

Следующее важное программное решение для поддержки системы, это система управления базой данных. СУБД представляют собой комплекс программ, позволяющих манипулировать базой данных и данными. Выбор СУБД также во многом влияет на стабильность и производительность системы в целом, так как СУБД бывают разными и для разных целей. Определимся с критериями выбора СУБД:

  • должна использоваться или хотя бы поддерживаться реляционная модель данных;

  • база данных должна быть рассчитана на малый и средний бизнес;

  • база данных должна быть надёжной. Под надёжностью подразумевается как сохранность информации независимо от любых сбоев и в любых условиях, так и защита от несанкционированного доступа, но в меньшей степени;

  • база данных должна быть масштабируемой. При выборе СУБД необходимо учитывать, сможет ли данная система соответствовать росту информационной системы, причем рост может проявляться в увеличении числа пользователей, объема хранимых данных и объеме обрабатываемой информации;

  • база данных должна иметь высокую производительность;

  • база данных должна отделять серверную и клиентскую часть. Под этим пунктом подразумевается то, что должна быть возможность установить БД на один компьютер, после чего через сеть подключаться к ней;

  • производитель должен предоставлять коннектор к базе данных для прикладных программ.

В качестве СУБД была выбрана Oracle Database. Выбор именно такой исходя из нескольких причин: данная СУБД поддерживает самые большие базы данных, хорошо обрабатывает транзакции, имеет высокий уровень надёжности.

Предоставлять сотрудникам АРМов прямой доступ к СУБД для выполнения задач нельзя по нескольким причинам:

  • сложный интерфейс взаимодействия;

  • тяжело контролировать и ограничивать действия пользователя;

  • устаревшие инструменты создания форм взаимодействия;

  • ограниченность функционала форм.

Решением данных проблем является разработка клиентских приложений с графическим интерфейсом. Данный подход обладает следующими преимуществами:

  • множество доступных решений, делающих разработку быстрой и комфортной;

  • лёгкость изменения интерфейса при необходимости;

  • легко ограничить пользователя;

  • легко отслеживать действия пользователя;

  • функциональные возможности практически ничем не ограничены.

Языков программирования существует великое множество, однако для удобными для разработки приложений с графическим пользовательским интерфейсом являются не все. Можно выделить следующие стеки технологий, на данный момент считающимися приемлемыми для выполнения поставленной задачи:

  • С#/WPF;

  • Java/JavaFX;

  • JS/Electron;

  • С++/QT.

После анализа достоинств и недостатков каждой технологии был выбран стек Java/JavaFX/JDBC(Hibernate). Данное решение принято вследствие следующих факторов:

  • в отличие от C#, язык Java изначально ориентировался на кроссплатформенность. Хотя в последнее время C# тоже развивается в этой сфере, однако всё ещё значительно уступает в этом Java, который изначально разрабатывался с учётом данного критерия;

  • Electron, по сути, является запускаемым браузером, что приводит к тому, что он потребляет неоправданно много ресурсов системы, помимо этого технология ещё достаточно новая, из-за этого не может считаться надёжным решением. Java/JavaFX куда менее требователен к ресурсам, предоставляя в замен те же функциональные возможности;

  • основная проблема C++/QT, это большой размер получаемых в итоге приложений. Помимо этого, сам по себе язык С++ является достаточно сложным для изучения и применения, и специалистов по нему найти сложнее, в дополнение к этому, они будут дороже стоить.

Таким образом, для разработки приложения в данном проекте будет использоваться язык программирования Java версии 16 сборки OpenJDK от Eclipse Temurin. Для создания графического интерфейса будет использоваться кроссплатформенный фреймворк JavaFX, для доступа к базе данных стандарт взаимодействия с БД JDBC и коннектор, предоставляем Oracle.