Cоздание автоматизированной системы управления торгового предприятия

 

Содержание


Введение

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

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

1.1.1 Понятие торговли

1.1.2 Понятие оптовая торговля

1.1.3 Воздействие оптовой торговли на промышленность и розничную торговлю

1.1.4 Виды и формы оптового товарооборота

1.2 Обзор других подобных информационных систем

1.3 Постановка задачи

2. Выбор инструментальных средств

2.1 СУБД InterBase Server 6.0

2.1.1 Клиент-Сервер12

2.1.2 InterBase Server 6.0 (IB)

2.1.3 Язык SQL

2.1.4 Технология InterBase Express(IBX)

2.2 С++ Bilder 6.0

2.3 Rational Rose

2.4 EMS InterBase/FireBird Meneger

3. Разработка проекта

3.1 Определение требований к системе

3.2 Анализ данных

3.3 Проектирование системы

3.3.1 Проектирование БД

3.3.1.1 Принципы проектирования БД

3.3.1.2 Логическая структура баз данных

3.4 Проектирование программы

3.4.1 Принципы проектирования программы

3.4.2 Описание модульной структуры программной системы

3.5 Реализация

3.5.1 Выбор системы программирования

3.5.2 Реализация БД (физическое проектирование)

4 Описание системы ТИС

4.1 Описание технологической базы

4.2 Описание программы ТИС

4.3 Руководство для пользователя

5 Организационно - экономическая часть

5.1 Введение

5.2 Расчёт затрат

5.3 Расчёт расходов

5.4 Расчет цены продукта

5.5 Расчёт показателей рентабельности

5.6 График безубыточности

5.7 Выводы

6. Охрана труда и окружающей среды

6.1 Введение

6.2 Анализ условий труда

6.3 Мероприятия по защите от вредных и опасных факторов

6.4 Пожарная безопасность

6.5 Охрана окружающей среды

6.6 Расчет потребляемого количества воздуха при общественной вентиляции

6.6.1 Расчет выделения тепла

6.6.2 Расчет необходимого воздухообмена

Заключение

Литература

Приложение A

Приложение B


Введение

информационный учет торговый программа

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

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

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

Целью дипломной работы является создание автоматизированной системы управления торгового предприятия.

В результате проведенной работы будут рассмотрены следующие проблемы:

Внутренний механизм взаимодействия сотрудников фирмы;

Механизм взаимодействия фирмы с ее клиентами;

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

механизм функционирования процесса закупок товаров.


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


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


.1.1 Понятие торговли

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

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

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

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

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

Миссия торговли (предназначение):

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

Удовлетворение разнообразных потребительских запросов на рынке.

Формирование и совершенствование торгового предложения.

Организация рыночного ценообразования.

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

Сущность торговли и ее миссия реализуется через функции:

Доведение товара до потребителя:

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

изучение и формирование спроса населения;

преобразование производственного ассортимента в торговый;

организация и осуществление транспортировки (перевозки) товаров;

фасовка товаров (подсортировка, подготовка к продажи);

упаковка товаров;

хранение товаров;

Продажа товара, процесс обмена денег на товар:

осуществление денежных операций;

рекламная деятельность;

продажа товара потребителю (взвешивание, демонстрация, дегустация, примерка);

обслуживание, до, во время, и после продажи товара;

Роль и значение торговли:

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

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

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

Торговля важное звено в осуществлении распределения по труду.

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

Торговля способствует рациональному денежному обращению.

Торговля является плательщиком налогов и поэтому участвует в формировании государственных доходов.

Торговля активно влияет на народное потребление, определяя набор потребительских благ, их качество и влияя на способ потребления.

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

Торговля стимулирует прогресс в сфере производства и потребления.

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


1.1.2 Понятие оптовая торговля

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

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

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


1.1.3 Воздействие оптовой торговли на промышленность и розничную торговлю

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

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

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

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

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

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

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

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

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

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

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


1.1.4 Виды и формы оптового товарооборота

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

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

Различают первичный оптовый оборот - это продажа товаров промышленными предприятиями непосредственно розничной торговле и оптовым предприятием, и посреднический оборот - это продажа товара оптовыми предприятиями - розничным.

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

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

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

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

Мелкий оптовый товарооборот образуется на оптовых базах у низовых оптовых предприятий.

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

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

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

Межреспубликанский товарооборот охватывает продажу товаров за пределы республики на основе свободной купли-продажи.

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

Сумма трех видов оптового товарооборота составляет валовой оптовый товарооборот.

Оптовый товарооборот по каждому из трех видов подразделяется на две формы:

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

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

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

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

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


.2 Обзор других подобных информационных систем


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

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

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

Компактная информационная система "СФЕРА" Екатеринбург

"Сфера"[4] - управленческая система, а не бухгалтерская программа. В ней есть вся необходимая для бизнеса информация - отчеты для собственников, руководителей высшего и среднего звена, маркетологов, логистов. "Сфера" построена всего на 4 документах, поэтому информация хранится в компактном виде, быстро обрабатывается, легко собирается.

Торгово - Информационная Система "ТИС" Москваоргово - Информационная Система ТИС [5] предназначена для автоматизации торговых предприятий со структурой любой степени сложности.

ТАИС-АЛКО Москва

ТАИС-АЛКО - это специализированная комплексная система учета и контроля торговым предприятием. Система состоит из трех основных подсистем: "Управление товародвижением", "Бухгалтерский учет", "Анализ эффективности продаж". Система поддерживает процессы различные виды оптовой торговли: оптовые поставки с доставкой, мелкооптовые поставки.

"Интеллект-Сервис" ИС-ПРО ОПТОВАЯ ТОРГОВЛЯ Киев

Система ИС-ПРО [6] обеспечивает комплексную автоматизацию бизнес-процессов предприятий. Основными механизмами управления предприятием является планирование и оптимальное управление производственным процессом.

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

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

Бесплатных подобных программ не было обнаружено.


.3 Постановка задачи


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

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

Мой дипломный проект называется Торговая Информационная Система. В дальнейшем он будет упамянаться сокращением ТИС.

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

Система ТИС будет обеспечивать:

Учет материалов и контроль над ними на фирме;

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

Контроль над сотрудниками;

Поддержание оптимальных запасов материалов в складах;

Предоставление информации руководителям фирмы о состоянии фирмы.

Система ТИС будет являться многопользовательской системой. Она будет иметь пять ролей:

Роль «Администратор»;

Роль «Кассир»;

Роль «Менеджер по продажам»;

Роль «Менеджер по покупкам»;

Роль «Менеджер склада».

Данная система должна представлять собой приложение, основанное на технологии клиент-сервер.

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


2. Выбор инструментальных средств


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

InterBase Server 6.0 в качестве системы управления нашими базами данных;

C++Builder 6.0 в качестве языка, реализации клиентского приложения;

Rational Rose в качестве средства проектирования дипломного проекта;

EMS InterBase/FireBird Meneger в качестве средства проектирования БД для сервера InterBase.

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


.1 СУБД InterBase Server 6.0


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


.1.1 Клиент-Сервер

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

СЕРВЕР - оптимально управляет информационной базой данных для множества клиентов, эффективно защищает базу данных, создает резервные копии и следит за целостностью данных;

КЛИЕНТ, запрашивая информацию у сервера, предоставляет интерфейс пользователю в виде форм ввода, отчетов или графиков;

СЕТЬ передает данные между клиентом и сервером по локальной сети или через модем по телефонной сети, или через Internet.

Технология КЛИЕНТ-СЕРВЕР позволяет оптимально использовать ресурсы сети компьютеров, позволяет легко заменять любой из узлов системы, а также легко подключать новых пользователей.


.1.2 InterBase Server 6.0 (IB)

Система управления базами данных (СУБД) InterBase - это одна из ведущих систем в мире по решению задач управления информацией.обеспечивает следующее:поддерживает базы данных сколь угодно большого размера;поддерживает любое число одновременно работающих пользователей;обеспечивает высокий уровень производительности;может работать 24 часа в сутки 7 дней в неделю, не требуя остановок на системные работы и регламентное обслуживание;может избирательно контролировать доступ к данным на уровне базы данных и на уровне ее объектов;поддерживает все принятые стандарты: второй уровень стандарта ANSI/ISO SQL89 национального института стандартов и технологий США, стандарт FIPS127-1 правительства США, занесен Национальным институтом по компьютерной защите (NCSC) в "оранжевую" книгу, как полностью удовлетворяющий требованиям критериев защиты;защищает данные от несанкционированного доступа и некорректного использования;обеспечивает логическую целостность данных на уровне базы данных, а не в приложениях рабочих станций;позволяет разделить обработку между серверами базы данных и клиентскими программами;позволяет распределить системы баз данных по нескольким серверам;

Программное обеспечение InterBase переносимо с одной операционной системы на другую;

Приложения для InterBase могут работать на любой операционной системе.


.1.3 Язык SQLявляется инструментом, предназначенным для обработки и чтения данных, содержащихся в компьютерной базе данных. SQL - это сокращенное название структурированного языка запросов (Structured Query Language). Как следует из названия, SQL является языком программирования, который применяется для организации взаимодействия пользователя с базой данных. На самом деле SQL работает только с базами данных одного определенного типа, называемых реляционными. На рисунке1 изображена схема работы SQL.


Рисунок 1 - Применение SQL для доступа к базе данных


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

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

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

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

Чтение данных. SQL дает пользователю или приложению возможность читать из базы данных содержащиеся в ней данные и пользоваться ими.

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

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

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

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

Таким образом, SQL является достаточно мощным языком для взаимодействия с СУБД.

Во-вторых, SQL - это не полноценный компьютерный язык типа COBOL, FORTRAN или С. В SQL нет оператора IF для проверки условий, нет оператора GOTO для организации переходов и нет операторов DO или FOR для создания циклов. SQL является подъязыком баз данных, в который входит около тридцати операторов, предназначенных для управления базами данных. Операторы SQL встраиваются в базовый язык, например COBOL, FORTRAN или С, и дают возможность получать доступ к базам данных. Кроме того, из такого языка, как С, операторы SQL можно посылать СУБД в явном виде, используя интерфейс вызовов функций.

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

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


.1.4 Технология InterBase Express(IBX)- это набор компонент для Delphi и C++Builder, позволяющий работать с серверами IB 4.x, 5.x, 6.x напрямую [1]. Поддерживает диалекты 1-3 для IB 6. Содержит компоненты Services API IB6, позволяющие управлять серверами IB, их параметрами, делать удаленный backup/restore, проверять базы данных и др. IBX "унаследован" от FreeIBComponents (FIBC), но кроме общих черт содержит массу design-time редакторов свойств, упрощающих выбор типов транзакций, параметров подсоединения, запросов и т.п.


.2 С++ Bilder 6.0


Шестая версия продукта Borland C++ Builder сегодня является наиболее совершенной визуальной средой быстрой разработки на Си++ для Windows. В ее состав входит около 200 самых разных компонентов, а создание законченной программы требует минимума усилий. Ближайший конкурент Borland C++Builder - это не система Microsoft Visual C++, которая построена по другой схеме и не является RAD-системой, a Microsoft Visual Basic, типичная среда разработки. Однако эффективность программ, создаваемых с помощью C++Builder, в десятки раз превосходит быстродействие программ, написанных на MS Visual Basic. Да и по числу свободных доступных компонентов равных среде C++Builder сегодня не найти. У этой системы есть родной брат - RAD-среда Borland Delphi, технология работы с которой полностью совпадает с технологией, принятой в C++Builder. Только в Delphi программный код пишется не на языке C++, а на языке программирования Паскаль, точнее на его объектно-ориентированной версии ObjectPascal. Но самое интересное, что Borland C++Builder позволяет писать программу при желании одновременно и на Си++, и на Паскале! ++ визуальная среда разработки.

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

При запуске программы открывается визуальной среды разработки (IDE) в начальном состоянии, которая состоит из четырех компонентов:

Панели управления.

Панели Инспектора объектов (Object Inspektor).

Визуального проектировщика рабочих окон (Форма).

Окна редактора программы.


Рисунок 1 - Панель управления.


Рисунок 2 - Панель Инспектора объектов (Object Inspektor).


Рисунок 3 - Визуальный проектировщик рабочих окон (Форма)


Рисунок 4 - Окно редактора программы


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

Панели просмотрщика классов (Class Exploler);

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

Основные компоненты С++ Builder.

Главное окно C++ Bilder (панель управления).

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

строка заголовка;

строка меню;

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

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


Рисунок 5 - Палитра компонентов


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

Кратко опишем области, охватываемые компонентами каждой панели:- стандартные элементы управления Windows;- дополнительные, нестандартные элементы управления Windows;- элементы управления Windows 9x;- системные объекты (таймер, музыкальный проигрыватель и другие);- все для приложений, работающих с Интернетом;Access - компоненты для организации связи с базами данных;Controls - управляющие элементы для работ с базами данных; - компоненты для доступа к данным на основе одной из самых передовых

