2. Практическая часть
Разрабатываемая программа предназначена для ведения учета выданных и полученных счетов-фактур предприятия. Программа должна обеспечивать защиту данных от несанкционированного доступа, обладать доступным и понятным интерфейсом, по функциональным качествам не уступать старой программе учета, включая в себя все возможности. Программа должна работать как автономно, так и как модуль общей программы бухгалтерского учета.
На сегодняшний день, спектр отдельных программ по области учета выданных и полученных счетов-фактур предприятия ничтожно мал. В основном это модули больших бухгалтерских программ.
2.1 Анализ существующей программы
Существующая программа «Книга покупок» фирмы «ИНФИН» работает под управлением операционной системой MS-DOS. При этом она «вешает» машину при попытке запуска из-под Windows’95, поэтому, для работы с программой приходится перезагружать компьютер в режиме командной строки. Тот факт, что она написана под DOS, уже свидетельствует о неудобном интерфейсе пользователя. Отсутствие поддержки мышки, сложность, запутанность и непонятность назначения некоторых диалоговых окон, отсутствие системы помощи (не говоря гибкой системы контекстной подсказки), неудобство ввода информации и многое другое еще меньше привлекает к программе.
Система управления базой данных программы фирмы «ИНФИН» построена на технологии клиент-сервер. При этом программа может работать как с локальной, так и с сетевой базой данных. Заметим, что при отсутствии доступа к сетевой базе, программа автоматически переключается на локальную базу, не выдавая при этом никаких предупреждений и сообщений. Еще несколько лет назад, среди СУБД наибольшей популярностью пользовались СУБД dBase, Paradox, Rbase, получившие общее название Xbase (созданных на технологии файл-сервер), а в качестве инструментальных средств самыми распространенными были Clipper и FoxPro. Сейчас на рынке этих СУБД распространенны Access, FoxPro, Paradox, dBase. При технологии файл-сервер БД хранится на сервере, а СУБД - на клиентской станции, поэтому клиентская станция должна быть достаточно мощной для обработки полученных данных с сервера и проведения необходимых манипуляций с данными. При обращении к одной записи базы данных считываются целиком все необходимые для этого таблицы, что повышает трафик сети, увеличивает время обработки. В результате получается, что работа ведется с локальной базой данных. Но самый главный недостаток таких СУБД, это то, что только данная конкретная программа способна правильно производить изменения в БД, сохраняя их целостность. Любое стороннее вмешательство в базу данных может привести к полному разрушению данных и потере всей информации.
Сама структура базы данных совсем не правильная, с точки зрения теории построения баз данных, и очень не удобна. Для каждого года и месяца создаются собственные поддиректории с полной базой данных (кроме справочника клиентов) за соответствующий период.
Такой подход очень не удобен, так как при неправильном вводе (например, забыли «перевести» месяц или год) приходится все удалять и вводить заново.
Структура таблиц, которые копируются в директории месяцев, несет в себе много лишней информации, которая только занимает место на диске. Создание таблиц отдельно для полученных, отдельно для выданных счетов-фактур, не только не необходимо, а даже просто не нужно. А по теории нормализации база данных не находится даже в первой нормальной форме (по данной теории, база данных считается хорошей, если она находится в третьей расширенной нормальной форме). Создание отдельных полей для разных сумм просто не логично.
Вообще подход с разделенной базой данных по месяцам резко сужает возможности программы для создания отчетов (период отчета не более чем месяц), возможности экспорта/импорта данных в базу и многое другое.
Программа «Книга покупок» фирмы «ИНФИН» поставляется с ограниченным количеством копий. Но при этом возможности переноса программы на другую машину нет. Все это еще более негативно отражается на отношении пользователей к программе.
Для перевода программы на современную технологию клиент-сервер, необходимо почти полностью переработать базу данных (учитывая все положительные и отрицательные стороны старой программы) для архитектуры клиент-сервер. Необходимо создать удобный пользовательский интерфейс под операционную систему Windows’95 и Windows NT. Предусмотреть гибкую систему помощи, подсказок и отчетности. Также предусмотреть возможность экспорта/импорта данных.
2.2 Выбор платформы и программных средств
Сейчас на российском рынке сетевых операционных систем наиболее популярны такие, как Microsoft Windows NT, Novell NetWare, IBM OS/2 Warp и различные версии UNIX. Приведем основные сравнительные характеристики операционных систем Novell NetWare 4.1, Microsoft Windows NT Server 4.0 и Unix. Не будут отражены некоторые известные продукты, такие как IBM OS/2 Warp Server и Banyan VINES. Очень возможно, что это добротные операционные системы, однако если поддержку и сопровождение даже Windows NT и NetWare в России можно назвать весьма слабой, то для OS/2 и VINES она, по существу, отсутствует. А серьезные заказчики никогда не будут приобретать продукты, в поддержке которых они не уверены. Все ведущие поставщики Unix-систем поставляют в качестве дополнительных модулей, а порой и интегрировано в базовом комплекте, такие службы, как NFS (Network File System - сетевая файловая система), NIS (Network Information Service - сетевая информационная служба), X Window System и множество других. Именно они делают Unix полноценной сетевой операционной системой, по функциональности мало, чем уступающей другим. Все приводимые характеристики полностью соответствуют широко распространенным версиям Unix (SCO OpenServer и UnixWare, SunSoft Solaris и Interactive Unix, Hewlett-Packard HP-UX, IBM AIX, Digital Unix, SGI IRIX и др.).
Компания Novell была одной из первых компаний, которые начали создавать ЛВС. Она производила как аппаратные средства, так и программные, однако в последнее время фирма сконцентрировала усилия на программных средствах ЛВС. Операционная система NetWare способна поддерживать рабочие станции, управляемые DOS, OS/2, UNIX, Windows NT и Windows’95, Mac System 7 и другими ОС. Она может надежно работать с большим количеством различных типов сетевых адаптеров и протоколов. Фирма Novell имеет контракты о поддержке NetWare с наиболее крупными и мощными из независимых организаций, таких как Bell Atlantic, DEC, Hewlett-Packard, Intel, Prime, Unisys и Xerox.
Версия ОС NetWare 2.2 может работать на компьютере 80286 (или более поздних моделях), используемом в качестве файлового сервера. Версии NetWare 3.12 и 4.0 ориентированы на 32 разрядные шинные архитектуры и процессоры 80386, 80486 и выше. Существуют версии NetWare, предназначенные для работы под управлением многозадачных, многопользовательских операционных систем OS/2 и UNIX. NetWare 3.12 имеет возможность поддержки до 250 пользователей, а версия 4.0 – до 1000 пользователей. Все версии хорошо совместимы между собой, поэтому в одной и той же компьютерной сети могут находиться файловые серверы с разными версиями ОС NetWare.
Операционная система Advanced NetWare 2.0 была выпущена в 1986 году. Одной из выдающихся особенностей Advanced NetWare 2.0 была способность соединять до четырех различных сетей с одним файловым сервером.
В 1987 году вышла операционная система NetWare SFT, которая отличалась от предыдущей версии повышенной отказоустойчивостью и сохранностью данных.
NetWare 2.15 и NetWare для Macintosh дебютировали в 1988 году. Существенным недостатком этих версий было очень большое время инсталляции - оно включало в себя время тестирования жесткого диска и могло продолжаться день или даже два.
32-разрядная сетевая ОС NetWare 386 была выпущена в сентябре 1989 года. В ней была значительно улучшена система защиты данных, производительность и гибкость.
В NetWare 2.2 фирма Novell собрала все лучшее из ранних версий NetWare. Все варианты версии 2.2 имеют одинаковые возможности и одинаковый уровень отказоустойчивости. Улучшен процесс инсталляции, имеется поддержка VAP (Value Added Processes) – отдельных программных модулей, стыкуемых с ОС NetWare и позволяющих файловому серверу выполнять некоторые дополнительные функции.
NetWare 3.12 использует преимущества процессоров 80386, 80486 или Pentium. Она предоставляет возможности присоединение к одному серверу до 250 пользователей, объем дисковой памяти до 32 терабайт, размер файла до 4Г, один файл может располагаться на нескольких накопителях, одновременно могут быть открыты до 100 тыс. файлов. NetWare 3.12 имеет улучшенную систему защиты данных. Также новой является концепция NLM (NetWare Laudable Module) загружаемых (выгружаемых) в процессе работы. В сервере могут храниться файлы для рабочих станций с разными операционными системами (DOS, Macintosh, OS/2, UNIX). Недостатком операционной системы NetWare 3.12 является система помощи и подсказок, где самым слабым местом является пользовательский интерфейс. Еще одна особенность этой версии – новый интерфейс транспортного уровня (TLI - Transport Layer Interface), основанный на ODI. Этот интерфейс предоставляет широкий диапазон возможностей для организации связей, включая IPX/SPX, NetBIOS, LU 6.2 (APPC), именованные каналы связи для рабочих станций, управляемых DOS и OS/2, TCP/IP, интерфейс Berkley 4.3 Sockets и UNIX System V Stream/TLI.