Проектирование автоматизированной системы обслуживания кафе

Исследование деятельности предприятия, его основные бизнес-процессы, обоснование необходимости разработки автоматизированной системы. Анализ существующих систем и выбор стратегии автоматизации предприятия. Реализация и оценка программного решения.

Рубрика Программирование, компьютеры и кибернетика
Вид дипломная работа
Язык русский
Дата добавления 24.03.2014
Размер файла 2,8 M

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.

Размещено на http://www.allbest.ru/

Размещено на http://www.allbest.ru/

Введение

В настоящее время автоматизация производства проникает всё глубже и глубже во все сферы промышленности и сферы услуг, не является исключением и сфера общественного питания.

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

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

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

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

Быстрое управление заказами, оперативный расчет с клиентами - все это позволяет поднять обслуживание на новый уровень. Автоматизация предприятий питания ускорит работу, а значит, количество обслуживаемых клиентов увеличится, поднимая прибыль. Также стоит отметить, что повысится контроль выполнения поручений, учет продуктов станет более четким.

Кроме того, не стоит забывать и про удобство управления. Руководящему составу станет гораздо проще принимать решения и грамотно организовывать работу. Таким образом, автоматизация предприятий общественного питания становится полезным инструментом, с помощью которого работа становится проще и лучше.

Автоматизация предприятия общественного питания дает следующие преимущества:

- оперативное управление и анализ деятельности предприятия общественного питания;

- ускорение процесса обслуживания клиентов

- возможность индивидуальной работы с посетителями (гостевые и дисконтные карты)

- уменьшение ошибок планирования и управленческой деятельности;

- уменьшение злоупотреблений со стороны персонала и т.д.

Как правило, организуются три вида автоматизированных рабочих мест (АРМ): место кассира (официанта), место менеджера (администратора, бухгалтера) и место для обслуживания информационной базы данных системы.

Целью данной дипломной работы ставится разработка проектирование автоматизированной системы обслуживания кафе.

Поставленная цель дипломной работы определила следующие задачи:

- провести исследование деятельности рассматриваемого предприятия, описать его основные бизнес-процессы, обосновать необходимость разработки автоматизированной системы;

- дать краткий анализ существующих систем и выбрать стратегию автоматизации предприятия;

- спроектировать информационную базу программного решения;

- реализовать программное решение и привести контрольный пример;

- разработать инструкцию пользователя.

1. Обследование предприятия общественного питания

1.1 Общая характеристика предприятия

Объектом автоматизации в данной дипломной работе является предприятие общественного питания кафе.

Тип предприятия - кафе-бар. Это предприятие общественного питания с широким ассортиментом блюд. Назначение - обслуживание потребителей.

Организационная форма предприятия - индивидуальный предприниматель. Производственная структура кафе представлена на рисунке.

Размещено на http://www.allbest.ru/

Размещено на http://www.allbest.ru/

автоматизация программный кафе

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

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

Администратор подписывает счета бухгалтерии, составляет текущие торгово-административные планы, разрабатывает и организует системы отчетности по выполнению плановых экономических показателей (объем продаж по отдельным позициям ассортимента; объем продаж на официанта / бармена и на бригаду; средний чек на гостя, средний чек на стол; средний чек от общего объема продаж на официанта / бармена и на бригаду; нормы затрат по кухне и бару и т.д.), составляет необходимые письменные отчеты, отчитывается перед директором, осуществляет анализ предоставленных отчетов от подчиненных, осуществляет переписку с деловыми партнерами, утверждает внутренний распорядок предприятия, составляет графики работы по сменам и отпусков, занимается бронированием зала на мероприятия и столиков на заказ.

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

Технолог составляет планы размещения оборудования, технического оснащения и организации рабочих мест, рассчитывает производственные мощности и загрузку оборудования. Участвует в разработке технически обоснованных норм времени (выработки), линейных и сетевых графиков, рассчитывает нормативы материальных затрат (нормы расхода сырья, полуфабрикатов, материалов), экономическую эффективность проектируемых технологических процессов.

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

Организационная структура кафе, построена на принципе иерархичности уровней управления, при котором каждый нижестоящий уровень контролируется вышестоящим уровнем и подчиняется ему, а также на принципе разделения труда на отдельные функции и специализации работников по выполняемым функциям, соответствуют иерархическому типу [15, с. 56].

Структура предприятия четко определена.

Всех сотрудников можно дифференцировать на три основные категории: руководители, специалисты, исполнители.

Руководители: директор кафе, администратор кафе.

Специалисты: 1 шеф-повар, 1 технолог, 2 бухгалтера, 2 менеджера зала, 1 менеджер по снабжению.

Технические исполнители: 4 повара, 6 официантов, 2 кассира, 2 бармена, 1 уборщица, 1 гардеробщик.

Таким образом, система не перегружена специалистами и техническими исполнителями.

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

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

Нижний уровень управления является источником информации для принятия управленческих решений на более высоком уровне. Если рассматривать поток информации от уровня к уровню, то количество информации, выраженное в числе символов, уменьшается с повышением уровня, но при этом увеличивается ее смысловое (семантическое) содержание [14, с. 118].

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

Таким образом, объем информации высокий, необходимо использовать технические средства коммуникации.

1.2 Обоснование необходимости автоматизации рабочего места