на сегодняшний день Windows-технологии Microsoft ActiveX Data Objects (ADO);- компоненты для работы с СУБД InterBase производства корпорации ;- компоненты для создания приложений, способных работать на нескольких компьютерах;и Internet - средства быстрого создания приложений для Интернета;- компоненты, поддерживающие основные сетевые протоколы, ориентированные на Интернет;Cube - компоненты системы анализа данных;- компоненты создания различных отчетов;- стандартные диалоговые окна Windows;3.1 - элементы управления Windows 3.1;- примеры компонентов, входящие в поставку системы;- ActiveX-компоненты (ActiveX - формат активных компонентов, разработанный фирмой Microsoft. Borland C++Builder 4 также поддерживает этот формат);- набор компонентов, с помощью которых можно управлять работой офисных программ Word, Excel, PowerPoint, Outlook и др.

Визуальный проектировщик рабочих форм

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

Инспектор объектов (Object Inspector)

Инспектор объектов - очень важная часть среды разработки. Он предназначен для задания свойств объектов и определения их реакции на различные события.

Свойства объектов

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

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

Окно редактора программы

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


.3 Rational Rose


Создание программного обеспечения - это очень сложный процесс, который состоит из нескольких этапов. Первым этапом создание программного обеспечения является проектирования программного обеспечения. Оно разрабатывается при помощи CASE средств. Мною был выбран продукт проектирования программного обеспечения - Rational Rose, основанный на концепции UML (Unified Modeling Language).Rose - мощное CASE-средство для проектирования программных систем любой сложности. Одним из достоинств этого программного продукта будет возможность использования диаграмм на языке UML. Можно сказать, что Rational Rose является графическим редактором UML диаграмм[7].

В распоряжение проектировщика системы Rational Rose предоставляет следующие типы диаграмм, последовательное создание которых позволяет получить полное представление о всей проектируемой системе и об отдельных ее компонентах :case diagram (диаграммы прецедентов); diagram (диаграммы топологии); diagram (диаграммы состояний); diagram (диаграммы активности); diagram (диаграммы взаимодействия); diagram (диаграммы последовательностей действий); diagram (диаграммы сотрудничества); diagram (диаграммы классов); diagram (диаграммы компонент). - это визуальный язык моделирования. UML можно использовать для моделирования. Это очень выразительный язык, позволяющий рассмотреть систему со всех точек зрения, имеющих отношение к ее разработке и последующему развертыванию. Несмотря на огромное количество выразительных возможностей, этот язык прост для понимания и использования.

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

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

Use case diagram (диаграммы сценариев)

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

Каждая такая диаграмма или, как ее обычно называют, каждый Use case - это описание сценария поведения, которому следуют действующие лица (Actors).

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

Диаграммы вариантов использования (use case diagrams) представляют собой графическое представление взаимодействия пользователя и компьютерной системы. Каждый вариант использования охватывает некоторую очевидную для пользователей функцию системы и решает некоторую дискретную задачу пользователя. Список всех вариантов использования фактически определяет функциональные требования к системе. Данные диаграммы состоят из вариантов использования и актеров (рисунок 6). Вариант использования иллюстрирует как можно использовать систему, а актер - это то, что взаимодействует с системой.


Рисунок 6 - диаграммы сценариев

diagram (диаграммы последовательностей действий)

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

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


Рисунок 7 - Диаграмма Последовательностей

diagram (диаграммы деятельностей)

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


Рисунок 8 - Диаграмма Деятельности

diagrams (Диаграммы Классов)

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


Рисунок 9 - Диаграмма Классов


.4 EMS InterBase/FireBird Meneger

InterBase/FireBird Meneger является программным обеспечением предназначенное для проектирования баз данных таких серверов как InterBase, FireBird. Так как я разрабатывал свою базу данных сервером InterBase, поэтому я использовал EMS InterBase/FireBird Meneger.

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


3. Разработка проекта


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


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

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

Система должна обеспечивать:

Учет материалов и контроль над ними на фирме;

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

Контроль над сотрудниками;

Поддержание оптимальных запасов материалов в складах;

Предоставление информации руководителям фирмы о состоянии фирмы (объем продаж, объем поставок).


.2 Анализ данных


После завершения этапа «Определение требований», в котором были определены требования к разрабатываемой системе, следует этап под названием «Анализ данных». Данный этап заключается в анализе данных, полученных в предыдущем этапе. На данном этапе создаётся аналитическая модель, которая способствует подведению к архитектуре будущей системы. Целью модели прецедентов было показать, как должна выглядеть система снаружи. Модель, разрабатываемая в данном этапе, преследует цель показать систему изнутри.

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

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

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


Рисунок 1 - Архитектура системы ТИС


Как видно из рисунка 1 система ТИС разбита на 5 ролей, каждая из которых имеет свой интерфейс, т.е. свои возможности и свои ограничения. Все роли взаимодействуют с базой данных. Проектирование БД а также описание всех ролей будут описана в разделе «Проектирование системы» .


.3 Проектирование системы


Для эффективного функционирования разрабатываемой ТИС первым делом будет спроектирована БД. Последующим этапом будет проектирование программы.

.3.1 Проектирование БД


.3.1.1 Принципы проектирования БД

В данном проекте выбрана реляционная модель данных как наиболее простая и соответствующая задаче. По [2]:

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

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

При составлении проекта придерживаемся следующего согласно [2]:

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

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

Каждое свойство представляем как поле в базовой таблице.

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

Проводим процедуру нормализации.

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

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


.3.1.2 Логическая структура баз данных

В соответствии со схемой из п.3.3.1.1 проведен разбор проекта текущей задачи.

Для построения логической модели данных использовалось case - средство EMS InterBase & FireBird Manager 3, которое позволяет проектировать реляционные модели данных как на логическом уровне, так и на физическом (проектирование таблиц БД).

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


Рисунок 2 - Логическая модель данных БД «ТИС»


Проведем разбор проекта текущей задачи:

Стержневые сущности:

Товар;

Единицы измерения товара;

Категории товаров;

Склад;

Список складов;

Вид сделок;

Пользователи программы;

Роли;

Продажа;

Клиент;

Категории клиентов;

Денежные обязательства клиентов;

Оплата долгов клиентов;

Заказ товара клиентом;

Касса;

Покупка;

Поставщик;

Денежные обязательства перед поставщиками;

Оплата долгов перед поставщиками;

Заказ товара у поставщика;

Недостающий товар;

Товар для заказа;

Каждая из сущностей имеет соответствующую таблицу. Следовательно, БД «ТИС» содержит 22 таблицы.

Связи типа обозначение.

Связи показывают взаимоотношение между сущностями, тем самым, формируя целостность БД.

Как видно из рисунка 1 всю БД «ТИС» можно разделить на 3 большие области (рисунок 3). Их можно классифицировать так:

Товар-Склад;

Продажа;

Покупка;


Рисунок 3 - Классификация БД «ТИС»


Рассмотрим последовательно каждую из областей:

Область «Товар - Склад». Данная область состоит из 5 таблиц:

Товар;

Единицы измерения товара;

Категории товаров;

Склад;

Список складов.

Область «Продажа». Данная область состоит из 7 таблиц:

Продажа;

Клиент;

Категории клиентов;

Денежные обязательства клиентов;

Оплата долгов клиентов;

Заказ товара клиентом;

Касса.

Область «Покупка». Данная область состоит из 7 таблиц:

Покупка;

Поставщик;

Денежные обязательства перед поставщиками;

Оплата долгов перед поставщиками;

Заказ товара у поставщика;

Недостающий товар;

Товар для заказа.

Оставшиеся таблицы, которые являются общими таблицами для всех областей:

Вид сделок;

Пользователи программы;

Список пользователей.

Рассмотрим каждую таблицу в отдельности. Каждая таблица (сущность) БД будет состоять из двух частей:

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

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

Область «Товар - Склад» изображена на рис. 4

Основные таблицы данной области являются таблицы «Товар», «Склад».Опишем их.


Рисунок 4 - Область «Товар - Склад»


Таблица 1 - Таблица «Товар»

Имя поляТип поляНе NullИсточник по умолчаниюВычисляемый источникTOVAR_NOSMALLINTНе NullNAZVANIEVARCHAR (25)Не NullT_EDIN_IZMER_NOSMALLINTT_KATEG_NOSMALLINTT_TSENA_POKUPKANUMERIC (10, 2)Не NullT_POSTAVSHIK_NOSMALLINTНе NullDEFAULT 0

Таблица 2 - Ограничения для таблицы «Товар»

На полеТипFK ТаблицаFK ПолеTOVAR_NOПервичный ключ NAZVANIEУникальный T_EDIN_IZMER_NOВнешний ключEDIN_IZMEREDIN_IZMER_NOT_KATEG_NOВнешний ключKATEG_TOVARKATEG_NOT_POSTAVSHIK_NOВнешний ключPOSTAVSHIKPOSTAVSHIK_NO

Таблица «Товар» предназначена для составления списка товаров со всеми характеристиками: номер товара, название товара, единицы измерения товара, категория товара, поставщик товара. Для целостности БД поле «номер товара» объявлено первичным ключом. А поля «единицы измерения товара», «категория товара», «поставщик товара» объявлены внешними ключами для таблиц «Единицы измерения товара», «Категории товаров», «Поставщик» соответственно.


Таблица 3 - Таблица «Склад»

Имя поляТип поляНе NullИсточник по умолчаниюВычисляемый источникNOMBERINTEGERНе NullS_SKLAD_NOSMALLINTНе NullDEFAULT 1S_TOVAR_NOSMALLINTНе NullS_KOL_VOINTEGERНе NullS_MIN_KOL_VOINTEGERНе NullDEFAULT 0S_TOVAR_POMECSMALLINTНе NullDEFAULT 0

Таблица 4 - Ограничения для таблицы «Склад»

На полеТипFK ТаблицаFK ПолеNOMBERПервичный ключ S_TOVAR_NOУникальный S_SKLAD_NOВнешний ключSPISOK_SKLADSKLAD_NOS_TOVAR_NOВнешний ключTOVARTOVAR_NO

Таблица «Склад» предназначена для содержания информации о товаре на складе (его количестве, его минимальном количестве). Для целостности БД поле «номер склада» объявлено первичным ключом, «номер товара» - уникальное поле. А поля «номер склада», «номер товара», объявлены внешними ключами для таблиц «Список складов», «Товар» соответственно.

Область «Продажа» изображена на рис. 5

Основные таблицы данной области являются таблицы «Продажа», «Клиент», «Денежные обязательства клиента», «Оплата долга», «Касса».Опишем их.


Рисунок 5 - Область «Продажа»


Таблица 5 - Таблица «Продажа»

Имя поляТип поляНе NullИсточник по умолчаниюВычисляемый источникPRODAJA_IDVARCHAR (9)Не NullPRODAJA_TOVAR_NOSMALLINTНе NullKLIENT_NOSMALLINTНе NullPRODAVETS_NOSMALLINTНе NullPRODAJA_DATEDATEНе NullPRODAJA_TIMETIMEНе NullPR_SDELKA_NOSMALLINTНе NullPR_KOL_VOINTEGERНе NullPR_PRICENUMERIC (10, 2)Не NullPR_SUMMANUMERIC (10, 2)Не Null

Таблица 6 - Ограничения для таблицы «Продажа»

На полеТипFK ТаблицаFK ПолеPRODAJA_ID, PRODAJA_TOVAR_NOПервичный ключKLIENT_NOВнешний ключKLIENTKLIENT_NOPRODAJA_TOVAR_NOВнешний ключTOVARTOVAR_NOPRODAVETS_NOВнешний ключUSER_PROGUSER_NOPR_SDELKA_NOВнешний ключVID_SDELOKSDELKA_NO

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


Таблица 7 - Таблица «Клиент»

Имя поляТип поляНе NullИсточник по умолчаниюВычисляемый источникKLIENT_NOSMALLINTНе NullKLIENT_ORGNAMEVARCHAR (20)Не NullKLIENT_ORGFCVARCHAR (12)KLIENT_ORGCBVARCHAR (9)KLIENT_ORGRSVARCHAR (12)KLIENT_NAMEVARCHAR (20)Не NullKLIENT_ADRESSVARCHAR (30)KLIENT_PHONEVARCHAR (12)KLIENT_KATEG_NOSMALLINTНе Null

Таблица 8 - Ограничения для таблицы «Клиент»

На полеТипFK ТаблицаFK ПолеKLIENT_NOПервичный ключ KLIENT_NAMEУникальный KLIENT_KATEG_NOВнешний ключKATEG_KLIENTKATEG_NO

Таблица «Клиент» предназначена для содержания информации о клиенте. Она хранит в себе следующую информацию:

Номер клиента;

Название организации;

Имя клиента;

Адрес клиент;

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

Категория клиента.

Поле «номер клиента» объявлено первичным ключом, поле «имя клиента» - уникальное. А поле «категория клиента» объявлено внешним ключом для таблицы «Категория клиента».


Таблица 9 - Таблица «Денежные обязательства клиента»

Имя поляТип поляНе NullИсточник по умолчаниюВычисляемый источникD_KLIENT_NOSMALLINTНе NullDOK_SUMMANUMERIC (10, 2)Не Null

Таблица 10 - Ограничения для таблицы «Денежные обязательства клиента»

На полеТипFK ТаблицаFK ПолеD_KLIENT_NOПервичный ключD_KLIENT_NOВнешний ключKLIENTKLIENT_NO

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


Таблица 11 - Таблица «Оплата долга клиентом»

