SlideShare a Scribd company logo
1 of 60
Download to read offline
УНИВЕРСИТЕТ ПО БИБЛИОТЕКОЗНАНИЕ И
ИНФОРМАЦИОННИ ТЕХНОЛОГИИ
КАТЕДРА “ИНФОРМАЦИОННИ СИСТЕМИ И ТЕХНОЛОГИИ”
СПЕЦИАЛНОСТ “ИНФОРМАЦИОННО БРОКЕРСТВО”
ДИПЛОМНА РАБОТА
на тема:
СЪЗДАВАНЕ НА СОФТУЕР ЗА АВТОМАТИЗИРАНЕ И
РАЗПРЕДЕЛЕНИЕ НА ДОСТАВКИ ПО ЗАДАДЕНИ ПОРЪЧКИ
ОТ КЛИЕНТИ И ДОСТАВЧИЦИ
Дипломант: Научен Ръководител:.................
Георги Кьосев (проф. д-р И. Иванов)
задочно обучение
Ф.№ 176-ибз
София
2015
2
РЕЗЮМЕ
Кьосев Г. Създаване на софтуер за автоматизиране и разпределение на доставки
по зададени поръчки от клиенти и доставчици. Научен ръководител проф. д-р
И. Иванов. 2015 София. Катедра Информационни системи и технологии,
Бакалавър след ПБ „Информационно Брокерство“ ,УНИБИТ. 57 стр.
Брой източници –9, приложения – 2, илюстрации – 13.
Цели на дипломната работа са :
Разработване на софтуер за автоматизиране и разпределение на голям брой
от поръчки за повишаване на ефективността и качеството на обслужване на
клиенти и доставчици.
Основни задачи:
• Функционален анализ на фирма, доставяща значителен обем от
заявени поръчки.
• Разработване на софтуер за разпределение доставката на заявени
поръчки.
• Тестване на разработения софтуер с реални данни за обслужване на
клиенти.
• Внедряване на софтуера и сравнителен анализ по отношение
повишаване на ефективността на доставките и качеството на
обслужване на клиенти и доставчици.
Чрез детайлизирано изложение на дългия и трудоемък процес на разработка,
стъпка по стъпка, се цели да се разкрият предимствата и изключителната
функционалност на специализираното приложение на автора. Дългогодишната
подготовка и прилагането на придобитите знания и умения водят до
създаването на един рационален, оптимално лесен за ползване и същевременно
полезен и икономически изгоден продукт
Ключови думи: България; внедряване; разработване; софтуер
3
СЪДЪРЖАНИЕ:
УВОД ............................................................................................................................. 4
ГЛАВА ПЪРВА.
ФУНКЦИОНАЛЕН АНАЛИЗ НА ФИРМА, ДОСТАВЯЩА ЗНАЧИТЕЛЕН ОБЕМ ОТ
ЗАЯВЕНИ ПОРЪЧКИ....................................................................................................... 7
1.1. Функционален анализ на фирмата ............................................................. 7
1.2. Място на ИТ Отдела в Дружеството.......................................................... 8
1.3. Основни проблеми..................................................................................... 11
ГЛАВА ВТОРА.
РАЗРАБОТВАНЕ НА СОФТУЕР ЗА РАЗПРЕДЕЛЕНИЕ ДОСТАВКАТА НА ЗАЯВЕНИ
ПОРЪЧКИ..................................................................................................................... 13
2.1. Постановка.................................................................................................. 13
2.2. Разработване на специализирано приложение ....................................... 14
2.3. Функционални възможности .................................................................... 27
ГЛАВА ТРЕТА.
ВНЕДРЯВАНЕ НА СОФТУЕРА И СРАВНИТЕЛЕН АНАЛИЗ ПО ОТНОШЕНИЕ
ПОВИШАВАНЕ НА ЕФЕКТИВНОСТТА НА ДОСТАВКИТЕ И КАЧЕСТВОТО НА
ОБСЛУЖВАНЕ НА КЛИЕНТИ И ДОСТАВЧИЦИ............................................................ 40
3.1. Десетте стъпки, през които трябва да се премине за успешно
внедряване на софтуер.............................................................................................. 41
3.2. Внедряване на разработения от автора софтуера................................... 45
3.3. Резултати от внедряването........................................................................ 47
3.4. Предимства и ефективност ....................................................................... 48
ЗАКЛЮЧЕНИЕ И ПРЕПОРЪКИ .................................................................................... 49
ИЗПОЛЗВАНА ЛИТЕРАТУРА........................................................................................ 50
ПРИЛОЖЕНИЯ ............................................................................................................ 51
Приловение 1: Програмен код за Вход в системата...................................... 52
Приловение 2: Програмен код за Справка сервизи....................................... 54
ЦИТИРАНЕ И БИБЛИОГРАФСКО ОПИСАНИЕ ............................................................ 60
4
УВОД
В ситуацията на глобализиран свят и растяща финансова криза, бизнесът
поставя нови изисквания към участниците на пазара. Голям брой предприятия
са принудени да обявят фалит, а останалите фирми насочват усилията си към
съкращаване на разходите. За да запазят позициите си на пазара те се стремят
да вникнат в потребностите и изискванията на клиента, стремейки се по този
начин да останат незасегнати от неблагоприятната икономическа обстановка.
В последните години се развиват цели стратегии, посветени на
изучаването на пазарните условия и на зависимостта на финансовия резултат от
одобрението на клиента. Това неминуемо довежда до разширяване на сектора
от предлагани услуги, целящи да задържат досегашните и да привлекат нови
потребители. Компаниите, които запазват солиден пазарен дял, не пестят
усилията си да развият именно това звено.
Първа стъпка е подобряване на качеството и задържане на високо ниво на
предлаганите стоки и услуги на достъпни цени. Днес много компании имат
работещ отдел, чиято задача е именно контролът по качеството. Коректното
отношение към клиента е следващата стъпка към успешно пласиране на пазара
и ключ към спечелването на нови клиенти. Бързопроменящите се условия
налагат допълнителни мерки за запазване на пазарна стабилност.
Съкращаването на разходите, породено от ширещата се стагнация,
провокира предприемачите да развият собствени оперативни планове.
Отказвайки се от услугите на посредници и съсредоточавайки се върху
индивидуални работни програми, компаниите успяват да запазят финансовия
си баланс. Правилният подход към нуждите на потребителите е най-точната
стратегия. Разбирането и стремежът към максимално задоволяване на
изискванията на клиента води до гарантиран успех.
Дългогодишните проучвания на пазарните закономерности извеждат
няколко основни критерия, по които потребителите оценяват продукта или
услугата, която получават. Цената, качеството, подходът, бързината, с която
един клиент бива обслужен – това са главните показатели за успеха на
съвременните компании. Имплементирането и усъвършенстването на нови и
индивидуални работни инструменти се оказва печеливш метод за запазване на
икономическа стабилност.
5
Обект на настоящото изследване е компанията „Ауто Плюс България“
АД. Тя е сред най-успешните наши фирми във вноса и дистрибуцията на
авточасти и масла за леки и лекотоварни автомобили.
Като оторизиран представител на много водещи в световен мащаб
автомобилни производители, компанията покрива един от най-важните
критерии на пазара, а именно високото качество. Широката дистрибуторска
мрежа, богатият автомобилен парк, наброяващ приблизително 175 автомобила
и изграждането на собствени складове, използващи собствен транспорт,
позволяват на „Ауто Плюс“ да изпълнява заявките на клиентите в разумен срок,
с което покрива един от водещите принципи, които правят фирмата
предпочитан търговски сътрудник. Разумните цени, коректността и
разширяващият се спектър от предлагани услуги са отличителните белези на
дружеството. Всичко това допринесе „Ауто Плюс“ да бъде първата и
единствена българска компания в този бранш, приета в семейството на ATR –
едно от най-големите и успешни търговски сдружения в Европа. Основана цел
е да се отговори на очакванията на клиентите, което от своя страна предполага
оптимизиране на работния процес. (1)
Целта на дипломната работа е разработване и внедряване на
специализиран софтуер за автоматизиране на дейностите по разпределение на
големи обеми от поръчки за повишаване на ефективността и качеството на
обслужване на клиентите и доставчиците.
От поставената цел произтичат следните задачи:
 Функционален анализ на фирма, доставяща значителен обем от
заявени поръчки
 Разработване на софтуер за разпределение доставката на заявени
поръчки
 Внедряване на софтуера и сравнителен анализ по отношение
повишаване на ефективността на доставките и качеството на
обслужване на клиенти и доставчици
Основната теза на настоящата разработка цели да разкрие огромната роля
на софтуерното нововъведение за оптимизиране на спедиторската дейност на
фирмата. От значение е не само крайният положителен резултат от иновацията
пред клиента, но и опростената и улеснена работа на всички служители в
логистичния отдел.
Чрез детайлизирано изложение на дългия и трудоемък процес на
разработка, стъпка по стъпка, се цели да се разкрият предимствата и
изключителната функционалност на специализираното приложение на автора.
Дългогодишната подготовка и прилагането на придобитите знания и умения
6
водят до създаването на един рационален, оптимално лесен за ползване и
същевременно полезен и икономически изгоден продукт.
7
ГЛАВА ПЪРВА.
ФУНКЦИОНАЛЕН АНАЛИЗ НА ФИРМА, ДОСТАВЯЩА ЗНАЧИТЕЛЕН
ОБЕМ ОТ ЗАЯВЕНИ ПОРЪЧКИ
1.1. Функционален анализ на фирмата
Ауто Плюс България АД е една от водещите български фирми в сферата
на вноса и търговията с авточасти. Фирмата се занимава с продажба на
оригинални резервни части за всички модели автомобили, като целта й е да
предложи на своите клиенти максимален избор за всяка марка и модел,
представен на българския пазар.
Ауто Плюс е вносител на повече от 30 висококачествени продуктови
линии от водещи в света производители на авточасти. Целият асортимент от
складови и нескладови артикули включва повече от 500 000 артикули, които
компанията предлага на пазара.
За времето на своето съществуване Ауто Плюс увеличи обема на
продажбите си десетки пъти. Затова в най-голяма степен допринесе изградената
дистрибуторска мрежа, която обединява над 53 магазина под собствена
търговска марка Ауто Плюс като по този начин покрива територията на цялата
страна.
Ауто Плюс разполага със централен склад в гр. София, а отскоро и с
регионален склад в гр. Варна. Средносрочна цел на фирмата е откриването на
такива в градовете Пловдив, Русе, Стара Загора и Бургас. Фирмата разполага и
със собствен автомобилен парк от около 175 автомобила.
Широката дистрибуторска мрежа, изграждането на собствени складове в
ключовите български градове, както и използването на собствен транспорт
позволяват на Ауто Плюс да изпълни заявките на своите клиенти в кратък срок,
с което да изпълни един от принципите, които определят отношението на
фирмата към нейните партньори, а именно – бързата доставка.
За ефективно управление и оптимизиране на бизнес процесите в
компанията Ауто Плюс внедри интегрираната система Microsoft Business
Solution Navision, която гарантира по-качественото обслужване на клиентите,
защото дава възможност за проверка на наличностите във всички складове в
реално време и увеличава скоростта на обработване на запитванията. Това
осигурява по-ефективното сътрудничество с партньорите на фирмата и спомага
за своевременното достигане на информацията до тях.
8
Професионалното обслужване на клиентите и задоволяването на техните
потребности са водещи принципи за Ауто Плюс, но не по-малко значение за
фирмата има човешкият фактор. В централния офис работят повече от 90
човека, а в цялата страна броят им надхвърля 480. За да бъдат в течение с
новостите в областта на техника служителите периодично преминават през
семинари и обучения, провеждани съвместно с представители на фирмите-
доставчици.
Широкият асортимент от продукти, гарантираното качество, изгодното
съотношение цена-качество, бързата доставка, високото равнище на
обслужване и задоволяването на потребностите на клиента са принципите, от
които Ауто Плюс България се ръководи в отношенията си със своите
партньори. (1)
1.2. Място на ИТ Отдела в Дружеството
Изп. директори Управителен
съвет
Търговски директор
Отдел
продажби
Р-л отдел
Отдел
логистика
Р-л отдел
Отдел
доставки
Р-л отдел
Административ
ен директор,
ПР (отг. ЧР)
Р-л направл.
регион.
развитие и
маркетинг
Финансов
директор
Гл.
счетоводител
Техн.
сътрудник
Техн.
организатор
и
Специалист
системи за
сигурност,
ремонт и
поддръжка
Отдел IT
Администра
тор база
данни
Отдел транспорт
Р-л Транспорт
Системен
администра
тор
9
Фиг.1 ОРГАНИЗАЦИОННА СТРУКТУРА
на СУК в“Ауто Плюс България ” АД
10
От фигура 1 Организационна структура на Системи за управление на
качеството в Ауто Плюс се вижда че, ИТ отдела е пряко подчинен на
Изпълнителния Директор. При изпълнение на поставените задачи ИТ-
специалистът осъществява организационни връзки и взаимоотношения с
потребителите на компютърната мрежа. Изпълняващия длъжността
осъществява контакт с доставчиците на компютърна техника и програми.
Системния администратор е длъжен да притежава необходима компетентност
за изпълнение на поставените задачи. Той трябва да е запознат с нормативните
актове свързани с информационните технологии, реда и изискванията за
използване на компютърни продукти, нормативните изисквания за работа с
информационна техника и не на последно място умения за работа с електро
обзавеждане.
Основните длъжностни задължения на ИТ-специалиста включват:
 поддържа всички софтуерни продукти, консумативи и оборудване
(компютри, преносими компютри, клавиатури, мишки, екрани,
стационарни и мобилни телефони, принтери, копирни машини,
скенери и др.);
 проектира, прилага и обезпечава доброто функциониране на
централизираното оборудване и ресурси, напр. сървъри, софтуерни
продукти и инфраструктура за свързване;
 гарантира ежедневно наличността на системите и отговаря за
прилагането на всички необходими технически процедури при
включване в работа след авария в системите;
 предлага набор от услуги при поискване от страна на потребителите
(инсталиране, преместване или демонтиране на оборудване и
софтуер, разпределяне на права на достъп,
архивиране/възстановяване на данни, индивидуални обучения и
др.);
 осигурява устойчива и ориентирана към клиента ИТ архитектура с
високо ниво на изпълнение и изпълнява проекти, свързани с
проучването и въвеждането на ново оборудване, оперативни
системи и софтуерни продукти за работни постове;
 провежда тестове за гарантиране на успешното прилагане на
разработени на място приложения;
 управлява различните бази данни;
 определя и поддържа телекомуникационните системи, които
свързват Центъра с партньорите му (агенции,институции, външни
11
преводачи), и осигурява наличието на всички мерки за сигурност
(криптиране, защитни стени и др.).
 помага на потребителите за разрешаване на проблеми и запитвания
за информация в различните области на ИТ – хардуер, софтуер,
телекомуникации и инфраструктура.
1.3. Основни проблеми
За да разгледаме основните проблеми на фирмата ще се насочим към
един от новооткрит магазин на дружеството което се намира на територията на
София.
С цел по добро обслужване на крайните потребители ново открития
склад-магазин е с по-голяма складова наличност с повече персонал и повече
автомобили които по бързо и своевременно обслужват крайните клиенти на
фирмата.
Персоналът в обекта се състои от:
 Управител на магазина
 Касиер
 Осем продавач консултанти
 Четирима склададжии
 Тринадесет шофьора
