Сохрани и опубликуйсвоё исследование
О проекте | Cоглашение | Партнёры
Выпускная квалификационная работа 09.03.03 Прикладная информатика
Источник: Белгородский государственный университет - национальный исследовательский университет (НИУ «БелГУ»)
Комментировать 0
Рецензировать 0
Скачать - 1,4 МБ
Enter the password to open this PDF file:
-
ФЕДЕРАЛЬНОЕ ГОСУДАРСТВЕННОЕ АВТОНОМНОЕ ОБРАЗОВАТЕЛЬНОЕ УЧРЕЖДЕНИЕ ВЫСШЕГО ОБРАЗОВАНИЯ «БЕЛГОРОДСКИЙ ГОСУДАРСТВЕННЫЙ НАЦИОНАЛЬНЫЙ ИССЛЕДОВАТЕЛЬСКИЙ УНИВЕРСИТЕТ» ( Н И У « Б е л Г У » ) ИНСТИТУТ ИНЖЕНЕРНЫХ ТЕХНОЛОГИЙ И ЕСТЕСТВЕННЫХ НАУК Кафедра прикладной информатики и информационных технологий РАЗРАБОТКА ИНТЕРАКТИВНОГО САЙТА РЕГИОНАЛЬНОГО ВСЕРОССИЙСКОГО ДОБРОВОЛЬНОГО ПОЖАРНОГО ОБЩЕСТВА Выпускная квалификационная работа бакалавра очной формы обучения направления подготовки 09.03.03 Прикладная информатика 4 курса группы 07001204 Семейкина Дмитрия Валентиновича Научный руководитель к.т.н. доцент Маматов Е.М. БЕЛГОРОД 2016
СОДЕРЖАНИЕ ВВЕДЕНИЕ .............................................................................................................. 3 1 Аналитическая часть ............................................................................................ 5 1.1Технико-экономическая характеристика предметной области....... ..5 1.2 Экономическая сущность задачи ...................................................... 11 1.4 Постановка задачи ............................................................................. 15 1.4.1 Цель и назначение сайта ВДПО .................................................... 15 2 Обоснование проектных решений .................................................................... 23 2.2 Обоснование проектных решений по информационному обеспечению ......................................................................................................... 23 2.3 Обоснование выбора программных средств .................................... 29 3 Проектирование Web-представительства ООО «ВДПО» .............................. 32 3.1 Разработка функциональных и информационных моделей ........... 32 3.1.1Разработка функциональных моделей ............................................ 32 3.1.2 Разработка информационных моделей .......................................... 34 3.2 Обоснование выбора технических и инструментальных средств . 40 3.3 Структура сайта................................................................................... 41 3.5 Создание базы данных........................................................................ 42 3.6 Характеристика интерфейса пользователя системы ....................... 44 3.7 Оценка экономической эффективности внедрения......................... 50 ЗАКЛЮЧЕНИЕ ......................................................................................... 57 СПИСОК ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ ............................... 61 2
ВВЕДЕНИЕ В современной экономической обстановке коммерческие организации используют разные виды рекламы для продвижения на рынке товаров и услуг и привлечения новых клиентов. Есть большое количество всевозможных видов рекламы. С течением времени эффективность рекламы неизбежно падает, что ведет к поиску новых, более современных, эффективных видов рекламы. Один из этих видов, реклама в сети Internet. Организации в целях рекламы создают различного рода сайты, такие как сайты-визитки, интернет – витрины, интернет – магазины, корпоративные сайты. ВКР связана с разработкой интерактивного сайта Бро «ВДПО», необбходимого для рекламы деятельности организации в сети Интернет. Основными целями ВДПО является социально-значимая деятельность по защите жизни и здоровья граждан, продажа пожарного оборудования. Основание для разработки интерактивного сайта для ООО «ВДПО» служит необходимость привлечения новых клиентов и партнеров. Целью ВКР является разработка интерактивного сайта для ООО «ВДПО», которая осуществляется по заказу компании ООО «ВДПО». Для выполнения поставленной цели требуется решить следующие задачи: провести анализ предметной области, спроектировать web-интерфейс интерактивного сайта (структуру, базу данных, содержание, систему навигации и дизайн), выполнить анализ и выбор инструментальных средств; осуществить программную реализацию интерактивного сайта. ВКР состоит из трех глав с выводами, приложения, литературы и списка источников , заключения. В первой главе проведен анализ предметной области. Описана структура ООО «ВДПО». Во второй главе проведено обоснование проектных решений сайта для ООО «ВДПО». Спроектировано содержимое сайта, его структура и система навигации. В третьей главе описана Разработка подсистемы сайта для «ВДПО». Выбраны инструментальные средства, с помощью которых реализован Интерактивный сайт. Выбрана СУБД MySQL как наиболее 3
удобная и распространенная СУБД для web-приложений малого размера. Выбран web-сервер Apache как бесплатны, наиболее надежный и распространенный web-сервер. Проведена физическая реализация базы данных в СУБД MySQL. Проведена реализация интерактивного сайта с использованием объектно-ориентированного программирования. Реализован дизайн сайта, html-формы для отправки сообщений. В процессе написания выпускной квалификационной работы наиболее активно использовались следующие литературные и электронные источники Для достижения поставленной цели и решаемых в связи с ней задач, работа разделена на 3 главы. Включает в себя 10 таблиц, 23 рисунка, список использованных источников, приложение. 4
1 АНАЛИТИЧЕСКАЯ ЧАСТЬ 1.1Технико-экономическая характеристика предметной области Организация предоставляет свои услуги на российском рынке с 1995 года. За это время реализовано большое колличество проектов по разработке проектной документации по инженерным системам, их монтажу и техническому обслуживанию в жилых, общественных и производственных зданиях.ООО «ВДПО» специализируется на проектировании, монтаже и сервисном обслуживании инженерных систем: - Пожарной сигнализации и оповещения при пожаре. - Эфирного и спутникового телевиденья. - Охранной сигнализации. - Электроснабжения и электроосвещения. - Видеонаблюдения и контроля доступа. - Пожаротушения и дымоудаления. - Внутренней связи. - Локальных компьютерных сетей и СКС. Фирма осуществляет комплектацию объектов: - Средствами пожарной безопасности - огнетушителями, рукавами, стволами, шкафами, гидрантами, щитами, ППК и другим противопожарным оборудованием; - Электротехническим оборудованием - кабели, провода, электроустановочные изделия, щиты, автоматы, УЗО, прочее оборудование. Организацией производится полный комплекс ремонтно- строительных работ от разработки проекта до сдачи объекта «под ключ», включая выполнения функций генподрядчика. Работы выполняются как в комплексе, так и отдельно. На все вышеуказанные виды деятельности организация имеет необходимые лицензии. Имущество фирмы составляют 5
финансовые и материальные ресурсы, которые находятся на его балансе и являются собственностью фирмы. ВДПО - это не только крупнейшая в России общественная организация, ведущая организационно-массовую работу по формированию общественного сознания и гражданской позиции населения в области пожарной безопасности, привлечению граждан к предупреждению и тушению пожаров, но и одна из крупнейших и разветвленных производственно-сбытовых сетей противопожарной продукции. Анализ динамики структуры и состава имущества дает возможность установить размер абсолютного и относительного прироста или уменьшения всего имущества организации и его отдельных видов. Прирост (уменьшение) актива свидетельствует о расширении деятельности предприятия. Таблица 1 - Структура и динамика имущества ООО«ВДПО» Наименование 2009г раздела баланс Т руб в % 1 2 Основ 568 6,83 средства Итого 568 6,83 внеоборот средств Запасы ТМЦ 3463 41,62 Сырье, 3161 34,97 материалы 2012г Готовая продукция Расходы будущих периодов итого 2013 Т руб в% Т руб 3 в% 4 552 5,33 474 7,11 5 -93 84,47 552 5,33 474 7,11 -93 84,47 2438 1681 23,53 16,24 635 584 9,53 8,75 - 18,35 18,56 293 3,52 712 6,87 29 0,41 -268 9,16 10 0,11 44 0,44 21 0,34 13 6 221
1 2 3 4 5 Дебиторская 3092 37,15 6456 62,34 5566 83,17 2474 179,97 1197 14,36 776 7,53 12 0,16 7755 93,14 9801 94,65 6216 92,92 -80,19 1534 8323 100 100 6694 100 задолженность Денежные -1 1182 средства Итого оборотных Всего 10352 -80,42 1630 имущества Как видно из аналитической таблицы 1, за исследуемый период происходит сокращениедимушества на 1620 тыс. руб. или 19,56%. Это расценивается как отрицательный факт в деятельности организации. Данное снижение произошло за счет сокращения внеоборотных активов на 93 тыс. руб. или 16,51% и оборотных активов на 1535 тыс. руб. или 19,82%. Внеоборотные активы состоят из основных средств, стоимость которых уменьшилась за счет начисления амортизации. Структурного изменения в составе основных средств не происходило за исследуемый период. Снижение оборотных активов происходит за счет сокращения запасов на 2827 тыс. руб. или 81,63% и денежных средств на 1184 тыс. руб. или на 98%. Отметим увеличение дебитирской задолженности на 2474 тыс. руб. или 80%. Данная динамика свидетельствует о ухудшающемся финансовом положении ООО«ВДПО». В структуре имущества ООО«ВДПО» преобладают оборотные активы и составляют более 90% на протяжении всего исследуемого периода. Негативным моментом является увеличение доли дебиторской задолженности с 37,16% в 2009 г до 83,18% в 2012г. Такое положение может привести к неплатежеспособности предприятия. 7
Таблица 2 - Источники формирования имущества ООО «ВДПО» Наименование 2009г 2012г Итого 2013 раздела баланса Т руб в% Т руб в % Уставный капитал 110 1,33 110 1,05 Резервный Т руб в % 1,63 0 100 27,41 5771 86,24 - - 28,37 128 1,92 4,54 2706 2945 35,38 5884 56,83 6012 89,82 3067 204,12 Займы и кредиты - 8,50 - Кредиторская 5378 64,61 3588 - - 2835 110 капитал Нераспределенная 2835 34,06 2937 прибыль собственный капитал - 880 - - - 34,66 681 10,17 12,66 4697 0,26 0,28 задолженность, в т.ч. поставщики и 324 3,89 27 19 подрядчики 5,86 перед персоналом 278 3,34 436 4,21 53 0,79 организации перед -305 -225 19,06 122 1,47 109 1,05 и 810 9,73 1116 16 0,24 -106 13,11 10,78 183 2,73 -627 22,59 прочие кредиторы 3844 46,18 1900 18,35 410 6,12 10,67 3434 Итого 43,16 681 10,17 12,66 4697 госвнебюджет фондами по налогам сборам заемных 5378 64,61 4468 средств Всего 8324 100 10352 100 8 6694 100 80,42 1630
Источники формирования имущества сократились за исследуемый период на 19,58% или 1630 тыс. руб. Это произошло за счет сокращения заемного капитала на 4697 тыс. руб. или на 87,34%. Таблица 3 - Сокращение источников формирования имущества Наименование 2009г 2012г 2013г Темп Изменение показателя роста, % (+;-) Денежная выручка от 8830 19102 7081 80,19 -1749 4644 13669 5926 127,61 1282 Валовая прибыль 4186 5433 1155 27,59 -3031 Коммерческие расходы 380 1168 953 250,79 573 4265 202 5,31 -3604 реализации Себестоимость реализованной продукции Прибыль (убыток) от 3806 продаж Проценты к уплате - 46 39 - - Прочие доходы - - 59 - - Прочие расходы 64 292 57 89,06 -7 3927 165 4,41 -3577 989 36 3,97 -870 2938 129 4,55 -2707 Прибыль (убыток) до 3742 налогообложения Налоги и отчисления в 906 бюджет Чистая прибыль 2836 (убыток) отчетного года Положительным моментом является увеличение стоимости капитала предприятия на 3068 тыс. руб. или в два раза за счет образования и увеличения резервного капитала. Прибыль же имеет динамику снижения на 2706 тыс. руб. или 95,44%, т.к. вся нераспределенная прибыль на начало 9
2013г., согласно учредительным документам, перешла в резервный фонд. В 2013г. ООО «ВДПО» воспользовалось заемными кредитными ресурсами и в тот же год рассчиталось по долгам. Крелиторская задолженность предприятия сократилась на 4698 тыс. руб. или на 87,35%. Как видим из аналитической таблицы 3, выручка за исследуемый период сократилась на 19,82% или на 1748 тыс. руб. При этом себестоимость реализованной продукции возросла на 1283 тыс. руб. или на 27,62%, что является фактором, негативно влияющим на прибыль. Таким образом, валовая прибыль сократилась на 3032 тыс. руб. или на 72,42%. Негативным моментом является прирост коммерческих расходов на 572 тыс. руб. или в 2,5 раза. Прибыль от продаж сократилась на 3603 тыс. руб., что составило 94,68% снижения. ООО «ВДПО» осуществляет прочие расходы, которые сократились на 7 тыс. руб. А в 2013г. отметим присутствие прочих доходов в размере 59 тыс. руб. Следовательно, результат от прочей деятельности отрицательный. Прибыль до налогообложения ументшилась на 3578 тыс. руб. или на 95,58%. В итоге чистая прибыль организации уменьшилась за период на 2706 тыс. руб. или на 95,44% и составила в 2013 г. 129 тыс. руб. БРО ВДПО завершило 2015 год с чистой прибылью по РСБУ в 2,41 млн. руб., Выручка компании БРО ВДПО за 2014 год практически не изменилась и составила 53,99 млн. руб. против 53,90 млн. руб. за аналогичный период годом ранее. Управленческие расходы за отчетный составили 14,48 млн. руб. Компания БРО ВДПО завершила 2014 год с прибылью от продаж в 4,08 млн. руб., что на 19,11% меньше показателя прибыли годом ранее - 5,05 млн. руб. Пройдя путь от Императорского российского пожарного общества (ИРПО) до Всероссийского добровольного пожарного общества. На сегоднешний день в рядах ВДПО более 40 тысяч членов и граждан, добровольно исполняющих общественные обязанности в сфере пожарной безопасности и защиты от ЧС в сельских населенных пунктах, малых городах и на объектах всей Российской Федерации. 10
1.2Экономическая сущность задачи Задачи, которые ставятся перед сайтом – это реклама организации, а также уменьшение общего времени работы специалистов компании с клиентом в течение всего процесса коммуникации, которое достигается в первую очередь за счет снижение времени очного и телефонного общения. За счет этого экономится время сотрудников компании. Это применяется в тех случаях, когда размер целевой аудитории велик, продукт относительно массовый, для его покупки требуется небольшое время на принятие решения и обычно для покупки не нужно дополнительных консультаций . Пользователь должен прийти уже подготовленным. Он должен обладать знаниями о том, что конкретно ему нужно, сколько это может стоить, каковы условия поставки и другие, важные для заданного вида продукции характеристики. В этом случае, сайт минимизирует время общения с представителем компании, уменьшая затраты компании на осуществление продажи. Весь необходимый объем предварительной информации, необходимой для подготовки клиента дает, соответственно, сайт. 1.3Обоснование необходимости и цели создания Webпредставительства ВДПО Директором фирмы была поставлена задача, создание Web- представительства, обосновывалось это все тем, что процесс обработки и оформления заказа, а так же его формирование, а так же ознакомление заинтересованных лиц, происходило напрямую путём связи по телефону. Построил диаграмму потоков данных для описания документооборота и товарооборота. В данном случае система представлена как совокупность 11
предметов. На рисунке 1 представлена контекстная диаграмма организации бизнеса. USED AT: AUTHOR: Семейкин Дмитрий Валентинович DATE: 04.03.2012 WORKING PROJECT: "ВДПО" REV: DRAFT 04.03.2012 READER DATE TOP RECOMMENDED NOTES: 1 2 3 4 5 6 7 8 9 10 CONTEXT: PUBLICATION 1 Запрос клиента Клиенты Оплата товара Товарный чек(либо товарная накладныя в счет фактуры) 0р. 0 Лист заказа Складская накладная Работа компании "ВДПО" Товарный чек Приходный кассовый ордер Заказ материалов 2 Сотрудники Товарный чек(либо товарная накладныя в счет фактуры) NODE: TITLE: NUMBER: A-0 Рисунок 1 – Контекстная диаграмма потоков данных Представленная схема на рисунке 1, отображает оборот документов при работе компании, подробно описывается документооборот клиентов. Рассмотрим подробнее диаграмму потоков данных. Диаграмма декомпозиции представлена на рисунке 2 12
USED AT: AUTHOR: Семейкин Дмитрий Валентиннович DATE: 28.05.2012 WORKING PROJECT: "ВДПО" REV: 30.05.2012 DRAFT READER DATE CONTEXT: RECOMMENDED NOTES: 1 2 3 4 5 6 7 8 9 10 PUBLICATION A-0 Запрос клиента 0р. Оплата товара 1 Заказ материалов Заказ материала Накладная 0р. 2 Данные о материалах Производство Товары для доставки Ассортимент товара Складская накладная 0р. Товарный чек(либо товарная накладныя в счет фактуры) Приходный кассовый ордер 3 Продажа Данные о производстве Данные о продажах 1 Товарный чек(либо товарная накладныя в счет фактуры) Хранилище данных ООО "ВДПО" Обобщенные данные NODE: TITLE: Работа компании "ВДПО" NUMBER: A0 Рисунок 2 – Диаграмма декомпозиции Наиболее важными операциями для организации «ВДПО» являются производство продукции и заказ материалов для производства, а также продажа продукции клиентам Построили функциональную модель, как показано на рисунке 3, отображающую структуру и функции работы компании. На данной модели также изображены объекты и потоки, преобразуемые функциями. 13
USED AT: AUTHOR: Семейкин Дмитрий Валентинович DATE: 04.03.2012 WORKING PROJECT: "ВДПО" REV: DRAFT 04.03.2012 READER DATE CONTEXT: TOP RECOMMENDED NOTES: 1 2 3 4 5 6 7 8 9 10 PUBLICATION Приказы директора Устав компании Запрос клиента Документы для клиентов Работа компании "ВДПО" Итоговая отчётность Оплата товара Проданные товары 0р. 0 Работник производственного отдела Работник отдела информационных технологий Бухгалтер NODE: Работник транспортного отдела TITLE: NUMBER: A-0 Рисунок 3 – Контекстная функциональная диаграмма На вход поступают запросы клиентов на товары и оплата клиентами товаров при покупке. При этом управляющей информацией являются приказы директора и устав компании (распорядок дня, правила поведения, работы, функциональные обязанности сотрудников и т.д.). Все процессы выполняются сотрудниками компании: работники производственного отдела, бухгалтер, менеджеры, работники транспортного отдела 14
1.4 Постановка задачи Оформление заказа или подача заявки выполняется при помощи факса, электронной почты или по телефону, никакого ознакомления со спецификацией организации покупателю не предоставляется. Нет политики привлечения клиентов, следовательно, значительно меньший объем продаж, чем мог бы быть. Сейчас все активно используют идею рекламы в интернете, чтобы увеличить уровень своих продаж. Интернет рекламу принято считать самым простым и в то же время эффективным способом. К главным ее плюсам можно отнести то, что она способна фокусироваться только на целевой аудитории. Сначала необходимо создать корпоративный сайт организации. Создание сайта – это, прежде всего, расширение границ бизнеса организации. Благодаря сайту организации стимулирует спрос на продукцию или возрастает количество заинтересованных услугами клиентов. Но задача корпоративного сайта не ограничивается только этими целями. Наличие сайта позволяет решить множество других проблем бизнеса. Главная идея разрабатываемого мною сайта, это возможность регистрации, для последующего составления заказа и отправки заявки. 1.4.1 Цель и назначение сайта ВДПО Сайт компании «ВДПО» представляет информацию о фирме и ее услугах. Главная задача сайта, это в первую очередь оформление заявки на приобретении продукции, заявку на сайте покупатель может оставить только после процедуры регистрации. На сайте будет изображён образец договора, любой желающий может его скачать для ознакомления. Задача договора – 15
при помощи визуального оформления предельно быстро и эффективно донести суть до посетителя, представляемой услуги и степень ее полезности. Целью создания сайта для регионального всеросийскаого добровольного пожарного общества является повышение уровня ряда показателей качества работы, а именно следующие: − облегчение получения пользователями актуальной информации о компании; − необходимость увеличения трафика; − сокращение звонков в службу поддержки клиентов; − упрощение процесса продаж; − упрощение процесса обратной связи. − При этом ставятся следующие задачи: − увеличение продаж за счет новых клиентов; − сокращение расходов на службы технической и информационной поддержки; − увеличение объема продаж; − совершенствование и модернизация продукта и услуг; − сокращение расходов на другие виды рекламоносителей. Web-сайт – бесплатный круглосуточный канал предоставления актуальной информации посетителям сайта, клиентам, сотрудникам компании в неограниченном объеме и формате. 16 партнерам и
2 Обоснование проектных решений 2.1 Обоснование проектных решений по техническому обеспечению Техническое обеспечение - это ПК, линии связи, оргтехника, оборудование сетей. Вид информационной технологии, зависит от технического оснащения (ручной, автоматизированный, удаленный) влияет на передачу, обработку и сбор информации. Набор технических средств состоит из: компьютеров, устройств сбора, обработки, накопления, передачи и вывода информации –жесткие диски, хранения данных, принтеры, сканеры, факс аппараты; оборудование передачи данных и модемы – линий связи; расходные материалы – бумага, CD (DVD)- диски и т. п. При подборе персонального компьютера стоит руководствоваться некоторыми характеристиками. К данным характеристикам можно отнести надежность, финансовые затраты, работоспособность, производительность, простота использования и др. От значений указанных параметров зависит возможность работы с програмными средствами, из этого следует, и успех создания системы. Для каждой отдельной части данная схема выдвигает перечень критериев, наиболее важные при проведении выбора технического обеспечения. Эти критерии таковы: - тактовая частота процессора; - разрешение монитора; - объем оперативной памяти. Анализируя АРМ которые имеются на организации, приходим выводу, что онипро по всем критериям. Для распечатование, сканирования и копирования документов необходимо присутствовать определенное оборудование. Для обеспечения полной сохранности информации при экстренном отключении электричества персональный компьютер должен быть оборудован блоком бесперебойного 17 питания. Как
многофункциональным оборудованием, так и оборудованием бесперебойного питания, рабочие места пользователей уже оборудованы, поэтому введение разрабатываемой системы не нуждается в закупке и установке дополнительных технических средств. В нынешнее время сформировались две основные формы организации тех обеспечения централизованная и частично или полностью децентрализованная. Централизованное техническое обеспечение операется на применении в информационной системе больших ЭВМ и вычислительных центров. Децентрализация технических средств предполагает выполнение функциональных подсистем на персональных компьютерах непосредственно на рабочих местах. Перспективным подходом считается частично децентрализованный подход - организацию технического обеспечения на базе распределенных сетей, состоящие из персональных компьютеров и большых ЭВМ для содержания баз данных, общих для любых функциональных подсистем [25]. Кроме тактовой частоты процессора быстродействие зависит от объема оперативной памяти (ОП). На сегоднешний день используются ПЭВМ со следующими объемами ОП: 256 512 1024 Мб и больше. После проведенного анализа можно сделать вывод, что наименьшая конфигурация ПЭВМ, то есть та, при которой программа будет работать удовлетворительно, как по качеству, так и по скорости, должна быть следующей: − PC Intel Pentium 4; − тактовая частота процессора 600 МГц − оперативная память - 512 Мб; − жесткий диск – 120Гб; − лазерный дисковод; − клавиатура, мышь, принтер; − сетевая плата. Объем внешней и оперативной памяти являются достаточными для большого количества широко используемых в настоящее время СУБД, таких 18
как F охр, Clarion, Access, Delphi, Paradox и др. Характеристики быстродействия данного класса машин таковы, что разрешает системе работать без видимых оператору задержек, а это хорошо отрозится на психологическом состоянии работника и на качестве выполняемой работы. Использовать компьютеры более низкого быстродействия, например, с процессором i 80386 или i 80486 DX, не рекомендуется, так как программа будет работать медленно, что приведет к спаду производительности труда и негативно отразится на настроении сотрудников. Для распечатки документов необходим принтер. Бывает несколько типов принтеров: матричные, лазерные, струйные. Струйные и лазерные принтреы имеют более высокую скорость печати чем, матричные, но относительно высокую цену, а также для них требуются дорогостоящие чернила или порошок. Кроме того, матричные принтеры позволяют вручную управлять расположением текста на странице путем соответствующего размещения бумаги. Это очень удобно, особенно когда нужно вывести на один лист разнородные данные, так как можно распечатывать информацию по частям. Учитывая все вышесказанное для АРМ юриста можно предложить матричный принтер, например, Epson LQ 100+. Для успешного функционирования сайта необходимо обеспечить порядок взаимодействия персонала. Исходя из штатного расписания в состав персонала, необходимого для обеспечения эксплуатации автоматизированной подсистемы поиска вакансий в центре занятости населения в рамках соответствующих подразделений, необходимо выделение следующих ответственных лиц: администратор базы данных - 1 человек; отдел профессиональной подготовки - 1 человек; отдел содействия занятости населения - 1 человек; отдел информационных технологий 1 человек. Данные лица должны выполнять следующие функциональные обязанности. 19
Администратор базы данных – на всем протяжении функционирования сайта следить и обеспечивать работоспособность базы данных. Отдел информационных технологий – на всем протяжении функционирования подсистемы обеспечивает обслуживание внутренней информационной системы и администрирование сети. Как мы отметили выше техническое обеспечение системы осуществляется персоналом исходя из функциональных обязанностей. Уровень надежности достигается согласованным применением организационных, организационно-технических мероприятий и программноаппаратных средств. Безусловна при соблюдении правил эксплуатации и технического обслуживания программно-аппаратных средств повышается ее Средняя наработка на отказ АПК не должна быть меньше 50 часов. Под аварийной ситуацией понимается аварийное завершение процесса, выполняемого той или иной подсистемой КХД, а также «зависание» этого процесса. Эффективность эксплуатации й во многом определяется надежностью оборудования. К нему предъявляются следующие требования: в качестве аппаратных платформ используются средства с повышенной надежностью; применение технических средств соответствующих классу решаемых задач. К надежности электроснабжения предъявляются следующие требования: с целью необходима повышения обязательная отказоустойчивости комплектация системы серверов в целом источником бесперебойного питания с возможностью автономной работы системы; обеспечено бесперебойное питание активного сетевого оборудования. 20
Надежность аппаратных и программных средств подсистемы поиска вакансий обеспечивается за счет следующих организационных мероприятий: соблюдения правил эксплуатации и технического обслуживания программно-аппаратных средств; своевременное выполнение процедур резервного копирования данных. Таким образом, надежность программного обеспечения с помощью общесистемного ПО и разрабатываемого ПО, а также проведением комплекса мероприятий отладки, поиска и исключения ошибок. Необходимо ведение журналов системных сообщений и ошибок по подсистемам для последующего анализа и изменения конфигурации. Тестирование по проверке выполнения требований надежности проведено на этапе проектирования расчетным путем, а на этапах испытаний и эксплуатации проверена ее работоспособность. Обратимся к технической характеристике подсистемы. Интерфейс обеспечивает удобную для конечного пользователя подсистему формирования и визуализации отчетности данных она отвечает следующим требованиям. В части внешнего оформления интерфейсы подсистем типизированы, обеспечено наличие локализованного (русскоязычного) интерфейса пользователя. В части процедур ввода-вывода данных: реализована возможность многомерного анализа данных в табличном виде. Условия эксплуатации, а также виды и периодичность обслуживания технических средств системы соответствуют требованиям по эксплуатации, техническому обслуживанию, ремонту и хранению, изложенным в размещаются в документации завода-изготовителя (производителя) на них. Технические средства Системы и персонал существующих помещениях. Внешняя среда по климатическим условиям 21
должна соответствовать ГОСТ 15150-69 «Машины, приборы и другие технические изделия. Организация автоматизированных рабочих мест должна соответствовать требованиям ГОСТ 21958-76 «Система "Человекмашина". Общим эргономическим требованиям должны отвечать зал и кабины операторов, взаимное расположение рабочих мест. Предусмотрена трехфазная четырехпроводная сеть с глухо заземленной нейтралью 380/220 В (+10-15)% частотой 50 Гц (+1-1) Гц. для электропитания технических средств. Через сетевые розетки с заземляющим контактом каждое техническое средство питается однофазным напряжением 220 с частотой 50 Гц[17]. Для обеспечения выполнения требований по надежности в центре занятости населения создан комплект запасных изделий и приборов (ЗИП). Техническое обеспечение персонального компьютера, необходимое для успешного функционирования подсистемы перечислено в таблице 1. Таблица 4 - Характеристика технического обеспечения персонального компьютера Наименование Материнская платаM5A99X EVO R2.0 Процессор Жесткие диски Модули памяти. Flash-накопители Видеокарты Звуковая карта Приводы CD-R/RW Приводы DVDROM/RW Дисководы Характеристика ASUS ATXM5A99X EVO R2 Корпуса Модемы Клавиатура Мышь оптическая. Колонки. Сетевой фильтр Монитор Кабели Расходные материалы AeroColler Strike X Zyxel keenetic lite ii Genius KB-110 usb 2.0 лазерная мышь logitech m100 black usb 2.0 Genius SP-S110U Black Сетевой фильтр (5 розеток) Pilot GL 2м 19”Samsung syncMaster LS24HUBCBL Кабель FireWire IEEE 1394 4p4p 1.9 м Аксессуары. Диски СD-RW бумага AMD Phenom x4 3.4 ghz HDD IDE Western digital green 2tb DDR-память:DIMM DDR3 Kingston 1333 ghz Flash-карты: SD Card Transcend 8gb ASUS Nvidia Geforce gtx 460 SE 1 gb C-Media 8738 4-channel PCI(oem) CD-RW+DVD Teac52*32*52*16 DW-552G(oem) DVD-RW/+RW NEC ND-2500A(oem) Fdd 3.5”1.44 Mb NEC black 22
Сервер базы данных развернут на HP9000 SuperDome №1, минимальная конфигурация которого: CPU: 16 (32 core); RAM: 128 Gb; HDD: 500 Gb; Network Card: 2 (2 Gbit); Fiber Channel: 4. Сервер сбора, обработки и загрузки данных развернут на HP9000 SuperDome №2, минимальная конфигурация которого: CPU: 8 (16 core); RAM: 32 Gb; HDD: 100 Gb; Network Card: 2 (1 Gbit); Fiber Channel: 2. Сервер приложений развернут на платформе HP Integrity, минимальная конфигурация которого: CPU: 6 (12 core); RAM: 64 Gb; HDD: 300 Gb; Network Card: 3 (1 Gbit). Приведенные сервера подключены к дисковому массиву HP XP с организацией сети хранения данных. Минимальный объем свободного пространства для хранения данных на дисковом массиве составляет 5 Тб. Таким образом, для успешного использования программного продукта необходимо обеспечить кадровые организационные и технические условия, перечисленные в этом параграфе 2.2 Обоснование проектных решений по информационному обеспечению Понятие информационного обеспечения возникло с созданием автоматизированных систем управления (АСУ). Информационное обеспечение состоит из внутримашинного, включающие с себя массивы данных (входные, промежуточные, выходные), программы для решения задач, и внемашинного, включающая в себя системы классификации и кодирования оперативных документов, нормативносправочной информации (НСИ). Одно из основных требований к информационному обеспечению - это достоверность данных информационной базы. 23
Требуемая надежность данных в информационных базах обеспечивается предельно высокой степенью контроля на всех этапах работы с данными. Особенности технологии обработки данных связаны с такими факторами, как: функционирование в режиме диалога с пользователем, наличие накопителей информации, исключение бумажных технологий для обработки информации. Благодаря1диалоговому1режимуйнет четко установленной заранее последовательносй операции по обработке данных. В1состав1технологических1операций1входят: - загрузка1программы; - ввод1данных; - контрольйинформациийийвозможностьйкорректировки; - тнформационно-справочное обслуживание; - формирование информационных массивов; - вывод информации. Существуетйнесколькойспособовйрегистрациийпервичноййинформации: - документальный; - документальный с регистрацией на машинном носителе; - автоматический. В проекте АРМ используется как первый, так и второй способы регистрации информации. Ввод, обработка и выдача информации производятся в диалоговом режиме. В основании диалогового режима лежит динамическая взаимосвязь между машиной и человеком при помощи приема и передачи данных через устройства ввода/вывода. В диалоговом режиме выполняется поиск требуемой информации, мгновенная обработка команд, сообщений, воздействие пользователя на ход обработки данных. Организация диалога выполняется с помощью установки связей между данными, представояющие собой информационные модели. 24
По способу установления связей между данными разделяют реляционную, иерархическую и сетевую модели. Реляционная модель представляет собой простейшую и наиболее привычную форму представления данных в виде таблиц. Иерархическая и сетевая модель предполагает наличие связей между данными которе имеют какой-либо общий признак. В иерархической модели такие связи могут быть отображены в виде дерева-графа, в сетевой возможны связи “всех со всеми”. Сейчас реляционные системы лучше соответствуют техническим возможностям персональных компьютеров. Скоростные характеристики этих СУБД поддерживаются специальными средствами ускоренного доступа к информаци и- индексирование баз данных. Для АРМ можно предложить FoxPro, распологающая огромным количеством сильных средств, работаюших с базами даных накопления, передачи, обработки информации. В таком случае ИО является спецификация, образцы договоров, отчеты, сформированные по пришедшим заявкам, документы по сотрудничеству с головной организацией, разные документы по производству новых артикулов и производству новой продукции, протоколы, приказы заседаний и похожие документы, не включающиеся в состав номенклатурных документов. А так же будут использоваться номенклатурные документы, так как на их основании будут созданы различные поручения. 2.3 Обоснование проектных решений по программному обеспечению Программное обеспечение – это совокупность программ на носителях данных и программных документов, созданна для отладки, функционирования и проверки работоспособности ИС. В состав программного обеспечения входят общесистемные и специальные программные продукты, а также техническая документация. 25
К общесистемному программному обеспечению можно отнести комплексы программ, целенаправленны на пользователей и необходимых для решения типовых задач обработки информации. Они предназначены для увелеченя функциональных возможностей компьютера, контроля и управления процессом обработки данных. К общесистемному ПО относятся: - операционная система; - система управления базами данных (СУБД). Специальное по является совокупностью программ, разработанных при создании определенной информационой системы. В его составе: пакеты прикладных программ, реализующие разработанные модели разной степени адекватности, отражающие функционирование реального объекта. Специальное програмное обеспечение для проектируемой системы состоит из разработанного приложения для автоматизации учета складских операций. Ос можно поделить на следующие типы: - дисковые операционные системы, реализуют минимум функций: загрузку пользавательских программ в оперативную память и их исполнение, работу с устройствами долговременной памяти, доступ к устройствам ввода/вывода, и некоторый пользовательский интерфейс. - ОС общего назначения – которые расчитываются на интерактивную работу одного или многих пользователей в режиме разделения времени, при нормальных требованиях на время ответа системы на внешние события. Обычно, в таких системах выделяется огромное внимание защите самой системы, программного обеспечения и пользавательских данных от ощибочных и злонамеренных программ и пользователей. Такие системы пользуются встроенными в архитектуру процессора средствоми защиты и виртуализации памяти. - Системы виртуальных машин - это системы, которые допускают одновременную работу нескольких программ, но при этом создают для 26
каждой программы иллюзию, что машина находится в полном ее распоряжении - Системы реального времени - это системы, которые предназначены для облегчения разработки так называемых приложений реального времени. Это программы, которые управляют оборудованием с ограничениями по времени. Пример такого приложения может быть программа бортового компьютера крылатой ракеты, системы управления ускорителем элементарных частиц или промышленным оборудованием. Такие системы обязаны поддерживать многопроцессность, гарантированное время реакции на внешнее событие, простой доступ к таймеру и внешним устройствам. Кросс-загрузчики - это системы, полностью ориентированные на работу с host-машиной. Чаще всего они используются для написания и отладки кода, позднее прощиваемого в ПЗУ. - системы промежуточных типов. Задача, рассматриваемая нами, не предоставляет огромных требований к надежности, производительнасти и времени реакции системы представляющая большой выбор между разными системами общего назначения. При выборе операционной системы будем операться наследующие факторы: 1). Минимальные затраты на переобучение сотрудников, работающих с системой учета рабочего времени; 2). Минимальные затраты на поддержку системы. В бро ВДПО на рабочих станциях пользователей системы установлена ОС линейки Microsoft Windows: Windows 7, Windows Vista, Windows XP. На серверах установлена Microsoft Windows 2008 Server. На приобретаемый сервер с целью совместимости всех компонентов системы рекомендуется установить Microsoft Windows 2008 Server. СУБД классифицируются по следующим признакам: 1) По модели данных: - Иерархические; 27
- Сетевые; - Реляционные; - Объектно-ориентированные. 2) По способу доступа к БД - Файл-серверные; - Клиент-серверные. Больше всего подходит для нас реляционная модель, т.к. она характеризуется простотой структуры данных, удобным для пользователя табличным представлением, и возможностью использования формального аппарата алгебры отношений и реляционного исчисления для обработки данных. 2.4 Обоснование проектных решений по технологическому обеспечению От того технологический насколько процесс, рационально настолько будет гарантировано спроектирован будет снижение стоимостных, трудовых затрат. Технологический процесс, состоит из нескольких стадий. Целью первой стадии является сбор, регистрация, передача данных для дальнейшей обработки. Результатом является написание документа. Цель второй стадииперенос данных на машинные носители и первоначальное формирование информационной базы. Третья стадия включает в себя операции накопления, корректировки, сортировки и обработки данных. При выборе варианта технологического процесса требуется учитывать следующие требования: - обеспечение достоверности обрабатываемой информации; - решение задач в установленные сроки; - обеспечение минимальных трудовых и стоимостных затрат на обработку данных; 28
- наличие возможности обработки данных на ЭВМ; - возможность решения задачи в различных режимах. Отталкиваясь от написанных выше требований целесообразно проектирование АРМа, позволяющая децентрализовать процесс решения задачи и увеличить производительность. При обработке полученной информации желательно использовать массивы нормативно-справочной информации. Это дает преимущество в скорости поиска, выбора, сортировки и т.д. При этом необходимо возможность просмотра полученных результатов перед оформлением и передачей выходной информации. Актуальным становится вопрос выбора режима: пакетный или диалоговый. Пакетный режим допускает уменьшить вмешательство пользователя в процесс решения задачи и1требуетйотйнегойтолькойвыполнения операций по вводу и редактированию данных, но вместе с этим появляется возможность полной загрузки ЭВМ, что не всегда удобно для пользователя. Практика показывает, что использование АРМ с применением методов построения модели на основе диалога обеспечивает более гибкую связь пользователя с ЭВМ. Диалоговый режим имеет массу преимуществ: удобен при работе с базой; обеспечение защиты при несанкционированном доступе; обеспечивает непосредственное участие пользователя в процессе решения задачи; управляемость процессом; быстрый доступ, поиск и выдача информации в любой момент времени, выбор различных режимов работы; осуществление быстрого перехода от одной операции к другой. 2.5 Обоснование выбора программных средств CMS - это система управления контентом, содержимым сайта. Под контентом и содержимым сайта понимают: текст, картинки, видео - данные и 29
файлы. CMS - это система, позволяющая в удобном виде управлять и создавать (редактировать, удалять) текстовыми материалами и мультимедиа документоми (содержимое или контент) на сайте. Аббревиатура «CMS» появилась от англ. Фразы Content Management System, переводится как система управления контентом. Чтобы редактировать статью, необходимо открыть html файл и искать в нем ту часть кода, которая нуждается в изменении. На такую работу тратится очень много времени и требуется знание html и css. Чтобы облегчить эту работу были созданы системы, позволяющие один раз сделать дизайн сайта и, если нужно будет написать/изменить статью, не требуется делать html файлы. В CMS внутренняя структура и дизайн отделены от контента, и, чтобы управлять сайтом, не требуется дополнительных знаний в технологиях интернетразработки. Принцип работы любого движка прост. Пользователь системы добавляет информацию на сайт. Вся информация, введенная пользователем, будет сохранена в базе данных или файлах. Когда пользователь переходит на сайт, контент считывается из базы данных и отображается на сайте. Вид отоброжения информации зависит от шаблона. В большинстве движков есть система модулей. То есть, функции системы можно расширить, добавляя дополнительные модули. Например, модуль “Чат” или модуль “Обратная связь” и т.д. Модули называют плагинами, расширениями или дополнениями. Пишутся CMS чаще всего на одном из серверных языков программирования (PHP, Perl и др.). CMS или движок сайта - это система управления сайтом, позволяющаяя пользователю удлбно управлять контентом сайта без каких-либо навыков интернет-разработки. Бывают платные и бесплатные CMS. Выбирать движок нужно исходя из требований к сайту. Информация храниться в базе данных (чаще всего в MySQL) или в файлах (txt либо других). Для работы большинства CMS нужен определенный хостинг. Если движок сделан на языке PHP и необходима база MySQL для функционирования, то необходимо, чтобы хостинг включал в себя этот функционал. Описание системы управлением контента Wordpress 30
WordPress -- система управления содержимым сайта (CMS) с открытым исходным кодом, распространяемая под GNU GPL. Написана на PHP, в качестве базы данных использует MySQL. Сфера применения -- от блогов до достаточно сложных новостных ресурсов и интернет-магазинов. Встроенная система «тем» и «плагинов» вместе с удачной архитектурой. WordPress выпущен под лицензией GPL . На 2007 год WordPress была самой популярной системой для ведения автономных блогов. – возможность публикации с помощью сторонних программ и сервисов; – простота установки, настройки; – поддержка RSS, Atom, trackback, pingback; – подключаемые модули (плагины) с уникальной простой системой их взаимодействия с кодом; – поддержка так называемых «тем», позволяющих легко менять как внешний вид, так и способы вывода данных; – «темы» реализованы как наборы файлов-шаблонов на PHP, что положительно сказывается на скорости и гибкости; – громадные библиотеки «тем» и «плагинов»; – заложенный потенциал архитектуры позволяет легко реализовывать сложные решения; – наличие ЧПУ (человеко-понятный URL); – наличие русских переводов. Apache является кроссплатформенным ПО, поддерживает операционные системы Linux, BSD, Mac OS, Microsoft Windows, Novell NetWare, BeOS. Основными достоинствами Apache считаются надёжность и гибкость конфигурации. Он позволяет подключать внешние модули для предоставления данных, использовать СУБД для аутентификации пользователей, модифицировать сообщения об ошибках и т. д. Поддерживает IPv6. 31
3 Проектирование Web-представительства ООО «ВДПО» 3.1 Разработка функциональных и информационных моделей Функциональная модель описывает вычисления в системе. Модель представляет нам, каким образом выходные данные вычисляются по входным данным, не рассматривая порядок и способ реализации вычислений. Функциональная модель состоит из набора диаграмм потока данных, показываюшие потоки значений от внешних входов через операции и внутренние хранилиша данных к внещним выходам. Функциональная модель описывает смысл операций объектной модели и действий динамической модели, а также ограничения на объектную модель. Информационная модель - модель объекта, которая представляется информацией, описывающей существенные для данного расмотрения параметры и переменые величины объекта, связи между ними, входы и выходы объекта и разрешаюшие путём направления на модель информации об изменениях входных величин моделировать возможные состояния объекта. Информационные модели нельзя ощутить, они не имеют материального воплощения, потому что строятся только на информации. Информационная модель — совокупность информации, характеризующая существеные свойства и состояния объекта, процесса, явления, а также взаимосвязь с внешним миром. 3.1.1 Разработка функциональных моделей Разработка функциональных моделей предназначена формально описывать процесс работы программы. На данных моделях изображаются главные процессы работы системы, как входные данные этих процессов 32
преобразуются в выходные. Перед началом разработки Web-представительства, нужно составить функциональные модели. Начнем с контекстной модели. USED AT: AUTHOR: Семейкин Дмитрий Валентинович DATE: 25.04.2012 WORKING PROJECT: ООО "ВДПО" REV: DRAFT 28.05.2012 READER DATE CONTEXT: TOP RECOMMENDED NOTES: 1 2 3 4 5 6 7 8 9 10 PUBLICATION 0р. 1 0 Данные о товарах Клиент Данные о клиенте NODE: TITLE: Готовый заказ 2 Функцонирование ООО "ВДПО" Функцонирование ООО "ВДПО" Сотрудник NUMBER: A-0 Рисунок 9 – Контекстная диаграмма функционирования Webпредставительства В систему поступают некоторые сведения, по которым может быть сформирован заказ. Чтобы оформить заказа клиент обязательно должен внести в себе информацию, которая сохраняется в базе данных. После регистрации клиент получает свой уникальный номер, который используется на этапе оформления заказа. После того, как клиент зарегистрировался в системе, он выбирает необходимые ему товары и оформляет заказ. После этого менеджер проверяет наличие товаров, а так же данные об оплате заказа и далее происходит комплектация заказа. После того, как заказ был укомплектован он готов к отправке. Далее производится доставка заказа. 33
Теперь, когда были созданы функциональные модели, необходимо разработать информационную модель данных, исходя из описанной ранее функциональной модели. 3.1.2 Разработка информационных моделей В реляционной модели все данные представлены как факты о сущностях. Между сущностями определяются функциональные связи. Сущность - это большое количество индивидуальных объектов, являющиеся различными обьектами. Сущности именуются обычно сушествительными, такими как служащий, компьютер, покупатель, продажа. Более точно, сущность - это, место, человек, например, концепция, событие, о которых хранится информация Связь - это функциональная зависимость между сущностями. Каждая сущность обладает атрибутами. Атрибут - это свойство объекта, характеризующее его экземпляр. Общепринятым видом графического изображения реляционной модели данных служит ER-диаграмма. На данной диаграме сущности (таблицы) представляются прямоугольниками, возможно, соединенными друг с другом линиями (связями). Данное графическое представление упрощает восприятие структуры базы данных по сравнению с текстовым описанием. Чтобы реализовать учет поступающих заказов нужно провести анализ предметной области и выявить сущности и их атрибуты, а затем определить связи между ними. В результате проведенного анализа были выявлены следующие сущности: − Пользователь –сущность будет содержать в себе данные о ФИО пользователя, в логине и пароле для входа в систему, адрес электронной 34
почты для ознакомления клиента с статусом заказа, а также информация об организации, от лица которой будет производиться заказ товаров. − Статус заказа – сущность будет содержать в себе статическую информацию о статус заказа; − Корзина – в данной сущности храняться данные о товарах, которые хотели бы купить. Сущность представляет собой поля как уникальный номер клиента, информацию о продукции и о количестве каждой единицы товара; − Статус оплаты – эта сущность будет хранить информацию о статусах, для того чтобы менеджер знал, как обстоят дела с оплатой заказа. В этой сущности будут храниться следующие атрибуты: номер статуса, а так же название статуса; − Заказ –сущность будет хранить в себе информацию о заказе клиента и будет содержать следующие поля: статус оплаты заказа, уникальный код пользователя, номер заказа, статус заказа (например, на комплектации, ожидает оплаты, доставляется и т.п.), и уникальный номер менеджера, являющегося ответственным за данный заказ; − Персонал – эта сущность будет хранить информацию о менеджерах. В данной сущности будут иметься такие поля как уникальный номер менеджера и ФИО. − Товар – эта сущность будет содержать информацию о товаре, который возможно купить. Эта сущность будет содержать следующие поля: описание товара, название, номер товара, а также единицу измерения, в которой продается товар; − Товар заказ – эта сущность представляет собой вспомогательную и хранит в себе информацию о товаре и номере заказа, а так же о количестве товара; − Единица измерения – в данной сущности хронится информация о еденицах измерения товаров. Сушность состоит из следующих полей: номер единицы измерения, название, и сокращенное название единицы измерения. Теперь требуется определить связи между созданными сущностями. 35
Прежде всего, делаем связи для сущности «Заказ». Так как заказ формируется пользователем, обрабатывается менеджером, то связь между сущностью «Заказ» и «Пользователь» будет один ко многим, равно как и у сущностей «Заказ» и «Персонал». Так же заказ предусматривает отслеживание «Статуса заказа» и «Статус оплаты». Связь между сущностью «Статуса заказа» и «Заказ» будет один ко многим, т.к. в одном и том же статусе могут одновременно находиться много заказов. Аналогично и со статусом оплаты. Выведем связь между «Корзиной» и «Товаром». Корзина содержит в себе информацию о товаре, то информация об одном товаре может содержаться в разных корзинах. Разберемся в отношении сущности «Товар» и «Единица измерения». В одной единице может измеряться больтшое количество различного товара, следовательно, можно сделать вывод, что связь у этих сущностей будет один ко многим. Подводя итоги, требуется разобраться, какие отношения существуют между сущностями «Товар», «Заказ» и «Товар заказ». Один товар может находиться в разных заказах, то связь между сущностями товар и товар заказ будет один ко многим. В одном заказе может находиться много товаров, то отношения между сущностями заказ и товар заказ будут один ко многим. Корз ина номер_корз ины Количество номер_польз ователя (FK) номер_товара (FK) Польз ователь номер_польз ователя ФИО Логин Пароль Email sid Организ ация Стату с_з аказ а номер_стату са_з аказ а Наз вание Стату с_оплаты Товар Персонал номер_стату са_оплаты номер_персонала Наз вание номер_товара Наз вание Описание номер_единицы_из мерения (FK) ФИО Заказ номер_з аказ а Товар_з аказ номер_польз ователя (FK) номер_стату са_оплаты (FK) номер_стату са_з аказ а (FK) номер_персонала (FK) Е диница_из мерения номер_товар_з аказ номер_единицы_из мерения количество номер_з аказ а (FK) номер_товара (FK) наз вание сокращенное_наз вание Рисунок 11 – Инфологическая модель данных Далее, когда инфологическая модель данных созданна, необходимо 36
сделать даталогическую модель данных, какой она будет на самом деле. Этот процесс описан ниже. На уровне физической модели сущности соответствует таблица в реальной СУБД, атрибуту – колонка таблицы, связи – внешний ключ, первичным и альтернативным ключам – уникальные индексы, а инверсным входам не уникальные [3]. Для отдельной колонки требуется написать тип данных, возможность пустых значений и т.п. На основании ранее разработаной инфологической модели нужно физическую модель, получить реальную, с описанием типов данных и связей между сущностями, чтобы затем эту модель можно было реализовать в СУБД. Разработанная модель представлена на рисунке 12 basket id_basket: INTEGER NOT NULL count_b: INTEGER NOT NULL id_user: INTEGER NOT NULL (FK) id_good: INTEGER NOT NULL (FK) user id_user: INTEGER NOT NULL fio_u: VARCHAR(100) NOT NULL username: VARCHAR(20) NOT NULL password: VARCHAR(20) NOT NULL Email: CHAR(18) NULL sid: VARCHAR(64) NULL org: VARCHAR(100) NOT NULL order_status payment_status good staff id_p_s: INTEGER NOT NULL id_staff: INTEGER NOT NULL name_p_s: VARBINARY(50) NOT NULL fio_s: VARCHAR(100) NOT NULL id_good: INTEGER NOT NULL name_g: VARCHAR(50) NOT NULL description: TEXT NULL id_unit: INTEGER NOT NULL (FK) orders id_o_s: INTEGER NOT NULL name_o_s: VARCHAR(50) NOT NULL id_orders: INTEGER NOT NULL id_user: INTEGER NOT NULL (FK) id_p_s: INTEGER NOT NULL (FK) id_o_s: INTEGER NOT NULL (FK) id_staff: INTEGER NOT NULL (FK) good_orders unit id_g_o: INTEGER NOT NULL id_unit: INTEGER NOT NULL count_g_o: INTEGER NOT NULL id_orders: INTEGER NOT NULL (FK) id_good: INTEGER NOT NULL (FK) name_u: VARCHAR(50) NOT NULL abb_u: VARCHAR(15) NOT NULL Рисунок 12 – Физическая модель данных Чтобы определить соответствие логической и физической моделей данных рассмотрим таблицу 4. Таблица 4 – Описание таблиц физической модели Сущность 1 Идентификатор таблицы 2 Атрибут 3 ФИО 37 Идентификатор поля Тип поля 4 5 Fio_u VARCHAR
1 2 Статус заказа Order_status Корзина Basket Статус оплаты Payment_status Единица измерения Unit Персонал Персонал staff Staff Товар Good Заказ Orders Товар заказ Good_orders 3 4 5 Пароль Электронная почта Идентификатор сессии Организация Номер статуса заказа Название Номер корзины Количество Номер пользователя Номер товара Номер статуса оплаты Название Номер единицы измерения Название Сокращенное название Номер Номер персонала ФИО Номер товара Название товара Номер единицы измерения Номер заказа Номер пользователя Номер статуса оплаты Номер статуса заказа Номер персонала Номер товар заказ Количество Номер заказа Номер товара Password Email VARCHAR VARCHAR SID Org VARCHAR VARCHAR Id_o_s Name_o_s Id_basket Count_b Id_user Id_good INTEGER VARCHAR INTEGER INTEGER INTEGER INTEGER Id_p_s Name_p_s INTEGER VARCHAR Id_unit Name_u INTEGER VARCHAR Abb_u id Id_staff Fio_s Id_good Name_g VARCHAR INTEGER INTEGER VARCHAR INTEGER VARCHAR Id_unit Id_orders Id_user INTEGER INTEGER INTEGER Id_p_s INTEGER Id_o_s Id_staff Id_g_o Count_g_o Id_orders Id_good INTEGER INTEGER INTEGER INTEGER INTEGER INTEGER На данном описании таблиц физ модели данных заметно, какие поля инфологической модели данных соответствуют физической модели данных. Для разработки Web-представительства ООО «ВДПО» выбрана 38
клиент-серверная технология, которая позволяет получать доступ к системе из любой точки сети интернет. В роли серверной части был взят Web-сервер hostinger, СУБД Firebird, так же для написания клиентского приложения выбран язык гипертекстовой разметки HTML, каскадные таблицы стилей CSS, скриптовый язык программирования PHP. Для описания работы процесса Web-представительства была взята нотация бизнес моделирования DFD, и сделаны диаграммы бизнес процесов работы с документами в программе Allfusion Process Modeler 7 . На основе полученных диаграмм была разработана инфологическая схема данных 3.2 Обоснование выбора технических и инструментальных средств Для автоматизирования необходимо использовать несколько программных средства для проектирования разрабатываемой системы, так и для разработки моделей реляционных баз данных необходимо использование CASE-технологий, для обеспечения управления созданием и использованием баз данных необходимо использование систему управления базами данных (СУБД), а для разработки самого программного средства необходимо использовать средства визуального программирования Программное обеспечение (ПО) – совокупность программ системы обработки информации и программных документов, необходимых для эксплуатации этих программ. В качестве CASE-технологий решено использовать средства моделирования AllFusion Process Modeler (BPwin) и AllFusion Erwin Data Modeler (Erwin). Для разработки системы нам потребуются следующие программные средства: − Web-сервер Apache; 39
− Язык программирования PHP; − СУБД Firebird; Главными плюсами данных программных средств является то, что распространяются они бесплатно. Основными преимуществами Web-сервера, языка программирования и СУБД что они кроссплатформенные, то есть пользоваться и устанавливать их можно на любую операционную систему. Для того чтобы понять, почему выбраны именно эти программные средства нужно рассмотреть их более детально. Основными плюсами Apache считается надёжность и гибкость конфигурации. Он разрешает предаставления данных, подключать использовать внешние СУБД для модули для аутентификации пользователей, модифицировать сообщения об ощибках. PHP – скриптовый язык программирования общего назначения, активно применяемый для написания Web-приложений. В современное время поддерживается является одним из большим лидеров количеством хостинг-провайдеров и среди языков программирования, использующихся для создания динамических Web-сайтов [31]. В качестве достоинства Firebird отмечаем многоверсионную архитектуру, которая обеспечивает обработку оперативных и аналитических запросов (это возможно потому, что читающие пользователи не блокируют пишущих), компактность (дистрибутив 5Mb), предельную эффективность и сильную языковую поддержку для хранимых процедур и триггеров. 3.3 Структура сайта Теперь, когда выбраны технические и инструментальные средства для написания Web-представительства, требуется изучить структуру сайта, для того, чтобы понимать, как он функционирует 40
Index.php Contacts.php Orders.php Price.php Bascet.php Contract.php Reg.php Details.php Info.php Рисунок 13 – Карта сайта Из выше сказанной структуры понятно, что, осуществляя попытку входа на сайт пользователь попадаетна главную. Далее, если он зарегистрирован на сайте, он может увидеть прайс-лист, выбрать требуемые ему товары и положить их в корзину. Потом, все что оказалось в корзине может использовано для оформления заказа. Еще, пользователь может наблюдать за состоянием уже выполненных заказов. Для организации написанного выше алгоритма работы берется язык программирования PHP, а для организации интерфейса берется язык гипертекстовой разметки и каскадные таблицы стилей. 3.3 Описание программных модулей Необходимо описать взаимодействие программных модулей, которые будут выполнять работу Web-представительства. Для этого рассмотрим схему взаимодействия программных модулей, которая представлена на рисунке 14 41
Модуль вывода информации о товарах(Price.php) Модуль редактирования персональной информации (Info.php) Модуль регистрации (Reg.php) Модуль конфигурации (Config.php) Модуль оформления заказа (Orders.php) Детализации заказа (Details.php) Модуль корзины (Basket.php) Рисунок 14 – Схема взаимодействия модулей На изображенной схеме можно увидеть, что в программе существует семь программных модулей. Рассмотрим функции каждого модуля более подробно. Модуль конфигурации несет ответственность в приложении за написания подключения к базе данных, авторизацию пользователей, а так же ряд часто используемых в остальных модулях функциях. Модуль вывода данных о товарах дает вывод информации о товарах. В зависимости от того авторизовался ли пользователь под своим именем на сайте или нет данные, выводимые данным модулем, будет отличатться по своему содержанию. Модуль редактирования персональной информации отвечает за изменение данных, введенных пользователем на стадии регистрации. Данный модуль предназначен для того, чтобы пользователь мог изменить данные, 42
используемые менеджерами для контактирования с представителями заказчика. Модуль регистрации несет ответственность за регистрацию пользователей на сайте и так же необходим для того, чтобы в последующем пользователь мог совершать заказы. Модуль оформления заказов предназначен непосредственно с модулем корзины и модулем вывода информации, так как сначала товары добавляются в корзину, а потом из выбранных в корзине товаров формируется заказ. Модуль детализации предназначен для детального отображения информации о заказе. Этот модуль связан с модулем вывода информации о товарах, так как в детализации заказа присутствует информация о товарах. Модуль корзины предназначен для сохранения данных о товарах, которые клиент хотел бы купить. Теперь, когда все модули описаны можно начинать создавать базы данных для Web-представительства и сайта, который будет выполнять написанный выше функционал. 3.5 Создание базы данных БД разрабатываемой системы управления документами будет сделана в СУБД Firebird, поскольку данная СУБД имеет высокое быстродействие, что является предельно важным для разрабатываемой системы, а также в ней есть поддержка транзакций. Для того, чтобы сделать базу данных нам необходима утилита администрирования СУБД Firebird IBExpert. Эта утилита позволит создавать, редактировать, удалять базы данных, переименовывать, изменять, создавать, удалять таблицы в базах данных, выполнять поиск в БД и ее разделах, делать проверку целостности ссылочных данных, управлять ключами таблиц, осуществлять сопровождение таблиц. Все эти особенности пригодятся нам при написании 43
базы данных для нашего Web-представительства. Рассмотрим процесс создания базы данных в утилите IBExpert подробнее. Сначало необходимо создать базу. Для этого требуется задать тип сервера, его имя, путь, по которому будет размещаться файл базы данных, а так же кодировка базы данных и другая служебная инфармация. Этот шаг показан на рисунке 15. Рисунок 15 – Создание базы данных 3.6 Характеристика интерфейса пользователя системы Разработка графического интерфеейса –один из главных этапов написания программной системы. Если написать интерфейс, в котором требуемые функции будут стоять не в самых явных местах, или интерфейс будет перегружен лищними укращениями, то благодаря этому, может сильно снизить эффективность работы пользователей с системой. Поэтому при написании пользовательского интерфейса важно выбрать, кто будет 44
работать с системой, что наиболее важно для пользователя в первую очередь и на этой основе создать интерфейс. Просмотрим главную страницу, на которой пользователь будет появляться, когда будет входить в систему. Рисунок 16 – главная страница 45
Рисунок 17 – Форма авторизации На этой странице есть форма авторизации, служащая для того, чтобы пользователи могли полноценно работать с системой, ссылки на др страницы, ссылки на регистрацию в системе, а также инфа о фирме. Для того чтобы ознакомить пользователя с системой посмотрим пример написания заказа. Данный пример позволяет отобразить описанные функции системы, а так же познакомит с разработаным пользовательским интерфейсом. Для начала работы с системой требуется войти в нее под своим логином. Процесс входа выполняется с помощью ввода в форму логина учетных данных, которые будут получены каждым пользователем после прохождения регистрации. Если имя и пароль были введены правельно, то система впустит пользователя. Этот процесс изображен на рисунке 18 46
Рисунок 18 –Ввод данных в форму логина После того, как пользователь зашел под своим логином можно начинать работу с товарами. Для этого необходимо пеерйти к прайслисту и выделить необходимые товары и их количество и положить их в корзину Данный процесс отражен на следующих рисунках 47
Рисунок 19 - Выбор нужных товаров Чтобы оформить заказ выделим все товары, которые находятся в корзине и нажмем на кнопку «Создать заказ». После этого пользователь будет переадресован на страницу со своими заказами, где он увидит только что, созданный заказ 48
Рисунок 23 - Созданный заказ Далее, пользователь может просмотреть детально, какие товары он заказал, а так же отменить заказ. Для того, чтобы просмотреть какие товары содержатся в заказе, необходимо нажать на номер заказа. После этого откроется страница, на которой будет отображен список товаров, присутствующих в заказе. 3.7 Оценка экономической эффективности внедрения Величину затрат на создание веб-сайта «ВДПО», можно определить на основе метода калькуляций. В этом случае затраты определяются расчетом по отдельным статьям 49 расходов и их последующим
суммированием. основная заработная плата производственного персонала; затраты на электроэнергию; затраты на амортизацию и ремонт вычислительной техники; накладные расходы. отчисления на социальные нужды; Главный экономический эффект от внедрения средств автоматизации заключается в улучшении экономических и хозяйственных показателей работы предприятия, в первую очередь за счет повышения оперативности управления и снижения трудозатрат на реализацию процесса управления, то есть сокращения расходов на управление. Для большинства предприятий экономический эффект выступает в виде экономии трудовых и финансовых ресурсов, Калькулирование производится согласно себестоимости Типовым научно-технической методическим продукции рекомендациям по планированию, учету и калькулированию себестоимости научно-технической продукции Показатель эффективности выявляет положительный результат, достигающийся при использовании программного продукта. Чистая прибыль от использования продукта за год определяется по формуле 3.1: П Рг Зг (3.1) где Pг – стоимостная оценка результатов применения программного продукта в течение года; З г – стоимостная оценка затрат при использовании программного продукта. Затраты на оплату труда работников, непосредственно занятых созданием научно-технической продукции. При расчете затрат на оплату труда необходимо произвести оценку трудоемкости разработки календарным 50
методом. Данные о трудоемкости разработки представлены в таблице 7. Таблица 7– Оценка трудоемкости разработки № Наименование этапа Трудоемкость, часы 1 Анализ задания и знакомство с темой 34 2 Изучение литературы 30 3 Сбор информации в Интернет 10 4 Выбор методов и средств решения задачи 10 5 Проектирование модуля системы 20 6 Разработка программного обеспечения 120 7 Отладка и тестирование 24 Итого: 248 Следовательно, трудоемкость подобной разработки составляет 248 часов или 31 рабочий день при восьмичасовом рабочем дне. Месячный фонд времени работы программиста 160 часов, среднемесячная заработная плата 21000 рублей Расчет основной заработной платы разработчика ( ЗОСН ) произведен по формуле 3.2 ЗОСН 21000 8 31 32550( руб.) 160 (3.2) В соответствии с Федеральным законом от 24 июля 2009 года N 212ФЗ "О страховых взносах в Пенсионный фонд РФ, Фонд социального страхования РФ, страхования и Федеральный территориальные фонд обязательного медицинского фонды обязательного медицинского страхования" (в редакции Федерального закона от 03.12.2011 № 379-ФЗ) страховой взнос составляет 30% от дохода, который вычисляется по формуле 3.3: СВ Зосн * Рсв (3.3) 51
где Зосн – основная заработная плата; Рсв – размер страхового взноса на социальные нужды. Итоговые отчисления на социальные нужды составили 9,765 рублей, а основная заработная плата разработчика с учетом отчислений – 22,785 руб Расчет показателя повышения производительности труда произведен по формуле 3.4: P( T ) * 100, F T (3.4) где F – время, которое планировалось пользователем для выполнения работы до внедрения программ; T – экономия времени после внедрения подсистемы. Таблица 8 – Оценка времени работы Вид Среднее время на Среднее время на Среднее время на Эконо работ операцию в день операцию в операцию в год мия п/ на одного месяц на одного на одного времен п сотрудника, сотрудника, сотрудника, минут минут минут № 1 Обработ До После До После До После внедре внедре внедре внедре внедре внедре ния ния ния ния ния ния Повышение производитель ности труда, % P ив месяц, минут T 10 5 300 150 3600 1800 150 50 22 11 660 330 7920 3960 330 50 8 4 240 120 2880 1440 120 50 40 20 1200 600 14400 7200 600 ка заказов в контактцентре 2 Обрабо тка заказа 3 Прием оплаты ИТОГО При расчете сделаны следующие допущения: 52
на три типа операции приведенных в таблице 8 , каждый тратит 40% рабочего времени; фонд рабочего времени в месяц составляет 3901 минут; Рассчитали экономию времени работы: P 1200 51,4% 2701 Стоимостная оценка затрат при использовании программного продукта рассчитали по формуле 3.5 Рг (З руч Завт ) , (3.5) где З руч – затраты на ручную обработку информации, руб/год; Завт – затраты на автоматизированную обработку информации, руб/год. Затраты на ручную обработку информации вычислялись по формуле 3.6: З руч V р * Ц ч , (3.6) гдеV р – время, затрачиваемое на обработку информации вручную, ч/год; Ц ч – цена 1 ч работы, руб/год. Годовые затраты на 10 рабочих мест за год (12 месяцев) при ручной обработке информации составляют 37,2 ч, в месяц: З руч 37,2 *12 *131* 8 465312 руб Затраты на автоматизированную обработку информации вычислялись по формуле 3.7: Завт Vа * Ц ч , 53 (3.7)
гдеVа – затраты времени на автоматизированную обработку информации, руб/год. При автоматизации затраты времени – 10,12 ч в месяц: Завт 27,23 *12 *141* 8 368585.28 руб. Годовой результат от внедрения программного продукта рассчитали по формуле 3.5: Р г З руч Завт 465312 368585.28 99726.72 руб. Затраты на электроэнергию вычислялись по формуле 3.8: Сээ Н ч * Ч * Т ч (3.8) где Н ч – норма потребления электроэнергии за час; Ч – количество рабочих часов электроприборов; Т ч – тарифный план за использование 1 КВт/ч. Затраты на использование электроэнергии стационарным компьютером и монитором с мощностями 0,06 КВт/ч и 0,05 КВт/ч, тарифным планом – 3,52 рублей за 1 КВт за 180 часов работы составили 69,69 рублей. Расчет амортизационных отчислений по компьютерной технике вычислялся исходя из нормы амортизации, установленной в зависимости от нормативного срока использования компьютерной техники. Для стационарного компьютера предполагаемый срок использования 5 лет, а процент амортизационных отчислений в год составил 20%. Первоначальная стоимость компьютера устанавливалась исходя из средней стоимости с учетом расходов на доставку, установку и монтаж (33200 рублей), а годовой фонд рабочего времени в часах, исходя из нормы рабочего времени на 2016 год (1974 час). Расчет амортизационных отчислений вычислялся по формуле 3.9: С * П АО АО n * Фср ,(3.9) Фг 54
где C п – первоначальная стоимость компьютера; П АО – процент амортизационных отчислений в год; Фг – годовой фонд рабочего времени в часах за 2016 год; Фср – среднемесячный фонд рабочего времени. Таким образом, амортизационные отчисления составили 717,36 рублей. На основе произведенных расчетов по отдельным статьям калькуляции была составлена таблица 10. Таблица 10 – Калькуляция себестоимости № Наименование статей затрат 1 Затраты на оплату труда работников − 2 − Отчисления на социальные нужды 3 Накладные расходы 4 Амортизационные отчисления 5 Электроэнергия Итого: В третьем Сумма (руб.) 32550,00 9765,00 33,200 717,36 69,69 76302,05 разделе была описана программная реализация интерактивного сайта. Было описано создание базы данных для сайта. Описан процесс создания интерфейса для программного обеспечения. Дана оценка экономической эффективности от внедрения программного продукта в региональное всероссийского добровольное пожарное общество 55
ЗАКЛЮЧЕНИЕ В ВКР был произведён анализ деятельности ООО «ВДПО», и всего комплекса в целом для последующей автоматизации; была выполнена разработка Web- представительства ООО «ВДПО». После выполненного анализа и разработки можно утверждать, что внедрение Web- представительств разрешает не только упростить процедуру оформления заявки, но также за счёт сайта делаются информационые проблемы, например, написания новых артикулов, данные которые будет сразу же отображаться на сайте, на странице спецификация, ещё один плюс — это Windows- приложение, упрощающее работу менеджеров. Все эти следствия приводят к слаженной работе сотрудников компани и в несколько раз поднимает эффективность функционирования предприятия в целом. В процессе написания Web-представительства был создан сайт OOO «ВДПО», позволяющий после прохождения процедуры регистрации в личном кабинете, оформлять заявку путем добавления в корзину нужных артикулов, после оставления заявки клиентом в Windows – приложении, высветится заказ, которому будет присвоен номер, и назначен менеджер. В заключении ВКР можно сказать что в разработанном Webпредставительстве удачно сочетается интерфейс сайта с его функциональностью и простотой использования. Разработана максимально удобная и доступная работа потенциального клиента. Система не внедрена в деятельность ВДПО, но на финальном этапе разработки была проведена апробауия Web-сайта. В систему вводилиь сразличные данные т выполнялись запросы к системе максимально приближенные к реальным . В итоге апрбация показала работоспособность Web-сайта. Поэтому можно утверждать что цели и задачи ВКР работы были выполнены полностью 56
СПИСОК ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ 1 Гутманс Э PHP 5. Профессиональное программирование. [Текст]/ Гутманс Э., Баккен С., Ретанс Д. Пер. с англ. – СПб. Символ-Плюс, 2006. – 704 с., ил. 2 Д. Кренке Теория и практика построения баз данных. [Текст]/ Д. Кренке 9-е изд. Изд.: ПИТЕР – 2005г-859с. 3 Дубейковский В. И. Эффективное моделирование с AllFusion Process Modeler. [Текст]/ Дубейковский В. И. Москва: Диалог-МИФИ, 2007. – 384 с. 4 Дэвис Е.М Изучаем PHP и MySQL. [Текст]/ Дэвис Е.М., Филлипс Дж. А. Пер. с англ. – СПб: Символ-Плюс, 2008. – 448 с., ил. 5 Евсеев Г.А.,. Windows XP: Полный справочник в вопросах и ответах. [Текст]/ Евсеев Г.А., Симонович С.В. Москва: Изд-во Самиздат, 2008. - 469 с. 6 Калина А.В. Организация и оплата труда в условиях рынка (аспект эффективности): [Текст]/ Калина А.В. Учебно-методическое пособие. Калина А.В. К.: МАУП, 1997. - 300 с 7 Макарова, Н. В, Николайчук Г.С. и др. Информатика: Учебное пособие. [Текст]/ Волкова И. В., Макарова Н. В. Санкт-Петербург: ПитерПресс, 2006. – 432 с. 8 Мамыкин А.А. Стратегия и тактика маркетинга в Интернет// Маркетинг в России и за рубежом. [Текст]/ Мамыкин А.А. – 2000. – № 2. 9 Маторин С. И. Информационные системы: Учеб. -метод. пособие. [Текст]/ Маторин С. И. Зимовец О.А.;– Белгород: Изд-во БелГУ, 2005. – 261 с. 10 Мейер Э. CSS – каскадные таблицы стилей. Подробное руководство, 3-е издание. [Текст]/ Мейер Э. – Пер. с англ. – СПб.: СимволПлюс, 2008. – 576 с., ил. 11 Михелёв В.М. Базы данных и СУБД: учебное пособие. [Текст]/ Михелёв В.М. – Белгород: Изд-во БелГУ, 2007 г. – 200 с. 57
12 Муромцев В.В. Проектирование информационных систем: Учеб.метод пособие. [Текст]/ Муромцев В.В. – Белгород: Изд-во БелГУ, 2007.160 с. 13 Ойнер О.К., Попов Е.В. Виртуальный маркетинг и его применение на отечественных предприятиях// Маркетинг в России и за рубежом [Текст]/ Ойнер О.К., Попов Е.В. –2000.–№5. 14 Оптимизация бизнес-процессов. Документирование, анализ, управление, оптимизация: [Текст]/ Учебник/ Джеймс Харрингтон, К. С. Эсселинг, Харм Ван Нимвеген- БМикро, Азбука,2002г. 15 Петюшкин А. В.html Экспресс - курс / Петюшкин А.В. [Текст]/ Петюшкин А. - СПБ.: БХВ-Петербург, 2003, - 256 с. ил. 16 Пименов Ю.С. Использование Интернет в системе маркетинга// Маркетинг в России и за рубежом. [Текст]/ Пименов Ю.С. – 2010. – № 1. 17 Рамел Д.А. Joomla! . [Текст]/ Рамел Д.А Пер. с англ. С. Пб.:BHV, 2008. -572 с 18 Рублевская Ю.В Моделирование бизнеса в Интернет-среде // Маркетинг в России и за рубежом. [Текст]/ Рублевская Ю.В ., Попов Е.В.., Попов Е.В. – 2001. – № 2. 19 С.В. Маклаков BPwin и ERwin. CASE - средства разработки информационных систем. [Текст]/ С.В. Маклаков Изд.: "Диалог-Мифи" – 1999г-295 с 20 Самоучитель MySQL 5. М.В. Кузнецов, И.В. [Текст] – М.В. Кузнецов, И.В. Симдянов.СПб.: БХВ-Петербург, 2007. – 560 с.: ил. 21 Степанов А. Н. Информатика: Учебник для вузов. [Текст]/ Степанов А. Н. – Санкт-Петербург: Питер, 2010. – 720 с. 22 Титоренко Г.А. Информационные технологии управления. [Текст]/ Титоренко Г.А. - М.: ЮНИТИ-ДАНА, 2003 г. 23 Торрес Р. Дж. Практическое руководство по проектированию и разработке пользовательского интерфейса. [Текст]/ Торрес Р. Дж. - СПб.: Вильямс, 2002. - 400 с. 58
24 Горнаков С.Г. Осваиваем популярные системы управления сайтом [Текст]/ Горнаков С.Г. - Изд-во ДМК-Пресс, 2009 г. 25 Флэнаган Д. JavaScript. Подробное руководство, 5-е издание. [Текст]/ Флэнаган Д. – Пер. с англ. – СПб: Символ-Плюс, 2008. – 992 с. 26 Хаген Граф Учебник по популярной CMS Joomla: Создание сайта с помощью Joomla 1.5.- [Текст]/ Хаген Граф Изд-во Вильямс, 2011 – 304 с. 27 Яковлев А.В. Способы продвижения в сети Интернет./ Маркетинг в России и за рубежом, [Текст]/ Яковлев А.В. № 3(54), 2008. 28 Официальный сайт «PHP » [Электронный ресурс]. Режим доступа: http://www.php.net/, свободный. 29 Официальный сайт «wikipedia.org» [Электронный ресурс]. Режим доступа: http://ru.wikipedia.org, свободный. 30 Официальный сайт «Веб Стайл» [Электронный ресурс]. Режим доступа: http://webstyle.ru/, свободный 31 Официальный [Электронный ресурс]. сайт Режим «Критерии доступа: оценки web-сайтов» http://www.seoc.ru/ocenka/, свободный. 32 Официальный сайт «Критерии оценки web-сайтов» [Электронный ресурс]. Режим доступа: http:// top100.rambler.ru/, свободный 59
ПРИЛОЖЕНИЕ Код PHP страницы reg.php <?php include_once('./config.php'); $page_title = 'регистрация нового пользователя'; $page_header = 'Регистрация нового пользователя'; @$act = $_GET['action']; @$login = trim($_POST['user_name']); @$pass1 = md5(trim($_POST['pass1'])); @$pass2 = md5(trim($_POST['pass2'])); @$email = trim($_POST['email']); @$fio = trim($_POST['fio']); @$phone = trim($_POST['phone']); $org = trim($_POST['org']); $reg_form = '<form method="POST" action="?action=reg"> <table style="border: none;"> <tr> <td style="border: none;"><b>Логин:</b></td> <td style="border: none;"><b><input type="text" name="user_name" value="'.$_POST['login'].'"></b></td> </tr> <tr> <td style="border: none;"><b>Пароль:</b></td> <td style="border: none;"><b><input type="password" name="pass1"></b></td> </tr> <tr> <td style="border: none;"><b>Пароль еще раз:</b></td> <td style="border: none;"><b><input type="password" name="pass2"></b></td> </tr> <tr> <td style="border: none;"><b>Email:</b></td> <td style="border: none;"><b><input type="text" name="email" value="'.$_POST['email'].'"></b></td> </tr> <tr> <td style="border: none;"><b>Контактное лицо:</b></td> <td style="border: none;"><b><input type="text" name="fio" value="'.$_POST['fio'].'"></b></td> </tr> <tr> <td style="border: none;"><b>Контактный телефон:</b></td> <td style="border: none;"><b><input type="text" name="phone" value="'.$_POST['phone'].'"></b></td> </tr> <tr> <td style="border: none;"><b>Название организации:</b></td> <td style="border: none;"><b><textarea rows="5" cols="50" name="org">'.$_POST['org'].'</textarea></b></td> </tr> <tr> <td colspan="2" align="center" style="border: none;"><input type="submit" name="reg" value="Зарегистрироваться"> <input type="reset" name="res_form" value="Очистить"></td> </tr> </table> </form>'; if (isset($_POST['reg'])) 60
{ if ($act == 'reg') { if ($pass1 != $pass2) { $content = '<h2 style="color: red;">Введенные пароли не совпадают!<br>Попробуйте ввести их снова.</h2>'; $content .= $reg_form; } else { $sql = "EXECUTE PROCEDURE CUSTOMER_INS('$login','$pass1', NULL, '$email','$phone', '$fio', '$org')"; //echo $sql; $q = exec_sql($sql,$sql); $content = '<h3>Поздравляем! Вы успешно зарегистрировались. Теперь Вы можете войти под своими учетными данными!</h3>'; $content .=$auth; } } } else { $content .= $reg_form; } include_once('./tpl/index.html'); ?> Код PHP страницы price.php <?php include_once('./config.php'); $page_title = 'Прайс лист'; $page_header = 'Прайс'; @$act = $_GET['action']; @$id_good = (int)$_POST['id_good']; @$count_g = trim($_POST['count_g']); @$success = $_GET['success']; @$code = $_GET['code']; switch ( @$_POST['order'] ) { case 1: { $order = 'ID_GOODS'; break;} case 2: { $order = 'NAME_GOODS'; break; } case 3: { $order = 'NAME_UNITS'; break; } default: $order = 'ID_GOODS'; } if ( isset($_POST['desc']) ) { if ( $_POST['desc']=='DESC' ) { $desc = 'DESC'; } } $q = exec_sql('SELECT * FROM GET_GOODS_INFO ORDER BY '.$order.' '.@$desc.';',$link); 61
$content = "<h3> Цена на все товары является договорной. Чтобы уточнить цену на представленные товары, свжитесь с нами по телефонам (4722) 52-90-90 или +7920-561-75-23</h3>"; @$content .= '<table width="100%" align="center"> <tr> <td><b>№</b></td> <td><b>Название</b></td> <td><b>Единица измерения</b></td> '; if(USER_LOGGED) { if(!check_user($UserID)) { logout(); } $content .='<td>Количество</td> <td>Выбрать</td> </tr>'; $colspan = 5; } else { $content .= '</tr>'; $colspan = 3; } if(USER_LOGGED) { if(!check_user($UserID)) { logout(); } while ( $tmp = ibase_fetch_assoc($q) ) { $content .= '<tr> <form action="basket.php?action=to_cart" method="POST"> <td>'.$tmp['ID_GOODS'].'</td> <td>'.$tmp['NAME_GOODS'].'</td> <td>'.$tmp['NAME_UNITS'].'</td> <td><input type="text" name="count_g"></td> <td><input type="submit" name="sbt" value="В корзину"></td> <input type="hidden" name="id_good" value="'.$tmp['ID_GOODS'].'"> </form> </tr>'; } $content .= '<tr> <td colspan="'.$colspan.'"> <form action="" method="POST"> <center> <b>Сортировать по:</b> <select name="order" onchange="this.form.submit();"> <option value="0">Выберите пункт сортировки...</option> <option value="1">по номеру</option> <option value="2">по названию</option> <option value="3">по единицам измерения</option> </select> <b>По убыванию:</b> <input type="checkbox" name="desc" value="DESC"> </center> </form>'; $content .= '</table>'; 62
} else { while ( $tmp = ibase_fetch_assoc($q) ) { $content .= '<tr> <td>'.$tmp['ID_GOODS'].'</td> <td>'.$tmp['NAME_GOODS'].'</td> <td>'.$tmp['NAME_UNITS'].'</td> </tr>'; } $content .= '<tr> <td colspan="'.$colspan.'"> <form action="" method="POST"> <center> <b>Сортировать по:</b> <select name="order" onchange="this.form.submit();"> <option value="0">Выберите пункт сортировки...</option> <option value="1">по номеру</option> <option value="2">по названию</option> <option value="3">по единицам измерения</option> </select> <b>По убыванию:</b> <input type="checkbox" name="desc" value="DESC"> </center> </form>'; $content .= '</table>'; } include_once('./tpl/index.html'); ?> Код PHP страницы orders.php <?php include_once('./config.php'); $page_title = 'Ваши заказы'; $page_header = 'Ваши заказы'; @$act = $_GET['action']; @$id_customer = (int)$_GET['uid']; @$name_s = trim($_POST['name_s']); @$price_s = (int)$_POST['price_s']; @$man = trim($_POST['man']); @$oid = (int)$_GET['oid']; $sql = "select orders.id_orders, payment.name_payment, order_status.name_o_s, staff.fio as manager from orders, payment, order_status, staff, customer where orders.id_payment = payment.id_payment and orders.id_o_s = order_status.id_o_s and orders.id_staff = staff.id_staff and orders.id_customer = customer.id_customer and orders.id_customer = $id_customer;"; $q = exec_sql($sql,$link); if(USER_LOGGED) 63
{ if(!check_user($UserID)) { logout(); } if($act == 'del') { $sql = "DELETE FROM ORDERS WHERE ORDERS.ID_ORDERS='$oid'"; $q = exec_sql($sql, $link); $content = '<h3>Заказ № '.$oid.' удален!</h3>'; header('Location: price.php'); } else { @$content .= '<table width="100%" align="center"> <tr> <td><b>№</b></td> <td><b>Статус оплаты</b></td> <td><b>Статус заказа</b></td> <td><b>Менеджер</b></td> <td><b>Удалить</b></td> </tr> '; while ( $tmp = ibase_fetch_assoc($q) ) { $content .= '<tr> <td><a href="details.php?oid='.$tmp['ID_ORDERS'].'">'.$tmp['ID_ORDERS'].'</a></td> <td>'.$tmp['NAME_PAYMENT'].'</td> <td>'.$tmp['NAME_O_S'].'</td> <td>'.$tmp['MANAGER'].'</td> <td><a href="orders.php?oid='.$tmp['ID_ORDERS'].'&action=del">Удалить</a></td> </tr>'; $i++; } $content .= '</table>'; if ($i<1) { $content = '<h3>У Вас еще пока нет заказов</h3>'; } else { $content .= '<h3 align="center" style="color:green;">У Вас '.getEndOfWord($i).'.</h3>'; } } } else { $auth = $auth; } include_once('./tpl/index.html'); ?> Код PHP страницы info.php <?php include_once('./config.php'); $page_title = 'Ваши заказы'; $page_header = 'Ваши заказы'; 64
@$act = $_GET['action']; @$email = trim($_POST['email']); @$fio = trim($_POST['fio']); @$phone = trim($_POST['phone']); $org = trim($_POST['org']); if(USER_LOGGED) { if(!check_user($UserID)) { logout(); } if ($act == 'edit') { $sql = "UPDATE CUSTOMER SET EMAIL='$email',PHONE='$phone', FIO='$fio', ORG='$org' WHERE ID_CUSTOMER='$UserID';"; $q = exec_sql($sql, $link); header('Location: info.php'); } else { $sql = "SELECT * FROM CUSTOMER WHERE CUSTOMER.ID_CUSTOMER='$UserID'"; $q = exec_sql($sql,$link); $tmp = ibase_fetch_assoc($q); $content .= ' <form method="POST" action="?action=edit"> <table style="border: none;"> <tr> <td style="border: none;"><b>Email:</b></td> <td style="border: none;"><b><input type="text" name="email" value="'.$tmp['EMAIL'].'"></b></td> </tr> <tr> <td style="border: none;"><b>Контактное лицо:</b></td> <td style="border: none;"><b><input type="text" name="fio" value="'.$tmp['FIO'].'"></b></td> </tr> <tr> <td style="border: none;"><b>Контактный телефон:</b></td> <td style="border: none;"><b><input type="text" name="phone" value="'.$tmp['PHONE'].'"></b></td> </tr> <tr> <td style="border: none;"><b>Название организации:</b></td> <td style="border: none;"><b><textarea rows="5" cols="50" name="org">'.$tmp['ORG'].'</textarea></b></td> </tr> <tr> <td colspan="2" align="center" style="border: none;"><input type="submit" name="reg" value="Сохранить изменения"> <input type="reset" name="res_form" value="Очистить"></td> </tr> </table> </form>'; } } else { $auth = $auth; } 65
include_once('./tpl/index.html'); ?> Код PHP страницы details.php <?php include_once('./config.php'); $page_title = 'Ваши заказы'; $page_header = 'Ваши заказы'; @$act = $_GET['action']; @$id_order = (int)$_GET['oid']; @$name_s = trim($_POST['name_s']); @$price_s = (int)$_POST['price_s']; @$man = trim($_POST['man']); $sql = "select goods.name_goods, orders_goods.count_g, units.name_units from goods, orders_goods, units where orders_goods.id_goods = goods.id_goods and goods.id_unit = units.id_units and orders_goods.id_orders = $id_order;"; $q = exec_sql($sql,$link); if(USER_LOGGED) { if(!check_user($UserID)) { logout(); } $content .= '<h3>Состав заказа № '.$id_order.'</h3>'; @$content .= '<table width="100%" align="center"> <tr> <td><b>Наименование товара</b></td> <td><b>Количество</b></td> <td><b>Единица измерения</b></td> </tr> '; while ( $tmp = ibase_fetch_assoc($q) ) { $content .= '<tr> <td>'.$tmp['NAME_GOODS'].'</td> <td>'.$tmp['COUNT_G'].'</td> <td>'.$tmp['NAME_UNITS'].'</td> </tr>'; $i++; } $content .= '</table>'; if ($i<1) { $content = '<h3>Заказ пуст</h3>'; } } else { $auth = $auth; } include_once('./tpl/index.html'); 66
?> Код PHP страницы contract.php <?php include_once('./config.php'); $page_title = 'Договор'; $page_header = 'Образец договора'; $content = 'На данной странице Вы можете <a href="./docs/contract.doc">скачать образец договора</a>.'; include_once('./tpl/index.html'); ?> Код PHP страницы contacts.php <?php include_once('./config.php'); $page_title = 'Контакты'; $page_header = 'Контактная информация'; $content = '<h1>Контакты</h1> <b>Наименование:</b> ООО Филком <br> <b>Фактический адрес: </b> Российская Федерация, 308034, г. Белгород, ул. Щорса, д. 34 А, кв. 225 <br> <b>Директор:</b> Таволжанская Елена Николаевна <br> <b>Телефон:</b> (4722) 52-90-90, +7-920-561-75-23 <br> <b>email:</b> elena_020@mail.ru <br><br> <h3>Информация для расчетов</h3> <b>Расчетный счет:</b> 40702810300440000126 <br> <b>Корреспондентский счет:</b> 30101810700000000800 <br> <b>БИК:</b> 041403800 <br><br> '; include_once('./tpl/index.html'); ?> Код PHP страницы config.php <?php session_start(); $i = 0; $host = 'localhost:D:\\DB\\SHUGAR.FDB'; $user = 'SYSDBA'; $pass = 'masterkey'; $link = ibase_connect($host, $user, $pass,'WIN1251'); if ( !$link ) { die('<h1 style="color:red;">Can\'t connect to FireBird! :\'( </h1><br>'.ibase_errcode().'<br>'.ibase_errmsg()); } function exec_sql ($query,$link) { $trans = ibase_trans($link); if ( !$trans ) { die('<h1 style="color:red;">Can\'t open transaction!</h1><br>'.ibase_errcode().'<br>'.ibase_errmsg()); } $q = ibase_query($link,$query); if ( !$q ) { die('<h1 style="color:red;">Can\'t execute query!</h1><br>'.ibase_errcode().'<br>'.ibase_errmsg()); } 67
$commit_trans = ibase_commit($trans); return $q; } /* function get_man ($n,$link) { $out = '<select name="man">'; $q = exec_sql('SELECT * FROM MANUFACTURER;',$link); while ( $tmp = ibase_fetch_assoc($q) ) { if ( $tmp['ID_M'] == $n ) { $out .= '<option value="'.$tmp['ID_M'].'" selected>'.$tmp['NAME_M'].'</option>'; } else {$out .= '<option value="'.$tmp['ID_M'].'">'.$tmp['NAME_M'].'</option>'; } } return $out; } */ function getEndOfWord ($number) { $text = ""; $words = Array(); $words[0] = $number." заказов"; $words[1] = $number." заказа"; $words[2] = $number." заказ"; $words[3] = "Нужно вводить число, а не строку!"; /******Проверяем остаток от деления числа******/ $res100 = (int)$number%100; $res10 = (int)$number%10; /******Определяем что нужно выводить******/ if ( $res100 >=5 && $res100 <=20 ){ $text = 0; } else if ( $res10 == 0 ){ $text = 0; } else if ( $res10 >=2 && $res10 <=4 ){ $text = 1; } else if ( $res10 >=5 && $res10 <=9 ){ $text = 0; } else if ( $res10 == 1 ){ $text = 2; } else { /******Выводим результат, если введено не число******/ $text = 3; } return $words[$text]; } $auth = '<h1>Вход</h1> <form action="" method="POST" class="searchform"> <p> 68
<label>Логин</label> <input name="user" class="textbox" type="text" /> </p> <p> <label>Пароль</label> <input name="pass" class="textbox" type="password" /> </p> <p> <input name="login" class="button" value="Войти" type="submit" /> <input name="res_form" class="button" value="Очистить" type="reset" /> </p> <p> <br> <hr> <a href="./reg.php" style>Регистрация</a> </p> </form>'; define('USERS_TABLE','CUSTOMER'); define('SID',session_id()); function logout() { unset($_SESSION['ID_CUSTOMER']); //Удаляем из сессии ID пользователя die(header('Location: '.$_SERVER['PHP_SELF'])); } function login($username,$password) { $password = md5($password); $result = exec_sql($link, "SELECT * FROM ".USERS_TABLE." WHERE CUSTOMER.USERNAME='$username' AND CUSTOMER.PWD='$password';"); $USER = ibase_fetch_assoc($result,1); //Генерирует удобный массив из результата запроса if(!empty($USER)) { //Если массив не пустой (это значит, что пара имя/пароль верная) $_SESSION = array_merge($_SESSION,$USER); //Добавляем массив с пользователем к массиву сессии exec_sql($link, "UPDATE ".USERS_TABLE." SET CUSTOMER.SID='".SID."' WHERE CUSTOMER.ID_CUSTOMER='".$USER['ID_CUSTOMER']."';"); return true; } else { return false; } } function check_user($uid) { $result = exec_sql($link, "SELECT CUSTOMER.SID FROM ".USERS_TABLE." WHERE CUSTOMER.ID_CUSTOMER='$uid';"); $sid = ibase_fetch_assoc($result); return $sid['SID']==SID ? true : false; } if(isset($_SESSION['ID_CUSTOMER'])) { //Если была произведена авторизация, то в сессии есть uid //Константу удобно проверять в любом месте скрипта define('USER_LOGGED',true); //Создаём удобные переменные //Все поля таблицы пользователей записываются в сесси (см. стр. 35-37) //Таким образом, после добавления нового поля в таблицу надо дописть лишь одну строку $UserName = $_SESSION['FIO']; $UserPass = $_SESSION['PWD']; 69
$UserID = $_SESSION['ID_CUSTOMER']; } else { define('USER_LOGGED',false); } ##Действия при попытке входа if (isset($_POST['login'])) { if(get_magic_quotes_gpc()) { //Если слеши автоматически добавляются $_POST['user']=stripslashes($_POST['user']); $_POST['pass']=stripslashes($_POST['pass']); } $user = $_POST['user']; $pass = $_POST['pass']; if(login($user,$pass)) { header('Refresh: 2'); $content = '<h3 style="color: green;">Вы успешно авторизировались!</h3>'; $page = include_once('./tpl/auth.html'); die($page); } else { header('Refresh: 1;'); $content = '<h3 style="color: red;">Введена неверна пара логин/пароль!<br>Попробуйте войти снова, или <a href="./reg.php">зарегистрируйтесь</a>.</h3>'; $page = include_once('./tpl/auth.html'); die($page); } } ##Действия при попытке выхода if(isset($_GET['logout'])) { logout(); } if(USER_LOGGED) { if(!check_user($UserID)) { logout(); } $auth = '<h3>Здравствуйте, '.$UserName.'!</h3>'; $sql = "SELECT COUNT(*) as col FROM ORDERS WHERE ORDERS.ID_CUSTOMER='$UserID'"; $q = exec_sql($sql, $link); $tmp = ibase_fetch_assoc($q); $auth .= '<hr><a href="orders.php?uid='.$UserID.'">Заказы('.$tmp['COL'].')</a><br>'; $sql = "SELECT COUNT(*) as col FROM BASKET WHERE BASKET.ID_CUSTOMER='$UserID'"; $q = exec_sql($sql, $link); $tmp = ibase_fetch_assoc($q); $auth .= '<a href="basket.php?uid='.$UserID.'">Корзина ('.$tmp['COL'].')</a><br>'; $auth .= '<a href="info.php">Личная информация</a><br><hr>'; $auth.= '<h3><a href="?logout">Выход</a></h3>'; } else { $auth = $auth;} ?> Код PHP страницы basket.php <?php 70
include_once('./config.php'); $page_title = 'Ваша корзина'; $page_header = 'Ваша корзина'; @$act = $_GET['action']; @$id_customer = (int)$_GET['uid']; @$id_good = (int)$_POST['id_good']; @$count_g = (int)$_POST['count_g']; $sql = "select basket.id_basket, goods.name_goods, basket.count_b, units.name_units from goods, basket, units where basket.id_goods = goods.id_goods and goods.id_unit = units.id_units and basket.id_customer = $id_customer;"; $q = exec_sql($sql,$link); if(USER_LOGGED) { if(!check_user($UserID)) { logout(); } switch ($act) { case 'add': { if (isset($_POST['ch'])) { if(isset($_POST['create_order'])) { $time = time(); $time = (string)$time; $time = md5($time); $sql = "INSERT INTO ORDERS (ID_ORDERS, ID_PAYMENT, ID_O_S, ID_STAFF, ID_CUSTOMER, ORDER_DATE) VALUES (null, 1, 1, 1, $UserID, '$time');"; $q = exec_sql($sql, $link); if (!$q) { $content = '<h3>Невозможно создать заказ</h3>'; } $ch = $_POST['ch']; $i = 0; $sql = "SELECT * FROM ORDERS WHERE ORDERS.ID_CUSTOMER = '$UserID' AND ORDERS.ORDER_DATE = '$time'"; $ord = ibase_fetch_assoc(exec_sql($sql, $link)); foreach ($ch as $id_basket) { $sql = "SELECT * FROM BASKET WHERE BASKET.ID_BASKET = '$id_basket'"; $q = exec_sql($sql, $link); $tmp = ibase_fetch_assoc($q); $sql = "INSERT INTO ORDERS_GOODS (ID_O_G, ID_GOODS, ID_ORDERS, COUNT_G) VALUES (null, ".$tmp['ID_GOODS'].", ".$ord['ID_ORDERS'].", '".$tmp['COUNT_B']."');"; $q = exec_sql($sql,$link); $sql = "DELETE FROM BASKET WHERE BASKET.ID_BASKET = '$id_basket'"; $q = exec_sql($sql, $link); } $content = '<h3>Заказ <a href="details.php?oid='.$ord['ID_ORDERS'].'">№ '.$ord['ID_ORDERS'].'</a> успешно создан!</h3>'; header("Location: orders.php?uid=".$UserID); 71
} elseif(isset($_POST['del_cart'])) { $ch = $_POST['ch']; foreach ($ch as $id_basket) { $sql = "DELETE FROM BASKET WHERE BASKET.ID_BASKET = '$id_basket'"; $q = exec_sql($sql, $link); } $content = '<h3>Выбранные элементы успешно удалены</h3>'; header("Location: basket.php?uid=".$UserID); } else { $content = '<h3>Вы не выбрали ниодного элемента</h3>'; } } break; } case 'to_cart': { $sql = "INSERT INTO BASKET (ID_BASKET, ID_GOODS, ID_CUSTOMER, COUNT_B) VALUES (NULL, $id_good, $UserID, $count_g)"; $q = exec_sql($sql, $link); $content = '<h3>Данные добавлены!</h3>'; header('Location: price.php'); break; } default: { @$content .= '<form action="?action=add" method="POST"> <table width="100%" align="center"> <tr> <td><b>Наименование товара</b></td> <td><b>Количество</b></td> <td><b>Единица измерения</b></td> <td><b>Выбрать</b></td> </tr> '; while ( $tmp = ibase_fetch_assoc($q) ) { $content .= '<tr> <td>'.$tmp['NAME_GOODS'].'</td> <td>'.$tmp['COUNT_B'].'</td> <td>'.$tmp['NAME_UNITS'].'</td> <td><input type="checkbox" name="ch[]" value="'.$tmp['ID_BASKET'].'"> </tr>'; $i++; } $content .= '<tr><td colspan="4" align="center"><input type="submit" name="create_order" value="Создать заказ"> <input type="submit" name="del_cart" value="Удалить выбранные"> </td></tr>'; $content .= '</table></form>'; if ($i<1) { $content = '<h3>Ваша корзина пуста</h3>'; } } } } 72
else { $auth = $auth; } include_once('./tpl/index.html'); ?> Рисунок 1 - главная страница 73
Рисунок 2 - Прайс лист Рисунок 3 – Корзина 74
Рисунок 3 – Контакты 75
Выпускная квалификационная работа выполнена мной совершенно самостоятельно. Все использованные в работе материалы и концепции из опубликованной научной литературы и других источников имеют ссылки на них. «___» ________________ _____ г. ____________________ (подпись)(Ф.И.О.) _________________ 76
Отзывы:
Авторизуйтесь, чтобы оставить отзыв