Имя поляТип поляНе NullИсточник по умолчаниюВычисляемый источникOPLATA_DOLG_NOINTEGERНе Null O_D_KLIENT_NOSMALLINTНе Null O_D_USER_PROG_NOSMALLINTНе Null O_D_SUMMANUMERIC (10, 2)Не Null O_D_DATEDATEНе Null O_D_TIMETIMEНе Null

Таблица 12 - Ограничения для таблицы «Оплата долга клиентом»

На полеТипFK ТаблицаFK ПолеOPLATA_DOLG_NOПервичный ключO_D_KLIENT_NOВнешний ключKLIENTKLIENT_NO

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


Таблица 13 - Таблица «Касса»

Имя поляТип поляНе NullИсточник по умолчаниюВычисляемый источникKASSA_NOSMALLINTНе NullK_USER_PROG_NOSMALLINTНе NullK_SUMMANUMERIC (10, 2)DEFAULT 0

Таблица 14 - Ограничения для таблицы «Касса»

На полеТипFK ТаблицаFK ПолеKASSA_NOПервичный ключ K_USER_PROG_NOВнешний ключUSER_PROGUSER_NO

Таблица «Касса» предназначена для содержания информации о количестве денег в кассе. Поле «номер кассы» объявлено первичным ключом, а поле «номер пользователя» объявлено внешним ключом для таблицы «Пользователи».

Область «Покупка» изображена на рис. 6

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


Рисунок 6 - Область «Покупка»


Таблица 15 - Таблица «Покупка»

Имя поляТип поляНе NullИсточник по умолчаниюВычисляемый источникPOKUPKA_IDVARCHAR (6)Не NullPOKUPKA_TOVAR_NOSMALLINTНе NullPOSTAVSHIK_NOSMALLINTНе NullPOKUPATELI_NOSMALLINTНе NullPOKUPKA_DATEDATEНе NullPOKUPKA_TIMETIMEНе NullPO_SDELKA_NOSMALLINTНе NullPO_KOL_VOINTEGERНе NullPO_PRICENUMERIC (10, 2)Не NullPO_SUMMANUMERIC (18, 2)PO_KOL_VO*PO_PRICE

Таблица 16 - Ограничения для таблицы «Покупка»

На полеТипFK ТаблицаFK ПолеPOKUPKA_ID, POKUPKA_TOVAR_NOПервичный ключPOKUPATELI_NOВнешний ключUSER_PROGUSER_NOPOKUPKA_TOVAR_NOВнешний ключTOVARTOVAR_NOPOSTAVSHIK_NOВнешний ключPOSTAVSHIKPOSTAVSHIK_NOPO_SDELKA_NOВнешний ключVID_SDELOKSDELKA_NO

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


Таблица 17 - Таблица «Поставщик»

Имя поляТип поляНе NullИсточник по умолчаниюВычисляемый источникPOSTAVSHIK_NOSMALLINTНе NullPOSTAVSHIK_ORGNAMEVARCHAR (20)Не NullPOSTAVSHIK_ORGFCVARCHAR (12)POSTAVSHIK_ORGCBVARCHAR (9)POSTAVSHIK_NAMEVARCHAR (20)POSTAVSHIK_ADRESSVARCHAR (30)POSTAVSHIK_PHONEVARCHAR (12)

Таблица 18 - Ограничения для таблицы «Поставщик»

На полеТипFK ТаблицаFK ПолеPOSTAVSHIK_NOПервичный ключPOSTAVSHIK_ORGNAMEУникальный

Таблица «Поставщик» предназначена для содержания информации о поставщике товара. Она хранит в себе следующую информацию:

Номер поставщика;

Название организации;

Имя поставщика;

Адрес поставщика;

Телефон поставщика;

Поле «номер поставщика» объявлено первичным ключом, поле «Название организации» - уникальное.


Таблица 19 - Таблица «Денежные обязательства перед поставщиком»

Имя поляТип поляНе NullИсточник по умолчаниюВычисляемый источникDENEJ_OBIAZAT_POSTAV_NOSMALLINTНе NullDOP_SUMMAFLOATНе Null

Таблица 20 - Ограничения для таблицы «Денежные обязательства перед поставщиком»

На полеТипFK ТаблицаFK ПолеDENEJ_OBIAZAT_POSTAV_NOПервичный ключPOSTAVSHIKPOSTAVSHIK_NODENEJ_OBIAZAT_POSTAV_NOВнешний ключPOSTAVSHIKPOSTAVSHIK_NO

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


Таблица 21 - Таблица «Оплата долгов перед поставщиками»

Имя поляТип поляНе NullИсточник по умолчаниюВычисляемый источникOPLATA_DOLG_POSTAV_NOSMALLINTНе NullO_D_POSTAVSHIK_NOSMALLINTНе NullO_D_P_USER_PROG_NOSMALLINTНе NullO_D_P_SUMMANUMERIC (10, 2)Не NullO_D_P_DATEDATEНе NullO_D_P_TIMETIMEТаблица 22 - Ограничения для таблицы «Оплата долгов перед поставщиками»

На полеТипFK ТаблицаFK ПолеOPLATA_DOLG_POSTAV_NOПервичный ключO_D_POSTAVSHIK_NOВнешний ключPOSTAVSHIKPOSTAVSHIK_NO

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

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

На первичные ключи всех таблиц накладываются следующие ограничения:

Ключи должны быть уникальными в пределах таблицы;

Ключи не должны модифицироваться.

Все таблицы, задействованные в системе, приведены к третьей нормальной форме.

Вывод:

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

Так как система «ТИС» является многопользовательской системой, я разрабатывал свою БД, опираясь на возможности каждого пользователя системы. Моей системе имеет место пять ролей. Каждая роль выполняет соответствующие функции.

В системе «ТИС» описаны следующие роли:

Администратор;

Кассир;

Менеджер по продажам;

Менеджер по покупкам;

Менеджер склада;

Для роли «администратор» учувствуют следующие таблицы:

Роли;

Пользователи;

Касса;

Для роли «кассир» учувствуют следующие таблицы:

Товар (Категория товара, Единицы измерения);

Склад (Список склада);

Заказ;

Продажа;

Касса.

Для роли «менеджер по продажам» учувствуют следующие таблицы:

Товар (Категория товара, Единицы измерения);

Склад (Список склада);

Клиент;

Денежные обязательства клиента;

Оплата долга клиента;

Заказ;

Продажа;

Касса.

Для роли «менеджер по покупкам» учувствуют следующие таблицы:

Товар;

Товар для заказа;

Заказ товара;

Покупка;

Поставщик;

Денежные обязательства перед поставщиком;

Оплата долга поставщику.

Для роли «менеджер склада» учувствуют следующие таблицы:

Товар (Категория товара, Единицы измерения);

Склад(Список склада);

Заказ товара;

Нехватка товара;

Товар для заказа.

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


.4 Проектирование программы


.4.1 Принципы проектирования программы

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

В [3] следующие подходы к проектированию программы:

Проектирование сверху вниз;

Проектирование структур данных.

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

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

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


.4.2 Описание модульной структуры программной системы

Модульная структура программной системы представлена на рисунке 7.


Рисунок 7 - Программная структура «ТИС»


Как видно из рисунка 7 система «ТИС» состоит из пяти частей. Так как система «ТИС» является многопользовательской системой, состоящей из пяти ролей, то каждой части системы предназначается одна роль. Поэтому при проектировании программы я опирался именно на возможности каждого пользователя системы.

Каждая роль выполняет соответствующие функции. В системе «ТИС» описаны следующие роли:

Администратор;

Кассир;

Менеджер по продажам;

Менеджер по покупкам;

Менеджер склада;

Опишем возможности каждой роли в отдельности.

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

Настройка БД;

Регистрация пользователя;

Регистрация кассы.

Графическая иллюстрация роли «Администратор» продемонстрирована на рисунке 8.


Рисунок 8 - Роль «Администратор»


Данная диаграмма выполнена, используя диаграмму прецедентов. Под процессом «регистрация пользователя» понимается: создание нового пользователя, удаление пользователя, изменение данных о пользователе. Под процессом «регистрация кассы» понимается создание новой кассы в случае появления нового пользователя с ролями «Кассир» либо «Менеджер по продажам», т.е. каждый пользователь, имеющий дело с наличными деньгами, имеет свою кассу. Также в обязанности администратора входит настройка БД. Она необходима при первой регистрации персонального компьютера в системе «ТИС».

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

Рисунок 9 - Добавление нового пользователя.


Данная диаграмма выполнена, используя диаграмму взаимодействия. Администратор делает запрос программе на создание нового пользователя. Затем вводит нужные данные. Программа реагирует на запрос, обращаясь к БД, на добавление нового пользователя. Та в свою очередь делает новую запись в таблицу «Пользователи». И все возвращается обратно к администратору удачным выполнением запроса.

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

Кассир выполняет следующие функции:

Продажа товаров (розница);

Получение денег.

Графическая иллюстрация роли «Администратор» продемонстрирована на рисунке 10.


Рисунок 10 - Роль «Кассир»


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

Рисунок 11 - Процесс работы роли «Кассир»


На рисунке 11 показано, каким образом поступает кассир при заказе товаров клиентом: получает запрос от клиента, согласовывает с ним заказ, фиксирует заказ, получает деньги за товар, заносит деньги в кассу и выдает чек заказчику на получение товара от кладовщика на складе.

Менеджер по продажам выполняет следующие функции:

Редактирование клиента;

Работа с клиентом:

продажа товара (безналичный расчет, наличный расчет);

оплата долгов клиентов (получение денег);

Отчетность по продажам.

Графическая иллюстрация роли «Администратор» продемонстрирована на рисунке 12.

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


Рисунок 12 - Роль «Менеджер по продажам»


Процесс работы менеджер по продажам описан при помощи диаграммы активности на рисунке 13.


Рисунок 13 - работа менеджера по продажам с клиентом


На рисунке 13 показано, каким образом поступает менеджер по продажам при работе с клиентом.

Менеджер склада выполняет следующие функции:

Своевременное оповещение менеджера по покупкам о недостающих товарах;

Перемещение товаров;

Установка минимального количества единиц товара на складе (планирование);

Просмотр заявок (как выполненных, так и тех которые находятся в процессе выполнения);

Прием товара;

Отчеты по складам.

Менеджер по покупкам выполняет следующие функции:

Получение запроса на заявку (от менеджера склада);

Составление заявки;

Редактирование товара, редактирование поставщика;

Приходирование;

Отчетность по покупкам.

Так как эти две роли взаимодействуют между собой, я их представил вместе на одной диаграмме.(рисунок 14).


Рисунок 14 - Роль «Менеджер склада» и роль «менеджер по покупкам»


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

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

Рисунок 15 - Процесс составления заказа


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

Процесс получения товара описан при помощи диаграммы активности на рисунке 16.


Рисунок 16 - Процесс получения товара


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


.5 Реализация


.5.1 Выбор системы программирования

Одним из центральных вопросов в разработке проекта является выбор инструментальной системы управления базами данных. В качестве основного инструментария была выбрана система C++Builder 6.0. При помощи C++Builder 6.0 с минимальными затратами времени можно создавать различные приложения для Windows, поскольку в основе C++Builder 6.0 лежит концепция быстрого создания приложений (RAD - Rapid Application Development).

Отметим некоторые ключевые особенности среды C++Builder 6.0:

Интегрированная среда разработки приложений (IDE-Integrated Development Environment) - позволяет создавать, компилировать, тестировать и редактировать проект или группу проектов в единой среде программирования.

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

Библиотека компонентов содержит множество стандартных компонентов, которые можно использовать при создании приложений.

Поддержка баз данных в среде C++Builder 6.0 осуществляется двояко. С одной стороны, в ней широко используются компоненты, предназначенные для работы с базами данных. С их помощью можно создавать простые приложения, предназначенные для обработки данных, и приложения типа клиент/сервер. С другой стороны, поддержка баз данных в C++Builder 6.0 осуществляется с помощью набора драйверов соединений с SQL-серверами-Borland SQL Links for Windows, которые позволяют интегрированному в C++Builder 6.0 ядру процессора баз данных Borland, BDE(Borland Database Engine), получать доступ к локальным базам данных Paradox, dBase, Access и FoxPro, а так же к SQL-серверам InterBase, Informix, Oracle, SyBase, DB2 и Microsoft SQL.

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


.5.2 Реализация БД (физическое проектирование)

Этап физического проектирования БД требует поиска проектных решений, обеспечивающих эффективную поддержку построенной БД в среде хранения. На этом этапе были решены вопросы выбора наиболее эффективных методов доступа к различным компонентам «физической» БД и составлено отображение «логической» структуры БД в структуру хранения.

Так как при создании проекта использовалась клиент-серверная технология построения баз данных вместе с сервером InterBase (Interbase 6.0) проектированием БД занималась утилита EMS InterBase & FireBird Manager 3, которая позволяла проектировать реляционные модели данных как на логическом уровне, так и на физическом (проектирование таблиц БД).

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


4. Описание системы ТИС


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

Описание технологической базы;

Описание программы «ТИС»;

Руководство для пользователя.


.1 Описание технологической базы


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

Клиент-Сервер <../AppData/24.02.05/softplus/F_40203.html>