Автоматизированное рабочее место менеджера (администратора ресторана, кафе) предполагает наличие стандартного набора устройств (компьютера, монитора, компьютерной мыши и клавиатуры). При необходимости, - терминала сбора данных, обычного принтера формата А4.

Менеджер кафе владеет информацией о количестве, списке блюд и столах, на которых они были заказаны. АРМ позволяет менеджеру видеть, какие столы уже «закрыты» (были оплачены), от каких блюд клиенты отказались по той или иной причине.

Он управляет списками блюд для каждого конкретного АРМа официанта, а также списками блюд, которые должны печататься на удалённых (кухонных) принтерах.

Кроме эффективной связи с рабочими местами официантов, АРМ менеджера наделён всеми необходимыми функциями по учёту занятости зала кафе заказными мероприятиями.

Рассмотрим бизнес-процессы кафе «У тещи», в которых принимает активное участие администратор.

Администратор занимается сферой обслуживания клиентов и задействован в следующих бизнес-процессах: Бронирование столиков в зале

1. Бронирование зала для проведения банкетов и других мероприятий.

2. Обслуживание клиента в зале.

Рассмотрим, какие функции предполагается автоматизировать с помощью АРМ «Администратор кафе»:

- прием заказов клиентов с указанием зала, стола и количества гостей (бронирование столиков);

- прием заказов на обслуживание (бронирование зала кафе).

Дальнейшее развитие АРМ «Администратор кафе» предполагает разработку АРМ «Официант», при этом будет обеспечено взаимодействие администратора и официанта.

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

1.3 Обзор существующих систем управления предприятием питания

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

Готовые решения предназначены для полной автоматизации деятельности кафе.

Например, 1С: Ресторан. Программный комплекс «1С: Предприятие 8: Ресторан» предназначен для автоматизации фронт-офиса на предприятиях питания. В качестве платформы используется «1С: Предприятие 8», что позволяет легко администрировать и дорабатывать систему под специфические нужды любого предприятия, в не зависимости от его масштаба, типа и концепции. Решение может использоваться как в одиночных, так и сетевых предприятиях.

При помощи программного продукта можно автоматизировать рабочие места: кассир, официант, бармен, буфетчик, хостес, администратор (метрдотель).

Недостатком данного продукта является его высокая стоимость, оплата постоянного сопровождения. Так, стоимость 1С Ресторан на 01.11.2013 составляет 124 000 тенге (по данным сайта фирмы 1С [20]). Также программа нуждается в регулярном обслуживании, для этого необходимо заключить договор на обслуживание с компанией - франчайзи фирмы 1С, например, too «1-С». По самому дешевому тарифному плану «Стандартный» обслуживание составляет 1050 тенге / месяц, в год обслуживание составит 12600 тенге. При этом данная сумма не предусматривает консультаций по программному продукту, если у сотрудников что-то не будет получаться, программа не будет функционировать правильно или работники будут испытывать трудности при работе с программой, потребуется вызов специалиста, который будет оплачиваться отдельно по часовой ставке 1100 тен./час (данные взяты с сайта компании 1-С): [22]

Вторым вариантом автоматизации рабочего места администратора кафе является разработка индивидуального программного решения с использованием среды программирования Delphi. Преимуществами управления заказами кафе являются следующие:

- полное соответствие программного продукта требованиям заказчика;

- отсутствие ненужных («лишних») модулей;

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

- возможность регулярных консультаций (при необходимости таковых, стоит отметить, что в первый год функционирования программного решения такая необходимость возникает достаточно часто);

- приемлемая стоимость программного решения.

Сравнение языков программирования их плюсы и минусы показаны в Таблице 1.

Таблица 1. Сравнение языков программирования

Параметры

Delphi

Си ++

Visual Basic

Общие сведения

Создан корпорацией Borland, он вобрал в себя все лучшее, что эта фирма, славящаяся своими средствами разработки, накопила на данный момент. В его основу положен язык программирования Object Pascal

Процедурный язык программирования, который был разработан в 1970х годах. Он создавался для использования в ОС UNIX.

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

Плюсы языка

Мощная и удобная интегрированная среда (IDE). Ни один компилятор C++, включая Visual C++, не предоставляет столь дружественной, интуитивно понятной, простой в использовании и вместе с тем столь многофункциональной оболочки как Delphi.

В Delphi введены мощные средства поддержки работы с данными, позволяющие очень просто создавать приложения, связанные с базами данных.

Минимализм, обширный набор функций и лаконичность

Быстрое создание приложения для Windows с графическим интерфейсом; лёгкий синтаксис, который позволяет быстро освоить язык; предусмотрена защита от ошибок,

связанных с доступом к памяти и применением указателей

Минусы языка

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

Некоторые элементы потенциально опасны, а предсказать последствия их использования практически невозможно. Многие уязвимости невозможно увидеть ни при компиляции, ни во время исполнения. Язык чрезмерно сложен.

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

2. Разработка автоматизиорованной системы

2.1 Анализ требований к автоматизированной системе

В данном дипломном проекте необходимо разработать проектирование автоматизированной системы обслуживания кафе. Разработанная система должна соответствовать следующим требованиям:

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

2. Система должна содержать 5 справочников:

Клиенты;

Сотрудники

Статистика

Меню и ингредиенты

Обслуживание

Размещено на http://www.allbest.ru/

Размещено на http://www.allbest.ru/

Рисунок 2. Схема функционирования автоматизированной системы обслуживания клиентов

