Поможем написать учебную работу
Если у вас возникли сложности с курсовой, контрольной, дипломной, рефератом, отчетом по практике, научно-исследовательской и любой другой работой - мы готовы помочь.
Если у вас возникли сложности с курсовой, контрольной, дипломной, рефератом, отчетом по практике, научно-исследовательской и любой другой работой - мы готовы помочь.
ФГБОУ ВПО Самарский государственный экономический университет
Кафедра прикладной информатики и информационной безопасности
Курсовой проект по дисциплине:
«Проектирование корпоративных экономических систем»
на тему «Автоматизированная информационная система рекламного агентства»
Подготовила: студентка 4 курса
специальности ПИЭ
Николаева Екатерина
Проверил: к.э.н., доцент
Петров Сергей Иванович
Дата защиты:
Оценка:
Самара, 2014
Содержание
Список используемой литературы 39
Приложения
Приложение 1. Листинг программы 40
Целью внедрения программного комплекса по автоматизированной системе управления взаимодействия с клиентами и портфелем заказов является автоматизация взаимоотношений с клиентами и упрощение системы взаимодействия с ними. Для этого необходимо произвести следующие действия:
1. Разработать формы отчетов и документов.
2. Разработать дерево взаимоотношений.
3. Разработать базу данных по взаимоотношению с клиентами.
1.2. Общее описание системы.
Система управления рекламным агентством предназначена для автоматизации работы фирмы, представляющей рекламную продукцию. Целью системы является повышение эффективности работы организации и более полное удовлетворение потребностей клиентов.
Задачи системы:
• управление взаимоотношениями с клиентами
◦ регистрация клиентов в системе
◦ ведение истории заказов каждого клиента
Данная система будет состоять из нескольких компонент
Компонента взаимодействия с клиентами обеспечивает:
Компонента "Взаимодействие с клиентами" создана для оптимизации и упрощения процесса взаимодействия с клиентами и легкого и доступного получения необходимой информации о фирме.
Компонента управление портфелем заказов предназначена для автоматизации процесса формирования платежных поручений и документов по гарантии товара.
Рекомендуемые требования.
Для функционирования системы необходимо следующее оборудование:
Рабочии станции:
• Операционная система Windows NT и выше;
• процессор Intel Dual core выше;
• оперативную память 512 Мбайт и выше;
• Объем на жестком диске 2 Гб и выше;
• накопитель CD-ROM;
Сервер:
• Процессор с частотой 1,6 ГГц или выше
• 1024 МБ ОЗУ
• 3 ГБ свободного места на диске
• Жесткий диск со скоростью 5400 об/мин
• Видеоадаптер с поддержкой DirectX 9 и разрешением 1280 x 1024 (или более высоким)
• Дисковод DVD-ROM
Для разработки нам потребуется: локальная вычислительная сеть.
Для хорошей производительности и работы без сбоев системы необходимо иметь сеть с пропускной способностью не менее 100 Мбит.
Пропускная способность сети и мощность сервера играет большую роль в производительности системы. При несоблюдении данных рекомендуемых требований специалисты организации-исполнителя не несут ответственности за корректную работу программы.
Клиент имеет возможность просматривать прайс-лист предлагаемых услуг, делать заказ, а также оставлять свои отзывы и предложения. Для того чтобы клиенту совершить заказ, ему необходимо выбрать необходимый товар из таблицы и заполнить поля данными о себе (заказчике) и заказе. После нажатия на кнопку «Оформить заказ» автоматически формируется счет. Информация о заказе и заказчике (если клиент впервые делает заказ в нашей фирме) добавляется в БД.
Менеджер может просматривать список заказов, добавлять в БД данные о клиентах и услугах, составлять отчет об объеме выполненных работ. После того, как клиент отправил менеджеру заявку на оказание услуг, менеджер формирует техническое задание по текущему заказу и отправляет его творческому отделу.
Мастер имеет возможность принять заказ на исполнение и поменять статус заказа. После того, как мастер получает техническое задание от менеджера, творческий отдел начинает выполнять заказ. По завершению работ мастер формирует смету затрат по текущему заказу и отправляет ее менеджеру, меняя при этом статус заказа на «Выполнен».
Бухгалтер формирует отчет о прибылях.
Клиент
1) Клиент отправляет заявку менеджеру
2) Менеджер формирует счет
1) Добавление информации о клиентах
2) Добавление заказов
3) Просмотр прайс-листа
1) Бухгалтер формирует отчет и добавляет его в бд
2) Просматривает информацию по заказам
Менеджер
Бухгалтер
БД
1) Менеджер формирует тех.задание и добавляет его в бд
2) Добавляет данные в БД клиентов, прайс-лист
3) Просмотр информации о заказах
1) Формирование и добавление в БД сметы
2) Изменение статуса заказов
3) Просмотр информации о заказах
1) Менеджер отправляет техническое задание мастеру
2) Мастер после выполнения заказа формирует смету
Мастер
Рис.1. Схема взаимодействия между ролями системы
При реализации данной (рис.1) схемы документооборота обеспечивается создание минимального количества выходных форм отчетов. Передача данных будет происходить внутри базы данных, что значительно упрощает документооборот.
1. Установка системы
Установка системы сводится к инсталляции программного комплекса на сервер, а также тестирование программы в работе. Срок выполнения-4 рабочих дня.
2. Первичная настройка:
• настройка констант и данных о предприятии;
• настройка прав доступа;
• настройка документов;
Перед началом работы данной системы необходимо ввести сведения о пользователях, и данные организации. Срок настройки-2 рабочие недели.
3. Обучение сотрудников.
Обучение сотрудников производится непосредственно на каждом рабочем месте, для каждого отводится свой срок обучения в зависимости от емкости выполнения работ. Также параллельно может происходить обучение на других рабочих местах.
График обучения по рабочим местам:
• Менеджер - 4 недели.
• Мастер - 3 недели.
• Бухгалтер - 3 недели.
Совместно с обучением происходит дополнительная настройка для каждого рабочего места.
4. Окончательная настройка
Так как при обучении и работе с программой возникает необходимость создавать новые или изменять старые документы и отчеты, окончательная настройка заключается в доработке документов и отчетов, в соответствии с требованиями Заказчика. Срок-3 недели.
План выполнения работ
Установка Cистемы |
|||||||||||||||||||
Первичная Настройка |
|||||||||||||||||||
Обучение Сотрудников |
|||||||||||||||||||
1 рабочее место |
|||||||||||||||||||
2 рабочее место |
|||||||||||||||||||
3 рабочее место |
|||||||||||||||||||
Дополнительная настройка |
|||||||||||||||||||
Окончательная Настройка |
Срок выполнения 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 20
(в неделях)
Целью деятельности ООО «Идея» является качественное и полное удовлетворение потребностей организаций и частных лиц в услугах, а также получение прибыли.
На первоначальном этапе развития локомотивом бизнеса являлась широкоформатная печать. Гибкая система ценообразования и дружелюбный подход к клиенту позволили в течении одного года не только уверенно закрепится на рынке, но и создать доброе имя. ООО «Идея» - динамично развивающееся рекламное агентство. Стратегической задачей деятельности рекламного агентства является управление имиджем клиента, поэтому было принято решение о разработке и внедрении АИС для достижения поставленных целей.
Основными целями создания автоматизированной системы являются:
• Создание принципиально новой информационной системы, которая предоставляет возможность комплексного информационно-аналитического обеспечения процессов.
Для разработки АИС необходимо:
Объектом автоматизации являются процессы по управлению потоком заявок клиентов, а также контроль эффективности выполнения указанных процессов.
Для того, чтобы выполнить задание, необходимо:
• Создать базу данных, включающую таблицы: клиенты, прайс-лист, заявки, технические задания, сметы;
• Создать формы для редактирования и добавления новых записей в эти таблицы;
• Создать форму регистрации и обработки заявок.
Организационная структура представлена на рис.2.
Рис.2. Организационная струкутра
В организационной структуре ООО «Идея» (рис. 2) можно выделить следующие организационные подразделения:
1) Директор рекламного агентства руководит в соответствии с действующим законодательством производственно-хозяйственной, коммерческой и финансово-экономической деятельностью агентства; организует работу и эффективное взаимодействие всех подразделений агентства, направляет их деятельность на развитие и совершенствование с учетом рыночных приоритетов, достигая повышения эффективности работы, роста объемов продаж и увеличения прибыли, качества и конкурентоспособности агентства.
2) Бухгалтер - ведет бухгалтерскую отчетность, организует внутренний аудит, ведет бухгалтерский учет, составляет отчетность. Он несет ответственность за всю сферу учета, включая начисления заработной платы, подготовку отчетов для нужд управленческого учета и налоговых органов, развитие прочих отношений с банками и финансовыми институтами.
3) Менеджер по работе с клиентами принимает заказы, делает клиенту предложения по срокам исполнения и цене заказа. Менеджер является важным посредником в диалоге между клиентом и группой креативного отдела, работающей над заказом. Защищает работу, проделанную агентством, перед клиентом. Доносит требования клиента до сотрудников агентства посредством работы над техническими заданиями. Менеджер отвечает за эффективность и сроки выполнения работы перед клиентом. Гарантирует агентству своевременную оплату клиентом счетов.
4) Креативный отдел специалисты, которые занимаются разработкой и производством рекламы.
Дизайнер рекламных агентств художник без кисточки. Он оформляет рекламные щиты, разрабатывает корпоративный стиль компании (от фирменного знака, логотипа и визиток до календарей, упаковок и уличных постеров), создает макеты газет, журналов и выставочных стендов.
Копирайтер это автор рекламных текстов, будь то название бренда, слоган, сам рекламный текст и его составляющие, статья, пресс-релиз, сценарий рекламного ролика на телевидении, в интернете или на радио и так далее. Он отвечает за текстовую часть проекта, начиная с первых презентаций идей, заканчивая финальной версией всех материалов.
Web-дизайнер отвечает за то, как выглядит и воспринимается Интернет-сайт. Он придумывает логотипы, баннеры и другие элементы графики, продумывает навигацию по сайту, определяет, где следует разместить текст.
Все сотрудники, выполняя свои определенные функции, способствуют достижению основной цели рекламного агентства - это выполнение миссии фирмы, поставленной на этапе стратегического планирования деятельности организации.
Документооборот представлен на рис.3.
Рис.3. Документооборот
Основным звеном документооборота фирмы является бухгалтерия, через которую проходят практически все документы, с которыми работает фирма. Менеджер является связующим звеном между клиентами и фирмой. Он принимает и выдает готовые заказы, а также работает с БД клиентов и заказов, оформляет отчетность.
Функциональные возможности автоматизированной системы:
Данные функции облегчат работу менеджера по ведению базы данных и отслеживанию заказов. Также будет осуществлена возможность для творческого отдела выбирать заказы для выполнения.
Таблицы, используемые при проектировании АИС хранятся в БД Microsoft Access 2007.
Таблица «price» содержит в себе информацию о перечне товаров, предлагаемых рекламным агентством.
Таблица 1. Таблица «price»
Имя |
Назначение |
Тип |
Длина |
id_uslugi |
Код услуги |
Числовой |
Счетчик |
name_uslugi |
Наименование услуги |
Текстовый |
40 |
cena_za_ed |
Цена за единицу |
Числовой |
Длинное целое |
Таблица «klient» содержит информацию о всех клиентах фирмы, которые хотя бы единожды делали заказ.
Таблица 2. Таблица «klient»
Имя |
Назначение |
Тип |
Длина |
id_klienta |
Код клиента |
Числовой |
Счетчик |
fio_klienta |
ФИО клиента |
Текстовый |
25 |
telefon |
Телефон клиента |
Текстовый |
10 |
Таблица «zayvka» содержит информацию обо всех заказах.
Таблица 3. Таблица «zayvka»
Имя |
Назначение |
Тип |
Длина |
id_zayavki |
Код заявки |
Числовой |
Счетчик |
fio_zakazhika |
ФИО заказчика(клиента) |
Текстовый |
25 |
data_zajvki |
Дата подачи заявки |
Дата/время |
|
id_usligi |
Код услуги |
Числовой |
Длинное целое |
kol |
Количество |
Числовой |
Длинное целое |
cena |
Цена за единицу |
Числовой |
Длинное целое |
stoim |
Стоимость |
Числовой |
Длинное целое |
status |
Статус заказа (Выполнен/Не выполнен) |
Текстовый |
15 |
Таблица «smeta» содержит информацию о выполненных заказах.
Таблица 4. Таблица «smeta»
Имя |
Назначение |
Тип |
Длина |
id_z |
Код заказа |
Числовой |
Длинное целое |
id_uslugi |
Код услуги |
Числовой |
Длинное целое |
kol |
Количество |
Числовой |
Длинное целое |
cena |
Цена за единицу |
Числовой |
Длинное целое |
stoim |
Стоимость |
Числовой |
Длинное целое |
В таблице «teh_zad» хранится информация о нарядах, которые менеджер формирует для творческого отдела.
Таблица 5. Таблица «the_zad»
Имя |
Назначение |
Тип |
Длина |
id_zayavki |
Код заказа |
Числовой |
Длинное целое |
fio_zakazhika |
ФИО заказчика |
Текстовый |
25 |
data_zajvki |
Дата подачи |
Дата/время |
|
id_uslugi |
Код услуги |
Числовой |
Длинное целое |
kol |
Количество |
Числовой |
Длинное целое |
cena |
Цена |
Числовой |
Длинное целое |
stoim |
Стоимость |
Числовой |
Длинное целое |
status |
Статус |
Числовой |
15 |
Таблица «predlog» содержится информация об отзывах и предложениях клиентов фирмы.
Таблица 6. Таблица «predlog»
Имя |
Назначение |
Тип |
Длина |
id |
Код отзыва |
Числовой |
Счетчик |
data_otz |
Дата размещения |
Дата/время |
Длинное целое |
otziv |
Текст отзыва |
Текстовый |
50 |
Схема данных представлена на рис.3.
Рис.4. Схема данных
Среди всех фирм-производителей CASE-средств именно компания IBM Rational Software Corp. одна из первых осознала стратегическую перспективность развития объектно-ориентированных технологий анализа и проектирования программных систем. Эта компания выступила инициатором унификации языка визуального моделирования в рамках консорциума OMG, что, в конечном итоге, привело к появлению первых версий языка UML. И эта же компания первой разработала инструментальное объектно-ориентированное CASE-средство, в котором был реализован язык UML как базовая нотация визуального моделирования.
CASE-средство IBM Rational Rose со времени своего появления претерпело серьезную эволюцию, и в настоящее время представляет собой современный интегрированный инструментарий для проектирования архитектуры, анализа, моделирования и разработки программных систем. Именно в IBM Rational Rose язык UML стал базовой технологией визуализации и разработки программных систем, что определило популярность и стратегическую перспективность этого инструментария.
Rational Rose позволяет создавать модели будущей системы, удобные для понимания алгоритмов работы, взаимосвязей между объектами, по которым в дальнейшем создается программный каркас будущей программной системы. Модель будущей системы позволяет уже на стадии проектирования получить представление о поведении системы и избежать дорогостоящих ошибок в дальнейшем, когда в написание программного кода вложены значительные силы.
Диаграммы вариантов использования описывают взаимоотношения и зависимости между группами вариантов использования и действующих лиц, участвующими в процессе. Вариант использования описывает, с точки зрения действующего лица, группу действий в системе, которые приводят к конкретному результату. Действующее лицо является внешним источником (не элементом системы), который взаимодействует с системой через вариант использования. Действующие лица могут быть как реальными людьми (например, пользователями системы), так и другими компьютерными системами или внешними событиями.
В системе участвуют следующие действующие лица (actors):
В модели имеются следующие варианты использования (Use Case):
Диаграмма вариантов использования представлена на рис. 5.
Рис.5. Диаграмма вариантов использования
На диаграмме последовательности изображаются только те объекты, которые непосредственно участвуют во взаимодействии. Ключевым моментом для диаграмм последовательности является динамика взаимодействия объектов во времени.
Диаграмма последовательности имеет как бы два измерения. Первое слева направо в виде вертикальных линий, каждая из которых изображает линию жизни отдельного объекта, участвующего во взаимодействии. Крайним слева на диаграмме изображается объект, который является инициатором взаимодействия. Правее изображается другой объект, который непосредственно взаимодействует с первым. Таким образом, все объекты на диаграмме последовательности образуют некоторый порядок, определяемый очередностью или степенью активности объектов при взаимодействии друг с другом.
Диаграммы последовательности изображены на рис. 6-8.
Рис.6. Диаграмма последовательности «priemka»
Рис.7. Диаграмма последовательности «resultat»
Рис.8. Диаграмма последовательности «sv_othet»
Этот тип диаграмм позволяет описать взаимодействия объектов, абстрагируясь от последовательности передачи сообщений. На этом типе диаграмм в компактном виде отражаются все принимаемые и передаваемые сообщения конкретного объекта и типы этих сообщений.
По причине того, что диаграммы Sequence и Collaboration являются разными взглядами на одни и те же процессы, Rational Rose позволяет создавать из Sequence диаграммы диаграмму Collaboration и наоборот, а также производит автоматическую синхронизацию этих диаграмм.
При создании диаграммы сотрудничества, или, как ее еще называют, кооперативной диаграммы, целесообразно отталкиваться от разработанной ранее диаграммы последовательности, расположив, участвующие во взаимодействии объекты в виде вершин графа. Связи между этими объектами, отраженные на диаграмме последовательности, дополняются сообщениями, которые объекты принимают и посылают. Это дает аналитику ясное визуальное преставление о потоке управления в контексте структурной организации кооперирующихся объектов.
Диаграммы кооперации представлены на рис. 9-11.
Рис.9. Диаграмма кооперации «priemka»
Рис.10. Диаграмма кооперации «resultat»
Рис.11. Диаграмма кооперации «sv_othet»
Фактически данный тип диаграмм может использоваться и для отражения состояний моделируемого объекта, однако, основное назначение Activity diagram в том, чтобы отражать бизнес-процессы объекта. Этот тип диаграмм позволяет показать не только последовательность процессов, но и ветвление и даже синхронизацию процессов.
Этот тип диаграмм позволяет проектировать алгоритмы поведения объектов любой сложности, в том числе может использоваться для составления блок-схем.
Диаграмма активности диаграмма, на которой показано разложение некоторой деятельности на её составные части. Под деятельностью понимается спецификация исполняемого поведения в виде координированного последовательного и параллельного выполнения подчинённых элементов вложенных видов деятельности и отдельных действий, соединённых между собой потоками, которые идут от выходов одного узла к входам другого.
Диаграммы активности представлены на рис. 12.
Рис.12. Диаграмма активности «oformlenie_zakaza»
Этот тип диаграмм позволяет создавать логическое представление системы, на основе которого создается исходный код описанных классов.
Значки диаграммы позволяют отображать сложную иерархию систем, взаимосвязи классов (Classes) и интерфейсов (Interfaces). Данный тип диаграмм противоположен по содержанию диаграмме Collaboration, на котором отображаются объекты системы. Rational Rose позволяет создавать классы при помощи данного типа диаграмм в различных нотациях. В нотации, предложенной Г. Бучем, которая так и называется Booch, классы изображаются в виде чего-то нечеткого, похожего на облако. Таким образом Г.Буч пытается показать, что класс это лишь шаблон, по которому в дальнейшем будет создан конкретный объект.
Диаграммой классов в терминологии UML называется диаграмма, на которой показан набор классов (и некоторых других сущностей, не имеющих явного отношения к проектированию БД), а также связей между этими классами. Классом называется именованное описание совокупности объектов с общими атрибутами, операциями, связями и семантикой. Графически класс изображается в виде прямоугольника. У каждого класса должно быть имя (текстовая строка), уникально отличающее его от всех других классов.
Атрибутом класса называется именованное свойство класса, описывающее множество значений, которые могут принимать экземпляры этого свойства. Класс может иметь любое число атрибутов (в частности, не иметь ни одного атрибута).
Операцией класса называется именованная услуга, которую можно запросить у любого объекта этого класса. Операция это абстракция того, что можно делать с объектом. Класс может содержать любое число операций (в частности, не содержать ни одной операции).
Диаграмма классов представлена на рис. 13.
Рис.13. Диаграмма классов «diagr_classov»
Классы zayavka, shet, the_zadanie, smeta, finans_othet, othet_vip_rabot имеют стереотип boundary (граничный), то есть, эти классы находится «на границе» информационной системы и внешнего мира, обеспечивает взаимодействие системы и внешнего пользователя.
Классы bd_klientov, bd_zakazov, bd_tovarov имеют тип Table, так как описывают объекты, реализующие взаимодействие с таблицами базы данных.
Классы klient, master, manager, buhgalter имеют тип Interface.
Этот тип диаграмм предназначен для распределения классов и объектов по компонентам при физическом проектировании системы. Часто данный тип диаграмм называют диаграммами модулей.
При проектировании больших систем может оказаться, что система должна быть разложена на несколько сотен или даже тысяч компонентов, и этот тип диаграмм позволяет не потеряться в обилии модулей и их связей.
Диаграмма компонентов позволяет определить архитектуру разрабатываемой системы, установив зависимости между программными компонентами, в роли которых может выступать исходный, бинарный и исполняемый код. Во многих средах разработки модуль или компонент соответствует файлу. Пунктирные стрелки, соединяющие модули, показывают отношения взаимозависимости, аналогичные тем, которые имеют место при компиляции исходных текстов программ.
Диаграмма компонентов представлена на рис. 14.
Рис.14. Диаграмма компонентов «diagr_componentov»
Этот вид диаграмм предназначен для анализа аппаратной части системы, то есть "железа", а не программ. В прямом переводе с английского Deployment означает "развертывание", но термин "топология" точнее отражает сущность этого типа диаграмм. Иногда диаграммы топологии называют диаграммами размещения.
Для каждой модели создается только одна такая диаграмма.
В отличие от диаграмм логического представления, диаграмма развертывания является единой для системы в целом, поскольку должна всецело отражать особенности ее реализации. Разработка диаграммы развертывания, как правило, является последним этапом спецификации модели программной системы.
Диаграмма размещения представлена на рис.15.
Рис.15. Диаграмма размещения
Одним из наиболее важных свойств программы Rational Rose является возможность генерации программного кода на нескольких языках программирования, которая может быть использована разработчиком после построения модели.
Генерация программного кода:
меню Tools Ensemble Tools Rose Delphi Link.
Рис.16. Генерация кода
При создании программых средств процесс создания структуры данных является одним из важнейших этапов. С появлением подключаемого модуля Data Modeler у разработчиков появилась возможность использовать Rational Rose не только для создания логического представления системы, но и для моделирования физического представления данных.
Data Modeler является только инструментом для моделирования физической структуры данных. Data Modeler позволяет создавать все необходимые объекты базы данных: таблицы, триггеры, хранимые процедуры, и представления данных, поддерживает работу с основными системами обработки баз данных: UDB, Microsoft SQL Server, Oracle и т.д.
Для создания структуры базы данных необходимо создать схему, которая необходима для определения типа связи с конкретной базой данных. Схема данных позволяет трансформировать физическую модель в логическую и обратно, а также создать диаграмму модели данных (Data Model Diagram). После создания схемы данных необходимо создать таблицы и установить связи между ними. Последним шагом будет перенос созданной структуры в базу данных. Rational Rose позволяет создавать скрипт на языке DDL .
Рис.17. Диаграмма модели данных
DDL - скрипт описания таблиц БД
CREATE TABLE klient (
id_klienta INTEGER NOT NULL,
fio_klienta VARCHAR ( 25 ) NOT NULL,
telefon VARCHAR ( 10 ) NOT NULL,
CONSTRAINT PK_klient0 PRIMARY KEY (id_klienta)
);
CREATE TABLE zayvka (
id_zayavki INTEGER NOT NULL,
fio_zakazhika VARCHAR ( 25 ) NOT NULL,
data_zajvki DATE NOT NULL,
id_uslugi INTEGER NOT NULL,
kol INTEGER NOT NULL,
cena INTEGER NOT NULL,
stoim INTEGER NOT NULL,
status VARCHAR ( 15 ) NOT NULL,
CONSTRAINT PK_zayvka2 PRIMARY KEY (id_zayavki)
);
CREATE TABLE smeta (
id_z INTEGER NOT NULL,
id_uslugi INTEGER NOT NULL,
kol INTEGER NOT NULL,
cena INTEGER NOT NULL,
stoim INTEGER NOT NULL
);
CREATE TABLE teh_zad (
id_zayavki INTEGER NOT NULL,
fio_zakazhika VARCHAR ( 25 ) NOT NULL,
data_zajvki DATE NOT NULL,
id_uslugi INTEGER NOT NULL,
kol INTEGER NOT NULL,
cena INTEGER NOT NULL,
stoim INTEGER NOT NULL,
status VARCHAR ( 15 ) NOT NULL
);
CREATE TABLE price (
id_uslugi INTEGER NOT NULL,
name_uslugi VARCHAR ( 40 ) NOT NULL,
cena_za_ed INTEGER NOT NULL,
CONSTRAINT PK_price1 PRIMARY KEY (id_uslugi)
);
Система реализована в среде программирования Delphi 7. Данные хранятся в БД формата mdb (Microsoft Access).
При запуске программы система запрашивает у пользователя логин и пароль.
Основные пользователи системы: клиент, менеджер, мастер, бухгалтер.
Пароль: (нет)
Пароль: 111
Пароль: 222
Пароль: 333
Рис.18. Модуль «Авторизация»
Модуль «Интерфейс клиента» содержит информацию доступную клиентам фирмы. Клиенты имеют возможность оформить заказ и оставить отзывы или предложения.
Рис.19. Модуль «Интерфейс клиента»
Модуль «Заявка» предназначен для оформления заказа. Клиент выбирает понравившийся ему товар из доступного перечня и поля Код услуги, Наименование услуги, Дата заказа, Количество и Цена заполняются автоматически. Информацию о заказчике (ФИО, телефон) клиент должен ввести самостоятельно.
Рис.20. Модуль «Заявка»
При нажатии на кнопку «Добавить заявку» на форме «Заявка» формируется счет на оплату заказа, который представляет собой документ.
Рис.21. Модуль «Счет»
В модуле «Отзывы и предложения клиентов» клиенты имеют возможность оставлять свои комментарии о работе системы и организации в целом.
Рис.22. Модуль «Отзывы и предложения клиентов»
Модуль «Интерфейс клиента» позволяет менеджеру добавлять данные в БД (информация о клиентах, информация о товарах услугах), корректировать и принимать заказы, просматривать список выполненных заказов, а также формировать техническое задание и отчет об объеме выполненных работ.
Рис.23. Модуль «Интерфейс менеджера»
Модуль «БД товаров» предназначен для добавления менеджером новых товаров и услуг в прайс-лист.
Рис.24. Модуль «БД товаров»
Модуль «БД клиентов» позволяет добавлять новых клиентов фирмы ООО «Идея» в БД.
Рис.25. Модуль «БД клиентов»
Менеджер имеет возможность редактировать заказы через модуль «БД заказов».
Рис.26. Модуль «БД заказов»
Модуль «Техническое задание» представляет собой документ, который формируется после нажатия на кнопку «Сформировать тех_задание» на форме «Интерфейс менеджера».
Рис.27. Модуль «Техническое задание»
При нажатии на кнопку «Отчет» на форме «Интерфейс менеджера» отображается модуль «Отчет», который содержит в себе информацию об объеме выполненных работ.
Рис.28. Модуль «Отчет»
Модуль «Выполненные заказы» содержит информацию о заказах, которые были выполнены творческим отделом, и их статус был изменен на «Выполнен».
Рис.29. Модуль «Выполненные заказы»
Модуль «Интерфейс мастера» позволяет творческому отделу принимать заказы, формировать смету после выполнения заказа, а также менять статус заказа на «Выполнен».
Рис.30. Модуль «Интерфейс мастера»
В модуле «Заказы мастеру» содержится перечень заказов, который необходимо выполнить творческому отделу.
Рис.31. Модуль «Заказы мастеру»
После нажатия на кнопку «Смета» на форме «Смета» формируется документ.
Рис.32. Модуль «Смета»
Модуль «Интерфейс бухгалтера» позволяет формировать финансовый отчет о прибылях за каждый месяц.
Рис.33. Модуль «Интерфейс бухгалтера»
При нажатии на кнопку «Отчет о прибыли» на форме «Интерфейс бухгалтера» формируется финансовый отчет о прибылях и убытках в виде документа.
Рис.34. Модуль «Отчетность»
Система протестирована на контрольном примере и готова к использованию.
Список используемой литературы
Приложения
Приложение 1. Листинг программы
Unit 1
//закрытие формы
procedure TForm1.Button1Click(Sender: TObject);
begin
close;
end;
//запись в бд
procedure TForm1.FormActivate(Sender: TObject);
begin
label24.caption:=form5.dbedit2.Text;
label25.caption:=form5.edit3.text;
label26.caption:=form5.dbedit1.text;
label27.caption:=inttostr(strtoint(form5.edit3.text)*strtoint(form5.DBEdit1.Text));
label28.caption:=datetostr(form5.DateTimePicker1.Date);
label29.caption:=form5.edit1.text;
end;
Unit 2
//авторизация
procedure TForm2.Button1Click(Sender: TObject);
begin
if (combobox1.Text='Мастер') and (edit1.Text='111') then begin form17.show;
end
else if (combobox1.text='Менеджер') and (edit1.text='222') then begin form4.show; end
else if (combobox1.text='Клиент') and (edit1.text='') then begin form14.show;
end
else if (combobox1.text='Бухгалтер') and (edit1.text='333') then begin form18.show;end
else begin messagedlg('Пароль неверен!',mtwarning,[mbok],0); exit;
end; end;
//заполнение раскрывающегося списка
procedure TForm2.FormActivate(Sender: TObject);
begin
combobox1.items.Clear;
combobox1.Items.Add('Мастер');
combobox1.Items.Add('Менеджер');
combobox1.Items.Add('Клиент');
combobox1.Items.Add('Бухгалтер');
end;
Unit3
//переход на form10
procedure TForm3.Button1Click(Sender: TObject);
begin
form10.show; end;
//закрытие формы
procedure TForm3.Button2Click(Sender: TObject);
begin
close; end;
Unit4
//переход на form6
procedure TForm4.Button1Click(Sender: TObject);
begin
form6.show; end;
//переход на form7
procedure TForm4.Button2Click(Sender: TObject);
begin
form7.show; end;
//переход на form8
procedure TForm4.Button3Click(Sender: TObject);
begin
form8.show; end;
//проверка статуса заказа
procedure TForm4.Button4Click(Sender: TObject);
begin
if DBEdit1.Text='Не выполнен' then begin form9.show;
end
else
showmessage('Заказ уже выполнен'); end;
//переход на form16
procedure TForm4.Button5Click(Sender: TObject);
begin
form16.show; end;
//закрытие формы
procedure TForm4.Button6Click(Sender: TObject);
begin
close; end;
//переход на form19
procedure TForm4.Button7Click(Sender: TObject);
begin
form19.show; end;
Unit5
//добавление заказа в бд
procedure TForm5.Button1Click(Sender: TObject);
begin
if (edit1.text='') or (edit2.text='') or (edit3.Text='') or (dbedit1.text='') or (dbedit2.text='') or (dbedit3.text='') then begin
showmessage('Заполните все поля');exit;end;
ADOTable2.First;
ADOtable2.insert;
ADOtable2.fieldvalues['fio_zakazhika']:=edit1.text;
ADOtable2.fieldvalues['data_zajvki']:=DateTimePicker1.date;
ADOtable2.fieldvalues['id_uslugi']:=strtoint(dbedit3.text);
ADOtable2.fieldvalues['kol']:=strtoint(edit3.text);
ADOTable2.FieldValues['cena']:=strtoint(dbedit1.text);
stoim:=strtoint(edit3.text)*strtoint(dbedit1.text);
ADOtable2.fieldvalues['stoim']:=stoim;
ADOtable2.fieldvalues['status']:='Не выполнен';
ADOtable2.post;
ADOtable2.close;
if edit1.text<>ADOTable3.fieldvalues['fio_klienta'] then begin
ADOTable3.First;
ADOTable3.insert;
ADOTable3.fieldvalues['fio_klienta']:=edit1.text;
ADOTable3.fieldvalues['telefon']:=edit2.text;
ADOTable3.post;
ADOtable3.close;
showmessage('Ваш заказ успешно принят');
form1.show;
end
else showmessage('Ваш заказ успешно принят');
form1.show;
end;
//закрытие формы
procedure TForm5.Button2Click(Sender: TObject);
begin
close;
end;
//переход на form11
procedure TForm5.Button3Click(Sender: TObject);
begin
form11.show;
end;
Unit6
//запрос
procedure TForm6.Button1Click(Sender: TObject);
begin
adoquery1.SQL.clear;
adoquery1.SQL.add('Select price.name_uslugi as "Наименование", sum(zayvka.kol) as "Количество заказов",sum(zayvka.stoim) as "Стоимость"');
adoquery1.SQL.add('from zayvka inner join price on zayvka.id_uslugi=price.id_uslugi');
adoquery1.SQL.add('group by price.name_uslugi');
adoquery1.open;
end;
//закрытие формы
procedure TForm6.Button2Click(Sender: TObject);
begin
close;
end;
Unit7
//добавление
procedure TForm7.Button1Click(Sender: TObject);
begin
if (edit1.Text='') or (edit2.text='') then begin
showmessage('Заполните все поля');exit;end;
adotable1.First;
adotable1.append;
adotable1.fields[1].AsString:=edit1.text;
adotable1.fields[2].AsString:=edit2.text;
adotable1.post;
messagedlg('Запись успешно добавлена',mtinformation,[mbok],0);
edit1.Text:='';
edit2.Text:='';
end;
//закрытие формы
procedure TForm7.Button2Click(Sender: TObject);
begin
close;
end;
Unit8
//добавление
procedure TForm8.Button1Click(Sender: TObject);
begin
if (edit1.Text='') or (edit2.text='') then begin
showmessage('Заполните все поля');exit;end;
adotable1.First;
adotable1.append;
adotable1.fields[1].AsString:=edit1.text;
adotable1.fields[2].AsInteger:=strtoint(edit2.text);
adotable1.post;
messagedlg('Запись успешно добавлена',mtinformation,[mbok],0);
edit1.Text:='';
edit2.Text:='';
end;
//закрытие формы
procedure TForm8.Button2Click(Sender: TObject);
begin
close;
end;
Unit9
//добавление
procedure TForm9.Button1Click(Sender: TObject);
begin
ADOTable1.First;
ADOtable1.insert;
ADOtable1.fieldvalues['id_zayavki']:=strtoint(dbedit2.Text);
ADOtable1.fieldvalues['fio_zakazhika']:=dbedit1.text;
ADOtable1.fieldvalues['data_zajvki']:=dbedit5.text;
ADOtable1.fieldvalues['id_uslugi']:=strtoint(dbedit3.text);
ADOtable1.fieldvalues['kol']:=strtoint(dbedit4.text);
ADOTable1.FieldValues['cena']:=strtoint(dbedit6.text);
ADOtable1.fieldvalues['stoim']:=strtoint(dbedit7.text);
ADOtable1.fieldvalues['status']:=dbedit8.text;
ADOtable1.post;
ADOtable1.close;
showmessage('Техническое задание отправлено мастеру');
close;end;
Unit10
//добавление
procedure TForm10.Button1Click(Sender: TObject);
begin
adotable1.First;
adotable1.append;
adotable1.fields[0].AsInteger:=strtoint(dbedit1.text);
adotable1.fields[1].AsInteger:=strtoint(dbedit2.text);
adotable1.fields[2].AsInteger:=strtoint(dbedit3.text);
adotable1.fields[3].AsInteger:=strtoint(dbedit4.text);
adotable1.fields[4].AsInteger:=strtoint(dbedit5.text);
adotable1.post;
messagedlg('Заказ выполнен, смета отправлена менеджеру',mtinformation,[mbok],0);
close;
end;
Unit12
//запрос
procedure TForm12.Button1Click(Sender: TObject);
begin
adoquery1.SQL.clear;
adoquery1.SQL.add('select month(data_zajvki) as "№ месяца", sum(kol) as "Количество продаж", sum(stoim) as "Общая стоимость" from zayvka');
adoquery1.SQL.add ('group by month(data_zajvki)');
adoquery1.open;
end;
//закрытие формы
procedure TForm12.Button2Click(Sender: TObject);
begin
close;
end;
Unit14
//переход на form5
procedure TForm14.Button1Click(Sender: TObject);
begin
form5.show;
end;
//переход на form15
procedure TForm14.Button2Click(Sender: TObject);
begin
form15.show;
end;
//закрытие формы
procedure TForm14.Button3Click(Sender: TObject);
begin
close;
end;
Unit15
//закрытие формы
procedure TForm15.Button1Click(Sender: TObject);
begin
close;
end;
//Добавление
procedure TForm15.Button2Click(Sender: TObject);
begin
adotable1.First;
adotable1.append;
adotable1.fields[1].AsDateTime:=DateTimePicker1.date;
adotable1.fields[2].Asstring:=edit2.text;
adotable1.post;
messagedlg('Спасибо за то, что Вы оценили работу нашей компании',mtinformation,[mbok],0);
end;
Unit16
//закрытие формы
procedure TForm16.Button1Click(Sender: TObject);
begin
close;
end;
Unit17
//переход на form3
procedure TForm17.Button1Click(Sender: TObject);
begin
form3.show;
end;
//переход на form16
procedure TForm17.Button2Click(Sender: TObject);
begin
form16.show;
end;
//закрытие формы
procedure TForm17.Button3Click(Sender: TObject);
begin
close;
end;
Unit18
//переход на form12
procedure TForm18.Button1Click(Sender: TObject);
begin
form12.show;
end;
//закрытие формы
procedure TForm18.Button2Click(Sender: Tobject);
begin
close;
end;
Unit19
//закрытие формы
procedure TForm19.Button1Click(Sender: TObject);
begin
close; end;