Моделирование бизнес-процессов <../AppData/24.02.05/softplus/F_40208.html>

Моделирование взаимосвязей между сущностями <../AppData/24.02.05/softplus/F_40209.html>Rose++Builder 6.0

Клиент-Сервер

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

СЕРВЕР - оптимально управляет информационной базой данных для множества клиентов, эффективно защищает базу данных, создает резервные копии и следит за целостностью данных;

КЛИЕНТ, запрашивая информацию у сервера, предоставляет интерфейс пользователю в виде форм ввода, отчетов или графиков;

СЕТЬ передает данные между клиентом и сервером по локальной сети или через модем по телефонной сети, или через Internet.

Технология КЛИЕНТ-СЕРВЕР позволяет оптимально использовать ресурсы сети компьютеров, позволяет легко заменять любой из узлов системы, а также легко подключать новых пользователей.

Система управления базами данных (СУБД) InterBase - это одна из ведущих систем в мире по решению задач управления информацией.обеспечивает следующее:поддерживает базы данных сколь угодно большого размера;поддерживает любое число одновременно работающих пользователей;обеспечивает высокий уровень производительности;может работать 24 часа в сутки 7 дней в неделю, не требуя остановок на системные работы и регламентное обслуживание;может избирательно контролировать доступ к данным на уровне базы данных и на уровне ее объектов;поддерживает все принятые стандарты: второй уровень стандарта ANSI/ISO SQL89 национального института стандартов и технологий США, стандарт FIPS127-1 правительства США, занесен Национальным институтом по компьютерной защите (NCSC) в "оранжевую" книгу, как полностью удовлетворяющий требованиям критериев защиты;защищает данные от несанкционированного доступа и некорректного использования;обеспечивает логическую целостность данных на уровне базы данных, а не в приложениях рабочих станций;позволяет разделить обработку между серверами базы данных и клиентскими программами;позволяет распределить системы баз данных по нескольким серверам;

Программное обеспечение InterBase переносимо с одной операционной системы на другую;

Приложения для InterBase могут работать на любой операционной системе.

Моделирование бизнес-процессов

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

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

Представляет собой метод информационного проектирования, предназначенный для построения высококачественной информационной модели. Информационное моделирование служит стандартным средством определения данных и взаимосвязей между ними, применяемым во всех информационных системах подобного класса. Оно существенно повышает качество системы и продуктивность ПО. Полученная модель взаимосвязей представляет собой нормализованную структуру базы данных. Это очень важно: нормализованная БД понятна и проста, ее структура легко модифицируема. В то же время, такая модель обеспечивает полную целостность данных. База данных сама следит за своей целостностью, не допуская ввода неправильных данных независимо от того, как построены клиентские программы. Таких показателей невозможно достичь, используя формат данных DBF (Clipper, dBase, Fox Pro, Paradox и т. д.). Это - одно из качеств, которым был обусловлен мой выбор СУБД InterBase. СУБД InterBase хранит БД в одном файле, формат данных которой имеет тип GDB.Rose

Это средство автоматизированной разработки программного обеспечения (CASE система), включающее в себя методы моделирования. Благодаря этому можно легко представить необходимые для работы системы процессы и данные. В результате средства CASE превращают разработку системы в логичный, документируемый, полный и достаточно быстрый процесс. Кроме того, инструментальные средства CASE дают реальную отдачу, так как с самого начала позволяют разработать надежную систему. Пользователи могут начать продуктивно работать уже с первой версией приложения, а разработчикам и администраторам не нужно будет тратить массу времени на исправление непредвиденных проблем или на неучтенные в процессе разработки изменения в дизайне приложения++Builder 6.0

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


.2 Описание программы ТИС


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

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

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

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

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

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

Автоматизация работы торговой фирмы при помощи ТИС состоит из следующих, последовательно сменяющих друг друга, частей:

Получение информации о наличии товара;

Оформление документов;

Оплата товаров;

Получение товаров;

Итог;

Аналитика.

Получение информации о наличии товара

На первом этапе взаимоотношений с клиентами большую роль играет скорость получения информации о товаре, его цене, характеристиках, наличии. В системе "ТИС" сделано все для максимального увеличения этой скорости. В частности:

Тщательно продуманный интерфейс максимально ускоряет работу.

В многоуровневом классификаторе товары логично сгруппированы, что упрощает их поиск.

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

В "ТИС"е каждый товар может иметь множество свойств, таких как единица измерения, категория товара и т.д.

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

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

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

Оформление документов

На этапе оформления документов основное внимание уделяется удобству и быстроте создания сделок с покупателями.

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

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

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

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

Продуманная система скидок удобна и менеджеру и клиенту.

Набор товара в сделку можно осуществлять с клавиатуры, не отвлекаясь на "мышь", что сильно ускоряет работу.

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

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

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

Оплата товаров

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

Система "ТИС" легко подстраивается под любую специфику предприятия заказчика благодаря следующим возможностям программы:

Предусмотрена проверка полноты и корректности вводимых данных, незаполненных полях имени клиента или формы собственности и т.п.

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

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

Получение товаров

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

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

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

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

Итог

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

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

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

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

Возможность просматривать заказанный ранее товар существенно упрощает работу.

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

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

При работе с магазинами возможен учет товара в товарных единицах или в денежном выражении в леях.

Аналитика

Система "ТИС" позволяет получать сложнейшие аналитические отчеты за любой временной интервал. Мощный блок аналитической отчетности позволяет вырабатывать обоснованные финансовые решения на основе статистических результатов деятельности фирмы.

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

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

Использование InterBase в качестве СУБД обеспечивает абсолютную надежность хранения информации.

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

В силу универсальности СУБД InterBase абсолютно надежно работает под операционными системами Windows NT Server., Windows XP, Linux.

Количество пользователей ограничивается только техническими возможностями сервера.

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

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

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

Универсальная настройка протоколирования позволяет точно определять, кто из пользователей в какой момент какие операции выполнял.

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

.3 Руководство для пользователя


Данная глава посвящена описанию готового программного продукта. Описание вхождения пользователя в систему представлено на рисунке 1.

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


Рисунок 1 - Процесс вхождения пользователя в систему


Перед тем как войти в свою часть системы пользователь должен:

Пройти авторизацию (рисунок 2);

Рисунок 2 - Авторизация в системе


Если это первый запуск системы на данном компьютере, тогда администратор должен настроить сервер (рисунок 3).


Рисунок 3 - Настройка сервера


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


Рисунок 4 - Вход в систему


Правильно ввести свой логин и пароль;

Выбрать роль, которую он выполняет.

Проделав все эти операции верно, пользователь может приступать к своей работе.

Продемонстрируем работу администратора, кассира и менеджера по продажам. Пользовательский интерфейс администратора изображен на рисунке 5.


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


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

Перейдем к роли «Кассир». Пользовательский интерфейс кассира изображен на рисунке 6.


Рисунок 6 - Пользовательский интерфейс кассира


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

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


Рисунок 7 - Количество заказанного товара


После того как список заказа составлен кассир, получив деньги, выполняет заказ, нажав кнопку «выполнить заказ» (рисунок 8).

Рисунок 8 - Выполнение заказа


Сумма в кассе увеличивается на размер суммы заказа. Кассир выдает чек клиенту на получение товара со склада. Список заказов очищается и кассир преступает к следующему заказу.

Перейдем к роли «Менеджер по продажам». Пользовательский интерфейс менеджер по продажам изображен на рисунке 9.

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


Основная функция менеджера по продажам - работа с клиентом. Работа с клиентом включает в себя два действия: составление заказа, получение долгов с клиентов (рисунок 10).


Рисунок 10 - работа менеджера по продажам с клиентом


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


Рисунок 11 - Составление заказа клиентом


Проделав те же операции, что и кассир, менеджер по продажам выполняет заказ. Но в отличие от кассира менеджер по продажам имеет право проводить и безналичные сделки. Поэтому менеджер по продажам перед выполнением заказ определяет вид оплаты (рисунок 12).


Рисунок 12 - Вид оплаты клиента


Переходим к другой возможности менеджер по продажам - получение долгов с клиентов.

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


Рисунок 13 - Оплата долгов клиентом


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

Также в компетенции менеджер по продажам входит редактирование клиента. Оно включает в себя:

Добавление клиента (рисунок 14);


Рисунок 14 - Добавление клиента

Изменение данных клиента (рисунок 15);


Рисунок 15 - Изменение данных клиента


Удаление клиента (рисунок 16).


Рисунок 16 - Удаление клиента

Удалить клиента, у которого есть долги или имеет аванс, невозможно.

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


5. Организационно - экономическая часть


.1 Введение


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

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

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

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

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


.2 Расчёт затрат


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

Затраты разделяются на три категории:

Прямые материальные затраты;

Прямые затраты на оплату труда;

Косвенные производственные затраты.

Расчет прямых материальных затрат

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

К материальным затратам следует отнести следующие формы затрат:

Прямые затраты на электроэнергию.

Прямые затраты на электроэнергию

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

Компьютеры Intel Celeron-800 (мощность 300 Вт) - 1 шт.

Время работы = 70 дней ´ 8 часов = 560 часов.

Общее потребление электроэнергии компьютером = 560ч ´ 300Вт ´ 1шт = 168кВт´ч.

Итого общее потребление электроэнергии =168 кВт´ч

Тариф на электроэнергию на момент расчётов = 0,78 леев.

Итого прямые затраты на потребление электроэнергии = 168 ´0,78 = 131,04 леев.

Расчет прямых затрат на оплату труда

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

К затратам по оплате труда следует отнести:

заработная плата программистов занятых в разработке проекта;

отчисления в органы социального страхования;

отчисление за медицинское страхование.

Затраты на заработную плату

В разработке и выполнении проекта был занят 1 человек.

Оплата труда разработчика составило 2000 леев/мес. Размер оплаты был определён фактором, что средняя зарплата программиста в РМ составляет 2000 леев/мес.

На выполнение всего проекта было затрачено 3 месяца.

Таким образом, затраты на оплату разработчику составляют 2000,00 ´ 3 = 6000,00 леев.

Итого затраты на зарплату = 6000,00 леев.

Отчисления в органы социального страхования

Отчисления в соц. страх составляют 27% от заработной платы.


Т.о. Р = 6000,00 ´ 0,27 = 1620,00 лея


Итого отчисления органам социального страхования = 1620,00 лея.

Отчисления за медицинское страхование

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


Т.о Р = 6000,00 ´ 0,02=120,00 лея.

Итого отчисления за медицинскую страховку = 120,00 лея.

Косвенные производственные затраты

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

К косвенным производственным затратам относят:

затраты на содержание основных средств, производственного назначения;

износ основных средств, производственного назначения;

затраты на охрану производственных помещений;

стоимость вспомогательных материалов;

затраты на амортизацию нематериальных активов, используемых в производстве;

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

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

стоимость вспомогательных материалов;

Затраты на освещение;

затраты на услуги связи;

затраты на аренду помещения;

износ основных средств, производственного назначения;

прочие.

Стоимость вспомогательных материалов

В стоимость вспомогательных материалов входит 2 диска с ПО, при помощи которых и разрабатывался данный проект. Стоимость одного диска составило 50 лей. Следовательно

Стоимость вспомогательных материалов = 50 лей х 2 ед. = 100 лей

Затраты на освещение

Для обеспечения освещения в помещении использовалось:

Осветительные приборы(лампа освещения мощностью в 100 Вт) - 2 шт.

Время работы = 70 дней ´ 4 часа = 280 часа.

Потребление электроэнергии = 280ч ´ 100Вт ´ 2шт = 56 кВт´ч

Тариф на электроэнергию на момент расчётов = 0,78 лей.

Итого расходы на освещение = 56 ´ 0,78 = 43,68 леев.

Затраты на услуги связи

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

для ведения аналитической работы и исследований;

для различных целей организационного характера.

Тарифы на оплату телефонных услуг = 0,084 лей/мин(5,04лей/час)

Таким образом затраты на услуги телефонной связи составляют:


часов ´ 5.04 лей/час = 252 лей.


Провайдером Internet-услуг являлись фирмы Telemedia, MoldTelecom. Подключение к этим провайдерам было бесплатным.

Итого затраты на услуги связи = 252 лей.

Затраты на аренду помещения

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

По договору тариф на аренду составил 1000,00 леев в месяц

Стоимость арендной платы определена двумя критериями:

тарифом за 1м2 площади помещения;

площадью помещения

Тариф за 1м2 площади данного помещения составило 100лей/м2(сектор Рышкань). Площадь помещения равна 10 м2.

Оплата услуг за подачу воды, канализацию, отопление входит в арендную плату.

Итого затраты на аренду = 1000,00 леев ´ 3 месяца = 3000,00 леев.

Расчет износа основных средств

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

При выполнении работ по разработке программного обеспечения использовались компьютер Intel Celeron 800MHz/384MB/HDD 20GB/SVGA 17 32MB (1шт.);

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

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

Равномерный (прямолинейный);

Метод уменьшающегося остатка (метод двойной нормы);

Метод суммы чисел;

Производственный метод.

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

Рассчитаем износ компьютера методом уменьшающегося остатка:


(1)


где U - Износ,

БС - Балансовая стоимость,

Ни - Норма износа, вычисляется по формуле


(2)


