Информационная система обслуживания торговых автоматов

Заказать уникальную дипломную работу
Тип работы: Дипломная работа
Предмет: Программирование
  • 108108 страниц
  • 16 + 16 источников
  • Добавлена 16.07.2014
3 000 руб.
  • Содержание
  • Часть работы
  • Список литературы
  • Вопросы/Ответы
Содержание
Введение 6
1. Научно-исследовательская часть 6
1.1 Анализ имеющихся аналогов автоматизированных систем управления информацией и их составных частей 6
1.2 Разработка архитектуры системы 6
1.3 Выбор программных технологий 6
1.3.1 Выбор СУБД 6
1.3.2 Выбор языка программирования 6
2. Проектно-конструкторская часть 6
2.1 Проектирование состава системы 6
2.2 Проектирование структуры модулей и их функций 6
2.2.1 Проектирование структуры программы 6
2.2.2 Проектирование пользовательского интерфейса 6
2.3 Проектирование модели данных 6
3. Технологическая часть 6
3.1 Разработка технологии обработки документов в системе 6
3.2 Разработка технологии модификации базы данных 6
3.3 Разработка руководства пользователя, руководства администратора системы 6
3.3.1 Руководство по установке 6
3.3.2 Руководство пользователя 6
4 Расчет трудоемкости разработки информационной системы обслуживания торговых автоматов. 6
4.1 Определение числа исполнителей 6
4.2 Сетевой график выполнения работ 6
4.3 Календарный график выполнения проекта 6
4.4 Структура затрат 6
4.4.1 Затраты на заработную плату 6
4.4.2 Затраты на накладные расходы 6
4.4.3 Затраты на расходные материалы 6
4.4.4 Затраты на амортизацию оборудования 6
4.5 Расчет стоимости владение и прогнозирование прибыли 6
4.6 Выводы 6
5. Охрана труда и экология 6
5.1 Анализ вредных и опасных факторов при работе с ЭВМ и мобильным устройством. 6
5.2 Расчёт зануления ПЭВМ 6
5.3 Оценка энергоэффективности освещения. 6
Заключение 6
Список использованных источников 6
Приложения 6
Приложение 1 Техническое задание 6
Приложение 2 Руководство пользователя 6
Приложение 3 Исходный код процедуры анализа 6
Приложение 4 Графические материалы 6

Фрагмент для ознакомления

