Смекни!
smekni.com

Моделирование системы автоматизации проектирования работа по дисциплине «Основы системного анализа объектов и процессов компьютеризации» Пояснительная записка (стр. 4 из 7)

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

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

3.4 Используемые технические средства, вызов, загрузка

Программа представленная в данной курсовой работе “Моделирование системы автоматизации проектирования” имеет следующие требования к аппаратному и программному обеспечению:

- персональный компьютер на базе микропроцессора Intel 80386 и выше;

- SVGA совместимая видеокарта;

- требования к операционной системе ограничены требованиями компилятора языка Delphi 4.0, т.е. Windows версии 3.11 или выше.

В силу того, что существуют определенные различия между предыдущими и последующими поколениями компьютеров и написание данной программы проводилось на персональный компьютер с микропроцессором фирмы Intel PentiumPro с частотой 166 MHz, то для корректной работы программы рекомендуется использовать следующее аппаратное и программное обеспечение:

- персональный компьютер на базе микропроцессора фирмы Intel PentiumPro с частотой 166 MHz ;

- видеокарта SVGA;

- операционная система Windows 95 или выше.

Исходный текст программы находится в файлах под именами unit1.pas, unit2.pas, unit3.pas, unit4.pas, unit5.pas, unit6.pas, unit7.pas, unit8.pas, unit9.pas, unit10.pas, unit11.pas, unit12.pas и занимают 43,2 килобайт, исполняемый модуль под име­нем project1.exe - 839 килобайт.

Возможны два варианта запуска программы “Моделирование системы автоматизации проектирования”. В первом варианте запуск производится из интегрированной среды Delphi 4.0. Для этого нужно войти в эту среду из каталога C:\Program Files\Borland\Delphi4\Bin и запустить файл delphi32.exe. После запуска интегрированной среды нужно найти файл unit1.pas и запустить его на выполнение путем нажатия клавиши F9.

Вторым вариантом запуска является запуск выполняемого модуля project1.exe. Для этого нужно в оболочке Norton (Volcov) Commander, либо Dos Navigator, либо Windows Commander, либо в проводнике Windows навести светящийся прямоугольник на запись project1.exe и нажать клавишу <Enter>.

3.5 Конторольный пример

Результат выполнения процесса моделирования при начальных параметрах системы, использующих данные из постановки задачи следующие.

Количество набранных строк от:

- 1-го проектировщика:171;

- 2-го проектировщика:173;

- 3-го проектировщика:175.

Количество обработанных строк от:

- 1-го проектировщика:145;

- 2-го проектировщика:146;

- 3-го проектировщика:151.

Количество полученных заданий от:

- 1-го проектировщика:14;

- 2-го проектировщика:14;

- 3-го проектировщика:15.

Количество обработанных заданий от:

- 1-го проектировщика:14;

- 2-го проектировщика:14;

- 3-го проектировщика:15.

Вероятность простоя:

- 1-го проектировщика:0,1520;

- 2-го проектировщика:0,1560;

- 3-го проектировщика:0,1371;

Коэффициент нагрузки ЭВМ: 0,8087.


ЗАКЛЮЧЕНИЕ

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

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

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

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

СПИСОК ИСПОЛЬЗОВАНОЙ ЛИТЕРАТУРЫ

1. Епанешников А.М., Епанешников В.А. Delphi 4 Среда разработки. –М.: Диалог-Мифи, 1999.

2. Методические указания по выполнению курсового проекта по дисциплине “Основы системного анализа объектов и процессов компьютеризации”/ В.О.Костин - Херсон.2000.

3. Советов В.Я., Яковлев С.А. Моделирование систем. Куpсовое пpоектиpование, М.Высшая школа,1988. - 135c.

4. Советов Б.Я., Яковлев С.А. Лабораторный практикум.-M.: Высш. шк. 1983. - 260 с.

5. Советов Б.Я., Яковлев С.А. Моделирование систем.- М.: Высш. шк., 1985. – 275 с.

6. Фаронов В. В. Delphi 5 Учебный курс. - М.: Нолидж, 2001.

7. Энциклопедический словарь юного химика. –М. Педагогика, 1982.


Приложение А

Текст программы

Модуль 1:

unit Unit1;

interface

uses

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

Menus, ComCtrls, ToolWin, ImgList, jpeg, ExtCtrls, StdCtrls, Gauges, Spin;

type

stroka=record

time:integer;

number:integer;

end;

TForm1 = class(TForm)

MainMenu1: TMainMenu;

N1: TMenuItem;

N2: TMenuItem;

