59736

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

Дипломная

Информатика, кибернетика и программирование

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

Русский

2015-01-11

8.07 MB

1 чел.

СОДЕРЖАНИЕ

ВВЕДЕНИЕ 8

1 ПОСТАНОВКА ЗАДАЧИ 10

1.1 Цели и задачи проекта 10

1.2 Анализ предметной области 11

2 ОБЗОР ЛИТЕРАТУРНЫХ ИСТОЧНИКОВ 14

3 ЛОГИЧЕСКОЕ МОДЕЛИРОВАНИЕ 17

3.1 Разработка диаграмм вариантов использования 17

3.2 Построение концептуальной и логической модели данных 18

3.3 Построение диаграммы состояний 19

4 ФИЗИЧЕСКОЕ МОДЕЛИРОВАНИЕ 21

4.1 Выбор языка программирования и инструментальных средств разработки 21

4.2 Построение физической модели 23

5 РЕАЛИЗАЦИЯ И ИСПЫТАНИЯ ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ 24

5.1 Исходные тексты и их описание 24

5.2 Результаты испытаний 27

6 РУКОВОДСТВО ПОЛЬЗОВАТЕЛЯ 29

7 ОПРЕДЕЛЕНИЕ ЭКОНОМИЧЕСКОЙ ЭФФЕКТИВНОСТИ ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ 33

8 ОХРАНА ТРУДА 46

8.1 Производственная санитария 46

8.1.1 Микроклимат в помещениях вычислительного центра 46

8.1.2 Шум и вибрация в помещениях вычислительного центра 47

8.1.3 Электромагнитные излучения 48

8.1.4 Освещение в вычислительном центре 49

8.1.5 Рабочее место программиста 53

8.2 Техника безопасности 54

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

ЗАКЛЮЧЕНИЕ 58

Список использованных источников 59

Приложение А Концептуальная и физическая модели данных 60

Приложение Б Листинг программы 63

Приложение Д Опись листов графической части дипломного проекта 73


ВВЕДЕНИЕ

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

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

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

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

На территории ОАО «Радиоволна» с 1 февраля 2003 года открыто производство, входящее в структурный состав фирмы SE Bordnetze Polska Sp. Zo.o Польша, по производству электрожгутов для автомобилей фирмы Volkswagen, Audi.

Производство оснащено многоместными конвейерными линиями, рабочими индивидуальными местами, на которых производят более 500 модификаций жгутов для легковых автомобилей моделей Volkswagen Golf A5, A5+ и А6, Transporter T5 и Audi ТТ. Проверка качества произведенных жгутов проводится на электростолах.

На производстве функционирует заготовительный участок, оснащенный современным автоматическим оборудованием – Komax, BT – 188,

Система менеджмента качества производства жгутов основана на стратегии «ноль дефектов» и ориентирована на удовлетворение пожеланий потребителя путем:

- прямого обмена информацией с использованием современных информационных технологий;

- постоянного обучения персонала;

- реализацией корректирующих и предупреждающих действий;

- регулярных аудитов со стороны потребителя.

При современном развитии техники и технологии идет непрерывный процесс совершенствования как самой продукции, так и средств ее производства. Появляются новые системы САПР и модернизируются старые, максимально упрощая путь от идеи до готового изделия. Симбиоз новейших средств проектирования и внедрение новых систем производства на базе станков с ЧПУ дает качественный результат, цель которого – создать максимально качественную продукцию в кратчайшие сроки.

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

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


1 ПОСТАНОВКА ЗАДАЧИ

1.1 Цели и задачи проекта

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

Разрабатываемое приложение позволит достигнуть следующих результатов в работе:

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

C экономической точки зрения приложение должно быть направлено на обеспечение 100%-ой диагностики на электропроводность электрических цепей и обеспечение их минимального брака  в процессе производства.

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

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

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

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

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

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

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

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

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

1.2 Анализ предметной области

Разрабатываемое приложение будет применяться на предприятии ОАО «Радиоволна» в цеху по изготовлению электрических жгутов для легковых автомобилей моделей Volkswagen Golf A5, A5+ и А6, Transporter T5 и Audi ТТ и автоматизировать процесс проверки их функциональности.

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

- достаточно сложный пользовательский интерфейс;

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Следует учесть также и следующие ограничения.

  1.  Каждая модуль может входить в различные группы, и каждая группа может включать несколько модулей.
    1.  Этикетка печатается только в случае удачного тестирования.
    2.  Тип стола и программы зависит от тестируемого жгута.
    3.  Каждый пользователь может произвести тестирование только после ввода своего пароля.
    4.  Каждый модуль содержит модульные соединения, но не все соединения входят в модуль.
    5.  В базу вносятся данные, касающиеся каждого пользователя лично.
    6.  Любая тестирующая программа содержит соединения для жгутов, но не все соединения входят в программу.

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

  •  программист;
    •  работник предприятия.

При работе с системой программист должен производить следующие действия:

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

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

  •  производить тестирование;
    •  выбирать тестирующую программу;
      •  вводить или редактировать данные этикетки.

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


2 ОБЗОР ЛИТЕРАТУРНЫХ ИСТОЧНИКОВ

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

  •  создание базы данных в СУБД MS Access;
    •  разработка программного обеспечения с помощью среды программирования Delphi.

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

Книга С. Моисеенко «Разработка приложений в MS Access» предназначена для изучения возможностей СУБД Access, входящей в пакет программ Microsoft Office. Особенность книги в том, что материал подается на примере построения конкретного приложения для работы с базой данных, начиная с проектирования таблиц и заканчивая разработкой деталей интерфейса. При этом основной упор делается на объяснение того, зачем создается та или иная функция, а потом выбираются подходящие средства для ее реализации. В книге также кратко рассматриваются основные принципы реляционной теории, свойства объектов базы данных и методы работы с ними, а также средства визуальной разработки интерфейса приложения, что позволит читателю получить цельное и ясное представление как о назначении СУБД Access, так и об основных возможностях данной программы.

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

Вторым источником является книга «Эффективная работа с MS Office Access 2007» Джона Вейскаса, предназначенная для тех, кто занимается разработкой приложений баз данных с помощью средств Microsoft Access 2003. В ней даются фундаментальные сведения по таким вопросам, как конструирование баз данных, форм, отчетов и обеспечение их слаженной работы. Читатель узнает, как можно быстро создавать сложные приложения, связывая отдельные структурные элементы с помощью Visual Basic. Также рассматривается эффективное использование особенностей Access. Подробно описывается создание Access-проектов, связанных непосредственно с базой данных SQL Server. Вы также научитесь использовать средства Access для связывания интернет-приложения с данными в БД Access и для связывания Access-приложения с данными, хранящимися в Сети. [1]

В книге Александра Кузнецова  «MS Access 2007. Русская редакция. Учебный курс» описана популярная система управления базами данных Microsoft Access 2003. Правила и приемы создания баз данных и их объектов демонстрируются на простых и наглядных примерах. Особое внимание уделено затруднениям, с которыми сталкиваются начинающие пользователи, и важным особенностям программы, описывается широкий спектр вспомогательных средств Access, применение которых позволяет существенно ускорить и облегчить работу. Прочитав данную книгу, вы научитесь быстро и эффективно создавать базы данных и приложения на их основе. Вы также сможете без посторонней помощи разрешить самые разнообразные проблемы, возникающие в процессе такой работы [11].

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

Основным источником будет являться книга «Библия Delphi» Михаила Фленова. Она посвящена программированию на языке Delphi от самых основ до примеров построения конкретных приложений. Подробно описывается логика выполнения каждого участка кода, чтобы читатель смог использовать эти знания при решении собственных задач. Книга содержит большое количество примеров практического программирования; некоторые из них вынесены в качестве дополнительной информации на прилагаемый компакт-диск [19].

В книге Анатолия Хомоненко «Delphi 7» рассмотрена разработка приложений в Delphi 7 - наиболее популярной версии системы визуального программирования. Описаны основы языка программирования Delphi, а также компоненты, свойства, методы и события, используемые при разработке программ для работы с графикой, мультимедиа, файлами, каталогами и др. Показано применение различных технологий и приемов разработки приложений для работы с базами данных, электронной почтой и Web-документами. Материал сопровождается многочисленными примерами. Также уделено большое внимание работе с Web-документами, и разработке баз данных с помощью технологий dbExpress, ADO и InterBase Express [22].

Кроме того, для создания качественного приложения необходим интуитивно-понятный интерфейс, разработка которого описывается в книге «Самоучитель Delphi» Анатолия Хомоненко и Владимира Гофмана. Рассматриваются визуальные компоненты, используемые для создания интерфейса приложений; компоненты и техника работы с текстовой информацией, кнопками и переключателями, а также формами. Описываются развитые элементы интерфейса, использование графики и мультимедиа, работа с файлами и каталогами. Даются понятия, связанные с реляционными базами данных. Описывается создание приложений баз данных, подготовка отчетов с помощью генератора Rave Reports. Даются основы разработки приложений для работы в Интернете, работа с электронной почтой и веб-документами [21].

При проектировании программного обеспечения будет использована книга «Проектирование баз данных» Л.В. Рудиковой, в которой рассматриваются различные аспекты, касающиеся проектирования баз данных: изучение предметной области, инфологическое моделирование, создание концептуальной модели базы данных и физическое моделирование и основы языка SQL [15].


3 ЛОГИЧЕСКОЕ МОДЕЛИРОВАНИЕ

3.1 Разработка диаграмм вариантов использования

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

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

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

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

