Разработка программного обеспечения для работы с базой данных с использованием технологии объектно-ориентированного программирования

Реферат

Объектно-ориентированное программирование (ООП) — это взгляд на програмирование, сосредоточенный на данных; в котором данные и поведение жестко связаны. Данные и поведение представлены в виде классов, экземпля­ры которых — объекты. Например, полином может иметь диапазон допусти­мых значений, и на эти значения могут действовать такие операции, как сложение и умножение.

Для обозначения пользовательских расширений встроенных типов дан­ных, доступных из языка, мы будем использовать термин абстрактные типы данных (АТД).

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

Объекты — это переменные класса. ООП позволяет легко создавать и использовать АТД. Для удобства создания нового ти’па из уже существующих типов, определенных пользователем ООП использует механизм нacледoвания.

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

Рассмотрим класс объектов, называемых фигурами. Если мы хотим рисо­вать фигуры на экране, то мы должны знать, где находится центр фигуры и как ее рисовать. Некоторые фигуры, такие как многоугольники, рисовать от­носительно несложно, однако основная процедура рисования фигуры может быть и очень дорогостоящей, требующей запоминания большого числа харак­терных граничных точек. Избежать этого для случая многоугольника несо­мненно полезно. Если объект характерной фигуры лучше знает, как себя нарисовать, то программисту, использующему такие фигуры, необходимо лишь передать объекту сообщение “рисовать” (draw).

Новая C++ — класс — обеспечивает механизм инкапсуляции для реализации АТД. Инкапсуляция включает как детали внутренней реали­зации специфического типа, так и доступные извне операции и функции, которые могут оперировать объектами этого типа. Детали реализации могут делать недоступным для пользователя код, который использует тип. Например, стек может быть реализован как массив фиксированной длины, при этом общедоступные операции будут включать выталкивание (push) и вталкивание (pop).

9 стр., 4369 слов

Составление технического паспорта объекта капитального строительства

... основе этого, составление технического паспорта выбранного объекта капитального строительства. Задачи курсовой работы: изучение основных понятий и видов инвентаризации объектов недвижимости; изучение методов организации и проведения работ по технической инвентаризации объектов недвижимости; изучение ...

Изменение внутренней реализации в связанном списке не будет влиять на то, как будут извне использоваться push и pop. Реализация стека в данном случае скрыта от его пользователей.

Термин ООП включает в себя следующие концепции:

  • моделирование деятельности мира;

  • наличие типов, определяемых пользователем;

  • сокрытие деталей реализации;

  • повторное использование кода через наследование;

  • разрешение интерпретации вызова функции во время выполнения.

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

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

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

  1. Создание файла и ввод информации.

  2. Просмотр данных и их корректировка.

  3. Сортировка отгрузки металла.

  4. Удалить файл с данными.

И естественно выход из программы. Будет установленна защита от несанкционированного доступа путем установки пароля при старте. Работа с пользователем будет осуществленна при помощи меню, и подсказок.

  1. Информационное обеспечение

Разработанная программа может работать на любом IBM-совместимом компьютере начиная от 80286 и выше. Работа программы не ограничена объемом ОЗУ или жесткого диска, но рекомендуется иметь не меньше 2 мегабайт свободного дискового пространства. При увеличении объема базы данных необходимо увеличить емкость используемого ЖМД. Вся информация вводится при помощи клавиатуры. Контроль введенной информации осуществляется при помощи дисплея.

Необходимая входная информация:

  • Код поставщика

  • Код потребителя

  • Код металла

  • Отзрузка за сутки

  • Отзрузка за месяц

  • Отзрузка за год

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

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

4 стр., 1747 слов

Технология создания баз данных в программе Microsoft Access

