Помощь в написании студенческих работ
Антистрессовый сервис

Автоматизированная информационная система рекламного агентства

КурсоваяПомощь в написанииУзнать стоимостьмоей работы

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

Автоматизированная информационная система рекламного агентства (реферат, курсовая, диплом, контрольная)

ФГБОУ ВПО Самарский государственный экономический университет Кафедра прикладной информатики и информационной безопасности.

Курсовой проект по дисциплине:.

«Проектирование корпоративных экономических систем».

на тему «Автоматизированная информационная система рекламного агентства».

Подготовила: студентка 4 курса специальности ПИЭ Николаева Екатерина Проверил: к.э.н., доцент Петров Сергей Иванович Самара, 2014.

1. Техническое задание.

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

1. Разработать формы отчетов и документов.

2. Разработать дерево взаимоотношений.

3. Разработать базу данных по взаимоотношению с клиентами.

1.2 Общее описание системы автоматизированный информационный моделирование Система управления рекламным агентством предназначена для автоматизации работы фирмы, представляющей рекламную продукцию. Целью системы является повышение эффективности работы организации и более полное удовлетворение потребностей клиентов.

Задачи системы:

* управление взаимоотношениями с клиентами.

? регистрация клиентов в системе.

? ведение истории заказов каждого клиента Данная система будет состоять из нескольких компонент Компонента взаимодействия с клиентами обеспечивает:

ь Систему помощи клиентов (текст подсказки) ь Систему отзывов и предложений Компонента «Взаимодействие с клиентами» создана для оптимизации и упрощения процесса взаимодействия с клиентами и легкого и доступного получения необходимой информации о фирме.

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

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

1.3 Описание необходимых технических средств Рекомендуемые требования.

Для функционирования системы необходимо следующее оборудование:

Рабочие станции:

* Операционная система Windows NT и выше;

* процессор Intel Dual core выше;

* оперативную память 512 Мбайт и выше;

* Объем на жестком диске 2 Гб и выше;

* накопитель CD-ROM;

Сервер:

* Процессор с частотой 1,6 ГГц или выше.

* 1024 МБ ОЗУ.

* 3 ГБ свободного места на диске.

* Жесткий диск со скоростью 5400 об/мин.

* Видеоадаптер с поддержкой DirectX 9 и разрешением 1280×1024 (или более высоким).

* Дисковод DVD-ROM.

Для разработки нам потребуется: локальная вычислительная сеть.

Для хорошей производительности и работы без сбоев системы необходимо иметь сеть с пропускной способностью не менее 100 Мбит.

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

1.4 Описание работы системы по ролям пользователей.

1. Клиент Клиент имеет возможность просматривать прайс-лист предлагаемых услуг, делать заказ, а также оставлять свои отзывы и предложения. Для того чтобы клиенту совершить заказ, ему необходимо выбрать необходимый товар из таблицы и заполнить поля данными о себе (заказчике) и заказе. После нажатия на кнопку «Оформить заказ» автоматически формируется счет. Информация о заказе и заказчике (если клиент впервые делает заказ в нашей фирме) добавляется в БД.

2. Менеджер Менеджер может просматривать список заказов, добавлять в БД данные о клиентах и услугах, составлять отчет об объеме выполненных работ. После того, как клиент отправил менеджеру заявку на оказание услуг, менеджер формирует техническое задание по текущему заказу и отправляет его творческому отделу.

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

4. Бухгалтер Бухгалтер формирует отчет о прибылях.

1.5 Схема взаимодействия между ролями Рис. 1. Схема взаимодействия между ролями системы При реализации данной (рис.1) схемы документооборота обеспечивается создание минимального количества выходных форм отчетов. Передача данных будет происходить внутри базы данных, что значительно упрощает документооборот.

1.6 График выполнения работ.

1. Установка системы Установка системы сводится к инсталляции программного комплекса на сервер, а также тестирование программы в работе. Срок выполнения-4 рабочих дня.

2. Первичная настройка:

* настройка констант и данных о предприятии;

* настройка прав доступа;

* настройка документов;

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

3. Обучение сотрудников.

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

График обучения по рабочим местам:

* Менеджер — 4 недели.

* Мастер — 3 недели.

* Бухгалтер — 3 недели.

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

4. Окончательная настройка Так как при обучении и работе с программой возникает необходимость создавать новые или изменять старые документы и отчеты, окончательная настройка заключается в доработке документов и отчетов, в соответствии с требованиями Заказчика. Срок-3 недели.

План выполнения работ.

Установка.

