Объектно-ориентированное программирование

Автор работы: Пользователь скрыл имя, 13 Июня 2013 в 12:12, курсовая работа

Описание работы

ООП возникло в результате развития идеологии процедурного программирования, где данные и подпрограммы (процедуры, функции) их обработки формально не связаны. Для дальнейшего развития объектно-ориентированного программирования часто большое значение имеют понятия события (так называемое событийно-ориентированное программирование) и компонента (компонентное программирование, КОП).
Формирование КОП от ООП произошло, как случилось формирование модульного от процедурного программирования: процедуры сформировались в модули — независимые части кода до уровня сборки программы, так объекты сформировались в компоненты — независимые части кода до уровня выполнения программы. Взаимодействие объектов происходит посредством сообщений. Результатом дальнейшего развития ООП, по-видимому, будет агентно-ориентированное программирование, где агенты — независимые части кода на уровне выполнения. Взаимодействие агентов происходит посредством изменения среды, в которой они находятся.

Содержание работы

Введение……………………………………………………………………………..4
1.Аналитическая часть…………………………………………….………………..6
1.1 Инкапсуляция…………………………………………………………………..6
2.Разработка приложения………………………………………………………….12
2.1.Структура и интерфейс приложения……………..…………………………...12
2.2.Блок-схема……………………………………………………………………....24
2.3.Листинг программного кода…………………………………………………..25
2.4.Требования программного и аппаратного обеспечения…………………….48
Заключения…………………………………………………………………………49
Список используемой литературы……………………………………………..…50

Файлы: 1 файл

КУРСОВАЯ!!!.doc

— 1.51 Мб (Скачать файл)

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

    • ComboBox
    • RadioButton
    • PageControl
    • MainMenu
    • Button
    • Image
    • DBNavigator
    • GroupBox
    • Edit

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

Интерфейс приложения разработан под удобства пользователя он разбит на несколько частей :

2.1.1 Главное меню

Рис.3

В меню файл осуществляется :

  • Выбор пользователя Меню->Файл->Выбор пользователя;
  • Распечатка квитанции  Меню->Файл->Распечатка квитанции;

 В меню  опции осуществляется:

  • Выбор цвета формы Опции->Выбор цвета;

 В меню  помощь осуществляется:

  • Информация о программе Помощь->О программе;
  • Справка Помощь->Справка;

 


Рис.3

  1. Визуальное меню управления. Рис.4

В меню визуального управления осуществляется:

  • В начало переход в начало БД;
  • Назад переход на одну строку назад;
  • Вперед переход на одну строку вперед;
  • В конец переход в конец БД;
  • Добавить добавление новой записи в БД;
  • Изменить изменение записи в БД;
  • Удалить удаление записи из БД;

 

   


Рис.4

  1. Рабочая область Рис.5

В рабочей области  осуществляется:

  • Вывод таблиц БД;
  • Фильтрация данных;

 

 

 


Рис.5. Рабочая область

  1. Таблицы Рис.6, Рис.7

В таблицах осуществляется:

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

 

 


Рис.6 .БД автозапчасти

 

 

 

 

 


Рис.7. БД Клиенты

  1. Выбор пользователя Рис.8

В выборе пользователя осуществляется:

    • Выбор пользователя администратор Логин(Администратор) Пароль(0000);
    • Выбор пользователя завскладом Логин(Завскладом) Пароль(0000);
    • Выбор пользователя приемщик Логин(Приемщик) Пароль(0000);
    • Выбор пользователя продавец Логин(Продавец) Пароль(0000);

Выбор пользователя является основой базы данных, каждый пользователь обладает определенными  правами .

 

Администратор – осуществляет администрирование  системы и базы данных адаптации системы к нуждам пользователей.

Приемщик –  осуществляет создание и ведение  каталога продукции, формирования прайс-листа  и книги суммарного учета, формирование стандартных выходных форм.

Зав складом  – производит поиск, просмотр продукции, расчетов, покупателей.

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

 

 


