Проектирование и создание информационной системы
Скачать 0.7 Mb.
|
Министерство образования и науки Российской Федерации ФГБОУ ВО «Уральский государственный педагогический университет» Институт математики, физики, информатики и технологий Кафедра физики и математического моделирования Проектирование и создание информационной системы для торговой организации Выпускная квалификационная работа Квалификационная работа допущена к защите Зав.кафедрой ФиММ д.ф-м.н., профессор Сидоров Валерий Евгеньевич Исполнитель: Терехов Григорий Юрьевич обучающийся ID-51z группы подпись дата подпись Руководитель: Кощеева Елена Сергеевна, к.п.н., доцент кафедры ФиММ подпись Екатеринбург 2017 Содержание Проектирование и создание информационной системы 1 для торговой организации 1 Содержание 2 Введение 3 1.1. Особенности информатизации торговой организации 5 Веб-приложения имеют свои положительные особенности, соблюдающие и дополняющие свойства открытых систем [4]: 11 1.2. Стандарты разработки веб-приложений 17 2.1. Разработка серверной части информационной системы 24 Mariadb 30 2.2. Разработка клиентской части информационной системы 45 2.3. Тестирование и обзор информационной системы 56 «Главная панель» 65 «Заказы» 68 «Клиенты» 69 «Поставщики» 70 «Статистика» 72 «Задачи» 73 «Логи» 76 Минимальные требования к аппаратному и программному обеспечению: 77 Заключение 80 Список источников и литературы 82 «./index.php» - главный файл веб-приложения. 84 «./templates/all.html» - главный HTML шаблон веб-приложения. 88 «./components/functions.php» - файл содержащий пользовательские PHP- функции. 91 «./components/pages/reports.php» - файл содержащий PHP-код раздела статистики. 108 Введение В современном мире люди повсеместно используют интернет в качестве универсального и функционального инструмента во многих сферах жизнедеятельности человека. Расширяясь и развиваясь, глобальная сеть получила большую значимость для коммерческой деятельности. Интернет привлёк широкий интерес со стороны бизнеса, благодаря активному формированию электронной коммерции, появлению виртуальных торговых площадок, широким возможностям рекламы и повышению уровня экономического взаимодействия в информационном поле. Успешность коммерческих организаций всё больше зависит от эффективности и полноты использования информационных и интернет технологий, наиболее актуальным являются информационные системы для накопления, хранения и обработки информации. Такая потребность подтверждается в высоком спросе на рынке соответствующего программного обеспечения. Однако из-за постоянно растущих и меняющихся требований в информатизации и автоматизации, существующие предложения в ряде случаев не могут удовлетворить всех потребностей. Из примеров можно выделить следующие проблемы, с которыми сталкиваются торговые организации при выборе ПО: высокая цена - гиганты IT индустрии часто предлагают большие и удовлетворяющие текущим потребностям программные комплексы, однако их приобретение и обслуживание, могут позволить организации только с высоким финансированием информатизации; нехватка специалистов на рынке труда - проблема возникает с использованием ИС созданной на базе специфичного или неактуального программного и/или аппаратного обеспечения. Стоимость услуг таких специалистов соответственно может нести значительные затраты; низкое качество безопасности - при критичности и необходимости высокого уровня безопасности выбор на рынке программного обеспечения становится ещё более меньшим. Небольшие компании-разработчики часто не имеют возможность обеспечить безопасность своей системы на высочайшем уровне, а IT-гиганты с популярными и огромными программными комплексами постоянно сталкиваются со взломом их систем и по мере нахождения слабых мест выпускают обновления безопасности, которые не редко приходят постфактум - после взлома; сложность в обслуживании - может выражаться в необходимости обучения сотрудников для работы в системе, дополнительных и не редко, высоких затратах для поддержания работы, необходимостью в найме дорогих специалистов; отсутствие интеграции и современного функционала - с такой проблемой может столкнуться как малая организация-разработчик из-за недостатка ресурсов, так и крупные организации из-за трудности внедрения новых технологий в большие программные комплексы. Постоянно развивающиеся интернет-технологии создают новые потребности на рынке программных продуктов и являются главным фактором актуальности разработки новых информационных систем для торговых организаций. Цель работы: проектирование и создание информационной системы для хранения, наполнения и обработки информации для повышения эффективности бизнес-процессов торговой организации. Задачи работы: Составление и анализ актуальных требований информатизации и автоматизации коммерческих организаций. Изучение средств, стандартов и методологий разработки создания информационной системы, решающей комплекс задач в информатизации и автоматизации торговой деятельности. Создание информационной системы для хранения, наполнения и обработки информации, сопутствующей бизнес-процессам. Глава 1. Информационные технологии создания систем 1.1. Особенности информатизации торговой организации В системе социальных и экономических связей происходят заметные изменения, вызванные ростом использования интернет-технологий. Новые методы и средства для взаимодействия между людьми и организациями, формируют современную среду ведения бизнес-деятельности, в которой торговым организациям необходимо взаимодействовать с информационными ресурсами, организовывать обмен информацией в реальном времени, мгновенно и независимо от расстояния. Исходя из этого есть необходимость во внедрении новейших способов управления процессами и информацией в среде электронной коммерции, которые будут отвечать современным требованиям рынка [15]. Большая доля прикладных процессов торговой организации составляет работа с реестрами данных [3], таких как: клиенты, поставщики, заказы, товары, а также координация взаимодействия с контрагентами, распределение задач для сотрудников, анализ и аналитика цен, роста и падения продаж, анализ действий по привлечению новых клиентов. В процессе информирования клиентов важно иметь реестр актуальных данных о товарах, информацию о клиенте, историю его покупок, возможность добавить нового клиента в базу данных, быстро сформировать новый заказ или обработать уже существующий, иметь электронное средство коммуникации [12]. В процессе оформления покупки есть необходимость формирования таких документов, как накладная, торговый чек. Процессы руководства организации требуют возможность аналитики и анализа поступления прибыли (заказов). Используя базы данных руководитель отдела продаж может проводить аналитику успешности торговли за определённый период времени, прогноз продаж на будущее и анализ эффективности предпринятых ранее действий, к примеру, показатель успешности новой рекламной кампании. Для этого в определённый момент времени руководитель ОП собирает данные по заказам и контрагентам, анализирует данные и формирует выводы в отчёт деятельности организации, чтобы затем предоставить его своему руководителю — директору. Также руководитель отдела продаж отвечает за работу подчинённых — менеджеров/продавцов, анализируя кол-во успешных и не успешных заказов и иных значимых для бизнеса действий, проделанных работниками в рамках рабочих обязанностей. Директор в свою очередь на основе отчётов проводит аналитику бизнес процессов, например, реализация тех или иных товаров и соответственно необходимость найти большее число поставщиков для этой продукции или необходимость увеличить эту продукцию на складе [12]. Появление такой системы в организации может значительно улучшить показатели по ведению бизнес-процессов. Некоторые организации принимают решение о разработке собственной информационной системы «под ключ», взамен приобретению существующих специализированных программных комплексов, либо использовать альтернативные варианты. Так в качестве альтернативной базы данных в малых организациях выступают привычные электронные таблицы из офисных пакетов. Однако, такой подход вызывает проблемы с составлением отчётов, поиском информации (распределённой в нескольких несвязанных таблицах и даже компьютерах), потерю данных. Такая работа не может быть эффективной и отражать реальные данные, т. к. в процессе сбора, информация может дублироваться, теряться, становиться неактуальной, а вся работа займёт значительное количество времени. Разработка собственной информационной системы может стать верным решением, если при этом проектирование и разработка будут выполняться с использованием современных стандартов и методологий. Такое требование необходимо не только для разработки ИС в качестве конечного продукта, отвечающего текущим требованиям, но и продукта, который сможет развиваться и расширяться соответственно росту организации и рынка. Это также значит, что в будущем над данной системой будут работать и другие специалисты, эффективность и взаимодействие которых во многом будет зависеть от изначально разработанной основы ИС. Другой немаловажный фактор при создании информационной системы - это выбор обеспечивающего её работу программного обеспечения. Для малых и средних организаций использование платных компонентов может перечеркнуть все достоинства собственной информационной системы, а выбирая свободно распространяемые программные продукты необходимо учитывать их надёжность, безопасность, дальнейшее развитие, наличие аналогов и возможность их использования при расширении информационной системы. Анализируя данную информацию, можно сделать вывод, что потребность организации к информационной системе, может быть удовлетворена созданием собственной ИС. Рекомендованное и общепризнанное сообществом разработчиков информационных систем решение, продиктованное здравым смыслом — это присутствие в организации централизованной системы управления базой данных, в которой будет храниться, обрабатываться и вноситься информация необходимая для работы организации. Кроме этого организация получает хорошую программную среду для дальнейшей работы с информацией иными средствами, программными комплексами. Основная особенность СУБД - это наличие процедур для ввода и хранения не только самих данных, но и описаний их структуры. Централизованное хранение обеспечивает такие преимущества, как целостность и непротиворечивость информации, исключение дублирования, обеспечение сохранности и безопасности данных. Также возможно создание ролевой модели работы с данными находящимися в централизованной системе управления базой данных. Необходимость использование актуальной информации из информационной базы может появиться и вне офисной среды, к примеру, в служебной командировке или на деловой встрече для демонстрации роста продаж или каталога продукции. В рамках такой деятельности удобно иметь возможность оперативно получить доступ к базе данных и средствам формирования отчётов, графиков, при этом имея стандартное аппаратное и программное обеспечение. Современные возможности интернет технологий и централизованное хранение информации даёт и такие инструменты, как интеграция со сторонними информационными системами [4], например, в рекламе. В рекламной деятельности торговая организация может автоматизировать отправку данных о товарах и ценах в специализированные рекламные организации, предоставляющие услуги торговых интернет площадок, а также в собственные торговые информационные системы, такие как интернет- магазин, электронные рассылки клиентам. Практические реализации программного обеспечения во всём мире множество раз сталкивались с проблемами совместимости, наиболее часто это выражалось в возможности использования того или иного программного продукта их пользователями, а также поддержкой программным продуктом иного ПО разработанного сторонними разработчиками. Решение проблем совместимости привело к разработке большого числа международных стандартов и соглашений в области применения и разработки информационных систем. Основополагающим понятием стало понятие открытые системы [8]. Открытую систему можно определить в качестве системы использующей согласованный набор международных стандартов на информационные технологии и профили функциональных стандартов, которые специфицируют интерфейсы, службы и поддерживающие их форматы, чтобы обеспечить взаимодействие и мобильность программных приложений, данных и персонала [8,10]. Это определение, сформулированное специалистами института IEEE (Institute of Electrical and Electronic Engineers), унифицирует содержание среды, которую предоставляет открытая система для широкого использования. В настоящее время общепризнанным координационным центром (https://www.oasis-open.org) по разработке и согласованию стандартов открытых систем является OASIS (Organization for the Advancement of Structured Information Standards). В качестве спонсоров данного центра выступают такие IT-гиганты, как IBM и Microsoft. Общие свойства открытых информационных систем можно описать следующим образом [14]: мобильность/переносимость — такое свойство является полезным при необходимости переноса программ и данных в случае замены и модернизации аппаратного обеспечения информационной системы, а также обеспечивает возможность работы с ИС специалистов, без их переподготовки по случаю модификаций информационной системы; расширяемость/масштабируемость — данное свойство должно упростить и обеспечить возможность добавления нового функционала в информационные системы или изменять уже имеющиеся, не затрагивая иные функциональные части информационной системы; стандартизируемость — проектирование и разработка информационных систем должна осуществляться на основе согласованных международных стандартов и предложений, реализация открытости осуществляется на базе функциональных стандартов (профилей) в области информационных технологий; взаимодействие — возможность взаимодействия с другими ИС и их интеграция является важным свойством, в этом способствует наличие технических средств, обеспечивающих реализацию объединения разных ИС при помощи сетевых технологий; дружественность к пользователю — понятные, привычные и универсальные интерфейсы при взаимодействии «человек-машина» позволяют использовать информационную систему пользователям без прохождения специальной «компьютерной» подготовки. Разработка и проектирование информационной системы для торговой организации с учётом перечисленных свойств позволит реализовать систему «дружелюбную» к конечному пользователю, исключить такие недостатки как: асинхронность наполнение базы данных, дублирование информации, потеря актуальности, даст возможность интеграции с иными ИС и стандартизировать как компоненты, так и систему в целом. Следует учесть и то, что возможность сделать информационную систему открытой системой можно лишь рассматривая перечисленные свойства как комплекс взаимосвязанных мер, принятых при проектировании, разработке и внедрении информационной системы. Таким образом, свойства будут являться не отдельными, а дополняющими и расширяющими друг друга, организуя открытую систему. Придерживаясь принципов открытых систем будут достигнуты поставленные цели и задачи, решены проблемы, с которыми сталкиваются как торговые, так и иные организации в процессе информатизации и автоматизации своей деятельности. Анализируя примеры хранения, наполнения и обработки данных в информационных системах торговых организаций не имеющих свойств открытых систем или исключающих некоторые из них, можно выделить следующие возникающие проблемы: отсутствие единого реестра (базы данных) — при децентрализованном хранение и интерфейсе доступа к данным возникает ряд проблем: дублирование информации, потеря актуальности, затруднения с отчётностью. Невозможность организации удалённого доступа — вызывает сложность в своевременном получении данных, необходимость дополнительных процессов для передачи информации, потеря стратегического преимущества, связанного со временем получения данных. Необходимость в специализированном клиентском ПО — ограничивает конечного пользователя в выборе аппаратного и программного обеспечения для получения доступа к данным. Невозможность или ограничение интеграции со сторонним ПО — ограничивает организацию в функциональных возможностях информационной системы или связывает расширение и модернизацию ИС с определённым разработчиком/средой разработки. Анализ литературы и практического опыта разработчиков интерфейсов для информационных систем, приводит к актуальному и популярному решению - создание web-приложения, которое позволит совместить комплекс свойств открытых систем. Под определением «Веб-приложение» понимается прикладное программное обеспечение в реализации представляющее собой клиент- серверное решение, обмен информацией в котором происходит посредством сети (локальной или глобальной) через HTTP и/или HTTPS прикладные протоколы передачи гипертекста [6]. В данном решении клиентская часть может быть независимой от аппаратного и программного обеспечения, выполняя функцию пользовательского интерфейса (рис. 1.). Также следует упомянуть, что реализация клиентского интерфейса в веб-приложении может не требовать больших ресурсов к аппаратному обеспечению, выполняя ограниченное количество вычислений необходимых для отображения полученной информации из сервера и отправки необходимых запросов обратно. Рис. 1. Архитектура веб-приложения Веб-приложения имеют свои положительные особенности, соблюдающие и дополняющие свойства открытых систем [4]: Клиентская часть выполняется независимо от операционной системы или аппаратного обеспечения клиента. В качестве программного обеспечения используются интернет-обозреватели (браузеры). Однако при разработке и тестировании клиентского интерфейса следует учесть, что приложение должно иметь свойства кроссбраузерности, из-за различной реализации браузерами стандартов HTML, CSS и DOM. Однако на практике большая часть стандартов ими соблюдена, а различия вытекают из-за разного времени применения новейших стандартов разработчиками этих программ обновлений. Веб-приложения представляют собой распределённую информационную систему из серверной и клиентской частей. Серверная часть проектируется для обеспечения необходимого количества клиентских обращений и имеет возможность масштабирования. В процессе разработки, веб-приложение может быть открыто для тестирования с удалённых компьютеров, что является положительным фактором для применения гибких методик разработки. Разработка веб-приложения является хорошей перспективой, особенно для торговых организаций, учитывая растущую и уже повсеместную сферу электронной коммерции. Предоставляются широкие возможности социального взаимодействия, взаимодействия и интеграции ИС с другими информационными системами функционирующими в глобальной сети. Благодаря работоспособности на любом аппаратном обеспечении и актуальности таких систем, веб-приложения могут составлять реальную конкуренцию нативным приложениям операционных систем (Apple iOS, Google Android, Windows Phone). В обозримом будущем конкурентоспособность может сильно возрасти благодаря работе W3C (организация, разрабатывающая и внедряющая технологические стандарты для Всемирной паутины) над созданием открытых стандартов, дающих веб-приложениям доступ к аппаратной составляющей устройств, что сильно расширит возможности клиентской составляющей. Как видно из перечисленных свойств и особенностей веб-приложений — они весьма подходят к определению открытых систем и соблюдают их принципы. Наиболее яркое осуществление свойств открытых систем — это внутреннее и внешнее взаимодействие веб-приложения посредством сетевых технологий, что является соблюдением свойства взаимодействия. Мобильность и переносимость отлично обеспечивается на клиентском уровне — как правило любая операционная система содержит браузер, который является программной основой для работы конечного пользователя с веб-приложением, на серверной стороне переносимость обеспечивается множеством совместимых аналогов программного обеспечения (такого как СУБД), возможностью запуска серверного ПО в различных операционных системах и на аппаратных решениях, лёгкость переноса серверной части на другое оборудование. Черта масштабируемости хорошо присутствует в вебприложениях — отчасти это обеспечивается стандартизацией разработки и реализации веб-приложений, из этого также вытекает свойство стандартизации, хотя некоторые аспекты программирования имеют довольно молодые и не устоявшиеся стандарты, они весьма быстро распространяются благодаря сфере и области функционирования данных информационных систем и возможности быстрого внедрения. Дружественность клиентского интерфейса к пользователю во многом соблюдается благодаря наличию технологий и стандартов по разработке веб-приложений для различных устройств, часто этот фактор сводится к самому значительному: размер экрана и вид используемого аппаратного обеспечения и способ управления (классические клавиатура и компьютерная мышь или сенсорный экран). Вебприложение позволяет сделать интерфейс удобным для конечного пользователя независимо от того, использует тот смартфон (рис. 2.), персональный компьютер или телевизор с функцией SMART-TV Клиентская часть веб-приложения может быть реализована в максимально простом и понятном виде, для решения конкретных задач пользователя «под ключ». Рис. 2. Интерфейс веб-приложения на разных экранах Организация разработки веб-приложения весьма гибкая, на конечный выбор методологии могут влиять такие факторы, как масштаб информационной системы, финансовые и временные рамки разработчика, техническое задание заказчика. Современные аспекты и концепции в методиках для разработки веб-приложений: Модель горизонтальной организации проектной группы возникла из-за недостатков традиционной иерархической структуры в качестве эффективного аналога. Такая группа — это многопрофильная, небольшая команда, каждый в которой принимает на себя ответственность за ту или иную часть разработки, а также дополняющий компетентность смежных членов команды, что обеспечивает единое видение проекта каждым участником. В таких командах выставляются высокие требования к компетенции и конечному результату, поощряется желание в образовании совершенствовании навыков. Не редко такие команды собираются в крупных организациях для разработки конкретной информационной системы (пример, Microsoft Solution Framework), однако, есть и антонимичные примеры — экстенсивная модель роста за счёт увеличения прибыли, путём повышения набора низкооплачиваемых специалистов, что вызывает постоянную текучку кадров, но снижает риски из-за кадровых потерь. Модель проектной группы включает в свой состав специалистов, исполняющих роли: дизайнера/проектировщика интерфейсов, разработчика, специалиста по оптимизации, тестера, управляющего проекта. Все участники в такой проектной группе равноправны, каждый участник исполняет определённую роль или несколько ролей сразу, а управляющий проектом является техническим специалистом. Минимальный коллектив должен состоять не менее, чем из 3 человек. Интеграция IT специалисту функций веб-разработчика является созданием универсального специалиста, который должен иметь высокое качество навыков в области разработки как серверной составляющей, так и клиентской части — это вёрстка, проектирование баз данных, оптимизация и проектирование интерфейсов. Специалист может быть развит больше в одной области, чем в другой, но должен быть способен реализовать проект целиком, пусть и за большее время, чем это сделает команда специалистов. Современные требования к разработчикам веб-приложений предполагают широкое видение разработки проекта за рамками своей прямой компетенции, т.к. различные части веб-приложения во многом дополняют друг друга и плотно взаимодействуют. Жизненный цикл разработки веб-приложения схож с методологией Rational Unified Process и состоит из 4 фаз, которая может быть исполнена только один раз или повторяться несколько раз при необходимости. Фаза «Начало» формирует видение и границы проект, определяет основные требования, ограничения и ключевую функциональность продукта. Также при этой фазе оцениваются риски. В фазе «Уточнение» производится анализ предметной области и построение архитектуры приложения, разработка интерфейсов и дизайна. В фазе «Конструирование» происходит реализация большей части функциональности. В фазе «Внедрение» - происходит тестирование и оценка, определяется качество получившегося вебприложения, проводится оптимизация. Критичный подход к использованию и выборе готовых решений. Само использование существующих программных решений для повышения скорости и/или качества приложения может являться хорошим фактором, но при этом необходимо учитывать влияние таких решений на безопасность, архитектуру и дальнейшую масштабированность. При использовании готовых решений должно быть понимание их логики работы и возможность модификации. Поэтому для серьёзных проектов требовательных в первую очередь к безопасности не используются полностью готовые системы управления веб-содержимым (WordPress, Joomla, OpenCart). Заказчик всегда рядом - концепция экстремального программирования. Заказчик представляет собой конечного пользователя продукта, который должен быть всегда на связи для диалога. Парное программирование — это техника, ставшая весьма продуктивной и полезной при разработке веб-приложений с определёнными условиями. Парное программирование производится двумя специалистами, из которых один осуществляет кодирование в деталях, а другой сосредоточен на картине в целом. Через некоторое время происходит смена ролей. Смежный принцип коллективного владения кодом означает, что каждый разработчик несет ответственность за весь исходный код. Исходя из вышеперечисленных способов разработки веб-приложений можно сделать вывод, что методика разработки может быть разной при разных проектах, а также совмещать в себе лучшие качества, организуя гибридные варианты в процессе реализации конкретных задач. На выбор методики может влиять время выполнения, обоснование используемых ресурсов и требовательность к конечному функционалу. 1.2. Стандарты разработки веб-приложений Кроме методики организации разработки веб-приложений, не менее важными являются правила написания кода. Стандартизация написания кода веб-приложений — это развивающиеся решения, одной из популярных и глобально применяющихся методик, является БЭМ-методология (Блок, Элемент, Модификатор), которая включает в себя компонентный подход к веб-разработке, подразумевающий разделение кода и файловой структуры интерфейса на независимые блоки. Данная методология разработана российской компанией Яндекс и описывает подход к написанию кода всех веб-технологий для построения интерфейса (HTML, CSS, JavaScript), а также составление документации, проведение тестов и т.д. |