Реализация средствами С++ базы данных ‘Учёт фототехники’

Курсовая работа

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

Тема курсового проекта «Реализация средствами С++ базы данных «Учёт фототехники»». Программный продукт будет обеспечивать работникам магазина «Фототехника» упрощенную работу по учёту товара. Данная программа проста в использование и поэтому не требует никаких материальных затрат на обучение работников. Программой может пользоваться любой человек без специального образования. Продавец имеет возможность просматривать, есть фото-видеоаппаратура на складе или нет, не отходя от рабочего места.

1 ОБЩИЕ СВЕДЕНИЯ

1.1 Выбор и обоснование инструментальных средств обработки

Для создания своего проекта была выбрана среда программирования C++ Builder.C++ Builder представляет собой SDI-приложение, главное окно которого содержит настраиваемую инструментальную панель (слева) и палитру компонентов (справа).

Помимо этого, по умолчанию при запуске C++ Builder появляются окно инспектора объектов (слева) и форма нового приложения (справа).

Под окном формы приложения находится окно редактора кода.

 выбор и обоснование инструментальных средств обработки 1

Формы являются основой приложений C++ Builder. Создание пользовательского интерфейса приложения заключается в добавлении в окно формы элементов объектов C++ Builder, называемых компонентами. Компоненты C++ Builder располагаются на палитре компонентов, выполненной в виде многостраничного блокнота. Важная особенность C++ Builder состоит в том, что он позволяет создавать собственные компоненты и настраивать палитру компонентов, а также создавать различные версии палитры компонентов для разных проектов. ++ Builder первоначально создавалась только для платформы MicrosoftWindows. Поздние версии, содержащие Кроссплатформенную компонентную библиотеку Borland, поддерживают и Windows и Linux.

В 2003 Borland выпустила C++ BuilderX (CBX), написанный при помощи той же инфраструктуры, что и JBuilder, который при этом был мало похож на C++ Builder или Delphi. Этот продукт предназначался для разработки больших программ для крупных предприятий, но коммерческого успеха не достиг. В конце 2004 года Borland объявила, что продолжит развитие классического C++ Builder и объединит его со средой разработки Delphi, прекратив, таким образом, разработку C++ BuilderX.

10 стр., 4568 слов

Форма, конструкция и виды окон

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

Спустя примерно год после этого объявления, Borland выпустила BorlandDeveloperStudio 2006, который включал в себя Borland C++ Builder 2006, предлагавший улучшенное управление конфигурацией и отладкой. BorlandDeveloperStudio 2006 — единственный полноценный комплект, содержащий Delphi, C++Builder и C#Builder.

Используя Borland C++ Builder, можно создать приложения, работающие как с однопользовательскими базами данных (БД), так и с серверными системами управления базами данных (СУБД), такими как Oracle, Sybase, Informix, Interbase, MS SQL Server, DB2, а также с ODBC-источниками. Возможности C++ Builder, связанные с созданием приложений, использующих базы данных, весьма обширны для того, чтобы описать их в одной статье. Поэтому сегодня мы рассмотрим лишь простейшие возможности работы с таблицами баз данных.

Набор данных в C++ Builder является потомком абстрактного класса TDataSet (абстрактный класс — это класс, от которого можно порождать другие классы, но нельзя создать экземпляр объекта данного класса).

Например, классы TQuery, TTable и TStoredProc, содержащиеся на странице палитры компонентов Data Access, — наследники TDBDataSet, который, в свою очередь, является наследником TDataSet. TDataSet содержит абстракции, необходимые для непосредственного управления таблицами или запросами, обеспечивая средства для того, чтобы открыть таблицу или выполнить запрос и перемещаться по строкам.

В типичных приложениях с базами данных компонент DataSource, как правило, связан с одним компоненом TDataSet (TTable или TQuery) и с одним или более компонентами Data Controls (такими, как DBGrid, DBEdit и др.).

Связь этого компонента с компонентами TDataSet и DataControls осуществляется с использованием следующих свойств и событий:

  • Cвойство DataSet компонента DataSource идентифицирует имя компонента TDataSet. Можно присвоить значение свойству DataSet на этапе выполнения или с помощью инспектора объектов на этапе проектирования.

— Cвойство Enabled компонента DataSource активизирует или останавливает взаимосвязь между компонентами TDataSource и Data Controls. Если значение свойства Enabled равно true, то компоненты Data Controls, связанные с TDataSource, воспринимают изменения набора данных. Использование свойства Enabled позволяет временно разъединять визуальные компоненты data Controls и Tdatasource, например, для того, чтобы в случае поиска в таблице с большим количеством записей не отображать на экране пролистывание всей таблицы.

