Разработка и внедрение системы анализа и статистики данных

 

Содержание


Введение

1. Общая часть

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

1.2 Описание средств проектирования

1.2.1 Язык программирования Delphi 7.0

1.2.2 Свойство SQL

1.2.3 Доступ к данным

2. Специальная часть

2.1 Моделирование проблемной области

2.2 Моделирование прецедентов

2.3 Построение диаграммы последовательности

2.4 Диаграмма состояния

2.5 Диаграмма классов

2.6 Проектирование баз данных

2.6.1 Этапы проектирования базы данных

2.6.2 Компоненты для работы с БД

2.6.3 Запросы и их применение

2.6.4 Взаимосвязи таблиц

2.6.5 Создание схемы данных

2.6.6 Создание контейнера TDataModule

2.6.7 Обеспечение целостности данных

2.6.8 Каскадное обновление и удаление связанных записей

3. Проектирование пользовательского интерфейса

4. Охрана труда

4.1 Санитарно-эпидемиологические требования к организации и условиям работы с видеодисплейными терминалами и персональными электронно-вычислительными машинами

4.1.1 Санитарно-эпидемиологические требования к микроклимату

4.1.2 Санитарно-эпидемиологические требования к освещению на рабочих местах

4.1.3 Требования к уровням электромагнитных полей на рабочих местах, оборудованных ПЭВМ

4.1.4 Обеспечение пожаробезопасности в вычислительном центре

4.1.5 Обеспечение электробезопасности в вычислительном центре

4.1.6 Санитарно-эпидемиологические требования к уровням шума и вибрации на рабочих местах

4.1.7 Требования к уровням неионизирующих и ионизирующих излучений

4.2 Расчеты

4.2.1 Расчет естественного освещения в помещении

4.2.2 Расчет звукопоглощения

4.2.2.1 Цель расчета

4.2.2.3 Расчет 1

4.2.2.4 Расчет 2

4.2.3 Расчет защитного зануления

5. Экономическая часть

5.1 Технико-экономическое обоснование

5.2 Расчет коммерческой стоимости разработки программных средств (ПС)

5.2.1 Расчет затрат на заработную плату

5.2.2 Расходы на статью "материалы

5.2.3 Расходы на статью "Спецоборудование для научных работ

5.2.4 Расчет затрат на разработку алгоритма

5.2.5 Расчет затрат на написание и отладку программного продукта

5.2.6 Расчет затрат в статье "прочие расходы

5.3 Оценка эффективности внедрения программных средств

5.4 Вывод

Заключение

Список литературы

Приложения


Введение


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

Дирекция объединяет три проекта АО "Казахтелеком", успешно внедренных на телекоммуникационном рынке: национальную сеть передачи данных Kazakhstan Online, цифровую телефонную бизнес-сеть Jrun и спутниковую сеть Kulan. Объединение трех отделов продаж в одну Дирекцию дает возможность пользователю получить весь спектр современных телекоммуникационных услуг в одном офисе, что связано с заботой об экономии времени клиентами. Предлагая новейшие технологии, Дирекция Корпоративных Продаж обеспечивает полный спектр услуг, отвечающий потребностям самого широкого круга потребителей - от крупных корпораций и банков до государственных структур.

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

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

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

- применение оптимальных сетевых решений.

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

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

1. Общая часть


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


Автоматизированная система статистики (АСС) продаж товаров широко применяется в организациях торговли. Торговая компания может использовать автоматизированную систему расчетов для автоматизации бизнес-процессов отдел продаж.

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


1.2 Описание средств проектирования


1.2.1 Язык программирования Delphi 7.0

Бурное развитие вычислительной техники, потребность в эффективных средствах разработки программного обеспечения привели к появлению систем программирования, ориентированных на так называемую "быструю разработку", среди которых можно выделить Borland Delphi. Delphi представляет собой самый популярный программный продукт фирмы Borland, предназначен для скоростной разработки приложений Windows. С его помощью производство программного обеспечения для Windows становится довольно быстрым. В распоряжении разработчика оказывается вся мощь компилируемого языка программирования (Object Pascal), помещенного в оболочку средств скоростной разработки приложения (RAD-систем, Rapid Application Development - среда быстрой разработки приложений). Это значит, что при проектировании интерфейса пользователя (сюда относят различного рода меню, диалоговые панели, главное окно приложения и т.д.) разработчик имеет возможность воспользоваться механикой drap-and-drop. И все это разработчик получает практически бесплатно - даже не жертвуя скоростью выполнения приложений, поскольку Delphi сразу генерирует быстрый машинный код. Delphi замечательно справляется с тем, что касается сокрытия низкоуровневой "кухни" программирования под Windows, но даже она не сможет писать программы.- это среда быстрой разработки, в которой в качестве языка программирования используется язык Delphi. Язык Delphi - строго типизированный объектно-ориентированный язык, в основе которого лежит хорошо знакомый программистам Object Pascal.Delphi 7.0 позволяет создавать самые различные программы: от простейших однооконных приложений до программ управления распределенными базами. В состав пакета включены разнообразные утилиты, обеспечивающие работу с базами данных, XML-документами, создание справочной системы, решение других задач. Borland Delphi 6 может работать в среде операционных систем от Windows98 до Windows2000. Особых требований, по современным меркам, к ресурсам компьютера пакет не предъявляет: процессор должен быть типа Pentium или Celeron с тактовой частотой не ниже 166 МГц (рекомендуется Pentium II 400 МГц), оперативной памяти - 128 Мбайт (рекомендуется 256 Мбайт), достаточное количество свободного дискового пространства (для полной установки версии Enterprise необходимо приблизительно 475 Мбайт).

Для операций с БД в Delphi имеются следующие средства:(Borland DataBase Engine) - процессор баз данных, который представляет собой набор библиотек, предназначенных для организации доступа к БД.Administrator - утилита для настройки BDE.

база статистика табличный процессор

DataBaseDesktop - программа для создания и редактирование таблиц SQL и QBE запросов.Explorer - проводник БД, позволяет настраивать параметры БД.Monitor - программа для отслеживания порядка выполнения SQL - запросов.Links - драйверы для доступа к удаленным программ СУБД, например MSSQL Server OracleInterBase Server - локальная версия SQL - сервера Borland InterBaseServer Server for Windows 95 - много пользовательская версия SQL - сервера Borland InterBase, рассчитанная на четыре одновременных соединения.


1.2.2 Свойство SQL

Свойство SQL - вероятно, самая важная часть TQuery. Доступ к этому свойству происходит либо через Инспектор Объектов во время конструирования проекта (design time), или программно во время выполнения программы (run time).

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

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

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


1.2.3 Доступ к данным

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

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

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

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

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

В качестве системы управления базами данных была выбрана система Microsoft SQL Server. Microsoft SQL Server 2000 Enterprise Edition - это полнофункциональная система управления базами данных и анализа, предназначенная для быстрой разработки современных масштабируемых бизнес-приложений, систем электронной коммерции и информационных хранилищ.Server 2000 обеспечивает высокий уровень масштабируемости, что позволяет использовать SQL Server 2000 и на домашних компьютерах и в масштабах предприятия (Standart Edition или Enterprise Edition). Однока основное направление использования SQL Server 2000 - сетевой сервер БД. SQL Server 2000 может применяться как в небольших компаниях с несколькими пользователями, так и в транснациональных корпорациях с территориально разобщенными офисами и десятками тысяч сотрудников. В зависимости от числа пользователей, масштаба предприятия и ожидаемой нагрузки можно выбирать версии.


2. Специальная часть


2.1 Моделирование проблемной области


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

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

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

- класс получения данных из приложения;

- класс заполнения данными базы данных;

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

- система формирования диаграммы;

- система загрузки данных в MS Excel.

2.2 Моделирование прецедентов


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

На укрупненном уровне ЖЦ включает три этапа:

- анализ;

- проектирование;

- реализация.

На детализированном уровне ЖЦ можно разбить на семь этапов:

- установление требований;

- спецификация требований;

- проектирование архитектуры;

- детализированное проектирование;

- реализация;

- интеграция;

- сопровождение.

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

Рассмотрим требования предъявляемые пользователями данной системы. У будущих пользователей возникают следующие требования к разрабатываемой системе:

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

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

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

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

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

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

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

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

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

- краткое описание;

- предусловия;

- детализированное описание потока событий: основной поток и альтернативные потоки;

- постусловия.

Диаграмма прецедентов показана на рисунке 2.1.


Рисунок 2.1 - Диаграмма прецедентов


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

Приведем описательную спецификацию данного прецедента:

а) прецедент дает возможность оператору провести заполнение письма-уведомления и отобразить результаты в текстовый документ;

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

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

г) альтернативный поток: инженер может импортировать данные MS Excel и перейти к главному окно, а так добавить в базу данных сведения о новом клиенте;

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


2.3 Построение диаграммы последовательности


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

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

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

Диаграмма последовательности состоит из основных элементов:

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

сообщений, изображаемых стрелками, которые направлены от одного объекта к другому;

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

Диаграмма последовательности показана на рисунке 2.2.


Рисунок 2.2 - Диаграмма последовательности


2.4 Диаграмма состояния


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

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

Под состоянием понимается абстрактный метакласс, используемый для моделирования отдельной ситуации, в течение которого имеет место выполнение некоторого условия. Состояние может быть задано в виде набора конкретных значений атрибута класса или объекта, при этом изменение их отдельных значений будет отражать изменение состояния моделируемого класса или объекта. Не каждый атрибут класса может характеризовать его состояние. Имеют значение только такие свойства элементов системы, которые отражают динамический или функциональный аспект ее поведения. В этом случае состояние будет характеризоваться некоторым инвариантным условием, включающим в себя только значимые для поведения класса атрибуты и их значения. Состояние определяется именем и списком внутренних действий или деятельностей, которые выполняются в процессе нахождения моделируемого элемента в данном состоянии и характеризуются меткой действия (entry, exit, do, include). Начальное состояние - частный случай состояния, которое не содержит никаких внутренних действий (псевдосостояния), в котором находится объект по умолчанию в начальный момент времени. Конечное состояние - частный случай состояния, которое не содержит никаких внутренних действий (псевдосостояния), в котором находится объект по умолчанию после завершения работы автомата в конечный момент времени. Состояния могут быть составными - т.е. состоящими из других, вложенных в него состояний (подсостояний), которые могут быть как последовательными, так и параллельными; историческими - т.е. запоминающими; синхронизирующими.

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

Сложные переходы:

а) соединение - если имеется две и более входящих дуг;

б) ветвление - если имеется две и более исходящих дуг.

На рисунке 2.3 показана диаграмма состояния.


Рисунок 2.3 - Диаграмма состояния


2.5 Диаграмма классов


Систему образует системное состояние. Состояние является функцией содержимого системной информации в заданный момент времени. Определение состояния системы описывается в модели классов. Различают классы-сущности, которые определяют информацию системы; пограничные классы, которые определяют GUI-объекты; для управления программной логикой существуют управляющие классы.

Моделирование классов - итеративный пошаговый процесс.

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

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

На рисунке 2.3 показана диаграмма классов.


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


2.6 Проектирование баз данных


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


2.6.1 Этапы проектирования базы данных

Основные этапы проектирования базы данных:

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

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

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

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

) информация в таблице не должна дублироваться;

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

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

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

) каждое поле должно быть связано с темой таблицы;

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

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

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

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

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

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

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

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

и) использование средств анализа в Database Desktop. В Database Desktop существует два инструмента для усовершенствования структуры баз данных.

Интерфейс пользователя происходит через главное меню. Поэтому система должна имеет главное меню.

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

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

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

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

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

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


.6.2 Компоненты для работы с БД

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

Наборы данных это совокупность записей, взятых из одной или нескольких таблиц БД. Набор данных является логической таблицей, записи которой отбирается по определенным правилам. Взаимодействия набора данных и таблицы аналогично взаимосвязанного физического файла и файловой переменной. В Delphi для работы с НД используются компоненты Table, Query, StoredProc и DesisionQuery.- для организации взаимодействия с удаленной БД,. - для построения систем принятия решений.

Основные возможности доступа к БД обеспечивает класс TDataSet - это перемещение по НД и их редактирование. Компоненты ТTable и ТQuery происходят от класса TBDE TDataSet - потомка класса TDataSet через (класс TBDE TDataSet). Для указания местоположения таблиц БД используется свойство DataBaseName. Для ТQuery дополнительно можно задать в SQL - запросе путь доступа к каждой таблице. Число записей, составляющих НД, определяет свойство RecordCount типа Longint. Управление числом записей в НД осуществляется косвенно путем отбора: через фильтрацию или SQL - запрос.

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

Навигационный

Реляционный

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

Реляционный способ доступа основан на обработке группы записей. Если необходимо обработать одну запись, все равно обрабатывается группа, которая рассматривается как одна. Реляционный способ основан на SQL - запросах и называется SQL ориентированным. Используется для работы с удаленной БД.

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

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

сортировка записей

поиск записей

установка связей между таблицами.

Установить текущий индекс можно с помощью свойств Index Name или Index Fieldnames muna String.

Текущий индекс выбирается из списка индексов, которые были заданы при создании таблицы.

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

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

Каждое поле в таблице "Товары" (рисунок 2.5) содержит данные определенного рода о каждом товаре. Каждая запись в таблице "Товары" содержит все сведения об одном товаре, такие как название на английском и русском языках, ID позиции товара и т.д.

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

Уникальная метка, называемая ключом, используется для определения каждой записи таблицы. Подобно тому, как номерной знак однозначно определяет автомобиль, ключ определяет запись. Ключевые поля в таблицах используются для создания межтабличных связей. Например, поле "Лицевой счет" из таблицы "Реквизиты" используется для объединения сведений о товарах и заказах из разных таблиц для их вывода на печать.

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

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

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

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

Это можно сделать путем выделения директории (или путем создания папки) для компонентов БД.

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

) C: \Primer;

) C: \SYSTEMA\STUDENT\…. \Primer.

