Волжский Университет имени В. Н. Татищева
Факультет «Информатики и телекоммуникаций»
Кафедра «Информатика и системы управления»
Курсовая работа
по дисциплине «Базы данных и знаний»
на тему:
«Автоматизация работы фотоателье»
Выполнил студент группы ИТ-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– аббревиатура слов StructuredAnalysisandDesignTechnique (Технология структурнрго анализа и проектирования)–это графическое обозначение и подход к написанию систем.
Для структурного анализа с помощью диаграмм потоков данных было использовано три уровня 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 совместно с включёнными в него дополнительными программами предоставляет разработчику большой объём возможностей по созданию программ, предназначенных для работы с базами данных. BorlandDatabaseEngine (BDE) является мировым стандартом ядра для СУБД;
2) в пакете Delphi есть возможность вывода информации из баз данных на принтер с использованием генератора отчётов;
3) в Delphi реализован язык SQL, который используется при работе с базами данных;
4) в Delphi есть возможность подключения дополнительных модулей различного назначения. Это позволяет создавать нестандартные компоненты, изменять существующие. Благодаря этому, улучшается восприятие пользователем данного программного продукта;
5) несомненным плюсом является технология автодополнения кода и всплывающих подсказок, быстрое обнаружение идентификаторов в подключенных модулях;
6) компилятор Delphi является одним из самых быстрых, он драматически снижает временные затраты на перекомпиляцию проектов, что очень полезно на стадии отладки приложения;
7) такие модули, как ObjectInspector (Инспектор объектов) и менеджер проектов, являются незаменимыми инструментами инструментами по настройке интерфейса разрабатываемого приложения, значительно экономящими время разработки программы на начальном этапе.
Визуальная библиотека компонентов (VCL) содержит исходные тексты стандартных компонентов Delphi, что предоставляет разработчику широкие возможности по изучению и изменению кода. Кроме того эта библиотека используется также в других ИСР выпущенных Borland (Inprise). Delphiоправдывает название среды быстрой разработки приложений (RAD), многие функции реализуются прозрачно для программиста, например, чаще всего программист не заботится о написании кода для создания форм в приложении, для их прорисовки и т.д. Часто можно разработать полноценную программу, не написав при этом ни строчки кода.
Структурированный подход при написании кода лучшим образом отвечает запросам программиста, так как при этом намного проще разобраться в исходном коде программы, отлаживать программу и вносить изменения. Буквально двойным щелчком на компоненте можно задавать стандартные процедуры обработки.
2.3 Создание таблиц базы данных
Для осуществления поставленной задачи выбраны реляционные базы данных. Их создание осуществлялось в специальном приложении Delphi, которое называется DatabaseDesktop, таблицы написаны в Paradox 7.0. При проектировании полей таблиц учитывались бланки документов (квитанций, талона, паспорта).
Структура необходимых таблиц представлена наглядно в таблицах 1,2,3,4,5,6,7.
Таблица 1. Логическая структура таблицы «Услуга».
Обозначение
|
Наименование
|
Ключ
|
Тип данных
|
Длина
|
Точность
|
Cod_usl |
Код услуги |
* |
Числовой |
0 |
Podr |
Подразделение |
Строковый |
20 |
0 |
Naim_usl |
Наименование услуги |
Строковый |
20 |
0 |
Ed_izm_usl |
Ед. изм. услуги |
Строковый |
5 |
0 |
Kol_ed_usl |
Кол-во ед. усл. |
Числовой |
0 |
Stoim_ed |
Стоимость ед. |
Денежный |
0 |
N_preis |
Номер по прейскуранту |
Числовой |
0 |
Таблица 2. Логическая структура таблицы «Материал».
Обозначение
|
Наименование
|
Ключ
|
Тип данных
|
Длина
|
Точность
|
Cod_mater |
Код материала |
* |
Числовой |
0 |
Naim_mat |
Наименование материала |
Строковый |
20 |
0 |
Ed_izm_mat |
Ед. изм. мат-ла |
Строковый |
5 |
0 |
Zena_ed |
Цена ед. мат-ла |
Денежный |
0 |
Таблица 3. Логическая структура таблицы «Заказчик».
Обозначение
|
Наименование
|
Ключ
|
Тип данных
|
Длина
|
Точность
|
N_pasp |
Номер паспорта |
* |
Числовой |
0 |
Fam |
Фамилия |
Строковый |
30 |
0 |
Im |
Имя |
Строковый |
30 |
0 |
Ot |
Отчество |
Строковый |
30 |
0 |
Raion |
Район |
Строковый |
15 |
0 |
Ulica |
Улица |
Строковый |
25 |
0 |
Dom |
Дом |
Строковый |
5 |
0 |
Kvartira |
Квартира |
Числовой |
0 |
Tel |
Телефон |
Числовой |
0 |
Таблица 4. Логическая структура таблицы «Фотография».
Обозначение
|
Наименование
|
Ключ
|
Тип данных
|
Длина
|
Точность
|
Sn |
Серия – номер |
* |
Числовой |
0 |
N_pasp |
Номер паспорта |
Внеш. |
Числовой |
0 |
Box |
Ячейка |
Числовой |
0 |
Таблица 5. Логическая структура таблицы «Квитанция».
Обозначение
|
Наименование
|
Ключ
|
Тип данных
|
Длина
|
Точность
|
N_kvit |
Номер квитанции |
* |
Числовой |
0 |
Date_p |
Дата заказа |
Дата |
0 |
Date_vp |
Плановая дата выполнения |
Дата |
0 |
Date_vf |
Фактическая дата выполнения |
Дата |
0 |
Cod_usl |
Код услуги |
Внеш. |
Числовой |
0 |
N_pasp |
Номер паспорта |
Внеш. |
Числовой |
0 |
Таблица 6. Логическая структура таблицы «Накладная».
Обозначение
|
Наименование
|
Ключ
|
Тип данных
|
Длина
|
Точность
|
N_naklad |
Номер накладной |
* |
Числовой |
0 |
Kol_prih |
Количество материала |
Числовой |
0 |
Date_prih |
Дата прихода |
Дата |
0 |
Cod_mater |
Код материала |
Внеш. |
Числовой |
Таблица 7. Логическая структура таблицы «Расход».
Обозначение
|
Наименование
|
Ключ
|
Тип данных
|
Длина
|
Точность
|
N_rash |
Номер док-та |
* |
Числовой |
0 |
Kol_rash |
Количество материала |
Числовой |
0 |
Date_rash |
Дата расхода |
Дата |
0 |
Cod_mater |
Код материала |
Внеш. |
Числовой |
Заключение
В данной курсовой работе была достигнута частичная автоматизация фотоателье. С точки зрения практического применения программный продукт не является полноценным, хотя некоторые модули могут быть использованы для разработки пригодного к реальным условиям приложения. Целью проекта является демонстрация возможностей автоматизации в сфере бытового обслуживания. Много внимания уделяется апробации возможностей языка SQL, предоставляющего средства для обработки данных. Дополнительная функциональность программы заключена именно в SQL запросах, поставляемых вместе с приложением. Запросы позволяют подсчитывать остаток материалов, вычислять сумму к оплате, находить определенный вид материалов (жидкие, например), составлять статистику по посещаемости фотоателье, находить разного рода информацию по клиентам, например, где хранятся фотографии и др. На основе конференции по Delphi и некоторых других источников в качестве самотоятельного изучения была разработана справочная система по программе и форма непрямоугольной формы «О программе», а также создан проект файла ресурса с картинкой для этой формы. Но поскольку целью курсовой не является разработка графического интерфейса и документации непосредственно, то этим моментам не уделялось особого внимания. Данное приложение может быть адаптировано к любой службе быта, учитывая схожесть организации основных функций и решаемых задач.
Список используемой литературы
1. Архангельский А.Я. Программирование В Delphi 5 – М.: ЗАО «Издательство Бином», 2000 г. – 1072 с.: ил.
2. Издательская группа BHVТурбо Паскаль 7.0 - К.: 1998 г. – 448 с.: ил.
3. Встроенное справочное руководство BorlandDelphi 5.
4. Интернет-сайт www.citforum.ruftp-архив.
5. Документы конференции по Delphi.
|