85929

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

Дипломная

Бухгалтерский учет и финансовый аудит

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

Русский

2015-04-01

2.29 MB

1 чел.

69

Содержание

Введение                6

[1]
Анализ предметной области. Формулировка задач проектирования

[1.1] Общая характеристика проблемы

[1.2] Формулировка задач проектирования

[1.3] Актуальность задачи

[1.4] Описание и анализ предметной области

[2]
Анализ и разработка концептуальной модели предметной области

[2.1] Анализ представления моделей данных и выбор логической модели данных для проектируемой системы

[2.2] Выбор концептуальной модели

[2.3] Построение модели предметной области

[2.4]  Описание базы данных

[2.5] Выбор метода проектирования

[3]
Реализация информационной системы учета и контроля поставок на торговом предприятии

[3.1] Анализ и выбор программных средств разработки

[3.2] Описание  программного продукта

[3.3] Тестирование

[4]
Заключение

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

[6]
Приложение А

[7]
Приложение Б


Введение

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

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

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

Одним из показателей характеризующих работу предприятия является товарооборот, который представляет собой планово организационный процесс обращения средств производства [2],  от которого во многом зависят и другие экономические показатели. В общий объем товарооборота включают все товары, реализованные предприятием, т.е. полученные от предприятий поставщиков продукции. Также товарооборот показывает насколько быстро предприятие использует полученную продукцию, т.е. какими темпами оно осуществляет свою деятельность, чем больше на предприятие осуществляется поставок, тем более стабильно работает данное предприятие.

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

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

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

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

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

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

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

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

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

Общий порядок приемки товарно-материальных ценностей установлен “Положением о поставке продукции производственно-технического назначения”. Порядок и сроки приемки товарно-материальных ценностей в определенном количестве и качестве, оформление актов приемки и предъявление претензий определены инструкцией о порядке приемки продукции производственно-технического назначения и товаров народного потребления по количеству и инструкцией о порядке приемки продукции производственно-технического назначения по качеству. Особенности приемки отдельных видов продукции определяются в ГОСТах  [12.01.005-89], технических условиях, Особых условиях поставки и договорах поставки, предусматривающих особые порядки приемки продукции при поставках.

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

  1.  Формулировка задач проектирования

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

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

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

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

Таким образом, в данной работе необходимо разработать автоматизированную систему управления поставками для малого бизнеса АСУПТ "Ткани" (торговля тканями), позволяющую:

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

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

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

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

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

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

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

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

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

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

цт=нц+зг+пп

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

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

При выборе ткани важную роль играют ее качественные характеристики:

  1.  В какой стране производится ткань. Например, ткани из Индонезии, Италии, Японии дороже, но по составу и качеству лучше, чем более дешевые ткани из Кореи, Вьетнама, Индии, Тайвани.
    1.  Какой фирмой произведена ткань. Например, корейский креп сатин фирмы "Стартепс" дороже и лучше по качеству, плотности и цвету, чем креп сатин корейской фирмы "Юниверсал".
    2.  Состав ткани или номинальное содержание волокон играет основную роль в выбореткани, т.к. от состава ткани зависит качество пошива, срок износа, состояние ткани после стирки (ткань может линять, вытягиваться, лосниться, скатываться или могут появиться затяжки). Чем больше процент натуральной ткани, тем качественнее ткань.
    3.  Срок реализации ткани и время года.
    4.  Дизайн и цвет ткани.
    5.  Мода играет немаловажную роль. Например, на 2000 год модными тканями становятся такие, как стрейч ткани, лайкра, блестящая ткань, т.е. ткани "Космос"; сочетание яркого и размытого цвета; мелкий цветок сочетается с крупным; неопределенные тона.

Основными параметрами тканей являются:

  •  Наименование ткани - наименование товара;
    •  Тип ткани - состав ткани или номинальное содержание волокон;
    •  Артикул - уникальный шифр, назначаемый производителем ткани;
    •  Производитель - какой фирмой произведена ткань.

Выбор поставщика так же зависит от его качественных характеристик:

  1.  Основное качество поставщика - его порядочность, умение работать с клиентом. Поставщик должен точно, без обмана, по чеку отмерить метраж ткани, упаковать выбранную клиентом ткань по номеру артикула, номеру цвета, вовремя отправить ее на склад. Поставщик должен уметь помочь клиенту выбрать ткань, пользующуюся спросом.
  2.  Работа   поставщика   с   лучшими   фирмами-производителями.   Торговля   только качественным товаром.
  3.  Поставщик должен уметь проводить гибкую ценовую политику ценами на ткань, не завышать цены на новый товар, выполнять уценку брака или делать возврат бракованной ткани.
  4.  Умение поставщика работать с клиентом не только на прямую, но и по телефону, факсу или электронной почте.
  5.  Знание русского языка.

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

  1.  Цена ткани за один метр, т.е., с одной стороны, разные поставщики могут продавать одинаковую ткань с одним и тем же номинальным содержанием волокон по различной цене, с другой стороны, одно и тоже наименование ткани у одного поставщика может иметь разную стоимость в зависимости от фирмы производителя.
  2.  Количество метров ткани.

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

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

На сегодняшний день для представления данных используются три модели: иерархическая, сетевая и реляционная. Иерархическая модель [6] данных представляет собой иерархию в виде дерева. Данная модель данных базируется на сегменте, который представляет собой совокупность полей, характеризующих данный сегмент. Сегменты различаются по типу, а каждый тип характеризуется фиксированной длиной и конкретным разбиением на поля данных. Два связанных сегмента, расположенных на смежных уровнях называются исходным (более высокого уровня) и порожденным (более низкого). Иерархическая запись – система взаимосвязанных сегментов, в которой каждый порожденный сегмент представлен столько раз, сколько необходимо для полного раскрытия данного сегмента. В иерархической структуре есть сегмент, который не имеет исходного и называется головным или корневым. В этом сегменте обычно располагается идентификатор объекта, свойства которого раскрываются в сегментах второго и более низких уровней иерархии.

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

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

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

Сеть [5] – более общая структура в сравнении с иерархией. Узлами сети являются отдельные экземпляры записи. Узлы записи являются единицей доступа к БД. Поскольку отдельный узел может иметь несколько непосредственно старших узлов, так же, как и несколько непосредственно подчиненных, то данная структура обеспечивает прямое представление отношения “многие ко многим”. Для связи между записями-узлами существует связующая запись, все экземпляры которой помещаются в цепочку для связи двух экземпляров.

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

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

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

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

Особенность реляционной модели заключается в том, что в отличии от сетевой и иерархической моделей реальные объекты и взаимосвязи между ними представляются в базе данных единообразно в виде нормализованных отношений [24].

Основной недостаток реляционной модели данных связывается с низкой производительностью реляционной СУБД. Но разработка современных СУБД таких как, ORACLE, InterBase, Acsses и др. позволило преодолеть и этот недостаток.