Рисунок 3.1 Диаграмма вариантов использования

3.2 Построение концептуальной и логической модели данных

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

Сущности: родительские – ГРУППА, МОДУЛЬНЫЕ СОЕДИНЕНИЯ, СОЕДИНЕНИЯ ЖГУТОВ, СТОЛЫ; дочерние сильные – МОДУЛИ, ПОЛЬЗОВАТЕЛИ; дочерние слабые – БИБЛИОТЕКА, ПРОГРАММЫ, ЭТИКЕТКА; дочерние ассоциативные – ТЕСТИРОВАНИЕ.

Связи:

  •  «хранить» имеет связность один-ко-многим в направлении МОДУЛИ – БИБЛИОТЕКА, тип участия – полная с обеих сторон;
    •  «принадлежать» имеет связность один-ко-многим в направлении ГРУППА – МОДУЛИ имеет частичную степень участия со стороны ГРУППА;
    •  связь «содержать» обладает связностью один-ко-многим со стороны МОДУЛИ - МОДУЛЬНЫЕ СОЕДИНЕНИЯ и имеет частичную степень участия со стороны МОДУЛИ, полную – со стороны МОДУЛЬНЫЕ СОЕДИНЕНИЯ;
    •  «использовать» имеет связность один-ко-многим в направлении ТЕСТИРОВАНИЕ – МОДУЛИ имеет частичную степень участия со стороны МОДУЛИ;
    •  «управлять» имеет связность один-ко-многим в направлении ПРОГРАММЫ – ТЕСТИРОВАНИЕ имеет частичную степень участия со стороны ПРОГРАММЫ;
    •  «происходить» имеет связность один-ко-многим в направлении СТОЛЫ – ТЕСТИРОВАНИЕ имеет частичную степень участия со стороны СТОЛЫ;
    •  «входить» имеет связность один-ко-многим в направлении ПРОГРАММЫ – СОЕДИНЕНИЯ ЖГУТОВ имеет частичную степень участия со стороны ПРОГРАММЫ;
    •  «происходить» имеет связность один-ко-многим в направлении ПОЛЬЗОВАТЕЛИ – ТЕСТИРОВАНИЕ имеет частичную степень участия со стороны ПОЛЬЗОВАТЕЛИ;
    •  «хранить» имеет связность один-ко-многим в направлении ТЕСТИРОВАНИЕ – ЭТИКЕТКА, тип участия – частичная с обеих сторон.

Первичные ключи – код сохраненного модуля для БИБЛИОТЕКА; код модульного соединения для МОДУЛЬНЫЕ СОЕДИНЕНИЯ; код группы для ГРУППА; код модуля для МОДУЛИ, код стола для СТОЛЫ, код программы для ПРОГРАММЫ, код теста для ТЕСТИРОВАНИЕ, код этикетки для ЭТИКЕТКА, код пользователя для ПОЛЬЗОВАТЕЛИ, код соединения жгута для СОЕДИНЕНИЯ ЖГУТОВ.

Ограничения:

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

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

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

В следствии результат построения отображен на рисунке А.2

3.3 Построение диаграммы состояний

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

На рисунке 3.2  приводится диаграмма состояний для каждого объекта создаваемого приложения. Из данной диаграммы видно, в каких состояниях может существовать каждый из участников системы (программист, работник). Можно также видеть процесс перехода участников системы из одного состояния в другое. Например, при авторизации, участник системы может продолжить работу как программист, как работник или получить сообщение о неверно введенном пароле (условие). Заключенное в квадратных скобках условие (guard condition) определяет, когда может или не может произойти переход из одного состояния в другое. Требование системы ввести пароль называется событием (event), именно такие события и вызывают переход из одного состояния в другое.

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

Рисунок 3.4 Диаграмма состояний объектов приложения


4 ФИЗИЧЕСКОЕ МОДЕЛИРОВАНИЕ

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

Как уже упоминалось выше разработка автоматизированной системы диагностики электрических линий и устройств, будет производиться с использованием СУБД MS Access и среды программирования Delphi.

Microsoft Office Access или просто Microsoft Access — реляционная СУБД корпорации Microsoft. Имеет широкий спектр функций, включая связанные запросы, связь с внешними таблицами и базами данных. Благодаря встроенному языку VBA, в самом Access можно писать приложения, работающие с базами данных. Также с ее помощью можно накапливать и систематизировать разнообразную информацию, искать и сортировать объекты согласно выбранным критериям, конструировать удобные формы для ввода данных и генерировать на основании имеющихся записей прекрасно оформленные отчеты.

Достоинства Microsoft Access 2007:

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

Основные компоненты MS Access:

  •  построитель таблиц;
  •  построитель экранных форм;
  •  построитель SQL-запросов (язык SQL в MS Access не соответствует стандарту ANSI);
  •  построитель отчётов, выводимых на печать.

Они могут вызывать скрипты на языке VBA, поэтому MS Access позволяет разрабатывать приложения и БД практически «с нуля» или написать оболочку для внешней БД.

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

Существенно расширяет возможности MS Access по написанию приложений механизм связи с различными внешними СУБД: "связанные таблицы" (связь с таблицей СУБД) и "запросы к серверу" (запрос на диалекте SQL, который "понимает" СУБД). Также MS Access позволяет строить полноценные клиент-серверные приложения на СУБД MS SQL Server. При этом имеется возможность совместить с присущей MS Access простотой инструменты для управления БД и средства разработки. [16]

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

  1.  Borland Delphi – это комбинация нескольких важнейших технологий: высокопроизводительный компилятор в машинный код, объектно–ориентированная модель компонент, визуальное скоростное построение приложений из программных прототипов, масштабируемые средства для построения баз данных;
  2.  компилятор, встроенный в Borland Delphi, обеспечивает высокую производительность, необходимую для построения любых приложений и предлагает легкость разработки и быстрое время проверки готового программного блока;
  3.  в процессе построения приложения разработчик выбирает из палитры инструментов готовые компоненты. Еще до компиляции он видит результаты своей работы – после подключения к источнику данных их можно видеть отображенными на форме, можно перемещаться по данным, представлять их в том или ином виде. В этом смысле проектирование в Delphi мало чем отличается от проектирования в интерпретирующей среде, однако после выполнения компиляции мы получаем код, который исполняется в 10–20 раз быстрее, чем то же самое, сделанное при помощи интерпретатора. В Borland Delphi компиляция производится непосредственно в родной машинный код, в то время, как существуют компиляторы, превращающие программу в так называемый p–код, который затем интерпретируется виртуальной p–машиной. Это не может не сказаться на фактическом быстродействии готового приложения;
  4.  для Borland Delphi характерна объектно-ориентированная модель программных компонент, что позволяет разработчикам строить приложения весьма быстро из заранее подготовленных объектов, а также дает им возможность создавать свои собственные объекты для среды Borland Delphi. Никаких ограничений по типам объектов, которые могут создавать разработчики, не существует. В стандартную поставку Delphi входят основные объекты, которые образуют удачно подобранную иерархию из более чем 270 базовых классов;
  5.  Borland Delphi позволяет быстро и удобно разрабатывать эффективные приложения, включая приложения для работы с базами данных. Система имеет развитые возможности по созданию пользовательского интерфейса, широкий набор функций, методов и свойств для решения прикладных расчетно-вычислительных задач. В системе имеются развитые средства отладки, облегчающие разработку приложений. Выше перечисленные элементы предназначены для того, чтобы сделать процесс создания приложений максимально удобным, простым и логичным.

Недостатки:

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

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

- небольшое число параметров оптимизации кода [20].

4.2 Построение физической модели

Физическая модель строится на основе логической модели, средствами СУБД MS Access. На данном этапе конструируются таблицы базы данных и связи между ними в выбранной СУБД. Рассматриваются требования пользователей к БД и на основе их анализа проектируются запросы, формы, отчеты и интерфейс пользователя [14].

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


5 РЕАЛИЗАЦИЯ И ИСПЫТАНИЯ ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ

5.1 Исходные тексты и их описание

В состав проекта входят 9 модулей:

  •  uMain.pas – описание главной формы программы из которой вызываются все остальные модули приложения;
  •  uTest.pas – описание формы «Тестирование», с помощью которой происходит процесс тестирования электрожгута;
  •  uModules.pas – вызов формы «Модули», содержащей список модулей;
  •  uMGroups.pas – вызов формы, отвечающей за связь с электростолом;
  •  uETables.pas – вызов формы «Группа модулей», содержащей список групп на которые подразделяются модули;
  •  uUsers.pas – содержит информацию о всех пользователях;
  •  uPrograms.pas – вызов формы «Программы», содержащей список программ с помощью которых происходит процесс тестирования;
  •  uLogin.pas – описание формы, отвечающей за учётные записи пользователей;
  •  uLibSt.pas – вызов формы «Библиотека штекеров», в которой содержится список всех когда-либо использованных модулей.

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

Листинг 5.1 – Процедура идентификации пользователей

procedure TfrmLogin.BitBtn1Click(Sender: TObject);

begin

 if tUsers.Locate('Пароль', edPass.Text, []) then //пытаемся найти пользователя по введенному паролю

 begin  //если нашли

    FIsAdmin := tUsers.FieldByName('ЭтоАдмин').AsBoolean;  //сохраняем признак ЭтоАдмин

    FUser := tUsers.FieldByName('ФИО работника').AsString;  //сохранаяем ФИО пользователя

    ModalResult := mrOK //закрываем форму

 end else //если не нашли

   Application.MessageBox('Неверный пароль!', 'Ошибка', MB_ICONERROR); //сообщение об ошибке