... Microsoft Office Access и Open Office Base база данные office access Существует множество программ для создания баз данных. Я выбрала две программы, которые знакомы всем пользователям компьютера. И ... задать имя создаваемого файла базы данных. Например, для нашей базы данных мы выбрали папку Мои документы,а имя файла - гpyппa.MDB. Создав файл, Access раскрывает пустое окно базы данных и в этом ...

Диалоговая информация:

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

Введите пароль

Если пользователь ввел неверный пароль, программа выдает сообщение :

Неверно

и будет произведен краткий звуковой сигнал. После чего снова будет предложено ввести пароль.

После ввода верного пароля на экране появится основное меню:

Меню:

  1. Создание файла и ввод информации.

  2. Просмотр данных и их корректировка.

  3. Сортировка отгрузки металла.

  4. Удалить файл с данными.

  5. Выход.

Выберите меню “.

Для продолжения работы необходимо выбрать один из пунктов меню , набрав на клавиатуре цифру 1,2,3 или 4 в зависимости от того, что пользователь хочет сделать , и нажать клавишу “Enter”.

Создание файла, Ввод информации в файл “

и под надписью выводится шапка таблицы и курсор устанавливается в начальное положение , откуда пользователь должен начать ввод данных.

Внизу экрана высвечивается подсказка

Выход — 0 в графе” N склада””.

После введения последнего элемента данных и ввода “0” в графе “N склада” программа возвращает пользователя в главное меню.

Просмотр данных и их корректировка., Просмотр данных в файле “

под которой высвечивается таблица с введенными данными.

Внизу еще одна таблица, метаал с наибольшей отгрузкой за сутки.

И меню:

1- Добавить 2- Удалить 3- Изменить др. — Выйти в меню”

“1. Добавить.”

Введите код пост., код потр., код мет., отгрузка за сутки, месяц, год.”

Новые данные добавляются в конец таблицы и снова выводятся на экран.

“2. Удалить.”

“3. Изменить.”

Введите код пост., код потр., код мет., отгрузка за сутки, месяц, год.”

Затем выводится обновленная таблица.

Для выхода из просмотра необходимо нажать любую клавишу.

После нажатия любой клавиши программа возвращает пользователя в главное меню.

Сортировка отгрузки металла., Введите имя файла “.

Пользователь должен ввести имя файла и нажать “Enter “. Если сортировка прошла успешно пользователь увидит надпись:

“Сортировка произошла успешно. Нажмите любую клавишу.”

Удалить файл с данными.

“Введите пожалуйста название файла ”

Пользователь должен ввести имя файла подлежащего удалению и нажать “Enter”.

Когда пользователь выберет 4 пункт меню “ Выход “ , программа завершит работу и выйдет в операционную систему.

  1. Алгоритм решения задачи.

Начало программы:

Очищаем экран.

Выводим на экран запрос пароля.

Если пароль не верный – сообщаем об ошибке и повторяем запрос.

Если пароль верный, очищаем экран и выводим меню:

9 стр., 4426 слов

Сенсорные экраны

... (ИК) излучение и видеокамеры. Рассмотрим эти технологии подробнее. Первые сенсорные экраны создавались с использованием прозрачной резистивной пленки. Эта технология широко распространена и сейчас. Существуют 4, ... выводить изображение, но и вводить данные, такие устройства называют интерактивными или, реже, - интеллектуальными (Smart Board). Необходимо отметить, что в нашей стране сенсорные экраны ...

  1. ???????? ????? ? ???? ??????????.

  2. Просмотр данных и их корректировка.

  3. Сортировка отгрузки металла.

  4. Удалить файл с данными.

  5. Выход.

Если выбран пункт 1. Создание файла и ввод информации, то очищаем экран и запрашиваем имя файла с которым будем работать.

После ввода имени файла проверям, можем ли создать файл.

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

Если файл создан, то очищаем экран и выводим шапку базы.

Начинам безконечный цикл и вводим последовательно все элементы БД.

В случае если в коде поставщика введен 0, то записываем информацию в файл.

Если невоможно записать данные в фал, то сообщаем об ошибке.