Достоинства реляционной модели можно разделить на две группы:

  1.  достоинства для пользователя:
    •  реляционная БД представляет собой набор таблиц с которыми пользователь привык работать;
    •  не нужно помнить пути доступа к данным и строить алгоритмы и процедуры обработки своего запроса;
    •  реляционные языки легки для изучения и освоения, в то время как языки общения с иерархической и сетевой моделями предназначены для программистов и мало пригодны для пользователей;
  2.  достоинства обработки данных реляционной БД:
    •  связность. Реляционное представление дает ясную картину взаимосвязей атрибутов из различных отношений;
    •  точность. Направленные связи в реляционной БД отсутствуют. Отношения по своей природе обладают более точным смыслом и поддаются манипулированию с использованием таких средств, как алгебра и исчисление отношений [5], обеспечивающих наглядность и гибкость модели данных;
    •  гибкость. Операции проекции и объединения [17] позволяют разрезать и склеивать отношения, так что программист может получать разнообразные файлы в нужной форме;
    •  секретность. Контроль секретности упрощается. Для каждого отношения имеется возможность задания правомерности доступа, засекреченные показатели можно выделить в отдельные отношения с проверкой прав доступа.
    •  Простота внедрения. Физическое размещение однородных (табличных) файлов намного проще, чем размещение иерархических и сетевых структур.
    •  Независимость данных. БД должна допускать возможность расширения, т.е. добавления новых атрибутов и отношений.

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

  1.  Выбор концептуальной модели

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

  •  Семантическая модель;
    •  Фреймы;
    •  Модель “сущность-связь”.

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

  •  Описание объектов предметной области происходит естественным языком;
    •  Все записи, поступающие в БД накапливаются в относительно однородной структуре.

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

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

Модель “сущность-связь” описывается в терминах сущность, связь, значение. Сущность – понятие которое может быть идентифицировано. Связь – соединение сущностей. Для представления связей и сущностей введен специальный метод: ER-диаграма [27]. Различаются сущности трех основных классов: стержневые, ассоциативные и характеристические. Стержневая сущность – это независимая сущность (ей свойственно независимое существование). Ассоциативная сущность или ассоциация рассматривается как связь между двумя или более сущностями типа "многие -ко- многим" или подобные им. Характеристическая сущность (или характеристика) представляет собой сущность, единственная цель которой, в рамках рассматриваемой предметной области, состоит в описании или уточнении некоторой другой сущности. ER-диаграма – графическое представление взаимосвязей сущностей. Каждое множество сущностей представляется прямоугольником, а множество связей – ромбом. Связи могут быть трех типов: “один к одному”, “один ко многим”, “многие ко многим”. данные типы связи присущи реляционной модели, как и сущности, которым в реляционной модели соответствуют таблицы.

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

  1.  Построение модели предметной области

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

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

Атрибуты:

  •  Фирма;
    •  Ф.И.О. поставщика;
    •  Адрес;
    •  Телефон;
    •  Факс;
    •  E-mail;
    •  Статус - степень надежности поставщика, его порядочность, умение работать с клиентом. Статус оценивается по 10-и бальной системе:

  1.  Обращаться в последнюю очередь (1 балл);
  2.  Сомнительный (2-3 балла);
  3.  Не очень хороший (4-5 баллов);
  4.  Посредственный (6-7 баллов);
  5.  Приемлемый (8-9 баллов);
  6.  Хороший (10 баллов).
    •  Знание русского языка. Оценивается по 5-и бальной системе:
      1.  Полное незнание (1 балл);
      2.  Неудовлетворительное (2 балла);
      3.  Удовлетворительное (3 балла);
      4.  Хорошее (4 балла);
      5.  Отличное (5 баллов).
    •  Примечания.

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

Атрибуты:

  •  Номер артикула;
    •  Наименование ткани;
    •  Тип ткани;
    •  Производитель.

3.  Поставка - партия товара, поставляемая поставщиком на заказ

Атрибуты:

  •  Код поставщика;
    •  Код артикула;
    •  Цена за погонный метр в рублях;
    •  Кол-во метров;
    •  Цвет ткани;
    •  Дата поставки;
    •  Примечания.

4. Ткань.

Атрибуты:

• Название ткани;

5. Тип ткани.

Атрибуты:

• Название типа ткани;

6. Города - список городов, где находятся поставщики.

Атрибуты:

  •  Название города;
    •  Название страны.

7. Страны - список стран, где находятся поставщики и фирмы-производители

Атрибуты:

• Название страны.

8. Производитель.

Атрибуты:

Название фирмы;

Название страны.

Выделение связей между сущностями осуществляется на основании анализа предметной области. Все выделенные связи представлены на рис. 2.1.

Рис 2.1. Связи между сущностями

Выполнив анализ сущностей и связей меду ними построим логическую модель. Построение модели предметной области осуществляется по принципу "сущность-связь", т.е. отображаются все сущности и связи между ними.[1] Данная модель отображена на диаграмме "сущность-связь" (рис.2.2).

Рис.2.2 Диаграмма "сущность-связь"

  1.   Описание базы данных

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

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


Таблица 1

Поставщики:

Название поля (рус.)

Ключ/ Внеш. Ключ

Тип поля

Макс, длина (символов)

Пример

Семантика значений

Код

*

Счетчик

Код поставщика

Фирма

Текстовый

50

"Разия Текстиль"

Название фирмы

Ф.И.О.

Текстовый

50

"Мурли"

Ф.И.О. поставщика

Адрес

Текстовый

50

"Гуадри рынок"

Адрес фирмы

Код города

#

Числовой

Город (таб. Города)

Код страны

#

Числовой

Страна (таб. Страны)

Телефон

Текстовый

50

"22-05-02"

Рабочий телефон

Факс

Текстовый

50

"252155"

Факс

E-mail

Текстовый

50

mi

Электронная почта

Статус

Текстовый

50

"Хороший"

Статус поставщика

Знание русского

Текстовый

50

"Отлично"

Знание русского языка

Примечания

Текстовый

50

Примечания


Таблица 2

Поставки:

Название поля (рус.)

Ключ/ Внеш. Ключ

Тип поля

Макс, длина

(символов)

Пример

Семантика значений

Код

*

Счетчик

Код поставки

Код поставщика

#

Числовой

Код поставщика (таб. Пост-ики)

Код артикула

#

Числовой

Код артикула (таб. Артикул)

Цена за метр

Денежный

"70р."

Цена за погонный метр

Кол-во метров

Числовой

"50"

Кол-во метров ткани

Цвет ткани

Текстовый

50

"Белый"

Цвет ткани

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

Дата/время

"1.01.00"

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

Таблица 3

Артикул:

Название поля (рус.) 

Ключ/Внеш. ключ 

Тип поля 

Макс, длина (символов) 

Семантика значений 

Код

Номер артикула

Код наименования ткани

Код типа ткани

Код производителя 

*

#

#

# 

Счетчик Текстовый Числовой Числовой Числовой 

50 

Код артикула

Номер артикула

Название ткани (таб. Ткань) Тип ткани (таб. Тип ткани) Фирма (таб. Производитель) 


Таблица 4

Города;

Название поля (РУС.)

Ключ/ Внеш. ключ

Тип поля

Макс, длина (символов)

Пример

Семантика значений

Код

Город

Код страны

*

#

Счетчик

Текстовый

Числовой

50

1

Киев

