Файл: Разработка регламента выполнения процесса «Управление документооборотом, описание предметной области.pdf

ВУЗ: Не указан

Категория: Курсовая работа

Дисциплина: Не указана

Добавлен: 23.04.2023

Просмотров: 205

Скачиваний: 3

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.

К конкурентам MySQL, помимо MS Access, относятся PostgreSQL, Microsoft SQL Server и Oracle.

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

Далее более подробно рассмотрены упомянутые выше преимущества:

  • производительность. MySQL без сомнений работает очень быстро. Результаты сравнительных тестов производительности, выполненных фирмой-изготовителем, можно посмотреть на странице http://web.mysql.com/benchmark.html. Многие из этих сравнительных тестов показывают, что MySQL работает на порядок быстрее конкурирующих продуктов. Также быстродействие MySQL достигнуто благодаря внутреннему механизму многопоточности;
  • низкая стоимость. Пакет MySQL доступен бесплатно в соответствии с лицензией на программное обеспечение с открытым исходным кодом или, если это необходимо для приложения, за небольшую сумму можно приобрести коммерческую лицензию;
  • простота использования. В большинстве современных баз данных используется SQL. Если ранее пользователь работал с другими СУРБД, переход к этой системе не должен вызвать каких-либо затруднений. Установка MySQL столь же проста, как и установка многих аналогичных продуктов;
  • переносимость. В настоящее время существуют версии программы для большинства распространенных компьютерных платформ. Это говорит о том, что пользователю не навязывают определенную операционную систему. Пользователь сам может выбрать, с чем работать, например с Linux или Windows, но даже в случае замены ОС данные не потеряются и даже не понадобятся дополнительные инструменты для их переноса;
  • исходный код. Исходный код MySQL можно выгружать и изменять. Благодаря этому возможно самим добавлять в пакет нужные функции, расширяя его функциональность так, как требуется. Кстати, за отдельную плату это могут сделать и сами авторы MySQL. Чтобы заказать расширение MySQL у создателей пакета, необходимо зайти на сайт http://www.mysql.com/ и заполнить соответствующую форму;
  • безопасность. Довольно высокий уровень безопасности обеспечивается благодаря базе данных mysql, создающейся при установке пакета и содержащей пять таблиц. При помощи этих таблиц можно описать, какой пользователь из какого домена с какой таблицей может работать и какие команды он может применять. Пароли, хранящиеся в базе данных, можно зашифровать при помощи встроенной в MySQL функции password();
  • сообщество. Как следствие открытости кода, бесплатности программы, стабильной и надежной ее работы образовалось сообщество людей, которые не просто лояльны к MySQL, но и всячески участвуют как в развитии самого пакета, так и в обучении менее опытных людей работе с ним. Существует огромное количество листов рассылки и конференций, где можно получить бесплатную помощь в любое время суток.

Главным недостатком является отсутствие графического интерфейса и мощных средств подготовки различных отчетов, но это компенсируется за счет других факторов.

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

Таблица 2.2 – Сравнение MySQL с другими СУБД по скорости чтения

Чтение 2000000 строк по индексу

Скорость, сек.

MySQL

464

DB2

1206

MS SQL

1634

Oracle

20800

Также можно сравнить MySQL с другими распространенными и популярными бесплатными СУБД, такими как Firebird и PostgreSQL. Результаты сравнения приведены в таблице 2.3.

Таблица 2.3 – Сравнение MySQL с Firebird и PostgreSQL

Показатель

Firebird

MySQL

PostgreSQL

1 Лицензии

Полностью бесплатна, в том числе для коммерческого применения

Платна для коммерческого применения

Платна для коммерческого применения

2 Поддерживаемые ОС

MS Windows, Linux, Sun, FreeBSD, Mac OS X, HP-UX

MS Windows, Linux, Sun, FreeBSD, Mac OS X, HP-UX, IBM AIX, Novell Netware,

MS Windows, Linux, Sun, FreeBSD, Mac OS X, HP-UX, IBM AIX

Показатель

Firebird

MySQL

PostgreSQL

3 Максимальное количество таблиц

32676

Неограниченно

Неограниченно

4 Максимальный размер БД

64 TB

Неограниченно

Неограниченно

Показатель

Firebird

MySQL

PostgreSQL

4 Максимальный размер БД

64 TB

Неограниченно

Неограниченно

5 Максимальное количество записей в таблице

232 записей

Лимитируется физическим размером таблицы

Неограниченно

6 Максимальное количество полей в таблице

В зависимости от типов данных полей

1000

