Автоматизация процесса учета продаж компании "Айджи Студио"

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

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

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

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

3. Выбор системы.

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

4. Внедрение системы.

Существуют следующие основные стратегии внедрения системы:

1) Стратегия “Параллельное использование”. Параллельное использование - параллельно выполняются старая и новая технология решения задачи, их результаты сравниваются. Если результаты согласуются длительное время, то осуществляется переход на новую технологию.

Плюсы:

- минимальный риск ошибок в виде новых технологий;

- управления внедрения ИС может осуществлять независимо от обычного операционного планирования компании.

Минусы:

- двойная загрузка персонала;

- потребности в удвоенных мощностях серверов;

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

2) Стратегия “Скачек”. Скачек - старая технология работает до определенного момента, затем осуществляется внедрение новой технологии, а после внедрения реализуется только новая технология

Плюсы:

- минимальная длительность переходного периода;

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

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

Минусы:

- высокие риски несоответствия качества ИС требованиям компании;

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

3) Стратегия “Пилотный проект”. Пилотный проект - тактика скачка применяема к ограниченному числу процессов, областью применения обычно является небольшой участок.

Плюсы:

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

- возможность изменения планируемой технологии в процессе внедрения ИС на участке;

- отсутствие 2-х затрат на реализацию технологии.

Минусы:

- сложность интеграции информационных потоков формируемых по старой и новой технологии;

- необходимость управления старой и новой ИС одновременно.

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

Плюсы:

- после автоматизации каждого узкого места имеется возможность прервать автоматизацию;

- минимальные требования к уровню планирования работ внедрения.

Минусы:

- выполнение полного цикла планирования на каждом из узких мест - ввиду возможности прерывания автоматизации процесс может, не закончится некогда;

- независимость автоматизации узких мест может привести к формированию избыточного множества программно аппаратных решений.

5. Эксплуатация и сопровождение ИС.

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

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

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

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

1.3.3 Выбор и обоснование способа приобретения ИС для автоматизации комплекса задач

Способы приобретения ИС - это последующие действия от определения и формализации решения о необходимости ИС до момента пока ИС не будет внедрена на предприятия. Существуют следующие способы приобретения ИС:

· разработка (самостоятельная и заказная);

· покупка ИС (покупка отечественной или зарубежной ИС);

· покупка + доработка (самостоятельная или заказная);

· аренда.

Приобретаемая информационная система нам не подходит из-за ряда недостатков, перечисленных в пункте 1.3.1, а также нехватки функциональности, хуже продумано направление будущего развития информационной системы, длительный срок адаптации под требования предприятий, так же требуется частое обращение в службу поддержки. Покупка и доработка возможна, если требует небольшой объем доработки, данная доработка часто возможна в рамках модели ядра ИС, что часто вызывает затруднения из-за отсутствия развернутой документации. У варианта аренды ИС можно выявить несколько недостатков: бизнес данные хранятся у третьего лица, часто минимальные возможности по настройки. Информационная система будет разрабатываться в компании собственными силами, так как компания располагает квалифицированными сотрудниками для разработки и внедрения данной информационной системы. Разрабатываемая информационная система будет включать весь необходимый функционал, и учитывать все особенность работы и пожелания сотрудников данной компании, так как будет являться индивидуальным (уникальным) продуктом, что позволяет быстро изменить функциональность в соответствии с требованием внутреннего заказчика.

1.4 Обоснование проектных решений

1.4.1 Обоснование проектных решений по техническому обеспечению

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

Комплекс технических средств составляют:

· компьютеры;

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

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

· эксплуатационные материалы - бумага, CD (DVD)- диски и т. п.

В нашем случае основными элементами технического обеспечения будут:

1. Автоматизированные рабочие места персонала предприятия

2. Локальная вычислительная сеть, которая может состоять из сетевых устройств (маршрутизаторов, коммутаторов и т. д.), и соединяющего их кабеля.

В качестве АРМ предполагается использовать персональные компьютеры со следующей конфигурацией:

· Процессор AMD Athlon 64 X2 5000+ (ADA5000*/ADO5000*) Socket AM2 BOX

· Материнская плата Asus M2N-SLI Deluxe, S AM2, NVIDIA nForce 570 SLI.

· Оперативная память DDR2 2048 Mb PC2-6400 (800 Mhz) Patriot (PEP22G6400EL)