2.2 Базы данных и Delphi 7

Для работы с базами в Delphi есть несколько наборов компонент. Каждый набор очень хорошо подходит для решения определённого круга задач. Почему такое разнообразие компонентов? Все они используют разные технологии доступа к данным и отличаются по возможностям. В отличие от Microsoft, которая встроила в свои продукты разработки только технологию доступа к данным ADO собственной разработки, фирма Borland дала нам разнообразие средств работающих через разные технологии и не ограничивает нас только своими разработками. Такое положение вещей даёт нам громадные преимущества перед другими программистами. Помимо этого есть группы, которые могут использоваться в любом случае, и здесь я попробую дать краткий обзор доступных нам средств.

На закладке Data Access расположены основные компоненты доступа к данным. Эти компоненты общие для всех и могут использоваться совместно с другими группами компонентов.

Рисунок 3. Закладка Data Access палитры компонентов

На закладке Data Controls расположены компоненты для отображения и редактирования данных в таблицах. Эти компоненты так же используются в не зависимости от используемой технологии доступа к данным.

Рисунок 4. Закладка Data Controls палитры компонентов

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

Эта технология сильно устарела и поставляется только для совместимости со старыми версиями. Не смотря на это, она хорошо работает со старыми типами баз данных, такими как Paradox и dBase.

Рисунок 5. Закладка BDE палитры компонентов

DBExpress - это новая технология доступа к данным фирмы Borland. Она отличается большей гибкостью и хорошо подходит для программирования клиент серверных приложений, использующих базы данных. Компоненты с одноимённой закладки я советую использовать с базами данных построенных по серверной технологии, например, Oracle, DB2 или MySQL.

Рисунок 6. Закладка dbExpress палитры компонентов

ADO (Active Data Objects) - технология доступа к данным, разработанная корпорацией Microsoft. Очень хорошая библиотека, но я рекомендую её использовать только с базами данных Microsoft, а именно MS Access или MS SQL Server. Её так же можно использовать, если у тебя специфичный сервер баз данных, который может работать только через ODBC.

Рисунок 7. Закладка ADO палитры компонентов

Работа с базами данных Access идёт через специальную надстройку DAO, которая может устанавливаться на компьютер вместе с программой Office или идти как отдельная установка. Так что если твоя программа не будет работать на компьютере клиента, то надо позаботиться о установке DAO на этот компьютер.

2.3 Создание базы данных кафе в Access

Сейчас я постараюсь подробно рассказать, как создавал и использовал базы данных Access. Для последующей работы необходимо, чтобы на компьютере был установлен MS Office и его компонент MS Access. Именно в нём и создавалась база, а вот работать с ними мы будем уже из Delphi.

Запусти Access и выбери в меню Файл->Создать. В мастере создания базы выбери пункт «База данных» и нажми «ОК». Тебе предложат выбрать имя базы и место расположения, укажи что угодно, а назвал свой файл hd.mdb.

После этого Access создаст базу и сохранит её по указанному пути. Первым находится пункт «Таблицы» (он выделен по умолчанию) который и будет нас интересовать. Если этот объект у тебя не выделен, то выдели его. В окне справа находится три пункта:

1. Создание таблицы в режиме конструктора

2. Создание таблицы с помощью мастера

3. Создание таблицы путём ввода данных

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

Колонки в таблицах называются полями, и по ним определяется, какие именно данные хранятся в таблице.

Для начала создадим таблицу клиенты для нашей базы.

Рисунок 8.таблица ассортименты

Сверху находится сетка, в которой ты вводишь поля таблицы, их тип и описание (последнее не обязательно). Когда ты вписал в сетку имя нового поля и указал тип, внизу окна появляются свойства нового поля. В зависимости от типа поля изменяется и количество свойств. Вот самые основные:

* Масксимальная длинна поля. Для текстового поля размер не может быть больше 255. Если текст длинее, то надо использовать «Поле Memo».

* Формат поля. Здесь ты можешь указать внешний вид данных. Например, поле может выглядить как «Yes/No» для логических полей, или например «mm yyyy» для поля даты.

* Маска ввода. Здесь мы вводим маску, которая отвечает за отображение поля при редактировании. Если ты щёлкнешь на кнопке с точками»…» в строке «Маска ввода», то увидишь мастер создания маски.

* Значение по умолчанию. Умолчание, оно и в африке по умолчанию.

* Обязательное поле. Если пользователь не введёт сюда значение, то появится сообщение об ошибке. Такое поле не может быть пустым.

* Пустые строки. Похоже на предыдущий, потому что это поле тоже не может быть пустым.

* Индексированное поле. Может быть неиндексированным, индексированным с допуском совпадений, и индексированным без допуска совпадений. Основной индекс всегда без допуска совпадений. Остальные желательно с допуском.

* Сжатие Юникод - позволяет сжать данные в соответствии с Юникод.

Создаем восемь полей:

1. Имя поля - код. Тип - счётчик. Это у нас будет ключик. Размер поля - «Длинное целое». Индексированное поле - «Да (Совпадения не допускаются)».

2. Имя поля - Наименование. Тип - текстовый. Размер поля - 50. Индексированное поле - «Да (Допускаются совпадения)».

3 Имя поля - Описание. Тип - текстовый. Размер поля - 10. Индексированное поле - «Да (Допускаются совпадения)».

