UML в эконометрическом проектировании

Технология проектирования объектно-ориентированного программирования. Этапы разработки программных систем с использованием ООП. Унифицированный язык моделирования UML. Проектирование приложения "Магазин бытовой техники". Создание графического интерфейса.

Рубрика Программирование, компьютеры и кибернетика
Вид дипломная работа
Язык русский
Дата добавления 04.02.2011
Размер файла 5,3 M

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.

Dialogs, StdCtrls, Buttons;

type

TRegistr = class(TForm)

Edit1: TEdit;

Label1: TLabel;

SpeedButton1: TSpeedButton;

SpeedButton2: TSpeedButton;

procedure SpeedButton2Click(Sender: TObject);

procedure SpeedButton1Click(Sender: TObject);

procedure Edit1KeyPress(Sender: TObject; var Key: Char);

procedure FormCreate(Sender: TObject);

procedure FormActivate(Sender: TObject);

private

{Private declarations}

public

{Public declarations}

end;

var

Registr: TRegistr;

passw, in_pass:string;

function deshif(filename, pas: string):string; external 'shifr.dll';

implementation

uses Main;

{$R *.dfm}

//Завершение программы при отказе ввода

procedure TRegistr.SpeedButton2Click(Sender: TObject);

begin

Application.Terminate;

end;

//Проверка пароля

procedure TRegistr.SpeedButton1Click(Sender: TObject);

begin

if FileExists('password.psw') then

begin

passw:=deshif('password.psw','23031985');

if in_pass=passw then

begin

Registr.Visible:=false;

MainForm.Timer1.Enabled:=true;

MainForm.ShowModal;

end;

end

else MessageDlg('Файл с паролями не найден!',mtError,[mbok],0);

end;

//Отображение "*" вместо символов пароля

procedure TRegistr.Edit1KeyPress(Sender: TObject; var Key: Char);

begin

if key=#13 then

SpeedButton1Click(registr)

else

if key<>#8 then

begin

in_pass:=in_pass+key;

key:='*';

end

else delete(in_pass,length(in_pass),1);

end;

//Создание формы

procedure TRegistr.FormCreate(Sender: TObject);

begin

in_pass:='';

end;

//Скрытие основной формы

procedure TRegistr.FormActivate(Sender: TObject);

begin

MainForm.Visible:=false;

end;

end.

Модуль смены пароля администратора

unit Ad_change_pass;

interface

uses

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

Dialogs, StdCtrls, ExtCtrls, Buttons;

type

TChangePass = class(TForm)

LabeledEdit1: TLabeledEdit;

LabeledEdit2: TLabeledEdit;

LabeledEdit3: TLabeledEdit;

SpeedButton1: TSpeedButton;

SpeedButton2: TSpeedButton;

procedure SpeedButton2Click(Sender: TObject);

procedure SpeedButton1Click(Sender: TObject);

private

{Private declarations}

public

{Public declarations}

end;

procedure shif(filename, pas, input: string); external 'shifr.dll';

function deshif(filename, pas: string):string; external 'shifr.dll';

var

ChangePass: TChangePass;

pass, new_pass: string;

implementation

{$R *.dfm}

//Закрытие формы

procedure TChangePass.SpeedButton2Click(Sender: TObject);

begin

ChangePass.Close;

end;

//Смена пароля

procedure TChangePass.SpeedButton1Click(Sender: TObject);

begin

pass:=deshif('password.psw','23031985');

if LabeledEdit1.Text<>'' then

if LabeledEdit1.Text=pass then

if (pass<>LabeledEdit2.Text) then

if (LabeledEdit2.Text=LabeledEdit3.Text)and(LabeledEdit2.Text<>'') then

begin

new_pass:=LabeledEdit2.Text;

shif('password.psw','23031985',new_pass);

MessageDlg('Пароль успешно изменен!',mtInformation,[mbok],0);

ChangePass.Close;

end

else MessageDlg('Новые пароли не совпадают, либо не заданы!',mtInformation,[mbok],0)

else MessageDlg('Новый пароль совпадает со старым!',mtInformation,[mbok],0)

