Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
5fan_ru_Автоматизированная система управления д...doc
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
9.4 Mб
Скачать

1.6 Обоснование разработки новой системы

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

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

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

Ожидаемый эффект от внедрения:

Актуальность – возможность оперативно отражать изменения;

Полнота информации, то есть предоставление максимально полной информации о каждой оказанной услуге;

Удобство – понятный интерфейс;

Скорость повышения обработки информации;

Рациональное использование ресурсов;

Непрерывный оперативный контроль;

Непротиворечивость и достоверность данных;

Автоматизированное формирование договора с туристом.

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

1.7.1 Выбор СУБД

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

MySQL

MySQL — свободная система управления базами данных (СУБД). MySQL является собственностью компании Sun Microsystems, осуществляющей разработку и поддержку приложения. Распространяется под GNU General Public License и под собственной коммерческой лицензией, на выбор. Помимо этого разработчики создают функциональность по заказу лицензионных пользователей, именно благодаря такому заказу почти в самых ранних версиях появился механизм репликации.

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

Гибкость СУБД MySQL обеспечивается поддержкой большого количества типов таблиц: пользователи могут выбрать как таблицы типа MyISAM, поддерживающие полнотекстовый поиск, так и таблицы InnoDB, поддерживающие транзакции на уровне отдельных записей. Более того, СУБД MySQL поставляется со специальным типом таблиц EXAMPLE, демонстрирующим принципы создания новых типов таблиц. Благодаря открытой архитектуре и GPL-лицензированию, в СУБД MySQL постоянно появляются новые типы таблиц.

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

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

MySQL - это программное обеспечение с открытым кодом. Применять его и модифицировать может любой желающий. Такое программное обеспечение можно получать по Internet и использовать бесплатно. При этом каждый пользователь может изучить исходный код и изменить его в соответствии со своими потребностями. Использование программного обеспечения MySQL регламентируется лицензией GPL (GNU General Public License), в которой указано, что можно и чего нельзя делать с этим программным обеспечением в различных ситуациях [10].

Postgres

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

Является свободной альтернативой коммерческим СУБД (таким как Oracle Database, Microsoft SQL Server, IBM DB2, Informix и СУБД производства Sybase) вместе с другими свободными СУБД (такими как MySQL и Firebird). Существует в реализациях для следующих платформ: Linux, Solaris/OpenSolaris, Win32, Mac OS X, FreeBSD, QNX 4.25, QNX 6.

В PostgreSQL используются инновационные решения, позволяющие приложению сравняться и даже превзойти решения на основе коммерческих СУБД, а также обладает широчайшими возможностями, доступными для платформы (оборудование, ОС, язык программирования т.д.). PostgreSQL — это надёжность, предсказуемость и прозрачность во всём: в функциональности (благодаря высокому уровню совместимости со стандартом ISO/ANSI SQL:200x и очень качественному коду), в производительности и даже в процессе разработки. Высочайшее качество кода, быстрая реакция на найденные проблемы, отличная производительность, строжайшее соответствие принципам ACID — всё это делает PostgreSQL самой развитой СУБД с открытым исходным кодом.

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

Некоторые возможности. Функции являются блоками кода, исполняемыми на сервере, а не на клиенте БД. Хотя они могут писаться на чистом SQL, реализация дополнительной логики, например, условных переходов и циклов, выходит за рамки собственно SQL и требует использования некоторых языковых расширений. Функции могут писаться с использованием одного из следующих языков: встроенный процедурный язык PL/pgSQL, во многом аналогичный языку PL/SQL, используемому в СУБД Oracle, скриптовые языки — PL/Lua, PL/LOLCODE, PL/Perl, plPHP, PL/Python, PL/Ruby, PL/sh, PL/Tcl и PL/Scheme; классические языки — C, C++, Java (через модуль PL/Java); статистический язык R (через модуль PL/R).

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

На базе PostgreSQL компанией EnterpriseDB созданы более мощные варианты этой СУБД, являющиеся платными для коммерческого использования — Postgres Plus (состоит целиком только из продуктов с открытыми исходными кодами; плата требуется только при необходимости приобретения коммерческой поддержки продукта) и Postgres Plus Advanced Server (расширение PostgreSQL специальными возможностями для обеспечения совместимости с Oracle Database). В комплекте поставки данных продуктов содержится большой набор ПО для разработчиков и DBA [11].

Oracle 10g XE

Oracle 10g XE бесплатная версия СУБД Oracle в составе программного продукта.

В Oracle Database XE используется интуитивно понятный веб-интерфейс для: администрирования базы данных, создания таблиц, представлений и других объектов базы данных, импорта, экспорта и просмотра табличных данных, исполнения запросов и SQL-скриптов, генерации отчетов.

Версия XE содержит ряд ограничений:

поддерживается база данных размером до 4 Гбайт;

на одном компьютере может быть запущен только один экземпляр базы Oracle XE;

при наличии на сервере нескольких процессоров Oracle XE использует только один из них.

Oracle XE использует не более 1 Гбайт независимо от объема доступной оперативной памяти.

Несмотря на данные ограничения, на основе Oracle XE можно создавать приложения для решения широкого круга задач. А если по мере роста базы данных и увеличения количества пользователей Oracle XE перестанет справляться с поставленными задачами или будeт достигнут предельный для Oracle XE размер базы, то перевести задачи на одну из платных версий Oracle не составит особого труда.

В настоящее время существуют версии Oracle XE для платформ Linux (Debian, Mandriva, Novell, Red Hat и Ubuntu) и Windows.

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