end;

Реализованное приложение содержит административную и клиентскую части.

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

Листинг 5.2 – Загрузка меню администратора или пользователя

procedure TfrmMain.StartWork; //предназаняена для скрытия или отображения кнопок по признаку ЭтоАдмин  

begin

 bPrograms.Visible := ivAlways;  //кнопку Программы показывать всегда

 bChangeUsers.Visible := ivAlways; //кнопку Сменить пользователя показывать всегда

 bExit.Visible := ivAlways; //кнопку Выход показывать всегда

 if IsAdmin then //если ЭтоАдмин

 begin  //тогда

    bPass.Visible := ivAlways;  //показать кнопку Пароли 

    bManager.Visible := ivAlways;  //показать кнопку Менеджер

 end else  //иначе

 begin

    bPass.Visible := ivNever; //скрыть кнопку Пароли

    bManager.Visible := ivNever; //скрыть кнопку Менеджер

 end;

end;

function TfrmMain.LogIn; //процедура для Идентификации пользователя

begin

 Result := false;

 tUsers.Open;  //открываем таблицу со списком пользователей

 if tUsers.RecordCount > 0 then  //если пользователи есть

 begin

    frmLogin := TfrmLogin.Create(self);  //открываем форму для входа

    frmLogin.tUsers := tUsers;  //передаем ей таблицу со списком пользователей

    try

       frmlogin.ShowModal;  //отображаем ее

       if frmlogin.ModalResult = mrOK then  //если вход прошел успешно

       begin

          StartWork(frmlogin.IsAdmin);  //устанавливаем видимость кнопок

          Result := true;

          Caption := AppName + '. Пользователь - ' + frmLogin.User; //в заголовок формы добавляем ФИО пользователя

       end else

         Application.Terminate; //если вход неудачный, то закрываем приложение

    finally

       FreeAndNil(frmLogin); //освобождаем память

    end;

 end else  //пользователей в базе нет

 begin

    StartWork(true); //значит видимость кнопок, как для админа

    Result := true;

 end;

 tUsers.Close;  //закрываем таблицу с пользователями

end;

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

Листинг 5.3 - . Подключение к базе данных

procedure TfrmMain.FormCreate(Sender: TObject);

var

 ConnStr: string;

begin

 //собираем строку для подключения к БД

 ConnStr := 'Provider=Microsoft.Jet.OLEDB.4.0;Data Source=%s;Persist Security Info=False';

 ConnStr := format(ConnStr, [ExtractFilePath(Application.ExeName) + 'TEST.mdb']);

 Conn.ConnectionString := ConnStr;

 Conn.Connected := true;  //пытаемся подключиться к БД

 if LogIn then Self.Show;  //пытаемся залогиниться

end;

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

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

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

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

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

– устанавливает служебные переменные по умолчанию;

– устанавливает размер и месторасположение формы.

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

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

- «Смена пользователя», открывает форму «Идентификация» для ввода пароля другого пользователя. Пункт меню доступен всем пользователям;

- «Пароли», открывает форму «Пользовательские пароли», содержащую список всех пользователей и их пароли. Пункт меню доступен пользователям с правами администратора;

- «Менеджер», открывает форму «Электростолы» содержащую список всех столов, на которых производится тестирование;

Листинги всех описанных модулей представлены в приложении Б.

5.2 Результаты испытаний

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

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

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

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

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

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

Тестовые случаи размещены в таблице 5.1

Таблица 5.1 –Тестовые случаи

Описание тестового случая

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

Тестовый случай пройден?

Да/Нет

Комментарии

1

2

3

4

5

1

Доступ администратора

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

Да

2

Выбор пункта меню «Программы»

Открытие одноименной формы

Да

3

Выбор пункта меню «Смена пользователя»

Открытие формы «Идентификация»

4

Выбор пункта меню «Пароли»

Открытие одноименной формы

5

Выбор пункта меню «Менеджер»

Открытие формы «Электростолы»

6

Нажатие кнопки «Старт теста»

Если ПК подключен к столу, то вывод результатов тестирования, иначе сообщение об ошибке

Да

7

Печать чека

Вывод распечатанного чека

Да

8

Выход

Закрытие приложения

Да

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


6 РУКОВОДСТВО ПОЛЬЗОВАТЕЛЯ

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


Рисунок 6.1 – Окно идентификации


Рисунок 6.2 – Главная форма «Тестирование жгутов»

В случае неверно введённого пароля приложение выдаст сообщение, показанное на рисунке 6.3:

Рисунок 6.3 – Сообщение об ошибке

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

Рисунок 6.4 – Форма «Программы»

На экране появляется диагностическое окно с кнопками (рисунок 6.5):

  •  «Старт тест»-начало диагностики электрожгута;
  •  «Работа с чеками»-распечатка чеков для их контроля качества (находится под паролем и доступно только администратору);
  •  «Платформа»-поднятие гидравлических платформ в модулях;
  •  «Оk»-для выход из тестирующего режима.

Рисунок 6.5 – Окно запуска теста

При этом на электростоле начинают подсвечиваться диоды в модулях в которые должны вставляться электрические части данного вида электрожгута, для его последующей диагностики. После контакта определённых частей жгута с модулями электростола, нужно нажать кнопку «Старт тест». Если ПК не подключен к электростолу или жгут отсутствует, то приложение выдаст соответствующее сообщение (рисунок 6.6).

Рисунок 6.6 – Сообщение об отсутствии связи с электрооборудованием

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

Рисунок 6.6 – Печатная форма «Чек»


7 ОПРЕДЕЛЕНИЕ ЭКОНОМИЧЕСКОЙ ЭФФЕКТИВНОСТИ ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ

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

Годовые эксплуатационные расходы при ручной обработке информации определяются по формуле:

                                    (7.1)

где - трудоемкость разового решения задачи вручную, чел-ч. (=5),

к - периодичность решения задачи в течение года (к = 255),

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

q - коэффициент, учитывающий процент премий (q = 0.4)

а - коэффициент, учитывающий дополнительную заработную плату (а = 0.15),

b - коэффициент, учитывающий начисления на заработную плату, включая отчисления в фонд социальной защиты населения.(b = 0.34)

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

Согласно Постановлению Совета Министров Республики Беларусь от 20.12.2010 года №1844 «Об установлении размера минимальной заработной платы» среднечасовая ставка работника равна:

руб.                                                          (7.2)

Нормативное количество рабочих часов в мае 2011 года– 159.

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

Таблица 7.1 - Тарифные коэффициенты специалистов с высшим образованием.

Категория работников

Разряд

Тарифные коэффициенты

Специалисты с высшим образованием:

без категории

10

2,48

2 категории

10

2,48 + 10%  за катег.

1 категории

10

2,48 + 15%  за катег.

Высшей категории

13

3,04

тыс. руб.                                       (7.3)

тыс. руб.

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

 

,                           (7.4)

где  - затраты на заработную плату пользователя программы;

- затраты на оплату аренды ЭВМ при решении задачи.

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

,                                             (7.5)

где  - время решения задачи на ЭВМ, час;

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

Время решения задачи на ЭВМ определяется по формуле:

,                                           (7.6)

где  - время ввода в ЭВМ исходных данных, необходимых для решения задачи, мин.;

 - время вычислений, мин.( = 0.05);

- время вывода результатов решения задачи (включая время распечатки на принтере и графопостроителе), мин. ( = 1);

- коэффициент,  учитывающий  подготовительно-заключительное время (dпз =0.2).

Время ввода в ЭВМ исходных данных может быть определено по формуле:

,                                                     (7.7)

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

-  норматив набора 100 знаков, мин. (Hz=3).

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

2.71 тыс. руб.

мин.

час.

тыс. руб.

Затраты на оплату аренды ЭВМ для решения задачи определяются по следующей формуле:

,                                                  (7.8)

где  - стоимость одного машино-часа работы ЭВМ, тыс. руб.

Стоимость машино-часа работы ЭВМ определяется по формуле:

 ,                 (7.9)

где Сэ - расходы на электроэнергию за час работы ЭВМ, тыс. руб.;

 - годовая величина амортизационных отчислений на реновацию ЭВМ, тыс. руб.;

 - годовые затраты на ремонт и техническое обслуживание ЭВМ тыс. руб.;

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

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

 - годовая величина налога на недвижимость, тыс. руб.;

 - годовой фонд времени работы ЭВМ, час.

Расходы на электроэнергию за час работы ЭВМ определяются по формуле:

,                                                   (7.10)

где  - установленная мощность электродвигателя ЭВМ, кВт ( = 0,35),

 - коэффициент  использования энергоустановок по мощности (=0,9)

- стоимость 1 кВт-часа электроэнергии, тыс.руб.

- среднечасовое потребление электроэнергии ЭВМ, кВт.

 тыс.руб.

Годовая величина амортизационных отчислений на реновацию ЭВМ определяется по формуле:

,             (7.12)

где  - цена ЭВМ на момент ее выпуска, тыс. руб. (= 1200 тыс.руб.);

- коэффициент удорожания ЭВМ (зависит от года выпуска).

В том случае, когда в качестве цены используется цена 2011г., коэффициент удорожания = 1,

- коэффициент, учитывающий затраты на монтаж и транспортировку ЭВМ (=1,05),

- норма амортизационных отчислений на ЭВМ,%

- балансовая стоимость ЭВМ, тыс. руб.

