Разработка клиентского приложения информационной системы проекта интернет–фотоцентра

Автор: Пользователь скрыл имя, 28 Апреля 2015 в 16:38, курсовая работа

Краткое описание

Предмет исследования - применение современных информационных технологий и средств визуального программирования для создания автоматизированных информационных систем.
Цель работы - проектирование и разработка информационной системы интернет – фотоцентра.

Оглавление

Введение……………….…………………………………………................
1 Теоретические основы разработки автоматизированной
информационной системы……………………………………………..………..
1.1 Qt – кроссплатформенный инструментарий разработчика
прикладного программного обеспечения……...……………………………….
1.2 Система управления базами данных MySQL…………..………….
2 Проектирование и разработка клиентского приложения
информационной системы проекта интернет – фотоцентр………..…….……
2.1 Создание структуры базы данных MySQL проекта
интернет – фотоцентр…..……………………..…………………………………
2.2 Реализация проекта интернет – фотоцентр в Qt……..……..…….
Заключение…………………………………………………………………
Список использованных источников……………………………………..

Файлы: 1 файл

курсов_Qt_фотоцен.doc

— 408.50 Кб (Скачать)

Реферат

Курсовая работа 29 с., 4 рис., 4 листинга, 8 источников.

ФОТОЦЕНТР, ПРОГРАММИРОВАНИЕ, QT, C++, QT CREATOR, ИНФОРМАЦИОННАЯ СИСТЕМА, БАЗЫ ДАННЫХ, СРЕДА РАЗРАБОТКИ.

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

Предмет исследования - применение современных информационных технологий и средств визуального программирования для создания автоматизированных информационных систем.

Цель работы - проектирование и разработка информационной системы интернет – фотоцентра.

Методы исследования: экспериментальный, описательно-аналитический, статистический.

Элементы новизны: кроссплатформенность при разработке клиентского приложения.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Содержание

Введение……………….…………………………………………................

4

1 Теоретические основы разработки автоматизированной

информационной системы……………………………………………..………..

 

5

1.1 Qt – кроссплатформенный инструментарий разработчика

прикладного программного обеспечения……...……………………………….

 

5

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

11

2 Проектирование и разработка  клиентского приложения 

информационной системы проекта интернет – фотоцентр………..…….……

 

17

2.1 Создание структуры базы данных MySQL проекта

интернет – фотоцентр…..……………………..…………………………………

 

17

2.2 Реализация проекта интернет – фотоцентр в Qt……..……..…….

20

Заключение…………………………………………………………………

28

Список использованных источников……………………………………..

29


 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Введение

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

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

Для построения клиентского приложения применяется библиотека Qt 5.3.2 и среда разработки Qt Creator 3.2.1.

 

 

 

1 Теоретические основы разработки автоматизированной информационной системы

1.1 Qt – кроссплатформенный инструментарий разработчика прикладного программного обеспечения

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

Qt является кроссплатформенным фреймворком для разработки приложений. Фреймворк предоставляет API на языке C++. Qt часто используется разработчиками для разработки кроссплатформенных приложений. При помощи Qt можно разрабатывать приложения с графическим интерфейсом, приложения, работающие с сетью, приложения, работающие с базами данных и мультимедийные приложения, работать с XML-структурами и 3D-графикой, осуществлять рисование и доступ к сетевым ресурсам. Поскольку поддерживается ряд платформ, Qt может работать на Linux, Mac OS, Windows, Meego, встраиваемых Linux-системах и Symbian.

Простейшая схема, демонстрирующая архитектуру Qt, представлена на рисунке 1.1


Рисунок 1.1 – Архитектура Qt

На верхнем уровне находится код программы на языке C++. Уровнем ниже расположены классы Qt для создания графического интерфейса, взаимодействия с WebKit, работы с базами данных и.т.д., а еще ниже расположен уровень поддержки различных операционных систем. Ранее Qt поддерживал также язык программирования Java, версия для языка Java называлась Jambie. По мере продвижения разработки Qt, становилось все сложнее поддерживать версии для C++ и Java, поэтому и было принято решение поддерживать только версию для C++.

Qt включает большой набор  виджетов «widgets» - «controls» в терминологии Windows, которые обеспечивают стандартную функциональность GUI. Qt применяет инновационную альтернативу для межобъектного обмена сообщениями, называемую «сигналы и слоты», которая заменяет старую неэффективную технологию «обратного вызова» (callback). Qt также использует традиционную модель сообщений для обработки нажатий клавиш клавиатуры, действий с мышью и т.д.