Cистемы.

Первичная Настройка.

Обучение Сотрудников.

1 рабочее место.

2 рабочее место.

3 рабочее место.

Дополнительная настройка.

Окончательная Настройка.

2. Описание предметной области.

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

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

Основными целями создания автоматизированной системы являются:

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

§ Минимизация ошибок в работе персонала.

§ Повышение качества принимаемых решений.

§ Увеличение скорости реагирования на рабочие ситуации (заказ услуг, выдача заказов и т. д.).

Для разработки АИС необходимо:

§ исследовать бизнес-процессы.

§ оформить бизнес-процессы в виде различных диаграмм с использованием Rational Rose.

§ реализовать систему в Delphi.

Объектом автоматизации являются процессы по управлению потоком заявок клиентов, а также контроль эффективности выполнения указанных процессов.

Для того, чтобы выполнить задание, необходимо:

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

* Создать формы для редактирования и добавления новых записей в эти таблицы;

* Создать форму регистрации и обработки заявок.

2.2 Организационная структура организации Организационная структура представлена на рис. 2.

Рис. 2. Организационная структура В организационной структуре ООО «Идея» (рис. 2) можно выделить следующие организационные подразделения:

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

2) Бухгалтер — ведет бухгалтерскую отчетность, организует внутренний аудит, ведет бухгалтерский учет, составляет отчетность. Он несет ответственность за всю сферу учета, включая начисления заработной платы, подготовку отчетов для нужд управленческого учета и налоговых органов, развитие прочих отношений с банками и финансовыми институтами.

3) Менеджер по работе с клиентами — принимает заказы, делает клиенту предложения по срокам исполнения и цене заказа. Менеджер является важным посредником в диалоге между клиентом и группой креативного отдела, работающей над заказом. Защищает работу, проделанную агентством, перед клиентом. Доносит требования клиента до сотрудников агентства посредством работы над техническими заданиями. Менеджер отвечает за эффективность и сроки выполнения работы перед клиентом. Гарантирует агентству своевременную оплату клиентом счетов.

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

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

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

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

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

2.3 Схема документооборота Документооборот представлен на рис. 3.

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

Рис. 3. Документооборот.

2.4 Функциональные возможности Функциональные возможности автоматизированной системы:

§ создание БД клиентов, товаров и услуг, заказов и т. д.

§ контроль работы персонала.

§ контроль выполнения заказов.

§ формирование отчетов Данные функции облегчат работу менеджера по ведению базы данных и отслеживанию заказов. Также будет осуществлена возможность для творческого отдела выбирать заказы для выполнения.

2.5 Структура БД Таблицы, используемые при проектировании АИС хранятся в БД Microsoft Access 2007.

Таблица «price» содержит в себе информацию о перечне товаров, предлагаемых рекламным агентством.

Таблица 1. Таблица «price».

Имя.

Назначение.

Тип.

Длина.

id_uslugi.

Код услуги.

Числовой.

Счетчик.

name_uslugi.

Наименование услуги.

Текстовый.

cena_za_ed.

Цена за единицу.

Числовой.

Длинное целое.

Таблица «klient» содержит информацию о всех клиентах фирмы, которые хотя бы единожды делали заказ.

Таблица 2. Таблица «klient».

Имя.

Назначение.

Тип.

Длина.

id_klienta.

Код клиента.

Числовой.

Счетчик.

fio_klienta.

ФИО клиента.

Текстовый.

telefon.

Телефон клиента.

Текстовый.

Таблица «zayvka» содержит информацию обо всех заказах.

Таблица 3. Таблица «zayvka».

Имя.

Назначение.

Тип.

Длина.

id_zayavki.

Код заявки.

Числовой.

Счетчик.

fio_zakazhika.

ФИО заказчика (клиента).

Текстовый.

data_zajvki.

Дата подачи заявки.

Дата/время.

id_usligi.

Код услуги.

Числовой.

Длинное целое.

kol.

Количество.

Числовой.

Длинное целое.

cena.

Цена за единицу.

Числовой.

Длинное целое.

stoim.

Стоимость.

Числовой.

Длинное целое.

status.

Статус заказа (Выполнен/Не выполнен).

Текстовый.

Таблица «smeta» содержит информацию о выполненных заказах.

Таблица 4. Таблица «smeta».

Имя.

Назначение.

Тип.

Длина.

id_z.

Код заказа.

Числовой.

Длинное целое.

id_uslugi.

Код услуги.

Числовой.

Длинное целое.

kol.

Количество.

Числовой.