=  тыс. руб.

тыс. руб.

Годовые затраты на ремонт и техническое обслуживание ЭВМ укрупнено могут быть определены по формуле:

,                                            (7.13)

где  - коэффициент, учитывающий затраты на ремонт и техническое обслуживание ЭВМ, в том числе затраты на запчасти, зарплату ремонтного персонала и др.(  = 0,1).

тыс. руб.

Годовая величина амортизационных отчислений на реновацию производственных площадей, занятых ЭВМ определяется по формуле:

,                                 (7.14)

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

- норма амортизационных отчислений на производственные площади, % (=1,2),

— площадь, занимаемая ЭВМ, кв. м. (=2,5),

— коэффициент, учитывающий дополнительную площадь ;

— цена 1 квадратного метра площади, тыс. руб. (= 520).

= ;

= тыс.руб.

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

,                                                             (7.15)

где  - коэффициент, учитывающий затраты на ремонт и эксплуатацию производственных площадей (= 0,05).

= тыс.руб.

Величина налога на недвижимость определяется по формуле

,                                           (7.16)

где  — ставка налога на недвижимость ( = 0.01).

 

тыс. руб.

Годовой фонд времени работы ЭВМ определяется исходя из режима ее работы и может быть рассчитан по формуле:

,                                                           (7.17)

где  - среднесуточная фактическая загрузка ЭВМ, час. ( = 12);

- среднее количество дней работы ЭВМ в год (= 255).

час.

тыс.руб.

Прирост условной прибыли в результате внедрения задачи определяется по формуле:

,                                             (7.18)

где - ставка налога на прибыль (= 0.24).

тыс.руб.

тыс.руб.

.

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

                                                                (7.19)

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

- отпускная цена программы, руб.

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

а) в случае, если необходимо приобретение новой ЭВМ для решения комплекса задач, в который входит рассматриваемая, по формуле:

,                                                    (7.20)

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

б) в случае, если ЭВМ,  на которой предполагается решать рассматриваемую задачу, отслужила к моменту расчета X лет (X = 3), по формуле

 ;                     (7.21)

тыс.руб.

Отпускная цена программы определяется по формуле:

                                        (7.22)

где  - оптовая цена программы, руб.,

- затраты на заработную плату разработчиков программы, руб.,

- размер плановой прибыли на программу, руб.,

- ставка налога на добавленную стоимость ( - 0.2).

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

,                                           (7.23)

где  - трудоемкость разработки программы, час,

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

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

,                                                 (7.24)

где  - количество этапов разработки программы,

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

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

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

                                    (7.25)

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

- трудоемкость разработки блок-схемы алгоритма;

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

-трудоемкость отладки программы на ЭВМ;

- трудоемкость подготовки документации по задаче в рукописи;

- трудоемкость редактирования, печати и оформления документации по задаче.

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

,                                                                (7.26)

где  - число операторов в программе;

- коэффициент сложности программы;

- коэффициент коррекции программы в ходе ее разработки.

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

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

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

;                                              (7.27)

;                                                 (7.28)

;                                                   (7.29)

;                                                     (7.30)

;                                                     (7.31)

.                                                           (7.32)

где  - коэффициент увеличения затрат труда вследствие недостаточного или некачественного описания задачи ( - 1.2... 1.5);

- коэффициент квалификации разработчика алгоритмов и программ (при стаже работы от трех до пяти лет =1.1…1.2). Получаем:

;

;

;

;

=1.2;

=1.2

;

;

;

;

;

;

;

тыс. руб.;

тыс. руб.

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

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

Предусмотрено четыре степени новизны разрабатываемых задач:

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

Сложность алгоритма представлена тремя группами:

  1.  алгоритмы оптимизации и моделирования систем и объектов;
  2.  алгоритмы учета, отчетности, статистики и поиска;
  3.  алгоритмы, реализующие стандартные методы решения, а также не предусматривающие применения сложных численных и логических методов.

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

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

,                                                    (7.33)

где  - себестоимость программы, тыс руб.;

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

Себестоимость программы определяется по формуле:

,                                             (7.34)

где  - коэффициент накладных расходов проектной организации без учета эксплуатации ЭВМ (при отсутствии данных принять  = 1,16);

- затраты на отладку программы.

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

,                                                  (7.35)

где - трудоемкость отладки программы, час.( ).

тыс. руб.;

тыс. руб.;

Оптовая цена программы определяется по формуле:

;                                                      (7.36)

тыс.руб. ;

тыс. руб.;

тыс. руб.

Ожидаемый годовой экономический эффект от сокращения ручного труда при обработке информации определяется по формуле:

,                              (7.37)

где  - коэффициент эффективности, равный ставке за кредиты на рынке долгосрочных кредитов (= 0,25).

тыс. руб.

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

 ;                                                   (7.38)

.

Результаты расчета сводятся в таблице 7.2.

Таблица 6.2 - Технико-экономические показатели проекта

Наименование показателя

Базовый вариант

Проектный вариант

1. Трудоемкость решения задачи, час.

5

0.057

2. Периодичность решения задачи, раз/год

255

255

3. Годовые текущие затраты, связанные с решение задачи, тыс. руб.

7454.36

89.078

4. Отпускная цена программы, тыс. руб.

-

1164,4

5. Степень новизны программы

-

В

6. Группа сложности алгоритма

-

1

7. Прирост условной прибыли, тыс. руб.

-

5597.61

8. Ожидаемый годовой экономический эффект, тыс. руб.

-

5305.195

9. Срок возврата инвестиций, лет

-

0.21

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


8 ОХРАНА ТРУДА

8.1 Производственная санитария

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

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

Вредный производственный фактор – производственный фактор, воздействие которого на работника в определенных условиях приводит к заболеванию или снижению работоспособности [2].

Разработка приложения производилась в помещении  вычислительного центра, ширина которого 5,1 м, длина – 7,6 м, высота помещения – 2,7 м. Размеры помещения вычислительного центра (ВЦ), соответствуют нормируемым величинам по площади и объему на одного работающего с учетом размещаемого в помещении технологического оборудования. В соответствии с нормами производственной санитарии объем производственного помещения на одного работающего составляет не менее 20 м3 , с площадью помещения не менее 6 м2 [17].

8.1.1 Микроклимат в помещениях вычислительного центра

Наиболее значительным фактором производительности и безопасности труда является производственный микроклимат, который характеризуется температурой и влажностью воздуха, скоростью его движения. Показатели микроклимата, согласно ГОСТ 12.1.005 [6], приведены в таблице 8.1.

Таблица 8.1 – Требования к параметрам микроклимата в производственном помещении

Параметры микроклимата

Значения параметров

зимой

летом

Температура, °C

22-24

     23-25

Скорость воздушных масс, м/с

      0.1

0.1-0.2

Относительная влажность, %

40-60

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

Относительная влажность в пределах 40 - 60% мало сказывается на состоянии человека. При влажности 99 - 100% практически выключается регулирующий механизм потоотделения и быстро наступает перегревание.

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

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

Оптимальными условиям отвечает ВЦ, в котором установлены следующие показателя: температура – 22-240С, относительная влажность – 40-60% и скорость движения воздуха в рабочей зоне производственных помещений – 0,1 м/с.

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

8.1.2 Шум и вибрация в помещениях вычислительного центра

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

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

Оптимальные показатели уровня шумов в рабочих помещениях конструкторских бюро, кабинетах расчетчиков, программистов нормируются в соответствии с СанПиН 2.2.4/2.1.8.10 – 32 – 2002. При работе на ЭВМ уровень шума не должен превышать 50дБА. В помещениях, где работают  операторы ЭВМ без дисплеев, уровень шума не должен превышать 65 дБА. На рабочих местах в помещениях для размещения шумных агрегатов вычислительных машин уровень шума не должен превышать 75 дБА.

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

Для устранения или ослабления неблагоприятных шумовых воздействий целесообразно изолировать рабочие помещения, размещая их в частях здания, наиболее удаленных от городского шума – расположенных в глубине здания, обращенных окнами во двор и т.п. Шум ослабевает также благодаря зеленым насаждениям, поглощающим звуки. На практике часто применяются и такие методы как: снижение шума в источнике возникновения, изменение его направленности, уменьшение шума на пути его распространения. Все средства и методы защиты от шума определяются в соответствии с ГОСТ 12.1.003 [3].

8.1.3 Электромагнитные излучения

Для защиты от вредного воздействия излучений возможно применение заземленных защитных экранов, значительно уменьшающих их интенсивность. Спецификация определяет уровень электромагнитного излучения мониторов для двух полос частот: 5 Гц – 2 кГц и 2 – 400 кГц. Напряженность электрического поля в нижней полосе не должна превышать 25 В/м, в верхней – 2.5 В/м.

Для экранов применяют материалы с высокой электрической проводимостью (сталь, медь, алюминий, латунь) в виде листов толщиной не менее 0,5 мм или сетки с ячейками не более 44 мм. Каждый экран заземляется.

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

Таблица 8.2 – Допустимые уровни электромагнитных излучений

Диапазон частот

0,3 -300 Гц

0,3 – 30 МГц

3 -30 МГц

30 -300 МГц

0,3 -300 ГГц

Допустимые уровни

25 В/м

15 В/м

10 В/м

3 В/м

10 мкВт/см2

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

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

8.1.4 Освещение в вычислительном центре

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

Для реализации поставленной задачи принимают ряд мер, важнейшими из которых являются:

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

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