где СПФ - срок полезного функционирования (48 месяцев)

Ни = 100% /48 ´ 12 = 25%


Балансовая стоимость вычисляется по формуле:


БС=ПС - Накопленный Износ


В первый год Накопленный Износ равен 0, поэтому

БС=ПС

Т.о. износ в первый год:


БС=ПС= 13000,00 леев

леев


Во второй год:


БС=13000,00 - 6500,00 = 6500,00 леев

леев


В третий год:


БС=6500,00 - 3250,00 = 3250,00 леев

лея

В четвёртый год:

БС=3250,00 - 1625,00 = 1625,00 леев

лея

С учётом того, что проект разрабатывался три месяца, получим конечный расчет для износа: Итого износ компьютера = 812,5 /12 ´ 3 = 203,12 леев.


Таблица 1.2 - Износ компьютера

НаименованиеЗначениеПервоначальная стоимость (ПС)13000,00 леевСрок службы4 годаСрок эксплуатации в проекте3 месяцаКоличество1 шт.Износ в первый год (U1)6500,00 леевИзнос во второй год (U2)3250,00 леевИзнос в третий год (U3)1625,00 леевИзнос в четвёртый год (U4)812,5 леевИтого износ компьютера203,12 леев

Итого износ основных средств : U = 203,12 леев

Прочие Косвенные производственные затраты

Прочие (ручка, писчая бумага, диск) косвенные производственные затраты составят 24.00 леев

Таким образом, затраты на разработку программы составили: 11493,84 леев


Таблица 1.3 - Затраты на разработку проекта


Себестоимость проекта =11493,84 леев

Рисунок 1 - Распределение затрат на разработку проекта


.3 Расчёт расходов


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

Расходы делятся на:

расходы от операционной деятельности;

расходы от инвестиционной деятельности;

расходы от финансовой деятельности;

чрезвычайные расходы.

Расходы от операционной деятельности делятся на:

себестоимость продаж;

расходы периода:

коммерческие;

общие и административные;

прочие операционные расходы.

Себестоимость продаж

Себестоимость продаж - это затраты на производство проданной продукции.

ПО ТИС предназначена для торговых предприятий, в основном для оптовых баз. Исследуя рынок торговых предприятий РМ, можно сделать вывод, что таким предприятиям может понадобиться такое ПО как ТИС. Так как ТИС является новым ПО, оно ещё не успела зарекомендовать себя на рынке. Следовательно, в первый год невозможно массово внедрить это ПО, поэтому в текущем году планируется продать всего 10 единиц данной продукции.

Себестоимость продаж составит: 11493,84 лей /10 ед. = 1149,38 леев

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

Коммерческие расходы

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

К коммерческим расходам следует отнести:

Расходы на упаковку;

Техническая документация;

Расходы на упаковку включает:

Стоимость диска - 8 леев;

Запись на диск - 10 леев;

Вкладыш для диска - 2 лея;

Стоимость упаковки одного экземпляра продукции составит:


леев + 10 леев + 2 лея = 20 леев


Общая стоимость упаковки на данный период составит: 20 леев х 10 ед. = 200 леев

К системе необходима документация пользователя.

Техническая документация включает: руководство пользователю состоит из 40 страниц. Распечатка черно-белая составляет 0,3 лея. Распечатка обложки составляет 4 лея. Т.о. распечатка одного экземпляра обойдется в: 40 стр. х 0.3 лея + 4 лея = 16 леев.

Общая стоимость документации составит: 16 леев х 10 ед. = 160 лей

Итого коммерческие расходы 360,00 леев

Общие и административные расходы

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

расходы на содержание и износ основных средств административного и общего характера;

амортизация нематериальных активов общего назначения;

командировочные расходы;

расходы, связанные с оплатой услуг связи.

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

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

аренда основных средств административного и общего характера;

расходы на электроэнергию.

Во время разработки данного проекта на фирме ещё в разработке находилось 9 проектов.

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

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

Заработная плата административного персонала и служащих (директор, секретарь, бухгалтер) составляет 6000 лей/мес.

Отчисления в органы социального страхования Р = 6000,00 ´ 0,27 = 1620,00 лея

Отчисления за медицинское страхование Р = 6000,00 ´ 0,02=120,00 лея.

Суммарные расходы на заработную плату и отчисления соц. страху, мед. страху административного персонала и служащих составляют 6000+1620+120 = 7740 леев/мес.

Данные расходы на создание данного продукта составляют:


леев х 3мес./ 10ед. = 2322 леев


Аренда основных средств административного и общего характера

Аренда офиса составляет 2000 леев / мес.(Центр города,20м2)

Расходы на аренду на создание данного продукта составляют:

леев х 3 мес./ 10 ед. = 600 леев.

Расходы на электроэнергию

Расходы на электроэнергию составляют 100 леев / мес.

Расходы на электроэнергию на создание данного продукта составляют:

леев х 3 мес./ 10 ед. = 30 леев.

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

леев+600 леев. + 30 леев. = 2952 леев


Таблица 1.4 - Расходы периода


Расход на единицу продукции составит:

леев / 10 ед. = 331,2 леев

Остальные виды расходов отсутствуют.


.4 Расчет цены продукта


Цена = Полная себестоимость + Прибыль + НДС

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


,84 лей /10 ед. = 1149,38 леев


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


,2 лей + 1149,38 лей = 1480,58 леев


Надбавка = 500 леев.

Цена без НДС = 1480,58 леев + 500 леев = 1980,58 леев

Итого цена единицы продукта без НДС составляет 1980,58 леев


Таблица 1.5 - Расчет прибыли

НаименованиеРасчетСумма, леевДоход от продаж1980,58 х 10 = 19805,819805,8Себестоимость продаж1149,38 x 10 = 11493,811493,8Валовая прибыль19805,8 - 11493,8 = 83128312Расходы периода331,2 x 10 = 33123312Прибыль от оп. деятельности8312- 3312 = 50005000Прибыль до налогообложения5000Расход по подоходному налогу5000 х 0,18 = 900900Чистая прибыль предприятия5000 - 900 = 41004100

.5 Расчёт показателей рентабельности


Коэффициенты рентабельности показывают, насколько прибыльна деятельность компании.

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

Рентабельность продаж = ЧП / ДП ´ 100% = 4100 / 19805,8 ´ 100% = 20,70%

Норма валовой прибыли - это отношение валовой прибыли к доходу (выручке) от реализации продукции.

Норма валовой прибыли = ВП / ДП. ´ 100% = 8312 / 19805,8 ´ 100% = 41,96%

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

Норма операционной прибыли = ОП/ДП x 100% = 5000 / 19805,8 ´ 100% =25,24%


.6 График безубыточности


Деление затрат на постоянные и переменные лежит в основе метода, который широко распространен в экономике. Впервые он был предложен в 1930 г. инженером Уолтером Раутенштраухом как способ планирования, получивший известность под названием графика критического объема производства, или графика безубыточности (рис. 2).

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

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

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


Рисунок 2 - График безубыточности


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

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


.7 Выводы


В результате анализа проделанной работы в данной объектной области выявились некоторые основные факторы:

Торговая информационная система - продукт, имеющий хороший потенциал внедрения на рынок нашей страны;

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

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

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


6. Охрана труда и окружающей среды


.1 Введение


Задание на дипломный проект является разработка ПО ТИС. Работа над дипломным проектом связано непосредственно с компьютером и разработанной программой будет пользоваться оператор ПЭВМ. Работа с ПЭВМ связано с воздействием на пользователя опасных и вредных производственных факторов, что и подтверждается Постановлением Правительства РМ №1485 от 31.12.04, который относит работу за дисплеями компьютеров к работе с вредными условиями труда. По этой причине возникает необходимость рассмотрения опасности и вредности воздействия на пользователя и способы и средства их уменьшения.


.2 Анализ условий труда


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

Работа ПЭВМ связана с присутствием на рабочем месте человека - оператора, поэтому вопросы охраны труда будут рассматриваться с точки зрения обеспечения безопасных условий труда и условий труда сохраняющих здоровье оператора, пользователя.

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

Метеорологические условия среды (микроклимат лаборатории);

Аномальное освещение;

Высокий уровень шума;

Повышенный уровень ионизирующего излучения;

Опасность поражения электрическим током;

Повышенные психофизиологические нагрузки;

Пожароопасность.

Метеорологические условия, предъявляемые к радиоэлектронной технике и нормы микроклимата, необходимые для нормальной жизнедеятельности человека различны. Это объясняется тем, что при эксплуатации ПЭВМ влажность воздуха в помещении должна быть одной (не более 40-60%), а влажность для оператора другой (не менее 70%). Поэтому, оптимальная влажность в лаборатории для оператора и ПЭВМ принята 50%. Пониженная влажность вызывает у человека ощущение сухости слизистых оболочек верхних дыхательных путей, ухудшает самочувствие и снижает работоспособность.

Высокая температура способствует быстрому утомлению оператора, может привести к перегреву организму, что вызывает тепловой удар. Низкая температура может вызвать местное или общее охлаждение организма, стать причиной простудного заболевания. Поэтому в качестве оптимального микроклимата для персонала, с учетом требований предъявляемых к оборудованию лаборатории, установлен микроклимат, отвечающий характеристикам: температура - 22-240С, относительная влажность - 40-60%, подвижность воздуха не более 0.1 м/с. Освещенность измеряется в люминах лк., и для искусственного освещения приняты норма освещенности на рабочей поверхности составляет 250-350 лк.

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

Шум , создаваемый одной ПЭВМ невелик, он находится в диапазоне 30-68 дб. Он должен не превышать уровня 40 дб. Но поскольку в лаборатории находится не одна ЭВМ, то шум производимый ими является достаточно высоким. Кроме того данный тип шума оказывает отрицательное воздействие на человека еще и тем, что он является монотонным. Также необходимо отметить, что в помещении лаборатории используются принтеры, что также увеличивает уровень шума. Шум нарушает нервную систему; шумовые явления обладают свойством куммуляции: накапливаясь в организме, он все больше и больше угнетает нервную систему. Шум - причина преждевременного утомления, ослабления внимания, памяти.

Ионизирующими называются излучения, взаимодействие которых со средой приводит к образованию электрических зарядов разных знаков. К ионизирующим излучениям относятся: гамма-излучение, рентгеновское, корпускулярное, инфракрасное, микроволновое и другие виды излучений. Рентгеновское излучение на расстоянии 10 см. от монитора составляет не более 100 мкР/ч, а уровень ионизации обоих зарядов в диапазоне 1500-5000 на 1 см3 воздуха. Источником излучения в лаборатории по производству ПО являются мониторы. При повышенном электромагнитном излучении у человека появляется головная боль, повышенная утомляемость, что снижает сосредоточенность работающего к работе, его внимание.

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

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

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

Лаборатория по разработке ПО на предприятии по своей конструкции представляет собой невзрывоопасное помещение и по пожарной опасности относится к категории В. Степень огнестойкости здания - II. Класс помещения по пожарной опасности П-IIа.


.3 Мероприятия по защите от вредных и опасных факторов


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

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

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

Снижение шума в источнике его возникновения;

Снижение шума на пути его распространения.

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

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

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

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

Уменьшение влияния психофизиологических нагрузок на организм человека достигается путем правильного оформления рабочего места, рационального распределения рабочего времени (через каждые 2 часа проведенные за ПЭВМ необходимо обеспечивать 10-15 минут отдыха), правильным цветовым оформлением (коэффициенты отражения должны быть: 60-70% для потолка, 40-50% для стен, 30% для пола, 30-40% для других отражающих поверхностей), обеспечением соответствующей настройки параметров терминального оборудования (контрастность изображения знака не менее 0,8; яркость освещения экрана не менее 10 kq/m2; разрешение экрана 640х480 и более; частота регенерации изображения не менее 72 МГц)

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


.4 Пожарная безопасность


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

В современных офисах очень высокая плотность размещения офисной техники. В непосредственной близости друг от друга располагаются соединительные провода и коммутационные кабели. При протекании по ним электрического тока может выделяться значительное количество теплоты, что может привести к повышению температуры до 90-120оС. При этом возможно оплавление изоляции соединительных проводов, их оголение и, как следствие, короткое замыкание, которое сопровождается искрением, ведет к быстрому нагреву и перегрузкам электрических сетей. Это может вызвать загорание близлежащих легковоспламеняющихся веществ. Рассматриваемое помещение офиса относится по пожарной безопасности к категории Д. В целях обеспечения пожарной безопасности локальная компьютерная сеть и электропроводка осуществляется по несгораемым конструкциям и защищена сверху стальной трубой. По степени огнестойкости здание имеет 1 степень, т.е. все конструктивные элементы несгораемые, с высоким пределом огнестойкости (1,5-3 ч), поэтому нет необходимости для дополнительного повышения огнестойкости здания. В качестве первичных средств пожаротушения в помещении имеется углекислотный огнетушитель ОУ-5, предназначенный для тушения при загорании различных веществ и электроустановок с напряжением до 10 кВ при температуре окружающего воздуха от -40 до +50°С. Данный вид огнетушителя используется, в основном, для тушения пожаров в закрытых помещениях, где имеется достаточная вентиляция, поскольку он содержит жидкую углекислоту. Использование этого огнетушителя предпочтительно еще и по той причине, что используемая в нем углекислота не вызывает короткого замыкания. Таким образом его можно использовать для тушения пожаров в различных типах электроустановок, находящихся под высоким напряжением. При возникновении пожара или другой чрезвычайной ситуации персонал офиса эвакуируется из помещения по специально разработанному плану эвакуации, находящемуся в помещении.