Имя поля - цена. Тип - числовой. Размер поля - Длинное целое. Индексированное поле - «Да (Допускаются совпадения)».

Помимо этого, у всех полей значение «Обязательно поле» стоит в «Нет», и «Пустые строки» выставлено в «Да». Если ты сделаешь поле обязательным, то во всех строках обязательно должно быть заполнено соответствующее поле. Если ты запретишь пустые строки (поставишь «Нет»), то в указанном поле должно быть обязательно что-то введено,

иначе произойдёт ошибки. В реальных условиях, если какое-то поле обязательно должно иметь значение, то лучше сделать его обязательным. Не надо надеяться на добропорядочность пользователя, потому что они слишком часто подводят. Пусть лучше база данных следит за правильностью данных.

Теперь выдели первое поле (код), щёлкни правой кнопкой мыши и выбери пункт «Ключевое поле» (рисунок 2). Задание ключевого поля является обязательным действием, если ты этого не сделаешь, то таблица не сможет редактироваться, а это значит, что в неё нельзя будет добавить строки.

Рисунок 9. Задание ключевого поля

Всё, теперь таблицу можно сохранять и закрывать. На вопрос: «Сохранить таблицу» отвечай положительно и сохраняй под именем «Ассортименты». Наша первая база данных готова.

Рисунок 10.таблица должность

Создаем шесть полей:

1. Имя поля - код. Тип - счётчик. Это у нас будет ключик. Размер поля - «Длинное целое». Индексированное поле - «Да (Совпадения не допускаются)».

2. Имя поля - Наименование. Тип - текстовый. Размер поля - 50. Индексированное поле - «Да (Допускаются совпадения)».

3 Имя поля - Описание. Тип - текстовый. Размер поля - 50. Индексированное поле - «Да (Допускаются совпадения)».

4. Имя поля - Оклад. Тип - числовой. Размер поля - Длинное целое. Индексированное поле - «Да (Допускаются совпадения)».

5. Имя поля - Процент от продаж. Тип - числовой. Размер поля - Длинное целое. Индексированное поле - «Да (Допускаются совпадения)».

6. Имя поля - Инструкция. Тип - мемо. Размер поля - Длинное целое. Индексированное поле - «Да (Допускаются совпадения)».

Рисунок 11.таблица категории

Создаем пять полей:

1. Имя поля - код. Тип - счётчик. Это у нас будет ключик. Размер поля - «Длинное целое». Индексированное поле - «Да (Совпадения не допускаются)».

2. Имя поля - ассортимент. Тип - числовой. Размер поля - Длинное целое. Индексированное поле - «Да (Допускаются совпадения)».

3. имя поля - описание. Тип - текстовый. Размер поля - 50. Индексированное поле - «Да (Допускаются совпадения)».

4. Имя поля - код предложения. Тип - числовой. Размер поля - Длинное целое. Индексированное поле - «Да (Допускаются совпадения)».

5. Имя поля - количество. Тип - числовой. Размер поля - Длинное целое. Индексированное поле - «Да (Допускаются совпадения)».

Рисунок 12. таблица клиенты

Создаем семь полей:

1. Имя поля - код. Тип - счётчик. Это у нас будет ключик. Размер поля - «Длинное целое». Индексированное поле - «Да (Совпадения не допускаются)».

2. Имя поля - Фамилия. Тип - текстовый. Размер поля - 50. Индексированное поле - «Да (Допускаются совпадения)».

3. Имя поля - Имя. Тип - текстовый. Размер поля - 50. Индексированное поле - «Да (Допускаются совпадения)».

4. Имя поля - Отчество. Тип - текстовый. Размер поля - 50. Индексированное поле - «Да (Допускаются совпадения)».

5. Имя поля - Адрес. Тип - текстовый. Размер поля - 50. Индексированное поле - «Да (Допускаются совпадения)».

6. Имя поля - Паспорт. Тип - текстовый. Размер поля - 50. Индексированное поле - «Да (Допускаются совпадения)».

7. Имя поля - Дата регистрации. тип поля - дата / время.

Рисунок 13.таблица предложение

Создаем пять полей:

1. Имя поля - код. Тип - числовой. Размер поля - Длинное целое. Индексированное поле - «Да (Допускаются совпадения)».

2. Имя поля - Наименование. Тип - текстовый. Размер поля - 50. Индексированное поле - «Да (Допускаются совпадения)».

3 Имя поля - код типа Тип - числовой. Размер поля - Длинное целое. Индексированное поле - «Да (Допускаются совпадения)».

4. Имя поля - цена. Тип - числовой. Размер поля - Длинное целое. Индексированное поле - «Да (Допускаются совпадения)».

5. Имя поля - описание. Тип - текстовый. Размер поля - 50. Индексированное поле - «Да (Допускаются совпадения)».

Рисунок 14. таблица реализация

Создаем шесть полей:

1. Имя поля - код. Тип - счётчик. Это у нас будет ключик. Размер поля - «Длинное целое». Индексированное поле - «Да (Совпадения не допускаются)».

2. Имя поля - код услуги. Тип - числовой. Размер поля - Длинное целое. Индексированное поле - «Да (Допускаются совпадения)».

3. Имя поля - код клиента. Тип - числовой. Размер поля - Длинное целое. Индексированное поле - «Да (Допускаются совпадения)».

4. Имя поля - код сотрудника. Тип - числовой. Размер поля - Длинное целое. Индексированное поле - «Да (Допускаются совпадения)».

