1 СТРУКТУРА ПРЕДПРИЯТИЯ. ХАРАКТЕРИСТИКА ОСНОВНЫХ ВИДОВ ДЕЯТЕЛЬНОСТИ Технологическая практика проходила в ООО «РБИ-софт». Предметом деятельности ООО «РБИ-софт» является разработка специализированного программного обеспечения для энергосистем и промышленных предприятий, а также, разработка программного обеспечения и сайтов на заказ. Организация имеет возможность выполнять следующие виды работ: 1) разработка специализированного программного обеспечения для энергосистем и промышленных предприятий; 2) разработка специфического программного обеспечения на заказ; 3) разработка сайтов на заказ. Создания программного обеспечения в ООО «РБИ-софт» включают в себя процессы постановки задачи, разработки и сопровождения программного обеспечения в течении всего жизненного цикла. Схема структуры организации изображена на рисунке 1. Рисунок 1 – Схема структуры организации ООО «РБИ-софт» ООО «РБИ-софт.» состоит из следующих отделов: 3 1) коммерческий отдел – занимается созданием определённой системы мероприятий, направленной на регулирование процессов куплипродажи, удовлетворение спроса и получения прибыли; 2) отдел разработки – занимается разработкой и сопровождением программного обеспечения для энергосистем промышленных предприятий и других структур. Кроме основных программных пакетов, разрабатываемых ООО «РБИсофт», организация выполняет заказы на разработку специфического программного обеспечения, включая аналоги западных программных пакетов. 4 ОПИСАНИЕ СТРУКТУРЫ ОТДЕЛА, ГДЕ ПРОХОДИЛА 2 ПРАКТИКА ООО «РБИ-софт» состоит из двух отделов: коммерческий и разработки программного обеспечения. Технологическая практика проходила в отделе разработки программного обеспечения. Отдел разработки осуществляет следующие задачи: 1) анализ требований к проекту; 2) проектирование; 3) разработка прототипов; 4) разработка программного обеспечения; 5) тестирование продукта; 6) внедрение и поддержка. Диаграмма потоков данных отображена на рисунке 2. Рисунок 2 – DFD модель 5 В отделе разработки осуществляют работу 2 компьютера, соединенные между собой в одну сеть. Компьютеры отдела разработки имеют следующие характеристики: 1) процессор: Intel Core i5; 2) объём оперативной памяти: 6 Gb; 3) видеокарта выносная на 1 Gb; 4) жесткий диск на 1 Tb; 5) монитор Asus 19"; 6) дисковый привод CD-RW. Схема подключения компьютеров по локальной сети, отображена на рисунке 3. Рисунок 3 – Схема подключения компьютеров по локальной сети На данных компьютерах установлена операционная система Windows 10. Также, на данных ЭВМ установлено следующее программное обеспечение: 1) «Microsoft Office 2016». Программное обеспечение для работы с различными типами документов: текстами, электронными таблицами, базами данных; 2) «Visual Studio Code». Кроссплатформенный редактор исходного кода, поддерживающий базовые возможности интегрированной среды разработки, созданный в Microsoft; 6 3) «FileZilla». Один предназначенный из лучших, бесплатный для загрузки и FTP-менеджер, скачивания файлов с разнообразных FTP-серверов; 4) «Visual studio». Линейка продуктов компании Microsoft, включающих интегрированную среду разработки программного обеспечения и ряд других инструментальных средств; 5) «Google Chrome», «Mozila Firefox». Прикладное программное обеспечение для просмотра веб-страниц, содержания веб- документов, компьютерных файлов и их каталогов; 6) «Photoshop CS6». Многофункциональный графический редактор; 7) «PHPMyAdmin». Веб-приложение с открытым кодом, написанное на языке PHP и представляющее собой веб-интерфейс для администрирования СУБД MySQL. В результате, структура отдела «разработка программного обеспечения» в ООО «РБИ-софт» была полностью изучена. 7 ДОЛЖНОСТНЫЕ 3 ОБЯЗАННОСТИ СТАРШЕГО И МЛАДШЕГО ПРОГРАММИСТА В ООО «РБИ-софт», в техническом отделе, имеются две должности: старший и младший программист. Старший программист – человек ответственный за качество и своевременность работ по разработке информационно-программных систем, основанных на применении новейших программных технологий. Обладает глубокими, структурированными знаниями. В его обязанности входит: 1) детальное проектирование и создание спецификаций проектов; 2) полностью контролирует и самостоятельно выполняет проектирование мелких проектов и внутренних под-проектов (модулей), программирование и базовое тестирование компонентов. 3) Младший программист – выполняет задачи по написанию и базовому тестированию порученных ему компонентов системы, работает разработчик по внешним спецификациям. Занимается как архитектурой проектов, так и модульной реализацией, производит реализацию работоспособности прототипов, постоянно занимается самообразованием, понимает алгоритмы, Software Engineering Process, обладает знаниями в следующих областях: языки разметки, понимание технологии web-серверов и серверов приложений, знанием клиентских и серверных технологий, работы браузера, СУБД, операционных систем, офисных пакетов, сред разработки, профильных языков программирования, технического английского. 8 4 ПЕРЕЧЕНЬ СТАДИЙ, ЭТАПОВ И СРОКОВ РАЗРАБОТКИ ПРОГРАММЫ И САЙТА Основные этапы разработки программного обеспечения: 1) разработка алгоритма; 2) кодирование; 3) отладка; 4) тестирование; 5) создание справочной системы. На первом этапе, происходит подробное описание исходных данных, осуществляется формулировка требований к получаемому результату, рассматриваются всевозможные поведения программы при возникновении особых случаев, происходит разработка диалоговых окон, которые обеспечат взаимодействие пользователя и самой программы. На втором этапе программист определяет последовательность необходимых действий, которые впоследствии нужно выполнить для получения желаемого результата. На третьим этапе, после проведения спецификации и составления алгоритма решения, используемый алгоритм в итоге будет записан на необходимом языке программирования (Pascal, Delphi, C++ или Java). Результатом этапа кодирования является готовая программа. На этапе «Отладка», программист занимается отладкой программы, то есть поиском и устранением ошибок. Последние делятся на две группы: алгоритмические и синтаксические (ошибки в тексте исходной программы). Из этих двух групп ошибок наиболее легко устранить синтаксические ошибки, тогда как алгоритмические ошибки определить достаточно трудно. На последнем этапе, выполняется тестирование программы. Очень важный этап, поскольку в большинстве случаев программисты создают программы не для личного применения, а чтоб их программой пользовались другие. На этапе тестирования разработчик проверяет поведение программы при 9 большом числе наборов входных данных, как верных, так и специа Если программист разрабатывает программу, чтоб ею впоследствии пользовались другие, то программисту необходимо разработать справочную систему и установить для пользователя легкий быстрый доступ к этой справочной системе при работе с программой. Современные программы обладают справочной информацией, имеющей форму CHM- или HLP-файлов неверных. Основные этапы создания веб-сайта: 1) определение целей веб-сайта и его позиционирование; 2) создание Технического Задания (ТЗ) на разработку веб-сайта; 3) создание дизайн-макета веб-сайта; 4) верстка сайта; 5) программирование сайта; 6) наполнение сайта информацией; 7) тестирование сайта. На первом этапе необходимо определить, для чего нужен сайт, т.е. какие задачи он должен решать: предоставить общее представление о компании или многосторонне осветить какую-либо сторону человеческой деятельности, увеличить продажи по традиционным каналам или организовать веб-торговлю, провести рекламную или маркетинговую кампанию. Следующим этапом, разрабатывается техническое задание. В техническом задании необходимо как можно более подробно описать: 1) цели создания сайта и его целевую аудиторию; 2) структуру веб-сайта и количество страниц в каждом разделе; 3) работу динамических модулей; 4) пожелания по дизайну (цвета, использоание фирменного стиля, соотношение графика/текст); 5) используемые технологии; 6) порядок предоставления, обработки или создания графической и текстовой информации; 7) технические требования к сайту. 10 ТЗ является основным документом, на основе которого осуществляются все последующие этапы разработки веб-сайта. Третьим этапом, дизайнер в специальной графической программе создает дизайн страниц будущего веб-сайта с прорисовкой всех графических (банеров, кнопок, фотографий) и текстовых элементов. Дизайнер создает дизайн вебстраниц с учетом пожеланий заказчика и задания, прописанного в техническом задании. После того, как заказчик утвердил дизайн-макет (в письменном виде или по электронной почте) за работу принимается верстальщик – это тот человек, который переводит дизайн-макет на язык, понятный компьютеру с использованием языка HTML. Пятым этапом, происходит программирование веб-сайта. Очень часто этап программирования и верстки объединяют в один. На мелких и средних проектах оба действия в состоянии выполнить один человек. На крупных проектах в силу специфики работ эти этапы разделяют. На этапе программирования происходит создание всех страниц сайта, определяется порядок работы меню, расставляются гипер-ссылки, создается динамика на сайте, программируются такие составляющие, как гостевая книга, форум, новостная лента. Наполнение сайта информацией. На этом этапе информация, предоставленная заказчиком, размещается на сайте, т.е. путем перевода в специальный формат текст и графика располагаются на сайте на определенных страницах, и эта информация становится доступной для просмотра. На последнем этапе, происходит тестирование сайта. Его можно осуществить как до, так и после размещения сайта по его «родному» адресу. На этом этапе выявляются все ошибки и недочеты в программировании и написании текстов. Срок тестирования зависит от сложности проекта, но, как правило, не превышает 1 месяца. 11 5 ТЕХНИЧЕСКОЕ ЗАДАНИЕ НА РАЗРАБОТКУ ПРОГРАММНОГО ДОКУМЕНТА 5.1 Введение Анализ проблем управления большими и сложными системами осуществляется, как правило, с позиции системного подхода. Системный подход позволяет упорядочить исходную информацию о сложной системе: понизить уровень сложности, осуществить решение задач проектирования и управления сложными по отношению к интеллектуальным возможностям человека объектам. Техническое задание составлено для разработки «Веб-сервис автоматизированное рабочее место менеджера сервисного центра по ремонту и обслуживанию компьютеров». Анализ проблем управления большими и сложными системами осуществляется, как правило, с позиции системного подхода. Системный подход позволяет упорядочить исходную информацию о сложной системе: понизить уровень сложности, осуществить решение задач проектирования и управления сложными по отношению к интеллектуальным возможностям человека объектам. Требования к разработке: 1) пользовательский интерфейс должен быть прост, удобен и доступен даже неподготовленному пользователю; 2) необходимо обеспечивать безопасность специалиста и выполнение всех эргономических требований (комфортность, цветовую и звуковую гамму, соответствующие удобство расположения наилучшему восприятию, информации и доступность всех необходимых для работы средств, единый стиль выполнения операций и т.д.); 12 3) пользователь АРМ должен выполнять все действия, не выходя из системы, поэтому требуется оснащенность всеми необходимыми операциями; 4) обеспечение бесперебойности работы АРМ должно гарантировать пользователю своевременное выполнение задач, в соответствии с графиком работы. Сбои в производстве недопустимы; 5) рациональная организация труда специалиста создает комфортные условия для работы и повышает производительность труда специалиста. 5.2 Основание для разработки Основанием для разработки веб-сервиса «Автоматизированное рабочее место менеджера сервисного центра по ремонту и обслуживанию компьютеров», является индивидуальное задание по технологической практике. 5.3 Назначение разработки Автоматизированное рабочее место – совокупность информационнопрограммно-технических ресурсов, обеспечивающих конечному пользователю обработку данных и автоматизацию управленческих функций в конкретной предметной области. При этом предполагается, что операции по накоплению, хранению и переработке информации возлагаются на вычислительную технику, а специалист выполняет часть ручных операций и операций, требующих творческого подхода. Создание автоматизированных рабочих мест позволяет эффективно обрабатывать большие потоки информации, которые имеют определенную структуру, зависящую от особенностей места применения. Это позволяет осуществлять индивидуальный подход к автоматизации именно тех функций, которые выполняются данным подразделением. 13 Автоматизированное рабочее место менеджера сервисного центра по ремонту и обслуживанию компьютеров позволит значительно сократить время выполнение работы и повысить их точность, облегчить труд менеджера. 14 6 ТЕХНИКО-РАБОЧИЙ ПРОЕКТ 6.1 Постановка задачи Создание любой программы начинается с постановки задачи. Изначально задача формулируется в терминах предметной области, и необходимо перевести ее на язык понятий, более близких к программированию. Поскольку программист редко досконально разбирается в предметной области, а заказчик – в программировании, постановка задачи может стать весьма непростым итерационным процессом. Для разработки сервиса «Автоматизированное рабочее место менеджера сервисного центра по ремонту и обслуживанию компьютеров», использовать следующие исходные данные: 1) список производителей; 2) список типов устройств; 3) список комплектности принятого на ремонт устройства; 4) список менеджеров компании; 5) список клиентов компании; Отображение актуальной информации в главном окне программы. Актуальной информацией является список заявок, которые необходимо выполнить и список неисправного оборудования, которое нуждается в ремонте. 6.2 Выбор среды разработки программного продукта На этом этапе также определяется среда, в которой будет выполняться программа: требования к аппаратуре, используемая операционная система и другое программное обеспечение. Придерживаясь индивидуального задания «Автоматизированное рабочее место менеджера сервисного центра по ремонту и обслуживанию компьютеров» будет web-сайтом. Для реализации задуманного интерфейса, потребуется 15 использовать язык разметки «HTML(с подключённым фреймворком «Bootstrap»)» и язык стилей «CSS». Для хранения данных будет использоваться реляционная система управления базами данных «PhpMyAdmin». Затем, для реализации задуманных функций будет использоваться язык программирования «PHP» и скриптовый язык программирования «JavaScript». Подключим к «PHP» фреймворк «Yii2», а также, для JavaScript библиотека «JQuery». Сервис будет адаптирован под все браузеры и операционные системы. А также, будет доступен в мобильной версии. 6.3 Определение структуры данных База данных – представленная в объективной форме совокупность самостоятельных материалов (статей, расчётов, нормативных актов, судебных решений и иных подобных материалов), систематизированных таким образом, чтобы эти материалы могли быть найдены и обработаны с помощью электронной вычислительной машины. СУБД (Система управления базами данных) – это совокупность языковых и программных средств, предназначенных для создания, ведения и совместного использования БД многими пользователями. Система управления базами данных (СУБД) является посредником между базой данных и ее пользователями. SQL – декларативный язык программирования, применяемый для создания, модификации и управления данными в реляционной базе данных, управляемой соответствующей системой управления базами данных. MySQL – свободная реляционная система управления базами данных. PhpMyAdmin — веб-приложение с открытым кодом, написанное на языке PHP и представляющее собой веб-интерфейс для администрирования СУБД MySQL. Для правильной разработки базы данных вначале требуется изучить предметную область. База данных должна быть сформирована таким образом, 16 чтобы хранить в себе максимально большое количество нужной информации при этом не быть заполненной ненужными данными. Автоматизированное рабочее место менеджера сервисного центра по ремонту и обслуживанию компьютеров, имеет 11 сущностей: 1) brands; 2) cass; 3) cass_operations; 4) client; 5) comment; 6) manager; 7) model; 8) order; 9) order_status; 10) type_device; 11) user. Сущность – это реальный или представляемый тип объекта, информация о котором должна сохраняться и быть доступна. Первая сущность, хранит в себе наименования брендов. Структура и атрибуты данной таблицы, отображены на рисунке 4. Рисунок 4 – Структура и атрибуты сущности «brands» Вторая сущность, хранит в себе количество денег в кассе, у определённого пользователя. Структура и атрибуты данной таблицы, отображены на рисунке 5. 17 Рисунок 5 – Структура и атрибуты сущности «cass» Следующая сущность – «cass_operations». Данная таблица, хранит в себе операции движения по кассе. Структура и атрибуты данной таблицы, отображены на рисунке 6. Рисунок 6 – Структура и атрибуты сущности «cass_operations» Четвёртая таблица – «client». В данной сущности хранится информация о клиенте компании. Структура и атрибуты данной таблицы, отображены на рисунке 7. Рисунок 7 – Структура и атрибуты сущности «cass_operations» Далее, сущность «comment», хранит в себе комментарии к принятой на ремонт технике. Структура и атрибуты данной таблицы, отображены на рисунке 8. Рисунок 8 – Структура и атрибуты сущности «comment» 18 Шестая сущность – «manager». Хранит в себе имя менеджера, принявшего технику на ремонт. Структура и атрибуты данной таблицы, отображены на рисунке 9. Рисунок 9 – Структура и атрибуты сущности «manager» Сущность «order_status», хранит в себе список статусов заказа. Структура и атрибуты данной таблицы, отображены на рисунке 10. Рисунок 10 – Структура и атрибуты сущности «order_status» Таблица «type_device», хранит в себе список типов устройств. Структура и атрибуты данной таблицы, отображены на рисунке 11. Рисунок 11 – Структура и атрибуты сущности «type_device» Предпоследняя сущность – «user». Хранит в себе данные о пользователях, их имя, пароль и т.д. Структура и атрибуты данной таблицы, отображены на рисунке 12. 19 Рисунок 12 – Структура и атрибуты сущности «user» Последняя сущность базы данных – «order». Является ключевой таблицей, которая связывает в себе большинство сущностей базы данных. Структура и атрибуты данной таблицы, отображены на рисунке 13. Рисунок 13 – Структура и атрибуты сущности «order» 20 Реляционная модель ориентирована на организацию данных в виде двумерных таблиц. Каждая реляционная таблица представляет собой двумерный массив и обладает следующими свойствами: 1) каждый элемент таблицы – один элемент данных; 2) все столбцы в таблице однородные, т.е. все элементы в столбце имеют одинаковый тип (числовой, символьный и т.д.) и длину; 3) каждый столбец имеет уникальное имя (заголовки столбцов являются названиями полей в записях); 4) одинаковые строки в таблице отсутствуют; 5) порядок следования строк и столбцов может быть произвольным. Таким образом, с использованием реляционного языка запросов «SQL» и системы управления базами данных «PhpMyAdmin», сущности были полностью спроектированы и смоделированы. 21 7 ТЕСТИРОВАНИЕ Тестирование программного обеспечения - процесс исследования программного обеспечения с целью получения информации о качестве продукта. Для проверки и оценки программы, выбрали следующий тестовый вариант: стохастическое тестирование. Стохастическое тестирование – тестирование программ, при котором исходные тестовые данные берутся случайным образом (с использованием статистического распределения). Существующие на сегодняшний день методы тестирования ПО не позволяют однозначно и полностью выявить все дефекты и установить корректность функционирования анализируемой программы, поэтому все существующие методы тестирования действуют в рамках формального процесса проверки исследуемого или разрабатываемого ПО. Такой процесс формальной проверки или верификации может доказать, что дефекты отсутствуют с точки зрения используемого метода. Сортировка базы данных – это упорядочение записей по значениям одного из полей. Сортировка записей производится по какому-либо полю базы данных. Значения, содержащиеся в этом поле, располагаются в порядке возрастания или убывания. В процессе сортировки целостность записей сохраняется, т. е. строки таблицы перемещаются целиком. Автоматизированное рабочее место менеджера сервисного центра по ремонту и обслуживанию компьютеров, было протестировано с использованием метода «Стохастическое тестирование» и не выявило активных ошибок. Выборка данных из базы данных происходит на высокой скорости. При добавлении записей, стоят многочисленные проверки наполненности полей, а также, маски ввода данных. В результате тестирования, ошибок выявить не удалось. Программа готова к использованию. 22 ВЫВОД 8 В ходе выполнения задания технологической практики, была разработан сервис, с использованием двух языков программирования «PHP» и «JavaScript», языка разметки – «HTML», язык стилей – «CSS», а также, с помощью языка структурированных запросов «SQL». Изучены возможности данного языка. Было изучено взаимодействие скриптов, написанных на «PHP» с базами данных под управлением «PhpMyAdmin». Изучены и исследованы автоматизированные информационные системы. Основное внимание информации, уделено способов изучению современных проектирования методов приложений, защиты объектно- ориентированному и системному программированию. Разработанное обеспечение быстро и безошибочно справляется с поставленной задачей хранения и обработки информации. В удобном интерфейсе воплощены все необходимые для данной работы возможности. В процессе тестирование были обнаружены и исправлены некоторые ошибки, возникающие при работе. Основная их масса возникали из-за проблем, связанных с взаимодействием программы оболочки и самой базы данных. Программный продукт был опробован на предприятии и в данный момент используется, что показывает его актуальность и целесообразность. 23 ЛИТЕРАТУРА 1 Албахари, Б. JavaScript 6.0. Справочник. Полное описание языка. 6-е изд./ Албахари Д., Албахари Б. – Издательство «Вильямс», 2016. 2 Грин, Д. Изучаем PHP. 2-е изд./ Стиллмен Э., Грин Д.– Питер, 2012. 3 Зиборов, В.В. HTML 2012 на примерах – БХВ-Петербург, 2013. 4 Карли, Н. CSS 4.0 и платформа .NET 4 для профессионалов/ Скиннер, К. Карли Н. – Издательство «Вильямс», 2011. 5 Шилдт, Г. PHP 4.0. Полное руководство – Издательство «Вильямс», 6 Виссер, Дж. Building Maintainable Software (PHP) – Издательство 2015. ДМК Пресс, 2017. 7 Трей, Н. JavaScript 2010. Ускоренный курс для профессионалов – Издательство «Вильямс», 2016. 24