База данных публикаций

Проектирование информационной системы учета научных публикаций в среде Adobe Dreamweaver. Анализ существующих технологий разработки в сервисе. Системы управления базами данных. Конструктор сущности "users", "papers". Функционал системы учета публикаций.

Рубрика Программирование, компьютеры и кибернетика
Вид дипломная работа
Язык русский
Дата добавления 14.08.2015
Размер файла 2,6 M

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.

Размещено на http://www.allbest.ru/

ВВЕДЕНИЕ

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

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

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

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

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

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

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

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

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

Целью настоящей выпускной квалификационной работы является проектирование информационной системы учета научных публикаций в среде Adobe Dreamweaver.

Задачи настоящей выпускной квалификационной работы:

1. Провести анализ существующих технологий для разработки информационной системы;

2. Спроектировать реляционную базу данных информационной системы;

3. Провести оценку информационной системы учета публикаций.

Объектом исследования является информационная система.

Предметом исследования является информационная система учета публикаций.

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

1.1 Анализ существующих технологий разработки в сервисе

Для разработки информационных систем активно используются технологии HTML и CSS. HTML (от англ. HyperText Markup Language - «язык разметки гипертекста») - стандартный язык логической разметки документов в сети Internet. HTML - не инструкции по визуализации текста и не язык программирования. Он предназначен исключительно для структурирования текста. HTML интерпретируется браузерами и отображается в виде документа в удобной для человека форме. Он является инструментом, позволяющим дать указания браузеру относительно того, чем является тот или иной элемент на веб-странице, и каким образом его следует отображать. Такой подход позволяет производить машинную обработку текстов и, при необходимости, формировать простейший визуальный ряд.[10]

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

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

В каждой версии HTML появляется новая разметка, но в последней версии языка больше всего дополнений, напрямую связанных с описанием контента. Появились элементы для определения заголовков, завершителей, навигационных областей, боковых панелей и статей. А так же - элементы для определения датчиков, индикаторов выполнения и возможностей разметки данных с применением пользовательских атрибутов. Многие элементы HTML5 были упрощены, и для них были определены более разумные значения по умолчанию.[16]

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

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

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

Обычно HTML5 рассматривается как веб-технология, но с появлением прикладных интерфейсов (API) Web Storage и Web SQL Database появилась возможность создания браузерных приложений, которые хранят все данные на машине клиента.[16]

При наличии этих новых возможностей, добавление на веб-страницы мультимедийного и графического контента становится гораздо проще. В связи с этим, HTML 5 сильно выигрывает на фоне прочих технологий - веб-приложений, носящих название Rich Internet application (иначе - RIA).[10]

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

При всех различиях RIA имеют ряд общих черт. Перечислим их:

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

2. Работа с RIA требует единовременной установки дополнительного ПО в виде плагина к браузеру;

3. Приложения запускаются локально в среде безопасности, называемой «песочница» (sandbox).

Веб-страницы оформляются при помощи CSS - (англ. Cascading Style Sheets) - каскадных таблиц стилей. Это формальный язык описания внешнего вида документа, написанного с использованием языка разметки.CSS используется для задания цветов, шрифтов, расположения отдельных блоков и других аспектов представления внешнего вида веб-страниц.

Основной целью разработки CSS являлось разделение описания логической структуры веб-страницы (которое производится с помощью HTML или других языков разметки) от описания внешнего вида этой веб-страницы (которое теперь производится с помощью формального языка CSS). Такое разделение может увеличить доступность документа, предоставить большую гибкость и возможность управления его представлением, а также уменьшить сложность и повторяемость в структурном содержимом. Кроме того, CSS позволяет представлять один и тот же документ в различных стилях или методах вывода, таких как экранное представление, печатное представление, чтение голосом (специальным голосовым браузером или программой чтения с экрана), или при выводе устройствами, использующими шрифт Брайля.[16]

В настоящий момент существует последняя, третья версия языка CSS. Ее главными особенностями являются: возможность создавать анимированные элементы без использования JavaScript, поддержка линейных и радиальных градиентов, теней, сглаживания и многое другое.[7]

