Эмблема
АВТОБИОГРАФИЯ  Русский  Українська  English 
ДИССЕРТАЦИЯ
БИБЛИОТЕКА
ССЫЛКИ
РЕЗУЛЬТАТЫ ПОИСКА
БИБЛИОТЕКА: Отчет о прохождении второй производственной практики на предприятии ОАО "Промтелеком"

ОПИСАНИЕ ЗАДАЧИ

В 1996г. для предприятия ОАО "Промтелеком" был разработан ком-плекс бухгалтерских программ для следующих отделов:
· Междугородка.
· Абонентский отдел.
· Работы с платежами.
· Работы с налоги.

Все эти программы были написаны на Microsoft Access 97. Каждая из этих программ использовала свою базу данных, которая располагалась на том же компьютере, что и сама программа. В связи с этим возникали трудности: программе "междугородка" часто приходилось обращаться за данными к ба-зе программы "Абон.отдел" и если, по какой-то причине, компьютер с про-граммой "Абон.отдел" не работал, то, соответственно, не могла работать и программа "Мждугородка". Другим недостатком такого построения системы была скорость вы-полнения запросов. Т.к. базы данных на компьютерах непрерывно растут (свыше 50 000 записей в одной таблице, а каждой из программ используется несколько таких таблиц) а вычислительная мощность компьютеров не меня-ется (CPU - K-7 300, RAM - 32Mb) то для выполнения некоторых запросов машине требуется больше 10 секунд, а если в это время к базе подключается другая программа - и того больше. Ещё одним недостатком такой системы стала её стоимость. В связи с тем, что в последнее время корпорация Microsoft и правоохранительные ор-ганы Украины повысили контроль использования нелицензионного ПО на государственных и частных предприятиях, возникла необходимость в приоб-ретении лицензионных копий Microsoft Windows 98 и полных версий Microsoft Office 97 (т.к. в user version Microsoft Office не входит Access). В связи с описанными выше проблемами, был поставлен вопрос целе-сообразности сохранения существующей системы и возможном переходе к другому, более рациональному варианту.

ВАРИАНТЫ РЕШЕНИЯ И ОБОСНОВАНИЕ ВЫБОРА

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

  • Сохранить имеющуюся разработку. Существующая система была выполнена в MS Access работающей в операционной системе MS Windows. Соответственно, для продолжения использования разрабо-танного комплекса программ, необходимо приобрести лицензионные версии MS Office и MS Windows для каждой рабочей станции участ-вующей в работе. Следует отметить, что на многих рабочих местах MS Office и MS Windows используются лишь для доступа к базе данных.
  • Преобразовать имеющуюся разработку для какой-либо другой СУБД, меньшей по стоимости (или бесплатной), чем MS Office, ра-ботающей также в MS Windows.
  • Осуществить переход к другой ОС, меньшей по стоимости (или бес-платной), чем MS Windows. Соответственно, при этом необходимо преобразовать имеющуюся разработку для использования с другой СУБД.

Принимая во внимание тот факт, что единственным назначением MS Office и MS Windows в данном случае является обеспечение возможности работы с разработанным комплексом программ, а также большую общую стоимость первого решения - цена (MS Office + MS Windows) * количество компьютеров - было решено отказаться от этого варианта. Вторым вариантом, более экономным, является переход к другой СУБД. Однако системы, которые бы обеспечили выигрыш в цене, не удовле-творяют своим качеством и возможностями. Такие СУБД как Clipper, Clarion, FoxPro совершенно не приспособлены для создания интегрированных сис-тем, работающих с общей базой. В принципе они вообще не поддерживают понятие "база данных", и работают на уровне индивидуальных таблиц-файлов. Необходимо отметить, что существуют и бесплатные СУБД для ОС MS Windows, вполне удовлетворяющие поставленным требованиям. Но эти же системы работают под управлением других ОС, например UNIX. Таким образом, было бы неразумно использовать бесплатную СУБД на ОС MS Windows, если эта же СУБД доступна на другой, бесплатной ОС. Итак, было решено использовать оставшийся вариант, предполагаю-щий переход одновременно к другой ОС и СУБД. Главным недостатком дан-ного варианта является необходимость преобразования существующего ком-плекса программ. В качестве новой ОС была выбрана Linux RedHat, в основном из-за следующих факторов:
  • Данная ОС полностью бесплатная.
  • Она широко распространена.
  • Существует большое число различных СУБД, работающих в данной ОС.