В здании предусмотрены конструктивные, объемно-планировочные и инженерно-технические решения, обеспечивающие в случае пожара:

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

возможность спасения людей;

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

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

В процессе строительства было обеспечено:

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

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

наличие и исправное содержание средств борьбы с пожаром;

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

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

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

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

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

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

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

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

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

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

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

Проезды для основных и специальных пожарных машин предусматриваются в соответствии с требованиями СНиП 2.07.01.

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

Выходы из лестничных клеток на кровлю или чердак предусматриваются по лестничным маршам с площадками перед выходом, через противопожарные двери 2-го типа размерами не менее 0,75 х 1.5 м. В технических этажах, в том числе в технических подпольях и технических чердаках, высота прохода в свету не менее 1,8 м; в чердаках вдоль всего здания - не менее 1,6 м. Ширина этих проходов не менее 1,2 м. В местах перепада высот кровель (в том числе для подъема на кровлю светоаэрационных фонарей) более 1 м, предусмотрены пожарные лестницы. Не предусматриваются пожарные лестницы на перепаде высот кровель более 10 м, если каждый участок кровли площадью более 100 м2 имеет собственный выход на кровлю, отвечающий требованиям 8.3, или высота нижнего участка кровли, определяемая по 8.3, не превышает 10 м. Для подъема на высоту от 10 до 20м и в местах перепада высот кровель от 1 до 20м применяются пожарные лестницы типа П1, для подъема на высоту более 20 м и в местах перепада высот более 20 м - пожарные лестницы, типа П2. Пожарные лестницы выполнены из негорючих материалов, располагаются не ближе 1 м от окон и рассчитаны на их использование пожарными подразделениями. Между маршами лестниц и между поручнями ограждений лестничных маршей следует предусматривать зазор шириной в плане в свету не менее 75 мм.

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

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

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

.5 Охрана окружающей среды


Зеленый компьютер - Green Computer (Green PC). Компьютер, характеризуемый уменьшенным воздействием на окружающую среду. При создании модели зеленого компьютера поставлены задачи:

охрана здоровья пользователей;

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

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

утилизация отработанных компонентов компьютеров;

уменьшение выделения тепла;

обеспечение энергосбережения, т.е. понижение потребления электроэнергии.

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

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

В США зеленым называют компьютер, который соответствует требованиям Energy Star, разработанным агентством по защите окружающей среды (EPA).

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

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


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


Расчет потребляемого количества воздуха при общественной вентиляции проводился в помещении площадью в 20 м2. В рассчитываемом помещении находится 5 человек. В помещении имеется 2 окна размером 2х1,2 м2.

6.6.1 Расчет выделения тепла

а) Тепловыделения от людей

Тепловыделения человека зависят от тяжести работы, температуры окружающего воздуха и скорости движения воздуха. В расчете используется явное тепло, т.е. тепло, воздействующее на изменение температуры воздуха в помещении. Для умственной работы количество явного тепла, выделяемое одним человеком, составляет 140 ВТ при 10оС и 16 ВТ при 35оС. Для нормальных условий (20оС) явные тепловыделения одного человека составляют около 55 ВТ. Считается, что женщина выделяет 85%, а ребенок - 75% тепловыделений взрослого мужчины. В рассчитываемом помещении (5х10м) находится 5 человек. Тогда суммарное тепловыделение от людей будет:

=5*55=275 ВТ (6.1)


б) Тепловыделения от солнечной радиации.

Расчет тепла поступающего в помещение от солнечной радиации Qост и Qп (ВТ), производится по следующим формулам:

для остекленных поверхностей

ост=Fост*qост*Aост (6.2)


для покрытий

п=Fп*qп (6.3)


где Fост и Fп - площади поверхности остекления и покрытия, м2ост и qп - тепловыделения от солнечной радиации, Вт/м2, через 1 м2 поверхности остекления (с учетом ориентации по сторонам света) и через 1 м2 покрытия;

Аост - коэффициент учета характера остекления.

В помещении имеется 2 окна размером 2х1,2 м2. Тогда Fост=4,8 м2.

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

ост=145 Вт/м2, Аост=1,15ост=4,8*145*1,15=800 Вт


Площадь покрытия Fп=20м2. Характер покрытия - с чердаком. Тогда,

п=6 Вт/м2п=20*6=120 Вт


Суммарное тепловыделение от солнечной радиации:

=Qост+Qп=800+120=920. Вт (6.4)


в) Тепловыделения от источников искусственного освещения.

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

=N*n*1000, Вт (6.5)


Где N - суммарная мощность источников освещения, кВт;- коэффициент тепловых потерь (0,9 для ламп накаливания и 0,55 для люминесцентных ламп).

У нас имеется 20 светильников с двумя лампами ЛД30 (30Вт) и 2 местных светильника с лампами Б215-225-200 или Г215-225-200. Тогда получаем:=(20*2*0.03*0.55+2*0.2*0.9)*1000=1020 Вт


г) Тепловыделения от радиотехнических установок и устройств вычислительной техники.

Расчет выделений тепла проводится аналогично расчету тепловыделений от источников искусственного освещения:

=N*n*1000, Вт (6.6)


Коэффициент тепловых потерь для радиотехнического устройства составляет n=0,7 и для устройств вычислительной техники n=0,5.

В помещении находятся: 1 персональных компьютера типа Intel Celeron по 600 Вт (вместе с мониторами).

=1*0.6*0.5*1000=300 Вт


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

с=Q1+Q2+Q3+Q4=2515 Вт (6.7)

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

изб=Qс-Qрасх (6.8)расх=0,1*Qс=251,5 Втизб=2263,5 Вт

6.6.2 Расчет необходимого воздухообмена

Объем приточного воздуха, необходимого для поглощения тепла, G (м3/ч), рассчитывают по формуле:

=3600*Qизб/Cр*p*(tуд-tпр) (6.9)


Где Qизб - теплоизбытки (Вт);

Ср - массовая удельная теплоемкость воздуха (1000 Дж/кгС);

р - плотность приточного воздуха (1,2 кг/м3)уд, tпр - температура удаляемого и приточного воздуха.

Температура приточного воздуха определяется для холодного и теплого времени года. Поскольку удаление тепла сложнее провести в теплый период, то расчет проведем именно для него, приняв tпр=18оС. Температура удаляемого воздуха определяется по формуле:

уд=tрз+a*(h-2) (6.10)


Где tрз - температура в рабочей зоне (20оС);

а - нарастание температуры на каждый метр высоты (зависит от тепловыделения, примем, а=1оС/м)- высота помещения (3,5м)

уд=20+1*(3,5-2)=21,5оС=1940,14 м3/ч


Объем приточного воздуха, необходимого для поглощения тепла равен 1940,14 м3/ч.

Заключение


В рамках дипломного проекта была разработана автоматизированная системы управления торгового предприятия ТИС.

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

Оптимизации деятельности фирмы;

Ускорения процесса взаимодействия фирмы с ее клиентами и поставщиками;

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

Контроля над деятельностью сотрудников фирмы;

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

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

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

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


Литература


Архангельский А.Я. ПРОГРАММИРОВАНИЕ В C++Builder 5 - Москва "Издательство БИНОМ",2000, 1152 стр.

Дейт К. Руководство по реляционной СУБД DB2. Москва : «Финансы и статистика» 1988, 320 с.

Гласе Р. Руководство по надежному программированию. Москва : Финансы и статистика» 1982, 256 с.

Описание Компактной информационной системы "СФЕРА" - www.softplus.ru/opisanie/index.html <#"justify">Приложение A


Листинг модуля для входа в систему ТИС

//---------------------------------------------------------------------------

#include <registry.hpp>

#include <vcl.h>

#pragma hdrstop

#include "Unit1.h"

#include "Unit2.h"

#include "Unit3.h"

#include "Unit6.h"

#include "Unit9.h"

#include "Unit10.h"

#include "Unit18.h"

#include "Unit19.h"

#include "Unit11.h"

//---------------------------------------------------------------------------

#pragma package(smart_init)

#pragma resource "*.dfm"*Form1;e;

//---------------------------------------------------------------------------

__fastcall TForm1::TForm1(TComponent* Owner)

: TForm(Owner)

{

}

//---------------------------------------------------------------------------

void __fastcall TForm1::Button1Click(TObject *Sender)

{t=false;->IBQuery2->Active=true;->IBQuery2->First();(!DataModule2->IBQuery2->Eof)

{((DataModule2->IBQuery2->Fields->Fields[1]->AsString==Form1->Edit1->Text)

&&(DataModule2->IBQuery2->Fields->Fields[2]->AsString==Form1->Edit2->Text)){(DataModule2->IBQuery2->Fields->Fields[3]->AsString==Form1->ComboBox1->Text){(DataModule2->IBQuery2->Fields->Fields[5]->AsInteger==1){

ShowMessage("Пользователь с таким именем уже зарегистрирован!");

exit(0);

//Application->Terminate();

}->Visible=false;Com=ComboBox1->ItemIndex+1;

//-----------------------------------

(Com){1:->Caption="Торгово-информационная система ТИС "+DataModule2->IBQuery2->Fields->Fields[3]->AsString;->Timer1->Enabled=true;->ShowModal();;2:=DataModule2->IBQuery2->Fields->Fields[0]->AsInteger; Form9->Caption="Торгово-информационная система ТИС "+DataModule2->IBQuery2->Fields->Fields[3]->AsString;->Timer1->Enabled=true;->ShowModal();;3: =DataModule2->IBQuery2->Fields->Fields[0]->AsInteger; Form10->Caption="Торгово-информационная система ТИС "+DataModule2->IBQuery2->Fields->Fields[3]->AsString;->Timer1->Enabled=true;->ShowModal();;4: =DataModule2->IBQuery2->Fields->Fields[0]->AsInteger;->Caption="Торгово-информационная система ТИС "+DataModule2->IBQuery2->Fields->Fields[3]->AsString;->Timer1->Enabled=true;->ShowModal();;5: =DataModule2->IBQuery2->Fields->Fields[0]->AsInteger;->Caption="Торгово-информационная система ТИС "+DataModule2->IBQuery2->Fields->Fields[3]->AsString;->Timer1->Enabled=true;->ShowModal();;

}

//------------------------------------------>IBQuery2->SQL->Clear();s="Update USER_PROG SET CONNECT='"+IntToStr(0)+"' where (LOGIN='"+Form1->Edit1->Text+"')AND(PASS='"+Form1->Edit2->Text+"')";->IBQuery2->SQL->Add(s);->IBQuery2->ExecSQL();->IBTransaction1->Commit();

//-----------------------------------------();;

}

{("Вы выбрали не правильный статус",mtError,TMsgDlgButtons()<<mbOK,0);=true;

}

}(t)

{->IBQuery2->First();;

}->IBQuery2->Next();

}("Вы ввели не верные данные!");

exit(0);->IBQuery2->First();

}

//---------------------------------------------------------------------------__fastcall TForm1::FormShow(TObject *Sender)

->IBDatabase1->Connected=false;

*Reg=new TRegistry;>RootKey=HKEY_LOCAL_MACHINE;(!Reg->KeyExists("\\Software\\WWW")) Form6->ShowModal();

{>OpenKeyReadOnly("\\Software\\WWW");->IBDatabase1->DatabaseName=Reg->ReadString("DB_host")+":"+Reg->ReadString("DB_name");:; try {->IBDatabase1->Connected=true;

}(EDatabaseError&){->ShowModal();(Form6->i==1){>Terminate();;

}a;

}

}Reg;->IBQuery1->Active=true;->IBQuery1->First();(!DataModule2->IBQuery1->Eof)

{->ComboBox1->Items->Add(DataModule2->IBQuery1->Fields->Fields[0]->AsString); ->IBQuery1->Next();

}->IBQuery1->First();->ComboBox1->ItemIndex=0;

}

//---------------------------------------------------------------------------

__fastcall TForm1::Button2Click(TObject *Sender)

{>Terminate();

}

//---------------------------------------------------------------------------

WeAreAlone(LPSTR szName)

{hMutex=CreateMutex(NULL,TRUE,szName);(GetLastError()==ERROR_ALREADY_EXISTS)

{(hMutex);false;

}true;

}

//---------------------------------------------------------------------------

__fastcall TForm1::FormCreate(TObject *Sender)

{(WeAreAlone("Some_Unique_Name_Or_Other"));

else

{("Такая программа уже работает!");(0);

}

}

//---------------------------------------------------------------------------


Приложение B


Листинг модуля для роли «Кассир»

//---------------------------------------------------------------------------

#include <vcl.h>

#pragma hdrstop

#include "Unit9.h"

#include "Unit2.h"

#include "Unit10.h"

#include "Unit1.h"

#include "Unit3.h"

#include "Unit18.h"

#include "Unit19.h"

#include "Unit23.h"

//---------------------------------------------------------------------------

#pragma package(smart_init)

#pragma resource "*.dfm"*Form9;I;x=0,y=0;K;z2[100],z3[100];summa=0.0;