Microsoft Silverlight - одно из тех приложений, которые представляют собой классические Rich Internet Application, и включает в себя плагин для браузеров, воспроизводящий различный мультимедиа-контент. Техническая реализация включает построение пользовательского интерфейса на основе языка XAML (eXtensible Application Markup Language - расширяемый язык разметки приложений) и модуля расширения браузера, который обрабатывает XAML-конструкции и отображает итоговый контент в поле обозревателя.

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

К числу особенностей данной RIA можно отнести поддержку графического процессорного 3D, а также ускорение декодирования видео. Кроме того, в Microsoft Silverlight присутствует поддержка технологии XNA, поддержка 64-х битных браузеров, изменяемая скорость воспроизведения медиаконтента с автоматической коррекцией звука, поддержка ускорения запуска приложений.[10]

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

Так же, к числу Rich Internet Application относится платформа Adobe Flex - разработка компании Adobe, расширяющая возможности быстро теряющей популярность Adobe Flash, позволяя описывать интерфейс приложения на XML. Логика приложения пишется на языке ActionScript 3, а результатом компиляции является файл формата SWF.

Скомпилированный файл может выполняться как в браузере, в среде Flash Player, так и в виде самостоятельного приложения платформы Adobe AIR.[10]

Это является и основным преимуществом Flex перед Microsoft Silverlight - он «условно кроссплатформен», может исполняться в любом браузере, для которого существует Flash-проигрыватель или соответствующие библиотеки.

Физически Flex представляет собой framework, набор классов, расширяющих возможности Flash. Среди базовых возможностей - локализация, валидация вводимых данных, форматоры текстовых полей и прочие возможности, позволяющие вести RАD-разработку.

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

Сетевые возможности среды включают HTTP-запросы, интерфейс к веб-сервисам, бинарные сокеты (это возможность передачи RealTime-данных). Flex может взаимодействовать с сервером, получая данные через XML, SOAP, Sockets, ZLIB и т. д.[10]

К недостаткам технологии можно отнести некоторую избыточность, заложенную в самой архитектуре Flex-framework. В каждое приложение необходимо включать стандартный набор классов, занимающий более 700 Кб в итоговом swf-файле.

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

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

Особенности технологии позволяют легко встраивать в приложения мультимедиа-данные, анимацию и различные визуальные эффекты, а также использовать собственные визуальные примитивы. Основная проблема использования JavaFX - это необходимость установленного у клиента Java Runtime Environment (JRE).[10]

Для разработки информационных систем широко используется технология AJAX, которая дает возможность осуществлять асинхронные запросы к серверу без необходимости полной перезагрузки страниц, что способствовало появлению целого набора новых парадигм взаимодействия с пользователем и обеспечило возможность создания полнофункциональных интернет-приложений.[4]

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

Ответ сервера в AJAX может представлять собой простой текст, текст в XML-формате, в честь которого и добавлена последняя буква в название технологии AJAX, или в формате JSON, который следует признать наиболее удобным для многих Web-приложений.[2]

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

1. Стандартизованное представление данных с использованием XHTML и CSS;

2. Динамическое отображение и обработку данных на стороне клиента в сценарии JavaScript, при помощи Document Object Model;

3. Асинхронное получение данных с использованием объекта XMLHttpRequest, создаваемого сценарием JavaScript;

4. Обмен данными XML или данными в других текстовых форматах.

AJAX часто применяют для решения таких задач, как: проверка правильности заполнения форм с привлечением возможностей сервера; подсказки для автодополнения; создание динамических таблиц данных (girds), которые на лету обновляют базы данных на сервере; разработка приложений, которые требуют обновления информации в режиме реального времени, получая ее из различных источников, и многих других.[1]

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