5. Имя поля - дата. Тип - дата / время.

6. Имя поля - замечание. Тип - текстовый. Размер поля - 50. Индексированное поле - «Да (Допускаются совпадения)».

Рисунок 15. Таблица сотрудники

Создаем восемнадцать полей:

1. Имя поля - код. Тип - счётчик. Это у нас будет ключик. Размер поля - «Длинное целое». Индексированное поле - «Да (Совпадения не допускаются)».

2. Имя поля - фамилия. Тип - текстовый. Размер поля - 50. Индексированное поле - «Да (Допускаются совпадения)».

3. Имя поля - имя. Тип - текстовый. Размер поля - 50. Индексированное поле - «Да (Допускаются совпадения)».

4. Имя поля - отчество. Тип - текстовый. Размер поля - 50. Индексированное поле - «Да (Допускаются совпадения)».

5. Имя поля - дата приема. Тип - текстовый. Размер поля - 50. Индексированное поле - «Да (Допускаются совпадения)».

6. Имя поля - адрес. Тип - текстовый. Размер поля - 50. Индексированное поле - «Да (Допускаются совпадения)».

7. Имя поля - телефон. Тип - текстовый. Размер поля - 50. Индексированное поле - «Да (Допускаются совпадения)».

8. Имя поля - паспорт. Тип - текстовый. Размер поля - 50. Индексированное поле - «Да (Допускаются совпадения)».

9. Имя поля - фотография. Тип - поле обекта OLE.

10. Имя поля - замечание. Тип - текстовый. Размер поля - 50. Индексированное поле - «Да (Допускаются совпадения)».

11. Имя поля - код должности. Тип - числовой.

12. Имя поля - табельный номер. Тип - текстовый. Размер поля - 50. Индексированное поле - «Да (Допускаются совпадения)».

13. Имя поля - ИНН. Тип - текстовый. Размер поля - 50. Индексированное поле - «Да (Допускаются совпадения)».

14. Имя поля - пенсионное свидетельство. Тип - текстовый. Размер поля - 50. Индексированное поле - «Да (Допускаются совпадения)».

15. Имя поля - пол. Тип - текстовый. Размер поля - 50. Индексированное поле - «Да (Допускаются совпадения)».

16. Имя поля - дата рождения. Тип - дата / время.

17. Имя поля - место рождения. Тип - текстовый. Размер поля - 50. Индексированное поле - «Да (Допускаются совпадения)».

18. Имя поля - образование. Тип - текстовый. Размер поля - 50. Индексированное поле - «Да (Допускаются совпадения)».

Рисунок 16. таблица Тип

Создаем три поля:

1. Имя поля - код. Тип - счетчик.

2. Имя поля - наименование. Тип - текстовый. Размер поля - 50. Индексированное поле - «Да (Допускаются совпадения)».

3. Имя поля - описание. Тип - текстовый. Размер поля - 50. Индексированное поле - «Да (Допускаются совпадения)».

Инфологическая модель

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

Ядром инфологической модели является описание объектов предметной области и связей между ними (сущность-связь). [14]

Рисунок 17. схема данных Db.mdb

2.4 Управление отображением данных

Мы пишем программу, которая будет работать с базой данных MS Access. Я уже говорил, что для разработок от MS лучше всего использовать ADO. Давай напишем наше для работы с базой данных.

- ADOConnection.

Создан новый проект. На форме компонент ADOConnection с закладки ADO палитры компонентов. Теперь настроим соединение с сервером, которое должно быть прописано в свойстве ConnectionString. Для этого надо дважды щёлкнуть по строке ConnectionString и перед нами открывается окно, как на рисунке 17

Рисунок 18. Окно создания подключения к базе

1. Использовать специальный файл (Use Data Link File);

2. Использовать строку подключения (Use Connection String).

Второе, на мой взгляд, более предпочтительно, поэтому я покажу, как создать строку подключения. Для этого щёлкаем кнопку Build и перед нами открываеться ещё одно окно, показанное на рисунке 10.

Рисунок 19. Окно создания строки подключения

На закладке Provider перечислены все доступные ADO драйверы доступа к базам данных. Если какого-то драйвера нет, то можно попробовать выделенный по умолчанию «Microsoft OLE DB Provider for ODBC Drivers». Этот драйвер позволяет получить доступ к базе данных через ODBC драйвер, которые есть к большинству существующих баз данных (единственное, он может быть не установленным на твоём компьютере).

В нашем случае, для доступа к базам данных MS Access используется драйвер «Microsoft Jet OLE DB Provider». Такой драйвер обязательно устанавливается на машину вместе с MS Office, а в последних версиях Windows он устанавливается по умолчанию.

На моей машине установлено сразу две версии этого драйвера, поэтому я выберу более новый - «Microsoft Jet 4.0 OLE DB Provider». После этого нажимаем кнопку Next, или переходим на закладку «Connection».

Вид закладки Connection зависит от выбранного драйвера. В нашем случае она должна выглядеть, как показано на рисунке 11.

Первым делом, в этом окне надо ввести имя (если надо то и путь) базы данных в строку «Select or enter a database name». Если база данных будет располагаться в той же директории, что и запускной файл, то путь указывать не надо. Я вообще советую хранить базы в одной директории с запускными файлами. Если ты будешь держать отдельно от запускного, то тебе придётся указывать полный путь, а это может вызвать проблемы при переносе программы на другой компьютер. Ведь там программа будет искать базу по казанному пути, который может измениться. Если хочешь держать файлы в другой директории, то указывай относительный путь относительно текущей директории.