Все редакции — Oracle Database Personal Edition, Oracle Database Standard Edition, Standard Edition One и Oracle Database Enterprise Edition — содержат общий набор функций для разработки приложений, в том числе объектно-реляционные возможности SQL, программные интерфейсы PL/SQL и Java, предназначенные для написания хранимых процедур и триггеров. Приложения, написанные для любой из этих редакций, будут работать и с остальными редакциями, хотя Oracle Database 10g Enterprise Edition предоставляет дополнительные функции для повышения производительности, масштабируемости, доступности и безопасности, которые работают практически незаметно для разработчиков приложений. Прикладные интерфейсы API, поддерживаемые редакцией Oracle Database 10g Enterprise Edition, в основном поддерживаются и редакциями Oracle Database 10g Personal Edition и Oracle Database 10g Standard Edition, за исключением некоторых функций, относящихся к таким дополнительным программным продуктам, входящим только в поставку Oracle Database 10g Personal Edition и Oracle Database 10g Enterprise Edition, как Oracle OLAP или Oracle Data Mining.

Все программные продукты Oracle Database 10g созданы на базе единой надежной архитектуры ядра СУБД. Редакции Oracle Database 10g Standard Edition и Oracle Database 10g Personal Edition полностью совместимы с редакцией Oracle Database 10g Enterprise Edition на множестве различных платформ, поэтому ваши (Вы рекламируете продукт????) приложения, работающие с базами данных, смогут функционировать как на портативных и настольных ПК, так и в составе корпоративной инфраструктуры, не требуя реинжениринга [12].

А где же Ваш выбор и на чем основан?

1.7.1 Выбор среды разработки:

PHP

Главным фактором языка РНР является практичность. РНР должен предоставить программисту средства для быстрого и эффективного решения поставленных задач. Практический характер РНР обусловлен пятью важными характеристиками: традиционностью; простотой; эффективностью; безопасностью; гибкостью. Существует еще одна «характеристика», которая делает РНР особенно привлекательным: он распространяется бесплатно! Причем, с открытыми исходными кодами ( Open Source ).

Код РНР очень похож на тот, который встречается в типичных программах на С или Pascal. Это заметно снижает начальные усилия при изучении РНР. PHP — язык, сочетающий достоинства Perl и Си и специально нацеленный на работу в Интернете, язык с универсальным (правда, за некоторыми оговорками) и ясным синтаксисом.

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

Стратегия Open Source, и распространение исходных текстов программ в массах, оказало несомненно благотворное влияние на многие проекты, в первую очередь — Linux, хотя и успех проекта Apache сильно подкрепил позиции сторонников Open Source. Сказанное относится и к истории создания РНР, поскольку поддержка пользователей со всего мира оказалась очень важным фактором в развитии проекта РНР [10].

Язык РНР является свободно распространяемым языком программирования, он достаточно распространен и практичен.

Питон (Python)

Питон – это объектно-ориентированный, интерпретируемый, переносимый язык сверхвысокого уровня. Программирование на Питоне позволяет получать быстро и качественно необходимые программные модули. Интерпретатор Питона может быть перенесён на любую платформу, будь то Unix, Windows, Linux, RiscOS, MAC, Sun. При написании кода на Питоне вы не должны заботиться о конечной платформе, кроме тех случаев, когда вы используете специфические модули для данной системы. Таким образом, Питон представляет серьёзную угрозу для Java, обеспечивая лёгкую переносимость, одновременно сочитая в себе средства доступа к ресурсам операционной системы. В отличие от Java Питон не столь строг к использованию объектов, но реализуются они столь просто, что любой программист легко понимает сущность объектно-ориентированного подхода. Кроме этого, модули Питона могут быть с лёгкостью использованы в программах на С++. Питон идеален в качестве cgi скриптов для веб-страниц, так как использует быстрый, эффективный и мощный интерпретатор. Релиз Python-а защищен авторским правом, но свободно распространяется, даже для коммерческого использования.

Эталонной реализацией Python является интерпретатор CPython, поддерживающий большинство активно используемых платформ. Он распространяется свободно под очень либеральной лицензией, позволяющей использовать его без ограничений в любых приложениях, включая проприетарные ????. Есть реализации интерпретаторов для JVM (с возможностью компиляции), MSIL (с возможностью компиляции), LLVM и других. Проект PyPy предлагает реализацию Питона на самом Питоне, что уменьшает затраты на изменения языка и постановку экспериментов над новыми возможностями.

Python поддерживает динамическую типизацию, то есть тип переменной определяется только во время исполнения. Поэтому вместо «присваивания значения переменной» лучше говорить о «связывании значения с некоторым именем». В Питоне имеются встроенные типы: булевые, строки, Unicode-строки, целые числа произвольной точности, числа с плавающей запятой, комплексные числа и некоторые другие. Из коллекций Python поддерживает кортежи (tuples), списки, словари (ассоциативные массивы) и, начиная с версии 2.4, множества. Все значения в Питоне являются объектами, в том числе функции, методы, модули, классы.

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

Питон, как и многие другие интерпретируемые языки, не применяющие, например, JIT-компиляторы, имеют общий недостаток — сравнительно невысокую скорость выполнения программ. Однако, в случае с Python этот недостаток компенсируется уменьшением времени разработки программы. В среднем, программа, написанная на Python, в 2-4 раза компактнее, чем её аналог на C++ или Java Сохранение байт-кода (файлы .pyc и .pyo) позволяет интерпретатору не тратить лишнее время на перекомпиляцию кода модулей при каждом запуске, в отличие, например, от языка Perl. Кроме того, существует специальная JIT-библиотека psyco, позволяющая ускорить выполнение программ (однако приводящая к увеличению потребления оперативной памяти). Эффективность psyco сильно зависит от архитектуры программы [13].

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

А где же Ваш выбор и на чем основан?