Обычно в режиме локальных баз данных работают БД (или таблицы БД), созданные в формате СУБД Paradox, dBase и FoxPro.

Присвоение БД псевдонима. Как было отмечено, что БД состоит из совокупности компонентов. Поэтому они должны имеет общее название. В технологии СУБД принято в качестве названия БД присвоить к ней псевдоним (или еще называют: алиас, alias) и тогда обращение из утилит и программы СУБД к БД будет осуществляться через ее псевдоним.

В связи с отмеченным, в утилите BDE Administrator Delphi должен быть:

зарегистрирован псевдоним БД и

указан адрес (путь) к БД.

Создание БД в Delphi или для работы в Delphi начинается с задания места расположения и хранения.

Каждая строка таблицы соответствует полю. Назначения столбцов:Name - имя поля;

Type - тип поля;

Size - размер поля (для строковых полей, поскольку иные поля подразумевают размер, определяемый типом поля);

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

Определим поля, входящие в таблицу "Материалы". Введем Material в столбец Field Name. Для того, чтобы определить тип поля, щелкните по столбцу Type и нажмите клавишу пробела. В ответ на это будет выдан список типов полей, из которых необходимо произвести выбор нужного типа (рис.7).


Рис. 7. Выбор типа поля


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

Мастер таблица по первичному ключу индексируется.

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

Чтобы запомнить сохраненную таблицу на диске, следует нажать кнопку Save As. Затем в появившемся окне следует указать имя таблицы (рис.10) При желании можно указать каталог или псевдоним, отличные от принятых по умолчанию. Напомним, что по умолчанию принимается рабочий каталог или каталог, определяемый рабочим псевдонимом


2.6.3 Запросы и их применение

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

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

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


2.6.4 Взаимосвязи таблиц

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

Одно-многозначные (1: М) или одно-однозначные (1:

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

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

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

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

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

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

Связи-объединения. Между двумя таблицами может быть установлена связь-объединение по некоторому полю связи. Для связи-объединения может быть выбран один из трех способов объединения записей:

а) способ 1 - объединение только тех записей, в которых связанные поля обеих таблиц совпадают (производится по умолчанию);

б) способ 2 - объединение тех записей, в которых связанные поля обеих таблиц совпадают, а также объединение всех записей из первой таблицы, для которых нет связанных во второй, с пустой записью второй таблицы;

в) способ 3 - объединение тех записей, в которых связанные поля обеих таблиц совпадают, а также объединение всех записей из второй таблицы, для которых нет связанных в первой, с пустой записью первой таблицы.

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

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


2.6.5 Создание схемы данных

Создание схемы данных начинается в окне Базы данных (Database) с выполнения команды Сервис|Схема данных (Tools|Relationships) или нажатия кнопки Схема данных (Relationships) на панели инструментов базы данных.

Включение таблиц в схему данных. После нажатия кнопки Схема данных (Relationships) открывается окно Добавление таблицы (Show Table), в котором можно выбрать таблицы и запросы, включаемые в схему данных. Для размещения таблицы в окне Схема данных (Relationships) надо выделить ее в окне Добавление таблицы (Show Table) и нажать кнопку. Добавить (Add). Для выделения нескольких таблиц надо, удерживая клавишу, щелкнуть мышью на каждой из этих таблиц. Включив все нужные таблицы в схему данных, нажать кнопку. Закрыть (Close).

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

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

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

При создании связи по составному ключу необходимо выделить все поля, входящие в ключ главной таблицы, и перетащить их на одно из полей связи в подчиненной таблице. Для выделения всех полей, входящих в составной уникальный ключ, необходимо отмечать поля при нажатой клавише. После создания связи откроется окно Изменение связей (Edit Relationships). При этом в строке Тип отношения (Relationship Type) автоматически установится тип один-ко-многим (One-To-Many).

При составном ключе связи в окне Изменение связей (Edit Relationships) необходимо для каждого поля ключа в главной таблице таблица/запрос (Table/Query) выбрать соответствующее поле подчиненной таблицы, названной связанная таблица/запрос (Related Table/Query).


2.6.6 Создание контейнера TDataModule

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

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

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

. Доступ каждой формы (и ее компонентов) к БД можно осуществить автономно, независимо от остальных форм.

. Второй способ предполагает не повторять для каждой формы организацию доступа к БД, а для всех экранных и отчетных форм организовать единый доступ через специальный компонент типа TDataModule. Компонент типа TDataModule представляет собой контейнер, в который можно помещать невизуальные компоненты TTable, TQuery, DataSource, которые необходимы для доступа к БД и т.д. Тогда все те формы, для которых потребуется доступ к БД, доступ получат через компонент TdataModule. Поэтому при создании СУБД для каждой экранной формы необходимо установить связь с компонентой типа TdataModule.

Таким образом, для работы СУБД необходимо создать компонент типа TDataModule.

Создание экземпляра TDataModule в среде Delphi осуществляется через пункт меню File|New Data Module.

Компонент TDataModule служит контейнером компонентов для работы с базами данных. В палитре компонентов Delphi на странице Data Access выберем мышью невизуальный компонент ТТаblе (рис. 20), щелкнем на нем мышью и затем щелкнем мышью в контейнере. После этого, изображение компоненты останется в контейнере.


Рис. 20. Палитра компонентов Delphi


Невизуальным компонент TTable (как и другие компоненты, например, TQuery, TDataSource) называется потому, что он применяется для хранения и доступа к данным, а не для их визуализации - для этой цели применяются визуальные компоненты (TDBGrid, TEdit и другие).

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

Установим значение свойства DatabaseName (псевдоним БД) в PRIMER при помощи выпадающего списка или введя его вручную. Установим значение свойства TableName (имя таблицы БД) в Materialy. DB при помощи выпадающего списка. После этого установим значение свойства Active в True. После этого произойдет реальное связывание компонента TTable (он по умолчанию имеет имя Table1) с реально существующей таблицей Materialy. DB.

Компонент TTable и компонент TQuery (его мы рассмотрим позже) служат для хранения наборов данных. Понятие набора данных несколько шире, чем понятие таблицы БД, поскольку набор данных может содержать:

подмножество записей или полей таблицы БД (компоненты TTable, TQuery);

записи, сформированные из нескольких таблиц БД (компонент TQuery).

Расположим в контейнере DataModule компонент TDataSource. Он служит в качестве связующего звена между невизуальными компонентами (в данном случае Table1) и визуальными компонентами, которые мы добавим в форму №3 позднее. Поэтому компоненты TDataSource часто называют источниками данных. Установим свойство DataSet (имя набора данных) компонента TDataSource в значение Table1 путем выбора из выпадающего списка.нужно сохранить под каким-либо именем (по умолчанию Unit5. pas). Имя модуля Unit, в котором описан TDataModule, добавляется в текст модулей unit всех иных форм приложения, которые будут использовать БД и TDataSource, расположенные в этом TDataModule. Это производится в главном меню среды Delphi, в элементе меню File|Use Unit.

В дальнейшем визуальные компоненты, работающие с данными набора данных (НД), должны в своем свойстве DataSource содержать имя соответствующего компонента TDataSource из TDataModule. При этом имя является составным: сначала идет имя компонента TDataModule и затем через точку - имя компонента TDataSource, например DataModule5. DataSource1.


2.6.7 Обеспечение целостности данных

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

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

а) в подчиненную таблицу не может быть добавлена запись с несуществующим в главной таблице значением ключа связи;

б) в главной таблице нельзя удалить запись, если не удалены связанные с ней записи в подчиненной таблице;

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


2.6.8 Каскадное обновление и удаление связанных записей

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

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

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

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

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

- поиск товаров по различным критериям;

- просмотр всех владельцев карточек;

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

- редактирование данных;

- создание диаграмм.


3. Проектирование пользовательского интерфейса


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

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

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


Рисунок 3.1 - Внешний вид окна ввода пароля


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

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

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

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

На этой форме так же можно выполнить выгрузку в табличный процессор Excel результат формирования статистического запроса

Помимо этого на форме имеется кнопка "Вывести график", при нажатии на которую открывается окно с диаграммой скидок покупателям построенной на базе сформированного запроса

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

Программа в целях безопасности позволяет включить блокировку БД, например, в случае, когда пользователь отлучился от рабочего места. При нажатии сочетания клавиш Ctrl+Alt+X или выбрать в главном меню Файл команду Блокировка (рисунок).


Рисунок. Блокировка БД


В приложении можно изменить пароль доступа с помощью команды меню "Настройки"/"Сменить пароль" (рисунок 3.9, 3.10, 3.11).

Рисунок 3.9 - Меню Настройки


Рисунок 3.10 - Смена пароля


Рисунок 3.11 - Подтверждение смены пароля


4. Охрана труда


Данный раздел дипломного проекта написан с учётом следующих законов Республики Казахстан: "Закон о безопасности и охране труда" от 28.02.2004г. № 528-II ЗРК; "Закон о промышленной безопасности на опасных производственных объектах" от 03.04.2002г. № 314-II ЗРК; "Закон о пожарной безопасности" от 22.11.1996г.; "Закон о труде в Республике Казахстан" от 10.12.1999г. № 493-I О труде в РК (с изменениями внесенными Законами РК от 06.12.01г. №260-II; от 25.09.03г. №484-II).

Санитарно-эпидемиологические правила и нормы "Санитарно-эпидемиологические требования к эксплуатации персональных компьютеров, видеотерминалов и условиям работы с ними" от 18 августа 2004 года №631.


4.1 Санитарно-эпидемиологические требования к организации и условиям работы с видеодисплейными терминалами и персональными электронно-вычислительными машинами


4.1.1 Санитарно-эпидемиологические требования к микроклимату

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

В производственных помещениях, в которых работа на ВДТ или ПЭВМ является основной (диспетчерские, операторские, расчетные, посты управления, залы вычислительной техники, офисы и др.), должны обеспечиваться оптимальные параметры микроклимата (таблица 4.1).

Таблица 4.1 - Оптимальные нормы микроклимата для помещений с ВДТ и ПЭВМ

Период годаКатегория работТемпература воздуха, 0С, не болееОтносительная влажность воздуха, %Скорость движения воздуха, м/схолодныйЛегкая 1а Легкая 1б22-24 23-2140-60 40-600,1 0,1теплыйЛегкая 1а Легкая 1б23-25 22-2440-60 40-600,1 0,2

Для повышения влажности воздуха в помещениях с ВДТ и ПЭВМ рекомендуется применять увлажнители воздуха, ежедневно заправляемые дистиллированной или кипяченой питьевой водой. Примечание. К категории 1а относятся работы, производимые сидя и не требующие физического напряжения, при которых расход энергии составляет до 120 ккал/ч; к категории 1б относятся работы, производимые стоя, сидя или связанные с ходьбой и сопровождающиеся некоторым физическим напряжением, при котором расход энергии составляет от 120 до 150 ккал/ч.


4.1.2 Санитарно-эпидемиологические требования к освещению на рабочих местах

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


Таблица 4.2 - Уровни освещенности на рабочих местах

Точка контроляОсвещенность (естественная, искусственная), лкОсвещенность КЕО, % Освещенность комбинированная, лкСтол, клавиатура (Г) 4001,5500Экран (В) 300300

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

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

На рабочих местах у ВДТ и ПЭВМ освещенность нормируется в вертикальной плоскости (плоскости экрана) и в горизонтальной плоскости (плоскости стола в зоне работы с документами). Нормирование ведется в абсолютных единицах (люксах), вне зависимости от того, естественное или искусственное освещение в помещении. На горизонтальной поверхности стола в зоне работы с документами комбинированная освещенность должна быть не менее 500 лк (при этом освещенность от общей системы должна составлять не менее 300 лк). При отсутствии комбинированного освещения освещенность на горизонтальной поверхности стола (естественная или искусственная) должна быть не менее 400 лк. На экране (в вертикальной плоскости) освещенность должна 6ыть 200лк. Местное освещение не должно создавать блики на экране и увеличивать его освещенность более 300 лк. Уровни освещенности рабочих мест приведены в таблице 4.2.

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

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

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

Необходимо ограничивать неравномерное, распределения яркости в поле зрения пользователя ВДТ и ПЭВМ, при этом соотношение яркости между рабочими поверхностями (стол: экран) не должно превышать 3: 1-5: 1, а между рабочими поверхностями и поверхностями стен и оборудования - 10: 1.

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

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

В помещениях с ВДТ и ПЭВМ для освещения рекомендуется применять светильники серии ЛП036 с зеркализированными решетками, укомплектованные высокочастотными пускорегулирующими аппаратами (ВЧПРА) для снижения коэффициента пульсации. Допускается применять светильники серии ЛП036 без ВЧ ПРА только в модификации "Кососвет", а также светильники прямого света - П, преимущественно прямого света - Н, преимущественно отраженного света В. Применение светильников без рассеивателей и экранирующих решеток не допускается. При отсутствии светильников с ВЧ ПРА лампы многоламповых светильников или рядом расположенные светильники общего освещения следует включать на разные фазы трехфазной сети.

Светильники общего освещения.

При отсутствии светильников серии ЛПО 36 с ВЧ ПРА и без ВЧ ПРА в модификации "Кососвет" допускается применение светильников общего освещения серий:

- ЛПО13 - 2 x 40/Б - 01;

- ЛПО13 - 4x40/Б - 01;

- ЛСП13 - 2х40-06;

- ЛСП13 - 2x65-06;

- ЛСО05 - 2x40-001;

- ЛСО05 - 2x40-003;

- ЛСО04 - 2x36-008;

- ЛПО34 - 4x36-002;

- ЛПО34 - 4x58-002;

- ЛПОЗ1 - 2x40-002.

А также их отечественных и зарубежных аналогов.

Яркость светильников общего освещения в зоне углов излучения, от 50 до 90 градусов с вертикалью в продольной и поперечной плоскостях должна составлять не более 200 кд/кв. м, защитный угол светильников должен быть не менее 40 градусов.

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

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

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


4.1.3 Требования к уровням электромагнитных полей на рабочих местах, оборудованных ПЭВМ

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

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

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

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

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