· Жесткий диск 200,0 Gb HDD Western Digital (WD5000AACS) CaviarGP.

· Видеокарта 256 Mb PCI-E ATI Radeon 3650 DDR3, HDMI, DVI, HIS IceQ Turbo.

· Привод DVD±RW ASUS DRW-2014L1T, SATA.

· Картридер внутренний.

· Корпус Cooler Master Elite 334, 460W (RC-334-KKR4)

· Монитор 17" Dell TFT E178FP

· ИБП APC Back-CS500VA

Данная конфигурация позволяет осуществлять работу в разрабатываемой системе с высокой степень надежности. Процессор АМD выбран из-за своей низкой стоимости (по сравнению с аналогичными устройствами Intel), размер оперативной памяти и жесткого диска - стандартны в настоящее время. Кроме указанных элементов еще необходима сетевая карта для возможности подключения к локальной сети предприятия. Такие элементы, как картридер и привод DVD±RW, не являются обязательными. Их отсутствие даже положительно влияет на сохранность конфиденциальной информации. ИБП - в условиях постоянных перерывов в энергоснабжении - обязательный элемент.

Локальная вычислительная сеть может иметь структуру, представленную на рисунке 1.8.

Рисунок 1.8 - Структура локальной вычислительной сети

Комплекс технических средств локальной компьютерной сети предусматривает:

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

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

- комплект кабельной продукции;

- устройства введения и вывод - сканер и принтер;

- коммуникационное устройство - модем, факс-модем или сетевой адаптер.

Конкретное решение по созданию ЛВС должно приниматься после обследования помещений, в которых расположена компания, и некоторых других факторов, к которым в первую очередь можно отнести:

- наличие кабельной системы в здании;

- план помещений предприятия;

- расположение рабочих мест в организации;

- наличие места под серверное помещение;

- перспектива расширения организации, и следовательно - ЛВС.

1.4.2 Обоснование проектных решений по информационному обеспечению

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

К информационному обеспечению предъявляются следующие общие требования:

· информационное обеспечение должно быть достаточным для поддержания всех автоматизируемых функций объекта;

· для кодирования информации должны использоваться принятые классификаторы;

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

· должна быть обеспечена совместимость с информационным обеспечением систем, взаимодействующих с разрабатываемой системой;

· формы документов должны отвечать требованиям унифицированной системы документации;

· структура документов и экранных форм должна соответствовать характеристиками терминалов на рабочих местах конечных пользователей;

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

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

Структура информационного обеспечения представлена на рис. 1.9.

Рисунок 1.9 - Структура информационного обеспечения

В состав информационного обеспечения должны входить:

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

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

В состав классификаторов входят следующие:

1. Справочник «Типы договоров»

2. Справочник «Поставщики»

3. Справочник «Клиенты»

4. Справочник «Единицы измерения»

В список первичных документов входят:

1) Договор

2) Счет-фактура

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

1) Ведомость заключения договоров;

2) Заключение договоров с клиентами;

3) Виды оказываемых услуг.

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

1.4.3 Обоснование проектных решений по программному обеспечению

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

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

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

Обеспечение управления

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

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

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

Обеспечение бизнес-процессов

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

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

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

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

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

- по назначению;

- по режиму обработки;

- по способу взаимодействия с системой;

- по способу построения.

Основным предназначением ОС является:

- организация эффективных и надежных вычислений;

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

ОС разделяют по назначению:

- ОС общего назначения;

- ОС специально назначения.

ОС специального назначения подразделяются на следующие:

- для переносимых компьютеров и встроенных систем;

- для организации и ведения баз данных;

- для решения задач реального времени и т.д.

ОС разделяют по режиму обработки задач:

- однопрограммный режим;

- мультипрограммный режим.

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

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

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

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

Современные ОС для ПК реализуют и мультипрограммный, и многозадачный режимы.

По организации работы в диалоговом режиме ОС делятся на следующие:

- однопользовательские (однотерминальные);

- мультитерминальные.

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

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

По способам построения (архитектуре) ОС подразделяются на следующие:

- микроядерные;

- монолитные.

Это деление условно. К микроядерным ОС относится ОСРВ QNX, а к монолитным - Windows и Linux. Для ОС Windows пользователь не может изменить ядро, так как не располагает исходными кодами и программой сборки ядра. Для ОС Linux такая возможность предоставлена, пользователь может сам собрать ядро, включив в него необходимые программные модули и драйверы.

