![](/stc/img/evkova.png)
Моделирование предметной области «Управление документооборотом» с помощью UML (Теоретические основы платформ для разработки информационных систем)
Содержание:
Введение
Актуальность выбранной темы исследования заключается в том, что в настоящее время наблюдается все большее развитие информационных технологий, платформ, позволяющих повысить эффективность деятельности предприятий, снизить трудоемкость труда. С развитием информационных технологий, аппаратного и программного обеспечения достаточно важным этапом является правильное использование различных инструментов и методов для ее обработки.
В случае разработки информационной системы на первоначальном этапе необходимо в соответствии c имеющейся аппаратной платформой рационально осуществить выбор операционной и программной платформы, которые позволят обеспечить эффективность системы для обработки информации и в оперативном режиме, используя различные алгоритмы обработать информацию и представить полученные результаты пользователям [1, c. 38].
Следует учитывать, что каждая платформа имеет собственное адаптированное в ее среде программное обеспечение, позволяющее получить точные и качественные результаты обработки информации, раскрыть сущность структурных отношений между потоками данных, способы представления информации и методы ее обработки.
При разработке программ важное значение придается выбору языка программирования, системе управления базами данных, которые должны снизить трудозатраты на разработку и предоставить пользователю интуитивный и понятный интерфейс для работы.
Поэтому при развертывании базы данных для построения информационной системы необходимо учитывать характеристики аппаратной, операционной и программной платформ.
Значительное внимание исследованию развертывания веб-ориентированных систем управления базами данных уделяется многими авторами, среди которых необходимо отметить Баулу В. Г., Дейтела Х. М, Иртегова Д. В., Мартемьянова Ю. Ф., Назарова С. В., Гудыно Л. П., Кириченко А. А. и других.
Предметом исследования является построения информационной системы.
Объектом исследования являются системы управления базами данных.
Целью курсовой работы является всесторонний теоретический и практический анализ взаимосвязи между операционными платформами и системами управления базами данных.
Для достижения поставленной цели в работе были сформулированы следующие задачи:
- раскрыть сущность и значение платформы для разработки программного продукта;
- привести характеристики существующих видов операционных платформ для разработки программного обеспечения;
- выполнить сравнительный анализ наиболее популярных языков программирования и систем управления базами данных;
- разработать информационную систему электронного документооборота в развернутой на операционной платформе Windows СУБД MySQL.
1. Теоретические основы платформ для разработки информационных систем
1.1 Сущность и значение платформы для разработки программного продукта
Платформа представляет собой взаимосвязь технического обеспечения и операционной системы для организации работы специализированного и прикладного программного обеспечения, используемого для разработки различных решений.
С точки зрения разработки различных программных продуктов под платформой понимают взаимосвязь между операционной системой, инструментами для разработки программных продуктов и прикладными программами, которые адаптированы под выбранную операционную систему.
В прикладном программировании под платформой понимают комплекс средств, используемый для решения различного рода задач и разработки прикладного программного обеспечения [2, c. 59].
Также выделяют понятие «аппаратная платформа», которая представляет собой систему совместимых в работе аппаратных решений в пределах выбранной операционной системы.
Следует отметить, что термин «аппаратная платформа» связан с утверждением корпорации IBM единого стандарта по аппаратному обеспечению компьютера. До этого момента производителями в отношении обслуживания персонального компьютера применялись собственные решения. Однако, это создало проблему насыщения рынка аппаратного и программного обеспечения несовместимыми между собой персональными компьютерами, каждый из которых требовал использование собственного программного обеспечения, что создавало неудобства для работы пользователей.
Именно корпорация IBM предложила применение к аппаратному обеспечению принципа «открытой архитектуры» на основании разработки и утверждения единого стандарта для основных частей персонального компьютера, что позволило развить производство IBM PC совместимых компьютеров.
Принцип «открытой архитектуры» позволил усовершенствовать отдельные комплектующие компьютера и осуществить его сборку из независимо изготовленных частей [3, c. 88].
В настоящее время аппаратная платформа является нижнем слоем многоуровневой организации вычислительных ресурсов, используемой для работы операционной системы и прикладного программного обеспечения. При этом каждая аппаратная платформа имеет совместимые с ней операционные системы и программное обеспечение.
Кроме аппаратной платформы выделяют также понятие платформа операционной системы, которая представляет собой оболочку, используемую для работы различного рода и значения прикладного программного обеспечения.
В качестве примера платформ операционной системы можно привести платформу Windows API, которая включает набор функций для работы программного обеспечения семейства Microsoft Windows.
В настоящее время платформа Windows API является одной из самых распространенных платформ и имеет важное значение для пользователей прикладного программного обеспечения и программистов.
Данная платформа позволяет объединить различного рода программное обеспечение, которые используется на различных типах компьютеров: от настольного персонального компьютера до планшетного, построенного на основе мобильных устройств.
Характеристика различных версий платформы Windows API приведена в таблице 1 [4, c. 102].
Таблица 1 - Характеристика версий платформы Windows API
Версия |
Характеристика |
Win 16 |
Является первой версией платформы Windows API и предназначена для 16-разрядных версий операционной системы Windows |
Win 32 |
В ней реализованы функции для работы динамическими библиотеками kernel32.ddl и advapi32.dll, а также для работы графического интерфейса пользователя user32.ddl и gdi32.ddl. Предназначена для 32-разрядных версий операционной системы Windows |
Win 64 |
Предназначена для 64-разрядных версий операционной системы Windows |
Кроме платформы операционных систем выделяют также понятие платформа программного обеспечения, представляющие собой кроссплатформенные среды для разработки программного обеспечения.
Другими словами, программные платформы позволяют реализовать функции исполнения программы без ее компилирования на аппаратной платформе, находящейся под управлением адаптированной под нее операционной платформы.
В качестве примеров программных платформ можно привести программные платформы Qt, Boost, .NET Framework.
Наиболее популярной является программная платформа .NET Framework, которая была выпущена на рынок программного обеспечения корпорацией Microsoft в 2002 году. Основу данной платформы составляет среда исполнения Common Language Runtime (CLR), которая может быть использована для разработки программных продуктов на различных языках программирования [5, c. 79].
Данная платформа поддерживает такие среды разработки программных продуктов как MS Visual Studio (языки программирования С#, C++, F#, Visual Basic), Embarcadero RAD Studio (Delphi) и другие.
Одной из главных задач программной платформы .NET Framework является организации совместимости программных частей, которые написаны на разных языках программирования. К примеру утилита, написанная на языке программирования С++ может применятся для обращения к методам класса библиотеки, созданной на Delphi.
1.2 Виды операционных платформ для разработки программного обеспечения
Рассмотрим особенности операционной платформы Windows, которая является одной из самых популярных платформ как среди пользователей, так и среди разработчиков. Следует отметить, что на первоначальном этапе платформа Windows не была полноценной операционной системой, а была представлена в виде надстроек для операционной системы DOS, добавляя в нее новые режимы работы процессора, стандартизируя интерфейсы аппаратного обеспечения. Первые версии операционной платформы Windows включали три модуля KERNEL, GDI и USER, позволяющие управлять памятью запускать исполняемые файлы и библиотеки.
Первой операционной платформой семейства Windows была Windows 95, предоставляющая пользователям возможность выполнять 32-битные приложения за счет наличия пользовательского интерфейса.
После этого свое развитие получила платформа Windows 98, которая была менее безопасной в сравнении с Windows NT, в своей основе она оставалась 16-битной и не сильно отличалась от предыдущей версии [6, c. 22].
Однако в 1999 году вышел исправленный вариант, где программный интерфейс являлся подмножеством Win32 API, поддержка которого осуществляется операционной системой Windows NT. Кроме того, данный вариант операционной платформы Windows 98 поддерживал юникод.
В настоящее время операционная платформа Windows NT является полностью 32- или 64- битной операционной системой, в которой нет необходимости применять MS DOS для развертывания.
В основе операционной платформы Windows NT находится принцип разделения адресного пространства между процессами. При этом для каждого процесса реализована возможность работать с выделенной для него памятью.
Можно сказать, что операционная платформа Windows NT является платформой обладающей вытесняющей многозадачностью, где распределение времени работы процессора выполняется по принципу карусели.
Ядром операционной системы выделяется квант времени для каждого из потоков по очереди с выполнением условия, что для всех потоков выполняется одинаковый приоритет. При этом поток может отказать в принятии выделенного для него кванта времени и тогда система забирает у него управление и передает на выполнение другому потоку.
В настоящее время свое распространение получили встраиваемые операционные платформы Windows Embedded, которые представляют системы реального времени, ядро которых является общем с семейством операционной системы Windows СЕ и поддерживает процессоры ARM, MIPS, x86.
В состав операционной платформы Windows Embedded включены функции, позволяющие реализовать фильтр защиты от записи EWF и FBWS, загрузку с флэш-памяти и использовать собственную оболочку. Данные операционные платформы применяют в банкоматах, навигационном оборудовании, платежных терминалах, роботах [2, c. 106].
Операционная платформа Linux создана и получила свое распространение с свободным и открытым программным обеспечением. Она распространяется в отличие от платформы Windows бесплатно с готовым набором дистрибутив, который включает собственный набор программного обеспечения, адаптированного для работы пользователей.
В настоящее время операционная платформа Linux наибольшее применение нашла на рынке реализации смартфонов, а также в качестве встраиваемой системы для суперкомпьютеров, которые занимают устойчивые позиции на рынке серверного программного обеспечения.
Данная операционная платформа получила популярность среди различных государственных структур. Особенно поддерживается операционная платформа Linux правительством Бразилии, а в России был разработан своя собственная конфигурация данной системы.
В общем можно сказать, что платформа Linux представляет собой модульную Unix-подобную операционную систему, в дизайне которой заложены принципы Unix.
Драйверы устройств также представляют собой определенные модули, а в некоторых случаях они интегрированы в ядро системы. В основе платформы находится монолитное ядро за счет которого выполняется управление различными процессами, периферией, сетевыми функциями, файловой системой.
В общем виде схему взаимодействия программного обеспечения в операционной платформе Linux можно представить в виде рисунка 1.
Рисунок 1 - Схему взаимодействия программного обеспечения в операционной платформе Linux
Некоторые программы, позволяют обеспечить работу с ядром с использованием функций более высокого уровня, к которым относятся пользовательские компоненты GNU представляющие собой одну из важный составляющих большинства платформ Linux и включающие библиотеки языка Си и другие инструменты Unix.
Для того чтобы начать работу на платформе Linux пользователями применяется интерфейс командной строки CLI, графический интерфейс GUI. Настольный системы в общем случае используют графический пользовательский интерфейс, где через отдельную консоль доступа командная строка, которая применятся для ускорения решения повторяющихся задач.
На Linux платформах также реализован пользовательский интерфейс, основанный на средах рабочего стола. В качестве примера можно привести KDE Plasma Desktop, GNOME или X Window (возможность графическому приложению, работающему на одном компьютере быть отображенным на другом для совместной работы).
Характеристика основных дистрибутивов операционной платформы Linux приведена в таблице 2 [1, c. 29].
Таблица 2 - Характеристика основных дистрибутивов операционной платформы Linux
Название дистрибутива |
Характеристика |
Debian GNU/Linux |
Один из первых дистрибутивов и стал основной для разработки других. В отличие от других применяет жесткие подходы в включению несвободного программного обеспечения |
Ubuntu |
Дистрибутив, который основан на Debian и ориентирован на быстроту в освоении за счет минимальной сборки |
OpenSUSE |
Поддерживается компанией Novell. Имеет удобство в эксплуатации за счет утилиты YaST |
Fedora |
Поддерживается компанией Red Hat и является одним из популярных дистрибутивов |
Arch Linux |
Ориентирован на использование современного программного обеспечения, поддерживает бинарную установку и коды, построенные на KISS |
PCLinuxOS |
Позволяет установить операционную систему на жесткий диск. Постоянно развивается |
Перечисленные дистрибутивы обладают отличительными характеристиками и имеют свои собственные концепции. В отличие от платформы Windows или Mac OS X данная платформа не оснащена географическим центром разработки, то есть не существует собственника у данной платформы, поскольку она является результатом многочисленных проектов.
Среди популярных платформ следует также отметить платформу OS X производством которой занимается корпорация Apple.
В настоящее время операционная платформа OS X находится на втором месте после операционной системы Windows. В основе данной платформы находится ядро XNU, которое использует микроядро Mach, а также коды из FreeBSD и OCNXTSTEP.
В основе платформы OS X находится POSIX совместимая операционная система Darwin представляющая собой свободное программное обеспечение.
Как и в любой UNIX-системе в ней реализованы функции обеспечения высокой защиты памяти, за счет которых можно запускать независимые друг от друга процессы, каждый из которых может останавливать или изменять остальные.
Основой платформы OS X является среда программирования Core Foundation, графическая среда Aqua и применение технологий Core Image.
Среди достоинств данной платформы следует выделить:
- высокое качество отображения графических данных за счет реализации полноцветных моделей;
- наличие интерактивных окон, позволяющих отразить прозрачность элементов и обеспечить высокий уровень визуализации;
- встроенные библиотеки для компьютерной графики, мультимедиа и печати;
- поддержка технологий аппаратного ускорения и быстрого поиска данных;
- высокий уровень защиты данных за счет наличия собственных алгоритмов шифрования и кодирования информации.
Развитие данной платформы выполняется постоянно и по состоянию на 2017 год была разработана платформа iOS, которая в настоящее время находится на тестировании.
2. Средства для разработки информационных систем
2.1 Характеристика наиболее популярных языков программирования
В настоящее время языки программирования классифицируют по следующим признакам:
- объектно-ориентированные, к которым относятся Delphi, Microsoft Visual Studio, С#, C++ Builder;
- веб-ориентированные среди которых можно выделить Perl, PHP, ASP.NET.
Отличительной особенностью объектно-ориентированных языков программирования является наличие RAD-системы, позволяющей выполнять быструю разработку программных продуктов, что повышает эффективность разработки, способствует оптимизации времени, отведенного на разработку проекта и является наиболее простым способом реализации краткосрочных проектов для разработчика.
К примеру, в программной среде Microsoft Visual Studio используются готовые компоненты (MFC) и имеется возможность добавления своих собственных библиотек, что создает возможности для программиста вносить в разрабатываемые приложения динамичность, интерактивность и независимость от существующих шаблонов разработанных приложений [7, c. 72].
Среди объектно-ориентированных языков высокого уровня следует выделить язык программирования Delphi, который представляет собой универсальное средство для разработки приложений различной сложности и оснащен RAD-оболочкой. Если сравнить данный язык программирования с C++ Builder, то можно сказать, что по производительности Pascal-код языка программирования Delphi на 4-5% меньше, чем кода C++.
К достоинствам языка программирования Delphi следует отнести простоту использования Object Pascal, исключение необходимости внедрения дополнительных библиотек, например, если сравнить с C++/MFC.
С помощью компонента VCL программная среда Delphi для разработчика предоставляет удобный в использовании, и оснащении дополнительными библиотеками данных интерфейс к Windows API [8, c. 96].
Для исключения данных недостатков в программировании применяется метод динамического распределения памяти за счет, которого отдельные элементы выделяются в процессе выполнения программы, а не ее компиляции.
За счет динамических структур, находящихся в основе среды программирования Delphi, изменяется не только количество элементов, но и связи между данными элементами, но содержимое данных элементов остается неизменным. Эта особенность создает неудобство получения машинного кода, поскольку компилятор не может выделить участки памяти фиксированного размера, сопоставить отдельные компоненты структуры в указанные адреса.
Среди веб-ориентированных следует отметить Perl (Practical Extraction and Reporting Language), который позволяет оптимизировать для сканирования произвольные текстовые файлы и решать задачи системного управления.
Можно сказать, что во много синтаксис языка программирования Perl во много совпадает с объектно-ориентированным языком программирования С, что позволяет за счет него реализовать сложные механизмы трассировки данных [9 c. 67].
Данный язык программирования является легко переносимым на различные платформы, поскольку имеет специализированные расширения доступа к данным.
Среди достоинств данного языка следует выделить высокий уровень поддержки веб-ресурсов и обеспечение их защиты данных. Программный код на языке Perl представлен в виде текстового файла, который затем преобразуется в байт-код, что позволяет разработчику своевременно найти ошибки и выполнить трассировку потоков данных.
Для разработки различного уровня сложности приложений свою популярность получил скриптовый язык программирования РНР, имеющий в своей основе синтаксис аналогичный С++.
В состав данного языка программирования входит значительное количество подключаемых модулей, которые значительно расширяют возможности разработчика на практике. Главной задачей применения РНР разработка динамических веб-страниц, позволяющих автоматизировать многие задачи для пользователя в интерактивном режиме.
Основные достоинства языка программирования РНР приведены на рисунке 2 [10, c. 59].
Рисунок 2 - Основные достоинства языка программирования РНР
Следует также отметить, что PHP работает как часть веб-сервера, что позволяет оптимизировать ресурсы используемого веб-сервера.
Полноценным, многоуровневым фрейворком для разработки веб-приложений является веб-ориентированный язык программирования Ruby on Rails, который работает с базами данных основанных на архитектуре «модель-представление-контроллер. С помощью Ruby on Rails разработчики получают возможность использования динамичных AJAX-интерфейсов: обработки запросов и выдачи данных в контроллерах. Для работы необходима только — это база данных и веб-сервер.
Язык программирования ASP.NET является частью технологии .NET, которая используется для разработки сложных клиент-серверных приложений. С помощью данного языка программирования также можно разрабатывать динамические страницы за счет наличия библиотек элементов для разработки интерактивных веб-сайтов.
Следует отметить, что ASP.NET является унифицированной средой для разработки веб-приложений, которая позволяет обеспечить специалистов по разработке приложений инструментами, протоколами, позволяющими создать новую инфраструктуру.
Поскольку ASP.NET – это одна из составляющих операционной системы, то применение компилированного кода создает автоматическое увеличение производительности [11, c. 67].
ASP.NET имеет много программных усовершенствований, например, кэширование, компиляцию кода, а также большую степень простоты и безопасности и обеспечение надежности, которая может сохраняться даже во время аварий на серверах
ASP.NET обеспечивает встроенную поддержку сеансов, которая является переносимой с одной Web-формы на другую. ASP.NET запоминает информацию по состоянию пользователя или запрашивает входные переменные.
Благодаря этим и другим усовершенствованиям ASP.NET намного увеличивает возможности разработчиков – за счет чего она популярна и очень быстро развивается.
2.2 Сравнительный анализ систем управления базами данных
В настоящее время известно более двух десятков систем управления базами данных среди которых следует выделить DB2, Oracle, MYSQL, POSTGRESQL, Informix.
Для сравнения эффективности существующих баз данных, рассмотрим их на таком множестве критериев оценки [12, c. 92]:
- масштабируемость;
- производительность;
- доступность данных;
- функциональные возможности сервера;
- открытость;
- средства разработки.
Масштабируемость дает возможность использования базы данных на различном программном обеспечении и чем выше данный показатель, тем больше возможностей у базы данных. Сравнительный анализ по показателю масштабируемость выбранных для исследования баз, данных приведен в приложении 1.
Как видно из приложения 1, все приведенные базы данных имеют достаточную масштабируемость, которая выражается в возможности параллельно выполнять доступ к базе данных, поддерживают многопроцессорную обработку данных и параллельные обработки запросов, однако каждая на своем уровне.
Следующий показатель, по которому проведен сравнительный анализ – это производительность. В приложении 2 приведены основные параметры производительности баз данных DB2, Oracle, MYSQL, POSTGRESQL, Informix.
Сравнительный анализ, приведенный в приложении 2 показал, что наибольшей производительностью обладают базы данных MYSQL, POSTGRESQL, которые предлагают существенное увеличение производительности СУБД, через внедрение следующих дополнительных аспектов, которые позволяют пользователям легко расширять систему.
В приложении 3 приведен сравнительный анализ баз данных по показателю доступность данных.
Как видно из приложения 3, наибольшими преимуществами по показателю доступность данных обладают базы данных MYSQL, POSTGRESQL, которые также поддерживают и ряд "объектных" операций, например, подражание.
Возможности баз данных Informix, кроме рассмотренных выше, предусматривают следующие средства: процедуры, которые сохранены, триггеры, курсоры, каскадное удаление данных, поддержку целостности, уровни изоляции чтения (грязное чтение, подтвержденное чтение, стабильное чтение, чтение, что повторяется) [13, c.61].
В DB2 поддерживаются ключевые объектно-реляционные функции (все они реализованы в соответствии со стандартами SQL3 и поэтому представляют собой открытый подход).
Определяемые пользователем типы данных (UDT). С их помощью пользователи могут создавать новые типы данных, которые будут представлены в базе с использованием встроенных типов
Определяемые пользователем функции (UDF). С их помощью в запросы можно включать мощные вычислительные предикаты и предикаты поиска для фильтрации ненужных данных непосредственно в их источнике.
Oracle имеет большое количество функциональных возможностей, таких как достаточно развитый язык программирования PL/SQL, и механизмы триггеров, хранимых процедур и функций [17].
Перечислим некоторые свойства, характеризующие открытость Informix:
- доступность на множестве платформ, включая Sequent, HP, Sun, IBM, Siemens Nixdorf, NCR;
- поддержка, кроме UNIX, операционных систем Windows NT и NetWare;
- возможность включения баз данных Informix в распределенные разнородные ИС, построенные на основе аппаратно-программных платформ и баз данных различных производителей;
- интегрирование Informix с системами централизованного управления и администрирования, такими как Tivoli Management Environment (TME), HP Open View, IBM Net View;
- многоязычная поддержка.
Доступ к базам данных DB2 можно получить практически из любого клиента с помощью всех основных типов сетей. Кроме того, DB2 поддерживает большинство отраслевых стандартов, позволяющий работать с системой, используя множество существующих инструментальных средств и приложений.
Серверы DB2 и шлюзы DB2 Connect могут работать на таких платформах: AIX, Linux, HP- UX, OS/2, Solaris, Windows NT, Windows 2000.
При этом их производитель не без оснований утверждает, что поскольку все эти программные комплексы разработаны одной компанией, то взаимодействие между ними осуществляется эффективнее, чем с аналогичными продуктами других фирм.
Средства разработки и доступа пользователя в Informix, особенно объектно-ориентированный инструментарий групповой разработки прикладных систем с графическим интерфейсом Informix NewEra, оцениваются экспертами как высокоразвитые инструменты, отвечающие современным требованиям.
В DB2 Personal Developer's Edition и DB2 Universal Developer's Edition программистам предоставляется среда разработки, позволяющая создавать для баз данных приложения, обращающиеся к данным и управляющие ими в реляционных баз данных IBM.
В версию DB2 входят инструментальные средства для разработчиков, документация и примеры исходного кода приложений на платформах рабочих станций, поддерживаемых серверами DB2.
DB2 является одной из самых простых в использовании и управлении баз данных своего класса. Она включает в себя полный набор графических инструментальных средств, которые удовлетворяют потребности администраторов баз данных и прикладных программистов. Кроме того, в ее состав входят инструментальные средства, которые помогают выполнять разовые запросы и создавать отчеты для пользователей.
Средства разработки Oracle представлены такими продуктами, как Developer, Designer, Developer Server, JDeveloper, WebDB, Oracle Reports.
PostgreSQL - это объектно-реляционная система управления базами данных, работает как клиент-серверная система, которая соответствует базовой спецификации SQL99 и поддерживает большое число возможностей, описанных стандартом SQL92.
PostgreSQL - это свободная альтернатива коммерческим СУБД (таким как Oracle, Microsoft SQL Server, DB2, Informix и СУБД производства Sybase) вместе с другими свободными СУБД (такими как MYSQL и Firebird).
PostgreSQL поддерживается на всех современных системах (34 платформы) Unix, включая наиболее распространенные, такие как Linux, FREEBSD, NETBSD, OPENBSD, SUNOS, Solaris, DUX, а также под Mac OSX. Начиная с версии 8.X PostgreSQL работает в "native" режиме под MS Windows NT, Win2000, WINXP.
PostgreSQL является одной из первых во многих объектно-реляционных аспектах, которые позже появились в некоторых коммерческих СУБД.
Традиционные реляционные СУБД (RDBMS) поддерживают модель данных, которая составляет коллекцию поименованных кортежей, содержащих атрибуты заданного типа.
В современных коммерческих системах, к возможным типам относятся числа с плавающей точкой, целые числа, символьные строки, денежные типы и даты.
Это обычно приводит к тому, что данная модель является неадекватной для будущих средств обработки данных.
Реляционная модель успешно заменяет предыдущие модели частично из-за простоты. Однако такая простота делает реализацию определенных приложений очень сложной.
MYSQL среди этих продуктов имеет некоторые преимущества, прежде всего производительность [14, c. 19].
Согласно тестам MYSQL работает гораздо быстрее конкурирующих продуктов.
Также среди преимуществ MYSQL над конкурентами можно назвать низкую стоимость (пакет распространяется бесплатно, при необходимости можно за низкую цену приобрести лицензию), транспортабельность (MYSQL можно использовать в различных UNIX- подобных системах, а также в среде Microsoft Windows), а также возможность доступа к коду программного продукта с целью внесения необходимых изменений.
Поэтому при создании подсистем баз данных web-сервисов тестирования знаний целесообразно использовать MYSQL или PostgreSQL [15, c. 45].
Возможность перевести операции записи страниц с задачи выполнения SQL-запроса на какое-либо другое задание позволяет значительно ускорить отклик системы на запросы.
Также PostgreSQL и MYSQL содержат необходимые конструкторы, позволяющие получить модель «сущность-связь» и утилиты для разработки баз данных в интерактивном режиме, что позволяет разработчику ускорить процесс разработки и наполнения базы данных, а также приведение базы данных к третьей нормальной форме.
На основании анализа рассмотренных критериев оценки баз данных можно составить выделить эффективности баз данных с выделением преимуществ и недостатков (приложение 4).
На основании сравнительного анализа можно сделать следующие выводы, что почти все серверные баз данных имеют возможность:
- реализации на нескольких платформах;
- использование удобных административных утилит;
- осуществление резервного копирования данных;
- поддержки нескольких сценариев репликации;
- поддержки параллельной обработки данных в многопроцессорных системах;
- поддержки OLAP и создание хранилищ данных;
- выполнение распределенных запросов и транзакций;
- использование различных средств проектирования данных для создания своих объектов;
- поддержку средств разработки и генераторов отчетов, как собственного производства, так и других производителей;
- поддержки как минимум публикации данных в Интернет.
Вследствие проведенного анализа можно утверждать, что использование MS SQL Server идеально подходит для разработки приложений в любой платформе, имеет в наличии высокоинтеллектуальный процессор запросов и хорошо развитый диалект языка SQL (Transact - SQL) [16, c. 25]
Oracle ориентируется на Интернет, поддерживает большое количество аппаратных и программных платформ, имеет богатые возможности для разработчиков (объектно-реляционная БД, PL / SQ).
Informix способна обслуживать одновременно работающие приложения оперативной обработки транзакций и системы поддержки принятия решений для локальных и распределенных баз данных с большим количеством пользователей.
DB2 сочетает в себе высокую производительность систем обработки транзакций в режиме online, объектно-реляционные расширения, средства оптимизации с возможностями параллельной обработки и поддержкой очень больших баз данных.
3. Разработка информационной системы электронного документооборота с помощью UML
Рассмотрим пример разработки системы электронного документооборота для компании ООО «Деловые линии», которая специализируется на транспортных услугах и работах и работах связанных с погрузкой тяжелых грузов.
Основным бизнес-процессом является бизнес процесс «Управление документооборотом в ООО «Деловые линии».
Описание бизнес-процесса:
1) При поступлении документов в организацию сотрудник отдела делопроизводства регистрирует документ в журнале входящих документов.
2) После регистрации документов он ведет распределение документов по адресату и назначению – начальникам отделов, руководителю предприятия.
3) Сотрудник отдела делопроизводства также ведет регистрацию документов, исходящих из организации – это договоры с поставщиками, деловыми партнерами, банком, государственными органами.
4) Сотрудник отдела делопроизводства осуществляет подготовку и визирование внутренних документов компании.
5) По входящим, исходящим и внутренним документам компании ведется архив и по запросам из других подразделений ООО «Деловые линии» сотрудником отдела делопроизводства ведется поиск необходимого документа в сохраненном архиве.
6) На основе зарегистрированных в журналах документов (входящих, исходящих и внутренних) формируется отчет, по которому проводится анализ документооборота компании.
7) Начальник отдела делопроизводства докладывает о результатах работы отдела генеральному директору
8) Генеральный директор принимает решение о развитии отдела делопроизводства и повышения его эффективности работы.
Цель проекта разработки системы электронного документооборота – это улучшение работы отдела делопроизводства, а также сокращения времени на поиск и оформления документов за счет введения системы электронного документооборота (СЭД), которая позволит повысить эффективность работы отдела.
Задачами внедрения электронной системы документооборота являются:
- усиление контроля за исполнением решений;
- увеличение скорости обработки документа в процессе его жизненного цикла;
- ускорение поиска информации в документах и сопроводительных данных;
- снижение рисков финансовых потерь, связанных с несвоевременным получением либо утратой документов;
- разграничение прав доступа к документам;
- повышение эффективности использования накопленных в организации знаний.
Проект будет реализован с помощью следующих программных средств:
- Php 5.6 [19];
- MySQL 5.5 Server.
Требования к надежности: система должна обеспечивать восстановление информации при программно-аппаратных сбоях (отключения электропитания, отказах носителей информации, вирусах), стабильность работы в многопользовательском режиме и живучесть Системы при выходе из строя отдельных её компонентов.
Требования к эргономике системы: приложение должно открываться на операционных системах Windows ХР и выше с установленным .NET Framework версии 3.5 и выше. Корректное отображение графических элементов должно осуществляться при разрешении монитора 1024x768 и выше.
При проектировании базы данных разработаны следующие таблицы, наименование которых и их назначение приведено в таблице 3.
Таблица 3 – Описание основных таблиц базы данных
Наименование |
Хранимые данные |
dellin.dokument |
Содержит данные о документа |
dellin.dolg |
Содержит должности сотрудников системы электронного документооборота |
dellin.history |
Содержит историю посещения системы ее пользователями |
dellin.nach |
Содержатся сведения о руководстве |
dellin.otdel |
Содержаться сведения о структурных подразделениях ООО «Деловые линии» |
dellin.sotr |
Содержит сведения о пользователях электронной системы документооборота |
dellin.tip |
Содержит типы документов: входящие, исходящие, внутренние |
ER-диаграмма базы данных приведена на рисунке 3.
Рисунок 3 – ER-диаграмма базы данных
Характеристика каждой таблицы базы данных приведена в приложении 5. После разработки базы данных на языке программирования PHP была выполнена разработка интерфейса.
Работа сетевого приложения для документооборота начинается классически для программы, которая заинтересована в защите своих данных от непосвященных работников. На рисунке 4 представлена форма авторизации.
Рисунок 4 - Форма авторизации
На стороне сервера осуществляется проверка на соответствие введенных данных, и при положительном результате загружается форма регистрации документов, представленная на рисунке 5.
Рисунок 5 - Форма регистрации документа
Код JS меняющего поля адресанта и адресата в зависимости от выбранного типа документа:
$( "#typedoc" ).change(function() {
var stext = $('option:selected',this).text();
var stype=stext.substring(0,2);
var sout='№'+stype+'/...';
$(".regnum").text(sout);
var sval=$('option:selected',this).attr('value');
switch (stype)
{
case 'Вх':
$("#adresant").remove();
var skontr =$('div[name=skontr]').text();
$('<select name="adresant" id="adresant">'+skontr+'</select>').appendTo("#divadresant");
$("#adresat").remove();
var sotdel =$('div[name=sotdel]').text();
$('<select name="adresat" id="adresat">'+sotdel+'</select>').appendTo("#divadresat");
break;
case 'Ис':
$("#adresant").remove();
$('<input type="text" name="adresant" id="adresant" value="ООО \'Деловые линии\'">').appendTo("#divadresant");
$("#adresat").remove();
var skontr =$('div[name=skontr]').text();
$('<select name="adresat" id="adresat">'+skontr+'</select>').appendTo("#divadresat");
break;
case 'Вн':
$("#adresant").remove();
var sotdel =$('div[name=sotdel]').text();
$('<select name="adresant" id="adresant">'+sotdel+'</select>').appendTo("#divadresant");
$("#adresat").remove();
$('<select name="adresat" id="adresat">'+sotdel+'</select>').appendTo("#divadresat");
break;
}
});
Когда документ создан и заполнены поля в соответствии с заданными правилами валидации (отсутствуют предупреждающие знаки как на рисунке 6), документ сохраняется.
Рисунок 6 – Пример реакции на неправильные данные
Документ после сохранения ложится во входящие документы автора и входящие получателя. Например, секретарь с управления зарегистрировала документ, приведенный на рисунке 7.
Рисунок 7 – Пример заполненной формы для сохранения
Во входящих Управления на рисунке 8 появился документ, где Иванова как автор является сразу же контролирующим лицом, и по истечении времени или статуса может убрать в архив.
Рисунок 8 – Пример реакции на неправильные данные
Карточку документа можно посмотреть и распечатать, нажав на номер регистрации документа (рисунок 9).
Рисунок 9 – Карточка документа
На рисунке 10 представлена форма, которую увидит сотрудник бухгалтерии во Входящих.
Рисунок 10 – Форма для сотрудника бухгалтерии
Сотрудник может менять статус документа, который будет отображаться у автора (в данном случае в управлении).
Например, изменим статус на исполнено. В бухгалтерии тоже меняется статус документа, что и отображено на рисунке 11.
Рисунок 11 – Форма входящих автора документа
Отчет по исполненным документам на рисунке 12.
Рисунок 12 – Пример отчета по исполненным документам
Удалим документ в архив и найдем его во входящих в архиве. Результат представлен на рисунке 13.
Рисунок 13 – Входящие документы, удаленные в архив
По исходящим и внутренним документам последовательность аналогична. В программе представлен поиск по документам, как в архиве, так и нет. Форма поиска содержит критерии поиска, причем можно заполнить любое количество полей, и любыми символами.
Результат поиска по архиву всех документов 2017 года представлен на рисунке 14.
Рисунок 14 – Результат поиска по архиву
Для создания отчетов задаются соответствующие критерии поиска, это можно увидеть на рисунке 15, а результаты на рисунке 16.
Рисунок 15 – Формирование отчета
Рисунок 16 – Сформированный отчет
Закончить работу с программой можно по кнопке выход.
Заключение
В процессе выполнения курсовой работы был выполнен всесторонний теоретический и практический анализ взаимосвязи между операционными платформами и системами управления базами данных.
В первом разделе работы были выполнены теоретические исследования существующих платформ, применяемых для разработки информационных систем, раскрыта сущность и значение платформы для разработки программного продукта, приведены характеристики существующих видов операционных платформ для разработки программного обеспечения.
Было установлено, что в настоящее время в зависимости от аппаратной платформы выбирается операционная и программная платформа. Данный процесс должен быть взаимосвязан для разработки эффективного программного обеспечения.
Во второй части работы был выполнен сравнительный анализ наиболее популярных языков программирования и систем управления базами данных. Было установлено, что среди объектно-ориентированных языков программирования наиболее популярными являются Delphi, Microsoft Visual Studio, С#, C++ Builder, а среди веб-ориентированных Perl, PHP, ASP.NET.
Также в работе был выполнен сравнительный анализ существующих систем управления базами данных и установлено, что преимущества MYSQL над конкурентами является низкая стоимость, транспортабельность, а также возможность доступа к коду программного продукта с целью внесения необходимых изменений.
Был рассмотрен пример разработки системы электронного документооборота для компании ООО «Деловые линии», которая специализируется на транспортных услугах и работах и работах связанных с погрузкой тяжелых грузов.
Список использованной литературы
Источники на русском языке
- Баула В. Г. Архитектура ЭВМ и операционные среды: учеб. Пособие / В. Г. Баула, А. Н. Томилин, Д. Ю. Волканов. – М.: Академия, 2011 - 336 c.
- Дейтел Х. М. Операционные системы. Часть1. Основы и принципы: учебник / Х. М. Дейтел, П. Дж. Дейтел, Д. Р. Чофнес. – М.: Бином-Пресс, 2011 – 448 с
- Иртегов Д. В. Введение в операционные системы: учеб. Пособие / Д. В. Иртегов. – СПб: БХВ-Петербург, 2012 – 874 с
- Мартемьянов Ю. Ф. Операционные системы. Концепции построения и обеспечения безопасности: учеб. Пособие / Ю. Ф. Мартемьянов, А. В. Яковлев. М.: Горячая Линия – Телеком, 2011 - 338 c.
- Назаров С. В. Операционные системы. Практикум для бакалавров/ С. В. Назаров, Л. П. Гудыно, А. А. Кириченко. – М.: КноРус, 2012 - 376 c.
- Партыка Т. Л. Операционные системы, среды и оболочки: учеб. Пособие / Т. Л. Партыка, И. И. Попов. – М.: Форум, 2010. - 544 c.
- Незнанов А. А. Программирование и алгоритмизация, М: Академия, 2010 - С.118
- Дейтел Х., Дейтел П. Как программировать на C++: 5-е издание. Пер. с англ. – М.: БИНОМ, 2008. – С. 1152.
- Павловская Т.А. C# Программирование на языке высокого уровня: Учебник для вузов – СПб: Питер, 2016. – С.432.
- Орлов С.А. Технологии разработки программного обеспечения: учебник для вузов. / С. А. Орлов. -СПб: Питер, 2012. - 606 с.
Технологии разработки программного обеспечения: Современный курс по программированию инженерии: Учебник для вузов. Стандарт третьего поколения / С.А. Орлов, Б.Я. Цилькер. - 4-e изд. Питер, 2012. – 360 с
- Кармайкл Э., Хэйвуд Д. Быстрая и качественная разработка программного обеспечения. – М.: Вильямс, 2012 – 260 с
- Кузин А. В. Базы данных: учеб. пособие / А. В. Кузин. – М.: Академия, 2012. – 180 с
- Нестеров С. А. Базы данных: учеб. пособие / С. А. Нестеров. – М.: Изд-во Политех. ун-та, 2015. – 156 с
- Фуфаев Э. В. Базы данных: учеб. пособие / Э. В. Фуфаев, Д. Э. Фуфаев. – М.: Академия, 2012. – 356 с
- Шнырев С. Л. Базы данных: учебник для вузов / С. Л. Шнырев. – М.: НИЯУ МИФИ, 2011. – 340 с
Электронные ресурсы
- Базы данных. Виды и типы баз данных. [Электронный ресурс]. URL: http://zametkinapolyah.ru/ (дата обращения: 29.07.2017)
- Операционная система Windows. [Электронный ресурс]. URL: u.wikipedia.org (дата обращения: 29.07.2017)
- Язык программирования PHP. [Электронный ресурс]. URL: u.wikipedia.org (дата обращения: 29.07.2017)
- Порядок развертывания MySQL. [Электронный ресурс]. URL: http://www.online-academy.ru/ (дата обращения: 29.07.2017)
Приложение 1
Сравнительный анализ по показателю масштабируемость
Приложение 2
Сравнительный анализ по показателю производительность
Приложение 3
Сравнительный анализ по показателю доступность данных
Приложение 4
Эффективность баз данных с выделением преимуществ и недостатков
СУБД |
Преимущества |
Недостатки |
Informix |
Широкий набор архитектурных особенностей, которые обеспечивают высокую продуктивность, внутренние механизмы поддержки масшабируемости, широкие возможности встроенного языка манипулирования данными, поддержка нескольких аппаратных платформ и операционных систем |
Чем больше возможностей, тем больше тонкостей в настройке сервера для выполнения заданий. Администрирование системы требует высокого уровня профессионализма |
MYSQL, PostgreSQL |
Подходит для операционной системы Windows. Кроме набора программных средств для разработки и администрирования, имеет встроенный язык SQL. Такие важные параметры СУБД как продуктивность и масштабность не зависят от операционной среды. База данных ориентирована на интеграцию с программным обеспечением других производителе |
В основном используется для разработки web-приложений |
DB2 |
Высокая продуктивность, возможности масштабируемости, графический интерфейс разработчика и администратора баз данных, многоплатформенность, поддержка стандарта SQL3 |
В отличие от MS SQL, очень сложный и неудобный интерфейс |
Oracle |
Ориентация на Интернет, поддержка большого количества аппаратных и программных платформ, много инструментов для разработчика |
Относительно высокая цена, сложное администрирование, необходимость высокой квалификации разработчика и администратора |
Приложение 5
Характеристика таблиц базы данных системы электронного документооборота
Таблица 5.1 – Таблица dellin.dokument
Идентификатор |
Тип данных |
Характеристика |
idd |
int(11) |
Код документа |
ids |
int(5) |
Код сотрудника |
named |
varchar(45) |
Наименование |
idkd |
int(5) |
Код типа |
datepod |
varchar(45) |
Дата подготовки |
datez |
timestamp |
Дата и время регистрации |
kolvostr |
varchar(45) |
Количество страниц |
prim |
varchar(45) |
Примечание |
otkuda |
varchar(45) |
Адресат |
link |
text |
Ссылка на документ |
status |
int(1) |
Статус |
archiv |
int(1) |
Флаг помещения в архив |
rnp |
int(1) |
Флаг резолюции начальника отдела |
Таблица 5.2 - Таблица dellin.dolg
Идентификатор |
Тип данных |
Характеристика |
idd |
int(11) |
Код должности |
namedolg |
varchar(45) |
Наименование должности |
Таблица 5.3 – Таблица dellin.history
Идентификатор |
Тип данных |
Характеристика |
idh |
int(11) |
Код записи |
idsh |
int(4) |
Код пользователя |
hist |
varchar(30) |
Дата и время входа в систему |
Таблица 5.4 - Таблица dellin.nach
Идентификатор |
Тип данных |
Характеристика |
idNach |
int(11) |
Код записи |
nameN |
varchar(45) |
Имя |
dolgN |
int(2) |
Код должности |
loginN |
varchar(10) |
Логин |
parolN |
varchar(10) |
Пароль |
datesN |
timestamp |
Дата регистрации |
surnameN |
varchar(45) |
Имя и отчество |
datebor |
varchar(14) |
Дата рождения |
udalN |
int(1) |
Флаг удаления |
idOtdN |
int(2) |
Код отдела |
Таблица 5.5 - Таблица dellin.otdel
Идентификатор |
Тип данных |
Характеристика |
idOtd |
int(11) |
Код отдела |
nameOtd |
varchar(100) |
Наименование отдела |
KrNameOtd |
varchar(10) |
Краткое наименование отдела |
Таблица 5.6 - Таблица dellin.sotr
Идентификатор |
Тип данных |
Примечание |
idsotr |
int(11) |
Код сотрудника |
name |
varchar(45) |
Фамилия |
dolg |
int(2) |
Код должности |
login |
varchar(10) |
Логин |
parol |
varchar(10) |
Пароль |
dates |
timestamp |
Дата регистрации |
surname |
varchar(45) |
Имя и отчество |
datebor |
varchar(14) |
Дата рождения |
udal |
int(1) |
Отметка об удалении |
Таблица 5.7 – Таблица dellin.tip
Идентификатор |
Тип данных |
Примечание |
idtip |
int(11) |
Код типа документа |
namet |
varchar(10) |
Наименование типа документа |
- Роль мотивации в поведении организации (Теоретические управления мотивацией в организации)
- Особенности и примеры использования массивов при разработке программ (Языки программирования высокого уровня)
- Построение организационных структур (Концептуальные основы построения организационных структур)
- «Развитие и трансформация организационных структур управления проектного типа»
- Принятие управленческого решения как организационный процесс (Процесс принятия управленческих решений в организации)
- Маркировка и упаковка товаров (отдельных групп и видов), значимость и пути её улучшения (Роль упаковки и маркировки товара в товароведении)
- Индивидуальное предпринимательство (ОБЩАЯ ХАРАКТЕРИСТИКА ИНДИВИДУАЛЬНОГО ПРЕДПРИНИМАТЕЛЬСТВА В РОССИИ)
- Лицензирование отдельных видов предпринимательской деятельности (История возникновения и общее понятие лицензирования)
- Виды договоров (Содержание договора)
- Общая характеристика оперативно-розыскных мероприятий (Оперативно-розыскные мероприятия - понятие и виды)
- Понятие оперативно-розыскной деятельности (Нормативно-правовая база)
- Процессы принятия решений в организации (Основные теоретические стороны принятия решений в организации)