2

Код города

Название города

Название страны (таб. Страны)

Таблица 5

Страны;

Название поля (РУС.)

Ключ/Внеш. ключ

Тип поля

Макс, длина (символов)

Пример

Семантика значений

Код

Страна

*

Счетчик

Текстовый

50

1

"Россия"

Код страны

Название страны

Таблица 6

Ткань;

Название поля (рус.)

Ключ/Внеш. ключ

Тип поля

Макс, длина (символов)

Пример

Семантика значений

Код

Наименование ткани

*

Счетчик

Текстовый

50

1

"Драп"

Код названия ткани

Название ткани

Таблица 7

Тип ткани;

Название поля (рус.)

Ключ/Внеш. ключ

Тип поля

Макс, длина (символов)

Пример

Семантика значений

Код

Название типа

*

Счетчик

Текстовый

50

1

Трикотаж

Код типа ткани

Название типа ткани

Таблица 8

Производитель;

Название поля (РУС.)

Ключ/ Внеш. ключ

Тип поля

Макс, длина (символов)

Пример

Семантика значений (в виде словесного пояснения, если она не самоочевидна)

Код

Производитель

Код страны

*

#

Счетчик

Текстовый

Числовой

50

1

"Стартепс"

1

Код производителя

Название фирмы

Название страны (таб. Страны)

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

  1.  Выбор метода проектирования 

Метод — это последовательный процесс создания моделей, которые описывают вполне определёнными средствами различные стороны разрабатываемой программной системы [18]. Методы важны по нескольким причинам. Во-первых, они упорядочивают процесс создания сложных программных систем. Во-вторых, они позволяют менеджерам в процессе разработки оценить степень продвижения и риск.

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

Метод проектирования сверху вниз;

Метод потоков данных;

Объектно-ориентированное проектирование.

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

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

Объектно-ориентированное проектирование (object-oriented design, OOD)—это подход в основе которого лежит представление о том , что программную систему нужно проектировать как совокупность взаимодействующих друг с другом объектов, рассматривая каждый объект как экземпляр определённого класса, причём классы образуют иерархию. Объектно-ориентированный подход отражает топологию новейших языков высокого уровня , таких как Object Pascal, C++, Smalltalk [23] и др. Модели, для проектирования которой используется вышеназванный подход проектирования присущи четыре главных элемента:

Абстрагирование;

Инкапсуляция;

Модульность;

Иерархия.

Абстрагирование позволяет выделить существенные характеристики проектируемого объекта, отличающие его от других объектов;

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

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

Иерархия – упорядочивание абстракций, расположение их по уровням.

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

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

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

Система управления разработанной БД использует реляционный подход для построения базы данных [20]. Подобные системы основаны на реляционной модели данных, которые  используются для моделирования взаимосвязей между объектами реального мира и для хранения данных об этих объектах. Применение реляционной модели данных [27] обусловлено использованием реляционной алгебры и соответствующих алгоритмов и операций для выполнения действий над данными. Использование алгоритмов реляционной алгебры [20] позволяет обеспечить высокую производительность работы с базой данных.

Основные операции реляционной алгебры были впервые предложены Коддом [26]. Он доказал, что запросы, формулируемые с помощью языка исчисления могут быть сформулированы в языках реляционной алгебры и наоборот [18], т.е запросы представленные с помощью языка реляционной алгебры могут быть использованы для выполнения запросов к разработанной БД. Ниже приведен ряд запросов к БД:

SELECT nomer_dogovora, postav.nomer_postav, dogovor.nomer_postav,

               naimen_post

FROM    postav, dogovor

WHERE postav.nomer_postav=dogovor.nomer_postav

SELECT select nomer_zajavki, zajavka.nomer_dogovora,            

              dogovor.nomer_dogovora, naimen_post,postav.nomer_postav,

              dogovor.nomer_postav             

FROM    from zajavka,dogovor,postav

WHERE (zajavka.nomer_dogovora=dogovor.nomer_dogovora)

              AND (postav.nomer_postav=dogovor.nomer_postav)

SELECT nomer_zakaza, zakaz.nomer_dogovora, dogovor.nomer_dogovora,

               naimen_post,postav.nomer_postav, dogovor.nomer_postav

FROM    zakaz, dogovor, postav

WHERE (zakaz.nomer_dogovora=dogovor.nomer_dogovora)

              AND (postav.nomer_postav=dogovor.nomer_postav)

Рассмотрим четыре операции над отношениями [20]:

Селекция;

Проекция;

Теоретико-множественное объединение;

Соединение.

Селекция (selected_on – подвергнутые селекции по) уменьшает количество строк в таблице, и ее можно представить как результат разрезания таблицы по горизонтали и удаления ненужных кортежей. Формально селекция записывается так:

R selected_on [<предикат>] {синтаксис языка запросов (SQL)}

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

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

Проекция (projected_to – спроецированное на) уменьшает количество столбцов в таблице; данную операцию можно представить себе как разрезание по вертикали название операции имеет своим источником понятие проекции множества точек N-мерного пространства в пространство с меньшим количеством измерений. Например, в результате проекции множества точек плоскости (Х,У) на ось Х получается множество точек, расположенных на этой оси. К сожалению, значения проекций некоторых “точек” могут совпадать; это произойдет в том случае, когда проекция удалит столбец, входящий в ключ, так что оставшиеся части двух “укороченных” кортежей могут быть идентичными. Тогда придется удалить дубликаты и тем самым уменьшить количество строк, т.е. размер БД. Если хотя бы один из возможных ключей при выполнении проекции останется незатронутым, то дубликатов не будет.

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

R projected_to <имя-атрибута>{, <имя-атрибута>}

Где список <имен-атрибутов> означает имена сохраняемых столбцов.

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

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

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

Соединение (joined_to – соединение с) имеет два операнда; она определена для любых двух таблиц. Если эти две таблицы не имеют столбцов с совпадающими именами, то соединение ведет себя, как декартово произведение, соединяя каждую строку первой таблицы поочередно с каждой строкой второй таблицы. Если имена всех столбцов этих двух таблиц совпадают, то соединение ведет себя как теоретико-множественное пересечение, и создает таблицу, состоящую из тех строк, которые встречаются в каждой из рассматриваемых двух таблиц (такая таблица может быть и пустой, аналогично пустому множеству). Если у двух таблиц-операндов совпадают лишь некоторые имена столбцов, то в результате соединения получается таблица, содержащая все имена столбцов первой таблицы, а также все те имена столбцов второй таблицы, которые не встретились в первой. Строки результата выбираются из первой таблицы, а дополнительные значения конкатенируются (присоединяются) из тех строк второй таблицы, у которых значения в общих столбцах совпадают. До некоторой степени соединения является дополнением проекции, если осуществить проекцию “исходного” отношения так, чтобы получился набор отношений, каждое из которых сохраняет первичный ключ исходного, то соединение этого отношения восстановит исходное при дополнительном условии, что каждый столбец исходного отношения встречается хотя бы в одной из проекций.

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