Рис.8

 

 

 

 

 

2.2 Блок схема алгоритмов.

 


 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

2.3 Листинг  программного кода.

Листинг программного кода для формы входа в БД.

unit Unit1;

interface

uses

Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,Dialogs, StdCtrls, Buttons, ExtCtrls;

type

  TForm1 = class(TForm)

    BitBtn1: TBitBtn;

    ListBox1: TListBox;

    Edit1: TEdit;

    Edit2: TEdit;

    Label1: TLabel;

    Label2: TLabel;

    Label3: TLabel;

    BitBtn2: TBitBtn;

    Timer1: TTimer;

    Label4: TLabel;

    procedure BitBtn1Click(Sender: TObject);

    procedure BitBtn2Click(Sender: TObject);

    procedure ListBox1Click(Sender: TObject);

    procedure FormActivate(Sender: TObject);

  private

    { Private declarations }

  public

    { Public declarations }

  end;

var

  Form1: TForm1;

implementation

uses Unit2;

{$R *.dfm}

procedure TForm1.BitBtn1Click(Sender: TObject);

begin

case Listbox1.ItemIndex of

0:  if (edit1.Text='Администратор') and (edit2.Text='0000') then

   begin

    Form2.Show;

    Form2.Caption:='Вы в базе под логином администратор';

   end

    Else

  showmessage('Неверный логин или пароль');

1:  if (edit1.Text='Завскладом') and (edit2.Text='0000') then

   begin

    Form2.Show;

    Form2.Caption:='Вы в базе под логином Завскладом';

    Form2.TabSheet2.Enabled:=false;

    Form2.TabSheet3.Enabled:=false;

    Form2.TabSheet4.Enabled:=false;

   end

    Else

  showmessage('Неверный логин или пароль');

2:  if (edit1.Text='Приемщик') and (edit2.Text='0000') then

   begin

    Form2.Show;

    Form2.Caption:='Вы в базе под логином Приемщик';

    Form2.TabSheet2.Enabled:=false;

    Form2.TabSheet4.Enabled:=false;

   end

    Else

  showmessage('Неверный логин или пароль');

3:  if (edit1.Text='Продавец')and (edit2.Text='0000') then

   begin

    Form2.Show;

    Form2.Caption:='Вы в базе под логином Продавец';

    Form2.TabSheet1.Enabled:=false;

   

  

    end

    Else

  showmessage('Вы указали неверный логин или пароль');

end;

end;

procedure TForm1.BitBtn2Click(Sender: TObject);

begin

Form1.Close;

end;

procedure TForm1.ListBox1Click(Sender: TObject);

begin

with TCustomListBox(Sender) do

if ItemIndex >= 0 then

  begin

   Form1.Caption:='Вход  в базу данных автозапчасти  как '+Items[ItemIndex];

   Edit1.Text := Items[ItemIndex];

  end;

end;

procedure TForm1.Timer1Timer(Sender: TObject);

begin

   Label3.Caption:=TimeToStr(Time);

   Label4.Caption:=dateToStr(date);

end;

end.

Листинг программного кода для формы БД.

unit Unit2;

 

interface

 

uses

  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,

  Dialogs, Grids, DBGrids, ComCtrls, ExtCtrls, DBCtrls, DB, ADODB, StdCtrls,

  Menus;

 