Рисунок 20. Закладка Connection

Чтобы легче было выбрать файл базы данных необходимо щёлкнуть по кнопке с точками справа от строки ввода.

Помимо этого нам надо заполнить следующие поля:

1. Имя пользователя (User name), можно оставить по умолчанию, если не заданно иное при создании базы в MS Access;

2. Пароль (Password) - если база имеет пароль, то его необходимо указать;

3. Пустой пароль (Blank password) - если пароль не нужен, то здесь желательно поставить галочку;

4. Позволять сохранять пароль (Allow saving password). Если здесь поставить галочку, то пароль может быть сохранён.

Как только выберешь базу данных, нажми кнопку Test Connection, чтобы протестировать соединение. Если всё указано правильно, то ты должен увидеть сообщение «Test connection succeeded». Всё, можно нажать ОК, чтобы закрыть окно создания строки подключения и ещё раз ОК, чтобы закрыть окно редактора строки подключения (тот, что был на рисунке 11).

Теперь в свойствах компонента ADOConnection отключил свойство LoginPrompt, выставив его в False. Это нужно для того, чтобы при каждом обращении к базе нас не грузили окном ввода пароля. А теперь выставил свойство Connected в True, чтобы произошло соединение с базой. На этом соединение можно считать оконченным. Теперь нам надо получить доступ к созданной нами базе. Для этого брось на форму компонент ADOTable с закладки ADO палитры компонентов.

- TADOTable.

В этом компоненте тоже есть свойство ConnectionString и его так же можно настраивать. Почему «можно»? Да потому что, чтобы этого не делать мы поставили на форму компонент ADOConnection. Теперь мы можем указать у нашего компонента в свойстве Connection, созданный нами компонент соединения с базой данных.

Щёлкни по выпадающему списку в свойстве Connection и выбери там единственный пункт ADOConnection1. Теперь нам не надо заполнять свойство ConnectionString.

Теперь в свойстве TableName нужно выбрать имя нашей таблицы. Всё,

таблица и соединение указаны, можно подключатся. Для этого выставь свойство Active в true.

BookmarkValid - этот метод проверяет правильность закладки. В качестве единственного параметра нужно указать закладку типа TBookmark и если она является действительной, то результатом будет true.

CancelUpdates - отменить обновления сохранённые в кэш памяти

CompareBookmarks. - сравнение двух закладок. У метода два параметра типа TBookmark. Эти две закладки сравниваются. Если закладки равны, то результат равен нулю. Если первая меньше второй, то результат будет -1. Если первая больше второй, то результат равен единице.

DeleteRecords - удалить записи. У метода один параметр - какие записи удалять. Ты можешь указать следующие значения в качестве параметра:

- arCurrent удалить только текущую запись.

- arFiltered удалить записи удовлетворяющие установленному фильтру.

- arAll - все записи.

- arAllChapters удалить записи во всех разделах ADO.

Append - добавить новую запись в конец таблицы.

Cancel - отменить изменения текущей строки, если изменения ещё не были сохранены с помощью метода Post.

Close - закрыть таблицу.

Delete - удалить текущую строку.

Edit - перейти в режим редактирования. После этого можно изменять значения полей.

FieldByName - найти поле по имени. В качестве единственного параметра нужно указать имя поля виде строки и в результате получаем ссылку на поле в виде объекта TField.

First - перейти на первую строку в таблице.

Insert - вставить новую строку в таблицу.

IsEmpty - если метод вернёт true то в таблице нет записей.

Last - перейти на последнюю запись в таблице.

Next - перейти на следующую запись.

Post - принять все изменения.

Prior - двигаться на предыдущую запись в таблице.

Refresh - обновить информацию о данных.

UpdateRecord - обновить текущую запись.

- TDataSource

Для отображения данных из таблицы надо ещё установить на форму компонент DataSource с закладки Data Access палитры компонентов. Теперь этому компоненту надо указать, какую именно таблицу он должен отображать. Для этого в свойстве DataSet нужно из выпадающего списка выбрать нашу таблицу.

- DBGrid

Всё!!! Все приготовления готовы, можно приступать к реальному отображению данных. Самый простой способ отобразить таблицу - установить компонент DBGrid. Это компонент-сетка, которая может отображать данные в виде таблицы. В этом же компоненте можно добавлять, удалять и редактировать строки нашей таблицы.

И последний этап создания нашего приложения - связывание компонента сетки с компонентом отображения таблицы. Для этого в свойстве DataSuorce компонента DBGrid нужно указать созданный нами компонент DataSource1.

2.5 Разработка формы

Разместите на форме компонент MainMenu категории Standard и создайте меню, представленное на рис. 22.

Рисунок 22. Меню программы

На главную форму установил следующие компоненты: Image bitbtn с закладки additional.

Компонент отображает на форме графическое изображение и обеспечивает работу с ним. Основные cвойсва:

Picture - содержит отображаемый графический объект;

Proportional - будет ли картинка изменяться пропорционально при увеличении размеров;

Stretch - должны ли изменяться размеры изображения, подгоняясь под размеры компонента. Учтите, что изменение размеров изображения приведет к его искажению, если соотношение сторон графического объекта и компонента TImage не одинаково;