Операция соединения больше всего соответствует операции “селективной выборки”, при выполнении которой список ключей представлен в виде записей в файле транзакций [19], и требуется выбрать или записать в выходной файл соответствующие записи из основного файла. Ключи в файле транзакций могут совпадать, например, с посторонним ключом в основном файле или же с частью первичного ключа, и в этих случаях для каждой записи в файле транзакций  может быть выбрано несколько записей из основного файла. Таким образом, используется соединение как обобщенное пересечение [20].

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

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

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

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

Современные средства разработки характеризуются следующими параметрами:

  •  поддержка объектно-ориентированного стиля программирования;
    •  возможность использования CASE-технологий, как для проектирования разрабатываемой системы, так и для разработки моделей реляционных баз данных;
    •  использование визуальных компонент для наглядного проектирования интерфейса;
    •  поддержка БД;
    •  возможность использования алгоритмов реляционной алгебры для управления реляционными базами данных;
    •  возможность синхронизации составных частей проекта (предоставляется при разработке больших программных комплексов).

Вышеперечисленными свойствами обладают языки программирования, например: Delphi, Visual C++, Borland С++ Biulder, Visual FoxPro  и другие.

Каждое из этих средств содержит весь спектр современного инструментария, который был перечислен ранее. Главное отличие состоит в области использования рассматриваемых средств. Так Visual C++ обычно используется при разработке приложений предназначенных для работы с ОС Windows, использующих основные свойства ОС [1], а так же  выполняющих большое количество вычислений.[12] Одним из недостатков данного средства разработки приложений является высокое требование к аппаратным ресурсам при разработке программного обеспечения, недостаточно высокая скорость компиляции программного кода и при реализации конечного продукта (ПО), используя этот продукт необходимо большее дисковое пространство, чем при создании аналогичного ПО другими средствами разработки. Borland С++ Biulder  по своим недостаткам аналогичен Visual C++, но обладает еще одним – разработка баз данных на базе языка SQL и их поддержка ограничена. Система разработки Visual FoxPro предъявляет наименьшие требования к системным ресурсам, но ее применение ограничено неудобством в визуальном создании интерфейса разрабатываемого приложения. Недостатком Delphi состоит в том, что при его использовании нет достаточного доступа к функциям ОС, но данный недостаток несущественен, поскольку разрабатываемое приложение ориентировано на поддержку БД, а не на работу с ОС. Немалое значение при выборе Delphi в качестве средства для разработки информационной системы играет возможность использования большого количества встроенных визуальных компонент, как для разработки интерфейса, так и для создания СУБД.

При создании программного продукта автоматизированной информационной системой “Управление поставками” главным критерием выбора программных средств разработки являлись:

  •  скорость разработки приложений;
    •  возможность быстрого внесения изменений в программу;
    •  возможность редактирования и просмотра БД, используя средства разработки.

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

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

  •  Наличие опыта разработки с использованием данного программного продукта;
    •  Требования  по ресурсам;
    •  Поддержка операционной системы;
    •  Наглядность разработки интерфейса;
    •  Предоставляемые возможности работы с базами данных;
    •  Доступность;
    •  Скорость работы разработанного программного обеспечения;
    •  Обработка исключительных ситуаций;
    •  Время создания разработанного программного обеспечения;
    •   Удобство эксплуатации;

Для вышеперечисленных средств для разработки АСИС воспользуемся методом вариантных обоснований. Этот метод предназначен для выбора наилучшего варианта из нескольких предложенных и состоит из следующих этапов:

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

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

Результаты приведены в таблице 9.

Таблица 9

Средство разработки

Характеристика средств разработки

Access

Visual C++

Borland C++ Buielder

Visual FoxPro

Наличие опыта разработки с использованием данного программного продукта;

8

6

4

4

Требования  по ресурсам;

7

6

6

5

Поддержка операционной системы;

8

8

8

7

Наглядность разработки интерфейса;

9

7

8

5

Предоставляемые возможности работы с базами данных;

8

6

4

7

Скорость работы разработанного программного обеспечения;

6

7

8

7

Обработка исключительных ситуаций;

8

8

8

6

Время создания разработанного программного обеспечения;

9

6

5

7

Удобство эксплуатации;

7

8

8

7

Всего:

70

62

60

56

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

Используя выбранный инструмент можно создавать приложения для MS Windows95/98/NT с минимальными затратами времени, т.к. в её основе лежит концепция быстрого создания приложений (RAD).

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

Визуальная технология разработки схемы базы и встроенная система программирования – позволяют быстро создавать приложения путём размещения в форме стандартных компонентов. При этом соответствующий код программы автоматически генерируется в Visual Basic for Application. Такая технология освобождает разработчика от рутинной работы по созданию пользовательского интерфейса и позволяет уделить больше внимания внутренней организации данных и обработке данных.

Access, как СУБД, полностью ориентирован на реляционную модель данных и имеет встроенный язык запросов к базам данных SQL  (Structured Query Language).

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

  1.  Описание  программного продукта

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

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

Рис.3.1. Последовательность экранных форм

После запуска окно программы выглядит следующим образом

Рис.3.2. Главное окно программы

Схема данных построенной базы изображена на рис. 3.3.

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

Структура отчетов, где главной формой является форма "Отчеты", представлена отдельно на диаграмме "иерархия отчетов" (рис.3.4).

Рис.3.4  Иерархия отчетов

Разработанные таблицы, запросы, формы, отчеты и макросы находятся в единой базе данных, которая находится в файле MS Access "Ткани".

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

1) Форма "Поставки" и "Подчиненная форма поставки".

Запрос "Поставки!" (таблицы: поставщики, поставки, артикул):

SELECT Артикул.*, Поставки.*, Поставщики.*

FROM    Поставщики INNER JOIN (Артикул INNER JOIN Поставки ON Артикул.Код = Поставки.[Код артикула]) ON Поставщики.Код= Поставки.[Код поставщика];

2) Отчет "Поставки по поставщикам".

Запрос "Поставки по поставщикам" (таблицы: поставщики, поставки, артикул):

SELECT    Поставщики.Фирма, Артикул.* Поставки.*, Зит([Поставки]![Цена за метр]*[Поставки]![Кол-во метров]) AS Затраты

FROM       Поставщики INNER JOIN (Артикул INNER JOIN Поставки ON Артикул.Код = Поставки.[Код артикула]) ON Поставщики.Код = Поставки.[Код поставщика]

GROUP BY Поставщики.Фирма, Артикул.*, Поставки.* HAVING    (((Поставки.[Код поставщика])=[Роггп5]![Выбор поставщика]![ПолеСоСпискомО]));

3) Отчет "Поставки по дате".

Запрос "Поставки по дате" (Запрос "Поставки!"):

SELECT    Поставки1.*, Зит([Поставки1]![Цена за метр]*[Поставки1]![Кол-во метров]) AS Затраты

FROM       Поставки 1

GROUP BY Поставки!.* HAVING    (((Поставки! .[Дата поставки])=[Введите дату поставки]));

4) Отчет "Поставки за период времени".

Запрос "Поставки за период времени" (Запрос "Поставки!"):

SELECT    Поставки! .* Зит([Поставки!]![Цена за метр]*[Поставки!]![Кол-во метров])

AS Затраты FROM       Поставки!