PHP доступен для большинства операционных систем, включая Linux, многие модификации Unix, Microsoft Windows, Mac OS X, и многих других. Также в PHP включена поддержка большинства современных веб-серверов, таких, как Apache, Microsoft Internet Information Server, и многих других. Для большинства серверов PHP поставляется в качестве модуля, для других, поддерживающих стандарт CGI, PHP может функционировать в качестве процессора CGI.[9]

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

Возможности PHP включают формирование изображений, файлов PDF, роликов Flash, создаваемых «на лету». Так же, он способен выдавать любые текстовые данные, такие, как XHTML и другие XML-файлы. PHP способен осуществлять автоматическую генерацию таких файлов и сохранять их в файловой системе веб-сервера вместо того, чтобы отдавать клиенту, организуя, таким образом, кеш динамического содержания, расположенный на стороне сервера.

Одним из значительных преимуществ PHP является поддержка широкого круга баз данных. В их числе: MySQL, PostgreSQL, Oracle и многие другие.[11]

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

По производительности, PHP не уступает своим конкурентам, в лице языков Perl или Pithon. Он быстро работает со сложными сценариями, является объектно-ориентированным, и предоставляет разработчику множество стандартных функций, написанных на языке C, что позволяет еще более увеличить производительность и расширить возможности языка.

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

Благодаря всем этим свойствам, PHP очень популярен среди веб-программистов. На сегодняшний день, он используется на более 2,1 миллионах веб-серверов.

Помимо PHP, для разработки информационных систем активно применяются другие языки программирования. Одним из них является Python - интерпретируемый, объектно-ориентированный высокоуровневый язык программирования с динамической семантикой. Встроенные высокоуровневые структуры данных, в сочетании с динамическими типизацией и связыванием, делают язык привлекательным для быстрой разработки приложений (RAD, Rapid Application Development). Кроме того, его можно использовать в качестве сценарного языка для связи программных компонентов.

Синтаксис Python прост в изучении, в нем придается особое значение читаемости кода, а это сокращает затраты на сопровождение программных продуктов. Python поддерживает модули и пакеты, поощряя модульность и повторное использование кода. Интерпретатор Python и большая стандартная библиотека доступны бесплатно в виде исходных и исполняемых кодов для всех основных платформ и могут свободно распространяться.[6]

В поставку Python входит обширная стандартная библиотека для решения широкого круга задач. В Интернете доступны качественные библиотеки для Python по различным предметным областям: средства обработки текстов и технологии Интернет, обработка изображений, инструменты для создания приложений, механизмы доступа к базам данных, пакеты для научных вычислений, библиотеки построения графического интерфейса и т.п. Кроме того, Python имеет достаточно простые средства для интеграции с языками C, C++(и Java) как путем встраивания (embedding) интерпретатора в программы на этих языках, так и наоборот, посредством использования библиотек, написанных на этих языках, в Python-программах. Язык Python поддерживает несколько парадигм программирования: императивное (процедурный, структурный, модульный подходы), объектно-ориентированное и функциональное программирование.

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

Ruby так же распространяется с открытым исходным кодам, работает на многих платформах, позволяет легко интегрировать в программу высокопроизводительные серверы баз данных, такие как Oracle и MySQL. Так же, язык имеет простой интерфейс для создания многопоточных приложений, дополнительные возможности для обеспечения безопасности, а так же обладает высоким уровнем абстракции и предметным подходом в реализации алгоритмов.[14]

К числу недостатков языка Ruby, можно отнести то, что его синтаксис более сложен, чем у рассмотренных выше языков. Кроме того, Ruby менее производителен, чем PHP, а так же медленно разрабатывается и развивается.

1.2 Системы управления базами данных в сервисе

Для хранения информации в любой информационной системе используются системы управления базами данных, иначе называемые СУБД. При этом одной из самых популярных систем управления базами данных является СУБД MySQL, являющаяся развитием СУБД mSQL, которую разработчики шведской компании MySQL AB взяли за основу при создании собственной базы данных. СУБД MySQL считается одной из самых быстрых СУБД в мире. Она разработана с использованием языков C/C++ и оттестирована более чем на 23 платформах, среди которых Windows, Linux, FreeBSD, HP-UX, Mac OS и другие.[5]