N3: TMenuItem;

N4: TMenuItem;

N5: TMenuItem;

N6: TMenuItem;

N7: TMenuItem;

N8: TMenuItem;

N9: TMenuItem;

Q1: TMenuItem;

N10: TMenuItem;

N11: TMenuItem;

N12: TMenuItem;

ToolBar1: TToolBar;

Bevel1: TBevel;

Shape1: TShape;

Shape2: TShape;

Shape3: TShape;

Shape4: TShape;

Image1: TImage;

Image2: TImage;

Image3: TImage;

Image4: TImage;

Shape5: TShape;

Shape6: TShape;

Shape7: TShape;

Shape8: TShape;

Shape9: TShape;

Shape10: TShape;

Shape11: TShape;

Shape12: TShape;

Shape13: TShape;

Shape14: TShape;

Shape15: TShape;

Shape16: TShape;

Shape17: TShape;

Shape18: TShape;

Shape19: TShape;

Shape20: TShape;

Shape21: TShape;

ImageList1: TImageList;

ToolButton1: TToolButton;

ToolButton2: TToolButton;

ToolButton3: TToolButton;

ToolButton4: TToolButton;

ToolButton5: TToolButton;

ToolButton6: TToolButton;

ToolButton7: TToolButton;

ToolButton8: TToolButton;

ToolButton9: TToolButton;

ToolButton10: TToolButton;

ToolButton11: TToolButton;

ToolButton12: TToolButton;

ToolButton13: TToolButton;

Shape22: TShape;

Shape23: TShape;

Shape24: TShape;

Shape25: TShape;

Shape26: TShape;

Shape27: TShape;

Shape28: TShape;

Shape29: TShape;

Shape30: TShape;

Shape31: TShape;

Shape32: TShape;

Shape33: TShape;

Shape34: TShape;

Shape35: TShape;

Label1: TLabel;

Label2: TLabel;

Label3: TLabel;

Label4: TLabel;

Label5: TLabel;

Label6: TLabel;

Label7: TLabel;

Panel1: TPanel;

Image6: TImage;

Image7: TImage;

Image8: TImage;

Image9: TImage;

Image10: TImage;

Panel2: TPanel;

PageControl1: TPageControl;

TabSheet1: TTabSheet;

TabSheet2: TTabSheet;

TabSheet3: TTabSheet;

Label8: TLabel;

Label9: TLabel;

Label10: TLabel;

Label11: TLabel;

Label12: TLabel;

Label13: TLabel;

Label14: TLabel;

Label15: TLabel;

Bevel2: TBevel;

Edit1: TEdit;

Bevel3: TBevel;

Bevel4: TBevel;

Bevel5: TBevel;

Bevel6: TBevel;

Bevel7: TBevel;

Bevel8: TBevel;

Bevel10: TBevel;

Edit2: TEdit;

Edit3: TEdit;

Edit4: TEdit;

Edit5: TEdit;

Edit6: TEdit;

Edit7: TEdit;

Edit8: TEdit;

Label16: TLabel;

Label17: TLabel;

Label18: TLabel;

Label19: TLabel;

Label20: TLabel;

Label21: TLabel;

Label22: TLabel;

Label23: TLabel;

SpinEdit1: TSpinEdit;

SpinEdit2: TSpinEdit;

SpinEdit3: TSpinEdit;

SpinEdit4: TSpinEdit;

SpinEdit5: TSpinEdit;

SpinEdit6: TSpinEdit;

SpinEdit7: TSpinEdit;

Label24: TLabel;

Label25: TLabel;

SpinEdit8: TSpinEdit;

SpinEdit9: TSpinEdit;

SpinEdit10: TSpinEdit;

Label26: TLabel;

Label27: TLabel;

Gauge1: TGauge;

Gauge2: TGauge;

Gauge3: TGauge;

Gauge4: TGauge;

Gauge5: TGauge;

Gauge6: TGauge;

Gauge7: TGauge;

Gauge8: TGauge;

Gauge9: TGauge;

Label28: TLabel;

Label29: TLabel;

Label30: TLabel;

Label31: TLabel;

Label32: TLabel;

Label33: TLabel;

Label34: TLabel;

Label35: TLabel;

Label36: TLabel;

Label37: TLabel;

Label38: TLabel;

Label39: TLabel;

Label40: TLabel;

Label41: TLabel;

Label42: TLabel;

Timer1: TTimer;

Label43: TLabel;

Label44: TLabel;

Label45: TLabel;

Shape36: TShape;

Shape37: TShape;

procedure N9Click(Sender: TObject);