В таблице 4.3 приведена предельно допустимая напряженность электромагнитного поля.

Таблица 4.3 - Предельно допустимая напряженность электромагнитного поля

ЧастотаНапряжениеЭлектромагнитная составляющая, В/м60кГц503-30МГц2030-50МГц1050-300МГц5Магнитная составляющая, А/м60-1,5МГц530-50МГц0,3

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

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

- расстояние до экрана монитора должно быть 50-70 см;

- использование защитного экрана;

- плоскость экрана должна быть расположена вертикально или с наклоном на работающего;

- угол зрения должен находиться в пределах 15-20 градусов для оптимального различия символов на экране.


4.1.4 Обеспечение пожаробезопасности в вычислительном центре

Согласно СНиП РК 2.02-05-2002 "Пожарная безопасность зданий и сооружений" для большинства помещений ВЦ установлена категория пожарной опасности В.


Таблица 4.4 - Категории помещений по взрывопожарной и пожарной опасности:

Категория помещенияХарактеристика веществ и материалов, находящихся (обращающихся) в помещенииА взрывопожароопаснаяГорючие газы, легковоспламеняющиеся жидкости с температурой вспышки не более 28°С в таком количестве, что могут образовывать взрывоопасные парогазовоздушные смеси, при воспламенении которых развивается расчетное избыточное давление взрыва в помещении, превышающее 5 кПа Вещества и материалы, способные взрываться и гореть при взаимодействии с водой, кислородом воздуха или друг с другом в таком количестве, что расчетное избыточное давление взрыва в помещении превышает 5 кПа Категория помещенияХарактеристика веществ и материалов, находящихся (обращающихся) в помещенииБ взрывопожароопаснаяГорючие пыли и волокна, легковоспламеняющиеся жидкости с температурой вспышки более 28°С, горючие жидкости в таком количестве, что могут образовывать взрывоопасные пылевоздушные или паровоздушные смеси, при воспламенении которых развивается расчетное избыточное давление взрыва в помещении, превышающее 5 кПаВ14 пожароопаснаяГорючие и трудногорючие жидкости, твердые пожароопасная горючие и трудногорючие вещества и материалы (и том числе пыли и волокна), вещества и материалы, способные при взаимодействии с водой, кислородом воздуха или друг с другом только гореть, при условии, что помещения, в которых они имеются и наличии или обращаются, не относятся к категории А и БГНегорючие вещества и материалы в горячем, раскаленном или расплавленном состоянии, процесс обработки которых сопровождается выделением лучистой теплоты, искр и пламени; горючие газы, жидкости и твердые вещества, которые сжигаются или утилизируются в качестве топлива ДНегорючие вещества и материалы в холодном состоянии

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

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

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

Нормы оснащения помещений огнетушителями приведены в таблице 4.5 Нормы оснащения зданий (сооружений) и территории пожарными щитами приведены в таблице 4.5.


Таблица 4.5 - Нормы оснащения помещений огнетушителями:

Категория помещенияПредельная защищаемая площадь, кв. мКласс пожараПенные и водные огнетушители вместимостью 10лПорошковые огнетушители вместимостью, лХладоновые огнетушители вместимостью, 2 (3) лУглекислотные огнетушители вместимостью, л251025 (8) В400А2++4+2++1+--2++Д--2+1++--- (Е) --2++1+--2++

Таблица 4.6 - Нормы оснащения зданий (сооружений) и территории пожарными щитами [7]:

Наименование назначения помещений и категория помещений или наружных установок по взрывопожарной и пожарной опасностиПредельная защищаемая площадь одним пожарным щитом, м2Класс пожара Тип щита В400А ЕЩП-А ЩП-Е

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

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

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

Высота прохода на эвакуационных путях должна быть не менее 2 м, а их ширина в свету - не менее 1 м. Двери на эвакуационных путях должны открываться по направлению выхода из здания.

В полу на эвакуационных путях не допускаются перепады высот более 45 см. в местах перепада высот следует предусматривать лестницы с числом ступеней не менее трех или пандусы с уклоном не более 1: 6.

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

В ВЦ входы в машинный зал делают через тамбуры - шлюзы, оборудованные самозакрывающимися двупольными дверями со специальным уплотнением. Двери тамбура - шлюза должны открываться в сторону машинного зала, который всегда находиться под избыточным давлением воздуха. Ширина дверей должна быть не менее 1,5 м, высота - не менее 2 м, ширина коридоров - не менее 1,8 м. Из машинных залов площадью более 250 м2 предусматривается не менее двух выходов.

На эвакуационных путях устраивают как естественное, так и искусственное аварийное освещение


4.1.5 Обеспечение электробезопасности в вычислительном центре

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

Выделяют следующие степени воздействия электрических ударов на тело человека:

- 1 степень - судорожные едва ощутимые сокращения мышц;

- 2 степень - судорожные сокращения мышц без потери сознания;

- 3 степень - потеря сознания с сохранением дыхания и работы сердца;

- 4 степень - потеря сознания с нарушением дыхания и работы сердца;

- 5 степень - клиническая смерть.

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

- ощутимый ток (1 мА для переменного напряжения);

- неотпускающий ток 10-15 мА;

- смертельный ток 0,1 А.

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

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

Согласно СН РК 4.04-23-2004 "Электрооборудование жилых и общественных зданий. Нормы проектирования" для обеспечения электробезопасности предусмотрены следующие технические средства защиты [8]:

- электрическая изоляция токоведущих частей;

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

- применение малого напряжения - для производственных целей используется напряжение 42В;

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

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

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

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

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

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

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

Воздействие электрического тока различной величины приведено в таблице 4.7.


Таблица 4.7 - Воздействие электрического тока различной величины характеризуется (статистически) следующими данными [10]:

Ток, мАПеременный ток, 50-60 Гц Постоянный ток0,6-1,5Начало ощущения, легкое дрожание пальцев рукНе ощущается2-3Сильное дрожание пальцев рук Не ощущается5-10Судороги рук Зуд, ощущение нагреваТок, мАПеременный ток, 50-60 Гц Постоянный ток12-15Руки трудно самостоятельно оторвать от электродов. Сильные боли в руках Усиление нагрева20-25Немедленный паралич рук, оторвать их от электродов невозможно. Очень сильные боли. Затруднение дыхания Еще большее усиление нагрева. Незначительное сокращение мышц рук50-80Паралич дыхания. Начало трепетания желудочков сердца Сильное ощущение нагрева. Сокращение мышц рук судороги. Затруднение дыхания90-110Паралич дыхания. При длительности воздействия тока 3 с и более - установившееся трепетание желудочков (паралич сердца) Паралич дыхания

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

Переменный ток более 25-30 мА представляет серьезную опасность; ток более 50 мА вызывает поражения, даже смертельные; ток 100 мА смертелен.

Следует считать опасным и неотпускающий ток 20-25 мА, при котором трудно самостоятельно оторваться от проводника. Неопасен ток в 100 мкА.

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


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

Норми-руемая величинаНаибольшие допустимые значения при продолжительности воздействия, с0,01-0,080,10,20,30,40,50,60,70,80,91Более 1UПР, В220200100705550403530272512Ih, мA22020010070555040353027252

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


4.1.6 Санитарно-эпидемиологические требования к уровням шума и вибрации на рабочих местах

Шум ухудшает условия труда, оказывая вредное действие на организм человека. Допустимые уровни звукового давления, уровня звука и эквивалентные уровни звука на рабочих местах должны соответствовать требованиям СНиП II-12-77 "Защита от шума".

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


Таблица 4.9 - Санитарные нормы вибрации [СанПин 3.01.032-97]

Среднегеометрические частоты полос, ГцДопустимые значение по осям Z; X; YВиброускоренияВиброскоростим/с2дБм/сДБ1/3 окт. 1/1 окт. 1/3 окт. 1/1 окт. 1/3 окт. 1/1 окт. 1/3 окт1/1 окт. 1,6 2,0 2 50,0125 0,0112 0,010,0282 82 80 86 0,13 0,089 0,0630,1888 85 8291 3,15 4,0 5.00,009 0,008 0 0080,01479 78 7883 0,045 0,032 0,0250.06379 76 7482 6,3 8,0 10,00,008 0,008 0,010,01478 78 8083 0,02 0,016 0,0160.03272 70 707612.0 16,0 20,00,0125 0,016 0,020,02882 84 8689 0,016 0,016 0,0160,02870 70 7075 25,0 31,5 40,00,025 0,032 0,040,05688 90 9295 0,016 0,016 0,0160,02870 70 7075 50,0 63,0 80,00,05 0,063 0,080,11294 96 98101 0,016 0,016 0,0160,02870 70 7075 Корректированные и эквивалентные корректированные значения и их уровни0,014830,02875

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

Уровень шума на рабочем месте математиков-программистов и операторов видеоматериалов не должен превышать 50дБ, а в залах обработки информации на вычислительных машинах до 65дБ.


Таблица 4.10 - Предельные уровни звука в дБ на рабочих местах [6]

Категория напряженности трудаКатегория тяжести трудаI. ЛегкаяII. СредняяIII. ТяжелаяIV. Очень тяжелаяI. Мало напряженный80807575II. Умеренно напряженный70706565III. Напряженный6060--IV. Очень напряженный5050--

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

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


4.1.7 Требования к уровням неионизирующих и ионизирующих излучений

На рабочих местах у ВДТ и ПЭВМ регламентируются уровни электрических и магнитных полей в диапазоне частот 5 Гц-2 кГц (в т. ч.50 Гц); 21-400 кГц; 0.06-30 МГц; 30-300 МГц, напряженность электростатического поля на уровне клавиатуры; а также поверхностный электростатический потенциал от монитора на расстоянии 30 см. Нормативные величины приведены в таблице 4.11.

Конструкция ВДТ и ПЭВМ должна обеспечивать мощность экспозиционной дозы рентгеновского излучения в любой точке на расстоянии 0.05 м от экрана и корпуса ВДТ не более 2.5 мк3 в/час.


Таблица 4.11 - Допустимые значения уровней неионизирующих электромагнитных излучений [1]

Наименование параметровКонтрольное расстояние, смДопустимое значениеНапряженность электростатического поля для взрослых пользователей: на клавиатуре от монитора 1,0 на уровне головы 70 см. 20 кВ/мНапряженность электростатического поля для детей детских дошкольных учреждений и учащихся средних и высших учебных заведений: на клавиатуре от монитора 1,0 на уровне головы 70 см. 15 кВ/мНапряженность электростатического поля вокруг ВДТ по электрической составляющей не более в диапазоне частот 5Гц-2кГц в диапазоне частот 2-400кГц в диапазоне частот 3-300МГц на клавиатуре от монитора 1,0 на уровне головы 70 см. 25 В/м 25 В/м 25 В/м Плотность магнитного потока вокруг ВДТ не более в диапазоне частот 5Гц-2кГц в диапазоне частот 2-400кГц на клавиатуре от монитора 1,0 на уровне головы 70 см. 250нТл 25нТлПоверхностный эл. статический потенциал не более30500В

4.2 Расчеты


4.2.1 Расчет естественного освещения в помещении

Исходные данные:

размер помещения: длина Д=30 м, ширина Г=30 м, высота Н=3,8 м;

разряд зрительной работы - 5;

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

наименьший объект различения - 3-5 мм;

контраст различения объекта с фоном малый;

окна начинаются с высоты 1 м над уровнем пола;

высота окон - 3 м;

световой пояс - 4 (Алматы);

затеняющих окно зданий нет;

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

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

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

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

Осветительные условия характеризуются качественными и количественными показателями, к которым относятся: сила света, световой поток, освещенность, яркость, спектральный состав, постоянство освещенности и яркости [5].

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

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

По минимальной освещенности на рабочих местах вычисляем фактический коэффициент естественной освещенности [5]:


, (4.1)


где е - коэффициент естественной освещенности (%);

Евн - естественная освещенность в некоторой точке заданной плоскости внутри помещения светом неба (ЛК);

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

Коэффициент естественной освещенности фактический еф = 0,8%.

Табличное значение коэффициента светового климата К при боковом освещении:

Нормированное значение К. Е.О. = 1,5%

Климатическая зона IV (Южнее 50 градусов северной широты) - Алматы:

Коэффициент светового климата К = 0,9;

Коэффициент солнечности С = 0,75;

На графиках небесная полусфера разбита на 10 000 участков равной световой активности, т.е. каждый участок создает освещенность в 10 000 раз меньшую, чем наружная. Если через световой проем виден один участок небосвода, К. Е.О. равен 0,0001 или 0,01 %.

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


, (4.2)


где n1 - число участков, видимых по высоте световых проемов (5); n2 - число участков, видимых по ширине световых проемов (30). Полученное значение К. Е.О. корректируется с учетом влияния переплетов, остекление и т.п. посредством табличных коэффициентов. Скорректированное значение К. Е.О. не должно быть меньше нормированных значений, в противном случае необходимо увеличить размеры световых проемов.

Вычисляем расчетным коэффициент естественной освещенности:


еp = еH K C = 1,5% 0,9 0,75 = 1,0125%


где еp - расчетная значение коэффициента естественной освещенности;

еH - нормируемое значение коэффициента естественной освещенности;

К - коэффициент светового климата;

С - коэффициент солнечности.

Коэффициент естественной освещенности расчетный ер = 1,0125%

Вычисляем отношение длины к глубине помещения (при Д=41, Г=21) и отношение глубины помещения к верхнему краю оконных рам над горизонтальной плоскостью (при Г=21,4):


Д/Г = 41/21 = 1.95

Г/Н = 21/4 = 5,25


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

окна начинаются с высоты 1 м над уровнем пола;

высота окон - 3 м;

площадь остекления (Пос= 341=123 м2);

расстояние от наружной стенки до рабочей поверхности Р - 5 м.


Д/Г = 41/21 = 1.95

Г/Д = 21/4 = 0,51

Р/Г = 5/21 = 0,24


Световая характеристика окон Р0 = 16.