Программный код СУБД MySQL является открытым, то есть доступным для просмотра и модернизации всем желающим. Лицензия GPL позволяет постоянно улучшать программный продукт и быстро находить и устранять уязвимые места. Особенностью этой лицензии является тот факт, что любой код, скомпилированный с GPL-кодом, попадает под эту лицензию, т.е. может свободно распространяться, и условием его распространения является предоставление исходных кодов. MySQL AB придерживается двойного лицензирования, позволяя пользователям бесплатно использовать СУБД MySQL под GPL-лицензией, а так же предоставляет эту СУБД под коммерческой лицензией тем, кому необходимо использовать его в коммерческих целях, например, в составе программы.

СУБД MySQL поддерживает API для C, C++, Java, PHP, Perl, Python, Ruby и Tcl. MySQL можно успешна применять как для построения Web-страниц с использованием Java, PHP, Perl, так и для работы прикладной программы, созданной с использованием Builder C++ или платформы .NET.[15]

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

MySQL предлагает широкий выбор типов таблиц, в том числе и сторонних разработчиков, что позволяет реализовать оптимальную для решаемой задачи производительность и функциональность. Кого-то привлечет наиболее быстрый тип таблиц MyISAM, а кому-то потребуется поддержка объемов информации до 1ТБ с выполнением транзакций на уровне строк (таблицы типа InnoBD).[9]

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

Помимо MySQL, широко используется Microsoft SQL Server - Это платформа, которая позволяет управлять структурированными, полу-структурированными и неструктурированными данными, а также предоставляет комплексное, интегрированное системное программное обеспечение и программное обеспечение для аналитических исследований, которые позволяют организациям надежно управлять критически важными данными.[8]

Microsoft SQL Server предоставляет несколько разных инструментов для создания объектов баз данных, настраивания приложений баз данных и управления задачами системного администрирования. Эта СУБД используется для работы с базами данных размером от персональных до крупных баз данных масштаба предприятия.

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

В дополнение к этому, PostgreSQL поддерживает пользовательские операторы, функции, методы доступа и типы данных. Для обеспечения правильности данных в базе, поддерживается проверка целостности ссылок. Кроме того, в данной СУБД используется архитектура «клиент-сервер», с распределением процессов между пользователями.

PostgreSQL использует технологию опережающей регистрации изменений (Write Ahead Logging), благодаря которой, все изменения данных протоколируются до их непосредственной актуализации в базе, что повышает надежность данных. В случае же сбоя базы данных, данные можно будет восстановить по запротоколированным транзакциям - после восстановления системы, пользователь продолжает работу с состояния, предшествовавшего сбою.[13]

1.3 Анализ существующих средств проектирования

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

Последняя версия программы - Adobe Dreamweaver CC - адаптирована под возможности 64-х разрядных аппаратных и операционных систем, что обеспечивает лучшую совместимость и более высокую производительность.[18]

Adobe Dreamweaver поддерживает все современные технологии, такие как HTML5, CSS3, PHP 5.6, а также JavaScript. Так же, в данной среде программирования присутствуют контекстные подсказки по коду, а так же автоподстановка кода, по мере его написания.

В Adobe Dreamweaver присутствует режим интерактивного просмотра Live View, позволяющий изменять и редактировать свойства любого элемента HTML, а так же просматривать конечные результаты без необходимости обновлять содержимое. Так же, при помощи визуального редактирования, присутствует возможность быстрого добавления и изменения стилей CSS.[18]

Технология Creative Cloud позвляет синхронизировать установки, настройки сайта, пользовательские рабочие пространства и комбинации клавиш для нескольких персональных компьютеров, подключенных к сети Internet. Adobe Dreamweaver CC поддерживает операционные системы семейства Windows и Mac OS.

Альтернативой Adobe Dreamweaver CC является Eclipse - свободная интегрированная среда разработки модульных кроссплатформенных приложений.

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