Qt дает возможность создания  платформенно – независимых  приложений для работы с базами  данных, используя стандартные СУБД. Функциональность Qt с базами данных полностью интегрирована с Qt Designer, который может отображать данные из БД «вживую». Qt включает специфичные для БД виджеты, а также поддерживает расширение для работы с БД любых встроенных или отдельно написанных виджетов.

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

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

Qt имеет тройное лицензирование:

  • Qt Commercial – коммерческая лицензия, после приобретения, которой Вы можете выпускать программный продукт под собственной лицензией.
  • GNU GPL – если Вы open-source разработчик это ваш выбор.
  • GNU LGPL – позволяет вести разработку под собственной лицензией, однако Вы не можете вносить изменения в код Qt.

Кроссплатформенный фреймворк Qt 5.0, Ларс Нол (Lars Knoll), создатель движка KHTML, руководитель проекта Qt Project и директор по развитию фреймворка Qt в компании Digia, официально анонсировал 19 декабря 2012 года. Фреймворк развивается компанией Digia при непосредственном участии сообщества в рамках нового полностью открытого процесса разработки и управления проектом.

Qt 5 примечателен модульной  структурой и смещением акцента  в сторону использования для написания приложений средств декларативного описания интерфейса с определением логики взаимодействия с пользователем на языке JavaScript, в то время как применение C++ позиционируется для реализации критичных ко времени выполнения или излишне сложных частей программы, а также для создания новых модульных бэкендов для Qt Quick. Несмотря на большое число существенных улучшений, и изменений, Qt 5 сохраняет базовую обратную совместимость с прошлыми выпусками, поддерживает в полной мере средства для создания Qt-программ на языке C++ и содержит почти все компоненты Qt 4 (прекращена поддержка давно устаревших элементов), большинство модулей из бывшего Qt Mobility и некоторые экспериментальные элементы из Qt Labs.

Основные особенности Qt 5:

  • Модульная структура репозитория. Многие из подсистем Qt разрабатываются разными группами разработчиков, развиваются с повышенной интенсивностью или плотно зависят от сторонних проектов. При грамотном разбиении фреймворка на модули, подобные подпроекты смогут обновляться и поставляться независимо от других частей Qt. Модульная организация репозитория позволит обеспечить сборку отдельных библиотек без загрузки и пересборки всех зависимостей, а также независимое использование каждой библиотеки, т.е. в разработчики получат возможность обособлено использовать только те компоненты Qt, которые им необходимы. Разработчики интенсивно развивающихся подсистем QtWebKit и QtDeclarative получат возможность не ждать, когда подтянется другой код и выпускать релизы значительно чаще. Кроме того, модульная структура существенно упростит приём в состав Qt модулей, созданных сторонними проектами, например, проект KDE намерен добиваться интеграции в Qt некоторых своих библиотек общего назначения. Ожидается, что разбиение на модули является длительным и постепенным процессом, который будет продолжен и после выхода Qt 5.0.
  • Перевод всех портов на использование уровня абстракции Qt Platform Abstraction layer (QPA), основанного на наработках проекта Lighthouse. QPA значительно упрощает перенос Qt на новые оконные системы и устройства, так как он изначально оперирует более абстрактными категориями, фундаментально отличаясь от ранее используемых средств интеграции с оконными системами. Например, уже написаны бэкенды для QNX, Android и iOS. В настоящее время реализация QPA уже входит в состав Qt 4.8, в качестве замены QWS/Qt Embedded, но в Qt 5 данная прослойка задействована для всех платформ, что потребовало существенной переработки огромной части кода, связанного с обеспечением поддержки различных платформ. Из полностью поддерживаемых платформ отмечены: X11/Linux, Windows, Mac OS X, Embedded Linux и Windows Embedded.
  • Изменение архитектуры графического стека и увеличение производительности графических операций. В качестве центрального элемента новой архитектуры для Qt Quick выступает QML Scenegraph, работающий поверх OpenGL. Для работы новой графической архитектуры Qt 5 система должна поддерживать как минимум OpenGL (ES) 2.0. В качестве примера производительности Qt 5 приводится способность вывода контента со скоростью 60 кадров в секунду на одноплатном компьютере Raspberry Pi.