250-1600 в зависимости от типов данных полей

7 Максимальный размер SQL-запроса

64 Кб

1 Гб

Нет данных

8 Поддержка транзакций

Да

Нет

Да


Все эти факторы и повлияли на выбор в качестве СУБД для данной работы именно MySQL.

Таким образом, в предыдущих пунктах рассмотрена связка Ajax, ExtJS, DWR, Eclipse, Java и MySQL. Она наиболее близко подходит для реализации поставленной цели, поэтому в данной работе будет использована именно эта связка. Выше были рассмотрены все преимущества и недостатки выбранных технологий, но общим преимуществом является то, что все компоненты этой связки являются бесплатными. Поэтому для создания приложения никаких затрат, кроме интеллектуальных, не требуется.

    1. Диаграммы UML «Как должно быть»

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

Для анализа и моделирования предметной области построены следующие UML-диаграммы:

  • диаграмма вариантов использования;
  • диаграмма классов;
  • диаграмма состояний;
  • диаграмма активности;
  • диаграмма последовательности;
  • диаграмма кооперации;
  • диаграмма компонентов;
  • диаграмма развертывания;
  • диаграмма пакетов.

Рассмотрим сначала диаграмму вариантов использования нашей предметной области, которая показывает взаимодействие пользователя с проектируемой системой. Она представлена на рисунке 2.1.

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

Рисунок 2.1 – Диаграмма вариантов использования

Далее рассмотрим диаграмму активности, которая позволяет моделировать последовательность бизнес-процессов по принципу от активности к активности или от активности к состоянию.

Диаграмма активности представлена на рисунке 2.2.

Рисунок 2.2 – Диаграмма активности

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


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

Диаграмма состояний представлена на рисунке 2.3.

Рисунок 2.3 – Диаграмма состояний

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

Далее рассмотрим диаграмму последовательности, которая представляет взаимодействие объектов между собой, определение клиентов и серверов и порядка обмена сообщений между ними.

Диаграмма последовательности представлена на рисунке 2.4.

Рисунок 2.4 – Диаграмма последовательности

На диаграмме показана последовательность действий секретаря. Для обычного пользователя последовательность сохраняется, но он не имеет прав для редактирования данных.

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

Второй тип диаграмм взаимодействия, — это диаграмма кооперации. Диаграмма отличается от предыдущей тем, что она не акцентирует внимание на последовательности передачи сообщений, а отражает наличие взаимосвязей вообще (наличие сообщений от клиентов к серверам). Эта диаграмма получается компактней и позволяет окинуть одним взглядом взаимодействие всех объектов.

Диаграмма кооперации представлена на рисунке 2.5.

Рисунок 2.5 – Диаграмма кооперации

Далее рассмотрим основные диаграммы – диаграмму классов и диаграмму пакетов, которые создают внутреннюю структуру системы и описывают наследование и взаимное положение классов и пакетов друг относительно друга. В ней описывается логическое представление системы.

Диаграмма пакетов представлена на рисунке 2.6.

com.invoice


com.employee

com.organization

com.income

com.trip

com.authentication

com.ini

com.outgo

com.mail

com.register

com.stat

com.user

Рисунок 2.6 – Диаграмма пакетов

Каждый пакет содержит свой набор классов. Рассмотрим для примера пакет com.invoice. Диаграмма классов для этого пакета представлена на рисунке 2.7.

Рисунок 2.7 – Диаграмма классов

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

Класс Invoice содержит закрытые переменные, описывающие поля таблицы Invoice базы данных и открытые методы getXXX() и setXXX() для доступа к этим полям.

Класс InvoiceRequest содержит закрытые переменные, которые используются при формировании запроса для поиска и открытые методы getXXX() и setXXX() для доступа к этим переменным.

Интерфейс InvoiceService содержит описание открытых методов для просмотра, поиска, добавления, редактирования и удаления записей в таблице Invoice, а также формирования отчетов для экспорта в Microsoft Excel. А класс InvoiceServiceImpl содержит реализацию этих методов, а также содержит закрытые методы, генерирующие запросы к базе данных. Такое отделение описания от реализации, закрытых методов от открытых произведено в целях безопасности.

В завершении моделирования рассмотрим последнюю диаграмму – диаграмму развертывания, которая предназначена для анализа аппаратной части системы.

Диаграмма развертывания представлена на рисунке 2.8.

Рисунок 2.8 – Диаграмма развертывания

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

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

    1. Структура базы данных

Структура базы данных «Делопроизводство» представлена на рисунке 2.9.

Рисунок 2.9 – Структура базы данных