Eclipse JDT (Java Development Tools) - наиболее известный модуль, нацеленный на групповую разработку: среда интегрирована с системами управления версиями - CVS, GIT в основной поставке, для других систем (например, Subversion, MS SourceSafe) существуют плагины. Так же предлагает поддержку связи между IDE и системой управления задачами (ошибками). В основной поставке включена поддержка трекера ошибок Bugzilla, также имеется множество расширений для поддержки других трекеров (Trac, Jira и др.).[17]

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

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

Еще одной средой программирования, используемой для разработки информационных систем, является JetBrains WebStorm - интегрированная среда разработки на JavaScript, CSS & HTML от компании JetBrains, разработанная на основе платформы IntelliJ IDEA.

WebStorm обеспечивает автодополнение, анализ кода на лету, навигацию по коду, рефакторинг, отладку, и интеграцию с системами управления версиями.

Важным преимуществом интегрированной среды разработки WebStorm является работа с проектами (в том числе, рефакторинг кода JavaScript, находящегося в разных файлах и папках проекта, а также вложенного в HTML). Поддерживается множественная вложенность (когда в документ на HTML вложен скрипт на Javascript, в который вложен другой код HTML, внутри которого вложен Javascript) - то есть в таких конструкциях поддерживается корректный рефакторинг.[20]

Так же, WebStorm позволяет модифицировать файлы с расширениями «.css», «.html», «.js», с одновременным просмотром результатов. Кроме того, присутствует поддержка HTML5, Node.js, а так же интеграция с системами управления версиями, такими как Subversion и Git.

1.4 Анализ существующих платформ и готовых решений в сервисе

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

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

Битрикс24 включает в себя общий центр коммуникации и управления данными - «Живая лента». Благодаря этому центру, имеется возможность обмена данными внутри организации, планирование сделок, дел, и контактов с клиентами. Центр наглядно предоставляет руководителю хронику работы по каждому клиенту и сделке, а так же отображает работу всех менеджеров CRM. Для руководителя также имеется возможность контролировать работу отдела продаж.

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

Битрикс24 позволяет выставлять счет и высылать его клиенту по e-mail. Поиск нужного счета несложен - все информация хранится в базе данных CRM, и доступна посредством внутреннего механизма поиска. Так же, Битрикс24 доступна как на персональных компьютерах, так и на мобильных устройствах.[19]

Данная CRM позволяет установить связь с интернет-магазином на платформе «1С-Битрикс», что дает возможность обрабатывать заказы, полученные на сайте Интернет-магазина, непосредственно в CRM. Эту интеграцию необходимо настроить лишь один раз с помощью мастера, чтобы вести в CRM единую клиентскую базу и конвертировать каждый заказ в продажу.

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

Также, AmoCRM позволяет строить воронку продаж по любым признакам, будь то количество сделок или выручки по всему отделу, или по отдельным менеджерам. В данной CRM предусмотрена возможность создания диаграмм, а так же создание прогнозов продаж, основанных на ранее собранной статистике и текущем положении.[23]

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

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

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

В данной CRM можно не только отображать фактические события, но и планировать мероприятия. В ней есть 3 возможности запланировать событие подчиненному:

1. Автоматически, с помощью шаблона сделки, в котором заранее назначаются стандартные для определенного взаимодействия события;

2. Руководитель планирует событие своему подчиненному;

3. Сотрудник сам планирует событие.

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

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

Кроме того, ASoft CRM дает возможность осуществлять контроль финансовых потоков, путем финансового планирования с учетом индивидуальных особенностей каждого клиента компании, а так же ведения баз данных платежей.[21]

Выводы по главе

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

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

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

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

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

4. СУБД MySQL - одна из самых быстрых в мире, поддерживает множество языков программирования, имеет встроенный сервер и широкий выбор типов таблиц для хранения данных.

2. Проектирование базы данных информационной системы

2.1 Хранение данных

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

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

