Телефонный справочник по городу Минск

       Введение 

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

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

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

     В связи с этим в качестве курсового  проекта была выбрана следующая  тема проекта: «Телефонный справочник».

     Целью данного средства является систематизация номеров телефонов по городу Минск.

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

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

     -  производить вывод всей информации;

     -  получать номер телефона и  дополнительные данные и выводить  все данные по конкретному   человеку;

       Данная программа может использоваться  частными лицами . 
 
 
 
 
 

       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 является наличие удобных  средств быстрой визуальной разработки приложений СУБД -специализированных компонент баз данных. В отличие  от разделяемых элементов управления VBX, C++Builder компилирует компоненты в единую исполняемую программу, что существенно повышает ее надежность и быстродействие. Только очень опытные программисты способны создать программу подобного уровня качества и гибкости, используя исключительно прямые обращения к соответствующим функциям Windows API. При таком подходе даже простое приложение требует написания непомерного по объему кода.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 Назначение программы 

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

       Эта программа уменьшит время, затрачиваемое  на внесение информации в файл, предоставит  возможность сортировки информации по фамилии в алфавитном порядке. 

  • 4.2 Условия применения 
  •        Для эксплуатации программного средства рекомендуются следующие технические требования:

           - процессор Intel Pentium III 800 Mhz;

           - оперативная память: 128 MB и выше для более быстрого и оперативного поиска необходимой информации;

           - свободное пространство на жестком  диске должно быть не менее  35 MB;

           - монитор с разрешением от 800х600 до 1280х1024;

           - операционная система Windows 2000/XP. 
     
     
     
     
     
     
     
     
     
     
     
     
     
     

           Заключение 

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

           - поставленная задача выполнена;

           - все проектные решения соответствуют  поставленной задаче.

           Целью разработки данного средства было:

           - автоматизировать и упростить  работу пользователя с БД «Телефонный справочник»;

           - автоматизировать поиск нужной  информации для пользователя.

           В программном средстве был создан красивый и удобный в использовании интерфейс.

           В программе были реализованы следующие  функции:

           - программа обеспечивает создание, удаление, сохранение и  редактирование записей;    

           - программа осуществляет считывание файла записей с диска, а также просмотр записей и навигацию по базе;

           - программа может осуществлять  поиск по фамилии и выводить данные записи;

           - программа осуществляет автоматическую сортировку записей по фамилии в          алфавитном порядке.

           Программное средство отлажено и полностью протестировано.

     

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

    1. Архангельский, А.Я. Программировать в C++Builder 6/А.Я. Архангельский – М. : Бином, 2003 – 1152 с.
    2. Хоменко, А.Д. Программирование на С./А.Д. Хоменко – М. : Бином, 2002. – 1098 с.
    3. Савитч, У. Язык С++. Курс объектно-ориентированного программирования / У. Савитч. – М. : Вильямс, 2001. – 696 с.
    4. Страуструп, Б. Язык программирования С++ / Б. Страуструп. – М. : Бином, 2002. – 1098 с.
    5. Шилд, Р. Программирование на 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(Edit1->Text),0);

    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 
     
     
     
     
     
     
     
     
     
     
     
     
     

    Телефонный справочник по городу Минск