GROUP BY Поставки!.*

HAVING    (((Поставки!.[Дата поставки])>=[Введите начало периода времени] And (Поставки!.[Дата поставки])<=[Введите конец периода времени]));

5) Поиск поставщика по комбинированным полям "Название ткани" и "Название города" осуществляются по запросу " Поставщик по ткани и городу" (таблицы: города, поставщики, поставки, артикул, ткань):

SELECT Ткань.[Название ткани], Города.Город, Поставщики.Фирма, Поставки.*

FROM   (Города INNER JOIN Поставщики ON Города.Код = Поставщики.[Код города]) INNER JOIN ((Ткань INNER JOIN Артикул ON Ткань.Код = Артикул.[Код наименования ткани]) INNER JOIN Поставки ON Артикул.Код = Поставки.[Код артикула]) ON Поставщики.Код = Поставки.[Код поставщика]

WHERE (((Артикул.[Код наименования ткани])=[Рогт5]![Поиск по полям]![ПолеСоСпискомО]) AND ((Поставщики.[Код города])=[Роггп5]![Поиск по полям]![ПолеСоСписком2]));

6) Отчет "Поставки по поставщикам и дате".

Запрос "Поставки по поставщикам и дате" (таблицы: артикул, поставки, поставщики):

SELECT    Поставщики.Фирма, Артикул.*, Поставки.*, Зит([Поставки]![Цена за метр]*[Поставки]![Кол-во метров]) AS Затраты

FROM       Поставщики INNER JOIN (Артикул INNER JOIN Поставки ON Артикул.Код = Поставки.[Код артикула]) ON Поставщики.Код = Поставки.[Код поставщика]

GROUP BY Поставщики.Фирма, Артикул.*, Поставки.* HAVING    (((Поставки.[Дата поставки])=[Введите дату поставки]) AND ((Поставки.[Код поставщика])=[Рогт5]![Выбор поставщика] ![ПолеСоСпискомО]));

7) Запрос "Самые надежные поставщики" (таблица "поставщики"):

SELECT Поставщики.*

FROM   Поставщики

WHERE (((Поставщики.Статус)="Хороший (10 баллов)"));

  1.  Тестирование

Надежность программного обеспечения (ПО) есть вероятность его работы без отказов в течении определенного периода времени, рассчитанная с учетом стоимости для пользователя каждого отказа [9] . Надежность программного обеспечения как определяющий элемент его качества закладывается на этапе разработки и проектирования, реализуется на этапе реализации ПО [11]. Выбор критериев, которыми должна определятся надежность ПО, отыскание оптимальной по отношению к этим критериям его структуры, выбор режима работы ПО – вот далеко не полный перечень  тех проблем,  которые должны быть решены на этапе создания и реализации ПО до его эксплуатации. Поэтому для обеспечения надежности ПО зачастую используют такие термины, как доказательство, тестирование, отладка, контроль и испытание, которые часто используются как синонимы, поэтому приведём эти определения:

  •  Тестирование (testing) - процесс выполнения программы или части программы, с намерением или целью найти ошибки;
    •  Доказательство (proof) - попытка найти ошибки в программе безотносительно к внешней для программы среде. Большинство методов доказательства предполагает формулировку утверждений о поведении программы и затем вывод и доказательство математических теорем о правильности программы.
    •  Контроль (verification) -  попытка найти ошибки в тестовой, или моделируемой среде;
    •  Испытание (validation) - попытка найти ошибки, выполняя программу в заданной реальной среде;
    •  Аттестация (certification) - авторитетное подтверждение правильности программы. При тестировании с целью аттестации выполняется сравнение с некоторыми заранее определённым стандартом;
    •  Отладка (debugging) не является разновидностью тестирования. Хотя “отладка” и “тестирование” часто используются как синонимы, под ними подразумеваются разные виды деятельности. Тестирование – деятельность, направленная на обнаружение ошибок; отладка направлена на установление точной природы известной ошибки.

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

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

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

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

Комплексное тестирование – процесс поисков несоответствия системы ее исходным целям [11]. Это наиболее творческий из всех видов тестирования. Оно состоит из следующих шагов:

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

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

  •  Тестирование объёма. В то время как при тестировании стрессов делается попытка подвергнуть систему серьёзным нагрузкам в короткий интервал времени, тестирование объема представляет собой попытку предъявить системе большие объёмы данных  (максимальный объм базы данных, 2 Мб) в течение более длительного времени.

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

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

При работе с разными типами накопителей данных (НГМД, НЖМД)  не было обнаружено ошибок, за исключением малой информативности ошибок возникающих при некорректной работе с НГМД.

  •  Тестирование защиты. Так как внимание к вопросам сохранения секретности в сегодняшнем  автоматизированном обществе возрастает, к большинству систем предъявляются определенные требования по обеспечению защиты от несанкционированного доступа. Цель тестирования защиты – нарушить секретность в системе.

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

  •  Тестирование производительности. Требования к производительности и эффективности (время ответа для различных нагрузок и различных конфигураций) – важная часть проектов систем. По сравнению с другими типами комплексного тестирования системы о тестировании производительности известно очень много, этой проблеме  посвящена монография[22].

Для проведения данного теста были использованы персональные компьютеры различной конфигурации (ЭВМ на базе Intel 486, Pentium 100, Cyrix 350). В результате проведения теста  была зафиксирована корректная  работы системы, но необходимо отметить, что работа на ПК на базе Intel 486 не рекомендуется, хотя и возможна.

На основание проведения вышеперечисленных тестов (см. приложение B, C) можно заключить, что:

  •  Созданная система выполняет все функции, указанные в ТЗ.
    •  При аварийном отключении сохраняет максимально возможное количество данных.
    •  Система способна работать на ПК различной конфигурации, в том числе и минимальной.
    •  Система отвечает поставленным требованиям по защите от несанкционированного доступа.
    •  Система корректно осуществляет свою работу при работе с большими объемами данных (при макимальном объеме БД – 2 Мб) и при большом количестве запросов(20 запросов).

В процессе работы была разработана тестовая база данных и набор тестов (см. приложение 2). Данные тесты предназначены для проверки работы системы при выполнении запросов из п. 5.2. С использованием данного набора тестов было проведено тестирование. Полученные результаты тестирования полностью совпали с ожидаемыми.


Заключение

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

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