Конкретный вид и содержание концептуальной модели базы данных определяется выбранным для этого формальным аппаратом. В нашем случае будут использоваться графическая нотация, а именно - диаграмма сущность-связь (ER-диаграмма, англ. entity-relationship diagram, ERD), представленная на рисунке 2.1.

Рисунок 2.1 - ER-диаграмма

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

Таблица «users» содержит данные пользователей. Пользователи - это как администраторы базы данных, так и авторы публикаций, для учета которых предназначена информационная система. Таблица «users» имеет пять дочерних таблиц, с которыми осуществлена связь «один ко многим» - «status», «tags», «publish», «links» и «papers». Таблица содержит следующие поля:

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

2. Поле «lastname». Содержит фамилию пользователя. Тип данных - строка, значение не может быть равно нулю.

3. Поля «firstname» и «patronymic». Содержат имя и отчество пользователя. Тип данных - строка.

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

5. Поле «logo». Содержит логотип, задаваемый пользователем. Имеет значение по умолчанию «null», а тип данных - «blob».

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

7. Поле «email». Содержит адрес электронной почты пользователя. Тип данных - строка, значение не может быть равно нулю.

8. Поле «avatar». Содержит аватар - графическое представление пользователя. Тип данных - строка.

9. Поля «u», «g», «o». Предназначены для разграничения прав пользователей. Тип данных - «bit», значения не могут быть равны нулю. Поле «u» содержит запись о правах пользователя. Поле «g» - права группы, к которой принадлежит пользователь. Поле «o» определяет наличие и объем прав у незарегистрированных пользователей.

10. Поле «extension» - содержит дополнительную информацию о пользователе. Тип данных - строка, значение не может быть равно нулю.

11. Поле «primgroupid» - Тип данных - целый, значение не может быть равно нулю.

Таблица «users» выводится на экран пользователя информационной системы при помощи конструктора сущности, программный код которого представлен на рисунке 2.2.

Рисунок 2.2 - Конструктор сущности «users»

В таблице «papers» заключена информация о публикациях пользователей информационной системы. Она имеет родительскую таблицу «users», с которой осуществлена связь «один ко многим», также имеет дочернюю таблицу «links». Содержит следующие поля:

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

2. Поле «name». Содержит название статьи. Тип данных - строка, значение не может быть равно нулю.

3. Поле «date». Содержит дату статьи. Тип данных - дата.

4. Поле «publishdate». Содержит дату публикации статьи. Тип данных - дата.

5. Поле «publishval». Содержит выходные данные статьи. Тип данных - строка.

6. Поле «publishid». Содержит ссылку на таблицу «publish» для осуществления связи «один ко многим». Тип данных - целый.

7. Поля «typesid» и «statusid». Содержат тип и статус статьи. Тип данных - целый, значение не может быть равно нулю. Значение по умолчанию - единица.

8. Поле «scopus». Определяет, имеются ли на данную статью ссылки в базе данных Scopus. Тип данных «bit». Не может быть равно нулю.

9. Поле «isi». Определяет, имеются ли на данную статью ссылки в базе данных Web of Science. Тип данных «bit». Не может быть равно нулю.

10. Поле «rins». Определяет, имеются ли на данную статью ссылки в базе данных РИНЦ. Тип данных «bit». Не может быть равно нулю.

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

12. Поле «description». Содержит описание статьи, Тип данных - строка.

13. Поля «u», «g», «o». Предназначены для разграничения прав пользователей. Тип данных - «bit», значения не могут быть равны нулю.

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

Таблица «papers» выводится на экран пользователя информационной системы при помощи конструктора сущности, программный код которого представлен на рисунке 2.3.

Рисунок 2.3 - Конструктор сущности «papers»

Таблица «publish» содержит информацию об издательствах. Имеет две родительские таблицы: «users» и «papers, с которыми осуществлена связь «один ко многим», также имеет дочернюю таблицу «links». Содержит следующие поля:

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

2. Поле «name». Содержит название издательства. Тип данных - строка, значение не может быть равно нулю.