type

  TForm2 = class(TForm)

    DBNavigator1: TDBNavigator;

    PageControl1: TPageControl;

    ADOTable1: TADOTable;

    ADOConnection1: TADOConnection;

    ADOQuery1: TADOQuery;

    DataSource1: TDataSource;

    TabSheet1: TTabSheet;

    TabSheet2: TTabSheet;

    TabSheet3: TTabSheet;

    GroupBox1: TGroupBox;

    ComboBox1: TComboBox;

    Edit1: TEdit;

    DBGrid1: TDBGrid;

    RadioButton1: TRadioButton;

    RadioButton2: TRadioButton;

    DBGrid2: TDBGrid;

    ADOTable2: TADOTable;

    ADOQuery2: TADOQuery;

    DataSource2: TDataSource;

    ADOTable3: TADOTable;

    ADOQuery3: TADOQuery;

    DataSource3: TDataSource;

    DBGrid3: TDBGrid;

    GroupBox6: TGroupBox;

    Edit6: TEdit;

    ComboBox6: TComboBox;

    RadioButton5: TRadioButton;

    RadioButton6: TRadioButton;

    TabSheet4: TTabSheet;

    DBGrid4: TDBGrid;

    DataSource4: TDataSource;

    ADOQuery4: TADOQuery;

    ADOTable4: TADOTable;

    MainMenu1: TMainMenu;

    N1: TMenuItem;

    N2: TMenuItem;

    N3: TMenuItem;

    N4: TMenuItem;

    ColorDialog1: TColorDialog;

    N5: TMenuItem;

    N6: TMenuItem;

    N7: TMenuItem;

    Button1: TButton;

    N8: TMenuItem;

    procedure Edit1Change(Sender: TObject);

    procedure PageControl1Change(Sender: TObject);

    procedure N4Click(Sender: TObject);

    procedure FormActivate(Sender: TObject);

    procedure N5Click(Sender: TObject);

    procedure N6Click(Sender: TObject);

    procedure N7Click(Sender: TObject);

    procedure Button1Click(Sender: TObject);

    procedure N8Click(Sender: TObject);

    procedure Edit6Change(Sender: TObject);

  private

    { Private declarations }

  public

    { Public declarations }

  end;

 

var

  Form2: TForm2;

 

implementation

uses unit1,unit3,unit4,unit5,unit6;

{$R *.dfm}

 

procedure TForm2.Button1Click(Sender: TObject);

begin

     ADOTable3.Insert;

     Form5.Show;

end;

 

procedure TForm2.Edit1Change(Sender: TObject);

begin

  if ((Length(Edit1.Text) > 0)and(Length(ComboBox1.Text) > 0)) then

begin

ADOTable1.Filtered:=false;

if RadioButton1.Checked then

ADOTable1.Filter:=Combobox1.Text + ' LIKE '+  #39 + Edit1.Text + '%' + #39

else

ADOTable1.Filter:=Combobox1.Text + ' LIKE '+  #39+ '%' + Edit1.Text + '%' + #39;

ADOTable1.Filtered:=true;

end

else ADOTable1.Filtered:=false;

end;

 

procedure TForm2.Edit6Change(Sender: TObject);

begin

if ((Length(Edit6.Text) > 0)and(Length(ComboBox6.Text) > 0)) then

begin

ADOTable2.Filtered:=false;

if RadioButton5.Checked then

ADOTable2.Filter:=Combobox6.Text + ' LIKE '+  #39 + Edit6.Text + '%' + #39

else

ADOTable2.Filter:=Combobox6.Text + ' LIKE '+  #39+ '%' + Edit6.Text + '%' + #39;

ADOTable2.Filtered:=true;

end

else ADOTable2.Filtered:=false;

end;

 

procedure TForm2.FormActivate(Sender: TObject);

begin

Form1.Visible := False;

end;

 

procedure TForm2.N4Click(Sender: TObject);

begin

case PageControl1.ActivePageIndex of

0: if ColorDialog1.Execute then DBGrid1.Color:=ColorDialog1.Color;

1: if ColorDialog1.Execute then DBGrid2.Color:=ColorDialog1.Color;

2: if ColorDialog1.Execute then DBGrid3.Color:=ColorDialog1.Color;

3: if ColorDialog1.Execute then DBGrid4.Color:=ColorDialog1.Color;

end;

end;

 

procedure TForm2.N5Click(Sender: TObject);

begin

form3.show;

end;

 

procedure TForm2.N6Click(Sender: TObject);

begin

form4.show;

end;

 

procedure TForm2.N7Click(Sender: TObject);

begin

form1.Show;

form2.Close;

end;

 

procedure TForm2.N8Click(Sender: TObject);

