|
|
SZOFTVERFEJLESZTÉS
|
|
Azt gondolnánk, hogy a dolog könnyebb része kitalálni,
mit vár el a felhasználó egy számítógépes rendszertől.
Pedig a nehézség pont abban az ellentétben rejlik,
ami a programok pontos tervezettsége,
következetessége, és az emberek
megjósolhatatlan viselkedése,
munkastílusa között feszül.
Eric Abrahamson
| |
Delphi programnyelv
| |
Delphi nyelven kezdetben elsősorban saját egyéb munkáim támogatására írtam számos kisebb-nagyobb programot. Ezeknél a „belső használatra” készített alkalmazásoknál is természetesnek tekintem azonban, hogy a megrendelésre fejlesztett szoftverekhez hasonlóan kényelmes és esztétikus kezelőfelületük legyen és súgó is tartozzon hozzájuk.
A Csillagászati évkönyv 1990–2007 közötti köteteiben a táblázatok TEX forrásszövegének összeállítását és a táblázati ábrák többségének megrajzolását a Delphiben megírt Csillagászati évkönyv programrendszer végezte. Ugyancsak saját fejlesztésű szoftvert használok a Magyar Csillagászati Egyesület honlapján általam kezelt Jelenségnaptár színes képeinek és forrásadatainak létrehozására.
Fejlesztettem olyan alkalmazást is, amely statikus lapokat tartalmazó, de igen bonyolult szerkezetű honlaprendszer – a baráti társaságunk számára létrehozott Fizikus Klub honlap – HTML forrásszövegét állítja össze egy adatbázisból. Ez a feladat természetesen a web szerveren futó PHP programmal egyszerűbben is megoldható lett volna, erre azonban az adott esetben nem volt lehetőség.
A következőkben itt felsorolt Avenue programok többségéhez is készítettem Delphiben fejlesztett kiegészitő modult, többnyire Windows DLL állományt, ami az Avenue nyelven nehezebben megvalósítható műveleteket tartalmazza.
Az utóbbi években már a megrendelésre végzett munkáim többségét is Delphi rendszerben fejlesztem. Az Európai Unió környezetvédelmi hivatala számára készült CLC2012 Support Package az Avenue nyelvről szóló részben bemutatott szoftvercsomagok Delphi programnyelven történő teljes újrafejlesztése. Ez az új változat már nem igényli egyéb térinformatikai háttérprogram beszerzését és telepítését, hanem egy teljesen önállóan telepíthető és futtatható program.
A Földmérési és Távérzékelési Intézet (FÖMI) részére 2014-ben fejlesztettem a Távérzékeléses Kárfelmérési Rendszer (TKR) keretében végzett különféle tevékenységek támogatására szolgáló TKR Szoftvercsomagot. A szoftvercsomag négy különböző célú modult tartalmaz:
Űrfelvétel adatbázis böngésző, Kötegelt makró szerkesztő, Terepi adat kezelő, Munkafolyamat adatbázis kezelő.
Delphi rendszerben kisalkalmazások, speciális célprogramok fejlesztését, felhasználói felületek ergonómiai és esztétikai tervezését vállalom.
|
Delphi
Professzionális fejlesztőrendszer és programnyelv tetszőleges célú,
önálló alkalmazások készítéséhez. A Delphi az Object Pascal
nyelven alapul, a Borland cég hozta létre, de 2008 óta másik cég,
az Embarcadero fejleszti és forgalmazza. A Delphi erősségei
a gyors, közvetlen processzorhasználattal futó kód; a sokoldalú és hatékony
adatbáziskezelés; a szinte teljesen szabadon tervezhető, látványos
kezelőfelület kialakításának lehetősége; valamint a többféle operációs
rendszerre (Windows 32 és 64 bit, OS X, iOS, Android) és így számos
hordozható eszközre történő fordítás lehetősége.
DLL
Dinamic Link Library (dinamikus csatolású könyvtár) a Windows
operációs rendszer alatt futó programok segédállományai. Ezeket
a programok működésük közben csak arra az időre töltik be a számítógép
memóriájába, amíg a DLL-ben tárolt műveletek, kezelőelemek
használatára szükség van.
|
|
Python programnyelv
| |
Python programnyelven a QGIS (régebbi nevén Quantum GIS) térinformatikai szoftverhez fejlesztettem az LPIS Quality Assurance kiegészítő modult a MedSoftOrg Kft. számára. Ez a program a romániai mezőgazdasági termelők terület alapú támogatásához használt parcella adatbázis ellenőrzéséhez készült 2010-ben, de 2011-ben már a magyar MEPAR adatbázis ellenőrzését is ezzel végezték.
A parcella alapnyilvántartás évenkénti ellenőrzését az Európai Unió írta elő. Az a célja, hogy összevesse a parcellák friss űrfelvételeken látható, tényleges határait a számítógépes térinformatikai adatbázis tartalmával, és kiszűrje az adatfelvételi tévedésekből vagy a ténylegesen bekövetkezett változásokból eredő hibákat.
Python programnyelven QGIS kiegészítő modulok, adatbeviteli felületek, illetve egyszerű célprogramok készítését vállalom.
|
Python
A Python egy könnyen megtanulható, általános célú, objektum orientált,
nyílt forráskódú programnyelv. Első változatát G. v. Rossum hozta
létre 1989-ben, azóta azonban egy egész önkéntes közösség foglalkozik a
fejlesztésével. Python nyelven gyorsan és hatékonyan lehet készíteni kísérleti
programokat, kis kiegészítőket, de akár bonyolult, nagy programrendszereket is.
Interpretált nyelv, ezért ugyanaz a forráskód szinte bármelyik operációs rendszer
alatt használható.
|
|
Avenue térinformatikai programnyelv
| |
Az 1999-es évtől kezdve megbízásaim többsége különféle Avenue nyelvű programok fejlesztésére szólt. A Földmérési és Távérzékelési Intézet (FÖMI) ekkor kapcsolódott be az európai CORINE Land Cover projektbe. Az űrfelvételek feldolgozását végző szakértők munkájának támogatására készítettem az InterView programot. A felszínborításban bekövetkező hosszú távú változások vizsgálatát segítette a CLC2000 Support Package nevű szoftvercsomagom, amelyet a FÖMI szívességéből 14 ország távérzékelési intézete használt a feladat végrehajtása során. A 2006-ban indult következő változásvizsgálatra elkészítettem ennek jelentősen továbbfejlesztett és kibővített változatát. A CLC2006 Support Package fejlesztésének költségeit és a szoftvercsomag terjesztését az MLOG Kft. vállalta. A teljes csomagot 17 ország vásárolta meg, csak az ellenőrző modult pedig további 2 ország.
Az Avenue nyelven írt programok kerete az ArcView térinformatikai szoftver. Ennek utolsó verzióját 2002-ben bocsátotta ki az ESRI, és 2005 után lényegében megszűnt a szoftver fejlesztői támogatása is. Ezért a CORINE változásvizsgálat 2012 végén induló térképezéshez már nem volt értelme a Support Package továbbfejlesztésének. Az Európai Unió illetékes hivatala azonban megbízást adott az új verzió, a CLC2012 Support Package elkészítésére, ami valójában egy teljes újrafejlesztés volt, de már Delphi programnyelven, önálló programként, kényelmesebb és esztétikusabb felhasználói felülettel és új szolgáltatásokkal.
Jellegében az előző feladatokhoz kapcsolódott a CORINE Élőhely Térképező program, amelyet az MTA Ökológiai és Biológiai Kutatóintézet számára készítettem. Az InterView és az CLC2006 Support Package részét képező InterChange programoknak is több speciális célokra módosított változata született a FÖMI illetve egy németországi és egy szerbiai intézet felkérésére.
Még az olcsó GPS vevők elterjedése előtti években, az MLOG Kft. megbízására fejlesztettem a GPS útvonal követő programot, amely egy számítógép – célszerűen noteszgép – valódi vagy virtuális soros portjára érkező GPS jelek alapján hoz létre útvonal adatbázist. A FÖMI terepi adatgyűjtést végző munkatársai még 2010-ben is használták ezt a szoftvert.
A romániai mezőgazdasági termelők terület alapú támogatásának ellenőrzésére szolgáló feladatban a MedSoftOrg Kft. megbízásából több Avenue fejlesztéssel is részt vettem. A MaPrint program a gazdák tájékoztatására szolgáló A3–A0 méretű alaptérképek nyomtatását végezte térinformatikai adatbázisok felhasználásával. A drága tekercspapíron előállított, nagy mennyiségű térkép esetében a szoftver kiemelt feladata volt a nyomatok papírtakarékos elrendezése is. A gazdák által közölt adatoknak az űrfelvételek alapján történő ellenőrzését segíti CAPI (Computer Aided Photo Interpretation, számítógéppel támogatott fotointerpretáció) szoftver. Ennek a programnak a keretrendszerét és az adatforgalmat irányító részét készítettem. A CAPrint programom pedig a feldolgozott, illetve a helyszíni ellenőrzést igénylő parcellák térképes adatlapjait nyomtatja a központi adminisztráció illetve a terepi ellenőrzést végző munkatársak számára.
A Parlagfű szoftvercsomag a FÖMI parlagfű munkacsoportjának a tevékenységét támogatja. A munkacsoport feladata, hogy űrfelvételek alapján kijelölje és elektronikus formában közzé tegye a valószínűsíthetően parlagfűvel erősen szennyezett területek térképét. A Parlagfű program a szakmai feladatok megkönnyítése mellett könyveli egy szezon összes munkafolyamatát, összekapcsolja a terepi ellenőrzés során keletkezett adatokat a parlagfű munkaadatbázisokkkal, statisztikákat készít, és előállítja a közzétételre szánt végleges parlagfű térképet.
Az ArcView szoftver fejlesztése 2002-ben leállt, és azóta egyre kevesebben használják ezt a szoftvert. Ezért sajnos az Avenue nyelven készített kiegészítések ideje is lejárt.
|
Térinformatika
Más néven földrajzi információs rendszer (GIS –
Geographic Information System) földrajzi helyhez köthető adatok kezelésére
kidolgozott számítógépes rendszer, amelyben a térképészet,
a földtudományok és a számítástechnika kapcsolódik össze.
Avenue
Az ESRI (Environmental Systems Research Institute)
az egyik legismertebb szoftvergyártó a térinformatikai szoftverek területén.
Földrajzi adatbázisok szerkesztésére és megtekintésére szolgáló
ArcView programjuknak 1992–2000 között több verziója látott napvilágot.
A 3.3 verzió után a fejlesztés leállt, és teljesen új
szoftverrendszerre tértek át. Bár az ArcView programot kis mérete,
egyszerű kezelése és számos egyéb kedvező tulajdonsága miatt mind a mai napig
világszerte számos helyen használják, lassan végleg elavulttá válik.
Helyét főként az ESRI ArcGIS szoftverrendszere, illetve a közösségi fejlesztésű,
ingyenes QGIS veszi át.
Az Avenue az ArcView saját makrónyelve, amelynek segítségével
szinte korlátlanul testreszabható a program kezelőfelülete, és egyedi
célszoftverek készíthetők speciális térinformatikai feladatok támogatására.
Az ArcView szoftverrel együtt ez a nyelv is eltűnik. Az ESRI későbbi
fejlesztései a Visual Basic, a Python illetve az EML nyelveket támogatják.
CORINE Land Cover
A CORINE Land Cover (CLC) projekt célja, hogy elsődlegesen űrfelvételek
alapján, egységes szempontok szerint, azonos módszerekkel felszínborítási
térképet készítsen egész Európa területére, és ezt a térképet
meghatározott időközönként frissítve kövesse a felszínborításban
bekövetkező változásokat. A CLC adatbázis segíti az összehangolt
európai környezeti politika kialakítását, különösen a környezeti folyamatok
modellezése, a regionális tervezés,a tájgazdálkodás és a vidékfejlesztés
területén.
A részletes képes ismertetőt PDF formátumban tekintheti meg.
|
|
Visual Basic programnyelv
| |
A Microsoft Office csomag részét képező Visual Basic for Application (VBA) nyelven számos makrót írtam, többnyire saját céljaimra a Word szövegszerkesztő programhoz szövegfeldolgozási feladatokra, illetve az Excel táblázatkezelő programhoz adatkezelésre.
Az Excel táblázatkezelő szoftverhez társított VBA nyelven készítettem a Tertia Kiadó első könyvforgalmazási nyilvántartását. Ugyancsak az Excelben működik a Forma-TEK Bt. speciális raktárkezelő programja, amelyre azért volt szükség, mert a kereskedelemben kapható raktári programok egyike sem volt alkalmas a cég egyedi munkamódszereinek támogatására. Ezt a programot egy könnyű, hordozható netszámítógépen használják, ezért a kezelőfelületet úgy alakítottam ki, hogy kizárólag érintőképernyős adatbevitellel is kényelmesen használható legyen.
A FÖMI számára az ArcGIS szoftvercsomaghoz tartozó VBA verzióban készítettem el a Valida programot, ami űrfelvételek feldolgozása során létrehozott különféle térinformatikai pontadatbázisok feltöltésére és szerkesztésére szolgál. A pontok jellemzéséhez használt kategóriarendszer szabadon változtatható, szerkeszthető.
|
Visual Basic for Applications (VBA)
A Visual Basic a Microsoft által fejlesztett programnyelv,
illetve fejlesztői környezet. Ennek egyes szoftverekbe beépített változata
a VBA. Elsősorban a Microsoft programokban (Word, Excel) találkozhatunk vele,
de más gyártók is használták belső programnyelvként.
A VBA segítségével számottevően kibővíthetők az alapszoftver lehetőségei.
Kis célprogramokat lehet írni a bonyolult és gyakran ismétlődő
műveletsorok automatikus elvégzésére. De alkalmas olyan nagyobb
programrendszer fejlesztésére is, amely működése közben
az alapszoftver (pl. Word) szolgáltatásait használja.
|
|
|