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