7.160101.1381.03 |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Зм. |
Лист |
№ Докум |
Підпис |
Дата |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Багнюк В.В. |
Лабораторная работа №3 Разработка диаграммы классов программной системы. |
Лim |
Лисm |
Листів |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Студент |
Белов А. С. |
17.05 |
1 |
5 |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Билый Т.В |
НУК |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Викладач |
Покровский |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Лабораторная работа №3 Тема: Разработка диаграммы классов программной системы для имитационного моделирования динамических режимов работы системы управления. Цель: научиться разрабатывать диаграммы классов программной системы для имитационного моделирования динамических режимов работы системы управления на языке Object Pascal. Теоретические сведения В системе автоматизированного моделирования нелинейных динамических систем проходит ряд процессов:
Задание 1 Построить диаграмму классов в нотации Буча для программной системы автоматизированного моделирования: |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Лист |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
2 |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Зм. |
Лист |
№ Докум |
Підпис |
Дата |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Задание 2 Необходимо проанализировать приведённый список и установить нити передачи сообщений, которые отвечают каждому из процессов. Задание 3 Определить способ обеспечения видимость объектов для каждой связи. Задание 4 На основе связи определить список свойств и методов всех классов. Задание 5 Разработать и скомпилировать код, который содержит полные заголовки классов. Код unit Pmg; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, OpenGL, StdCtrls, ExtCtrls; type TValueTable = class (TList) procedure Input(x:Real); function Output(i:longint):real; end; TJoin = class (TObject) NameInBlock,NameOutBlock:string[15]; Number: integer; value:real; constructor Create (Name1,Name2:String; num: integer); end; TBlock = class (TObject) Name:string[15]; NextValue:Real; ValueTable:TValueTable; Input1: TJoin; Input2: TJoin; Output1: TJoin; constructor Create; procedure Clear;virtual;abstract; procedure Edit;virtual;abstract; procedure ConnectInput(Join:TJoin;n:integer; var Report:TStringList; var Valid: Boolean);virtual;abstract; procedure ConnectOutput(Join:TJoin; var Report:TStringList; var Valid: Boolean); procedure DisconnectInput(n:integer; var Report:TStringList);virtual;abstract; procedure DisconnectOutput(var Report:TStringList); procedure Run;virtual;abstract; procedure Testing(var Report:TStringList;Passed:Boolean); virtual; abstract; procedure SafeBlock(var Report:TStringList); virtual; abstract; end; |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Лист |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
3 |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Зм. |
Лист |
№ Докум |
Підпис |
Дата |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||
TSource = class (TBlock) procedure ConnectInput(Join:TJoin;N:integer;var report:TStringList; var Valid: Boolean); override; procedure DisconnectInput(N:integer;var report:TStringList); override; procedure TestingBlock(var Report:TStringList;var Passed:Boolean); override; procedure SafeBlock(var Report:TStringList); override; end; TOperation = class (TBlock) procedure ConnectInput(Join:TJoin;N:integer;var report:TStringList; var Valid: Boolean); override; procedure DisconnectInpu(N:integer;var report:TStringList); override; procedure TestingBlock(var Report:TStringList;var Passed:Boolean); override; procedure SafeBlock(var Report:TStringList); override; end; TDynamic = class (TBlock) procedure setinput(Join:TJoin;N:integer;var report:TStringList; var Valid: Boolean); override; procedure disconnectinput(N:integer;var report:TStringList); override; procedure Check(var Report:TStringList;var Passed:Boolean); override; procedure SafeBlock(var Report:TStringList); override; end; type TSystem = class (TList) Name: string; Blocks: TList; Joins: TList; constructor Create (NName: string); procedure Clear; procedure Add(Command: TStringList;var Report: TStringList;Valid: Boolean); procedure Run(Command: TStringList;var Report: TStringList;Valid: Boolean); procedure Connect( Command: TStringList;var Report: TStringList;Valid: Boolean); function FindBlock(BlockName: string) : TBlock; procedure Test(var Report: TStringList;Passed: boolean); end; TModellingApplication=class(TForm) Sys:TSystem; DialogWindow:TMemo; InputCommand:TEdit; Grahpik: TPaintBox; Constructor Create; procedure Create_System(Sender: TObject); procedure Free(Sender: TObject); procedure List(Sender: TObject); procedure PressEnter(Sender: TObject); Procedure Print(Sender: TObject); |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Лист |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
4 |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Зм. |
Лист |
№ Докум |
Підпис |
Дата |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||
procedure Plot(Sender: TObject); procedure CommandExecution (Command: TStringList;var Report: TStringList); end; var AppWindow:TModellingApplication; implementation {$R *.dfm} end. Вывод При разработке и написании кода к диаграмме классов программной системы для имитационного моделирования динамических режимов работы системы управления на языке Object Pascal в Borland Delphi я сначала проанализировал диаграмму классов и установил нити передачи и рассылки сообщений к каждому процессу в результате чего определил список свойств и методов классов. На этой базе мне составило особого труда разработать код. |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Лист |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
5 |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Зм. |
Лист |
№ Докум |
Підпис |
Дата |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.