else MessageDlg('Не верный пароль!',mtInformation,[mbok],0);

end;

end.

Модуль данных - связь бизнес-уровня и графического интерфейса

unit Data;

interface

uses

SysUtils, Classes, BoldUMLModelLink, BoldUMLRose98Link, BoldHandle,

BoldPersistenceHandle, BoldPersistenceHandleFile,

BoldPersistenceHandleFileXML, BoldAbstractModel, BoldModel, BoldHandles,

BoldRootedHandles, BoldAbstractListHandle, BoldCursorHandle,

BoldListHandle, BoldSubscription, BoldSystemHandle, BusinessClasses;

type

TDataShop = class(TDataModule)

BoldSystemHandleShop: TBoldSystemHandle;

BoldSystemTypeInfoHandleShop: TBoldSystemTypeInfoHandle;

ListShopName: TBoldListHandle;

ShopModel: TBoldModel;

BoldPersistenceHandleFileXMLShop: TBoldPersistenceHandleFileXML;

BoldUMLRoseLinkShop: TBoldUMLRoseLink;

ListAdmin: TBoldListHandle;

ListOtdels: TBoldListHandle;

ListGroups: TBoldListHandle;

ListOtdelGroups: TBoldListHandle;

ListBases: TBoldListHandle;

ListOtdelsGroupTovar: TBoldListHandle;

ListShop: TBoldListHandle;

ListShopOtdel: TBoldListHandle;

ListBaseGroup: TBoldListHandle;

ListBaseGroupTovar: TBoldListHandle;

ListTovar: TBoldListHandle;

ListShopBase: TBoldListHandle;

ListBaseTovar: TBoldListHandle;

ListProdazha: TBoldListHandle;

ListZakupka: TBoldListHandle;

ListGroupTovar: TBoldListHandle;

ListProdazhaOtchet: TBoldListHandle;

ListZakupkaOtchet: TBoldListHandle;

private

{Private declarations}

public

{Public declarations}

end;

var

DataShop: TDataShop;

implementation

{$R *.dfm}

end.

Модуль смены пароля администратора

unit Ad_change_pass;

interface

uses

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

Dialogs, StdCtrls, ExtCtrls, Buttons;

type

TChangePass = class(TForm)

LabeledEdit1: TLabeledEdit;

LabeledEdit2: TLabeledEdit;

LabeledEdit3: TLabeledEdit;

SpeedButton1: TSpeedButton;

SpeedButton2: TSpeedButton;

procedure SpeedButton2Click(Sender: TObject);

procedure SpeedButton1Click(Sender: TObject);

private

{Private declarations}

public

{Public declarations}

end;

procedure shif(filename, pas, input: string); external 'shifr.dll';

function deshif(filename, pas: string):string; external 'shifr.dll';

var

ChangePass: TChangePass;

pass, new_pass: string;

implementation

{$R *.dfm}

//Закрытие формы

procedure TChangePass.SpeedButton2Click(Sender: TObject);

begin

ChangePass.Close;

end;

//Смена пароля

procedure TChangePass.SpeedButton1Click(Sender: TObject);

begin

pass:=deshif('password.psw','23031985');

if LabeledEdit1.Text<>'' then

if LabeledEdit1.Text=pass then

if (pass<>LabeledEdit2.Text) then

if (LabeledEdit2.Text=LabeledEdit3.Text)and(LabeledEdit2.Text<>'') then

begin

new_pass:=LabeledEdit2.Text;

shif('password.psw','23031985',new_pass);

MessageDlg('Пароль успешно изменен!',mtInformation,[mbok],0);

ChangePass.Close;

end

else MessageDlg('Новые пароли не совпадают, либо не заданы!',mtInformation,[mbok],0)

else MessageDlg('Новый пароль совпадает со старым!',mtInformation,[mbok],0)

else MessageDlg('Не верный пароль!',mtInformation,[mbok],0);

end;

end.

Модуль редактирования информации о товаре, хранящегося на товарных базах

unit EditTovarBase;

interface

uses

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

Dialogs, StdCtrls, Spin, Data, BusinessClasses, Buttons;

type

