Создание клиентских частей SQL БД под ОС Windows'95 и WindowsNT
обеспечивая тем самым независимость остальной части операционной системы от
конкретных аппаратных особенностей. Подобный подход позволяет обеспечить
легкую переносимость Windows NT с одной аппаратной платформы на другую.
Ядро является основой модульного строения системы и координирует
выполнение большинства базовых операций Windows NT. Этот компонент
специальным образом оптимизирован по занимаемому объёму и эффективности
функционирования. Ядро отвечает за планирование выполнения потоков,
синхронизацию работы нескольких процессоров, обработку аппаратных
прерываний и исключительных ситуаций.
Исполняющая система включает в свой состав набор программных конструкций
привилегированного режима (kernel-mode), представляющих базовый сервис
операционной системы подсистемам среды. Исполняющая система состоит из
нескольких компонентов, каждая из которых предназначена для поддержки
определённого системного сервиса.
Подсистемы среды представляют собой защищённые серверы пользовательского
режима (user-mode), которые обеспечивают выполнение и поддержку приложений,
разработанных для различного операционного окружения (различных
операционных систем). Примером подсистем среды могут служить подсистемы
Win32 и OS/2.
Безопасность. Система защиты Novell NetWare включает в себя защиту от
несанкционированного доступа, а также ограничения на доступ (пользователей
с определенными именами в определенное время дня). NetWare 4.1
соответствует требованиям класса безопасности C2, предъявляемым к сетевым
конфигурациям ("Красная книга").
Windows NT обеспечивает защиту с помощью встроенной системы безопасности
и усовершенствованных методов управления памятью. Система безопасности
удовлетворяет спецификациям правительства США и соответствует стандарту
безопасности С2. В корпоративной среде критическим приложениям
обеспечивается полностью изолированное окружение.
Практически все современные системы Unix либо в базовой поставке, либо,
задействуя дополнительный модуль, соответствуют классу безопасности C2 для
рабочей станции, а иногда и более высокому. Некоторые версии Unix отвечают
также классу C2 и для сетевой конфигурации.
Многопользовательский Интерфейс. Преимуществом Unix является поддержка
многопользовательского интерфейса, которая отсутствует у NetWare и Windows
NT.
К одной Unix-машине, даже на базе ПК, можно подключать десятки алфавитно-
цифровых терминалов. Если же терминалов требуется слишком много, то
приобретают мэйнфрейм (причем сегодня, а не во времена царя Гороха).
Мэйнфреймов же IBM продает на сумму, которая для любого производителя ПК
является пределом мечтаний, но у нас про это говорить как-то не принято.
Хороший мэйнфрейм без труда потянет работу нескольких сотен, а то и тысяч
терминалов.
Несколько по-другому обстоят дела с сетевым графическим интерфейсом. В
мире открытых систем стандартом на сетевую поддержку графического
интерфейса является X Window System. В этой системе компьютер, на котором
выполняется задание, называется X-клиентом. Устройство (в его качестве
может выступать и компьютер, и X-терминал), с клавиатуры и мыши которого
осуществляется ввод информации и на дисплей которого производится вывод
графического изображения, называется X-сервером. При этом X-клиент и X-
сервер могут выполняться как на одном и том же компьютере, так и на
различных, порой несовместимых машинах.
Хотя X (сокращенное обозначение X Window System) разрабатывался
независимой от конкретной ОС, его реализации могут довольно сильно
отличаться в различных операционных системах. X прекрасно адаптирован для
Unix, причем имеется множество расширений, значительно увеличивающих
возможности стандартной поставки.
Как известно, Microsoft при разработке Windows NT не стала делать
графический интерфейс сетевым. Не поставляет она и продукты, реализующие X
Window System в этой ОС. Тем не менее, ряд независимых компаний предлагает
такие программы.
Для NetWare 4.1 поддержка X вообще отсутствует (кроме простой программы X-
console).
Логическая Организация Сетевых Ресурсов. В NetWare 4.1 имеется прекрасное
средство организации сетевой инфраструктуры - служба каталогов NetWare
(NDS). Она позволяет строить иерархию сетевых ресурсов на глобальном
уровне. При этом пользователю для доступа к любому ресурсу довольно один
раз зарегистрироваться в сети. Недостатком NDS является недостаточное
количество прикладных программ для этой отличной службы.
Что касается реализации NDS на других платформах, то уже сейчас SCO
UnixWare (которая раньше принадлежала Novell) поддерживает NDS. Кроме того,
фирма Novell заключила соглашение с Hewlett-Packard и SCO о переносе NDS в
среду Unix этих фирм.
В Windows NT Server 3.51 и 4.0 сеть строится на основе доменов, что даже
по признанию Microsoft менее привлекательно для корпоративных клиентов, чем
служба каталогов. В Windows NT 5.0 Microsoft ввела новую службу каталогов
NT Directory Service или, как ее еще называют – Active Directory. Она
обеспечивает глобальное управление каталогами в сетевой среде масштаба
предприятия и сравнима по своим функциям со службой Novell Directory
Services (NDS).
Для Unix использование сетевой информационной службы NIS, разработанной
фирмой Sun, дело обычное. Эта служба позволяет организовывать сетевые
ресурсы на основе доменов, однако, в отличие от Windows NT, она не помогает
устанавливать между доменами доверительные отношения. Управление NIS
довольно сложная задача: редактировать многочисленные текстовые файлы
приходится "врукопашную".
В настоящее время некоторые производители Unix разрабатывают свои службы
каталогов, обычно на основе стандарта X.500. Однако представляется гораздо
более перспективным для них использование службы каталогов либо фирмы
Novell, либо Microsoft.
Если говорить откровенно, самым слабым местом построения корпоративной
гетерогенной сети является разобщенность сетевых ресурсов и невозможность
применения единой службы (каталогов или доменов), начиная от ПК и кончая
мэйнфреймами и суперкомпьютерами.
Службы Файлов и Печати. Судя по тестам, самой производительной сетевой
файловой системой обладает NetWare 4.1. Очень близко к ней находится
Windows NT, но все-таки при большом количестве клиентов и при подключении
сервера к высокопроизводительному сетевому каналу архитектурные особенности
NetWare дают ей некоторые преимущества.
Файловый сервер в NetWare является обычным ПК, сетевая ОС которого
осуществляет управление работой ЛВС. Функции управления включают
координацию рабочих станций и регулирование процесса разделения файлов и
принтеров. Сетевые файлы всех рабочих станций хранятся на жестком диске
файлового сервера, а не на дисках рабочих станций.
Кроме возможности выполнения приложений, написанных для других
операционных систем, в Windows NT поддерживаются и различные типы файловых
систем. Можно использовать жесткий диск, отформатированный в одной из трех
систем: FAT, HPFS и NTFS (разработанной специально для Windows NT). Очень
надежная, файловая система NTFS позволяет применять длинные имена файлов и
контролировать доступ к определенным файлам. В 4 версии файловая система
HPFS больше не поддерживается, так как не предлагает никаких преимуществ по
сравнению с двумя другими.
Сетевая файловая система - самое слабое место в Unix. Стандартной для
Unix и общепринятой в мире открытых систем является NFS. Она была
разработана Sun более десятка лет назад. С тех исторических времен для Unix
было предложено много других, более совершенных спецификаций сетевых
файловых систем, но они не получили широкого распространения.
NFS отличается низкой производительностью, ограниченными средствами
управления правами и недостаточной защищенностью от несанкционированного
доступа. К тому же многие системы Unix имеют ограничения в 2 Гбайт (что
слишком мало для современных программ) на максимальный размер файла.
Службы печати во всех трех ОС достаточно близки по своим функциональным
возможностям, и, какая из них лучше, оценить трудно. Несомненно, только то,
что удобнее всего управлять печатью в Windows NT, а сложнее всего - в Unix.
Поддержка Аппаратных Платформ. NetWare 4.1 может быть установлена только
на компьютерах с процессорами Intel x86. Одно время Novell собиралась
перенести эту ОС на PowerPC, но, похоже, она отказалась от своих намерений.
ОС Unix имеется, кажется, на всех мыслимых платформах. Но значит ли это,
что если вы работаете в SCO OpenServer, то знаете IBM AIX? Конечно же, нет!
Более того, многие программы требуют серьезной переработки в исходных
текстах для переноса из одной системы Unix в другую. Каждая версия Unix
предназначена обычно лишь для одной аппаратной платформы. Единственным,
пожалуй, приятным исключением является ОС Solaris, которая реализована для
процессоров SPARC, x86 и PowerPC. Однако найти необходимую программу для
Solaris x86 или PowerPC - дело явно неблагодарное (слишком их мало).
Windows NT можно установить на самых различных типах компьютеров, список
которых продолжает расти. Сегодня поддерживаются Intel-компьютеры с
процессорами 386, 486, Pentium и Pentium Pro, а также три типа RISC-
процессоров: PowerPC, MIPS R4000 и DEC Alpha. По количеству поддерживаемых
платформ она не намного обошла Solaris. Что касается прикладных программ
для "неродных" аппаратных платформ, то здесь ситуация полностью аналогична
Solaris - программ адаптированных для Windows NT не Intel платформ
практически существует.
Все три системы неплохо подходят в качестве сервера удаленного доступа,
но лучше для этого использовать не обычный компьютер, а специализированные
серверы типа AccessBuilder фирмы 3Com или LanRover/E фирмы Shiva.
В качестве платформы для сервера групповой обработки информации, сервера
электронной почты и факс-сервера могут применяться все три ОС, но обычно
такие программы для Unix стоят дороже (кроме SMTP, поставляемой бесплатно),
а управлять ими сложнее.
Web-серверы существуют на всех трех ОС. Однако чаще всего в качестве
платформы Web-серверов используют Unix, в особенности Solaris. Думается все
же, что в России главенствующую роль будет играть Windows NT Server 4.0 со
своим Internet Information Server, поскольку это приложение поставляется с
самой системой бесплатно, а такого рода доводы обычно сильнее всех
остальных. Тем не менее, Internet до сих пор остается вотчиной Unix-
серверов. Они поддерживают максимальное количество протоколов и приложений
TCP/IP. Поэтому, если планируется серьезное использование Internet, стоит
обратить пристальное внимание на Unix.
При подключении локальных сетей к Internet особую и важную роль играют
брандмауэры. Практически все они реализованы на основе той или иной версии
Unix.
Сервер Баз Данных. Из-за отсутствия вытесняющей многозадачности и защиты
памяти NetWare вряд ли можно назвать подходящей платформой для сервера БД.
Windows NT и Unix-машины хорошо зарекомендовали себя в качестве сервера БД,
но, благодаря большей масштабируемости и наличию кластерных технологий,
Unix лучше подходит в качестве мощного сервера БД для распределенных сетей.
Сервер Прикладных Программ. По совершенно не понятной причине, когда
говорят о сервере приложений, часто под этим термином подразумевают сервер
БД. Никто не спорит, сервер БД очень важен, но это только одно из возможных
приложений. Зачем же подменять понятие сервера приложений понятием сервера
БД (а еще краше SQL-сервером).
Поскольку о серверах БД уже упоминалось, мы поговорим об использовании ОС
в качестве программной платформы для общего сервера приложений, каким,
например, является сервер вычислений.
Допустим, для каких-либо дорогих и очень ресурсоемких программ (серьезных
САПР или, скажем, программ расчета и отображения динамических процессов в
ядерном реакторе) понадобилось приобрести мощную вычислительную технику
категории "Number Crashing" ("перемалыватель чисел"), допустим 12-
процессорный Alpha-Server. Конечно же, на него поставят Unix (или OpenVMS)
с тем, чтобы его вычислительной мощью могли пользоваться одновременно
несколько пользователей. Для этого обычно задействуют различного типа
терминалы, рабочие станции или эмуляторы терминалов на ПК. Из-за отсутствия
встроенной поддержки многопользовательского интерфейса Windows NT не очень
хорошо подходит для такого сервиса (а о NetWare лучше даже и не заикаться).
Правда в последнее время растет нужда в системах, способных исполнять
основное – "тяжелое" – приложение на мощном высокопроизводительном сервере,
а результаты деятельности по запросам передавать на маломощные клиентские
станции, реализуя модель клиент-сервер. Переход с больших мэйнфреймов на
современные системы на базе ПК средней и большой мощности как раз и требует
такого решения. Windows NT, изначально построенная по схеме клиент-сервер,
отлично приспособлена для работы в системах клиент-сервер в качестве
сервера приложений. В первую очередь такими приложениями являются системы
управления базами данных, системы информационного обмена, системы
управления. Именно поэтому в Microsoft BackOffice входят Microsoft SQL
Server – сервер баз данных, Microsoft System Management Server – сервер
управления системой, Microsoft Exchange – сервер информационного обмена,
SNA Server – сервер связи с мейнфреймами и Internet Information Server –
сервер Internet.
Кроме приложений корпорации Microsoft, существует более 2000 разработок
других фирм: серверы баз данных (Informix, Oracle, IBM и т.д.), системы
управления сетями (HP, DEC), управления производством (SAP),
документооборота (Lotus, Saros), финансовые (Platinum) и многие другие
системы для бизнеса.
У Windows NT есть поддержка Network OLE. Аналогичные спецификации для
Unix пока только в стадии разработки, и еще не понятно, как они будут
стыковаться с клиентскими местами на основе Windows.
Администрирование. Простота администрирования зависит не только от
продуманности пользовательского интерфейса административных утилит, но и от
возможностей самой ОС.
Хотя NetWare 4.1 имеет неплохой набор довольно удобных утилит, все-таки
Windows NT Server 4.0 - вне конкуренции. Хорошо продуманный интерфейс плюс
богатые возможности утилит делают ее простой в администрировании, и это, не
говоря о скрытой мощи.
Тем не менее, в базовом комплекте данных ОС отсутствует много важных
утилит (в частности хорошего командного процессора наподобие shell в Unix).
С Unix ситуация несколько иная. Эта ОС имеет такой огромный и богатый
набор утилит, который хватило бы на несколько других ОС. Одних
общеизвестных командных процессоров в Unix существует, как минимум, три. Но
программы Unix, разработанные разными организациями и людьми, обладают
порой несовместимыми друг с другом пользовательскими интерфейсами. Многие
из них до сих пор работают с командной строки. Хуже того, одна и та же
утилита в разных версиях Unix может иметь разные наборы аргументов и опций.
Поэтому для того, чтобы администратора Solaris перевести на
администрирование AIX, его сначала необходимо переобучать.
Хочется отметить тем не менее, что ситуация с Unix меняется в лучшую
сторону. Сейчас в соответствии с общепринятым стандартом многие версии этой
ОС снабжаются хорошо проработанными административными утилитами с
графическим интерфейсом. И не стоит судить об Unix по тому, как эта ОС
выглядела 15 лет назад.
Поддержка Клиентов. Благодаря тому, что NetWare и Windows NT
разрабатывались для обслуживания сетей ПК, они обеспечивают хорошую
поддержку основных клиентских операционных систем: MS-DOS, Windows 3.х,
Windows 95, Windows NT Workstation, OS/2, Macintosh System 7.5.
Поддерживаются в качестве клиентов и некоторые версии Unix, но далеко не
все и не всегда гладко. Эталоном здесь может служить SCO UnixWare, имеющая
прозрачную интеграцию с NetWare 4.1.
Для сетей на основе Unix до недавнего времени проблема поддержки
клиентских ОС стояла более серьезно (если не считать клиентов на основе
Unix). Но сейчас почти все Unix имеют те или иные средства интеграции
клиентов DOS/Windows. Кроме того, Windows’95 и Windows NT Workstation уже
поставляются с приложениями ftp, telnet, ping, Internet Explorer и др.
Правда, этот набор слишком невелик, да к тому же возможности некоторых из
них, мягко говоря, небольшие.
На рынке, однако, имеется очень много программных продуктов различных
фирм, реализующих практически весь спектр услуг Unix (и не только Unix) для
операционных систем на ПК. Так, Novell поставляет пакет LAN WorkPlace, в
который входят: ftp-клиент и ftp-сервер для DOS и Windows; NFS-клиент;
telnet для DOS и Windows; TN3270 для Windows; Web-браузер; сервер и клиент
X Window System; и др. При этом все приложения данного пакета прекрасно
интегрируются с NetWare.
Windows NT имеет встроенные в систему сетевые возможности, что также
позволяет обеспечить связь с различными типами host-компьютеров (благодаря
поддержке разнообразных транспортных протоколов) и использованию средств
клиент-сервер высокого уровня (включая именованные каналы, вызовы удалённых
процедур).
|Наименование |NetWare 4.1 |Windows NT |Unix |
| | |Server 4.0 | |
|Многозадачность |кооперативна|вытесняющая|вытесняющая |
| |я | | |
|Защита памяти |нет |Есть |есть |
|отдельного процесса| | | |
|Многопоточность |есть |Есть |есть |
|Поддержка SMP |есть |Есть |есть |
|Кластеры |нет |Есть |есть |
|Избыточная |SFT III |Нет |есть для |
|отказоустойчивость | | |некоторых версий |
|Сертификация по C2 |сеть |Есть |разные варианты |
| | | |для различных |
| | | |версий |
|Поддержка |нет |Нет |есть |
|алфавитно-цифровых | | | |
|терминалов | | | |
|Сетевой графический|нет |у сторонних|есть |
|интерфейс | |фирм | |
|Логическая |служба |Домены |домены (NIS) |
|организация |каталогов |(AD в NT | |
|ресурсов | |5.0) | |
|Быстродействие |отличное |Очень |низкое (NFS) |
|сетевой файловой | |хорошее | |
|системы | | | |
К сожалению, нет в мире совершенства. Ни одна сетевая операционная
система не может удовлетворить всем требованиям, предъявляемым при создании
корпоративной гетерогенной сети: каждая из них имеет свои плюсы и свои
минусы. В гетерогенной среде, где помимо ПК присутствуют Unix-машины,
наиболее разумным подходом будет комбинированное использование сетевых ОС
(Unix+Windows NT Server 4.0). Тем не менее в сети, где нет Unix-машин,
использование Unix-серверов не имеет большого смысла.
Еще один фактор, несомненно влияющий на выбор операционной системы
сервера, это операционная система клиентских машин. На сегодняшний день
распространение Windows’95 и Windows NT настолько велико, что практически
на всех компьютерах установлена одни из версий. Багатый выбор офисных
продуктов, удобный и теперь уже привычный интерфейс пользователя, легкость
и гибкость настройки и многое другое несомненно привлекает в этих
операционных системах.
Выбор СУБД для реализации довольно сложен, хотя после выбора операционной
системы сервера достаточно очевиден. Прозрачный и не отегощенный не нужными
функциями, Microsoft SQL Server является оптимальным решением. По всем
международним тестам он находится среди лидеров реляционных СУБД. Пиковая
производительность систем и их стоимость в пересчете на одну транзакцию
продолжают быстро улучшаться. В настоящее время лидерство по отношению
стоимость/производительность принадлежит комбинации продуктов
Compaq/Windows NT/Microsoft SQL .
Выбор языка программирования. Delphi - это потомок Турбо Паскаля, который
был выпущен для операционной системы CP/M в 1983 году. В феврале 1994 года
Турбо Паскаль был перенесен на операционную систему MS-DOS.
На раннем этапе развития компьютеров IBM PC, Турбо Паскаль являлся одним
из наиболее популярных языков разработки программного обеспечения - главным
образом потому, что это было вполне серьезный компилятор, который, включая
компилятор, редактор и все остальное, стоил всего $19.95 и работал на
машине с 64 Kb оперативной памяти.
Под Windows - Турбо Паскаль был перенесен фирмой Borland в 1990 году. А
самая последняя версия Borland Pascal 7.0 (имеющая теперь такое название),
не считая Delphi, вышла в свет в 1992 году. Разработка Delphi началась в
1993 году. После проведения beta-тестирования Delphi показали на "Software
Development '95". И 14 февраля 1995 года официально объявили о ее продаже в
США. В торговлю Delphi попала спустя 14 дней, 28 февраля 1995 года.
Delphi обладает рядом отличительных особенностей. Многократно
используемые и расширяемые компоненты. Delphi устраняет необходимость
программировать такие компоненты Windows общего назначения, как метки,
пиктограммы и даже диалоговые панели и множество других многократно
используемых компонентов, которые позволяют экономить время и программные
усилия при разработках для Windows. В Delphi также имеются предварительно
определенные визуальные и не визуальные объекты, включая кнопки, объекты с
данными, меню и уже построенные диалоговые панели. С помощью этих объектов
можно обеспечить вывод данных просто несколькими нажатиями кнопок мыши, не
прибегая к программированию. Предоставляемый Delphi внушительный список
объектов ставит эту систему во главе сред разработки, предоставляющих
архитектуру повторно используемых компонентов.
Поддержка стандарта VBX(Visual Basic Extensions). Delphi дает возможность
интегрировать VBX-объекты непосредственно в Палитру компонентов (Component
Palette) для облегчения доступа к этим объектам и инструментам.
Шаблоны приложений и форм. Delphi предоставляет встроенные шаблоны форм и
приложений, которые можно использовать для того, чтобы быстро начать
разработку собственных прикладных программ. В систему также включены часто
используемые диалоговые панели.
Настрой на среды разработки. Палитра компонентов, редактор кода, шаблоны
приложений и форм – примеры областей, где Delphi может быть полностью
настроена в соответствии с пожеланиями программиста.
Компилируемые программы. Утверждается, что другие известные визуальные
средства разработки приложений Windows также «компилируют» программы.
Однако это не совсем верно, в действительности происходит компиляция только
части программы и последующая компоновка программы-интерпретатора и Р-кода
в исполняемый модуль. Так работали раньше, хотя многие программисты
сталкивались с ограничением производительности при использовании этого
подхода. Delphi не использует ни интерпретатор, ни Р-код и создает
действительно откомпилированные программы, готовые для исполнения. Поэтому
программы Delphi столь же быстры, как и программы, написанные на языках
третьего поколения. Delphi является самым быстрым в мире инструментом
разработки баз данных. Простые программы Delphi могут поставляться в виде
единственного исполняемого модуля без дополнительных библиотек DLL,
необходимых при использовании иных сред разработки.
Существует два важных различия между файлами EXE, созданными в Delphi, и
файлами EXE, созданными VB. Delphi создает чисто машинный код,
непосредственно исполняемый компьютером, в то время как VB транслирует
исходный код в промежуточную форму (р-код). Файл EXE, сгенерированный VB, в
действительности является программой-интерпретатором р-кода с добавленным в
конце р-кодом программы пользователя.
"Библиотека времени выполнения" (run-time library) стандартных функций
для всех программ VB хранится в файле VBRUN300.DLL. Каждая программа VB,
попавшая к конечному пользователю, должна включать этот файл, либо
приходится рассчитывать, что такой файл у пользователя уже есть.
Дистрибутивный комплект программы должен также содержать файлы VBX для
каждого управляющего средства VB, не включенного в VBRUN300.DLL. Программы
Delphi включают необходимую часть библиотеки времени выполнения Delphi, а
также используемые компоненты. В результате EXE-файл Delphi обычно больше
по объему, чем эквивалентный EXE-файл VB, но он не зависит ни от каких
внешних файлов.
Широкие возможности доступа к данным. В Delphi встроен BDE – механизм
работы с базами данных (Borland Database Engine). BDE является тщательно
продуманной системой, результатом развития ODAPI и IDAPI. BDE в настоящее
время является стандартным промежуточным слоем, используемым для доступа ко
всем популярным форматам современных баз данных. BDE также используется в
системах «клиент/сервер» и обеспечивает доступ к таким продуктам этого
типа, как Sybase SQL Server, Microsoft SQL Server, Oracle и Borland
Interbase. Можно утверждать, что BDE просто блистает на фоне ODBC –
продукта Microsoft, обеспечивая существенный выигрыш в производительности
за счет более тесной связи с форматами баз данных.
2.3 Разработка структуры новой БД
Разрабатываемая программа должна работать как автономно, так и как модуль
общей бухгалтерской программы. Исходя из таких требований, на
проектирование структуры базы данных накладываются некоторые дополнительные
требования. С одной стороны, база данных должна нести в себе всю информацию
для нормального функционирования. С другой стороны, необходимо
предусмотреть возможность интеграции или слияния с базой данных главной
программы.
Во-первых, база данных должна хранить информацию о клиентах фирмы, о
государственных налогах (налог на добавочную стоимость, акцизный налог). В
связи с тем, что значения налогов могут изменяться, заводить эту информацию
в программу нельзя. Анализируя структуру базы данных фирмы «ИНФИН», можно
заметить, что неразумно разносить отдельно информацию по выданным и
полуученым счетам фактуры. Разумнее объединить ее в одну таблицу, добавив
еще один признак счета-фактуры – полученный или выданный. Информацию о
суммах счета-фактуры хранить не обязательно – ее можно вычислить и таблицы
товаров.
Таблица Клиенты является справочником, в котором хранится вся информация
по клиентам фирмы. Идентификатор клиента является первичным (уникальным)
ключом для таблицы. Альтернативным ключом является поле ИНН. По любому и
этих ключей можно однозначно определить клиента. Второй справочной таблицей
является таблица налогов "Налоги". Поле Идентификатор налога является ее
первичным ключом. В этой таблице хранится информация, как по НДС, так и по
Акцизному налогу.
Основной таблицей в базе данных является таблица Журнал счетов. В таблице
хранится информация обо всех выданных/полученных счетах фактуры. В ней
хранится только общая информация о счете. Поле Идентификатор счета является
первичным колючем, а поле Идентификатор клиента является внешним колючем
для этой таблицы. По внешнему ключу Идентификатор клиента можно однозначно
определить поставщика/покупателя, и все его реквизиты, для данного счета.
Дочерней таблицей для Журнала счетов является таблица Товары. В ней
хранится информация о товарах для каждого счета. Идентификатор счета,
являясь внешним ключом, является вместе с Номером позиции также первичным
ключом, по которому можно однозначно определить параметры товара. Внешними
ключами также являются НДС и Акцизный налог от таблицы Налоги.
Связи:
Клиенты – Журнал счетов. Эта связь не обязательная со стороны Клиентов и
обязательная со стороны Журнала счетов. Это значит, что может существовать
клиент, на которого еще не заведено ни одного счета-фактуры. С другой
стороны не может существовать счета-фактуры, у которого нет ссылки на
клиента или такой ссылки нет. При изменении записей в таблице Клиенты,
автоматически изменяются Идентификаторы клиента в Журнале счетов. Удаление
клиента, у которого уже существует счет-фактуры невозможно.
Налоги – Товары (НДС и Акциз). Эта связь не обязательная со стороны
Налогов и необязательная со стороны Товаров. Это значит, что может
существовать еще нигде не использованный налог, и может существовать товар,
не облагаемый налогом. При изменении значений в таблице Налоги,
автоматически изменяется значение в таблице Товаров. С другой стороны
удаление какого-нибудь налога не ведет к удалению товара. Ссылка на налог
устанавливается в значение NULL.
Журнал счетов – Товары. Таблица Товары является зависимой от таблицы
Журнал счетов. Это значит, что не может существовать товара без счета-
фактуры. В тоже время у одного счета-фактуры может существовать несколько
товаров. При изменении в Журнале счетов автоматически изменяются записи в
таблице Товары. При удалении счета-фактуры, удаляются все товары, связанные
с этим счетом-фактуры.
2.4 Перенос данных в новую базу данных
Как уже отмечалось структура базы данных старой программы фирмы «ИНФИН»
отличается древовидной структурой базы данных, а точнее расположением
файлов базы данных. Приблизительная структура показана на рисунке.
Как легко заметить, новая структура базы данных намного легче в понимании
и обращении с ней. Ветвистость директорий в базе данных «ИНФИН» никому не
нужна. Но, к сожалению, данные из старой базы данных надо переносить.
Перенос данных придется осуществлять последовательным перебором всех
поддиректорий и выгрузкой данных в SQL сервер.
К сожалению, экспорт информации в Microsoft SQL Server из DBF файлов
проводится, не может. Однако существует утилита командной строки DOS
позволяющая осуществлять экспорт данных из текстового файла,
сформированного определенным образом (формат файла для экспорта показан в
приложении А). Поэтому следует проводить экспорт данных из DBF формата в
SQL базу данных через промежуточный текстовый файл.
Под форматирование подразумевается приведение таблицы по типу, названию и
расположению полей к формату SQL таблицы
Экспорт данных в ТХТ формат
Файл формата таблицы создается единожды для данной таблицы.
При помощи утилиты командной строки
Формат DBF файлов осуществлялся при помощи утилиты для работы с файлами
DBF формата – DBU.EXE. В основном, это ручное форматирование структуры
файла, перенос данных, отчистка от пустых строк и т.д. Экспорт файла
осуществлялся при помощи программы Excel. В Excel осуществлялся вторичный
контроль над данными, заполнение незаполненных, но обязательных для
заполнения в SQL, полей. Далее данные экспортировались в ТХТ файл с
разделителями «;».
При помощи утилиты командной строки bcp.exe создавался fmt файл с
форматом SQL таблицы. Это необходимо для дальнейшего экспорта данных. Файл
формата таблицы создается единожды для данной таблицы.
К сожалению, при экспорте из Excel, все текстовые строки заключает в
кавычки, поэтому приходилось их вручную удалять. Последним этапом был сам
экспорт файла, при помощи все той же утилиты командной строки.
Ручное форматирование и преобразование файлов достаточно длительный
процесс. Поэтому был предложен альтернативный путь. Был произведен экспорт
только справочника клиентов. А далее было предложено перейти на новую
программу с нового года, и в новом году работать на новой программе, а в
старом – на старой. Это еще обусловлено тем, что Центральный Банк с 1998
года ввел новый план счетов и, как следствие, у всех фирм поменялись
реквизиты. Но все равно экспорт остальной информации был проведен в
тестовом режиме.
2.5 Разработка программы
При запуске программы, первым делом, должна проводится авторизация
пользователя. Для этого выводится стандартное диалоговое окно, в котором
пользователя просят ввести имя пользователя (Login Name) и пароль.
Введенная информация посылается через ODBC-драйвер в Систему Управления
Базами Данных, а точнее в службу доступа СУБД, которая проверяет введенные
данные и выдает либо положительный, либо отрицательный результат. При
отрицательном результате пользователю предлагается повторить попытку
регистрации в системе. Если пользователь отказывается от авторизации,
выбрав кнопку отмены, программа завершает свою работу, выдав сообщение о
невозможности продолжать работу из-за отсутствия возможности получить
данные.
После успешной авторизации пользователя системой безопасности СУБД,
происходит этап настройки. Для этого программа ищет настроечный файл, в
котором хранится информация о предприятии пользователя и индивидуальные
настройки для каждой станции сети. При отсутствии файла или при
невозможности считать из него информацию, на экран выводится диалоговое
окно настроек, в котором пользователю предлагается ввести информацию об его
предприятии (полное и краткое наименование, полный адрес и банковские
реквизиты). Это диалоговое окно не может быть закрыто и продолжена работа
программы, пока пользователь не ввел все реквизиты. При ошибочном вводе или
пропуске полей пользователю сообщается об ошибке и курсор автоматически
позиционируется на место ошибки. В случае отказа пользователем вводить
информацию и выборе кнопки отмены, программа выводит предупреждение, что
часть реквизитов пусты и что программа будет аварийно завершена. При
отказе пользователя от своих намерений покинуть программу, ему дается
возможность исправить допущенные ошибки, а при подтверждении – программа
завершается. Программу настроек можно также вызвать уже при роботе из
главного окна, при помощи соответствующего пункта главного меню. Но и тогда
при неправильном заполнении формы, программа автоматически завершает свою
работу, а при успешном заполнении всех реквизитов предприятия программа
продолжает свою работу.
Если файл настроек был найден и информация о предприятии пользователя
успешно считана, то программа пытается считать из него параметры
пользовательского окна и его компонент, а также параметры данных, такие как
тип документа, фильтр по датам и расширенный фильтр. При отсутствии искомой
информации или невозможности ее прочитать, программа подставляет значения
фильтров по умолчанию зашитые в программу, т.е. выданные счета-фактуры,
данные за весь период и пустой расширенные фильтр. Все эти значения
подставляются в запрос к базе данных, для получения соответствующих данных.
При получении данных они анализируются программой и инициализируются
соответствующие кнопки на панели инструментов и соответствующие пункты
главного и контекстного меню (т.к. может быть возвращен пустой массив
данных и, следовательно, удаление, модификация и поиск данных невозможен).
Главное окно разделено на две логически зависимые части. В верхней,
главной, находится непосредственно журнал регистрации счетов. Он получается
из базы данных при помощи вспомогательной виртуальной таблицы
(представления) V_Facture. Это представление собирает из разных таблиц
информацию по документу, в том числе краткое наименовании клиента и суммы
документа с налогом и без него. В нижней вспомогательной части окна
находится информация о товарах, содержащихся в выбранном документе. При
изменении положения курсора в верхнем окне, содержимое нижнего окна
соответственно изменяется. Информация о товарах тоже берется из
вспомогательной виртуальной таблицы V_Articles. Это представление содержит
в себе кроме информации о товаре, также информацию о процентных ставках
товара, и о суммах налогов, чистой сумме, сумме с акцизным налогом и общую
сумму товара. Также главное окно имеет меню и панель инструментов, функции
которого дублируют некоторые функции главного меню. Также верхняя (главная)
часть окна имеет контекстное меню, функции которого дублируют некоторые
функции панели инструментов.
После инициализации и получения данных от SQL сервера, программа ожидает
дальнейших инструкций пользователя. Это может быть просто перемещение
курсора по главной части окна. В таком случае нижняя часть, содержащая
информацию о товаре, будет автоматически обновляться. При работе с
программой пользователь может выбрать следующие возможности: печать или
просмотр журнала регистрации или документа; просмотр и редактирование
справочника по клиентам предприятия или государственным налогам;
модификация (удаление, добавление, редактирование) счета-фактуры; вызов
различных процедур фильтрации, такие как выбор типа документа (выданный или
полученный), изменение периода просмотра информации, а также расширенный
фильтр.
Вызов справочника, как налогов, так и клиентов предприятия из главной
программы осуществляется при помощи выбора в главном меню «Файл» -
«Справочники» и далее интересующий справочник. При выборе справочника
программа пытается считать из файла настроек параметры соответствующего
окна. При отсутствии данных подставляются параметры, зашитые в программу.
Каждый справочник представляет собой окно просмотра информации и панели
кнопок, с правой стороны, для редактирования, удаления и добавления
информации, а также для выхода из справочника. Функции модификации могут
быть вызваны также из всплывающего меню. Для удобства понимания и
представления информации, в справочнике налогов выводится процентный
эквивалент налога. При удалении записи в справочнике, пользователь должен
подтвердить свое желание удалить запись. Запрос на удаление записи
посылается на SQL сервер, и если, в справочнике клиентов, клиент участвует
в каком-нибудь документе, SQL сервер вернет отказ в удалении клиента, при
этом выдав соответствующее сообщение на экран о невозможности удаления
записи из-за наличия записи в журнале регистраций, связанной с данной
записью. При модификации (добавлении или редактировании) информации,
пользователю на экран выводится форма (при редактировании уже заполненная
данными) и предлагается ее заполнить. При неправильном заполнении или
пропуске обязательных к заполнению полей и попытке записать введенную
информацию, программа выдает сообщение об ошибке и курсор автоматически
позиционируется на место ошибки. При правильном заполнении, программа
подготавливает данные и посылает запрос к SQL серверу. После получения
подтверждения от сервера о выполнении запроса программа закрывает окно
ввода информации и позиционирует курсор на введенную или измененную запись
в справочнике. После любой модификации данных программа производит
обновление экрана просмотра информации и пере инициализацию кнопок и
пунктов меню.
Модификация данных в главном окне зависит от того, было ли выбрано
удаление или добавление и редактирование. Удаление записи в журнале
регистрации происходит только после подтверждения пользователем. При
модификации записи программа раскрывает окно для ввода информации, при этом
если было выбрано редактирование, то в поля записывается соответствующая
информация. Форма ввода информации разделена на две части: ввод информации
по счету и ввод информации по товарам этого счета. Из формы редактирования
можно попасть в формы просмотра и редактирования справочников, при этом в
формах справочников появляется дополнительная возможность отменить вызов
формы, а справочнике налогов также появляется возможность очистить
соответствующее поле в форме ввода счета. В форме ввода счета можно
вводить товары, включенные в счет, при этом возможна модификация введенной
информации, такая как удаление, добавление и обновление введенной
информации. Данная часть формы ввода счета содержит в себе окно просмотра
введенной информации и форму ввода информации. При изменении позиции
курсора в окне просмотра введенной информации по товарам, форма ввода
автоматически заменяет свое содержимое. При добавлении и обновлении
товаров, в программе предусмотрена проверка на правильность заполнения
полей ввода. При ошибке, пользователю выдается сообщение об ошибке и
автоматически позиционируется курсор на место ошибки. Если выбран режим
добавления счета-фактуры, то ставка НДС по умолчанию устанавливается в 20%.
При правильном заполнении всех полей программа подготавливает данные для
ввода в базы данных и вводит их при помощи хранимой процедуры SP_ADD_FACT.
Эта процедура имеет в параметрах все реквизиты документа и реквизиты одного
товара. Остальные товары добавляются в базу данных циклически.
Печать документа вызывается из главного окна при помощи выбора
соответствующей кнопки на панели инструментов или при выборе пункта в
главном меню. При выборе печати из главного меню выводится стандартное окно
выбора принтера и дальнейшей печати. Бланк документа зашит в программу и
был спроектирован при помощи встроенного в Delphi дизайнера отчетов
QuickReport. В документе выбран кириллический шрифт true type, размер и
особенности шрифта (такие как наклон, толщина и т.д.) заданы при создании
отчета, и не могут быть в дальнейшем изменены пользователем. Часть данных в
форму документа передается через результат запроса (перечень товаров
счета), а другая при непосредственной записи в соответствующие поля. В
зависимости от типа документа (выданый или полученный) поля в документе
меняются местами. Данные о предприятии пользователя считываются из файла
настроек.
Печать или просмотр журнала регистрации вызывается из главного окна при
помощи выбора соответствующей кнопки на панели инструментов или при выборе
пункта в главном меню. При выборе печати из главного меню выводится
стандартное окно выбора принтера и дальнейшей печати. Бланки отчетов (книга
выданных или книга полученных) зашит в программу и был спроектирован при
помощи встроенного в Delphi дизайнера отчетов QuickReport. В документе
выбран кириллический шрифт true type, размер и особенности шрифта (такие
как наклон, толщина и т.д.) заданы при создании отчета, и не могут быть в
дальнейшем изменены пользователем. При вызове просмотра или печати журнала
регистрации на экран выводится диалоговое окно, в котором пользователю
предлагается ввести временной интервал, за который он хочет просмотреть или
распечатать журнал регистрации. При этом если данные в главном меню уже
отфильтрованы по дате, то программа подставляет этот временной интервал,
если же данные небыли отфильтрованы, то подставляется текущий месяц
целиком. После модификации пользователем временного интервала, интервал,
вместе с типом счета, посылается с запросом в базу данных. При помощи
хранимой процедуры SP_MAKE_BOOK, SQL сервер возвращает сформированные
данные в программу. При отсутствии данных, пользователю выводится сообщение
об отсутствии данных и предлагается ввести другой интервал. Пользователь
может в любой момент отказаться от печати журнала регистрации. Если SQL
сервер возвращает данные, то они подставляются, в зависимости от типа
документа, в соответствующую форму.
Фильтрацию данных можно разделить на три части: фильтрация по типу
документа, фильтрация по дате документа и расширенная фильтрация.
Фильтрация по типу документа осуществляется автоматически при
переключении из журнала выданных документов в журнал полученных документов.
Переключение осуществляется в главном окне при помощи кнопок на панели
инструментов или при выборе соответствующего пункта главного меню. При
переключении между журналами, данные закрываются, и формируется новый
запрос к базе данных, при этом фильтры на дату и расширенные фильтры
остаются.
Вызов пользователем фильтрации по дате активизирует подпрограмму
фильтрации даты. На экран пользователя выводится диалоговое окно, в котором
пользователю предлагается ввести новый временной интервал. Также в
программе предусмотрена возможность отменить данный тип фильтрации, для
чего на диалоговом окне существует соответствующая кнопка. Очистку фильтра
пользователь должен подтвердить, так как очистка данного фильтра приведет к
выдаче всех документов данного типа на экран. При выводе диалогового окна,
программа считывает предыдущий фильтр, и подставляет в окно. Если данный
тип фильтрации отсутствует, то программа подставляет по умолчанию только
сегодняшний день. После выбора пользователем временного интервала,
программа закрывает диалоговое окно и переинициализирует данные в
соответствии с новым временным интервалом. После получения новых данных от
сервера, программа инициализирует все кнопки на панели инструментов в
пункты главного и всплывающего меню.
Вызов расширенного фильтра выводит окно, в котором пользователю
предлагается ввести выражения для фильтрации данных. Это выражение должно
быль написано на языке Transact-SQL, и программа подставляет его в запрос к
базе данных после ключевого слова WHERE и фильтров по типу и дате
документа. После этого расширенного фильтра, программа посылает запрос к
базе данных и СУБД сама проводит синтаксический анализ введенного
выражения. Если СУБД обнаружит ошибку, то пользователю сообщается об этом и
предлагается исправить введенное выражение. При инициализации окна
расширенного фильтра, программа считывает предыдущий расширенный фильтр и
подставляет его в поле для ввода выражения - тем самым можно, очистив поле,
очистить расширенный фильтр.
Подпрограмма поиска значений по журналу выводит диалоговое окно, в
котором пользователю предлагается ввести искомое значение. При
инициализации данного окна, в поле для ввода программа подставляет значение
ячейки, на которой был установлен курсор. Поиск осуществляется в обоих
направлениях, но тоже только по столбцу, на котором бал установлен курсор.
При успешном выполнении поиска, курсор позиционируется на найденной
значение, в противном случае остается на месте.
3. Отладка
Разрабатываемая программа должна вести журнал регистрации выданных и
полученных счетов-фактур. Для ее успешной работы необходимы вспомогательные
подпрограммы, поэтому программу можно представить как совокупность
нескольких модулей: основная программа с вводом и корректировкой информации
о счетах-фактуры, модуль справочников, состоящий из справочника клиентов и
справочника налогов и модуль вывода на печать, состоящий из вывода на
печать книги покупок/продаж и вывода на печать счета-фактуры.
Модуль справочников и модуль отчетов являются вспомогательными.
Для полного тестирования программы необходимо включить тесты по
тестированию правильности функционирования логики базы данных. Тестирование
логики работы базы данных отдельно не имеет смысла, так как при
тестировании программы, неизбежно будет тестироваться и логика базы данных.
Модульность программы позволяет разбить тестирование программы на
несколько этапов: тестирование базы данных, тесты отдельно каждого модуля,
тестирование программы в целом и сетевое тестирование, когда несколько
пользователей работают с базой данных.
Модуль справочники включает в себя подпрограмму отражения и модификации
справочника клиентов фирмы и подпрограмму отражения и модификации
справочника налогов. Эти две подпрограммы по своим функциональным
требованиям и по логике работы одинаковы, поэтому и разрабатывать тесты
нужно только один для обеих подпрограмм.
Первый тест на правильность отражения информации. Программа должна
отражать именно ту информацию, которая находится в базе данных. Для
проверки правильности функционирования необходимо проводить визуальное
сравнение данных на экране и содержимого базы данных. Содержимое базы
данных выводится на экран при помощи стандартного SQL запроса (SELECT *
FROM ). Расхождение информации на экране и в базе данных
свидетельствует об ошибке в программе при формировании запроса к базе
данных или при выводе данных на экран.
Второй тест на отработку логики базы данных. Для этого вводится заведомо
неправильная информация, такая как отсутствие или пустые поля, которые не
могут быть пустыми; дублирование уникальных полей, т.е. первичного
(Идентификатор клиента) или альтернативного (ИНН) ключей. Для локализации
возможной ошибки, сначала тестируется логика работы базы данных, при помощи
стандартных запросов INSERT или UPDATE. Отрицательный результат теста
обозначает ошибку в логике базы данных. При тестировании программы,
возникающая ошибка свидетельствует о неправильном формировании запроса к
базе данных, или неправильной проверке вводимых пользователем данных.
Третий тест на правильность введения информации в базу данных. Для этого
вводится информация и проверяется правильность ее отражения в базе данных.
Отрицательный результат теста означает ошибку при формировании запроса к
базе данных.
Модуль отчета включает в себя подпрограмму вывода на печать/просмотр
журнала выданных или полученных счетов-фактур за определенных период и
подпрограмму печати счета-фактуры. Подпрограмма вывода на журнала счетов-
фактур должна, при наличии данных за период, выдавать их на печать, а при
отсутствии сообщать об этом. Подпрограмма печати счета-фактуры должна
просто печатать счет-фактуры, поэтому тестирование может заключаться в
правильности вывода на принтер информации и отработки функции формировании
суммы прописью.
Первый тест для подпрограммы выдачи отчета журнала счетов ориентирован в
первую очередь на правильность вывода информации. Отрицательный результат
теста означает либо ошибку в подпрограмме при формировании запроса или при
выводе информации на принтер, либо в хранимой процедуре SP_MAKE_BOOK,
которая формирует данные для отчета. Последнее можно проверить при помощи
стандартной программы SQL Query, поставляемой вместе SQL Server, которая
предоставляет интерактивный интерфейс к базе данных.
Второй тест на правильность работы отработки ввода периода. Для этого
вводится заведомо неправильный интервал, т.е. интервал в котором нет ни
одного счета-фактуры, либо где верхняя граница меньше чем нижняя.
Отрицательный результат теста означает ошибку при вводе или обработки
интервала.
Главным модулем является модуль регистрации счетов-фактур. Он должен
отражать и давать возможность корректировать информацию, при этом не путать
счета выданные и полученные. Также обходимо предусмотреть возможность
различной фильтрации и поиска данных. Исходя из этого, тестирование можно
разбить на две часть, это основную (отражение и корректировка) и
дополнительную (фильтрация и поиск).
Так как пустой (т.е. без единого товара) счет-фактуры не имеет смысла,
необходимо предусмотреть проверку на наличие хотя бы одного товара. Также
товар без цены или количества не имеет смысла.
Первый тест на правильность отражения информации. Программа должна
отражать именно ту информацию, которая находится в базе данных, в том числе
отражать только те товары, которые относятся к базе данных. Для локализации
ошибки, сначала тестируется логика работы базы данных и вспомогательных
представлений V_Articles и V_Facture. Так как в таблице товары хранится
только информация о цене, количестве и ссылка на налоги, а в таблице
журнала счетов вообще отсутствует информация о сумме счета, для удобства
работы было созданы эти представления. Для проверки правильности
функционирования программы необходимо проводить визуальное сравнение экрана
и содержимого базы данных. Отрицательный результат теста обозначает ошибку
в программе при выборе информации из базы данных или при формировании
запроса к ней.
Второй тест для подпрограммы журнала счетов ориентирован в первую очередь
на правильность вывода информации. Для этого вводится заведомо неправильная
информация: дубликат первичного ключа (идентификатор счета плюс номер
товара), отсутствие клиента (внешний ключ) или товара, отсутствие или
пустые поля, которые не могут быть пустыми. Отрицательный результат теста
означает либо ошибку в подпрограмме, при формировании запроса и выдачи
информации, либо в логике базы данных. Последнее можно проверить при помощи
стандартной программы SQL Query, поставляемой вместе SQL Server.
Третий тест на правильность отработки фильтрации и поиска. Поиск
осуществляется при помощи встроенного в Delphi поиска, поэтому необходимо
проверить только правильность передачи аргументов. Фильтрация информации
разделена на три компонента: фильтрация по типу счета-фактуры (невидимый
для пользователя компонент), фильтрация по дате счета-фактуры и расширенная
фильтрация в виде SQL предложения. Для проверки фильтрации информации по
дате, необходимо варьировать параметрами даты, и визуально проверять
правильность отражения в программе.
Комплексная отладка всех модулей дополнительно проверяет логику работы
базы данных, т.к. модули программы функционально независимы.
Первый тест на удаление клиента, на которого уже заведен счет-фактуры. В
таком случае программа не отработает ошибку, но ошибку должен выдать SQL
Server. Отрицательный результат свидетельствует о нарушении в логике базы
данных, в частности в триггере удаления клиента.
Второй тест на каскадное удаление счета-фактуры и товаров связанных с
ним. При неправильном удалении могут возникнуть товары-демоны, которые не
связаны не с одним счетом-фактуры.
Третий тест на каскадное обновление справочника налогов. При изменении
информации в справочнике налогов, в частности изменение идентификатора
налога, автоматически должны изменятся все идентификаторы налога в таблице
товаров. Отрицательный результат свидетельствует о нарушении в триггере
изменения справочника налогов.
Сетевое тесторование программы может выявить ошибки совместного изменения
данных. Ошибки могут возникнуть, например, при удалении записи одним
пользователем и обращении к ней другим. Устранение подобных ошибок берет на
себя SQL Server, которых при записи быдаст сообщение об ошибке.
Заключение
Заданием являлось создание клиентских частей под SQL базу данных для
операционных систем Windows’95 и Windows NT Workstation.
В данной работе был выполнен обзор систем управления базами данных
(СУБД), реализованных на технологии «клиент-сервер».
Далее было проведено исследование предметной области. По результатам
исследования был сделан вывод, что область бухгалтерского учета, а именно
учет счетов-фактур, на технологии «клиент-сервер» отдельно не реализована.
Затем была проанализирована существующая программа учета счетов-фактур
фирмы «ИНФИН» и составлен проект переноса структуры базы данных для работы
в архитектуре «клиент-сервер». Также был составлен алгоритм переноса
необходимых для дальнейшей работы данных.
Для разработки программного обеспечения, платформой для создания
серверной части SQL базы данных бала выбрана операционная система сервера
Microsoft Windows NT Server 4.0 и система управления базами данных
Microsoft SQL Server 6.5. Для разработки пользовательского интерфейса был
выбран язык программирования Borland Delphi.
Был разработан и отлажен клиентский интерфейс к SQL базе данных под
операционные системы Windows’95 и Windows NT. Разработанное программное
обеспечение общим объемом занимает около 2,5 тысяч строк программного кода.
Тестирование разработанной программы проводилось по-модульно и
комплексно. Затем была проведена отладка программы в реальных условиях
работы, когда с базой данных работают несколько пользователей на разных
станциях сети.
Разработанная на технологии «клиент-сервер» программа позволяет ее
эксплуатировать как в сетевых условиях, так и на локальной машине, без
изменений в структуре базы данных и программы.
Сейчас программа успешно функционирует на предприятии, заменив старую.
Литература
1. С.Орлов. Windows NT 5.0: что на горизонте?.LAN Спец. выпуск к #5.1997
2. К.Пьянзин. Сетевые ОС в гетерогенной среде. LAN Magazine/ русское
издание #7/96
3. Ф.Зубанов. Выбор «профи». М: Издательский отдел «Русская Редакция». 1996
4. К.Стинсон. Эффективная работа в Windows 95. С-П: ПИТЕР. 1997
5. С.Дунаев. UNIX SYSTEM V. Release 4.2. M: Диалог-МИФИ.1995
6. К.Дейта. Введение в системы баз данных. М:Наука.1980
7. Дж.Ульман. Основы систем баз данных.М:Финансы и статистика.1983
8. А.Шуленин. Microsoft SQL Server.СУБД #1/97
9. И.Игнатович. Семейство реляционных баз данных IBM DB2. СУБД #2/97
10. О.Твердова. СУБД Progress. СУБД #2/97
11. С.Бобровски. Oracle7 и вычисления клиент/сервер. М: ЛОРИ. 1996
12. В.Шнитман. Серверы баз данных: проблемы оценки конфигурации системы.
СУБД #5-6/96
13. А.Тандоев. Sybase SQL Anywhere Pofessional. СУБД #1/97
14. А.Тандоев. Архитектура Sybase System 11. СУБД #2/96
15. М.Грабер. Введение в SQL. М: ЛОРИ. 1994
16. Р.Ахаян, А.Горев, С.Макашарипов. Эффективная работа с СУБД. С-П: ПИТЕР.
1997
17. К.Маркелов. «Классические» стратегии авоматизации в период
нестабильность рынка АБС. Банк и Технологии #3/97
18. К.Маркелов. Опросы Форума как отражение на рынке АБС. Банк и Технологии
#4/97
19. А.Сень, Ю.Юшков. Телекоммуникации в банковских системах. Банковские
технологии #6/96
20. Дж.Матчо, Д.Фолкнер. Delphi. М: БИНОМ. 1995
21. Т.Сван. Секреты 32-разрядного програмирования в Delphi. К: Диалектика.
1997
-----------------------
[pic]
[pic]
[pic]
[pic]
[pic]
[pic]
[pic]
Страницы: 1, 2, 3, 4, 5, 6, 7
|