В качестве новой системы управления базой данных можно было бы использовать одну из лицензионных систем (например, Oracle), которые при-влекали широким набором функций и доказанной надёжностью работы. Од-нако, рассмотрев несколько бесплатных СУБД, было решено остановить вы-бор именно на них, так как они полностью удовлетворяли поставленные к системе требования. Далее приведены некоторые из причин, побудивших использовать собственную, а не покупную разработку:
  • Относительно низкая стоимость такой разработки.
  • Собственная разработка - это максимальная ориентация на реализа-цию бизнес - процессов предприятия, его уникальных финансовых и управленческих технологий, складывающихся годами.
  • Обеспечивать значительно более высокий уровень безопасности и независимости от внешних факторов.
  • Оперативная реакция на любые изменения.
  • Отсутствие подходящего программного продукта на рынке. Вместе с тем при собственной разработке необходимо решить целый комплекс организационно-технических задач, которые позволили бы избе-жать ошибочных решений, например:
  • Правильный выбор архитектуры построения вычислительно-коммуникационной сети и ориентация на профессиональные СУБД. По экспертным оценкам собственные разработки в 53% базируются на СУБД Oracle, около 15% на Informix, 22% - другие СУБД.
  • Использование при разработке современного инструментария и др. Ориентацию на профессиональные СУБД обеспечили следующие перспективы:
  • Оптимизированный многопользовательский режим работы с разви-той системой транзакционной обработки, что обеспечивает много-численным пользователям возможность работы с базой данных, не мешая друг другу.
  • Надежные средства защиты информации (учитывая стандартную трехзвенную архитектуру защиты: на уровне сети - на уровне сервера БД - на уровне клиентской ОС).
  • Эффективные инструменты для разграничения доступа к БД.
  • Поддержка широкого диапазона аппаратно - программных платформ.
  • Реализация распределенной обработки данных.
  • Возможность построения гетерогенных и распределенных сетей.
  • Развитые средства управления, контроля, мониторинга и админист-рирования сервера БД.
  • Поддержка таких эффективных инструментариев, как: словари дан-ных, триггеры, функции, процедуры, пакеты и т.п.

Рассмотрим ещё несколько "за" и "против" использования профес-сиональных СУБД:
  • "против" - Профессиональные СУБД предъявляют высокие требова-ния к аппаратной платформе.
  • "за" - С резким ростом производительности Intel-ориентированных аппаратных платформ большинство производителей профессиональ-ных СУБД выпустила свои версии и под Intel-сервера, в том числе и под ОС Linux, а учитывая что Linux при всей своей мощности UNIX системы бесплатная ОС, то и решение на ее основе, как правило не повлечет больших финансовых затрат. Это позволяет при построе-нии системы ориентироваться не только на высокопроизводительные многокластерные RISC сервера, но и использовать серверные Intel-платформы.
  • "против" - Профессиональные СУБД сложны и дороги в админист-рировании.
  • "за" - Как правило, сложность администрирования зависит от кон-кретной СУБД. Кроме того, многие проблемы снимаются за счет широких возможностей удаленного администрирования из центра.
  • "против" - Внедрение систем на профессиональной платформе про-цесс затяжной и дорогостоящий.
  • "за" - Затяжка внедрения, как правило, обусловлена либо недостат-ком опыта фирмы поставщика по установке таких систем, либо не-достаточной готовностью самого внедряемого продукта.

