Сохрани и опубликуйсвоё исследование
О проекте | Cоглашение | Партнёры
Выпускная квалификационная работа 09.03.03. Прикладная информатика
Источник: Белгородский государственный университет - национальный исследовательский университет (НИУ «БелГУ»)
Комментировать 0
Рецензировать 0
Скачать - 1,7 МБ
Enter the password to open this PDF file:
-
ФЕДЕРАЛЬНОЕ ГОСУДАРСТВЕННОЕ АВТОНОМНОЕ ОБРАЗОВАТЕЛЬНОЕ УЧРЕЖДЕНИЕ ВЫСШЕГО ОБРАЗОВАНИЯ «БЕЛГОРОДСКИЙ ГОСУДАРСТВЕННЫЙ НАЦИОНАЛЬНЫЙ ИССЛЕДОВАТЕЛЬСКИЙ УНИВЕРСИТЕТ» ( Н И У « Б е л Г У » ) ИНСТИТУТ ИНЖЕНЕРНЫХ ТЕХНОЛОГИЙ И ЕСТЕСТВЕННЫХ НАУК Кафедра прикладной информатики и информационных технологий РАЗРАБОТКА WEB-САЙТА ДЛЯ ПРОДВИЖЕНИЯ ООО «НАУЧНО – ПРОИЗВОДСТВЕННАЯ КОМПАНИЯ «БЕЛГРИБ»» Выпускная квалификационная работа бакалавра студентки заочной формы обучения направления подготовки 09.03.03 Прикладная информатика 5 курса группы 07001151 Басенковой АлёныСергеевны Научный руководитель ассистент Павлов В.Н. БЕЛГОРОД 2016 5
СОДЕРЖАНИЕ ВВЕДЕНИЕ ............................................................................................................................ 5 1. АНАЛИТИЧЕСКАЯ ЧАСТЬ ............................................................................................ 8 1.1 Технико-экономическая характеристика предметной области ООО «Научнопроизводственная компания «БелГриб»» ........................................................................... 8 1.1.1 Характеристика предприятия и его деятельности .................................................... 8 1.1.2 Краткая характеристика подразделения и видов его деятельности ...................... 10 1.2 Экономическое обоснование решения задачи ............................................................ 13 1.3 Необходимости и цели использования вычислительной техники для решения задачи .................................................................................................................................... 16 1.4. Постановка задачи ........................................................................................................ 19 1.4.1 Цель и назначение автоматизированного варианта решения задачи .................... 20 1.4.2 Общая характеристика организации решения задачи на ЭВМ ............................. 20 1.5 Анализ существующих разработок и обоснование выбора технологии проектирования .................................................................................................................... 21 1.5.1 Обзор современных программных средств для решения поставленной задачи .. 22 1.5.2 Обзор современных методов для оценки качества работы Интернет-магазина .. 27 2. ОБОСНОВАНИЕ ПРОЕКТНЫХ РЕШЕНИЙ .............................................................. 30 2.1 Обоснование проектных решений по техническому обеспечению (ТО) ................ 30 2.2 Обоснование проектных решений по информационному обеспечению (ИО) ....... 31 2.2.1 Внемашинное информационное обеспечение ......................................................... 32 2.2.1.1 Описание входной и выходной информации решаемой задачи ......................... 32 2.2.2 Внутримашинная реализация данных ...................................................................... 33 2.3 Обоснование проектных решений по программному обеспечению (ПО) .............. 37 2.3.1 Выбор ОС .................................................................................................................... 38 2.3.2 Выбор СУБД ............................................................................................................... 39 2.4 Обоснование выбора программных средств ............................................................... 41 3. ПРОЕКТНАЯ ЧАСТЬ ..................................................................................................... 43 3.1 Информационное обеспечение задачи ........................................................................ 43 6
3.1.1 Информационная модель и ее описание .................................................................. 43 3.1.2 Используемые классификаторы и системы кодирования ...................................... 45 3.1.3 Характеристика первичных документов с нормативно-справочной и входной оперативной информацией ................................................................................................. 47 3.1.4 Характеристика базы данных .................................................................................... 53 3.1.4.1 Характеристика инфологической модели БД ....................................................... 53 3.1.4.2 Характеристика даталогической модели БД ........................................................ 55 3.1.5 Характеристика результатной информации ............................................................ 57 3.1.5.1 Характеристика таблиц с результатной информацией ........................................ 57 3.1.5.2 Характеристика результатных документов .......................................................... 57 3.2 Программное обеспечение задачи ............................................................................... 58 3.2.1 Общие положения ...................................................................................................... 58 3.2.2 Описание программных модулей ............................................................................. 61 3.3 Технологическое обеспечение задачи (комплекса задач, АРМ) .............................. 66 3.3.1 Организация технологии сбора, передачи, обработки и выдачи информации .... 66 3.4 Описание контрольного примера реализации проекта……………………67 4. ОРГАНИЗАЦИОННО-ЭКОНОМИЧЕСКАЯ ЧАСТЬ ................................................. 73 4.1. Целесообразность разработки с экономической точки зрения ................................ 73 4.2. SWOT-анализ разработки ............................................................................................ 73 4.3. Калькуляция себестоимости научно-технической продукции ................................ 77 ЗАКЛЮЧЕНИЕ.................................................................................................................... 80 СПИСОК ИСПОЛЬЗУЕМЫХ ИСТОЧНИКОВ………...…………………..…81 ПРИЛОЖЕНИЕ 1 ............................................................................................................... 86 ПРИЛОЖЕНИЕ 2…………………………………………………………..……87 7
ВВЕДЕНИЕ На сегодняшний день наиболее актуальной темой является создание сайтов. Это связано с тем, что практически любая сфера деятельности, независимо от того связана она с товарами или услугами, нуждается в продвижении, основой которого является информирование. В современном обществе процессы информатизации затрагивают практически все области профессиональной деятельности, расширяются направления использования Интернет-технологий. В сети Интернет содержится большое количество разнообразной информации, в том числе по культивированию грибов: подходы к выращиванию, возможные опасности (в том числе заболевания, сводящие к минимуму общее количество грибов, симптомы заболеваний, способы лечения), инструкции, учебные пособия, научные и популярные электронные издания. Сеть позволяет осуществить удаленное консультирование потенциальных заказчиков, способствует образованию виртуальных сообществ, позволяет субъектам растениеводства и сельскохозяйственной деятельности взаимодействовать в новой реальности. Использование сети Интернет в настоящее время становится одним из ключевых инструментов продвижения и распространения продукции. Многие производители и торговые сети для увеличения лояльности потребителей активно используют Интернет-ресурсы для реализации товаров. Реализация грибов и сопутствующей продукции не является исключением, все большее число организаций, работающих в данном направлении, стремятся иметь свое представительство в сети. Интернет-торговля товарами постепенно завоевывает рынок, количество Интернет-площадок, реализующих грибы и сопутствующую продукцию в интернет-пространстве, продолжает расти. Несмотря на обозначенный рост, привлечь и удержать покупательский интерес к какому-либо виду товаров довольно сложно, так как современные потребители достаточно скептически относятся ко многим инициативам 8
специалистов по маркетингу. Даже признанные лидеры не могут быть абсолютно уверены в надежности своих рыночных позиций. В наше время, чтобы обеспечить успешную продажу товара, компании необходимо сделать больше, чем просто следить за его отличным качеством, установить на него самую низкую цену или просто разместить товар наилучшим образом на полках магазинов. Компания должна продавать свои товары, сопровождая их оригинальными, информативными и привлекательными обращениями, которые убеждали бы в соответствии этих товаров потребностям и желаниям потребителей. Усиление конкуренции и насыщение рынков товарами заставляют компании тратить много средств и сил на продвижение товаров и создание уникальных, принципиально новых товаров. Маркетологи все больше осознают необходимость направления своих усилий на специальные сегменты рынка, например на региональные рынки, чтобы предотвратить ненужные затраты и максимизировать воздействие. Конкуренция усиливается до такой степени, что только те компании, которые хорошо понимают своих потребителей и конкурентов и проводят успешную коммуникационную политику, могут надеяться на успех. Создание web-сайта компании помогает быстро реагировать на любые изменения рынка, находить новые способы продажи товаров и услуг, а также увеличивать объемы продаж. Web-сайт в формате интернет-магазина обеспечивает дополнительную рекламу и привлечение новых потенциальных покупателей [13, с. 202]. Возможность заказов позволяет ознакомиться на сайте с предлагаемым организацией ассортиментом и заказать понравившийся товар, не вставая из-за компьютера. Целью выпускной квалификационной работы является разработка webсайта для продвижения ООО «Научно-производственная компания «Белгриб»». В соответствии с поставленной целью был определен перечень задач, решаемых в ходе выполнения выпускной квалификационной работы: - изучить предметную область и выявить недостатки существующей организации обработки информации в процессе оформления заказа; 9
- проанализировать целесообразность использования web-технологий для продвижения ООО «Научно-производственная компания «Белгриб»; - рассмотреть существующие web-средства и технологии, возможные для использования в процессе создания web-сайта; - разработать web-сайт для продвижения ООО «Научно- производственная компания «Белгриб». Объект исследования – разработка web-сайта компании. Предмет исследования – деятельность компании ООО «Научнопроизводственная компания «Белгриб». Работа состоит из четырех глав, введения и заключения, списка использованных источников и приложений, содержащих листинг исходников программного обеспечения сайта. В аналитической части работы анализируются некоторые подходы к роли Интернет-сайтов, целям создания корпоративного сайта компании, его задачам, способам и приемам повышения эффективности рекламы сайта. Приводятся возможные методы оценки эффективности рекламы сайта в сети Интернет. Кроме того, предлагается классификация товаров и типов сайтов в зависимости от их присутствия в культурном пространстве. В обосновании проектного решения приводится описание выбранных инструментов и методов для достижения поставленной цели. В проектной части описывается процесс разработки интернет-магазина. В организационно-экономической части приводятся расчеты и обоснование экономической ликвидности и эффективности разрабатываемого продукта. 10
1 АНАЛИТИЧЕСКАЯ ЧАСТЬ 1.1 Технико-экономическая характеристика предметной области и ООО «Научно-производственная компания «Белгриб» 1.1.1 Характеристика предприятия и его деятельности Бизнес по культивированию и реализации грибов в последние годы из разряда малодоходных стал одним из наиболее прибыльных, по сравнению с другими направлениями овоще- и растениеводства. О том, насколько он привлекателен, говорит и все возрастающее число предприятий, работающих в данном направлении. В любом продуктовом магазине, супермаркете можно увидеть богатый выбор грибной продукции от разных производителей. И часто от того, насколько привлекательно смотрится упаковка, насколько качественен продукт, находящийся внутри, зависит и количество покупателей. Изменения, происходящие в рознице по данному направлению, заставили говорить о новых подходах в торговле. Прежде всего, это связано с изменением экономических задач работы предприятий. На сегодняшний день грибной рынок насыщен, и объемы продаж не могут расти до бесконечности. Сегодня конкурентоспособность реализующего грибы, предприятия, определяется умением культивирующего руководителя и применять эффективные формы хозяйствования и управления в своей повседневной практике (мерчендайзинг, реклама, интернет-магазин, информационное сопровождение и пр.). Первая и приоритетная задача - получение прибыли, поскольку любое современное предприятие является в первую очередь коммерческим. Вторая, не менее значимая, связана с повышением конкурентоспособности и качества продукции. 11
ООО НПК «Белгриб» занимается оптовой и розничной торговлей грибами и работает на рынке гастрономических услуг города Старый Оскол и области с 4 июня 2007 года по сегодняшний день. Компания ООО НПК «Белгриб» осуществляет следующие виды деятельности (в соответствии с кодами ОКВЭД, указанными при регистрации): Овощеводство, декоративное садоводство и производство продукции питомников. Основными задачами предприятия являются: - обеспечение бесперебойного функционирования предприятия; - установка и наладка электронно-вычислительных машин и другого оборудования для обработки информации; - разработка и реализация мер для эффективного использования автоматизированных систем управления при осуществлении экспортноимпортных оптовых и розничных поставок оборудования и комплектующих; - выполнение обязательств перед заказчиками; - расширение клиентской базы. Функции управления: - Организация и проведение планово-предупредительных и текущих ремонтов эксплуатируемой техники и оборудования; - Организация и проведение проверки ремонта эксплуатируемых ЭВМ; - Внедрение современных средств автоматизации процессов культивирования; - Проведение мероприятий по предотвращению несчастных случаев. В настоящее время основными видами культивируемой предприятием продукции является: - Грибы – вешенка; - Грибы – шиитаке; - Грибы - летний опенок; - Грибы шампиньоны; 12
- Мицелий белых грибов; - Сырье для приготовления субстрата. Продукция организации в Старом Осколе реализуется на базе торговых сетей «Пятерочка», «Магнит», гипермаркетов «Линия» и «Карусель», ряда индивидуальных предприятий, а так же в розницу физическим лицам. 1.1.2 Краткая характеристика подразделения и видов его деятельности На сегодняшний день ООО НПК «Белгриб» является активно развивающимся предприятием, зарекомендовавшим себя, как несомненный лидер Старооскольского района в сегменте гастрономического рынка культивирования и реализации грибов, что объяснимо качеством выпускаемой продукции и предоставляемых услуг, а так же короткими сроками выполнения обязательств перед заказчиками. На рисунке 1.1 представлена организационная структура ООО НПК «Белгриб». Генеральный директор ООО НПК «Белгриб» Зам. ген. директора Гл. лаборант Начальник отдела закупок Начальник ИВЦ Начальник отдела продаж Гл. бухгалтер Гл. инженер Лаборатория Отдел закупок Информационновычислительный центр Отдел продаж Бухгалтерия Основное производство Рисунок 1.1 – Организационная структура ООО НПК «Белгриб» 13
Организационную структуру предприятия можно отнести к линейно– функциональному типу. Такая структура обеспечивает разделение управленческого труда, при котором линейные звенья управления призваны командовать, а функциональные консультировать, помогать в разработке конкретных вопросов и подготовке соответствующих решений, программ, планов. Рассмотрим существующие службы и отделы предприятия. Генеральный директор занимается руководством в соответствии с действующим законодательством всеми видами деятельности организации. Контролирует работу и подразделений. Сотрудничает эффективное с взаимодействие государственными структурных органами, а также своевременно финансирует как запланированные, так и внеплановые расходы. Заместитель генерального директора осуществляет производственнохозяйственную деятельность организации. Основное производство занимается культивированием продукции. Контроль осуществляет главный инженер. Лаборатория отвечает за качество культивируемой продукции, а так же следит за соответствием требований к расходным материалам. Контроль осуществляет главный лаборант. Отдел закупок осуществляет приобретение расходных материалов, необходимых для культивирования продукции, а так же всех сопутсвующих материалов и товаров, включая электронно-вычислительные машины и периферию, канцелярские товары и т.п. Контроль осуществляет начальник отдела закупок. Отдел продаж отвечает за реализацию культивируемой продукции, составление и подписание договоров с контрагентами и т.п. Контроль осуществляет начальник отдела продаж. Бухгалтерия организует и ведет учет всех первичных бухгалтерских документов, организует учет материальных ценностей и отчетность перед 14
налоговыми службами, производит расчет экономической эффективности деятельности всего предприятия. Контроль осуществляет главный бухгалтер. Более подробно рассмотрим информационно-вычислительный центр. Информационно-вычислительный центр призван проводить все расчеты по обработке информации и решению задач управления, и является материально-технической базой автоматизированной системы управления предприятия. Деятельность ИВЦ регулируют Федеральный закон от 27 июля 2006г. № 149-ФЗ «Об информации, информационных технологиях и о защите информации» [19, с. 1321], ТК РФ, Устав Предприятия и Положение об информационно-вычислительном центре. План деятельности ИВЦ составляется начальником ИВЦ совместно с руководителями подразделений и согласуется с заместителем генерального директора по информационным технологиям. ИВЦ осуществляет установку, настройку, сопровождение программных продуктов, проектирование и развитие сети предприятия, предоставляет сетевые услуги сотрудникам предприятия. Разрабатывает проекты автоматизации баз данных предприятия, участвует в реализации конкретных проектов (программ), осуществляет сопровождение разработок, администрирование серверов и их техническое обслуживание. Осуществляет сбор и анализ данных по наличию технических средств и программного обеспечения предприятия. Обеспечивает процесс функционирования предприятия современными программными, техническими и технологическими средствами. Осуществляет ремонтные работы компьютеров и оргтехники, восстановление ЛВС, в случае физических повреждений, отладку программного обеспечения. В Приложении №1 представлена организационно-штатная структура Информационно-вычислительного центра (рисунок 1.1). 15
1.2 Экономическое обоснование решения задачи Пусть объектом рассмотрения является продвижение предприятия на рынке. Выберем входящую в данный объект задачу «Разработка и внедрение web-сайта организации». Данная задача относится к классу задач «Развитие деятельности предприятия» и необходима для продвижения и развития этого предприятия. Результаты решения данной задачи являются основой для определения направления развития и продвижения предприятия на рынке. Поэтому задача «Разработка и внедрение web-сайта организации» является важной и неотъемлемой частью управленческого анализа хозяйственной деятельности предприятия. Информацию для решения задачи получают из системы бухгалтерского учета предприятия в виде бухгалтерских проводок заданной структуры. Результаты решения задачи могут служить исходными данными для систем финансового планирования, внутреннего аудита. 1.3 Необходимости и цели использования вычислительной техники для решения задачи Информационная система предприятия представляет собой совокупность исполнительного, прикладного, системного логического и физического компонентов[12, с. 126]. Информационные потоки – это физическое перемещение информации. Внутренние информационные потоки образует информация, которая циркулирует внутри предприятия [23, с. 56]. Эти потоки содержат как поступившую извне, так и порожденную внутри предприятия информацию. Таким образом, для обеспечения информационных потребностей различных групп потребителей информации предприятия могут использоваться регулярные входящие, нерегулярные входящие и внутренние информационные потоки. 16
Четкое разделение информации на потоки и определение того, какие потоки могут удовлетворить потребности каждой группы потребителей информации на предприятии, является очень важным. Такое разделение позволяет установить, какая именно информация нужна каждой группе потребителей и какова целесообразность предоставления конкретным сотрудникам доступа к тем или иным источникам информации. В общем виде можно выделить три уровня информационных потребностей работников предприятия и соответствующие им три вида информационных потоков: - внутренние; - внутренние и регулярные входящие; - внутренние информационные, регулярные и периодические входящие. Потенциальный клиент получает информацию о предоставляемых товарах непосредственно на самом предприятии в отделе продаж, либо от торгового агента, если идет речь об оптовой закупке. Между сотрудниками внутри организации происходит постоянный обмен информацией, а так же происходит обмен информации сотрудников организации с поставщиками. Движение информационных потоков отражено с помощью IDEF0-диаграмм (рисунках 1.2, 1.3). Гос.стандарты Приказы, распоряжения Устав Клиенты Деятельность организации Оказанные услуги Прибыль A0 Персонал Бухгалтерия Основное производство Рисунок 1.2 – Контекстная диаграмма нулевого уровня 17
Нормативные акты Информация о заказе Прием заявки Заказ 1 Дефектура Обработка заказа 2 Дефектура Отправка заказа Предоплата 3 Товарная накладная Прием продукции Данные для отчетов 4 Продажа продукции Оплата Товар Чек 5 Оператор Бумажная обработка Основное производство Рисунок 1.3 – IDEF0-модель процесса оказания услуги Методология IDEF0 описывает процессы движения и обработки информации звеньями моделируемого функционального назначения. диаграмма нулевого объекта с точки зрения их На рисунке 1.2 представлена контекстная уровня, обобщенно отражающая принцип функционирования организации. На входе функционального блока всегда присутствует «Клиент», поскольку услуга оказывается определенному лицу. Стрелки механизмов («Персонал», «Бухгалтерия», «Основное производство») отражают ресурсы, необходимые для выполнения работы и которые не подвергаются изменению. Механизм управления поясняет правила, ограничения и другие управляющие воздействия («Устав», «Приказы, распоряжения», «Гос.стандарты»). Соответственно, на выходе отражаются материальные и информационные ресурсы, являющиеся результатом выполнения работы. На рисунке 1.3 изображена декомпозиция контекстной диаграммы, показывающая движение основных информационных потоков. 18
На основе описания объекта управления можно сделать вывод, что значительными недостатками существующей системы предприятия являются следующие бизнес-процессы: Процесс осуществления заказа. Заказ можно сделать только придя непосредственно на предприятие, либо при личной встрече с торговым агентом. С помощью создаваемого сайта клиент может самостоятельно ознакомиться с полным ассортиментом предлагаемой продукции и самостоятельно осуществить заказ. Процесс доставки продукции заказчику. Доставкой своей продукции организация не занимается, т.е. отгрузка готовой продукции ложится на заказчиков. В дальнейшем планируется организация собственной службы доставки. Процесс обслуживания заказчика. Единовременно могут обслуживаться только два клиента (в отделе продаж и выездным торговым агентом). Так же разрабатываемый сайт позволит: - повысить имидж предприятия; - повысить конкурентоспособность на рынке, - поспособствует увеличению продаж; - облегчит процесс осуществления заказа. 1.4 Постановка задачи Основной задачей выпускной квалификационной работы является разработка и внедрение web-сайта производственная компания «Белгриб»». 19 для продвижения ООО «Научно-
1.4.1 Цель и назначение автоматизированного варианта решения задачи Посредством внедрения web-сайта планируется устранить существующие недостатки на предприятии. Исходя из этого, основную цель предлагается рассмотреть в разрезе двух групп подцелей: - с точки зрения получения косвенного эффекта в управлении организацией подцелью является повышение имиджа предприятия в целом, а так же увеличение числа обслуживаемых клиентов, увеличение продаж ; - с точки зрения достижения прямого эффекта подцелью является сокращение времени обработки заказа, повышение достоверности информации. 1.4.2 Общая характеристика организации решения задачи на ЭВМ Для устранения данных недостатков необходимо спроектировать и разработать сайт, который должен способствовать продвижению предприятия на рынке, а так же обеспечивать автоматизацию технологических процессов, происходящих в процессе взаимодействия организации с клиентами. Ниже приведены варианты создания сайта организации. Сайт-визитка. Содержит название компании, контактную информацию, логотип, общие сведения и информацию о сфере деятельности. Иногда публикуется информация о руководителях. Назначение сайта-визитки самое общее освещение деятельности компании [24, с. 46]; Сайт-буклет, или презентационный сайт компании. Этот вид присутствия в Интернете распространен не менее, чем сайт-визитка. Как правило, это перенос буклета компании (профайла, годового отчета и т. п.) в Интернет. Сайт содержит описание компании, новостей, событий, продукции. Он может включать формы для обратной связи с сотрудниками компании и формы для подписки на получение новостей компании по электронной почте; 20
Презентационный сайт и сайт-визитка - самые простые варианты корпоративного представительства. Цели - дать более подробную информацию о фирме и ее наиболее интересных предложениях, а также отвечать на вопросы аудитории и снимать излишнюю нагрузку с традиционных каналов связи; Промо-сайт. Это интернет-ресурс, направленный на рекламу определенного товара, услуги, брэнда или события. Промосайты чаще всего запускаются параллельно с рекламной кампанией, жестко привязаны к ней и являются источником информационной поддержки рекламной кампании. Промо-сайты помимо текстового наполнения, содержат большое число интерактивных презентаций и демо-роликов, наглядно демонстрирующих продукт и его преимущества[24, с. 48]; Сайт-витрина (интернет-витрина, веб-витрина). Содержит возможности предыдущих систем плюс подробные каталоги продукции (услуг), прайс-листы. На таких сайтах публикуются новости компании, дополнительная информация о производителях, советы, аналитические обзоры и т. д. Такой сайт может увеличивать число и объем заказов от имеющихся клиентов из-за доступа к более полной по сравнению с другими источниками информации об интересующей их продукции и услугах. Сайт может содержать форум с вопросами по продукции или базу знаний. Интернет-витрина - эффективное средство рекламы, сбора заявок на продукцию и проведения маркетинговых опросов, поддержки обратной связи с потребителями; Сайт интернет-магазина - предприятие розничной торговли, продающее товары и оказывающее услуги покупателям используя электронные средства коммуникаций. В частности, интернет-магазин позволяет: выбирать товары, оформить заказ и необходимые документы, провести взаиморасчеты, отследить исполнение заказа, а в случае продажи информационных товаров или оказания информационных услуг - доставить продукт посредством сетей электронных коммуникаций. Типовой вариант Интернет-магазина функциональных частей: 21 состоит из следующих
- список продукции; - пользовательская корзина; - регистрационная форма; - форма отправки заказа. Список продукции. Список представляет собой сложную и многоуровневую структуру данных, которая должна простым и понятным способом производить упорядочивание продукции. Проще всего такой список представить в виде дерева объектов, верхний уровень которого состоит из списка разделов. Разделы могут содержать подразделы или ссылки на конкретную услугу и т.д. Такое упорядочивание просто необходимо для удобного и быстрого поиска и заказа услуги. Пользовательская корзина. Пользовательская корзина представляет собой некоторый массив данных, который служит для хранения заказанного пользователем товара. Регистрационная форма. Служит для ввода персональных данных пользователей. В дальнейшем эта информация используется для их идентификации между сеансами работы с Интернет-ресурсом. Данная информация может храниться как на стороне сервера, так и на стороне клиента. Форма отправки заказа. Форма отправки заказа служит для ввода контактной информации заказчика и отправки ее и заказа на электронный ящик организации [24, с. 53]. Исходя из вышеперечисленного можно сделать вывод, что наиболее подходящим видом сайта для решения поставленных задач является создание Интернет-магазина, так как он имеет каталог продукции, систему осуществления заказа, систему платежей и работает в режиме реального времени. Это значит, что сайт магазина постоянно обновляется и содержит самую последнюю информацию о товарах и услугах. По запросу посетителя динамически создаются страницы с описанием товаров исходя из их реального наличия на складе. 22
Достижение поставленной цели проектирования предполагается с использование уже существующей архитектуры ЛВС на предприятии. Общий компьютерный парк организации составляет 8 рабочих станций, 1 сервер, а также 6 сетевых МФУ. Для функционирования ЛВС предприятия имеется следующее компьютерное оборудование и оргтехника: - Серверный компьютер; - Рабочие станции, оборудованные сетевыми картами (RJ-45 разъем); - МФУ. Непосредственно активное сетевое оборудование: - Концентратор (Hub) / Коммутатор (switch); - Кабель «витая пара» 5-ой категории (UTP-5); - Информационные розетки 5-ой категории (разъем RJ-45); - Патч-корд (коммутационный шнур) (разъем RJ-45); А так же пассивное сетевое оборудование: - Телефонные розетки (разъём RJ-11); - Патч-панели для RJ-45 и/или RJ-11; - Дополнительные патч-корды; - Кабельный канал; - Источник бесперебойного питания для защиты электропитания сетевого оборудования и сервера; - Коммутационный шкаф. Основные характеристики локальной сети: - Вид архитектуры - клиент/сервер; - Топология сети – звезда, с центральным компонентом, концентратором, который связывает все компьютеры и управляет сетевым трафиком; - Стандарт - Fast Ethernet/Gigabit Ethernet; - Спецификация - 100Base-TX, 100Base-T4, 1000Base-CX, 1000Base-T; - Скорость передачи данных - 100 (Мбит/с) / 1000 (Мбит/c). 23
В общем виде изображение локальной сети предприятия представлено на рисунке .1.4. Каждое рабочее место оснащено компьютером, на котором установлены стандартные элементы программного обеспечения: - Операционная система – MS Windows 7; - Офисный пакет - MS Office 2007; - Антивирус AVG antivirus Free Edition. Internet Firewall Сервер Начальник отдела закупок Сетевое МФУ Ген. директор Начальник отдела продаж Зам.ген.директо ра Начальник ИВЦ Рисунок 1.4 – Локальная сеть ООО НПК «Белгриб» К прикладному программному обеспечению, используемому производством, относится «1С:Предприятие» и «1С:Бухгалтерия». 1.5 Анализ существующих разработок и обоснование выбора технологии проектирования На сегодняшний день информационный рынок, поставлящий программные решения в выбранной сфере предлагает множество продуктов, позволяющих достигнуть поставленной цели – разработки web-сайта. 24
1.5.1 Обзор современных программных средств для решения поставленной задачи В настоящее время существует несколько языков программирования для создания сайтов, например: HTML. Язык разметки гипертекста (Hypertext Markup Language), или, как его чаще называют, HTML, - это компьютерный язык, лежащий в основе World Wide Web (Всемирной Паутины). Благодаря языку HTML любой текст можно разметить, преобразовав его в гипертекст с последующей публикацией в Web[12, с. 410]. Язык HTML имеет собственный набор символов, с помощью которых Web-браузеры отображают страницу. Эти символы, называемые дескрипторами, включают в себя элементы, необходимые для создания гиперссылок. Одной из отличительных особенностей HTML - документов является то, что сам документ содержит только текст, а все остальные объекты встраиваются в документ в момент его отображения Браузером с помощью специальных тэгов и хранятся отдельно. При сохранении HTML-файла в месте размещения документа создается папка, в которую помещаются сопутствующие ему графические элементы оформления. PHP. В первую очередь PHP используется для создания скриптов, работающих на стороне сервера. PHP способен решать те же задачи, что и любые другие CGI-скрипты, в том числе обрабатывать данные html-форм, динамически генерировать html страницы и тому подобное. Но есть и другие области, где может использоваться PHP. Вторая область - это создание скриптов, выполняющихся в командной строке. То есть с помощью PHP можно создавать такие скрипты, которые будут исполняться, вне зависимости от webсервера и браузера, на конкретной машине. И последняя область - это создание GUI-приложений (графических интерфейсов), выполняющихся на стороне клиента [12, с. 416]. 25
JavaScript. Язык программирования JavaScript разработан фирмой Netscape для создания интерактивных HTML-документов. Это объектноориентированный язык разработки встраиваемых приложений, выполняющихся как на стороне клиента, так и на стороне сервера. Синтаксис языка очень похож на синтаксис Java - поэтому его называют - Java-подобным. Основные области применения JavaScript делятся на следующие категории: - динамическое создание документа с помощью сценария; - оперативная проверка достоверности заполняемых пользователем полей форм HTML до передачи их на сервер; - создание динамических HTML-страниц совместно с каскадными таблицами стилей и объектной моделью документа; - взаимодействие с пользователем при решении "локальных" задач, решаемых приложением JavaScript, встроенном в HTML-страницу. Perl. Practical Extraction and Report Language (практический язык извлечений и отчетов) – был создан американским программистом Larry Wall для автоматизации работы с текстом и выполнения рутинных задач в операционной системе UNIX. Наиболее широко Perl используется для разработки инструментов системного администрирования, однако в последнее время он получил огромную популярность в области разработки Интернетприложений: CGI-сценариев, систем автоматической обработки электронной почты и поддержки узлов Web. Вот некоторые примеры задач, которые можно решать с помощью Perl: - проверка пользователей Windows NT на несоответствие их статуса и возможностей; - управление NT-сервисами из командной строки и дистанционно с локальной машины получение статистических данных на отдельной машине; - может работать и с протоколом FTP; - системная поддержка UNIX и Windows [12, с.422]. 26
1.5.2 Обзор современных методов для оценки качества работы Интернет-магазина Существующие на сегодняшний день методики оценки качества услуг на основе измерения удовлетворенности потребителей разделены на две группы: измерение заявленной и аналитически выведенной значимости. Измерение заявленной значимости характеристик услуг. Респонденту предлагается самостоятельно оценить значимость различных характеристик услуги. Список наиболее значимых характеристик услуги. Один из самых простых методов с точки зрения затрат на получение и обработку данных. Потребителю предлагается назвать несколько наиболее важных для него характеристик услуги, а которые он обращает внимание при выборе компании, предоставляющей данный вид услуг. Затем, предлагается назвать те характеристики потребленной услуги, которые не соответствовали его первоначальным ожиданиям. Преимуществами метода являются простота интерпретации для потребителя, простота анализа результатов возможность выявления скрытых потребностей потребителя. К его недостаткам можно отнести: возможность оценки ограниченного количества характеристик услуги, невозможность дифференцировать названными потребителем характеристиками по степени на его удовлетворенность. Рейтинг характеристик по степени важности. Этот метод относится к шкальным методам оценки качества. Сначала потребителю предлагается определить степень важности характеристики по шкале от «совершенно не важный» до «крайне важный», или выразить степень согласия по шкале Лайкерта с утверждениями типа «данное свойство услуги очень важно для меня». Либо, если интересует, насколько потребитель удовлетворен услугой, ему предлагается определить степень выполнимости указанных им характеристик по тем же шкалам. Метод позволяет достаточно просто интерпретировать характеристики услуги для потребителя и является простым 27
с точки зрения анализа результатов. Но при его использовании необходимо учитывать вероятность того, что в последствии затруднит дифференцирование по степени значимости или выполнимости. Метод ранжирования. Это процедура упорядочивания объектов, проводимая в ситуациях: когда необходимо упорядочить какие-либо явления или объекты во времени и пространстве. Это ситуация, когда важным является не степень выраженности какого-либо свойства или характеристики, а лишь их взаимное пространственное или временное расположение; когда различные объекты являются несоизмеримыми и не имеют общего эталона сравнения; когда какие-либо объекты в настоящее время не могут быть измерены по причинам теоретического или практического характера. потребителю предлагается проранжировать характеристики по степени значимости, начиная с самого важного, т.е. присвоить ранг первое место, второе место и т.д. Достоинства метода – это простота осуществления процедур и четкое разделение характеристик по степени значимости, основные недостатки – невозможность обнаружить равнозначные характеристики, невозможность оценить степень разрыва в значимости, практическая невозможность ранжирования большого количества объектов. Точность и надежность процедуры в значительной степени зависит от количества ранжируемых объектов. Допустимым количеством считается 15-20 объектов, при ранжировании большего количества объектов появляются существенные ошибки. Как правило, метод ранжирования используется в сочетании с другими методами. Constant sum, распределение пунктов. Потребителю дается возможность распределить условную сумму (часто 100 баллов или число, выраженное в денежных единицах) между фиксированным количеством характеристик услуги в соответствии 28 со степенью значимости или
выполнимости этих характеристик. Этот метод также позволяет провести четкое разделение по степени значимости и, создавая условия, приближенные к реальным, позволяет получать более достоверную информацию от потребителя. Практическое применение метода возможно при небольшом количестве характеристик, не превышающим 10-15 объектов, и его довольно сложно использовать в телефонном интервью. Q-sort. Потребителю предлагается распределить карточки, соответствующие различным характеристикам услуги, в группы по степени значимости, причем количество характеристик в каждой группе ограниченно. Метод удобен при анализе большого количества характеристик, но есть вероятность того, что значимые характеристики будут «вынужденно» (по причине ограничения количества характеристик в группе) отнесены к менее значимым. Применим только в условиях эксперимента; Метод парных отношений. Парное сравнение представляет собой процедуру установления предпочтения объектов при сравнении всех возможных пар. Парное сравнение является измерением в ординальной шкале. Потребителю представляется список всех возможных сочетаний пар характеристик услуги и предлагается каждой паре выбрать более значимую характеристику. Количество предпочтений характеристик в парах является степенью его значимости. К достоинствам метода можно отнести возможность четкого разделения по степени значимости и простоту анализа результатов. К недостаткам – невозможность обнаружить равнозначные характеристики, невозможность применения при большом количестве характеристик услуги; Спектр исследовательских методик в рамках группы «заявленная значимость» достаточно широк. Также следует отметить, что всем перечисленным методикам присущ один общий недостаток – проводимая оценка качества услуги субъективна, и в действительности потребитель, совершая выбор, может руководствоваться совсем иными критериями, не осознавая или не желая «выдавать» действительные факторы, определяющие выбор. 29
Вместе с тем, измерение заявленной значимости характеристик услуги остается сегодня наиболее популярным методом, что объясняется, возможно, простотой анализа результатов и «очевидной способностью измерять то, что должно быть измерено». Методы оценки качества на основе аналитической выведенной значимости характеристик услуги. Значимость характеристик услуг выводится аналитическим путем исходя из взаимосвязи между оценкой услуги по различным характеристиками и общей оценкой услуги или на основе сравнения ожидаемого уровня качества услуги и фактически полученного. Метод корреляционного анализа. Позволяет количественно выразить взаимосвязь между показателями. Зная характер зависимости одного явления от других, можно объяснить причины и размер изменений в явлении, а также планировать необходимые мероприятия для дальнейшего изменения. Метод корреляционного анализа заключается в том, что определяется коэффициент корреляции между рейтингами характеристик и зависимой переменной (например, показателем качества информации, полученной потребителем в процессе потребления услуги). - Регрессионный анализ. Методика использования регрессионного анализа при оценке качества и управления им включает следующие этапы: - Разрабатывается перечень характеристик, определяющих качество услуги. - Устанавливаются факторы, которые могут оказать влияние на качество. - Производится сбор соответствующих статистических данных. - Вычисляются коэффициенты регрессии с использованием устойчивых математических эпизодов. - Оценивается адекватность модели опытным данным. - Проверяется значимость коэффициентов регрессии. 30
- Выделяются коэффициенты регрессии и соответствующие им факторы повышающие качество, и факторы, его снижающие. Conjoint-анализ. Метод предоставляет возможность потребителю оценить характеристики услуг в наиболее естественной поведенческой обстановке. Оценка качества состоит из следующих этапов: - Определение списка основных атрибутов товара или услуги. Количество атрибутов для использования в анализе редко превышает 7 или 8. - Определение уровней по атрибутам: каждому атрибуту необходимо - присвоить уровень или значение. Формулировка уровня атрибута также может быть субъективной, например, качество сервиса – выше среднего, среднее, ниже среднего. Как правило, количество уровней атрибута колеблется в пределах 2-5. - Разработка набора профильных карточек: небольших карточек с - описанием конкретного сочетания уровней по атрибутам товара или услуги. - Проведение эксперимента, сбор первичных данных: как правило, исследовательская организация организовывает серию сессий, где группы по 810 человек оценивают каждую карточку по метрической шкале (например, вероятность покупки, степень предпочтения, вероятность рекомендации данного товара и т.д.) либо по номинальной шкале – обычно ответ на вопрос, купил бы респондент данный товар: да или нет. - Анализ собранной информации: для анализа ответов респондентов выполняется регрессионный анализ, где зависимой переменной служит оценка респондентом каждой карточки, или выбор карточки, а независимыми переменными выступают атрибуты товара или услуги. - Индекс удовлетворенности потребителей. Методика предназначена для оценки удовлетворенности потребителей организации, основанной на определении степени реализации его поставляемой продукции (услуги). 31 требований в характеристиках
В основе методике лежит индикатор, позволяющий получать данные о восприятии потребителем качества продукции, представляемой производителем – Индекс удовлетворенности потребителя (ИУП). ИУП оценивает информацию с точки зрения клиента, сравнивая его ожидания в отношении качества и ценности продукции с достижениями организации и позволяя определить профили и тенденции в отношении качества, выявить приоритетные направления среди возможностей улучшения и мотивировать их достижение. Для определения ИУП группа потребителей должна оценить значимость для себя и степень выполнения организацией каждого заранее сформулированного показателя качества продукции или услуги. Значимость показателя оценивается числом от 0 до 1, степень выполнения – количеством баллов по 10-бальной шкале. Метод Servqual. Данная методика оценки была разработана на основе модели Парасурамана-Зейтхамл-Бэрри, в соответствии с которой, качество услуги характеризуется разницей между ожидаемой и полученной услугой. При этом услугу потребители оценивают по 5 основным свойствам (признакам), к которым относится надежность, оперативность, уверенность, эмпатия и физические носители. В соответствии с этим, в специально разработанном инструменте – Servqual –измерение качества представлено как математическая разность между измеренными ожиданиями и измеренным исполнением (восприятием исполнения). Метод Servperf. Представляет собой модификацию метода Servqual, предполагающий измерение только исполнения. В этом случае количественная оценка услуги представляет собой взвешенную сумму индивидуальных оценок признаков, характеризующих исполнение услуги. Всем приведенным в этой группе методам свойственен общий недостаток – опасность мультиколлинеарности характеристик и параметров услуги, то есть их взаимной корреляции, что часто дает полученные данные об их значимости недостоверными. 32
2 ОБОСНОВАНИЕ ПРОЕКТНЫХ РЕШЕНИЙ 2.1 Обоснование проектных решений по техническому обеспечению (ТО) Для решения поставленной задачи необходимо выбрать соответствующее техническое обеспечение – аппаратную конфигурацию рабочих станций. Основное требование к аппаратной конфигурации рабочих станций – обеспечение достаточной скорости обработки данных. Другие требования к технической конфигурации напрямую зависят от выбранного системного и разработанного программного обеспечения. Для них немаловажными параметрами являются тактовая частота процессора, объем жесткого диска и объем оперативной памяти. Объём оперативной памяти для рабочих станций определяется исходя из требований функционирования ОС Windows 7 Enterprise, и должен позволять одновременно открывать большее количество прикладных программ, что существенно повышает производительность корпоративной рабочей станции. Выбор оптимальной аппаратной конфигурации рабочей станции решено осуществить на основе анализа, проведенного специалистами-экспертами.[7] Для решения поставленной задачи принимаются компьютеры с характеристиками не хуже [9, с. 14]: Web-сервер: - Процессор 4 x Xeon 5645; - Оперативная память 48Gb ECC Registered RAM; - Жесткий диск 4x450GB SAS 15k RPM Hardware RAID-10 with BBU (System+Database)+ 1TB SATA HDD (Backups); - 1Gbit GigabitEthernet LAN . Веб-клиент: - Процессор Intel Pentium Celeron 1800 Мгц и выше; 33
- Оперативная память 1024 Мб и выше; - Жесткий диск 160 Гб и выше; - SVGA-видеокарта. Компьютеры должны быть укомплектованы мышью, клавиатурой, сетевыми шнурами. Конфигурация компьютера должна соответствовать спецификации (Hardware Compatibility List) для используемых операционных систем. Монитор должен соответствовать стандартам TCO99. Широкоэкранный монитор обеспечит комфортную работу с большим количеством визуальных форм. 2.2 Обоснование проектных решений по информационному обеспечению (ИО) Информационное обеспечение – создание информационных условий функционирования системы, обеспечение необходимой информацией, включение в систему средств поиска, получения, хранения, накопления, передачи, обработки информации, организация банков данных. Создание информационного обеспечения – непременное условие построения и функционирования автоматизированных систем управления. Информационное обеспечение единой системы представляет собой совокупность классификации и кодирования информации, унифицированных систем документации, схем информационных потоков, циркулирующих в организации, а также методологии построения баз данных [8, с. 18]. Информационное внемашинное информационное экономической материалы) обеспечение информации, и ИС включает обеспечение документы, внутримашинное два комплекса: (классификаторы технико- методические инструктивные информационное обеспечение (макеты/экранные формы для ввода первичных данных в ЭВМ или вывода 34
результатной информации, структуры информационной базы: входных, выходных файлов, базы данных). Для создания информационного обеспечения необходимо: - ясное понимание целей, задач, функций всей системы управления организацией; - выявление движения информации от момента возникновения и до ее использования на различных уровнях управления, представленной для анализа в виде схем информационных потоков; - совершенствование системы документооборота; - наличие и использование системы классификации и кодирования; - владение методологией создания концептуальных информационнологических моделей, отражающих взаимосвязь информации; - создание массивов информации на машинных носителях, что требует наличия современного технического обеспечения. 2.2.1 Внемашинное информационное обеспечение 2.2.1.1 Описание входной и выходной информации решаемой задачи Внемашинное классификации и информационное кодирования обеспечение информации; включает: системы систему управленческой документации; систему организации, хранения, внесения изменений в документацию. Внемашинная информационная база представляет собой совокупность сообщений, сигналов и документов в форме, воспринимаемой человеком непосредственно, без применения средств вычислительной техники. Внемашинная информационная база содержит следующие виды документов: - приходная накладная - один из первичных документов, на основании которого получает мицелии, семена грибов, удобрения от поставщиков; 35
- расходная накладная – один из документов, на основании которого предприятие распределяет внутри себя мицелии, семена грибов, удобрения; - ежедневные заявки на грибы (дефектура) - в этом документе содержится информация о потребностях гастрономического рынка в продукции; - бланк заказов – форма документа заказов продукции предприятия клиентом. ГОСТ Р 52113-2003 «Услуги населению. Номенклатура показателей качества». Устанавливает номенклатуру основных групп показателей качества по характеризуемым ими свойствам услуг. Такая номенклатура содержит перечень качественных и количественных характеристик для проведения оценки уровня качества предоставляемых услуг, которые должны обеспечивать: повышение качества услуги и соответствие требованиям потребителей, соответствие качества услуги передовому зарубежному опыту, учет современных достижений науки и техники, характеристику свойств услуги на стадиях ее жизненного цикла, обуславливающих ее способность удовлетворять определенные потребности потребителей в соответствии с ее назначением [2, с. 3]. ГОСТ Р ИСО 9001-2011 «Системы менеджмента качества. Требования». Устанавливает требования, которые могут быть использованы для внутреннего применения организациями, в целях сертификации или заключения контрактов. Направлен на применение «процессорного подхода» при разработке, внедрении и улучшении результативности системы менеджмента качества с целью повышения удовлетворенности потребителей путем выполнения их требований [1, с. 2]. 2.2.2 Внутримашинная реализация данных Внутримашинное информационное обеспечение включает в себя информационную базу на машинных носителях и систему программ ее 36
организации, накопления, ввода формирования внутримашинного внемашинная информационная и доступа к данным. Источником информационного обеспечения служит база. Таким образом, структура внутримашинной базы определяется моделью логически взаимосвязанных данных рассмотренной предметной области. В БД также могут содержаться отдельные невзаимосвязанные массивы входных, выходных и промежуточных данных, хранимых на машинных носителях. Вся информация в системе хранится в одной БД. БД организована в виде реляционной табличной структуры, обслуживаемой специализированным программным обеспечением – СУБД MySQL 5.1. Доступ к информации БД системы производится через web-приложение. Вся информация хранится в нескольких таблицах. Таблица «Клиенты» содержит информацию о зарегистрированных пользователях. Таблица «Показатели качества» содержит перечень показателей «Параметры качества» содержит перечень показателей качества. Таблица качества. Таблица «Заказы» хранит всю информацию о приобретенных клиентом товаров. Таблица «Товары» содержит информацию о предоставляемых товарах. Таблица «Поставщики» содержит информацию о поставщиках. Таблица «Категории» содержит информацию о категориях товаров. Таблица «Сотрудники» содержит информацию о сотрудниках. 2.3 Обоснование проектных решений по программному обеспечению (ПО) Для функционирования разрабатываемой системы необходимо выбрать следующее программное обеспечение: 37
- операционная система для рабочей станции; - СУБД. 2.3.1 Выбор ОС Операционная система является комплексом взаимосвязанных программ, предназначенных для управления ресурсами вычислительного устройства и организации взаимодействия с пользователем. На сегодняшний день к ОС предъявляются такие требования, как: - Расширяемость. Код операционной системы должен быть написан таким образом, чтобы при необходимости можно было легко внести дополнения и изменения, не нарушая целостности системы; - Переносимость. Код операционной системы должен легко переноситься с процессора одного типа на процессор другого типа и с аппаратной платформы (которая включает наряду с типом процессора и способ организации всей аппаратуры компьютера) одного типа на аппаратную платформу другого типа; - Надежность и отказоустойчивость. Система должна быть защищена от внутренних и внешних ошибок, сбоев и отказов; - Совместимость. Операционная система должна иметь средства для выполнения прикладных программ, написанных для других операционных систем, или для более ранних версий данной операционной системы, причем пользовательский интерфейс должен быть совместим с существующими системами и стандартами; - Безопасность. Операционная система должна обладать средствами защиты ресурсов одних пользователей от других; - Производительность. Система должна обладать настолько хорошим быстродействием и временем реакции, насколько это позволяет аппаратная платформа. 38
На данный момент на рабочих станциях ОАО НПК «Белгриб» используется операционная система Windows 8 Enterprise. Данная операционная система обладает рядом преимуществ: - удобный интерфейс; - большое количество утилит и поддерживаемых программных продуктов; - обеспечивает высокое сетевое быстродействие; - надежность и отказоустойчивость. Применение ОС Windows 8 Enterprise позволяет существенно снизить затраты на ИТ-инфраструктуру и повысить эффективность работы за счет роста производительности сотрудников, повышение уровня информационной безопасности и упрощение администрирования рабочих станций [7, с. 20]. Windows 8 Enterprise полностью походит для решения данной задачи и соответствует всем предъявляемым требованиям. 2.3.2 Выбор СУБД Выбор СУБД является одним из важнейших моментов в разработке проекта БД, так как он принципиальным образом влияет на весь процесс проектирования БД и реализацию информационной системы. Теоретически при выборе СУБД нужно принимать во внимание множество факторов. Но практически следует учитывать наиболее важные критерии, к которым, в частности, относятся: - тип модели данных, которую поддерживает данная СУБД, её адекватность потребностям рассматриваемой предметной области; - характеристики производительности системы; - запас функциональных возможностей для дальнейшего развития ИС; - степень оснащённости системы инструментарием для персонала администрирования данными; - удобство и надежность СУБД в эксплуатации [13, с. 14]. 39
Исходя из требований проекта, нам требуется реляционная многопользовательская клиент-серверная СУБД. В реляционной модели база данных представляет собой централизованное хранилище таблиц, обеспечивающее безопасный одновременный доступ к информации со стороны многих пользователей. Достигается информационная и структурная независимость. Записи не связаны между собой настолько, чтобы изменение одной из них затронуло остальные, а измененная структура СУБД, базы данных не обязательно приводит к перекомпиляции работающих с ней приложений. Клиент-серверные СУБД, в отличие от файл-серверных, обеспечивают разграничение доступа между пользователями и мало загружают сеть и клиентские машины. Сервер является внешней по отношению к клиенту программой, и по надобности его можно заменить другим. В качестве возможных альтернатив для реализации проекта рассмотрим следующие: MS SQL Server 2005, FireBird, Interbase, MySql. MS SQL является обобщенным наименованием Microsoft SQL Server 2000, Microsoft SQL Server 2005 и Microsoft SQL Server 2005 Express Edition. Это сервер с отличными возможностями, высокой скоростью и максимальной безопасностью. Microsoft SQL Server — система управления реляционными базами данных (СУБД), разработанная корпорацией Microsoft. Основной используемый язык запросов — Transact-SQL, создан совместно Microsoft и Sybase. является Transact-SQL реализацией стандарта ANSI/ISO по структурированному языку запросов (SQL) с расширениями. Используется для работы с базами данных размером от персональных до крупных баз данных масштаба предприятия; конкурирует с другими СУБД в этом сегменте рынка [11, с. 23]. Для обеспечения поддерживает Open доступа Database к данным Microsoft Connectivity (ODBC) — SQL Server интерфейс взаимодействия приложений с СУБД. Версия SQL Server 2005 обеспечивает возможность подключения пользователей через веб-сервисы, использующие 40
протокол SOAP. Это позволяет клиентским программам, не предназначенным для Windows, кроссплатформенно соединяться с SQL Server. Firebird (FirebirdSQL) кроссплатформенная, свободная система - управления базами данных (СУБД), работающая на Linux, Microsoft Windows и разнообразных Unix платформах [11, с. 27]. В качестве преимуществ Firebird можно отметить многоверсионную архитектуру, обеспечивающую параллельную обработку оперативных и аналитических запросов (это возможно потому, что читающие пользователи не блокируют пишущих), эффективность и компактность мощную (дистрибутив языковую 5Mb), высокую поддержку для хранимых кеша результатов процедур и триггеров. Среди недостатков: отсутствие запросов, полнотекстовых индексов. Borland Interbase является высокопроизводительным, кросс- платформенным, с возможностью встраивания, сервером баз данных, который используется миллионами пользователей в мире. Комбинация легкости установки, автоматического восстановления после сбоев, и минимального сопровождения делают Interbase наиболее подходящим для встраивания в тиражируемые приложения. Сервер Interbase - это кроссплатформенная СУБД, поддерживающая большинство операционных систем: Windows, Linux, Unix, Solaris, Mac OS и т.д. Сервер Interbase разрабатывался с учетом современных требований к производительности СУБД. В последних версиях Interbase SQL Server применен ряд технологий значительно повышающих скорость работы: SMP Поддержка симметричной многопроцессорной обработки Interbase (symmetric multiprocessing) позволяет задействовать возможности многопроцессорной архитектуры при единственном серверном процессе Interbase SuperServer; - Поддержка технологии Hyperthreading; 41
- Пакетное выполнение SQL запросов позволяет уменьшить сетевой трафик и повысить производительность. Клиент-серверная версия Firebird SQL Server существует в двух вариантах: Firebird Super Server и Firebird Classic. В Interbase реализована архитектура, совмещающая в себе достоинства Classic и SuperServer - Interbase SuperServer + SMP. Архитектура Super Server - все клиентские подключения обслуживаются одним серверным процессом, имеется общий клиентский кеш. За счет этого достигается меньший расход ресурсов на обслуживание клиентов. Недостатком Super Server является отсутствие возможности задействовать несколько процессоров для работы сервера. Архитектура Classic Server - на каждое клиентское подключение создает отдельный серверный процесс. Архитектура Classic Server более надежна, т.к. сбой одного серверного процесса не вызывает отказ в обслуживании всех клиентов. Кроме того, Classic Server позволяет распределить клиентские подключения на несколько процессоров. Недостатком архитектуры являются дополнительные накладные расходы на обслуживание и синхронизацию процессов, а так же отсутствие общего клиентского кеша. Interbase Super Server + SMP (symmetric multiprocessing) объединяет в себе преимущества двух архитектур Classic и Superserver. Один серверный процесс Interbase Super Server позволяет сократить накладные расходы и использовать общий клиентский Кеш, а технология симметричной обработки SMP задействует возможности многопроцессорной архитектуры, которые раньше были недоступны для Classic Server. MySQL является собственностью компании Oracle Corporation. Распространяется под GNU General Public License или под собственной коммерческой лицензией. Помимо этого разработчики создают функциональность по заказу лицензионных пользователей, именно благодаря такому заказу почти в самых ранних версиях появился механизм репликации [11, с. 31]. 42
Гибкость количества СУБД типов MySQL таблиц: обеспечивается пользователи могут поддержкой выбрать как большого таблицы типаMyISAM, поддерживающие полнотекстовый поиск, так и таблицы InnoDB, поддерживающие транзакции на уровне отдельных записей. MySQL портирована на большое количество платформ, имеет API (интерфейс программирования приложений) а также для языков Delphi, C, C++, Эйфель, Java, Лисп, Perl, PHP, Python, Ruby, Smalltalk и Tcl, библиотеки для языков платформы .NET, а также обеспечивает поддержку для ODBC посредством ODBC-драйвера MyODBC. Сравнительные характеристики рассмотренных СУБД сведены в единую таблицу 2.1 Таблица 2.1 - Сравнение СУБД Характеристика Операционная система MS SQL 2005 Windows MySql 5.1 Windows, Unix, Linux, MacOS, BSD FireBird 2.5 InterBase 7.5 Windows, Unix, Windows, Unix, Linux, MacOS, Linux, MacOS BSD Архитектура Максимальный размер базы Максимальное число таблиц в БД Процедурные расширения SQL Клиент-сервер 524258 ТВ Клиент-сервер Не ограниченно 60000 Клиент-сервер Не ограниченно 65536 Клиент-сервер Не ограниченно 65536 SQL/Persistent Stored Module Procedure-SQL Procedure-SQL 2 млн. Transact-SQL На основе приведенной информации, было решено использовать в качестве СУБД – MySql. Она бесплатна, отвечает всем необходимым требованиям – одна из лучших СУБД для управления небольшими базами данных, оптимальным образом использующая возможности операционной системы, имеет набор гибких средств обработки и анализа данных, и более того, связка MySQL+PHP является неким стандартом в разработке webприложений на сегодняшний день. 43
2.4 Обоснование выбора программных средств Решение поставленной цели возможно с использованием следующих программных средств: CMS. CMS - информационная система или компьютерная программа, используемая для обеспечения и организации совместного процесса создания, редактирования и управления контентом. Главной целью такой системы является возможность собирать в единое целое и объединять на основе ролей и задач все разнотипные источники знаний и информации, доступные как внутри организации, так и за ее пределами, а также возможность обеспечения взаимодействия сотрудников, рабочих групп и проектов с созданными ими базами знаний, информацией и данными так, чтобы их легко можно было найти, извлечь и повторно использовать привычным для пользователя образом. В системе управления содержимым могут быть определены самые различные данные: документы, фильмы, фотографии, номера телефонов, научные данные и так далее. Проведем сравнительный анализ следующих систем – WordPress, Drupal, Joomla!. Сравнительные параметры, необходимые для проведения всестороннего анализа представлены в таблице 2.2. Таблица 2.2 - Сравнительная характеристика систем управления сайтом (CMS) № Критерий WordPress Drupal Joomla 1 2 3 4 5 1. Лицензия Бесплатная Бесплатная Бесплатная 2. Интерфейс Web Web Web администрирования системы 3. Сайт системы http://wordpress.o http://www.drup http://joomla.ru/ rg/ al.org/ 4. Системные требования: 4.1. База даных MySQL MySQL, MySQL PostgreeSQL 4.2. Операционная Windows, Unix Windows, Unix Windows, Unix система 44
Продолжение таблицы 2.2 4.3. Веб-сервер 5. Русскоязычная документация 6. Русская поддержка 7. Борьба со спамом 8. Визуальный редактор Apache Apache Отсутствует русская (английский) документация на модули + + Akismet, черный Akismet, список, фильтр анализатор слов поведения, Captcha TinyMCE TinyMCE Apache + Два крупных официальных форума Captcha JCE, TinyMCE, Рассмотренные CMS являются бесплатными, кроссплатформеннными с поддержкой СУБД MySQL, с приблизительно одинаковыми характеристиками (наличие модулей, плагинов, шаблонов) [14, с. 37]. Таким образом, для решения поставленной проблемы была выбрана CMS WordPress, как наиболее полно удовлетворяющая требованиям система. 45
3 ПРОЕКТНАЯ ЧАСТЬ 3.1 Информационное обеспечение задачи 3.1.1 Информационная модель и ее описание После внедрения разработки выпускной квалификационной работы предполагается использование следующей информационной модели: Нормативные акты Информация о заказе Прием заявки Заказ 1 Дефектура Обработка заказа 2 Дефектура Отправка заказа Предоплата 3 Товарная накладная Прием продукции Данные для отчетов 4 Продажа продукции Оплата Товар Чек 5 Оператор Основное производство ПК Рисунок 3.1 – IDEF0-модель процесса оказания услуги (Как должно быть) Методология IDEF0 описывает процессы движения и обработки информации звеньями моделируемого объекта с точки зрения их функционального назначения. На рисунке 3.1 изображена предпологаемая декомпозиция исходной контекстной диаграммы, показывающая движение основных информационных потоков. 46
На основе описания объекта управления можно сделать вывод, что внедрении web-сайта позволит решить значительные недостатки существующей системы предприятия следующих бизнес-процессов: Процесс осуществления заказа. Заказ можно сделать, только придя непосредственно на предприятие, либо при личной встрече с торговым агентом. С помощью создаваемого сайта клиент может самостоятельно ознакомиться с полным ассортиментом предлагаемой продукции и самостоятельно осуществить заказ. Процесс обслуживания заказчика. Единовременно могут обслуживаться только два клиента (в отделе продаж и выездным торговым агентом). С помощью внедренного продукта появится возможность увеличить количество одновременно обслуживаемых заказчиков. Схемы информационных потоков отражают маршруты движения информации и ее объемы, места возникновения первичной информации и использования результатной информации. За счет анализа структуры подобных схем можно выработать меры по совершенствованию всей системы управления. На входе решаемых задач клиент сможет оформить заказ на покупку грибов, получить информацию об интересующих и аналогичных товарах, оценить качество работы Интернет-магазина. Сделать это он может, не выходя из дома, зайдя на страничку в интернете. 47
Заявка Инфорум Электронная товарная накладная Прайслист Заявка Прайслист Начальник отдела продаж Заказ Интернетмагазин Клиент Основное производство Оператор Расходная накладная Ценники Дефектура Отдел продаж Формировщик заказа (кладовщик) Заказ Клиент Рисунок 3.2 – Информационные потоки предприятия Выходной информацией является отчет о покупке продукции предприятия, оценка работы Интернет-магазина клиентом. 3.1.2 Используемые классификаторы и системы кодирования В процессе организации данных используются следующие классификаторы: Таблица 3.1 - Используемые классификаторы Наименование кодируемого множества объектов Логин_Клиента Значность кода Система Система кодирования классификации Вид классификатора 11 Порядковая Отсутствует Локальный ID_заказа 11 Порядковая Отсутствует Локальный ID_Показателя 11 Порядковая Отсутствует Локальный 48
Продолжение таблицы 3.1 ID_Товара 11 Порядковая Отсутствует Локальный ID_Поставщика 11 Порядковая Отсутствует Локальный ID_Категории 11 Порядковая Отсутствует Локальный Логин_Сотрудника 11 Порядковая Отсутствует Локальный ID_Параметра 11 Порядковая Отсутствует Локальный Классификатор Логин_Клиента описывает существующие логины клиентов, зарегистрированных на сайте предприятия. Классификатор ID_заказа описывает существующие заказы клиентов, зарегистрированных на сайте предприятия. Классификатор ID_Показателя описывает существующие показатели для оценки качества работы сайта предприятия. Классификатор ID_Параметра описывает существующие параметры для оценки качества работы сайта предприятия. Классификатор ID_Товара описывает существующие товары, предлагаемые для реализации посредством сайта предприятия. Классификатор ID_Поставщика описывает существующих поставщиков товаров, не производимых напрямую предприятием. Классификатор ID_Категории описывает существующие категории товаров, представленных на сайте предприятия. Классификатор Логин_Сотрудника а описывает существующие логины операторов, отвечающих за прием заказа и зарегистрированных на сайте предприятия. 49
3.1.3 Характеристика первичных документов с нормативносправочной и входной оперативной информацией При машинной реализации задачи автоматизации регистрации пользователя для формирования входного оперативного файла используются данные из первичного документа – Регистрация пользователя. Этот документ имеет типовую форму, соответсвующую стандартам. Входной документ Регистрация пользователя содержит следующие реквизиты: - Имя клиента; - Фамилия клиента; - E-mail клиента; - Пароль клиента. Все реквизиты документа используются для заполнения макета регистрации (рисунок 3.3). Рисунок. 3.3 – Макет регистрации пользователя Структура файла базы данных (БД) входной оперативной информации представлена в таблице 3.2. 50
Структура БД «Клиенты» Имя файла :Klienty.dbf Носитель :Жесткий диск Организация :Индексно-последовательная Ключи : ID_Заказа, Логин_Клиента Длина записи :322 Таблица 3.2 - Клиенты Наименование атрибута Логин_Клиента Тип данных (длина) Идентификатор Integer (11) Primary key ID_заказа Имя Integer (11) Varchar (50) Foreign key Фамилия Varchar (50) Имя Varchar (50) Пароль Varchar (50) E-mail Varchar (50) Телефон Varchar (50) При машинной реализации задачи автоматизации осуществления заказа для формирования входного оперативного файла используются данные из первичного документа – Заявка на оказание услуг продажи (Заказ). Этот документ имеет типовую форму, соответсвующую стандартам. Входной документ Заявка на оказание услуг продажи содержит следующие реквизиты: - Имя клиента; - Фамилия клиента; - Адрес клиета; - E-mail клиента; - Телефон клиента; - Дополнительная информация; - Заказанные товары; - Форма оплаты; 51
- Дата составления заявления; - Подпись; - Печать. Все реквизиты документа (кроме подписи и печати) используются для заполнения макета заявки. Реквизиты заказанных товаров вносятся в макет автоматически из корзины покупателя, на основе ранее выбранных товаров. Рисунок 3.4 – Макет ввода заявки Структура файла базы данных (БД) входной оперативной информации представлена в таблице 3.3. Структура БД «Заказы» Имя файла :Zakazy.dbf Носитель :Жесткий диск 52
Организация :Индексно-последовательная Ключи : ID_Заказа, ID_Товара Длина записи :133 Таблица 3.3 - Заказы Наименование атрибута ID_Заказа Тип данных (длина) Идентификатор Integer (11) Primary key ID_Товара Логин_Клиента Дата заказа Integer (11) Integer (11) Varchar (50) Foreign key Количество товаров Varchar (50) Структура файлов БД нормативно-справочной информации представлена в таблицах 3.4 – 3.9. Структура БД «Показатели качества» Имя файла :Pokazateli.dbf Носитель :Жесткий диск Организация :Индексно-последовательная Ключи : ID_Показателя Длина записи :22 Таблица3.4 - Показатели качества Наименование Тип данных (длина) атрибута ID_Показателя Integer (11) Наименование text Структура БД «Товары» Имя файла :Tovary.dbf Носитель :Жесткий диск Организация :Индексно-последовательная Ключи : ID_Заказа, ID_Товара Длина записи :77 53 Идентификатор Primary key
Таблица 3.5 - Товары Наименование атрибута ID_Товара Тип данных (длина) Идентификатор Integer (11) Primary key ID_Заказа Integer (11) Foreign key ID_Поставщика Integer (11) Наименование text Описание text Структура БД «Поставщики» Имя файла :Postavshiki.dbf Носитель :Жесткий диск Организация :Индексно-последовательная Ключи : ID_Поставщика, ID_Товара Длина записи :272 Таблица 3.6 - Поставщики Наименование атрибута ID_Поставщика ID_Товара Наименование Тип данных (длина) Идентификатор Integer (11) Primary key Integer (11) Foreign key text Адрес Varchar (50) Телефон Varchar (50) Email Varchar (50) Контактное лицо Varchar (50) Структура БД «Категории» Имя файла :Kategorii.dbf Носитель :Жесткий диск Организация :Индексно-последовательная Ключи : ID_Категории, ID_Товара Длина записи :77 54
Таблица 3.7 - Категории Наименование атрибута ID_Категории Тип данных (длина) ID_Товара Наименование Идентификатор Integer (11) Primary key Integer (11) Foreign key text Структура БД «Параметры качества» Имя файла :Parametry.dbf Носитель :Жесткий диск Организация :Индексно-последовательная Ключи : ID_Параметра Длина записи :77 Таблица 3.8 - Параметры качества Наименование атрибута ID_Параметра Тип данных (длина) Идентификатор Integer (11) Наименование Primary key Varchar (50) Структура БД «Сотрудники» Имя файла :Sotrudniki.dbf Носитель :Жесткий диск Организация :Индексно-последовательная Ключи : ID_Сотрудника, ID_Заказа Длина записи :322 Таблица 3.9 - Сотрудники Наименование атрибута Логин_Сотрудника Тип данных (длина) Идентификатор Integer (11) Primary key ID_заказа Имя Integer (11) Varchar (50) Foreign key Фамилия Varchar (50) 55
Продолжение таблицы 3.9 - Сотрудники Отчество Varchar (50) Пароль Varchar (50) E-mail Varchar (50) Телефон Varchar (50) 3.1.4 Характеристика базы данных 3.1.4.1 Характеристика инфологической модели БД Основными задачами инфологического проектирования являются определение предметной области системы и формирование взгляда на ПО с позиций будущих пользователей БД, т.е. инфологической модели ПО. Инфологическая модель ПО представляет собой описание структуры и динамики ПО, характера информационных потребностей пользователей в терминах, понятных пользователю и не зависимых от реализации БД. Это описание выражается в терминах не отдельных объектов ПО и связей между ними, а их типов, связанных с ними ограничений целостности и тех процессов, которые приводят к переходу предметной области из одного состояния в другое. Основными подходами к созданию инфологической модели являются функциональный и предметный подходы. Метод "сущность–связь" (entity– relation, ER–method) является комбинацией двух предыдущих и обладает достоинствами обоих. Этап инфологического проектирования начинается с моделирования ПО. Проектировщик разбивает её на ряд локальных областей, каждая из которых (в идеале) включает в себя информацию, достаточную для обеспечения запросов отдельной группы будущих пользователей или решения отдельной задачи (подзадачи). Каждое локальное представление моделируется отдельно, затем они объединяются. 56
ID_поставщика М Параметры работы Интернет-магазина М М Адрес Поставляет Email Дата М Название Поставщик ID_параметра Название Оценивает ID_заказа М М М 1 Осуществляет Клиент М Содержит Заказ М М Товар Относится 1 Логин_клиента ID_товара Катагории М Пароль Наименование Обрабатывает ID_категории ФИО Описание 1 Название Email М Выставляет баллы М Выставляет баллы Сотрудники Логин_сотрудника ID_показателя Пароль Название ФИО 1 Показатели работы Интернет-магазина Включает М Рисунок. 3.5 – Инфологическая модель Сущность «Клиент» характеризуется атрибутами «ФИО», «Email», «Логин», «Пароль», «Адрес», «Телефон». Эта сущность связана отношением «Оценивает» с сущностью «Параметры работы Интернет-магазина», которая в свою очередь характеризуется идентификатором параметра и наименованием. Также сущность «Клиент» связана отношением «Осуществляет» с сущностью «Заказ», которая характеризуется идентификатором и датой заказа. Сущность «Заказ» связана отношением «Обрабатывает» с сущностью «Сотрудники» и находится в отношении «Содержит» с сущностью «Товар». 57
Сущность «Товар» имеет следующие атрибуты: «Наименование», «Цена», «Количество», «Описание» и находится в отношении «Поставляет» с сущностью «Серия», «ID_Товара», «Срок годности», «Поставщик», которая характеризуется наименованием и идентификатором, адресом, телефоном, Email. Так же сущность «Товар» находится в отношении «Относится» с сущностью «Категория», характеризующаяся идентификатором и наименованием. Сущность «Сотрудники» связана отношением «Выставляет баллы» с сущностью «Показатели работы Интернет-магазина» и «Параметры работы Интернет-магазина», которые характеризуются идентификатором и наименованием. Сущность «Показатели работы Интернет-магазина» «Включает» «Пвараметры работы Интернет-магазина». Инфологическая модель проекта представлена на рисунке 3.5. 3.1.4.2 Характеристика даталогической модели БД Вся информация в системе хранится в одной БД. БД организована в виде реляционной табличной структуры, обслуживаемой специализированным программным обеспечением – СУБД MySQL 5.1. Доступ к информации БД системы производится через web-приложение. Даталогическая модель проекта представлена на рисунке 3.6. 58
Рисунок 3.6 – Даталогическая модель интернет-магазина 59
3.1.5 Характеристика результатной информации 3.1.5.1 Характеристика таблиц с результатной информацией Вся результатная информация хранится в таблице 3.10. Структура таблицы представлена ниже: Структура БД «Счета» Имя файла :Schet.dbf Носитель :Жесткий диск Организация :Индексно-последовательная Ключи : ID_счета, ID_Заказа Длина записи :322 Таблица 3.10 - Счета Наименование атрибута ID_счета Тип данных (длина) ID_заказа Сумма Идентификатор Integer (11) Primary key Integer (11) Integer (11) Foreign key 3.1.5.2 Характеристика результатных документов В результате обработки всех информационных файлов, используемых при решении задачи работы с заявками, пользователь получает выходные документы, который выводятся на экран дисплея, а также на принтер: - Заявка с кодами; - Счет. Эти документы имеют типовую государственным стандартам. 52 форму, соответсвующую
3.2 Программное обеспечение задачи 3.2.1 Общие положения Программное обеспечение (ПО) обработки информации и совокупность программ системы программных документов, необходимых для эксплуатации этих программ. Программное обеспечение является одним из видов обеспечения вычислительной системы, наряду с техническим (аппаратным), математическим, информационным, лингвистическим, организационным и методическим обеспечением. Программное обеспечение принято по назначению подразделять на системное, прикладное и инструментальное. Системное ПО - это комплекс программ, которые обеспечивают эффективное управление компонентами вычислительной системы, такими как процессор, оперативная память, каналы ввода-вывода, сетевое оборудование, выступая как «межслойный интерфейс» с одной стороны которого аппаратура, а с другой приложения пользователя. В отличие от прикладного программного обеспечения, системное не решает конкретные прикладные задачи, а лишь обеспечивает работу других программ, управляет аппаратными ресурсами вычислительной системы и т.д. Инструментальное ПО — программное обеспечение, предназначенное для использования в ходе проектирования, разработки и сопровождения программ. В рамках выпускной квалификационной работы создавался webориентированный модуль оценки качества услуг. Для разработки программного обеспечения была выбрана система управления контентом сайта (CMS) WordPress. Изначально был проведен сравнительный анализ трех CMS – Drupal, Joomla, WordPress. В пользу WordPress Были отмечены следующие показатели – большой объем русскоязычной документации, возможности поддержки – два крупных форума для коммуникации 61
разработчиков, также WordPress лидирует в отношении расширенной функциональности. Важной особенностью WordPress является минимальный набор инструментов при начальной установке, который как раз обогащается по мере необходимости. Это снижает загромождение административной панели ненужными элементами, а также снижает нагрузку на сервер и экономит место на хостинге. Поскольку принято решение не использовать собственный webсервер, а пользоваться услугами хостинг-провайдера, рассмотрим основные требования, которые предъявляет сама CMS: Наличие PHP не ниже версии 5.2.х Возможна работа и с более старыми версиями PHP, однако при использовании таких версий могут возникать разного рода сложности с совместимостью скриптов CMS с синтаксисом и конфигурацией PHP. В конфигурации PHP должны быть включены модули MySQL, XML, Zlib. Наличие на сервере СУБД MySQL версии 5.х. Веб-сервер Apache версии не ниже 2.2 Windows операционная система. Также при выборе хостинга необходимо обратить внимание на следующее: место под сайт предоставляемое хостером должно быть от 150 Мб, лимит памяти на исполнение PHP скрипта 55 мб. В нашем проекте версия MySQL – 5.0.91, РНР – 5.2. ПО СУБД MySQL – это: - ПО с открытым кодом. Это означает, что применять и модифицировать его может любой желающий. Каждый пользователь может изучить исходный код и изменить его в соответствии со своими потребностями. - ПО MySQL является системой клиент-сервер, которая содержит многопоточный SQL-сервер, обеспечивающий поддержку различных вычислительных машин баз данных, а также несколько различных 62
клиентских программ и библиотек, средства администрирования и широкий спектр программных интерфейсов (API). - Система безопасности основана на привилегиях и паролях с возможностью верификации с удаленного компьютера, за счет чего обеспечивается гибкость и безопасность. Пароли при передаче по сети при соединении с сервером шифруются. PHP - скриптовый язык программирования общего назначения, интенсивно применяемый для разработки веб-приложений. В настоящее время поддерживается подавляющим большинством хостинг-провайдеров и является одним из лидеров среди языков программирования, применяющихся для создания динамических веб-сайтов. Популярность РНР в области построения веб-сайтов определяется наличием большого набора встроенных средств для разработки вебприложений. Основные из них: - автоматическое извлечение POST и GET-параметров, а также переменных окружения веб-сервера в предопределённые массивы; - взаимодействие с большим количеством различных систем управления базами данных (MySQL, SQLite, PostgreSQL, Oracle, MSSQL Server, InterBase, Paradox, MaxDB и др.); - автоматизированная отправка HTTP-заголовков; - работа с HTTP-авторизацией; - работа с cookies и сессиями; - работа с локальными и удалёнными файлами, сокетами; - обработка файлов, загружаемых на сервер. Apache HTTP-сервер - свободный веб-сервер. Apache является кроссплатформенным ПО, поддерживая операционные системы GNU/Linux, BSD, Mac OS, Microsoft Windows, Novell NetWare, BeOS. Основными достоинствами Apache считаются надёжность и гибкость конфигурации. Он позволяет подключать внешние модули для предоставления данных, 63
использовать СУБД для аутентификации пользователей, модифицировать сообщения об ошибках и т.д. 3.2.2 Описание программных модулей Алгоритмы обработки информации разрабатываются по правилам Стандарта ГОСТ 19.701-90 (ИСО 5807-85) ЕСПД. «Схемы алгоритмов, программ, данных и систем. Условные обозначения и правила выполнения». Настоящий стандарт распространяется на условные обозначения (символы) в схемах алгоритмов, программ, данных, и систем и устанавливает правила выполнения схем, используемых для отображения различных видов задач обработки данных и средств их решения. Алгоритм работы оператора представлен на рисунке 3.7. После входа в административную часть сайта оператор может выбрать одно из следующих действий: провести анализ; заполнить БД; просмотреть и обработать оставленные отзывы и комментарии; обновить прайс-лист; обработать заказы. 64
Пуск Вход в административную панель Ввод логин/ пароля Обращение к БД Логин/пароль корректен? Нет Сообщен ие об ошибке Да Выбрать действие? Провести анализ работы ИМ Заполнить БД Просмотреть и редактировать отзывы Обработать заказ Завершить работу? Обновить прайслист Нет Да Останов Рисунок 3.7 – Алгоритм работы оператора Алгоритм работы пользователя с сайтом представлен на рисунке 3.8. На шаге авторизация определяется – явяляется посльзователь зарегистрированным в системе, если нет – то он проходит процедуру регистрации. Иначе продолжает работу с системой. 65
Пуск Вход пользователя на сайт Нет Хотите пройти регистрацию? Зарегистрированны й пользователь? Да Нет Вход в личный кабинет Да Переход на регистрационную форму Просмотр товаров Обраще ние к БД Выбрать действие Ввод данных Нет Да Данные корректны? Просмотр товаров Сообщить об ошибке Оценка качества работы Оформление заказа Отправить регистрационные данные Выйти из системы? Нет Да Останов Рисунок 3.8 – Алгоритм работы пользователя с сайтом Алгоритм входа в личный кабинет пользователя представлен на рисунке 3.9. 66
Пуск Ввод логина/ пароля Обращение в БД Проверка данных Да Нет Данные корректны? Да Вход в личный кабинет Забыли пароль? Нет Ввод email Обращение в БД Проверка данных Нет Данные корректны? Да Получение данных для входа Да Данные получены? Нет Останов Рисунок 3.9 – Алгоритм входа в личный кабинет пользователя 67
Алгоритм оформления заказа представлен на рисунке 3.10. Пуск Выбор товара Товар отпускается по рецепту? Да Нет Да Нет Просмотр описания товара Добавить в корзину? Добавление товара в корзину Нет Да Продолжить выбор товаров? Да Нет Оформить заказ? Заполнение платежной формы Размещение заказа Останов Рисунок 3.10 – Алгоритм оформления заказа Алгоритм расчета интегрального показателя работы интернетмагазина представлен на рисунке 3.11. Пуск Пуск Определение весовых коэффициентов показателей Выставление балла k-го экперта iпоказателя Определение веса для iпоказателя kэкспертом Ввод оператором значений показателей с хостинга Расчет весового коэффициента Расчет средневзвешенного балла Останов Расчет показателя удовлетворенности потребителя Расчет нормированных показателей Расчет интегрального показателя оценки работы Останов Рисунок 3.11 – Алгоритм расчета интегрального показателя работы 68
3.3 Технологическое обеспечение задачи (комплекса задач, АРМ) 3.3.1 Организация технологии сбора, передачи, обработки и выдачи информации Пользователями разрабатываемой системы являются «администратор» (в лице оператора организации) и заинтересованные стороны (здесь и далее - пользователи) – «клиенты», «поставщики», «персонал», «собственники». В рамках разрабатываемого Интернет-магазина, пользователь обладает правами: - регистрации на сайте; - заполнения анкеты (выставление оценок важности и удовлетворенности); - просматривать информацию на сайте; - заказывать товар; - оставлять отзыв; - пользоваться электронным кошельком или банковской картой. Администратор входит в административную часть под своим логином и паролем, где далее управляет работой системы. При входе в закрытую часть сайта пользователю необходимо пройти регистрацию. Регистрация осуществляется через форму, в которой необходимо заполнить следующие поля – Имя пользователя, Логин/E-mail, Пароль. Доступ, соответственно открывается по логину/паролю. После успешной авторизации, пользователь получает возможность осуществить соответствующей его роли функцию в разрабатываемой системе. При повторном заполнении анкеты, возможно восстановить логин/пароль. Вся информация, поступающая от клиентов и формируемая администратором модуля, хранится в базе данных под управлением СУБД MySql. 69
3.4 Описание контрольного примера реализации проекта На главной странице сайта располагается название предприятия, основное навигационное меню, слайд-бар, информация о компании, а так же яндекс-карта с указанием местоположения организации (рисунки 3.12 - 3.13). Рисунок 3.12 – Главная страница сайта (ч.1) Рисунок 3.13 – Главная страница сайта (ч. 2) 70
При наведении или нажатии ссылки «Магазин» открывается список групп товаров, реализуемых предприятием (рисунок 3.14). Рисунок 3.14 – Список групп товаров При нажатии на ссылку любой из групп, открывается перечень товаров данной группы (рисунок 3.15). Рисунок – 3.15 Перечень товаров группы 71
При выборе определенного товара, пользователю предоставляется информация о данном товаре, возможность положить его в корзину, а также оставить отзыв (рисунок 3.16). Рисунок 3.16 – Описание товара Для приобретения товара пользователю необходимо пройти процесс регистрации на сайте, воспользовавшись соответствующей формой для внесения личных данных (рисунок 3.17). Рисунок 3.17 – Регистрация пользователя 72
Для оформления заказа необходимо воспользоваться формой «Оплатить заказ». На рисунке 3.18 представлена экранная форма корзины товаров. Отличительная особенность от многих аналогичных форм у сайтов конкурентов - возможность комплектации корзины товарами до процесса регистрации на сайте. Рисунок 3.18 – Корзина На рисунке 3.19 представлена экранная форма оформления заказа. 73
Рисунок 3.19 – Оформление заказа Так же пользователю на рисунке 3.20 предоставляется возможность принять участи в опросе оценки качества работы интернет-магазина. Рисунок 3.20 – Опрос пользователя 74
Нижняя часть сайта содержит в себе три виджета: «Недавно просмотренные товары», «Поиск по товарам» и «Календарь». При этом виджет «Недавно просмотренные товары» отображается только в том случае, когда пользователь уже просмотрел какие-либо товары на сайте (рисунок 3.21). Рисунок 3.21 – Footer сайта. Предложенный интерфейс приятен, интуитивно понятен и удобен для конечного пользователя, что подтверждается данными, полученными в процессе тестирования разработки. Расположение и размеры блоков, активных элементов и меню, разработаны с соблюдением требований к web-продуктам. Цветовая гамма web-сайта, размеры, яркость и контрастность изображений отвечает общепринятым стандартам. 75
4 ОРГАНИЗАЦИОННО-ЭКОНОМИЧЕСКАЯ ЧАСТЬ 4.1 Целесообразность разработки с экономической точки зрения Современные условия, в которых осуществляется производственнокоммерческая деятельность рассматриваемого предприятия, на сегодняшний день не позволяют рассчитывать на значительные вложения в расширение материально-технической базы. Поэтому на передний план выдвигается задача наиболее организации через эффективного реализацию использования принципов имеющихся планирования ресурсов (принцип научности, оптимизации, сбалансированности) на основе системного подхода и широкого применения экономико-математических методов. В связи с этим разработка данной выпускной квалификационной работы подверглась анализу для определения достоинств и недостатков с экономической точки зрения. Внедрение разработки web-сайта в формате интернет-магазина позволяет снизить общую трудоемкость работ о принятию и обработке заказов, снизить затраты на заработную плату в связи с сокращением штата сотрудников, обрабатывающих заказы, сократить расходы на продвижение предприятия за счет использования web-сайта для этих целей, повысить конкурентоспособность культивируемой и реализуемой продукции. В результате внедрения разработки повышается оперативность и качество принимаемых решений, сокращается число ошибок, а так же повышается надежность. 4.2. SWOT-анализ разработки Для анализа разрабатываемого интернет-магазина была выбрана методика SWOT- матриц. Название данного метода анализа представляет 76
собой аббревиатуру английских слов Strength (сила), Weakness (слабость), Opportunities (возможности), Threats (угрозы). На первом этапе были выявлены слабые и сильные стороны разработки, а так же возможности и угрозы разработки. К сильным сторонам разработки относятся низкая стоимость, кроссплатформенность и кроссбраузерность, обеспечение сопровождения, интуитивная понятность. Низкая стоимость получается за счет разработки продукта в рамках выпускной квалификационной работы. Под кроссплатформенностью понимается возможность запуска сайта на любой вычислительной машине, будь то компьютер, планшет или телефон. Под кроссбраузерностью понимается возможность посешения webмагазина посредством любого из существующих на сегодняшний день браузеров. Под обеспечением сопровождения понимается своевременное реагирование на неполадки и неисправности, а так же оказание услуг консультационного характера в вопросах, напрямую связанных с нашей разработкой. К слабым сторонам разработки относятся недостаточное финансирование, ненадежность провайдера хостинг-услуг. Недостаточное финансирование вытекает из невозможности выделения предприятием средств в необходимом объеме для полноценной поддержки и развития разработки, что связано с перераспределением средств внутри предприятия и уменьшением изначально заложенного бюджета на ИТ-отдел. Ненадежность провайдера хостинг услуг связана с периодическими перебоями с доступом к сайту. К возможностям относятся совершенствование разработки. 77 расширение круга потребителей,
Расширение круга потребителей позволит увеличить рынок сбыта, что, в свою очередь, повысить итоговую прибыть предприятия. Совершенствование разработки позволит своевременно реагировать на изменения в ИТ сфере, что позволит поддерживать разработку на требуемом уровне. К угрозам относятся быстрое моральное устаревание, появление конкурентов. Моральное устаревание – естественный процесс для ИТ-разработки, что, при несвоевременном совершенсвовании, приводит к снижению числа пользователей, что, в свою очередь, негативно отражается на предприятии. Появление конкурентов – естественный экономический процесс, и несмотря на видимую опасность, несет так же и положительный момент – здоровую конкуренцию. Исходя из выявленных сторон, возможностей и угроз, составим SWOT-матрицу. Таблица 4.1 – SWOT – матрица Сильные стороны Возможности Угрозы. 1. 1. Расширение 2. Появление круга Совершенствован новых потребителе ие разработки конкурент й 1 1. Низкая стоимость разработки ов 2 3 2. Быстрое моральное устареван Итог о ие 4 5 6 ++ 0 ++ 0 +4 ++ ++ + ++ +7 + + + + +4 2. кроссплатформенно сть и кроссбраузерность 3. Обеспечение сопровождения 78
Продолжение таблицы 4.1 4. Интуитивная ++ понятность + + 0 +4 +7 +3 +5 +3 +18 –– –– – –– –7 –– –– –– –– –8 Итого –4 –4 –3 –4 –15 Общий итог +3 –1 +2 –1 +3 Итого Слабые стороны 1. Недостаточное финансирование 2. Ненадежность провайдера хостингуслуг Проанализировав полученную SWOT-матрицу, можно сделать следующие выводы: Трудно выделить самые важные сильные стороны, они все в достаточной достоинством степени важны, разработки но, по-видимому, является наиболее важным кроссплатформенность и кроссбраузерность. В дальнейшем необходимо обращать особое внимание на обеспечение и расширение этой стороны разработки; Все выделенные слабые стороны разработки являются очень опасными, но особенно опасной является ненадежность провайдера хостингуслуг; Из рассмотренных возможностей более реальной представляется возможность расширения круга возможных потребителей, хотя данная возможность при существующих слабостях весьма проблематична. Совершенствование же разработки при недостатке финансирования и нехватке кадров вообще невозможно; Наиболее опасной угрозой представляется быстрое устаревание разработки, но при сложившихся условиях это не столь существенная угроза. Появление конкурентов представляется маловероятным вследствие наличия сильных сторон разработки; 79
Заключение о перспективности разработки. На данный момент имеются существенные проблемы в реализации разработки. В случае преодоления отмеченных слабостей разработка может стать перспективной, так как у нее имеется ряд очень важных достоинств. Первоочередным представляется поиск дополнительного финансирования и смена провайдера хостниг-услуг. Одним из источников финансирования может послужить рост объемов продаж, так как в данный момент разработка соответствует запросам рынка. 4.3. Калькуляция себестоимости научно-технической продукции Калькулирование производится себестоимости согласно типовым научно-технической методическим продукции рекомендациям по планированию, учету и калькулированию себестоимости научно-технической продукции (утв. Миннауки от 15.06.1994 РФ №ОР-22-2-46). Для заполнения отчетной формы 1-пн. раскроем отдельные статьи, которые будут использованы в калькуляции. Таблица 4.2 - Материалы Наименование материальных затрат Ед. изм. CD-R шт. Бумага А4 Снегурочка, шт. пачка 500 листов Картридж для принтера шт. НР400 Итого: Цена без НДС с учетом комиссионных Колвознаграждений, Сумма во таможенных пошлин и транспортных затрат 10 14 140 1 270 270 1 2750 2750 3160 Затраты на оплату труда работников, непосредственно занятых созданием научно-технической продукции. Разработка выполнялась инженером-программистом в течение 43 рабочих дней при восьмичасовом 80
рабочем дне. Месячный фонд времени работы инженера-программиста 166,25 часов, среднемесячная заработная плата 14000 руб. Основная заработная плата разработчика составила: ЗОСН 14000 8 43 28968,42 руб. 166,25 Дополнительная заработная плата составляет 20% Здоп=0,2*Зосн= 0,2*28968,42= 5793,68 руб. Отчисления на социальные нужды. Единый социальный налог. отчисления в Пенсионный фонд (28% от затрат на оплату труда) 0,28*34762,1=9733,38 руб.; отчисления в Фонд Социального страхования (4% от затрат на оплату труда) 0,04*34762,1=1390,48 руб.; отчисления в Федеральный Фонд обязательного медицинского страхования (0,2% от затрат на оплату труда) 0,002*34762,1=69,52 руб.; отчисления в Территориальный Фонд обязательного медицинского страхования (3,4% от затрат на оплату труда) 0,034*34762,1=1181,91 руб. Итого единый социальный налог 12375,29 руб. Страховой взнос на обязательное социальное страхование от несчастных случаев на производстве и профессиональных заболеваний (0,2% от затрат на оплату труда) 0,002*34762,1=69,52 руб. Итого отчисления на социальные нужды 12444,816 руб. Накладные расходы составляют 80% от затрат на оплату труда 0,80*34762,1= 27809,68 руб. 81
Форма 1-пн ООО НПК "Белгриб" Калькуляция составлена "10" _декабря______ 201 5 г. КАЛЬКУЛЯЦИЯ плановой себестоимости Интернет-магазина Основание для проведения работ (договор, заказ) _заказ__________ Заказчик: __ ООО НПК "Белгриб"___________ Срок выполнения работы: начало __1 марта 2016 г.______________ окончание __31 апреля 2016г._____________ № Наименование статей затрат 1 Материалы 2 Спецоборудование для научных (экспериментальных) работ 3 Затраты на оплату труда работников, непосредственно занятых созданием научно-технической продукции 4 Отчисления на социальные нужды 5 Прочие прямые расходы 6 Накладные расходы 7 Итого: 8 Затраты по работам, выполняемым сторонними организациями и предприятиями 9 Всего себестоимость 82 Сумма 3160,00 0,00 34762,1 12375,29 0,00 27809,68 77507,07 0,00 77507,07
ЗАКЛЮЧЕНИЕ В рамках выпускной квалифицированной работы разработан web-сайт в ООО «Научно-производственная компания «Белгриб»» в формате интернет-магазина. В процессе исследования предметной области были описаны информационные потоки, уровень информатизации организации. Обоснована необходимость разработки информационной системы, которая позволит снизить существующие издержки, обеспечить достижение стратегических целей по увеличению прибыли предприятия. В проектной части выпускной квалификационной работы было разработано информационное обеспечение для функционирования ИС. Произведен выбор системного обеспечения. Вариантом реализации системы выбрано создание web-приложения, функционирующего на связке PHP+MySQL. Предложенная реализация не противоречит возможностям существующей информационной сети предприятия, что позволяет минимизировать затраты на разработку. Спроектирован интуитивно-понятный интерфейс, поэтому решение не требует специального обучения персонала. Расположение и размеры блоков, активных элементов и меню, разработаны с соблюдением требований к web-продуктам. Цветовая гамма web-сайта, размеры, яркость и контрастность изображений отвечает общепринятым стандартам. В разделе «Экономическая эффективность» были произведены необходимые расчеты, по результатам которых оценены затраты на разработку системы. Также был определен срок окупаемости проекта. Исходя из полученных результатов, можно констатировать целесообразность разработки при высокой и быстрой окупаемости.Результаты выпускной квалификационной работы уже внедрены предприятием. 83 и успешно используются
СПИСОК ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ 1. Безручко, В.Т. Практикум по курсу «Информатика». Работа в Windоws 7, Wоrd, Excel[Текст]: учебник / В.Т. Безручко. – Москва: Финансы и статистика, 2010. – 544 с. 2. Гаспарян, А.А. Использование CMS при создании образовательных ресурсов [Текст] / А.А. Гаспарян // Ученические записки: научный журнал. – 2011. – № 3 (19). – С.12-18. 3. Гольчевский, Ю.В. О безопасности Интернет-сайтов под управлением системы управления контентом Wordpress [Текст] / Ю.В. Гольчевский, П.А. Северин // Вопросы защиты информации. – 2012. – № 5. – С. 44-49. 4. ГОСТ Р 52249 – 2009. Правила производства и контроля качества лекарственных средств. – Москва: Изд-во стандартов, 2012. – 14 с. 5. ГОСТ Р ИСО 9001 – 2011. Системы менеджмента качества. Требования. – Москва: Изд-во стандартов, 2012. – 16 с. 6. ГОСТ Р. 52113 – 2003. Услуги населению. Номенклатура показателей качества. – Москва: Изд-во стандартов, 2006. – 34 с. 7. Граф, Х. Создание веб-сайтов с помощью Wordpress! 1.5 [Текст] / Х. Граф ; [пер. с англ. Н. А. Мухина]. – М.: Вильямс, 2013. – 294 c. 8. Григорьев, С.Г. Иерархические структуры как основа создания электронных средств обучения[Текст] / С.Г. Григорьев, В.В. Гриншкун. – Москва: Информатика и образование, 2009. – 98 с. 9. Гусев, А.В. Максимальное использование ресурсов компьютера [Текст]/ А.В. Гусев. – Санкт - Петербург, 2010. – 160 с. 10. Декстер, М. Wordpress!: программирование [Текст] / М. Декстер, Л. Лэндри ; [пер. с англ. и ред. И. В. Берштейна]. – М.: Вильямс, 2014. – 592 c. 11. Дистанционное образование. Современные информационные технологии в коммерческой деятельности. [Электронный ресурс]. Режим доступа: http://sga-help.ru/ , свободный. 84
12. Дронов, В. PHP, MySQL и Dreamweaver MX 2004[Текст]/В. Дронов. — Москва: Книга по Требованию, 2012 г.- 441 с. 13. Ефимова, О. Курс компьютерной технологии с основами информатики[Текст]/ О. Ефимова. – Москва: АСТ, 2012. – 432 с. 14. Журбина, Н.А. Информационно-коммуникационные технологии в образовании [Текст] / Н.А. Журбина. – Москва: Информационное общество, 2011. - 6 с. 15. Журбина, Н.А. Информационно-коммуникационные технологии в образовании [Текст]/ Н.А. Журбина. – Мосва: Информационное общество, 2011 – 6с. 16. Захарова, И.Г. Информационные технологии в образовании [Текст]/ И.Г. Захарова. – Москва: Академия, 2013. – 192 с. 17. Золотухин, С.А. Практикум разработки образовательного сайта на CMS Wordpress! 1.5x [Текст] / С.А. Золотухин. – Курск: КГУ, 2011. – 534 с. 18. ИС. Информационные системы в науке, образовании и бизнесе. [Электронный ресурс] / «Информационные системы». – Учебное пособие. Режим доступа: http://window.edu.ru/resource/, свободный. 19. Колисниченко, Д.Н. Wordpress 1.5.15/1.6.0: руководство пользователя. [Текст] / Д.Н. Колисниченко. – М.: Диалектика, 2010. – 240 с. 20. Коннолли, Т. Базы данных. Проектирование, реализация и сопровождение. Теория и практика [Текст] / Т. Коннолли, К. Бегг ; [пер. с англ. Г. Баркулов] – М.: Вильямс, 2015. – 546 с. 21. Корнеев И.К., Информационные технологии [Текст]: учебное пособие / Корнеев И.К, Г.Н. Ксандопуло, В.А. Машурцев. – Москва: Проспект, 2007. – 224 с. 22. Корнеев, И.К. Информационные технологии [Текст] / И.К. Корнеев, Г.Н. Ксандопуло, В.А. Машурцев. – М.: Проспект, 2014. – 428 с. 85
23. Королева, Н.Л. Разработка web-сайта ООО “ИТ-МЕРИДИАН” средствами CMS WORDPRESS [Текст] / Н.Л. Королева, В.И. Печерица // Гаудеамус. – 2012. – № 20. – С. 202-204. 24. Костромин, В.А. Конспект вебмастера. Выбор системы управления содержанием сайта (контентом) [Текст] / В.А. Костромин // Справочник вебмастера. – 2013. – №12. – С. 36-51. 25. Крамер, Д. Wordpress! Как спланировать, создать и поддерживать ваш веб-сайт [Текст] / Д. Крамер. – М.: Рид Групп, 2011. – 400 с. 26. Кривошеев, А.О. Компьютерные обучающие программы[Текст] / А.О. Кривошеев, С.С. Фомин, А.С. Демушкин. Москва: Информатика и образование, 2010 – 22 с. 27. Крюкова, Л.Ю. Использование гипертекста при обучении прикладной дисциплине [Текст]/ Л.Ю. Крюкова, В.Г. Бегенин. – Москва: Информатика и образование, 2013. – 89 с. 28. Лобуренко, Е.О. Школьный сайт: создание, наполнение и привлечение посетителей [Текст] / Е.О. Лобуренко, Е.В. Якушина // Народное образование. – 2012. – № 4. – С. 171-181. 29. Маклаков С.В. BPwin и Erwin. Case. средства разработки информационных систем[Текст] /С.В.Маклаков. – Москва: Диалог – МИФИ, 2013 – 58 с. 30. Марка Д., Методология структурного анализа и проектирования[Тект]: /.Д. Марка, К. МакГоуэн.– Москва: МетаТехнология, 2011. – 345 c. 31. Маркелов, А.О. Разработка Интернет-ресурса “Гид первокурсника института математики, физики и информатики” средствами CMS WORDPRESS [Текст] // А.О. Маркелов // Гаудеамус. – 2011. – № 18. – С. 137138. 32. Могилев, А.В. Информатика [Текст]: учеб. пособие для студ. пед. вузов / А.В. Могилев, Н.И. Пак; Е.К. Хеннера. – Москва: Академия, 2011. – 816 с. 33. Норт, Б.М. Wordpress!: пактическое руководство [Текст] / Б.М. Норт ; [пер. с англ. А. Киселева]. –М.: Символ-Плюс, 2012. – 448 с. 86
34. Об информации, информационных технологиях и о защите информации [Текст]:Федеральный закон от 27 июля 2006 г. №149-ФЗ (ред. от 13.07.2015) // Собрание законодательства. – 2015. - №29. – С. 1321 – 1386. 35. Рамел, Д. Самоучитель Wordpress! [Текст] / Д. Рамел ; [пер. с англ. Д. Колисниченко]. – СПб.: БХВ-Петербург, 2013. – 386 с. 36. РД 50-34.698-90. технология. Комплекс Методические стандартов и указания. руководящих Информационная документов на автоматизированные системы. Автоматизированные системы требования к содержанию документов. – Москва: Изд-во стандартов, 2014. – 46 с. 37. Саттон, М. Корпоративный документооборот. Принципы, технологии, методология внедрения [Текст] / М. Саттон ; [пер. с англ. Л. Никифоров]. – СПб.: Азбука, 2013. – 448 с. 38. Сахипова, Р.А. Положение о выпускной квалификационной работе (дипломной работе) [Текст] / Р.А. Сахипова, Е.Н. Дрепа. -Москва: Филинъ, 2001. – 263 с. 39. Севердиа, Р. Wordpress. Создание сайтов без программирования [Текст] / : Р. Севердиа, К. Краудер. ; [пер. с англ. Г. Баркулов] – М.: Эксмо, 2011. – 382 c. 40. Семыкина, Л.Н. Проектирование экономических информационных систем. Для студентов экономических вузов, обуч. по спец.: «Прикладная информатика в экономике»[Текст]/ Л.НСемыкина, 2011. – 511 с. 41. Смирнова, Г.Н. Проектирование экономических информационных систем. [Текст]: учебное пособие / Г.Н. Смирнова, А.А. Сорокина.– Москва: Высшая школа, 2012. – 428с. 42. Советов, Б.Я. Информационные технологии. [Текст] / Б.Я. Советов, В.В. Цехановский – М.: Буква, 2014. – 662 с. 43. Сычев, И.А. Создание сайтов на основе систем управления контентом: учеб.-метод. пособие [Текст] / И.А. Сычев, В.Н. Половников. – Бийск: АГАО, 2012. – 274 с. 87
44. Таненбаум, Э. Компьютерные сети [Текст] / Э. Таненбаум, Д. Уэзеролл ; [пер. с англ. М. Корнеев]. – СПб.: Питер, 2014. – 960 с. 45. Христочевский, С.А. Информационные технологии [Текст] / С.А Христочевский , В.В. Вихрев, А.А. Федосеев, Е.Н. Филинов. – Москва: АРКТИ, 2012. – 200 с. 46. Чернов, В.А. Экономический анализ [Текст]/ В.А. Чернов. – Москва: Юнити-Дана, 2009. – 640 с. 88
ПРИЛОЖЕНИЕ 1 Рисунок 1.1 - Организационно-штатная структура ИВЦ 89
ПРИЛОЖЕНИЕ 2 Исходный код сайта Файл index.php <?php /** * The main template file. * * This is the most generic template file in a WordPress theme * and one of the two required files for a theme (the other being style.css). * It is used to display a page when nothing more specific matches a query. * E.g., it puts together the home page when no home.php file exists. * Learn more: http://codex.wordpress.org/Template_Hierarchy * * @package dustlandexpress */ get_header(); ?> <?php if ( ! is_front_page() ) : ?> <?php if ( function_exists( 'bcn_display' ) ) : ?> <div class="breadcrumbs"> <?php bcn_display(); ?> </div> <?php endif; ?> <?php endif; ?> <div id="primary" class="content-area"> <main id="main" class="site-main" role="main"> <?php get_template_part( '/templates/titlebar' ); ?> <?php if ( have_posts() ) : ?> <?php /* Start the Loop */ ?> <?php while ( have_posts() ) : the_post(); ?> <?php /* Include the Post-Format-specific template for the content. * If you want to override this in a child theme, then include a file * called content-___.php (where ___ is the Post Format name) and that will be used instead. */ get_template_part( 'content', get_post_format() ); ?> <?php endwhile; ?> <?php dustlandexpress_paging_nav(); ?> <?php else : ?> <?php get_template_part( 'content', 'none' ); ?> <?php endif; ?> </main><!-- #main --> </div><!-- #primary --> <?php get_sidebar(); ?> <?php get_footer(); ?> Файл functions.php 90
<?php /** * Dustland Express functions and definitions * * @package dustlandexpress */ define( 'DUSTLANDEXPRESS_THEME_VERSION' , '1.2.3' ); if ( ! function_exists( 'dustlandexpress_theme_setup' ) ) : /** * Sets up theme defaults and registers support for various WordPress features. * * Note that this function is hooked into the after_setup_theme hook, which * runs before the init hook. The init hook is too late for some features, such * as indicating support for post thumbnails. */ function dustlandexpress_theme_setup() { /** * Set the content width based on the theme's design and stylesheet. */ global $content_width; if ( ! isset( $content_width ) ) { $content_width = 640; /* pixels */ } /* * Make theme available for translation. * Translations can be filed in the /languages/ directory. * If you're building a theme based on Dustland Express, use a find and replace * to change 'dustlandexpress' to the name of your theme in all the template files */ load_theme_textdomain( 'dustlandexpress', get_template_directory() . '/languages' ); // Add default posts and comments RSS feed links to head. add_theme_support( 'automatic-feed-links' ); /* * Enable support for Post Thumbnails on posts and pages. * * @link http://codex.wordpress.org/Function_Reference/add_theme_support#Post_Thumbnails */ add_theme_support( 'post-thumbnails' ); if ( function_exists( 'add_image_size' ) ) { add_image_size( 'blog_img_side', 352, 230, true ); add_image_size( 'blog_img_top', 1100, 440, true ); } // This theme uses wp_nav_menu() in one location. register_nav_menus( array( 'primary' => __( 'Primary Menu', 'dustlandexpress' ), 'footer-bar' => __( 'Footer Bar Menu', 'dustlandexpress' ) ) ); /* * Switch default core markup for search form, comment form, and comments * to output valid HTML5. */ add_theme_support( 'html5', array( 'search-form', 'comment-form', 'comment-list', 'gallery', 'caption', ) ); /* * Enable support for Post Formats. * See http://codex.wordpress.org/Post_Formats */ add_theme_support( 'post-formats', array( 'aside', 'image', 'video', 'quote', 'link', 91
) ); // The custom header is used for the logo add_theme_support( 'custom-header', array( 'default-image' => '', 'width' => 280, 'height' => 91, 'flex-width' => true, 'flex-height' => true, 'header-text' => false, ) ); // Set up the WordPress core custom background feature. add_theme_support( 'custom-background', apply_filters( 'dustlandexpress_custom_background_args', array( 'default-color' => 'ffffff', 'default-image' => '', ) ) ); add_theme_support( 'title-tag' ); add_theme_support( 'woocommerce' ); } endif; // dustlandexpress_theme_setup add_action( 'after_setup_theme', 'dustlandexpress_theme_setup' ); /** * Register widget area. * * @link http://codex.wordpress.org/Function_Reference/register_sidebar */ function dustlandexpress_widgets_init() { register_sidebar( array( 'name' => __( 'Sidebar', 'dustlandexpress' ), 'id' => 'sidebar-1', 'description' => '', 'before_widget' => '<aside id="%1$s" class="widget %2$s">', 'after_widget' => '</aside>', 'before_title' => '<h4 class="widget-title">', 'after_title' => '</h4>' ) ); register_sidebar(array( 'name' => __( 'Dustland Express Footer', 'dustlandexpress' ), 'id' => 'dustlandexpress-site-footer', 'description' => __( 'The footer will divide into however many widgets are put here.', 'dustlandexpress' ) )); } add_action( 'widgets_init', 'dustlandexpress_widgets_init' ); /** * Enqueue scripts and styles. */ function dustlandexpress_theme_scripts() { wp_enqueue_style( 'dustlandexpress-google-body-font-default', '//fonts.googleapis.com/css?family=Ubuntu:300,400,500,700,300italic,400italic,500italic,700italic', array(), DUSTLANDEXPRESS_THEME_VERSION ); wp_enqueue_style( 'dustlandexpress-google-heading-font-default', '//fonts.googleapis.com/css?family=Roboto:500,400italic,700italic,300,700,500italic,300italic,400', array(), DUSTLANDEXPRESS_THEME_VERSION ); wp_enqueue_style( 'dustlandexpress-font-awesome', get_template_directory_uri().'/includes/font-awesome/css/fontawesome.css', array(), '4.2.0' ); wp_enqueue_style( 'dustlandexpress-style', get_stylesheet_uri(), array(), DUSTLANDEXPRESS_THEME_VERSION ); wp_enqueue_style( 'dustlandexpress-woocommerce-style', get_template_directory_uri().'/templates/css/dustlandexpresswoocommerce-style.css', array(), DUSTLANDEXPRESS_THEME_VERSION ); if ( get_theme_mod( 'kra-header-layout', false ) == 'kra-header-layout-centered' ) { 92
wp_enqueue_style( 'dustlandexpress-header-centered-style', get_template_directory_uri().'/templates/css/dustlandexpress-header-centered.css', array(), DUSTLANDEXPRESS_THEME_VERSION ); } else { wp_enqueue_style( 'dustlandexpress-header-standard-style', get_template_directory_uri().'/templates/css/dustlandexpress-header-standard.css', array(), DUSTLANDEXPRESS_THEME_VERSION ); } wp_enqueue_script( 'dustlandexpress-navigation', get_template_directory_uri() . '/js/navigation.js', array(), DUSTLANDEXPRESS_THEME_VERSION, true ); wp_enqueue_script( 'dustlandexpress-caroufredSel', get_template_directory_uri() . '/js/jquery.carouFredSel-6.2.1packed.js', array('jquery'), DUSTLANDEXPRESS_THEME_VERSION, true ); if ( get_theme_mod( 'kra-sticky-header', false ) ) { wp_enqueue_script( 'dustlandexpress-waypoints', get_template_directory_uri() . '/js/waypoints.min.js', array('jquery'), DUSTLANDEXPRESS_THEME_VERSION, true ); wp_enqueue_script( 'dustlandexpress-waypoints-sticky', get_template_directory_uri() . '/js/waypoints-sticky.min.js', array('jquery'), DUSTLANDEXPRESS_THEME_VERSION, true ); } wp_enqueue_script( 'dustlandexpress-customjs', get_template_directory_uri() . '/js/custom.js', array('jquery'), DUSTLANDEXPRESS_THEME_VERSION, true ); wp_enqueue_script( 'dustlandexpress-skip-link-focus-fix', get_template_directory_uri() . '/js/skip-link-focus-fix.js', array(), DUSTLANDEXPRESS_THEME_VERSION, true ); if ( is_singular() && comments_open() && get_option( 'thread_comments' ) ) { wp_enqueue_script( 'comment-reply' ); } } add_action( 'wp_enqueue_scripts', 'dustlandexpress_theme_scripts' ); /** * Print Dustland Express styling settings. */ function dustlandexpress_print_styles(){ $custom_css = ''; if ( get_theme_mod( 'kra-custom-css', false ) ) { $custom_css = get_theme_mod( 'kra-custom-css' ); } ?> <style type="text/css" media="screen"> <?php echo htmlspecialchars_decode( $custom_css ); ?> </style> <?php } add_action('wp_head', 'dustlandexpress_print_styles', 11); // Add the favicon to the header if set function dustlandexpress_site_favicon() { if ( get_theme_mod( 'kra-header-favicon', false ) ) : echo '<link rel="icon" href="' . esc_url( get_theme_mod( 'kra-header-favicon' ) ) . '">'; endif; } add_action('wp_head', 'dustlandexpress_site_favicon'); /** * Custom template tags for this theme. */ require get_template_directory() . '/includes/inc/template-tags.php'; /** * Custom functions that act independently of the theme templates. */ require get_template_directory() . '/includes/inc/extras.php'; /** * Customizer additions. */ require get_template_directory() . '/includes/inc/customizer.php'; 93
/** * Load Jetpack compatibility file. */ require get_template_directory() . '/includes/inc/jetpack.php'; // Helper library for the theme customizer. require get_template_directory() . '/customizer/customizer-library/customizer-library.php'; // Define options for the theme customizer. require get_template_directory() . '/customizer/customizer-options.php'; // Output inline styles based on theme customizer selections. require get_template_directory() . '/customizer/styles.php'; // Additional filters and actions based on theme customizer selections. require get_template_directory() . '/customizer/mods.php'; /** * Enqueue Dustland Express custom customizer styling. */ function dustlandexpress_load_customizer_script() { wp_enqueue_script( 'dustlandexpress-customizer-js', get_template_directory_uri() . '/customizer/customizerlibrary/js/customizer-custom.js', array('jquery'), DUSTLANDEXPRESS_THEME_VERSION, true ); wp_enqueue_style( 'dustlandexpress-customizer-css', get_template_directory_uri() . '/customizer/customizerlibrary/css/customizer.css' ); } add_action( 'customize_controls_enqueue_scripts', 'dustlandexpress_load_customizer_script' ); /* Display the recommended plugins notice that can be dismissed */ add_action('admin_notices', 'dustlandexpress_recommended_plugin_notice'); function dustlandexpress_recommended_plugin_notice() { global $pagenow; global $current_user; $user_id = $current_user->ID; /* If on plugins page, check that the user hasn't already clicked to ignore the message */ if ( $pagenow == 'plugins.php' ) { if ( ! get_user_meta( $user_id, 'dustlandexpress_recommended_plugin_ignore_notice' ) ) { echo '<div class="updated"><p>'; printf( __( '<p>Install the plugins we at <a href="http://www.kairaweb.com/" target="_blank">Kaira</a> recommended | <a href="%1$s">Hide Notice</a></p>', 'dustlandexpress' ), '?dustlandexpress_recommended_plugin_nag_ignore=0' ); ?> <a href="<?php echo admin_url('plugin-install.php?tab=favorites&user=kaira'); ?>"><?php printf( __( 'WooCommerce', 'dustlandexpress' ), 'dustlandexpress' ); ?></a><br /> <a href="<?php echo admin_url('plugin-install.php?tab=favorites&user=kaira'); ?>"><?php printf( __( 'SiteOrigin\'s Page Builder', 'dustlandexpress' ), 'dustlandexpress' ); ?></a><br /> <a href="<?php echo admin_url('plugin-install.php?tab=favorites&user=kaira'); ?>"><?php printf( __( 'Meta Slider', 'dustlandexpress' ), 'dustlandexpress' ); ?></a><br /> <a href="<?php echo admin_url('plugin-install.php?tab=favorites&user=kaira'); ?>"><?php printf( __( 'Breadcrumb NavXT', 'dustlandexpress' ), 'dustlandexpress' ); ?></a> <?php echo "</p></div>"; } } } add_action('admin_init', 'dustlandexpress_recommended_plugin_nag_ignore'); function dustlandexpress_recommended_plugin_nag_ignore() { global $current_user; $user_id = $current_user->ID; /* If user clicks to ignore the notice, add that to their user meta */ if ( isset($_GET['dustlandexpress_recommended_plugin_nag_ignore']) && '0' == $_GET['dustlandexpress_recommended_plugin_nag_ignore'] ) { add_user_meta( $user_id, 'dustlandexpress_recommended_plugin_ignore_notice', 'true', true ); } } 94
// Create function to check if WooCommerce exists. if ( ! function_exists( 'dustlandexpress_is_woocommerce_activated' ) ) : function dustlandexpress_is_woocommerce_activated() { if ( class_exists( 'woocommerce' ) ) { return true; } else { return false; } } endif; // dustlandexpress_is_woocommerce_activated if ( dustlandexpress_is_woocommerce_activated() ) { require get_template_directory() . '/includes/inc/woocommerce-inc.php'; } /** * Adjust is_home query if kra-blog-cats is set */ function dustlandexpress_set_blog_queries( $query ) { $blog_query_set = ''; if ( get_theme_mod( 'kra-blog-cats', false ) ) { $blog_query_set = get_theme_mod( 'kra-blog-cats' ); } if ( $blog_query_set ) { // do not alter the query on wp-admin pages and only alter it if it's the main query if ( !is_admin() && $query->is_main_query() ){ if ( is_home() ){ $query->set( 'cat', $blog_query_set ); } } } } add_action( 'pre_get_posts', 'dustlandexpress_set_blog_queries' ); /** * Display the upgrade to Premium page & losd styles. * * @action admin_menu */ function dustlandexpress_premium_admin_menu() { global $dustlandexpress_upgrade_page; $dustlandexpress_upgrade_page = add_theme_page( __( 'Dustland Express Premium', 'dustlandexpress' ), __( 'Dustland Express Premium', 'dustlandexpress' ), 'edit_theme_options', 'premium_upgrade', 'dustlandexpress_upgrade_page_render' ); } add_action( 'admin_menu', 'dustlandexpress_premium_admin_menu' ); /** * Render the theme upgrade page */ function dustlandexpress_upgrade_page_render() { locate_template( 'upgrade/kaira-upgrade-page.php', true, false ); } /** * Enqueue Dustland Express admin stylesheet only on upgrade page. */ function dustlandexpress_load_admin_style($hook) { global $dustlandexpress_upgrade_page; if( $hook != $dustlandexpress_upgrade_page ) return; wp_enqueue_style( 'dustlandexpress-upgrade-css', get_template_directory_uri() . '/upgrade/css/kaira-admin.css' ); } add_action( 'admin_enqueue_scripts', 'dustlandexpress_load_admin_style' ); /** * Remove slider category from the sidebar categories widget */ 95
function dustlandexpress_exclude_slider_categories_widget( $args ) { $exclude = ''; // ID's of the categories to exclude if ( get_theme_mod( 'kra-slider-cats', false ) ) { $exclude = get_theme_mod( 'kra-slider-cats' ); } $args['exclude'] = $exclude; return $args; } add_filter( 'widget_categories_args', 'dustlandexpress_exclude_slider_categories_widget' ); Файл 404.php <?php /** * The template for displaying 404 pages (not found). * * @package dustlandexpress */ get_header(); ?> <div id="primary" class="content-area"> <main id="main" class="site-main" role="main"> <section class="error-404 not-found"> <header class="page-header"> <h1 class="page-title"><?php echo wp_kses_post( get_theme_mod( 'krawebsite-error-head', 'Oops! <span>404</span>' ) ); ?></h1> </header><!-- .page-header --> <div class="page-content"> <p> <?php echo wp_kses_post( get_theme_mod( 'kra-website-error-head', 'It looks like that page does not exist. <br />Return home or try a search' ) ); ?> </p> </div><!-- .page-content --> </section><!-- .error-404 --> </main><!-- #main --> </div><!-- #primary --> <?php get_footer(); ?> Файл dustlandexpress-header-centered.css /*-------------------------------------------------------------Dustland Express - Header Centered Styling --------------------------------------------------------------*/ .kra-header-layout-centered > .site-container { padding: 12px 20px 12px; } .kra-header-layout-centered .site-top-bar-left { float: left; padding: 6px 0 7px; 96
position: relative; width: 50%; background-color: #ffffff; z-index: 99; font-size: 16px; } .kra-header-layout-centered .site-top-bar-left a { margin: 0 6px 0 0; } .kra-header-layout-centered .site-top-bar-right { float: right; font-size: 14px; padding: 5px 0 8px; position: relative; width: 50%; text-align: right; background-color: #ffffff; z-index: 99; } .kra-header-layout-centered .site-top-bar-right-text { display: inline-block; margin: 0 3px 0 4px; padding: 3px 0 0; vertical-align: middle; font-size: 13px; } .kra-header-layout-centered i.search-btn { display: inline-block; vertical-align: middle; padding: 2px 0 1px 5px; } .kra-header-layout-centered .site-top-bar-right i { 97
margin: 0 0 0 1px; } .kra-header-layout-centered .site-top-bar-right ul { display: inline-block; vertical-align: middle; } .kra-header-layout-centered .site-top-bar-right ul li { } .kra-header-layout-centered .site-top-bar-right ul li a { line-height: 14px; } .kra-header-layout-centered .header-cart { padding: 3px 0 0 8px; } .kra-header-layout-centered .header-cart-contents { font-size: 11px; } .kra-header-layout-centered .header-cart-amount { color: #777; } .kra-header-layout-centered .header-cart-checkout span { display: none; } .kra-header-layout-centered .site-header-branding { min-height: 91px; width: 100%; text-align: center; 98
} .kra-header-layout-centered .site-header-right-link { box-shadow: 1px 0 0 rgba(0, 0, 0, 0.08); display: inline-block; vertical-align: top; margin: 1px 0 0; padding: 1px 8px 1px 0; line-height: 14px; } .kra-header-layout-centered .site-header-right-link a { padding: 1px 5px 0px; border-radius: 3px; -webkit-transition: all 0.05s linear 0s; -moz-transition: all 0.05s linear 0s; -ms-transition: all 0.05s linear 0s; -o-transition: all 0.05s linear 0s; transition: all 0.05s linear 0s; } .kra-header-layout-centered .site-header-right-link a:hover { background-color: #545454; color: #FFF; } .kra-header-layout-centered .site-title { font-size: 34px; line-height: 34px; font-weight: 100; margin: 0; padding: 17px 0 0; } .kra-header-layout-centered .site-description { 99
margin: 0; padding: 4px 0 0; font-size: 13px; font-weight: 400; } Файл jquery.carouFredSel-6.2.1.js /* * * * * * * * * * * */ jQuery carouFredSel 6.2.1 Demo's and documentation: caroufredsel.dev7studios.com Copyright (c) 2013 Fred Heusschen www.frebsite.nl Dual licensed under the MIT and GPL licenses. http://en.wikipedia.org/wiki/MIT_License http://en.wikipedia.org/wiki/GNU_General_Public_License (function($) { // LOCAL if ( $.fn.carouFredSel ) { return; } $.fn.caroufredsel = $.fn.carouFredSel = function(options, configs) { // no element if (this.length == 0) { debug( true, 'No element found for "' + this.selector + '".' ); return this; } // multiple elements if (this.length > 1) { return this.each(function() { $(this).carouFredSel(options, configs); }); } var $cfs = this, $tt0 = this[0], starting_position = false; if ($cfs.data('_cfs_isCarousel')) { starting_position = $cfs.triggerHandler('_cfs_triggerEvent', 'currentPosition'); $cfs.trigger('_cfs_triggerEvent', ['destroy', true]); } var FN = {}; FN._init = function(o, setOrig, start) { 100
o = go_getObject($tt0, o); o.items = go_getItemsObject($tt0, o.items); o.scroll = go_getScrollObject($tt0, o.scroll); o.auto = go_getAutoObject($tt0, o.auto); o.prev = go_getPrevNextObject($tt0, o.prev); o.next = go_getPrevNextObject($tt0, o.next); o.pagination = go_getPaginationObject($tt0, o.pagination); o.swipe = go_getSwipeObject($tt0, o.swipe); o.mousewheel = go_getMousewheelObject($tt0, o.mousewheel); if (setOrig) { opts_orig = $.extend(true, {}, $.fn.carouFredSel.defaults, o); } opts = $.extend(true, {}, $.fn.carouFredSel.defaults, o); opts.d = cf_getDimensions(opts); crsl.direction = (opts.direction == 'up' || opts.direction == 'left') ? 'next' : 'prev'; var a_itm = $cfs.children(), avail_primary = ms_getParentSize($wrp, opts, 'width'); if (is_true(opts.cookie)) { opts.cookie = 'caroufredsel_cookie_' + conf.serialNumber; } opts.maxDimension = ms_getMaxDimension(opts, avail_primary); // complement items and sizes opts.items = in_complementItems(opts.items, opts, a_itm, start); opts[opts.d['width']] = in_complementPrimarySize(opts[opts.d['width']], opts, a_itm); opts[opts.d['height']] = in_complementSecondarySize(opts[opts.d['height']], opts, a_itm); // primary size not set for a responsive carousel if (opts.responsive) { if (!is_percentage(opts[opts.d['width']])) { opts[opts.d['width']] = '100%'; } } // primary size is percentage if (is_percentage(opts[opts.d['width']])) { crsl.upDateOnWindowResize = true; crsl.primarySizePercentage = opts[opts.d['width']]; opts[opts.d['width']] = ms_getPercentage(avail_primary, crsl.primarySizePercentage); if (!opts.items.visible) { opts.items.visibleConf.variable = true; } } if (opts.responsive) { opts.usePadding = false; opts.padding = [0, 0, 0, 0]; opts.align = false; opts.items.visibleConf.variable = false; } else { // visible-items not set if (!opts.items.visible) { opts = in_complementVisibleItems(opts, avail_primary); 101
} // primary size not set -> calculate it or set to "variable" if (!opts[opts.d['width']]) { if (!opts.items.visibleConf.variable && is_number(opts.items[opts.d['width']]) && opts.items.filter == '*') { opts[opts.d['width']] = opts.items.visible * opts.items[opts.d['width']]; opts.align = false; } else { opts[opts.d['width']] = 'variable'; } } // align not set -> set to center if primary size is number if (is_undefined(opts.align)) { opts.align = (is_number(opts[opts.d['width']])) ? 'center' : false; } // set variabe visible-items if (opts.items.visibleConf.variable) { opts.items.visible = gn_getVisibleItemsNext(a_itm, opts, 0); } } // set visible items by filter if (opts.items.filter != '*' && !opts.items.visibleConf.variable) { opts.items.visibleConf.org = opts.items.visible; opts.items.visible = gn_getVisibleItemsNextFilter(a_itm, opts, 0); } opts.items.visible = cf_getItemsAdjust(opts.items.visible, opts, opts.items.visibleConf.adjust, $tt0); opts.items.visibleConf.old = opts.items.visible; if (opts.responsive) { if (!opts.items.visibleConf.min) { opts.items.visibleConf.min = opts.items.visible; } if (!opts.items.visibleConf.max) { opts.items.visibleConf.max = opts.items.visible; } opts = in_getResponsiveValues(opts, a_itm, avail_primary); } else { opts.padding = cf_getPadding(opts.padding); if (opts.align == 'top') { opts.align = 'left'; } else if (opts.align == 'bottom') { opts.align = 'right'; } switch (opts.align) { // align: center, left or right case 'center': case 'left': 102
case 'right': if (opts[opts.d['width']] != 'variable') { opts = in_getAlignPadding(opts, a_itm); opts.usePadding = true; } break; // padding default: opts.align = false; opts.usePadding = ( opts.padding[0] == 0 && opts.padding[1] == 0 && opts.padding[2] == 0 && opts.padding[3] == 0 ) ? false : true; break; } } if (!is_number(opts.scroll.duration)) { opts.scroll.duration = 500; } if (is_undefined(opts.scroll.items)) { opts.scroll.items = (opts.responsive || opts.items.visibleConf.variable || opts.items.filter != '*') ? 'visible' : opts.items.visible; } opts.auto = $.extend(true, {}, opts.scroll, opts.auto); opts.prev = $.extend(true, {}, opts.scroll, opts.prev); opts.next = $.extend(true, {}, opts.scroll, opts.next); opts.pagination = $.extend(true, {}, opts.scroll, opts.pagination); // swipe and mousewheel extend later on, per direction opts.auto = go_complementAutoObject($tt0, opts.auto); opts.prev = go_complementPrevNextObject($tt0, opts.prev); opts.next = go_complementPrevNextObject($tt0, opts.next); opts.pagination = go_complementPaginationObject($tt0, opts.pagination); opts.swipe = go_complementSwipeObject($tt0, opts.swipe); opts.mousewheel = go_complementMousewheelObject($tt0, opts.mousewheel); if (opts.synchronise) { opts.synchronise = cf_getSynchArr(opts.synchronise); } // DEPRECATED if (opts.auto.onPauseStart) { opts.auto.onTimeoutStart = opts.auto.onPauseStart; deprecated('auto.onPauseStart', 'auto.onTimeoutStart'); } if (opts.auto.onPausePause) { opts.auto.onTimeoutPause = opts.auto.onPausePause; deprecated('auto.onPausePause', 'auto.onTimeoutPause'); } if (opts.auto.onPauseEnd) { opts.auto.onTimeoutEnd = opts.auto.onPauseEnd; deprecated('auto.onPauseEnd', 'auto.onTimeoutEnd'); } if (opts.auto.pauseDuration) { 103
opts.auto.timeoutDuration = opts.auto.pauseDuration; deprecated('auto.pauseDuration', 'auto.timeoutDuration'); }; } // /DEPRECATED // /init FN._build = function() { $cfs.data('_cfs_isCarousel', true); var a_itm = $cfs.children(), orgCSS = in_mapCss($cfs, ['textAlign', 'float', 'position', 'top', 'right', 'bottom', 'left', 'zIndex', 'width', 'height', 'marginTop', 'marginRight', 'marginBottom', 'marginLeft']), newPosition = 'relative'; switch (orgCSS.position) { case 'absolute': case 'fixed': newPosition = orgCSS.position; break; } if (conf.wrapper == 'parent') { sz_storeOrigCss($wrp); } else { $wrp.css(orgCSS); } $wrp.css({ 'overflow' : 'hidden', 'position' : newPosition }); sz_storeOrigCss($cfs); $cfs.data('_cfs_origCssZindex', orgCSS.zIndex); $cfs.css({ 'textAlign' : 'left', 'float' : 'none', 'position' : 'absolute', 'top' : 0, 'right' : 'auto', 'bottom' : 'auto', 'left' : 0, 'marginTop' : 0, 'marginRight' : 0, 'marginBottom' : 0, 'marginLeft' :0 }); sz_storeMargin(a_itm, opts); sz_storeOrigCss(a_itm); if (opts.responsive) { sz_setResponsiveSizes(opts, a_itm); } }; // /build FN._bind_events = function() { FN._unbind_events(); // stop event $cfs.bind(cf_e('stop', conf), function(e, imm) { 104
e.stopPropagation(); // button if (!crsl.isStopped) { if (opts.auto.button) { opts.auto.button.addClass(cf_c('stopped', conf)); } } // set stopped crsl.isStopped = true; if (opts.auto.play) { opts.auto.play = false; $cfs.trigger(cf_e('pause', conf), imm); } return true; }); // finish event $cfs.bind(cf_e('finish', conf), function(e) { e.stopPropagation(); if (crsl.isScrolling) { sc_stopScroll(scrl); } return true; }); // pause event $cfs.bind(cf_e('pause', conf), function(e, imm, res) { e.stopPropagation(); tmrs = sc_clearTimers(tmrs); // immediately pause if (imm && crsl.isScrolling) { scrl.isStopped = true; var nst = getTime() - scrl.startTime; scrl.duration -= nst; if (scrl.pre) { scrl.pre.duration -= nst; } if (scrl.post) { scrl.post.duration -= nst; } sc_stopScroll(scrl, false); } // update remaining pause-time if (!crsl.isPaused && !crsl.isScrolling) { if (res) { tmrs.timePassed += getTime() - tmrs.startTime; } } // button if (!crsl.isPaused) { if (opts.auto.button) { 105
opts.auto.button.addClass(cf_c('paused', conf)); } } // set paused crsl.isPaused = true; // pause pause callback if (opts.auto.onTimeoutPause) { var dur1 = opts.auto.timeoutDuration - tmrs.timePassed, perc = 100 - Math.ceil( dur1 * 100 / opts.auto.timeoutDuration ); opts.auto.onTimeoutPause.call($tt0, perc, dur1); } return true; }); // play event $cfs.bind(cf_e('play', conf), function(e, dir, del, res) { e.stopPropagation(); tmrs = sc_clearTimers(tmrs); // sort params var v = [dir, del, res], t = ['string', 'number', 'boolean'], a = cf_sortParams(v, t); dir = a[0]; del = a[1]; res = a[2]; if (dir != 'prev' && dir != 'next') { dir = crsl.direction; } if (!is_number(del)) { del = 0; } if (!is_boolean(res)) { res = false; } // if (res) { stopped? crsl.isStopped = false; opts.auto.play = true; } if (!opts.auto.play) { e.stopImmediatePropagation(); return debug(conf, 'Carousel stopped: Not scrolling.'); } // button if (crsl.isPaused) { if (opts.auto.button) { opts.auto.button.removeClass(cf_c('stopped', conf)); opts.auto.button.removeClass(cf_c('paused', conf)); } } // set playing crsl.isPaused = false; tmrs.startTime = getTime(); 106
// timeout the scrolling var dur1 = opts.auto.timeoutDuration + del; dur2 = dur1 - tmrs.timePassed; perc = 100 - Math.ceil(dur2 * 100 / dur1); if (opts.auto.progress) { tmrs.progress = setInterval(function() { var pasd = getTime() - tmrs.startTime + tmrs.timePassed, perc = Math.ceil(pasd * 100 / dur1); opts.auto.progress.updater.call(opts.auto.progress.bar[0], perc); }, opts.auto.progress.interval); } tmrs.auto = setTimeout(function() { if (opts.auto.progress) { opts.auto.progress.updater.call(opts.auto.progress.bar[0], 100); } if (opts.auto.onTimeoutEnd) { opts.auto.onTimeoutEnd.call($tt0, perc, dur2); } if (crsl.isScrolling) { $cfs.trigger(cf_e('play', conf), dir); } else { $cfs.trigger(cf_e(dir, conf), opts.auto); } }, dur2); // pause start callback if (opts.auto.onTimeoutStart) { opts.auto.onTimeoutStart.call($tt0, perc, dur2); } return true; }); // resume event $cfs.bind(cf_e('resume', conf), function(e) { e.stopPropagation(); if (scrl.isStopped) { scrl.isStopped = false; crsl.isPaused = false; crsl.isScrolling = true; scrl.startTime = getTime(); sc_startScroll(scrl, conf); } else { $cfs.trigger(cf_e('play', conf)); } return true. }). 107
Отзывы:
Авторизуйтесь, чтобы оставить отзыв