TEditTovBase = class(TForm)

GroupBox13: TGroupBox;

Label31: TLabel;

Label32: TLabel;

Label33: TLabel;

Label34: TLabel;

Edit9: TEdit;

Edit10: TEdit;

SpinEdit1: TSpinEdit;

SpinEdit2: TSpinEdit;

SpeedButton1: TSpeedButton;

SpeedButton2: TSpeedButton;

procedure FormActivate(Sender: TObject);

procedure SpeedButton2Click(Sender: TObject);

procedure FormClose(Sender: TObject; var Action: TCloseAction);

procedure SpeedButton1Click(Sender: TObject);

procedure Edit10KeyPress(Sender: TObject; var Key: Char);

private

{Private declarations}

public

{Public declarations}

end;

var

EditTovBase: TEditTovBase;

flag: Boolean;

implementation

uses Main;

{$R *.dfm}

//Активизация формы

procedure TEditTovBase.FormActivate(Sender: TObject);

var i: integer;

begin

TekBTov:=DataShop.ListBaseGroupTovar.ObjectList.Elements[DataShop.ListBaseGroupTovar.CurrentIndex] as TTov_base;

Edit9.Text:=TekBTov.Tname;

Edit10.Text:=floattostr(TekBTov.Tprice);

SpinEdit1.Value:=TekBTov.Tgarant;

SpinEdit2.Value:=TekBTov.TBcount;

end;

//Закрытие формы

procedure TEditTovBase.SpeedButton2Click(Sender: TObject);

begin

EditTovBase.Close;

end;

//При закрытии формы - возврат формы в исходное состояние

procedure TEditTovBase.FormClose(Sender: TObject;

var Action: TCloseAction);

begin

Edit9.Clear;

Edit10.Clear;

SpinEdit1.Value:=0;

SpinEdit2.Value:=1;

end;

//Процесс изменения данных о товаре

procedure TEditTovBase.SpeedButton1Click(Sender: TObject);

var price: real;

begin

flag:=false;

if (messagedlg ('Подтвердите изменение товара',mtConfirmation,[mbYes,mbNo],0)=mrYes) then

begin

try

price:=strtofloat(Edit10.Text);

except