3. Поле «description». Содержит описание издательства. Тип данных - строка.

4. Поля «uid» и «gid». Содержат идентификатор пользователя, и идентификатор группы пользователей. Тип данных - целый, значение не может быть равно нулю. Значение по умолчанию - единица.

5. Поля «u», «g», «o». Предназначены для разграничения прав пользователей. Тип данных - «bit», значения не могут быть равны нулю.

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

7. Поля «papers_id» и «papers_users_id» - содержат ссылку на два поля из таблицы «papers» - «id» и «users_id» Поле «users_id» для осуществления связи «один ко многим». Не могут быть равны нулю.

Таблица «publish» выводится на экран пользователя информационной системы при помощи конструктора сущности, программный код которого представлен на рисунке 2.4.

Рисунок 2.4 - Конструктор сущности «publish»

Таблица «status» содержит статусы публикаций и авторов. Родительские таблицы - «users» и «papers», с которыми осуществлена связь «один ко многим». Дочерняя таблица - «links». Содержит следующие поля:

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

2. Поле «name». Содержит наименование статуса. Тип данных - строка, значение не может быть равно нулю.

3. Поле «description». Содержит описание статуса. Тип данных - строка.

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

5. Поля «u», «g», «o». Предназначены для разграничения прав пользователей. Тип данных - «bit», значения не могут быть равны нулю.

6. Поле «icon». Содержит иконку - небольшой элемент графического интерфейса. Тип данных - строка.

7. Поле «users_id». Содержит ссылку на таблицу «users», тем самым осуществлена связь «один ко многим». Является первичным ключом, не может быть равно нулю.

8. Поле «papers_id». Содержит ссылку на таблицу «papers», тем самым осуществлена связь «один ко многим». Значение не может быть равно нулю.

Таблица «status» выводится на экран пользователя информационной системы при помощи конструктора сущности, программный код которого представлен на рисунке 2.5.

Рисунок 2.5 - Конструктор сущности «status»

Таблица «tags» предназначена для хранения тегов - именованных меток, используемых для быстрого поиска информации в базе данных. Родительские таблицы - «users» и «papers», с которыми осуществлена связь «один ко многим». Дочерняя таблица - «links». Содержит следующие поля:

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

2. Поле «name». Содержит наименование статуса. Тип данных - строка, значение не может быть равно нулю.

3. Поле «description». Содержит описание статуса. Тип данных - строка.

4. Поля «uid» и «gid». Содержат идентификатор пользователя, и идентификатор группы пользователей. Тип данных - целый, значение не может быть равно нулю. Значение по умолчанию - единица.

5. Поля «u», «g», «o». Предназначены для разграничения прав пользователей. Тип данных - «bit», значения не могут быть равны нулю.

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

7. Поле «papers_id» и «papers_users_id» - содержат ссылку на два поля из таблицы «papers» - «id» и «users_id». Тем самым осуществлена связь «один ко многим». Не могут быть равны нулю.

Таблица «tags» выводится на экран пользователя информационной системы при помощи конструктора сущности, программный код которого представлен на рисунке 2.6.

Рисунок 2.6 - Конструктор сущности «tags»

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

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

2. Поле «sourceid». Содержит ссылку на одну из родительских таблиц. Целый тип данных, не может быть равно нулю.

3. Поле «source_tname». Содержит имя родительской таблицы, ссылка на которую указана в поле «sourceid». Тип данных - строка, не может быть равно нулю.

4. Поле «destinationid». Содержит ссылку на одну из родительских таблиц. Целый тип данных, не может быть равно нулю.

5. Поле «destination_tname». Содержит имя родительской таблицы, ссылка на которую указана в поле «destinationid». Тип данных - строка, не может быть равно нулю.

6. Поле «description». Содержит описание ссылки. Тип данных - строка.

7. Поля «uid» и «gid». Содержат идентификатор пользователя, и идентификатор группы пользователей. Тип данных - целый, значение не может быть равно нулю. Значение по умолчанию - единица.