Если запись прошла успешно, то закрываем файл и выводим сообщение, что все впорядке.

Ждем нажатия клавиши и выходим в меню.

Если выбран пункт 2. Просмотр данных и их корректировка, то очищаем экран и запрашиваем имя файла с БД.

Открываем файл только для чтения.

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

В противном случае — очищаем экран и выводим шапку базы.

Считываем данные из файла и подставляем их в таблицу.

Если данные не обноружены то выводимсообщение об ошибке – Файл пуст!

Если все впорядке, то выводим таблицу о металле с наибольшей отгрузкой за сутки.

Затем закрываем файл.

Организуем диалог:

  1. Добавить

  2. Удалить

  3. Изменить

Др. Выйти в меню

Если выбран пункт 1- добавить, то открываем файл для записи в конец.

Выводим на экран: Введите код пост., код потр., код мет.,отгрузка за сутки, месяц, год

Записываем введенную информацию в файл.

Закрываем файл.

Если выбран пункт 2- удалить, то запрашиваем код металла который необходимо удалить.

Открываем одновременно два файла, один для чтения (с базой) другой для записи (временный).

Переписываем одну за другой записи из первого во второй.

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

Затем удаляем файл 1 и переименовываем 2 в 1

Выводим сообщение об успешном окончании действия.

Если выбран пункт 3 – изменить, то очищаем экран.

Запрашиваем код металла с информацией для изменения.

Открываем файл для чтения и записи.

Считываем все элементы данных.

Если элемент не найден, то сообщаем об ошибке и закрываем файл.

Если все впорядке, то сообщаем что нужный элемент найден.

Запрашиваем подтверждение на изменение записи.

Если не подтверждено, то закрываем файл и выходим в меню.

В противном случае просим ввести новые данные.

Затем заменяем новые данные на старые.

Записываем изменения в файл и закрываем его.

Если нажата какая-либо другая клавиша, то выходим в меню.

5 стр., 2009 слов

Создание отчета как объекта базы данных. Экспертные и обучающиеся системы

... страницы (меню Файл). При разработке макетов отчета руководствуйтесь следующей формулой: ширина отчета + левое поле ... ориентированы на решение большого класса задач, к которым относятся ... вида: Создающие управленческие отчеты (выполняющие обработку данных: поиск, сортировку, фильтрацию). ... отчетов щелкнуть на кнопке Автоформат, откроется диалоговое окно Автоформат. В списке Стили объекта "отчет ...

Если выбран пункт 3. Сортировка отгрузки металла, то очищаем экран.

Запрашиваем имя нужного файла.

Если файл не найден, выдаем сообщение об ошике.

В противном случае открываем его только для чтения.

Считываем последовательно данные из файла в новый массив.

Затем сравниваем каждые два элемента и ставим вперед больший.

Записываем отсортированные данные в файл.

Выводим сообщение об окончании процесса.

Очищаем память.

Если был выбран пункт 4. Удалить файл с данными, то очищаем экран.

Запрашиваем имя файла.

Удаляем файл.

Если файл невозможно удалить, то сообщаем об ошибке.

Если все впрорядке, то выходим в меню.

Конец программы.

5. Программное обеспечение.

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

??????? ????? ???? ???????????? ???????????????. ???????? ?????????? ???????????? ? ????????? ??????????, ??? ??????? ?????????

как класс (структура):

Определение структуры Определение класса

struct dat class dat

{ { // Приватная часть

int day,month,year; int day,month,year;

public: // Публичная часть

void SetDat(int,int,int); void SetDat(int,int,int);

  • void SetDat(char *);
  • void SetDat(char *);

} аа}

void main() void main()

{ {

// Опред-ние переменных a,b // Опред-ние объектов a,b класса dat

dat a,b; dat a,b;

  • a.day = 5; // Непосредственное использование

a.month = 12; // приватной части объекта запрещено

bAA.SetDat(«12,12,1990»); b.Setdat(«12,12,1990»);

} }