При выборе требуемого минимального уровня освещенности рабочего места необходимо установить разряд (характер) выполняемой зрительной работы. Его определяют по наименьшему размеру различения. Зрительная работа, проводимая в помещениях ВЦ, относится к II – V разрядам зрительной работы.

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

КЕО для помещений ВЦ составляет не менее 1,5% при боковом естественном освещении.

Нормирование искусственного освещения оценивается непосредственно по освещенности рабочей поверхности (Е, лк). При выборе нормы освещенности кроме характера (разряда) зрительной работы учитывается контраст объекта различения с фоном и характеристика фона, на котором рассматривается объект (т.е. определяется один из четырех подразрядов зрительной работы) [18].

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

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

,                                                         (8.1)

где Emin – нормативная освещенность, лк;

S – площадь освещаемого помещения, м2;

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

Z – коэффициент, характеризующий неравномерность освещения. Он зависит от отношения расстояния между светильниками (L) к высоте их подвеса (hp), с увеличением этого отношения (L/hp) значение Z возрастает. При проведение расчетов рекомендуется принимать значение Z равным 1,1 для люминесцентных ламп и 1,15 для ламп накаливания;

n – количество светильников (или ламп);

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

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

Определяем высоту расположения светильников над освещаемой поверхностью по формуле 8.2:

,                                                               (8.2)

где Н – общая высота помещения (H=2,7 м);

hc – высота от потолка до нижней части светильника (hc =0,15);

hp – высота от пола до освещаемой поверхности (hp=0,7 м).

.

Определяем отношение расстояния между светильниками L к высоте их подвеса Hc. В соответствии с рекомендация, принимаем данное соотношение равным 1,4. Откуда находим L по формуле 8.3:

;                                                               (8.3)

.

Найдем потребное число светильников (формула 8.4):

;                                                                     (8.4)

  шт.

Определяем показатель помещения по формуле 8.5:

                                                  ,         (8.5)

где а – длина помещения (а= 7,6 м);

b – ширина помещения (b = 5,1 м).

.

В соответствии со справочными данными, определим значение коэффициентов отражения потолка (белая краска) ρпот=0,7, стен (краска бежевого оттенка) ρст=0,5, рабочей поверхности (потемневшее дерево) ρр=0,3 [11].

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

Согласно классификации помещения ВЦ относятся к помещениям общественных и жилых зданий с нормальными условиями среды. В соответствии с этим, значение коэффициента запаса К будет равно 1,4. Величина коэффициента неравномерности z определяется из отношения (формула 8.6):

,                                                       (8.6)

где Еср – средняя освещенность (Еср=300 лк);

Еmin – наименьшая освещенность (Еmin=200 лк, при освещении помещений ВЦ и экрана дисплея [10]).

.

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

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

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

Исходя из результатов расчета и учитывая, что в светильник устанавливают по две лампы, оптимальными будут варианты люминесцентны ламп со стандартными значениями светового потока – 3820 лм и мощностью – 65 Вт. К ним относятся лампы типа ЛХБ-65.

Для ограничения неблагоприятного действия пульсирующих световых потоков  установлены предельные значения коэффициентов пульсации освещенности рабочих мест в пределах 10 – 20 % в зависимости от разряда зрительной работы [18].

8.1.5 Рабочее место программиста

Согласно СанПиН 9-131 РБ 2000, рабочее место – место постоянного или временного пребывания работника в процессе трудовой деятельности [17].

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

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

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

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

- достаточная вентиляция рабочего места.

Главными элементами рабочего места программиста являются письменный стол и кресло.

Высота рабочей поверхности рекомендуется в пределах 680 – 800 мм.  Глубина и ширина стола 800 – 1000 и 800 – 1200 мм соответственно. Стол должен быть оборудован подставкой для ног: ширина подставки не менее 300 мм, глубина – не менее 400 мм. Размеры и форма стола должна предусматривать возможность размещения документов справа и слева

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

Большое значение придается характеристикам рабочего кресла. Рекомендуемая высота сиденья над уровнем пола должна быть в пределах 400 – 550 мм.

Экран монитора должен находиться от глаз пользователя на оптимальном расстоянии 600-700 мм, расстояние от глаз до клавиатуры 400 мм, расстояние от глаз до документов 500 мм. Должна существовать возможность регулирования экрана по высоте, по наклону, в левом и в правом направлениях.

Продолжительность непрерывной работы с компьютером не должна превышать 2 часов.

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

Существуют требования к помещению, в котором располагается вычислительный центр. Его площадь из расчета на одного человека следует предусматривать не менее 6,0 м2, а объем воздуха – не менее 20 м3. Ширина проходов в вычислительном центре должна быть не менее 1 метра.

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

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

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

8.2 Техника безопасности

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

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

Электробезопасность – это система организационных мероприятий, технических средств, обеспечивающих защиту человека от воздействия электрического тока, электрической дуги, электромагнитного поля и статического электричества, в соответствии с ГОСТ 12.1.009 [7].

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

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

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

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

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

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

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

Кроме того, на рабочем месте оператора ЭВМ необходимо обеспечить защиту от статического электричества.

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

Для снижения величины возникающих разрядов статического электричества в ВЦ, покрытие технологических полов следует выполнять из однослойного антистатического линолеума марки АСН. К общим мерам защиты от статического электричества в ВЦ можно отнести увлажнение воздуха (до 75%), ионизацию воздуха. Данные защитные меры регламентирует ГОСТ 12.4.124 [8].

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

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

Основные причины пожара в помещениях ВЦ носят электрический и неэлектрический характер [5].

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

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

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

К организационно-техническим мероприятиям относятся:

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

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

  •  охлаждение поверхности горения, посредством применения углекислотных (газовых) и порошковых огнетушителей типа ОУ-3и ОП-10, в определенных случаях возможно применение воды, с предварительным отключением электропитания, согласно ГОСТ 12.1.038  [4];
  •  изоляция горючего вещества от зоны горения (применяется песок);
  •  понижение концентрации кислорода в зоне горения (используется войлочное одеяло).


ЗАКЛЮЧЕНИЕ

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

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

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

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


Список использованных источников

  1.  Вейскас, Дж.Эффективная работа с MS Office Access 2007. – СПб.: Питер, 2009. – 1168 с.
  2.  ГОСТ 12.0.002 Система стандартов безопасности труда. Термины и определения.
  3.  ГОСТ 12.1.003 ССБТ Шум и вибрация.
  4.  ГОСТ 12.1.038 Электробезопасность. Предельно допустимые значения напряжений прикосновения и токов.
  5.  ГОСТ 12.1.004 Пожарная безопасность.
  6.  ГОСТ 12.1.005 Общие санитарно-гигиенические требования к воздуху рабочей зоны.
  7.  ГОСТ 12.1.009 Электробезопасность. Термины и определения.
  8.  ГОСТ 12.4.124 Средства защиты от статического электричества. Общие технические требования.
  9.  ГОСТ 2.104–2006 Единая система конструкторской документации. Основные надписи.
  10.  ГОСТ 2.105–95 Единая система конструкторской документации. Общие требования к текстовым документам.
  11.  Кузнецов, А. MS Access 2007. – СПб.: БХВ-Петербург, 2008 – 365 с.
  12.  Методические указания к выполнению дипломного проекта для студентов специальностей 1 40 01 01 «Программное обеспечение информационных технологий», 1 40 01 02 «Информационные системы и технологии», 1 53 01 02 «Автоматизированные системы обработки информации» / Сост. В.И.Лакин, И.А.Бухвалова, Ю.Б.Попова. – Минск.: БНТУ, 2011. – 30 с.
  13.  Моисеенко, С. Разработка приложений в MS Access. – М.: Горячая Линия - Телеком, 2008, - 272 с.
  14.  Пентегов, В.В Технологии организации, хранения и обработки данных: учебное пособие для студентов экономических специальностей. – Минск.: БНТУ, 2007. – 50 с.
  15.  Рудикова, Л.В. Проектирование баз данных. – Гродно: ГрГУ,.2007. – 345 с.
  16.  Рубин, А.А. Самоучитель MS Access / И.А. Клеандрова, Р.Г. Прокди. – СПб.:Наука и техника, 2008. – 400 с.:ил.
  17.  СанПиН 9-131 РБ Гигиенические требования к видеодисплейным терминалам, электронно-вычислительным машинам и организации работы.
  18.  СНБ 2.04.05 Естественное и искусственное освещение.
  19.  Фленов, М. Библия Delphi. – СПб.: БХВ, 2011. – 688 с.
  20.  Фаронов, В.В. Программирование баз данных в Delphi 7. – СПб.: Питер, 2003. – 464 с
  21.  Хомоненко, А.Д. Самоучитель Delphi / В.Э. Гофман. – СПб.: БХВ, 2008. – 576 с.
  22.  Хомоненко, А.Д. Delphi 7 / В.Э. Гофман. – СПб.: БХВ, 2010. – 1216 с.


Приложение А
Концептуальная и физическая модели данных    

Рисунок А.1 – Концептуальная модель данных

Рисунок А.2 – Логическая модель данных

Рисунок А.3 – Физическая модель данных


Приложение Б
Листинг программы      

unit uUsers;

interface

uses

 Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,

 Dialogs, cxStyles, cxCustomData, cxGraphics, cxFilter, cxData, cxDataStorage,

 cxEdit, DB, cxDBData, cxGridCustomTableView, cxGridTableView,

 cxGridDBTableView, ADODB, cxGridLevel, cxClasses, cxControls,

 cxGridCustomView, cxGrid, ExtCtrls, StdCtrls, Buttons;

