Разработка информационного и алгоритмического обеспечения системой управления базами данных Microsoft Access. Реализация и принцип работы основных компонентов подсистемы поддержки принятия решений. Особенности разработки программного модуля в Delphi.
Аннотация к работе
Номер записи связанной таблицы MONITOR (Тип - Числовой) ID_MONITOR; Номер записи связанной таблицы VIDEO MONITOR (Тип - числовой) ID_VIDEO; Номер записи в связанной таблице MANUFACTURED (Тип - Числовой) ID_MANUFACTURED; Номер записи в связанной таблице MANUFACTURED (Тип-Числовой) ID_MANUFACTURED; Номер записи в связанной таблице MANUFACTURED (Тип-Числовой) ID_MANUFACTURED;Аксес позволяет хранить и обрабатывать данные, подготавливать отчеты, контролировать правильность данных на стадии их ввода, создавать формы для более удобной работы с данными (интерфейс). Для небольшой фирмы (например, туристической компании) несколько потраченных часов на создание базы данных могут дать недорогой и гибкий бизнес-инструмент. Создание такого инструмента необходимо, если в фирме растет количество используемых файлов эксель (база данных позволяет хранить данные в одном файле), создание самого простого варианта недорого (может стоить от 100$ и занимает до нескольких часов), эффект перехода на Access чувствуется сразу. Для начинающих программировать освоение программы "Аксес" может быть первым шагом к работе с другими базами данных.
Введение
В данной работы мы рассмотрим программу СУБД ACCESS , которая входит в пакет самого распространенного пакета офисных программ Microsoft. Наверно не существует ни одного пользователя базами данных, который бы не знал о существовании данной программы. Такое доверия большинства пользователей обусловлено, прежде всего, незыблемым авторитетом всех программ создающихся этой корпорацией. Эта программа универсальна в своем роде. Что же требуется от программы типа СУБД? Это простота, удобство и высокая производительность по обработке ввода, анализа и вывода данных. При веем при этом программа должна быть проста в эксплуатации и доступна рядовому пользователю. И за все это отвечает интерфейс. В процессе совершенствования этой программы были внесены уникальные возможности. Данные могут быть представлены в виде таблиц или диаграмм. И если принять во внимание, что данной программой может пользоваться любой пользователь (от новичка до профессионального разработчика), то без сомнения можно утверждать что ACCESS корпорации Microsoft это лучшее средства для решения задач любой сложности.
1. Разработка информационного и алгоритмического обеспечения подсистемы
1.1 Выбор СУБД
Microsoft Access создана на основе реляционной модели базы данных и предназначена для создания быстрых, эффективных баз данных, применяемых в быту и бизнесе. Кроме того, она способна подключаться к другим базам данных, создавая для вас широкий фронт работы с данными, независимо от того, где они находятся.
Важная особенность СУБД Access - использование буфера обмена при выполнении ряда операций. Буфер используется при выполнении команд копирования и перемещения для временного хранения копируемых или перемещаемых данных, после чего они направляются по новому адресу. При удалении данных они также помещаются в буфер. Содержимое буфера сохраняется до тех пор, пока не будет записана новая порция данных.
СУБД Access имеет достаточное количество команд, у каждой из которых возможны различные параметры (опции). Выбор определенной команды из меню производится либо наведением курсора на выбранную в меню команду при помощи клавиш управления курсором и нажатием клавиши ввода, либо вводом с клавиатуры первой буквы выбранной команды.
Получить дополнительную информацию о командах, составляющих меню СУБД Access, и их использовании можно, войдя в режим помощи.
Совокупность команд, предоставляемых в ваше распоряжение СУБД Access, может быть условно разбита на следующие типовые группы: команды для работы с файлами;
команды редактирования;
команды форматирования;
команды для работы с окнами;
команды для работы в основных режимах СУБД (таблица, форма, запрос, отчет);
получение справочной информации.
Команды для работы с файлами.
При работе с файлами программа дает возможность пользователю: создавать новые объекты базы данных;
сохранять и переименовывать ранее созданные объекты;
открывать уже существующие базы данных;
закрывать ранее открытые объекты;
выводить на принтер объекты базы данных.
Процесс печати начинается с выбора драйвера принтера. Для каждого типа принтера необходим свой драйвер. Следующий шаг состоит в задании параметров страницы, формировании колонтитулов, а также в выборе вида или номера печатаемых страниц документов.
Команда предварительного просмотра позволяет получить представление об общем виде выводимой на принтер информации еще до печати. Размещение информации на странице может быть оптимально приспособлено к ее выбранным параметрам посредством масштабирования и центрирования.
Кроме того, в СУБД Access возможен обмен данными и присоединение таблиц, созданных другими программными средствами.
1.2 Выбор среды разработки
Процесс разработки в Delphi предельно упрощен. В первую очередь это относится к созданию интерфейса, на который уходит 80% времени разработки программы. Вы просто помещаете нужные компоненты на поверхность Windows-окна (которое в Delphi называется формой) и выполняете настройку их свойств с помощью специального инструмента (Object Inspector)[9]. Указанный инструмент выполняет связывание событий этих компонентов (нажатие на кнопку, выбор мышью элемента в списке и т.д.) с кодом его обработки - и вот простое приложение готово. Причем разработчик получает в свое распоряжение мощные средства отладки (вплоть до пошагового выполнения команд процессора), удобную контекстную справочную систему (в том числе и по Microsoft API), средства коллективной работы над проектом, всего просто не перечислить. Вы можете создавать компоненты ACTIVEX без использования Microsoft IDL, расширять возможности web-сервера (скрипты на стороне сервера), практически ничего не зная об HTML, XML или ASP. Можно создавать распределенные приложения на базе СОМ и CORBA, Интернет- и intranet-приложения, используя для доступа к данным Borland DATABASE Engine, ODBC-драйверы или Microsoft ADO. Появившаяся, начиная с Delphi 3, поддержка многозвенной технологии (multi-tiered) доступа к данным позволяет создавать масштабируемые приложения (относительно слабо зависящие от сервера БД) за счет перенесения методов обработки информации (бизнес-правил) на среднее звено.
Как уже говорилось ранее, в Delphi используется язык Object Pascal, который постоянно расширяется и дополняется Borland. Язык в полной мере поддерживает все требования, предъявляемые к объектно-ориентированному языку программирования. Как и положено строго типизированному языку, классы поддерживают только простое наследование, но зато интерфейсы могут иметь сразу несколько предков. К числу особенностей языка следует отнести поддержку обработки исключительных ситуаций (exceptions), а также перегрузку методов и подпрограмм (overload) в стиле C . К числу удачных относится также поддержка длинных строк в формате WIDECHAR и ANSICHAR. Последний тип (ANSISTRING) позволяет использовать все прелести динамического размещения информации в памяти без всяких забот о ее выделении и сборке мусора Delphi делает это автоматически. Для поклонников свободного стиля программирования имеются открытые массивы, варианты и вариантные массивы, позволяющие размещать в памяти все, что душе угодно и смешивать типы данных.
Имеется возможность создания своих собственных компонентов, импортирования ОСХ - компонентов, создания проектов и , создающих проектов. Мало того, Delphi предоставляет разработчику интерфейс для связи приложений с интегрированной оболочкой Delphi (IDE).
Таким образом, вы можете использовать Delphi для создания как самых простых приложений, на разработку которых требуется несколько часов, так и серьезных корпоративных проектов, предназначенных для работы десятков и сотен пользователей. Причем для этого можно использовать самые последние веяния в мире компьютерных технологий с минимальными затратами времени и сил.
2. Программная реализация основных компонентов подсистемы
2.1 Разработка подсистемы поддержки принятия решений
Алгоритм подсистемы принятия решений можно представить в виде указанном на принципиальной схеме на Рисунке 10.
Рисунок 10 - Структурная схема реализующая принцип работы подсистемы принятия решений.
На указанном выше рисунке показана схема, по которой работает подсистема поддержки принятия решений менеджера фирмы.
2.2 Алгоритмизация принятия решений
Рисунок 11 - Общая схема алгоритма принятия решений
На рисунке 11 показано каким образом происходит выбор критерия для решения поставленной задачи принятия решения.
2.3 Разработка БД
2.3.1 Концепция проектирования баз данных
В основе логического и физического проектирования БД лежит создание точной и защищенной БД, на основе которой можно гарантировать эффективное построение прикладных программ (в данном случае пользовательской программы).
Процесс проектирования БД состоит из 2-х этапов: - проектирование логической БД;
- проектирование физической БД.
При проектировании логической БД производится анализ предметной области и информационных потребностей пользователя.
Физическое проектирование связано с фактической реализацией БД. Оно определяет рациональный выбор структуры хранения данных и методов доступа к ним. Результат физического проектирования - внутренняя модель данных.
При проектировании выделяют три уровня абстракции для БД : представление - инфологическая (внешняя) модель;
2.3.2 Составление списка полей. Определение их типов. Разработка таблиц БД и определение связей между таблицами
Предметной областью называется совокупность описаний реальных объектов, представляющих интерес для пользователя. Пользовательские требования выражаются рядом внешних моделей - представлений. Проектирование внешней модели заключается в формализации этих представлений. Концептуальная модель данных соответствует общему представлению о БД, то есть она включает представление о структуре данных, их целостности и манипулировании данными. Преобразование внешней модели в концептуальную модель определяется выбором СУБД.
Необходимо разработать БД и клиентское приложение поддержки принятия решений менеджера по продажам компьютерной техники. Имеются данные о товарах, поставщиках, покупателях(клиентах), производителях. Эти данные могут быть представлены внешней моделью.
Анализ предметной области обычно осуществляется на основании известных сведений о ней с учетом целей проектирования программной системы. В результате анализа создается проект БД.
Процесс проектирования БД в немалой степени зависит от опыта и интуиции разработчика, т.е. является творческим, однако некоторые его моменты можно формализовать.
Для работы приложения необходимо 23 таблицы: · Таблица «Заказы покупателей»;
· Таблица «Разъемы/Сокеты»;
· Таблица «Клиенты»;
· Таблица «Поставщики» ;
· Таблица «Производители» ;
· Таблица «Видеоконтроллеры»;
· Таблица «Блоки бесперебойного питания» ;
· Таблица «ТВ Тюнеры» ;
· Таблица «Аккустические системы» ;
· Таблица «Звуковые карты» ;
· Таблица «Сканеры» ;
· Таблица «Процессоры» ;
· Таблица «Принтеры» ;
· Таблица «Сетевые карты» ;
· Таблица «Манипуляторы “мышь”» ;
· Таблица «Материнские платы» ;
· Таблица «Мониторы» ;
· Таблица «Оперативная память» ;
· Таблица «Клавиатуры» ;
· Таблица «Жесткие диски» ;
· Таблица «Кулеры» ;
· Таблица «Корпуса» ;
· Таблица «Блоки питания» .
Таблица «Заказы покупателей»
- Наименование заказа (Тип - Текстовый) NAIME_ZAKAZ;
- Номер записи связанной таблицы MONITOR (Тип - Числовой) ID_MONITOR;
- Количество мониторов (Тип - числовой) COUNT_MONITOR;
- Номер записи связанной таблицы SOUND_SYSTEM (Тип - Числовой) ID_SOUND_SYSTEM;
- Количество акустических систем (Тип - числовой)COUNT_SOUND_SYSTEM;
- Номер записи связанной таблицы TV_TUNER (Тип - Числовой)ID_TV_TUNER;
- Количество тюнеров (Тип - числовой)COUNT_TV_TUNER;
- Номер записи связанной таблицы UPS (Тип - числовой) ID_UPS;
- Количество блоков бесперебойного питания (Тип - числовой) COUNT_UPS;
-Номер записи связанной таблицы MOTHERBOARD(Тип-числовой) ID_MOTHERBOARD;
- Количество материнских плат (Тип - числовой) COUNT_MOTHERBOARD;
- Номер записи связанной таблицы VIDEO MONITOR (Тип - числовой) ID_VIDEO;
- Количество видеокарт (Тип - числовой) COUNT_VIDEO;
- Номер записи связанной таблицы PRINTERS (Тип - числовой) ID_PRINTERS;
- Количество принтеров (Тип - числовой) COUNT_PRINTERS;
- Номер записи связанной таблицы BLOCK_POWER (Тип - числовой)ID_BLOCK_POWER;
- Количество блоков питания (Тип - числовой) COUNT_BLOCK_POWER;
- Номер записи связанной таблицы COOLER (Тип - числовой)ID_COOLER;
- Количество кулеров (Тип - числовой) COUNT_COOLER;
- Номер записи связанной таблицы PROCESSOR (Тип - числовой) ID_PROCESSOR;
- Количество процессоров (Тип - числовой) COUNT_PROCESSOR;
- Номер записи связанной таблицы MOUSE (Тип - числовой) ID_MOUSE;
- Количество манипуляторов «мышь» (Тип - числовой) COUNT_MOUSE;
- Номер записи связанной таблицы KEYBOARD (Тип - числовой) ID_KEYBOARD;
- Количество клавиатур (Тип - числовой) COUNT_KEYBOARD;
- Номер записи связанной таблицы SOUND (Тип - числовой)ID_SOUND;
- Количество звуковых карт (Тип - числовой) COUNT_SOUND;
- Номер записи связанной таблицы MEMORY (Тип - числовой) ID_MEMORY;
- Количество планок оперативной памяти (Тип - числовой) COUNT_MEMORY;
- Номер записи связанной таблицы HARD_DRIVE (Тип - числовой) ID_HARD_DRIVE;
- Количество жестких дисков (Тип - числовой) COUNT_HARD_DRIVE;
- Номер записи связанной таблицы SCANERS (Тип - числовой) ID_SCANNERS;
- Количество сканеров (Тип - числовой) COUNT_SCANNERS;
- Номер записи связанной таблицы NETWORK (Тип - числовой) ID_NETWORK;
- Количество сетевых карт (Тип - числовой) COUNT_NETWORK;
- Номер записи связанной таблицы BOXED (Тип - числовой) ID_BOXED;
- Количество корпусов (Тип - числовой) COUNT_BOXED;
- Статус продажи (Тип - числовой) STATUS_SALE;
- Номер записи связанной таблицы CLIENTS (Тип - числовой) ID_CLIENTS;
- Номер чека на оплату товара (Тип - текстовый) NUMBER_CHECK;
- Общая сумма по заказу (Тип - вещественный) ALL_SUMM;
- Дата отгрузки товара клиенту (Тип - Дата/Время) DATE_POST_OUT;
- Признак наличия порта USB (Тип - Числовой) STATUS_USB_IS;
- Значение объема постоянной памяти (Тип - Числовой) MEMORY ;
- Скорость оборотов двигателя (об в мин.) (Тип - Числовой) SPEED_SHPINDEL ;
- Значение Кэш - памяти (в Мегабайтах) (Тип - Числовой) CASH_MEMORY;
- Цена (Тип - Вещественный) PRICE;
- Количество устройств подобного типа на складе(Тип - Числовой) COUNT_SKLAD;
- Номер записи в связанной таблице MANUFACTURED (Тип- Числовой) ID_MANUFACTURED;
- Номер записи в связанной таблице POST (Тип - Числовой) ID_POST;
- Дата поставки устройства поставщиком (Тип - Дата/Время) DATE_POST_IN;
Таблица «Кулеры»
- Название кулера (Тип- текстовый) NAIME_COOLER;
- Номер записи в связанной таблице SOCKET (Тип - Числовой) SOCKET;
- Цена (Тип - Вещественный) PRICE;
- Количество устройств подобного типа на складе(Тип - Числовой) COUNT_SKLAD;
- Номер записи в связанной таблице MANUFACTURED (Тип- Числовой) ID_MANUFACTURED;
- Номер записи в связанной таблице POST (Тип - Числовой) ID_POST;
- Дата поставки устройства поставщиком (Тип - Дата/Время) DATE_POST_IN;
Таблица «Корпуса»
- Название корпуса(Тип- текстовый) NAIME_BOXED ;
- Цвет корпуса(Тип- текстовый) COLOR;
- Цена (Тип - Вещественный) PRICE;
- Количество устройств подобного типа на складе(Тип - Числовой) COUNT_SKLAD;
- Номер записи в связанной таблице MANUFACTURED (Тип-Числовой) ID_MANUFACTURED;
- Номер записи в связанной таблице POST (Тип - Числовой) ID_POST;
- Дата поставки устройства поставщиком (Тип - Дата/Время) DATE_POST_IN;
- Дизайн корпуса (Тип- текстовый) DESIGN;
Таблица «Блоки питания»
- Название блока питания(Тип- текстовый) NAIME_BLOCK;
- Номер записи в связанной таблице SOCKET (Тип - Числовой) SOCKET;
- Цена (Тип - Вещественный) PRICE;
- Количество устройств подобного типа на складе(Тип - Числовой) COUNT_SKLAD;
- Номер записи в связанной таблице MANUFACTURED (Тип- Числовой) ID_MANUFACTURED;
- Номер записи в связанной таблице POST (Тип - Числовой) ID_POST;
- Дата поставки устройства поставщиком (Тип - Дата/Время) DATE_POST_IN;
- Мощность блока питания в Ваттах (Тип - числовой) POWER;
- Признак разъема питания типа ATX (Тип - числовой) JACK_ATX_IS;
- Признак разъема питания типа MICROATX (Тип - числовой) JACK_MICROATX_IS.
2.3.3 Логическая и физическая структура базы данных
Анализ взаимодействия различных информационных объектов.
Рисунок 13 - Концептуальная модель базы данных АРМ « Подсистема поддержки принятия решений менеджера по продажам компьютерной техники»
«Разъемы» в данном случае представляют собой совокупность классифицированных и сгруппированных интерфейсов, посредством которых происходит связывание комплектующих и обеспечивается совместимость их взаимодействия. Данная совокупность связана с большинством комплектующих предоставляемых фирмой , организуя, таким образом, взаимосвязанную структуру “разъем - комплектующее” . У фирмы присутствует список постоянных поставщиков оборудования, которые выполняют поставку недостающего товара и обеспечивают удовлетворение постоянного спроса покупателей на компьютерную технику. Существует список клиентов фирмы, которые делают заказы в данной фирме. Каждому заказу клиента соответствует список комплектующих, заказанных конкретным покупателем.
2.4 Разработка программного модуля в Delphi
2.4.1 Разработка алгоритма работы программы
Проектируемая программа «Подсистема поддержки принятия решений менеджера по продажам компьютерной техники» реализовывалась на языке программирования Object Pascal в IDE среде Borland Delphi 7.0.
Другим вспомогательным средством построения системы является СУБД Microsoft Access 2003. Средством управления редактированием и отладки запросов к объектам базы данных, также является компонент пакета Microsoft Office - Microsoft Access 2003.
На рисунке 15 представлена схема функционирования алгоритма программы. Рассмотрим более подробно весь механизм работы приложения.
Рисунок 15 - Общая структура алгоритма работы программы «Подсистема поддержки принятия решений менеджера по продажам компьютерной техники»
2.4.2 Реализация программы в среде программирования
Вся работа программы сводится к модульной схеме функционирования. Работа с таблицами базы данных организуется посредством отдельных модулей, каждый из которых решает задачу по добавлению, удалению или изменению информации, находящейся в конкретной таблице базы данных.
Модуль Start_.pas - отображает заставку при загрузке программы;
Модуль Unit_PASSWORD.pas - подпрограмма защиты программы от несанкционированного входа;
Модуль Unit1.pas - является главным модулем программы, из которого вызываются все остальные модули;
Модуль About.pas - выполняет вывод информации о технических требованиях к работе программы;
Модуль Manual.pas - отображает инструкцию пользователю по работе с программой;
Модуль Developer.pas - отображает инструкцию пользователю по работе с программой;
Модуль INSERT_ZAKAZ.pas - отображает форму редактирования заказов покупателей;
Модуль Insert_VIDEO.pas - отображает форму редактирования информации о видеоконтроллерах;
Модуль Insert_UPS.pas - отображает форму редактирования информации о блоках бесперебойного питания;
Модуль Insert_TV_TUNER.pas - отображает форму редактирования информации о ТВ тюнерах;
Модуль Insert_SOUND_SYSTEM.pas - отображает форму редактирования информации об акустических системах;
Модуль Insert_SOUND.pas - отображает форму редактирования информации о звукових картах;
Модуль Insert_SCANERS.pas - отображает форму редактирования информации о сканерах;
Модуль Insert_PROCESSOR.pas - отображает форму редактирования информации о процессорах;
Модуль Insert_PRINTERS.pas - отображает форму редактирования информации о принтерах;
Модуль Insert_NETWORK.pas - отображает форму редактирования информации о сетевых картах;
Модуль Insert_MOUSE.pas - отображает форму редактирования информации о манипуляторах «мышь»;
Модуль Insert_MOTHERBOARD.pas - отображает форму редактирования информации о материнских платах;
Модуль Insert_MONITOR.pas - отображает форму редактирования информации о мониторах;
Модуль Insert_Memory.pas - отображает форму редактирования информации об оперативной памяти;
Модуль Insert_KEYBOARD.pas - отображает форму редактирования информации о клавиатурах;
Модуль Insert_HARD_DRIVE.pas - отображает форму редактирования информации о жестких дисках;
Модуль Insert_COOLER.pas - отображает форму редактирования информации о кулерах;
Модуль Insert_BOXED.pas - отображает форму редактирования информации о корпусах;
Модуль Insert_BLOCK_POWER.pas - отображает форму редактирования информации о блоках питания;
Модуль Insert_Socket.pas - отображает форму редактирования информации о разъемах (сокетах);
Модуль Report.pas - выполняет генерирование информации о счете на оплату;
Модуль Insert_Postavka.pas - отображает форму редактирования информации о поставщиках фирмы;
Модуль Insert_Manufactured.pas - отображает форму редактирования информации о производителях;
Вывод
Программа "Аксес" ("Access") компании Майкрософт является прекрасным инструментом для работы с данными. Аксес позволяет хранить и обрабатывать данные, подготавливать отчеты, контролировать правильность данных на стадии их ввода, создавать формы для более удобной работы с данными (интерфейс). Одновременно с базой данных могут работать несколько пользователей. Для небольшой фирмы (например, туристической компании) несколько потраченных часов на создание базы данных могут дать недорогой и гибкий бизнес-инструмент. Создание такого инструмента необходимо, если в фирме растет количество используемых файлов эксель (база данных позволяет хранить данные в одном файле), создание самого простого варианта недорого (может стоить от 100$ и занимает до нескольких часов), эффект перехода на Access чувствуется сразу.
Для начинающих программировать освоение программы "Аксес" может быть первым шагом к работе с другими базами данных.
Важная особенность СУБД Access - использование буфера обмена при выполнении ряда операций. Буфер используется при выполнении команд копирования и перемещения для временного хранения копируемых или перемещаемых данных, после чего они направляются по новому адресу. При удалении данных они также помещаются в буфер. Содержимое буфера сохраняется до тех пор, пока не будет записана новая порция данных.
СУБД Access имеет достаточное количество команд, у каждой из которых возможны различные параметры (опции). Выбор определенной команды из меню производится либо наведением курсора на выбранную в меню команду при помощи клавиш управления курсором и нажатием клавиши ввода, либо вводом с клавиатуры первой буквы выбранной команды.
Список литературы
1. Кошелев В.Е. Access 2007. Эффективное использование. - М.: Бином-Пресс, 2009. - 590 с.
2. Сминрнова О.В. Access 2007 на практике. - М.: Феникс, 2009. - 160 с.