За да може да се подържа складовата наличност на обекта всеки ден има
зареждане което е шест пъти и се осъществява с собствен транспорт на
фирмата.В края или началото на деня се прави заявка за поръчка на минимални
налични количества на склад.По този начин се подържа необходимата складова
наличност в магазина.Останалите доставки към магазина от централен склад е
след като се поръча от продавач консултантите на обекта за тези артикули
които неса в наличност в магазина но са поръчани от клиента.
Основната дейност на продавачите е бързото и точно намиране на
консумативи или авточасти които потребителите търсят за своите автомобили.
Клиентите на фирмата могат да отидат директно в магазина или да поръчат
необходимите им авточасти по телефона. По големия процент от потребители
на магазина са автосервизи които имат договор с фирмата за доставка на място
което се осъществява с собствения транспорт на обекта. По този начин фирмата
изпълнява един вид куриерска услуга за своите клиенти.
Новооткрития магазин всъщност е сливане на два обекта на фирмата.
Преди обединяването на магазините всеки обект работеше с по-малък брой
персонал и автомобили и цялата комуникация с шофьорите и склададжиите
ставаше чрез устен начин, за което все още небеше необходим софтуер за
12
разпределение на постъпилите заявки в магазините. Въпреки че са се справяли
с големия брои от заявени поръчки от сервизите се е случвало да се допускат
грешки. Като например да се забрави да се закарат части до сервиз или да се
забавят или да се изпратят два автомобила до един и същи сервиз. В следствие
на което сервизите не оставят доволни от това.
Имено поради тази причина и обединяването на обектите в един и
увеличаването на персонала беше необходимо да се разработи софтуер, които
да намали до минимум грешките в разпределението и организацията на
автомобилите. Още преди да бъде разработен софтуера са се търсили различни
решения на проблема с организацията на автомобилите в различните магазини
на дружеството. Докато магазините бяха повече на брой с по малко персонал и
автомобили всичко ставаше по мобилния телефон, което беше връзката между
продавачите и шофьорите. Но това решение не е много добро поради факта че
няма комуникация между продавачите и често се случва да се забавят
доставките или да не се закарат на време до сервизите, които са приблизително
80% от клиентите на фирмата.
С цел по добро обслужване и по голяма складова налично дружеството
започна обединяване на магазините в едни по голям обект с повече персонал и
автомобили. В следствие на това за да има някакъв контрол на автомобилите се
въведе часове на тръгване от обекта. Другото което се въведе е разпечатването
на таблица с часовете на тръгване на автомобилите, която се въвеждаше ръчно
от служителя които отговаря за тръгването на автомобилите от магазина. Но и
това решение небеше добро поради факта, че се случва да не се разберат или да
се пропусне да се напише някои от сервизите.
Поради това трябваше да се намери друго решение на проблема с
организацията и разпределението на автомобилите. И имено тук моите умения
придобити през годините на обучение реших да приложа наученото. Моето
предложение за решаване на проблема беше разработването на уеб приложение
което да е лесно и бързо за ползване и между временно да се организират
автомобилите и да се намали до минимум грешките. След завършване на
обучението ми се мотивирах да разработя приложение което да бъде уеб
базирано. Избора за среда на програмиране на софтуера беше след придобитите
умения от следните специалности:
 WEB приложения;
 Информатика;
 Информационни технологии и бази данни.
13
ГЛАВА ВТОРА.
РАЗРАБОТВАНЕ НА СОФТУЕР ЗА РАЗПРЕДЕЛЕНИЕ ДОСТАВКАТА
НА ЗАЯВЕНИ ПОРЪЧКИ
2.1. Постановка
Фиг.2 Процес на обработка и доставка на заявените поръчки
На фигура 2 е изобразен процеса на обработка и доставка на заявените
поръки. Като специализираното приложение „Avto GiK” обхваща процесите по
обработване, събиране, изпращане на заявени продукти. Процеса започва с
приемането на заявката на клиента от продавач консултанта в магазина по
телефона. След приемането на заявката, дилърът обработва заявените продукти
и ги въвежда в ERP системата на фирмата. От реализираната продажба номерът
на документа и клиента се въвеждат в специализираното приложение, избира се
часа на тръгване на автомобила и се разпечатва документ в склада за събиране
на заявените продукти. Разпечатаният документ се взима от склададжията и
започва да събира продуктите, след като са събрани всички артикули по
продажбата се отбелязва в приложението където е съответния контрагент и със
съответния номер на документа с което продавач консултантът знае, че стоката
е събрана и е готова да се изпрати на клиента.Като настъпи часа на тръгване на
автомобилите събраната заявена стока се отбелязва в приложението с което
Специализирано
приложение „Avto GiK“
Приемане на
заявени
продукти
Обработване
на заявени
продукти
Събиране на
заявени
продукти
Изпращане на
заявени
продукти
14
продавач-консултанта знае, че заявените продукти от клиента ще бъдат
доставени. Благодарение на специализираното приложение „Avto GiK”
продавач консултанта знае какво се случва с неговите заявени поръчки.
Клиентите на фирмата предварително са въведени в приложението, като са
групирани по райони и последователност тоест в дадения район кои от
клиентите е по близко до магазина. По този начин успешно се организират
автомобилите и всеки един от шофьорите обхваща само един район.
2.2. Разработване на специализирано приложение
За разработването на специализираното приложение автора е използвал
WampServer и NetBeans. В своята същност WampServer е един пълен пакет за
уеб програмиране които включва:
 Apache2;
 PHP;
 MySQL;
 PhpMyAdmin.
2.2.1. Apache2
Apache HTTP Server или само Apache е уеб сървър с отворен код, който
има ключова роля за първоначалното разрастване на WWW. Чрез него работят
над 70% от сайтовете. Счита се от много специалисти за платформа, според
която се разработват и оценяват другите уеб сървъри.
Приложението стартира на много операционни системи, включително
Unix, GNU, FreeBSD, Linux, Solaris, Mac OS X, Microsoft Windows, OS/2, Novell
NetWare и други платформи.
Apache се разработва от отворено общество от разработчици – Apache
Software Foundation. Обществото поддрържа и разработва множество други
проекти най-важните от които са Apache Ant, Apache SpamAssassin, Apache
Tomcat и огромен брой проекти основани на XML езика, но Апачи е най-
известния и широко разпространен продукт.
2.2.1.1. Характеристики
Сървърът има възможности за промяна на съобщенията за грешки,
удостоверяване на потребителите, договаряне на съдържанието (изключително
полезно при многоезични сайтове), proxy модул, както и поддръжка на CGI и
SSI. Има множество модули за Apache, които позволяват работа на
15
разнообразни скриптове и осигуряване на динамично съдържание, криптиране,
ограничаване и други.
2.2.1.2. Лиценз
Apache се разпространява под свой собствен лиценз – Apache License. Той
има малки разлики с GNU GPL, но текущата чернова на GPL версия 3 има
секция (7а), която позволява съвместимост с лицензи, подобни на този на
Apache.
Apache 2.2
Apache 2.2 се появи през 2006 година и има нови и по – гъвкави модули за
оторизация и кеширане, поддръжка на големи файлове (над 2 гигабайта) и SQL
поддръжка. (2)
2.2.2. PHP
2.2.2.1. Преглед
PHP е скриптов език със синтаксис базиран на C и Perl. Използва се
предимно в Web-среда за реализиране на широк кръг от услуги. Той е един от
най-популярните езици за програмиране в Интернет и популярността му расте
непрекъснато.
PHP се разпространява под отворен лиценз (PHP License), който по своята
същност е BSD лиценза и който позволява безплатно разпространяване на
програмния код на интерпретатора на езика, както и създаването на производни
интерпретатори под други лицензи с уговорката, че тези интерпретатори не
могат да включват PHP в името си. Фактът, че PHP се разпространява свободно,
го прави удачен избор за изграждане на Web-сървър базиран изцяло на
свободни продукти – GNU/Linux, Apache, MySQL/PostgreSQL и др.
Самият език е преносим на много изчислителни архитектури и
операционни системи като GNU/Linux, UNIX, Mac OS X, Windows.
Съществуват множество модули (разширения) за PHP, които добавят
различни функционалности и позволяват много по-бързо и ефективно
разработване. Такива допълнителни функционалности към езика са:
o функции за обработка (създаване, редактиране ...) на изображения
o функции за работа с низове и регулярни изрази
o функции за работа с XML съдържание
o функции за работа със сокети (гнезда)
o функции за дата и час
o математически функции
16
o функции за управление на сесии и работа с бисквитки (cookies)
o функции за компресия и шифриране/дешифриране
o функции за COM и .NET за (Windows)
o функции за SOAP
o функции за работа с различни бази данни
o функции за работа с принтер
o функции за създаване на приложения с графичен потребителски
интерфейс, базирани на библиотеката GTK
o функции за изпращане на e-mail съобщения
o хранилище за разширения и приложения на PHP: PEAR
PHP може да работи с повечето модерни бази данни – MySQL,
PostgreSQL, Microsoft SQL Server, Oracle, SQLite и д.р.
На официалния сайт на PHP се намира обширна библиотека с
информация за езика и модулите му, която може да се използва както за
основно запознаване с езика, така и като справочник по време на работата с
него.
Поради отворения характер на езика съществуват множество
потребителски групи в България и по света посветени на програмирането с
PHP, където всеки може да получи помощ в работата си с този език.
2.2.2.2. История
Началото на PHP е поставено от Размус Лердорф през 1994 г., въпреки че
самият Лердорф смята 1995-та за рождената година на PHP, защото тогава
"отваря" кода на новия език за програмиране. В началото Размус създава Perl
скриптове за следене на посещенията на резюмето на личната му страница,
които впоследствие пренаписва и така се създава първата версия на PHP (тогава
означаващо Personal Home Page).
През 1997 г. двамата израелски студенти на Technion (израелски
технологичен институт) Зеев Сураски (Zeev Suraski) и Анди Гутманс (Andi
Gutmans) пренаписват целия език, констатирайки множеството бъгове и
отчасти неправилни концепции за строеж на програмен език и по-късно
известяват Размус с техните предложения. Той ги приема и така се създава
основният екип от разработчици (PHP Core team), който по-късно се превръща
в групата на PHP (PHP group). Зеев Сураски и Анди Гутманс заедно с Размус
Лердорф добавят нови функционалности и API за допълнителни модули към
езика и така се създава PHP 3. Сураски и Гутманс пренаписват отново ядрото
на езика и създават Zend engine през 1999 г. Пренаписването е направено
основно от Сураски и Гутманс като курсов проект по време на тяхното
17
обучение в Technion. Пренаписването е в следствие на факта, че кодът на PHP2
е бил труден за поддръжка и доста нестабилен.
През 2005-та бяха чествани 10 години PHP, наред с 10 години MySQL. До
сега през годините ядрото на PHP е претърпяло много промени, като най-
забележимите са следните:
 22 Май 2000 г. – излиза версия 4 на PHP основана на Zend Engine 1.0.
 Юли 2003 г. – версия 5 на PHP основана на Zend Engine II.
 2005 г. – Уникод функционалност.
