- •Оглавление
- •Введение
- •1 Анализ исходных данных и постановка задачи проектирования
- •1.1 Анализ исходных данных и описание предметной области
- •1.3 Постановка задач проектирования
- •1.4 Выводы по первой главе
- •Теоретическая часть
- •Проектирование программного продукта
- •3.1 Разработка диаграммы вариантов использования
- •3.2 Разработка функциональной структуры приложения
- •3.4 Выводы по третьей главе
- •Реализация и тестирование программного продукта
- •4.1 Реализация функциональных частей
- •4.3 Реализация пользовательского интерфейса
- •4.4 Результаты тестирования
- •Заключение
- •Список использованных источников
- •Введение
- •Основания для разработки
- •Назначение разработки
- •Исходные данные, цели и задачи
- •Исходные данные
- •Цель работы
- •Решаемые задачи
- •Требования к программе или программному изделию
- •Требования к функциональным характеристикам
- •Требования к маркировке и упаковке
- •Требования к транспортированию и хранению
- •Специальные требования
- •Требования к программной документации
- •Технико-экономические показатели
- •Стадии и этапы разработки
- •Порядок контроля и приемки
- •Порядок контроля
- •Порядок защиты
- •Срок защиты
- •Примечание
- •Приложение г (обязательное) Содержимое электронного носителя
1 Анализ исходных данных и постановка задачи проектирования
1.1 Анализ исходных данных и описание предметной области
Основной задачей автомобильной фирмы Дав-Авто является закупка и продажа как можно большего числа автомобилей. А чтобы их продать необходимо огромное количество покупателей.[2]
Но все-таки продажа автомобилей - главная задача, для данной фирмы. И чтобы ее осуществить, сначала необходимо выполнить ряд нижеследующих функций:
1) Получить информацию о текущем состоянии рынка, т.е. величину спроса и предложения, положение цен у конкурирующих фирм;
2) Найти необходимые инвестиции;
3) Приобрести товар (т.е. автомобили);
4) Найти помещение для продажи, временной стоянки автомобилей, транспорт позволяющий перевозить автомобили;
5) Провести рекламную деятельность;
После продажи автомобилей должен подаваться отчет в налоговые органы о доходах, а также отчет о проделанной работе, покупателю должен обязательно выдаваться гарантийный талон, торговый чек, а также накладные на отпуск (уход) товара.[1]
В рамках проектирования необходимо реализовать систему проката автомобилей. Задачей данного проектирования является создание программы с удобным интерфейсом, для операционных систем от WindowsXP и выше с оперативной памятью не менее 512 Мб.[3]
1.3 Постановка задач проектирования
Задачей курсовой работы является автоматизация работы фирмы, занимающейся продажей автомобилей. Автоматизация составления договоров продажи, торговых чеков, накладных, продажи автомобилей. Автоматизированный учет должен осуществляться на основании данных и документов о закупке товара со склада, стоимости, численности товара, а также на основании паспортных данных покупателей, и т.д.[18]
А также задачей курсовой работы является закрепление пройденного материала по курсу и приобретение практических навыков разработки информационных систем.
Требования к функциональным характеристикам:[5]
хранение информации об автомобилях;
ввод, редактирование, удаление, поиск, сортировка информации о клиентах: ФИО, паспортные данные, дата рождения, телефон, адрес.
При работе с данной системой будут доступны следующие функции:
создание списка клиентов, автомобилей;
сохранение, открытие и редактирование данных;
Полное содержание требований предъявляемых к системе содержится в техническом задании (Приложение В).
1.4 Выводы по первой главе
При выполнении работы был сделан анализ исходных данных, изучена предметная область, поставлены задачи проектирования.
Теоретическая часть
Используя инструментальные средства Qt Creator на языке C++ разработать прикладное программное обеспечение информационной системы «Аренда автомобилей». Информационная система должна обеспечивать возможность ввода, корректировки, хранения, и вывода необходимых данных.
Для выбора средств реализации проекта были проанализированы следующие наиболее популярные средства:[6]
Microsoft Visual Studio — линейка продуктов компании Microsoft, включающих разработки программного обеспечения и ряд других инструментальных средств. Данные продукты позволяют разрабатывать как консольные приложения, так и приложения с графическим интерфейсом, в том числе с поддержкой технологии Windows Forms, а также веб-сайты, веб-приложения, веб-службы как в родном, так и в управляемом кодах для всех платформ, поддерживаемых Windows, Windows Mobile, Windows CE, .NET Framework, Xbox, Windows Phone .NET Compact Framework иSilverlight.[15]
Borland C++ Builder – система объектно-ориентированного программирования производства корпорации Borland, предназначенная для операционных систем Windows; достоинства – это скорость визуальной разработки, продуктивность повторно используемых компонент в сочетании с мощью языковых средств C. [14]
Qt Creator – кроссплатформенный инструментарий разработки ПО на языке программирования C++. Есть также «привязки» ко многим другим языкам программирования:Python — PyQt, PySide; Ruby — QtRuby; Java — Qt Jambi[9]; PHP — PHP-Qt и другие.
Qt позволяет запускать написанное с его помощью ПО в большинстве современных операционных систем путём простой компиляции программы для каждой ОС без изменения исходного кода. Включает в себя все основные классы, которые могут потребоваться при разработке прикладного программного обеспечения, начиная от элементов графического интерфейса и заканчивая классами для работы с сетью, базами данных и XML. Qt является полностью объектно-ориентированным, легко расширяемым и поддерживающим технику компонентного программирования.[13]
Отличительная особенность Qt от других библиотек — использование Meta Object Compiler (MOC) — предварительной системы обработки исходного кода (в общем-то, Qt — это библиотека не для чистого C++, а для его особого наречия, с которого и «переводит» MOC для последующей компиляции любым стандартным C++ компилятором). MOC позволяет во много раз увеличить мощь библиотек, вводя такие понятия, как слоты и сигналы. Кроме того, это позволяет сделать код более лаконичным. Утилита MOC ищет в заголовочных файлах на C++ описания классов, содержащие макрос Q_OBJECT, и создаёт дополнительный исходный файл на C++, содержащий метаобъектный код.[17]
Qt позволяет создавать собственные плагины и размещать их непосредственно в панели визуального редактора. Также существует возможность расширения привычной функциональности виджетов, связанной с размещением их на экране, отображением, перерисовкой при изменении размеров окна.
Руководствуясь проанализированными данными, а также техническим заданием было принято решение реализовывать программный продукт в среде Qt Creator, так как возможность компиляции проекта для других систем позволяет отслеживать полный жизненный цикл проекта, начиная с момента его создания и до полноценной реализации. [12]
В Qt Creator позаботились и о редакторе кода, Присутствует подсветка синтаксиса, есть «полный парсер кода» — это возможность редактора проверять код на правильность с точки зрения языка программирования. Когда вы набираете код, то еще до компиляции видите, где допустили синтаксическую ошибку. [11]
Справочная система работает следующим образом. Допустим, в коде где-то есть переменная типа QMenu. Если поставить на нее курсор и нажать F1, возникает справочная панель с описанием класса QMenu. Также в главном окне существует вкладка Help, где доступна вся документации по Qt.
На вкладке редактора, в настройках Qt Creator есть целых пять разделов как бы для разных редакторов — по умолчанию, для скриптов, для С++, для проектов и Perforce (коммерческая система контроля над версиями). Настройки редактора языка С++ — это и есть настройки редактора кода вашей Qt-программы. В самых свежих «снэпшотах» Qt Creator настройки шрифта упорядочены в единственный раздел.[4]
На полях редактора можно ставить закладки и точки останова. Сама панель редактора может быть разделена на бесконечное множество вложенных панелей — подобно Konqueror. Таким образом на экране одновременно можно редактировать либо несколько файлов, либо один и тот же документ, но в разных местах. Для этого надо сначала разделить панель редактора (например, через Window — Split Top/Bottom), а затем выбрать пункт меню Window — Duplicate document. Такой подход иногда бывает полезнее, чем утомительные переходы по закладкам.
Архитектура Qt Creator зиждется на плагинах. Редактор — плагин, движок закладок — плагин, панель с файлами проекта — тоже плагин, и так далее. Список установленных плагинов можно посмотреть в меню Help — About Plugins. [16]
Можно настраивать сочетания клавиш и, более того, импортировать / экспортировать их с помощью внешних файлов. Это удобно для переноса любимых сочетаний клавиш с машины на машину. В состав Qt Creator по умолчанию входят два таких предустановленных файла: для MS Visual C++ и Xcode. Всё, что связано с автоматическим дополнением, отступами, подсветкой синтаксиса и прочим, находится в настройках редактора — Text Editor.[19]