type

 TfrmUsers = class(TForm)

   cxGrid1: TcxGrid;

   cxGrid1DBTableView1: TcxGridDBTableView;

   cxGrid1Level1: TcxGridLevel;

   DataSource1: TDataSource;

   ADOTable1: TADOTable;

   cxGrid1DBTableView1DBColumn1: TcxGridDBColumn;

   cxGrid1DBTableView1DBColumn2: TcxGridDBColumn;

   cxGrid1DBTableView1DBColumn3: TcxGridDBColumn;

   Panel1: TPanel;

 private

   { Private declarations }

 public

   { Public declarations }

 end;

var

 frmUsers: TfrmUsers;

implementation

{$R *.dfm}

end.

unit uTest;

interface

uses

 Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,

 Dialogs, Menus, cxLookAndFeelPainters, Buttons, StdCtrls, cxButtons,

 cxControls, cxContainer, cxEdit, cxLabel;

type

 TfrmTest = class(TForm)

   cxButton1: TcxButton;

   BitBtn1: TBitBtn;

   SpeedButton1: TSpeedButton;

   SpeedButton2: TSpeedButton;

   cxLabel1: TcxLabel;

   cxLabel2: TcxLabel;

   cxLabel3: TcxLabel;

   procedure FormCreate(Sender: TObject);

   procedure FormShow(Sender: TObject);

   procedure cxButton1Click(Sender: TObject);

   procedure SpeedButton1Click(Sender: TObject);

   procedure SpeedButton2Click(Sender: TObject);

 private

   { Private declarations }

   FPrgName: string;

 public

   { Public declarations }

   property PrgName: string write FPrgName;

 end;

var

 frmTest: TfrmTest;

implementation

{$R *.dfm}

procedure TfrmTest.cxButton1Click(Sender: TObject);

begin

 Application.MessageBox('Нет связи с электрооборудованием!', 'Ошибка', MB_ICONERROR);  //сообщение об ошибке 

end;

procedure TfrmTest.FormCreate(Sender: TObject);

begin

 //устанавливаем размеры формы на весь экран

 Left := 0;

 Top := 0;

 Width := Screen.Width;

 Height := Screen.Height;

end;

procedure TfrmTest.FormShow(Sender: TObject);

begin

 cxLabel1.Caption := FPrgName;  //записываем название программы

end;

procedure TfrmTest.SpeedButton1Click(Sender: TObject);

begin

 cxButton1Click(self);  //обработчик теста

end;

procedure TfrmTest.SpeedButton2Click(Sender: TObject);

begin

 cxButton1Click(self);  //обработчик теста

end;

end.

unit uPrograms;

interface

uses

 Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,

 Dialogs, cxStyles, cxCustomData, cxGraphics, cxFilter, cxData, cxDataStorage,

 cxEdit, DB, cxDBData, cxGridCustomTableView, cxGridTableView,

 cxGridDBTableView, ADODB, cxGridLevel, cxClasses, cxControls,

 cxGridCustomView, cxGrid, ExtCtrls, StdCtrls, Buttons;

type

 TfrmPrograms = class(TForm)

   cxGrid1DBTableView1: TcxGridDBTableView;

   cxGrid1Level1: TcxGridLevel;

   cxGrid1: TcxGrid;

   ADOTable1: TADOTable;

   DataSource1: TDataSource;

   cxGrid1DBTableView1DBColumn: TcxGridDBColumn;

   cxGrid1DBTableView1DBColumn1: TcxGridDBColumn;

   Panel1: TPanel;

   BitBtn1: TBitBtn;

   BitBtn2: TBitBtn;

 private

   { Private declarations }

 public

   { Public declarations }

 end;

var

 frmPrograms: TfrmPrograms;

implementation

uses uMain;

{$R *.dfm}

end.

unit uModules;

interface

uses

 Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,

 Dialogs, cxStyles, cxCustomData, cxGraphics, cxFilter, cxData, cxDataStorage,

 cxEdit, DB, cxDBData, cxDBLookupComboBox, ADODB, cxTextEdit, cxLabel,

 cxContainer, cxMaskEdit, cxDropDownEdit, cxLookupEdit, cxDBLookupEdit,

 StdCtrls, Buttons, ExtCtrls, cxGridLevel, cxGridCustomTableView,

 cxGridTableView, cxGridDBTableView, cxClasses, cxControls, cxGridCustomView,

 cxGrid, cxButtonEdit;

type

 TfrmModules = class(TForm)

   cxGrid1: TcxGrid;

   cxGrid1DBTableView1: TcxGridDBTableView;

   cxGrid1Level1: TcxGridLevel;

   Panel1: TPanel;

   BitBtn2: TBitBtn;

   Panel2: TPanel;

   cxDBLookupComboBox1: TcxDBLookupComboBox;

   cxLabel1: TcxLabel;

   cxTextEdit1: TcxTextEdit;

   cxLabel4: TcxLabel;

   ADOTable1: TADOTable;

   DataSource1: TDataSource;

   cxDBLookupComboBox2: TcxDBLookupComboBox;

   cxLabel2: TcxLabel;

   cxGrid1DBTableView1X: TcxGridDBColumn;

   cxGrid1DBTableView1Y: TcxGridDBColumn;

   cxGrid1DBTableView1X_KOD: TcxGridDBColumn;

   cxGrid1DBTableView1LED: TcxGridDBColumn;

   cxGrid1DBTableView1EPIN: TcxGridDBColumn;

   cxGrid1DBTableView1PINS: TcxGridDBColumn;

   cxGrid1DBTableView1STECKER: TcxGridDBColumn;

   cxGrid1DBTableView1SW: TcxGridDBColumn;

   procedure cxGrid1DBTableView1STECKERPropertiesButtonClick(Sender: TObject;

     AButtonIndex: Integer);

   procedure ADOTable1AfterInsert(DataSet: TDataSet);

   procedure ADOTable1AfterScroll(DataSet: TDataSet);

   procedure FormShow(Sender: TObject);

 private

   { Private declarations }

 public

   { Public declarations }

 end;

var

 frmModules: TfrmModules;

implementation

uses uMGroups, uETables, uLibSt;

{$R *.dfm}

procedure TfrmModules.ADOTable1AfterInsert(DataSet: TDataSet);

begin

 ADOTable1.FieldByName('Код группы').AsInteger :=

   frmMGroups.ADOTable1.FieldByName('Код').AsInteger;  //записываем код группы для целостности данных

end;

procedure TfrmModules.ADOTable1AfterScroll(DataSet: TDataSet);

begin

 cxTextEdit1.Text := inttostr(ADOTable1.RecordCount);  //отображаем сколько модулей создано

end;

procedure TfrmModules.cxGrid1DBTableView1STECKERPropertiesButtonClick(

 Sender: TObject; AButtonIndex: Integer);

begin

 //если кликнули на кнопку для выбора штекеров из библиотеки

 frmLibSt := TfrmLibSt.Create(self); //создаем форму с библиотекой штекеров

 try

    frmLibSt.ShowModal; //отображаем ее

    ADOTable1.Edit;

    ADOTable1.FieldByName('STECKER').AsString := frmLibSt.StName;  //записываем выбранное значение 

 finally

    FreeAndNil(frmLibSt); //освобождаем память

 end;

end;

procedure TfrmModules.FormShow(Sender: TObject);

begin

 //перед отображаением списка модулей фильтруем их по коду группы

 ADOTable1.Filtered := false;

 ADOTable1.Filter := '[Код группы] = ' +

   inttostr(frmMGroups.ADOTable1.FieldByName('Код').AsInteger);

 ADOTable1.Filtered := true;

end;

end.

unit uMGroups;

interface

uses

 Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,

 Dialogs, cxStyles, cxCustomData, cxGraphics, cxFilter, cxData, cxDataStorage,

 cxEdit, DB, cxDBData, cxGridCustomTableView, cxGridTableView,

 cxGridDBTableView, ADODB, StdCtrls, Buttons, ExtCtrls, cxGridLevel, cxClasses,

 cxControls, cxGridCustomView, cxGrid, cxDBEditRepository, cxDBLookupComboBox,

 cxTextEdit, cxLabel, cxDBEdit, cxDropDownEdit, cxCalendar, cxContainer,

 cxMaskEdit, cxLookupEdit, cxDBLookupEdit, uModules;

type

 TfrmMGroups = class(TForm)

   cxGrid1: TcxGrid;

   cxGrid1DBTableView1: TcxGridDBTableView;

   cxGrid1Level1: TcxGridLevel;

   Panel1: TPanel;

   BitBtn1: TBitBtn;

   BitBtn2: TBitBtn;

   ADOTable1: TADOTable;

   DataSource1: TDataSource;

   Panel2: TPanel;

   DataSource2: TDataSource;

   ADOTable2: TADOTable;

   cxGrid1DBTableView1DBColumn1: TcxGridDBColumn;

   cxGrid1DBTableView1DBColumn2: TcxGridDBColumn;

   cxGrid1DBTableView1DBColumn3: TcxGridDBColumn;

   cxGrid1DBTableView1DBColumn4: TcxGridDBColumn;

   cxDBLookupComboBox1: TcxDBLookupComboBox;

   cxDBDateEdit1: TcxDBDateEdit;

   cxDBTextEdit1: TcxDBTextEdit;

   cxLabel1: TcxLabel;

   cxLabel2: TcxLabel;

   cxLabel3: TcxLabel;

   cxTextEdit1: TcxTextEdit;

   cxLabel4: TcxLabel;

   procedure BitBtn1Click(Sender: TObject);

   procedure ADOTable1BeforeScroll(DataSet: TDataSet);

   procedure FormShow(Sender: TObject);

   procedure ADOTable1AfterInsert(DataSet: TDataSet);

 private

   { Private declarations }

 public

   { Public declarations }

 end;