Номинальный ток плавкой вставки указан непосредственно на ней заводом-изготовителем. Значения стандартных предохранителей для сетей напряжением 220 и 380 В приведены в таблице 5.5:Таблица 5.5 – Значения для некоторых типов предохранителейТип предохранителя, АТип предохранителя, А ИПИ 156, 10, 15ПН2-400200, 250, 300, 350, 400НПН 60М20, 25, 35, 45, 60ПН2-600300, 400, 500, 600ПН2-10030, 40, 50, 60, 80, 100ПН2-1000500, 600, 750, 800, 1000ПН2-25080, 100, 120, 150, 200, 250При защите сетей автоматическими выключателями, имеющими только электромагнитный расцепитель, проводимость проводников должна обеспечивать ток не ниже уставки тока мгновенного срабатывания, умноженной на коэффициент, учитывающий разброс (по заводским данным), и на коэффициент запаса 1,1. При отсутствии заводских данных для автоматических выключателей с силой номинального тока до 100 А кратность тока короткого замыкания относительно установки следует принимать не менее 1,4, а для автоматических выключателей с силой номинального тока более 100 А - не менее 1,25. Требования к току короткого замыкания соответствуют условию:(5.1)где k— коэффициент кратности номинального тока автоматической защиты (рекомендуемые значения kдля соответствующих видов автоматической защиты приведены в предшествующих абзацах).Сила однофазного тока короткого замыкания , А, без учета тока, проходящего через землю, значение которого незначительно, может быть определена по формуле: (5.2)где - фазное напряжение сети, В; - комплексное полное сопротивление обмоток трехфазного источника тока (трансформатора), Ом; - комплексное сопротивление фазного проводника, Ом; - комплексное полное сопротивление нулевого защитного проводника, Ом; и - активные сопротивления фазного и нулевого защитного проводников, Ом; и - внутренние индуктивные сопротивления фазного и нулевого защитного проводников, Ом; - внешнее индуктивное сопротивление петли фаза - нуль (фазный проводник -нулевой защитный проводник), Ом.Модуль тока короткого замыкания, А, вычисляют по приближенной формуле (неточность около 5 % в сторону ужесточения требований безопасности): (5.3)где и — модули полного сопротивления обмоток источника питания и полного сопротивления цепи фаза — нуль, Ом; причем (5.4)Активное сопротивление цепи фаза — нуль , Ом, для проводников из цветных металлов определяют по формуле: (5.5)где - удельное сопротивление материала -го участка проводника (для меди = 0,0175 Ом·мм2/м, для алюминия = 0,028 Ом·мм2/м); - длина, м, -го участка проводника, имеющего одинаковое поперечное сечение , мм2, и выполненного из одного материала; - число -хучастков, образующих цепь фаза — нуль.Активное Rи внешнее индуктивное сопротивления, Ом, фазного и нулевого защитного проводников из цветных металлов можно определить по погонным сопротивлениям R’ и Х’П, Ом/км (их значения при частоте тока 50 Гц приведены таблице 2) и длине , м: (5.6)Внешнее индуктивное сопротивление , Ом, двухпроводной линии с проводами круглого сечения одинакового диаметра d, м, находят по формуле: (5.7)где f- частота тока, Гц; - абсолютная магнитная проницаемость среды, Гн/м; ; - относительная магнитная проницаемость среды; - магнитная постоянная, Гн/м; ; l- длина линии, м; D - расстояние между проводами линии, м.Таблица 5.6 – Погонное активное и внешнее индуктивное сопротивления, Ом/км, фазных и нулевых защитных проводников при частоте тока 50 ГцПлощадьсечения,мм2проводов илижил кабеляпри 20"С алюминиевых и сталеалюминевыхпроводов ВЛ при среднем расстоянии между проводами, ммпроводов и кабелейМедныхалюминиевыхилисталеалюминевых8001000150020002500провод проложен открытопроводв трубахиликабель101,643,14—————0,310,07161,21,960,3740,3890,4110,480,4420,290,07250,741,270,3620,3760,3980,4070,4170,270,07350,540,910.3490,3640,3880,4040,4120,260,06500,390,630,3390,3540,3770,3950,4090,250,06700,280,450,3290,3430,3670,3850,3990,240,06950,20,330,3180,3320,3550,3740,3890,230,061200,1580,270,3150,3250,3490,3680,3820,220,061500,1230,210,31103150,3440,360,3740,210,061850,1030,170,2980,3110,3390,3550,370,210,062400,0780,131—0,3040,3290,3470,3610,20,063000,0630,105—0,2970,3220,340,3540,190,06Для линии длиной 1 км, проложенной в воздушной среде, при частоте тока 50 Гц: (5.8)В целях уменьшения нулевые защитные проводники следует прокладывать совместно с фазными или в непосредственной близости от них. В приближенных расчетах принимают равным 0,3 Ом/км для внутренней проводки и 0,6 Ом/км для ВЛ (при расстояниях между проводами, соответствующих нормам).Активное и внутреннее индуктивное сопротивления 1 км стальных проводников, в частности нулевого защитного проводника, при некоторых значениях плотности тока частотой 50 Гц приведены в таблице 5.7. Предварительно необходимо задаться профилем и сечением проводника, знать его длину и ожидаемое значение силы тока однофазного короткого замыкания , А. Сечение выбирают из условия, чтобы плотность тока А/мм2.Таблица 5.7 – Погонное активное и внутреннее индуктивное сопротивление Ом/км, стальных проводников при частоте тока 50 ГцРазмеры или диаметр сечения, ммСечение, мм2Ожидаемая плотность тока в проводнике, А/мм20,51,01,52,0Полоса прямоугольного сечения20X4805,243,144,202,523,482,092,971,7830X41203,662,202,911,752,381,432,041,2230X51503,382,032,561,542,081,25——40X41602,801,682,241,341,811,091,540,9250X42002,281,371,791,071.450,871,240,7450X52502,101,261,600,961,280,77——60X53001,771,061,340,81,080,65——Проводник круглого сечения519,6317,010,214,48,6512,47,4510,76.4628,2713,78,2011,26,709,45,658,04,8850,279,605,757,54,506,43,845,33,21078,547,204,325,43,244,22,52——12113,15,603,364,02,40————14150,94,552,733,21,92————16201,13,722,232,71,60————Для приближенных расчетов активное Rcи внутреннее индуктивное Хссопротивления, Ом, стальных проводников также можно определить в зависимости от поверхностной плотности, А/см, тока , где Р - периметр сечения проводника, см. Затем по графикам на рисунке 1 находят приведенные сопротивления и и рассчитывают и : (5.9)где — длина стального проводника, см.Рисунок 5.1 – Зависимость приведенного сопротивления стальных проводников от поверхностной плотности токаВнутреннее индуктивное погонное сопротивление медных и алюминиевых проводников сравнительно мало (около 0,0156 Ом/км), поэтому при их использовании величинами и , можно пренебречь в формуле (40).Модули полных сопротивлений ZTобмоток трехфазных трансформаторов при вторичных напряжениях 400/230 В, приведены в таблице 5.8 для масляных и в таблице 5.9 для сухих трансформаторов. Таблица 5.8 – Приближенные значения полных сопротивлений ZT обмоток масляных трансформаторовМощность трансформатора, кВ∙АНоминальноенапряжениеобмотоквысшегонапряжения,КвZT, Ом, при схеме соединения обмотокМощность трансформатора, кВАНоминальноенапряжениеобмотоквысшегонапряжения,кВZT, Ом, при схеме соединения обмотокY/YHΔ/Гн и Y/ZнY/YНΔ/КН и Y/ZH256-103,1100,9064006-100,1950,056406-101,9490,56220-350,191—636-101,2370,3606306-100,1290,04220-351,1360,40720-350,121—1006-100,7990,22610006-100,0810,02720-350,7640,32720-350,0770,0321606-100,4870,14116006-100,0540,01720-350,4780,20320-350,0510,0202506-100,3120,09020-350,3050,130Таблица 2.9 – Приближенные значения полных сопротивлений ZT обмоток сухих трансформаторовМощностьтрансформатора,кВ∙АСхемасоединенияобмотокZТ, ОмМощностьтрансформатора,кВ∙АСхемасоединенияобмотокZT, Ом160Δ/Yн0,165560Y/YH0,13180Y/YH0,453630Δ/Yн0,042250Δ/Yн0,106750Y/YH0,109320Y/YH0,2541000Δ/Yн0,027400Δ/Yн0,066При использовании трансформаторов со вторичным напряжением , отличным от 230 В, приведенные в таблицах значения ZT необходимо умножить на коэффициент ()2. Рекомендуется применять силовые трансформаторы со схемой включения обмоток «треугольник - звезда» () при мощности 400 кВ∙А и выше и «звезда - зигзаг» () при мощности 250 кВ-А и ниже. Допускается устанавливать силовые трансформаторы со схемой соединения обмоток «звезда - звезда» () независимо от мощности при условии соблюдения требований ПУЭ в отношении кратности тока однофазного короткого замыкания к номинальному току устройств максимальной токовой защиты.Используя приведенные выше расчетные зависимости, с помощью выражения (5.4) определяют ток однофазного короткого замыкания и проверяют выполнение условия (5.1) для выбранных средств автоматической защиты. Если условие (5.1) не выполняется, то необходимо увеличить сечение проводников и в первую очередь нулевого защитного проводника.Будем считать, что цепь фазы и зануления состоит из 4 участков:Алюминиевый провод фазы от трансформатора до распределительного щита в здании длиной 150 м с площадью сечения 30 мм2. Аналогичный провод используется для цепи нуля.Алюминиевый провод от распределительного щита в здании до электрической розетки на рабочем месте оператора ПЭВМ длиной 10 м с площадью сечения 5 мм2. Аналогичный провод используется для цепи нуля.Медный провод питания ПЭВМ от электрической розетки до блока питания длиной 3.5 м с площадью сечения 35 мм2.Медный провод зануления ПЭВМ от корпуса ПЭВМ до нуля в розетке питания длиной 3.5 м с площадью сечения 25 мм2.Рассчитаем активное сопротивление цепи фаза — нуль : Далее, найдем внешнее индуктивное сопротивление , Ом, двухпроводной линии с проводами круглого сечения одинакового диаметра с учетом таблица при расстоянии между проводами в 1 м.Рассчитаем модуль полного сопротивления цепи фаза – нуль:Модуль полного сопротивления обмоток трехфазного масляного трансформатора при вторичных напряжениях 400/230 В найдем из таблица. При этом будем считать, что мощность трансформатора составляет 160 кВ∙А, номинальное напряжение обмоток высшего напряжения 6-10 кВ, а схема трансформатора – «звезда-зигзаг». В этом случае ZT= 0.141 Ом.Тогда ток короткого замыкания будет равенПринимая кратность тока короткого замыкания k=1.5, оцениваем Iном ≤ 320 А. Полученные значения тока короткого замыкания и номинального тока автомата значительно превышают безопасные для человека (и приборов) значения. Поэтому для того чтобы обезопасить человека (а заодно и приборы) вычисление номинальных токов автоматов будем производить исходя из потребляемых приборами токов. Исходя из количества электроприборов, их назначения и мощностей разделяем их на группы. Группы, их мощности и требуемая сила тока представлены в таблице 5.10.Таблица 5.10№ группыНаименованиеСуммарная мощность, ВтТок, А1Освещение60032Розетки+ ПЭВМ (1 шт>) +принтер180093Розетки общего назначения (3шт.)6003Для защиты от опасных токов каждую группу электроприборов необходимо подключать через автоматический выключатель. Розетки общего назначения (3шт.)Исходя из токов групп электроприборов, были выбраны следующие модели автоматических выключателей: 1. освещение - Legrand LR 604802 1P/ 6A (тип С) 2. Розетки+ПЭВМ - Legrand DX 03384 1P/ 10A -1М(тип С) 3. Розетки общего назначения - Legrand DX 03384 1P/ 10A -1М(тип С). Характеристики автоматов представлены в таблицах 2.9, 2.10.Таблица 5.11 – параметры автоматического выключателя Legrand LR 604802 1P/ 6A (тип С)иавтоматического выключателя Legrand DX 033841P/10A-1М(тип С)ПараметрЗНАЧЕНИЕЗначениеПроизводительLegrandLegrandСерияDXLRАРТИКУЛ003384604802ХАРАКТЕРИСТИКА СРАБАТЫВАНИЯССНАПРЯЖЕНИЕ220/400 В220/400 ВНОМИНАЛЬНЫЙ ТОК10 А6 АКОЛИЧЕСТВО ПОЛЮСОВ11КРЕПЛЕНИЕК DIN-рейкеК DIN-РЕЙКЕСЕЧЕНИЕ КАБЕЛЯ25 мм225 ММ2МЕХАНИЧЕСКАЯ ИЗНОСОСТОЙКОСТЬ2000020000Также для обеспечения электробезопасности возможно использование предохранителей ИПИ 15 на 6А и ИПИ 15 на 10 А.5.3 Оценка энергоэффективности освещения.Сегодня наиболее популярными технологическими решениями в сфере освещения являются различные виды современных энергоэффективных ламп:Люминесцентные;Галогеновые;Светодиодные.Люминесцентная лампа— газоразрядный источник света, в котором видимый свет излучается в основном люминофором, который в свою очередь светится под воздействием ультрафиолетового излучения разряда; сам разряд тоже излучает видимый свет, но в значительно меньшей степени. Световая отдача люминесцентной лампы в несколько раз больше, чем у ламп накаливания аналогичной мощности. Срок службы люминесцентных ламп может в 20 раз превышать срок службы ламп накаливания при условии обеспечения достаточного качества электропитания, балласта и соблюдения ограничений по числу включений и выключений. Имеют световую отдачу 60100 лм/Вт.Преимущества люминесцентных ламп:позволяют иметь отличную светоотдачу и цветопередачу, что важно для работы в помещениях; обеспечивают мягкий свет; потребляют мало энергии (на 85% меньше устаревших ламп), при этом обладая длительным сроком эксплуатации. Недостатки люминесцентных ламп:дополнительная утилизация после окончания срока их работы (т.к. они содержат ртуть).Галогеновые лампы производят большее количество света по причине высокой температуры нити накаливания. Ультрафиолетовое излучение при этом уменьшено, что сводит риск выцветания объектов освещения к нулю. В случае необходимости возможно изменение светового потока лампы (диммирование).Новым направлением развития ламп являются IRC-галогенные лампы (сокращение IRC обозначает «инфракрасное покрытие»). На колбы таких ламп наносится специальное покрытие, которое пропускает видимый свет, но задерживает инфракрасное (тепловое) излучение и отражает его назад, к спирали. За счет этого уменьшаются потери тепла и, как следствие, увеличивается эффективность лампы. Потребление энергии снижается до 45 %, а время жизни удваивается (по сравнению с обычной галогенной лампой). IRC-галогенные лампы имеют световую отдачу 1835 лм/Вт.Светодиодная лампа – источник света с использованием сверхъярких светодиодов. Это наиболее перспективный источник света на данный момент, во многом благодаря его энергоэффективности и другим сильным сторонам. Преимущества светодиодов:экономичны (работают от низкого напряжения и не требуют больших затрат энергии (до 75% экономии); имеют практически вечный срок службы — до 100 000 часов горения (при работе 8 часов в день лампа прослужит 35 лет, что в 50200 раз больше по сравнению с массовыми лампами накаливания и в 416 раз больше, чем у большинства люминесцентных ламп);прочны и менее подвержены механическому воздействию (т.к. в них отсутствуют спирали и электроды, которые можно повредить)различны в оттенках цвета, формах и мощности (что, безусловно, расширяет возможности их использования).Для осуществления энергоснабжения предлагается использовать следующие меры:Исполнение освещения в соответствии с действующими нормами, недопущение избытка или недостатка освещенности;Использование энергосберегающих светодиодных ламп, экономия электроэнергии составит до 70% по сравнению с лампами накаливания;Замена пускорегулирующей аппаратуры (ПРА) низкого класса энергоэффективности, на более энергоэффективную ПРА, экономия до 10%;Сегментация контуров освещения, с возможностью выключения как отдельного сегмента, так всего освещения, экономия до 10%.ЗаключениеВ рамках данной выпускной квалификационной работы были проанализированы программные средства, представленные на рынке ПО по обслуживанию торговых автоматов, быливыделены достоинства и недостатки каждой из рассмотренных программ. На основании проведенного анализа были сформулированы требования к разрабатываемой системе, была выбрана архитектура организации системы и средства ее создания.После проектирования структуры программы, пользовательского интерфейса и структуры базы данных была создана информационная система обслуживания торговых автоматов.Разработанное программное средство систематизирует и представляет всю необходимую информацию о товарах и торговых автоматах, импортирует данные о продажах и загрузках в автоматы из специализированных входных документов, составляет маршрутные листы для операторов, обслуживающих торговые автоматы. Кроме того, на основании накопленных данных о продажах система составляет прогнозы о возможных продажах на следующий отчетный период, с помощью которых уменьшаются издержки, связанные с переизбытком, или наоборот, недостатком товара.Также была рассчитана экономическая эффективность внедрения системы, сформулированы правила работы за ПЭВМ.Таким образом, все задачи, которые ставились перед данным дипломным проектом, выполнены, а значит, цель по разработке информационной системы обслуживания торговых автоматов достигнута.Список использованных источниковАнхимюк В.Л., Олейко О.Ф., Михеев Н.Н. «Теория автоматического управления». - М.: Дизайн ПРО, 2009. - 352 с.: ил.Архангельский А. Я. Работа с локальными базами данных в Delphi 5. - М.: ЗАО «Издательство БИНОМ», 2000, 192с.Бесекерский В.А., Попов Е.П. Теория систем автоматического управления. - 4-е изд., перераб. и доп. - СПб.: Профессия, 2010. - 747 с.Барановская Т. П. Информационные системы и технологии в экономике. – М.: Изд-во Финансы и статистика. – 2009, - 416 сБорьба с шумом на производстве: Справочник / Е.Я. Юдин, Л.А. Борисов; Под общ. ред. Е.Я. Юдина - М.: Машиностроение, 1985. - 400с., ил.Глушаков С. Программирование в среде Deiphi 7. – Харьков: Фолио, 2003, 528с.Зинченко В.П. Основы эргономики. - М.: МГУ, 1979. - 179с.КечайкинВ. И. Производство земляных работ «Методические указания на выполнение лабораторных работ по дисциплине “Технология, механизация и автоматизация железнодорожного строительства” Хабаровск, 1999.Культин Н. Deiphi в задачах и примерах. – СПб.: БХВ – Санкт-Петербург, 2003, 288с.Михеева В., Харитонова И. MicrosoftSQLServer. - СПб.: БХВ – Санкт-Петербург, 2004, 1072с.Мотузко Ф.Я. Охрана труда. - М.: Высшая школа, 1989. - 336с.Фаронов В. «Программирование баз данных в Delphi 7»,Издательский дом «Питер», СПб:. 2006 г., 459с.Безопасность жизнедеятельности. /Под ред. Н.А. Белова - М.: Знание, 2000 - 364с.Самгин Э.Б. Освещение рабочих мест. - М.: МИРЭА, 1989. - 186с.СНиП Ш-44-77 Правила производства и приемки работ.Справочная книга для проектирования электрического освещения. / Под ред. Г.Б. Кнорринга. - Л.: Энергия, 1976.ПриложенияПриложение 1Техническое задание1. ВВЕДЕНИЕНа сегодняшний день автоматы по продаже еды самое перспективное направление в вендинге (англ. Vendingот англ. Vend – торговать через автоматы), конкуренцию составляют только различные кафе и фаст-фуды. Потребитель не всегда имеет возможность и время перекусить или пообедать в специально отведенном для этого месте (кафе, столовая), причин для этого существует много, самая основная – нехватка времени. Идеальным решением в данной ситуации являются автоматы по продаже еды. Для размещения такого автомата требуется всего 2 кв.м., розетка и один чаловек обслуживания сети из 10-15 автоматов, в то время как дляоткрытия кафе требуется гораздо больше места, соблюдение множества санитарных норм. Аппарат на сегодняшний день не имеют аналогов, так как с их помощью можно продавать не только готовые обеды, сандвичи и т.р. можно даже продавать и продукты питания, не требующие разогрева, всевозможные салаты и напитки, т.е. автомат практически полностью заменяет кафе. Существует множество мест, где люди не обеспечены питанием или мест обеспечения питанием не достаточно, это всевозможные учебные заведения (ВУЗы, колледжи и т.д.), вокзалы, аэропорты, СТО, бизнес-центры и т.д., поэтому данный бизнес имеет огромные перспективы развития.Одной из проблем в условиях развития вендинговых сетей является снижение затрат на обслуживание и организацию бесперебойной работы сети торговых автоматов. НА современном этапе полная информационная осведомленность о состоянии продаж на текущий момент и возможность быстро получать аналитические данные о собственном бизнесе во многом позволяет повысить конкурентоспособность в отрасли и существенно снизить издержки.В рамках данного технического задания описываются требования к разрабатываемой информационной обслуживания торговых аппаратов. 2. ОБОСНОВАНИЕ ДЛЯ РАЗРАБОТКИИнформационная система обслуживания торговых автоматов разрабатывается по заданию руководителя в соответствии с учебным планом кафедры Компьютерные системы и сети МГТУ им. Н.Э. Баумана.3. НАЗНАЧЕНИЕ РАЗРАБОТКИРазрабатываемая информационная система обслуживания торговый автоматов предназначена для автоматизации:учета продаж, осуществляемых посредством торговых автоматов;учета товаров, поступаемых на склад и в автоматы;контроля срока годности товаров;прогнозирования продаж.4. ИСХОДНЫЕ ДАННЫЕ, ЦЕЛИ И ЗАДАЧИ4.1 Исходные данные4.1.1 Выполняемые функцииИмпорт данных с автоматов;Учет товаров на складе;Составление маршрутных карт;Планирование закупок (на склад);Редактирование цен на товары (обновление цен на автоматах);4.1.2 Исходные данныеИнформация о товарах (название, стоимость, количество, срок годности, партии);Информация об автоматах (Название автомата, модель, производитель, адрес, слоты для товаров, телефон вендора);Информация о продажах (количество проданных товаров, прибыль, место продаже;4.2 Цель работыЦелью работы является снижение затрат и издержек вендорного бизнеса посредством создания информационной системы обслуживания автоматов, упрощающей проведение операций, связанных с контролем количества и качества продаваемой в торговых автоматах продукции, а также проведением аналитических расчетов для составления прогноза продаж и формирования заказов на поставку товаров. 5. ТРЕБОВАНИЯ К ИНФОРМАЦИОННОЙ СИСТЕМЕ5.1 Требования к функциональным характеристикам5.1.1 Выполняемые функции5.1.1.1 Для пользователя:Учет товаров на складе;Импорт данных с автоматов;Планирование закупок на склад;Редактирование цен на товары;Составление маршрутных листов поставок для автоматов;5.1.1.2 Система должна иметь удобный интерфейс, представляющий наиболее гибкий способ редактирования, добавления и удаления данных, а также составления маршрутных карт поставок.5.1.2 Исходные данные:Информация о товарах;Информация об автоматах;Информация о продажах;5.1.3. Результаты: Автоматизированный учет закупок и планирование поставок на склад;Автоматизированный учет продаж товаров;Маршрутные листы поставок для автоматов;Импортирование данных с автоматов;5.2 Требования к надежностиПредусмотреть контроль вводимой информацииПредусмотреть защиту от некорректных действий пользователяОбеспечить целостность информации в базе данных5.3 Требования к составу и параметрам технических средствМинимальные необходимые требования для работы системы: IBM-совместимый персональный компьютер с процессоров IntelCeleron с тактовой частотой 800MHz, 128 МБ оперативной памяти, жесткий диск 1 Gb, печатающее устройство, VGA-совместимый дисплей (рекомендуется SVGA-дисплей)5.4 Требования к информационной и программной совместимостиСистема должна удовлетворять следующим требованиям:Работа под управлением операционной системы Windows ХР или более поздней версии;Хранение информации с использованием СУБД MSSQLServer 2008 и выше;Интеграция с пакетом офисных программ MicrosoftOffice 2003 (или выше) для выгрузки всех выходных документов.5.5 Требования к маркировке и упаковкеТребования к маркировке и упаковке не предъявляются.5.6 Требования к транспортированию и хранениюТребования транспортировке и хранению не предъявляются.6. ТРЕБОВАНИЯ К ПРОГРАММНОЙ ДОКУМЕНТАЦИИ6.1 Программные модулиРазрабатываемые программные модули должны быть самодокументированы, т.е. тексты программы должны содержать все необходимые комментарии6.2 Состав сопровождающей документацииВ состав сопровождающей документации должны входить:Расчетно-пояснительная записка на 60 листах формата А4 (без приложения 1, 2, 3).Техническое задание (Приложение 1).Руководство пользователя (Приложение 2).Графические материалы (Приложение 3).6.3 Состав графической частиГрафическая часть должна быть выполнена на 7 листах формата А1 (копии формата А3, А4 включить в качестве приложения 3 к расчетно-пояснительной записке):Инфологическая схема базы данных – 1л.Диаграмма со схемой базы данных – 1л.Диаграммы в стандарте IDEF0 – 2 л.Диаграмма потоков данных в стандарте DFD – 1 л.Основные формы интерфейса – 1 л.Основные входные и выходные печатные формы – 1л.7. ТЕХНИКО-ЭКОНОМИЧЕСКИЕ ПОКАЗАТЕЛИВыполнить технико-экономическое обоснование разработки.Приложение 2Руководство пользователяПри первом запуске программа запросит настройки для подключения к базе данных:В поле Экземпляр сервера вводим название сервера, на котором мы создали базу данных (например, MIXA-ПК\SQLEXPRESS), в поле База данных вводим имя созданной базы данных (TorgAvt) и жмем ОК. В случае успешного подключения к базе данных пользователю отобразится главная форма информационной системы. Доступ ко всем функциям системы осуществляется через главное меню.Изначально база данных создается пустая. Для демонстрации основных возможностей программы в базу данных были внесены вымышленные данные. Чтобы начать использование системы в полной мере необходимо в первую очередь заполнить таблицы справочники. Для открытия формы работы с таблицами справочниками системы необходимо выбрать пункт Справочники главного меню системы и из списка выбрать необходимый. На рисунке ниже изображена форма для работы со справочником моделей автоматов.Для того, чтобы посмотреть более подробную информацию о каком-то элементе таблицы, необходимо из контекстного меню таблицы выбрать пункт подробнее. Откроется соответствующая форма. Данная форма позволяет не только просматривать данные, но также и корректировать их в случае необходимости.После заполнения базы данных справочной информации необходимо заполнить её и данными об автоматах, для этого существует пункт главного меню Автоматы.Чтобы открыть подробную информацию о выбранном автомате необходимо воспользоваться контекстным меню таблицы. Откроется форма, изображенная на рисунке:Для формирования отчетов используется пункт главного меню отчета. Необходимо выбрать необходимый отчет и в появившемся диалоговом окне нажать на кнопку сформировать, предварительно указав требуемые параметры (доступно не для всех отчетов) Также на данной форме доступна возможность выбора типа отчета с помощью выпадающего списка.Форма для ввода данных о продажах и загрузок товаров приведена на рисунке ниже. На данной форме расположены элементы для открытия файла Excel(заполненного маршрутного листа). После указания файла данные из него отображаются в таблицах. Чтобы обновить данные в базе данных в соответствии с содержимым файла необходимо нажать на кнопку Загрузить товары. Форма для проведения анализа – на рисунке ниже. Необходимо выбрать период, за который программа должна брать данные для проведения анализа и построения соответствующего прогноза. Также необходимо указать период прогнозирования. Следует отметить, что отсчет периода для взятия данных для анализа отсчитывается от даты последнего ввода данных о продажах.Приложение 3 Исходный код процедуры анализа//функциядляопределенияпериода регистрации продаж (в днях)Function MinDate (const Query:TAdoQuery):Integer;beginWithQuerydo //обновляем и отправляемзапросbegin close; SQL.clear; SQL.add('SELECT Max(dateP)-Min(dateP) As period From Sale'); open; end;Result:=Query.FieldByName('period').AsInteger;//возвращаетсядатаend;//функциядляпереводаиндекса колонки Excelв её имяFunction IndToCol(const ind:integer):String;begincase ind of 0: result:='A'; 1: result:='B'; 2: result:='C'; 3: result:='D'; 4: result:='E'; 5: result:='F'; 6: result:='G'; 7: result:='H'; 8: result:='J'; 9: result:='K'; 10: result:='L'; 11: result:='M'; 12: result:='N'; 13: result:='O'; 14: result:='P'; 15: result:='Q'; 16: result:='R'; 17: result:='S'; 18: result:='T'; 19: result:='U';end;end;procedure TForm10.BitBtn1Click(Sender: TObject);varExcel:Variant;//переменная для ассоциации с файлом Excelperiod:integer;//количество периодов прогнозирования i,j,n,k: integer;//счетчикиidProd: array [1..300] of integer; //массивсid продуктовProd: array [1..300] ofString; //массивснаименованиями продуктовstat: array [1..300] ofinteger; //массивспоказателями для продуктовLastDate: TdateTime; //дата последнего добавления продажиDate1:TdateTime; //дата начала периода подсчтета статистикиDate2:TdateTime; //датаокончанияпериода подсчета статистикиOthetName:String; //название отчетаBegin//запросдатыпоследнего добавления продажиWithAdoQuery1 dobegin close; SQl.clear; SQl.add('SELECT max(DateP) As MaxD From Sale'); open; end;LastDate:=AdoQuery1.FieldByName('Maxd').AsDateTIme;//если поля для ввода периода спрятано, то период равен разнице между сегодняшней датой, и датой последнего добавления, иначе – в поле ложим периодif Edit1.visible=false then begin period:=Round(now-LastDate); edit1.Text:=IntToStr(period); end;//в зависимости от указанного периода для подсчета статистики считаем количество таких периодовCaseCombobox1.ItemIndexof0: period:=Round(30/StrToInt(edit1.text)); //еслимесяц1: period:=Round(90/StrToint(edit1.text)); //есликвартал2: period:=Round(364/StrToint(edit1.text)); //еслигод3: period:=Round(Mindate(AdoQuery1)/StrToInt(Edit1.Text)); //есливсевремяelse period:=-1; //иначе – минусодинend;for i:=1 to 300 do //обнуляеммассивы begin prod[i]:=''; stat[i]:=0; idProd[i]:=0; end;//еслипериодов больше 0, тоif period>0 thenbeginOthetName:='Прогнозпродаж '; //имя отчета – прогноз продажDate1:=LastDate-StrTOInt(Edit1.Text); //датаначалапервогопериодаDate2:=LastDate+1;//дата окончания первого периодаn:=0;Fori:=1 toperioddo //циклдляподсчетастатистики по каждому периодуbeginWithAdoQuery1 do //запрашиваем статистику по продажам за период между date1 и date2begin close; SQl.clear; SQl.Add('SELECT Product.id, Product.naim, Iif(Sum(Sale.num) IS NULL,0, sum(sale.num)) AS [SumSale]'); SQl.add('FROM Sale RIGHT JOIN Product ON Sale.[idProductAvt] = Product.id'); SQl.add('WHERE Sale.DateP > :Date1 AND Sale.DateP < :date2'); SQl.add('GROUP BY Product.id, Product.naim;'); Parameters.ParamByName('Date1').Value:=Date1; Parameters.ParamByName('Date2').value:=Date2; open; end;//подсчитываем статистику по каждому товаруAdoQuery1.First;Forj:=1 toAdoQuery1.RecordCountdo //обрабатываемкаждуюстрокурезультатазапросаbegin k:=1;Whilek<=ndo //ищемвмассиве позицию idтекущего продуктаif idProd[k]=AdoQuery1.FieldByName('id').AsInteger then Break else k:=k+1;ifk>nthenn:=n+1; //еслиегонет, то добавляем//добавляем данные о продуктеidProd[k]:=AdoQuery1.FieldByName('id').AsInteger; Prod[k]:=AdoQuery1.FieldByName('Naim').AsString; Stat[k]:=Stat[j]+AdoQuery1.FieldByName('SumSale').AsInteger;AdoQuery1.Next; //переходим на следующую записьend;Date1:=Date1-StrTOInt(Edit1.Text)-1; //уменьшаемдаты-ограничители периодаDate2:=Date2-StrTOInt(Edit1.text); end;//считаем средний показатель по каждому продукту по всем периодамFor i:=1 to n do begin Stat[i]:=Round(Stat[i]/period); end;//если форма в режиме прогноза потребностей, тоIFcaption='Прогнозпотребностей' thenBegin//имя отчета – прогноз потребностей OthetName:='Прогноз потребностей ';//запрашиваем остатки товара на складе и в автоматахWithAdoQuery1 dobegin close; SQL.clear; SQL.add(' SELECT Product.id AS idProduct, Product.naim, PartProduct.idPart, IIf(SumSale.SumSale Is Null,PartProduct.num,'); SQL.add(' IIf(PartProduct.num-SumSale.SumSale Is Null,''0'',PartProduct.num-SumSale.SumSale)) AS Склад, IIf(SumSale.SumProduct Is Null,''0'',SumSale.SumProduct) AS [Вавтоматах], DateAdd(''m'',[Product].[SrokGodn],[PartProduct].[DateR]) AS [Годендо]'); SQL.add('FROM (PartProduct RIGHT JOIN Product ON PartProduct.idProduct = Product.id) LEFT JOIN SumSale ON PartProduct.id = SumSale.idPartProduct '); SQL.add('GROUP BY Product.id, Product.naim, PartProduct.idPart, IIf(SumSale.SumSale Is Null,PartProduct.num,IIf(PartProduct.num-SumSale.SumSale Is Null,''0'',PartProduct.num-SumSale.SumSale)), '); SQL.add('DateAdd(''m'',[Product].[SrokGodn],[PartProduct].[DateR]), PartProduct.num-SumSale.SumSale, SumSale.SumProduct;'); open; end;//обновляем показатель каждого продукта в массиве StatFor i:=1 to n do begin AdoQuery1.first; While (idProd[i]<>AdoQuery1.FieldByName('idProduct').AsInteger) or (AdoQuery1.Eof) do AdoQuery1.Next; Stat[i]:=-1*(AdoQuery1.FieldByName('Склад').AsInteger+AdoQuery1.FieldByName('Вавтоматах').AsInteger-Stat[i]); end;end;//если форма не в режиме формирования маршрутного листа, тоif caption<>'Маршрутныйлист' thenbegin//создаемновуюкопию шаблона отчета о прогнозеif FileExists(Pchar(ExtractFilePath(ParamStr(0))+'docs\Analis.xls')) then DeleteFile(Pchar(ExtractFilePath(ParamStr(0))+'docs\Analis.xls'));CopyFile(Pchar(ExtractFilePath(ParamStr(0))+'docs\Othet.xls'), Pchar(ExtractFilePath(ParamStr(0))+'docs\Analis.xls'), true);Excel:= CreateOleObject('Excel.Application');Excel.Workbooks.open[ExtractFilePath(ParamStr(0))+'docs\Analis.xls'];//шапка таблицы Excel.Range['A1']:=OthetNAme+' наследующие '+Edit1.text+' дней'; Excel.Range['B2']:='Продукт'; Excel.Range['C2']:='Количество';//выводим список продуктов и показатели по каждому из нихFor i:=1 to n do begin if Stat[i]>0 then begin Excel.Range['A'+IntTOStr(i+2)]:=IntTOStr(i); Excel.Range['B'+IntTOStr(i+2)]:=Prod[i]; Excel.Range['C'+IntTOStr(i+2)]:=Stat[i]; end; end;//задаемграницытаблицыпродуктов Excel.Range['A2:C'+IntTOStr(i+1)].Borders[5].LineStyle:= 0; Excel.Range['A2:C'+IntTOStr(i+1)].Borders[6].LineStyle:= 0; Excel.Range['A2:C'+IntTOStr(i+1)].Borders[7].LineStyle:= 1; Excel.Range['A2:C'+IntTOStr(i+1)].Borders[8].LineStyle:= 1; Excel.Range['A2:C'+IntTOStr(i+1)].Borders[9].LineStyle:= 1; Excel.Range['A2:C'+IntTOStr(i+1)].Borders[10].LineStyle:= 1; Excel.Range['A2:C'+IntTOStr(i+1)].Borders[11].LineStyle:= 1; Excel.Range['A2:C'+IntTOStr(i+1)].Borders[12].LineStyle:= 1; if j<2 then j:=2;//выводим нижнюю часть отчета Excel.Range['B'+IntTOStr(i+4)].value:='Дляпостроенияотчетаиспользовалисьстатистическиеданные '+Combobox1.Items[Combobox1.ItemIndex]; Excel.Range['B'+IntTOStr(i+5)].Value:='Отчетсформирован:'; Excel.Range['C'+IntTOStr(i+5)].Value:=dateToStr(Now); Excel.Range['A2:C'+IntTOStr(i+3)].Columns.AutoFit; Excel.visible:=true;endelse //если форма в режиме построение маршрутного листа, тоbegin//создаем новую копию шаблона маршрутного листаif FileExists(Pchar(ExtractFilePath(ParamStr(0))+'docs\Zaklad1.xls')) then DeleteFile(Pchar(ExtractFilePath(ParamStr(0))+'docs\Zaklad1.xls')); CopyFile(Pchar(ExtractFilePath(ParamStr(0))+'docs\Zaklad.xls'), Pchar(ExtractFilePath(ParamStr(0))+'docs\Zaklad1.xls'), true); Excel:= CreateOleObject('Excel.Application'); Excel.Workbooks.open[ExtractFilePath(ParamStr(0))+'docs\Zaklad1.xls'];//запрашиваем остатки товаров на складе и в автоматахпо партиямFor i:=1 to n do begin With AdoQuery1 do begin close; SQL.clear; SQL.add(' SELECT Product.id AS idProduct, Product.naim, PartProduct.idPart, IIf(SumSale.SumSale Is Null,PartProduct.num,'); SQL.add(' IIf(PartProduct.num-SumSale.SumSale Is Null,''0'',PartProduct.num-SumSale.SumSale)) AS Склад, IIf(SumSale.SumProduct Is Null,''0'',SumSale.SumProduct) AS [Вавтоматах], DateAdd(''m'',[Product].[SrokGodn],[PartProduct].[DateR]) AS [Годендо]'); SQL.add('FROM (PartProduct RIGHT JOIN Product ON PartProduct.idProduct = Product.id) LEFT JOIN SumSale ON PartProduct.id = SumSale.idPartProduct '); SQL.add('WHERE Product.id = '+IntToStr(idProd[i])); SQL.add('GROUP BY Product.id, Product.naim, PartProduct.idPart, IIf(SumSale.SumSale Is Null,PartProduct.num,IIf(PartProduct.num-SumSale.SumSale Is Null,''0'',PartProduct.num-SumSale.SumSale)), '); SQL.add('DateAdd(''m'',[Product].[SrokGodn],[PartProduct].[DateR]), PartProduct.num-SumSale.SumSale, SumSale.SumProduct;'); open; end;//обновляем данные по продуктам в массиве Stat и выводим товары по партиямAdoQuery1.First;j:=1; While (Stat[i]>0) and not AdoQuery1.Eof do begin Excel.Range['A'+IntTOStr(i+j+2)]:=idProd[i]; Excel.Range['C'+IntTOStr(i+j+2)]:=IntTOStr(i); Excel.Range['D'+IntTOStr(i+j+2)]:=Prod[i]; Excel.Range['E'+IntTOStr(i+j+2)]:=AdoQuery1.FieldByName('idPart').AsString; If Stat[i]>AdoQuery1.FieldByName('Склад').AsInteger then Excel.Range['F'+IntTOStr(i+j+2)]:=AdoQuery1.FieldByName('Склад').AsString else Excel.Range['F'+IntTOStr(i+j+2)]:=IntToStr(Stat[i]); Stat[i]:=Stat[i]-AdoQuery1.FieldByName('Склад').AsInteger; AdoQuery1.Next; end; end;//выводимсписок автоматов в столбцыWithAdoQuery1 dobegin close; SQL.clear; SQl.add('Select * From RealAvt'); open; end; For j:=1 to AdoQuery1.RecordCount do begin Excel.Range[IndToCol(j+5)+'1']:='Автомат № '+IntTOStr(j); Excel.Range[IndToCol(j+5)+'2']:=AdoQuery1.FieldByName('id').AsString; Excel.Range[IndToCol(j+5)+'3']:=AdoQuery1.FieldByName('Adres').AsString;AdoQuery1.Next; end;//границытаблицExcel.Range['C1:'+IndToCol(j+4)+IntTOStr(i+2)].Borders[5].LineStyle:= 0; Excel.Range['C1:'+IndToCol(j+4)+IntTOStr(i+2)].Borders[6].LineStyle:= 0; Excel.Range['C1:'+IndToCol(j+4)+IntTOStr(i+2)].Borders[7].LineStyle:= 1; Excel.Range['C1:'+IndToCol(j+4)+IntTOStr(i+2)].Borders[8].LineStyle:= 1; Excel.Range['C1:'+IndToCol(j+4)+IntTOStr(i+2)].Borders[9].LineStyle:= 1; Excel.Range['C1:'+IndToCol(j+4)+IntTOStr(i+2)].Borders[10].LineStyle:= 1; Excel.Range['C1:'+IndToCol(j+4)+IntTOStr(i+2)].Borders[11].LineStyle:= 1; Excel.Range['C1:'+IndToCol(j+4)+IntTOStr(i+2)].Borders[12].LineStyle:= 1;//автовыравнивание ширины столбцовExcel.Range['C1:'+IndToCol(j+4)+IntTOStr(i+3)].Columns.AutoFit;Excel.visible:=true; end;end;end;end.Приложение 4Графические материалыИнфологическая схема базы данныхСхема созданной базы данныхКонтекстная диаграмма в стандарте IDEF0Диаграмма декомпозиции в стандарте IDEF0Диаграмма в стандарте DFDОсновные формы интерфейсаОсновные входные и выходные документы