В качестве светопропускающего материала используем стекло оконное листовое двойное. Вид несущих поверхностей железобетонные арки. Коэффициент светопропускания (вид светопроп-го материала) - двойное стекло Т1=0,8. Коэффициент светопропускания (вид переплета) - спаренный Т2=0,75. Коэффициент светопропускания (при умеренном загрязнении, вертикальном расположении светопропусающего материала) Т3=0,7. Коэффициент (при железобетонных формах) Т4=0,8.

Общий коэффициент светопропускания:


Т0 = Т1 Т2 Т3 Т4 = 0,8 0,75 0,7 0,8 = 0,336


Берем табличные величины - коэффициенты отражения:

Коэффициент отражения потолка (при свежепобеленном) Впот = 0,7.

Коэффициент отражения стен Вст = 0,53.

Коэффициент отражения пола (раб. поверх.) Впол = 0,23.

Также вычисляем:


Площадь потолка=Площадь пола Sпот = Sпол = 2141 = 861.

Площадь стен Sстен = 4,3212+414,3=356,9.


Вычислить средневзвешенный коэффициент отражения:


(4.3)


Средневзвешенный коэффициент отражения Вср = 0,476.

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

Коэффициент Г = 2,45.

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


(4.4)


Площадь проемов по результатам измерения освещенности Пф = 133,877 м2

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


(4.5)


Площадь проемов по результатам измерения освещенности Пр = 169,44 м2

Вычисляем относительные погрешности:


, (4.6)

, (4.7)

.


Погрешность Х1 = 8,843%

Погрешность Х2 = 37,756%


4.2.2 Расчет звукопоглощения


4.2.2.1 Цель расчета

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

Исходные данные для расчета:

а) помещение:

) длина - 30 м;

) ширина - 30 м;

) высота - 3,8 м.

б) количество компьютеров - 90 штук;

в) персонал - 90 человек;

г) дополнительные сведения:

) источник шума находится за узкой стеной (30 м на 3,8 м);

) уровень шума в октавных частотах:

Гц - 90 дБ;

Гц - 87 дБ;

Гц - 85 дБ;

Гц - 85 дБ;

Гц - 86 дБ;

Гц - 89 дБ;

Гц - 92 дБ;

Гц - 95 дБ.

.2.2.2 Методика расчета

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

;

;

;

;

;

;

;

.

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

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

Звукопоглощающая способность (дБ) однородной перегородки может быть определена по формуле (4.8) [6]:


(4.8)


где m0 - масса 1 м2 ограждения, кг,- частота, Гц.

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

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

Чем больше гулкость помещения, тем больше уровень шума в таком помещении, а, значит, тем хуже его фактическое звукопоглощение Rф (дБ) (4.9) [6, стр. 198]:


, (4.9)


где А - эквивалентная площадь звукопоглощения тихого помещения, м2,Sи - площадь изолирующей перегородки, м2.

Необходимо разработать мероприятия по снижению уровня шума в помещении программистов на DL, чтобы привести его к допустимому уровню по формуле (4.10) [6, стр.181]:


, (4.10)


где L - уровень шума в шумном помещении, дБ,доп - допустимый уровень шума, дБ.

Требуемая звукопоглощение ограждения высчитывается по формуле (4.11):


, (4.11)


где B - постоянная помещения, смежного с шумным.

В для каждой полосы частот находится по формуле (4.12) [7]:


, (4.12)


где B1000 - постоянная помещения на частоте 1000 Гц, определяется из таблицы 4.12 [7, стр.76];

? - частотный множитель, который берется из таблицы 4.13 [7, стр.77].


Таблица 4.12 - Постоянные помещения B на частоте 1000 Гц

Тип помещенияПостоянная помещения BС небольшим количеством людей (металлообрабатывающие цехи, вентиляционные камеры, генераторные, машинные залы, испытательные стенды и др.) V/20С жесткой мебелью и большим количеством людей (лаборатории, ткацкие и деревообрабатывающие цеха, кабинеты и др.) V/10С большим количеством людей и мягкой мебелью (рабочие помещения зданий, управлений, залы конструкторских бюро, аудитории, залы ресторанов, торговые залы магазинов и др.) V/6Помещения со звукоизолирующей облицовкой потолка и части стенV/1,5

Таблица 4.13 - Частотный множитель

Объем помещения V, м3Частотный множитель в октавных полосах631252505001000200040008000до 2000,800,750,700,8011,41,82,5от 200 до 10000,650,620,640,7511,52,44,2от 10000,500,600,650,7011,63,06,0

4.2.2.3 Расчет 1

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

Масса 1 м2 бетона толщиной 0,1 м равна 240 кг.

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

Гц - 36,09 дБ;

Гц - 42,04 дБ;

Гц - 48,06 дБ;

Гц - 54,08 дБ;

Гц - 60,10 дБ;

Гц - 66,12 дБ;

Гц - 72,14 дБ;

Гц - 78,17 дБ.

По формуле (4.9) рассчитаем фактическое звукопоглощение Rф для октавных частот:

Гц - 49,05 дБ;

Гц - 55,00 дБ;

Гц - 61,02 дБ;

Гц - 67,04 дБ;

Гц - 73,06 дБ;

Гц - 79,08 дБ;

Гц - 85,10 дБ;

Гц - 91,13 дБ.

Результаты сведем в таблицу 4.14, при этом отметим, что эквивалентная площадь звукопоглощения тихого помещения А равна 2256м2 (площадь стен, потолка и пола без площади смежной стены); площадь изолирующей перегородки Sи = 114м2.

Рассчитаем постоянные помещения B для каждой октавной частоты по формуле (4.12). B1000 определим из таблицы 4.12 - в нашем случае V/10, т.е. 3420/10 = 342. Получим B для октавных частот:

Гц - 171;

Гц - 205,2;

Гц - 222,3;

Гц - 239,4;

Гц - 342;

Гц - 547,2;

Гц - 1026;

Гц - 2052.

Рассчитаем DL для октавных частот по формуле (4.10):

Гц - 19 дБ;

Гц - 26 дБ;

Гц - 31 дБ;

Гц - 36 дБ;

Гц - 41 дБ;

Гц - 47 дБ;

Гц - 52 дБ;

Гц - 57 дБ.

По формуле (4.11) рассчитаем требуемую звукоизоляцию ограждения Rтр. огр:

Гц - 37,34 дБ;

Гц - 44,26 дБ;

Гц - 49,22 дБ;

Гц - 54,19 дБ;

Гц - 59,04 дБ;

Гц - 64,83 дБ;

Гц - 69,56 дБ;

Гц - 74,26 дБ.

Результаты сведем в таблицу 4.14.

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


Таблица 4.14 - Уровни звука

Уровни звукового давления, дБСреднегеометрические частоты октавных полос, Гц631252505001000200040008000Нормируемый уровень [6, стр.179] 71,0061,0054,0049,0045,0042,0040,0038,00Уровень шума90,0087,0085,0085,0086,0089,0092,0095,00Уровни звукового давления, дБСреднегеометрические частоты октавных полос, Гц631252505001000200040008000Требуемое звукопоглощение ограждения (Rтр. огр) 37,3444,2649,2254, 1959,0464,8369,5674,26Фактическое звукопоглощение ограждения (Rф) 49,0555,0061,0267,0473,0679,0885,1091,13

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


4.2.2.4 Расчет 2

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

Масса 1 м2 бетона толщиной 0,05 м равна 120 кг.

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

Гц - 30,07 дБ;

Гц - 36,02 дБ;

Гц - 42,04 дБ;

Гц - 48,06 дБ;

Гц - 54,08 дБ;

Гц - 60,10 дБ;

Гц - 66,12 дБ;

Гц - 72,14 дБ.

По формуле (4.9) рассчитаем фактическое звукопоглощение Rф для октавных частот:

Гц - 43,03 дБ;

Гц - 48,98 дБ;

Гц - 55,00 дБ;

Гц - 61,02 дБ;

Гц - 67,04 дБ;

Гц - 73,06 дБ;

Гц - 79,08 дБ;

Гц - 85,10 дБ.

Результаты сведем в таблицу 4.15. Площадь звукопоглощения тихого помещения А равна 2256, площадь изолирующей перегородки Sи = 114м2.

Рассчитаем постоянные помещения B для каждой октавной частоты по формуле (4.12). B1000 определим из таблицы 4.12 - в нашем случае V/10, т.е.3420/10 = 342. Получим B для октавных частот:

Гц - 171;

Гц - 205,2;

Гц - 222,3;

Гц - 239,4;

Гц - 342;

Гц - 547,2;

Гц - 1026;

Гц - 2052.

Рассчитаем DL для октавных частот по формуле (4.10):

Гц - 19 дБ;

Гц - 26 дБ;

Гц - 31 дБ;

Гц - 36 дБ;

Гц - 41 дБ;

Гц - 47 дБ;

Гц - 52 дБ;

Гц - 57 дБ.

По формуле (4.11) рассчитаем требуемую звукоизоляцию ограждения Rтр. огр:

Гц - 37,34 дБ;

Гц - 44,25 дБ;

Гц - 49,22 дБ;

Гц - 54,19 дБ;

Гц - 59,04 дБ;

Гц - 64,83 дБ;

Гц - 69,56 дБ;

Гц - 74,26 дБ.

Результаты сведем в таблицу 4.15.

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


Таблица 4.15 - Уровни звука

Уровни звукового давления, дБСреднегеометрические частоты октавных полос, Гц631252505001000200040008000Нормируемый уровень [6, стр.179] 71,0061,0054,0049,0045,0042,0040,0038,00Уровень шума90,0087,0085,0085,0086,0089,0092,0095,00Требуемое звукопоглощение ограждения (Rтр. огр) 37,3444,2549,2254, 1959,0464,8369,5674,26Фактическое звукопоглощение ограждения (Rф) 43,0348,9855,0061,0267,0473,0679,0885,10

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


4.2.3 Расчет защитного зануления

Степень воздействия электротока на организм человека зависит от его величины о протяженности воздействия. В случае если устройства питаются от напряжения 380/220 В или 220/127 В в электроустановках с заземленной нейтралью применяется защитное зануление.

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


Рисунок 4.1 - Схема зануления


Где Ro - сопротивление заземления нейтрали;- расчетное сопротивление человека;

- магистраль зануления;

- повторное заземление магистрали;

- аппарат отключения;

- электроустановка (ЭВМ, паяльник и т.д.);

- трансформатор.

Сила тока зависит от величины приложенного напряжения и сопротивления участка тела. Сопротивление участка тела складывается из сопротивления тканей внутренних органов и сопротивления кожи. При расчете принимается R=1000 Ом. Воздействие тока различной величины приведены в таблице 4.16 [8].


Таблица 4.16 - Воздействие тока различной величины

Ток, мАВоздействие на человекаПеременный токПостоянный ток0,5ОтсутствуетОтсутствует0,6-1,5Легкое дрожание пальцевОтсутствует2-3Сильное дрожание пальцевОтсутствует5-10Судороги в рукахНагрев12-15Трудно оторвать руки от проводовусиление нагрева20-25Руки парализует немедленноусиление нагрева50-80Паралич дыханиязатруднение дыхания90-100при t>3 сек - паралич сердцапаралич дыхания

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

Исходные данные: количество компьютеров - 90 единиц.

Рассчитать систему защитного зануления электрооборудования для вычислительного центра с общим числом компьютеров в 90 единиц. Учитывая, что потребляемая мощность современного компьютера около 200 Ватт, можно запросто рассчитать, что при номинальном напряжении 220 В требуемый ток для полноценной работы будет равен 0,9 А (200/220). Взяв небольшой запас и увеличив требуемый ток до 1 А получим 90 А для всего центра. И так как используется 3 фазное напряжение то получим 60 А на каждую фазу (90/3). Учитывая, что для обеспечения работоспособности всего центра требуются принтеры, сканнеры и прочее оборудование, в том числе и вентиляционные установки, возьмем запас по току +20 А (~20%). В итоге получаем, что для функционирование к вычислительному центру требуется подвести 80 А на каждой фазе.

Для питания электрооборудования от цеховой силовой сборки используется провод марки АЛП, прокладываемый в стальной трубе. Выбираем сечение алюминиевого провода S=2.5 мм. Потребитель подключен к третьему участку питающей магистрали.

Первый участок магистрали выполнен четырехжильным кабелем марки АВРЕ с алюминиевыми жилами сечением (350+125) мм в полихлорвиниловой оболочке. Длина первого участка - 0,25 км. Участок защищен автоматом А 3110 с комбинированным расщепителем на ток Iном=100 А.

Второй участок проложен кабелем АВРЕ (325+110) мм длиной 0,075 км. Участок защищен автоматическим выключателем А 3134 на ток 80 А. Магистраль питается от трансформатора типа ТМ=1000 с первичным напряжением 6 кВ и вторичным 400/220 В.

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

ТП - трансформаторная подстанция;

РП - распределительный пункт;

СП - силовой пункт.


Рисунок 4.2 - Схема питания оборудования


Типы электрических установок, используемых для автоматической защиты при коротком замыкании (КЗ):

а) автоматические выключатели, имеющие только электромагнитные расцепители, т.е. срабатывающие без выдержки времени;

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

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

Так как в схеме приведен участок магистрали больше 200 м, то необходимо повторное зануление [8].

Определим расчетное значение сопротивления трансформатора.

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


, (4.13)


где l - длина провода; S - сечение провода; r - удельное сопротивление материала (для алюминия r=0,028 0ммм2/км) [8].

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


Ом Ом

Ом RФ1=0,14 0м; RФ2=0,084 0м;RФ3= 0,336 0м;


Полное активное сопротивление фазного провода: RФее =О,56 0м.

Рассчитаем активное сопротивление фазного провода с учетом температурной поправки, считая нагрев проводов на всех участках равным Т=55 С.


Ом, (4.14)


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

Активное сопротивление нулевого защитного проводника:


Ом,

Ом


Для трубы из стали: r=1,8 Ом/км


Ом


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