«Приватная» часть класса не обязательно должна следовать в начале определения класса. Для ее обозначения в произвольном месте определения класса можно использовать служебное слово private.

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

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

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

По классам памяти (и времени жизни) в Си различаются переменные:

  • статические (внешние), создаваемые в статической памяти программы и существующие в течение всего времени работы программы;
  • автоматические, создаваемые в стеке в момент вызова функции и уничтожаемые при ее завершении;
  • динамические, создаваемые и уничтожаемые в свободной памяти задачи в моменты вызова функций malloc() и free() или выполнения операторов new и delete.

Соответственно в программе возможно определение статических, автоматических и динамических объектов одного класса:

class dat

{ ……. }

dat a,b; // Статические объекты

73 стр., 36242 слов

Разработка системы контроля и управления доступом к охраняемым объектам

... предполагается разработка информационно-компьютерной системы контроля и управления доступом к охраняемым объектам. Назначение данной СКУД не столь примитивно по сравнению со многими существующими - обеспечить не только ... на территорию объекта по той же самой карте доступа. ­ Учет рабочего времени. С помощью встроенной в СКУД системы учета рабочего времени, регистрируется время выхода на работу и ...

dat *p; // Ссылка на объект

void main()

{

dat c,d; // Автоматические объекты

p = new dat; // Динамический объект

delete p; // Уничтожение динамического объекта

} <———————// Уничтожение автоматических объектов

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

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

один и имеет имя ~<�имя>.

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

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

  • для статических объектов — конструктор вызывается перед

входом в main(), деструктор — после выхода из main().

Конструкторы вызываются в порядке опредлеления объектов, деструкторы — в

обратном порядке;

  • для автоматических объектов — конструктор вызывается при

входе в функцию (блок), деструктор — при выходе из него;

  • для динамических объектов — конструктор вызывается при выполнении оператора new, деструктор — при выполнении оператора delete.

В Си++ возможно определение массива объектов класса. При этом конструктор и деструктор вызываются для каждого элемента массива и не должны иметь параметров. При выполнении оператора delete для ссылки на массив объектов необходимо также указывать его размерность. Конструктор для массива объектов должен быть без параметров.

  1. Заключение

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

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

Другая важная концепция ООП — это поддержка повторного использова­ния кода через механизм наследования. Это механизм порождения нового класса от ухе существующего, называемого базовым классом. Базовый класс может расширяться или изменяться для создания производного класса. Таким образом, появляется возможность создавать иерархию родственных типов данных, совместно использующих код.

7 стр., 3091 слов

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

... просмотра. 1. Системы управления базами данных Под базой данных (БД) понимают организованную структуру, предназначенную для хранения информации. По технологии хранения данных базы делятся на ... базы данных, и все другие объекты зависят от данных таблиц. Основные объекты базы данных Access можно создавать в режиме Мастер и в режиме Конструктор. Таблицы Таблицы -- это основные объекты любой базы данных, ...

Множество полезных структур данных являются вариантами друг друга, и обычно утомительно писать для каждой один и тот же код. Производный класс наследует описание базового класса, Затем он может быть изменен до­бавлением дополнительных членов, перегрузкой существующих функций-членов и модификацией привилегий доступа. Без этого механизма повторного использования, каждое незначительное изменение будет требо­вать повторения кода.

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

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

7. Литература

[Электронный ресурс]//URL: https://inzhpro.ru/referat/razrabotka-programmnogo/

  1. Фейсон Г. Объектно-ориентированное програмирование на Borland C++. – К.: Диалектика 1996

  2. Пол Ирэ Объектно-ориентированное програмирование с использованием С++. – К.: НИПФ 1995

  3. Буга Г. Объектно-ориентированное програмирование с примерами применения. – М. – Конкорд, 1992

Приложение