ВолжскийУниверситет имени В. Н. ТатищеваФакультет«Информатики и телекоммуникаций»Кафедра«Информатика и системы управления»
Курсовая работа
по дисциплине «Базы данных и знаний»
на тему:
«Автоматизация работы фотоателье»
Выполнил студент группы ИТ-201
Мартынов А.В.
Проверил
Краснов С.В.
Тольятти
2002 г.
Волжский Университет имени В.Н. ТатищеваФакультет«Информатики и телекоммуникаций»Кафедра«Информатика и системы управления»Специальность:017900
ЗАДАНИЕнакурсовой проект по дисциплине«Базыданных и знаний»
Студенту_____________________________________________________
Группа_______________________________________________________
Тема курсовойработы_________________________________________
Календарный графикзадания____________________________________
_____________________________________________________________
СОДЕРЖАНИЕЗАДАНИЯ
_______________________________________________________________________________________________________________________________
Руководитель курсовойработы_____________________ / Краснов С.В./Студент_______________ / Мартынов А.В./
Дата Выдачи:«___»________________ 2002 г.
СодержаниеВведение
1. Теоретическая часть
1.1 Предметная область автоматизации
1.1.1 Описание предметной области ифункции решаемой задачи
1.2. Постановка задачи
1.2.1 Организационно-экономическаясущность задачи
1.2.2 Документы предметной области,содержащие информацию,
необходимую для решения задачи
1.2.3 Структурный анализ с помощьюдиаграмм потоков данных
1.2.4 Структурный анализ с помощьюдиаграмм «сущность-связь
2. Реализация информационной системысредствами объектно-ориентированного языка Delphi
2.1 Аппаратная часть задачи
2.2 Обоснование выбора средыразработки и стиля программирования
2.3 Создание таблиц баз данныхЗаключениеСписок используемой литературы
Введение
Автоматизация какого-либообъекта подразумевает введение в него функций, выполняемых машиной, а нечеловеком. В нашем случае был выбран объект «Фотоателье». Он содержит множествоповторяющихся действий по оформлению документов, в частности при работе склиентами. А поскольку подобная работа выполняется вручную, то имеет смыславтоматизировать хотя бы часть работы таким образом, чтобы оператор мог безособых усилий оформлять заказы, печатать квитанции и талоны, отчетные документыи т.д. Основная работа будет выполнятся программой, которая к тому же позволитоперативно обрабатывать информацию. Преимуществом программы перед ручнойработой является скорость обработки данных, удобное представление данных,автоматическое заполнение некоторых данных, богатые возможности по обработкеданных. Например, оператор легко может вычислить, какие материалы есть вналичии, сколько уже израсходовано, какие денежные затраты это повлекло, такжеможно получить статистику посещаемости, оценить из каких районов города большеклиентов, какие услуги пользуются популярностью, какие приносят больший доход ит.д. К тому же автоматизация сервисных служб, в данном случае фотоателье,повышает уровень сервиса. Внедрение программы позволит ввести новые виды услуг,улучшить качество обслуживания. Например, может быть введена услуга по созданиюцифровых фотоальбомов на цифровых носителях (компакт дисках), также можносоздать электронный архив фотографий, где клиенты могут заводить адреса ихранить там свои фотографии (аналог электронного почтового ящика в Интернете).Реставрация фотографий, добавление цвета в черно-белые фото, монтаж и другиевозможности становятся доступными благодаря внедрению программ автоматизации.Учитывая то, что клиенты все еще ищут свои фотографии в общей коробке,просматривая одну за одной, становится очевидной необходимость учета информациио фотографиях. Опять же такую возможность предоставляет нам программа. Подводяитог, можно сказать, что выбор темы по автоматизации фотоателье основывается надостаточно низком уровне сервиса и наличии большого объема ручной работы, атакже желании внедрить современные достижения электронного мира в областьбытового обслуживания. Ни для кого не секрет, что серьезные фирмы используюткомпьютеры в своей работе. Зайдя в любой салон компьютерной техники, вы можетеубедиться в этом сами. Скорость, информативность, постоянно растущиевозможности – вот преимущества автоматизации. К тому же компьютер предоставляетвозможность интеграции с Интернетом, а это принципиально иной подход кобслуживанию клиентов. Представьте, что было бы, если заказ на коллективноефото можно было бы сделать по сети и получить готовые материалы в цифровом видесо своего электронного ящика в архиве фотоателье. Возможностей дляавтоматизации в этой области великое множество, но в настоящей курсовой работеделается упор на автоматизацию работы с клиентами.
1. Теоретическая часть
1.1 Предметная областьавтоматизации
1.1.1 Описаниепредметной области и функции решаемой задачи
Рассмотрим некоторыеаспекты решаемой задачи по автоматизации.
В работе фотоателье можновыделить следующие пункты:
1. Предоставлениеклиентам перечня услуг и расценок
2. Оформлениезаказов (договоров) на определенный вид услуг
3. Выполнение заказа
4. Предоставлениеклиенту документов, гарантирующих ему получение качественной продукции вназначенный срок, учет клиентов и связанной с ними информации
5. Выполнение работпо изготовлению фотопродукции, хранение и учет фотопродукции
6. Выдачафотопродукции
7. Учет материалов,денежных средств и т.д.
Высокийуровень сервиса в фотоателье предполагает:
1. Оперативность приоформлении заказов и выдаче документов (талонов, квитанций и т.д.)
2. Учет клиентов,ведение статистики по посещаемости и спросу на услуги
3. Учетфотопродукции, быстрый поиск затребованной клиентом продукции
4. Возможностьпредварительного просчета расхода материалов и связанных с этим денежныхзатрат, что позволит ввести систему скидок
5. Некоторые другиевозможности по обработке информации, которые в целом можно охарактеризовать какинформативностьОсобенностипоставленной задачи:
1. Функциюзаполнения дат при оформлении заказов целесообразнее переложить на программу сучетом обычных временных затрат на выполнение тех или иных видов услуг.Корректировка может быть произведена оператором
2. Согласно перечнюрасходуемых материалов могут быть предварительно просчитаны затраты навыполнение заказа
3. Программа должнапредоставлять оператору различного рода информацию по материалам, услугам,клиентам и т.д. Оператор своевремменно получает информацию о наличиинеобходимых для выполнения заказа материалов. В данном случае может бытьпредоставлена предварительная информация (см. п. 2) и откорректирована с учетомреальных затрат
4. Информация офотопродукции должна систематизироваться. В частности, оператор заранееприсваивает клиенту ячейку, где будет храниться фотопродукция. Впоследствии этопозволит быстро найти ячейку
5. После того какклиент забрал фотопродукцию, вся информация о нем, в том числе о занятойячейке, должна быть удалена
6. Должнысоблюдаться правила оформления талонов и квитанций. Эта функция возложена напрограмму
1.2 Постановка задачи
1.2.1Организационно-экономическая сущность задачи
Рассмотрим организациювыполняемых функций в задаче.
Основная работа заключается в оформлении заказов ивыдаче соответствующих документов. Учитываются правила оформления документов. Всоответствии с ними строится интерфейс программы, позволяющий оператору быстровводить необходимые данные и сохранять их в базе данных. Учитывая тот факт, чтонекоторые данные заполняются автоматически, проверяется соответствие данных, ито, что данные отображаются в удобном формате, можно говорить об экономиивременных ресурсов. К тому же документы могут быть просмотрены и распечатаны.Вся информация компактно храниться на магнитном носителе, что исключаетнеобходимость ведения ненужной бумажной документации. Интерфейс программы такжепредусматривает облегчение процесса оформления заказа, поэтому эта функцияобособлена. Другие возможности программы тем не менее доступны оператору почтина любом этапе работы. Предполагается предоставление различных статистикоператору по запросу. С учетом этого разработаны стандартные запросы к базеданных. Для опытных операторов существует возможность строить свои запросы напоиск, изменение, удаление, обработку данных, что повышает информативностьпрограммы. Учитывая возможности языка SQL и то, что запросы также могутбыть сохранены на магнитном носителе, можно повысить оперативность иинформативность программы. Кроме данных о клиентах также на начальном этапеработы с ситемой заполняются данные о видах предоставляемых услуг, стандартныхматериалах и расценках. Оператор также имеет доступ к этой информации. Работа сэтой информацией обособлена от работы с клиентами, но тем не менее может бытьбыстро получена за счет наличия функций поиска. Изменение информации поматериалам и услугам доступно для опытных пользователей, но не рекомендуется ипоэтому скрыто от оператора. В целом решается задача экономии временныхресурсов и задача информативности.
1.2.2 Документыпредметной области, содержащие информацию, необходимую для решения задачи
При оформлении заказаоператору потребуются паспортные данные, точнее номер паспорта и фамилия, имя,отчество клиента. Остальная информация (адрес) вводится со слов клиента.Клиенту выдается талон и (или) квитанция (назначение и внешний вид см. вприложении). В связи с учетом материалов и услуг могут потребоваться накладные,материальные отчеты по расходу, перечень услуг. Роль накладных и документов порасходу материалов утрирована в данном курсовом проекте из-за сложностиреализации задачи. В этих документах используются номера документов, даты,количество материалов (приход или расход). Перечень услуг содержит информацию оструктурном подразделении фотоателье, стоимости еденицы услуги, единицеизмерения услуги, номере услуги в прейскуранте, кодовом номере услуги. Переченьматериалов содержит код материала, наименование, единицу измерения, цену заеденицу. Хранение фотопродукции в пронумерованных ячейках вызвало необходимостьвведения не существующего в реальных условиях документа по учету фотографий. Внем используется подпись типа «серия – номер», идентифицирующая документ, номерпаспорта и адрес ячейки (шкаф, ящик, ячейка). Предполагается наличие не более 9шкафов, в каждом – не более 99 ящиков, в каждом ящике – не более 999 ячеек.Введен соответствующий формат адреса для ячейки: «ШЯЯяяя», где Ш –шкаф, ЯЯ –ящик, яяя – ячейка. Подводя итог, можно сказать, что для разработки программыпотребуются документы из фотоателье, содержащие перечень реальных услуг,материалов и расценок. Остальную информацию, в частности бланки документов иописание их назначения можно найти в справочной системе «Гарант», поставляемойна компакт-дисках. В этой системе можно также найти правила работы с клиентами,установленные законом, в том числе гарантийные обязательства.
1.2.3 Структурныйанализ с помощью диаграмм потоков данных
При проектированиисистемы необходимо описать разработку и внедрение всего комплекса проблем,которые необходимо решить, указанием того, какие функции системы должны бытьавтоматизированы, определением точек интерфейса человек-машина и того, каквзаимодействует система со своим окружением. Иными словами, этап проектированиясистемы является критическим для создания высококачественных систем. Системноепроектирование – это дисциплина, определяющая подсистемы, компоненты и способыих соединения, задающая ограничения, при которых система должнафункционировать, выбирающая наиболее эффективное сочетание людей, машин ипрограммного обеспечения для реализации системы. SADT – одна из известных систем проектирования. SADT – аббревиатура слов Structured Analysis and Design Technique (Технология структурнрго анализа ипроектирования)–это графическое обозначение и подход к написанию систем.
Для структурного анализас помощью диаграмм потоков данных было использовано три уровня SADT – диаграммы.
На нулевом уровне SADT – диаграммы (см. приложение)показана главная функция – оказание бытовых услуг в фотоателье. Выполнение этойфункции возможно благодаря входным данным, к которым относятся денежныесредства, заказ (заявка), рыночная информация, закупленные материалы,информация о клиентах, жалобы и предложения. Выполнение основной функциивозложено на оператора и компьютер (механизм исполнения), управляющие потокиконтролируют процесс выполнения функции. К управляющим потокам относятсязаконы, налоги, рыночные условия, требования клиентов, сроки исполнениязаказов. Личную карточку заводят сотрудники отдела кадров. К выходным потокамотносятся фотопродукция, выручка (прибыль), специфические документы (формы;подробнее см. на диаграмме).
На первом уровне SADT – диаграммы (см. приложение)детализируется главная функция. На этом уровне отражены главные функциифотоателье: закупка материалов, их транспортировка, складирование и учет,обслуживание клиентов и внутренний контроль качества. Все эти подфункции сточки зрения потоков данных связаны между собой.
На втором уровне SADT – диаграммы (см. приложение) детализируетсяподфункция «Обслуживание клиентов». Данная подфункция включает в себя:оформление заказа (заявки), изготовление фотопродукции и продажа сопутствующихматериалов, работа с клиентами.
1.2.4 Структурныйанализ с помощью диаграмм «сущность-связь»
В автоматизируемой подфункции «Обслуживание клиентов»можно выделить несколько сущностей, вытекающих из используемых документов ипроцесса бытового обслуживания в фотоателье. Три основные таблицы являютсянезависимыми и предоставляют внешние ключи другим сущностям (услуга, заказчик,материал). Таблица «услуга» содержит ключевое поле «код_услуги». Таблица«заказчик» содержит в качестве ключевого поле «номер_паспорта», и таблица«материал» – «код_материала». Сущность «квитанция» зависит от сущностей«услуга» и «заказчик» и содержит кроме первичного ключа «номер_квитанции» двавнешних ключа: «код_услуги» и «номер_паспорта», предоставляемых соответственносущностями «услуга» и «заказчик». Сущность «фотография» содержит первичный ключ«серия_номер» и внешний ключ «номер_паспорта», эта сущность зависит от«заказчика». Сущности «накладная» и «расход» похожи и зависят от сущности«материал», наследуя внешним ключом «код_материала». Первичными ключамиявляются номера документов («номер_накладной» и «номер_расх» соответственно).Необходимо отметить, что наличие двух внешних ключей в сущности «квитанция»обуславливает особенности реализации ее в интегрированной среде разработки Delphi,а именно один из внешних ключей автоматически контролируется при работепрограммы, а второй – обрабатывается с помощью небольшого кода. Так, например,при добавлении записи значение одного из внешних ключей прописываетсяавтоматически, значение второго – задается программно.
2. Реализация информационной системы средствами объектно-ориентированногоязыка Delphi
2.1 Аппаратная часть задачи
Программа тестировалась на компьютере следующейконфигурации:
- процессор Pentiun 133;
- 32 Мб оперативной памяти;
- 25 Мб свободного пространства нажестком диске;
- видеорежим 800 на 600 точек (минимальноедопустимое), 16 бит на цвет;
- манипулятор «мышь»;
- операционная система Windows 98 ВР;
- принтер желателен, нонеобязателен;
Для функционирования программы необходимо наличиеследующих файлов:
1. fotolab.exe (исполнимый модуль программы);
2. fotolab.hlp (файл справочной информации по программе);
3. foto.db (сущность «фотография»);
4. kvitancia.db (сущность «квитанция»);
5. material.db (сущность «материал»);
6. naklad.db (сущность «накладная»);
7. rashod.db (сущность «расход»);
8. uskuga.db (сущность «услуга»);
9. zakazchik.db (сущность «заказчик»);
10. другие файлы, с названиями,соответствующими названиям сущностей;
11. dbdwork.ini.
При, работе с программой могут создаваться файлы SQLзапросов, сохраняемые обычно в папке SQL в обычном текстовом формате.Запросы могут быть отредактированы в любом текстовом редакторе или изпрограммы. Также из окна просмотра квитанции и талона можно сохранять их какфайлы отчетов (*.qrp).
2.2 Обоснование выбора среды разработки и стиляпрограммирования
В качестве стиля программирования, выбранобъектно-ориентированный язык, основанный на ObjectPascal. В качестве среды программирования – интегрированнаясреда разработки Delphi 5, которая является одной из лучших ИСР для быстрогосоздания приложений благодаря библиотеке VCL (библиотекавизуальных компонентов). Из всех известных средств разработки программныхпродуктов, Delphi является одним из самых лучших по следующим причинам:
1) пакет Delphi совместнос включёнными в него дополнительными программами предоставляет разработчикубольшой объём возможностей по созданию программ, предназначенных для работы сбазами данных. Borland Database Engine(BDE) является мировым стандартом ядра для СУБД;
2) в пакете Delphi естьвозможность вывода информации из баз данных на принтер с использованиемгенератора отчётов;
3) в Delphiреализован язык SQL, который используется при работе с базами данных;
4) в Delphi естьвозможность подключения дополнительных модулей различного назначения. Этопозволяет создавать нестандартные компоненты, изменять существующие. Благодаряэтому, улучшается восприятие пользователем данного программного продукта;
5) несомненным плюсом являетсятехнология автодополнения кода и всплывающих подсказок, быстрое обнаружениеидентификаторов в подключенных модулях;
6) компилятор Delphiявляется одним из самых быстрых, он драматически снижает временные затраты наперекомпиляцию проектов, что очень полезно на стадии отладки приложения;
7) такие модули, как Object Inspector (Инспектор объектов) и менеджер проектов, являютсянезаменимыми инструментами инструментами по настройке интерфейсаразрабатываемого приложения, значительно экономящими время разработки программына начальном этапе.
Визуальная библиотека компонентов (VCL)содержит исходные тексты стандартных компонентов Delphi, чтопредоставляет разработчику широкие возможности по изучению и изменению кода.Кроме того эта библиотека используется также в других ИСР выпущенных Borland (Inprise). Delphi оправдывает название среды быстрой разработкиприложений (RAD), многие функции реализуются прозрачно дляпрограммиста, например, чаще всего программист не заботится о написании кодадля создания форм в приложении, для их прорисовки и т.д. Часто можноразработать полноценную программу, не написав при этом ни строчки кода.
Структурированный подход при написании кода лучшимобразом отвечает запросам программиста, так как при этом намного прощеразобраться в исходном коде программы, отлаживать программу и вноситьизменения. Буквально двойным щелчком на компоненте можно задавать стандартныепроцедуры обработки.
2.3 Создание таблиц базы данных
Для осуществления поставленной задачи выбраныреляционные базы данных. Их создание осуществлялось в специальном приложении Delphi,которое называется Database Desktop, таблицы написаны в Paradox 7.0. При проектировании полей таблиц учитывались бланки документов(квитанций, талона, паспорта).
Структура необходимых таблиц представлена наглядно втаблицах 1,2,3,4,5,6,7.
Таблица 1. Логическая структура таблицы «Услуга».
Обозначение
Наименование
Ключ
Тип данных
Длина
Точность Cod_usl Код услуги * Числовой Podr Подразделение Строковый 20 Naim_usl Наименование услуги Строковый 20 Ed_izm_usl Ед. изм. услуги Строковый 5 Kol_ed_usl Кол-во ед. усл. Числовой Stoim_ed Стоимость ед. Денежный N_preis Номер по прейскуранту Числовой
Таблица 2. Логическая структура таблицы «Материал».
Обозначение
Наименование
Ключ
Тип данных
Длина
Точность Cod_mater Код материала * Числовой Naim_mat Наименование материала Строковый 20 Ed_izm_mat Ед. изм. мат-ла Строковый 5 Zena_ed Цена ед. мат-ла Денежный
Таблица 3. Логическая структура таблицы «Заказчик».
Обозначение
Наименование
Ключ
Тип данных
Длина
Точность N_pasp Номер паспорта * Числовой Fam Фамилия Строковый 30 Im Имя Строковый 30 Ot Отчество Строковый 30 Raion Район Строковый 15 Ulica Улица Строковый 25 Dom Дом Строковый 5 Kvartira Квартира Числовой Tel Телефон Числовой
Таблица 4. Логическая структура таблицы «Фотография».
Обозначение
Наименование
Ключ
Тип данных
Длина
Точность Sn Серия – номер * Числовой N_pasp Номер паспорта Внеш. Числовой Box Ячейка Числовой
Таблица 5. Логическая структура таблицы «Квитанция».
Обозначение
Наименование
Ключ
Тип данных
Длина
Точность N_kvit Номер квитанции * Числовой Date_p Дата заказа Дата Date_vp Плановая дата выполнения Дата Date_vf Фактическая дата выполнения Дата Cod_usl Код услуги Внеш. Числовой N_pasp Номер паспорта Внеш. Числовой
Таблица 6. Логическая структура таблицы «Накладная».
Обозначение
Наименование
Ключ
Тип данных
Длина
Точность N_naklad Номер накладной * Числовой Kol_prih Количество материала Числовой Date_prih Дата прихода Дата Cod_mater Код материала Внеш. Числовой
Таблица 7. Логическая структура таблицы «Расход».
Обозначение
Наименование
Ключ
Тип данных
Длина
Точность N_rash Номер док-та * Числовой Kol_rash Количество материала Числовой Date_rash Дата расхода Дата Cod_mater Код материала Внеш. Числовой
Заключение
В данной курсовой работебыла достигнута частичная автоматизация фотоателье. С точки зренияпрактического применения программный продукт не является полноценным, хотянекоторые модули могут быть использованы для разработки пригодного к реальнымусловиям приложения. Целью проекта является демонстрация возможностейавтоматизации в сфере бытового обслуживания. Много внимания уделяется апробациивозможностей языка SQL,предоставляющего средства для обработки данных. Дополнительная функциональностьпрограммы заключена именно в SQLзапросах, поставляемых вместе с приложением. Запросы позволяют подсчитыватьостаток материалов, вычислять сумму к оплате, находить определенный видматериалов (жидкие, например), составлять статистику по посещаемостифотоателье, находить разного рода информацию по клиентам, например, гдехранятся фотографии и др. На основе конференции по Delphi и некоторых других источников в качествесамотоятельного изучения была разработана справочная система по программе иформа непрямоугольной формы «О программе», а также создан проект файла ресурсас картинкой для этой формы. Но поскольку целью курсовой не является разработкаграфического интерфейса и документации непосредственно, то этим моментам неуделялось особого внимания. Данное приложение может быть адаптировано к любойслужбе быта, учитывая схожесть организации основных функций и решаемых задач.
Список используемой литературы
1. Архангельский А.Я. ПрограммированиеВ Delphi 5 – М.: ЗАО «Издательство Бином», 2000 г. – 1072 с.:ил.
2. Издательская группа BHV Турбо Паскаль7.0 — К.: 1998 г. – 448 с.: ил.
3. Встроенное справочное руководство Borland Delphi 5.
4. Интернет-сайт www.citforum.ru ftp-архив.
5. Документы конференции по Delphi.