2.  Разработанная система  позволяет достигнуть следующих эффектов:

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

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

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


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

  1.  Рихтер Джеффри  “Windows для профессионалов”, С-П. Русская редакция 1995.
  2.  Пеньков Е.Г. “Организация учета в материально-техническом снабжении”, Финансы, М. 1973
  3.  Голда З.К. “Организация и планирование материально-технического снабжения предприятий и организаций местного хозяйства” М. 1970
  4.  Лифшиц Н.И., Левин Е.Т  “Механизация и автоматизация процессов отборки и комплектования заказов на складах” М., 1970
  5.  А.А. Бакаев, В.И. Гриценко, Д.Н. Козлов “Методы организации и обработки баз знаний” Наукова думка, Киев 1993
  6.  Л.В. Кокорева, О.Л. Перевозчикова “Диалоговые системы и представление знаний” М., 1995
  7.  С.П. Павлов, З.И. Губонина “Охрана труда в приборостроении” М., 1986
  8.  А.О. Навакатикян, В.В. Кальнищ “Охрана труда пользователей компьютерных видеодисплейных терминалов” Киев 1997
  9.  Г. Майерс “Надежность ПО” Мир, М., 1980
  10.  Г. Майерс “Искусство тестирования программ” Финансы и статистика М., 1982
  11.  К.Г. Гусев М.Ф. Бабаков “Oсновы теории надежности учебное пособие” ХАИ 1975.
  12.  Бронин Е.И. “Принципы построения и архитектура САПР”
  13.  Цветков В.Д. “Системно-структурное моделирование и автоматизация проектирования”;
  14.  Мартин Дж. “Организация баз данных в вычислительных системах”;
  15.  Дантеманн Дж. “Программирование в среде Delphi”
  16.  Сван. Т Delphi 4. “Библия разработчика”
  17.  Хендерсон К. “Руководство разработчика баз данных”
  18.  Грого П. “Программирование на языке Паскаль”
  19.  Ю.Х. Вермишев “Основы автоматизации проектирования”
  20.  П.Грэй “Логика, алгебра, и БД.”
  21.  Драммонд Д. “Методы оценки и измерений дискретных вычислительных  cистем”.  Пер. с англ. – М:Мир 1976.
  22.  Brown A. R. “Programm Debugging” London: MacDonald 1973.
  23.  Гради Буч. “Объектно-ориентированный анализ и проектирование.”       М.: Издательство Бином
  24.  Бойко В.В., Савинков В.М. “Проектирование информационной базы  автоматизированной системы на основе СУБД.” М.: Финансы и  статистика, 1982.
  25.  Борзов Ю.В. “Методы тестирования и отладки программ ЭВМ.” Рига, ЛГУ им. П. Стучки, 1980.
  26.  Гудман С. “Введение в разработку и анализ алгоритмов.” М.: Мир, 1981.
  27.  Джексон Г. “Проектирование реляционных баз данных для использования с микро-ЭВМ” М.: Финансы и статистика, 1991.
  28.  Кобевник В.Ф. “Охрана труда.” – К.: Вища школа, 1990.


Приложение А 

Внешние спецификации (соглашения о требованиях).

Структура диалога

1. Главная кнопочная форма:

Название кнопки

Абстрактная диалоговая функция

К Поставщики

F Поставщики

К Поставки

F Поставки

К Артикул

F Артикул

К Отчеты

F Отчеты

К Выход

Р_Выход

При выполнении функци Р_Поставщики открывается диалоговая форма «Поставщики», где предоставлена полноя информация о поставщиках. Данная форма содержит следующие компоненты:

Название поля

Источник данных

П Фирма

Поставщик. Фирма

П Ф.И.О.

Поставщик. Ф.И.О.

П Адрес

Поставщик. Адрес

П_Код города

Поставщик. Код города

П Код страны

Поставщик. Код страны

П Телефон

Поставщик. Телефон

П_Факс

Поставщик. Факс

П E-mail

Поставщик. E-mail

П Статус

Поставщик. Статус

П Знание русского

Поставщик. Знание русского

П Примечания

Поставщик. Примечания

Название кнопки

Абстрактная диалоговая функция

К_Добавить город

Р_Добавить город

К_Добавить

Р_Добавить

К Удалить

Р_Удалить

К Поиск

F Поиск

К Поиск по ткани и городу

Р_Поиск по ткани и городу

К Самые надежные поставщики

Р_Самые надежные поставщики

К Выход

Р_Выход

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

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

Название поля 

Источник данных 

П Город 

Города. Город 

П Страна 

Города. Страна 

Название кнопки 

Абстрактная диалоговая функция 

К Новый город 

F Новый город 

К Новая страна 

Р_Новая страна 

К Выход 

Р_Выход 

Поля отображают названия уже имеющихся городов и стран соответственно. Функция Р_Новый город - добавление нового города в поле П_Город;

Функция Р_Новая страна открываед диалоговую форму "Новая страна" для добавления новой страны.

Название поля 

Источник данных 

П Страна 

Страны. Страна 

Название кнопки 

Абстрактная диалоговая функция 

К Новая страна 

F Новая страна 

К Выход 

Р_Выход 

Поле отображает названия уже имеющихся   стран. Функция   Р_Новая страна -добавление нового города в поле П_Страна.

При выполнении функци Р_Поиск по ткани и городу открывается диалоговая форма "Поиск по полям", предназначенная для поиска поставщика по комбинированным полям. Данная форма содержит следующие компоненты:

Название поля 

Источник данных 

П Название ткани 

Ткань. Название ткани 

П Название города 

Города. Город 

Название кнопки 

Абстрактная диалоговая функция 

К_3апрос 

F_3anpoc 

К Выход 

Р_Выход 

Название поля 

Источник данных 

П Название ткани 

Ткань. Название ткани 

П Название города 

Города. Город 

Название кнопки 

Абстрактная диалоговая функция 

К_3апрос 

F_3anpoc 

К Выход 

Р_Выход 

В поля   со списком П_Название ткани и П_Название города вводятся параметры поиска.

Функция Р_3апрос выводит на экран результаты запроса " Поставщик по ткани и городу".

При выполнении функци Р_Самые надежные поставщики на экране появляется таблица с самыми надежными поставщиками, сформированная по запросу "Самые надежные поставщики".

При выполнении функци Р_Поставки открывается диалоговая форма "Поставки" с подчиненной формой "Поставки подчиненная форма", где предоставлена полная информация о поставках. Данная форма содержит следующие компоненты:

Форма "Поставки"

Название поля

Источник данных

П Фирма

Поставщик. Фирма

П Ф.И.О.

Поставщик. Ф.И.О.

П Адрес

Поставщик. Адрес

П Код города

Поставщик. Код города

П Код страны

Поставщик. Код страны

П_Телефон

Поставщик. Телефон

П_Факс

Поставщик. Факс

H_E-mail

Поставщик. E-mail

П Статус

Поставщик. Статус

П Знание русского

Поставщик. Знание русского

П Примечания

Поставщик. Примечания

Название кнопки

Абстрактная диалоговая функция

К_->

F Следующая запись

К _<- 

Р_Предыдущая запись

К Поиск

F Поиск

К Поиск по ткани и городу

Р_Поиск по ткани и городу

К Выход

Р_Выход

Форма Поставки подчиненная

Название столбца 

Источник данных 

Номер артикула 

Артикул. Номер артикула 

Наименование ткани 

Артикул. Наименование ткани 

Тип ткани 

Артикул. Тип ткани 

Производитель 

Артикул. Производитель 

Цвет 

Поставки. Цвет 

Цена за погонный метр 

Поставки. Цена за погонный метр 

Кол-во метров 

Поставки. Кол-во метров 

Цата поставки 

Поставки. Дата поставки 

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

При выполнении функци Р_Артикул открывается диалоговая форма "Артикул", где предоставлена полноя информация об артикулах. Данная форма содержит следующие компоненты:

Название поля 

Источник данных 

П 

