Курсовая. Курсовая_Шрайбер. Курсовой проект по дисциплине корпоративные информационные системы на тему Автоматиз
Скачать 1.34 Mb.
|
4. ОБОСНОВАНИЕ ВЫБОРА СРЕДСТВ ПРОЕКТИРОВАНИЯ И РАЗРАБОТКИ ПО4.1 Обоснование средств проектированияДля концептуального моделирования использовался такой программный продукт, как «Draw IO». Draw IO – это web-приложение для создания и работы с диаграммами. Сервис имеет платную версию для сервера Confluence (это тиражируемая система для использования внутри организации с целью создания единой базы знаний), однако web-версия, которую я и буду анализировать, бесплатна. Данный инструмент позволяет создавать диаграммы и работать с ними намного быстрее и проще, чем с помощью программных продуктов. Если синхронизировать данный сервис с Google Диском, то над одной диаграммой могут работать сразу несколько человек. Данный инструмент позволяет рисовать блок-схемы, UML, диаграммы сущность-связь, сетевые диаграммы, модели бизнес-процессов, организационные схемы, электрические схемы, каркасные схемы и модели. Также данное приложение предоставляет возможность экспорта готовых схем в изображение (PNG, GIF, JPG, PDF). Положение продукта на рынке: данное приложение разработано компанией Seibert Media. Дата создания продукта не уточняется. Распространённость продукта: так как данным приложением можно пользоваться без установки на компьютер, определить количество пользователей невозможно. Однако в интернет-магазине Chrome указано, что скачали данное приложение около 400.000 человек. Поддержка пользователя: в разделе «Поддержка» находятся почта создателей и номер телефона. Доступность обучения: в приложении есть раздел «Помощь», в который создатели поместили обучающий видеоматериал и руководство пользователя. Более никакого обучения не предусмотрено. Наличие и доступность материалов по продукту: кроме видеоматериала и руководства пользователей материалов по продукту не существует. Доступность продукта: данное приложение можно использовать несколькими способами. Первый – зайти на официальный сайт и работать там, второй – скачать приложение в интернет-магазине Chrome, и третий – приобрести лицензионный продукт. 4.2 Средства разработки программного обеспеченияSQLite - легко встраиваемая кроссплатформенная база данных, поддерживающая полный набор команд SQL. Разработчик – Ричард Хипп [7]. На данный момент СУБД распространяется свободно, имеет открытый код. Благодаря тому, что система базируется на файлах, предоставляется большой набор инструментов для работы с ней в сравнении с сетевыми системами, так как реализованы прямые обращения к файлам, вместо портов сокетов и т.д. Все базы хранятся в файлах, благодаря чему количество баз и таблиц не ограничивается количеством, а ограничивается лишь местом на диске. Максимальный объем одной базы не может превышать 2ТБ. Связь приложений с базой данных организуется с помощью прямых вызовов файлов, которые содержат в себе данные. На сегодняшний день SQLite пользуется большой популярностью среди разработчиков. В PHP5 поддержка СУБД SQLite добавлена по умолчанию [8]. Достоинства SQLite: Файловая система – вся база данных хранится в одном файле; Стандартизация – SQLite использует функции SQL; Поддержка – в сети большое количество документации и примеров работы. Недостатки SQLite: Отсутствие пользовательского управления – нет возможности разграничивать права пользователей БД; Однопоточность – допускается единовременное исполнение только одной операции записи. Qt - кросс-платформенный инструментарий разработки ПО на языке программирования C++. Есть также «привязки» ко многим другим языкам программирования: Python - PyQt, PySide; Ruby - QtRuby; Java - Qt Jambi; PHP - PHP-Qt и другие. Позволяет запускать написанное с его помощью ПО в большинстве современных операционных систем путём простой компиляции программы для каждой ОС без изменения исходного кода. Включает в себя все основные классы, которые могут потребоваться при разработке прикладного программного обеспечения, начиная от элементов графического интерфейса и заканчивая классами для работы с сетью, базами данных и XML. Qt является полностью объектно-ориентированным, легко расширяемым и поддерживающим технику компонентного программирования. Существуют версии библиотеки для Microsoft Windows, систем класса UNIX с графической подсистемой X11, Mac OS X, Microsoft Windows CE, встраиваемых Linux-систем и платформы S60. Также идёт портирование на HaikuOS, iOS, Android. До недавнего времени библиотека Qt также распространялась ещё в одной версии: Qt/Embedded. Теперь эта платформа переименована в Qtopia Core и распространяется как отдельный продукт. Qtopia Core обеспечивает базовую функциональность для всей линейки платформ, предназначенных для разработки приложений для встраиваемых и мобильных устройств (КПК, смартфонов и т. п.). Начиная с версии 4.5 Qt распространяется по 3 лицензиям: Qt Commercial - для разработки ПО с собственнической лицензией, допускающая модификацию самой Qt без раскрытия изменений. GNU GPL - для разработки ПО с открытыми исходниками распространяемыми на условиях GNU GPL. GNU LGPL - для разработки ПО с собственнической лицензией, но без внесения изменений в Qt. Независимо от лицензии, исходный код Qt один и тот же. До версии 4.0.0 под свободной лицензией распространялись лишь Qt/Mac, Qt/X11, Qt/Embedded, но, начиная с 4.0.0 (выпущенной в конце июня 2005), Qt Software «освободили» и Qt/Windows. Следует отметить, что существовали сторонние свободные версии Qt/Windows < 4.0.0, сделанные на основе Qt/X11. Со времени своего появления в 1996 году библиотека Qt легла в основу тысяч успешных проектов во всём мире. Кроме того, Qt является фундаментом популярной рабочей среды KDE, входящей в состав многих дистрибутивов Linux. Отличительная особенность Qt от других библиотек -- использование Meta Object Compiler (MOC) - предварительной системы обработки исходного кода (в общем-то, Qt - это библиотека не для чистого C++, а для его особого наречия, с которого и «переводит» MOC для последующей компиляции любым стандартным C++ компилятором). MOC позволяет во много раз увеличить мощь библиотек, вводя такие понятия, как слоты и сигналы. Кроме того, это позволяет сделать код более лаконичным. Утилита MOC ищет в заголовочных файлах на C++ описания классов, содержащие макрос Q_OBJECT, и создаёт дополнительный исходный файл на C++, содержащий мета-объектный код. Qt позволяет создавать собственные плагины и размещать их непосредственно в панели визуального редактора. Также существует возможность расширения привычной функциональности виджетов, связанной с размещением их на экране, отображением, перерисовкой при изменении размеров окна. Библиотека разделена на несколько модулей, для четвёртой версии библиотеки это: QtCore - классы ядра библиотеки, используемые другими модулями; QtGui - компоненты графического интерфейса; QtNetwork - набор классов для сетевого программирования. Поддержка различных высокоуровневых протоколов может меняться от версии к версии. В версии 4.2.x присутствуют классы для работы с протоколами FTP и HTTP. Для работы с протоколами TCP/IP предназначены такие классы, как QTcpServer, QTcpSocket для TCP и QUdpSocket для UDP; QtOpenGL - набор классов для работы с OpenGL; QtSql - набор классов для работы с базами данных с использованием языка структурированных запросов SQL. Основные классы данного модуля в версии 4.2.х: QSqlDatabase - класс для предоставления соединения с базой, для работы с какой-нибудь конкретной базой данных требует объект, унаследованный от класса QSqlDriver - абстрактного класса, который реализуется для конкретной базы данных и может требовать для компиляции SDK базы данных. Например, для сборки драйвера под базу данных FireBird/InterBase требует.h файлы и библиотеки статической линковки, входящие в комплект поставки данной БД; QtScript - классы для работы с Qt Scripts; QtSvg - классы для отображения и работы с данными Scalable Vector Graphics(SVG); QtXml - модуль для работы с XML, поддерживается SAX и DOM модели работы; QtDesigner - классы создания расширений QtDesigner'а для своих собственных виджетов; QtUiTools - классы для обработки в приложении форм Qt Designer; QtAssistant - справочная система; Qt3Support - модуль с классами, необходимыми для совместимости с библиотекой Qt версии 3.х.х; QtTest - модуль для работы с UNIT тестами; QtWebKit - модуль WebKit, интегрированный в Qt и доступный через её классы; QtXmlPatterns - модуль для поддержки XQuery 1.0 и XPath 2.0; Phonon - модуль для поддержки воспроизведения и записи видео и аудио, как локально, так и с устройств и по сети; QtCLucene - модуль для поддержки полнотекстового поиска, применяется в новой версии Assistant в Qt 4.4; ActiveQt - модуль для работы с ActiveX и COM технологиями для Qt-разработчиков под Windows. QtDeclarative - модуль, предоставляющий декларативный фреймворк для создания динамичных, настраеваемых пользовательских интерфейсов. также реализована технология WoC - widgets on canvas, с помощью которой реализована Plasma в KDE 4.1, Будет возможным использовать виджеты библиотеки Qt прямо в аплетах. Обеспечивает расположение виджетов на QGraphicsView с возможностью масштабирования и различных графических эффектов. Библиотека использует собственный формат проекта, именуемый .pro файлом, в котором собрана информация о том, какие файлы будут скомпилированы, по каким путям искать заголовочные файлы и много другой информации. Впоследствии при помощи утилиты qmake из них получаются makefile для make-утилиты компилятора. Также есть возможность работы при помощи интеграторов с Microsoft Visual Studio 2003/2005/2008/2010. Совсем недавно стала доступна интеграция в Eclipse для версии библиотеки 4.х.х. Разработчики на Java могут использовать Qt с помощью фреймворка Qt Jambi от того же производителя (официально с 2009 года Qt Software прекратила разработку этого фреймворка). Одним из весомых преимуществ проекта Qt является наличие качественной документации, в отличие, например, от wxWidgets. Статьи документации снабжены большим количеством примеров. Исходный код самой библиотеки хорошо форматирован, подробно комментирован и легко читается, что также упрощает изучение Qt. Исходный код, единый для всех вариантов лицензий, свободно доступен в Git-хранилище. Кроме самого исходного кода Qt, на Gitorious-е расположены хранилища сопутствующих библиотек разрабатываемых авторами библиотеки и сообществом. Для внесения собственного вклада в развитие Qt, можно склонировать официальное хранилище, внести необходимые исправления/улучшения в код, а затем подать запрос на объединение (Merge Request) ваших изменений с официальным кодом. Для вывода отчётности на печать используется редактор электронных таблиц «Microsoft Office Excel». «Microsoft Office Excel» является широко распространённой компьютерной программой, с помощью которой производятся расчёты, составляются таблицы и диаграммы, вычисляются простые и сложные функции. Эта программа входит в пакет «Microsoft Office», а потому установлена практически на всех компьютерах. Возможность составления таблиц, диаграмм и отчетов, произведения самых сложных вычислений делает эту программу популярной среди бухгалтеров и экономистов. Программа имеет библиотеки для взаимодействия с выбранной средой разработки, что позволяет тесно взаимодействовать программному продукту с элементами «Microsoft Office Excel». |