Наиболее распространенными ОС являются Windows, Unix, Solaris, а также Mac OS X.

Очевидно, что по степени распространенности, количеству пользователей, обладающих навыками работы, впереди всех операционные системы от Microsoft. Однако, на наш взгляд, последняя операционная система этого семейства не в полной мере отвечает требованиям корпоративного сектора, поэтому решено оснастить АРМ сотрудников предприятия ОС Windows XP SP3.

Система управления базами данных (СУБД) - специализированная программа (чаще комплекс программ), предназначенная для организации и ведения базы данных. Для создания и управления информационной системой СУБД необходима в той же степени, как для разработки программы на алгоритмическом языке необходим транслятор.

По типу управляемой базы данных СУБД разделяются на:

· Сетевые

· Иерархические

· Реляционные

· Объектно-реляционные

· Объектно-ориентированные

По архитектуре организации хранения данных

· локальные СУБД (все части локальной СУБД размещаются на одном компьютере)

· распределенные СУБД (части СУБД могут размещаться на двух и более компьютерах)

По способу доступа к БД

· Файл-серверные

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

На данный момент файл-серверные СУБД считаются устаревшими.

Примеры: Microsoft Access, Borland Paradox.

· Клиент-серверные

Такие СУБД состоят из клиентской части (которая входит в состав прикладной программы) и сервера.. Клиент-серверные СУБД, в отличие от файл-серверных, обеспечивают разграничение доступа между пользователями и мало загружают сеть и клиентские машины. Сервер является внешней по отношению к клиенту программой, и по надобности его можно заменить другим. Недостаток клиент-серверных СУБД в самом факте существования сервера (что плохо для локальных программ - в них удобнее встраиваемые СУБД) и больших вычислительных ресурсах, потребляемых сервером.

Примеры: Firebird, Interbase, MS SQL Server, Sybase, Oracle, PostgreSQL, MySQL.

· Встраиваемые

Встраиваемая СУБД - библиотека, которая позволяет унифицированным образом хранить большие объёмы данных на локальной машине. Доступ к данным может происходить через SQL либо через особые функции СУБД. Встраиваемые СУБД быстрее обычных клиент-серверных и не требуют установки сервера, поэтому востребованы в локальном ПО, которое имеет дело с большими объёмами данных (например, геоинформационные системы).

Примеры: OpenEdge, SQLite, BerkeleyDB, один из вариантов Firebird, один из вариантов MySQL, Sav Zigzag, Microsoft SQL Server Compact.

Наиболее предпочтительнее в нашем случае использовать СУБД Access, так как она уже встроена в пакет MS Offiсe, следовательно, не потребует вложения дополнительных финансовых вложений, более проста в освоении, не требует специальных знаний от персонала.

2. ПРОЕКТНАЯ ЧАСТЬ

2.1 Цели решения задачи. Описание потоков входной и выходной информации

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

В результате решения данной задачи должны быть достигнуты следующие цели:

1. Автоматизирован процесс учета договоров и других первичных документов;

2. Обеспечено централизованное хранение информации с возможностью вызова за указанную дату;

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

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

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

Выходная информация - аналитическая информация по всем имеющимся данным.

Исполнителем процесса расчета является бухгалтер компании.

2.2 Разработка физической модели базы данных. Определение логических связей

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

1. Работа начинается с составления генерального списка полей.

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

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

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

5. С помощью специального средства Erwin схему данных. Существует несколько типов возможных связей между таблицами. Наиболее распространенными являются связи «один ко многим» и «один к одному». Связь между таблицами организуется на основе общего поля, причем в одной из таблиц оно обязательно должно быть ключевым, то есть на стороне «один» должно выступать ключевое поле, содержащее уникальные, неповторяющиеся значения. Значения на стороне «многие» могут повторяться.

6. Разработкой схемы данных заканчивается «бумажный» этап работы над техническим предложением.

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

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

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

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

- Не должно быть повторений и между таблицами.

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

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

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

- Каждое поле должно быть связано с темой таблицы.

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

- В таблице должна присутствовать вся необходимая информация.

- Информацию следует разбивать на наименьшие логические единицы

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

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

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

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

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

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

Определим сущности и их ключи для разрабатываемой базы данных.

Таких сущностей будет 4:

1. Договор

2. Фирма

3. Товар

4. Документ

