Anotace Annotation
Anotace Annotation
Anotace Annotation
Create successful ePaper yourself
Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.
ÚAI FSI VUT<br />
DIPLOMOVÁ PRÁCE<br />
Radek Lošťák<br />
Strana<br />
53<br />
5.3 Program OVD z hlediska programátora<br />
Vývoj a odladění programu bylo provedeno ve vývojovém prostředí Borland<br />
Delphi 2006. Při vývoji systému bylo také nutné vyřešit otázku reprezentace stromové<br />
struktury za účelem nalezení kružnic a shluků ve strukturách. Vzhledem k metodě,<br />
kterou je test kružnic proveden, bylo potřeba použít i reprezentaci struktury pomocí<br />
matic. Pro tyto účely byla vytvořena knihovna Matrix nahrazující v předchozích verzích<br />
použitý produkt SDL Component Suite for Delphi 6.0 od vývojářské firmy Epina.<br />
5.3.1 Struktura programu<br />
Program byl navržen objektově. Každý proces je v programu chápán jako objekt,<br />
což znamená, že všechny operace s jeho daty jsou prováděny prostřednictvím metod<br />
objektu (např. výpočet přesnou metodou, simulovaným žíháním, … jsou metodami<br />
objektu), vlastnosti výrobního procesu a , b , … a vypočtené hodnoty jsou vlastnostmi<br />
i<br />
tohoto objektu.<br />
Při tvorbě jakéhokoliv software je nutné volit kompromis mezi dvěma dvěma<br />
krajními stavy, maximální rychlostí a minimální délkou kompilovaného kódu. Program<br />
byl navržen tak, aby byla zachována především dobrá čitelnost zdrojového kódu.<br />
5.3.2 Objekty a datové typy<br />
Základním stavebním kamenem programu, ve kterém jsou uchovávána všechna<br />
data, je objekt TList, patřící do standardního vybavení Delphi. Tento objekt bude dále<br />
nazýván kolekce (dle podobného objektu TCollection).<br />
TList je v podstatě seznam, který je schopen v sobě uchovávat ukazatele na<br />
libovolné struktury (objekty, záznamy, řetězce aj.). Tento objekt je vybaven metodami<br />
pro přístup k libovolným položkám, k jejich přidávání, mazání apod., z čehož plyne, že<br />
je zajištěna pohodlná manipulace s nimi.<br />
Specifikaci problému v kapitole 2 přímo vybízí k využití kolekce jako vhodného<br />
prostředku k vnitřní datové reprezentaci. Při navrhování struktury programu byl<br />
vytvořen potomek typu TList, který byl nazván TCelyProces. Tento objekt reprezentuje<br />
jeden proces a má následující stavbu:<br />
TCelyProces = class(TList)<br />
private<br />
MainName: string; {název procesu}<br />
Change: boolean; {indikátor změny}<br />
i