— Свойство AutoEdit компонента DataSource контролирует, как инициируется редактирование в компонентах Data Controls. Если значение свойства AutoEdit равно true, то режим редактирования начинается непосредственно при получении фокуса компонентом Data Controls, связанным с данным компонентом TDataSet. В противном случае режим редактирования начинается, когда вызывается метод Edit компонента TDataSet, например, после нажатия пользователем кнопки Edit на компоненте DBNavigator.

  • Событие OnDataChange компонента DataSource наступает, когда происходит изменение значения поля, записи, таблицы, запроса.

1.2 Постановка задачи

Требуется создать с помощью программ , C++Builder и MS Acсess программу с базой данных фототехника.

2 стр., 947 слов

Технологии анализа данных (Text Mining, Data Mining)

... Барсегян, М.С. Куприянов, В.В. Степаненко, И.И. Холод: Технологии анализа данных. Data Mining, Visual Mining, Text Mining, OLAP: БХВ-Петербург, 2007 3. <http://megaputer.ru/data_mining.php> 4. & ... не позволяет использовать алгоритмы Data Mining. Решением этой проблемы занимаются методы анализа неструктурированного текста (Text Mining). Определение Text Mining: Обнаружение знаний ...

Для достижения цели автоматизации работы с базой данных программа должна содержать следующую информацию:

1. Входная информация:

  • наименование камеры, тип камеры, тип матрицы, год выпуска, цена, наличие на складе;
  • файл, хранящий введенные данные;

2. Выходная информация:

  • файл, хранящий введенные данные;
  • данные, соответствующие запросу пользователя.

Разрабатываемая программа должна поддерживать следующие функции, которые вызываются посредством меню:

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

Структура меню программы следующие разделы:

  • Фотоаппараты;
  • БД Фотоаппаратов
  • Каталог Фотоаппаратов
  • БД Аксессуаров;
  • О разработчике.

 постановка задачи 1

Рис. 1.2- Главным меню в виде блок-схемы

1.2 Этапы разработки алгоритма

  • Спецификация

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

  • Разработка алгоритма

На этапе разработки алгоритма необходимо определить последовательность действий, которые надо выполнить для получения результата. Если задача может быть решена несколькими способами и, следовательно, возможны различные варианты алгоритма решения, то программист, используя некоторый критерий, например, скорость решения алгоритма, выбирает наиболее подходящее решение. Результатом этапа разработки алгоритма является подробное словесное описание алгоритма или его блок-схема.[7]

  • Кодирование

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

  • Отладка

Отладка — это процесс поиска и устранения ошибок. Ошибки в программе разделяют на две группы: синтаксические (ошибки в тексте) и алгоритмические. Синтаксические ошибки — наиболее легко устраняемые. Алгоритмические ошибки обнаружить труднее. Этап отладки можно считать законченным, если программа правильно работает на одном-двух наборах входных данных.

  • Тестирование

Этап тестирования особенно важен, если вы предполагаете, что вашей программой будут пользоваться другие. На этом этапе следует проверить, как ведет себя программа на как можно большем количестве входных наборов данных, в том числе и на заведомо неверных.[6]

  • Создание справочной системы

Если разработчик предполагает, что программой будут пользоваться другие, то он обязательно должен создать справочную систему и обеспечить пользователю удобный доступ к справочной информации во время работы с программой. В современных программах справочная информация представляется в форме СНМ- или HLP-файлов.

  • Алгоритм и программа

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

Алгоритм решения задачи может быть представлен в виде словесного описания или графически — в виде блок-схемы. При изображении алгоритма в виде блок-схемы используются специальные символы (рис. 1.2).

 этапы разработки алгоритма 1

Рис. 1.2- Основные блоки, используемые для представления алгоритма в виде блок-схемы

программа алгоритм база данные

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

При программировании в C++ Builder алгоритм решения задачи представляет собой совокупность алгоритмов процедур обработки событий. [11]

1.3
Функциональная блок-схема

Рис основные блоки 1

Рис. 1.3- Структура Базы Данных

Рис структура базы данных 1

Рис. 1.4- Функциональная блок схема

Использованные элементы блоков функциональных схем:

Наименование

Обозначение

Функция

Элемент отображает вход из внешней среды или выход из нее (наиболее частое применение − начало и конец программы).

Внутри фигуры записывается соответствующее действие.

Процесс

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

Решение

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

Данные(ввод-вывод)

Преобразование данных в форму, пригодную для обработки (ввод) или отображения результатов обработки (вывод).