Проанализируем связи между сущностями.

Название связи

Между сущностями

Заключает

Фирма

Договор

Получает

Фирма

Товар

Оформляет

Фирма

Документ

Изобразим графически каждый объект (сущность) и его свойства (атрибуты) см. на рисунках ниже.

Рисунок 2.1 - Изображение связи «Объект - Свойство» для объекта

«Договор»

Рисунок 2.2 - Изображение связи «Объект - Свойство» для объекта

«Фирма»

Рисунок 2.3 - Изображение связи «Объект - Свойство» для объекта

«Товар»

Рисунок 2.4 - Изображение связи «Объект - Свойство» для объекта

«Документ»

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

Она должна включать такое формализованное описание предметной области, которое легко будет «читаться» как специалистами по базам данных, так и всеми пользователями. И это описание должно быть настолько емким, чтобы можно было оценить глубину и корректность проработки проекта БД, и конечно, оно не должно быть привязано к конкретной СУБД. Выбор СУБД - это отдельная задача, для корректного ее решения необходимо иметь проект, который не привязан ни к какой конкретной СУБД. Инфологическое проектирование прежде всего связано с попыткой представления семантики предметной области в модели БД, которая слабо отражается в сетевых, иерархических моделях данных. Было предложено несколько моделей данных, названных семантическими моделями. У всех этих моделей были свои положительные и отрицательные стороны, но испытание временем выдержала только модель «сущность-связь», или Entity Relationships, которая стала фактическим стандартом при инфологическом моделировании баз данных. Общепринятым стало сокращенное название ER-модель, а большинство современных CASE-средств содержат инструментальные средства для описания данных в формализме этой модели. Кроме того, разработаны методы автоматического преобразования проекта БД из ER-модели в реляционную БД, при этом одновременно выполняется преобразование в модель конкретной СУБД. Все CASE-системы имеют развитые средства документирования процесса разработки, автоматические генераторы отчетов позволяют подготовить отчет о текущем состоянии проекта с подробным описанием объектов БД и их отношений, что существенно облегчает ведение проекта. В настоящий момент не существует единой общепринятой системы обозначений для ER - модели, и разные CASE-системы используют разные графические нотации, но разобравшись с одной, можно легко понять и другие. Как любая модель, модель «сущность-связь» имеет несколько базовых понятий, которые образуют исходные кирпичики, из которых строятся уже более сложные объекты по заранее определенным правилам.

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

Рассмотрим базовые понятия, лежащие в основе ER-модели

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

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

Модель разрабатываемой БД представлена на рисунке 2.5.

Рисунок 2.5 - ER-модель разрабатываемой базы данных

2.3 Построение реляционной схемы из ER - модели данных

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

- Текстовый. Текст или числа, не требующие проведения расчётов.

- МЕМО. Поле этого типа предназначено для хранения небольших текстовых данных (до 64000 символов). Поле этого типа не может быть ключевым или проиндексированным.

- Числовой. Этот тип данных содержит множество подтипов. От выбора подтипа (размера) зависит точность вычислений.

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

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

- Денежный. Денежные значения и числовые данные, используемые в математических вычислениях.

- Дата/Время. Дата и время хранятся в специальном фиксированном формате.

- Поле объекта OLE. Включает звукозапись, рисунок и прочие типы данных. Поле этого типа не может быть ключевым или проиндексированным.

- Гиперсвязь. Содержит адреса Web-страниц.

Поэтому далее необходимо определить состав реляционной схемы базы данных из ER-модели. Для этой цели используются следующие правила:

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

Если у объекта имеются множественные свойства, то каждому из них ставиться в соответствии отдельная таблица.

Если между объектом и его свойствам имеется условная связь, то при отображении в реляционной модели возможны следующие варианты:

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

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

Если у объекта имеется составное свойство, то составляющие составного свойства либо помещаются в отдельные поля реляционной таблицы, либо в одно поле.

Если связь между объектами 1:1 и классы принадлежности обоих объектов являются обязательными, то для отображения данных объектов и связей между ними можно:

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

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

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

Если между объектами связь 1 : 1 и класс принадлежности является необязательным, то следует воспользоваться тремя таблицами: по одной для каждого объекта и одну для отображения связи между ними.

Если между объектами связь 1 : М и класс принадлежности одного из них обязателен, то используют две таблицы - по одной для каждого объекта. При этом в таблицу, соответствующую объекту, класс принадлежности которого является обязательным, добавляется идентификатор второго объекта.