Таким образом, определив операционную систему и требования к СУБД, были выбраны две системы управления базой данных: MySQL и PostgreSQL. Основными достоинствами MySQL являются:
  • Многопоточность. Поддержка нескольких одновременных запросов.
  • Оптимизация связей с присоединением многих данных за один про-ход.
  • Записи фиксированной и переменной длины.
  • ODBC драйвер в комплекте с исходными кодами.
  • Гибкая система привилегий и паролей.
  • До 16 ключей в таблице. Каждый ключ может иметь до 15 полей.
  • Поддержка ключевых полей и специальных полей в операторе CREATE.
  • Поддержка чисел длинной от 1 до 4 байт (ints, float, double, fixed), строк переменной длины и меток времени.
  • Интерфейс с языками C и perl.
  • Основанная на потоках, быстрая система памяти.
  • Утилита проверки и ремонта таблицы (isamchk).
  • Все данные хранятся в формате ISO8859_1.
  • Все операции работы со строками не обращают внимания на регистр символов в обрабатываемых строках.
  • Псевдонимы применимы как к таблицам, так и к отдельным колон-кам в таблице.
  • Все поля имеют значение по умолчанию. INSERT можно использо-вать на любом подмножестве полей.
  • Легкость управления таблицей, включая добавление и удаление ключей и полей.

PostgreSQL обладает большинством из перечисленных достоинств, а также огромным набором собственных. Кроме того, PostgreSQL имеет более долгую историю развития и усовершенствования, чем MySQL. С PostgreSQL, установленной на UNIX машине можно работать с платформы MS Windows, используя ODBS драйвер. PostgreSQL - это бесплатный и вместе с тем доста-точно быстрый и мощный SQL сервер. Так как PostgreSQL распостраняется по лицензии General Public License (GPL) версии 2, то вам также предостав-ляются исходные тексты этой программы. Многие современные дистрибути-вы Linux включают в себя PostgreSQL, например, такой дистрибутив как RedHat. Итак, в качестве СУБД была выбрана PostgreSQL. Следующим вопро-сом, который необходимо было решить, являлся вопрос доступа клиентов к базе данных. Было рассмотрено два варианта:
  • Доступ через CGI с помощью web-сервера.
  • Использование собственных клиентских программ.

Первый вариант обладает следующими достоинствами:
  • Возможность доступа к БД с помощью любого web-броузера, рабо-тающего на компьютере под управлением любой ОС.
  • Отсутствие привязанности работника к конкретной программе дос-тупа к БД.
  • Очень низкие требования к аппаратным средствам клиентских ма-шин. И недостатками:
  • Несколько медленная работа.
  • Сложность реализации большого числа функций на одной странице.
  • Каждый из web-броузеров по-своему осуществляет вывод документа на печать, в некоторых случаях неудовлетворительно. Таким обра-зом, появляется необходимость создания собственного броузера.

Второй вариант обладает следующими достоинствами:
  • Возможность создания клиентских программ как для ОС UNIX, так и MS Windows.
  • Возможность реализации более гибких программных решений.
  • Большее быстродействие.

И недостатками:
  • Каждый работник становится привязанным к определённой про-грамме.
  • Более высокие требования к аппаратным средствам клиентских ма-шин.

Учитывая описанные достоинства и недостатки, было принято реше-ние использовать второй способ. При этом, для написания клиентских про-грамм был выбран язык perl, для которого существует специальный интер-фейс в PostgreSQL через функции модуля Pg.pm. Создание графического пользовательского интерфейса стало возможным благодаря использованию модуля Tk.pm, предоставляющего все необходимые элементы. Всю базу данных было решено сосредоточить на одном, центральном компьютере. Это устранит зависимость в работе отделов, а также обеспечит более лёгкое резервное копирование всех данных.

РЕЛЯЦИОННЫЕ БАЗЫ ДАННЫХ

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

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

