ДИПЛОМ (1206322), страница 3
Текст из файла (страница 3)
Базовый синтаксис и семантика Python минималистичны, а стандартные библиотеки, напротив, огромны и сложны. Python поддерживает несколько парадигмпрограммирования (ООП, императивное и функциональное) и обладает такимиособенностями, как полностью динамическая система типов и автоматическоеуправление памятью.Python разрабатывался как легко читаемый язык.
Его ключевая идея:«должен быть только один способ сделать это». Отсюда следует, что код, написанный одним разработчиком, может легко развиваться и поддерживаться другим. Кроме того, Python строго структурированный язык, с использованием отступов и синтаксисом кода. Это позволяет легко поддерживать крупные приложения.
Для отделения блоков кода используются отступы, а не фигурныескобки (как в С и С++) или ключевые слова (как в Delphi). Увеличение отступаидет после определенных операторов (if, def, for, try.), a уменьшение указываетна конец текущего блока.14Несмотря на тот факт, что Python используют Google, Yahoo!, CERN иNASA, у него есть серьезная проблема с популярностью, а точнее – распространенностью.
Причина – PHP проще.Разработка приложений на Python идет быстрее на 30%, чем на PHP, аего уязвимости составляют всего 0.67% от общего числа, против 36% у PHP(Python почти неуязвим).Node или Node.js – программная платформа, основанная на движке V8(транслирующем JavaScript в машинный код) превращающая JavaScript из узкоспециализированного языка в язык общего назначения.Node.js применяется преимущественно на сервере, выполняя роль вебсервера, но есть возможность разрабатывать на Node.js и настольные оконныеприложения (при помощи node-webkit и AppJS для Linux, Windows и MacOS) идаже программировать микроконтроллеры (например, tessel и espruino).
В основе Node.js лежит событийно-ориентированное и асинхронное (или реактивное) программирование с неблокирующим вводом/выводом. Эта модель былавыбрана из-за простоты, низких накладных расходов (по сравнению с идеологией «один поток на каждое соединение») и быстродействия.При выборе технологии разработки веб-приложения необходимо учесть,какое программное обеспечение установлено на предприятии. В целях экономии, выберем наиболее подходящую по параметрам технологию. На дистанции,как и в целом на ОАО «РЖД», используется большое количество программныхпродуктов компании Microsoft. В число этих продуктов входят операционныесистемы, сервера баз данных и другое системное ПО.
Исходя из этого, разумным представляется выбрать технологию компании Microsoft, поскольку онипредставлены на дистанции в большом объёме.Инструменты на основе кода ASP.NET популярны по следующим причинам:наличие средства визуального программирования – уменьшениевремени разработки в 2 и более раз;реализация объектной модели приложения;15выполняемый код означает откомпилированное приложение;поддержка технологии Microsoft.NET встроена в ОС Microsoft.1.4 Microsoft Visual Studio.NET как средство для созданиявеб-приложенийASP.NET является единой моделью для разработки веб-приложений сприменением минимума кода, которая содержит службы, необходимые для построения веб-приложений для предприятий.
ASP.NET является частью платформы .NET Framework, а потому обеспечивает доступ к классам этой платформы. Приложения могут быть написаны на любом языке среды CLR, включая Microsoft Visual Basic, C#, JScript .NET и J#. Эти языки позволяют разрабатывать приложения ASP.NET, которые могут использовать все преимуществасреды CLR, типовой безопасности, наследования и т.д [2].Microsoft Visual Studio – это новая разработка компании Microsoft, позволяющая создавать приложения, работающие на платформе .NET.
Особенность этой платформы заключается в широком наборе сервисов, которые доступны в различных языках программирования. При этом сервисы реализуютсяв виде промежуточного кода, который не зависит от базовой архитектуры. Едвали не главной целью создания такой платформы было оснащение разработчиков специальными сервисно-ориентированными приложениями, которые моглибы работать на любой платформе, начиная от персонального компьютера и заканчивая мобильным устройством.Microsoft Visual Studio объединяет в себе огромное количество функций,позволяющих осуществлять разработки для Windows всех версий, в том числе и10, Интернета, SharePoint, различных мобильных устройств и облачных технологий.
В Visual Studio реализуется новая среда разработчика, благодаря которойсоздавать приложения стало проще. Microsoft Visual Studio – это обновленная иупрощенная программная среда, для которой характерна высокая производительность, причем она не зависит от особенностей оборудования [3].162 Проектирование структуры базы данных и веб-приложения2.1 Описание автоматизируемых процессов и функцийВеб-приложения представляют собой набор страниц, объединенных общей функциональностью. Все веб-приложения являются клиент-серверными. Внастоящий момент веб-приложения используются как внутри предприятий влокальных сетях (интранет-приложения), так и рассчитанные на общее использование (интернет-приложения).Как и для обычных приложений, универсальной схемы построения вебприложения не существует, поскольку различные приложения требуют различных подходов к обработке данных, построению пользовательского интерфейсаи т.д.На рисунках 2.1 и 2.2 представлена модель AS-IS, в нотации IDEF0,процесса выдачи спецодежды, имеющейся в настоящий момент на предприятии.Рисунок 2.1 – Процесс выдачи спецодежды в модели AS-IS17Рисунок 2.2 – Процесс выдачи спецодежды в модели AS-ISНесмотря на важность снабжения сотрудников спецодеждой и контролясрока использования, процесс учета спецодежды происходит вручную кладовщиком.
Отсюда вытекает проблема человеческого фактора, в связи с тем, что надистанции происходит большая текучесть кадров, большому количеству людейнужно выдавать, заменять экипировку. Соответственно, сотрудник может совершить ошибку, например, выдать непроверенный комплект, либо с истекшимсроком использования, или ошибиться в заполнении личной карточки. Единственным решением стало создание веб-приложения.Предполагается, что разрабатываемая система должна быть многопользовательской и в ней будет предусмотрено разделение пользователей по ролям.В системе определены следующие роли для пользователей:начальник производственно-технического отдела;начальник цеха;кладовщик.18Начальник ПТО имеет доступ на чтение ко всем данных вебприложения, может получать любой отчет, он рассматривает, подтверждает илиотклоняет заявки на списание, выдачу и заказ СИЗ (рисунок 2.3).Просмотр отчетов«extends»Запросить выгрузку отчетностиРассмотрение заявок«extends»Возможность одобрения заявкиПросмотр остатков СИЗНачальник ПТОПросмотр личных карточекРисунок 2.3 – Диаграмма вариантов использования для начальника ПТОНачальник цеха имеет доступ на просмотр отчетов, заявок, личных карточек и экрана выдачи спецодежды.
Также он может оставлять заявку на СИЗ,формировать и редактировать личные карточки и экраны выдачи спецодежды(рисунок 2.4).Просмотр отчетов«extends»Просмотр заявокНачальник цехаОставить заявку«extends»Просмотр личных карточекРедактирование, добавлениеРисунок 2.4 – Диаграмма вариантов использования для начальника цехаКладовщик имеет доступ на просмотр заявок, личных карточек и экранавыдачи спецодежды. Также он может проверять сроки использования СИЗ, ос-19тавлять заявку на СИЗ, редактировать личные карточки и экраны выдачи спецодежды (рисунок 2.5).«extends»Оставить заявкуПросмотр заявок«extends»Просмотр личных карточекРедактированиеКладовщикПросмотр остатков СИЗРисунок 2.5 – Диаграмма вариантов использования для кладовщикаПравила доступа к функциям системы в зависимости от роли пользователя представлены в таблице 2.1.Таблица 2.1 – Матрица ролей и функций+++++–Начальникцеха++–++–НачальникПТО++++–+++––+––+––+–Действие в системеКладовщикПросмотр личной карточкиПросмотр экрана выдачи спецодеждыПросмотр остатков СИЗПросмотр сводных заявокОставить сводную заявкуОдобрение сводной заявкиРедактирование личных карточек и экранавыдачи спецодеждыФормирование личных карточек и экранавыдачи спецодеждыВыгрузка отчетностиДобавление поступлений СИЗ2.2 Структура базы данныхОсновой любого веб-приложения баз данных является база данных.
После этапа разделения ролей, можем приступить к описанию базы данных.20База данных – это совокупность интегрированных данных, организованных на машинном носителе средствами СУБД [4]. Ядром любой базы данныхявляется модель данных. Модель данных – совокупность структур данных иопераций их обработки [5]. По способу установления связей между даннымиразличают иерархическую, сетевую и реляционную модели.В СУБД для персональных компьютеров применяется преимущественнореляционная модель, которую отличает простота и единообразие представленияданных простейшими двумерными таблицами.На начальном этапе разработки веб-приложения есть набор данных,представленный в таблице 2.2.Таблица 2.2 – Входной набор данных№123456789101112131415161718ПолеFIONFIOPolSCloseSShoesSHeadSPrSHandHeightProffSizNumbSizNumberEIPriceDatePSPIDateVТипТекстовыйЧисловойТекстовыйЧисловойЧисловойЧисловойЧисловойЧисловойЧисловойТекстовыйТекстовыйЧисловойТекстовыйТекстовыйЧисловойДатаЧисловойДатаРазмер60–10––––––5050–3015––––ПримечаниеФИО работникаТабельный № работникаПолРазмер одеждыРазмер обувиРазмер головного убораРазмер противогазаРазмер рукавицРостПрофессияНаименование СИЗНоменклатурный номерКоличество на складеЕИЦенаДата поступленияСрок использованияДата выбытияПриступая к созданию веб-приложения, очень важно уделить должноевнимание структуре таблиц базы данных.
В теории реляционных баз данныхдля устранения избыточности, которая может привести к логически ошибочным результатам выборки, предъявляют требования, называемыми нормальнойформой. Данные, представленные в виде двумерной таблицы, являются первой21нормальной формой реляционной модели данных.
Таблица 2.2 является ненормализованной.Отношение задано во второй нормальной форме, в случае, если оно является отношением в первой нормальной форме и каждый атрибут, не являющийся первичным в данном отношении, полностью зависит от любого возможного ключа этого отношения. В результате приведения таблицы 2.2 ко 2 НФ,получим следующие таблицы (таблицы 2.3, 2.4, 2.5).Таблица 2.3 – Данные о работниках№12345678910ПолеFIONFIOProffPolHeightSCloseSShoesSHeadSPrSHandТипТекстовыйЧисловойТекстовыйТекстовыйЧисловойЧисловойЧисловойЧисловойЧисловойЧисловойРазмер60–5010––––––ПримечаниеФИО работникаТабельный № работникаПрофессияПолРостРазмер одеждыРазмер обувиРазмер головного убораРазмер противогазаРазмер рукавицРазмер50203015ПримечаниеНаименование СИЗНоменклатурный номерКоличество на складеЕИТаблица 2.4 – Данные о СИЗ№1234ПолеSizNumbSizNumberEIТипТекстовыйЧисловойТекстовыйТекстовыйТаблица 2.5 – Данные о наличии СИЗ на складе№12345ПолеNumbSizNumbDatePSPIDateVТипЧисловойЧисловойДатаЧисловойДатаРазмер–––––ПримечаниеНоменклатурный номерКоличество на складеДата поступленияСрок использованияДата выбытияОтношение задано в третьей нормальной форме, в случае если оно задано во второй нормальной форме и каждый атрибут этого отношения, не являющийся первичным, не транзитивно зависит от каждого возможного ключаэтого отношения.