M3 ее =RM3 1+RМЗ 2+RM3 3=0,544 Oм (4.15)


Определяем внешние индуктивные сопротивления. Для фазового провода:


Х'Ф= Х'ФМ - ХФL (4.16)


Для магистрали зануления:


Х'М3= Х'М3 М - ХМ3 L, (4.17)


где Х'М3 и Х'ФМ - индуктивные сопротивления, обусловленные взаимоиндукцией фазового провода и магистрали зануления;

ХМ3 и ХФ1 - внешние индуктивные сопротивления самоиндукции.

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


Х'ФМ = Х'М3 М =0,145 lg (dФМ3),


где d - расстояние между фазным и нулевым проводом (для 1 и 2 d=15 мм, для 3 d=9.5 мм).


ХФМ1=ХМ3М=0,145 lg15=0,17 Ом;

ХФМ2=ХМ3М=0,145 lg15=0,17 Ом;

ХФМ3=ХМ3М=0,145 lg9,5=0,142 Ом.


Суммарное сопротивление на всех участках:


ХФМ =ХМ3М =30,145=0,482 Ом


Внешние индуктивные сопротивления определяются по формуле:

ФL = X'L L,


где X'L - удельное сопротивление самоиндукции, Ом/м.

'L1 =0,090,25=0,023 Oм'L2=0,0680,075=0,005 Oм'L3 =0,030,03=0,0009 Oм


Суммарное внешнее индуктивное сопротивление фазового провода:


ХФL=0,029 Oм; XM3L1 =0,0680,25=0,017 Oм;M3L2 =0,030,075=0,0025 Oм;M3L3=0,1380,03=0,004 Oм.


Суммарное внешнее индуктивное сопротивление магистрали зануления: XM3L=0,024 Oм

Суммарное внешнее индуктивное сопротивление:


ХФ'=0,435-0,0314=0,453 Ом;

ХМ3'=0,435-0,0244=0,458 Ом.


Определяем внутреннее индуктивное сопротивление:


ХФ"1-2= XM3"1-2=0,0570,075=0,001 Ом;

ХФ"3=0,01570,03=0,0005 Oм.


Полное сопротивление фазного провода и магистрали зануления:

Ф=0,78 Ом;M3=0,79 Oм.


Ток однофазного КЗ определим по формуле:


(4.18)


Сравним расчетные параметры с допустимыми: IКЗ=132>12 А (ток срабатывания защитного устройства).

Кроме того, должно выполняться условие: ZM3 < ZФ.

Условие выполняется.

5. Экономическая часть


5.1 Технико-экономическое обоснование


В данном проекте разработан "Модуль анализа и статистики ТОО Рамстор". Программный проект рассчитан на работу в торговых организациях.

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

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


5.2 Расчет коммерческой стоимости разработки программных средств (ПС)


Коммерческая стоимость разработки ПС осуществляется по формуле:


(5.1)


Сметная стоимость С разработки ПС осуществляется по формуле:


, (5.2)


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


5.2.1 Расчет затрат на заработную плату

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


, (5.3)


где Кз - средняя тарифная ставка специалиста организации-разработчика ПС, тыс. тенге/чел. дн.;

Т - трудоемкость разработки ПС, чел. дн.

Определим фонд заработной платы по формуле:


, (5.4)


где ЗП - оклад одного сотрудника, тенге/мес.;- численность сотрудников организации;

М - число месяцев в году, М=12.


Отсюда: ФЗП1=25000 1 12=300 тыс. тенге


Затраты на статью "отчисления на социальные нужды" определим в соответствии с таблицей 5.1 Тогда:


ФЗП2 = (ФЗП1 - 174 480) 0.15 + 34 956 = (300000 - 174 480) 0.15 + + 34 956 = 53784 (тенге).


Определим чистую заработную плату:


ЧЗП = ФЗП1 - ФЗП2 = 300000 - 53784 = 246216 (тенге).


Определим среднюю тарифную ставку специалиста-разработчика по формуле:


, (5.5)


где N - среднесписочная численность организации-разработчика за предыдущий год, чел.;

ФРВ - фонд рабочего времени одного сотрудника организации-разработчика за предыдущий год, дн.


Отсюда: K3 =300000/ (1260) = 1,154 (тыс. тенге/чел. дн)


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

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

а) объем ПС ВТ в тыс. условных машинных команд;

б) сложность разрабатываемого ПС ВТ;

в) степень новизны разрабатываемого ПС ВТ;

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

Объем ПС ВТ определятся методом структурной аналогии по соответствующим каталогам аналогов ПС ВТ.

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

Степень новизны ПС ВТ определяется значением поправочного коэффициента. В этом дипломном проекте степень новизны - В, т.е. ПС ВТ, являющиеся развитием определенного параметрического ряда ПС ВТ, разработанные на ранее освоенных типах ЭВМ и операционных системах (ОС).

По степени использования в разработке ПС ВТ типовых (стандартных) программ и охвата ими реализуемых функций разрабатываемого ПС ВТ выделены пять групп.

Основные характеристики программных средств приведены в таблице 5.1.


Таблица 5.1 - Характеристика программных средств

Название ПС ВТСтепень новизныКоэффициент использования ПС ВТ, Группа сложностиМодуль оповещенияККодОсобенности0,91ВВа) не основная ОС б) не новая ЭВМ0,7Характеристики ПС ВТКоэффициент сложности, 1. Функционирование ПС ВТ в расширенной операционной среде (связь с другими) ПС ВТ0,082. Интерактивный доступ0,063. Обеспечение хранения, ведения и поиска данных в сложных структурах0,074. Наличие у ПС ВТ одновременно нескольких характеристик (2): наличие мощного интеллектуального языкового интерфейса высокого уровня; режим работы в реальном времени; 0,12Итого: 0,33

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

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


Таблица 5.2 - Основные функции программных средств

Наименование функцииНомер функции по каталогуОбъем функций () По каталогуУточненный1. Организация ввода информации; 1016006002. Контроль, предварительная обработка и ввод информации; 10218106003. Организация ввода-вывода информации в интерактивном режиме; 10910855004. Формирование базы данных; 203626030005. Обработка наборов и записей базы данных; 204790010006. Организация поиска и поиск в базе данных; 20817 27010007. Обеспечение интерфейса между компонентами; 50768605008. Справка и обучение; 604445010009. Процессор отчетов; 70412550100010. Предварительная обработка и печать файлов; 7062160300Общий уточненный объем ПС ВТ; 9 500Затраты труда на разработку ПС ВТ (), чел. дн. (); 1182Общая трудоемкость, чел. дн. =0,331157390

где Кяз = 0,5.

Расчет трудоемкости каждой стадии (Т) разработки ПС ВТ производится по следующим формулам:


=0,110,7390=30 - трудоемкость стадии ТЗ;

=0,090,7390=25 - трудоемкость стадии ЭП;

=0,110,7390=30 - трудоемкость стадии ТП;

=0,550,70,9390=135 - трудоемкость стадии РП;

=0,140,7390=38 - трудоемкость стадии ВН,


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

- поправочный коэффициент, учитывающий степень новизны ПС ВТ;

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


Таблица 5.3 - Степень использования разработки типовых программ и ПС ВТ

Характеристика ПС ВТСтадииТ3ЭПТПРПВНИтого1. Коэффициенты удельных весов трудоемкости стадии; L1=0,11 L2=0,09 L3=0,11 L4=0,55 L5=0,142. Трудоемкость Т (чел. дн); 302530135382583. Численность разработчиков по стадиям. 11111

Соотношение трудоемкости каждой стадии представлено на рисунке 5.1.


Рисунок 5.1 - Соотношение трудоемкостей разработки ПС


Итак, затраты на заработную плату С3 в соответствии со значениями тарифной ставки и трудоемкости разработки ПС ВТ составляют:


=1,154258=300 000 тенге (5.6)


5.2.2 Расходы на статью "материалы

К ним относятся все затраты на магнитные носители данных (НМД), бумагу для печатающих устройств и другие материалы, (цены с прайс-листа фирмы "Alser) необходимые для разработки ПС: а) норма расхода НМД составляет 10 шт. в год или =900 тенге; б) средний расход бумаги в день составляет 3-4 листов. За период реализации разработки понадобится 1000 листов (2 пачки по 500 тенге за пачку); в) стоимость картриджа на лазерный принтер HP LaserJet 1010 Laser A4 составляет 8000 тенге в год.

Итого, затраты на бумагу печатающих устройств =1000 тенге. Итого:


+1000+8000=9800 тенге.


5.2.3 Расходы на статью "Спецоборудование для научных работ

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

Технические средства:

а) затраты на приобретение и установку компьютера Pentium4-2000/512Mb/80,0Gb/128MbAGP/SB/FDD/CD/LAN/K/M/P/Modem составляют 58 600 тенге;

б) принтер HP LaserJet 1010 Laser A4 USB 2.0 - 20500 тенге.

Итого, при разработке ПС ВТ используется компьютер, принтер.

При установленной норме амортизации на ПК НА=12,5% амортизационные отчисления за год составляет:


Ао=0,125 (58 600+20 500) =9887 тенге (5.7)


Затраты на приобретение, установку и эксплуатацию технических средств Стех составляют:


Стех=58 600+20 500=79100 тенге (5.8)


Программные средства:

а) затраты на приобретение и установку операционной системы Microsoft Windows Pro 2000 Russian составляют 11 650 тенге;

б) затраты на приобретение и установку языка программирования Visual Basic 6.0 составляют 30 000 тенге.


Спрог=11650+30000=41 650 (5.9)


Итого, расходы по статье "Спецоборудование для научных работ" составляют:


Сснр= Стех +С прог= 79100 + 41 650= 120750 тенге (5.10)


5.2.4 Расчет затрат на разработку алгоритма

Затраты на разработку алгоритма определяется:


Салг = ЗПразрВ + От З/П, (5.11)


где ЗПразр - оклад разработчика-программиста (тенге/месяц);

В - время затраченное на разработку алгоритма (месяц);

От З/П - отчисление на социальные нужды (30%).

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


От З/П = 40 000 2 0,3 = 24000 (тенге)

Салг = 40 000 2 + 24 000 = 104 000 (тенге)


5.2.5 Расчет затрат на написание и отладку программного продукта

Затраты определяются по следующей формуле:


Сотл = Котл + ФЗ/Потл, (5.12)


где Котл - стоимость машинного времени, затраченного на отладку программы;

ФЗ/Потл - фонд заработной платы программиста на отладку и написание программы.


ФЗ/Потл =кмЗПразр+ОтЗ/П, (5.13)


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

ЗПразр - оклад программиста (тенге/месяц);

ОтЗ/П - отчисление на социальные нужды (30%).

Написание программного продукта у программиста заняло 1 месяц. Оклад программиста составляет 35000 тенге в месяц. Отчисление на социальные нужды 30%.


ОтЗ/П = 25 000 1 0,3 = 7 500 (тенге)

ФЗ/Потл = 25 000 1 + 7 500 = 32 500 (тенге)


Стоимость машинного времени, затраченного на отладку программы, определяется по формуле:


Котл = kdq, (5.14)


где k - время работы на ПК в день;- количество дней работы на ПК;- стоимость часа машинного времени (т/час).

Время работы на ПК в день k =8 часов, количество дней работы на ЭВМ=23 дней. Ниже приводится расчет одного часа машинного времени.

Стоимость часа машинного времени определяется следующим образом:

= S/T, (5.15)


где S - годовые издержки использования ЭВМ, тенге;

Т - количество часов использования ЭВМ в год, ч.

Годовые издержки использования ЭВМ:

=Uрем+UАм+UЗ/П+Uэлек, (5.16)


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

Затраты на ремонт берутся в размере 10% в год от стоимости оборудования (стоимость оборудования составляет 120 750 тенге) и составляет:

рем =120 750 0,1= 12 750 (тенге)


Амортизационные отчисления отчисляются из расчета 25% в год от стоимости оборудования и составляют:

Ам = 120 750 0,25 = 30 187,5


Заработная плата программиста 25 000 тенге в месяц, с учетом отчислений на социальные нужды 21% заработная плата программиста в год будет составлять:

З/П = (25 000 12) + 63 000= 363 000


Стоимость потребляемой электроэнергии рассчитывается исходя из потребляемой мощности компьютера и стоимости киловатта. Потребляемая электроэнергия в час равна 0,35 кВт, стоимость 1 кВт равна 4,6 тенге следовательно, стоимость 0,35 кВт равна 1,61 тенге. Учитывая, что количество часов использования ЭВМ в месяц составляет 184 час (при 8 часовом нормированном рабочем дне и 23 рабочих днях в месяц), стоимость потребляемой электроэнергии в год будет составлять:

элек = 1,61 184 12 = 3 555 (тенге)


По формуле (5.16) вычисляем общие затраты:

= 12 750 + 30 187,5 + 363 000 + 3 555 = 408 817,4 (тенге)


Количество часов использования ЭВМ в год составляет Т=2208 часа. Тогда стоимость одного часа машинного времени будет составлять формула (5.15):

= 408 817,4/2208= 185 тенге/час


Таким образом, стоимость машинного времени, затраченного на отладку программы, по формуле (5.14) составляет:


Котл = 8 23 185 = 34 068


Следовательно общие затраты на написание и отладку программы исходя из формулы (5.12):


Сотл = 34 068 + 32 500 = 66 568 (тенге)


5.2.6 Расчет затрат в статье "прочие расходы


Расчеты:

а) на машинное время осуществляется по формуле:


=301504=45,12 (тыс. тенге), (5.17)


где - тарифная стоимость одного часа машинного времени, принимается по плановой себестоимости часа машинного времени в организации-разработчике 30 тенге/час;

- используемое машинное время на разработку ПС, час, соответствует 1504 час.

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

в) затраты на приобретение специальной учебной литературы по программированию составляют Скн=2000 тенге;

г) расходы за пользование средствами связи по передаче информации (Internet):

) почасовая оплата за Internet - 0,131 тыс. тенге/час;

) время на использование Internet с целью поиска информации, необходимой для разработки - 1 час/день.

