ПЗ Шандова (1231575), страница 2
Текст из файла (страница 2)
– самообслуживание по требованию. Потребитель, когда это ему необходимо, может самостоятельно задействовать вычислительные возможности, такие как серверное время или сетевое хранилище данных, в автоматическом режиме, без взаимодействий с персоналом поставщика услуг;
– широкая доступность через сеть (Интернет). Возможности доступны через сеть; доступ к ним осуществляется на основе стандартных механизмов, что обеспечивает использование разнородных тонких и толстых клиентских платформ (например, мобильных телефонов, ноутбуков, КПК);
– объединение ресурсов в пул. Поставщик объединяет свои вычислительные ресурсы в пул для обслуживания большого числа потребителей, используя принцип множественной аренды (Multi-tenancy). Различные физические и виртуальные ресурсы динамически распределяются и перераспределяются в соответствии с потребностями пользователей. Возникает ощущение независимости от местоположения, когда заказчик не знает и не контролирует, где конкретно находятся вычислительные ресурсы, которыми он пользуется, но, возможно, может определить их расположение на более абстрактном уровне (например, страна, регион или дата-центр). Примером ресурсов могут быть хранилище данных, вычислительная мощность, оперативная память, пропускная способность, виртуальные машины;
– способность к быстрой адаптации. Вычислительные возможности могут быстро и гибко резервироваться (часто автоматически) для оперативного масштабирования под задачи заказчика, и также быстро освобождаться. С точки зрения потребителя доступные возможности часто выглядят ничем не ограниченными и могут быть приобретены в любом количестве в любое время;
– Измеримая услуга. Облачные системы автоматически контролируют и оптимизируют использование ресурсов через измерение некоторых абстрактных параметров. Параметры варьируются в зависимости от типа услуги. Например, это могут быть: размер хранилища данных, вычислительная мощность, пропускная способность и/или число активных пользовательских записей. Использование ресурсов отслеживается, контролируется; формируются отчеты. Таким образом и поставщик, и потребитель получают прозрачную информацию об объеме оказанных (потребленных) услуг.
Модели обслуживания:
– Сloud Software as a Service (SaaS) – облачное программное обеспечение как услуга, далее «ПО как услуга»;
– Cloud Platform as a Service (PaaS) – облачная платформа как услуга;
– Cloud Infrastructure as a Service (IaaS) – облачная инфраструктура как услуга.
Раскроем только первую модель обслуживания как относящуюся к теме данной работы. ПО как услуга (SaaS) – это предоставление потребителю возможности использовать приложения поставщика, функционирующие на облачной инфраструктуре. Доступ к приложениям осуществляется с различных клиентских устройств через интерфейс тонкого клиента, например, веб-браузер. Потребитель не контролирует и не управляет облачной инфраструктурой, на которой запущено приложение, включая сеть, сервера, операционные системы, хранилища данных и даже параметры приложения. Возможное исключение - отдельные пользовательские настройки приложения.
Модели развертывания:
– Private Cloud (Частное облако)
– Community cloud (Облако сообщества)
– Public cloud (Публичное облако)
– Hybrid cloud (Гибридное облако)
Раскроем только третью модель развертывания как относящуюся к теме данной работы. Публичное облако (Public Cloud) – в данной модели облачная инфраструктура доступна всем желающим или широкой отраслевой группе и находится во владении поставщика облачных услуг.
Выше дано определение облачных вычислений и описаны их главные характеристики. Также была приведена классификация облачных вычислений по модели обслуживания и модели развертывания, то есть какие разновидности облачных вычислений существуют.
Поскольку эти услуги предназначены «для небольших компаний», то:
– эти услуги должны помогать вести бизнес;
– эти услуги должны быть доступными по цене для небольших компаний;
– они должны быть массово доступными;
– они не должны требовать от потребителя специфических знаний (например, в сфере информационных технологий).
Исходя из вышесказанного, дадим следующее определение. Облачные сервисы для небольших компаний – это приложения для автоматизации бизнеса, распространяемые по модели SaaS (ПО как услуга) через Публичное облако и доступные широкому кругу заказчиков по приемлемой цене.
При всех достоинствах облачных сервисов, они имеют существенные недостатки:
– зависимость от поставщика услуг;
– ненадежность связи.
Подводя итоги, стоит отметить, что программа «Эльба», несмотря на то, что обладает большим количеством достоинств, все же является продуктом для бухгалтерского учета и документооборота, а также требует финансовых затрат на приобретение. Имеет множество технических недоработок и ошибок, что приводит к некомфортной работе, опасности потери данных и утечки важной информации.
Имеют место и мелкие разработки, такие как Блокнот, Excel. Стоит отметить, что до создания системы ведения управленческого учета на производственно техническом предприятии «CACARDA» вся отчетность велась в программном продукте Microsoft Excel. Решения такого рода совершенно не приспособлены для ведения отчетности и большого объема данных.
Изучив предлагаемые на рынке программные продукты, было выявлено, что как таковые, решения для управленческого учета отсутствует. Основная масса представленного - это программы для ведения бухгалтерского учета. Из этого можно сделать вывод, что управленческий учет для каждого предприятия ведется индивидуально.
Все вышеописанные решения, и им подобные программные продукты, имеют ряд недостатков для выполнения поставленной задачи. Каждое предприятие имеет свои особенности, которые не всегда могут обеспечивать массовые программные продукты.
Чтобы исключить такие особенности как:
– взаимодействие с базой данных через интернет;
– дополнительные индивидуальные настройки;
– дополнительное обучение персонала;
– покупка программного обеспечения;
– отсутствия систематизации и выборки данных;
на производственно техническом предприятии «CACARDA» было решено создать собственную систему управленческого учета.
1.5 Выбор средств для разработки
При разработке программного продукта необходимо тщательно подойти к выбору, как программных компонентов (библиотек), так и инструментов разработки.
Для достижения поставленной цели выберем основные средства, которые будут использоваться в работе над проектом:
- MySql Workbench для создания структуры базы данных;
- Qt Creator - программная платформа для создания графического интерфейса пользователя и написания логики разрабатываемой системы.
1.5.1 Система управления базами данных
В процессе работы с помощью программы можно вести учет данных, вследствие чего необходима система управления базами данных. Решено использовать реляционный тип СУБД как более подходящее решение. Понятие реляционный (англ. relation – отношение) связано с разработками известного английского специалиста в области систем баз данных Эдгара Кодда (Edgar Codd). Эти модели характеризуются простотой структуры данных, удобным для пользователя табличным представлением и возможностью использования формального аппарата алгебры отношений и реляционного исчисления для обработки данных. [11]
Реляционная модель ориентирована на организацию данных в виде двумерных таблиц. Каждая реляционная таблица представляет собой двумерный массив и обладает следующими свойствами:
– каждый элемент таблицы – один элемент данных;
– все ячейки в столбце таблицы однородные, то есть все элементы в столбце имеют одинаковый тип (числовой, символьный и т. д.);
– каждый столбец имеет уникальное имя;
– одинаковые строки в таблице отсутствуют;
– порядок следования строк и столбцов может быть произвольным.
Среди множества реляционных СУБД выбрана система MySQL, как хорошо зарекомендовавшее себя решение, успешно используемое в различных программных продуктах по всему миру.
1.5.2 MySQL Workbench
Для создания и настройки базы данных необходимо специальное приложение-клиент, позволяющее посылать SQL-запросы на сервер СУБД. Дистрибутив MySQL в своем составе располагает утилитой mysql.exe, которая предоставляет такую возможность. Работа с программой mysql.exe осуществляется только в режиме командной строки, что несколько неудобно, поскольку из-за отсутствия наглядности все время необходимо держать в голове всю структуру базы данных. Существует несколько альтернатив, обладающих графическим интерфейсом и таким образом упрощающих проектирование БД. Лучшим решением в данной категории программного обеспечения является MySQL Workbench.
MySQL Workbench – инструмент для визуального проектирования баз данных, интегрирующий проектирование, моделирование, создание и эксплуатацию БД в единое бесшовное окружение для системы баз данных MySQL.
Первая версия этого инструмента была выпущена в сентябре 2005 года. MySQL Workbench был первым семейством продуктов, который был доступен в двух вариантах. Чтобы привлечь разработчиков в основную команду разработки, коммерческая стандартная версия программы (Standard Edition) предлагается поверх свободной версии (Community Edition), распространяемой под лицензией GNU GPL. «Community Edition» является полнофункциональным продуктом, обладающим всеми основными возможностями коммерческого варианта. Являясь основой для всех будущих релизов, он будет получать пользу от всех будущих усилий, прилагаемых для развития продукта. «Standard Edition» расширяет «Community Edition» серией модулей и плагинов, позволяющих оптимизировать рабочий процесс и, тем самым, сэкономить время и избежать ошибок.
MySql Workbench является инструментом для проектирования, разработки и администрирования баз данных. MySql Workbench обеспечивает моделирование данных, разработку с помощью языка SQL и комплексные средства администрирования для настройки сервера, управления возможностями пользователей, резервного копирования данных и многое другое. Доступен для работы на операционных системах Windows, Linux и Mac OS X.
Mysql Workbench это средство для генерации и управления базами данных, которое включает в себя все необходимое для создания сложных моделей сущность-связь, а также обеспечивает основные функции для сложных управлений изменениями и задач работы с документацией, которые обычно требуют много времени и усилий.
MySql Workbench предоставляет визуальные средства для создания, выполнения и оптимизации запросов SQL. Редактор SQL обеспечивает цветовую подсветку синтаксиса, автозаполнение, повторное использование фрагментов и историю выполнения. Имеется обозреватель, который обеспечивает мгновенный доступ к схеме базы данных и объектов.[4]
Возможности программы:
– позволяет наглядно представить модель базы данных в графическом виде;
– имеет наглядный и функциональный механизм установки связей между таблицами, в том числе «многие ко многим» с созданием таблицы связей;
– обладает функцией Reverse Engineering – восстановление структуры таблиц из уже существующей на сервере БД (связи восстанавливаются в InnoDB, при использовании MyISAM – связи необходимо устанавливать вручную);
– присутствует удобный редактор SQL запросов, позволяющий сразу же отправлять их серверу и получать ответ в виде таблицы;
– возможность редактирования данных в таблице в визуальном режиме.
1.5.3 Qt Creator
Интегрированная среда разработки Qt Creator будет использована в работе для написания кода программы и создания графического интерфейса пользователей.
«Qt Creator предоставляет кросс-платформенную, полностью интегрированную среду разработки (IDE) для написания проектов.» [5]
Интегрированная среда разработки или IDE (Integrated Development Environment) упрощает и ускоряет программирование. Среда разработки является системой программных средств, упрощающих разработку. Как правило, такие программы обладают такими функциями как подсветка синтаксиса, автодополнение кода, проверка кода на ошибки еще до этапа компиляции, отображение сообщений компилятора, работа с отладчиком через удобный графический интерфейс.
Выбор сделан в пользу Qt Creator, так как из всех существующих аналогов она по определению имеет наилучшую поддержку библиотеки Qt и обладает рядом дополнительных преимуществ.
Qt Creator (ранее известная под кодовым названием Greenhouse) – мультиплатформенная свободная интегрированная среда для разработки на С, С++ и QML. Программа разработана компанией Trolltech (теперь развивается силами Digia) для работы с платформой Qt. Включает в себя графический интерфейс отладчика и визуальные средства разработки интерфейса как с использованием QtWidgets, так и QML. Среда поддерживает следующие компиляторы: GCC, Clang, MinGW, MSVC и др.
Среда разработки имеет графический интерфейс для следующих отладчиков: GDB, CDB и QML/JavaScript. В качестве отдельной опции реализовано отображение содержимого контейнеров, таких как QString, std::map и прочих. Поддерживаются несколько режимов отладки (простой, подключенный, удаленный и др.).
Также Qt Сreator обладает удобным и отзывчивым интерфейсом, тесной интеграцией с системой справки по библиотеки Qt и отличной стабильностью.
1.5.4 Язык программирования
На скорость разработки и качество разрабатываемого приложения сильно влияет выбор языка программирования. Несомненно для обеспечения быстрой и удобной разработки необходимо использовать язык высокого уровня, к примеру C++, Java или Python.
Выбранная платформа Qt Creator позволяет вести разработку на различных языках программирования, среди которых: C++, Python (библиотеки PyQt и PySide), Java (Qt Jambi), Ruby (QtRuby), PHP (PHP-Qt), Haskell (qtHaskell) и др.
Из перечисленных выше языков программирования наиболее популярными являются C++, Java и PHP, что облегчит дальнейшую разработку программы сторонними разработчиками.