var

 frmMGroups: TfrmMGroups;

implementation

uses uMain, uETables;

{$R *.dfm}

procedure TfrmMGroups.ADOTable1AfterInsert(DataSet: TDataSet);

begin

 ADOTable1.FieldByName('Код электростола').AsInteger :=

   frmETables.ADOTable1.FieldByName('Код').AsInteger;  //записываем код электростола для целостности данных 

 ADOTable1.FieldByName('Дата создания').AsDateTime := int(Date);  //пл умолчанию пишем текущую дату

end;

procedure TfrmMGroups.ADOTable1BeforeScroll(DataSet: TDataSet);

begin

 cxTextEdit1.Text := inttostr(ADOTable1.RecordCount);  //отображаем сколько групп создано

end;

procedure TfrmMGroups.BitBtn1Click(Sender: TObject);

begin

 //нажали OK

 frmModules := TfrmModules.Create(self); //создаем форму с модулями 

 try

    frmModules.ShowModal;  //отображаем ее

 finally

    FreeAndNil(frmModules);  //освобождаем память

 end;

end;

procedure TfrmMGroups.FormShow(Sender: TObject);

begin

 //перед отображаением списка групп фильтруем их по коду электростола

 ADOTable1.Filtered := false;

 ADOTable1.Filter := '[Код электростола] = ' +

   inttostr(frmETables.ADOTable1.FieldByName('Код').AsInteger);

 ADOTable1.Filtered := true;

end;

end.

unit uMain;

interface

uses

 Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,

 Dialogs, cxGraphics, dxBar, cxControls, dxStatusBar, dxBarExtItems, DB, ADODB,

 uLogin;

const

 AppName = 'Тестирование жгутов';

type

 TfrmMain = class(TForm)

   dxStatusBar1: TdxStatusBar;

   dxBarManager1: TdxBarManager;

   bPrograms: TdxBarButton;

   bChangeUsers: TdxBarButton;

   bPass: TdxBarButton;

   bManager: TdxBarButton;

   bExit: TdxBarButton;

   conn: TADOConnection;

   tUsers: TADOTable;

   procedure bManagerClick(Sender: TObject);

   procedure FormCreate(Sender: TObject);

   procedure bChangeUsersClick(Sender: TObject);

   procedure bExitClick(Sender: TObject);

   procedure bProgramsClick(Sender: TObject);

   procedure bPassClick(Sender: TObject);

 private

   { Private declarations }

 public

   { Public declarations }

   procedure StartWork(IsAdmin: boolean);

   function LogIn: boolean;

 end;

var

 frmMain: TfrmMain;

implementation

uses uPrograms, uTest, uUsers, uETables;

{$R *.dfm}

procedure TfrmMain.StartWork; //предназаняена для скрытия или отображения кнопок по признаку ЭтоАдмин  

begin

 bPrograms.Visible := ivAlways;  //кнопку Программы показывать всегда

 bChangeUsers.Visible := ivAlways; //кнопку Сменить пользователя показывать всегда

 bExit.Visible := ivAlways; //кнопку Выход показывать всегда

 if IsAdmin then //если ЭтоАдмин

 begin  //тогда

    bPass.Visible := ivAlways;  //показать кнопку Пароли 

    bManager.Visible := ivAlways;  //показать кнопку Менеджер

 end else  //иначе

 begin

    bPass.Visible := ivNever; //скрыть кнопку Пароли

    bManager.Visible := ivNever; //скрыть кнопку Менеджер

 end;

end;

function TfrmMain.LogIn; //процедура для Идентификации пользователя

begin

 Result := false;

 tUsers.Open;  //открываем таблицу со списком пользователей

 if tUsers.RecordCount > 0 then  //если пользователи есть

 begin

    frmLogin := TfrmLogin.Create(self);  //открываем форму для входа

    frmLogin.tUsers := tUsers;  //передаем ей таблицу со списком пользователей

    try

       frmlogin.ShowModal;  //отображаем ее

       if frmlogin.ModalResult = mrOK then  //если вход прошел успешно

       begin

          StartWork(frmlogin.IsAdmin);  //устанавливаем видимость кнопок

          Result := true;

          Caption := AppName + '. Пользователь - ' + frmLogin.User; //в заголовок формы добавляем ФИО пользователя

       end else

         Application.Terminate; //если вход неудачный, то закрываем приложение

    finally

       FreeAndNil(frmLogin); //освобождаем память

    end;

 end else  //пользователей в базе нет

 begin

    StartWork(true); //значит видимость кнопок, как для админа

    Result := true;

 end;

 tUsers.Close;  //закрываем таблицу с пользователями

end;

procedure TfrmMain.bChangeUsersClick(Sender: TObject);

begin

 //кнопка Сменить пользователя

 Self.Hide; //прячем форму

 if LogIn then Self.Show; //пытаемся залогиниться

end;

procedure TfrmMain.bExitClick(Sender: TObject);

begin

 //кнопка Выход

 Close;  //закрыть форму

end;

procedure TfrmMain.bManagerClick(Sender: TObject);

begin

 //кнопка Менеджер

 frmETables := TfrmETables.Create(self);  //создаем форму с электростолами

 try

    frmETables.ShowModal; //отображаем ее

 finally

    FreeAndNil(frmETables); //освобождаем память

 end;

end;

procedure TfrmMain.bPassClick(Sender: TObject);

begin

 //кнопка Пароли

 frmUsers := TfrmUsers.Create(self);  //создаем форму с паролями

 try

    frmUsers.ShowModal;  //отображаем ее

 finally

    FreeAndNil(frmUsers);  //освобождаем память

 end;

end;

procedure TfrmMain.bProgramsClick(Sender: TObject);

var

 mrPRG: TModalResult;

 PName: string;

begin

 //кнопка Программы

 frmPrograms := TfrmPrograms.Create(self);  //создаем форму с программами

 try

    frmPrograms.ShowModal;  //отображаем ее

    PName := frmPrograms.ADOTable1.FieldByName('Наименование').AsString; //сохраняем выбранную программу 

    mrPRG := frmPrograms.ModalResult;  //сохраняем, что нажали

 finally

    FreeAndNil(frmPrograms);  //освобождаем память

 end;

 if mrPRG <> mrOK then exit;  //если нажали не OK, то выход

 frmTest := TfrmTest.Create(self); //создаем форму с тес том

 try

    frmTest.PrgName := PName;  //указываем, какую программу отобразить

    frmTest.ShowModal; //отображаем форму

 finally

    FreeAndNil(frmTest);  //освобождаем память

 end;

end;

procedure TfrmMain.FormCreate(Sender: TObject);

var

 ConnStr: string;

begin

 //собираем строку для подключения к БД

 ConnStr := 'Provider=Microsoft.Jet.OLEDB.4.0;Data Source=%s;Persist Security Info=False';

 ConnStr := format(ConnStr, [ExtractFilePath(Application.ExeName) + 'TEST.mdb']);

 Conn.ConnectionString := ConnStr;

 Conn.Connected := true;  //пытаемся подключиться к БД

 if LogIn then Self.Show;  //пытаемся залогиниться

end;

end.

unit uLogin;

interface

uses

 Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,

 Dialogs, DB, ADODB, Menus, cxLookAndFeelPainters, Buttons, StdCtrls,

 cxButtons, cxControls, cxContainer, cxEdit, cxTextEdit;

type

 TfrmLogin = class(TForm)

   edPass: TcxTextEdit;

   b1: TcxButton;

   b2: TcxButton;

   b3: TcxButton;

   b4: TcxButton;

   b5: TcxButton;

   b6: TcxButton;

   b7: TcxButton;

   b8: TcxButton;

   b9: TcxButton;

   BitBtn1: TBitBtn;

   BitBtn2: TBitBtn;

   procedure b9Click(Sender: TObject);

   procedure b8Click(Sender: TObject);

   procedure b7Click(Sender: TObject);

   procedure b6Click(Sender: TObject);

   procedure b5Click(Sender: TObject);

   procedure b4Click(Sender: TObject);

   procedure b3Click(Sender: TObject);

   procedure b1Click(Sender: TObject);

   procedure b2Click(Sender: TObject);

   procedure BitBtn1Click(Sender: TObject);

 private

   FIsAdmin: boolean;

   FUser: string;

   { Private declarations }

 public

   { Public declarations }

   tUsers: TADOTable;

   property IsAdmin: boolean read FIsAdmin;

   property User: string read FUser;

 end;

var

 frmLogin: TfrmLogin;

implementation

{$R *.dfm}

procedure TfrmLogin.BitBtn1Click(Sender: TObject);

begin

 if tUsers.Locate('Пароль', edPass.Text, []) then //пытаемся найти пользователя по введенному паролю

 begin  //если нашли

    FIsAdmin := tUsers.FieldByName('ЭтоАдмин').AsBoolean;  //сохраняем признак ЭтоАдмин

    FUser := tUsers.FieldByName('ФИО работника').AsString;  //сохранаяем ФИО пользователя

    ModalResult := mrOK //закрываем форму

 end else //если не нашли

   Application.MessageBox('Неверный пароль!', 'Ошибка', MB_ICONERROR); //сообщение об ошибке