Итого:


=25010,131 = 32,75 (тыс. тенге) (5.18)


Итого, затраты по статье "Прочие расходы" составляют:


=45,12+2+32,75=79,87 (тыс. тенге) (5.19)


Расчет затрат в статье "накладные расходы

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

Коммерческая стоимость программы представлена в таблице 5.4


Таблица 5.4 - Коммерческая стоимость разработки ПС

Наименование статей затратВсего по теме (тенге) 1. Заработная плата; 300 0002. Отчисления на социальное страхование; 53 7843. Материалы; 98004. Спецоборудование для научных работ120 7505. Прочие расходы79 8706. Накладные расходы3 000Итого сметная стоимость568 204НДС (15%) 85 080,6Коммерческая стоимость652 284,6

Итого, на статью "Накладные расходы" затраты составляют 3000 тенге.


5.3 Оценка эффективности внедрения программных средств


Затраты до внедрения программных средств определяются по формуле:


, (5.20)


где - фонд заработной платы исполнителя за год, тенге/год;

- дополнительные затраты, тенге/год.

Фонд заработной платы рассчитывается:


, (5.21)


где Q - месячный оклад исполнителя, тенге;- численность исполнителей, чел.;

- отчисление на социальные нужды.


Отсюда, =25000121+53 784 =353 784 тенге/год.


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


=353 784+450 000=803 784 тенге/год


Затраты на решение данной задачи с учетом использования программных средств определяется по формуле:


, (5.22)


где - затраты по использованию машинного времени для решения задачи, тенге/год;

- затраты на перечень выходных документов, тенге/год;

- фонд заработной платы исполнителей, тенге/год.

Затраты на использование машинного времени определяются:


=150430=45120 тенге/год, (5.23)


где - количество часов использования ПЭВМ в месяц, час;

- стоимость одного часа машинного времени, тенге.

Затраты на печать выходных документов определяются по формуле:


=0,01100030=300тенге/год, (5.24)


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

- количество экземпляров в год, шт.;

- стоимость одного часа машинного времени, тенге.


= 45120+300+300 000= 345 420 тенге/год


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


=803 784-345 420=458 364 тенге/год, (5.25)


где - затраты на решение задачи до внедрения ПС, тенге/год;

- затраты на решение этой же задачи с применением ПС, тенге/год.

Годовой экономический эффект состоит:


=458364-0,35567204=259 842,6 тенге, (5.26)


где - годовая экономия, тенге/год;

- нормативный коэффициент эффективности (для ПС ЕН=0,35);

- затраты на разработку и внедрение ПС, тенге.

Срок окупаемости затрат определяется по формуле:


(5.27)


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


, (5.28)


где - расчетный срок окупаемости, лет;

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


5.4 Вывод


В данном разделе дипломного проекта было представлено технико-экономическое обоснование (ТЭО) по теме: "Модуль анализа и статистики ТОО Рамстор".

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

а) планирование разработки и расчет трудоемкости;

б) расчет стоимости разработки;

в) экономическая эффективность разработки.

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

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

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

В результате расчета затрат на создание данного программного продукта составили 567 204 тенге. Эти расходы окупаются за 1,24 года. Годовой экономический эффект составил 259 842,6 тенге в год, а готовый программный продукт позволяет нам экономить до 458364 тенге в год что говорит о целесообразности внедрения данной системы.

Заключение


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

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

Список литературы


1.Санитарно-гигиенические требования к условиям труда - Алматы: Бико, 2005.

2.Русак О.Н., Кондрасенко В.Я. Безопасность жизнедеятельности в техносфере. - Красноярск: ИПЦ КГТУ, 2001

.Злобинский Б.М. Охрана труда в металлургии. - М., "Металлургия", 1975, 2 изд.

.Пожарная безопасность зданий и сооружений. - СНиП РК 2.02-05-2002

.Естественное и искусственное освещение. - СНиП РК 2-04-05-2002

.Защита от шума. - СНиП II-12-77

.Злобинский Б.М. Производственная санитария. Справочное пособие. - М.: 1969.

.Интемиров К.Б. Исследование и расчет заземляющих устройств. - Алматы: 1996.

.Архангельский А.Я. Программирование в Delphi 6. - М.: Бином, 2002.

.Гофман В.Э., Хомоненко А.Д. Delphi 6. - СПб.: БХВ-Петербург, 2002.

.Фаронов В.В. Delphi 6. Учебный курс. - М.: Издатель Молгачева С.В., 2001.

.Дж. Мартин. Организация баз данных в вычислительных системах. - М.: Мир 1978.

.С.М. Диго Проектирование и использования баз данных. Москва: Финансы и статистика 1995.

.Горев А., Ахаян Р., Макашарипов С. Эффективная работа с СУБД. СПб.: Питер, 1997.

.Хавронская А.М. Оценка технико-экономической эффективности программных средств. Методические указания по выполнению экономического раздела дипломных проектов и работ. - Алматы: КазНТУ, 2000.

Приложения


Приложение А


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

А.1 Введение

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

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

А.2 Цель

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

А.2.1 Область применения

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

При реализации системы "Модуль анализа и статистики ТОО Рамстор" решаются следующие проблемы:

а) Рассчитывается система скидок;

б) Минимизируется вмешательство по переносу данных в текстовый файл;

в) Исключается вероятность ошибок при заполнении данных клиента.

А.2.2 Определения, термины и сокращения

Таблица А.1 - Определения, термины и сокращения

Сокращение или терминОпределениеЛСЛицевой счет

А.3 Общее описание

А.3.1 Пользовательский интерфейс


Рисунок А.1 - Письмо-уведомление


А.3.2 Аппаратные интерфейсыPC

А.3.3 Программные интерфейсыAdministrator, Database Desktop, OC Win9x, WinNT, Delphi 7.0, Rational Rose, Microsoft Office.

А.3.4 Коммуникационные интерфейсы

Программа рассчитана для локального использования

Продолжение приложения А

А.4 Детальные требования

А.4.1 Функциональные требования

Программа должна выполнять такие функции, как:

а) Ввод товаров, карточки покупателя и данные о продажах;

б) Чтение данных;

в) Обработка данных;

г) Редактирование данных;

д) Поиск данных по товарам, номере карточки и т.д.;

е) Вывод данных в файл Excel;

ж) Формирование графика интенсивности покупок товара клиентами и соответствующих скидок.

А.4.2 Нефункциональные требования

А.4.2.1 Производительность

Программа должна нормально функционировать на стандартных персональных компьютерах. Тактовая частота 500 МГц и объёмом ОЗУ 128 Мb (минимальные требования).

А.4.2.2 Надежность и доступность

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

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

Продолжение приложения А

А.4.2.3 Обработка ошибок

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

А.4.2.4 Интерфейсные требования

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

А.4.2.5 Ограничения

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

Приложение Б


Текст программыUnit1;, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,, StdCtrls, XPMan, Buttons, Mask;= class (TForm): TBitBtn;: TBitBtn;: TXPManifest;: TLabel;: TMaskEdit;BitBtn2Click (Sender: TObject);BitBtn1Click (Sender: TObject);FormCreate (Sender: TObject);

{ Private declarations }

{ Public declarations };: TForm1;: byte;Unit2, Unit4;

{$R *. dfm}TForm1. BitBtn2Click (Sender: TObject);;;TForm1. BitBtn1Click (Sender: TObject);,p,p1,st1,st2: string;: TextFile;,a, i: byte;: ='';(e,path);: =path+'\jill. txt';(f,path);

{$I-}

Продолжение приложения Б(f);

{$I+}IOresult=0 then(f,p);: ='';: ='';: =length (p) div 2;length (p) mod 2<>0 then a: =a+1;i: =1 to a do st1: =st1+p [i];i: =a+1 to length (p) do st2: =st2+p [i];a mod 2=0 theni: =1 to a do: =p1+st1 [i];: =p1+st2 [i]i: =1 to a do: =p1+st1 [i];: =p1+st2 [i];i=a then p1: =p1+st1 [i+1];;: =Trim (p1);MaskEdit1. Text=p then;z=0 then: =1;. Show. Enabled: =True;. Show;;(' Неверный пароль '+#13+

Продолжение приложения Б

' Повторите попытку ');. Text: ='';. SetFocus;;(' Программа совершила '+#13+

' Недопустимую операцию и '+#13+

' будет закрыта '+#13+

' Обратитесь в IT-отдел ');;;(f);;TForm1. FormCreate (Sender: TObject);: =0;;.Unit2;, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,, Menus, XPMan, ComCtrls, StdCtrls, ExtCtrls, Grids, DBGrids, DB,, Buttons, Mask, OleServer, Excel2000;= class (TForm): TMainMenu;: TMenuItem;: TMenuItem;: TMenuItem;: TXPManifest;: TMenuItem;: TPageControl;: TTabSheet;: TTabSheet;: TTabSheet;: TDBGrid;: TDataSource;: TTable;: TComboBox;

Продолжение приложения Б: TLabel;: TLabel;: TEdit;: TLabel;: TEdit;: TBitBtn;: TDBGrid;: TComboBox;: TEdit;: TLabel;: TComboBox;: TLabel;: TLabel;: TBitBtn;: TQuery;: TDataSource;: TBitBtn;: TMaskEdit;: TMaskEdit;: TCheckBox;: TComboBox;: TComboBox;: TEdit;: TLabel;: TCheckBox;: TMaskEdit;: TMaskEdit;: TLabel;: TLabel;: TDBGrid;: TQuery;: TDataSource;: TBitBtn;: TBitBtn;: TBitBtn;: TBitBtn;: TExcelApplication;: TBitBtn;: TBitBtn;: TStringGrid;FormClose (Sender: TObject; var Action: TCloseAction);N3Click (Sender: TObject);

Продолжение приложения БN4Click (Sender: TObject);ComboBox1Change (Sender: TObject);Edit1KeyUp (Sender: TObject; var Key: Word;: TShiftState);BitBtn1Click (Sender: TObject);Edit2KeyUp (Sender: TObject; var Key: Word;: TShiftState);TabSheet2Show (Sender: TObject);TabSheet1Show (Sender: TObject);TabSheet3Show (Sender: TObject);ComboBox2Change (Sender: TObject);FormCreate (Sender: TObject);ComboBox3Change (Sender: TObject);BitBtn2Click (Sender: TObject);BitBtn3Click (Sender: TObject);ComboBox4Change (Sender: TObject);ComboBox5Change (Sender: TObject);BitBtn5Click (Sender: TObject);BitBtn4Click (Sender: TObject);BitBtn6Click (Sender: TObject);BitBtn7Click (Sender: TObject);BitBtn8Click (Sender: TObject);BitBtn9Click (Sender: TObject);

{ Private declarations }

{ Public declarations };: TForm2;Unit1, Unit3, Unit5, Unit6;

{$R *. dfm}TForm2. FormClose (Sender: TObject; var Action: TCloseAction);. Close;;TForm2. N3Click (Sender: TObject);: =false;. Show;;

Продолжение приложения БTForm2. N4Click (Sender: TObject);: =false;. MaskEdit1. Text: ='';. Show;;TForm2.comboBox1Change (Sender: TObject);ComboBox1. ItemIndex of

: begin. Text: ='';. Text: ='';. Caption: ='Поиск по таварам';. Caption: ='Поиск по Карточки';. Filtered: =false;. Filter: ='';. Active: =false;. TableName: ='sale. db';. Filtered: =false;. Active: =true;;

: begin. Text: ='';. Text: ='';. Caption: ='Поиск по таварам';. Caption: ='Поиск по Названию';. Filtered: =false;. Filter: ='';. Active: =false;. TableName: ='goods. db';. Filtered: =false;. Active: =true;;

: begin. Text: ='';. Text: ='';. Caption: ='Поиск по фамилии';. Caption: ='Поиск по Карточки';. Filtered: =false;. Filter: ='';. Active: =false;. TableName: ='cards. db';

Продолжение приложения Б. Filtered: =false;. Active: =true;;;;TForm2. Edit1KeyUp (Sender: TObject; var Key: Word;: TShiftState);ComboBox1. ItemIndex of

