Содержание
Введение
1.Функциональная и организационная структура ОАО молочный комбинат «Воронежский»
2.Организация информационной базы предмета разработки
3.Математическая модель, предмета разработки и алгоритм ее решения
4.Технология разработки программного продукта
Заключение
Список использованных источников
Приложение
Введение
Функциональнаяподсистема «Сбыта», предназначена для решения комплекса задач, связанного спланированием и управлением потоками производства, рекламы, и продажипродукции. В качестве примера для отслеживания подобных процессов выбираем холдинг«Молвест».
«Молвестявляется одной из крупнейших компаний пищевой промышленностиЦентрально-Черноземного региона и объединяет ряд предприятий, расположенных вевропейской части России. Главным предприятием является ОАО молочный комбинат«Воронежский».
Компания«Молвест» активно развивается и уделяет особое внимание вопросам качествапродукции, расширению торговли в Воронеже и регионах, а также новым технологиямпроизводства. Предприятие состоит в партнерских отношениях с крупнейшимироссийскими и международными торговыми сетями, такими как: «Aushan», «Metro»,«Седьмой Континент», «Перекресток», «Пятерочка», «Магнит».
В курсовойработе будет рассматриваться продукция бренда «Вкуснотеево», который сталбрендом национального уровня.
В курсовойработе будет представлен вариант автоматизации отношений производителя изаказчика. В качестве целей определим разработку базы данных, в которой будетхраниться ассортимент продукции, интерфейс представления данных. А такжеинформационную систему транспортировки и информационную систему формированиянакладной. Перечисленные информационные системы позволят автоматизироватьнекоторые операции в отношениях между поставщиком и заказчиком. В наше времяпри хорошо развитом рынке экономических отношений эта тема актуальна, а такжемы ежедневно являемся участниками подобных отношений. И используем продукциюмолочного комбината «Воронежский».
1.Функциональная и организационная структура ОАО молочный комбинат «Воронежский»
Комбинат основан набазе Воронежского Гормолзавода №1, который сдан в эксплуатацию 29 декабря 1969года с проектной мощностью 225 т переработанного молока в смену. В 1992 годумолкомбинат реорганизованв ОАО Молочный комбинат «Воронежский». Входит в составхолдинга «Молвест».
Стратегическимипартнерами ОАО Молочный комбинат «Воронежский» являются крупнейшиемеждународные компании-производители упаковки. С 1993 года комбинат успешносотрудничает со шведской фирмой «Теtrа Рак» — лидером в производстве упаковки иоборудования для пищевой и перерабатывающей промышленности. С 1999 года ОАОМолочный комбинат «Воронежский» работает со шведской компанией «Есоlеап», наоборудовании которой производятся молочные продукты в упаковке «кувшин». Поданным «Есоlеап», в настоящий момент Воронежский комбинат является мировым лидеромпо продажам молочных продуктов. в данной упаковке: компания «Молвест» сбываетболее двух кувшинов ежесекундно.
В 2001 году накомбинате была запущена французская линия по розливу молока в пластиковыебутылки. В ноябре 2004 года запущена новейшая производственная линия по розливупитьевых йогуртов в пластиковые бутылки. Сейчас на этой линии выпускаютпитьевые йогурты «Сан Круи» и «Фруате». В 2008 году объем инвестицийпредприятия превысил 200 млн. рублей. Большая часть этих средств былаизрасходована на приобретение современного высокотехнологичного оборудования.Сегодня на заводах компании «Молвест» в общей сложности перерабатывается более180 000 тонн молока в год. Ассортимент компании «Молвест» насчитывает около 200наименований молочной продукции в различных типах упаковки: молокопастеризованное и стерилизованное, кисломолочная продукция, йогурты питьевые,мягкие творога, сыры и другая продукция.
ЗАО «Молвест»поставляет свою продукцию в более чем 30 регионов РФ. Среди них ЦентральноеЧерноземье и Москва, Санкт-Петербург, Ростов-на-Дону, Волгоград, Самара,Саратов и Краснодарский край.
Золотые медали,завоеванные на наиболее престижных международных выставках в России –«WorldFood» и «Продэкспо», — подтверждают высокое качество продукции, ауверенный рост продаж говорит о стабильности предприятия и высокой лояльности кпродукции со стороны покупателей. Предприятие продолжает наращивать темпырегионального расширения. За 2007-2008 годы ЗАО «Молвест» укрепил свои позициина рынках молочной продукции 20 регионов европейской части России иПриволжского Федерального Округа, а также в 6 регионах Украины, проведя рядэффективных маркетинговых кампаний. Главной торговой маркой ЗАО «Молвест»является ТМ «Вкуснотеево», которой удалось стать брендом национального уровня.Значительные инвестиции осуществляются в разработку и продвижение другихторговых марок комбината: «Фруате», «Ералаш», «Иван Поддубный», «Сан Круи»,«Волжские просторы», «Кубанский Хуторок».
Стратегическиецели молочного комбината:
ü Увеличение объемов переработки молока
ü Выпуск наиболее рентабельных видовпродукции, пользующихся покупательским спросом
ü Расширение рынков сбыта
ü Снижение издержек производства
ü Эффективное использование оборотногокапитала
Для достиженияпоставленных целей необходимо автоматизировать не только производство, но исистему сбыта, систему отношений с заказчиками. А также предоставитьнеобходимую информацию о продукции партнерам в режиме Online.
/>
Рис.1 Функциональныйтип организационной структуры
/>
Рис.2 Организационная структура завода по производству молока
Проанализировав цели идеятельность, а также функциональную и организационные структуры переходим кразработке подсистемы «Сбыта». Выделим следующие ИС Автоматизации:
ü ИСАвтоматизации организации управления выбора поставщиков и потребителей;
ü ИСАвтоматизации организации перевозок;
ü ИСАвтоматизация планирования накладной на продукцию.
Определим задачи,которые будут решать выбранные ИС Автоматизации. ИС Автоматизации организацииуправления выбора поставщиков и потребителей будет выводить информацию обассортименте продукции, которую выпускает и должен реализовать завод. Дляхранения сведений необходимо организовать БД. ИС Автоматизации организацииперевозок будет находить оптимальный путь для перевозки продукции, исортировать клиентов в соответствии с удаленностью. ИС Автоматизацияпланирования накладной на продукцию будет формировать документ, в котором будутсодержаться сведения о заказчике и товаре.
Для реализации,вышеперечисленных ИС Автоматизации, потребуются следующие программы:
ü Word
ü Access
ü Delphi
2 Организацияинформационной базы предмета разработки
Для организацииинформационной базы используем программу Access. Microsoft Access имеет широкийспектр функций, включая связанные запросы, связь с внешними таблицами и базамиданных.
Основные компоненты MSAccess:
— построительтаблиц;
— построительэкранных форм;
— построительSQL-запросов (язык SQL в MS Access не соответствует стандарту ANSI);
— построительотчётов, выводимых на печать.
Мы будем работать стаблицами. Интерфейс пользователя MS Access – это комплекс программ, которыйреализует диалог в процессе работы пользователя с приложением Access.
После загрузки MSAccess на экране появится главное окно, в котором размещается окно базы данных.При первом запуске Access в главном окне выводится область задач в режиме«Приступая к работе», с помощью которой можно открыть существующие БД и«Создать файл». При выборе команды «Создать файл» в области задач изменитсярежим на «Создание файла».При выборе команды«Новая база данных» откроется окно диалога «Файл новой базы данных», в которомнеобходимо выбрать имя диска и директории для хранения БД, а также имя БД (типфайла устанавливается по умолчанию «Базы данных Microsoft Office Access») ищелкнуть на кнопке «Создать», будет сохранен файл с расширением.mdb.Команды панелиинструментов окна БД:
Открыть – открытие выделенного объекта (таблицы,запроса, формы и т.д.) в режиме страницы;
Конструктор — открытие выделенного объекта в режимеконструктора;
Создать – создание объекта базы данных;
Удалить – Удаление выделенного объекта;
Крупные значки; Мелкие значки; Список; Таблица –представление объектов базы данных в окне базы данных в соответствующем виде.Панель«Объекты»:
Таблица – двумерные таблицы, которые используется дляхранения данных в реляционных базах данных. Данные хранятся в записях, которыесостоят из отдельных полей. Каждая таблица содержит информацию о сущностяхопределенного типа (например, студентах).
Запрос — средство для отбора данных, удовлетворяющихопределенным условиям. С помощью запросов можно выбрать из базы данных тольконеобходимую информацию
Форма – средство, которое позволяет упростить процессввода или изменения данных в таблицах БД, что обеспечивает ввод данныхперсоналом невысокой квалификации.
Отчет — средство, которое позволяет извлечь из базынужную информацию и представить ее в виде, удобном для восприятия, а такжеподготовить для распечатки отчет, который оформлен соответствующим образом.
Страницы — страницы доступа к данным представляют собойспециальную Web-страницу, предназначенную для просмотра и работы через Интернетили интрасеть с данными, которые хранятся в базах данных Microsoft Access или БДMS SQL Server.
Макрос — набор макрокоманд, создаваемый пользователемдля автоматизации выполнения конкретных операций.
Модуль — объект, содержащий программы на языке VisualBasic, применяемые в некоторых случаях для обработки данных.
Работа с таблицами вAccess
Список таблиц,составляющих базу данных приложения, появляется в окне базы данных при первомоткрытии приложения. Кроме этого, Access создает системные таблицы, в которыххранится информация обо всех объектах приложения, и эти таблицы принеобходимости также могут отображаться в окне базы данных.
В программепредусмотрены возможности:
· Различныеспособы создания таблиц, которые предоставляет Access
· Определениеполей в таблице, свойства полей, а также свойства самих таблиц
· Способы,с помощью которых можно задать условия проверки корректности ввода данных науровне поля и на уровне записи
· Определениеключевых полей, установка связей между таблицами, работа со схемой данных
· Созданиеи использование индексов
· Способыдобавления, обновления, замены и удаления записей при работе с таблицами
· Способысортировки данных в таблице
· Возможностипоиска записей по значению поля, а также замены вхождений образца в поле
· Способыотбора данных при помощи фильтров, копирования, экспорта и рассылкиотсортированных и отфильтрованных данных
Создаем следующиетаблицыСодержимое таблиц Ассеss
Основныеэлементы таблиц Ассеss это: • поля; • записи; • первичный ключ.
Поле — этонаименьший блок данных в базе. При разработке таблиц Ассеss создаетсянеобходимое количество полей.
Заполненныеполя таблицы формируют запись. В одних таблицах записи вообще могутотсутствовать (если не введены никакие данные). а в других их количество можетсоставить несколько тысяч или даже миллионов. К примеру, в таблице растенийкаждого растения выделено по одной записи. Создавать записи можно только послесоздания полей, иначе данные некуда будет вводить.
Каждаясоздаваемая таблица должна в обязательном порядке содержать первичный ключ.Этот ключ, как вы уже знаете, представляет собой поле (или группу полей),уникально идентифицирующее каждую запись в таблице. Несколько позже мыобъясним, как указать для Access поле, содержащее первичный ключ.Создание простой таблицы
По мереработы с Access становится очевидным, что выполнить одну и ту же задачу можнонесколькими способами. Далее описаны три метода создания в данном приложенииновой таблицы:
• вводданных в пустую таблицу — поля в таблице создаются Access (метод хорошо знакомпользователям программы Microsoft Excel);
•использование мастера — мастер позволяет поэтапно создавать таблицуопределенного типа;
• работа сконструктором — характеристики каждого поля вводятся вручную (это самыйэффективный и удобный метод разработки таблиц).
Начнем же мыс построения таблицы Типы методом простого ввода данных. Работа должнапроизводиться в такой последовательности. Для создания таблицы необходимовыполнить следующие действия.
1.ЗапуститеAccess.
2. На панелизадач Создание файла выберите ссылку Новая база данных. Присвойте файлу базыданных имя Растения.mdb и щелкните на кнопке Создать.
3. В окнеРастения: база данных щелкните на ссылке Таблицы.
4. Дваждыщелкните на ссылке Создание таблицы путем ввода данных для открытия пустойтаблицы.
5. Щелкнитена первой строке базы данных и введите значение.
6. Нажмитеклавишу для перехода в следующий столбец и введите значение Декоративное.
7.Воспользовавшись мышью или клавишами курсора, перейдите в первый столбец второйстроки. Продолжайте ввод данных в таблицу, пока не получите результат. Будем использовать создание таблиц спомощью конструктора.
Конструкторпозволяет в деталях разработать таблицу, в том числе определить количествосодержащихся в ней полей, изменить название и нумерацию полей, тип их данных,указать первичный ключ таблицы и многое другое.
Режимконструктора можно использовать и для изменения существующей таблицы. Кпримеру, для таблицы Типы не был создан первичный ключ. Для того чтобыустранить это упущение, следует выполнить действия, перечисленные ниже.
1. Щелкнитена ссылке Таблицы в окне База данных.
2. Щелкнитена кнопке Конструктор в верхней области указанного окна, которая называетсяпанелью инструментов, чтобы открыть таблицу в режиме конструктора.
3. Щелкнитена поле Номер типа. Слева от имени поля появится значок с изображением черноготреугольника.
4. На панелизадач щелкните на кнопке Ключевое поле, чтобы выбрать данное поле в качествепервичного ключа таблицы (пример того, как Access позволяет делать одну задачунесколькими способами).
5. Выберитекоманду Файл ->Сохранить или же щелкните на кнопке Сохранить, расположеннойна панели задач Access.
6. Щелкнитена кнопке Закрыть для завершения работы с таблицей. В режиме конструктора можноизменить любые параметры таблицы, в том числе и те, которые изменять нерекомендуется.
С помощью конструкторасоздадим 6 таблиц (рис.3).
/>
Рис.3 Таблицы БД
/>
Рис.4 Таблица в режимеконструктор
/>
Рис.5 Вид таблицы
/>
Рис.6 Таблица в режимеконструктор
/>
Рис.7 Вид таблицы
/>
Рис.8 Таблица в режимеконструктор
/>
Рис.9 Вид таблицы
/>
Рис.10 Таблица в режимеконструктор
/>
Рис.11 Вид таблицы
/>
Рис.12 Таблица в режимеконструктор
/>
Рис.13 Вид таблицы
/>
Рис.14 Таблица в режимеконструктор
/>
Рис.15 Вид таблицы
3.Математическая модель, предмета разработки и алгоритм ее решения
Под названиемтранспортная задача объединяется широкий круг задач с единой математической моделью. Данные задачиотносятся к задачам линейного программирования и могут быть решены известнымсимплексным методом. Однако, обычная транспортная задача имеет большое числопеременных и решение ее симплексным методом громоздко. С другой стороны матрица системы ограничений транспортнойзадачи весьма своеобразна, поэтому для ее решения разработаны специальныеметоды. Эти методы, как и симплексный метод, позволяют найти начальное опорноерешение, а затем, улучшая его, получить последовательность опорных решений,которая завершается оптимальным решением.
/>Однородный груз сосредоточен у m поставщиков в объемах a1, a2,…am. Данный груз необходимо доставить n потребителям в объемах b1, b2… bn. Известны Cij, i=1,2,...m; j=1,2,...n — стоимостиперевозки единиц груза от каждого i-го поставщика каждому j-му потребителю. Требуетсясоставить такой план перевозок, при котором запасы всех поставщиков вывозятсяполностью, запросы всех потребителей удовлетворяются полностью, и суммарныезатраты на перевозку всех грузов являются минимальными.
Исходные данные транспортной задачи записываются в видетаблицы:
/>
Исходные данные задачи могут быть представлены в виде:
— вектораА=(a1,a2,...,am) запасов поставщиков
— вектораB=(b1,b2,...,bn) запросов потребителей
— матрицыстоимостей:
/>
/>Переменными (неизвестными) транспортной задачи являются xij, i=1,2,...,m j=1,2,...,n — объемы перевозокот i-го поставщика каждому j-му потребителю. Эти переменные могут быть записаныв виде матрицы перевозок:
/>
Так какпроизведение Cij*Xij определяетзатраты на перевозку груза от i-го поставщика j-му потребителю, то суммарныезатраты на перевозку всех грузов равны: />
По условиюзадачи требуется обеспечить минимум суммарных затрат. Следовательно, целеваяфункция задачи имеет вид:
/>
Системаограничений задачи состоит из двух групп уравнений. Первая группа из m уравненийописывает тот факт, что запасы всех m поставщиков вывозятся полностью и имеетвид:
/>
Вторая группаиз n уравнений выражает требование удовлетворить запросы всех n потребителейполностью и имеет вид:
/>
Учитываяусловие неотрицательности объемов перевозок математическая модель выглядитследующим образом:
/>
Врассмотренной модели транспортной задачи предполагается, что суммарные запасыпоставщиков равны суммарынм запросам потребителей, т.е.:
/>
Математическая формулировка транспортной задачи такова: найти переменные задачи X=(xij),i=1,2,...,m; j=1,2,...,n, удовлетворяющие системе ограничений (цифра 2 наматематической модели), условиям неотрицательности и обеспечивающие минимумцелевой функции.
4.Технологияразработки программного продукта
Программный продуктбудет разрабатываться в программе Delphi7Delphi — среда программирования, в которой используется язык программированияObject Pascal. Язык программирования — произошел от turbo pascal, и создавалсяизначально — для windows, но позже появились и среды разработки под linux. Создадимформы, в соответствие с ИС Автоматизации. Компонент Form1 появляетсяавтоматически после запуска Delphi. Чтобы добавить ещё один Form, нужно перейтив File->New->Form Систему необходимо будет защитить отнесанкционированного доступа логином и паролем (рис.16).
/>
Рис.16 Вид первойформы.
На форму добавляемследующие компоненты:
ü Label, Labe2- Метка (пояснительный текст) на Форме. указывает пользователю, что именно он долженввести в поле ввода. Для этого достаточно в Инспекторе объектов в свойстве Captionввести нужный текст.
ü Edit1,Edit2 — представляет собой однострочное текстовое поле, служащее для вводаданных пользователем. Основным свойством компонента DelphiEdit, передающим введённую информацию,является свойство Edit1.Textтипа String.
ü Button1,Button2 — Компонент DelphiButton это простая команднаякнопка. Командная кнопка DelphiButton используется дляреализации в программе команд с помощью обработчика события OnClickэтого компонента.
В Unit1заносим программный код:
procedureTForm1.Button2Click(Sender: TObject);
begin
Form1.Close;
end;
procedureTForm1.Button1Click(Sender: TObject);
const
log='admin';
pas='505';
varlog0,pas0:string;
begin
log0:=edit1.Text;
pas0:=edit2.Text;
if(log=log0) and (pas=pas0) then begin Form2.show; form1.Hide; end else
if(loglog0) or (paspas0) then showmessage('введеныневерноlogin\password ');
end;end.
Затем создаем Form2,в ней будет представлена в табличном виде информация о выпускаемомассортименте. Эта форма будет представлять ИС Автоматизации организацииуправления выбора поставщиков и потребителей (рис.17). Заказчик с помощью этойИС сможет получить необходимые сведения как в целом о выпускаемом ассортименте,так и конкретно по видам продукции. Так у администраторов которые будутобслуживать эту ИС будет возможность оперативно добавить новые сведения,изменить их, или удалить.
/>
Рис.17 Вид второйформы.
/>
Рис.18 Вид второйзакладки второй формы.
/>
Рис.19 Вид третьейзакладки второй формы.
/>
Рис.20 Вид четвертойзакладки второй формы.
/>
Рис.21 Вид пятойзакладки второй формы.
/>
Рис.22 Вид шестойзакладки второй формы.
На форму добавляемследующие компоненты:
ü DBEdit1-25- это окно редактирования. DBEdit – связанный с данными аналог обычного окнаредактирования Edit. Он позволяет отображать и редактировать данные полейразличных типов: строка, число, булева величина. Преобразование значения поля встроку текста, отображаемую в DBEdit, производится автоматически.
ü DBNavigator1-6для добавления, редактирования, и удаления строк таблицы.
ü GroupBox1-6- имеет встроенную рамку с надписью, которая обычно используется для выделенияна форме группы функционально объединенных компонентов.
ü Image1-рисунок. Выводится логотип бренда «Вкуснотеево».
ü ADOConnection1– компонент используется для соединяться с источником данных.
ü DataSource1-6- Источник данных. Связывает компоненты доступа данных и компоненты отображенияданных.
ü ADOTable1-6- Таблица. Служит мощным средством доступа к файлам баз данных (к таблицам).
В Unit2заносим программный код:
procedureTForm2.Button1Click(Sender: TObject);
begin
Form2.Close;
Form1.Close;
end;
procedureTForm2.Button2Click(Sender: TObject);
begin
form3.showmodal;
end;
end.
Затем добавляем третьюформу (Form3), которая служит для организации ИС Автоматизации организацииперевозок (рис.23). Так как у поставщика имеется много заказчиков различнойудаленности, необходимо проанализировать и выбрать наиболее рациональный путь.Программа будет сортировать заказчиков по удаленности, тем самым повышаетсяэффективность транспортных грузоперевозок.
/>
Рис.23 Вид третейформы.
На форму добавляемследующие компоненты:
ü StringGrid1- представляет собой таблицу, ячейки которой содержат строки символов. Дляввода массива удобно использовать компонент StringGrid.
В Unit3заносим программный код:
procedureTForm3.Button1Click(Sender: TObject);
begin
Form1.Close;
Form2.Close;
Form3.Close;
end;
procedureTForm3.FormActivate(Sender: TObject)
begin
tabl.Cells[0,0]:=Заказчик';
tabl.Cells[1,0]:='Расстояние(km)';
tabl.Cells[0,1]:='Гипермаркет«Линия» ';
tabl.Cells[0,2]:='Супермаркет«Европа» ';
tabl.Cells[0,3]:='Торговыйцентр «Поиск»';
tabl.Cells[0,4]:='777';
end;
procedureTForm3.Button2Click(Sender: TObject);
var
c,r:integer;
s:integer;
p:integer;
m:integer;
buf:array[0..5]of string;
i:integer;
begin
forr:=1 to tabl.rowcount do /
begin
forc:=1 to 3 do
if tabl.cells[c,r] ''
then s:=s+StrToInt(tabl.cells[c,r])
else tabl.cells[c,r]:='0';
p:=7*StrToInt(tabl.cells[1,r])+
6*StrToInt(tabl.cells[2,r])+
5*StrToInt(tabl.cells[3,r]);
tabl.cells[4,r]:=IntToStr(s);// âñåãî ìåäàëåé
tabl.cells[5,r]:=IntToStr(p);// î÷êîâ
end;
forr:=1 to tabl.rowcount-1 do
begin
m:=r;// for i:=r to tabl.rowcount-1 do
ifStrToInt(tabl.cells[5,i])>StrToInt(tabl.cells[5,m])
then m:=i;
ifr m then
begin
for c:=0 to 5 do
begin
buf[c]:=tabl.Cells[c,r];
tabl.Cells[c,r]:=tabl.Cells[c,m];
tabl.Cells[c,m]:=buf[c];
end;
end;
end;
end;
procedureTForm3.Button3Click(Sender: TObject);
begin
form4.showmodal;
end;end.
Завершающей формойбудет четвертая форма (Form4), которая будет формировать ИС Автоматизацияпланирования накладной на продукцию (рис.24). Ознакомившись с продукциейпроизводителя, заказчик сможет сделать заказ, для этого клиент, ориентируясь натаблицу Ассортимента, введет Наименование необходимой продукции и Количество. Данныезаказа автоматически передадутся в текстовый документ более удобный для печати.
/>
Рис.24 Вид четвертойформы.
На форму добавляемследующие компоненты:
ü LabeledEdit1-2- комбинация однострочного редактора и метки. Впервые введен в версии 6.
ü WordApplication1- запуск и соединение с сервером.
ü WordParagraphFormat1- Для создания документа Microsoft Word из Delphi.
ü SaveDialog- диалог «Сохранить файл как...».
В Unit4заносим программный код:
procedureTForm4.Button1Click(Sender: TObject);
begin
Form1.Close;
Form2.Close;
Form3.Close;
Form4.Close;
end;
procedureTForm4.FormCreate(Sender: TObject);
varTS: OleVariant;
NT:OleVariant;
begin
WordApplication1.Connect;
TS:='Normal';
NT:=FALSE;
WordApplication1.Documents.AddOld(TS,NT);
WordApplication1.ActiveDocument.PageSetup.LeftMargin:=15.0;
WordApplication1.ActiveDocument.PageSetup.TopMargin:=10.0;
WordApplication1.ActiveDocument.PageSetup.RightMargin:=10.0;
WordApplication1.ActiveDocument.PageSetup.BottomMargin:=10.0;// end;
procedureTForm4.FormClose(Sender: TObject; var Action: TCloseAction);
begin
WordApplication1.Disconnect
end;
procedureTForm4.Button2Click(Sender: TObject);
varCD: OleVariant;
FN:OleVariant;
FT:OleVariant;
begin
ifSaveDialog.Execute then
begin
CD:=wdCollapseEnd;
FN:=SaveDialog.FileName;
FT:=wdFormatDocument;
WordApplication1.Selection.ParagraphFormat.Alignment:=wdAlignParagraphCenter; WordApplication1.Selection.InsertBefore(labeledEdit1.text+' '+ #30);
WordApplication1.Selection.Collapse(CD); WordApplication1.Selection.InsertBefore(LabeledEdit2.Text+#13);
WordApplication1.Selection.Collapse(CD); WordApplication1.ActiveDocument.SaveAs(FN,FT,EmptyParam,EmptyParam,EmptyParam,EmptyParam,EmptyParam,EmptyParam,EmptyParam,EmptyParam,EmptyParam,EmptyParam,EmptyParam,EmptyParam,EmptyParam,EmptyParam);
WordApplication1.Visible:=TRUE
end
end;
procedureTForm4.WordApplicationQuit(Sender: TObject);
begin
Close
end; end.
5.Результат машинного эксперимента и их анализ
После того какпрограмма полностью составлена, производим ее отладку и запуск (рис.25).
/>
Рис.25 Вход в систему
Администратор прикаждом входе в систему должен вводить логин, который используется дляидентификации, и пароль (рис.26).
/>
Рис.26 Ввод данных дляидентификации
После нажатия на кнопкуВход программа проанализирует введенные данные, а затем предоставит информациюоб Ассортименте (рис.27).
/>
Рис.27 Наглядноепредставление информации производителя
По необходимости,данные о производимой продукции могут меняться не только через программу Access,но и в Delphi в режиме on-line(рис.28). Мы с помощью панели управления выбираем необходимое действие(добавить, удалить строку, перемещение по значениям таблицы), и производимоперации с данными в DBEdit. Также можно просто удалить всю строку. Или спомощью стрелочек просмотреть всю таблицу. При необходимости пользователь можетзавершить работу с программой воспользовавшись кнопкой Выход.
/>
Рис.28 Внесение новыхданных
Нажав на кнопкуТранспортировка, пользователь перейдет на третью форму ИС Автоматизации организацииперевозок (рис.29). Перечень заказчиков представлен в табличном виде,необходимо лишь внести расстояние до каждого пункта. И после нажатия кнопкирасчет клиенты будут расположены в порядке удаленности.
/>
Рис.29 Нахождениеоптимального пути
После нажатия на кнопкуНакладная пользователь перейдет на четвертую форму, предназначенную дляАвтоматизации планирования накладной на продукцию (рис.30).
/>
Рис.30 Внесение данныхв накладную.
После нажатия на кнопкуДобавить, появится перечень текстовых документов, в которые выведетсяинформация (рис.31). Или можно создать новый документ.
/>
Рис. 31 Сохранениенакладной
После того как списоксформирован в документе можно просмотреть следующие данные:
Кефир ‑5
Сметана ‑7
Йогурт ‑25
Для удобного выхода изпрограммы на каждой форме расположены кнопки Выход, после нажатия, на которуюработа программы прерывается.
Проанализировав работуПодсистемы Сбыта приходим, к выводу о том, что в ней рассмотрена необходимыевозможности создания и ведения БД, удобное визуальное представление ассортиментаи логотипа для заказчиков, а так же есть возможность сортировки данных и выводаих в текстовый документ. Таким образом, была представлена возможностьобслуживания системы в разных программах. Мы рассмотрели следующие программныепродукты:
ü Word 2003
ü Access2003
ü Delphi 7
Также есть возможностьпреобразования системы в необходимых направлениях.
Заключение
В наше время происходитавтоматизация различных сфер производства, обслуживания и досуга человека. Спереходом предприятия на рыночные отношения приходится сталкиваться с задачамипривлечения новых клиентов, удержания существующих, а также расширенияотношений с ними. Соответственно, компании начинают «осваивать» управлениевзаимоотношениями с клиентами, используя при этом информационные технологии.
Распространеноиспользование современных ИТ-решений для автоматизации маркетинговых процессовпредприятия. Основные области автоматизации — это взаимодействие с клиентами,управление потенциальными продажами, интеграция данных о клиентах и иханалитика, и другие функциональные и аспекты.
Автоматизация позволяетвывести рутинные процессы, которые обычно выполняются вручную, на более высокийуровень, интегрирует источники данных, повышает уровень безопасности и защитыкорпоративных данных, открывает новые возможности и повышает эффективностьпродаж.
Функциональнаяподсистема «Сбыта» представлена как вариант решения сложившихся проблем. Онаимеет гибкий интерфейс, проста в обслуживании, и защищена отнесанкционированного доступа.
информационныйучет программный алгоритм
Список использованныхисточников
1. Багиев,Георгий Леонидович. Маркетинг: Учеб. Для вузов / Багиев, Георгий Леонидович,Тарасевич, Валентина Михайловна, Анн, Холгер; Под ред. Г.Л. Багиева. – 2-еизд., перераб. И доп. – М.: Экономика, 2005. — 736 с.
2. СафаровА., Тина Бабенкова. Контроллинг: история внедрения// Управление компанией. –2005. — № 8. – 30 с.
3. ГерчиковаН.И. Менеджмент: Учебник. — М., Банки и биржи, ЮНИТИ, 1994. — 685 с.
4. КурочкинА.С. Организация управления предприятием: Учебник. – К.: МАУП, 2001.
5. Delhphi6.5, Дарахвелидзе П.Г., Марков Е. П. 2002, 816 с.
6. 1.А. Архангельский, В. Ильин, М. Тагин
7. Русскаясправка (HELP) по Delphi 5 и Object Pascal (32 стр. с CD-ROM) Бином, ISBN5-7989-0168-8.
8. А.Архангельский. Программирование в Delphi 5 Бином, ISBN 5-7989-0104-1.
9. А.Архангельский. Программирование в Delphi 6 Бином, ISBN 5-7989-0227-7.
10. П.Даpахвелидзе,Е.Маpков Delphi 4 в подлиннике.
Приложение
programProject1;
uses
Forms,
Unit1in 'Unit1.pas' {Form1},
Unit2in 'Unit2.pas' {Form2},
Unit3in 'Unit3.pas' {Form3},
Unit4in 'Unit4.pas' {Form4};
{$R*.res}
begin
Application.Initialize;
Application.CreateForm(TForm1,Form1);
Application.CreateForm(TForm2,Form2);
Application.CreateForm(TForm3,Form3);
Application.CreateForm(TForm4,Form4);
Application.Run;
end.
unitUnit1;
interface
uses
Windows,Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs,StdCtrls;
type
TForm1= class(TForm)
Label1:TLabel;
Label2:TLabel;
Edit1:TEdit;
Edit2:TEdit;
Button1:TButton;
Button2:TButton;
procedureButton2Click(Sender: TObject);
procedureButton1Click(Sender: TObject);
private
{Private declarations }
public
{Public declarations }
end;
var
Form1:TForm1;
implementation
usesUnit2;
{$R*.dfm}
procedureTForm1.Button2Click(Sender: TObject);
begin
Form1.Close;
end;
procedureTForm1.Button1Click(Sender: TObject);
const
log='admin';
pas='505';
varlog0,pas0:string;
begin
log0:=edit1.Text;
pas0:=edit2.Text;
if(log=log0) and (pas=pas0) then begin Form2.show; form1.Hide; end else
if(loglog0) or (paspas0) then showmessage('введеныневерноlogin\password ');
end;
unitUnit2;
interface
uses
Windows,Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs,StdCtrls, DB, ADODB, ExtCtrls, DBCtrls, Mask, Grids, DBGrids,
XPMan,ComCtrls, jpeg;
type
TForm2= class(TForm)
PageControl1:TPageControl;
TabSheet1:TTabSheet;
TabSheet2:TTabSheet;
TabSheet3:TTabSheet;
TabSheet4:TTabSheet;
TabSheet5:TTabSheet;
TabSheet6:TTabSheet;
GroupBox1:TGroupBox;
Button1:TButton;
XPManifest1:TXPManifest;
DBGrid1:TDBGrid;
Label1:TLabel;
Label2:TLabel;
Label3:TLabel;
Label4:TLabel;
Label5:TLabel;
DBEdit1:TDBEdit;
DBEdit2:TDBEdit;
DBEdit3:TDBEdit;
DBEdit4:TDBEdit;
DBEdit5:TDBEdit;
DBNavigator1:TDBNavigator;
ADOConnection1:TADOConnection;
ADOTable1:TADOTable;
GroupBox2:TGroupBox;
GroupBox3:TGroupBox;
GroupBox4:TGroupBox;
GroupBox5:TGroupBox;
DBGrid2:TDBGrid;
DBGrid3:TDBGrid;
GroupBox6:TGroupBox;
DBGrid4:TDBGrid;
DBGrid5:TDBGrid;
DBGrid6:TDBGrid;
Label6:TLabel;
Label7:TLabel;
Label8:TLabel;
Label9:TLabel;
DBEdit6:TDBEdit;
DBEdit7:TDBEdit;
DBEdit8:TDBEdit;
DBEdit9:TDBEdit;
Label10:TLabel;
Label11:TLabel;
Label12:TLabel;
Label13:TLabel;
DBEdit10:TDBEdit;
DBEdit11:TDBEdit;
DBEdit12:TDBEdit;
DBEdit13:TDBEdit;
Label14:TLabel;
Label15:TLabel;
Label16:TLabel;
Label17:TLabel;
DBEdit14:TDBEdit;
DBEdit15:TDBEdit;
DBEdit16:TDBEdit;
DBEdit17:TDBEdit;
DBEdit18:TDBEdit;
DBEdit19:TDBEdit;
DBEdit20:TDBEdit;
DBEdit21:TDBEdit;
Label18:TLabel;
Label19:TLabel;
Label20:TLabel;
Label21:TLabel;
Label22:TLabel;
Label23:TLabel;
Label24:TLabel;
Label25:TLabel;
DBEdit22:TDBEdit;
DBEdit23:TDBEdit;
DBEdit24:TDBEdit;
DBEdit25:TDBEdit;
DBNavigator2:TDBNavigator;
DBNavigator3:TDBNavigator;
DBNavigator4:TDBNavigator;
DBNavigator5:TDBNavigator;
DBNavigator6:TDBNavigator;
ADOTable2:TADOTable;
ADOTable3:TADOTable;
ADOTable4:TADOTable;
ADOTable5:TADOTable;
ADOTable6:TADOTable;
DataSource1:TDataSource;
DataSource2:TDataSource;
DataSource3:TDataSource;
DataSource4:TDataSource;
DataSource5:TDataSource;
DataSource6:TDataSource;
Image1:TImage;
Button2:TButton;
procedureButton1Click(Sender: TObject);
procedureButton2Click(Sender: TObject);
private
{Private declarations }
public
{Public declarations }
end;
var
Form2:TForm2;
implementation
usesUnit1, Unit3;
{$R*.dfm}
procedureTForm2.Button1Click(Sender: TObject);
begin
Form2.Close;
Form1.Close;
end;
procedureTForm2.Button2Click(Sender: TObject);
begin
form3.showmodal;
end;
unitUnit3;
interface
uses
Windows,Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs,StdCtrls, Grids;
type
TForm3= class(TForm)
Button1:TButton;
tabl:TStringGrid;
Label1:TLabel;
Button2:TButton;
Button3:TButton;
procedureButton1Click(Sender: TObject);
procedureFormActivate(Sender: TObject);
procedureButton2Click(Sender: TObject);
procedureButton3Click(Sender: TObject);
private
{Private declarations }
public
{Public declarations }
end;
varForm3: TForm3;
implementation
usesUnit1, Unit2, Unit4;
{$R*.dfm}
procedureTForm3.Button1Click(Sender: TObject);
begin
Form1.Close;
Form2.Close;
Form3.Close;
end;
procedureTForm3.FormActivate(Sender: TObject)
begin
tabl.Cells[0,0]:=Заказчик';
tabl.Cells[1,0]:='Расстояние(km)';
tabl.Cells[0,1]:='Гипермаркет«Линия» ';
tabl.Cells[0,2]:='Супермаркет«Европа» ';
tabl.Cells[0,3]:='Торговыйцентр «Поиск»';
tabl.Cells[0,4]:='777';
end;
procedureTForm3.Button2Click(Sender: TObject);
var
c,r:integer;
s:integer;
p:integer;
m:integer;
buf:array[0..5]of string;
i:integer;
begin
forr:=1 to tabl.rowcount do /
begin
forc:=1 to 3 do
if tabl.cells[c,r] ''
then s:=s+StrToInt(tabl.cells[c,r])
else tabl.cells[c,r]:='0';
p:=7*StrToInt(tabl.cells[1,r])+
6*StrToInt(tabl.cells[2,r])+
5*StrToInt(tabl.cells[3,r]);
tabl.cells[4,r]:=IntToStr(s);// âñåãî ìåäàëåé
tabl.cells[5,r]:=IntToStr(p);// î÷êîâ
end;
forr:=1 to tabl.rowcount-1 do
begin
m:=r;// ìàêñèìàëüíûéýëåìåíò — â r-îéñòðîêå
fori:=r to tabl.rowcount-1 do
ifStrToInt(tabl.cells[5,i])>StrToInt(tabl.cells[5,m])
then m:=i;
ifr m then
begin
for c:=0 to 5 do
begin
buf[c]:=tabl.Cells[c,r];
tabl.Cells[c,r]:=tabl.Cells[c,m];
tabl.Cells[c,m]:=buf[c];
end;
end;
end;
end;
procedureTForm3.Button3Click(Sender: TObject);
begin
form4.showmodal;
end;
unitUnit4;
interface
uses
Windows,SysUtils, Classes, Graphics, Forms, Controls, StdCtrls,
Buttons,ExtCtrls, Menus, Dialogs, Mask, ShellApi, Grids, DBGrids, DB,
ADODB,WordXP, OleServer, Messages, Variants,ComObj;
type
TForm4= class(TForm)
Button1:TButton;
ADOConnection1:TADOConnection;
ADOTable1:TADOTable;
DataSource1:TDataSource;
Button2:TButton;
WordApplication1:TWordApplication;
WordParagraphFormat1:TWordParagraphFormat;
SaveDialog:TSaveDialog;
GroupBox1:TGroupBox;
DBGrid1:TDBGrid;
LabeledEdit1:TLabeledEdit;
LabeledEdit2:TLabeledEdit;
procedureButton1Click(Sender: TObject);
procedureFormCreate(Sender: TObject);
procedureFormClose(Sender: TObject; var Action: TCloseAction);
procedureButton2Click(Sender: TObject);
procedureWordApplicationQuit(Sender: TObject);
private
{Private declarations }
public
{Public declarations }
end;
var
Form4:TForm4;
implementation
usesUnit1, Unit2, Unit3;
{$R*.dfm}
procedureTForm4.Button1Click(Sender: TObject);
begin
Form1.Close;
Form2.Close;
Form3.Close;
Form4.Close;
end;
procedureTForm4.FormCreate(Sender: TObject);
varTS: OleVariant;
NT:OleVariant;
begin
WordApplication1.Connect;
TS:='Normal';
NT:=FALSE;
WordApplication1.Documents.AddOld(TS,NT);
WordApplication1.ActiveDocument.PageSetup.LeftMargin:=15.0;
WordApplication1.ActiveDocument.PageSetup.TopMargin:=10.0;
WordApplication1.ActiveDocument.PageSetup.RightMargin:=10.0;
WordApplication1.ActiveDocument.PageSetup.BottomMargin:=10.0;// end;
procedureTForm4.FormClose(Sender: TObject; var Action: TCloseAction);
begin
WordApplication1.Disconnect
end;
procedureTForm4.Button2Click(Sender: TObject);
varCD: OleVariant;
FN:OleVariant;
FT:OleVariant;
begin
ifSaveDialog.Execute then
begin
CD:=wdCollapseEnd;
FN:=SaveDialog.FileName;
FT:=wdFormatDocument;
WordApplication1.Selection.ParagraphFormat.Alignment:=wdAlignParagraphCenter; WordApplication1.Selection.InsertBefore(labeledEdit1.text+' '+ #30);
WordApplication1.Selection.Collapse(CD); WordApplication1.Selection.InsertBefore(LabeledEdit2.Text+#13);
WordApplication1.Selection.Collapse(CD); WordApplication1.ActiveDocument.SaveAs(FN,FT,EmptyParam,EmptyParam,EmptyParam,EmptyParam,EmptyParam,EmptyParam,EmptyParam,EmptyParam,EmptyParam,EmptyParam,EmptyParam,EmptyParam,EmptyParam,EmptyParam);
WordApplication1.Visible:=TRUE
end
end;
procedureTForm4.WordApplicationQuit(Sender: TObject);
begin
Close
end;end.