Для определения функциональной архитектуры АСОИиУ наиболее принципиальной в группе разработки общесистемных проектных решений является разработка функциональной спецификации по задачам, которая должна определить какие функции должны выполняться для удовлетворения требований, выставленных в ТЗ на ВКР, и обеспечения интерфейса между системой и пользователем.
Рассмотрим перечень задач ТЗ по их функциональной спецификации:
. Задача «формирование и обработка информации по движению товара на складе» осуществляет обработку информации по перемещению товара на складе, т. е. его приобретение, хранение, списание и т. д.;
. Задача «формирование и обработка информации по отчетной документации на приобретение товара» выполняет формирование и обработку информации на приобретение товара у поставщиков по следующим параметрам: код товара, наименование, количество, поставщики, закупочная цена и т. д.;
. Задача «формирование и обработка информации по учетной документации на наличие товара на складе» выполняет обработку учетной документации на наличие товара на складе;
. Задача «формирование, обработка и актуализация информации по прайс-листу» выполняет формирование и обработку информации по актуализации прайс-листа за единицу времени;
. Задача «формирование и обработка информации по отчетной документации на списание товара со склада» выполняет формирование и обработку информации по отчетной документации на списанный товар по следующим параметрам: код товара, наименование, количество, поставщики и цена;
. Задача «формирование и обработка информации по заявке торгового отдела» выполняет формирование и обработку информации по заявкам клиентов, формируемых в торговом отделе;
. Задача «анализ информации по заявке клиентов на основе прайс-листа» выполняет обработку клиентской заявки по прайс-листу, т. е. имеющемуся товару на складе;
. Задача «формирование информации по выданным заявкам на приобретение товара» выполняет обработку информации по раннее созданной заявке от клиента и выдаче необходимого товара;
. Задача «формирование информации по документации на получение товара со склада» выполняет обработку информации по получению товара со склада, т. е. выдается накладная для отгрузки товара со склада;
. Задача «формирование и обработка информации по документации на реализуемый товар» выполняет обработку информации по документации на реализуемый товар;
. Задача «формирование отчетной документации на реализованный товар за единицу времени» выполняет учет по реализуемым товарам и формирование, введение и обработку информации по отчетной документации на реализуемый товар по следующим параметрам: дата составления документа на реализуемый товар, дата реализации товара, наименование товара, количество, стоимость закупочная и цена реализации.
На основе функциональной спецификации и требований к системе осуществляется построение функциональной архитектуры системы, разделенной на несколько функциональных уровней (в виде иерархического дерева).
В высший функциональный уровень проектирования входят общие решения, а на низшем уровне - наиболее детализированные решения проекта - процедуры и функции. Каждый модуль содержит набор процедур, реализующих специфические функции каждого модуля.
Проектирование в соответствии с функциональной архитектурой осуществляется на базе метода проектирования «сверху - вниз.
Основными задачами объекта автоматизации склада торгового предприятия является формирование, ведение и обработка информации по отчетной документации, формирование и обработка системного каталога по товарам, поиск и выдача товаров и т. д.
Иерархическая структура состоит из модуля
«Склад», который в свою очередь содержит перечень функциональных задач и
процедур. На верхнем уровне Иерархического дерева расположен исполнительный
модуль АРМ склада торгового предприятия «Компакт» (рис. 3).
Рис. 3 Иерархическое дерево АРМ заведующего
складом торгового предприятия
.2 Техническое проектирование АСОИиУ на уровне
разработки локальных проектных решений
Основным компонентом локальных проектных решений, являющимся базой для разработки информационного, программного и технического обеспечения для каждой задачи, является «постановка задачи», включающая три составляющие части:
Характеристика задачи;
Описание выходной информации;
Описание входной информации.
Для каждой задачи, после ее постановки, разрабатываются все компоненты информационного, технического, математического, лингвистического обеспечения, а также некоторые компоненты программного обеспечения.
Основным компонентом разработки информационного обеспечения АСОИиУ является информационная база данных (БД). Проектирование БД заключается все многоступенчатом описании с различной степенью детализации и формализации, в ходе которого производится уточнение и оптимизация структуры БД. Проектирование начинается с описания предметной области и задач АСОИиУ, идет к более абстрактному уровню логического описания данных и далее - к схеме физической (внутренней) модели БД. Трем основным уровням моделирования системы - концептуальному, логическому и физическому соответствуют три последовательных этапа детализации описания объектов БД и их взаимосвязей.
Каждая конкретная СУБД работает с определенной моделью данных. Под моделью данных понимается способ их взаимосвязи: в виде иерархического дерева, сложной сетевой структуры или связанных таблиц. В настоящее время большинство СУБД использует табличную модель данных, называемую реляционной.
На логическом уровне производится отображение данных концептуальной модели в логическую модель в рамках той структуры данных, которая поддерживается выбранной СУБД. Логическая модель не зависит от конкретной СУБД и может быть реализована на любой СУБД реляционного типа.
На физическом уровне производится выбор рациональной структуры хранения данных и методов доступа к ним, которые обеспечивает избранная СУБД. На этом уровне решаются вопросы эффективного выполнения запросов к БД, для чего строятся дополнительные структуры, например индексы. В физической модели содержится информация обо всех объектах БД (таблицах, индексах, процедурах и др.) и используемых типах данных. Физическая модель зависит от конкретной СУБД. Одной и той же логической модели может соответствовать несколько разных физических моделей. Физическое проектирование является начальным этапом реализации БД.
Физическая модель содержит полную информацию, необходимую для реализации конкретной БД. При ее реализации в СУБД отношение обычно называют таблицей, атрибут отношения - полем или столбцом таблицы, кортеж отношения - записью пли строкой.
В реляционных БД записи в таблицах хранятся в том последовательности, в которой они были введены, что отражает требование отсутствия упорядоченности записей. При этом для поиска нужной записи необходимо просмотреть большую часть таблицы, что может привести к очень большому времени выполнения запросов, если таблицы содержат тысячи строк и неупорядочены.
Для повышения производительности реляционные
СУБД используют специальные объекты, называемые индексами. Они содержат набор
записей из двух элементов, представленных на рисунке 4:
Рис. 4 Специальные объекты - индексы
Индекс упорядочен по значению ключевого поля, что позволяет быстро находить нужные значения. Фактически индексная структура является «оглавлением» таблицы.
При процедуре поиска нужной записи таблицы по ключевому полю вначале просматривается ее индекс, находится нужное значение ключа, определяется по указателю адрес нужной записи и только затем считывается запись.
СУБД автоматически создает индексы для первичных ключей таблиц.
В качестве индексного ключа берется столбец или совокупность столбцов первичного ключа. При вводе новой строки происходит проверка уникальности значения первичного ключа не по записям таблицы, а в соответствующем индексе, что также ускоряет работу системы. Целесообразно в качестве ключевых полей применять числовые коды: код товара, номер заказа и т. п.
При любой модификации, добавлении или удалении записей СУБД автоматически обновляет как базовую таблицу, так и все индексы. Это замедляет операции, связанные с изменением таблиц. Чем больше индексов будет создано для таблицы, тем медленнее будут выполняться операции ее обновления. Индексы всегда создаются для внешних ключей и для полей, по которым часто проводится поиск.
Разделение (разбиение) таблиц в целях ускорения работы системы может быть горизонтальным или вертикальным.
При горизонтальном разделении таблица делится на две или более таблиц с одинаковой структурой. Записи исходной таблицы распределяются между новыми таблицами в соответствии с частотой обращения к ним, например, за последний год или месяц. Основная работа будет вестись с данными таблиц, содержащими относительно небольшой объем записей. Операцию перезаписи в архивные таблицы надо будет проводить ежемесячно.
При проведении горизонтального разделения таблицы следует изменить запросы, относящиеся ко всем записям. Теперь они должны включать операцию объединения двух таблиц.
При вертикальном разделении таблицы вместо
исходной таблицы создаются две или более новых таблиц, каждая из которых
содержит первичный ключ исходной таблицы и ряд выбранных столбцов. Это
целесообразно, если обращение к некоторым полям записей таблицы происходит
значительно реже, чем к остальным. Первая таблица содержит существенные
сведения, к которым происходит частое обращение при функционировании системы
управления, вторая - редко запрашиваемые анкетные данные, интересующие только
менеджера по кадрам. Таблицы при вертикальном разделении связаны связью
«один-к-одному» по полю первичного ключа.
.3 Инструментальные программные средства
разработки Автоматизированного рабочего места заведующего складом торгового
предприятия и их функциональные возможности
При разработке информационной базы данных проектируемой системы на физическом уровне была использована система СУБД Microsoft Access, входящая в пакет Microsoft Office.Access - это функционально полная реляционная СУБД. В ней предусмотрены все необходимые вам средства для определения и обработки данных, а также для управления ими при работе с большими объемами информации. Что касается легкости использования, то Microsoft Access совершил здесь настоящий переворот, и многие для создания своих собственных баз данных и приложений обращаются именно к нему.
Система управления базами данных предоставляет вам возможность контролировать задание структуры и описание своих данных, работу с ними и организацию коллективного пользования этой информацией. СУБД также существенно увеличивает возможности и облегчает каталогизацию и ведение больших объемов хранящейся в многочисленных таблицах информации. СУБД включает в себя три основных типа функций: определение (задание структуры и описание) данных, обработка данных и управление данными. Все эти функциональные возможности в полной мере реализованы в Microsoft Access. В практике, как правило, необходимо решать и задачи с использованием электронных таблиц и текстовых процессоров. Например, после подсчета или анализа данных необходимо их представить в виде определенной формы или шаблоны. В итоге пользователю приходится комбинировать программные продукты для получения необходимого результата. В этом смысле все существенно упростят возможности, предоставляемые Microsoft Access.
Основные компоненты MS Access:
построитель таблиц;
построитель экранных форм;
построитель SQL-запросов (язык SQL в MS Access не соответствует стандарту ANSI);
построитель отчётов, выводимых на печать.
Для запуска Microsoft Access выполняем команду:
Пуск - Программы - Microsoft Oficce - MS Access (рис. 5).
Рис. 5 Запуск программы «Microsoft Access»
В качестве инструментального программного средства для разработки программных компонентов АСОИиУ по предприятию «Компакт» выбран современный инструментальный программный продукт Borland Delphi, позволяющий создавать широкий спектр приложений для среды Microsoft Windows. Delphi - это комбинация нескольких важнейших технологий:
высокопроизводительный компилятор в машинный код;
объектно-ориентированная модель компонент;
визуальное (а, следовательно, и скоростное) построение приложений из программных прототипов;
масштабируемые средства для построения баз данных.
Компилятор, встроенный в Delphi, обеспечивает высокую производительность, необходимую для построения приложений в архитектуре «клиент-сервер». Он предлагает легкость разработки и быстрое время проверки готового программного блока, характерного для языков четвертого поколения. Кроме того, Delphi обеспечивает быструю разработку без необходимости писать вставки на Си или ручного написания кода (хотя это возможно).
В процессе построения приложения разработчик
выбирает из палитры компонент готовые компоненты как художник, делающий крупные
мазки кистью. Еще до компиляции он видит результаты своей работы - после
подключения к источнику данных их можно видеть отображенными на форме, можно
перемещаться по данным, представлять их в том или ином виде. В этом смысле
проектирование в Delphi мало чем отличается от проектирования в
интерпретирующей среде, однако после выполнения компиляции мы получаем код,
который исполняется в 10-20 раз быстрее, чем то же самое, сделанное при помощи
интерпретатора. Кроме того, компилятор компилятору рознь, в Delphi компиляция
производится непосредственно в родной машинный код, в то время как существуют
компиляторы, превращающие программу в так называемый p-код, который затем
интерпретируется виртуальной p-машиной. Это не может не сказаться на
фактическом быстродействии готового приложения (Рис. 6).
Рис. 6 Классический вид главного меню системы
Borland Delphi 7
В стандартную поставку Delphi входят основные объекты, которые образуют удачно подобранную иерархию базовых классов. Но если возникнет необходимость в решении какой-то специфической проблемы на Delphi, то лучше просмотреть список свободно распространяемых или коммерческих компонент, разработанных третьими фирмами, количество этих компонент в настоящее время составляет несколько тысяч. Событийная модель в Windows всегда была сложна для понимания и отладки. Но именно разработка интерфейса в Delphi является самой простой задачей для программиста.
Объекты БД в Delphi основаны на SQL и включают в себя полную мощь Borland Database Engine. В состав Delphi также включен Borland SQL LINK, поэтому доступ к СУБД Oracle, Sybase, Informix и Interbase происходит с высокой эффективностью. Кроме того, Delphi включает в себя локальный сервер Interbase для того, чтобы можно было разработать расширяемые на любые внешние sql-сервера приложения в офлайновом режиме. Разработчик в среде Delphi, проектирующий информационную систему для локальной машины (к примеру, небольшую систему учета медицинских карточек для одного компьютера), может использовать для хранения информации файлы формата .dbf (как в dbase или clipper) или .db (paradox). Если же он будет использовать локальный interbase for windows (это локальный SQL-сервер, входящий в поставку), то его приложение безо всяких изменений будет работать и в составе большой системы с архитектурой клиент-сервер.
Основные части среды Borland Delphi 7 и описание
его компонентов изображены на рис. 7
Рис. 7 Среда Delphi 7 в деталях
.4 Проектирование информационной базы АРМ
заведующего складом торгового предприятия на основе функциональных возможностей
Microsoft Access
Разработка БД для АРМ заведующего складом торгового предприятия на основе функциональных возможностей Microsoft Access сопровождалась выделением разных объектов и их атрибутов:
На концептуальном уровне БД содержит кодовый номер, товар, материал, количество товара на складе, их цена, страна производитель.