: begin. Filtered: =false;. Filter: ='idt= '''+Edit1. Text+'*'+'''';. Filtered: =True;Edit1. Text='' then Table1. Filtered: =false;;

: begin. Filtered: =false;. Filter: ='idt= '''+Edit1. Text+'*'+'''';. Filtered: =True;Edit1. Text='' then Table1. Filtered: =false;;

: begin. Filtered: =false;. Filter: ='idcard= '''+Edit1. Text+'*'+'''';. Filtered: =True;Edit1. Text='' then Table1. Filtered: =false;;;;TForm2. BitBtn1Click (Sender: TObject);. Filtered: =false;. Text: ='';. Text: ='';;TForm2. Edit2KeyUp (Sender: TObject; var Key: Word;: TShiftState);ComboBox1. ItemIndex of

: begin. Filtered: =false;. Filter: ='idcard= '''+Edit2. Text+'*'+'''';

Продолжение приложения Б. Filtered: =true;Edit2. Text='' then Table1. Filtered: =false;;

: begin. Filtered: =false;. Filter: ='namerus= '''+Edit2. Text+'*'+'''';. Filtered: =true;Edit2. Text='' then Table1. Filtered: =false;;

: begin. Filtered: =false;. Filter: ='fam= '''+Edit2. Text+'*'+'''';. Filtered: =true;Edit2. Text='' then Table1. Filtered: =false;;;;TForm2. TabSheet2Show (Sender: TObject);. Close;. Active: =false;. ItemIndex: =0;. ItemIndex: =0;. Visible: =false;. Visible: =false;. Visible: =false;. Visible: =false;. Visible: =false;. Visible: =false;. Visible: =false;. Enabled: =false;. Enabled: =false;;TForm2. TabSheet1Show (Sender: TObject);. Close;. Close;. Text: ='';. Text: ='';. Caption: ='Поиск по таварам';. Caption: ='Поиск по Карточки';. Filtered: =false;

Продолжение приложения Б. Filter: ='';. TableName: ='sale. db';. Filtered: =false;. Active: =true;. ItemIndex: =0;;TForm2. TabSheet3Show (Sender: TObject);. Active: =false;. Close;. Text: ='';. Text: ='';. Caption: ='Поиск по таварам';. Caption: ='Поиск по Карточки';. Filtered: =false;. Filter: ='';. TableName: ='sale. db';. Filtered: =false;. Active: =true;. ItemIndex: =0;. Visible: =false;. Visible: =false;. Visible: =false;. Visible: =false;. Visible: =false;. Visible: =false;. Visible: =false;. Enabled: =false;. Enabled: =false;;TForm2.comboBox2Change (Sender: TObject);ComboBox2. ItemIndex of

: begin. Visible: =False;. Visible: =false;. Visible: =false;;

: begin. Visible: =True;. Visible: =True;. Visible: =True;

Продолжение приложения Б. Text: ='';;;;TForm2. FormCreate (Sender: TObject);. ActivePage: = TabSheet1;;TForm2.comboBox3Change (Sender: TObject);ComboBox3. ItemIndex of

: begin. Visible: =false;. Visible: =false;. Visible: =false;. Visible: =false;;

: begin. Caption: ='За';. Visible: =True;. Visible: =True;. Visible: =false;. Visible: =false;;

: begin. Caption: ='С';. Visible: =True;. Visible: =True;. Visible: =True;. Visible: =True;;;;TForm2. BitBtn2Click (Sender: TObject);. Enabled: =true;ComboBox2. ItemIndex=0 thenComboBox3. ItemIndex of

: begin. Close;

Продолжение приложения Б. SQL. Clear;. SQL. Text: ='select fam as Фамилия, idcard as Индивидуальный_номер, sum (summa) as Сумма_покупак, sum (skidka) as Скидки_при_покупках from cards inner join sale on cards. idcard = sale. idcard group by cards. fam,cards. idcard';. Open;. Enabled: =true;;

: begin. Close;. SQL. Clear;. SQL. Text: ='select fam as Фамилия, idcard as Индивидуальный_номер, sum (summa) as Сумма_покупак, sum (skidka) as Скидки_при_покупках from cards inner join sale on cards. idcard = sale. idcard where data="'+Edit4. Text+'" group by cards. fam,cards. idcard';. Open;. Enabled: =true;;

: begin. Close;. SQL. Clear;. SQL. Text: ='select fam as Фамилия, idcard as Индивидуальный_номер, sum (summa) as Сумма_покупак, sum (skidka) as Скидки_при_покупках from cards inner join sale on cards. idcard = sale. idcard where data between "'+Edit4. Text+'" and "'+Edit5. Text+'" group by cards. fam,cards. idcard';. Open;. Enabled: =true;;ComboBox3. ItemIndex of

: if CheckBox1. Checked then. Close;. SQL. Clear;. SQL. Text: ='select idcard as Индивидуальный_номер, idt as Код_товара, kolvo as Всего_товара, cena as Цена, summa as Сумма from sale where idcard="'+Edit3. Text+'"';. Open;. Enabled: =false;

Продолжение приложения Б. Close;. SQL. Clear;. SQL. Text: ='select fam as Фамилия, idcard as Индивидуальный_номер, sum (summa) as Сумма_покупак, sum (skidka) as Скидки_при_покупках from cards inner join sale on cards. idcard = sale. idcard where cards. idcard="'+Edit3. Text+'" group by cards. fam,cards. idcard';. Open;. Enabled: =false;;

: if CheckBox1. Checked then. Close;. SQL. Clear;. SQL. Text: ='select idcard as Индивидуальный_номер, idt as Код_товара, kolvo as Всего_товара, cena as Цена, summa as Сумма from sale where (data="'+Edit4. Text+'") and (idcard="'+Edit3. Text+'") ';. Open;. Enabled: =false;. Close;. SQL. Clear;. SQL. Text: ='select idcard, sum (summa), sum (skidka) from sale where (data="'+Edit4. Text+'") and (idcard="'+Edit3. text+'") group by idcard';. Open;. Enabled: =false;;

: if CheckBox1. Checked then. Close;. SQL. Clear;. SQL. Text: ='select idcard as Индивидуальный_номер, idt as Код_товара, kolvo as Всего_товара, cena as Цена, summa as Сумма from sale where (data between "'+Edit4. Text+'" and "'+Edit5. Text+'") and (idcard="'+Edit3. Text+'") ';. Open;. Enabled: =false;

Продолжение приложения Б. Close;. SQL. Clear;. SQL. Text: ='select idcard, sum (summa), sum (skidka) from sale where (data between "'+Edit4. Text+'" and "'+Edit5. Text+'") and (idcard="'+Edit3. text+'") group by idcard';. Open;. Enabled: =false;;. Close;. SQL. Clear;. Text: ='';. Text: ='';. Text: ='';('Неправильно введены данные');;;TForm2. BitBtn3Click (Sender: TObject);. Enabled: =false;. Enabled: =false;. Close;. SQL. Clear;;TForm2.comboBox4Change (Sender: TObject);ComboBox4. ItemIndex of

: begin. Visible: =False;. Visible: =false;. Visible: =false;;

: begin. Visible: =True;. Visible: =True;. Visible: =True;. Text: ='';;;

Продолжение приложения Б;TForm2.comboBox5Change (Sender: TObject);ComboBox5. ItemIndex of

: begin. Visible: =false;. Visible: =false;. Visible: =false;. Visible: =false;;

: begin. Caption: ='За';. Visible: =True;. Visible: =True;. Visible: =false;. Visible: =false;;

: begin. Caption: ='С';. Visible: =True;. Visible: =True;. Visible: =True;. Visible: =True;;;TForm2. BitBtn5Click (Sender: TObject);. Enabled: =false;. Enabled: =false;. Close;. SQL. Clear;;TForm2. BitBtn4Click (Sender: TObject);. Enabled: =true;ComboBox4. ItemIndex=0 thenComboBox5. ItemIndex of

: begin. Close;

Продолжение приложения Б. SQL. Clear;. SQL. Text: ='select idt, sum (kolvo), sum (summa), sum (skidka) from sale group by idt';. Open;. Enabled: =true;;

: begin. Close;. SQL. Clear;. SQL. Text: ='select idt, sum (kolvo), sum (summa), sum (skidka) from sale where data="'+MaskEdit1. Text+'" group by idt';. Open;. Enabled: =true;;

: begin. Close;. SQL. Clear;. SQL. Text: ='select idt, sum (kolvo), sum (summa), sum (skidka) from sale where data between "'+MaskEdit1. Text+'" and "'+MaskEdit2. Text+'" group by idt';. Open;. Enabled: =true;;ComboBox5. ItemIndex of

: if CheckBox2. Checked then. Close;. SQL. Clear;. SQL. Text: ='select idt, idcard, kolvo, cena, summa from sale where idt="'+Edit6. Text+'"';. Open;. Enabled: =false;. Close;. SQL. Clear;. SQL. Text: ='select idt, sum (kolvo), sum (summa), sum (skidka) from sale where idt="'+Edit6. text+'" group by idt';. Open;

Продолжение приложения Б. Enabled: =false;;

: if CheckBox2. Checked then. Close;. SQL. Clear;. SQL. Text: ='select idt, idcard, kolvo, cena, summa from sale where (data="'+MaskEdit1. Text+'") and (idt="'+Edit6. Text+'") ';. Open;. Enabled: =false;. Close;. SQL. Clear;. SQL. Text: ='select idt, sum (kolvo), sum (summa), sum (skidka) from sale where (data="'+MaskEdit1. Text+'") and (idt="'+Edit6. text+'") group by idt';. Open;. Enabled: =false;;

: if CheckBox2. Checked then. Close;. SQL. Clear;. SQL. Text: ='select data, idt, idcard, kolvo, cena, summa from sale where (data between "'+MaskEdit1. Text+'" and "'+MaskEdit2. Text+'") and (idt="'+Edit6. Text+'") ';. Open;. Enabled: =false;. Close;. SQL. Clear;. SQL. Text: ='select idt, sum (kolvo), sum (summa), sum (skidka) from sale where (data between "'+MaskEdit1. Text+'" and "'+MaskEdit2. Text+'") and (idt="'+Edit6. text+'") group by idt';. Open;. Enabled: =false;;

Продолжение приложения Б. Close;. SQL. Clear;. Text: ='';. Text: ='';. Text: ='';('Неправильно введены данные');;;TForm2. BitBtn6Click (Sender: TObject);: _WorkBook;: _WorkSheet;, J, K, R, C: Integer;: OleVariant;: Variant;. First;. RowCount: =Query1. RecordCount;i: =0 to Query1. RecordCount doj: =0 to Query1. FieldCount-1 do. Cells [j, i]: =Query1. Fields. Fields [j]. AsVariant;. Next;;StringGrid1. Cells [0,1] <> '' then: = 1;: = StringGrid1. RowCount;: = StringGrid1. ColCount;: = VarArrayCreate ([0, (R - 1),0, (C - 1)],VarOleStr);: = 0;J: = 0 to (C - 1) do[I,J]: =StringGrid1. Cells [J, I];(I,1);I > (R - 1);. Connect;. WorkBooks. Add (xlWBatWorkSheet,0);: = XLApp. WorkBooks. Item [IIndex];: = WorkBk. WorkSheets. Get_Item (1) as _WorkSheet;. Range ['A1',Worksheet. Cells. Item [R,C]]. Value2: = TabGrid;

Продолжение приложения Б. Name: = 'rambutya lld';. Columns. Font. Bold: = True;. Columns. HorizontalAlignment: = xlRight;. Columns. ColumnWidth: = 14;. Range ['A' + IntToStr (1),'A' + IntToStr (R)]. Font. Color: = clBlue;. Range ['A' + IntToStr (1),'A' + IntToStr (R)]. HorizontalAlignment: = xlHAlignLeft;. Range ['A' + IntToStr (1),'A' + IntToStr (R)]. ColumnWidth: = 31;. Visible [0]: = True;. Disconnect;: = Unassigned;;i: =0 to Query1. RecordCount doj: =0 to Query1. FieldCount-1 do. Cells [j, i]: ='';;TForm2. BitBtn7Click (Sender: TObject);: _WorkBook;: _WorkSheet;, J, K, R, C: Integer;: OleVariant;: Variant;. First;. RowCount: =Query2. RecordCount;i: =0 to Query2. RecordCount doj: =0 to Query2. FieldCount-1 do. Cells [j, i]: =Query2. Fields. Fields [j]. AsVariant;. Next;;StringGrid1. Cells [0,1] <> '' then: = 1;: = StringGrid1. RowCount;: = StringGrid1. ColCount;: = VarArrayCreate ([0, (R - 1),0, (C - 1)],VarOleStr);: = 0;J: = 0 to (C - 1) do[I,J]: =StringGrid1. Cells [J, I];

Продолжение приложения Б(I,1);I > (R - 1);. Connect;. WorkBooks. Add (xlWBatWorkSheet,0);: = XLApp. WorkBooks. Item [IIndex];: = WorkBk. WorkSheets. Get_Item (1) as _WorkSheet;. Range ['A1',Worksheet. Cells. Item [R,C]]. Value2: = TabGrid;. Name: = 'rambutya lld';. Columns. Font. Bold: = True;. Columns. HorizontalAlignment: = xlRight;. Columns. ColumnWidth: = 14;. Range ['A' + IntToStr (1),'A' + IntToStr (R)]. Font. Color: = clBlue;. Range ['A' + IntToStr (1),'A' + IntToStr (R)]. HorizontalAlignment: = xlHAlignLeft;. Range ['A' + IntToStr (1),'A' + IntToStr (R)]. ColumnWidth: = 31;. Visible [0]: = True;. Disconnect;: = Unassigned;;i: =0 to Query2. RecordCount doj: =0 to Query2. FieldCount-1 do. Cells [j, i]: ='';;TForm2. BitBtn8Click (Sender: TObject);: =false;. Show;;TForm2. BitBtn9Click (Sender: TObject);: =false;. Show;;.Unit3;, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,, StdCtrls, Buttons, Mask, XPMan;= class (TForm)

Продолжение приложения Б: TMaskEdit;: TMaskEdit;: TMaskEdit;: TLabel;: TLabel;: TLabel;: TBitBtn;: TBitBtn;: TXPManifest;BitBtn2Click (Sender: TObject);BitBtn1Click (Sender: TObject);

{ Private declarations }

{ Public declarations };: TForm3;Unit2;

{$R *. dfm}TForm3. BitBtn2Click (Sender: TObject);. Enabled: =true;;;TForm3. BitBtn1Click (Sender: TObject);,p,p1,st1,st2: string;: TextFile;,a, i: byte;. Enabled: =true;: ='';(e,path);: =path+'\jill. txt';(f,path);

{$I+}(f);

{$I+}IOresult=0 then

Продолжение приложения Б: ='';: ='';(f,p);

// ====================================: ='';: ='';: =length (p) div 2;length (p) mod 2<>0 then a: =a+1;i: =1 to a do st1: =st1+p [i];i: =a+1 to length (p) do st2: =st2+p [i];a mod 2=0 theni: =1 to a do: =p1+st1 [i];: =p1+st2 [i]i: =1 to a do: =p1+st1 [i];: =p1+st2 [i];i=a then p1: =p1+st1 [i+1];;: =Trim (p1);

// ====================================MaskEdit1. Text=p thenMaskEdit2. Text=MaskEdit3. Text then(length (MaskEdit2. Text) =0) or (length (MaskEdit2. Text) =1) then(' Слишком маленький пароль '+#13+

' Пароль должен быть не менее 2 символов '+#13+#13+

' Измените пароль ');. Text: ='';. Text: ='';. SetFocus;

// ============================================: ='';: ='';: ='';

Продолжение приложения Бi: =1 to length (MaskEdit2. Text) do(i mod 2<>0) then st1: =st1+MaskEdit2. Text [i]st2: =st2+MaskEdit2. Text [i];: =st1+st2;

// ============================================(f);(f);(f);(f,p1);(' Пароль успешно изменен ');. Text: ='';. Text: ='';. Text: ='';;(' Новый пароль не совпадает '+#13+

' с подтверждением '+#13+#13+

' Необходимо совпадения этих значений ');. Text: ='';. Text: ='';. SetFocus;(' Неверный пароль '+#13+

' Повторите попытку ');. Text: ='';. SetFocus;;;(f);

// -----------------------------;.Unit5;, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,, ExtCtrls, StdCtrls, Buttons, XPMan;

Продолжение приложения Б= class (TForm): TImage;: TXPManifest;: TBitBtn;: TBitBtn;: TBitBtn;FormClose (Sender: TObject; var Action: TCloseAction);BitBtn3Click (Sender: TObject);FormShow (Sender: TObject);BitBtn2Click (Sender: TObject);BitBtn1Click (Sender: TObject);

{ Private declarations }

{ Public declarations };: TForm5;: integer;Unit2, Unit1;

{$R *. dfm}renegate (a1,a2,a3,a4,a5: integer;,b2,b3,b4,b5: string);,max,p: integer;: array [1.5] of integer;: array [1.5] of string;[1]: =a1; a [2]: =a2; a [3]: =a3; a [4]: =a4; a [5]: =a5;[1]: =b1; b [2]: =b2; b [3]: =b3; b [4]: =b4; b [5]: =b5;: =0;i: =1 to 5 doa [i] >max then max: =a [i];Form5. Image1. Canvas do(40,400); lineto (730,400);(40,400); lineto (40, 20);(40, 20); lineto (35,40);(40, 20); lineto (45,40);(730,400); lineto (710,405);

Продолжение приложения Б(730,400); lineto (710,395);max>11 theni: =1 to 10 do(37,400-33*i); lineto (43,400-33*i);(1,390-33*i, inttostr (max div 10*i));;i: =1 to 5 do(40+i*100,400,100+i*100,400- (a [i] div (max div 10) *33));

// FillRect (Rect (40+i*100+1,401+1,100+i*100-1,400- (a [i] div (max div 100) *3) +1));(40+i*100,420,b [i]);(40+i*100,400- (a [i] div (max div 10) *33+15), inttostr (a [i]));;i: =1 to 10 do(37,400-33*i); lineto (43,400-33*i);(1,390-33*i, inttostr (i));;i: =1 to 5 do(40+i*100,400,100+i*100,400- (a [i] *33));. Color: =clRed;(Rect (40+i*100+1,400+1,100+i*100-1,400- (a [i] *33) - 1));. Color: =clWhite;(40+i*100,420,b [i]);(40+i*100,400- (a [i] *33+15), inttostr (a [i]));;;;

// showmessage (inttostr (max));;TForm5. FormClose (Sender: TObject; var Action: TCloseAction);. BitBtn7. Enabled: =false;. BitBtn8. Enabled: =false;. Enabled: =true;

Продолжение приложения Б. Query2. Close;;;TForm5. BitBtn3Click (Sender: TObject);. BitBtn7. Enabled: =false;. BitBtn8. Enabled: =false;. Enabled: =true;. Query2. Close;;;killbill;: array [1.5] of integer;: array [1.5] of string;: integer;Form2.comboBox5. ItemIndex of

: begin. Query2. Close;. Query2. SQL. Clear;. Query2. SQL. Text: ='select idt, sum (kolvo) from sale group by idt';. Query2. Open;;

: begin. Query2. Close;. Query2. SQL. Clear;. Query2. SQL. Text: ='select idt, sum (kolvo) from sale where data="'+Form2. MaskEdit1. Text+'" group by idt';. Query2. Open;;

: begin. Query2. Close;. Query2. SQL. Clear;. Query2. SQL. Text: ='select idt, sum (kolvo) from sale where data between "'+Form2. MaskEdit1. Text+'" and "'+Form2. MaskEdit2. Text+'" group by idt';. Query2. Open;;;

Продолжение приложения Б. Query2. First;i: =1 to 5 do[i]: =Form2. Query2. Fields. Fields [1]. AsInteger;[i]: =Form2. Query2. Fields. Fields [0]. AsString;. Query2. Next;;(a [1],a [2],a [3],a [4],a [5],[1],b [2],b [3],b [4],b [5],);;TForm5. FormShow (Sender: TObject);. Canvas. FillRect (Image1. BoundsRect);;: =1;;TForm5. BitBtn2Click (Sender: TObject);: array [1.5] of integer;: array [1.5] of string;: integer;. Canvas. FillRect (Image1. BoundsRect);: =page+5;Form2.comboBox5. ItemIndex of

: begin. Query2. Close;. Query2. SQL. Clear;. Query2. SQL. Text: ='select idt, sum (kolvo) from sale group by idt';. Query2. Open;;

: begin. Query2. Close;. Query2. SQL. Clear;. Query2. SQL. Text: ='select idt, sum (kolvo) from sale where data="'+Form2. MaskEdit1. Text+'" group by idt';. Query2. Open;;

: begin. Query2. Close;

Продолжение приложения Б. Query2. SQL. Clear;. Query2. SQL. Text: ='select idt, sum (kolvo) from sale where data between "'+Form2. MaskEdit1. Text+'" and "'+Form2. MaskEdit2. Text+'" group by idt';. Query2. Open;;;. Query2. RecNo: =page;i: =1 to 5 do[i]: =Form2. Query2. Fields. Fields [1]. AsInteger;[i]: =Form2. Query2. Fields. Fields [0]. AsString;. Query2. Next;;(a [1],a [2],a [3],a [4],a [5],[1],b [2],b [3],b [4],b [5],);;TForm5. BitBtn1Click (Sender: TObject);: array [1.5] of integer;: array [1.5] of string;: integer;. Canvas. FillRect (Image1. BoundsRect);Form2. Query2. RecNo>=5 then: =page-5;Form2.comboBox5. ItemIndex of

: begin. Query2. Close;. Query2. SQL. Clear;. Query2. SQL. Text: ='select idt, sum (kolvo) from sale group by idt';. Query2. Open;;

: begin. Query2. Close;. Query2. SQL. Clear;. Query2. SQL. Text: ='select idt, sum (kolvo) from sale where data="'+Form2. MaskEdit1. Text+'" group by idt';. Query2. Open;;

Продолжение приложения Б

: begin. Query2. Close;. Query2. SQL. Clear;. Query2. SQL. Text: ='select idt, sum (kolvo) from sale where data between "'+Form2. MaskEdit1. Text+'" and "'+Form2. MaskEdit2. Text+'" group by idt';. Query2. Open;;;. Query2. RecNo: =page;i: =1 to 5 do[i]: =Form2. Query2. Fields. Fields [1]. AsInteger;[i]: =Form2. Query2. Fields. Fields [0]. AsString;. Query2. Next;;(a [1],a [2],a [3],a [4],a [5],[1],b [2],b [3],b [4],b [5],);;;.Unit6;, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,, StdCtrls, Buttons, ExtCtrls;= class (TForm): TImage;: TBitBtn;: TBitBtn;: TBitBtn;BitBtn3Click (Sender: TObject);FormClose (Sender: TObject; var Action: TCloseAction);FormShow (Sender: TObject);BitBtn2Click (Sender: TObject);BitBtn1Click (Sender: TObject);

{ Private declarations }

{ Public declarations };

Продолжение приложения Б: TForm6;: integer;Unit2;

{$R *. dfm}renegate (a1,a2,a3,a4,a5: integer;,b2,b3,b4,b5: string);,max,p: integer;: array [1.5] of integer;: array [1.5] of string;[1]: =a1; a [2]: =a2; a [3]: =a3; a [4]: =a4; a [5]: =a5;[1]: =b1; b [2]: =b2; b [3]: =b3; b [4]: =b4; b [5]: =b5;: =0;i: =1 to 5 doa [i] >max then max: =a [i];Form6. Image1. Canvas do(40,400); lineto (730,400);(40,400); lineto (40, 20);(40, 20); lineto (35,40);(40, 20); lineto (45,40);(730,400); lineto (710,405);(730,400); lineto (710,395);i: =1 to 10 do(37,400-33*i); lineto (43,400-33*i);(1,390-33*i, inttostr (max div 10*i));;i: =1 to 5 do(40+i*100,400,100+i*100,400- (a [i] div (max div 100) *3));. Color: =clRed;(Rect (40+i*100+1,401+1,100+i*100-1,400- (a [i] div (max div 100) *3) +1));. Color: =clWhite;

// FloodFill (40+i*100+1,401+1,clwhite,fsBorder);(40+i*100,420,b [i]);(40+i*100,400- (a [i] div (max div 100) *3+15), inttostr (a [i]));

Продолжение приложения Б;(40,400); lineto (730,400);;

// showmessage (inttostr (max));;killbill;: array [1.5] of integer;: array [1.5] of string;: integer;Form2.comboBox3. ItemIndex of // cards inner join sale on cards. idcard = sale. idcard group by cards. fam,cards. idcard

: begin. Query1. Close;. Query1. SQL. Clear;. Query1. SQL. Text: ='select fam, sum (summa) from cards inner join sale on cards. idcard = sale. idcard group by cards. fam,cards. idcard';. Query1. Open;;

: begin. Query1. Close;. Query1. SQL. Clear;. Query1. SQL. Text: ='select fam, sum (summa) from cards inner join sale on cards. idcard = sale. idcard where data="'+Form2. Edit4. Text+'" group by cards. fam,cards. idcard';. Query1. Open;;

: begin. Query1. Close;. Query1. SQL. Clear;. Query1. SQL. Text: ='select fam, sum (summa) from cards inner join sale on cards. idcard = sale. idcard where data between "'+Form2. Edit4. Text+'" and "'+Form2. Edit5. Text+'" group by cards. fam,cards. idcard';. Query1. Open;;;. Query1. First;i: =1 to 5 do

Продолжение приложения Б[i]: =Form2. Query1. Fields. Fields [1]. AsInteger;[i]: =Form2. Query1. Fields. Fields [0]. AsString;. Query1. Next;;(a [1],a [2],a [3],a [4],a [5],[1],b [2],b [3],b [4],b [5],);;TForm6. BitBtn3Click (Sender: TObject);. BitBtn6. Enabled: =false;. BitBtn9. Enabled: =false;. Enabled: =true;. Query1. Close;;;TForm6. FormClose (Sender: TObject; var Action: TCloseAction);. BitBtn6. Enabled: =false;. BitBtn9. Enabled: =false;. Enabled: =true;. Query1. Close;;;TForm6. FormShow (Sender: TObject);. Canvas. FillRect (Image1. BoundsRect);;: =1;;TForm6. BitBtn2Click (Sender: TObject);: array [1.5] of integer;: array [1.5] of string;: integer;. Canvas. FillRect (Image1. BoundsRect);: =page+5;Form2.comboBox3. ItemIndex of

: begin. Query1. Close;

Продолжение приложения Б. Query1. SQL. Clear;. Query1. SQL. Text: ='select fam, sum (summa) from cards inner join sale on cards. idcard = sale. idcard group by cards. fam,cards. idcard';. Query1. Open;;

: begin. Query1. Close;. Query1. SQL. Clear;. Query1. SQL. Text: ='select fam, sum (summa) from cards inner join sale on cards. idcard = sale. idcard where data="'+Form2. Edit4. Text+'" group by cards. fam,cards. idcard';. Query1. Open;;

: begin. Query1. Close;. Query1. SQL. Clear;. Query1. SQL. Text: ='select fam, sum (summa) from cards inner join sale on cards. idcard = sale. idcard where data between "'+Form2. Edit4. Text+'" and "'+Form2. Edit5. Text+'" group by cards. fam,cards. idcard';. Query1. Open;;;. Query1. RecNo: =page;i: =1 to 5 do[i]: =Form2. Query1. Fields. Fields [1]. AsInteger;[i]: =Form2. Query1. Fields. Fields [0]. AsString;. Query1. Next;;(a [1],a [2],a [3],a [4],a [5],[1],b [2],b [3],b [4],b [5],);;TForm6. BitBtn1Click (Sender: TObject);: array [1.5] of integer;: array [1.5] of string;: integer;. Canvas. FillRect (Image1. BoundsRect);Form2. Query1. RecNo>=5 then: =page-5;

Продолжение приложения БForm2.comboBox3. ItemIndex of

: begin. Query1. Close;. Query1. SQL. Clear;. Query1. SQL. Text: ='select fam, sum (summa) from cards inner join sale on cards. idcard = sale. idcard group by cards. fam,cards. idcard';. Query1. Open;;

: begin. Query1. Close;. Query1. SQL. Clear;. Query1. SQL. Text: ='select fam, sum (summa) from cards inner join sale on cards. idcard = sale. idcard where data="'+Form2. Edit4. Text+'" group by cards. fam,cards. idcard';. Query1. Open;;

: begin. Query1. Close;. Query1. SQL. Clear;. Query1. SQL. Text: ='select fam, sum (summa) from cards inner join sale on cards. idcard = sale. idcard where data between "'+Form2. Edit4. Text+'" and "'+Form2. Edit5. Text+'" group by cards. fam,cards. idcard';. Query1. Open;;. Query1. RecNo: =page;i: =1 to 5 do[i]: =Form2. Query1. Fields. Fields [1]. AsInteger;[i]: =Form2. Query1. Fields. Fields [0]. AsString;. Query1. Next;;;(a [1],a [2],a [3],a [4],a [5],[1],b [2],b [3],b [4],b [5],);;.


Содержание Введение 1. Общая часть 1.1 Описание проблемной области 1.2 Описание средств проектирования 1.2.1 Язык программирования Delphi 7.0

Больше работ по теме:

КОНТАКТНЫЙ EMAIL: [email protected]

Скачать реферат © 2017 | Пользовательское соглашение

Скачать      Реферат

ПРОФЕССИОНАЛЬНАЯ ПОМОЩЬ СТУДЕНТАМ