Transparent - должен ли быть цвет фона изображения прозрачным, чтобы сквозь него было видно нижележащее изображение;

Center - должно ли изображение центрироваться в поле компонента, если его размеры меньше размеров поля. При значении False изображение располагается в верхнем левом углу поля. Свойство не действует, если AutoSize установлено в true или если Stretch установлено в true и Picture содержит не пиктограмму;

Center - Указывает, изменяется ли автоматически размер компонента, подстраиваясь под размер изображения. По умолчанию False - не подстраивается.

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

TPicture является контейнером любого графического объекта TGraphic, тип которого указывается свойством Graphic.В зависимости от типа хранимого объекта - битовой матрицы, пиктограммы, метафайла, определены соответствующие свойства Bitmap, Icon или Metafile, указывающие на графический объект.

Для того, чтобы загрузить изображение, нужно найти свойство Picture и нажать на кнопку. В появившемся окне нажать Load и выбрать изображение.

Компонент Delphi BitBtn это пиктографическая кнопка, представляющая собой один из вариантов стандартной кнопки Button. В отличие от последней кнопкаDelphi BitBtn умеет отображать на своей поверхности не только надпись, но и изображение, которое задаётся свойством Glyph. В состав Delphi входит большое количество готовых изображений, которые можно размещать на кнопках Delphi BitBtn. В стандартном случае они располагаются по адресу C:\Program Files\Common Files\Borland Shared\Images\Buttons.

Свойство Kind компонента Delphi BitBtn определяет один из стандартных вариантов кнопки BitBtn:

Рисунок 22.Виды кнопок

Нажатие на любую из них (кроме кнопок со свойством BitBtn. Kind, равнымbkCustom или bkHelp) приводит к закрытию модального окна, в котором она установлена, а результат, возвращаемый в программу равен mrName (Name - Yes, Abort, Cancel и т.д. - название кнопки). Отличие есть у кнопки Close, её нажатие (после закрытия модального окна) приводит к возвращению не mrClose а mrCancel, а для главное окно программы просто закрывается, поэтому работа программы сразу завершается.

В случае если пиктограмма Glyph у кнопки Delphi BitBtn была изменена, система Delphi автоматически изменит и её значение BitBtn. Kind, которое станет равным bkCustom

Специфические свойства компонента - пиктографической кнопки Delphi BitBtn перечислены в таблице:

Glyph: TBitmap

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

Kind

Определяет одну из разновидностей кнопки BitBtn (см. рисунок вверху).

Layout

Определяет к какому краю кнопки будет прижиматься пиктограмма:

· blGlyphLeft - к левому;

· blGlyphRight - к правому;

· blGlyphBottom - к нижнему;

· blGlyphTop - к верхнему.

Margin

Определяет расстояние в пикселах, на котором будет располагаться пиктограмма от края кнопки.

NumGlyph

Определяет сколько растровых изображений размещается в файле, содержащем пиктограмму (*см. ниже).

Spacing

Определяет расстояние в пикселах от рисунка до текста на кнопке.

Style

Определяет как выглядит кнопка в зависимости от стиля предпочтительной операционной системы. Значение bsNewсоответствует современным вариантам Windows. Стиль bsAutoDetectприводит оформление кнопки к стилю операционной системы, управляющей работой программы в настоящий момент.

Рисунок с изображениями для кнопки может состоять из нескольких (до 4-х) частей. Стандартная пиктограмма имеет размер 16х16 пикселов. Соответственно, если рисунок состоит из 2-х частей (для активного или неактивного состояния кнопки - именно такие изображения содержатся в стандартной поставке Delphi), то рисунок будет иметь размер 32х16. Количество пиктограмм задаётся свойствомGlyph. Однако, если изображение состоит из нескольких квадратных пиктограмм одного размера, система Delphi сама распознает их количество.

Если в растре задана только одна пиктограмма, то Delphi сама может менять её изображение: в состоянии «нажата» изображение на кнопке смещается на 1 пиксель вниз-вправо, а в состоянии «недоступная» (Enabled=False) все цвета, кроме чёрного, меняются на светло-серый, а чёрный - на белый, что создаёт эффект вдавленности.

Чтобы прятать от пользователя не нужные поля и показывать только то, что мы хотим и в том виде, в котором хотим, нам необходимо научиться управлять отображением данных.

Теперь переходим в Delphi. Для начала давай перенесём компоненты доступа к базе данных в отдельное специальное окно.

Теперь выбери из меню File->New->Data Module (рисунок 12). Этим ты заставишь Delphi создать специальное окно Data Module, которое удобно подходит для хранения компонентов доступа к базам данных.

Рисунок 23. Создание модуля Data Module

Теперь выбери из меню Edit пункт Paste, чтобы вставить в это окно вырезанные нами компоненты. Расположи теперь эти компоненты в окне так, как тебе будет удобно. Я сделал это так, как показано на рисунке 14.

Рисунок 24. Окно Data Module

Теперь все компоненты, которые предназначены для доступа к базе данных будем располагатьcя здесь, чтобы с ними удобно было работать. Сохрани новый модуль под именем DM.

Теперь создадим новую форму и сохрани форму в модуле под именем fmMain.

Рисунок 25. главная форма программы

Меню программы:

Меню:

- мастер

- выход

Отчеты

Документы:

- Прайс лист

- карточки клиентов

- карточки сотрудников