end;

procedure TfrmLogin.b1Click(Sender: TObject);

begin

 edPass.Text := edPass.Text + '1'; //нажали на кнопку "1"

end;

procedure TfrmLogin.b2Click(Sender: TObject);

begin

 edPass.Text := edPass.Text + '2'; //нажали на кнопку "2"

end;

procedure TfrmLogin.b3Click(Sender: TObject);

begin

 edPass.Text := edPass.Text + '3'; //нажали на кнопку "3"

end;

procedure TfrmLogin.b4Click(Sender: TObject);

begin

 edPass.Text := edPass.Text + '4'; //нажали на кнопку "4"

end;

procedure TfrmLogin.b5Click(Sender: TObject);

begin

 edPass.Text := edPass.Text + '5'; //нажали на кнопку "5"

end;

procedure TfrmLogin.b6Click(Sender: TObject);

begin

 edPass.Text := edPass.Text + '6'; //нажали на кнопку "6"

end;

procedure TfrmLogin.b7Click(Sender: TObject);

begin

 edPass.Text := edPass.Text + '7'; //нажали на кнопку "7"

end;

procedure TfrmLogin.b8Click(Sender: TObject);

begin

 edPass.Text := edPass.Text + '8'; //нажали на кнопку "8"

end;

procedure TfrmLogin.b9Click(Sender: TObject);

begin

 edPass.Text := edPass.Text + '9'; //нажали на кнопку "9"

end;

end.

unit uLibSt;

interface

uses

 Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,

 Dialogs, cxStyles, cxCustomData, cxGraphics, cxFilter, cxData, cxDataStorage,

 cxEdit, DB, cxDBData, cxButtonEdit, ADODB, cxGridLevel, cxGridCustomTableView,

 cxGridTableView, cxGridDBTableView, cxClasses, cxControls, cxGridCustomView,

 cxGrid, StdCtrls, Buttons, ExtCtrls;

type

 TfrmLibSt = class(TForm)

   cxGrid1: TcxGrid;

   cxGrid1DBTableView1: TcxGridDBTableView;

   cxGrid1DBTableView1X: TcxGridDBColumn;

   cxGrid1DBTableView1Y: TcxGridDBColumn;

   cxGrid1DBTableView1X_KOD: TcxGridDBColumn;

   cxGrid1DBTableView1LED: TcxGridDBColumn;

   cxGrid1DBTableView1EPIN: TcxGridDBColumn;

   cxGrid1DBTableView1PINS: TcxGridDBColumn;

   cxGrid1DBTableView1STECKER: TcxGridDBColumn;

   cxGrid1DBTableView1SW: TcxGridDBColumn;

   cxGrid1Level1: TcxGridLevel;

   cxGrid2: TcxGrid;

   cxGridDBTableView1: TcxGridDBTableView;

   cxGridLevel1: TcxGridLevel;

   ADOTable1: TADOTable;

   DataSource1: TDataSource;

   cxGridDBTableView1DBColumn1: TcxGridDBColumn;

   Panel1: TPanel;

   BitBtn2: TBitBtn;

   procedure cxGridDBTableView1DblClick(Sender: TObject);

   procedure BitBtn2Click(Sender: TObject);

 private

   { Private declarations }

   FStName: string;

 public

   { Public declarations }

   property StName: string read FStName;

 end;

var

 frmLibSt: TfrmLibSt;

implementation

{$R *.dfm}

procedure TfrmLibSt.BitBtn2Click(Sender: TObject);

begin

 FStName := ADOTable1.FieldByName('Наименование').AsString;  //сохраняем наименование выбр. штекера

 ModalResult := mrOk; //закрываем форму

end;

procedure TfrmLibSt.cxGridDBTableView1DblClick(Sender: TObject);

begin

 BitBtn2Click(nil); //сохраняем наименование выбр. штекера и закрываем форму

end;

end.

unit uETables;

interface

uses

 Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,

 Dialogs, cxStyles, cxCustomData, cxGraphics, cxFilter, cxData, cxDataStorage,

 cxEdit, DB, cxDBData, ADODB, StdCtrls, Buttons, ExtCtrls, cxGridLevel,

 cxGridCustomTableView, cxGridTableView, cxGridDBTableView, cxClasses,

 cxControls, cxGridCustomView, cxGrid;

type

 TfrmETables = class(TForm)

   cxGrid1: TcxGrid;

   cxGrid1DBTableView1: TcxGridDBTableView;

   cxGrid1Level1: TcxGridLevel;

   Panel1: TPanel;

   BitBtn1: TBitBtn;

   BitBtn2: TBitBtn;

   ADOTable1: TADOTable;

   DataSource1: TDataSource;

   cxGrid1DBTableView1DBColumn1: TcxGridDBColumn;

   procedure BitBtn1Click(Sender: TObject);

 private

   { Private declarations }

 public

   { Public declarations }

 end;

var

 frmETables: TfrmETables;

implementation

uses uMGroups;

{$R *.dfm}

procedure TfrmETables.BitBtn1Click(Sender: TObject);

begin

 //нажали OK

 frmMGroups := TfrmMGroups.Create(self); //создаем форму с группами менеджеров

 try

    frmMGroups.ShowModal; //отображаем ее

 finally

    FreeAndNil(frmMGroups); //освобождаем память

 end;

end;

end.


Приложение Д

Опись листов графической части дипломного проекта   

Лист 1 – Цель и задачи проекта.

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

Лист 3 – Концептуальная модель.

Лист 4 – Диаграмма вариантов использования для работника и программиста.

Лист 5 – Диаграмма состояний.

Лист 6 – Физическая модель.

Лист 7 – Главная форма.

Лист 8 – Форма «Программы».

Лист 9 – Форма «Тестирование»

Лист 10 – Печатная форма «Чек».

Лист 11 – Выводы по проекту.

7


 

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

71813. ПОНЯТИЕ, СОДЕРЖАНИЕ И КОНСТИТУЦИОННО-ПРАВОВЫЕ ОСНОВЫ ЗАЩИТЫ ПРАВ ЧЕЛОВЕКА ОТ ПРИЧИНЕНИЯ МОРАЛЬНОГО ВРЕДА 184.5 KB
  Основной закон России Конституция исходит из признания высшей ценностью человека его прав и свобод ст. Право лица на восстановление его нарушенного интереса возмещение имущественного ущерба и компенсацию морального вреда гарантированно статьей 46 Конституции и может быть...
71814. НАЛОГ КАК КАТЕГОРИЯ НАЛОГОВОГО ПРАВА 92 KB
  Одной из актуальных проблем налогового права выступает необходимость скорейшего совершенствования и унификации понятийного аппарата в сфере правового регулирования налогообложения. Обращаясь в связи с этим к рассмотрению налогово-правовой категории налога необходимо...
71815. ЭВОЛЮЦИЯ НАЛОГОВО-ПРАВОВЫХ МЕТОДОВ РЕГУЛИРОВАНИЯ ЭКОНОМИКИ СУБЪЕКТА РОССИЙСКОЙ ФЕДЕРАЦИИ С НАЧАЛА 90-Х ГОДОВ XX ВЕКА 145 KB
  В начале 90-х годов произошло существенное изменение роли налогов в экономике России. наделение субъектов Федерации самостоятельными источниками доходов и самостоятельными направлениями их расходования.
71816. ОРГАНИЗАЦИОННО-ТАКТИЧЕСКИЕ ОСНОВЫ РАБОЧЕГО И ЗАКЛЮЧИТЕЛЬНОГО ЭТАПОВ НАЛОЖЕНИЯ АРЕСТА НА ИМУЩЕСТВО 103.5 KB
  Рабочий этап наложения ареста на имущество складывается из трех последовательно сменяющих друг друга стадий предварительной обзорной и детальной. Предварительная стадия включает в себя ряд последовательно выполняемых действий в число которых входят: прибытие на место производства...
71817. Банковская система и её роль в национальной экономике. Особенности её развития в РБ 483.22 KB
  Объект исследования банковская система в Республике Беларусь. Предмет исследования деятельность банков в рамках национальной банковской системы. Цель работы: изучить состояние а также выявить перспективы банковской системы в Республике Беларусь.
71818. Проектирование системы отопления в доме отдыха поездных бригад на узловой станции 361 KB
  Исходные данные для проектирования Теплотехническая часть Наружная стена (НС) Наружные и входные двери (НДВ) Бесчердачное перекрытие-потолок (ПТ) Перекрытие над неотапливаемым подвалом (ПЛ) Окна и балконные двери (ОК) Результаты теплотехнических расчетов Определение потерь теплоты помещениями...
71819. Тяговый электродвигатель НБ-514 70.46 KB
  Двигатель тяговый НБ-514 предназначен для индивидуального привода колесных пар электровозов переменного тока через двухстороннюю жесткую косозубую передачу. Подвеска тягового электродвигателя опорно-осевая.
71820. Разработка САУ процессом копчения продуктов 156.5 KB
  В данном курсовом проекте описывается анализ и синтез САУ процессом копчения продуктов с регулятором в контуре управления. Составляются математическое описание объекта управления исполнительных и измерительных устройств.
71821. Понятия информационной технологии, эволюция их роль в развитии экономики и обществе 93.8 KB
  Целью исследования является определение роли информационных технологий в формировании социальное пространства. Достижение цели работы обусловило постановку и решение следующих взаимосвязанных задач: охарактеризовать этапы развития компьютерных технологий...