Список использованных источников
1. Анхимюк В.Л., Олейко О.Ф., Михеев Н.Н. «Теория автоматического управления». - М.: Дизайн ПРО, 2009. - 352 с.: ил.
2. Архангельский А. Я. Работа с локальными базами данных в Delphi 5. - М.: ЗАО «Издательство БИНОМ», 2000, 192с.
3. Бесекерский В.А., Попов Е.П. Теория систем автоматического управления. - 4-е изд., перераб. и доп. - СПб.: Профессия, 2010. - 747 с.
4. Барановская Т. П. Информационные системы и технологии в экономике. – М.: Изд-во Финансы и статистика. – 2009, - 416 с
5. Борьба с шумом на производстве: Справочник / Е.Я. Юдин, Л.А. Борисов; Под общ. ред. Е.Я. Юдина - М.: Машиностроение, 1985. - 400с., ил.
6. Глушаков С. Программирование в среде Deiphi 7. – Харьков: Фолио, 2003, 528с.
7. Зинченко В.П. Основы эргономики. - М.: МГУ, 1979. - 179с.
8. Кечайкин В. И. Производство земляных работ «Методические указания на выполнение лабораторных работ по дисциплине “Технология, механизация и автоматизация железнодорожного строительства” Хабаровск, 1999.
9. Культин Н. Deiphi в задачах и примерах. – СПб.: БХВ – Санкт-Петербург, 2003, 288с.
10. Михеева В., Харитонова И. Microsoft SQL Server. - СПб.: БХВ – Санкт-Петербург, 2004, 1072с.
11. Мотузко Ф.Я. Охрана труда. - М.: Высшая школа, 1989. - 336с.
12. Фаронов В. «Программирование баз данных в Delphi 7», Издательский дом «Питер», СПб:. 2006 г., 459с.
13. Безопасность жизнедеятельности. /Под ред. Н.А. Белова - М.: Знание, 2000 - 364с.
14. Самгин Э.Б. Освещение рабочих мест. - М.: МИРЭА, 1989. - 186с.
15. СНиП Ш-44-77 Правила производства и приемки работ.
16. Справочная книга для проектирования электрического освещения. / Под ред. Г.Б. Кнорринга. - Л.: Энергия, 1976.