Длинное целое.

cena.

Цена за единицу.

Числовой.

Длинное целое.

stoim.

Стоимость.

Числовой.

Длинное целое.

В таблице «teh_zad» хранится информация о нарядах, которые менеджер формирует для творческого отдела.

Таблица 5. Таблица «the_zad».

Имя.

Назначение.

Тип.

Длина.

id_zayavki.

Код заказа.

Числовой.

Длинное целое.

fio_zakazhika.

ФИО заказчика.

Текстовый.

data_zajvki.

Дата подачи.

Дата/время.

id_uslugi.

Код услуги.

Числовой.

Длинное целое.

kol.

Количество.

Числовой.

Длинное целое.

cena.

Цена.

Числовой.

Длинное целое.

stoim.

Стоимость.

Числовой.

Длинное целое.

status.

Статус.

Числовой.

Таблица «predlog» содержится информация об отзывах и предложениях клиентов фирмы.

Таблица 6. Таблица «predlog».

Имя.

Назначение.

Тип.

Длина.

id.

Код отзыва.

Числовой.

Счетчик.

data_otz.

Дата размещения.

Дата/время.

Длинное целое.

otziv.

Текст отзыва.

Текстовый.

Схема данных представлена на рис. 3.

Рис. 4. Схема данных.

3. Проектирование АИС в программе Rational Rose.

Среди всех фирм-производителей CASE-средств именно компания IBM Rational Software Corp. одна из первых осознала стратегическую перспективность развития объектно-ориентированных технологий анализа и проектирования программных систем. Эта компания выступила инициатором унификации языка визуального моделирования в рамках консорциума OMG, что, в конечном итоге, привело к появлению первых версий языка UML. И эта же компания первой разработала инструментальное объектно-ориентированное CASE-средство, в котором был реализован язык UML как базовая нотация визуального моделирования.

CASE-средство IBM Rational Rose со времени своего появления претерпело серьезную эволюцию, и в настоящее время представляет собой современный интегрированный инструментарий для проектирования архитектуры, анализа, моделирования и разработки программных систем. Именно в IBM Rational Rose язык UML стал базовой технологией визуализации и разработки программных систем, что определило популярность и стратегическую перспективность этого инструментария.

Rational Rose позволяет создавать модели будущей системы, удобные для понимания алгоритмов работы, взаимосвязей между объектами, по которым в дальнейшем создается программный каркас будущей программной системы. Модель будущей системы позволяет уже на стадии проектирования получить представление о поведении системы и избежать дорогостоящих ошибок в дальнейшем, когда в написание программного кода вложены значительные силы.

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

В системе участвуют следующие действующие лица (actors):

директор;

бухгалтер;

менеджер;

мастер;

клиент.

В модели имеются следующие варианты использования (Use Case):

оформление заявки;

формирование счет-фактура;

формирование счета;

оплата;

приемка;

выдача результата;

формирование отчета о принятых заказах;

формирование сводного отчета;

формирование отчетности;

формирование приказов.

Диаграмма вариантов использования представлена на рис. 5.

Рис. 5. Диаграмма вариантов использования.

3.2 Диаграмма последовательности На диаграмме последовательности изображаются только те объекты, которые непосредственно участвуют во взаимодействии. Ключевым моментом для диаграмм последовательности является динамика взаимодействия объектов во времени.

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

Рис. 6. Диаграмма последовательности «priemka».

Рис. 7. Диаграмма последовательности «resultat».

Рис. 8. Диаграмма последовательности «sv_othet».

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

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

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

Диаграммы кооперации представлены на рис. 9−11.

Рис. 9. Диаграмма кооперации «priemka».

Рис. 10. Диаграмма кооперации «resultat».

Рис. 11. Диаграмма кооперации «sv_othet».

3.4 Диаграмма активности Фактически данный тип диаграмм может использоваться и для отражения состояний моделируемого объекта, однако, основное назначение Activity diagram в том, чтобы отражать бизнес-процессы объекта. Этот тип диаграмм позволяет показать не только последовательность процессов, но и ветвление и даже синхронизацию процессов.

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

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

Диаграммы активности представлены на рис. 12.

Рис. 12. Диаграмма активности «oformlenie_zakaza».

3.5 Диаграмма классов Этот тип диаграмм позволяет создавать логическое представление системы, на основе которого создается исходный код описанных классов.

