Телефонный справочник по городу Минск
Введение
В наше время, когда компьютерные технологии развиваются с огромной скоростью, необходимо разрабатывать удобные и надежные программы. Это необходимо для того, чтобы люди могли меньше времени тратить на различные расчеты, измерения, запоминание информации, следовательно, за один рабочий день можно обработать информации в несколько раз больше, чем бы это производилось вручную. Это очень актуально в наше быстроразвивающееся время компьютерных технологий, так как, чем меньше люди будут затрачивать времени на вычислительные действия, тем быстрее они будут добиваться задуманного результата, а в некоторых профессиях быстрота вычислений составляет основу задачи.
В
настоящее время большое
На современном этапе производителями программного обеспечения разработано большое количество СУБД. Каждая из них предоставляет различную степень свободы манипулирования информации, хранящейся в БД. Последняя обеспечивает хранение информации и представляет собой совокупность данных, организованных по определённым правилам. БД позволяет структурировать, хранить и обрабатывать данные различного типа.
В связи с этим в качестве курсового проекта была выбрана следующая тема проекта: «Телефонный справочник».
Целью данного средства является систематизация номеров телефонов по городу Минск.
Для осуществления основной цели необходимо реализовать следующие функции:
- программа будет обеспечивать первоначальный ввод данных в информационную базу;
- производить вывод всей информации;
-
получать номер телефона и
дополнительные данные и
Данная программа может
1 Постановка задачи
1.1 Организационно-экономическая сущность задачи
Создать программу «Телефонный справочник», в которой должны быть учтены следующие моменты:
- создание и ведение базы данных
(корректировка, удаление и
- в программе будет реализован один вид входа: под обычным пользователем, при котором возможно как просматривать информацию, так и добавлять ее;
- каждая запись должна содержать фамилию, имя, адрес и номер телефона. Запись и чтение данных должны производиться из базы данных;
- сортировка БД по фамилии;
- поиск по фамилии;
- программа будет обеспечивать ввод данных
в базу и производить вывод всей информации.
1.2 Входная и выходная оперативная информация
В данной задаче входной информацией являются данные, которые пользователь вводит в таблицу, а так же данные вводимые при осуществлении поиска. Выходной информацией являются: результаты поиска информации, а также упорядоченные по заданному критерию таблица данных, различная информация из этой таблицы. Данная информация выводится на экран. Главная форма программы изображена на рисунке 1.
Рисунок 1.1 – Главная форма программы.
2
Объектно-ориентированный
В разрабатываемой программе используются следующие функции:
- void __fastcall TForm1::FormCreate(TObject *Sender) (выводит на экран содержимое БД, позволяет добавлять, удалять и редактировать записи в таблице);
- void __fastcall TForm1::Button2Click(TObject *Sender) (обрабатывает запрос на поиск);
- void __fastcall TForm1::Button3Click(TObject *Sender) (выводит результат поиска);
- void __fastcall TForm1::N2Click(TObject *Sender) (выводит информацию о программе );
Функциональная
модель разрабатываемого программного
средства представлена в приложении
Б в виде диаграммы использования
БД и в приложении В в виде диаграммы вариантов
использования для пользователя.
3 Описание программы
3.1
Общие сведения
Программа «Телефонный справочник» создана при помощи программного продукта «Borland C++ Builder» версии 6.0. Правильное функционирование программы при открытии и запуске ее компилятором младшей версии не гарантируется. Рекомендуется использовать версию 6.0 и старше.
Разработка Систем Управления Базами Данных (СУБД) раньше всегда была очень трудоемким и медленным процессом, отягощенным необходимостью учитывать массу специфических деталей подсистем обслуживания различных баз данных на низком уровне. C++Builder принимает на себя выполнение этих рутинных операций, позволяя сосредоточиться на решении основной задачи. Все приложения СУБД, создаваемые в среде C++Builder, основаны на компонентах пользовательского интерфейса с некоторой базой данных, которые предоставляют удивительно легкие в использовании средства разработки специальных приложений. Львиная доля времени процесса разработки уходит на визуальную установку свойств выбранных компонент. Удачно спроектированное приложение всегда обеспечивает простоту просмотра и редактирования данных пользователем, независимо от сложности структуры используемой модели данных.
Ключевой механизм BDE (Borland Database Engine), обеспечивающий работу визуальных компонент баз данных, действует как интерфейс между вашим приложением и самой базой данных. BDE реализован в виде набора системных DLL файлов. Взаимодействие компонентных объектов с BDE никак не специфицирует конкретную базу данных и не зависит от реализации обмена информацией на нижнем уровне иерархии. Используя BDE, вы получаете доступ ко всем локальным стандартным базам данных вашего компьютера. При добавлении компонент баз данных к форме вашего приложения соединение с BDE происходит автоматически - никакого программирования не требуется. Визуальный процесс соединения полностью находится под вашим контролем. Во время выполнения программы BDE делает необходимые запросы и получает данные, заказанные свойствами каждой используемой компоненты.
Одним
из важнейших достоинств интегрированной
среды C++Builder является наличие удобных
средств быстрой визуальной разработки
приложений СУБД -специализированных
компонент баз данных. В отличие
от разделяемых элементов
• Компоненты управления данными Data Control (такие как область редактирования TDBEdit или сетка TDBGrid) обеспечивают отображение и редактирования записей на форме приложения.
• Компоненты доступа к данным Data Access (такие как таблица TTable или запрос TQuery) адресуют фактические данные, хранящиеся в файле базы данных, а компонента источника TDataSource служит как интерфейс межкомпонентной связи.
Для. работы с базами данных необходимо проанализировать и правильно установить значения ключевых свойств компонент доступа и управления. C++Builder поддерживает "трехступенчатую" модель разработки приложения баз данных. В этой модели компонента управления связана с компонентой источника, а та, в свою очередь, получает фактические данные таблицы или запроса посредством механизма BDE. Диаграмма 3.1 показывает пример взаимосвязи компонент.
Диаграмма 3.1-- Взаимосвязь компонент управления и доступа к содержимому баз данных.
Среднее
звено, компонента TDataSource, допускает менять
фактическую таблицу на стадии проектирования
формы без какого бы то ни было перепрограммирования
самого приложения - все отображаемые
элементы связаны с источником, а не с
питающими его таблицей или запросом.
Кроме того, компоненты источников берут
на себя задачу синхронизации обмена данными
между парами таблиц по принципу master-detail.
[1]
3.2
Описание логической структуры
Программное средство состоит из двух модулей:
- Unit1.cpp;
- About.cpp;
При запуске программы запускается форма с заголовком «Телефонный справочник».
На
ней находятся следующие
- DBGrid1 (предназначен для вывода информации из БД);
- DBNavigator1 (предназначен работы с БД);
- Image1 (фон формы);
- Button1 (предназначен для закрытия программы);
-Button2 (служит для перехода к форме «Поиск»);
- MainMenu1 (предназначен для формирования выпадающих пунктов меню);
Меню содержит пункты «Файл» и «Справка», которые включают в себя подпункты:
«Выход» и «О программе» соответственно.
При
выборе первого подпункта осуществляется
выход из программы. При выборе второго
подпункта появляется форма с заголовком
«О программе», где содержится информация
о содержании программы и ее исполнителе
(рисунок 3.1).
Рисунок 3.1 – Форма «О программе».
Форма содержит следующие компоненты:
- Image2 (фон формы «О программе»);
- Label1 (надпись «Курсовой проект по предмету:»);
- Label2 (надпись «Конструирование программ и языки программирования»);
- Label3 (надпись «Телефонный справочник»);
- Label4 (надпись «Выполнила учащаяся гр 53491 Корсак Е.С.»);
- BitBtn1 (Кнопка Ok).
При
нажатии кнопки «Поиск» на главной
форме на экран выводится форма
с заголовком «Поиск» (рисунок 3.2).
Рисунок 3.2 – Форма «Поиск».
На форме изображены следующие компоненты:
- Edit1 (предназначен для ввода фамилии);
- Image1 (фон формы);
- Label1 (надпись «Введите фамилию»);
- Button3 (кнопка Ok для подтверждения запроса).
При нажатии кнопки OK выбрасывается главная форма «Телефонный справочник» с выделенной строкой, в которой содержится искомая информация (рисунок 3.3).
Рисунок
3.3 – Результат поиска.
3.3
Используемые технические средства
При
написании программы был
- процессор: Intel Pentium III 800 Mhz;
- оперативная память: 128 MB;
- монитор с разрешением 1024х768;
-
операционная система: Windows 2000.
3.4
Входные и выходные данные
Входной информацией в данной программе являются данные вводимые пользователем в телефонный справочник, а также информация, которую вводят при поиске конкретного объекта.
Выходной же информацией
4 Описание применения
4.1
Назначение программы
Программное средство «Телефонный справочник» предназначено для удобного просмотра базы данных «Телефонный справочник» и поиска записи по фамилии обычным пользователем.
Эта
программа уменьшит время, затрачиваемое
на внесение информации в файл, предоставит
возможность сортировки информации
по фамилии в алфавитном порядке.
Для эксплуатации программного средства рекомендуются следующие технические требования:
- процессор Intel Pentium III 800 Mhz;
- оперативная память: 128 MB и выше для более быстрого и оперативного поиска необходимой информации;
-
свободное пространство на
- монитор с разрешением от 800х600 до 1280х1024;
-
операционная система Windows 2000/XP.
Заключение
Подводя итоги работы над курсовым проектом, можно сделать следующие выводы:
- поставленная задача выполнена;
-
все проектные решения
Целью разработки данного средства было:
- автоматизировать и упростить работу пользователя с БД «Телефонный справочник»;
- автоматизировать поиск нужной информации для пользователя.
В программном средстве был создан красивый и удобный в использовании интерфейс.
В программе были реализованы следующие функции:
-
программа обеспечивает
- программа осуществляет считывание файла записей с диска, а также просмотр записей и навигацию по базе;
- программа может осуществлять поиск по фамилии и выводить данные записи;
- программа осуществляет автоматическую сортировку записей по фамилии в алфавитном порядке.
Программное средство отлажено и полностью протестировано.
Список использованных
источников
- Архангельский, А.Я. Программировать в C++Builder 6/А.Я. Архангельский – М. : Бином, 2003 – 1152 с.
- Хоменко, А.Д. Программирование на С./А.Д. Хоменко – М. : Бином, 2002. – 1098 с.
- Савитч, У. Язык С++. Курс объектно-ориентированного программирования / У. Савитч. – М. : Вильямс, 2001. – 696 с.
- Страуструп, Б. Язык программирования С++ / Б. Страуструп. – М. : Бином, 2002. – 1098 с.
- Шилд, Р. Программирование на Borland C++ / Р. Шилд. – Мн. : Попурри, 1998. – 791 с.
Приложение А
Листинг
программы
//----------------------------
#include <vcl.h>
#pragma hdrstop
#include "Unit1.h"
#include "About.h"
//----------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
TForm1 *Form1;
//----------------------------
__fastcall TForm1::TForm1(TComponent* Owner)
: TForm(Owner)
{
}
//----------------------------
void __fastcall TForm1::FormCreate(TObject *Sender)
{
Form1->Caption="Телефонный справочник";
Table1->Active=true;
Label1->Hide();
Edit1->Hide();
Button3->Hide();
DBGrid1->Show();
Button1->Show();
Button2->Show();
DBNavigator1->Show();
Form1->Height=450;
Form1->Width=768;
DBGrid1->Height=241;
DBGrid1->Width=537;
}
//----------------------------
void __fastcall TForm1::Button1Click(TObject *Sender)
{
Form1->Close();
}
//----------------------------
void __fastcall TForm1::Button2Click(TObject *Sender)
{
Form1->Caption="Поиск";
DBGrid1->Hide();
DBNavigator1->Hide();
Button1->Hide();
Button2->Hide();
Edit1->Show();
Button3->Show();
Label1->Show();
Form1->Height=220;
Form1->Width=350;
}
//----------------------------
void __fastcall TForm1::Button3Click(TObject *Sender)
{
Form1->Caption="Результат поиска";
Form1->Height=250;
Form1->Width=350;
Edit1->Hide();
Button3->Hide();
DBGrid1->Show();
Label1->Hide();
Table1->FindNearest(&TVarRec(
Form1->FormCreate(Sender);
}
//----------------------------
void __fastcall TForm1::N1Click(TObject *Sender)
{
Form1->Close();
}
//----------------------------
void __fastcall TForm1::N2Click(TObject *Sender)
{
AboutBox->ShowModal();
}
//----------------------------
//----------------------------
#ifndef AboutH
#define AboutH
//----------------------------
#include <Classes.hpp>
#include <Controls.hpp>
#include <StdCtrls.hpp>
#include <Forms.hpp>
#include <Buttons.hpp>
#include <ExtCtrls.hpp>
#include <jpeg.hpp>
//----------------------------
class TAboutBox : public TForm
{
__published: // IDE-managed Components
TImage *Image1;
TLabel *Label1;
TLabel *Label2;
TLabel *Label3;
TBitBtn *BitBtn1;
TLabel *Label4;
private: // User declarations
public: // User declarations
__fastcall TAboutBox(TComponent* Owner);
};
//----------------------------
extern PACKAGE TAboutBox *AboutBox;
//----------------------------
#endif