Вопрос-ответ:

Какие аналоги автоматизированных систем управления информацией были проанализированы в данной статье?

Авторы статьи проанализировали имеющиеся аналоги автоматизированных систем управления информацией для торговых автоматов.

Какова архитектура разработанной информационной системы обслуживания торговых автоматов?

Архитектура системы включает в себя различные компоненты, такие как база данных, модули управления, интерфейсы для взаимодействия с автоматами и другие.

Какие программные технологии были выбраны для разработки системы?

Для разработки системы были выбраны конкретные СУБД (системы управления базами данных) и язык программирования.

Какой язык программирования был выбран для разработки системы?

Для разработки системы был выбран определенный язык программирования.

Какую функциональность предоставляет система обслуживания торговых автоматов?

Система обслуживания торговых автоматов предоставляет функциональность по управлению и мониторингу автоматов, обработке платежей, формированию отчетов и другим задачам.

Какие аналоги автоматизированных систем управления информацией существуют?

Существует множество аналогов автоматизированных систем управления информацией. Некоторые из них включают в себя системы учета товаров, системы управления продажами и системы управления запасами. Они различаются по функциональности и возможностям, но основная цель всех этих систем - облегчить управление торговыми автоматами и повысить их эффективность.

Как разработать архитектуру системы?

Разработка архитектуры системы включает в себя определение основных компонентов, их взаимосвязей и функций. Необходимо провести анализ требований к системе и определить ее основные цели и задачи. Затем можно приступить к созданию структуры системы, включающей в себя модули, базы данных, интерфейсы и другие составные части.