Если между объектами предметной области имеется связь 1 : М и оба класса принадлежности не обязательны, то поступают аналогично пункту 7 (создают три таблицы: по одной для каждого объекта и одну для связи между ними)

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

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

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

При отображении обобщенных объектов могут быть приняты разные решения:

- Всему обобщенному объекту может быть поставлена в соответствии одна таблица.

- Каждой из категорий ставится в соответствии отдельная таблица, которая содержит в себе идентификатор объекта, общие свойства и свойства данной категории.

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

При отображении составного объекта так же возможны варианты: Если речь идет о составе изделий, то между изделием и деталью связь будет М:М.

В этом случае - см. пункты 7, 9, 10.

- Если речь идет о составе какой-нибудь организации, то между объектами скорее всего будет связь 1:М. В этом случае - см. пункты 8, 9.

В результате применения данных рекомендаций к инфологической модели была получена следующая реляционная модель:

Договор (Код договора, Дата подписания, Номер документа, Сумма договора, Код товара, Код валюты, Дата поставки, Фирма, Статус договора);

Товар (Код товара, Вид товара, Время записи);

Фирма (Код фирмы, Оргформа, Название, Адрес(Страна, Город, Улица, Дом), Телефон, Контактное лицо, Вид деятельности, Статус);

Документ (Код документа, Номер документа, Тип документа, Дата документа).

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

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

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

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

Размер поля - определяет предельную длину (в символах) данных, которые могут размещаться в данном поле.

Формат поля - определяет способ форматирования данных в ячейках, принадлежащих полю.

Маска ввода - определяет форму, в которой вводятся данные в поле (средство автоматизации ввода данных).

Подпись - определяет заголовок столбца таблицы для данного поля (если подпись не указана, то в качестве заголовка столбца используется свойство Имя поля).

Значение по умолчанию - то значение, которое вводится в ячейки поля автоматически (средство автоматизации ввода данных).

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

Сообщение об ошибке - текстовое сообщение, которое выдается автоматически при попытке ввода в поле ошибочных данных.

Обязательное поле - свойство, определяющее обязательность заполнения данного поля при наполнении базы.

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

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

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

Далее определим для каждой таблицы тип поля и формат содержащихся в нем данных.

Имя поля

Ключевое

Тип данных

Размер поля

Табл. для подстан.

Таблица 1. - Договор

Код договора,

Да

счетчик

100

нет

Дата подписания,

Дата/время

55

нет

Номер документа,

Числовой

50

нет

Сумма договора,

Денежный

50

нет

Код товара,

Числовой

50

да

Код валюты,

Числовой

5

да

Дата поставки,

Дата/время

5

нет

Фирма,

Текстовый

50

да

Статус договора

Текст

5

да

Таблица 2. - Фирма

Код фирмы,

Да

Текстовый

10

нет

Оргформа,

Текстовый

10

да

Название,

Текстовый

10

да

Адрес Страна,

текстовый

10

нет

Адрес Город,

текстовый

нет

Адрес Улица,

текстовый

нет

Адрес Дом

Числовой

нет

Телефон,

Числовой

нет

Контактное лицо,

текстовый

нет

Вид деятельности,

текстовый

да

Статус

текстовый

да

Таблица 3. - Товар

Код товара,

да

Числовой

20

Вид товара,

Текстовый

10

Время записи

Дата/время

10

Таблица 4. - Документ

Код документа,

да

Числовой

10

Нет

Номер документа,

Числовой

50

Нет

Тип документа,

текстовый

50

да

Дата документа

Дата/время

нет

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

Таблица Валюта

ID валюта

Код

Сокращение

Валюта

643

р.

руб.

Российский рубль

840

$

Usd

Доллар США

978

Eur

ЕВРО

Таблица Подстановка

тип документа

вид деятельности

статус

орг. форма

статус договора

накладная

судостроение

партнер

ООО

заключен

заявка на отгрузку

строительство

Официальный партнер

ЗАО

выполнен

счет-фактура

ЖКХ

дистрибьютор

ИП

расторжен

другое

проектирование зданий

другое

ОАО

не выполнен

торговля

ГУ

обучение

другое

другое

Именно в этих таблицах содержатся основные сведения для работы в базе данных.

2.4 Описание созданной базы данных