//---------------------------------------------------------------------------

__fastcall TForm9::TForm9(TComponent* Owner)

: TForm(Owner)

{

}

//---------------------------------------------------------------------------__fastcall TForm9::Button1Click(TObject *Sender)

{k="0";povtor=DataModule2->IBQuery3TOVAR_NO->AsInteger;(!InputQuery("Покупка "+DataModule2->IBQuery3NAZVANIE->AsString,"Кол-во едениц:",k)){;

}(k=="0"||k=="")

{("Ошибка. Вы не ввели ни какого значения");

return;

}(int J=1;J<=k.Length();J++){(!DataModule2->IBQuery3S_KOL_VO->IsValidChar(k[J])){

ShowMessage("Ошибка. Вы ввели не верное значение");

return;

}

}(StrToInt(k)>DataModule2->IBQuery3S_KOL_VO->AsInteger){

ShowMessage("На складе нет столько едениц товара!");

return;

}z=DataModule2->IBQuery3S_KOL_VO->AsInteger-StrToInt(k);z1=DataModule2->IBQuery3TOVAR_NO->AsInteger;

//------------------------------------->IBQuery5->Active=true;

//----------------------------------------(DataModule2->IBQuery5->IsEmpty())=1;{->IBQuery5->Last();=DataModule2->IBQuery5->Fields->Fields[0]->AsInteger+1;

}(int i=1;i<=x;i++)(z2[i]==z1){[i]+=StrToInt(k);a;

}[x]=z1;[x]=StrToInt(k);:;a=DataModule2->IBQuery3TOVAR_NO->AsInteger;c=DataModule2->IBQuery3S_SKLAD_NO->AsInteger;d=DataModule2->IBQuery3T_PRICE->AsFloat;=d*100;d1=d;d2=d1/100,d3=d1%100;->IBQuery4_1->SQL->Clear();->IBQuery4_1->SQL->Add("select ZAKAZ_NO FROM ZAKAZ order by ZAKAZ_NO");->IBQuery4_1->Open();->IBTransaction1->Commit();->IBQuery4_1->Active=true;(!DataModule2->IBQuery4_1->IsEmpty()){->IBQuery4_1->Last();=DataModule2->IBQuery4_1->Fields->Fields[0]->AsInteger+1;

}I=1;->IBQuery4->SQL->Clear();->IBQuery4->SQL->Add("select ZAKAZ_NO, NAZVANIE,SOKR_NAME_ED_IZM, SKLAD_NAME, Z_KOL_VO,Z_TSENA,Z_SUMMA,Z_SKLAD_NO,Z_USER_NO,Z_TOVAR_NO from ZAKAZ,TOVAR,EDIN_IZMER,SPISOK_SKLAD,SKLAD,USER_PROG where (Z_TOVAR_NO=TOVAR.TOVAR_NO)and(EDIN_IZMER.EDIN_IZMER_NO=TOVAR.T_EDIN_IZMER_NO)and(SKLAD.S_SKLAD_NO=SPISOK_SKLAD.SKLAD_NO)and(SKLAD.S_TOVAR_NO=TOVAR.TOVAR_NO)and(ZAKAZ.Z_SKLAD_NO=SKLAD.S_SKLAD_NO)and(ZAKAZ.Z_USER_NO=USER_PROG.USER_NO)and(ZAKAZ.Z_USER_NO='"+IntToStr(Form1->e)+"')and(ZAKAZ_NO!='"+IntToStr(I)+"')and(Z_TOVAR_NO='"+povtor+"')");->IBQuery4->Open();->IBQuery4->Active=true;s;(DataModule2->IBQuery4->IsEmpty()){->IBQuery4->SQL->Clear();="Insert Into ZAKAZ (ZAKAZ_NO, Z_TOVAR_NO,Z_SKLAD_NO,Z_TSENA, Z_KOL_VO,Z_USER_NO) Values('"+IntToStr(I)+"','"+a+"','"+IntToStr(c)+"','"+d2+"."+d3+"','"+k.ToInt()+"','"+IntToStr(Form1->e)+"')"; ->IBQuery4->SQL->Add(s);->IBQuery4->ExecSQL();

}{kolvo=DataModule2->IBQuery4Z_KOL_VO->AsInteger;->IBQuery4->SQL->Clear();="Update ZAKAZ SET Z_KOL_VO='"+IntToStr(kolvo+k.ToInt())+"' where Z_TOVAR_NO='"+povtor+"'"; //,'"++"'->IBQuery4->SQL->Add(s);->IBQuery4->ExecSQL();

}->IBQuery3->Active=true;

//DataModule2->IBQuery4_1->SQL->Clear();

//DataModule2->IBQuery4_1->SQL->Add("Select UPDATE_DB,U_USER_PROG_NO FROM UPDATE_DB");

//DataModule2->IBQuery4_1->Open();->IBQuery4->SQL->Clear();->IBQuery4->SQL->Add("select ZAKAZ_NO, NAZVANIE,SOKR_NAME_ED_IZM, SKLAD_NAME, Z_KOL_VO,Z_TSENA,Z_SUMMA,Z_SKLAD_NO,Z_USER_NO,Z_TOVAR_NO from ZAKAZ,TOVAR, EDIN_IZMER, SPISOK_SKLAD, SKLAD,USER_PROG where (Z_TOVAR_NO=TOVAR.TOVAR_NO)and(EDIN_IZMER.EDIN_IZMER_NO=TOVAR.T_EDIN_IZMER_NO)and(SKLAD.S_SKLAD_NO=SPISOK_SKLAD.SKLAD_NO)and(SKLAD.S_TOVAR_NO=TOVAR.TOVAR_NO)and(ZAKAZ.Z_SKLAD_NO=SKLAD.S_SKLAD_NO)and(ZAKAZ.Z_USER_NO=USER_PROG.USER_NO)and(ZAKAZ.Z_USER_NO='"+IntToStr(Form1->e)+"')and(ZAKAZ_NO!='"+IntToStr(I)+"')");->IBQuery4->Open();->IBQuery4->Active=true;->IBQuery3_1->Active=true;->IBQuery2->SQL->Clear();="Update SKLAD SET S_KOL_VO='"+IntToStr(z)+"' where S_TOVAR_NO='"+IntToStr(z1)+"'";->IBQuery2->SQL->Add(s);->IBQuery2->ExecSQL();->IBTransaction1->Commit();->IBQuery4->SQL->Clear();->IBQuery4->SQL->Add("select ZAKAZ_NO, NAZVANIE,SOKR_NAME_ED_IZM, SKLAD_NAME, Z_KOL_VO,Z_TSENA,Z_SUMMA,Z_SKLAD_NO,Z_USER_NO,Z_TOVAR_NO from ZAKAZ,TOVAR,EDIN_IZMER,SPISOK_SKLAD,SKLAD,USER_PROG where (Z_TOVAR_NO=TOVAR.TOVAR_NO)and(EDIN_IZMER.EDIN_IZMER_NO=TOVAR.T_EDIN_IZMER_NO)and(SKLAD.S_SKLAD_NO=SPISOK_SKLAD.SKLAD_NO)and(SKLAD.S_TOVAR_NO=TOVAR.TOVAR_NO)and(ZAKAZ.Z_SKLAD_NO=SKLAD.S_SKLAD_NO)and(ZAKAZ.Z_USER_NO=USER_PROG.USER_NO)and(ZAKAZ.Z_USER_NO='"+IntToStr(Form1->e)+"')");->IBQuery4->Open();->IBQuery3->SQL->Clear();->IBQuery3->SQL->Add("Select NOMBER, NAZVANIE, SOKR_NAME_ED_IZM, S_KOL_VO, T_TSENA_POKUPKA, K_KOEF_PRICE,SKLAD_NAME,TOVAR_NO,S_SKLAD_NO from TOVAR,EDIN_IZMER,SKLAD,SPISOK_SKLAD,KATEG_KLIENT,KLIENT where (EDIN_IZMER.EDIN_IZMER_NO=TOVAR.T_EDIN_IZMER_NO)and(SKLAD.S_SKLAD_NO=SPISOK_SKLAD.SKLAD_NO)and(TOVAR.TOVAR_NO=SKLAD.S_TOVAR_NO)and(KLIENT.KLIENT_KATEG_NO= KATEG_KLIENT.KATEG_NO)and(KLIENT.KLIENT_NAME='-') ORDER BY NOMBER");->IBQuery3->Open();

DataModule2->IBQuery5->SQL->Clear();->IBQuery5->SQL->Add("Select ZAKAZ_NO FROM ZAKAZ ORDER BY ZAKAZ_NO");->IBQuery5->Open();->IBTransaction1->Commit();->IBQuery3->Active=true;->IBQuery4->Active=true;->IBQuery3_1->Active=true;->IBQuery5->Active=true;itogo=0.0;(!DataModule2->IBQuery4->Eof){=itogo+DataModule2->IBQuery4Z_SUMMA->AsFloat;=d;=d*100;=d;=d1/100;=d1%100;->IBQuery4->Next();

}->Caption=d2;->Caption=Label6->Caption+"."+d3+" л.";=itogo;->Visible=true;->Visible=true;

}

//---------------------------------------------------------------------------__fastcall TForm9::FormShow(TObject *Sender)

{->IBQuery2->SQL->Clear();s="Update USER_PROG SET CONNECT='"+IntToStr(1)+"' where (LOGIN='"+Form1->Edit1->Text+"')AND(PASS='"+Form1->Edit2->Text+"')";->IBQuery2->SQL->Add(s);->IBQuery2->ExecSQL();->IBQuery5->SQL->Clear();->IBQuery5->SQL->Add("Select ZAKAZ_NO FROM ZAKAZ ORDER BY ZAKAZ_NO");->IBQuery5->Open();->IBQuery3_1->SQL->Clear();->IBQuery3_1->SQL->Add("Select KASSA_NO,K_SUMMA FROM KASSA WHERE K_USER_PROG_NO='"+IntToStr(Form1->e)+"'");->IBQuery3_1->Open();->IBTransaction1->Commit();->IBQuery5->Active=true;->IBQuery5->Last();->IBQuery3->Active=true;->IBQuery4->Active=true;->IBQuery3_1->Active=true;->Left=DBText2->Left+DBText2->Width+8;

}

//---------------------------------------------------------------------------__fastcall TForm9::N2Click(TObject *Sender)

{(Application->MessageBoxA("Вы хотите выйти из программы?","Подтвердите выход из программы",MB_YESNO + MB_ICONQUESTION)==IDYES){

//DataModule2->IBDatabase1->Open();

//DataModule2->IBTransaction1->Active=false;

//DataModule2->IBTransaction1->StartTransaction();

//DataModule2->IBQuery4->Close();->IBQuery4_1->SQL->Clear();->IBQuery4_1->SQL->Add("Select ZAKAZ_NO FROM ZAKAZ ORDER BY ZAKAZ_NO");->IBQuery4_1->Open();->IBQuery4_1->Active=true;->IBQuery4_1->First();

//while(!DataModule2->IBQuery4_1->Eof)(int i=1;i<=x;i++)

{->IBQuery4->SQL->Clear();s="Delete from ZAKAZ where Z_USER_NO='"+IntToStr(Form1->e)+"'";->IBQuery4->SQL->Add(s);->IBQuery4->ExecSQL();->IBQuery5->SQL->Clear();->IBQuery5->SQL->Add("Select S_KOL_VO FROM SKLAD where S_TOVAR_NO='"+IntToStr(z2[i])+"'");->IBQuery5->Open();->IBQuery5->Active=true;

//------------------------------------

DataModule2->IBQuery2->SQL->Clear();="Update SKLAD SET S_KOL_VO='"+IntToStr(DataModule2->IBQuery5->Fields->Fields[0]->AsInteger+z3[i])+"' where S_TOVAR_NO='"+IntToStr(z2[i])+"'";->IBQuery2->SQL->Add(s);->IBQuery2->ExecSQL();

//-----------------------------------------

}->IBTransaction1->Commit();>Terminate();

}

}

//---------------------------------------------------------------------------__fastcall TForm9::FormCloseQuery(TObject *Sender, bool &CanClose)

{(Application->MessageBoxA("Вы хотите выйти из программы?","Подтвердите выход из программы",MB_YESNO + MB_ICONQUESTION)==IDYES){

//DataModule2->IBDatabase1->Open();

//DataModule2->IBTransaction1->Active=false;

//DataModule2->IBTransaction1->StartTransaction();

//DataModule2->IBQuery4->Close();->IBQuery4_1->SQL->Clear();->IBQuery4_1->SQL->Add("Select ZAKAZ_NO FROM ZAKAZ ORDER BY ZAKAZ_NO");->IBQuery4_1->Open();->IBQuery4_1->Active=true;->IBQuery4_1->First();

//while(!DataModule2->IBQuery4_1->Eof)(int i=1;i<=x;i++)

{->IBQuery4->SQL->Clear();s="Delete from ZAKAZ where Z_USER_NO='"+IntToStr(Form1->e)+"'";->IBQuery4->SQL->Add(s);->IBQuery4->ExecSQL();

//DataModule2->IBTransaction1->Commit();

//-----------------------------------------

//DataModule2->IBDatabase1->Open();

//DataModule2->IBTransaction1->Active=false;

//DataModule2->IBTransaction1->StartTransaction();

//DataModule2->IBQuery2->Close();->IBQuery5->SQL->Clear();->IBQuery5->SQL->Add("Select S_KOL_VO FROM SKLAD where S_TOVAR_NO='"+IntToStr(z2[i])+"'");->IBQuery5->Open();->IBQuery5->Active=true;

//------------------------------------->IBQuery2->SQL->Clear();="Update SKLAD SET S_KOL_VO='"+IntToStr(DataModule2->IBQuery5->Fields->Fields[0]->AsInteger+z3[i])+"' where S_TOVAR_NO='"+IntToStr(z2[i])+"'";->IBQuery2->SQL->Add(s);->IBQuery2->ExecSQL();

//DataModule2->IBTransaction1->Commit();

//-----------------------------------------

// I--;

//DataModule2->IBQuery4_1->Next();

}->IBTransaction1->Commit();>Terminate();

}=false;


}