Как выбрать программные технологии для системы?

При выборе программных технологий для системы необходимо учитывать требования к функциональности, производительности и масштабируемости. Необходимо выбрать подходящую СУБД для хранения данных и язык программирования, подходящий для реализации функций системы. Также важно учитывать возможности интеграции с другими системами, наличие документации и поддержки со стороны разработчиков.

Как проектировать структуру модулей и их функции в системе?

При проектировании структуры модулей и их функций необходимо определить основные задачи, которые должна выполнять система. Затем можно разбить эти задачи на более мелкие модули, каждый из которых будет выполнять определенную функцию. Важно учитывать межмодульные зависимости и обеспечить гибкую архитектуру, позволяющую добавлять новые модули или изменять существующие без значительных изменений в других частях системы.

Как провести проектирование программы?

При проектировании программы необходимо определить основные функции, которые она должна выполнять, и разбить их на более мелкие подзадачи. Затем можно создать структуру программы, определить основные классы, функции и переменные. Важно учитывать принципы модульности и повторного использования кода, чтобы облегчить разработку и поддержку программы. Также надо учитывать возможности реализации интерфейса пользователя и интеграции с другими компонентами системы.

Какие аналоги существуют для автоматизированных систем управления информацией?

На данный момент существует несколько аналогов для автоматизированных систем управления информацией, такие как программные продукты "Мой Автомат", "AutoShop", "iVend", "UCS". Они предназначены для управления торговыми автоматами и обладают широким спектром функций, включая учет товаров, статистику продаж, мониторинг состояния автоматов и другие.