Как сказано выше, вся информация в базе данных должна быть пред-ставлена в виде таблиц. Каждая таблица состоит из строк и столбцов. Каждая строка описывает определённую сущность или объект - человека, компанию, торговую марку, сделку. Каждый столбец описывает одну характеристику объекта - имя человека или его адрес, телефон и т.д. Каждый элемент данных или значение определяется пересечением строки и столбца таблицы. Чтобы найти требуемый элемент данных, необхо-димо знать имя содержащей его таблицы, столбец и значение его первичного ключа или уникального идентификатора. В реляционных базах данных существует два вида таблиц - пользова-тельские таблицы и системные таблицы. Пользовательские таблицы содер-жат информацию для поддержки которой собственно и создавались базы данных - данные по сделкам, заказам, платежам и т.д. Системные таблицы, известные также под названием системных каталогов, содержат описание ба-зы данных. Системные таблицы поддерживаются обычно самой СУБД, одна-ко доступ к ним можно получить так же как и к пользовательским таблицам. Независимость данных - критический аспект при управлении любой системой баз данных. Она позволяет изменять приложения не изменяя при этом структуру базы данных и наоборот, изменять конструкцию базы данных не оказывая при этом никакого влияние на работу приложений. Система не должна становиться бесполезной при изменении ваших потребностей. Реляционная модель обеспечивает независимость данных на двух уровнях: физическом и логическом. Физическая независимость данных означает, что представление дан-ных для пользователя не зависит от способа их физического хранения. Логическая независимость данных означает, что изменение взаимо-связей между таблицами, столбцами и строками не влияет на правильное функционирование программных приложений и текущих запросов. Определение реляционной системы требует чтобы весь диалог с базой данных велся на едином языке - иногда его называют общим подъязыком данных. В мире коммерческих СУБД такой язык получил название SQL. SQL используется для манипуляций с данными: выборки и модифика-ции, определение данных и администрирования данных. Любая операция по выборке, модификации, определению или администрированию данных вы-полняется с помощью оператора или команды SQL. Имеются две разновидности операций по манипуляции с данными - выборка данных и модификация данных. Выборка - поиск необходимых вам данных, а модификация означает добавление, удаление или изменение дан-ных. Операции по выборке (чаще называемые запросами) осуществляют поиск в базе данных, наиболее эффективно извлекают затребованную вами информацию и отображают её.

ОБЗОР НЕКОТОРЫХ ХАРАКТЕРИСТИК СОЗДАВАЕМОЙ СИСТЕМЫ

Состав базы данных.
На рисунке изображена в виде таблиц часть базы данных предприятия ОАО "Промтелеком". Рассмотрим подробнее каждую из представленных таблиц.

  • abon_kvart - содержит данные о квартирных абонентах, а именно: номер договора, лицевой счет, имя, адрес и телефон абонента.
  • abon_proizv - содержит данные о производственных абонен-тах: номер договора, название предприятия, адрес, дату под-писания договора и дату окончания действия договора, ОКПО, а также код тарифа по которому данный абонент расплачива-ется.
  • telephones_proizv - содержит номера телефонов и 20 полей, которые соответствуют 20 услугам, предоставляемым теле-фонной станцией абоненту.
  • qfile - данные по междугородним разговорам каждого абонен-та, включающие телефон звонящего абонента, телефон адре-сата, дату и др. Данная таблица формируется в конце каждого месяца, когда на станцию по электронной почте из Укртеле-кома поступает *.dbf файл, в котором хранятся данные о меж-дугородних переговорах всех абонентов АТС. В соответствии с этими данными, распечатываются и рассылаются счета по телефонным разговорам в пределах города и междугородним телефонным разговорам.
  • oplata - данные об оплате клиентов за год, включающие: вид абонента, номер договора, дату оплаты, номер пачки квитан-ций, счёт по которому произведена оплата, сумма.
  • oborotka - оборотная ведомость за год. Включает в себя сле-дующие данные: вид абонента, номер договора, входной оста-ток (аванс клиента), начисления за месяц, оплачено за месяц, сторно, дата.
  • tarifs - данные о тарифах на предоставляемые услуги: код ус-луги, наименование, стоимость и др.
  • abon_types - виды абонентов: производственные, квартирные, невыясненные и др.
  • scheta - бухгалтерские счета, по которым производится пере-числения: банк, касса, зарплата, расчёты с поставщиками, до-полнительные соглашения и др.

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

ВЫВОДЫ

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

  • Операционная система - Linux RedHat.
  • Система управления базой данных - PostgreSQL
  • Язык для написания клиентских приложений - Perl/Tk.
  • Компьютер для поддержки СУБД (CPU - Duron 1000MHz, RAM - 3x256Mb DDR, HDD - IDE & SCSI, CDRW).
Новое аппаратное и программное обеспечение было установлено и опробовано. Существующие данные из базы MS Access были переведены в новую базу данных. Была создана начальная версия программы для отдела работы с междугородними звонками.

РЕКОМЕНДУЮ ПОСЕТИТЬ
Страница ДонНТУ
Портал магистров ДонНТУ
Поиск
Факультет КИТиА