//---------------------------------------------------------------------------__fastcall TForm9::Button2Click(TObject *Sender)

{->QuickRep1->Preview();->Visible=false;->Visible=false;s;

//------------------------------------>Caption = TimeToStr(Time());->Caption = DateToStr(Date());

//----------------------------------------------->IBQuery4_1->SQL->Clear();->IBQuery4_1->SQL->Add("select max(PRODAJA_ID) FROM PRODAJA order by PRODAJA_ID");->IBQuery4_1->Open();->IBTransaction1->Commit();->IBQuery4_1->Active=true;Q;q;(DataModule2->IBQuery4_1->Fields->Fields[0]->IsNull)=1;=StrToInt64(DataModule2->IBQuery4_1->Fields->Fields[0]->AsString)+1;=IntToStr(q);=K.Length();(Q){1: K="00000000"+K;break;2: K="0000000"+K;break;3: K="000000"+K;break;4: K="00000"+K;break;5: K="0000"+K;break;6: K="000"+K;break;7: K="00"+K;break;8: K="0"+K;break;9: K=""+K;break;

}

//------------------------------------------------->IBQuery4_1->SQL->Clear();->IBQuery4_1->SQL->Add("select ZAKAZ_NO,Z_TOVAR_NO,Z_KOL_VO,Z_TSENA,Z_SUMMA,Z_USER_NO FROM ZAKAZ WHERE Z_USER_NO='"+IntToStr(Form1->e)+"' order by ZAKAZ_NO");->IBQuery4_1->Open();->IBTransaction1->Commit();->IBQuery4_1->Active=true;

//DataModule2->IBQuery3->Active=true;->IBQuery4_1->First();d,f;d1,f1;d2,d3,f2,f3;(!DataModule2->IBQuery4_1->Eof)

{=DataModule2->IBQuery4_1->Fields->Fields[3]->AsFloat; f=DataModule2->IBQuery4_1->Fields->Fields[4]->AsFloat;=d*100;f=f*100;=d;f1=f;=d1/100;f2=f1/100;=d1%100;f3=f1%100;

//------------------------------------------>IBQuery5->SQL->Clear();

s="Insert Into PRODAJA(PRODAJA_ID,PRODAJA_TOVAR_NO,KLIENT_NO,PRODAVETS_NO,PRODAJA_DATE,PRODAJA_TIME,PR_SDELKA_NO,PR_KOL_VO,PR_PRICE,PR_SUMMA) Values('"+K+"','"+IntToStr(DataModule2->IBQuery4_1->Fields->Fields[1]->AsInteger)+"','"+IntToStr(1)+"','"+IntToStr(DataModule2->IBQuery4_1->Fields->Fields[5]->AsInteger)+"','"+Label4->Caption+"','"+Label3->Caption+"','"+IntToStr(1)+"','"+IntToStr(DataModule2->IBQuery4_1->Fields->Fields[2]->AsInteger)+"','"+d2+"."+d3+"','"+f2+"."+f3+"')";//,'"+d2+"."+d3+"','"+k.ToInt()+"','"+IntToStr(Form1->e)+"')"; //,'"++"'->IBQuery5->SQL->Add(s);->IBQuery5->ExecSQL();

//------------------------------------------>IBQuery4_1->Next();

}->IBQuery4_1->First();->IBTransaction1->Commit();(I!=0)

{->IBQuery4->SQL->Clear();s="Delete from ZAKAZ where (ZAKAZ_NO='"+IntToStr(I)+"')AND(Z_USER_NO='"+IntToStr(Form1->e)+"')";->IBQuery4->SQL->Add(s);->IBQuery4->ExecSQL();->IBTransaction1->Commit();-;

}

//-------------------------------------->IBQuery4->SQL->Clear();->IBQuery4->SQL->Add("select ZAKAZ_NO, NAZVANIE,SOKR_NAME_ED_IZM, SKLAD_NAME, Z_KOL_VO,Z_TSENA,Z_SUMMA,Z_SKLAD_NO,Z_USER_NO,Z_TOVAR_NO from ZAKAZ,TOVAR,EDIN_IZMER,SPISOK_SKLAD,SKLAD,USER_PROG where (Z_TOVAR_NO=TOVAR.TOVAR_NO)and(EDIN_IZMER.EDIN_IZMER_NO=TOVAR.T_EDIN_IZMER_NO)and(SKLAD.S_SKLAD_NO=SPISOK_SKLAD.SKLAD_NO)and(SKLAD.S_TOVAR_NO=TOVAR.TOVAR_NO)and(ZAKAZ.Z_SKLAD_NO=SKLAD.S_SKLAD_NO)and(ZAKAZ.Z_USER_NO=USER_PROG.USER_NO)and(ZAKAZ.Z_USER_NO='"+IntToStr(Form1->e)+"')");->IBQuery4->Open();

DataModule2->IBQuery3->SQL->Clear();->IBQuery3->SQL->Add("Select NOMBER, NAZVANIE, SOKR_NAME_ED_IZM, S_KOL_VO, T_TSENA_POKUPKA, K_KOEF_PRICE,SKLAD_NAME,TOVAR_NO,S_SKLAD_NO from TOVAR,EDIN_IZMER,SKLAD,SPISOK_SKLAD,KATEG_KLIENT,KLIENT where (EDIN_IZMER.EDIN_IZMER_NO=TOVAR.T_EDIN_IZMER_NO)and(SKLAD.S_SKLAD_NO=SPISOK_SKLAD.SKLAD_NO)and(TOVAR.TOVAR_NO=SKLAD.S_TOVAR_NO)and(KLIENT.KLIENT_KATEG_NO= KATEG_KLIENT.KATEG_NO)and(KLIENT.KLIENT_NAME='-') ORDER BY NOMBER");->IBQuery3->Open();->IBQuery4_1->SQL->Clear();->IBQuery4_1->SQL->Add("Select UPDATE_DB,U_USER_PROG_NO FROM UPDATE_DB");->IBQuery4_1->Open();

//--------------------------------->IBQuery3_1->Active=true;=summa+DataModule2->IBQuery3_1->Fields->Fields[1]->AsFloat;=d*100;=d;=d1/100;=d1%100;->IBQuery3_1->SQL->Clear();="Update KASSA SET K_SUMMA='"+FloatToStr(d2)+"."+FloatToStr(d3)+"' where K_USER_PROG_NO='"+IntToStr(Form1->e)+"'";->IBQuery3_1->SQL->Add(s);->IBQuery3_1->ExecSQL();

//---------------------------------->IBQuery3_1->SQL->Clear();->IBQuery3_1->SQL->Add("Select KASSA_NO,K_SUMMA FROM KASSA WHERE K_USER_PROG_NO='"+IntToStr(Form1->e)+"'");->IBQuery3_1->Open();->IBTransaction1->Commit();->IBQuery3->Active=true;->IBQuery4->Active=true;->IBQuery3_1->Active=true;->Left=DBText2->Left+DBText2->Width+8;

}

//---------------------------------------------------------------------------__fastcall TForm9::Timer1Timer(TObject *Sender)

{->SimpleText=Time().FormatString("hh:mm:ss");->StatusBar1->SimpleText=Time().FormatString("hh:mm:ss");->StatusBar1->SimpleText=Time().FormatString("hh:mm:ss");->StatusBar1->SimpleText=Time().FormatString("hh:mm:ss");->StatusBar1->SimpleText=Time().FormatString("hh:mm:ss");->Interval=1000;

}

//---------------------------------------------------------------------------__fastcall TForm9::Button3Click(TObject *Sender)

{->IBQuery3->Active=true;->IBQuery4->Active=true;(DataModule2->IBQuery4->IsEmpty()){;

}->IBQuery5->SQL->Clear();->IBQuery5->SQL->Add("Select S_KOL_VO FROM SKLAD where S_TOVAR_NO='"+IntToStr(z2[DataModule2->IBQuery4ZAKAZ_NO->AsInteger])+"'");->IBQuery5->Open();->IBQuery5->Active=true;[DataModule2->IBQuery4ZAKAZ_NO->AsInteger]=0;[DataModule2->IBQuery4ZAKAZ_NO->AsInteger]=0;z=DataModule2->IBQuery4Z_KOL_VO->AsInteger+DataModule2->IBQuery5->Fields->Fields[0]->AsInteger;z1=DataModule2->IBQuery4Z_TOVAR_NO->AsInteger;s1=DataModule2->IBQuery4ZAKAZ_NO->AsString;->IBQuery4->SQL->Clear();s="Delete from ZAKAZ where ZAKAZ_NO='"+s1+"'"; //,'"++"'->IBQuery4->SQL->Add(s);->IBQuery4->ExecSQL();->IBQuery2->SQL->Clear();="Update SKLAD SET S_KOL_VO='"+IntToStr(z)+"' where S_TOVAR_NO='"+IntToStr(z1)+"'";->IBQuery2->SQL->Add(s);->IBQuery2->ExecSQL();->IBQuery4->SQL->Clear();->IBQuery4->SQL->Add("select ZAKAZ_NO, NAZVANIE,SOKR_NAME_ED_IZM, SKLAD_NAME, Z_KOL_VO,Z_TSENA,Z_SUMMA,Z_SKLAD_NO,Z_USER_NO,Z_TOVAR_NO from ZAKAZ,TOVAR,EDIN_IZMER,SPISOK_SKLAD,SKLAD,USER_PROG where (Z_TOVAR_NO=TOVAR.TOVAR_NO)and(EDIN_IZMER.EDIN_IZMER_NO=TOVAR.T_EDIN_IZMER_NO)and(SKLAD.S_SKLAD_NO=SPISOK_SKLAD.SKLAD_NO)and(SKLAD.S_TOVAR_NO=TOVAR.TOVAR_NO)and(ZAKAZ.Z_SKLAD_NO=SKLAD.S_SKLAD_NO)and(ZAKAZ.Z_USER_NO=USER_PROG.USER_NO)and(ZAKAZ.Z_USER_NO='"+IntToStr(Form1->e)+"')");->IBQuery4->Open();

DataModule2->IBQuery3->SQL->Clear();->IBQuery3->SQL->Add("Select NOMBER, NAZVANIE, SOKR_NAME_ED_IZM, S_KOL_VO, T_TSENA_POKUPKA, K_KOEF_PRICE,SKLAD_NAME,TOVAR_NO,S_SKLAD_NO from TOVAR,EDIN_IZMER,SKLAD,SPISOK_SKLAD,KATEG_KLIENT,KLIENT where (EDIN_IZMER.EDIN_IZMER_NO=TOVAR.T_EDIN_IZMER_NO)and(SKLAD.S_SKLAD_NO=SPISOK_SKLAD.SKLAD_NO)and(TOVAR.TOVAR_NO=SKLAD.S_TOVAR_NO)and(KLIENT.KLIENT_KATEG_NO= KATEG_KLIENT.KATEG_NO)and(KLIENT.KLIENT_NAME='-') ORDER BY NOMBER");->IBQuery3->Open();->IBQuery5->SQL->Clear();->IBQuery5->SQL->Add("Select ZAKAZ_NO FROM ZAKAZ ORDER BY ZAKAZ_NO");->IBQuery5->Open();->IBTransaction1->Commit();->IBQuery3->Active=true;->IBQuery4->Active=true;->IBQuery3_1->Active=true;->IBQuery5->Active=true;itogo=0.0,d,d2,d3;d1;(!DataModule2->IBQuery4->Eof){=itogo+DataModule2->IBQuery4Z_SUMMA->AsFloat;=d;=d*100;=d;=d1/100;=d1%100;->IBQuery4->Next();

}->Caption=d2;->Caption=Label6->Caption+"."+d3+" л.";=itogo;(DataModule2->IBQuery4->IsEmpty()){->Visible=false;->Visible=false;

}{->Visible=true;->Visible=true;

}

}

//---------------------------------------------------------------------------

1.


Содержание Введение 1. Техническое задание 1.1 Описание предметной области 1.1.1 Понятие торговли 1.1.2 Понятие оптовая торговля 1.1.3 Воз

Больше работ по теме:

КОНТАКТНЫЙ EMAIL: [email protected]

Скачать реферат © 2017 | Пользовательское соглашение

Скачать      Реферат

ПРОФЕССИОНАЛЬНАЯ ПОМОЩЬ СТУДЕНТАМ