procedure Q1Click(Sender: TObject);

procedure N11Click(Sender: TObject);

procedure N12Click(Sender: TObject);

procedure N8Click(Sender: TObject);

procedure Image10Click(Sender: TObject);

procedure ToolButton8Click(Sender: TObject);

procedure ToolButton9Click(Sender: TObject);

procedure ToolButton12Click(Sender: TObject);

procedure ToolButton13Click(Sender: TObject);

procedure N6Click(Sender: TObject);

procedure N5Click(Sender: TObject);

procedure ToolButton5Click(Sender: TObject);

procedure ToolButton6Click(Sender: TObject);

procedure FormCreate(Sender: TObject);

procedure Timer1Timer(Sender: TObject);

procedure ToolButton1Click(Sender: TObject);

procedure N4Click(Sender: TObject);

procedure Image6Click(Sender: TObject);

procedure ToolButton2Click(Sender: TObject);

procedure Image7Click(Sender: TObject);

procedure SpinEdit1Change(Sender: TObject);

procedure SpinEdit3Change(Sender: TObject);

procedure SpinEdit4Change(Sender: TObject);

procedure SpinEdit2Change(Sender: TObject);

procedure SpinEdit6Change(Sender: TObject);

procedure SpinEdit5Change(Sender: TObject);

procedure SpinEdit7Change(Sender: TObject);

procedure SpinEdit10Change(Sender: TObject);

procedure SpinEdit8Change(Sender: TObject);

procedure SpinEdit9Change(Sender: TObject);

procedure ToolButton3Click(Sender: TObject);

procedure Image8Click(Sender: TObject);

procedure N10Click(Sender: TObject);

procedure ToolButton11Click(Sender: TObject);

procedure Image9Click(Sender: TObject);

private

{ Private declarations }

public

{ Public declarations }

end;

var

Form1: TForm1;

takt1,takt2,takt3:integer;

time_st_term,time_st_EVM:integer;

obr_st1,obr_st2,obr_st3:integer;

time_zadan_EVM:integer;

time_zadan_term:integer;

work_system:integer;

nakopitel:array [1..1000] of stroka;

EVM:stroka;

a,b,c:stroka;

time_st1,time_st2,time_st3:integer;

index_nakop:integer;

time_stEVM:integer;

k1:array [1..10] of integer;

k2:array [1..10] of integer;

k3:array [1..10] of integer;

i1,i2,i3:integer;

time_EVM_zadan:integer;

flag1,flag2,flag3,flag4:boolean;

time_analiz:integer;

time1_analiz,time2_analiz,time3_analiz:integer;

time_zanytat1,time_zanytat2,time_zanytat3,time_obch,time_zagruz:integer;

implementation

uses Unit2, Unit3, Unit4, Unit5, Unit6, Unit9, Unit7, Unit8, Unit10, Unit11;

{$R *.DFM}

function get_st_time:integer;

var

temp1,temp2,flag:integer;

begin

temp2:=Random(Form1.SpinEdit3.Value);

flag:=Random(2);

if flag=1 then temp1:=Form1.SpinEdit1.Value+temp2

else temp1:=Form1.SpinEdit1.Value-temp2;

get_st_time:=temp1;

end;

function get_zadan_time:integer;

var

temp1,temp2,flag:integer;

begin

temp2:=Random(Form1.SpinEdit10.Value);

flag:=Random(2);

if flag=1 then temp1:=Form1.SpinEdit7.Value+temp2

else temp1:=Form1.SpinEdit7.Value-temp2;

get_zadan_time:=temp1;

end;

procedure get_stroka1;

begin

a.time:=get_st_time;

a.number:=1;

end;

procedure get_stroka2;

begin

b.time:=get_st_time;

b.number:=2;

end;

procedure get_stroka3;

begin

c.time:=get_st_time;

c.number:=3;

end;

procedure stop;

begin

Form1.Gauge1.Progress:=0;

Form1.Gauge2.Progress:=0;

Form1.Gauge3.Progress:=0;

Form1.Gauge4.Progress:=0;

Form1.Gauge5.Progress:=0;

Form1.Gauge6.Progress:=0;

Form1.Gauge7.Progress:=0;

Form1.Gauge8.Progress:=0;

Form1.Gauge9.Progress:=0;

Form1.Timer1.Enabled:=false;

takt1:=0;takt2:=0;takt3:=0;

get_stroka1;

get_stroka2;

get_stroka3;

time_st1:=0;

time_st2:=0;

time_st3:=0;

index_nakop:=0;

Form1.Timer1.Enabled:=false;