Поддержка QPainter сохранена для выполнения расширенных функций, но ограничена возможностью использования бэкенда программной растеризации вывода (Raster), бэкенда OpenGL и бэкенда для вывода на печать и создания PDF. Поддержка привязанных к платформам бэкендов, таких как X11 и CoreGraphics, прекращена. QWidgets теперь отображается поверх графической сцены, а не наоборот, как реализовано в версии Qt 4, что позволило перейти в Qt 5 на принципиально новую графическую архитектуру, сохранив при этом совместимость с Qt 4.

В QtGui добавлен набор классов QOpenGL, заменивших собой устаревшие классы QGL, которые пока оставлены для обеспечения совместимости. Также представлен класс QGuiApplication, который заметно легче классов QApplication и QWindow при выполнении задач обработки корневой области на экране.

  • Выделение всех связанных с QWidget возможностей в отдельную библиотеку. Несмотря на то, что основанные на QWidget классы чрезвычайно важны для существующих приложений, общая тенденция ведёт к тому, что все пользовательские интерфейсы должны быть реализованы на QML и Qt Quick. Отделение связанных с QWidget функций в отдельную библиотеку позволит в долгосрочной перспективе сохранить чистоту архитектуры Qt 5.
  • Переработанная реализация Qt Quick 2, которая разделена на отдельные модули, связанные с графической частью и с компонентами поддержки языков QML и JavaScript. Обеспечивающие выполнение JavaScript классы (QJSEngine и QJSValue) теперь базируются на JavaScript-движке V8, развиваемом при участии компании Google и распространяемом под лицензией BSD. В движок QML также внесены значительные оптимизации производительности и связанные с языком улучшения, при сохранении базовой совместимости. Модуль Qt Quick включает в себя реализацию Scenegraph на базе OpenGL и все ранее поддерживаемые в Qt 4.x базовые возможности. Дополнительно добавлена поддержка графических эффектов, создаваемых при помощи шейдеров OpenGL. Для обеспечения обратной совместимости в виде модуля Qt Quick 1 доступна полностью совместимая с Qt 4.x реализация Qt Quick.
  • В состав Qt Core включен парсер формата JSON и оптимизированное для более высокой скорости обработки бинарное представление для данных JSON. Добавлена поддержка определения MIME-типа как по расширению, так и по содержимому. Добавлен движок для обработки регулярных выражений, полностью совместимых с Perl. Добавлена поддержка стандарта C++11, но сохранена возможность сборки и при помощи компиляторов, совместимых с C++98.
  • Включение в состав основного пакета дополнительных инструментов, таких как визуальный построитель интерфейса Qt Designer, интерфейс для локализации приложений Qt Linguist и интегрированная среда разработки Qt Creator, которые ранее развивались в виде обособленных проектов.

Компоненты, входящие в состав пакета Qt 5.0:

    • базовые библиотеки:
      • Qt Core
      • Qt Network
      • Qt Gui
      • Qt Sql
      • Qt Testlib
      • Qt Widgets
      • Qt Qml
      • Qt Quick
      • Qt Multimedia
      • Qt WebKit
      • Qt WebKit Widgets
    • дополнения:
      • Qt Xml
      • Qt XmlPatterns
      • Qt Svg
      • Qt Concurrent
      • Qt Printsupport
      • Qt DBus
      • Qt OpenGL
      • Qt ActiveQt
      • Qt Graphical Effects
      • Qt Script
      • Qt Declarative
      • Qt Image Formats
    • инструменты и сопутствующие проекту элементы:
      • Qt Assistant
      • Qt Linguist
      • Qt Designer
      • Qt Translations
      • Qt Creator
      • Qt Documentation

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

Под базами данных (БД) понимаются системы хранения и обработки данных, для доступа к которым используется язык SQL (Structured Query Language). База данных представляет собой структурированную совокупность данных. Поскольку компьютеры замечательно справляются с обработкой больших объемов данных, управление базами данных играет центральную роль в вычислениях. Реализовано такое управление может быть по-разному - как в виде отдельных утилит, так и в виде кода, входящего в состав других приложений.

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

СУБД MySQL использует традиционную архитектуру клиент–сервер, поэтому, работая с СУБД MySQL, пользователь реально работает с двумя программами:

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

Информация о работе Разработка клиентского приложения информационной системы проекта интернет–фотоцентра