Действия:

- работа с клиентами

- редактировать сотрудников

- редактировать ассортимент

- редактировать предложение

- оформить покупку

Рисунок 26. Форма сотрудники

Данная форма предоставляет возможность ввода и редактирования данных о сотрудниках.

Рисунок 27.Форма клиенты

Данная форма предоставляет возможность редактирования клиентов организации.

Рисунок 28. Форма товары и услуги

Данная форма предоставляет возможность сформировать перечень товаров и услуг организации.

Рисунок 29. Форма реализация

Данная форма предоставляет возможность оформления и редактирования продаж товаров и услуг.

2.6 Создание отчетности в Quick Reports

Создания отчётов которое входит в поставку Delphi - это Quick Reports. Он не является самым быстрым, и в сети Internet можно найти множество более быстрых, как платных, так и бесплатных генераторов отчётов. Но Quick Reports очень мощный и уже установлен в Delphi и готов к работе. Именно поэтому я выбрал его, Где бы ты не сел за Delphi, этот генератор уже будет установленным и его можно использовать.

Все компоненты Quick Reports находятся на закладке QReport палитры компонентов.

Сначала посмотрим на головной компонент Quick Reports - TQuickRep. Этот компонент - основа любого отчёта. Он представляет собой холст листа будущего отчёта.

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

Давай посмотрим на объектный инспектор и разберёмся с полями нашего отчёта:

Bands - здесь ты можешь указать, что должен иметь будущий документ, а он может содержать:

HasColumnHeader - Заголовки колонок. Если твой отчёт будет содержать таблицу, то она должна иметь шапку, где будут описаны названия колонок. Вот именно эту шапку создают в этой части документа. Так что если тебе нужна будет таблица, то этому свойству нужно будет присвоить true.

HasDetail - если в отчёте есть таблица, то вид строк делается в этом разделе.

HasPageFooter - в этом разделе создаётся нижний колонтитул.

HasPageHeader - здесь создаётся заголовок документа.

HasSummary - содержимое этого раздела печатается один раз в конце отчёта (на последней странице).

HasTitle - в этом разделе делается заголовок отчёта.

Попробуй создать новый проект и бросить на форму один компонент QuickRep. Теперь включи какие-нибудь разделы и посмотри на результат. На форме должны

появиться области очерченные пунктирной линией и внизу этой области должно быть написано её предназначение. Так ты легко можешь отличить их между собой. Любую область можно выделить и растянуть или уменьшить.

DataSet - здесь указывается набор данных (таблица) из которой отчёт будет брать данные.

Font - шрифт, который будет использоваться по умолчанию.

Frame - здесь ты указываешь параметры рамки.

Options - здесь тебе доступны три параметра. Если FirstPageHeader равно true, то заголовок печатается только на первой странице отчёта. Если LastPageFooter равен true, то нижний колонтитул печатается только на последней странице отчёта. Если установить свойство Compression в true, то отчёт будет сохраняться в сжатом виде.

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

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

ReportTitle - здесь находится заголовок печатаемого документа.

ShowProgress - если этот параметр равен true то во время печати тебе будет доступен индикатор хода выполнения печати.

SnapToGrid - нужно ли выравнивать компоненты по установленной сетке.

Zoom - масштаб отображения данных.

Если дважды щёлкнуть по компоненту QuickRep, то перед тобой откроется окно, в котором все эти настройки представлены в одном окне и в очень удобном виде. Они

достаточно понятны и легко разобраться со всем самостоятельно (смотри рисунок 23).

Я предпочитаю пользоваться именно этим окном, потому что здесь всегда можно увидеть будущий результат и если что, то все изменения можно отменить нажатием кнопки Cancel.

Рисунок 30. Окно настроек отчёта

На форме (тест) установил компонент QuickRep. Выдели этот компонент и в объектном инспекторе включи параметры HasTitle и HasDetail свойства Bands.

Теперь нужно в этих секциях расположить компоненты, которые будут отображать нужную нам информацию. На закладке QReport палитры компонентов доступны следующие компоненты, которые можно располагать в этих разделах:

QRLabel - надпись. Этот компонент похож на стандартный компонент TLabel и просто отображает нужные данные.

QRDBText - данные. Этот компонент тоже похож на TLabel, только он предназначен для отображения значения какого либо поля из базы данных. Тип поля базы данных должен быть совместим с текстом, т.е. может быть целым числом, строкой, датой, но не может быть картинкой или бинарными данными.

QRSysData - системная информация. Это опять копия TLabel только с возможностью отображать системную информацию - дату, время, номер страницы, номер строки в таблицы, общее количество страниц и т.д.

QRMemo - набор строк. Этот компонент уже похож на TMemo и способен отображать Memo данные из базы данных.

QRShape - компонент для создания обрамлений. Он чем то похож на стандартный TShape.

Перед тобой откроется окно предварительного просмотра, как на рисунке 31.

Рисунок 31. печать результатов

3. Экономическое обоснование проекта

3.1 Выбор и обоснование методики расчета экономической эффективности

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

Вопросы определения эффективности на сегодня остаются актуальными и требуют дальнейшего совершенствования.

В экономической литературе эффективность трактуется по-разному, как:

- отношение между полученными результатами и затратами средств и труда,

- вероятность выполнения поставленных перед системой задач,

- количественная мера удовлетворительного поведения объекта и т.д.

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

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


Подобные документы

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.