Значки диаграммы позволяют отображать сложную иерархию систем, взаимосвязи классов (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.

3.6 Диаграмма компонентов Этот тип диаграмм предназначен для распределения классов и объектов по компонентам при физическом проектировании системы. Часто данный тип диаграмм называют диаграммами модулей.

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

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

Диаграмма компонентов представлена на рис. 14.

Рис. 14. Диаграмма компонентов «diagr_componentov».

3.7 Диаграмма размещения Этот вид диаграмм предназначен для анализа аппаратной части системы, то есть «железа», а не программ. В прямом переводе с английского Deployment означает «развертывание», но термин «топология» точнее отражает сущность этого типа диаграмм. Иногда диаграммы топологии называют диаграммами размещения.

Для каждой модели создается только одна такая диаграмма.

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

Диаграмма размещения представлена на рис. 15.

Рис. 15. Диаграмма размещения.

3.8 Генерация кода в Rose Delphi Link.

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

Генерация программного кода:

меню Tools — Ensemble Tools — Rose Delphi Link.

Рис. 16. Генерация кода.

4. Моделирование структуры данных с помощью Data Modeler.

При создании программых средств процесс создания структуры данных является одним из важнейших этапов. С появлением подключаемого модуля 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).

);

5. Реализация системы Система реализована в среде программирования Delphi 7. Данные хранятся в БД формата mdb (Microsoft Access).

При запуске программы система запрашивает у пользователя логин и пароль.

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

1) Логин: Клиент Пароль: (нет).

2) Логин: Мастер Пароль: 111.

3) Логин: Менеджер Пароль: 222.

4) Логин: Бухгалтер Пароль: 333.

Рис. 18. Модуль «Авторизация».

Модуль «Интерфейс клиента» содержит информацию доступную клиентам фирмы. Клиенты имеют возможность оформить заказ и оставить отзывы или предложения.

Рис. 19. Модуль «Интерфейс клиента».

Модуль «Заявка» предназначен для оформления заказа. Клиент выбирает понравившийся ему товар из доступного перечня и поля Код услуги, Наименование услуги, Дата заказа, Количество и Цена заполняются автоматически. Информацию о заказчике (ФИО, телефон) клиент должен ввести самостоятельно.

Рис. 20. Модуль «Заявка».

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

Рис. 21. Модуль «Счет».

В модуле «Отзывы и предложения клиентов» клиенты имеют возможность оставлять свои комментарии о работе системы и организации в целом.

Рис. 22. Модуль «Отзывы и предложения клиентов».

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

Рис. 23. Модуль «Интерфейс менеджера».

Модуль «БД товаров» предназначен для добавления менеджером новых товаров и услуг в прайс-лист.

Рис. 24. Модуль «БД товаров».

Модуль «БД клиентов» позволяет добавлять новых клиентов фирмы ООО «Идея» в БД.

Рис. 25. Модуль «БД клиентов».

Менеджер имеет возможность редактировать заказы через модуль «БД заказов».

Рис. 26. Модуль «БД заказов».

Модуль «Техническое задание» представляет собой документ, который формируется после нажатия на кнопку «Сформировать тех_задание» на форме «Интерфейс менеджера».

Рис. 27. Модуль «Техническое задание».

При нажатии на кнопку «Отчет» на форме «Интерфейс менеджера» отображается модуль «Отчет», который содержит в себе информацию об объеме выполненных работ.

Рис. 28. Модуль «Отчет».

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

Рис. 29. Модуль «Выполненные заказы».

Модуль «Интерфейс мастера» позволяет творческому отделу принимать заказы, формировать смету после выполнения заказа, а также менять статус заказа на «Выполнен».

Рис. 30. Модуль «Интерфейс мастера».

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

Рис. 31. Модуль «Заказы мастеру».

После нажатия на кнопку «Смета» на форме «Смета» формируется документ.

Рис. 32. Модуль «Смета».

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

Рис. 33. Модуль «Интерфейс бухгалтера».

При нажатии на кнопку «Отчет о прибыли» на форме «Интерфейс бухгалтера» формируется финансовый отчет о прибылях и убытках в виде документа.

Рис. 34. Модуль «Отчетность».

Система протестирована на контрольном примере и готова к использованию.

Список используемой литературы.

1. МЕТОДИЧЕСКИЕ РЕКОМЕНДАЦИИ ПО НАПИСАНИЮ КУРСОВЫХ ПРОЕКТОВ. Чаплыгин С. И. — ЭИОС СГЭУ.

2. Трофимов С. А. CASE-технологии. Практическая работа в Rational Rose. Второе издание. Москва Издательство Бином, 2002.

Приложение 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;

Показать весь текст
Заполнить форму текущей работой