ShowMessage('Неверно указана цена!'+#13+'Проверьте правильность ввода!');

flag:=true;

end;

if not flag then

begin

TekBTov.Tname:=Edit9.Text;

TekBTov.Tprice:=price;

TekBTov.Tgarant:=SpinEdit1.Value;

TekBTov.TBcount:=SpinEdit2.Value;

SpeedButton2Click(nil);

end;

end;

end;

//Проверка корректности ввода

procedure TEditTovBase.Edit10KeyPress(Sender: TObject; var Key: Char);

begin

if not(key in ['0'..'9',#8,',']) then

key:=#0;

end;

end.

Модуль добавление новой товарной базы

unit NewBase;

interface

uses

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

Dialogs, StdCtrls, BoldListBox, data, Buttons, BusinessClasses;

type

TAddBase = class(TForm)

GroupBox1: TGroupBox;

Edit1: TEdit;

Label2: TLabel;

GroupBox2: TGroupBox;

BoldListBox1: TBoldListBox;

Label1: TLabel;

Memo1: TMemo;

SpeedButton1: TSpeedButton;

SpeedButton2: TSpeedButton;

SpeedButton3: TSpeedButton;

procedure SpeedButton3Click(Sender: TObject);

procedure SpeedButton2Click(Sender: TObject);

procedure Edit1KeyPress(Sender: TObject; var Key: Char);

procedure SpeedButton1Click(Sender: TObject);

private

Private declarations}

public

{Public declarations}

end;

var

AddBase: TAddBase;

NewBas: TBase;

implementation

{$R *.dfm}

procedure TAddBase.SpeedButton3Click(Sender: TObject);

begin

SpeedButton2Click(nil);

AddBase.Close;

end;

procedure TAddBase.SpeedButton2Click(Sender: TObject);

begin

SpeedButton1.Enabled:=false;

Edit1.Clear;

Memo1.Clear;

Edit1.SetFocus;

end;

procedure TAddBase.Edit1KeyPress(Sender: TObject; var Key: Char);

begin

if not(key in ['A'..'я','0'..'9',#8,' ']) then

key:=#0;

if (key=#8)and (Length(Edit1.Text)<=1) then

SpeedButton1.Enabled:=false;

if (key in ['A'..'я','0'..'9']) then

SpeedButton1.Enabled:=true;

end;

procedure TAddBase.SpeedButton1Click(Sender: TObject);

var i: integer;

ExBas: TBase;

BBaseExsist: Boolean;

Mag: TShop;

begin

if Memo1.Text<>'' then

begin

i:=DataShop.ListBases.CurrentIndex;

BBaseExsist:=false;

Mag:=DataShop.BoldSystemHandleShop.System.ClassByExpressionName['Shop'].BoldObjects[0] as Tshop;

for i:=0 to DataShop.ListBases.Count-1 do

begin

ExBas:=DataShop.ListBases.ObjectList.Elements[i] as TBase;

if (ExBas.Bname = Edit1.Text) then

BBaseExsist:=true;

end;

if not(BBaseExsist) then

begin

if (messagedlg('Подтвердите добавление товарной базы "'+Edit1.Text+'"!',mtConfirmation,[mbYes,mbNo],0)=mrYes) then

begin

NewBas:=TBase.Create(nil);

NewBas.Bname:=Edit1.Text;

NewBas.Baddress:=Memo1.Text;

NewBas.Imeetsya:=Mag;

SpeedButton3Click(nil);

end;

end

else

begin

ShowMessage('База с названием "'+Edit1.Text+'" уже существует!');

Edit1.Clear;

Edit1.SetFocus;

end;

end;

end;

end.

Модуль отображения заставки

unit Sc_trial;

interface

uses

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

Dialogs, ExtCtrls, Buttons, ComCtrls;

type

TMain_sc = class(TForm)

Image1: TImage;

ProgressBar1: TProgressBar;

Timer1: TTimer;

procedure Timer1Timer(Sender: TObject);

private

{Private declarations}

public

{Public declarations}

end;

var

Main_sc: TMain_sc;

implementation

uses Ad_reg;

{$R *.dfm}

// Ход прогресса

procedure TMain_sc.Timer1Timer(Sender: TObject);

begin

if ProgressBar1.Position<>ProgressBar1.Max then

ProgressBar1.Position:=ProgressBar1.Position+2

else

begin

timer1.Enabled:=false;

main_sc.Visible:=false;

registr.ShowModal;

end;

end;

end.

Модуль ввода количества заказываемого товара

unit ZakazTov;

interface

uses

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

Dialogs, StdCtrls, Spin, Buttons, Data, BusinessClasses;

type

TZakazForm = class(TForm)

GroupBox1: TGroupBox;

SpinEdit1: TSpinEdit;

SpeedButton1: TSpeedButton;

SpeedButton2: TSpeedButton;

procedure SpeedButton2Click(Sender: TObject);

procedure FormActivate(Sender: TObject);

procedure SpinEdit1KeyPress(Sender: TObject; var Key: Char);

procedure SpeedButton1Click(Sender: TObject);

private

{Private declarations}

public

{Public declarations}

end;

var

ZakazForm: TZakazForm;

implementation

uses Main;

{$R *.dfm}

procedure TZakazForm.SpeedButton2Click(Sender: TObject);

begin

ZakazForm.Close;

end;

procedure TZakazForm.FormActivate(Sender: TObject);

begin

TekBTov:=DataShop.ListBaseGroupTovar.ObjectList.Elements[DataShop.ListBaseGroupTovar.CurrentIndex] as TTov_base;

SpinEdit1.Value:=1;

SpinEdit1.MinValue:=1;

SpinEdit1.MaxValue:=TekBTov.TBcount;

end;

procedure TZakazForm.SpinEdit1KeyPress(Sender: TObject; var Key: Char);

begin

key:=#0;

end;

procedure TZakazForm.SpeedButton1Click(Sender: TObject);

begin

f (messagedlg('Заказать товар "'+TekBTov.Tname+'"'+#13+

'в количестве: '+ inttostr(SpinEdit1.Value)+' единиц(ы)?',mtConfirmation,[mbYes,mbNo],0)=mrYes) then

begin

TekBTov.ZakazCount:=SpinEdit1.Value;

ZakazForm.Close;

Mainform.SpeedButton35.Enabled:=true;

Mainform.BoldSortingGrid4.Repaint;

end;

end;

end.

Модуль отображения информации о программном продукте и разработчике

unit About;

interface

uses Windows, SysUtils, Classes, Graphics, Forms, Controls, StdCtrls,

Buttons, ExtCtrls;

type

TMy = class(TForm)

Panel1: TPanel;

ProgramIcon: TImage;

ProductName: TLabel;

Version: TLabel;

Comments: TLabel;

Label1: TLabel;

Label2: TLabel;

Label3: TLabel;

SpeedButton1: TSpeedButton;

Image1: TImage;

procedure SpeedButton1Click(Sender: TObject);

private

{Private declarations}

public

{Public declarations}

end;

var

My: TMy;

implementation

{$R *.dfm}

// Закрытие формы

procedure TMy.SpeedButton1Click(Sender: TObject);

begin

my.Close;

end;

end.

Размещено на Allbest.ru


Подобные документы

  • Характеристика UML как унифицированного графического языка моделирования для описания, визуализации, проектирования и документирования объектно-ориентированных систем. Диаграмма программного обеспечения, деятельности, последовательности и реализации UML.

    курсовая работа [439,9 K], добавлен 05.06.2014

  • Основные элементы объектной модели. Сущность и преимущества объектно-ориентированного подхода, понятие объекта и класса. Унифицированный язык моделирования UML. Диаграммы классов и взаимодействия: назначение, построение и примеры использования.

    реферат [273,2 K], добавлен 09.06.2009

  • Унифицированный язык моделирования. Методы объектно-ориентированного анализа и проектирования. Создание диаграммы последовательности и диаграммы сотрудничества. Главная диаграмма классов. Добавление связей между классами. Зависимость между пакетами.

    курсовая работа [2,7 M], добавлен 23.06.2011

  • Элементы объектно-ориентированного программирования. Среда Visual Studio: улучшения интегрированной среды разработки и увеличение ее производительности. Проектирование архитектуры программы и ее интерфейса. Использование двухуровневой системы приложения.

    курсовая работа [516,8 K], добавлен 09.08.2015

  • Использование объектно-ориентированного программирования - хорошее решение при разработке крупных программных проектов. Объект и класс как основа объектно-ориентированного языка. Понятие объектно-ориентированных языков. Языки и программное окружение.

    контрольная работа [60,1 K], добавлен 17.01.2011

  • Разработка приложения "Калькулятор с переходом в строковый калькулятор" с применением объектно-ориентированного программирования. Концепция и понятия объектно-ориентированного программирования. Язык программирования Java. Листинг программы "Калькулятор".

    курсовая работа [966,9 K], добавлен 11.02.2016

  • Создание, изучение и разработка приложение на Android. Среда разработки приложения DelphiXE5. Установка и настройка среды программирования. Этапы разработки приложения. Инструменты для упрощения конструирования графического интерфейса пользователя.

    курсовая работа [1,6 M], добавлен 19.04.2017

  • Создание консольных приложений с использованием графического интерфейса пользователя. Содержание палитры компонентов программы С++ Builder. Использование возможностей объектно-ориентированного программирования, особенности редактора кода и форм в С++.

    лекция [27,0 K], добавлен 22.12.2010

  • Характеристики и свойства языков программирования. Исследование эволюции объектно-ориентированных языков программирования. Построение эволюционной карты механизмов ООП. Разработка концептуальной модели функционирования пользовательского интерфейса.

    курсовая работа [2,6 M], добавлен 17.11.2014

  • Понятие объектно-ориентированного программирования, характеристика используемых языков. Практическая разработка средств объектно-ориентированного программирования в задачах защиты информации: программная реализация на языке С++, а также Turbo Pascal.

    курсовая работа [275,9 K], добавлен 22.12.2011

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.