Данный символ не определяет носителя данных (для указания типа носителя данных используются специфические символы).

Рис. 1.5- Элементы блоков функциональных схем.

2 РАЗРАБОТКА ПРИЛОЖЕНИЯ

2.1 Использованные компоненты

Компонент TLabel

С++ компонент Label предназначен для отображения статического текста, то есть надписей и меток на Форме, которые не меняются в течение всего времени работы программы. Конечно, текст надписи, отображаемый компонентом Label можно изменить, но не непосредственно, а только программно.

Компонент TEdit

Компонент С++ Edit представляет собой однострочное текстовое поле, служащее для ввода данных пользователем. Основным свойством компонента С++ Edit, передающим введённую информацию, является свойство Edit1.Text типа String.

Компонент TPanel

Панели Panel используются наиболее широко. С их помощью компонуются различные элементы интерфейса (кнопки, окна редактирования, списки), функционально связанные друг с другом. Такая функциональная связь должна поддерживаться и зрительной связью — объединением соответствующих элементов в рамках одной панели. Панели Panel могут также использоваться для организации инструментальных панелей, полос состояния и т.п., хотя для этих целей имеются и специализированные компоненты, которые будут рассмотрены позднее.[4]

Компонент TImage

Компонент Image много богаче по своим возможностям и удобнее. Компонент Image имеет существенное преимущество: в нем не приходится думать о перерисовке изображения, испорченного из-за перекрытия данного окна другими. у компонента Image имеются свойства, позволяющие работать с различными типами графических файлов. [13]

Компонент TDBGrid

Компонент TDBGrid обеспечивает табличный способ отображения на экране строк данных из компонентов TTable или TQuery. Приложение может использовать TDBGrid для отображения, вставки, уничтожения, редактирования данных БД.

Компонент TDataSource

Компонент DataSource действует как посредник между компонентами TDataSet (TTable, TQuery, TStoredProc) и компонентами DataControls — элементами управления, обеспечивающими представление данных на форме. Компоненты TDataSet управляют связями с библиотекой BorlandDatabaseEngine (BDE), а компонент DataSource управляет связями с данными в компонентах DataControls.

Компонент DBNavigator

Компонент DBNavigator предоставляет пользователю возможность просматривать набор данных. Навигатор содержит кнопки для перехода на первую, последнюю, предыдущую и следующую записи, вставки, удаления и редактирования записи, отмены и сохранения изменений, а также обновления данных. Этот компонент практически полностью автоматизирован, поэтому все, что вам остается сделать в большинстве случаев — это поместить его на форму, связать с DataSource

Компонент RadioButton

Компонент RadioButton- «радиокнопка», и как следует из названия, служит для «переключения каналов», как и в настоящем радиоприёмнике. Это значит, если выбран один из компонентов RadioButton, то с остальных компонентов выбор автоматически снимается. Получается, что в данный момент может быть выбран только один из группы компонентов RadioButton.

Компонент «ADOConnection»

Компонент «ADOConnection» используется для создания соединения с базой данных другой системы. Чтобы добавить новый сервис «ADOConnection», нужно выбрать группу, в которую будет входить этот сервис в дереве сервисов, и воспользоваться командой контекстного меню дерева сервисов [Новый] ->[ADOConnection].

Компоненты GroupBox

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

Компоненты ADOTable

ADOTable — таблица ADO, обеспечивает доступ к одной таблице ADO-источника данных и позволяет другим компонентам управлять этими данными, связываясь с компонентом ADOTable через компонент DataSource.При использовании компонента доступа ADOTable к данным по технологии ADO установление соединения с хранилищем данных можно выполнить с помощью компонента ADOConnection, для которого с помощью его свойства ConnectionString нужно установить соединение с хранилищем данных.[12]

2.2 Интерфейс программы

 интерфейс программы 1

Рис 2.1- Главное окно программы

Рис главное окно программы 1

Рис 2.2- Подраздел меню Фотоаппараты

Рис подраздел меню фотоаппараты 1

Рис 2.3- БД Фотоаппаратов.

Рис бд фотоаппаратов  1

Рис 2.4- БД Фотоаппаратов.

Рис бд фотоаппаратов  2

Рис 2.4- Аксессуары

Рис аксессуары 1

Рис 2.5- О разработчике.

2.3 Используемые технические средства

Минимальные требования для запуска и работы программы:

  • Win 98/2000/XP/;

  • CPU — 200 MHz;

  • RAM — 8 MB;

  • HDD — 10 MB.

Разрешение монитора для комфортной работы — 1024х768.