Номер артикула 

Артикул. Номер артикула 

П 

Наименование ткани 

Артикул. Наименование ткани 

П

Тип ткани 

Артикул. Тип ткани 

П 

Производитель 

Артикул. Производитель 

Название кнопки 

Абстрактная диалоговая функция 

К 

Новая ткань 

F Новая ткань 

К 

Новый производитель 

F Новый производитель 

К 

^Добавить 

Р_Добавить 

К 

Удалить 

F Удалить 

К

Поиск 

F Поиск 

К

Выход 

Р_Выход 

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

Функция Р_Новый производитель открывает диалоговую форму "Новый производитель" для добавления новой фирмы производителя. Данная форма содержит следующие компоненты:

Название поля 

Источник данных 

П 

Производитель 

Производитель. Производитель 

П 

Страна 

Производитель. Страна 

Название кнопки 

Абстрактная диалоговая функция 

К 

Новый производитель 

Р_Новый производитель 

К 

Новая страна 

F Новая страна 

К 

Выход 

Р_Выход 

Поля формы отображает уже имеющихся производителей.

Функция Р_Новый производитель - добавление нового производителя.

Поле формы отображает уже имеющиеся наименования тканей. Функция Р_Новая ткань - добавление новой ткани.

Функция Р_Новый тип ткани открывает диалоговую форму "Новый тип ткани" для добавления нового типа ткани. Данная форма содержит следующие компоненты:

Название поля 

Источник данных 

П 

Тип ткани 

Тип ткани. Тип ткани 

Название кнопки 

Абстрактная диалоговая функция 

К 

Новый тип ткани 

F Новый тип ткани 

к 

Выход 

Р_Выход 

Поле отображает уже имеющиеся типы тканей.

Функция Р_Новый тип ткани - добавление нового типа ткани.

При выполнении функци Р_Отчеты открывается кнопочная форма "Отчеты", которая содержит следующие кнопки:

Название кнопки

Абстрактная диалоговая функция

К Поставки по поставщикам

F Поставки по поставщикам

К Поставки по дате

F Поставки по дате

К Поставки по поставщикам и дате

F Поставки по поставщикам и дате

К Поставки за период времени

F Поставки за период времени

К Выход

Р_Выход

Функция Р_Поставки по поставщикам открывает диалоговую форму «Выбор поставщика»

Название поля

Источник данных

П Фирма

Поставщики. Фирма

Название кнопки

Абстрактная диалоговая функция

К Поставки по поставщикам

F Поставки по поставщикам

К Поставки по поставщикам и дате

Р_Поставки по поставщикам и дате

В поле со списком П_Фирма выбирается название фирмы поставщика.

Функция Р_Поставки по поставщикам выдает на экран отчет поставок поставщика,

выбранного из поля со списком П_Фирма.

Функция Р_Поставки по поставщикам и дате выдает на экран отчет поставок поставщика, выбранного из поля со списком П_Фирма, по определенной дате поставки.

Функция Р_Поставки по дате выдает на экран отчет поставок по определенной дате поставки.

Функция Р_Поставки по поставщикам и дате аналогична описанному выше.

Функция Р_Поставки за период времени выдает на экран отчет поставок за определенный период времени.

Функции:

Р_Следующая запись - отображение следующей записи; Р_Предыдущая запись - отображение предыдущей записи;

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


Приложение Б 

Набор тестов

Тестовая база данных содержит следующие данные:

Поставщики:

Фирма

ФИО

Адрес

Код города

Код

страны

Телефон

Факс

Статус

Разия Текстиль

Мурли

Гуадри

Дейра Дубай

О.А.Э.

25-02-05

252155

Посредственный

(6-7)

Раджханс Трейдинг

Ариш

Текстиль

Дейра Дубай

О.А.Э.

26-20-44

256162

Хороший

(10 баллов) 

New year fashion

Жонни

Сук Аль

Дейра Дубай

О.А.Э.

24-02-30

530081

Не очень хороший

(4-5

Kabul textiles

Шура 

Textile

Дейра Дубай 

О.А.Э.

53-66-79

531283

Не очень хороший

(4-5

Артикул;

Номер

артикула

Код наименования

ткани

Код

типа ткани

Код

производителя

1

Бархат 

Бархат 

Стартепс 

2

Пан Бархат 

Бархат 

Стартепс 

3

Стрейч Бархат 

Бархат 

Стартепс 

4

Бархат на шифоне 

Бархат 

Стартепс 

5

Пан Бархат на шифоне 

Бархат 

Юниверсал 

Тест 1 (работа запроса "Поставщик по ткани и городу"): 1) Нажать кнопку [Поставщики], откроется диалоговая форма "Поставщики"; 2) Нажать кнопку [Поиск по ткани и городу], откроется диалоговая форма "Поиск по полям"; 3) Выбрать из списков параметры поиска поставщика. Например, название ткани "Пан бархат", название города "Дейра Дубай"; 4) Нажать кнопку [Запрос] ; Ожидаемый результат: На экране должна появиться таблица, сформированная по запросу "Поставщик по ткани и городу", где содержится результат поиска поставщиков по заданной ткани и городу. Например, ткань "Пан Бархат" и город "Дейра Дубай": поставщик "Разия текстиль", дата поставки "23.12.99", цена за метр "50р.", цвет ткани "Синий". Полученный результат:

Название ткани

Город

Фирма

Дата

поставки

Цена за метр

Цвет ткани

Пан Бархат

Дейра Дубай

Разия Текстиль

23.12.04

50грн.

Синий 

Тест 2 (работа запроса "Поставки по дате"):

Нажать кнопку [Отчеты], откроется кнопочная форма "Отчеты";

Нажать кнопку [Поставки по дате], откроется диалоговое окно "Введите значение параметра";

Ввести в поле данного окна дату поставки. Например, "23.12.04";

Нажать кнопку [ОК];

Ожидаемый результат:

На экране должен появиться отчет, сформированный по запросу "Поставки по дате", где содержится следующая информация: список поставок по указанной дате (номер артикула, ткань, тип ткани, производитель, цена за метр, кол-во метров, цвет ткани, фирма, затраты). В конце отчета выводится сумма всех затрат. Например, на "23.12.04" ИТОГО 3200грн.

Полученный результат:

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

Артикул

Ткань

Тип ткани

Произ-ль

Цена

Кол-во м.

Цвет

Фирма

Затраты

Стрейч Бархат 

Бархат 

Стартепс 

30грн

40 

Красный 

Раджханс Трейдинг 

1 200грн 

Пан Бархат 

Бархат 

Юниверсал 

50грн

40 

Синий 

Разия Текстиль 

2 000грн

ИТОГО 3200 грн

Тест 3 (работа запроса "Поставки по поставщикам"):

Нажать кнопку [Отчеты], откроется кнопочная форма "Отчеты";

Нажать кнопку [Поставки по поставщикам], откроется диалоговая форма "Выбор поставщика";

Выбрать из списка название фирмы поставщика. Например, "Раджханс Трейдинг";

Нажать кнопку [Поставки по поставщикам];

Ожидаемый результат:

На экране должен появиться отчет, сформированный по запросу "Поставки по поставщикам", где содержится следующая информация: список поставок по указанному поставщику (номер артикула, ткань, тип ткани, производитель, цена за метр, кол-во метров, цвет ткани, дата поставки, затраты). В конце отчета выводится сумма всех затрат. Например, поставщик "Раджханс Трейдинг" -ИТОГО 2950грн.

Полученный результат:

Фирма              Раджханс Трейдинг

Артикул

Ткань

Тип ткани

Произ-ль

Цена

Кол-во м.

Цвет

Дата

Затраты

Стрейч Бархат 

Бархат 

Стартепс 

30грн. 

40 

Красный 

23.12.04 

1 200р. 

Бархат на шифоне 

Бархат 

Юниверсал 

35грн. 

50 

Зеленый 

20.03.04

1 750р. 

ИТОГО                                2950 грн

Тест 4 (работа запроса "Поставки за период времени"):

Нажать кнопку [Отчеты], откроется кнопочная форма "Отчеты";

Нажать кнопку [Поставки за период времени], откроется первое диалоговое окно "Введите значение параметра";

Ввести в поле данного окна начало периода времени. Например, "31.12.04";

Нажать кнопку [ОК];

Откроется второе диалоговое окно "Введите значение параметра";

Ввести в поле данного окна конец периода времени. Например, "31.03.05";

Нажать кнопку [ОК];

Ожидаемый результат:

На экране должен появиться отчет, сформированный по запросу "Поставки за период времени", где содержится следующая информация: список поставок за указанный период времени (дата поставки, фирма, артикул, ткань, тип ткани, производитель, цена за метр, кол-во метров, цвет ткани, затраты). В конце отчета выводится сумма всех затрат. Например, на период с "31.12.04" по "31.03.05" ИТОГО 5500р.

Тест 5 (работа запроса "Поставки по поставщикам и дате"):

Нажать кнопку [Отчеты], откроется кнопочная форма "Отчеты";

Нажать кнопку [Поставки по поставщикам и дате], откроется диалоговая форма "Выбор поставщика";

Выбрать из списка название фирмы поставщика. Например, "Раджханс Трейдинг";

Нажать кнопку [Поставки по поставщикам и дате];

В появившееся диалоговое окно ввести дату поставки выбранного поставщика.

Нажать кнопку [ОК];

Ожидаемый результат:

На экране должен появиться отчет, сформированный по запросу "Поставки по поставщикам и дате", где содержится следующая информация: список поставок по указанному поставщику и дате поставки (номер артикула, ткань, тип ткани, производитель, цена за метр, кол-во метров, цвет ткани, затраты). В конце отчета выводится сумма всех затрат. Например, поставщик "Раджханс Трейдинг", дата поставки "20.03.05" - ИТОГО 1750грн.


 

А также другие работы, которые могут Вас заинтересовать

28641. Основные задачи обработки файлов 100 KB
  К числу таких задач мы отнесли:  создание файла т. ввод данных в новый или в существующий файл;  анализ файла т. просмотр чтение всего содержимого файла и вычисление некоторых интегральных характеристик или показателей этого содержимого;  сортировка файла предполагающая упорядочение записей файла по заданному логическому критерию зависящему от содержания записей;  коррекция файла т. изменение содержимого файла либо путем обновления записей либо коррекции по некоторым глобальным критериям например удаление лишних записей;  поиск...
28642. Использование указателей для представления динамически структур данных 59 KB
  Оригинальные функции для ASCIIZ-строк включают функции сравнения строк (с учётом или без учёта регистра символа), инициализации строки, стирания строки, определения вхождения символа в строку (первого или последнего вхождения), специальные функции копирования и некоторые другие. Работа с этими функциями требует некоторых знаний механизма указателей.
28643. Развитие феодальной раздробленности и ослабление Золотой Орды 13.79 KB
  Развитие феодальных отношений в Древнерусском госве укрепление вотчинной земельной собствти сосредоточение в руках верхушки феодалов все большего объема полит. к окончательному распаду раннефеодального Древнерусского госува на отдельные земли самостоятельные княжества. Постепенно из состава госва выделилось и образовалось 12 княжеств в дальнейшем дробление продолжалось к нач.часть – ПольскоЛитовскому госву вост.
28644. Развитие права и первый общерусский сборник 1497 г 13.52 KB
  Первым кодифицированным актом является Судебник Ивана III 1497 г. Судебник составлен дьяком Владимиром Гусевым одобрен царем и Боярской думой. В отличие от РП котя содержала обычные нормы и судебные прецеденты и была своеобразным справочником для поиска правды Судебник уделяет основное внимание организации судебного процесса – суда. Судебник регулирует земельные отношения котые характся полным исчезновением самостоятой собствти общины на землю и оформлением вотчинного и поместного землевладения.
28645. Причины усиления закрепощения в 15-16 вв. Введение Юрьева дня. Заповедные и урочные лета. Полное закрепощение холопов в 15-16 вв. 12.88 KB
  Период сословнопредставительской монархии который в свою очередь является периодом развитого феодализма характеризуется одним из наиболее важных событий в этой сфере – полным закрепощением крестьян. Этому способствовало укрепление государственного аппарата создание специальных органов Разбойный приказ губные избы по борьбе с беглыми крестьянами лихими людьми. В Юрьев День крестьяне свободно могли оставить землю на которой они проживали ранее и перейти к другому землевладельцу уплатив прежнему хозяину долги и пошлину за пользование...
28646. Московское княжество – центр формирования великорусской народности. Расширение его территории 14.21 KB
  Московское княжество – центр формирования великорусской народности. Центром объединения стало Моск. моск. В Моск.
28647. Предпосылки образования централизованного Российского государства 12.28 KB
  Предпосылки: 1экономические – к началу 14 в на Руси постепенно после татаромонг. 2 социальные к концу 14 в уже полностью стабилизировалась экая обстановка на Руси. задача Руси заключалась в необхти свергнуть татаромонг. Восстановление независимости Руси требовало всеобщего объединения против единого врага: монгол – с юга Литвы и Шведов – с запада.
28648. Возникновение и развитие приказов и воеводского управления в России. Дворянские реформы второй половины XVI в. (судебная, губная, земская, военная) 13.16 KB
  Начиная с конца 15 в стали возникать новые органы госва – приказы постоянно действовавшие учреждения имевшие значитно более четкую компетенцию по сравню с прежними: боярская Дума феодальные съезды. Губная – избы были созданы как карательные органы коте ведали борьбой с разбойниками татями убийцами поджигателями сыском бедных на них возлагался сбор податей перепись населения ведение губной тюрьмой и др. Земская – в резте были созданы органы земского самоупря из лучших людей их компетенция распрострсь только на посадских и...
28649. Борьба с Речью Посполитой и воссоединение Украины с Россией. Правовой статус Украины в составе России 12.44 KB
  Борьба с Речью Посполитой и воссоединение Украины с Россией. Правовой статус Украины в составе России. Воссоединение Украины с Россией событие во время котго Запорожское казачье Войско перешло в подданство русского Царя в 1654 г. Взаимоотношения Украины с центральным правительством во многом зависели от гетмана.