2.2.2.3. Синтаксис и семантика
PHP действа главно като филтър, който взема съдържанието на файл и
изпълнява специални PHP инструкции, описани във файла. Тук има пример за
код, който визуализира "Здравей, свят":
<?php
echo 'Здравей, свят!';/*hello world*/
?>
ето и пример за свързване към база данни и изпълняване на проста заявка
към нея:
<?php
session_start();
$DbUser = "root";
$DbPassword = "password";
$DbHost = "localhost";
$cn = mysql_connect($DbHost, $DbUser, $DbPassword) or die("Error in
MySQL:" + mysql_error());
mysql_select_db("database", $cn);
$rs = mysql_query("SELECT UserId,Username, UserPassword FROM Users
WHERE `Username` = '" . $uname . "' AND UserPassword = '" . $upass . "' LIMIT
1;", $cn);
if (mysql_num_rows($rs) == 1){
$_SESSION['logged'] = true;
18
}
mysql_close($cn);
?>
Обектно-ориентиран PHP
<?php
class Beginning {
function start()
{
echo 'Hello, world';
}
}
$var = new Beginning();
$var->start();
?>
Дата и час:
<?php
$date = date("d.m.Y H:i:s");
echo $date; // Пример 18.05.2012 20:04:25
?>
PHP изпълнява кода в рамките на своите граници – кода между <?php и
?>. В зависимост от настройките на сървъра, за отваряща граница може да се
използва само <?, но това не се препоръчва. Всичко извън рамките се изпраща
директно към изхода, без да бъде изпълнявано от PHP. Горният пример е
еднакъв с долния текст (и наистина е конвертиран в този вид):
Здравей, свят!
Предимство на PHP е, че позволява командите му да бъдат влагани в
HTML документите, като крайните потребители не могат да видят изходния
код написан на PHP, който преработва всичко извън рамките му:
<?php
19
// PHP код
?>
обикновен HTML код
<?
// още PHP код
?>
2.2.2.4. Предимства на езика
PHP работи на множество операционни системи (Unix, Linux, Windows,
BSD, Mac OS X) и множество уеб сървъри – Apache, lighttpd, IIS
PHP е лесен за разработване
PHP е безплатен и се разпространява под лиценза на BSD
PHP може да бъде лесно модифициран и адаптиран към нуждите на
прилагащата го организация
PHP е създаден и пригоден за разработката на уеб приложения
PHP не изисква особени умения от разработчици работили на структурни
езици – езикът е с прост и интуитивен синтаксис за такива разработчици
PHP е широко разпространен поради простотата си. Има много
програмисти, което води до по-евтино платен персонал във фирмите, по ниска
цена на приложенията за клиентите и още по-голяма използваемост.
Поддръжката за PHP разработчици е гарантирана от множеството форуми и
приложения на общността.
По аналогия с Perl към стандартните класове на PHP могат да бъдат
писани и много допълнителни модули
PHP поддрържа следните системи за управление на бази от данни:
IBM DB2 – formix – Ingres, Microsoft SQL Server (MS SQL), mSQL,
MySQL, Oracle, PostgreSQL, Sybase
PHP поддържа и ODBC
2.2.2.5. Критики
В по-старите версии на езика по подразбиране съществува
функционалност, чрез която крайните потребители могат да подават направо
променливи към PHP скрипта (register_globals). Настройката по подразбиране е
премахната от версия 4.2.0, но съществуват все още много стари приложения,
които предполагат употребата на тази функция.
20
PHP не поддържа напълно Unicode. Пълната поддръжка се предвижда в
PHP 6.
PHP не поддържа именни пространства до версия 5.3 на езика – т.е.
всички функции се намират в едно именно пространство.
Съществуват много функции на библиотеки с идентична
функционалност.
Няма изградена конвенция за именуване и подреждане на аргументите на
вградените функции в PHP, което прави необходимо постоянно консултиране с
документация при работа с PHP.
PHP няма вградена поддръжка на нишки (threads), което прави
обработката на големи масиви от данни много трудна: страницата не се зарежда
преди целият масив от данни да е преработен и ако потребителят прекъсне
зареждането ѝ (и уеб сървърът разрешава прекъсване на заявката), прекъсва и
обработката на данните.
Обръщенията към неинициализирани променливи и елементи на масив са
разрешени в PHP, което прави възможно допускането на трудни за откриване
правописни грешки.
PHP използва т. нар. "magic quotes", които са създадени с цел да
предпазват начинаещите програмисти, но объркват по-напредналите.
Понякога се среща неконсистентност между поведението на PHP в
различните версии, което предизвиква необходимостта от пренаписване на
скриптовете, писани за стари версии на езика.
2.2.2.6. Модули за достъп до база от данни
PHP поддържа връзки към следните СУБД (Системи за Управление на
База от Данни) – MySQL, PostgreSQL, SQLite ja Oracle. Освен това чрез ODBC
съществува и общ интерфейст със следните СУБД – Adabas D, IBM DB2,
iODBC, Solid и Sybase SQL Anywhere. (3)
2.2.3. MySQL
MySQL е многопоточна, многопотребителска, SQL система за управление
на бази данни (СУБД) с повече от шест милиона инсталации.
MySQL AB разпространява MySQL като свободен софтуер под GNU
General Public License (GPL), но също така под традиционните за комерсиален
софтуер лицензи за случаи, когато използването е несъвместимо с GPL.
Подобно разпространение е известно като двойно лицензиране.
21
MySQL се разработва, разпространява и поддържа от Шведската
компания MySQL AB, която държи авторските права за голяма част от
програмния код. Подобен e моделът на JBoss а също и начинът по който Free
Software Foundation работи с авторските права по нейните проекти в отличие от
Apache проекта, където софтуерът е обществено разработван, а авторските
права за програмния код принадлежат на индивидуалните автори.
Компанията разработва и поддържа системата, продава поддръжка и
сервизни договори, както и комерсиални лицензи за MySQL, и наема хора от
целия свят които работят съвместно с помощта на интернет. MySQL AB е
основана от Давид Аксмарк, Алан Ларсон, и Михаел „Монти“ Видениус през
2001.
MySQL продава също и друга DBMS, MaxDB, която е с напълно различен
код.
Достъпни са програмни интерфейси, позволяващи програми, написани на
различни програмни езици да имат достъп до MySQL бази данни. Такива са: C,
C++, C#, Delphi (чрез dbExpress), Eiffel, Smalltalk, Java (с директна поддръжка),
Lisp, Perl, PHP, Python, Ruby, REALbasic (Mac), FreeBasic, и Tcl, като всеки от
тях има специфичен програмен интерфейс. Интерфейс тип ODBC наречен
MyODBC позволява на други програмни езици, които поддържат ODBC
интерфейс да комуникират с MySQL база данни, например: ASP или Coldfusion.
MySQL е написан основно на ANSI C.
2.2.3.1. Приложение
MySQL е популярна за интернет приложения като MediaWiki или Drupal
и е база данни в LAMP, MAMP и WAMP платформи (Linux/Mac/Windows-
Apache-MySQL-PHP/Perl/Python), и за софтуера с отворен код Bugzilla –
приложение за проследяване на грешки. Нейната популярност като интернет
приложение е тясно свързана с полулярността на PHP, като често, комбинирани
с MySQL, са наречени Динамичното дуо. Лесно е да се намерят много
източници, които ги комбинират в интернет статии или книги (PHP and MySQL
for Dummies, PHP and MySQL Bible, Beginning PHP and MySQL, и други) В тези
книги се твърди, че MySQL е по-лесен за изучаване от други бази данни. В
пример от книгата за глупаци се посочва, че от MySQL може да се излезе с
командите exit или quit, но това е вярно и за много други бази данни.
2.2.3.2. Администриране
За администриране на MySQL може да се използва включеното
приложение работещо от Командна линия (командите: mysql и mysqladmin).
22
Също достъпни за сваляне от интернет сайта на MySQL са GUI приложения за
администриране: MySQL Administrator и MySQL Query Browser.
Широкоразпросранена и популярна алтернатива, написана на PHP, е
софтуерът с отворен код phpMyAdmin, Database Master – MySQL and SQLtite
Manager.
2.2.3.3. Спецификация
Платформа
MySQL работи на много различни Платформи—включващи AIX, BSDi,
FreeBSD, HP-UX, GNU/Linux, Mac OS X, NetBSD, Novell NetWare, OpenBSD,
OS/2 Warp, QNX, SGI IRIX, Solaris, SunOS, SCO OpenServer, SCO UnixWare,
Tru64, Windows 95, Windows 98, Windows ME, Windows NT, Windows 2000,
Windows XP и други версии на Windows. MySQL е прехвърлена и на OpenVMS,
достъпна от.
Последна версия на продукта
От началото на 2009 г. MySQL предлага официална версия 5.1.32. Тя има
следните възможности:
ANSI SQL 99 – частично, както и разширения
Междуплатформена поддръжка
Съхранени процедури
Тригери (triggers)
Указатели (Cursors)
Обновяеми изгледи (Views)
Пълна поддръжка на VARCHAR
INFORMATION_SCHEMA
Стриктен режим (Strict mode)
Поддържа X/Open XA разпределена обработка на транзакции (DTP);
запазване в две стъпки (two phase commit) като част от това използвайки
InnoDB на Oracle
Независими хранилища (storage engines) (MyISAM оптимизирано за
висока скорост, InnoDB за транзакции и запазване на връзките (referential
integrity), Archive за архивиране на данни в по-малко пространсво и други)
Транзакции с InnoDB, BDB и Cluster хранилища; възстановителни точки
(savepoints) използвайки InnoDB
Поддръжка на SSL
Кеширане на запитвания (Query caching)
Вложени заявки (sub selects)
23
Репликация от тип "Главен" – "Подчинен" (master/slave), много
"подчинени" и един "главен", не поддържа автоматично много "главни" за един
"подчинен" (multiple masters per slave).
Пълнотекстово индексиране и търсене с MyISAM
"Вграден" вариант (embedded library)
Пълна поддръжка на Unicode
Съвместима с ACID при използване на InnoDB, BDB и Cluster хранилища
Клъстър – разпределена обработка от тип "без споделен ресурс" Shared
Nothing чрез MySQL Cluster
2.2.3.4. Бъдещи версии
На MySQL 5.1 roadmap можем да видим, че се очаква:
• логическо разделяне(Partitioning)
• Възможност за архивиране на всички типове хранилища по време
на работа
• Репликация в режим защита от грешки (Fail-safe replication)
• Ограничения на ниво колона (Column-level constraints)
• Планиране на събития (Event Scheduling)
• XML функции
Foreign key поддръжка за всички хранилища най-вероятно ще има в
MySQL 5.2 (присъстваща от версия 3.23 за InnoDB).
Текущата развойна версия на MySQL 5.1 е 5.1.11 beta
По какво се отличава
Следните възможности са само на MySQL, но не и на други РСУБД:
Множество хранилища (MyISAM, Merge, InnoDB, BDB, Memory/heap,
Cluster, Federated, Archive, CSV, Blackhole and Example in 5.x), давайки
възможност да се избере най-ефективното за всяка таблица в приложението.
2.2.3.5. Различни подборки
Има 3 типа подборки на MySQL сървър:
• Стандарна: MySQL-стандартна е препоръчителна за повечето от
потребителите и включва InnoDB хранилище.
• Максимална (Max): (това не е MaxDB, която е разработвана в
сътрудничество със SAP) mysqld-max Extended MySQL Server.
MySQL-максимална включва допълнителни възможности, които
могат да не бъдат достатъчно тествани и не са необходими
обикновено.
24
• MySQL-Debug е компилирана по начин по който се улеснява
трасировката на грешки, но не е предназначена за по вседневно
използване, защото наличието на допълнителни инструкции може
да намали производителността.
Започвайки с MySQL 5.1, MySQL AB вече не предлага тези 3 версии. Ще
има само една подборка "MySQL server package", която включва mysqld със
цялостна функционалност и всички хранилища. Вместо да се предлага
допълнителна подборка за трасиране на грешки, тя ще се включва в
предлагания пакет и ще се нарича mysqld-debug.
2.2.3.6. Какво е специфично за изходния код
MySQL е написана на C. SQL анализатора(parser) използва yacc и
"домашен" lexer. Документ описващ някои от вътрешните структури на кода и
начина за програмиране е достъпен от Интернет сайта на MySQL (en).
2.2.3.7. Поддръжка
MySQL AB предлага поддръжка чрез MySQL Network, включително 24/7
30-минути време за реакция, като екипа за поддръжка има директен достъп до
програмисти при нужда за решаване на възникнали проблеми. Като допълнение
там могат да се намерят форуми и пощенски списъци а други потребители и
работещи във фирмата често могат да бъдат видени на няколко IRC канала за
помощ.
Членовете на MySQL Network имат достъп до програми, сертифицирани
за техните операционни системи и обновления с много по-малка честота от
общодостъпната версия (Community Edition) на MySQL. MySQL Network
поддържа няколко нива на членство базирани въз основа на важността и
неотложността на проблема както и времето за реакция.
2.2.3.8. Лицензиране
Продуктът MySQL сървър и клиентските библиотеки са
разпространявани под двоен лиценз. Потребителите могат да изберат GNU
General Public License , който MySQL разшири с FLOSS изключение от
лиценза(License Exception). То позволява програма лицензирана под друг OSI-
съвместим лиценз с отворен код, несъвместими с GPL, да се свържат с
клиентските библиотеки на MySQL.
Клиенти, които не желаят да бъдат ограничавани от GPL могат да закупят
комерсиален лиценз.
25
Някои потребители индивидуално продължават разработката върху по-
ранни версии на клиентските библиотеки, които бяха разпространявани под по-
малко рестриктивния Lesser General Public License.
2.2.3.9. Критики за MySQL
Ранните версии на MySQL включват само няколко стандартни
възможности на релационна СУБД (RDBMS). Дори и в текущата версия
липсват доста стандартни възможности, присъстващи в други РСУБД. Това
накара много експерти по бази данни да критикуват MySQL, че няма
възможностите да бъде РСУБД. Теоретици на ралацинния модел като Крис
Дайт, Фабиан Паскал, Е.Ф. Код, Хю Даруен и техни последователи го твърдят,
защото тя не отговаря на няколко от 12-те правила на Код и като всяка друга
SQL СУБД тя не трябва да се счита релационна.
Много от ранните критики бяха оправени в по-късни версии, включвайки
липсата на транзакции и интегритет на връзките (relational integrity constraints).
Тези възможности са небходими за поддръжка на "ACID" за релационни бази
данни, който позволява на СУБД да изолира приложенията, така че те да не
могат да поставят други или непълни данни. Други критики включват
отклоняването на MySQL от SQL стандарта по начина на обработка на "NULL"
значенията и тези по подразбиране. Нейния начин за обработка на дати
позволява да има дни след последния ден на месеца ако той е с по-малко от 31
дена а аритметичните операции са уязвими на целочислено препълване или
окастряне на числа с плаваща запетая. Тези данни се обработват по стандартите
на SQL в MySQL версия 5 чрез използването на специални SQL режими.
В предишните версии на упътването на MySQL се изяснява, че няколко от
липсващите функционалности (предимно за съвместимост с SQL СУБД) са
безполезни или дори вредни и потребителите биха били по-добре без тях. Една
глава със заглавие "Причините да не се използват Foreign Keys ограничения" ,
съветва потребителите, че проверката на целостта на връзките (relational-
integrity) е трудна за използване и усложнява приложението и единствената
полза би била да позволи програми да изчертават връзките между таблиците в
базата данни. Друга глава твърди, че СУБД без поддръжка на транзакции може
да осигури целостта на данните по същия начин, както и такава поддържаща ги,
без да се има предвид разликата между интегритет на транзакциите и запазване
на данни, когато токът спре. Тъй като тези твърдения противоречат на
основните принципи на дизайна на релационна база данни, MySQL е взета на
подигравка от някои експерти по бази данни. Без значение дали те са прави или
не, тези твърдения са "забравени" в по-новите версии на упътването. MySQL
сега поддържа преди "ненужните" транзакции и цялост на връзките.
26
Когато тестовата версия на MySQL 5.0 е пусната през март 2005, Дейвид
Аксмарк(David Axmark), съучредител на MySQL, казва: "Хората критикуваха
MySQL, откакто започнахме, че нямаме съхранени процедури, тригери, и
изгледи ("People have been criticising MySQL since we started for not having stored
procedures, triggers and views,") и "Ние елиминираме 10 години критики в една
версия"("We're fixing 10 years of criticism in one release."). MySQL 5.0 от 13
октомври – 5.0.15 е пусната официално на 24 октомври 2005, след повече от два
милиона сваляния по време на тестовия период на 5.0.
Критиците смятат, че популярността на MySQL е учудваща при наличие
на други проекти на бази данни с отворен код със сходна производителност и
по-близко до SQL стандартите. Защитниците на MySQL отговарят, че
програмата върши очакваното от потребителите, желаещи да приемат нейните
ограничения (намаляващи със всяка следваща версия) в замяна на скорост,
простота и бърза разработка.
2.2.3.10. Лицензни проблеми
Някои потребители критикуват позицията на MySQL AB относно
лицензирането. Някой проекти с отворен код като Asterisk PBX, намалиха
поддръжката на MySQL заради загриженост относно лицензирането. Освен
това има спор относно разпространяването на библиотеки с отворен код на
MySQL с други приложения с отворен код. Най голямата полемика се появи с
PHP – имащ лиценз несъвместим с GPL. Този проблем се разреши по-късно
след като MySQL създаде изключение от лиценза изрично позволяващо
включването на клиентската библиотека на MySQL в други проекти с отворен
код отговарящи на лицензите с отворен код включително лиценза на PHP.
През септември 2005, MySQL AB и SCO създадоха "партньорство" за
"съвместна сертификация, пласиране, продажби, търговия и разработка за
комерсиалната версия на базата данни за новата версия на Unix OpenServer 6 на
SCO". От началото на 2003 SCO атакува линукс с поредица от патентни дела
свързани с операционната система Linux срещу големи компании. Някои от
работниците на MySQL изказаха мнение, че компанията е загрижена за
крайните си потребители, независимо от избора им на операционна система и
че компанията ще остави на съда да реши и че и други бази данни с отворен код
са пренесени и поддържат SCO OpenServer.
През октомври 2005, Oracle Corporation придоби Innobase Oy, финландска
компания разработваща хранилището InnoDB позволяващо на MySQL да
работи с транзакции и "foreign keys". В комюнике на Oracle издадено след
придобиването се споменава че договора, позволяващ на MySQL AB да
използва кода на хранилището трябва да бъде подновен (и може би
27
предоговорен) през 2006. По време на Конференция на потребителите на
MySQL през април 2006, MySQL издаде комюнике в което потвърди, че
MySQL и Innobase Oy са се разбрали за многогодишно подновяване на техния
договор.
През февруари 2006, Oracle Corporation придоби Sleepycat Software,
производителя на Berkeley DB, друго от хранилищата, използвани от MySQL.
(4)
2.2.4. PhpMyAdmin
phpMyAdmin е уеб базиран инструмент за администрация на MySQL.
Написан е на PHP.
С негова помощ могат да се извършват следните действия: създаване и
изтриване на база данни, създаване/изтриване/променяне на таблици,
добавяне/изтриване и редактиране на полета, изпълнение на SQL код и
менажиране на ключове (keys). (5)
2.2.5. NetBeans
NetBeans IDE е безплатна интегрирана среда за разработка (Integrated
Development Environment), за софтуерни разработчици. Предоставя всички
необходими инструменти за създаването на desktop, web и мобилни
приложения на програмни езици като Java, C/C++, дори и на динамични като
PHP, JavaScript, Groovy и Ruby.
NetBeans IDE е лесна за инсталиране и използване, и работи на много
платформи, включително Windows, Linux, Mac OS X и Solaris. (6)
2.3. Функционални възможности
Основната идея за разработването на специализираното приложение е
своевременно и ефективно разпределение на значителен обем от заявени
поръчки до клиенти и доставчици. За тази цел ще разгледаме функционалните
възможности на софтуера.
За да е своевременно разпределението са въведени часове на тръгване на
автомобилите, като часовете са съобразени с зареждането на магазина и
необходимо времето, което е нужно за да се върне автомобила обратно в
обекта.
28
За да е ефективно разпределението са въведени клиентите на фирмата,
като предварително са групирани по:
 Обект – магазин които обслужва даден клиент
 Посока – в кои район се намира даден клиент
 Последователност – близостта на даден клиент до обекта
Приложението е разработено в четири основни групи потребители,които
са: Продавач консултанти, Склададжии, Централен склад и за малките обекти.
Разпределението става още в самия вход на софтуера.След като преминат
всички проверки се зарежда съответния прозорец на потребителя.
Фиг.3 Главен прозорец
На фигура 3 е изобразен главния прозорец на специализираното
приложението, което е разделено на три части:
 Лява част – Главно меню;
 Централна част – Основен прозорец
 Дясна част – Информация.
29
2.3.1. Главно меню
В главното меню са операциите които могат да се извършват от продавач
консултантът.
Основните действия са:
 Авто сервизи – заявка за сервиз;
 Справка Авто Сервиз – колко заявки има за сервизи;
 Авто Зареждане – заявка за зареждане от доставчици;
 Справка Авто Зареждане – колко заявки има за зареждане;
 Район Зареждане – заявка за зареждане от доставчици,които се
намират в районна на друг магазин;
 Приемане/Предаване – приемане и предаване на заявена стока от
друг магазин.
Всички тези действия се отварят в основния прозорец,които се намира
в централната част на главния прозорец.
2.3.2. Основен прозорец
Основния прозорец е разделен на горна и долна част. Горната част е
форма за въвеждане на клиент и филтриране на заявки, а в долната част се
извеждат резултатите от заявки и формите за въвеждане на заявените поръчки
от клиентите.
2.3.3. Информация
В прозореца информация са изведени:
 Инфо Авто Сервизи – дава информация за часа на тръгване на
автомобилите, оставащо време до тръгване и следващия час на
тръгване;
 Стока Авто Сервизи – дава информация за колко заявки има за
събиране на стока и колко от заявените заявки са събрани;
 Стока Авто Зареждане – дава информация за колко заявки има за
зареждане от доставчици и колко от заявените заявки са изпълнени
 Приемане/Предаване – дава информация за колко има за приемане и
предаване на стока от другите магазини.
30
2.3.4. Авто сервиз
Фиг.4 форма за въвеждане на клиент
От фигура 4 се вижда формата за въвеждане на клиент, която се намира в
горната част на основния прозорец. Продавач-консултантът (дилърът) въвежда
клиента, на когото е приел поръчката след като е въведена в ERP системата на
фирмата. Търсенето става динамично, като в падащото меню излизат първите
пет резултата от търсенето, както се вижда от фигура 4. След избиране на
клиента и дата се преминава във формата за въвеждане на заявката, която се
намира в долната част на основния прозорец.
31
Фиг.5 форма за въвеждане на заявка
От фигура 5 се вижда формата за въвеждане на заявка, където продавач
консултанта въвежда номера на документа от ERP системата на фирмата и
коментар. Избира часа на тръгване на автомобила,от падащото меню, от което
дилърите могат да изберат само часовете на тръгване на автомобилите, които са
след текущия час на проверката (не може да се търсят минали събития). След
добавяне на автомобила неговата заявка се вижда в долната част на основния
прозорец и се записва в базата данни.
32
Фиг.6 заявените заявки на продавач консултанта
От фигура 6 се виждат заявените заявки на продавач консултанта, които
получава обратна връзка от склададжията. В колоната стока от таблицата
червените кръгчета означава, че заявената стока още не е събрана. Когато
стоката е събрана и се отбележи в приложението от склададжията се променя
кръгчето в зелено. След като е събрана стоката и е изпратен автомобила
заявената поръчка изчезва от таблицата.
Таблицата съдържа следната информация:
 от Лозен;
 контрагент;
 посока;
 час на тръгване;
 дата;
 номер на документа;
 коментар;
 стока;
33
 edit/delete.
2.3.5 Справка Авто сервиз
Фиг.7 Справка Авто Сервиз
На фигура 7 е показана справката авто сервиз, където в горната част на
основния прозорец е формата за филтриране на заявка към базата данни.
Филтрите, които се задават са:
 дата;
 час на тръгване;
 посока.
Ако не са зададени никакви филтри от потребителя, по подразбиране се
задават филтри към днешна дата и час на тръгване по-голям от текущия. Има
възможност за разпечатване на таблицата.
Информацията, която се извежда от заявката в таблицата е:
 контрагент;
 номер на документ;
 посока;
 час на тръгване;
 коментар;
 стока;
34
 час на запис;
 потребител.
2.3.6 Авто зареждане
Фиг.8 Авто Зареждане
На фигура 8 е показан Авто Зареждане, където в горната част на
основния прозорец се намира търсачката, в която отново търсенето е
динамично. От падащото меню излизат първите пет резултата. След избиране
на доставчика се преминава към формата за въвеждане на заявка за доставка,
която е показана на фигура 9. Формата се отваря в долната част на основния
прозорец. Във формата се въвеждат артикул, брой, коментар и се избира час на
тръгване на автомобила.
35
Фиг.9 формата за въвеждане на заявка за доставка
Часа на тръгване на автомобилите в падащото меню, от което дилърите
могат да изберат само часовете на тръгване на автомобилите, които са след
текущия час на проверката (не може да се търсят минали събития).
След добавяне на автомобила неговата заявка се вижда в долната част на
основния прозорец, които е показан на фигура 10 и се записва в базата данни.
Тя съдържа следната информация:
 изпратен;
 доставчик;
 артикул;
 брой;
 коментар;
 час на тръгване;
 час на запис;
 edit/delete.
36
Фиг.10 заявените заявки на продавач консултанта за зареждане
2.3.7. Справка авто зареждане
На фигура 11 е показана справката авто зареждане, където в горната част
на основния прозорец, е формата за въвеждане на филтри за заявка към базата
данни. Филтрите, които могат да се зададат са:
 дата;
 час на тръгване от – до;
 изпратени;
 шофьор.
В долната част на основния прозорец се извеждат резултатите от заявката
в таблица. Информацията, която се съдържа в нея е:
 доставчик;
 артикул;
 брой;
 коментар;
 шофьор;
 час на тръгване;
37
 потребител;
 изпратен;
 взет.
Фиг.11 Справка Авто Зареждане
2.3.8 Район зареждане
На фигура 12 е показано районното зареждане, където се правят заявки за
доставка на артикули от доставчици, които се намират в районите на друг
магазин. Формата за въвеждане съдържа:
 дата;
 доставчик;
 район;
 избор на час на тръгване;
 артикул;
 брой;
 коментар.
След добавяне на автомобила заявката трябва да се приеме от магазина,
който се намира в района на доставчика.
38
Фиг.12 Районно зареждане
2.3.9. Приемане/Предаване
На фигура 13 е показан приемане/предаване, където се приемат заявките
от другите магазини. След приемане на заявката, тя се записва в таблицата
справка авто зареждане и преминава в долната част на основния прозорец за
предаване. Това дава обратна връзка на дилъра, че неговата заявка е приета и
ще му бъде доставена. След като заявената доставка се изпълни се поставя
отметка „предал“, с което се дава обратна връзка към магазина, който е
направил заявката, че стоката пристига към него.
Информация, която се извежда в двете таблици е:
 cheked all (приел – предал);
 доставчик;
 артикул
 брой;
 коментар;
 час на тръгване;
39
 дата;
 час запис;
 потребител;
 обект.
Фиг.13 Приемане / Предаване
40
ГЛАВА ТРЕТА.
ВНЕДРЯВАНЕ НА СОФТУЕРА И СРАВНИТЕЛЕН АНАЛИЗ ПО
ОТНОШЕНИЕ ПОВИШАВАНЕ НА ЕФЕКТИВНОСТТА НА ДОСТАВКИТЕ И
КАЧЕСТВОТО НА ОБСЛУЖВАНЕ НА КЛИЕНТИ И ДОСТАВЧИЦИ
Основите на теорията за планиране ресурсите на предприятието (ERP) се
създава в края на 60-те
и началото на 70-те
години на миналия век със
започването на използването на компютърните системи в производствените
предприятия. Първите приложения се използват във финансовата сфера.
Компютрите се използват, за да се намали ръчната работа при водене на
счетоводство, изчисляване на заплати, изчисляване на лихви и др. По-нататък
компютрите започват да навлизат и в оперативната работа на предприятието. С
помощта на изчислителната техника започват да се обработват процесите по
планиране, създаване на графици и поръчка на материали. Това приложение е
известно като планиране на материалните ресурси (MRP). До края на 70-те, с
навлизането на компютрите, все по-голяма част от предприятията започват да
въвеждат MRP за по-добро управление на бизнеса. Компаниите започват да
използват масово този нов инструмент, който им позволява да управляват по-
добре наличните си запаси от материали и продукция, да намаляват сроковете
за доставки на материали, да намаляват стойността на доставките и да
подобряват изпълнението на клиентските си поръчки в обещаните срокове.
С по-широкото навлизане на MRP предприятията започват да разбират, че
за да увеличат ползите от правилното планиране на доставката на материали е
необходимо те да бъдат свързани и с планиране на производствения капацитет
на предприятието. Започва да се заражда второ поколение на MRP, което е
наречено планиране на производствените ресурси (MRPII), което разширява
обхвата на планирането. MRPII включва в себе си планиране на материалните
ресурси (MRP) и планиране на производствения капацитет (CRP). По този
начин предприятията могат да планират както необходимите материали така и
натовареността на производствените си мощности.
Последните версии на системите за управление на бизнеса са познати
като планиране ресурсите на предприятието (ERP). При тях освен
възможностите на MRPII се включват процесите свързани с висшето
ръководство на фирмата, продажбите, проектирането, управлението на
финансите и контрола на качеството.
41
3.1. Десетте стъпки, през които трябва да се премине за успешно
внедряване на софтуер
Най-трудната част при внедряване на софтуер е самото започване.
Познаването на философията на софтуер и разбирането на концепцията му е
съвсем различно от това как да внедрим софтуер в предприятие. Внедряването
на софтуер в предприятието е свързано с промяна на начина на работа почти в
цялата организация. За успешното протичане на внедряването е необходимо
преминаването през следните 10 стъпки:
1. Обучение
2. Ръководство
3. Оценка
4. Измерване на постигнатото
5. Отговорност
6. Разбирателство
7. Организация
8. Планиране
9. Бизнес процеси
10. Софтуер
3.1.1. Обучение
Процеса на обучението се разделя на три основни фази. Първата е
обучение на висшия управленски състав. Най-подходящо за това обучение е
посещаването на няколко дневен курс, който да включва основните принципи
на софтуер. Промените които трябва да се направят в организацията, ролята на
ръководството при внедряването, измерване на постигнатото и стъпките през
които трябва да премине внедряването. В това обучение е добре да участва
целия ръководен състав. По този начин целия екип ще постигне общо виждане
и съгласие за бъдещето на компанията.
Втората фаза на обучение е насочена към оперативните ръководители.
Обикновено това са 10-25% от персонала. То трябва да започне не по-късно от
30 дни след обучението на ръководния състав. Обучението е насочено към
ръководителите на отдели, ръководители на екипи и други ключови позиции в
оперативната работа на компанията.
Третата фаза на обучение е насочена към останалата част от работниците
и служителите в компанията. За успешното внедряване на софтуер е
необходимо участието на 90-100% от личния състав на компанията. Всеки
човек е необходимо да премине през теоретично и практическо обучение
Ivanov 176 ibz
Ivanov 176 ibz
Ivanov 176 ibz
Ivanov 176 ibz
Ivanov 176 ibz
Ivanov 176 ibz
Ivanov 176 ibz
Ivanov 176 ibz
Ivanov 176 ibz
Ivanov 176 ibz
Ivanov 176 ibz
Ivanov 176 ibz
Ivanov 176 ibz
Ivanov 176 ibz
Ivanov 176 ibz
Ivanov 176 ibz
Ivanov 176 ibz
Ivanov 176 ibz
Ivanov 176 ibz

More Related Content

Similar to Ivanov 176 ibz

Презентация на eCompany.Pro
Презентация на eCompany.ProПрезентация на eCompany.Pro
Презентация на eCompany.ProMoby2 Ltd.
 
BG PROSPER - Module 1 - Unit 3.pptx
BG PROSPER - Module 1 - Unit 3.pptxBG PROSPER - Module 1 - Unit 3.pptx
BG PROSPER - Module 1 - Unit 3.pptxcaniceconsulting
 
Internet systoqnie
Internet systoqnieInternet systoqnie
Internet systoqnielazzi
 
Internet systoqnie
Internet systoqnieInternet systoqnie
Internet systoqnielazzi
 
Internet systoqnie
Internet systoqnieInternet systoqnie
Internet systoqnielazzi
 
Internet systoqnie
Internet systoqnieInternet systoqnie
Internet systoqnielazzi
 
Tema 4 Sectoral analysis 2019
Tema 4 Sectoral analysis 2019Tema 4 Sectoral analysis 2019
Tema 4 Sectoral analysis 2019Dimitar Blagoev
 
Developing the platform “My Great Company” for information technology entrepr...
Developing the platform “My Great Company” for information technology entrepr...Developing the platform “My Great Company” for information technology entrepr...
Developing the platform “My Great Company” for information technology entrepr...EkaterinaAnachkova
 
IO3 Module 5 Business plan presentation BG
IO3 Module 5 Business plan presentation BGIO3 Module 5 Business plan presentation BG
IO3 Module 5 Business plan presentation BGcaniceconsulting
 
Софтуерно решение за рекламния и медиен бранш
Софтуерно решение за рекламния и медиен браншСофтуерно решение за рекламния и медиен бранш
Софтуерно решение за рекламния и медиен браншTeamAspects
 
IMPROVING THE EFFECTIVENESS OF THE REGIONAL STRUCTURE OF THE NATIONAL STATIST...
IMPROVING THE EFFECTIVENESS OF THE REGIONAL STRUCTURE OF THE NATIONAL STATIST...IMPROVING THE EFFECTIVENESS OF THE REGIONAL STRUCTURE OF THE NATIONAL STATIST...
IMPROVING THE EFFECTIVENESS OF THE REGIONAL STRUCTURE OF THE NATIONAL STATIST...Светла Иванова
 
Bs business plan
Bs business planBs business plan
Bs business planglubox
 
SEMCamp Sofia Bulgaria 03.04.2014
SEMCamp Sofia Bulgaria 03.04.2014SEMCamp Sofia Bulgaria 03.04.2014
SEMCamp Sofia Bulgaria 03.04.2014Optimization.bg
 
Onlinet teaser 2010
Onlinet teaser 2010Onlinet teaser 2010
Onlinet teaser 2010nickpenev
 
Създаване на сайт за рекламна агенция - Курсова работа
Създаване на сайт за рекламна агенция - Курсова работаСъздаване на сайт за рекламна агенция - Курсова работа
Създаване на сайт за рекламна агенция - Курсова работаAnita Nestorova
 
Брошура Моби2
Брошура Моби2Брошура Моби2
Брошура Моби2Moby2 Ltd.
 
Brochure Moby2
Brochure Moby2Brochure Moby2
Brochure Moby2Moby2 Ltd.
 

Similar to Ivanov 176 ibz (20)

Презентация на eCompany.Pro
Презентация на eCompany.ProПрезентация на eCompany.Pro
Презентация на eCompany.Pro
 
BG PROSPER - Module 1 - Unit 3.pptx
BG PROSPER - Module 1 - Unit 3.pptxBG PROSPER - Module 1 - Unit 3.pptx
BG PROSPER - Module 1 - Unit 3.pptx
 
Internet systoqnie
Internet systoqnieInternet systoqnie
Internet systoqnie
 
Internet systoqnie
Internet systoqnieInternet systoqnie
Internet systoqnie
 
Internet systoqnie
Internet systoqnieInternet systoqnie
Internet systoqnie
 
Internet systoqnie
Internet systoqnieInternet systoqnie
Internet systoqnie
 
Tema 4 Sectoral analysis 2019
Tema 4 Sectoral analysis 2019Tema 4 Sectoral analysis 2019
Tema 4 Sectoral analysis 2019
 
Developing the platform “My Great Company” for information technology entrepr...
Developing the platform “My Great Company” for information technology entrepr...Developing the platform “My Great Company” for information technology entrepr...
Developing the platform “My Great Company” for information technology entrepr...
 
IO3 Module 5 Business plan presentation BG
IO3 Module 5 Business plan presentation BGIO3 Module 5 Business plan presentation BG
IO3 Module 5 Business plan presentation BG
 
Софтуерно решение за рекламния и медиен бранш
Софтуерно решение за рекламния и медиен браншСофтуерно решение за рекламния и медиен бранш
Софтуерно решение за рекламния и медиен бранш
 
IO3 Module 5 BG
IO3 Module 5 BGIO3 Module 5 BG
IO3 Module 5 BG
 
IMPROVING THE EFFECTIVENESS OF THE REGIONAL STRUCTURE OF THE NATIONAL STATIST...
IMPROVING THE EFFECTIVENESS OF THE REGIONAL STRUCTURE OF THE NATIONAL STATIST...IMPROVING THE EFFECTIVENESS OF THE REGIONAL STRUCTURE OF THE NATIONAL STATIST...
IMPROVING THE EFFECTIVENESS OF THE REGIONAL STRUCTURE OF THE NATIONAL STATIST...
 
10.01.2011_PRaktiki_Newsletter
10.01.2011_PRaktiki_Newsletter10.01.2011_PRaktiki_Newsletter
10.01.2011_PRaktiki_Newsletter
 
Bs business plan
Bs business planBs business plan
Bs business plan
 
SEMCamp Sofia Bulgaria 03.04.2014
SEMCamp Sofia Bulgaria 03.04.2014SEMCamp Sofia Bulgaria 03.04.2014
SEMCamp Sofia Bulgaria 03.04.2014
 
Onlinet teaser 2010
Onlinet teaser 2010Onlinet teaser 2010
Onlinet teaser 2010
 
MMD Scale Presentation
MMD Scale   PresentationMMD Scale   Presentation
MMD Scale Presentation
 
Създаване на сайт за рекламна агенция - Курсова работа
Създаване на сайт за рекламна агенция - Курсова работаСъздаване на сайт за рекламна агенция - Курсова работа
Създаване на сайт за рекламна агенция - Курсова работа
 
Брошура Моби2
Брошура Моби2Брошура Моби2
Брошура Моби2
 
Brochure Moby2
Brochure Moby2Brochure Moby2
Brochure Moby2
 

More from Tania Bozhova

Tema 4 realisazione di video
Tema 4 realisazione di videoTema 4 realisazione di video
Tema 4 realisazione di videoTania Bozhova
 
Web television tecnologie,modelli e futuro della nuova tendenza di massa
Web television tecnologie,modelli e futuro della nuova tendenza di massaWeb television tecnologie,modelli e futuro della nuova tendenza di massa
Web television tecnologie,modelli e futuro della nuova tendenza di massaTania Bozhova
 
Strategies for the age of digital disruption #dtr7
Strategies for the age of digital disruption #dtr7Strategies for the age of digital disruption #dtr7
Strategies for the age of digital disruption #dtr7Tania Bozhova
 
Power point presentazione
Power point presentazionePower point presentazione
Power point presentazioneTania Bozhova
 
Nadezda diplomna text
Nadezda diplomna textNadezda diplomna text
Nadezda diplomna textTania Bozhova
 
La stop motion come risorsa
La stop motion come risorsaLa stop motion come risorsa
La stop motion come risorsaTania Bozhova
 
Creazione di video tutorial in un corso moodle
Creazione di video tutorial in un corso moodleCreazione di video tutorial in un corso moodle
Creazione di video tutorial in un corso moodleTania Bozhova
 
Magix video easy_terratec_edition_manual_it
Magix video easy_terratec_edition_manual_itMagix video easy_terratec_edition_manual_it
Magix video easy_terratec_edition_manual_itTania Bozhova
 
Magix video easy_terratec_edition_manual_it
Magix video easy_terratec_edition_manual_itMagix video easy_terratec_edition_manual_it
Magix video easy_terratec_edition_manual_itTania Bozhova
 
Formazione videomaking
Formazione videomakingFormazione videomaking
Formazione videomakingTania Bozhova
 
Развитие на психиката в детска- юношеска възраст
Развитие на психиката в детска- юношеска възрастРазвитие на психиката в детска- юношеска възраст
Развитие на психиката в детска- юношеска възрастTania Bozhova
 
Проф.Румен Вълчев Междукултурното образование
Проф.Румен Вълчев Междукултурното образование Проф.Румен Вълчев Междукултурното образование
Проф.Румен Вълчев Междукултурното образование Tania Bozhova
 
Интерактивни методи и групова работа
Интерактивни методи и групова работаИнтерактивни методи и групова работа
Интерактивни методи и групова работаTania Bozhova
 

More from Tania Bozhova (14)

Tema 4 realisazione di video
Tema 4 realisazione di videoTema 4 realisazione di video
Tema 4 realisazione di video
 
Web television tecnologie,modelli e futuro della nuova tendenza di massa
Web television tecnologie,modelli e futuro della nuova tendenza di massaWeb television tecnologie,modelli e futuro della nuova tendenza di massa
Web television tecnologie,modelli e futuro della nuova tendenza di massa
 
Strategies for the age of digital disruption #dtr7
Strategies for the age of digital disruption #dtr7Strategies for the age of digital disruption #dtr7
Strategies for the age of digital disruption #dtr7
 
Power point presentazione
Power point presentazionePower point presentazione
Power point presentazione
 
Nadezda diplomna text
Nadezda diplomna textNadezda diplomna text
Nadezda diplomna text
 
La stop motion come risorsa
La stop motion come risorsaLa stop motion come risorsa
La stop motion come risorsa
 
Creazione di video tutorial in un corso moodle
Creazione di video tutorial in un corso moodleCreazione di video tutorial in un corso moodle
Creazione di video tutorial in un corso moodle
 
Creazione di video1
Creazione di video1Creazione di video1
Creazione di video1
 
Magix video easy_terratec_edition_manual_it
Magix video easy_terratec_edition_manual_itMagix video easy_terratec_edition_manual_it
Magix video easy_terratec_edition_manual_it
 
Magix video easy_terratec_edition_manual_it
Magix video easy_terratec_edition_manual_itMagix video easy_terratec_edition_manual_it
Magix video easy_terratec_edition_manual_it
 
Formazione videomaking
Formazione videomakingFormazione videomaking
Formazione videomaking
 
Развитие на психиката в детска- юношеска възраст
Развитие на психиката в детска- юношеска възрастРазвитие на психиката в детска- юношеска възраст
Развитие на психиката в детска- юношеска възраст
 
Проф.Румен Вълчев Междукултурното образование
Проф.Румен Вълчев Междукултурното образование Проф.Румен Вълчев Междукултурното образование
Проф.Румен Вълчев Междукултурното образование
 
Интерактивни методи и групова работа
Интерактивни методи и групова работаИнтерактивни методи и групова работа
Интерактивни методи и групова работа
 

Ivanov 176 ibz

  • 1. УНИВЕРСИТЕТ ПО БИБЛИОТЕКОЗНАНИЕ И ИНФОРМАЦИОННИ ТЕХНОЛОГИИ КАТЕДРА “ИНФОРМАЦИОННИ СИСТЕМИ И ТЕХНОЛОГИИ” СПЕЦИАЛНОСТ “ИНФОРМАЦИОННО БРОКЕРСТВО” ДИПЛОМНА РАБОТА на тема: СЪЗДАВАНЕ НА СОФТУЕР ЗА АВТОМАТИЗИРАНЕ И РАЗПРЕДЕЛЕНИЕ НА ДОСТАВКИ ПО ЗАДАДЕНИ ПОРЪЧКИ ОТ КЛИЕНТИ И ДОСТАВЧИЦИ Дипломант: Научен Ръководител:................. Георги Кьосев (проф. д-р И. Иванов) задочно обучение Ф.№ 176-ибз София 2015
  • 2. 2 РЕЗЮМЕ Кьосев Г. Създаване на софтуер за автоматизиране и разпределение на доставки по зададени поръчки от клиенти и доставчици. Научен ръководител проф. д-р И. Иванов. 2015 София. Катедра Информационни системи и технологии, Бакалавър след ПБ „Информационно Брокерство“ ,УНИБИТ. 57 стр. Брой източници –9, приложения – 2, илюстрации – 13. Цели на дипломната работа са : Разработване на софтуер за автоматизиране и разпределение на голям брой от поръчки за повишаване на ефективността и качеството на обслужване на клиенти и доставчици. Основни задачи: • Функционален анализ на фирма, доставяща значителен обем от заявени поръчки. • Разработване на софтуер за разпределение доставката на заявени поръчки. • Тестване на разработения софтуер с реални данни за обслужване на клиенти. • Внедряване на софтуера и сравнителен анализ по отношение повишаване на ефективността на доставките и качеството на обслужване на клиенти и доставчици. Чрез детайлизирано изложение на дългия и трудоемък процес на разработка, стъпка по стъпка, се цели да се разкрият предимствата и изключителната функционалност на специализираното приложение на автора. Дългогодишната подготовка и прилагането на придобитите знания и умения водят до създаването на един рационален, оптимално лесен за ползване и същевременно полезен и икономически изгоден продукт Ключови думи: България; внедряване; разработване; софтуер
  • 3. 3 СЪДЪРЖАНИЕ: УВОД ............................................................................................................................. 4 ГЛАВА ПЪРВА. ФУНКЦИОНАЛЕН АНАЛИЗ НА ФИРМА, ДОСТАВЯЩА ЗНАЧИТЕЛЕН ОБЕМ ОТ ЗАЯВЕНИ ПОРЪЧКИ....................................................................................................... 7 1.1. Функционален анализ на фирмата ............................................................. 7 1.2. Място на ИТ Отдела в Дружеството.......................................................... 8 1.3. Основни проблеми..................................................................................... 11 ГЛАВА ВТОРА. РАЗРАБОТВАНЕ НА СОФТУЕР ЗА РАЗПРЕДЕЛЕНИЕ ДОСТАВКАТА НА ЗАЯВЕНИ ПОРЪЧКИ..................................................................................................................... 13 2.1. Постановка.................................................................................................. 13 2.2. Разработване на специализирано приложение ....................................... 14 2.3. Функционални възможности .................................................................... 27 ГЛАВА ТРЕТА. ВНЕДРЯВАНЕ НА СОФТУЕРА И СРАВНИТЕЛЕН АНАЛИЗ ПО ОТНОШЕНИЕ ПОВИШАВАНЕ НА ЕФЕКТИВНОСТТА НА ДОСТАВКИТЕ И КАЧЕСТВОТО НА ОБСЛУЖВАНЕ НА КЛИЕНТИ И ДОСТАВЧИЦИ............................................................ 40 3.1. Десетте стъпки, през които трябва да се премине за успешно внедряване на софтуер.............................................................................................. 41 3.2. Внедряване на разработения от автора софтуера................................... 45 3.3. Резултати от внедряването........................................................................ 47 3.4. Предимства и ефективност ....................................................................... 48 ЗАКЛЮЧЕНИЕ И ПРЕПОРЪКИ .................................................................................... 49 ИЗПОЛЗВАНА ЛИТЕРАТУРА........................................................................................ 50 ПРИЛОЖЕНИЯ ............................................................................................................ 51 Приловение 1: Програмен код за Вход в системата...................................... 52 Приловение 2: Програмен код за Справка сервизи....................................... 54 ЦИТИРАНЕ И БИБЛИОГРАФСКО ОПИСАНИЕ ............................................................ 60
  • 4. 4 УВОД В ситуацията на глобализиран свят и растяща финансова криза, бизнесът поставя нови изисквания към участниците на пазара. Голям брой предприятия са принудени да обявят фалит, а останалите фирми насочват усилията си към съкращаване на разходите. За да запазят позициите си на пазара те се стремят да вникнат в потребностите и изискванията на клиента, стремейки се по този начин да останат незасегнати от неблагоприятната икономическа обстановка. В последните години се развиват цели стратегии, посветени на изучаването на пазарните условия и на зависимостта на финансовия резултат от одобрението на клиента. Това неминуемо довежда до разширяване на сектора от предлагани услуги, целящи да задържат досегашните и да привлекат нови потребители. Компаниите, които запазват солиден пазарен дял, не пестят усилията си да развият именно това звено. Първа стъпка е подобряване на качеството и задържане на високо ниво на предлаганите стоки и услуги на достъпни цени. Днес много компании имат работещ отдел, чиято задача е именно контролът по качеството. Коректното отношение към клиента е следващата стъпка към успешно пласиране на пазара и ключ към спечелването на нови клиенти. Бързопроменящите се условия налагат допълнителни мерки за запазване на пазарна стабилност. Съкращаването на разходите, породено от ширещата се стагнация, провокира предприемачите да развият собствени оперативни планове. Отказвайки се от услугите на посредници и съсредоточавайки се върху индивидуални работни програми, компаниите успяват да запазят финансовия си баланс. Правилният подход към нуждите на потребителите е най-точната стратегия. Разбирането и стремежът към максимално задоволяване на изискванията на клиента води до гарантиран успех. Дългогодишните проучвания на пазарните закономерности извеждат няколко основни критерия, по които потребителите оценяват продукта или услугата, която получават. Цената, качеството, подходът, бързината, с която един клиент бива обслужен – това са главните показатели за успеха на съвременните компании. Имплементирането и усъвършенстването на нови и индивидуални работни инструменти се оказва печеливш метод за запазване на икономическа стабилност.
  • 5. 5 Обект на настоящото изследване е компанията „Ауто Плюс България“ АД. Тя е сред най-успешните наши фирми във вноса и дистрибуцията на авточасти и масла за леки и лекотоварни автомобили. Като оторизиран представител на много водещи в световен мащаб автомобилни производители, компанията покрива един от най-важните критерии на пазара, а именно високото качество. Широката дистрибуторска мрежа, богатият автомобилен парк, наброяващ приблизително 175 автомобила и изграждането на собствени складове, използващи собствен транспорт, позволяват на „Ауто Плюс“ да изпълнява заявките на клиентите в разумен срок, с което покрива един от водещите принципи, които правят фирмата предпочитан търговски сътрудник. Разумните цени, коректността и разширяващият се спектър от предлагани услуги са отличителните белези на дружеството. Всичко това допринесе „Ауто Плюс“ да бъде първата и единствена българска компания в този бранш, приета в семейството на ATR – едно от най-големите и успешни търговски сдружения в Европа. Основана цел е да се отговори на очакванията на клиентите, което от своя страна предполага оптимизиране на работния процес. (1) Целта на дипломната работа е разработване и внедряване на специализиран софтуер за автоматизиране на дейностите по разпределение на големи обеми от поръчки за повишаване на ефективността и качеството на обслужване на клиентите и доставчиците. От поставената цел произтичат следните задачи:  Функционален анализ на фирма, доставяща значителен обем от заявени поръчки  Разработване на софтуер за разпределение доставката на заявени поръчки  Внедряване на софтуера и сравнителен анализ по отношение повишаване на ефективността на доставките и качеството на обслужване на клиенти и доставчици Основната теза на настоящата разработка цели да разкрие огромната роля на софтуерното нововъведение за оптимизиране на спедиторската дейност на фирмата. От значение е не само крайният положителен резултат от иновацията пред клиента, но и опростената и улеснена работа на всички служители в логистичния отдел. Чрез детайлизирано изложение на дългия и трудоемък процес на разработка, стъпка по стъпка, се цели да се разкрият предимствата и изключителната функционалност на специализираното приложение на автора. Дългогодишната подготовка и прилагането на придобитите знания и умения
  • 6. 6 водят до създаването на един рационален, оптимално лесен за ползване и същевременно полезен и икономически изгоден продукт.
  • 7. 7 ГЛАВА ПЪРВА. ФУНКЦИОНАЛЕН АНАЛИЗ НА ФИРМА, ДОСТАВЯЩА ЗНАЧИТЕЛЕН ОБЕМ ОТ ЗАЯВЕНИ ПОРЪЧКИ 1.1. Функционален анализ на фирмата Ауто Плюс България АД е една от водещите български фирми в сферата на вноса и търговията с авточасти. Фирмата се занимава с продажба на оригинални резервни части за всички модели автомобили, като целта й е да предложи на своите клиенти максимален избор за всяка марка и модел, представен на българския пазар. Ауто Плюс е вносител на повече от 30 висококачествени продуктови линии от водещи в света производители на авточасти. Целият асортимент от складови и нескладови артикули включва повече от 500 000 артикули, които компанията предлага на пазара. За времето на своето съществуване Ауто Плюс увеличи обема на продажбите си десетки пъти. Затова в най-голяма степен допринесе изградената дистрибуторска мрежа, която обединява над 53 магазина под собствена търговска марка Ауто Плюс като по този начин покрива територията на цялата страна. Ауто Плюс разполага със централен склад в гр. София, а отскоро и с регионален склад в гр. Варна. Средносрочна цел на фирмата е откриването на такива в градовете Пловдив, Русе, Стара Загора и Бургас. Фирмата разполага и със собствен автомобилен парк от около 175 автомобила. Широката дистрибуторска мрежа, изграждането на собствени складове в ключовите български градове, както и използването на собствен транспорт позволяват на Ауто Плюс да изпълни заявките на своите клиенти в кратък срок, с което да изпълни един от принципите, които определят отношението на фирмата към нейните партньори, а именно – бързата доставка. За ефективно управление и оптимизиране на бизнес процесите в компанията Ауто Плюс внедри интегрираната система Microsoft Business Solution Navision, която гарантира по-качественото обслужване на клиентите, защото дава възможност за проверка на наличностите във всички складове в реално време и увеличава скоростта на обработване на запитванията. Това осигурява по-ефективното сътрудничество с партньорите на фирмата и спомага за своевременното достигане на информацията до тях.
  • 8. 8 Професионалното обслужване на клиентите и задоволяването на техните потребности са водещи принципи за Ауто Плюс, но не по-малко значение за фирмата има човешкият фактор. В централния офис работят повече от 90 човека, а в цялата страна броят им надхвърля 480. За да бъдат в течение с новостите в областта на техника служителите периодично преминават през семинари и обучения, провеждани съвместно с представители на фирмите- доставчици. Широкият асортимент от продукти, гарантираното качество, изгодното съотношение цена-качество, бързата доставка, високото равнище на обслужване и задоволяването на потребностите на клиента са принципите, от които Ауто Плюс България се ръководи в отношенията си със своите партньори. (1) 1.2. Място на ИТ Отдела в Дружеството Изп. директори Управителен съвет Търговски директор Отдел продажби Р-л отдел Отдел логистика Р-л отдел Отдел доставки Р-л отдел Административ ен директор, ПР (отг. ЧР) Р-л направл. регион. развитие и маркетинг Финансов директор Гл. счетоводител Техн. сътрудник Техн. организатор и Специалист системи за сигурност, ремонт и поддръжка Отдел IT Администра тор база данни Отдел транспорт Р-л Транспорт Системен администра тор
  • 9. 9 Фиг.1 ОРГАНИЗАЦИОННА СТРУКТУРА на СУК в“Ауто Плюс България ” АД
  • 10. 10 От фигура 1 Организационна структура на Системи за управление на качеството в Ауто Плюс се вижда че, ИТ отдела е пряко подчинен на Изпълнителния Директор. При изпълнение на поставените задачи ИТ- специалистът осъществява организационни връзки и взаимоотношения с потребителите на компютърната мрежа. Изпълняващия длъжността осъществява контакт с доставчиците на компютърна техника и програми. Системния администратор е длъжен да притежава необходима компетентност за изпълнение на поставените задачи. Той трябва да е запознат с нормативните актове свързани с информационните технологии, реда и изискванията за използване на компютърни продукти, нормативните изисквания за работа с информационна техника и не на последно място умения за работа с електро обзавеждане. Основните длъжностни задължения на ИТ-специалиста включват:  поддържа всички софтуерни продукти, консумативи и оборудване (компютри, преносими компютри, клавиатури, мишки, екрани, стационарни и мобилни телефони, принтери, копирни машини, скенери и др.);  проектира, прилага и обезпечава доброто функциониране на централизираното оборудване и ресурси, напр. сървъри, софтуерни продукти и инфраструктура за свързване;  гарантира ежедневно наличността на системите и отговаря за прилагането на всички необходими технически процедури при включване в работа след авария в системите;  предлага набор от услуги при поискване от страна на потребителите (инсталиране, преместване или демонтиране на оборудване и софтуер, разпределяне на права на достъп, архивиране/възстановяване на данни, индивидуални обучения и др.);  осигурява устойчива и ориентирана към клиента ИТ архитектура с високо ниво на изпълнение и изпълнява проекти, свързани с проучването и въвеждането на ново оборудване, оперативни системи и софтуерни продукти за работни постове;  провежда тестове за гарантиране на успешното прилагане на разработени на място приложения;  управлява различните бази данни;  определя и поддържа телекомуникационните системи, които свързват Центъра с партньорите му (агенции,институции, външни
  • 11. 11 преводачи), и осигурява наличието на всички мерки за сигурност (криптиране, защитни стени и др.).  помага на потребителите за разрешаване на проблеми и запитвания за информация в различните области на ИТ – хардуер, софтуер, телекомуникации и инфраструктура. 1.3. Основни проблеми За да разгледаме основните проблеми на фирмата ще се насочим към един от новооткрит магазин на дружеството което се намира на територията на София. С цел по добро обслужване на крайните потребители ново открития склад-магазин е с по-голяма складова наличност с повече персонал и повече автомобили които по бързо и своевременно обслужват крайните клиенти на фирмата. Персоналът в обекта се състои от:  Управител на магазина  Касиер  Осем продавач консултанти  Четирима склададжии  Тринадесет шофьора За да може да се подържа складовата наличност на обекта всеки ден има зареждане което е шест пъти и се осъществява с собствен транспорт на фирмата.В края или началото на деня се прави заявка за поръчка на минимални налични количества на склад.По този начин се подържа необходимата складова наличност в магазина.Останалите доставки към магазина от централен склад е след като се поръча от продавач консултантите на обекта за тези артикули които неса в наличност в магазина но са поръчани от клиента. Основната дейност на продавачите е бързото и точно намиране на консумативи или авточасти които потребителите търсят за своите автомобили. Клиентите на фирмата могат да отидат директно в магазина или да поръчат необходимите им авточасти по телефона. По големия процент от потребители на магазина са автосервизи които имат договор с фирмата за доставка на място което се осъществява с собствения транспорт на обекта. По този начин фирмата изпълнява един вид куриерска услуга за своите клиенти. Новооткрития магазин всъщност е сливане на два обекта на фирмата. Преди обединяването на магазините всеки обект работеше с по-малък брой персонал и автомобили и цялата комуникация с шофьорите и склададжиите ставаше чрез устен начин, за което все още небеше необходим софтуер за
  • 12. 12 разпределение на постъпилите заявки в магазините. Въпреки че са се справяли с големия брои от заявени поръчки от сервизите се е случвало да се допускат грешки. Като например да се забрави да се закарат части до сервиз или да се забавят или да се изпратят два автомобила до един и същи сервиз. В следствие на което сервизите не оставят доволни от това. Имено поради тази причина и обединяването на обектите в един и увеличаването на персонала беше необходимо да се разработи софтуер, които да намали до минимум грешките в разпределението и организацията на автомобилите. Още преди да бъде разработен софтуера са се търсили различни решения на проблема с организацията на автомобилите в различните магазини на дружеството. Докато магазините бяха повече на брой с по малко персонал и автомобили всичко ставаше по мобилния телефон, което беше връзката между продавачите и шофьорите. Но това решение не е много добро поради факта че няма комуникация между продавачите и често се случва да се забавят доставките или да не се закарат на време до сервизите, които са приблизително 80% от клиентите на фирмата. С цел по добро обслужване и по голяма складова налично дружеството започна обединяване на магазините в едни по голям обект с повече персонал и автомобили. В следствие на това за да има някакъв контрол на автомобилите се въведе часове на тръгване от обекта. Другото което се въведе е разпечатването на таблица с часовете на тръгване на автомобилите, която се въвеждаше ръчно от служителя които отговаря за тръгването на автомобилите от магазина. Но и това решение небеше добро поради факта, че се случва да не се разберат или да се пропусне да се напише някои от сервизите. Поради това трябваше да се намери друго решение на проблема с организацията и разпределението на автомобилите. И имено тук моите умения придобити през годините на обучение реших да приложа наученото. Моето предложение за решаване на проблема беше разработването на уеб приложение което да е лесно и бързо за ползване и между временно да се организират автомобилите и да се намали до минимум грешките. След завършване на обучението ми се мотивирах да разработя приложение което да бъде уеб базирано. Избора за среда на програмиране на софтуера беше след придобитите умения от следните специалности:  WEB приложения;  Информатика;  Информационни технологии и бази данни.
  • 13. 13 ГЛАВА ВТОРА. РАЗРАБОТВАНЕ НА СОФТУЕР ЗА РАЗПРЕДЕЛЕНИЕ ДОСТАВКАТА НА ЗАЯВЕНИ ПОРЪЧКИ 2.1. Постановка Фиг.2 Процес на обработка и доставка на заявените поръчки На фигура 2 е изобразен процеса на обработка и доставка на заявените поръки. Като специализираното приложение „Avto GiK” обхваща процесите по обработване, събиране, изпращане на заявени продукти. Процеса започва с приемането на заявката на клиента от продавач консултанта в магазина по телефона. След приемането на заявката, дилърът обработва заявените продукти и ги въвежда в ERP системата на фирмата. От реализираната продажба номерът на документа и клиента се въвеждат в специализираното приложение, избира се часа на тръгване на автомобила и се разпечатва документ в склада за събиране на заявените продукти. Разпечатаният документ се взима от склададжията и започва да събира продуктите, след като са събрани всички артикули по продажбата се отбелязва в приложението където е съответния контрагент и със съответния номер на документа с което продавач консултантът знае, че стоката е събрана и е готова да се изпрати на клиента.Като настъпи часа на тръгване на автомобилите събраната заявена стока се отбелязва в приложението с което Специализирано приложение „Avto GiK“ Приемане на заявени продукти Обработване на заявени продукти Събиране на заявени продукти Изпращане на заявени продукти
  • 14. 14 продавач-консултанта знае, че заявените продукти от клиента ще бъдат доставени. Благодарение на специализираното приложение „Avto GiK” продавач консултанта знае какво се случва с неговите заявени поръчки. Клиентите на фирмата предварително са въведени в приложението, като са групирани по райони и последователност тоест в дадения район кои от клиентите е по близко до магазина. По този начин успешно се организират автомобилите и всеки един от шофьорите обхваща само един район. 2.2. Разработване на специализирано приложение За разработването на специализираното приложение автора е използвал WampServer и NetBeans. В своята същност WampServer е един пълен пакет за уеб програмиране които включва:  Apache2;  PHP;  MySQL;  PhpMyAdmin. 2.2.1. Apache2 Apache HTTP Server или само Apache е уеб сървър с отворен код, който има ключова роля за първоначалното разрастване на WWW. Чрез него работят над 70% от сайтовете. Счита се от много специалисти за платформа, според която се разработват и оценяват другите уеб сървъри. Приложението стартира на много операционни системи, включително Unix, GNU, FreeBSD, Linux, Solaris, Mac OS X, Microsoft Windows, OS/2, Novell NetWare и други платформи. Apache се разработва от отворено общество от разработчици – Apache Software Foundation. Обществото поддрържа и разработва множество други проекти най-важните от които са Apache Ant, Apache SpamAssassin, Apache Tomcat и огромен брой проекти основани на XML езика, но Апачи е най- известния и широко разпространен продукт. 2.2.1.1. Характеристики Сървърът има възможности за промяна на съобщенията за грешки, удостоверяване на потребителите, договаряне на съдържанието (изключително полезно при многоезични сайтове), proxy модул, както и поддръжка на CGI и SSI. Има множество модули за Apache, които позволяват работа на
  • 15. 15 разнообразни скриптове и осигуряване на динамично съдържание, криптиране, ограничаване и други. 2.2.1.2. Лиценз Apache се разпространява под свой собствен лиценз – Apache License. Той има малки разлики с GNU GPL, но текущата чернова на GPL версия 3 има секция (7а), която позволява съвместимост с лицензи, подобни на този на Apache. Apache 2.2 Apache 2.2 се появи през 2006 година и има нови и по – гъвкави модули за оторизация и кеширане, поддръжка на големи файлове (над 2 гигабайта) и SQL поддръжка. (2) 2.2.2. PHP 2.2.2.1. Преглед PHP е скриптов език със синтаксис базиран на C и Perl. Използва се предимно в Web-среда за реализиране на широк кръг от услуги. Той е един от най-популярните езици за програмиране в Интернет и популярността му расте непрекъснато. PHP се разпространява под отворен лиценз (PHP License), който по своята същност е BSD лиценза и който позволява безплатно разпространяване на програмния код на интерпретатора на езика, както и създаването на производни интерпретатори под други лицензи с уговорката, че тези интерпретатори не могат да включват PHP в името си. Фактът, че PHP се разпространява свободно, го прави удачен избор за изграждане на Web-сървър базиран изцяло на свободни продукти – GNU/Linux, Apache, MySQL/PostgreSQL и др. Самият език е преносим на много изчислителни архитектури и операционни системи като GNU/Linux, UNIX, Mac OS X, Windows. Съществуват множество модули (разширения) за PHP, които добавят различни функционалности и позволяват много по-бързо и ефективно разработване. Такива допълнителни функционалности към езика са: o функции за обработка (създаване, редактиране ...) на изображения o функции за работа с низове и регулярни изрази o функции за работа с XML съдържание o функции за работа със сокети (гнезда) o функции за дата и час o математически функции
  • 16. 16 o функции за управление на сесии и работа с бисквитки (cookies) o функции за компресия и шифриране/дешифриране o функции за COM и .NET за (Windows) o функции за SOAP o функции за работа с различни бази данни o функции за работа с принтер o функции за създаване на приложения с графичен потребителски интерфейс, базирани на библиотеката GTK o функции за изпращане на e-mail съобщения o хранилище за разширения и приложения на PHP: PEAR PHP може да работи с повечето модерни бази данни – MySQL, PostgreSQL, Microsoft SQL Server, Oracle, SQLite и д.р. На официалния сайт на PHP се намира обширна библиотека с информация за езика и модулите му, която може да се използва както за основно запознаване с езика, така и като справочник по време на работата с него. Поради отворения характер на езика съществуват множество потребителски групи в България и по света посветени на програмирането с PHP, където всеки може да получи помощ в работата си с този език. 2.2.2.2. История Началото на PHP е поставено от Размус Лердорф през 1994 г., въпреки че самият Лердорф смята 1995-та за рождената година на PHP, защото тогава "отваря" кода на новия език за програмиране. В началото Размус създава Perl скриптове за следене на посещенията на резюмето на личната му страница, които впоследствие пренаписва и така се създава първата версия на PHP (тогава означаващо Personal Home Page). През 1997 г. двамата израелски студенти на Technion (израелски технологичен институт) Зеев Сураски (Zeev Suraski) и Анди Гутманс (Andi Gutmans) пренаписват целия език, констатирайки множеството бъгове и отчасти неправилни концепции за строеж на програмен език и по-късно известяват Размус с техните предложения. Той ги приема и така се създава основният екип от разработчици (PHP Core team), който по-късно се превръща в групата на PHP (PHP group). Зеев Сураски и Анди Гутманс заедно с Размус Лердорф добавят нови функционалности и API за допълнителни модули към езика и така се създава PHP 3. Сураски и Гутманс пренаписват отново ядрото на езика и създават Zend engine през 1999 г. Пренаписването е направено основно от Сураски и Гутманс като курсов проект по време на тяхното
  • 17. 17 обучение в Technion. Пренаписването е в следствие на факта, че кодът на PHP2 е бил труден за поддръжка и доста нестабилен. През 2005-та бяха чествани 10 години PHP, наред с 10 години MySQL. До сега през годините ядрото на PHP е претърпяло много промени, като най- забележимите са следните:  22 Май 2000 г. – излиза версия 4 на PHP основана на Zend Engine 1.0.  Юли 2003 г. – версия 5 на PHP основана на Zend Engine II.  2005 г. – Уникод функционалност. 2.2.2.3. Синтаксис и семантика PHP действа главно като филтър, който взема съдържанието на файл и изпълнява специални PHP инструкции, описани във файла. Тук има пример за код, който визуализира "Здравей, свят": <?php echo 'Здравей, свят!';/*hello world*/ ?> ето и пример за свързване към база данни и изпълняване на проста заявка към нея: <?php session_start(); $DbUser = "root"; $DbPassword = "password"; $DbHost = "localhost"; $cn = mysql_connect($DbHost, $DbUser, $DbPassword) or die("Error in MySQL:" + mysql_error()); mysql_select_db("database", $cn); $rs = mysql_query("SELECT UserId,Username, UserPassword FROM Users WHERE `Username` = '" . $uname . "' AND UserPassword = '" . $upass . "' LIMIT 1;", $cn); if (mysql_num_rows($rs) == 1){ $_SESSION['logged'] = true;
  • 18. 18 } mysql_close($cn); ?> Обектно-ориентиран PHP <?php class Beginning { function start() { echo 'Hello, world'; } } $var = new Beginning(); $var->start(); ?> Дата и час: <?php $date = date("d.m.Y H:i:s"); echo $date; // Пример 18.05.2012 20:04:25 ?> PHP изпълнява кода в рамките на своите граници – кода между <?php и ?>. В зависимост от настройките на сървъра, за отваряща граница може да се използва само <?, но това не се препоръчва. Всичко извън рамките се изпраща директно към изхода, без да бъде изпълнявано от PHP. Горният пример е еднакъв с долния текст (и наистина е конвертиран в този вид): Здравей, свят! Предимство на PHP е, че позволява командите му да бъдат влагани в HTML документите, като крайните потребители не могат да видят изходния код написан на PHP, който преработва всичко извън рамките му: <?php
  • 19. 19 // PHP код ?> обикновен HTML код <? // още PHP код ?> 2.2.2.4. Предимства на езика PHP работи на множество операционни системи (Unix, Linux, Windows, BSD, Mac OS X) и множество уеб сървъри – Apache, lighttpd, IIS PHP е лесен за разработване PHP е безплатен и се разпространява под лиценза на BSD PHP може да бъде лесно модифициран и адаптиран към нуждите на прилагащата го организация PHP е създаден и пригоден за разработката на уеб приложения PHP не изисква особени умения от разработчици работили на структурни езици – езикът е с прост и интуитивен синтаксис за такива разработчици PHP е широко разпространен поради простотата си. Има много програмисти, което води до по-евтино платен персонал във фирмите, по ниска цена на приложенията за клиентите и още по-голяма използваемост. Поддръжката за PHP разработчици е гарантирана от множеството форуми и приложения на общността. По аналогия с Perl към стандартните класове на PHP могат да бъдат писани и много допълнителни модули PHP поддрържа следните системи за управление на бази от данни: IBM DB2 – formix – Ingres, Microsoft SQL Server (MS SQL), mSQL, MySQL, Oracle, PostgreSQL, Sybase PHP поддържа и ODBC 2.2.2.5. Критики В по-старите версии на езика по подразбиране съществува функционалност, чрез която крайните потребители могат да подават направо променливи към PHP скрипта (register_globals). Настройката по подразбиране е премахната от версия 4.2.0, но съществуват все още много стари приложения, които предполагат употребата на тази функция.
  • 20. 20 PHP не поддържа напълно Unicode. Пълната поддръжка се предвижда в PHP 6. PHP не поддържа именни пространства до версия 5.3 на езика – т.е. всички функции се намират в едно именно пространство. Съществуват много функции на библиотеки с идентична функционалност. Няма изградена конвенция за именуване и подреждане на аргументите на вградените функции в PHP, което прави необходимо постоянно консултиране с документация при работа с PHP. PHP няма вградена поддръжка на нишки (threads), което прави обработката на големи масиви от данни много трудна: страницата не се зарежда преди целият масив от данни да е преработен и ако потребителят прекъсне зареждането ѝ (и уеб сървърът разрешава прекъсване на заявката), прекъсва и обработката на данните. Обръщенията към неинициализирани променливи и елементи на масив са разрешени в PHP, което прави възможно допускането на трудни за откриване правописни грешки. PHP използва т. нар. "magic quotes", които са създадени с цел да предпазват начинаещите програмисти, но объркват по-напредналите. Понякога се среща неконсистентност между поведението на PHP в различните версии, което предизвиква необходимостта от пренаписване на скриптовете, писани за стари версии на езика. 2.2.2.6. Модули за достъп до база от данни PHP поддържа връзки към следните СУБД (Системи за Управление на База от Данни) – MySQL, PostgreSQL, SQLite ja Oracle. Освен това чрез ODBC съществува и общ интерфейст със следните СУБД – Adabas D, IBM DB2, iODBC, Solid и Sybase SQL Anywhere. (3) 2.2.3. MySQL MySQL е многопоточна, многопотребителска, SQL система за управление на бази данни (СУБД) с повече от шест милиона инсталации. MySQL AB разпространява MySQL като свободен софтуер под GNU General Public License (GPL), но също така под традиционните за комерсиален софтуер лицензи за случаи, когато използването е несъвместимо с GPL. Подобно разпространение е известно като двойно лицензиране.
  • 21. 21 MySQL се разработва, разпространява и поддържа от Шведската компания MySQL AB, която държи авторските права за голяма част от програмния код. Подобен e моделът на JBoss а също и начинът по който Free Software Foundation работи с авторските права по нейните проекти в отличие от Apache проекта, където софтуерът е обществено разработван, а авторските права за програмния код принадлежат на индивидуалните автори. Компанията разработва и поддържа системата, продава поддръжка и сервизни договори, както и комерсиални лицензи за MySQL, и наема хора от целия свят които работят съвместно с помощта на интернет. MySQL AB е основана от Давид Аксмарк, Алан Ларсон, и Михаел „Монти“ Видениус през 2001. MySQL продава също и друга DBMS, MaxDB, която е с напълно различен код. Достъпни са програмни интерфейси, позволяващи програми, написани на различни програмни езици да имат достъп до MySQL бази данни. Такива са: C, C++, C#, Delphi (чрез dbExpress), Eiffel, Smalltalk, Java (с директна поддръжка), Lisp, Perl, PHP, Python, Ruby, REALbasic (Mac), FreeBasic, и Tcl, като всеки от тях има специфичен програмен интерфейс. Интерфейс тип ODBC наречен MyODBC позволява на други програмни езици, които поддържат ODBC интерфейс да комуникират с MySQL база данни, например: ASP или Coldfusion. MySQL е написан основно на ANSI C. 2.2.3.1. Приложение MySQL е популярна за интернет приложения като MediaWiki или Drupal и е база данни в LAMP, MAMP и WAMP платформи (Linux/Mac/Windows- Apache-MySQL-PHP/Perl/Python), и за софтуера с отворен код Bugzilla – приложение за проследяване на грешки. Нейната популярност като интернет приложение е тясно свързана с полулярността на PHP, като често, комбинирани с MySQL, са наречени Динамичното дуо. Лесно е да се намерят много източници, които ги комбинират в интернет статии или книги (PHP and MySQL for Dummies, PHP and MySQL Bible, Beginning PHP and MySQL, и други) В тези книги се твърди, че MySQL е по-лесен за изучаване от други бази данни. В пример от книгата за глупаци се посочва, че от MySQL може да се излезе с командите exit или quit, но това е вярно и за много други бази данни. 2.2.3.2. Администриране За администриране на MySQL може да се използва включеното приложение работещо от Командна линия (командите: mysql и mysqladmin).
  • 22. 22 Също достъпни за сваляне от интернет сайта на MySQL са GUI приложения за администриране: MySQL Administrator и MySQL Query Browser. Широкоразпросранена и популярна алтернатива, написана на PHP, е софтуерът с отворен код phpMyAdmin, Database Master – MySQL and SQLtite Manager. 2.2.3.3. Спецификация Платформа MySQL работи на много различни Платформи—включващи AIX, BSDi, FreeBSD, HP-UX, GNU/Linux, Mac OS X, NetBSD, Novell NetWare, OpenBSD, OS/2 Warp, QNX, SGI IRIX, Solaris, SunOS, SCO OpenServer, SCO UnixWare, Tru64, Windows 95, Windows 98, Windows ME, Windows NT, Windows 2000, Windows XP и други версии на Windows. MySQL е прехвърлена и на OpenVMS, достъпна от. Последна версия на продукта От началото на 2009 г. MySQL предлага официална версия 5.1.32. Тя има следните възможности: ANSI SQL 99 – частично, както и разширения Междуплатформена поддръжка Съхранени процедури Тригери (triggers) Указатели (Cursors) Обновяеми изгледи (Views) Пълна поддръжка на VARCHAR INFORMATION_SCHEMA Стриктен режим (Strict mode) Поддържа X/Open XA разпределена обработка на транзакции (DTP); запазване в две стъпки (two phase commit) като част от това използвайки InnoDB на Oracle Независими хранилища (storage engines) (MyISAM оптимизирано за висока скорост, InnoDB за транзакции и запазване на връзките (referential integrity), Archive за архивиране на данни в по-малко пространсво и други) Транзакции с InnoDB, BDB и Cluster хранилища; възстановителни точки (savepoints) използвайки InnoDB Поддръжка на SSL Кеширане на запитвания (Query caching) Вложени заявки (sub selects)
  • 23. 23 Репликация от тип "Главен" – "Подчинен" (master/slave), много "подчинени" и един "главен", не поддържа автоматично много "главни" за един "подчинен" (multiple masters per slave). Пълнотекстово индексиране и търсене с MyISAM "Вграден" вариант (embedded library) Пълна поддръжка на Unicode Съвместима с ACID при използване на InnoDB, BDB и Cluster хранилища Клъстър – разпределена обработка от тип "без споделен ресурс" Shared Nothing чрез MySQL Cluster 2.2.3.4. Бъдещи версии На MySQL 5.1 roadmap можем да видим, че се очаква: • логическо разделяне(Partitioning) • Възможност за архивиране на всички типове хранилища по време на работа • Репликация в режим защита от грешки (Fail-safe replication) • Ограничения на ниво колона (Column-level constraints) • Планиране на събития (Event Scheduling) • XML функции Foreign key поддръжка за всички хранилища най-вероятно ще има в MySQL 5.2 (присъстваща от версия 3.23 за InnoDB). Текущата развойна версия на MySQL 5.1 е 5.1.11 beta По какво се отличава Следните възможности са само на MySQL, но не и на други РСУБД: Множество хранилища (MyISAM, Merge, InnoDB, BDB, Memory/heap, Cluster, Federated, Archive, CSV, Blackhole and Example in 5.x), давайки възможност да се избере най-ефективното за всяка таблица в приложението. 2.2.3.5. Различни подборки Има 3 типа подборки на MySQL сървър: • Стандарна: MySQL-стандартна е препоръчителна за повечето от потребителите и включва InnoDB хранилище. • Максимална (Max): (това не е MaxDB, която е разработвана в сътрудничество със SAP) mysqld-max Extended MySQL Server. MySQL-максимална включва допълнителни възможности, които могат да не бъдат достатъчно тествани и не са необходими обикновено.
  • 24. 24 • MySQL-Debug е компилирана по начин по който се улеснява трасировката на грешки, но не е предназначена за по вседневно използване, защото наличието на допълнителни инструкции може да намали производителността. Започвайки с MySQL 5.1, MySQL AB вече не предлага тези 3 версии. Ще има само една подборка "MySQL server package", която включва mysqld със цялостна функционалност и всички хранилища. Вместо да се предлага допълнителна подборка за трасиране на грешки, тя ще се включва в предлагания пакет и ще се нарича mysqld-debug. 2.2.3.6. Какво е специфично за изходния код MySQL е написана на C. SQL анализатора(parser) използва yacc и "домашен" lexer. Документ описващ някои от вътрешните структури на кода и начина за програмиране е достъпен от Интернет сайта на MySQL (en). 2.2.3.7. Поддръжка MySQL AB предлага поддръжка чрез MySQL Network, включително 24/7 30-минути време за реакция, като екипа за поддръжка има директен достъп до програмисти при нужда за решаване на възникнали проблеми. Като допълнение там могат да се намерят форуми и пощенски списъци а други потребители и работещи във фирмата често могат да бъдат видени на няколко IRC канала за помощ. Членовете на MySQL Network имат достъп до програми, сертифицирани за техните операционни системи и обновления с много по-малка честота от общодостъпната версия (Community Edition) на MySQL. MySQL Network поддържа няколко нива на членство базирани въз основа на важността и неотложността на проблема както и времето за реакция. 2.2.3.8. Лицензиране Продуктът MySQL сървър и клиентските библиотеки са разпространявани под двоен лиценз. Потребителите могат да изберат GNU General Public License , който MySQL разшири с FLOSS изключение от лиценза(License Exception). То позволява програма лицензирана под друг OSI- съвместим лиценз с отворен код, несъвместими с GPL, да се свържат с клиентските библиотеки на MySQL. Клиенти, които не желаят да бъдат ограничавани от GPL могат да закупят комерсиален лиценз.
  • 25. 25 Някои потребители индивидуално продължават разработката върху по- ранни версии на клиентските библиотеки, които бяха разпространявани под по- малко рестриктивния Lesser General Public License. 2.2.3.9. Критики за MySQL Ранните версии на MySQL включват само няколко стандартни възможности на релационна СУБД (RDBMS). Дори и в текущата версия липсват доста стандартни възможности, присъстващи в други РСУБД. Това накара много експерти по бази данни да критикуват MySQL, че няма възможностите да бъде РСУБД. Теоретици на ралацинния модел като Крис Дайт, Фабиан Паскал, Е.Ф. Код, Хю Даруен и техни последователи го твърдят, защото тя не отговаря на няколко от 12-те правила на Код и като всяка друга SQL СУБД тя не трябва да се счита релационна. Много от ранните критики бяха оправени в по-късни версии, включвайки липсата на транзакции и интегритет на връзките (relational integrity constraints). Тези възможности са небходими за поддръжка на "ACID" за релационни бази данни, който позволява на СУБД да изолира приложенията, така че те да не могат да поставят други или непълни данни. Други критики включват отклоняването на MySQL от SQL стандарта по начина на обработка на "NULL" значенията и тези по подразбиране. Нейния начин за обработка на дати позволява да има дни след последния ден на месеца ако той е с по-малко от 31 дена а аритметичните операции са уязвими на целочислено препълване или окастряне на числа с плаваща запетая. Тези данни се обработват по стандартите на SQL в MySQL версия 5 чрез използването на специални SQL режими. В предишните версии на упътването на MySQL се изяснява, че няколко от липсващите функционалности (предимно за съвместимост с SQL СУБД) са безполезни или дори вредни и потребителите биха били по-добре без тях. Една глава със заглавие "Причините да не се използват Foreign Keys ограничения" , съветва потребителите, че проверката на целостта на връзките (relational- integrity) е трудна за използване и усложнява приложението и единствената полза би била да позволи програми да изчертават връзките между таблиците в базата данни. Друга глава твърди, че СУБД без поддръжка на транзакции може да осигури целостта на данните по същия начин, както и такава поддържаща ги, без да се има предвид разликата между интегритет на транзакциите и запазване на данни, когато токът спре. Тъй като тези твърдения противоречат на основните принципи на дизайна на релационна база данни, MySQL е взета на подигравка от някои експерти по бази данни. Без значение дали те са прави или не, тези твърдения са "забравени" в по-новите версии на упътването. MySQL сега поддържа преди "ненужните" транзакции и цялост на връзките.
  • 26. 26 Когато тестовата версия на MySQL 5.0 е пусната през март 2005, Дейвид Аксмарк(David Axmark), съучредител на MySQL, казва: "Хората критикуваха MySQL, откакто започнахме, че нямаме съхранени процедури, тригери, и изгледи ("People have been criticising MySQL since we started for not having stored procedures, triggers and views,") и "Ние елиминираме 10 години критики в една версия"("We're fixing 10 years of criticism in one release."). MySQL 5.0 от 13 октомври – 5.0.15 е пусната официално на 24 октомври 2005, след повече от два милиона сваляния по време на тестовия период на 5.0. Критиците смятат, че популярността на MySQL е учудваща при наличие на други проекти на бази данни с отворен код със сходна производителност и по-близко до SQL стандартите. Защитниците на MySQL отговарят, че програмата върши очакваното от потребителите, желаещи да приемат нейните ограничения (намаляващи със всяка следваща версия) в замяна на скорост, простота и бърза разработка. 2.2.3.10. Лицензни проблеми Някои потребители критикуват позицията на MySQL AB относно лицензирането. Някой проекти с отворен код като Asterisk PBX, намалиха поддръжката на MySQL заради загриженост относно лицензирането. Освен това има спор относно разпространяването на библиотеки с отворен код на MySQL с други приложения с отворен код. Най голямата полемика се появи с PHP – имащ лиценз несъвместим с GPL. Този проблем се разреши по-късно след като MySQL създаде изключение от лиценза изрично позволяващо включването на клиентската библиотека на MySQL в други проекти с отворен код отговарящи на лицензите с отворен код включително лиценза на PHP. През септември 2005, MySQL AB и SCO създадоха "партньорство" за "съвместна сертификация, пласиране, продажби, търговия и разработка за комерсиалната версия на базата данни за новата версия на Unix OpenServer 6 на SCO". От началото на 2003 SCO атакува линукс с поредица от патентни дела свързани с операционната система Linux срещу големи компании. Някои от работниците на MySQL изказаха мнение, че компанията е загрижена за крайните си потребители, независимо от избора им на операционна система и че компанията ще остави на съда да реши и че и други бази данни с отворен код са пренесени и поддържат SCO OpenServer. През октомври 2005, Oracle Corporation придоби Innobase Oy, финландска компания разработваща хранилището InnoDB позволяващо на MySQL да работи с транзакции и "foreign keys". В комюнике на Oracle издадено след придобиването се споменава че договора, позволяващ на MySQL AB да използва кода на хранилището трябва да бъде подновен (и може би
  • 27. 27 предоговорен) през 2006. По време на Конференция на потребителите на MySQL през април 2006, MySQL издаде комюнике в което потвърди, че MySQL и Innobase Oy са се разбрали за многогодишно подновяване на техния договор. През февруари 2006, Oracle Corporation придоби Sleepycat Software, производителя на Berkeley DB, друго от хранилищата, използвани от MySQL. (4) 2.2.4. PhpMyAdmin phpMyAdmin е уеб базиран инструмент за администрация на MySQL. Написан е на PHP. С негова помощ могат да се извършват следните действия: създаване и изтриване на база данни, създаване/изтриване/променяне на таблици, добавяне/изтриване и редактиране на полета, изпълнение на SQL код и менажиране на ключове (keys). (5) 2.2.5. NetBeans NetBeans IDE е безплатна интегрирана среда за разработка (Integrated Development Environment), за софтуерни разработчици. Предоставя всички необходими инструменти за създаването на desktop, web и мобилни приложения на програмни езици като Java, C/C++, дори и на динамични като PHP, JavaScript, Groovy и Ruby. NetBeans IDE е лесна за инсталиране и използване, и работи на много платформи, включително Windows, Linux, Mac OS X и Solaris. (6) 2.3. Функционални възможности Основната идея за разработването на специализираното приложение е своевременно и ефективно разпределение на значителен обем от заявени поръчки до клиенти и доставчици. За тази цел ще разгледаме функционалните възможности на софтуера. За да е своевременно разпределението са въведени часове на тръгване на автомобилите, като часовете са съобразени с зареждането на магазина и необходимо времето, което е нужно за да се върне автомобила обратно в обекта.
  • 28. 28 За да е ефективно разпределението са въведени клиентите на фирмата, като предварително са групирани по:  Обект – магазин които обслужва даден клиент  Посока – в кои район се намира даден клиент  Последователност – близостта на даден клиент до обекта Приложението е разработено в четири основни групи потребители,които са: Продавач консултанти, Склададжии, Централен склад и за малките обекти. Разпределението става още в самия вход на софтуера.След като преминат всички проверки се зарежда съответния прозорец на потребителя. Фиг.3 Главен прозорец На фигура 3 е изобразен главния прозорец на специализираното приложението, което е разделено на три части:  Лява част – Главно меню;  Централна част – Основен прозорец  Дясна част – Информация.
  • 29. 29 2.3.1. Главно меню В главното меню са операциите които могат да се извършват от продавач консултантът. Основните действия са:  Авто сервизи – заявка за сервиз;  Справка Авто Сервиз – колко заявки има за сервизи;  Авто Зареждане – заявка за зареждане от доставчици;  Справка Авто Зареждане – колко заявки има за зареждане;  Район Зареждане – заявка за зареждане от доставчици,които се намират в районна на друг магазин;  Приемане/Предаване – приемане и предаване на заявена стока от друг магазин. Всички тези действия се отварят в основния прозорец,които се намира в централната част на главния прозорец. 2.3.2. Основен прозорец Основния прозорец е разделен на горна и долна част. Горната част е форма за въвеждане на клиент и филтриране на заявки, а в долната част се извеждат резултатите от заявки и формите за въвеждане на заявените поръчки от клиентите. 2.3.3. Информация В прозореца информация са изведени:  Инфо Авто Сервизи – дава информация за часа на тръгване на автомобилите, оставащо време до тръгване и следващия час на тръгване;  Стока Авто Сервизи – дава информация за колко заявки има за събиране на стока и колко от заявените заявки са събрани;  Стока Авто Зареждане – дава информация за колко заявки има за зареждане от доставчици и колко от заявените заявки са изпълнени  Приемане/Предаване – дава информация за колко има за приемане и предаване на стока от другите магазини.
  • 30. 30 2.3.4. Авто сервиз Фиг.4 форма за въвеждане на клиент От фигура 4 се вижда формата за въвеждане на клиент, която се намира в горната част на основния прозорец. Продавач-консултантът (дилърът) въвежда клиента, на когото е приел поръчката след като е въведена в ERP системата на фирмата. Търсенето става динамично, като в падащото меню излизат първите пет резултата от търсенето, както се вижда от фигура 4. След избиране на клиента и дата се преминава във формата за въвеждане на заявката, която се намира в долната част на основния прозорец.
  • 31. 31 Фиг.5 форма за въвеждане на заявка От фигура 5 се вижда формата за въвеждане на заявка, където продавач консултанта въвежда номера на документа от ERP системата на фирмата и коментар. Избира часа на тръгване на автомобила,от падащото меню, от което дилърите могат да изберат само часовете на тръгване на автомобилите, които са след текущия час на проверката (не може да се търсят минали събития). След добавяне на автомобила неговата заявка се вижда в долната част на основния прозорец и се записва в базата данни.
  • 32. 32 Фиг.6 заявените заявки на продавач консултанта От фигура 6 се виждат заявените заявки на продавач консултанта, които получава обратна връзка от склададжията. В колоната стока от таблицата червените кръгчета означава, че заявената стока още не е събрана. Когато стоката е събрана и се отбележи в приложението от склададжията се променя кръгчето в зелено. След като е събрана стоката и е изпратен автомобила заявената поръчка изчезва от таблицата. Таблицата съдържа следната информация:  от Лозен;  контрагент;  посока;  час на тръгване;  дата;  номер на документа;  коментар;  стока;
  • 33. 33  edit/delete. 2.3.5 Справка Авто сервиз Фиг.7 Справка Авто Сервиз На фигура 7 е показана справката авто сервиз, където в горната част на основния прозорец е формата за филтриране на заявка към базата данни. Филтрите, които се задават са:  дата;  час на тръгване;  посока. Ако не са зададени никакви филтри от потребителя, по подразбиране се задават филтри към днешна дата и час на тръгване по-голям от текущия. Има възможност за разпечатване на таблицата. Информацията, която се извежда от заявката в таблицата е:  контрагент;  номер на документ;  посока;  час на тръгване;  коментар;  стока;
  • 34. 34  час на запис;  потребител. 2.3.6 Авто зареждане Фиг.8 Авто Зареждане На фигура 8 е показан Авто Зареждане, където в горната част на основния прозорец се намира търсачката, в която отново търсенето е динамично. От падащото меню излизат първите пет резултата. След избиране на доставчика се преминава към формата за въвеждане на заявка за доставка, която е показана на фигура 9. Формата се отваря в долната част на основния прозорец. Във формата се въвеждат артикул, брой, коментар и се избира час на тръгване на автомобила.
  • 35. 35 Фиг.9 формата за въвеждане на заявка за доставка Часа на тръгване на автомобилите в падащото меню, от което дилърите могат да изберат само часовете на тръгване на автомобилите, които са след текущия час на проверката (не може да се търсят минали събития). След добавяне на автомобила неговата заявка се вижда в долната част на основния прозорец, които е показан на фигура 10 и се записва в базата данни. Тя съдържа следната информация:  изпратен;  доставчик;  артикул;  брой;  коментар;  час на тръгване;  час на запис;  edit/delete.
  • 36. 36 Фиг.10 заявените заявки на продавач консултанта за зареждане 2.3.7. Справка авто зареждане На фигура 11 е показана справката авто зареждане, където в горната част на основния прозорец, е формата за въвеждане на филтри за заявка към базата данни. Филтрите, които могат да се зададат са:  дата;  час на тръгване от – до;  изпратени;  шофьор. В долната част на основния прозорец се извеждат резултатите от заявката в таблица. Информацията, която се съдържа в нея е:  доставчик;  артикул;  брой;  коментар;  шофьор;  час на тръгване;
  • 37. 37  потребител;  изпратен;  взет. Фиг.11 Справка Авто Зареждане 2.3.8 Район зареждане На фигура 12 е показано районното зареждане, където се правят заявки за доставка на артикули от доставчици, които се намират в районите на друг магазин. Формата за въвеждане съдържа:  дата;  доставчик;  район;  избор на час на тръгване;  артикул;  брой;  коментар. След добавяне на автомобила заявката трябва да се приеме от магазина, който се намира в района на доставчика.
  • 38. 38 Фиг.12 Районно зареждане 2.3.9. Приемане/Предаване На фигура 13 е показан приемане/предаване, където се приемат заявките от другите магазини. След приемане на заявката, тя се записва в таблицата справка авто зареждане и преминава в долната част на основния прозорец за предаване. Това дава обратна връзка на дилъра, че неговата заявка е приета и ще му бъде доставена. След като заявената доставка се изпълни се поставя отметка „предал“, с което се дава обратна връзка към магазина, който е направил заявката, че стоката пристига към него. Информация, която се извежда в двете таблици е:  cheked all (приел – предал);  доставчик;  артикул  брой;  коментар;  час на тръгване;
  • 39. 39  дата;  час запис;  потребител;  обект. Фиг.13 Приемане / Предаване
  • 40. 40 ГЛАВА ТРЕТА. ВНЕДРЯВАНЕ НА СОФТУЕРА И СРАВНИТЕЛЕН АНАЛИЗ ПО ОТНОШЕНИЕ ПОВИШАВАНЕ НА ЕФЕКТИВНОСТТА НА ДОСТАВКИТЕ И КАЧЕСТВОТО НА ОБСЛУЖВАНЕ НА КЛИЕНТИ И ДОСТАВЧИЦИ Основите на теорията за планиране ресурсите на предприятието (ERP) се създава в края на 60-те и началото на 70-те години на миналия век със започването на използването на компютърните системи в производствените предприятия. Първите приложения се използват във финансовата сфера. Компютрите се използват, за да се намали ръчната работа при водене на счетоводство, изчисляване на заплати, изчисляване на лихви и др. По-нататък компютрите започват да навлизат и в оперативната работа на предприятието. С помощта на изчислителната техника започват да се обработват процесите по планиране, създаване на графици и поръчка на материали. Това приложение е известно като планиране на материалните ресурси (MRP). До края на 70-те, с навлизането на компютрите, все по-голяма част от предприятията започват да въвеждат MRP за по-добро управление на бизнеса. Компаниите започват да използват масово този нов инструмент, който им позволява да управляват по- добре наличните си запаси от материали и продукция, да намаляват сроковете за доставки на материали, да намаляват стойността на доставките и да подобряват изпълнението на клиентските си поръчки в обещаните срокове. С по-широкото навлизане на MRP предприятията започват да разбират, че за да увеличат ползите от правилното планиране на доставката на материали е необходимо те да бъдат свързани и с планиране на производствения капацитет на предприятието. Започва да се заражда второ поколение на MRP, което е наречено планиране на производствените ресурси (MRPII), което разширява обхвата на планирането. MRPII включва в себе си планиране на материалните ресурси (MRP) и планиране на производствения капацитет (CRP). По този начин предприятията могат да планират както необходимите материали така и натовареността на производствените си мощности. Последните версии на системите за управление на бизнеса са познати като планиране ресурсите на предприятието (ERP). При тях освен възможностите на MRPII се включват процесите свързани с висшето ръководство на фирмата, продажбите, проектирането, управлението на финансите и контрола на качеството.
  • 41. 41 3.1. Десетте стъпки, през които трябва да се премине за успешно внедряване на софтуер Най-трудната част при внедряване на софтуер е самото започване. Познаването на философията на софтуер и разбирането на концепцията му е съвсем различно от това как да внедрим софтуер в предприятие. Внедряването на софтуер в предприятието е свързано с промяна на начина на работа почти в цялата организация. За успешното протичане на внедряването е необходимо преминаването през следните 10 стъпки: 1. Обучение 2. Ръководство 3. Оценка 4. Измерване на постигнатото 5. Отговорност 6. Разбирателство 7. Организация 8. Планиране 9. Бизнес процеси 10. Софтуер 3.1.1. Обучение Процеса на обучението се разделя на три основни фази. Първата е обучение на висшия управленски състав. Най-подходящо за това обучение е посещаването на няколко дневен курс, който да включва основните принципи на софтуер. Промените които трябва да се направят в организацията, ролята на ръководството при внедряването, измерване на постигнатото и стъпките през които трябва да премине внедряването. В това обучение е добре да участва целия ръководен състав. По този начин целия екип ще постигне общо виждане и съгласие за бъдещето на компанията. Втората фаза на обучение е насочена към оперативните ръководители. Обикновено това са 10-25% от персонала. То трябва да започне не по-късно от 30 дни след обучението на ръководния състав. Обучението е насочено към ръководителите на отдели, ръководители на екипи и други ключови позиции в оперативната работа на компанията. Третата фаза на обучение е насочена към останалата част от работниците и служителите в компанията. За успешното внедряване на софтуер е необходимо участието на 90-100% от личния състав на компанията. Всеки човек е необходимо да премине през теоретично и практическо обучение