begin

form6.show;

end;

 

procedure TForm2.PageControl1Change(Sender: TObject);

begin

   if pagecontrol1.ActivePageIndex=0 then

DBNavigator1.DataSource:=DataSource1;

   if pagecontrol1.ActivePageIndex=1 then

DBNavigator1.DataSource:=DataSource2;

   if pagecontrol1.ActivePageIndex=2 then

DBNavigator1.DataSource:=DataSource3;

   if pagecontrol1.ActivePageIndex=3 then

DBNavigator1.DataSource:=DataSource4;

end;

 

 

end.

Листинг программного кода для формы редактора заказов.

unit Unit5;

 

interface

 

uses

  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,

  Dialogs, Menus, StdCtrls;

 

type

  TForm5 = class(TForm)

    Label1: TLabel;

    Label2: TLabel;

    Label3: TLabel;

    Label4: TLabel;

    Edit1: TEdit;

    Edit2: TEdit;

    Edit3: TEdit;

    Edit4: TEdit;

    MainMenu1: TMainMenu;

    N1: TMenuItem;

    N2: TMenuItem;

    Edit5: TEdit;

    Edit6: TEdit;

    Label5: TLabel;

    Label6: TLabel;

    procedure N1Click(Sender: TObject);

  private

    { Private declarations }

  public

    { Public declarations }

  end;

 

var

  Form5: TForm5;

 

implementation

uses unit2;

{$R *.dfm}

 

procedure TForm5.N1Click(Sender: TObject);

begin

form2.adotable3.insert;

form2.adotable3.edit;

Form2.ADOTable3.FieldByName('Код  заказа').Value:=Edit1.Text;

Form2.ADOTable3.FieldByName('Учетный номер').Value:=Edit2.Text;

Form2.ADOTable3.FieldByName('Код  клиента').Value:=Edit3.Text;

Form2.ADOTable3.FieldByName('Код  сотрудника').Value:=Edit4.Text;

Form2.ADOTable3.FieldByName('Колличество').Value:=Edit5.Text;

Form2.ADOTable3.FieldByName('Номер квитанции').Value:=Edit6.Text;

form2.adotable3.post;

form5.Close;

end;

 

end.

 

 

 

2.4 Требования  к программному и аппаратному  обеспечению

Операционная система: Windows 2000/2003 Professional/Vista.

Процессор: Pentium4, частота 700Мгц или выше.

Оперативная  память: 6Мб.

Память на жестком  диске: 4Мб.

Клавиатура, мышь.

Руководство пользователя

 

 

Заключение

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

 Добавить

 

 

 

Список используемой литературы

1. Технологии Delphi. Разработка приложений для бизнеса. Учебный курс  Авторы: Бобровский С.  1-е издание, 2007 год, 720 стр. изд. Питер

 

2. Практикум по информатике под редакцией Е.К. Хеннера. Москва, 2001г.

3. Жуков А. Изучаем De1phi. Москва, 2005г.

4. Никулин Е. Компьютерная геометрия и алгоритмы машинной графики. - СПб.: Питер, 2004. - 416 с.

5. Порев В. Н. Компьютерная графика. - СПб.: БлВ - Петербург, 2002. - 432 с.

6. Культюнов Н. Б. Delphi 6. программирование на Object Pascal. - СПб.: БХВ - Петербург, 2002. - 432 с.

7. Краснов М. В. DirectX. Графика в проектах Delphi. - СПб.: БХВ - Петербург, 2004. - 352 с. 9. Мозговой М. В. Занимательное протраММИрОВaJП1е. Самоучитель. - СПб.: Питер, 2001. 528 с.

8. Тихомиров Ю. OpenGL. Программирование трехмерной графики. СПб.: Пшер, 2004. – 304 с.

9. Шишкин Е. В., Боресков А. В. Компьютерная Графика. Полигональные модели. - М. :ДИАЛОГ - МИФИ, 2000. - 464 с.

 


Информация о работе Объектно-ориентированное программирование