8. Поля «u», «g», «o». Предназначены для разграничения прав пользователей. Тип данных - «bit», значения не могут быть равны нулю.

Таблица «links» выводится на экран пользователя информационной системы при помощи конструктора сущности, программный код которого представлен на рисунке 2.7.

Рисунок 2.7 - Конструктор сущности «links»

Таблица «files» предназначена для хранения файлов. Имеет дочернюю таблицу «links», с которой осуществлена связь «один ко многим». Имеет следующие поля:

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

2. Поле «name». Содержит наименование статуса. Тип данных - строка, значение не может быть равно нулю.

3. Поле «description». Содержит описание статуса. Тип данных - строка.

4. Поле «path». Содержит путь к файлу, тип данных - строка, не может быть равно нулю.

5. Поле «cdate». Содержит дату и время создания файла. Тип данных - «timestamp». Не может быть равно нулю.

6. Поле «mdate». Содержит дату и время последнего изменения файла. Тип данных - «timestamp». Не может быть равно нулю.

7. Поле «udate». Содержит дату и время последнего обновления файла. Тип данных - «timestamp». Не может быть равно нулю.

8. Поле «size». Содержит размер файла. Тип данных - строка, значение не может быть равно нулю.

9. Поля «uid» и «gid». Содержат идентификатор пользователя, и идентификатор группы пользователей. Тип данных - целый, значение не может быть равно нулю. Значение по умолчанию - единица.

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

11. Поля «u», «g», «o». Предназначены для разграничения прав пользователей. Тип данных - «bit», значения не могут быть равны нулю.

Таблица «files» выводится на экран пользователя информационной системы при помощи конструктора сущности, программный код которого представлен на рисунке 2.8.

Рисунок 2.8 - Конструктор сущности «files»

Выводы по главе

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

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


Подобные документы

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

    дипломная работа [2,0 M], добавлен 12.08.2015

  • Информационное обеспечение научных исследований в университете. Разработка онтологии в области управления. Создание глоссария по менеджменту, списка персоналий. Семантическая разметка массива документов. Методика работы с базой научных публикаций.

    дипломная работа [3,5 M], добавлен 13.01.2015

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

    курсовая работа [1,3 M], добавлен 17.05.2013

  • Хранение и обработка данных. Компоненты системы баз данных. Физическая структура данных. Создание таблиц в MS Access. Загрузка данных, запросы к базе данных. Разработка информационной системы с применением системы управления базами данных MS Access.

    курсовая работа [694,0 K], добавлен 17.12.2016

  • Анализ деятельности складского учета, внедрение информационных технологий в процесс работы склада. Создание информационной системы учета движения материалов на складе. Моделирование бизнес-процессов. Проектирование физической структуры базы данных.

    курсовая работа [4,1 M], добавлен 22.06.2014

  • Понятие информационной системы. Основное определение базы данных (БД). Системы управления базами данных. Популярность СУБД Microsoft Access. Характеристика СУБД MySQL. Особенности разработки информационной системы по курсу вычислительной математики.

    курсовая работа [785,8 K], добавлен 05.10.2012

  • Детализация функций системы и требования к информационной системе. Анализ категорий пользователей. Этапы внедрения автоматизированной информационной системы на предприятии. Описание таблиц базы данных. Защита данных от несанкционированного доступа.

    дипломная работа [1,0 M], добавлен 22.07.2015

  • Система управления базами данных как составная часть автоматизированного банка данных. Структура и функции системы управления базами данных. Классификация СУБД по способу доступа к базе данных. Язык SQL в системах управления базами данных, СУБД Microsoft.

    реферат [46,4 K], добавлен 01.11.2009

  • Понятие, состав информационной системы. Управление целостностью БД. Обеспечение системы безопасности. Блокировка неверных действий приложений-клиентов. Тенденции в мире систем управления базами данных. Основные функции, классификация и механизмы доступа.

    курсовая работа [205,0 K], добавлен 11.12.2014

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

    реферат [122,5 K], добавлен 11.01.2010

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.