Создание таблиц, как и других объектов баз данных, начинается с активации окна базы данных. В этом окне выбирается элемент управления Таблицы, после чего на правой панели окна будет представлен список таблиц, уже входящих в состав БД. Если в базе нет таблиц, то на правую панель окна выводится только три элемента управления для создания новой таблицы: Создание таблицы в режиме конструктора, Создание таблицы с помощью мастера и Создание таблицы путём ввода данных.

Выбираем элемент управления >Создание таблиц в режиме конструктора.

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

Теперь необходимо заполнить Имена полей и выбрать Типы данных. По окончании заполнения через меню Файл > Сохранить как сохраняем полученную таблицу с требуемым именем. В качестве примера приведена таблица Договоры на рисунке 2.7.

Рисунок 2.7

Разработаем схему данных, (создание связей между таблицами). Для этого:

­ нажимаем по кнопку на панели инструментов (или команда Сервис, Схема данных). На экране появится окно <<Схема данных>>;

­ щёлкаем по кнопке на панели инструментов (или команда Связи, Добавить таблицу);

­ в появившемся окне будет выделено название одной таблицы. Щелкаем по кнопке <Добавить>, переводим выделение на имя следующей таблицы и щелкните по кнопке <Добавить>. Аналогично добавляем оставшиеся таблицы;

­ закройте окно, щелкнув по кнопке <Закрыть>;

­ чтобы не выполнять все вышеописанные действия, можно просто перетащить мышкой таблицы из окна «Базы данных Таблицы» в окно «Схема данных»;

­ создадим связь между таблицами Договоры и Фирмы. Для этого курсором мыши перетаскиваем <<Название Фирмы>> в таблице Договоры на поле <<Название>> в таблицу Фирмы. На экране откроется окно <<Связи>>;

­ устанавливаем флажок («галочку») в свойствах Обеспечение целостности данных, Каскадное обновление связанных полей и Каскадное удаление связанных записей;

­ щелкаем по кнопке <Создать>. Связь будет создана;

­ аналогично создаем связи между остальными полями Закрываем окно схемы данных, ответив ДА на вопрос о сохранении макета. Для связи таблиц использовалась следующая схема (см. рис. 2.8).

Рисунок 2.8 - Схема данных разрабатываемой базы данных

2.5 Проектирование форм и запросов

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

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

В системе реализованы три формы:

1. Учет договоров

Рисунок 2.9 - Форма Учет договоров

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

Рисунок 2.9

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

Рисунок 2.10 - Форма Вид товара

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

В форме Добавление фирмы вносятся все реквизиты и сведения, касающиеся торговых партнеров предприятия.

Рисунок 2.11 - Форма Фирмы

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

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

1. Заключенные договоры - возвращает наименование фирм, с которыми был заключен договор, включая товар, сумму договора и дату подписания. Результат представлен на рисунке 2.13.

Рисунок 2.12 - Результат запроса Заключенные договора

2. Поиск договоров по виду товара - показывает, сколько и с кем договоров было заключено на поставку определенного вида товара

Рисунок 2.13 - Результат запроса Поиск договоров по виду товара

3. Поиск договоров по наименованию фирмы - показывает, сколько договоров заключила определенная фирма

Рисунок 2.14 - Результат запроса Поиск договоров по фирме

4. Поиск договоров по наименованию и общей сумме - от предыдущего отличается тем, что возвращает количество договоров и общую сумму без наименования товаров.

Рисунок 2.15 - Результат запроса Поиск фирм по количеству и сумме

договоров

Теперь созданные запросы можно использовать в дальнейшем для отчетов по учету продаж.

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

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

Реализованы следующие отчеты:

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

Рисунок 2.16

- Поиск фирм по наименованию и количеству договоров - аналогично одноименному запросу

Рисунок 2.17

А также поиск заключенных договоров:

Рисунок 2.18

2.6 Проектирование графического интерфейса системы

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

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

Рисунок 2.19 - Главная кнопочная форма

Как видно из приведенной выше экранной формы, на главной кнопочной форме три кнопки - «Ввод данных», «Отчеты», «Выход».

При нажатии последней кнопки работа с системой заканчивается и приложение закрывается.

Если же нажать кнопку «Ввод данных», то происходит переход на следующую страницу кнопочной формы - рисунок 2.21.

Рисунок 2.20 - Кнопочная форма Ввод данных


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

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